phantom type
abstract type
generic class
typeful
type erasure
unified type system
concept
generic programming
nondegenerate
generic type
strongly-typed
Hindley-Milner type system
metaclass
generic
prototype
normotypical
third-class object
subtyping
single dispatch
statically-typed
Liskov substitution principle
type system
software framework
autoreducible
exception
name-based type system
many-sorted logic
property
Haskell
nominal type system
valenced
type
weakly-typed
formal parameter
typic
value restriction
type hinting
dynamically-typed
hypersemigroup
aparametric
second-class object
type class
constructor
gradual typing
quintessence
polymorphic
multimethod
functor
box
imperative