I'm actually thinking about writing more things like my admittedly simple stack implementation as a collection of macros cause calling those function and passing arguments is takes longer than two simple intructions. Now that I'm almost done with my macro list implementation, I'm really surprised how well one can write code using them. I'll definitely provide functionized versions of them to reduce compile time and increase comfort. I build in some restrictions like return values, so that it's not possible to generate errors inside the macros except when passing bad parameters. The function can provide safety and ease of use where the macros can be use for highest possible performance and possibly smaller footprint. Good solution, I'm getting closer to the optimum for my target platform.