Use macros as a pseudo-polymorphism