witness-0.1: values that witness types

Data.Witness.SimpleWitness

Synopsis

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.

Methods

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.