accommodates both old-style and new-style macros in Defn.Macro

/cc @densh