Parametric polymorphism, subtype polymorphism, and ad-hoc polymorphism; the first two probably more familiar than the last.