Will it hurt performance
In fact, this concern is no longer relevant. As I have just checked myself, calling "traverse" with string vs. coderef as an argument results in average time for some operation rising to ~4.1 s from ~4.0 s for what serves me as "most internally complex PDF sample I'm testing against" in my zoo of files. That is not a problem at all; I'll override every original method which call "traverse", they are just a few, to eliminate a bug I stumbled upon and possible future traps. I'm still wondering if passing around "hard" callback coderefs, in OOP environment, was a good idea.