Macros are hard