type erasure
generic class
template method
templatize
software framework
abstract method
phantom type
composite reuse principle
nondegenerate
trait
abstract class
generification
metaclass
instantiation
duck typing
generics
abstract
template
extend
quasivariety
templateless
metatemplate
formless
final method
abstract factory class
subtyping
Liskov substitution principle
Hindley-Milner type system
non-virtual interface
ad-hoc polymorphism
generify
formal parameter
genericize
override
neotypify
typeful
factory method pattern
type
generic programming
non-virtual interface pattern
statically-typed
curiously recurring template pattern
lay
serotype
expression template
value restriction
Scott's trick
type class
instantiate
factory class
object-oriented programming
inheritor
unclassable
genericization
monomorphisation
marker interface
base class
classifier
generical
Smalltalk
class-based language
functor
multitemplate
Barton-Nackman trick
optotypic
uniquify
concept
mixin
strongly-typed
abstract type
typing
type hinting
dynamically-typed
generically
unified type system
abstraction
member function
stratified
parametric polymorphism
coterminal
imperative
reclass
type system
kernel
antique
tacit programming
realm
functional programming
Kotlin
pseudoclass
phenotype
constructor
evolutionary taxonomist