We should encapsulate whatever the best practice is somewhere other than in this macro implementation, and delegate to that.