Allow macros in type expressions

This allows you to use macros to write out your awfully long types.