Earlier quoted context omitted.
As an admittedly amateur programmer, I think the reasoning is solid. Its difficult to read and understand code that does things like myvalue = myValue. I think they made the right tradeoff, in that value != Value (the case of the first letter is used), so if you really need to have to values with the same name, you can still do it. As an aside, is there some reason that using the same identifier with different cases…
Nothing unusual in doing e.g. `array = Array()` (although you should probably give your variables better names than that), which would break in Nim.
Question is, should the language enforce you giving your variables a better name, or should convention? I think there are reasonable arguments for both.