Well... _every Nim developer will eventually run into exhaustion_ The reason is rather technical than personal. Why?
* Nim is agnostic about type dependencies * things become considerably worse when function overloading is mixed with function typeschemes aka "generics" so both the programmer and the compiler are in a kind of quantum state, and the "measurement", the elimination of all the overloading happens at the very end. If this is the "Nim way", - o.k. then some people perhaps like to live with that - others certainly don't. To overcome this, structure is needed. C++ - at least - offers classes, therefore, C++'s typeschemes can be combined with classes. They help for localizing the types. C++ is in the somewhat lucky position that classes were introduced in 1985 and templates came later. There are arguments that a mix of templates and classes are not a good idea when it comes to subtyping/subclassing. However, classes can be replaced with modulues and then these arguments do not hold longer. There were countless attempts to persuade @Araq that additional (language) structure is needed. But these attempts all failed.