Note that macros are eval'd at runtime