Macros

Switch from runtime reflection to a macro.