Ok, I am honest I skimmed most of the discussion here. For me it is far more important to me to read a code and know what it does, that where it comes from. It is nice to always see, where things come from, but honestly I rarely ask myself that question. That is also one the biggest advantages of Nim. I can very easily add functionality to types without the need to access the sourcecode of that type. I can put the functionality where I want just by cut and paste and no complex refactoring tools required. I like how it is and I don't need any need for change here. Even without tools it can most of the time just _grep_ for the name and find where a function comes from.
Something where I see potential for improvement would be a guideline for beginners. Explanations that take away the fear of programmers other languages, reasons why problems that would occur in programming language X would not occur in Nim when the same programming pattern is applied. People who come to Nim are biased by the language they come from. They got taught over years "programming practice XY is evil, it causes problems, never do it." and then it Nim people just do it and it is fine, because it is Nim and the language they come from.
