Data.Type.Equality
data a :~: b
sym
trans
castWith
gcastWith
apply
inner
outer
class TestEquality f
type family a == b :: Bool