Type parameter
= Type parameter
A type parameter is a named variable ranging over admissible types in a generic definition. Instantiation substitutes a particular <type argument>, allowing one declaration to retain type information across uses. An <upper type bound> restricts the admissible arguments; a variance annotation instead describes how instantiated types participate in <subtyping>.