**Re: Nim**. I couldn't agree more. If there is ONE thing I absolutely _do not_ like about the language is the issue with the modules. Basically, to keep my head in some state of sanity, I try to keep everything in as few modules as possible, and "including" the rest of it (for "modularity") - which is practically the same thing.
Yes, re-arranging your code may be good at times, I mean for better code organization, but in the end... the module recursion thing will come back at you... I already like the language (obviously), and that's quite a pity.