I think these disadvantages can be mitigated by putting the code that fetches environment variables close to the entry point and pushing the values down as arguments. I’d also say that a lot of these things are problems with configuration in general and one should seek to minimize unnecessary configuration to avoid a lot of the associated headaches.