Move reified function macros down to impl
Kernel -> KernelDef
Allow reifiedFunction()