Rationalize the calls to path/canonical: they are only needed when figuring the first plan. That's why it's called by ground and mash.
dead code removal
Avoid looking up the prerendere at run time