Nim's "implicit const reference" is a bit similar to C++'s "implicit return move", I guess. While Nim's one is nice (I miss you, Ada...), it can be a bit misleading as there seems to be no natural way to get mutable argument with no var (i.e. move it, not mut-ref a variable external to the routine).
I consider Nim's "moving" at least a bit unreliable. Maybe my luck to find random compiler bugs is infinite but I've already encountered many segfaults thanks to shallowCopy not working properly. I guess it isn't that surprising, I use Nim for all kinds of weird things (with lots of meta-magic). By the way: nice to see a fellow Rustacean here.
