Error-monad compatibility layer is inlined in environment_VX instead of explicit in structs/vX
Most of the compatibility layer for legacy support in protocol environment is located within src/lib_protocol_environment/structs/vX/*.ml. This is the intended use for structs/.
The Error Monad's compatibility layers are located within src/lib_protocol_environment/environment_VX.ml. This is acceptable for tiny compatibility layers, or for parts of the environment that have a dependency on another part that is instantiated only within the functor, or for other specific uses.
We should move all or most of the error-monad compatibility layers from the non-standard location into the standard location to ease maintenance and reduce code duplication.