Can compiler macros make use of type declarations?