I'm trying Nim for the first time, four days to be precise. I had a couple of moments when I did not understand compiler messages. I did not know which places in my code to look at. With some luck I found good suggestions on the Internet. If I hadn't found these solutions I wouldn't be using Nim now. It's because when everything is new in a language one is not sure and not ready to spend hours thinking about the roots of a problem.
The first issue was about name conflicts of modules residing in different folders inside src (resolved with foo.nimble file in each sub-folder). The second issue was about import statement. I was constantly forgetting to import not only the module I use directly but also the modules for return values if I happened to use them. I'm missing cross references in the Docs ([https://nim-lang.org/docs](https://nim-lang.org/docs)). There are some, but I suppose it could be more of them. An example from PHP documentation with a **See also** section [http://php.net/manual/en/function.array-merge.php](http://php.net/manual/en/function.array-merge.php) Some functions in Nim Docks have very short description. To create projects with Nim I want to stick with the official package manager. I like Nimble for its simple config. It's not that convoluted as Webpack config. But I have not discovered how to use it for importing macros from my other projects. So videos demonstrating Nimble capabilities are in demand. The language itself is very easy to adopt. I just use the part of it I understand. With time new parts are added. It is very good. You don't have to know much (read large chunks of documentation) to start using Nim. Good modern documentation features are online code runners([https://play.kotlinlang.org](https://play.kotlinlang.org)), walk-throughs([https://www.haskell.org](https://www.haskell.org)) and fiddlers ([https://jsfiddle.net/](https://jsfiddle.net/)) where you can share code snippets and run them in a browser.
