Yeah but that's the mistake, you **don 't** want it to return anything.

`+=` is an operator that merges the right-hand value into the left-hand value. 
There is no third value being created, just 2 values being merged. Which means 
instead of returning, your first value should be mutable so you can modify it 
to merge the second value into it.

By defining it as "proc `+=`(): SomeType" you have it instead create a third 
value that gets returned. It might make sense to regard `x += y` as basically 
the same kind of expression as `a.myProc(b)`. If that returns something you got 
to discard it, if it doesn't you don't.

Reply via email to