I think there's a little more difference between
setFunctionTagHook than you mention.
At the very least, extensionSubstitution outputs a function tag hook
directly, while putting a normal tag hook into the general strip state
and outputting a marker.
~Daniel Friesen (Dantman, Nadir-Seen-Fire) [http://daniel.friesen.name
Good point. I should check if there's any benefit of doing it there
instead of a recursive parse.