That has been discussed many times already, you may find the discussions by forum search or in IRC logs. Of course you can do it like you want. When I started with Nim I feared many symbol conflicts when all is imported unqualified. But in real life there are not too many conflicts. m1.put(s: string) and m2.put(x: string) would conflict of course, the compiler will tell us, so we really need module prefix or selected import. Generally we avoid trivial names in conjunction with common data types.
For reading the code (written by other people) you are right -- there a smart editor/IDE helps, and there are many already. I am using my NEd, it permanently displays info about symbol under the cursor at bottom line. That information and much more is provided by Nim's nimsuggest tool and can be integrated in most editors or IDE's. Most useful is "gotoDefinition" from nimsuggest -- one key press (Ctrl-w for whatis) and a new editor tab opens with the source text of that symbol and cursor jumps to that location.
