>Kidding aside, I have seen noticable improvements by my approach in functions which are used inside loops.
Actually inside a loop a macro expression should not re-evaluate... The parser only hits it once and injects the code it comes out to.
That's why in some situations & can be more efficient than EVAL()...
But if you can avoid Macros - by all means do - it's always faster to not use EVAL or &.