Hi,
A counter-example is Emacs. Emacs has *tons* of code available for it, and yet it all tends to work nicely together with any subset of the modules loaded. And Emacs doesn't even have namespaces! It's all done by hand.
I don't know why it works out, but it certainly does, somehow or another. It's at least *possible*.
The reason why Emacs handles the complexity (module dependency) better might be partly because the presense of "built-in" mechanism, such as require/featurep/autoload: the submodules declare which module depends on which with those mechanism.
It would be nice if the user can declare the module dependency in class definition or in class-category, and those declarations are included fileouts.
However, Emacs also suffers from the same problem, IMO. For example, the independent minor-modes tend to conflict in keymaps and something like that.
-- Yoshiki (at Pacific Time)