some examples of faking macros at runtime