"Of course this problem is completely solved by making the global namespace lexical rather than dynamic."
What do you mean by "lexical"? Module-local?
In Arc, I'd recommend you avoid using global scope for anything local (natch ^_^ ). You may prefer the ability to declare private variables or something, but a big (let ...) isn't that bad. You're even using the equivalent of a big (let ...) in JavaScript.
If what you want is first-class namespace support or selective importing, that's different.