Contra
class Contra(val name: String, val traverse: A_Type.() -> A_Type) : TypeTag.Modifier.Variant
Content copied to clipboard
A Contravariant relationship. When a TypeTag declares such a relationship, then for all A and B having that TypeTag, if A ⊆ B, then traverse(B) ⊆ traverse(A), where traverse is a function provided by the Contra instance.
Constructors
Functions
Properties
Link copied to clipboard
A function that extracts a co-/contravariant type from the original type, where this Variant is applicable. For example, given something with the tag SET_TYPE_TAG (the TypeTag for set types), the set type's element type can be extracted by running the traverse function of the "element" covariant type parameter.