- class SimpleWitness w where
- matchWitness :: w a -> w b -> Maybe (EqualType a b)
Documentation
class SimpleWitness w whereSource
w
is a simple witness type if each value witnesses to a single type. Thus if two values are the same, then they have the same type.
matchWitness :: w a -> w b -> Maybe (EqualType a b)Source
If the two values are the same, then a
and b
are the same type.
As an equivalence relation, matchWitness
must be reflexive, commutative, and transitive.
SimpleWitness Nat | |
SimpleWitness w => SimpleWitness (RepWitness w) | |
SimpleWitness w => SimpleWitness (ListType w) |