This adds macros to implement (and/or declare) type-safe wrapper functions