{-# LANGUAGE Safe #-}
{-# LANGUAGE ExplicitNamespaces #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE NoStarIsType #-}
module GHC.TypeLits
    (
     Natural,
     Nat,
     Symbol,
     
     KnownNat(natSing),
     natVal,
     natVal',
     KnownSymbol(symbolSing),
     symbolVal,
     symbolVal',
     KnownChar(charSing),
     charVal,
     charVal',
     SomeNat(..),
     SomeSymbol(..),
     SomeChar(..),
     someNatVal,
     someSymbolVal,
     someCharVal,
     sameNat,
     sameSymbol,
     sameChar,
     decideNat,
     decideSymbol,
     decideChar,
     OrderingI(..),
     cmpNat,
     cmpSymbol,
     cmpChar,
     
     SNat,
     SSymbol,
     SChar,
     pattern SNat,
     pattern SSymbol,
     pattern SChar,
     fromSNat,
     fromSSymbol,
     fromSChar,
     withSomeSNat,
     withSomeSSymbol,
     withSomeSChar,
     withKnownNat,
     withKnownSymbol,
     withKnownChar,
     
     type (<=),
     type (<=?),
     type (+),
     type (*),
     type (^),
     type (-),
     type Div,
     type Mod,
     type Log2,
     AppendSymbol,
     CmpNat,
     CmpSymbol,
     CmpChar,
     ConsSymbol,
     UnconsSymbol,
     CharToNat,
     NatToChar,
     
     TypeError,
     ErrorMessage(..)
     ) where
import GHC.Internal.TypeLits