Some languages, such as C#, assign an ID to the error messages the compiler produces. then the user can search for that ID and figure out exactly what it means. it has the added benefit, that in the case Nim reports an error message but that error is wrong for that use case, you can find that spot and create a new error ID. Perhaps when errors are organized better, users will be less confused, and less confusion is faster iteration and more language adoption. The documentation is vast but quite advanced, for example in object variants the example shows pieces of the compiler's constructs, when it could have much simpler examples to pass the idea across. It is very technical, so intimidating for new users. I think better or more informative error messages can go a long way, and organizing them may be a good step in that direction. What do you think?