I generally find Nim's documentation ok, so it is not my top priority. That said, the areas that are not well-documented are:
* the various modes of GC: which one are available? how do they differ? which external requirements do they have - bohem, go libs etc. Especially, it is not clear how the Nim **language** is affected by changing GC, e.g.: with Bohem there is a single heap, what this implies for multithreading? Some constructs require the Go GC, what happens with different GCs? What if you call GF_ref/unref with mark and sweep? What about compiling to JS? If we use regions, what happens with constructs that are not amenable to escape analysis? * Multithreading, especially parallel. For all I can tell, parallel simply does not work. spawn works, but it relies on a threadpool which is easy to deadlock when using channels. Channels are advertised only for use with bare threads, but then when using spawn there is no form of communication. Basically, the threading model is not clear. * How to integrate Nimscript in Nim applications