Even DRYer macros