What is an ad-hoc polymorphism? Here are some definitions.
Noun
(computer science) A kind of polymorphism where polymorphic functions can be applied to arguments of different types, as they can denote a number of distinct and potentially heterogeneous implementations depending on the type of argument(s) to which they are applied.