Polymorphism

Definitions

associating an operation name with more than one algorithm

in Clojure for the Brave and True. It continues:

For example, the algorithm for performing conj on a list is different from the one for vectors, but we unify them under the same name to indicate that they implement the same concept…