Pretty minor thing compared to some of the stuff here: I really like using Nim's UFCS to chain together calls, but this currently doesn't work well when I need to disambiguate by module. Eg: `foo.bar.baz.quux` works until I import a module with a conflicting function name. The obvious extension does not work: `foo.module2.bar.baz.quux` so I need to do something like `module2.bar(foo).baz.quux` which breaks the UFCS chain.
I'm not sure the ideal solution, but some syntax to tell the compiler that I'm taking a function from a module, rather than trying to call the module. I like how Clojure uses `/` for this, but that's not an option in Nim because `/` is an operator. Maybe something like: `foo....@module2.baz.quux` This issue doesn't come up a lot, and maybe there's a clever macro that can fix this just as well, but it does annoy me when it happens, and I can imagine it happening more in larger projects.