inline functions are transformed into macros