shapeless macros palladium