I think `Puppet::Parser::Functions.reset` should be changed to pass the environment to `newfunction` so that it explicitly puts the log functions onto the root. I'm just concerned that by changing the current environment around we are going to start losing these functions for really hard to fathom reasons.