Nimbal
The macros for dealing with function pointers I can somewhat understand. With their current use, they don't gain us much, but Casey already alluded to using the same technique in other places where the function signature is used dozens or more times. Having a central location to change the signature could be convenient then.
Yes, this makes it easier to write. But code is written once but read many times more. And these macros make the code objectively harder to read. When you read a function defined with such a macro you don't know which parameters it is getting. So inside the code if a variable is used you have no idea if it is a parameter or some global variable. You always have to check the macro first, which usually is nowhere near the function definition.
And that's not just a problem for new developers getting to that code base. Even the developer who made those macros will have forgotten the details a month or even a year later.