"Variance information." shared interface Variance of invariant | covariant | contravariant {} "Invariant means that neither subtype nor supertype can be accepted, the type has to be exactly that which is declared." shared object invariant satisfies Variance { string => "Invariant"; } "Covariant means that subtypes of the given type may be returned." shared object covariant satisfies Variance { string => "Covariant"; } "Contravariant means that supertypes of the given type may be accepted." shared object contravariant satisfies Variance { string => "Contravariant"; }