You probably need to be stronger than this:

Because fetching this causes global side-effects, it is entirely possible to *break future catalog compilation* by invoking it at the wrong time.

You should *cough* probably also make it api private in consequence.

(I suspect, in practice, that by moving the cache flush to the start of compilation, that is no longer as risky as it once was, but it certainly can cause troubles if those side-effects mismatch assumptions about when the environment is populated somewhere else.)