Move these to macros, the exact type of these functions changes by deifn...

...e