Clean up & allow function pointers to be compared for equality natively

Clean up & allow function pointers to be compared for equality natively

Fixes #13385.

See commits for details.