This is where scala and C++ differ. In C++, if you overload operator+ to do something, the typical response is "what does that even mean???". In scala, when you write a function called plus that returns one of its arguments, the response is "oh, of course, that's a really cool great idea."