This looks like a perfect opportunity for a huge mess. It makes forking way too simple. We'd end up with five to ten incompatible versions of the most common modules, most of them created by some know-all dudes and no way to distinguish between them within a script. And that's the less bad thing. We might easily end up with two incompatible, but both good versions of a module and other modules requiring one or the other version. And then sooner or later you'll want to use a module that requires version A and another that requires version B. How do you expect them to abide each other inside one script?
Enoch was right!
Enjoy the last years of Rome.