1 year later, I'm still worried about that missed opportunity of stronger immutability guarantees in Nim.
The whole distinction between var and let feels useless without this. When looking at a proc signature, I have no way to know if its parameters will be modified, unless they are value-types and let parameters. I like the new "func" keyword, but we could make it even closer to what a pure-function should be by implementing this, and forbidding var params for funcs. I'm not aware of the implementation issues, but Araq said it should be possible thanks to his write-tracking pass. It also feels like something that should be introduced before 1.0, since it will break things, so... ...may I push this idea again ? :)
