Normally using anonymous functions would be better for
this. If the person wants to name their own function,
they can construct the reference themselves.
The glaring exception is in places like AUTOLOAD routines
where you are constructing the function on the fly,
giving it a real name, and then calling that...