macros are hygienic