I'd say the simplest way to achieve this is to provide a renaming mechanism, i.e. (import (foo-module (rename (bar bar1) (baz baz1))).
My module system currently lacks this feature, but I'm planning to implement it sometime. The problem we were discussing is related to the naming of modules, not the things modules export.
The problem will arise for instance if you have two modules called "util". If both modules use the "util" namespace, and export the function "foo", the function will be called util#foo internally. If you load both modules into one Gambit process, one of the functions will overwrite the other. Renaming on import doesn't help here.
Can't wait to play around with this module system. I'm glad we're discussing this again; I haven't worked on modules for a while and this makes we want to get back into it.
Great! I'm currently working on taking some of the more general- purpose modules we use (SRFIs, xml handling etc.) and compile them into a "standard library". We'll see what role it gets, the primary purpose I have with doing it right now is to make it easier for other people to see how the system works in practise.
/Per