accept __inline and block pointers (^)