This can break compilation promises by, eg, causing manifests to be re-parsed part way through a compilation run, if misused.

Given that, it probably shouldn't be public; other that violating Puppet semantics, there shouldn't be anything that it is publicly useful for.