Data.Singletons.Types
data KProxy t
data Proxy t
data a :~: b
gcastWith
class TestEquality f
type family Not a :: Bool
type family If cond tru fls :: k
type family a == b :: Bool
type a :== b