Überladene Funktionen sind überflüssig und ein Zugeständnis an die Faulheit der Programmierer (die sie benutzen).
Mit Faulheit hat das rein gar nichts zu tun. Es macht nur keinen Sinn sich krampfhaft unterschiedliche Namen ausdenken zu müssen und umgekehrt immer die passende zu suchen, wenn die Funktionen im Grunde alle doch das gleiche machen.
Bei überladenen Operatoren sehe ich z.B. auch keinen Sinn da noch zusätzliche Namen hinzuzufügen, damit die nicht alle implicit oder explicit heißen.