### Problem - When an operator is a free function, it will be moved as member method - rhs or lhs will become **this** - If it was passed by copy, it is no more copied ### Solution - When an operand is passed by value and become **_this**_, don't alias it, but copy it.