This function, among with many other helpers, does not depend on any variable in the environment of `Compile`. I would like them to be extracted at the top-level of the functor (outside of `Compile`). Basically this should be done for all the procedures and functions in here that can be extracted outside of `Compile`.
This will enhance the readability by making explicit which functions are truly local to `Compile` in the sense that they need variables of `Compile` in their contextual environment.