Type of polymorphism in some programming languages where operators have different implementations depending on their arguments