OK, a disadvantage:
Lets say I am writing a program that needs multiple devices connected to the desktop. I notice that Erel (nice man that he is) has done the legwork with his B4AServer utility (that includes a code module) so I import this into my app and it works!
So then later in my code I insert a sub called "SendMessage". Now a sub of this name exists in the B4AServer module (which I am not aware of as I did not study ALL the code) so how does the system resolve this?
To take this even further, what if I then import another third party code module that also has a "SendMessage" sub?
No doubt your answer will be
Don't forget, that you can still use module-prefixes.
but that then invalidates any usefulness of your proposal, as I would still have to use the prefix to ensure that I am calling the right module, and the system would still need to resolve the ones without a prefix.
In the present system I can happily import code modules as stand alone items without concern, I would not like to see a situation where importing a module could potentially break my existing code.
As for
Much shorter code. Especially useful for reusing utility subs.
Shorter code I grant, but your system is LESS useful for reusing utility subs for the reasoning given above.