-- | Libraries.
module Language.Symantic.Lib
 ( -- module Language.Symantic.Lib
   module Language.Symantic.Lib.Alternative
 , module Language.Symantic.Lib.Applicative
 , module Language.Symantic.Lib.Bool
 , module Language.Symantic.Lib.Bounded
 , module Language.Symantic.Lib.Char
 -- , module Language.Symantic.Lib.Constraint
 , module Language.Symantic.Lib.Either
 , module Language.Symantic.Lib.Enum
 , module Language.Symantic.Lib.Eq
 , module Language.Symantic.Lib.Foldable
 , module Language.Symantic.Lib.Function
 , module Language.Symantic.Lib.Functor
 , module Language.Symantic.Lib.IO
 , module Language.Symantic.Lib.If
 , module Language.Symantic.Lib.Int
 , module Language.Symantic.Lib.Integer
 , module Language.Symantic.Lib.Integral
 , module Language.Symantic.Lib.List
 , module Language.Symantic.Lib.Map
 , module Language.Symantic.Lib.Maybe
 , module Language.Symantic.Lib.Monad
 , module Language.Symantic.Lib.MonoFoldable
 , module Language.Symantic.Lib.MonoFunctor
 , module Language.Symantic.Lib.Monoid
 , module Language.Symantic.Lib.NonNull
 , module Language.Symantic.Lib.Num
 , module Language.Symantic.Lib.Ord
 , module Language.Symantic.Lib.Ratio
 , module Language.Symantic.Lib.Real
 , module Language.Symantic.Lib.Semigroup
 , module Language.Symantic.Lib.Sequences
 , module Language.Symantic.Lib.Show
 , module Language.Symantic.Lib.Text
 , module Language.Symantic.Lib.Traversable
 , module Language.Symantic.Lib.Tuple2
 , module Language.Symantic.Lib.Unit
 ) where

import Language.Symantic.Lib.Alternative
import Language.Symantic.Lib.Applicative
import Language.Symantic.Lib.Bool
import Language.Symantic.Lib.Bounded
import Language.Symantic.Lib.Char
-- import Language.Symantic.Lib.Constraint
import Language.Symantic.Lib.Either
import Language.Symantic.Lib.Enum
import Language.Symantic.Lib.Eq
import Language.Symantic.Lib.Foldable
import Language.Symantic.Lib.Function
import Language.Symantic.Lib.Functor
import Language.Symantic.Lib.IO
import Language.Symantic.Lib.If
import Language.Symantic.Lib.Int
import Language.Symantic.Lib.Integer
import Language.Symantic.Lib.Integral
import Language.Symantic.Lib.List
import Language.Symantic.Lib.Map
import Language.Symantic.Lib.Maybe
import Language.Symantic.Lib.Monad
import Language.Symantic.Lib.MonoFoldable
import Language.Symantic.Lib.MonoFunctor
import Language.Symantic.Lib.Monoid
import Language.Symantic.Lib.NonNull
import Language.Symantic.Lib.Num
import Language.Symantic.Lib.Ord
import Language.Symantic.Lib.Ratio
import Language.Symantic.Lib.Real
import Language.Symantic.Lib.Semigroup
import Language.Symantic.Lib.Sequences
import Language.Symantic.Lib.Show
import Language.Symantic.Lib.Text
import Language.Symantic.Lib.Traversable
import Language.Symantic.Lib.Tuple2
import Language.Symantic.Lib.Unit

{-
import Data.Map.Strict (Map)
import Data.NonNull (NonNull)
import Data.Proxy (Proxy)
import Data.Ratio (Ratio)
import Data.Text (Text)
import System.IO as IO (IO, Handle, IOMode)
import qualified Data.MonoTraversable as MT
import qualified Data.Sequences as Seqs
import qualified Language.Symantic.Helper.Data.Type.List as Type
import Language.Symantic.Typing

-- * Type 'TyConstsLib'
-- | Usual 'TyConst's.
type TyConstsLib = TyConsts_Terms Type.++ TyConsts_Constraints

-- ** Type 'TyConsts_Terms'
-- | Usual 'TyConst's of /terms constructors/.
type TyConsts_Terms =
 [ Proxy ()
 , Proxy (,)
 , Proxy (->)
 , Proxy (#>)
 , Proxy (#)
 , Proxy []
 , Proxy Bool
 , Proxy Char
 , Proxy Either
 , Proxy Int
 , Proxy Integer
 , Proxy IO
 , Proxy IO.Handle
 , Proxy IO.IOMode
 , Proxy Ordering
 , Proxy Map
 , Proxy Maybe
 , Proxy NonNull
 , Proxy Ratio
 , Proxy Text
 ]

-- ** Type 'TyConsts_Constraints'
-- | Usual 'TyConst's of /type constraint constructors/.
type TyConsts_Constraints =
 [ Proxy Applicative
 , Proxy Bounded
 , Proxy Enum
 , Proxy Eq
 , Proxy Foldable
 , Proxy Functor
 , Proxy Integral
 , Proxy Monad
 , Proxy Monoid
 , Proxy MT.MonoFoldable
 , Proxy MT.MonoFunctor
 , Proxy Num
 , Proxy Ord
 , Proxy Real
 , Proxy Seqs.IsSequence
 , Proxy Seqs.SemiSequence
 , Proxy Show
 , Proxy Traversable
 ]
-}