Не изменяйте поведение при перегрузке функций

Перегруженная функция должна иметь одинаковую семантику, соответствовать ожидаемому поведению и использоваться для одних и тех же целей.

Исключение: конкатенация строк не является сложением с математической точки зрения, но большинство пользователей интуитивно понимают действие оператора сложения для строк.