GHC.TypeLits
data Nat
data Symbol
class KnownNat n
natVal
class KnownSymbol n
symbolVal
data SomeNat
data SomeSymbol
someNatVal
someSymbolVal
sameNat
sameSymbol
type x <= y
type family m <=? n :: Bool
type family m + n :: Nat
type family m * n :: Nat
type family m ^ n :: Nat
type family m - n :: Nat
type family CmpNat m n :: Ordering
type family CmpSymbol m n :: Ordering