A better version of #28 that supports both blocks and function pointers