"A type parameter declaration." shared sealed interface TypeParameter satisfies Declaration { // FIXME: make it NestableDeclaration&GenericDeclaration? "The declaration that declared this type parameter. This is either a [[ClassOrInterfaceDeclaration]] or a [[FunctionDeclaration]]." shared formal NestableDeclaration container; "True if this type parameter has a default type argument and can be omitted." shared formal Boolean defaulted; "This type parameter's default type argument, if it has one." shared formal OpenType? defaultTypeArgument; "This type parameter's variance, as defined by `in` or `out` keywords." shared formal Variance variance; "The `satisfies` upper bounds for this type parameter." shared formal OpenType[] satisfiedTypes; "The `of` enumerated bounds for this type parameter." shared formal OpenType[] caseTypes; }