Personally, I feel the Nim documentation is decent, compared to say what you might find on cppreference.com. The sections are terse, but they generally give enough info for those who know what they are looking for. Having everything in 1 page saves me the effort from having to navigate a website.
For example, I dabbled in metaprogramming using macros to generate code from a dsl, and found myself referring to the macros section in the manual, using the index to identify functions unknown to me, browsing the std/macros documentation for the api, and if need be, click on "source" to examine the source code. I discovered the quasi-quote feature and found it excellent for generating "wysiwyg" code vs banging everything out in nim nodes. The macros feature was confusing to me in the beginning, but with repeated exposure it wasn't mysterious. It's like lisp macros, except much heavier syntax, with limitations on nesting. What I like about the current doc is that it gives you a way to quickly go down to the source level, if you don't get how something works after reading the documentation. To me, this is fairly efficient, and it leaves me enough clues to figure things out. I don't know how I feel about the alternative of having very long, verbose documentation on each language feature. I do feel that beginners (as in, less experienced programmers, people who haven't used many languages, not all new nim users) might find this style of documentation intimidating, because there's not much hand holding. They might feel that it is overly descriptive and not prescriptive on how they should write code. For the crowd that's learning how to program and picking up nim at the same time, they probably feel overwhelmed because basic terms are not explained but are expected to be understood. Maybe stronger signals need to be given telling beginners to head to the tutorial sections or maybe nim by example, to get exposure to a small subset of the language at a time, than feeling they need to read the whole manual?
