type class

Noun

 * 1)  A type system construct that supports ad hoc polymorphism (independent of the type hierarchy), first pioneered in Haskell.