more refactoring in prep for mock: finish un-objectifying the MacroImpls