I don't see the maintenance cost or burden as high, nor do I mind monitoring this, if that's a concern.
Looking at recent test patches, I can see function addresses used. It's really only adding the macro part, then calling the pointer. Everything else is the same as normal.
I think I'm actually to blame for the issues in the console tests...