In some cases (e.g., operator*= on complex numbers), an operator might mutate its left-hand side so significantly that it can be more advantageous to implement operator*= in terms of operator* rather than the reverse.