This reverts commit e9b87f43bd. There are issues with macros generating macros without an obvious simple fix so I'm going to revert this and try something different.
e9b87f43bd