Right now we are using + as the "by value" mode, but in fact at runtime it passes by reference. We should change it to pass by value.