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