untyped macros, part II: untyped-aware macro engine