-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A framework for generating singleton types -- @package singletons @version 1.1.1 module Data.Singletons.SuppressUnusedWarnings -- | This class (which users should never see) is to be instantiated in -- order to use an otherwise-unused data constructor, such as the -- "kind-inference" data constructor for defunctionalization symbols. class SuppressUnusedWarnings (t :: k) suppressUnusedWarnings :: SuppressUnusedWarnings t => Proxy t -> () -- | This module is a reimplementation of Edward Kmett's void -- package. It is included within singletons to avoid depending on -- void and all the packages that depends on (including -- text). If this causes problems for you (that singletons has -- its own Void type), please let me (Richard Eisenberg) know at -- eir at cis.upenn.edu. module Data.Singletons.Void -- | A logically uninhabited data type. data Void -- | Since Void values logically don't exist, this witnesses the -- logical reasoning tool of "ex falso quodlibet". absurd :: Void -> a -- | If Void is uninhabited then any Functor that holds only -- values of type Void is holding no values. vacuous :: Functor f => f Void -> f a -- | If Void is uninhabited then any Monad that holds values -- of type Void is holding no values. vacuousM :: Monad m => m Void -> m a instance Typeable Void instance Data Void instance Generic Void instance Datatype D1Void instance Constructor C1_0Void instance Exception Void instance Ix Void instance Read Void instance Show Void instance Ord Void instance Eq Void -- | Defines and exports types that are useful when working with -- singletons. Some of these are re-exports from -- Data.Type.Equality. module Data.Singletons.Types -- | A concrete, promotable proxy type, for use at the kind level There are -- no instances for this because it is intended at the kind level only data KProxy t :: * -> * KProxy :: KProxy t -- | A concrete, poly-kinded proxy type data Proxy (t :: k) :: k -> * Proxy :: Proxy -- | Propositional equality. If a :~: b is inhabited by some -- terminating value, then the type a is the same as the type -- b. To use this equality in practice, pattern-match on the -- a :~: b to get out the Refl constructor; in the body -- of the pattern-match, the compiler knows that a ~ b. -- -- Since: 4.7.0.0 data (:~:) (a :: k) (b :: k) :: k -> k -> * Refl :: (:~:) k a1 a1 -- | Generalized form of type-safe cast using propositional equality gcastWith :: (:~:) k a b -> ((~) k a b -> r) -> r -- | This class contains types where you can learn the equality of two -- types from information contained in terms. Typically, only -- singleton types should inhabit this class. class TestEquality (f :: k -> *) testEquality :: TestEquality f => f a -> f b -> Maybe ((:~:) k a b) -- | Type-level If. If True a b ==> a; If -- False a b ==> b -- | This module exports the basic definitions to use singletons. For -- routine use, consider importing Prelude, which exports -- constructors for singletons based on types in the Prelude. -- -- You may also want to read -- http://www.cis.upenn.edu/~eir/packages/singletons/README.html -- and the original paper presenting this library, available at -- http://www.cis.upenn.edu/~eir/papers/2012/singletons/paper.pdf. module Data.Singletons -- | The singleton kind-indexed data family. -- | A SingI constraint is essentially an implicitly-passed -- singleton. If you need to satisfy this constraint with an explicit -- singleton, please see withSingI. class SingI (a :: k) sing :: SingI a => Sing a -- | The SingKind class is essentially a kind class. It -- classifies all kinds for which singletons are defined. The class -- supports converting between a singleton type and the base (unrefined) -- type which it is built from. class kparam ~ KProxy => SingKind (kparam :: KProxy k) where type family DemoteRep kparam :: * fromSing :: SingKind kparam => Sing (a :: k) -> DemoteRep kparam toSing :: SingKind kparam => DemoteRep kparam -> SomeSing kparam -- | Convenient synonym to refer to the kind of a type variable: type -- KindOf (a :: k) = ('KProxy :: KProxy k) type KindOf (a :: k) = (KProxy :: KProxy k) -- | Convenient abbreviation for DemoteRep: type Demote (a :: k) -- = DemoteRep ('KProxy :: KProxy k) type Demote (a :: k) = DemoteRep (KProxy :: KProxy k) -- | A SingInstance wraps up a SingI instance for explicit -- handling. data SingInstance (a :: k) SingInstance :: SingInstance a -- | An existentially-quantified singleton. This type is useful when -- you want a singleton type, but there is no way of knowing, at -- compile-time, what the type index will be. To make use of this type, -- you will generally have to use a pattern-match: -- --
--   foo :: Bool -> ...
--   foo b = case toSing b of
--             SomeSing sb -> {- fancy dependently-typed code with sb -}
--   
-- -- An example like the one above may be easier to write using -- withSomeSing. data SomeSing (kproxy :: KProxy k) SomeSing :: Sing (a :: k) -> SomeSing (KProxy :: KProxy k) -- | Get an implicit singleton (a SingI instance) from an explicit -- one. singInstance :: Sing a -> SingInstance a -- | Convenience function for creating a context with an implicit singleton -- available. withSingI :: Sing n -> (SingI n => r) -> r -- | Convert a normal datatype (like Bool) to a singleton for that -- datatype, passing it into a continuation. withSomeSing :: SingKind (KProxy :: KProxy k) => DemoteRep (KProxy :: KProxy k) -> (forall (a :: k). Sing a -> r) -> r -- | Allows creation of a singleton when a proxy is at hand. singByProxy :: SingI a => proxy a -> Sing a -- | Allows creation of a singleton when a proxy# is at hand. singByProxy# :: SingI a => Proxy# a -> Sing a -- | A convenience function useful when we need to name a singleton value -- multiple times. Without this function, each use of sing could -- potentially refer to a different singleton, and one has to use type -- signatures (often with ScopedTypeVariables) to ensure that -- they are the same. withSing :: SingI a => (Sing a -> b) -> b -- | A convenience function that names a singleton satisfying a certain -- property. If the singleton does not satisfy the property, then the -- function returns Nothing. The property is expressed in terms of -- the underlying representation of the singleton. singThat :: (SingKind (KProxy :: KProxy k), SingI a) => (Demote a -> Bool) -> Maybe (Sing a) -- | Representation of the kind of a type-level function. The difference -- between term-level arrows and this type-level arrow is that at the -- term level applications can be unsaturated, whereas at the type level -- all applications have to be fully saturated. data TyFun :: * -> * -> * -- | Wrapper for converting the normal type-level arrow into a -- TyFun. For example, given: -- --
--   data Nat = Zero | Succ Nat
--   type family Map (a :: TyFun a b -> *) (a :: [a]) :: [b]
--     Map f '[] = '[]
--     Map f (x ': xs) = Apply f x ': Map f xs
--   
-- -- We can write: -- --
--   Map (TyCon1 Succ) [Zero, Succ Zero]
--   
data TyCon1 :: (k1 -> k2) -> (TyFun k1 k2) -> * -- | Similar to TyCon1, but for two-parameter type constructors. data TyCon2 :: (k1 -> k2 -> k3) -> TyFun k1 (TyFun k2 k3 -> *) -> * data TyCon3 :: (k1 -> k2 -> k3 -> k4) -> TyFun k1 (TyFun k2 (TyFun k3 k4 -> *) -> *) -> * data TyCon4 :: (k1 -> k2 -> k3 -> k4 -> k5) -> TyFun k1 (TyFun k2 (TyFun k3 (TyFun k4 k5 -> *) -> *) -> *) -> * data TyCon5 :: (k1 -> k2 -> k3 -> k4 -> k5 -> k6) -> TyFun k1 (TyFun k2 (TyFun k3 (TyFun k4 (TyFun k5 k6 -> *) -> *) -> *) -> *) -> * data TyCon6 :: (k1 -> k2 -> k3 -> k4 -> k5 -> k6 -> k7) -> TyFun k1 (TyFun k2 (TyFun k3 (TyFun k4 (TyFun k5 (TyFun k6 k7 -> *) -> *) -> *) -> *) -> *) -> * data TyCon7 :: (k1 -> k2 -> k3 -> k4 -> k5 -> k6 -> k7 -> k8) -> TyFun k1 (TyFun k2 (TyFun k3 (TyFun k4 (TyFun k5 (TyFun k6 (TyFun k7 k8 -> *) -> *) -> *) -> *) -> *) -> *) -> * -- | Type level function application -- | An infix synonym for Apply type (@@) a b = Apply a b -- | Use this function when passing a function on singletons as a -- higher-order function. You will often need an explicit type annotation -- to get this to work. For example: -- --
--   falses = sMap (singFun1 sNot :: Sing NotSym0)
--                 (STrue `SCons` STrue `SCons` SNil)
--   
-- -- There are a family of singFun... functions, keyed by the -- number of parameters of the function. singFun1 :: Proxy f -> SingFunction1 f -> Sing f singFun2 :: Proxy f -> SingFunction2 f -> Sing f singFun3 :: Proxy f -> SingFunction3 f -> Sing f singFun4 :: Proxy f -> SingFunction4 f -> Sing f singFun5 :: Proxy f -> SingFunction5 f -> Sing f singFun6 :: Proxy f -> SingFunction6 f -> Sing f singFun7 :: Proxy f -> SingFunction7 f -> Sing f -- | This is the inverse of singFun1, and likewise for the other -- unSingFun... functions. unSingFun1 :: Proxy f -> Sing f -> SingFunction1 f unSingFun2 :: Proxy f -> Sing f -> SingFunction2 f unSingFun3 :: Proxy f -> Sing f -> SingFunction3 f unSingFun4 :: Proxy f -> Sing f -> SingFunction4 f unSingFun5 :: Proxy f -> Sing f -> SingFunction5 f unSingFun6 :: Proxy f -> Sing f -> SingFunction6 f unSingFun7 :: Proxy f -> Sing f -> SingFunction7 f type SingFunction1 f = forall t. Sing t -> Sing (f @@ t) type SingFunction2 f = forall t. Sing t -> SingFunction1 (f @@ t) type SingFunction3 f = forall t. Sing t -> SingFunction2 (f @@ t) type SingFunction4 f = forall t. Sing t -> SingFunction3 (f @@ t) type SingFunction5 f = forall t. Sing t -> SingFunction4 (f @@ t) type SingFunction6 f = forall t. Sing t -> SingFunction5 (f @@ t) type SingFunction7 f = forall t. Sing t -> SingFunction6 (f @@ t) -- | GHC 7.8 sometimes warns about incomplete pattern matches when no such -- patterns are possible, due to GADT constraints. See the bug report at -- https://ghc.haskell.org/trac/ghc/ticket/3927. In such cases, -- it's useful to have a catch-all pattern that then has bugInGHC -- as its right-hand side. bugInGHC :: a -- | A concrete, promotable proxy type, for use at the kind level There are -- no instances for this because it is intended at the kind level only data KProxy t :: * -> * KProxy :: KProxy t instance (SingKind 'KProxy, SingKind 'KProxy) => SingKind 'KProxy -- | Defines the class SDecide, allowing for decidable equality over -- singletons. module Data.Singletons.Decide -- | Members of the SDecide "kind" class support decidable equality. -- Instances of this class are generated alongside singleton definitions -- for datatypes that derive an Eq instance. class kparam ~ KProxy => SDecide (kparam :: KProxy k) (%~) :: SDecide kparam => Sing a -> Sing b -> Decision (a :~: b) -- | Propositional equality. If a :~: b is inhabited by some -- terminating value, then the type a is the same as the type -- b. To use this equality in practice, pattern-match on the -- a :~: b to get out the Refl constructor; in the body -- of the pattern-match, the compiler knows that a ~ b. -- -- Since: 4.7.0.0 data (:~:) (a :: k) (b :: k) :: k -> k -> * Refl :: (:~:) k a1 a1 -- | A logically uninhabited data type. data Void -- | Because we can never create a value of type Void, a function -- that type-checks at a -> Void shows that objects of type -- a can never exist. Thus, we say that a is -- Refuted type Refuted a = a -> Void -- | A Decision about a type a is either a proof of -- existence or a proof that a cannot exist. data Decision a -- | Witness for a Proved :: a -> Decision a -- | Proof that no a exists Disproved :: (Refuted a) -> Decision a instance SDecide 'KProxy => TestEquality Sing -- | Defines the promoted version of Bounded, PBounded module Data.Promotion.Prelude.Bounded class kproxy_apFh ~ KProxy => PBounded (kproxy_apFh :: KProxy a_apFg) where type family MinBound :: a_apFg type family MaxBound :: a_apFg type MaxBoundSym0 = MaxBound type MinBoundSym0 = MinBound instance PBounded 'KProxy instance PBounded 'KProxy instance PBounded 'KProxy instance PBounded 'KProxy instance PBounded 'KProxy instance PBounded 'KProxy instance PBounded 'KProxy instance PBounded 'KProxy instance PBounded 'KProxy -- | Defines functions and datatypes relating to the singleton for -- Bool, including a singletons version of all the definitions in -- Data.Bool. -- -- Because many of these definitions are produced by Template Haskell, it -- is not possible to create proper Haddock documentation. Please look up -- the corresponding operation in Data.Bool. Also, please excuse -- the apparent repeated variable names. This is due to an interaction -- between Template Haskell and Haddock. module Data.Singletons.Prelude.Bool -- | The singleton kind-indexed data family. type SBool (z_at9x :: Bool) = Sing z_at9x -- | Type-level If. If True a b ==> a; If -- False a b ==> b -- | Conditional over singletons sIf :: Sing a -> Sing b -> Sing c -> Sing (If a b c) sNot :: Sing t_aA2f -> Sing (Apply NotSym0 t_aA2f) (%:&&) :: Sing t_aA2i -> Sing t_aA2j -> Sing (Apply (Apply (:&&$) t_aA2i) t_aA2j) (%:||) :: Sing t_aA2g -> Sing t_aA2h -> Sing (Apply (Apply (:||$) t_aA2g) t_aA2h) bool_ :: a_azPT -> a_azPT -> Bool -> a_azPT sBool_ :: Sing t_azQh -> Sing t_azQi -> Sing t_azQj -> Sing (Apply (Apply (Apply Bool_Sym0 t_azQh) t_azQi) t_azQj) type Otherwise = (TrueSym0 :: Bool) sOtherwise :: Sing OtherwiseSym0 type TrueSym0 = True type FalseSym0 = False data NotSym0 (l_aA1Q :: TyFun Bool Bool) type NotSym1 (t_aA1P :: Bool) = Not t_aA1P data (:&&$) (l_aA26 :: TyFun Bool (TyFun Bool Bool -> *)) data (:&&$$) (l_aA29 :: Bool) (l_aA28 :: TyFun Bool Bool) type (:&&$$$) (t_aA24 :: Bool) (t_aA25 :: Bool) = (:&&) t_aA24 t_aA25 data (:||$) (l_aA1V :: TyFun Bool (TyFun Bool Bool -> *)) data (:||$$) (l_aA1Y :: Bool) (l_aA1X :: TyFun Bool Bool) type (:||$$$) (t_aA1T :: Bool) (t_aA1U :: Bool) = (:||) t_aA1T t_aA1U data Bool_Sym0 (l_azQ1 :: TyFun a_azPT (TyFun a_azPT (TyFun Bool a_azPT -> *) -> *)) data Bool_Sym1 (l_azQ4 :: a_azPT) (l_azQ3 :: TyFun a_azPT (TyFun Bool a_azPT -> *)) data Bool_Sym2 (l_azQ7 :: a_azPT) (l_azQ8 :: a_azPT) (l_azQ6 :: TyFun Bool a_azPT) type Bool_Sym3 (t_azPY :: a_azPT) (t_azPZ :: a_azPT) (t_azQ0 :: Bool) = Bool_ t_azPY t_azPZ t_azQ0 type OtherwiseSym0 = Otherwise instance SuppressUnusedWarnings (:&&$) instance SuppressUnusedWarnings (:&&$$) instance SuppressUnusedWarnings (:||$) instance SuppressUnusedWarnings (:||$$) instance SuppressUnusedWarnings NotSym0 instance SuppressUnusedWarnings Bool_Sym0 instance SuppressUnusedWarnings Bool_Sym1 instance SuppressUnusedWarnings Bool_Sym2 -- | Defines the SEq singleton version of the Eq type class. module Data.Singletons.Prelude.Eq -- | The promoted analogue of Eq. If you supply no definition for -- '(:==)' under GHC 7.8+, then it defaults to a use of '(==)', from -- Data.Type.Equality. class kproxy ~ KProxy => PEq (kproxy :: KProxy a) where type family (:==) (x :: a) (y :: a) :: Bool type family (:/=) (x :: a) (y :: a) :: Bool type instance (:==) (x :: a) (y :: a) = x == y type instance (:/=) (x :: a) (y :: a) = Not (x :== y) -- | The singleton analogue of Eq. Unlike the definition for -- Eq, it is required that instances define a body for '(%:==)'. -- You may also supply a body for '(%:/=)'. class kparam ~ KProxy => SEq (kparam :: KProxy k) where a %:/= b = sNot (a %:== b) (%:==) :: SEq kparam => Sing a -> Sing b -> Sing (a :== b) (%:/=) :: SEq kparam => Sing a -> Sing b -> Sing (a :/= b) data (:==$) (l_aAD2 :: TyFun a_aACo (TyFun a_aACo Bool -> *)) data (:==$$) (l_aAD5 :: a_aACo) (l_aAD4 :: TyFun a_aACo Bool) type (:==$$$) (t_aAD0 :: a_aACo) (t_aAD1 :: a_aACo) = (:==) t_aAD0 t_aAD1 data (:/=$) (l_aAD9 :: TyFun a_aACo (TyFun a_aACo Bool -> *)) data (:/=$$) (l_aADc :: a_aACo) (l_aADb :: TyFun a_aACo Bool) type (:/=$$$) (t_aAD7 :: a_aACo) (t_aAD8 :: a_aACo) = (:/=) t_aAD7 t_aAD8 instance PEq 'KProxy instance (SEq 'KProxy, SEq 'KProxy, SEq 'KProxy, SEq 'KProxy, SEq 'KProxy, SEq 'KProxy, SEq 'KProxy) => SEq 'KProxy instance PEq 'KProxy instance (SEq 'KProxy, SEq 'KProxy, SEq 'KProxy, SEq 'KProxy, SEq 'KProxy, SEq 'KProxy) => SEq 'KProxy instance PEq 'KProxy instance (SEq 'KProxy, SEq 'KProxy, SEq 'KProxy, SEq 'KProxy, SEq 'KProxy) => SEq 'KProxy instance PEq 'KProxy instance (SEq 'KProxy, SEq 'KProxy, SEq 'KProxy, SEq 'KProxy) => SEq 'KProxy instance PEq 'KProxy instance (SEq 'KProxy, SEq 'KProxy, SEq 'KProxy) => SEq 'KProxy instance PEq 'KProxy instance (SEq 'KProxy, SEq 'KProxy) => SEq 'KProxy instance PEq 'KProxy instance SEq 'KProxy instance PEq 'KProxy instance SEq 'KProxy instance PEq 'KProxy instance SEq 'KProxy instance PEq 'KProxy instance (SEq 'KProxy, SEq 'KProxy) => SEq 'KProxy instance PEq 'KProxy instance SEq 'KProxy => SEq 'KProxy instance PEq 'KProxy instance SEq 'KProxy => SEq 'KProxy instance SuppressUnusedWarnings (:/=$) instance SuppressUnusedWarnings (:/=$$) instance SuppressUnusedWarnings (:==$) instance SuppressUnusedWarnings (:==$$) -- | This file implements singletonStar, which generates a datatype -- Rep and associated singleton from a list of types. The -- promoted version of Rep is kind * and the Haskell -- types themselves. This is still very experimental, so expect unusual -- results! module Data.Singletons.CustomStar -- | Produce a representation and singleton for the collection of types -- given. -- -- A datatype Rep is created, with one constructor per type in -- the declared universe. When this type is promoted by the singletons -- library, the constructors become full types in *, not just -- promoted data constructors. -- -- For example, -- --
--   $(singletonStar [''Nat, ''Bool, ''Maybe])
--   
-- -- generates the following: -- --
--   data Rep = Nat | Bool | Maybe Rep deriving (Eq, Show, Read)
--   
-- -- and its singleton. However, because Rep is promoted to -- *, the singleton is perhaps slightly unexpected: -- --
--   data instance Sing (a :: *) where
--     SNat :: Sing Nat
--     SBool :: Sing Bool
--     SMaybe :: SingRep a => Sing a -> Sing (Maybe a)
--   
-- -- The unexpected part is that Nat, Bool, and -- Maybe above are the real Nat, Bool, and -- Maybe, not just promoted data constructors. -- -- Please note that this function is very experimental. Use at -- your own risk. singletonStar :: DsMonad q => [Name] -> q [Dec] -- | Provided promoted definitions related to type-level equality. module Data.Promotion.Prelude.Eq -- | The promoted analogue of Eq. If you supply no definition for -- '(:==)' under GHC 7.8+, then it defaults to a use of '(==)', from -- Data.Type.Equality. class kproxy ~ KProxy => PEq (kproxy :: KProxy a) where type family (:==) (x :: a) (y :: a) :: Bool type family (:/=) (x :: a) (y :: a) :: Bool type instance (:==) (x :: a) (y :: a) = x == y type instance (:/=) (x :: a) (y :: a) = Not (x :== y) data (:==$) (l_aAD2 :: TyFun a_aACo (TyFun a_aACo Bool -> *)) data (:==$$) (l_aAD5 :: a_aACo) (l_aAD4 :: TyFun a_aACo Bool) type (:==$$$) (t_aAD0 :: a_aACo) (t_aAD1 :: a_aACo) = (:==) t_aAD0 t_aAD1 data (:/=$) (l_aAD9 :: TyFun a_aACo (TyFun a_aACo Bool -> *)) data (:/=$$) (l_aADc :: a_aACo) (l_aADb :: TyFun a_aACo Bool) type (:/=$$$) (t_aAD7 :: a_aACo) (t_aAD8 :: a_aACo) = (:/=) t_aAD7 t_aAD8 -- | Defines promoted functions and datatypes relating to Bool, -- including a promoted version of all the definitions in -- Data.Bool. -- -- Because many of these definitions are produced by Template Haskell, it -- is not possible to create proper Haddock documentation. Please look up -- the corresponding operation in Data.Bool. Also, please excuse -- the apparent repeated variable names. This is due to an interaction -- between Template Haskell and Haddock. module Data.Promotion.Prelude.Bool -- | Type-level If. If True a b ==> a; If -- False a b ==> b bool_ :: a_azPT -> a_azPT -> Bool -> a_azPT type Otherwise = (TrueSym0 :: Bool) type TrueSym0 = True type FalseSym0 = False data NotSym0 (l_aA1Q :: TyFun Bool Bool) type NotSym1 (t_aA1P :: Bool) = Not t_aA1P data (:&&$) (l_aA26 :: TyFun Bool (TyFun Bool Bool -> *)) data (:&&$$) (l_aA29 :: Bool) (l_aA28 :: TyFun Bool Bool) type (:&&$$$) (t_aA24 :: Bool) (t_aA25 :: Bool) = (:&&) t_aA24 t_aA25 data (:||$) (l_aA1V :: TyFun Bool (TyFun Bool Bool -> *)) data (:||$$) (l_aA1Y :: Bool) (l_aA1X :: TyFun Bool Bool) type (:||$$$) (t_aA1T :: Bool) (t_aA1U :: Bool) = (:||) t_aA1T t_aA1U data Bool_Sym0 (l_azQ1 :: TyFun a_azPT (TyFun a_azPT (TyFun Bool a_azPT -> *) -> *)) data Bool_Sym1 (l_azQ4 :: a_azPT) (l_azQ3 :: TyFun a_azPT (TyFun Bool a_azPT -> *)) data Bool_Sym2 (l_azQ7 :: a_azPT) (l_azQ8 :: a_azPT) (l_azQ6 :: TyFun Bool a_azPT) type Bool_Sym3 (t_azPY :: a_azPT) (t_azPZ :: a_azPT) (t_azQ0 :: Bool) = Bool_ t_azPY t_azPZ t_azQ0 type OtherwiseSym0 = Otherwise -- | This module defines singleton instances making Typeable the -- singleton for the kind *. The definitions don't fully line up -- with what is expected within the singletons library, so expect unusual -- results! module Data.Singletons.TypeRepStar -- | The singleton kind-indexed data family. instance TestCoercion Sing instance SDecide 'KProxy instance SEq 'KProxy instance PEq 'KProxy instance SingKind 'KProxy instance Typeable a => SingI a -- | Defines the promoted version of Ord, POrd, and the singleton -- version, SOrd. module Data.Singletons.Prelude.Ord class (PEq (KProxy :: KProxy a_aDT0), kproxy_aDTv ~ KProxy) => POrd (kproxy_aDTv :: KProxy a_aDT0) where type family Compare (arg_aDTw :: a_aDT0) (arg_aDTx :: a_aDT0) :: Ordering type family (:<) (arg_aDTF :: a_aDT0) (arg_aDTG :: a_aDT0) :: Bool type family (:>=) (arg_aDTO :: a_aDT0) (arg_aDTP :: a_aDT0) :: Bool type family (:>) (arg_aDTX :: a_aDT0) (arg_aDTY :: a_aDT0) :: Bool type family (:<=) (arg_aDU6 :: a_aDT0) (arg_aDU7 :: a_aDT0) :: Bool type family Max (arg_aDUf :: a_aDT0) (arg_aDUg :: a_aDT0) :: a_aDT0 type family Min (arg_aDUo :: a_aDT0) (arg_aDUp :: a_aDT0) :: a_aDT0 type instance Compare (x_aDUG :: a_aDT0) (y_aDUH :: a_aDT0) = (Case_1627543393 x_aDUG y_aDUH (Let_1627543384Scrutinee_1627543293Sym2 x_aDUG y_aDUH) :: Ordering) type instance (:<) (x_aDVh :: a_aDT0) (y_aDVi :: a_aDT0) = (Case_1627543430 x_aDVh y_aDVi (Let_1627543421Scrutinee_1627543297Sym2 x_aDVh y_aDVi) :: Bool) type instance (:>=) (x_aDVG :: a_aDT0) (y_aDVH :: a_aDT0) = (Case_1627543455 x_aDVG y_aDVH (Let_1627543446Scrutinee_1627543303Sym2 x_aDVG y_aDVH) :: Bool) type instance (:>) (x_aDW5 :: a_aDT0) (y_aDW6 :: a_aDT0) = (Case_1627543480 x_aDW5 y_aDW6 (Let_1627543471Scrutinee_1627543301Sym2 x_aDW5 y_aDW6) :: Bool) type instance (:<=) (x_aDWu :: a_aDT0) (y_aDWv :: a_aDT0) = (Case_1627543505 x_aDWu y_aDWv (Let_1627543496Scrutinee_1627543299Sym2 x_aDWu y_aDWv) :: Bool) type instance Max (x_aDWT :: a_aDT0) (y_aDWU :: a_aDT0) = (Case_1627543530 x_aDWT y_aDWU (Let_1627543521Scrutinee_1627543305Sym2 x_aDWT y_aDWU) :: a_aDT0) type instance Min (x_aDXh :: a_aDT0) (y_aDXi :: a_aDT0) = (Case_1627543554 x_aDXh y_aDXi (Let_1627543545Scrutinee_1627543307Sym2 x_aDXh y_aDXi) :: a_aDT0) class (kproxy ~ KProxy, SEq (KProxy :: KProxy a)) => SOrd (kproxy :: KProxy a) where sCompare x y = sIf (x %:== y) SEQ (sIf (x %:<= y) SLT SGT) x %:< y = case sCompare x y of { SLT -> STrue SEQ -> SFalse SGT -> SFalse } x %:<= y = case sCompare x y of { SLT -> STrue SEQ -> STrue SGT -> SFalse } x %:> y = case sCompare x y of { SLT -> SFalse SEQ -> SFalse SGT -> STrue } x %:>= y = case sCompare x y of { SLT -> SFalse SEQ -> STrue SGT -> STrue } sMax x y = sIf (x %:<= y) y x sMin x y = sIf (x %:<= y) x y sCompare :: SOrd kproxy => Sing x -> Sing y -> Sing (Compare x y) (%:<) :: SOrd kproxy => Sing x -> Sing y -> Sing (x :< y) (%:<=) :: SOrd kproxy => Sing x -> Sing y -> Sing (x :<= y) (%:>) :: SOrd kproxy => Sing x -> Sing y -> Sing (x :> y) (%:>=) :: SOrd kproxy => Sing x -> Sing y -> Sing (x :>= y) sMax :: SOrd kproxy => Sing x -> Sing y -> Sing (Max x y) sMin :: SOrd kproxy => Sing x -> Sing y -> Sing (Min x y) thenCmp :: Ordering -> Ordering -> Ordering sThenCmp :: Sing t_aF5T -> Sing t_aF5U -> Sing (Apply (Apply ThenCmpSym0 t_aF5T) t_aF5U) -- | The singleton kind-indexed data family. data ThenCmpSym0 (l_aF5J :: TyFun Ordering (TyFun Ordering Ordering -> *)) data ThenCmpSym1 (l_aF5M :: Ordering) (l_aF5L :: TyFun Ordering Ordering) type ThenCmpSym2 (t_aF5H :: Ordering) (t_aF5I :: Ordering) = ThenCmp t_aF5H t_aF5I type LTSym0 = LT type EQSym0 = EQ type GTSym0 = GT data CompareSym0 (l_aDTA :: TyFun a_aDT0 (TyFun a_aDT0 Ordering -> *)) data CompareSym1 (l_aDTD :: a_aDT0) (l_aDTC :: TyFun a_aDT0 Ordering) type CompareSym2 (t_aDTy :: a_aDT0) (t_aDTz :: a_aDT0) = Compare t_aDTy t_aDTz data (:<$) (l_aDTJ :: TyFun a_aDT0 (TyFun a_aDT0 Bool -> *)) data (:<$$) (l_aDTM :: a_aDT0) (l_aDTL :: TyFun a_aDT0 Bool) type (:<$$$) (t_aDTH :: a_aDT0) (t_aDTI :: a_aDT0) = (:<) t_aDTH t_aDTI data (:<=$) (l_aDUa :: TyFun a_aDT0 (TyFun a_aDT0 Bool -> *)) data (:<=$$) (l_aDUd :: a_aDT0) (l_aDUc :: TyFun a_aDT0 Bool) type (:<=$$$) (t_aDU8 :: a_aDT0) (t_aDU9 :: a_aDT0) = (:<=) t_aDU8 t_aDU9 data (:>$) (l_aDU1 :: TyFun a_aDT0 (TyFun a_aDT0 Bool -> *)) data (:>$$) (l_aDU4 :: a_aDT0) (l_aDU3 :: TyFun a_aDT0 Bool) type (:>$$$) (t_aDTZ :: a_aDT0) (t_aDU0 :: a_aDT0) = (:>) t_aDTZ t_aDU0 data (:>=$) (l_aDTS :: TyFun a_aDT0 (TyFun a_aDT0 Bool -> *)) data (:>=$$) (l_aDTV :: a_aDT0) (l_aDTU :: TyFun a_aDT0 Bool) type (:>=$$$) (t_aDTQ :: a_aDT0) (t_aDTR :: a_aDT0) = (:>=) t_aDTQ t_aDTR data MaxSym0 (l_aDUj :: TyFun a_aDT0 (TyFun a_aDT0 a_aDT0 -> *)) data MaxSym1 (l_aDUm :: a_aDT0) (l_aDUl :: TyFun a_aDT0 a_aDT0) type MaxSym2 (t_aDUh :: a_aDT0) (t_aDUi :: a_aDT0) = Max t_aDUh t_aDUi data MinSym0 (l_aDUs :: TyFun a_aDT0 (TyFun a_aDT0 a_aDT0 -> *)) data MinSym1 (l_aDUv :: a_aDT0) (l_aDUu :: TyFun a_aDT0 a_aDT0) type MinSym2 (t_aDUq :: a_aDT0) (t_aDUr :: a_aDT0) = Min t_aDUq t_aDUr instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance SuppressUnusedWarnings ThenCmpSym0 instance SuppressUnusedWarnings ThenCmpSym1 instance SuppressUnusedWarnings Let_1627543545Scrutinee_1627543307Sym0 instance SuppressUnusedWarnings Let_1627543545Scrutinee_1627543307Sym1 instance SuppressUnusedWarnings Let_1627543521Scrutinee_1627543305Sym0 instance SuppressUnusedWarnings Let_1627543521Scrutinee_1627543305Sym1 instance SuppressUnusedWarnings Let_1627543496Scrutinee_1627543299Sym0 instance SuppressUnusedWarnings Let_1627543496Scrutinee_1627543299Sym1 instance SuppressUnusedWarnings Let_1627543471Scrutinee_1627543301Sym0 instance SuppressUnusedWarnings Let_1627543471Scrutinee_1627543301Sym1 instance SuppressUnusedWarnings Let_1627543446Scrutinee_1627543303Sym0 instance SuppressUnusedWarnings Let_1627543446Scrutinee_1627543303Sym1 instance SuppressUnusedWarnings Let_1627543421Scrutinee_1627543297Sym0 instance SuppressUnusedWarnings Let_1627543421Scrutinee_1627543297Sym1 instance SuppressUnusedWarnings Let_1627543395Scrutinee_1627543295Sym0 instance SuppressUnusedWarnings Let_1627543395Scrutinee_1627543295Sym1 instance SuppressUnusedWarnings Let_1627543384Scrutinee_1627543293Sym0 instance SuppressUnusedWarnings Let_1627543384Scrutinee_1627543293Sym1 instance SuppressUnusedWarnings MinSym0 instance SuppressUnusedWarnings MinSym1 instance SuppressUnusedWarnings MaxSym0 instance SuppressUnusedWarnings MaxSym1 instance SuppressUnusedWarnings (:<=$) instance SuppressUnusedWarnings (:<=$$) instance SuppressUnusedWarnings (:>$) instance SuppressUnusedWarnings (:>$$) instance SuppressUnusedWarnings (:>=$) instance SuppressUnusedWarnings (:>=$$) instance SuppressUnusedWarnings (:<$) instance SuppressUnusedWarnings (:<$$) instance SuppressUnusedWarnings CompareSym0 instance SuppressUnusedWarnings CompareSym1 -- | Provides promoted definitions related to type-level comparisons. module Data.Promotion.Prelude.Ord class (PEq (KProxy :: KProxy a_aDT0), kproxy_aDTv ~ KProxy) => POrd (kproxy_aDTv :: KProxy a_aDT0) where type family Compare (arg_aDTw :: a_aDT0) (arg_aDTx :: a_aDT0) :: Ordering type family (:<) (arg_aDTF :: a_aDT0) (arg_aDTG :: a_aDT0) :: Bool type family (:>=) (arg_aDTO :: a_aDT0) (arg_aDTP :: a_aDT0) :: Bool type family (:>) (arg_aDTX :: a_aDT0) (arg_aDTY :: a_aDT0) :: Bool type family (:<=) (arg_aDU6 :: a_aDT0) (arg_aDU7 :: a_aDT0) :: Bool type family Max (arg_aDUf :: a_aDT0) (arg_aDUg :: a_aDT0) :: a_aDT0 type family Min (arg_aDUo :: a_aDT0) (arg_aDUp :: a_aDT0) :: a_aDT0 type instance Compare (x_aDUG :: a_aDT0) (y_aDUH :: a_aDT0) = (Case_1627543393 x_aDUG y_aDUH (Let_1627543384Scrutinee_1627543293Sym2 x_aDUG y_aDUH) :: Ordering) type instance (:<) (x_aDVh :: a_aDT0) (y_aDVi :: a_aDT0) = (Case_1627543430 x_aDVh y_aDVi (Let_1627543421Scrutinee_1627543297Sym2 x_aDVh y_aDVi) :: Bool) type instance (:>=) (x_aDVG :: a_aDT0) (y_aDVH :: a_aDT0) = (Case_1627543455 x_aDVG y_aDVH (Let_1627543446Scrutinee_1627543303Sym2 x_aDVG y_aDVH) :: Bool) type instance (:>) (x_aDW5 :: a_aDT0) (y_aDW6 :: a_aDT0) = (Case_1627543480 x_aDW5 y_aDW6 (Let_1627543471Scrutinee_1627543301Sym2 x_aDW5 y_aDW6) :: Bool) type instance (:<=) (x_aDWu :: a_aDT0) (y_aDWv :: a_aDT0) = (Case_1627543505 x_aDWu y_aDWv (Let_1627543496Scrutinee_1627543299Sym2 x_aDWu y_aDWv) :: Bool) type instance Max (x_aDWT :: a_aDT0) (y_aDWU :: a_aDT0) = (Case_1627543530 x_aDWT y_aDWU (Let_1627543521Scrutinee_1627543305Sym2 x_aDWT y_aDWU) :: a_aDT0) type instance Min (x_aDXh :: a_aDT0) (y_aDXi :: a_aDT0) = (Case_1627543554 x_aDXh y_aDXi (Let_1627543545Scrutinee_1627543307Sym2 x_aDXh y_aDXi) :: a_aDT0) type LTSym0 = LT type EQSym0 = EQ type GTSym0 = GT data CompareSym0 (l_aDTA :: TyFun a_aDT0 (TyFun a_aDT0 Ordering -> *)) data CompareSym1 (l_aDTD :: a_aDT0) (l_aDTC :: TyFun a_aDT0 Ordering) type CompareSym2 (t_aDTy :: a_aDT0) (t_aDTz :: a_aDT0) = Compare t_aDTy t_aDTz data (:<$) (l_aDTJ :: TyFun a_aDT0 (TyFun a_aDT0 Bool -> *)) data (:<$$) (l_aDTM :: a_aDT0) (l_aDTL :: TyFun a_aDT0 Bool) type (:<$$$) (t_aDTH :: a_aDT0) (t_aDTI :: a_aDT0) = (:<) t_aDTH t_aDTI data (:<=$) (l_aDUa :: TyFun a_aDT0 (TyFun a_aDT0 Bool -> *)) data (:<=$$) (l_aDUd :: a_aDT0) (l_aDUc :: TyFun a_aDT0 Bool) type (:<=$$$) (t_aDU8 :: a_aDT0) (t_aDU9 :: a_aDT0) = (:<=) t_aDU8 t_aDU9 data (:>$) (l_aDU1 :: TyFun a_aDT0 (TyFun a_aDT0 Bool -> *)) data (:>$$) (l_aDU4 :: a_aDT0) (l_aDU3 :: TyFun a_aDT0 Bool) type (:>$$$) (t_aDTZ :: a_aDT0) (t_aDU0 :: a_aDT0) = (:>) t_aDTZ t_aDU0 data (:>=$) (l_aDTS :: TyFun a_aDT0 (TyFun a_aDT0 Bool -> *)) data (:>=$$) (l_aDTV :: a_aDT0) (l_aDTU :: TyFun a_aDT0 Bool) type (:>=$$$) (t_aDTQ :: a_aDT0) (t_aDTR :: a_aDT0) = (:>=) t_aDTQ t_aDTR data MaxSym0 (l_aDUj :: TyFun a_aDT0 (TyFun a_aDT0 a_aDT0 -> *)) data MaxSym1 (l_aDUm :: a_aDT0) (l_aDUl :: TyFun a_aDT0 a_aDT0) type MaxSym2 (t_aDUh :: a_aDT0) (t_aDUi :: a_aDT0) = Max t_aDUh t_aDUi data MinSym0 (l_aDUs :: TyFun a_aDT0 (TyFun a_aDT0 a_aDT0 -> *)) data MinSym1 (l_aDUv :: a_aDT0) (l_aDUu :: TyFun a_aDT0 a_aDT0) type MinSym2 (t_aDUq :: a_aDT0) (t_aDUr :: a_aDT0) = Min t_aDUq t_aDUr -- | Defines and exports singletons useful for the Nat and Symbol kinds. module Data.Singletons.TypeLits -- | (Kind) This is the kind of type-level natural numbers. data Nat :: * -- | (Kind) This is the kind of type-level symbols. data Symbol :: * -- | Kind-restricted synonym for Sing for Nats type SNat (x :: Nat) = Sing x -- | Kind-restricted synonym for Sing for Symbols type SSymbol (x :: Symbol) = Sing x -- | Given a singleton for Nat, call something requiring a -- KnownNat instance. withKnownNat :: Sing n -> (KnownNat n => r) -> r -- | Given a singleton for Symbol, call something requiring a -- KnownSymbol instance. withKnownSymbol :: Sing n -> (KnownSymbol n => r) -> r -- | The promotion of error data ErrorSym0 (t1 :: TyFun k1 k2) -- | The singleton for error sError :: Sing (str :: Symbol) -> a -- | This class gives the integer associated with a type-level natural. -- There are instances of the class for every concrete literal: 0, 1, 2, -- etc. -- -- Since: 4.7.0.0 class KnownNat (n :: Nat) -- | Since: 4.7.0.0 natVal :: KnownNat n => proxy n -> Integer -- | This class gives the integer associated with a type-level symbol. -- There are instances of the class for every concrete literal: "hello", -- etc. -- -- Since: 4.7.0.0 class KnownSymbol (n :: Symbol) -- | Since: 4.7.0.0 symbolVal :: KnownSymbol n => proxy n -> String type (:+) x y = x + y type (:-) x y = x - y type (:*) x y = x * y type (:^) x y = x ^ y data (:+$) l_aGTz data (:+$$) (l_aGTC :: Nat) l_aGTB data (:-$) l_aGTG data (:-$$) (l_aGTJ :: Nat) l_aGTI data (:*$) l_aGTN data (:*$$) (l_aGTQ :: Nat) l_aGTP data (:^$) l_aGTU data (:^$$) (l_aGTX :: Nat) l_aGTW instance POrd 'KProxy instance POrd 'KProxy instance SEq 'KProxy instance SEq 'KProxy instance PEq 'KProxy instance PEq 'KProxy instance SDecide 'KProxy instance SDecide 'KProxy instance SuppressUnusedWarnings (:^$) instance SuppressUnusedWarnings (:^$$) instance SuppressUnusedWarnings (:*$) instance SuppressUnusedWarnings (:*$$) instance SuppressUnusedWarnings (:-$) instance SuppressUnusedWarnings (:-$$) instance SuppressUnusedWarnings (:+$) instance SuppressUnusedWarnings (:+$$) instance SingKind 'KProxy instance KnownSymbol n => SingI n instance SingKind 'KProxy instance KnownNat n => SingI n -- | This module contains everything you need to derive your own singletons -- via Template Haskell. -- -- TURN ON -XScopedTypeVariables IN YOUR MODULE IF YOU WANT THIS -- TO WORK. module Data.Singletons.TH -- | Make promoted and singleton versions of all declarations given, -- retaining the original declarations. See -- http://www.cis.upenn.edu/~eir/packages/singletons/README.html -- for further explanation. singletons :: DsMonad q => q [Dec] -> q [Dec] -- | Make promoted and singleton versions of all declarations given, -- discarding the original declarations. singletonsOnly :: DsMonad q => q [Dec] -> q [Dec] -- | Generate singleton definitions from a type that is already defined. -- For example, the singletons package itself uses -- --
--   $(genSingletons [''Bool, ''Maybe, ''Either, ''[]])
--   
-- -- to generate singletons for Prelude types. genSingletons :: DsMonad q => [Name] -> q [Dec] -- | Promote every declaration given to the type level, retaining the -- originals. promote :: DsMonad q => q [Dec] -> q [Dec] -- | Promote each declaration, discarding the originals. promoteOnly :: DsMonad q => q [Dec] -> q [Dec] -- | Generate defunctionalization symbols for existing type family genDefunSymbols :: DsMonad q => [Name] -> q [Dec] -- | Generate promoted definitions from a type that is already defined. -- This is generally only useful with classes. genPromotions :: DsMonad q => [Name] -> q [Dec] -- | Produce instances for '(:==)' (type-level equality) from the given -- types promoteEqInstances :: DsMonad q => [Name] -> q [Dec] -- | Produce an instance for '(:==)' (type-level equality) from the given -- type promoteEqInstance :: DsMonad q => Name -> q [Dec] -- | Create instances of SEq and type-level '(:==)' for each type -- in the list singEqInstances :: DsMonad q => [Name] -> q [Dec] -- | Create instance of SEq and type-level '(:==)' for the given -- type singEqInstance :: DsMonad q => Name -> q [Dec] -- | Create instances of SEq (only -- no instance for '(:==)', -- which SEq generally relies on) for each type in the list singEqInstancesOnly :: DsMonad q => [Name] -> q [Dec] -- | Create instances of SEq (only -- no instance for '(:==)', -- which SEq generally relies on) for the given type singEqInstanceOnly :: DsMonad q => Name -> q [Dec] -- | Create instances of SDecide for each type in the list. -- -- Note that, due to a bug in GHC 7.6.3 (and lower) optimizing instances -- for SDecide can make GHC hang. You may want to put {--} in -- your file. singDecideInstances :: DsMonad q => [Name] -> q [Dec] -- | Create instance of SDecide for the given type. -- -- Note that, due to a bug in GHC 7.6.3 (and lower) optimizing instances -- for SDecide can make GHC hang. You may want to put {--} in -- your file. singDecideInstance :: DsMonad q => Name -> q [Dec] -- | Produce instances for Compare from the given types promoteOrdInstances :: DsMonad q => [Name] -> q [Dec] -- | Produce an instance for Compare from the given type promoteOrdInstance :: DsMonad q => Name -> q [Dec] -- | Produce instances for MinBound and MaxBound from the -- given types promoteBoundedInstances :: DsMonad q => [Name] -> q [Dec] -- | Produce an instance for MinBound and MaxBound from -- the given type promoteBoundedInstance :: DsMonad q => Name -> q [Dec] -- | The function cases generates a case expression where each -- right-hand side is identical. This may be useful if the type-checker -- requires knowledge of which constructor is used to satisfy equality or -- type-class constraints, but where each constructor is treated the -- same. cases :: DsMonad q => Name -> q Exp -> q Exp -> q Exp -- | The singleton kind-indexed data family. -- | The promoted analogue of Eq. If you supply no definition for -- '(:==)' under GHC 7.8+, then it defaults to a use of '(==)', from -- Data.Type.Equality. class kproxy ~ KProxy => PEq (kproxy :: KProxy a) where type family (:==) (x :: a) (y :: a) :: Bool type family (:/=) (x :: a) (y :: a) :: Bool type instance (:==) (x :: a) (y :: a) = x == y type instance (:/=) (x :: a) (y :: a) = Not (x :== y) -- | Type-level If. If True a b ==> a; If -- False a b ==> b -- | Conditional over singletons sIf :: Sing a -> Sing b -> Sing c -> Sing (If a b c) -- | The singleton analogue of Eq. Unlike the definition for -- Eq, it is required that instances define a body for '(%:==)'. -- You may also supply a body for '(%:/=)'. class kparam ~ KProxy => SEq (kparam :: KProxy k) where a %:/= b = sNot (a %:== b) (%:==) :: SEq kparam => Sing a -> Sing b -> Sing (a :== b) (%:/=) :: SEq kparam => Sing a -> Sing b -> Sing (a :/= b) class (PEq (KProxy :: KProxy a_aDT0), kproxy_aDTv ~ KProxy) => POrd (kproxy_aDTv :: KProxy a_aDT0) where type family Compare (arg_aDTw :: a_aDT0) (arg_aDTx :: a_aDT0) :: Ordering type family (:<) (arg_aDTF :: a_aDT0) (arg_aDTG :: a_aDT0) :: Bool type family (:>=) (arg_aDTO :: a_aDT0) (arg_aDTP :: a_aDT0) :: Bool type family (:>) (arg_aDTX :: a_aDT0) (arg_aDTY :: a_aDT0) :: Bool type family (:<=) (arg_aDU6 :: a_aDT0) (arg_aDU7 :: a_aDT0) :: Bool type family Max (arg_aDUf :: a_aDT0) (arg_aDUg :: a_aDT0) :: a_aDT0 type family Min (arg_aDUo :: a_aDT0) (arg_aDUp :: a_aDT0) :: a_aDT0 type instance Compare (x_aDUG :: a_aDT0) (y_aDUH :: a_aDT0) = (Case_1627543393 x_aDUG y_aDUH (Let_1627543384Scrutinee_1627543293Sym2 x_aDUG y_aDUH) :: Ordering) type instance (:<) (x_aDVh :: a_aDT0) (y_aDVi :: a_aDT0) = (Case_1627543430 x_aDVh y_aDVi (Let_1627543421Scrutinee_1627543297Sym2 x_aDVh y_aDVi) :: Bool) type instance (:>=) (x_aDVG :: a_aDT0) (y_aDVH :: a_aDT0) = (Case_1627543455 x_aDVG y_aDVH (Let_1627543446Scrutinee_1627543303Sym2 x_aDVG y_aDVH) :: Bool) type instance (:>) (x_aDW5 :: a_aDT0) (y_aDW6 :: a_aDT0) = (Case_1627543480 x_aDW5 y_aDW6 (Let_1627543471Scrutinee_1627543301Sym2 x_aDW5 y_aDW6) :: Bool) type instance (:<=) (x_aDWu :: a_aDT0) (y_aDWv :: a_aDT0) = (Case_1627543505 x_aDWu y_aDWv (Let_1627543496Scrutinee_1627543299Sym2 x_aDWu y_aDWv) :: Bool) type instance Max (x_aDWT :: a_aDT0) (y_aDWU :: a_aDT0) = (Case_1627543530 x_aDWT y_aDWU (Let_1627543521Scrutinee_1627543305Sym2 x_aDWT y_aDWU) :: a_aDT0) type instance Min (x_aDXh :: a_aDT0) (y_aDXi :: a_aDT0) = (Case_1627543554 x_aDXh y_aDXi (Let_1627543545Scrutinee_1627543307Sym2 x_aDXh y_aDXi) :: a_aDT0) -- | The type constructor Any is type to which you can unsafely -- coerce any lifted type, and back. -- -- -- -- It's also used to instantiate un-constrained type variables after type -- checking. For example, length has type -- --
--   length :: forall a. [a] -> Int
--   
-- -- and the list datacon for the empty list has type -- --
--   [] :: forall a. [a]
--   
-- -- In order to compose these two terms as length [] a type -- application is required, but there is no constraint on the choice. In -- this situation GHC uses Any: -- --
--   length (Any *) ([] (Any *))
--   
-- -- Note that Any is kind polymorphic, and takes a kind -- k as its first argument. The kind of Any is thus -- forall k. k -> k. data Any :: k -- | Members of the SDecide "kind" class support decidable equality. -- Instances of this class are generated alongside singleton definitions -- for datatypes that derive an Eq instance. class kparam ~ KProxy => SDecide (kparam :: KProxy k) (%~) :: SDecide kparam => Sing a -> Sing b -> Decision (a :~: b) -- | Propositional equality. If a :~: b is inhabited by some -- terminating value, then the type a is the same as the type -- b. To use this equality in practice, pattern-match on the -- a :~: b to get out the Refl constructor; in the body -- of the pattern-match, the compiler knows that a ~ b. -- -- Since: 4.7.0.0 data (:~:) (a :: k) (b :: k) :: k -> k -> * Refl :: (:~:) k a1 a1 -- | A logically uninhabited data type. data Void -- | Because we can never create a value of type Void, a function -- that type-checks at a -> Void shows that objects of type -- a can never exist. Thus, we say that a is -- Refuted type Refuted a = a -> Void -- | A Decision about a type a is either a proof of -- existence or a proof that a cannot exist. data Decision a -- | Witness for a Proved :: a -> Decision a -- | Proof that no a exists Disproved :: (Refuted a) -> Decision a -- | A concrete, poly-kinded proxy type data Proxy (t :: k) :: k -> * Proxy :: Proxy -- | A concrete, promotable proxy type, for use at the kind level There are -- no instances for this because it is intended at the kind level only data KProxy t :: * -> * KProxy :: KProxy t -- | An existentially-quantified singleton. This type is useful when -- you want a singleton type, but there is no way of knowing, at -- compile-time, what the type index will be. To make use of this type, -- you will generally have to use a pattern-match: -- --
--   foo :: Bool -> ...
--   foo b = case toSing b of
--             SomeSing sb -> {- fancy dependently-typed code with sb -}
--   
-- -- An example like the one above may be easier to write using -- withSomeSing. data SomeSing (kproxy :: KProxy k) SomeSing :: Sing (a :: k) -> SomeSing (KProxy :: KProxy k) -- | The promotion of error data ErrorSym0 (t1 :: TyFun k1 k2) type TrueSym0 = True type FalseSym0 = False type LTSym0 = LT type EQSym0 = EQ type GTSym0 = GT type Tuple0Sym0 = '() data Tuple2Sym0 (l_at9E :: TyFun a_12 (TyFun b_13 (a_12, b_13) -> *)) data Tuple2Sym1 (l_at9H :: a_12) (l_at9G :: TyFun b_13 (a_12, b_13)) type Tuple2Sym2 (t_at9C :: a_12) (t_at9D :: b_13) = '(t_at9C, t_at9D) data Tuple3Sym0 (l_at9Y :: TyFun a_12 (TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *) -> *)) data Tuple3Sym1 (l_ata1 :: a_12) (l_ata0 :: TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *)) data Tuple3Sym2 (l_ata4 :: a_12) (l_ata5 :: b_13) (l_ata3 :: TyFun c_14 (a_12, b_13, c_14)) type Tuple3Sym3 (t_at9V :: a_12) (t_at9W :: b_13) (t_at9X :: c_14) = '(t_at9V, t_at9W, t_at9X) data Tuple4Sym0 (l_atas :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *) -> *)) data Tuple4Sym1 (l_atav :: a_12) (l_atau :: TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *)) data Tuple4Sym2 (l_atay :: a_12) (l_ataz :: b_13) (l_atax :: TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *)) data Tuple4Sym3 (l_ataC :: a_12) (l_ataD :: b_13) (l_ataE :: c_14) (l_ataB :: TyFun d_15 (a_12, b_13, c_14, d_15)) type Tuple4Sym4 (t_atao :: a_12) (t_atap :: b_13) (t_ataq :: c_14) (t_atar :: d_15) = '(t_atao, t_atap, t_ataq, t_atar) data Tuple5Sym0 (l_atb7 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *) -> *) -> *)) data Tuple5Sym1 (l_atba :: a_12) (l_atb9 :: TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *) -> *)) data Tuple5Sym2 (l_atbd :: a_12) (l_atbe :: b_13) (l_atbc :: TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *)) data Tuple5Sym3 (l_atbh :: a_12) (l_atbi :: b_13) (l_atbj :: c_14) (l_atbg :: TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *)) data Tuple5Sym4 (l_atbm :: a_12) (l_atbn :: b_13) (l_atbo :: c_14) (l_atbp :: d_15) (l_atbl :: TyFun e_16 (a_12, b_13, c_14, d_15, e_16)) type Tuple5Sym5 (t_atb2 :: a_12) (t_atb3 :: b_13) (t_atb4 :: c_14) (t_atb5 :: d_15) (t_atb6 :: e_16) = '(t_atb2, t_atb3, t_atb4, t_atb5, t_atb6) data Tuple6Sym0 (l_atbY :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *) -> *) -> *) -> *)) data Tuple6Sym1 (l_atc1 :: a_12) (l_atc0 :: TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *) -> *) -> *)) data Tuple6Sym2 (l_atc4 :: a_12) (l_atc5 :: b_13) (l_atc3 :: TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *) -> *)) data Tuple6Sym3 (l_atc8 :: a_12) (l_atc9 :: b_13) (l_atca :: c_14) (l_atc7 :: TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *)) data Tuple6Sym4 (l_atcd :: a_12) (l_atce :: b_13) (l_atcf :: c_14) (l_atcg :: d_15) (l_atcc :: TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *)) data Tuple6Sym5 (l_atcj :: a_12) (l_atck :: b_13) (l_atcl :: c_14) (l_atcm :: d_15) (l_atcn :: e_16) (l_atci :: TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17)) type Tuple6Sym6 (t_atbS :: a_12) (t_atbT :: b_13) (t_atbU :: c_14) (t_atbV :: d_15) (t_atbW :: e_16) (t_atbX :: f_17) = '(t_atbS, t_atbT, t_atbU, t_atbV, t_atbW, t_atbX) data Tuple7Sym0 (l_atd2 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *) -> *) -> *) -> *)) data Tuple7Sym1 (l_atd5 :: a_12) (l_atd4 :: TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *) -> *) -> *)) data Tuple7Sym2 (l_atd8 :: a_12) (l_atd9 :: b_13) (l_atd7 :: TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *) -> *)) data Tuple7Sym3 (l_atdc :: a_12) (l_atdd :: b_13) (l_atde :: c_14) (l_atdb :: TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *)) data Tuple7Sym4 (l_atdh :: a_12) (l_atdi :: b_13) (l_atdj :: c_14) (l_atdk :: d_15) (l_atdg :: TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *)) data Tuple7Sym5 (l_atdn :: a_12) (l_atdo :: b_13) (l_atdp :: c_14) (l_atdq :: d_15) (l_atdr :: e_16) (l_atdm :: TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *)) data Tuple7Sym6 (l_atdu :: a_12) (l_atdv :: b_13) (l_atdw :: c_14) (l_atdx :: d_15) (l_atdy :: e_16) (l_atdz :: f_17) (l_atdt :: TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18)) type Tuple7Sym7 (t_atcV :: a_12) (t_atcW :: b_13) (t_atcX :: c_14) (t_atcY :: d_15) (t_atcZ :: e_16) (t_atd0 :: f_17) (t_atd1 :: g_18) = '(t_atcV, t_atcW, t_atcX, t_atcY, t_atcZ, t_atd0, t_atd1) -- | This class (which users should never see) is to be instantiated in -- order to use an otherwise-unused data constructor, such as the -- "kind-inference" data constructor for defunctionalization symbols. class SuppressUnusedWarnings (t :: k) suppressUnusedWarnings :: SuppressUnusedWarnings t => Proxy t -> () -- | Implements singletonized versions of functions from GHC.Base -- module. -- -- Because many of these definitions are produced by Template Haskell, it -- is not possible to create proper Haddock documentation. Please look up -- the corresponding operation in Data.Tuple. Also, please -- excuse the apparent repeated variable names. This is due to an -- interaction between Template Haskell and Haddock. module Data.Singletons.Prelude.Base sFoldr :: Sing t_aId5 -> Sing t_aId6 -> Sing t_aId7 -> Sing (Apply (Apply (Apply FoldrSym0 t_aId5) t_aId6) t_aId7) sMap :: Sing t_aId3 -> Sing t_aId4 -> Sing (Apply (Apply MapSym0 t_aId3) t_aId4) (%:++) :: Sing t_aId1 -> Sing t_aId2 -> Sing (Apply (Apply (:++$) t_aId1) t_aId2) type Otherwise = (TrueSym0 :: Bool) sOtherwise :: Sing OtherwiseSym0 sId :: Sing t_aId0 -> Sing (Apply IdSym0 t_aId0) sConst :: Sing t_aIcW -> Sing t_aIcX -> Sing (Apply (Apply ConstSym0 t_aIcW) t_aIcX) (%:.) :: Sing t_aIcT -> Sing t_aIcU -> Sing t_aIcV -> Sing (Apply (Apply (Apply (:.$) t_aIcT) t_aIcU) t_aIcV) (%$) :: Sing f -> Sing x -> Sing ((($$) @@ f) @@ x) (%$!) :: Sing f -> Sing x -> Sing ((($!$) @@ f) @@ x) sFlip :: Sing t_aIcQ -> Sing t_aIcR -> Sing t_aIcS -> Sing (Apply (Apply (Apply FlipSym0 t_aIcQ) t_aIcR) t_aIcS) sAsTypeOf :: Sing t_aIcY -> Sing t_aIcZ -> Sing (Apply (Apply AsTypeOfSym0 t_aIcY) t_aIcZ) sSeq :: Sing t_aIcO -> Sing t_aIcP -> Sing (Apply (Apply SeqSym0 t_aIcO) t_aIcP) data FoldrSym0 (l_aIca :: TyFun (TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (TyFun b_aI9r (TyFun [a_aI9q] b_aI9r -> *) -> *)) data FoldrSym1 (l_aIcd :: TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (l_aIcc :: TyFun b_aI9r (TyFun [a_aI9q] b_aI9r -> *)) data FoldrSym2 (l_aIcg :: TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (l_aIch :: b_aI9r) (l_aIcf :: TyFun [a_aI9q] b_aI9r) type FoldrSym3 (t_aIc7 :: TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (t_aIc8 :: b_aI9r) (t_aIc9 :: [a_aI9q]) = Foldr t_aIc7 t_aIc8 t_aIc9 data MapSym0 (l_aIbW :: TyFun (TyFun a_aI9x b_aI9y -> *) (TyFun [a_aI9x] [b_aI9y] -> *)) data MapSym1 (l_aIbZ :: TyFun a_aI9x b_aI9y -> *) (l_aIbY :: TyFun [a_aI9x] [b_aI9y]) type MapSym2 (t_aIbU :: TyFun a_aI9x b_aI9y -> *) (t_aIbV :: [a_aI9x]) = Map t_aIbU t_aIbV data (:++$) (l_aIbJ :: TyFun [a_aI9C] (TyFun [a_aI9C] [a_aI9C] -> *)) data (:++$$) (l_aIbM :: [a_aI9C]) (l_aIbL :: TyFun [a_aI9C] [a_aI9C]) type OtherwiseSym0 = Otherwise data IdSym0 (l_aIbD :: TyFun a_aI9H a_aI9H) type IdSym1 (t_aIbC :: a_aI9H) = Id t_aIbC data ConstSym0 (l_aIbe :: TyFun a_aI9J (TyFun b_aI9K a_aI9J -> *)) data ConstSym1 (l_aIbh :: a_aI9J) (l_aIbg :: TyFun b_aI9K a_aI9J) type ConstSym2 (t_aIbc :: a_aI9J) (t_aIbd :: b_aI9K) = Const t_aIbc t_aIbd data (:.$) (l_aIay :: TyFun (TyFun b_aI9M c_aI9N -> *) (TyFun (TyFun a_aI9O b_aI9M -> *) (TyFun a_aI9O c_aI9N -> *) -> *)) data (:.$$) (l_aIaB :: TyFun b_aI9M c_aI9N -> *) (l_aIaA :: TyFun (TyFun a_aI9O b_aI9M -> *) (TyFun a_aI9O c_aI9N -> *)) data (:.$$$) (l_aIaE :: TyFun b_aI9M c_aI9N -> *) (l_aIaF :: TyFun a_aI9O b_aI9M -> *) (l_aIaD :: TyFun a_aI9O c_aI9N) data ($$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> * data ($$$) :: (TyFun a b -> *) -> TyFun a b -> * type ($$$$) a b = ($) a b data ($!$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> * data ($!$$) :: (TyFun a b -> *) -> TyFun a b -> * type ($!$$$) a b = ($!) a b data FlipSym0 (l_aIag :: TyFun (TyFun a_aI9S (TyFun b_aI9T c_aI9U -> *) -> *) (TyFun b_aI9T (TyFun a_aI9S c_aI9U -> *) -> *)) data FlipSym1 (l_aIaj :: TyFun a_aI9S (TyFun b_aI9T c_aI9U -> *) -> *) (l_aIai :: TyFun b_aI9T (TyFun a_aI9S c_aI9U -> *)) data FlipSym2 (l_aIam :: TyFun a_aI9S (TyFun b_aI9T c_aI9U -> *) -> *) (l_aIan :: b_aI9T) (l_aIal :: TyFun a_aI9S c_aI9U) data AsTypeOfSym0 (l_aIbt :: TyFun a_aI9Y (TyFun a_aI9Y a_aI9Y -> *)) data AsTypeOfSym1 (l_aIbw :: a_aI9Y) (l_aIbv :: TyFun a_aI9Y a_aI9Y) type AsTypeOfSym2 (t_aIbr :: a_aI9Y) (t_aIbs :: a_aI9Y) = AsTypeOf t_aIbr t_aIbs data SeqSym0 (l_aIa4 :: TyFun a_aI9Z (TyFun b_aIa0 b_aIa0 -> *)) data SeqSym1 (l_aIa7 :: a_aI9Z) (l_aIa6 :: TyFun b_aIa0 b_aIa0) type SeqSym2 (t_aIa2 :: a_aI9Z) (t_aIa3 :: b_aIa0) = Seq t_aIa2 t_aIa3 instance SuppressUnusedWarnings FoldrSym0 instance SuppressUnusedWarnings FoldrSym1 instance SuppressUnusedWarnings FoldrSym2 instance SuppressUnusedWarnings MapSym0 instance SuppressUnusedWarnings MapSym1 instance SuppressUnusedWarnings (:++$) instance SuppressUnusedWarnings (:++$$) instance SuppressUnusedWarnings IdSym0 instance SuppressUnusedWarnings AsTypeOfSym0 instance SuppressUnusedWarnings AsTypeOfSym1 instance SuppressUnusedWarnings ConstSym0 instance SuppressUnusedWarnings ConstSym1 instance SuppressUnusedWarnings (:.$) instance SuppressUnusedWarnings (:.$$) instance SuppressUnusedWarnings (:.$$$) instance SuppressUnusedWarnings FlipSym0 instance SuppressUnusedWarnings FlipSym1 instance SuppressUnusedWarnings FlipSym2 instance SuppressUnusedWarnings SeqSym0 instance SuppressUnusedWarnings SeqSym1 instance SuppressUnusedWarnings Let_1627559859GoSym0 instance SuppressUnusedWarnings Let_1627559859GoSym1 instance SuppressUnusedWarnings Let_1627559859GoSym2 instance SuppressUnusedWarnings Let_1627559859GoSym3 instance SuppressUnusedWarnings Lambda_1627559759Sym0 instance SuppressUnusedWarnings Lambda_1627559759Sym1 instance SuppressUnusedWarnings Lambda_1627559759Sym2 instance SuppressUnusedWarnings Lambda_1627559759Sym3 -- | Defines functions and datatypes relating to the singleton for -- Either, including a singletons version of all the definitions -- in Data.Either. -- -- Because many of these definitions are produced by Template Haskell, it -- is not possible to create proper Haddock documentation. Please look up -- the corresponding operation in Data.Either. Also, please -- excuse the apparent repeated variable names. This is due to an -- interaction between Template Haskell and Haddock. module Data.Singletons.Prelude.Either -- | The singleton kind-indexed data family. type SEither (z_at9o :: Either a_a8tL b_a8tM) = Sing z_at9o either_ :: (a_aL1f -> c_aL1g) -> (b_aL1h -> c_aL1g) -> Either a_aL1f b_aL1h -> c_aL1g sEither_ :: Sing t_aL1H -> Sing t_aL1I -> Sing t_aL1J -> Sing (Apply (Apply (Apply Either_Sym0 t_aL1H) t_aL1I) t_aL1J) sLefts :: Sing t_aLp3 -> Sing (Apply LeftsSym0 t_aLp3) sRights :: Sing t_aLp2 -> Sing (Apply RightsSym0 t_aLp2) sPartitionEithers :: Sing t_aLp1 -> Sing (Apply PartitionEithersSym0 t_aLp1) sIsLeft :: Sing t_aLp0 -> Sing (Apply IsLeftSym0 t_aLp0) sIsRight :: Sing t_aLoZ -> Sing (Apply IsRightSym0 t_aLoZ) data LeftSym0 (l_at9j :: TyFun a_a8tL (Either a_a8tL b_a8tM)) type LeftSym1 (t_at9i :: a_a8tL) = Left t_at9i data RightSym0 (l_at9m :: TyFun b_a8tM (Either a_a8tL b_a8tM)) type RightSym1 (t_at9l :: b_a8tM) = Right t_at9l data Either_Sym0 (l_aL1p :: TyFun (TyFun a_aL1f c_aL1g -> *) (TyFun (TyFun b_aL1h c_aL1g -> *) (TyFun (Either a_aL1f b_aL1h) c_aL1g -> *) -> *)) data Either_Sym1 (l_aL1s :: TyFun a_aL1f c_aL1g -> *) (l_aL1r :: TyFun (TyFun b_aL1h c_aL1g -> *) (TyFun (Either a_aL1f b_aL1h) c_aL1g -> *)) data Either_Sym2 (l_aL1v :: TyFun a_aL1f c_aL1g -> *) (l_aL1w :: TyFun b_aL1h c_aL1g -> *) (l_aL1u :: TyFun (Either a_aL1f b_aL1h) c_aL1g) type Either_Sym3 (t_aL1m :: TyFun a_aL1f c_aL1g -> *) (t_aL1n :: TyFun b_aL1h c_aL1g -> *) (t_aL1o :: Either a_aL1f b_aL1h) = Either_ t_aL1m t_aL1n t_aL1o data LeftsSym0 (l_aLoS :: TyFun [Either a_aLns b_aLnt] [a_aLns]) type LeftsSym1 (t_aLoR :: [Either a_aLns b_aLnt]) = Lefts t_aLoR data RightsSym0 (l_aLoK :: TyFun [Either a_aLnx b_aLny] [b_aLny]) type RightsSym1 (t_aLoJ :: [Either a_aLnx b_aLny]) = Rights t_aLoJ data IsLeftSym0 (l_aLnX :: TyFun (Either a_aLnM b_aLnN) Bool) type IsLeftSym1 (t_aLnW :: Either a_aLnM b_aLnN) = IsLeft t_aLnW data IsRightSym0 (l_aLnR :: TyFun (Either a_aLnO b_aLnP) Bool) type IsRightSym1 (t_aLnQ :: Either a_aLnO b_aLnP) = IsRight t_aLnQ instance SuppressUnusedWarnings LeftsSym0 instance SuppressUnusedWarnings RightsSym0 instance SuppressUnusedWarnings PartitionEithersSym0 instance SuppressUnusedWarnings IsLeftSym0 instance SuppressUnusedWarnings IsRightSym0 instance SuppressUnusedWarnings Let_1627572117LeftSym0 instance SuppressUnusedWarnings Let_1627572117LeftSym1 instance SuppressUnusedWarnings Let_1627572117LeftSym2 instance SuppressUnusedWarnings Let_1627572117RightSym0 instance SuppressUnusedWarnings Let_1627572117RightSym1 instance SuppressUnusedWarnings Let_1627572117RightSym2 instance SuppressUnusedWarnings Either_Sym0 instance SuppressUnusedWarnings Either_Sym1 instance SuppressUnusedWarnings Either_Sym2 -- | Defines promoted functions and datatypes relating to Either, -- including a promoted version of all the definitions in -- Data.Either. -- -- Because many of these definitions are produced by Template Haskell, it -- is not possible to create proper Haddock documentation. Please look up -- the corresponding operation in Data.Either. Also, please -- excuse the apparent repeated variable names. This is due to an -- interaction between Template Haskell and Haddock. module Data.Promotion.Prelude.Either either_ :: (a_aL1f -> c_aL1g) -> (b_aL1h -> c_aL1g) -> Either a_aL1f b_aL1h -> c_aL1g data LeftSym0 (l_at9j :: TyFun a_a8tL (Either a_a8tL b_a8tM)) type LeftSym1 (t_at9i :: a_a8tL) = Left t_at9i data RightSym0 (l_at9m :: TyFun b_a8tM (Either a_a8tL b_a8tM)) type RightSym1 (t_at9l :: b_a8tM) = Right t_at9l data Either_Sym0 (l_aL1p :: TyFun (TyFun a_aL1f c_aL1g -> *) (TyFun (TyFun b_aL1h c_aL1g -> *) (TyFun (Either a_aL1f b_aL1h) c_aL1g -> *) -> *)) data Either_Sym1 (l_aL1s :: TyFun a_aL1f c_aL1g -> *) (l_aL1r :: TyFun (TyFun b_aL1h c_aL1g -> *) (TyFun (Either a_aL1f b_aL1h) c_aL1g -> *)) data Either_Sym2 (l_aL1v :: TyFun a_aL1f c_aL1g -> *) (l_aL1w :: TyFun b_aL1h c_aL1g -> *) (l_aL1u :: TyFun (Either a_aL1f b_aL1h) c_aL1g) type Either_Sym3 (t_aL1m :: TyFun a_aL1f c_aL1g -> *) (t_aL1n :: TyFun b_aL1h c_aL1g -> *) (t_aL1o :: Either a_aL1f b_aL1h) = Either_ t_aL1m t_aL1n t_aL1o data LeftsSym0 (l_aLoS :: TyFun [Either a_aLns b_aLnt] [a_aLns]) type LeftsSym1 (t_aLoR :: [Either a_aLns b_aLnt]) = Lefts t_aLoR data RightsSym0 (l_aLoK :: TyFun [Either a_aLnx b_aLny] [b_aLny]) type RightsSym1 (t_aLoJ :: [Either a_aLnx b_aLny]) = Rights t_aLoJ data IsLeftSym0 (l_aLnX :: TyFun (Either a_aLnM b_aLnN) Bool) type IsLeftSym1 (t_aLnW :: Either a_aLnM b_aLnN) = IsLeft t_aLnW data IsRightSym0 (l_aLnR :: TyFun (Either a_aLnO b_aLnP) Bool) type IsRightSym1 (t_aLnQ :: Either a_aLnO b_aLnP) = IsRight t_aLnQ -- | Defines functions and datatypes relating to the singleton for tuples, -- including a singletons version of all the definitions in -- Data.Tuple. -- -- Because many of these definitions are produced by Template Haskell, it -- is not possible to create proper Haddock documentation. Please look up -- the corresponding operation in Data.Tuple. Also, please -- excuse the apparent repeated variable names. This is due to an -- interaction between Template Haskell and Haddock. module Data.Singletons.Prelude.Tuple -- | The singleton kind-indexed data family. type STuple0 (z_at9z :: ()) = Sing z_at9z type STuple2 (z_at9J :: (a_12, b_13)) = Sing z_at9J type STuple3 (z_ata7 :: (a_12, b_13, c_14)) = Sing z_ata7 type STuple4 (z_ataG :: (a_12, b_13, c_14, d_15)) = Sing z_ataG type STuple5 (z_atbr :: (a_12, b_13, c_14, d_15, e_16)) = Sing z_atbr type STuple6 (z_atcp :: (a_12, b_13, c_14, d_15, e_16, f_17)) = Sing z_atcp type STuple7 (z_atdB :: (a_12, b_13, c_14, d_15, e_16, f_17, g_18)) = Sing z_atdB sFst :: Sing t_aNL6 -> Sing (Apply FstSym0 t_aNL6) sSnd :: Sing t_aNL5 -> Sing (Apply SndSym0 t_aNL5) sCurry :: Sing t_aNL2 -> Sing t_aNL3 -> Sing t_aNL4 -> Sing (Apply (Apply (Apply CurrySym0 t_aNL2) t_aNL3) t_aNL4) sUncurry :: Sing t_aNL7 -> Sing t_aNL8 -> Sing (Apply (Apply UncurrySym0 t_aNL7) t_aNL8) sSwap :: Sing t_aNL1 -> Sing (Apply SwapSym0 t_aNL1) type Tuple0Sym0 = '() data Tuple2Sym0 (l_at9E :: TyFun a_12 (TyFun b_13 (a_12, b_13) -> *)) data Tuple2Sym1 (l_at9H :: a_12) (l_at9G :: TyFun b_13 (a_12, b_13)) type Tuple2Sym2 (t_at9C :: a_12) (t_at9D :: b_13) = '(t_at9C, t_at9D) data Tuple3Sym0 (l_at9Y :: TyFun a_12 (TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *) -> *)) data Tuple3Sym1 (l_ata1 :: a_12) (l_ata0 :: TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *)) data Tuple3Sym2 (l_ata4 :: a_12) (l_ata5 :: b_13) (l_ata3 :: TyFun c_14 (a_12, b_13, c_14)) type Tuple3Sym3 (t_at9V :: a_12) (t_at9W :: b_13) (t_at9X :: c_14) = '(t_at9V, t_at9W, t_at9X) data Tuple4Sym0 (l_atas :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *) -> *)) data Tuple4Sym1 (l_atav :: a_12) (l_atau :: TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *)) data Tuple4Sym2 (l_atay :: a_12) (l_ataz :: b_13) (l_atax :: TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *)) data Tuple4Sym3 (l_ataC :: a_12) (l_ataD :: b_13) (l_ataE :: c_14) (l_ataB :: TyFun d_15 (a_12, b_13, c_14, d_15)) type Tuple4Sym4 (t_atao :: a_12) (t_atap :: b_13) (t_ataq :: c_14) (t_atar :: d_15) = '(t_atao, t_atap, t_ataq, t_atar) data Tuple5Sym0 (l_atb7 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *) -> *) -> *)) data Tuple5Sym1 (l_atba :: a_12) (l_atb9 :: TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *) -> *)) data Tuple5Sym2 (l_atbd :: a_12) (l_atbe :: b_13) (l_atbc :: TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *)) data Tuple5Sym3 (l_atbh :: a_12) (l_atbi :: b_13) (l_atbj :: c_14) (l_atbg :: TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *)) data Tuple5Sym4 (l_atbm :: a_12) (l_atbn :: b_13) (l_atbo :: c_14) (l_atbp :: d_15) (l_atbl :: TyFun e_16 (a_12, b_13, c_14, d_15, e_16)) type Tuple5Sym5 (t_atb2 :: a_12) (t_atb3 :: b_13) (t_atb4 :: c_14) (t_atb5 :: d_15) (t_atb6 :: e_16) = '(t_atb2, t_atb3, t_atb4, t_atb5, t_atb6) data Tuple6Sym0 (l_atbY :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *) -> *) -> *) -> *)) data Tuple6Sym1 (l_atc1 :: a_12) (l_atc0 :: TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *) -> *) -> *)) data Tuple6Sym2 (l_atc4 :: a_12) (l_atc5 :: b_13) (l_atc3 :: TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *) -> *)) data Tuple6Sym3 (l_atc8 :: a_12) (l_atc9 :: b_13) (l_atca :: c_14) (l_atc7 :: TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *)) data Tuple6Sym4 (l_atcd :: a_12) (l_atce :: b_13) (l_atcf :: c_14) (l_atcg :: d_15) (l_atcc :: TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *)) data Tuple6Sym5 (l_atcj :: a_12) (l_atck :: b_13) (l_atcl :: c_14) (l_atcm :: d_15) (l_atcn :: e_16) (l_atci :: TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17)) type Tuple6Sym6 (t_atbS :: a_12) (t_atbT :: b_13) (t_atbU :: c_14) (t_atbV :: d_15) (t_atbW :: e_16) (t_atbX :: f_17) = '(t_atbS, t_atbT, t_atbU, t_atbV, t_atbW, t_atbX) data Tuple7Sym0 (l_atd2 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *) -> *) -> *) -> *)) data Tuple7Sym1 (l_atd5 :: a_12) (l_atd4 :: TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *) -> *) -> *)) data Tuple7Sym2 (l_atd8 :: a_12) (l_atd9 :: b_13) (l_atd7 :: TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *) -> *)) data Tuple7Sym3 (l_atdc :: a_12) (l_atdd :: b_13) (l_atde :: c_14) (l_atdb :: TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *)) data Tuple7Sym4 (l_atdh :: a_12) (l_atdi :: b_13) (l_atdj :: c_14) (l_atdk :: d_15) (l_atdg :: TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *)) data Tuple7Sym5 (l_atdn :: a_12) (l_atdo :: b_13) (l_atdp :: c_14) (l_atdq :: d_15) (l_atdr :: e_16) (l_atdm :: TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *)) data Tuple7Sym6 (l_atdu :: a_12) (l_atdv :: b_13) (l_atdw :: c_14) (l_atdx :: d_15) (l_atdy :: e_16) (l_atdz :: f_17) (l_atdt :: TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18)) type Tuple7Sym7 (t_atcV :: a_12) (t_atcW :: b_13) (t_atcX :: c_14) (t_atcY :: d_15) (t_atcZ :: e_16) (t_atd0 :: f_17) (t_atd1 :: g_18) = '(t_atcV, t_atcW, t_atcX, t_atcY, t_atcZ, t_atd0, t_atd1) data FstSym0 (l_aNKL :: TyFun (a_aNJV, b_aNJW) a_aNJV) type FstSym1 (t_aNKK :: (a_aNJV, b_aNJW)) = Fst t_aNKK data SndSym0 (l_aNKF :: TyFun (a_aNJY, b_aNJZ) b_aNJZ) type SndSym1 (t_aNKE :: (a_aNJY, b_aNJZ)) = Snd t_aNKE data CurrySym0 (l_aNKp :: TyFun (TyFun (a_aNK1, b_aNK2) c_aNK3 -> *) (TyFun a_aNK1 (TyFun b_aNK2 c_aNK3 -> *) -> *)) data CurrySym1 (l_aNKs :: TyFun (a_aNK1, b_aNK2) c_aNK3 -> *) (l_aNKr :: TyFun a_aNK1 (TyFun b_aNK2 c_aNK3 -> *)) data CurrySym2 (l_aNKv :: TyFun (a_aNK1, b_aNK2) c_aNK3 -> *) (l_aNKw :: a_aNK1) (l_aNKu :: TyFun b_aNK2 c_aNK3) type CurrySym3 (t_aNKm :: TyFun (a_aNK1, b_aNK2) c_aNK3 -> *) (t_aNKn :: a_aNK1) (t_aNKo :: b_aNK2) = Curry t_aNKm t_aNKn t_aNKo data UncurrySym0 (l_aNKS :: TyFun (TyFun a_aNK7 (TyFun b_aNK8 c_aNK9 -> *) -> *) (TyFun (a_aNK7, b_aNK8) c_aNK9 -> *)) data UncurrySym1 (l_aNKV :: TyFun a_aNK7 (TyFun b_aNK8 c_aNK9 -> *) -> *) (l_aNKU :: TyFun (a_aNK7, b_aNK8) c_aNK9) type UncurrySym2 (t_aNKQ :: TyFun a_aNK7 (TyFun b_aNK8 c_aNK9 -> *) -> *) (t_aNKR :: (a_aNK7, b_aNK8)) = Uncurry t_aNKQ t_aNKR data SwapSym0 (l_aNKh :: TyFun (a_aNKc, b_aNKd) (b_aNKd, a_aNKc)) type SwapSym1 (t_aNKg :: (a_aNKc, b_aNKd)) = Swap t_aNKg instance SuppressUnusedWarnings UncurrySym0 instance SuppressUnusedWarnings UncurrySym1 instance SuppressUnusedWarnings FstSym0 instance SuppressUnusedWarnings SndSym0 instance SuppressUnusedWarnings CurrySym0 instance SuppressUnusedWarnings CurrySym1 instance SuppressUnusedWarnings CurrySym2 instance SuppressUnusedWarnings SwapSym0 -- | Defines promoted functions and datatypes relating to tuples, including -- a promoted version of all the definitions in Data.Tuple. -- -- Because many of these definitions are produced by Template Haskell, it -- is not possible to create proper Haddock documentation. Please look up -- the corresponding operation in Data.Tuple. Also, please -- excuse the apparent repeated variable names. This is due to an -- interaction between Template Haskell and Haddock. module Data.Promotion.Prelude.Tuple type Tuple0Sym0 = '() data Tuple2Sym0 (l_at9E :: TyFun a_12 (TyFun b_13 (a_12, b_13) -> *)) data Tuple2Sym1 (l_at9H :: a_12) (l_at9G :: TyFun b_13 (a_12, b_13)) type Tuple2Sym2 (t_at9C :: a_12) (t_at9D :: b_13) = '(t_at9C, t_at9D) data Tuple3Sym0 (l_at9Y :: TyFun a_12 (TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *) -> *)) data Tuple3Sym1 (l_ata1 :: a_12) (l_ata0 :: TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *)) data Tuple3Sym2 (l_ata4 :: a_12) (l_ata5 :: b_13) (l_ata3 :: TyFun c_14 (a_12, b_13, c_14)) type Tuple3Sym3 (t_at9V :: a_12) (t_at9W :: b_13) (t_at9X :: c_14) = '(t_at9V, t_at9W, t_at9X) data Tuple4Sym0 (l_atas :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *) -> *)) data Tuple4Sym1 (l_atav :: a_12) (l_atau :: TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *)) data Tuple4Sym2 (l_atay :: a_12) (l_ataz :: b_13) (l_atax :: TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *)) data Tuple4Sym3 (l_ataC :: a_12) (l_ataD :: b_13) (l_ataE :: c_14) (l_ataB :: TyFun d_15 (a_12, b_13, c_14, d_15)) type Tuple4Sym4 (t_atao :: a_12) (t_atap :: b_13) (t_ataq :: c_14) (t_atar :: d_15) = '(t_atao, t_atap, t_ataq, t_atar) data Tuple5Sym0 (l_atb7 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *) -> *) -> *)) data Tuple5Sym1 (l_atba :: a_12) (l_atb9 :: TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *) -> *)) data Tuple5Sym2 (l_atbd :: a_12) (l_atbe :: b_13) (l_atbc :: TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *)) data Tuple5Sym3 (l_atbh :: a_12) (l_atbi :: b_13) (l_atbj :: c_14) (l_atbg :: TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *)) data Tuple5Sym4 (l_atbm :: a_12) (l_atbn :: b_13) (l_atbo :: c_14) (l_atbp :: d_15) (l_atbl :: TyFun e_16 (a_12, b_13, c_14, d_15, e_16)) type Tuple5Sym5 (t_atb2 :: a_12) (t_atb3 :: b_13) (t_atb4 :: c_14) (t_atb5 :: d_15) (t_atb6 :: e_16) = '(t_atb2, t_atb3, t_atb4, t_atb5, t_atb6) data Tuple6Sym0 (l_atbY :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *) -> *) -> *) -> *)) data Tuple6Sym1 (l_atc1 :: a_12) (l_atc0 :: TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *) -> *) -> *)) data Tuple6Sym2 (l_atc4 :: a_12) (l_atc5 :: b_13) (l_atc3 :: TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *) -> *)) data Tuple6Sym3 (l_atc8 :: a_12) (l_atc9 :: b_13) (l_atca :: c_14) (l_atc7 :: TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *)) data Tuple6Sym4 (l_atcd :: a_12) (l_atce :: b_13) (l_atcf :: c_14) (l_atcg :: d_15) (l_atcc :: TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *)) data Tuple6Sym5 (l_atcj :: a_12) (l_atck :: b_13) (l_atcl :: c_14) (l_atcm :: d_15) (l_atcn :: e_16) (l_atci :: TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17)) type Tuple6Sym6 (t_atbS :: a_12) (t_atbT :: b_13) (t_atbU :: c_14) (t_atbV :: d_15) (t_atbW :: e_16) (t_atbX :: f_17) = '(t_atbS, t_atbT, t_atbU, t_atbV, t_atbW, t_atbX) data Tuple7Sym0 (l_atd2 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *) -> *) -> *) -> *)) data Tuple7Sym1 (l_atd5 :: a_12) (l_atd4 :: TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *) -> *) -> *)) data Tuple7Sym2 (l_atd8 :: a_12) (l_atd9 :: b_13) (l_atd7 :: TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *) -> *)) data Tuple7Sym3 (l_atdc :: a_12) (l_atdd :: b_13) (l_atde :: c_14) (l_atdb :: TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *)) data Tuple7Sym4 (l_atdh :: a_12) (l_atdi :: b_13) (l_atdj :: c_14) (l_atdk :: d_15) (l_atdg :: TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *)) data Tuple7Sym5 (l_atdn :: a_12) (l_atdo :: b_13) (l_atdp :: c_14) (l_atdq :: d_15) (l_atdr :: e_16) (l_atdm :: TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *)) data Tuple7Sym6 (l_atdu :: a_12) (l_atdv :: b_13) (l_atdw :: c_14) (l_atdx :: d_15) (l_atdy :: e_16) (l_atdz :: f_17) (l_atdt :: TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18)) type Tuple7Sym7 (t_atcV :: a_12) (t_atcW :: b_13) (t_atcX :: c_14) (t_atcY :: d_15) (t_atcZ :: e_16) (t_atd0 :: f_17) (t_atd1 :: g_18) = '(t_atcV, t_atcW, t_atcX, t_atcY, t_atcZ, t_atd0, t_atd1) data FstSym0 (l_aNKL :: TyFun (a_aNJV, b_aNJW) a_aNJV) type FstSym1 (t_aNKK :: (a_aNJV, b_aNJW)) = Fst t_aNKK data SndSym0 (l_aNKF :: TyFun (a_aNJY, b_aNJZ) b_aNJZ) type SndSym1 (t_aNKE :: (a_aNJY, b_aNJZ)) = Snd t_aNKE data CurrySym0 (l_aNKp :: TyFun (TyFun (a_aNK1, b_aNK2) c_aNK3 -> *) (TyFun a_aNK1 (TyFun b_aNK2 c_aNK3 -> *) -> *)) data CurrySym1 (l_aNKs :: TyFun (a_aNK1, b_aNK2) c_aNK3 -> *) (l_aNKr :: TyFun a_aNK1 (TyFun b_aNK2 c_aNK3 -> *)) data CurrySym2 (l_aNKv :: TyFun (a_aNK1, b_aNK2) c_aNK3 -> *) (l_aNKw :: a_aNK1) (l_aNKu :: TyFun b_aNK2 c_aNK3) type CurrySym3 (t_aNKm :: TyFun (a_aNK1, b_aNK2) c_aNK3 -> *) (t_aNKn :: a_aNK1) (t_aNKo :: b_aNK2) = Curry t_aNKm t_aNKn t_aNKo data UncurrySym0 (l_aNKS :: TyFun (TyFun a_aNK7 (TyFun b_aNK8 c_aNK9 -> *) -> *) (TyFun (a_aNK7, b_aNK8) c_aNK9 -> *)) data UncurrySym1 (l_aNKV :: TyFun a_aNK7 (TyFun b_aNK8 c_aNK9 -> *) -> *) (l_aNKU :: TyFun (a_aNK7, b_aNK8) c_aNK9) type UncurrySym2 (t_aNKQ :: TyFun a_aNK7 (TyFun b_aNK8 c_aNK9 -> *) -> *) (t_aNKR :: (a_aNK7, b_aNK8)) = Uncurry t_aNKQ t_aNKR data SwapSym0 (l_aNKh :: TyFun (a_aNKc, b_aNKd) (b_aNKd, a_aNKc)) type SwapSym1 (t_aNKg :: (a_aNKc, b_aNKd)) = Swap t_aNKg -- | Implements promoted functions from GHC.Base module. -- -- Because many of these definitions are produced by Template Haskell, it -- is not possible to create proper Haddock documentation. Please look up -- the corresponding operation in Prelude. Also, please excuse -- the apparent repeated variable names. This is due to an interaction -- between Template Haskell and Haddock. module Data.Promotion.Prelude.Base type Otherwise = (TrueSym0 :: Bool) data FoldrSym0 (l_aIca :: TyFun (TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (TyFun b_aI9r (TyFun [a_aI9q] b_aI9r -> *) -> *)) data FoldrSym1 (l_aIcd :: TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (l_aIcc :: TyFun b_aI9r (TyFun [a_aI9q] b_aI9r -> *)) data FoldrSym2 (l_aIcg :: TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (l_aIch :: b_aI9r) (l_aIcf :: TyFun [a_aI9q] b_aI9r) type FoldrSym3 (t_aIc7 :: TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (t_aIc8 :: b_aI9r) (t_aIc9 :: [a_aI9q]) = Foldr t_aIc7 t_aIc8 t_aIc9 data MapSym0 (l_aIbW :: TyFun (TyFun a_aI9x b_aI9y -> *) (TyFun [a_aI9x] [b_aI9y] -> *)) data MapSym1 (l_aIbZ :: TyFun a_aI9x b_aI9y -> *) (l_aIbY :: TyFun [a_aI9x] [b_aI9y]) type MapSym2 (t_aIbU :: TyFun a_aI9x b_aI9y -> *) (t_aIbV :: [a_aI9x]) = Map t_aIbU t_aIbV data (:++$) (l_aIbJ :: TyFun [a_aI9C] (TyFun [a_aI9C] [a_aI9C] -> *)) data (:++$$) (l_aIbM :: [a_aI9C]) (l_aIbL :: TyFun [a_aI9C] [a_aI9C]) type OtherwiseSym0 = Otherwise data IdSym0 (l_aIbD :: TyFun a_aI9H a_aI9H) type IdSym1 (t_aIbC :: a_aI9H) = Id t_aIbC data ConstSym0 (l_aIbe :: TyFun a_aI9J (TyFun b_aI9K a_aI9J -> *)) data ConstSym1 (l_aIbh :: a_aI9J) (l_aIbg :: TyFun b_aI9K a_aI9J) type ConstSym2 (t_aIbc :: a_aI9J) (t_aIbd :: b_aI9K) = Const t_aIbc t_aIbd data (:.$) (l_aIay :: TyFun (TyFun b_aI9M c_aI9N -> *) (TyFun (TyFun a_aI9O b_aI9M -> *) (TyFun a_aI9O c_aI9N -> *) -> *)) data (:.$$) (l_aIaB :: TyFun b_aI9M c_aI9N -> *) (l_aIaA :: TyFun (TyFun a_aI9O b_aI9M -> *) (TyFun a_aI9O c_aI9N -> *)) data (:.$$$) (l_aIaE :: TyFun b_aI9M c_aI9N -> *) (l_aIaF :: TyFun a_aI9O b_aI9M -> *) (l_aIaD :: TyFun a_aI9O c_aI9N) data ($$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> * data ($$$) :: (TyFun a b -> *) -> TyFun a b -> * type ($$$$) a b = ($) a b data ($!$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> * data ($!$$) :: (TyFun a b -> *) -> TyFun a b -> * type ($!$$$) a b = ($!) a b data FlipSym0 (l_aIag :: TyFun (TyFun a_aI9S (TyFun b_aI9T c_aI9U -> *) -> *) (TyFun b_aI9T (TyFun a_aI9S c_aI9U -> *) -> *)) data FlipSym1 (l_aIaj :: TyFun a_aI9S (TyFun b_aI9T c_aI9U -> *) -> *) (l_aIai :: TyFun b_aI9T (TyFun a_aI9S c_aI9U -> *)) data FlipSym2 (l_aIam :: TyFun a_aI9S (TyFun b_aI9T c_aI9U -> *) -> *) (l_aIan :: b_aI9T) (l_aIal :: TyFun a_aI9S c_aI9U) data UntilSym0 (l_aOLD :: TyFun (TyFun a_aOLt Bool -> *) (TyFun (TyFun a_aOLt a_aOLt -> *) (TyFun a_aOLt a_aOLt -> *) -> *)) data UntilSym1 (l_aOLG :: TyFun a_aOLt Bool -> *) (l_aOLF :: TyFun (TyFun a_aOLt a_aOLt -> *) (TyFun a_aOLt a_aOLt -> *)) data UntilSym2 (l_aOLJ :: TyFun a_aOLt Bool -> *) (l_aOLK :: TyFun a_aOLt a_aOLt -> *) (l_aOLI :: TyFun a_aOLt a_aOLt) type UntilSym3 (t_aOLA :: TyFun a_aOLt Bool -> *) (t_aOLB :: TyFun a_aOLt a_aOLt -> *) (t_aOLC :: a_aOLt) = Until t_aOLA t_aOLB t_aOLC data AsTypeOfSym0 (l_aIbt :: TyFun a_aI9Y (TyFun a_aI9Y a_aI9Y -> *)) data AsTypeOfSym1 (l_aIbw :: a_aI9Y) (l_aIbv :: TyFun a_aI9Y a_aI9Y) type AsTypeOfSym2 (t_aIbr :: a_aI9Y) (t_aIbs :: a_aI9Y) = AsTypeOf t_aIbr t_aIbs data SeqSym0 (l_aIa4 :: TyFun a_aI9Z (TyFun b_aIa0 b_aIa0 -> *)) data SeqSym1 (l_aIa7 :: a_aI9Z) (l_aIa6 :: TyFun b_aIa0 b_aIa0) type SeqSym2 (t_aIa2 :: a_aI9Z) (t_aIa3 :: b_aIa0) = Seq t_aIa2 t_aIa3 instance SuppressUnusedWarnings UntilSym0 instance SuppressUnusedWarnings UntilSym1 instance SuppressUnusedWarnings UntilSym2 instance SuppressUnusedWarnings Let_1627585122GoSym0 instance SuppressUnusedWarnings Let_1627585122GoSym1 instance SuppressUnusedWarnings Let_1627585122GoSym2 instance SuppressUnusedWarnings Let_1627585122GoSym3 -- | Defines functions and datatypes relating to the singleton for '[]', -- including a singletons version of a few of the definitions in -- Data.List. -- -- Because many of these definitions are produced by Template Haskell, it -- is not possible to create proper Haddock documentation. Please look up -- the corresponding operation in Data.List. Also, please excuse -- the apparent repeated variable names. This is due to an interaction -- between Template Haskell and Haddock. module Data.Singletons.Prelude.List -- | The singleton kind-indexed data family. type SList (z_at97 :: [a_12]) = Sing z_at97 (%:++) :: Sing t_aId1 -> Sing t_aId2 -> Sing (Apply (Apply (:++$) t_aId1) t_aId2) sHead :: Sing t_aRT8 -> Sing (Apply HeadSym0 t_aRT8) sLast :: Sing t_aRT7 -> Sing (Apply LastSym0 t_aRT7) sTail :: Sing t_aRT6 -> Sing (Apply TailSym0 t_aRT6) sInit :: Sing t_aRT5 -> Sing (Apply InitSym0 t_aRT5) sNull :: Sing t_aRT4 -> Sing (Apply NullSym0 t_aRT4) sMap :: Sing t_aId3 -> Sing t_aId4 -> Sing (Apply (Apply MapSym0 t_aId3) t_aId4) sReverse :: Sing t_aRT1 -> Sing (Apply ReverseSym0 t_aRT1) sIntersperse :: Sing t_aRSX -> Sing t_aRSY -> Sing (Apply (Apply IntersperseSym0 t_aRSX) t_aRSY) sIntercalate :: Sing t_aRSZ -> Sing t_aRT0 -> Sing (Apply (Apply IntercalateSym0 t_aRSZ) t_aRT0) sSubsequences :: Sing t_aRSW -> Sing (Apply SubsequencesSym0 t_aRSW) sPermutations :: Sing t_aRSS -> Sing (Apply PermutationsSym0 t_aRSS) sFoldl :: Sing t_aRSE -> Sing t_aRSF -> Sing t_aRSG -> Sing (Apply (Apply (Apply FoldlSym0 t_aRSE) t_aRSF) t_aRSG) sFoldl' :: Sing t_aRSz -> Sing t_aRSA -> Sing t_aRSB -> Sing (Apply (Apply (Apply Foldl'Sym0 t_aRSz) t_aRSA) t_aRSB) sFoldl1 :: Sing t_aRSH -> Sing t_aRSI -> Sing (Apply (Apply Foldl1Sym0 t_aRSH) t_aRSI) sFoldl1' :: Sing t_aRSC -> Sing t_aRSD -> Sing (Apply (Apply Foldl1'Sym0 t_aRSC) t_aRSD) sFoldr :: Sing t_aId5 -> Sing t_aId6 -> Sing t_aId7 -> Sing (Apply (Apply (Apply FoldrSym0 t_aId5) t_aId6) t_aId7) sFoldr1 :: Sing t_aRSx -> Sing t_aRSy -> Sing (Apply (Apply Foldr1Sym0 t_aRSx) t_aRSy) sConcat :: Sing t_aRSw -> Sing (Apply ConcatSym0 t_aRSw) sConcatMap :: Sing t_aRSu -> Sing t_aRSv -> Sing (Apply (Apply ConcatMapSym0 t_aRSu) t_aRSv) sAnd :: Sing t_aRSt -> Sing (Apply AndSym0 t_aRSt) sOr :: Sing t_aRSs -> Sing (Apply OrSym0 t_aRSs) sAny_ :: Sing t_aPcj -> Sing t_aPck -> Sing (Apply (Apply Any_Sym0 t_aPcj) t_aPck) sAll :: Sing t_aRSq -> Sing t_aRSr -> Sing (Apply (Apply AllSym0 t_aRSq) t_aRSr) any_ :: (a_aPc2 -> Bool) -> [a_aPc2] -> Bool sScanl :: Sing t_aRSl -> Sing t_aRSm -> Sing t_aRSn -> Sing (Apply (Apply (Apply ScanlSym0 t_aRSl) t_aRSm) t_aRSn) sScanl1 :: Sing t_aRSo -> Sing t_aRSp -> Sing (Apply (Apply Scanl1Sym0 t_aRSo) t_aRSp) sScanr :: Sing t_aRSi -> Sing t_aRSj -> Sing t_aRSk -> Sing (Apply (Apply (Apply ScanrSym0 t_aRSi) t_aRSj) t_aRSk) sScanr1 :: Sing t_aRSg -> Sing t_aRSh -> Sing (Apply (Apply Scanr1Sym0 t_aRSg) t_aRSh) sMapAccumL :: Sing t_aRSd -> Sing t_aRSe -> Sing t_aRSf -> Sing (Apply (Apply (Apply MapAccumLSym0 t_aRSd) t_aRSe) t_aRSf) sMapAccumR :: Sing t_aRSa -> Sing t_aRSb -> Sing t_aRSc -> Sing (Apply (Apply (Apply MapAccumRSym0 t_aRSa) t_aRSb) t_aRSc) sUnfoldr :: Sing t_aRS8 -> Sing t_aRS9 -> Sing (Apply (Apply UnfoldrSym0 t_aRS8) t_aRS9) sInits :: Sing t_aRS7 -> Sing (Apply InitsSym0 t_aRS7) sTails :: Sing t_aRS4 -> Sing (Apply TailsSym0 t_aRS4) sIsPrefixOf :: SEq (KProxy :: KProxy a_aRfB) => Sing t_aRS2 -> Sing t_aRS3 -> Sing (Apply (Apply IsPrefixOfSym0 t_aRS2) t_aRS3) sIsSuffixOf :: SEq (KProxy :: KProxy a_aRfG) => Sing t_aRT2 -> Sing t_aRT3 -> Sing (Apply (Apply IsSuffixOfSym0 t_aRT2) t_aRT3) sIsInfixOf :: SEq (KProxy :: KProxy a_aRfJ) => Sing t_aRS5 -> Sing t_aRS6 -> Sing (Apply (Apply IsInfixOfSym0 t_aRS5) t_aRS6) sElem :: SEq (KProxy :: KProxy a_aRfM) => Sing t_aRS0 -> Sing t_aRS1 -> Sing (Apply (Apply ElemSym0 t_aRS0) t_aRS1) sNotElem :: SEq (KProxy :: KProxy a_aRfQ) => Sing t_aRRY -> Sing t_aRRZ -> Sing (Apply (Apply NotElemSym0 t_aRRY) t_aRRZ) sZip :: Sing t_aRRW -> Sing t_aRRX -> Sing (Apply (Apply ZipSym0 t_aRRW) t_aRRX) sZip3 :: Sing t_aRRT -> Sing t_aRRU -> Sing t_aRRV -> Sing (Apply (Apply (Apply Zip3Sym0 t_aRRT) t_aRRU) t_aRRV) sZipWith :: Sing t_aRRQ -> Sing t_aRRR -> Sing t_aRRS -> Sing (Apply (Apply (Apply ZipWithSym0 t_aRRQ) t_aRRR) t_aRRS) sZipWith3 :: Sing t_aRRM -> Sing t_aRRN -> Sing t_aRRO -> Sing t_aRRP -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_aRRM) t_aRRN) t_aRRO) t_aRRP) sUnzip :: Sing t_aRRL -> Sing (Apply UnzipSym0 t_aRRL) sUnzip3 :: Sing t_aRRK -> Sing (Apply Unzip3Sym0 t_aRRK) sUnzip4 :: Sing t_aRRJ -> Sing (Apply Unzip4Sym0 t_aRRJ) sUnzip5 :: Sing t_aRRI -> Sing (Apply Unzip5Sym0 t_aRRI) sUnzip6 :: Sing t_aRRH -> Sing (Apply Unzip6Sym0 t_aRRH) sUnzip7 :: Sing t_aRRG -> Sing (Apply Unzip7Sym0 t_aRRG) sDelete :: SEq (KProxy :: KProxy a_aRhR) => Sing t_aRRE -> Sing t_aRRF -> Sing (Apply (Apply DeleteSym0 t_aRRE) t_aRRF) (%:\\) :: SEq (KProxy :: KProxy a_aRhS) => Sing t_aRSN -> Sing t_aRSO -> Sing (Apply (Apply (:\\$) t_aRSN) t_aRSO) sDeleteBy :: Sing t_aRRB -> Sing t_aRRC -> Sing t_aRRD -> Sing (Apply (Apply (Apply DeleteBySym0 t_aRRB) t_aRRC) t_aRRD) sDeleteFirstsBy :: Sing t_aRSP -> Sing t_aRSQ -> Sing t_aRSR -> Sing (Apply (Apply (Apply DeleteFirstsBySym0 t_aRSP) t_aRSQ) t_aRSR) sSortBy :: Sing t_aRRz -> Sing t_aRRA -> Sing (Apply (Apply SortBySym0 t_aRRz) t_aRRA) sInsertBy :: Sing t_aRRw -> Sing t_aRRx -> Sing t_aRRy -> Sing (Apply (Apply (Apply InsertBySym0 t_aRRw) t_aRRx) t_aRRy) sMaximumBy :: Sing t_aRSJ -> Sing t_aRSK -> Sing (Apply (Apply MaximumBySym0 t_aRSJ) t_aRSK) sMinimumBy :: Sing t_aRSL -> Sing t_aRSM -> Sing (Apply (Apply MinimumBySym0 t_aRSL) t_aRSM) type NilSym0 = '[] data (:$) (l_at92 :: TyFun a_12 (TyFun [a_12] [a_12] -> *)) data (:$$) (l_at95 :: a_12) (l_at94 :: TyFun [a_12] [a_12]) type (:$$$) (t_at90 :: a_12) (t_at91 :: [a_12]) = (:) t_at90 t_at91 data (:++$$) (l_aIbM :: [a_aI9C]) (l_aIbL :: TyFun [a_aI9C] [a_aI9C]) data (:++$) (l_aIbJ :: TyFun [a_aI9C] (TyFun [a_aI9C] [a_aI9C] -> *)) data HeadSym0 (l_aRRr :: TyFun [a_aRcL] a_aRcL) type HeadSym1 (t_aRRq :: [a_aRcL]) = Head t_aRRq data LastSym0 (l_aRQV :: TyFun [a_aRcN] a_aRcN) type LastSym1 (t_aRQU :: [a_aRcN]) = Last t_aRQU data TailSym0 (l_aRQP :: TyFun [a_aRcV] [a_aRcV]) type TailSym1 (t_aRQO :: [a_aRcV]) = Tail t_aRQO data InitSym0 (l_aRQj :: TyFun [a_aRcX] [a_aRcX]) type InitSym1 (t_aRQi :: [a_aRcX]) = Init t_aRQi data NullSym0 (l_aRQd :: TyFun [a_aRd5] Bool) type NullSym1 (t_aRQc :: [a_aRd5]) = Null t_aRQc data MapSym0 (l_aIbW :: TyFun (TyFun a_aI9x b_aI9y -> *) (TyFun [a_aI9x] [b_aI9y] -> *)) data MapSym1 (l_aIbZ :: TyFun a_aI9x b_aI9y -> *) (l_aIbY :: TyFun [a_aI9x] [b_aI9y]) type MapSym2 (t_aIbU :: TyFun a_aI9x b_aI9y -> *) (t_aIbV :: [a_aI9x]) = Map t_aIbU t_aIbV data ReverseSym0 (l_aRPD :: TyFun [a_aRd6] [a_aRd6]) type ReverseSym1 (t_aRPC :: [a_aRd6]) = Reverse t_aRPC data IntersperseSym0 (l_aRPg :: TyFun a_aRde (TyFun [a_aRde] [a_aRde] -> *)) data IntersperseSym1 (l_aRPj :: a_aRde) (l_aRPi :: TyFun [a_aRde] [a_aRde]) type IntersperseSym2 (t_aRPe :: a_aRde) (t_aRPf :: [a_aRde]) = Intersperse t_aRPe t_aRPf data IntercalateSym0 (l_aRPt :: TyFun [a_aRdi] (TyFun [[a_aRdi]] [a_aRdi] -> *)) data IntercalateSym1 (l_aRPw :: [a_aRdi]) (l_aRPv :: TyFun [[a_aRdi]] [a_aRdi]) type IntercalateSym2 (t_aRPr :: [a_aRdi]) (t_aRPs :: [[a_aRdi]]) = Intercalate t_aRPr t_aRPs data SubsequencesSym0 (l_aRPa :: TyFun [a_aRdl] [[a_aRdl]]) type SubsequencesSym1 (t_aRP9 :: [a_aRdl]) = Subsequences t_aRP9 data PermutationsSym0 (l_aRIw :: TyFun [a_aRdx] [[a_aRdx]]) type PermutationsSym1 (t_aRIv :: [a_aRdx]) = Permutations t_aRIv data FoldlSym0 (l_aRE3 :: TyFun (TyFun b_aRdP (TyFun a_aRdQ b_aRdP -> *) -> *) (TyFun b_aRdP (TyFun [a_aRdQ] b_aRdP -> *) -> *)) data FoldlSym1 (l_aRE6 :: TyFun b_aRdP (TyFun a_aRdQ b_aRdP -> *) -> *) (l_aRE5 :: TyFun b_aRdP (TyFun [a_aRdQ] b_aRdP -> *)) data FoldlSym2 (l_aRE9 :: TyFun b_aRdP (TyFun a_aRdQ b_aRdP -> *) -> *) (l_aREa :: b_aRdP) (l_aRE8 :: TyFun [a_aRdQ] b_aRdP) type FoldlSym3 (t_aRE0 :: TyFun b_aRdP (TyFun a_aRdQ b_aRdP -> *) -> *) (t_aRE1 :: b_aRdP) (t_aRE2 :: [a_aRdQ]) = Foldl t_aRE0 t_aRE1 t_aRE2 data Foldl'Sym0 (l_aRCs :: TyFun (TyFun b_aRbS (TyFun a_aRbR b_aRbS -> *) -> *) (TyFun b_aRbS (TyFun [a_aRbR] b_aRbS -> *) -> *)) data Foldl'Sym1 (l_aRCv :: TyFun b_aRbS (TyFun a_aRbR b_aRbS -> *) -> *) (l_aRCu :: TyFun b_aRbS (TyFun [a_aRbR] b_aRbS -> *)) data Foldl'Sym2 (l_aRCy :: TyFun b_aRbS (TyFun a_aRbR b_aRbS -> *) -> *) (l_aRCz :: b_aRbS) (l_aRCx :: TyFun [a_aRbR] b_aRbS) type Foldl'Sym3 (t_aRCp :: TyFun b_aRbS (TyFun a_aRbR b_aRbS -> *) -> *) (t_aRCq :: b_aRbS) (t_aRCr :: [a_aRbR]) = Foldl' t_aRCp t_aRCq t_aRCr data Foldl1Sym0 (l_aRER :: TyFun (TyFun a_aRea (TyFun a_aRea a_aRea -> *) -> *) (TyFun [a_aRea] a_aRea -> *)) data Foldl1Sym1 (l_aREU :: TyFun a_aRea (TyFun a_aRea a_aRea -> *) -> *) (l_aRET :: TyFun [a_aRea] a_aRea) type Foldl1Sym2 (t_aREP :: TyFun a_aRea (TyFun a_aRea a_aRea -> *) -> *) (t_aREQ :: [a_aRea]) = Foldl1 t_aREP t_aREQ data Foldl1'Sym0 (l_aRDP :: TyFun (TyFun a_aRee (TyFun a_aRee a_aRee -> *) -> *) (TyFun [a_aRee] a_aRee -> *)) data Foldl1'Sym1 (l_aRDS :: TyFun a_aRee (TyFun a_aRee a_aRee -> *) -> *) (l_aRDR :: TyFun [a_aRee] a_aRee) type Foldl1'Sym2 (t_aRDN :: TyFun a_aRee (TyFun a_aRee a_aRee -> *) -> *) (t_aRDO :: [a_aRee]) = Foldl1' t_aRDN t_aRDO data FoldrSym0 (l_aIca :: TyFun (TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (TyFun b_aI9r (TyFun [a_aI9q] b_aI9r -> *) -> *)) data FoldrSym1 (l_aIcd :: TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (l_aIcc :: TyFun b_aI9r (TyFun [a_aI9q] b_aI9r -> *)) data FoldrSym2 (l_aIcg :: TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (l_aIch :: b_aI9r) (l_aIcf :: TyFun [a_aI9q] b_aI9r) type FoldrSym3 (t_aIc7 :: TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (t_aIc8 :: b_aI9r) (t_aIc9 :: [a_aI9q]) = Foldr t_aIc7 t_aIc8 t_aIc9 data Foldr1Sym0 (l_aRBR :: TyFun (TyFun a_aRei (TyFun a_aRei a_aRei -> *) -> *) (TyFun [a_aRei] a_aRei -> *)) data Foldr1Sym1 (l_aRBU :: TyFun a_aRei (TyFun a_aRei a_aRei -> *) -> *) (l_aRBT :: TyFun [a_aRei] a_aRei) type Foldr1Sym2 (t_aRBP :: TyFun a_aRei (TyFun a_aRei a_aRei -> *) -> *) (t_aRBQ :: [a_aRei]) = Foldr1 t_aRBP t_aRBQ data ConcatSym0 (l_aRBL :: TyFun [[a_aRen]] [a_aRen]) type ConcatSym1 (t_aRBK :: [[a_aRen]]) = Concat t_aRBK data ConcatMapSym0 (l_aRBx :: TyFun (TyFun a_aReo [b_aRep] -> *) (TyFun [a_aReo] [b_aRep] -> *)) data ConcatMapSym1 (l_aRBA :: TyFun a_aReo [b_aRep] -> *) (l_aRBz :: TyFun [a_aReo] [b_aRep]) type ConcatMapSym2 (t_aRBv :: TyFun a_aReo [b_aRep] -> *) (t_aRBw :: [a_aReo]) = ConcatMap t_aRBv t_aRBw data AndSym0 (l_aRBq :: TyFun [Bool] Bool) type AndSym1 (t_aRBp :: [Bool]) = And t_aRBp data OrSym0 (l_aRBk :: TyFun [Bool] Bool) type OrSym1 (t_aRBj :: [Bool]) = Or t_aRBj data Any_Sym0 (l_aPc8 :: TyFun (TyFun a_aPc2 Bool -> *) (TyFun [a_aPc2] Bool -> *)) data Any_Sym1 (l_aPcb :: TyFun a_aPc2 Bool -> *) (l_aPca :: TyFun [a_aPc2] Bool) type Any_Sym2 (t_aPc6 :: TyFun a_aPc2 Bool -> *) (t_aPc7 :: [a_aPc2]) = Any_ t_aPc6 t_aPc7 data AllSym0 (l_aRB8 :: TyFun (TyFun a_aRev Bool -> *) (TyFun [a_aRev] Bool -> *)) data AllSym1 (l_aRBb :: TyFun a_aRev Bool -> *) (l_aRBa :: TyFun [a_aRev] Bool) type AllSym2 (t_aRB6 :: TyFun a_aRev Bool -> *) (t_aRB7 :: [a_aRev]) = All t_aRB6 t_aRB7 data ScanlSym0 (l_aRAk :: TyFun (TyFun b_aRez (TyFun a_aReA b_aRez -> *) -> *) (TyFun b_aRez (TyFun [a_aReA] [b_aRez] -> *) -> *)) data ScanlSym1 (l_aRAn :: TyFun b_aRez (TyFun a_aReA b_aRez -> *) -> *) (l_aRAm :: TyFun b_aRez (TyFun [a_aReA] [b_aRez] -> *)) data ScanlSym2 (l_aRAq :: TyFun b_aRez (TyFun a_aReA b_aRez -> *) -> *) (l_aRAr :: b_aRez) (l_aRAp :: TyFun [a_aReA] [b_aRez]) type ScanlSym3 (t_aRAh :: TyFun b_aRez (TyFun a_aReA b_aRez -> *) -> *) (t_aRAi :: b_aRez) (t_aRAj :: [a_aReA]) = Scanl t_aRAh t_aRAi t_aRAj data Scanl1Sym0 (l_aRAV :: TyFun (TyFun a_aReG (TyFun a_aReG a_aReG -> *) -> *) (TyFun [a_aReG] [a_aReG] -> *)) data Scanl1Sym1 (l_aRAY :: TyFun a_aReG (TyFun a_aReG a_aReG -> *) -> *) (l_aRAX :: TyFun [a_aReG] [a_aReG]) type Scanl1Sym2 (t_aRAT :: TyFun a_aReG (TyFun a_aReG a_aReG -> *) -> *) (t_aRAU :: [a_aReG]) = Scanl1 t_aRAT t_aRAU data ScanrSym0 (l_aRzz :: TyFun (TyFun a_aReK (TyFun b_aReL b_aReL -> *) -> *) (TyFun b_aReL (TyFun [a_aReK] [b_aReL] -> *) -> *)) data ScanrSym1 (l_aRzC :: TyFun a_aReK (TyFun b_aReL b_aReL -> *) -> *) (l_aRzB :: TyFun b_aReL (TyFun [a_aReK] [b_aReL] -> *)) data ScanrSym2 (l_aRzF :: TyFun a_aReK (TyFun b_aReL b_aReL -> *) -> *) (l_aRzG :: b_aReL) (l_aRzE :: TyFun [a_aReK] [b_aReL]) type ScanrSym3 (t_aRzw :: TyFun a_aReK (TyFun b_aReL b_aReL -> *) -> *) (t_aRzx :: b_aReL) (t_aRzy :: [a_aReK]) = Scanr t_aRzw t_aRzx t_aRzy data Scanr1Sym0 (l_aRyy :: TyFun (TyFun a_aReT (TyFun a_aReT a_aReT -> *) -> *) (TyFun [a_aReT] [a_aReT] -> *)) data Scanr1Sym1 (l_aRyB :: TyFun a_aReT (TyFun a_aReT a_aReT -> *) -> *) (l_aRyA :: TyFun [a_aReT] [a_aReT]) type Scanr1Sym2 (t_aRyw :: TyFun a_aReT (TyFun a_aReT a_aReT -> *) -> *) (t_aRyx :: [a_aReT]) = Scanr1 t_aRyw t_aRyx data MapAccumLSym0 (l_aRvS :: TyFun (TyFun acc_aRf0 (TyFun x_aRf1 (acc_aRf0, y_aRf2) -> *) -> *) (TyFun acc_aRf0 (TyFun [x_aRf1] (acc_aRf0, [y_aRf2]) -> *) -> *)) data MapAccumLSym1 (l_aRvV :: TyFun acc_aRf0 (TyFun x_aRf1 (acc_aRf0, y_aRf2) -> *) -> *) (l_aRvU :: TyFun acc_aRf0 (TyFun [x_aRf1] (acc_aRf0, [y_aRf2]) -> *)) data MapAccumLSym2 (l_aRvY :: TyFun acc_aRf0 (TyFun x_aRf1 (acc_aRf0, y_aRf2) -> *) -> *) (l_aRvZ :: acc_aRf0) (l_aRvX :: TyFun [x_aRf1] (acc_aRf0, [y_aRf2])) type MapAccumLSym3 (t_aRvP :: TyFun acc_aRf0 (TyFun x_aRf1 (acc_aRf0, y_aRf2) -> *) -> *) (t_aRvQ :: acc_aRf0) (t_aRvR :: [x_aRf1]) = MapAccumL t_aRvP t_aRvQ t_aRvR data MapAccumRSym0 (l_aRtb :: TyFun (TyFun acc_aRfc (TyFun x_aRfd (acc_aRfc, y_aRfe) -> *) -> *) (TyFun acc_aRfc (TyFun [x_aRfd] (acc_aRfc, [y_aRfe]) -> *) -> *)) data MapAccumRSym1 (l_aRte :: TyFun acc_aRfc (TyFun x_aRfd (acc_aRfc, y_aRfe) -> *) -> *) (l_aRtd :: TyFun acc_aRfc (TyFun [x_aRfd] (acc_aRfc, [y_aRfe]) -> *)) data MapAccumRSym2 (l_aRth :: TyFun acc_aRfc (TyFun x_aRfd (acc_aRfc, y_aRfe) -> *) -> *) (l_aRti :: acc_aRfc) (l_aRtg :: TyFun [x_aRfd] (acc_aRfc, [y_aRfe])) type MapAccumRSym3 (t_aRt8 :: TyFun acc_aRfc (TyFun x_aRfd (acc_aRfc, y_aRfe) -> *) -> *) (t_aRt9 :: acc_aRfc) (t_aRta :: [x_aRfd]) = MapAccumR t_aRt8 t_aRt9 t_aRta data UnfoldrSym0 (l_aRsK :: TyFun (TyFun b_aRfo (Maybe (a_aRfp, b_aRfo)) -> *) (TyFun b_aRfo [a_aRfp] -> *)) data UnfoldrSym1 (l_aRsN :: TyFun b_aRfo (Maybe (a_aRfp, b_aRfo)) -> *) (l_aRsM :: TyFun b_aRfo [a_aRfp]) type UnfoldrSym2 (t_aRsI :: TyFun b_aRfo (Maybe (a_aRfp, b_aRfo)) -> *) (t_aRsJ :: b_aRfo) = Unfoldr t_aRsI t_aRsJ data InitsSym0 (l_aRst :: TyFun [a_aRfu] [[a_aRfu]]) type InitsSym1 (t_aRss :: [a_aRfu]) = Inits t_aRss data TailsSym0 (l_aRs2 :: TyFun [a_aRfy] [[a_aRfy]]) type TailsSym1 (t_aRs1 :: [a_aRfy]) = Tails t_aRs1 data IsPrefixOfSym0 (l_aRrM :: TyFun [a_aRfB] (TyFun [a_aRfB] Bool -> *)) data IsPrefixOfSym1 (l_aRrP :: [a_aRfB]) (l_aRrO :: TyFun [a_aRfB] Bool) type IsPrefixOfSym2 (t_aRrK :: [a_aRfB]) (t_aRrL :: [a_aRfB]) = IsPrefixOf t_aRrK t_aRrL data IsSuffixOfSym0 (l_aRQ3 :: TyFun [a_aRfG] (TyFun [a_aRfG] Bool -> *)) data IsSuffixOfSym1 (l_aRQ6 :: [a_aRfG]) (l_aRQ5 :: TyFun [a_aRfG] Bool) type IsSuffixOfSym2 (t_aRQ1 :: [a_aRfG]) (t_aRQ2 :: [a_aRfG]) = IsSuffixOf t_aRQ1 t_aRQ2 data IsInfixOfSym0 (l_aRsj :: TyFun [a_aRfJ] (TyFun [a_aRfJ] Bool -> *)) data IsInfixOfSym1 (l_aRsm :: [a_aRfJ]) (l_aRsl :: TyFun [a_aRfJ] Bool) type IsInfixOfSym2 (t_aRsh :: [a_aRfJ]) (t_aRsi :: [a_aRfJ]) = IsInfixOf t_aRsh t_aRsi data ElemSym0 (l_aRrz :: TyFun a_aRfM (TyFun [a_aRfM] Bool -> *)) data ElemSym1 (l_aRrC :: a_aRfM) (l_aRrB :: TyFun [a_aRfM] Bool) type ElemSym2 (t_aRrx :: a_aRfM) (t_aRry :: [a_aRfM]) = Elem t_aRrx t_aRry data NotElemSym0 (l_aRrm :: TyFun a_aRfQ (TyFun [a_aRfQ] Bool -> *)) data NotElemSym1 (l_aRrp :: a_aRfQ) (l_aRro :: TyFun [a_aRfQ] Bool) type NotElemSym2 (t_aRrk :: a_aRfQ) (t_aRrl :: [a_aRfQ]) = NotElem t_aRrk t_aRrl data ZipSym0 (l_aRr5 :: TyFun [a_aRfU] (TyFun [b_aRfV] [(a_aRfU, b_aRfV)] -> *)) data ZipSym1 (l_aRr8 :: [a_aRfU]) (l_aRr7 :: TyFun [b_aRfV] [(a_aRfU, b_aRfV)]) type ZipSym2 (t_aRr3 :: [a_aRfU]) (t_aRr4 :: [b_aRfV]) = Zip t_aRr3 t_aRr4 data Zip3Sym0 (l_aRqt :: TyFun [a_aRg0] (TyFun [b_aRg1] (TyFun [c_aRg2] [(a_aRg0, b_aRg1, c_aRg2)] -> *) -> *)) data Zip3Sym1 (l_aRqw :: [a_aRg0]) (l_aRqv :: TyFun [b_aRg1] (TyFun [c_aRg2] [(a_aRg0, b_aRg1, c_aRg2)] -> *)) data Zip3Sym2 (l_aRqz :: [a_aRg0]) (l_aRqA :: [b_aRg1]) (l_aRqy :: TyFun [c_aRg2] [(a_aRg0, b_aRg1, c_aRg2)]) type Zip3Sym3 (t_aRqq :: [a_aRg0]) (t_aRqr :: [b_aRg1]) (t_aRqs :: [c_aRg2]) = Zip3 t_aRqq t_aRqr t_aRqs data ZipWithSym0 (l_aRq2 :: TyFun (TyFun a_aRg9 (TyFun b_aRga c_aRgb -> *) -> *) (TyFun [a_aRg9] (TyFun [b_aRga] [c_aRgb] -> *) -> *)) data ZipWithSym1 (l_aRq5 :: TyFun a_aRg9 (TyFun b_aRga c_aRgb -> *) -> *) (l_aRq4 :: TyFun [a_aRg9] (TyFun [b_aRga] [c_aRgb] -> *)) data ZipWithSym2 (l_aRq8 :: TyFun a_aRg9 (TyFun b_aRga c_aRgb -> *) -> *) (l_aRq9 :: [a_aRg9]) (l_aRq7 :: TyFun [b_aRga] [c_aRgb]) type ZipWithSym3 (t_aRpZ :: TyFun a_aRg9 (TyFun b_aRga c_aRgb -> *) -> *) (t_aRq0 :: [a_aRg9]) (t_aRq1 :: [b_aRga]) = ZipWith t_aRpZ t_aRq0 t_aRq1 data ZipWith3Sym0 (l_aRpb :: TyFun (TyFun a_aRgh (TyFun b_aRgi (TyFun c_aRgj d_aRgk -> *) -> *) -> *) (TyFun [a_aRgh] (TyFun [b_aRgi] (TyFun [c_aRgj] [d_aRgk] -> *) -> *) -> *)) data ZipWith3Sym1 (l_aRpe :: TyFun a_aRgh (TyFun b_aRgi (TyFun c_aRgj d_aRgk -> *) -> *) -> *) (l_aRpd :: TyFun [a_aRgh] (TyFun [b_aRgi] (TyFun [c_aRgj] [d_aRgk] -> *) -> *)) data ZipWith3Sym2 (l_aRph :: TyFun a_aRgh (TyFun b_aRgi (TyFun c_aRgj d_aRgk -> *) -> *) -> *) (l_aRpi :: [a_aRgh]) (l_aRpg :: TyFun [b_aRgi] (TyFun [c_aRgj] [d_aRgk] -> *)) data ZipWith3Sym3 (l_aRpl :: TyFun a_aRgh (TyFun b_aRgi (TyFun c_aRgj d_aRgk -> *) -> *) -> *) (l_aRpm :: [a_aRgh]) (l_aRpn :: [b_aRgi]) (l_aRpk :: TyFun [c_aRgj] [d_aRgk]) data UnzipSym0 (l_aRoC :: TyFun [(a_aRgs, b_aRgt)] ([a_aRgs], [b_aRgt])) type UnzipSym1 (t_aRoB :: [(a_aRgs, b_aRgt)]) = Unzip t_aRoB data Unzip3Sym0 (l_aRo4 :: TyFun [(a_aRgz, b_aRgA, c_aRgB)] ([a_aRgz], [b_aRgA], [c_aRgB])) type Unzip3Sym1 (t_aRo3 :: [(a_aRgz, b_aRgA, c_aRgB)]) = Unzip3 t_aRo3 data Unzip4Sym0 (l_aRnu :: TyFun [(a_aRgJ, b_aRgK, c_aRgL, d_aRgM)] ([a_aRgJ], [b_aRgK], [c_aRgL], [d_aRgM])) type Unzip4Sym1 (t_aRnt :: [(a_aRgJ, b_aRgK, c_aRgL, d_aRgM)]) = Unzip4 t_aRnt data Unzip5Sym0 (l_aRmS :: TyFun [(a_aRgW, b_aRgX, c_aRgY, d_aRgZ, e_aRh0)] ([a_aRgW], [b_aRgX], [c_aRgY], [d_aRgZ], [e_aRh0])) type Unzip5Sym1 (t_aRmR :: [(a_aRgW, b_aRgX, c_aRgY, d_aRgZ, e_aRh0)]) = Unzip5 t_aRmR data Unzip6Sym0 (l_aRme :: TyFun [(a_aRhc, b_aRhd, c_aRhe, d_aRhf, e_aRhg, f_aRhh)] ([a_aRhc], [b_aRhd], [c_aRhe], [d_aRhf], [e_aRhg], [f_aRhh])) type Unzip6Sym1 (t_aRmd :: [(a_aRhc, b_aRhd, c_aRhe, d_aRhf, e_aRhg, f_aRhh)]) = Unzip6 t_aRmd data Unzip7Sym0 (l_aRly :: TyFun [(a_aRhv, b_aRhw, c_aRhx, d_aRhy, e_aRhz, f_aRhA, g_aRhB)] ([a_aRhv], [b_aRhw], [c_aRhx], [d_aRhy], [e_aRhz], [f_aRhA], [g_aRhB])) type Unzip7Sym1 (t_aRlx :: [(a_aRhv, b_aRhw, c_aRhx, d_aRhy, e_aRhz, f_aRhA, g_aRhB)]) = Unzip7 t_aRlx data DeleteSym0 (l_aRlo :: TyFun a_aRhR (TyFun [a_aRhR] [a_aRhR] -> *)) data DeleteSym1 (l_aRlr :: a_aRhR) (l_aRlq :: TyFun [a_aRhR] [a_aRhR]) type DeleteSym2 (t_aRlm :: a_aRhR) (t_aRln :: [a_aRhR]) = Delete t_aRlm t_aRln data (:\\$) (l_aRI0 :: TyFun [a_aRhS] (TyFun [a_aRhS] [a_aRhS] -> *)) data (:\\$$) (l_aRI3 :: [a_aRhS]) (l_aRI2 :: TyFun [a_aRhS] [a_aRhS]) type (:\\$$$) (t_aRHY :: [a_aRhS]) (t_aRHZ :: [a_aRhS]) = (:\\) t_aRHY t_aRHZ data DeleteBySym0 (l_aRkC :: TyFun (TyFun a_aRhT (TyFun a_aRhT Bool -> *) -> *) (TyFun a_aRhT (TyFun [a_aRhT] [a_aRhT] -> *) -> *)) data DeleteBySym1 (l_aRkF :: TyFun a_aRhT (TyFun a_aRhT Bool -> *) -> *) (l_aRkE :: TyFun a_aRhT (TyFun [a_aRhT] [a_aRhT] -> *)) data DeleteBySym2 (l_aRkI :: TyFun a_aRhT (TyFun a_aRhT Bool -> *) -> *) (l_aRkJ :: a_aRhT) (l_aRkH :: TyFun [a_aRhT] [a_aRhT]) type DeleteBySym3 (t_aRkz :: TyFun a_aRhT (TyFun a_aRhT Bool -> *) -> *) (t_aRkA :: a_aRhT) (t_aRkB :: [a_aRhT]) = DeleteBy t_aRkz t_aRkA t_aRkB data DeleteFirstsBySym0 (l_aRIc :: TyFun (TyFun a_aRhY (TyFun a_aRhY Bool -> *) -> *) (TyFun [a_aRhY] (TyFun [a_aRhY] [a_aRhY] -> *) -> *)) data DeleteFirstsBySym1 (l_aRIf :: TyFun a_aRhY (TyFun a_aRhY Bool -> *) -> *) (l_aRIe :: TyFun [a_aRhY] (TyFun [a_aRhY] [a_aRhY] -> *)) data DeleteFirstsBySym2 (l_aRIi :: TyFun a_aRhY (TyFun a_aRhY Bool -> *) -> *) (l_aRIj :: [a_aRhY]) (l_aRIh :: TyFun [a_aRhY] [a_aRhY]) type DeleteFirstsBySym3 (t_aRI9 :: TyFun a_aRhY (TyFun a_aRhY Bool -> *) -> *) (t_aRIa :: [a_aRhY]) (t_aRIb :: [a_aRhY]) = DeleteFirstsBy t_aRI9 t_aRIa t_aRIb data SortBySym0 (l_aRko :: TyFun (TyFun a_aRi0 (TyFun a_aRi0 Ordering -> *) -> *) (TyFun [a_aRi0] [a_aRi0] -> *)) data SortBySym1 (l_aRkr :: TyFun a_aRi0 (TyFun a_aRi0 Ordering -> *) -> *) (l_aRkq :: TyFun [a_aRi0] [a_aRi0]) type SortBySym2 (t_aRkm :: TyFun a_aRi0 (TyFun a_aRi0 Ordering -> *) -> *) (t_aRkn :: [a_aRi0]) = SortBy t_aRkm t_aRkn data InsertBySym0 (l_aRjm :: TyFun (TyFun a_aRi2 (TyFun a_aRi2 Ordering -> *) -> *) (TyFun a_aRi2 (TyFun [a_aRi2] [a_aRi2] -> *) -> *)) data InsertBySym1 (l_aRjp :: TyFun a_aRi2 (TyFun a_aRi2 Ordering -> *) -> *) (l_aRjo :: TyFun a_aRi2 (TyFun [a_aRi2] [a_aRi2] -> *)) data InsertBySym2 (l_aRjs :: TyFun a_aRi2 (TyFun a_aRi2 Ordering -> *) -> *) (l_aRjt :: a_aRi2) (l_aRjr :: TyFun [a_aRi2] [a_aRi2]) type InsertBySym3 (t_aRjj :: TyFun a_aRi2 (TyFun a_aRi2 Ordering -> *) -> *) (t_aRjk :: a_aRi2) (t_aRjl :: [a_aRi2]) = InsertBy t_aRjj t_aRjk t_aRjl data MaximumBySym0 (l_aRF4 :: TyFun (TyFun a_aRi9 (TyFun a_aRi9 Ordering -> *) -> *) (TyFun [a_aRi9] a_aRi9 -> *)) data MaximumBySym1 (l_aRF7 :: TyFun a_aRi9 (TyFun a_aRi9 Ordering -> *) -> *) (l_aRF6 :: TyFun [a_aRi9] a_aRi9) type MaximumBySym2 (t_aRF2 :: TyFun a_aRi9 (TyFun a_aRi9 Ordering -> *) -> *) (t_aRF3 :: [a_aRi9]) = MaximumBy t_aRF2 t_aRF3 data MinimumBySym0 (l_aRGv :: TyFun (TyFun a_aRif (TyFun a_aRif Ordering -> *) -> *) (TyFun [a_aRif] a_aRif -> *)) data MinimumBySym1 (l_aRGy :: TyFun a_aRif (TyFun a_aRif Ordering -> *) -> *) (l_aRGx :: TyFun [a_aRif] a_aRif) type MinimumBySym2 (t_aRGt :: TyFun a_aRif (TyFun a_aRif Ordering -> *) -> *) (t_aRGu :: [a_aRif]) = MinimumBy t_aRGt t_aRGu instance SuppressUnusedWarnings HeadSym0 instance SuppressUnusedWarnings LastSym0 instance SuppressUnusedWarnings TailSym0 instance SuppressUnusedWarnings InitSym0 instance SuppressUnusedWarnings NullSym0 instance SuppressUnusedWarnings IsSuffixOfSym0 instance SuppressUnusedWarnings IsSuffixOfSym1 instance SuppressUnusedWarnings ReverseSym0 instance SuppressUnusedWarnings IntercalateSym0 instance SuppressUnusedWarnings IntercalateSym1 instance SuppressUnusedWarnings IntersperseSym0 instance SuppressUnusedWarnings IntersperseSym1 instance SuppressUnusedWarnings SubsequencesSym0 instance SuppressUnusedWarnings NonEmptySubsequencesSym0 instance SuppressUnusedWarnings PrependToAllSym0 instance SuppressUnusedWarnings PrependToAllSym1 instance SuppressUnusedWarnings PermutationsSym0 instance SuppressUnusedWarnings DeleteFirstsBySym0 instance SuppressUnusedWarnings DeleteFirstsBySym1 instance SuppressUnusedWarnings DeleteFirstsBySym2 instance SuppressUnusedWarnings (:\\$) instance SuppressUnusedWarnings (:\\$$) instance SuppressUnusedWarnings MinimumBySym0 instance SuppressUnusedWarnings MinimumBySym1 instance SuppressUnusedWarnings MaximumBySym0 instance SuppressUnusedWarnings MaximumBySym1 instance SuppressUnusedWarnings Foldl1Sym0 instance SuppressUnusedWarnings Foldl1Sym1 instance SuppressUnusedWarnings FoldlSym0 instance SuppressUnusedWarnings FoldlSym1 instance SuppressUnusedWarnings FoldlSym2 instance SuppressUnusedWarnings Foldl1'Sym0 instance SuppressUnusedWarnings Foldl1'Sym1 instance SuppressUnusedWarnings Foldl'Sym0 instance SuppressUnusedWarnings Foldl'Sym1 instance SuppressUnusedWarnings Foldl'Sym2 instance SuppressUnusedWarnings Foldr1Sym0 instance SuppressUnusedWarnings Foldr1Sym1 instance SuppressUnusedWarnings ConcatSym0 instance SuppressUnusedWarnings ConcatMapSym0 instance SuppressUnusedWarnings ConcatMapSym1 instance SuppressUnusedWarnings AndSym0 instance SuppressUnusedWarnings OrSym0 instance SuppressUnusedWarnings AllSym0 instance SuppressUnusedWarnings AllSym1 instance SuppressUnusedWarnings Scanl1Sym0 instance SuppressUnusedWarnings Scanl1Sym1 instance SuppressUnusedWarnings ScanlSym0 instance SuppressUnusedWarnings ScanlSym1 instance SuppressUnusedWarnings ScanlSym2 instance SuppressUnusedWarnings ScanrSym0 instance SuppressUnusedWarnings ScanrSym1 instance SuppressUnusedWarnings ScanrSym2 instance SuppressUnusedWarnings Scanr1Sym0 instance SuppressUnusedWarnings Scanr1Sym1 instance SuppressUnusedWarnings MapAccumLSym0 instance SuppressUnusedWarnings MapAccumLSym1 instance SuppressUnusedWarnings MapAccumLSym2 instance SuppressUnusedWarnings MapAccumRSym0 instance SuppressUnusedWarnings MapAccumRSym1 instance SuppressUnusedWarnings MapAccumRSym2 instance SuppressUnusedWarnings UnfoldrSym0 instance SuppressUnusedWarnings UnfoldrSym1 instance SuppressUnusedWarnings InitsSym0 instance SuppressUnusedWarnings IsInfixOfSym0 instance SuppressUnusedWarnings IsInfixOfSym1 instance SuppressUnusedWarnings TailsSym0 instance SuppressUnusedWarnings IsPrefixOfSym0 instance SuppressUnusedWarnings IsPrefixOfSym1 instance SuppressUnusedWarnings ElemSym0 instance SuppressUnusedWarnings ElemSym1 instance SuppressUnusedWarnings NotElemSym0 instance SuppressUnusedWarnings NotElemSym1 instance SuppressUnusedWarnings ZipSym0 instance SuppressUnusedWarnings ZipSym1 instance SuppressUnusedWarnings Zip3Sym0 instance SuppressUnusedWarnings Zip3Sym1 instance SuppressUnusedWarnings Zip3Sym2 instance SuppressUnusedWarnings ZipWithSym0 instance SuppressUnusedWarnings ZipWithSym1 instance SuppressUnusedWarnings ZipWithSym2 instance SuppressUnusedWarnings ZipWith3Sym0 instance SuppressUnusedWarnings ZipWith3Sym1 instance SuppressUnusedWarnings ZipWith3Sym2 instance SuppressUnusedWarnings ZipWith3Sym3 instance SuppressUnusedWarnings UnzipSym0 instance SuppressUnusedWarnings Unzip3Sym0 instance SuppressUnusedWarnings Unzip4Sym0 instance SuppressUnusedWarnings Unzip5Sym0 instance SuppressUnusedWarnings Unzip6Sym0 instance SuppressUnusedWarnings Unzip7Sym0 instance SuppressUnusedWarnings DeleteSym0 instance SuppressUnusedWarnings DeleteSym1 instance SuppressUnusedWarnings DeleteBySym0 instance SuppressUnusedWarnings DeleteBySym1 instance SuppressUnusedWarnings DeleteBySym2 instance SuppressUnusedWarnings SortBySym0 instance SuppressUnusedWarnings SortBySym1 instance SuppressUnusedWarnings InsertBySym0 instance SuppressUnusedWarnings InsertBySym1 instance SuppressUnusedWarnings InsertBySym2 instance SuppressUnusedWarnings Let_1627596970Last'Sym0 instance SuppressUnusedWarnings Let_1627596970Last'Sym1 instance SuppressUnusedWarnings Let_1627596970Last'Sym2 instance SuppressUnusedWarnings Let_1627596970Last'Sym3 instance SuppressUnusedWarnings Let_1627596932Init'Sym0 instance SuppressUnusedWarnings Let_1627596932Init'Sym1 instance SuppressUnusedWarnings Let_1627596932Init'Sym2 instance SuppressUnusedWarnings Let_1627596932Init'Sym3 instance SuppressUnusedWarnings Let_1627596889RevSym0 instance SuppressUnusedWarnings Let_1627596889RevSym1 instance SuppressUnusedWarnings Let_1627596889RevSym2 instance SuppressUnusedWarnings Let_1627596831FSym0 instance SuppressUnusedWarnings Let_1627596831FSym1 instance SuppressUnusedWarnings Let_1627596831FSym2 instance SuppressUnusedWarnings Let_1627596831FSym3 instance SuppressUnusedWarnings Let_1627596448PermsSym0 instance SuppressUnusedWarnings Let_1627596448PermsSym1 instance SuppressUnusedWarnings Let_1627596448PermsSym2 instance SuppressUnusedWarnings Let_1627596468InterleaveSym0 instance SuppressUnusedWarnings Let_1627596468InterleaveSym1 instance SuppressUnusedWarnings Let_1627596468InterleaveSym2 instance SuppressUnusedWarnings Let_1627596468InterleaveSym3 instance SuppressUnusedWarnings Let_1627596468InterleaveSym4 instance SuppressUnusedWarnings Let_1627596468InterleaveSym5 instance SuppressUnusedWarnings Let_1627596468Interleave'Sym0 instance SuppressUnusedWarnings Let_1627596468Interleave'Sym1 instance SuppressUnusedWarnings Let_1627596468Interleave'Sym2 instance SuppressUnusedWarnings Let_1627596468Interleave'Sym3 instance SuppressUnusedWarnings Let_1627596468Interleave'Sym4 instance SuppressUnusedWarnings Let_1627596468Interleave'Sym5 instance SuppressUnusedWarnings Let_1627596468Interleave'Sym6 instance SuppressUnusedWarnings Let_1627596734X_1627596736Sym0 instance SuppressUnusedWarnings Let_1627596734X_1627596736Sym1 instance SuppressUnusedWarnings Let_1627596734X_1627596736Sym2 instance SuppressUnusedWarnings Let_1627596734X_1627596736Sym3 instance SuppressUnusedWarnings Let_1627596734X_1627596736Sym4 instance SuppressUnusedWarnings Let_1627596734X_1627596736Sym5 instance SuppressUnusedWarnings Let_1627596734ZsSym0 instance SuppressUnusedWarnings Let_1627596734ZsSym1 instance SuppressUnusedWarnings Let_1627596734ZsSym2 instance SuppressUnusedWarnings Let_1627596734ZsSym3 instance SuppressUnusedWarnings Let_1627596734ZsSym4 instance SuppressUnusedWarnings Let_1627596734ZsSym5 instance SuppressUnusedWarnings Let_1627596521X_1627596523Sym0 instance SuppressUnusedWarnings Let_1627596521X_1627596523Sym1 instance SuppressUnusedWarnings Let_1627596521X_1627596523Sym2 instance SuppressUnusedWarnings Let_1627596521X_1627596523Sym3 instance SuppressUnusedWarnings Let_1627596521X_1627596523Sym4 instance SuppressUnusedWarnings Let_1627596521X_1627596523Sym5 instance SuppressUnusedWarnings Let_1627596521X_1627596523Sym6 instance SuppressUnusedWarnings Let_1627596521X_1627596523Sym7 instance SuppressUnusedWarnings Let_1627596521ZsSym0 instance SuppressUnusedWarnings Let_1627596521ZsSym1 instance SuppressUnusedWarnings Let_1627596521ZsSym2 instance SuppressUnusedWarnings Let_1627596521ZsSym3 instance SuppressUnusedWarnings Let_1627596521ZsSym4 instance SuppressUnusedWarnings Let_1627596521ZsSym5 instance SuppressUnusedWarnings Let_1627596521ZsSym6 instance SuppressUnusedWarnings Let_1627596521ZsSym7 instance SuppressUnusedWarnings Let_1627596521UsSym0 instance SuppressUnusedWarnings Let_1627596521UsSym1 instance SuppressUnusedWarnings Let_1627596521UsSym2 instance SuppressUnusedWarnings Let_1627596521UsSym3 instance SuppressUnusedWarnings Let_1627596521UsSym4 instance SuppressUnusedWarnings Let_1627596521UsSym5 instance SuppressUnusedWarnings Let_1627596521UsSym6 instance SuppressUnusedWarnings Let_1627596521UsSym7 instance SuppressUnusedWarnings Let_1627596344MinBySym0 instance SuppressUnusedWarnings Let_1627596344MinBySym1 instance SuppressUnusedWarnings Let_1627596344MinBySym2 instance SuppressUnusedWarnings Let_1627596344MinBySym3 instance SuppressUnusedWarnings Let_1627596344MinBySym4 instance SuppressUnusedWarnings Let_1627596375Scrutinee_1627594875Sym0 instance SuppressUnusedWarnings Let_1627596375Scrutinee_1627594875Sym1 instance SuppressUnusedWarnings Let_1627596375Scrutinee_1627594875Sym2 instance SuppressUnusedWarnings Let_1627596375Scrutinee_1627594875Sym3 instance SuppressUnusedWarnings Let_1627596375Scrutinee_1627594875Sym4 instance SuppressUnusedWarnings Let_1627596330XsSym0 instance SuppressUnusedWarnings Let_1627596330XsSym1 instance SuppressUnusedWarnings Let_1627596330XsSym2 instance SuppressUnusedWarnings Let_1627596255MaxBySym0 instance SuppressUnusedWarnings Let_1627596255MaxBySym1 instance SuppressUnusedWarnings Let_1627596255MaxBySym2 instance SuppressUnusedWarnings Let_1627596255MaxBySym3 instance SuppressUnusedWarnings Let_1627596255MaxBySym4 instance SuppressUnusedWarnings Let_1627596286Scrutinee_1627594869Sym0 instance SuppressUnusedWarnings Let_1627596286Scrutinee_1627594869Sym1 instance SuppressUnusedWarnings Let_1627596286Scrutinee_1627594869Sym2 instance SuppressUnusedWarnings Let_1627596286Scrutinee_1627594869Sym3 instance SuppressUnusedWarnings Let_1627596286Scrutinee_1627594869Sym4 instance SuppressUnusedWarnings Let_1627596241XsSym0 instance SuppressUnusedWarnings Let_1627596241XsSym1 instance SuppressUnusedWarnings Let_1627596241XsSym2 instance SuppressUnusedWarnings Let_1627596182LgoSym0 instance SuppressUnusedWarnings Let_1627596182LgoSym1 instance SuppressUnusedWarnings Let_1627596182LgoSym2 instance SuppressUnusedWarnings Let_1627596182LgoSym3 instance SuppressUnusedWarnings Let_1627596182LgoSym4 instance SuppressUnusedWarnings Let_1627596083LgoSym0 instance SuppressUnusedWarnings Let_1627596083LgoSym1 instance SuppressUnusedWarnings Let_1627596083LgoSym2 instance SuppressUnusedWarnings Let_1627596083LgoSym3 instance SuppressUnusedWarnings Let_1627596083LgoSym4 instance SuppressUnusedWarnings Let_1627596116Z'Sym0 instance SuppressUnusedWarnings Let_1627596116Z'Sym1 instance SuppressUnusedWarnings Let_1627596116Z'Sym2 instance SuppressUnusedWarnings Let_1627596116Z'Sym3 instance SuppressUnusedWarnings Let_1627596116Z'Sym4 instance SuppressUnusedWarnings Let_1627596116Z'Sym5 instance SuppressUnusedWarnings Let_1627596044XsSym0 instance SuppressUnusedWarnings Let_1627596044XsSym1 instance SuppressUnusedWarnings Let_1627596044XsSym2 instance SuppressUnusedWarnings Let_1627596044XsSym3 instance SuppressUnusedWarnings Let_1627595951Scrutinee_1627594825Sym0 instance SuppressUnusedWarnings Let_1627595951Scrutinee_1627594825Sym1 instance SuppressUnusedWarnings Let_1627595951Scrutinee_1627594825Sym2 instance SuppressUnusedWarnings Let_1627595907Scrutinee_1627594827Sym0 instance SuppressUnusedWarnings Let_1627595907Scrutinee_1627594827Sym1 instance SuppressUnusedWarnings Let_1627595907Scrutinee_1627594827Sym2 instance SuppressUnusedWarnings Let_1627595907Scrutinee_1627594827Sym3 instance SuppressUnusedWarnings Let_1627595860Scrutinee_1627594829Sym0 instance SuppressUnusedWarnings Let_1627595860Scrutinee_1627594829Sym1 instance SuppressUnusedWarnings Let_1627595860Scrutinee_1627594829Sym2 instance SuppressUnusedWarnings Let_1627595860Scrutinee_1627594829Sym3 instance SuppressUnusedWarnings Let_1627595840XsSym0 instance SuppressUnusedWarnings Let_1627595840XsSym1 instance SuppressUnusedWarnings Let_1627595840XsSym2 instance SuppressUnusedWarnings Let_1627595840XsSym3 instance SuppressUnusedWarnings Let_1627595678X_1627595686Sym0 instance SuppressUnusedWarnings Let_1627595678X_1627595686Sym1 instance SuppressUnusedWarnings Let_1627595678X_1627595686Sym2 instance SuppressUnusedWarnings Let_1627595678X_1627595686Sym3 instance SuppressUnusedWarnings Let_1627595678X_1627595680Sym0 instance SuppressUnusedWarnings Let_1627595678X_1627595680Sym1 instance SuppressUnusedWarnings Let_1627595678X_1627595680Sym2 instance SuppressUnusedWarnings Let_1627595678X_1627595680Sym3 instance SuppressUnusedWarnings Let_1627595678YsSym0 instance SuppressUnusedWarnings Let_1627595678YsSym1 instance SuppressUnusedWarnings Let_1627595678YsSym2 instance SuppressUnusedWarnings Let_1627595678YsSym3 instance SuppressUnusedWarnings Let_1627595678S''Sym0 instance SuppressUnusedWarnings Let_1627595678S''Sym1 instance SuppressUnusedWarnings Let_1627595678S''Sym2 instance SuppressUnusedWarnings Let_1627595678S''Sym3 instance SuppressUnusedWarnings Let_1627595678YSym0 instance SuppressUnusedWarnings Let_1627595678YSym1 instance SuppressUnusedWarnings Let_1627595678YSym2 instance SuppressUnusedWarnings Let_1627595678YSym3 instance SuppressUnusedWarnings Let_1627595678S'Sym0 instance SuppressUnusedWarnings Let_1627595678S'Sym1 instance SuppressUnusedWarnings Let_1627595678S'Sym2 instance SuppressUnusedWarnings Let_1627595678S'Sym3 instance SuppressUnusedWarnings Let_1627595511X_1627595519Sym0 instance SuppressUnusedWarnings Let_1627595511X_1627595519Sym1 instance SuppressUnusedWarnings Let_1627595511X_1627595519Sym2 instance SuppressUnusedWarnings Let_1627595511X_1627595519Sym3 instance SuppressUnusedWarnings Let_1627595511X_1627595513Sym0 instance SuppressUnusedWarnings Let_1627595511X_1627595513Sym1 instance SuppressUnusedWarnings Let_1627595511X_1627595513Sym2 instance SuppressUnusedWarnings Let_1627595511X_1627595513Sym3 instance SuppressUnusedWarnings Let_1627595511YSym0 instance SuppressUnusedWarnings Let_1627595511YSym1 instance SuppressUnusedWarnings Let_1627595511YSym2 instance SuppressUnusedWarnings Let_1627595511YSym3 instance SuppressUnusedWarnings Let_1627595511S''Sym0 instance SuppressUnusedWarnings Let_1627595511S''Sym1 instance SuppressUnusedWarnings Let_1627595511S''Sym2 instance SuppressUnusedWarnings Let_1627595511S''Sym3 instance SuppressUnusedWarnings Let_1627595511YsSym0 instance SuppressUnusedWarnings Let_1627595511YsSym1 instance SuppressUnusedWarnings Let_1627595511YsSym2 instance SuppressUnusedWarnings Let_1627595511YsSym3 instance SuppressUnusedWarnings Let_1627595511S'Sym0 instance SuppressUnusedWarnings Let_1627595511S'Sym1 instance SuppressUnusedWarnings Let_1627595511S'Sym2 instance SuppressUnusedWarnings Let_1627595511S'Sym3 instance SuppressUnusedWarnings Let_1627595475Scrutinee_1627594835Sym0 instance SuppressUnusedWarnings Let_1627595475Scrutinee_1627594835Sym1 instance SuppressUnusedWarnings Let_1627595453Scrutinee_1627594837Sym0 instance SuppressUnusedWarnings Let_1627595426Scrutinee_1627594839Sym0 instance SuppressUnusedWarnings Lambda_1627595214Sym0 instance SuppressUnusedWarnings Lambda_1627595214Sym1 instance SuppressUnusedWarnings Lambda_1627595214Sym2 instance SuppressUnusedWarnings Lambda_1627595180Sym0 instance SuppressUnusedWarnings Lambda_1627595180Sym1 instance SuppressUnusedWarnings Lambda_1627595180Sym2 instance SuppressUnusedWarnings Lambda_1627595144Sym0 instance SuppressUnusedWarnings Lambda_1627595144Sym1 instance SuppressUnusedWarnings Lambda_1627595144Sym2 instance SuppressUnusedWarnings Lambda_1627595106Sym0 instance SuppressUnusedWarnings Lambda_1627595106Sym1 instance SuppressUnusedWarnings Lambda_1627595106Sym2 instance SuppressUnusedWarnings Lambda_1627595066Sym0 instance SuppressUnusedWarnings Lambda_1627595066Sym1 instance SuppressUnusedWarnings Lambda_1627595066Sym2 instance SuppressUnusedWarnings Lambda_1627595024Sym0 instance SuppressUnusedWarnings Lambda_1627595024Sym1 instance SuppressUnusedWarnings Lambda_1627595024Sym2 instance SuppressUnusedWarnings Let_1627594980Scrutinee_1627594865Sym0 instance SuppressUnusedWarnings Let_1627594980Scrutinee_1627594865Sym1 instance SuppressUnusedWarnings Let_1627594980Scrutinee_1627594865Sym2 instance SuppressUnusedWarnings Let_1627594980Scrutinee_1627594865Sym3 instance SuppressUnusedWarnings Let_1627594922Scrutinee_1627594867Sym0 instance SuppressUnusedWarnings Let_1627594922Scrutinee_1627594867Sym1 instance SuppressUnusedWarnings Let_1627594922Scrutinee_1627594867Sym2 instance SuppressUnusedWarnings Let_1627594922Scrutinee_1627594867Sym3 instance SuppressUnusedWarnings Let_1627594902YsSym0 instance SuppressUnusedWarnings Let_1627594902YsSym1 instance SuppressUnusedWarnings Let_1627594902YsSym2 instance SuppressUnusedWarnings Let_1627594902YsSym3 instance SuppressUnusedWarnings Any_Sym0 instance SuppressUnusedWarnings Any_Sym1 -- | Defines functions and datatypes relating to the singleton for -- Maybe, including a singletons version of all the definitions in -- Data.Maybe. -- -- Because many of these definitions are produced by Template Haskell, it -- is not possible to create proper Haddock documentation. Please look up -- the corresponding operation in Data.Maybe. Also, please -- excuse the apparent repeated variable names. This is due to an -- interaction between Template Haskell and Haddock. module Data.Singletons.Prelude.Maybe -- | The singleton kind-indexed data family. type SMaybe (z_at8U :: Maybe a_a53P) = Sing z_at8U maybe_ :: b_a1wxW -> (a_a1wxX -> b_a1wxW) -> Maybe a_a1wxX -> b_a1wxW sMaybe_ :: Sing t_a1wyl -> Sing t_a1wym -> Sing t_a1wyn -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a1wyl) t_a1wym) t_a1wyn) sIsJust :: Sing t_a1wVO -> Sing (Apply IsJustSym0 t_a1wVO) sIsNothing :: Sing t_a1wVN -> Sing (Apply IsNothingSym0 t_a1wVN) sFromJust :: Sing t_a1wVM -> Sing (Apply FromJustSym0 t_a1wVM) sFromMaybe :: Sing t_a1wVK -> Sing t_a1wVL -> Sing (Apply (Apply FromMaybeSym0 t_a1wVK) t_a1wVL) sListToMaybe :: Sing t_a1wVI -> Sing (Apply ListToMaybeSym0 t_a1wVI) sMaybeToList :: Sing t_a1wVJ -> Sing (Apply MaybeToListSym0 t_a1wVJ) sCatMaybes :: Sing t_a1wVH -> Sing (Apply CatMaybesSym0 t_a1wVH) sMapMaybe :: Sing t_a1wVF -> Sing t_a1wVG -> Sing (Apply (Apply MapMaybeSym0 t_a1wVF) t_a1wVG) type NothingSym0 = Nothing data JustSym0 (l_at8S :: TyFun a_a53P (Maybe a_a53P)) type JustSym1 (t_at8R :: a_a53P) = Just t_at8R data Maybe_Sym0 (l_a1wy4 :: TyFun b_a1wxW (TyFun (TyFun a_a1wxX b_a1wxW -> *) (TyFun (Maybe a_a1wxX) b_a1wxW -> *) -> *)) data Maybe_Sym1 (l_a1wy7 :: b_a1wxW) (l_a1wy6 :: TyFun (TyFun a_a1wxX b_a1wxW -> *) (TyFun (Maybe a_a1wxX) b_a1wxW -> *)) data Maybe_Sym2 (l_a1wya :: b_a1wxW) (l_a1wyb :: TyFun a_a1wxX b_a1wxW -> *) (l_a1wy9 :: TyFun (Maybe a_a1wxX) b_a1wxW) type Maybe_Sym3 (t_a1wy1 :: b_a1wxW) (t_a1wy2 :: TyFun a_a1wxX b_a1wxW -> *) (t_a1wy3 :: Maybe a_a1wxX) = Maybe_ t_a1wy1 t_a1wy2 t_a1wy3 data IsJustSym0 (l_a1wVB :: TyFun (Maybe a_a1wTy) Bool) type IsJustSym1 (t_a1wVA :: Maybe a_a1wTy) = IsJust t_a1wVA data IsNothingSym0 (l_a1wVw :: TyFun (Maybe a_a1wTz) Bool) type IsNothingSym1 (t_a1wVv :: Maybe a_a1wTz) = IsNothing t_a1wVv data FromJustSym0 (l_a1wVr :: TyFun (Maybe a_a1wTA) a_a1wTA) type FromJustSym1 (t_a1wVq :: Maybe a_a1wTA) = FromJust t_a1wVq data FromMaybeSym0 (l_a1wV3 :: TyFun a_a1wTC (TyFun (Maybe a_a1wTC) a_a1wTC -> *)) data FromMaybeSym1 (l_a1wV6 :: a_a1wTC) (l_a1wV5 :: TyFun (Maybe a_a1wTC) a_a1wTC) type FromMaybeSym2 (t_a1wV1 :: a_a1wTC) (t_a1wV2 :: Maybe a_a1wTC) = FromMaybe t_a1wV1 t_a1wV2 data ListToMaybeSym0 (l_a1wUR :: TyFun [a_a1wTI] (Maybe a_a1wTI)) type ListToMaybeSym1 (t_a1wUQ :: [a_a1wTI]) = ListToMaybe t_a1wUQ data MaybeToListSym0 (l_a1wUX :: TyFun (Maybe a_a1wTG) [a_a1wTG]) type MaybeToListSym1 (t_a1wUW :: Maybe a_a1wTG) = MaybeToList t_a1wUW data CatMaybesSym0 (l_a1wUK :: TyFun [Maybe a_a1wTK] [a_a1wTK]) type CatMaybesSym1 (t_a1wUJ :: [Maybe a_a1wTK]) = CatMaybes t_a1wUJ data MapMaybeSym0 (l_a1wU1 :: TyFun (TyFun a_a1wTO (Maybe b_a1wTP) -> *) (TyFun [a_a1wTO] [b_a1wTP] -> *)) data MapMaybeSym1 (l_a1wU4 :: TyFun a_a1wTO (Maybe b_a1wTP) -> *) (l_a1wU3 :: TyFun [a_a1wTO] [b_a1wTP]) type MapMaybeSym2 (t_a1wTZ :: TyFun a_a1wTO (Maybe b_a1wTP) -> *) (t_a1wU0 :: [a_a1wTO]) = MapMaybe t_a1wTZ t_a1wU0 instance SuppressUnusedWarnings IsJustSym0 instance SuppressUnusedWarnings IsNothingSym0 instance SuppressUnusedWarnings FromJustSym0 instance SuppressUnusedWarnings FromMaybeSym0 instance SuppressUnusedWarnings FromMaybeSym1 instance SuppressUnusedWarnings MaybeToListSym0 instance SuppressUnusedWarnings ListToMaybeSym0 instance SuppressUnusedWarnings CatMaybesSym0 instance SuppressUnusedWarnings MapMaybeSym0 instance SuppressUnusedWarnings MapMaybeSym1 instance SuppressUnusedWarnings Let_1627754834Scrutinee_1627754755Sym0 instance SuppressUnusedWarnings Let_1627754834Scrutinee_1627754755Sym1 instance SuppressUnusedWarnings Let_1627754786Scrutinee_1627754757Sym0 instance SuppressUnusedWarnings Let_1627754786Scrutinee_1627754757Sym1 instance SuppressUnusedWarnings Let_1627754786Scrutinee_1627754757Sym2 instance SuppressUnusedWarnings Let_1627754772RsSym0 instance SuppressUnusedWarnings Let_1627754772RsSym1 instance SuppressUnusedWarnings Let_1627754772RsSym2 instance SuppressUnusedWarnings Maybe_Sym0 instance SuppressUnusedWarnings Maybe_Sym1 instance SuppressUnusedWarnings Maybe_Sym2 -- | Mimics the Haskell Prelude, but with singleton types. Includes the -- basic singleton definitions. Note: This is currently very incomplete! -- -- Because many of these definitions are produced by Template Haskell, it -- is not possible to create proper Haddock documentation. Also, please -- excuse the apparent repeated variable names. This is due to an -- interaction between Template Haskell and Haddock. module Data.Singletons.Prelude -- | The singleton kind-indexed data family. type SBool (z_at9x :: Bool) = Sing z_at9x type SList (z_at97 :: [a_12]) = Sing z_at97 type SMaybe (z_at8U :: Maybe a_a53P) = Sing z_at8U type SEither (z_at9o :: Either a_a8tL b_a8tM) = Sing z_at9o type SOrdering (z_at9y :: Ordering) = Sing z_at9y type STuple0 (z_at9z :: ()) = Sing z_at9z type STuple2 (z_at9J :: (a_12, b_13)) = Sing z_at9J type STuple3 (z_ata7 :: (a_12, b_13, c_14)) = Sing z_ata7 type STuple4 (z_ataG :: (a_12, b_13, c_14, d_15)) = Sing z_ataG type STuple5 (z_atbr :: (a_12, b_13, c_14, d_15, e_16)) = Sing z_atbr type STuple6 (z_atcp :: (a_12, b_13, c_14, d_15, e_16, f_17)) = Sing z_atcp type STuple7 (z_atdB :: (a_12, b_13, c_14, d_15, e_16, f_17, g_18)) = Sing z_atdB -- | Type-level If. If True a b ==> a; If -- False a b ==> b -- | Conditional over singletons sIf :: Sing a -> Sing b -> Sing c -> Sing (If a b c) sNot :: Sing t_aA2f -> Sing (Apply NotSym0 t_aA2f) (%:&&) :: Sing t_aA2i -> Sing t_aA2j -> Sing (Apply (Apply (:&&$) t_aA2i) t_aA2j) (%:||) :: Sing t_aA2g -> Sing t_aA2h -> Sing (Apply (Apply (:||$) t_aA2g) t_aA2h) type Otherwise = (TrueSym0 :: Bool) sOtherwise :: Sing OtherwiseSym0 -- | The promotion of error data ErrorSym0 (t1 :: TyFun k1 k2) -- | The singleton for error sError :: Sing (str :: Symbol) -> a sId :: Sing t_aId0 -> Sing (Apply IdSym0 t_aId0) sConst :: Sing t_aIcW -> Sing t_aIcX -> Sing (Apply (Apply ConstSym0 t_aIcW) t_aIcX) (%:.) :: Sing t_aIcT -> Sing t_aIcU -> Sing t_aIcV -> Sing (Apply (Apply (Apply (:.$) t_aIcT) t_aIcU) t_aIcV) (%$) :: Sing f -> Sing x -> Sing ((($$) @@ f) @@ x) (%$!) :: Sing f -> Sing x -> Sing ((($!$) @@ f) @@ x) sFlip :: Sing t_aIcQ -> Sing t_aIcR -> Sing t_aIcS -> Sing (Apply (Apply (Apply FlipSym0 t_aIcQ) t_aIcR) t_aIcS) sAsTypeOf :: Sing t_aIcY -> Sing t_aIcZ -> Sing (Apply (Apply AsTypeOfSym0 t_aIcY) t_aIcZ) sSeq :: Sing t_aIcO -> Sing t_aIcP -> Sing (Apply (Apply SeqSym0 t_aIcO) t_aIcP) sMap :: Sing t_aId3 -> Sing t_aId4 -> Sing (Apply (Apply MapSym0 t_aId3) t_aId4) (%:++) :: Sing t_aId1 -> Sing t_aId2 -> Sing (Apply (Apply (:++$) t_aId1) t_aId2) sHead :: Sing t_aRT8 -> Sing (Apply HeadSym0 t_aRT8) sLast :: Sing t_aRT7 -> Sing (Apply LastSym0 t_aRT7) sTail :: Sing t_aRT6 -> Sing (Apply TailSym0 t_aRT6) sInit :: Sing t_aRT5 -> Sing (Apply InitSym0 t_aRT5) sNull :: Sing t_aRT4 -> Sing (Apply NullSym0 t_aRT4) sReverse :: Sing t_aRT1 -> Sing (Apply ReverseSym0 t_aRT1) sFoldl :: Sing t_aRSE -> Sing t_aRSF -> Sing t_aRSG -> Sing (Apply (Apply (Apply FoldlSym0 t_aRSE) t_aRSF) t_aRSG) sFoldl1 :: Sing t_aRSH -> Sing t_aRSI -> Sing (Apply (Apply Foldl1Sym0 t_aRSH) t_aRSI) sFoldr :: Sing t_aId5 -> Sing t_aId6 -> Sing t_aId7 -> Sing (Apply (Apply (Apply FoldrSym0 t_aId5) t_aId6) t_aId7) sFoldr1 :: Sing t_aRSx -> Sing t_aRSy -> Sing (Apply (Apply Foldr1Sym0 t_aRSx) t_aRSy) sAnd :: Sing t_aRSt -> Sing (Apply AndSym0 t_aRSt) sOr :: Sing t_aRSs -> Sing (Apply OrSym0 t_aRSs) sAny_ :: Sing t_aPcj -> Sing t_aPck -> Sing (Apply (Apply Any_Sym0 t_aPcj) t_aPck) sAll :: Sing t_aRSq -> Sing t_aRSr -> Sing (Apply (Apply AllSym0 t_aRSq) t_aRSr) sConcat :: Sing t_aRSw -> Sing (Apply ConcatSym0 t_aRSw) sConcatMap :: Sing t_aRSu -> Sing t_aRSv -> Sing (Apply (Apply ConcatMapSym0 t_aRSu) t_aRSv) sScanl :: Sing t_aRSl -> Sing t_aRSm -> Sing t_aRSn -> Sing (Apply (Apply (Apply ScanlSym0 t_aRSl) t_aRSm) t_aRSn) sScanl1 :: Sing t_aRSo -> Sing t_aRSp -> Sing (Apply (Apply Scanl1Sym0 t_aRSo) t_aRSp) sScanr :: Sing t_aRSi -> Sing t_aRSj -> Sing t_aRSk -> Sing (Apply (Apply (Apply ScanrSym0 t_aRSi) t_aRSj) t_aRSk) sScanr1 :: Sing t_aRSg -> Sing t_aRSh -> Sing (Apply (Apply Scanr1Sym0 t_aRSg) t_aRSh) sElem :: SEq (KProxy :: KProxy a_aRfM) => Sing t_aRS0 -> Sing t_aRS1 -> Sing (Apply (Apply ElemSym0 t_aRS0) t_aRS1) sNotElem :: SEq (KProxy :: KProxy a_aRfQ) => Sing t_aRRY -> Sing t_aRRZ -> Sing (Apply (Apply NotElemSym0 t_aRRY) t_aRRZ) sZip :: Sing t_aRRW -> Sing t_aRRX -> Sing (Apply (Apply ZipSym0 t_aRRW) t_aRRX) sZip3 :: Sing t_aRRT -> Sing t_aRRU -> Sing t_aRRV -> Sing (Apply (Apply (Apply Zip3Sym0 t_aRRT) t_aRRU) t_aRRV) sZipWith :: Sing t_aRRQ -> Sing t_aRRR -> Sing t_aRRS -> Sing (Apply (Apply (Apply ZipWithSym0 t_aRRQ) t_aRRR) t_aRRS) sZipWith3 :: Sing t_aRRM -> Sing t_aRRN -> Sing t_aRRO -> Sing t_aRRP -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_aRRM) t_aRRN) t_aRRO) t_aRRP) sUnzip :: Sing t_aRRL -> Sing (Apply UnzipSym0 t_aRRL) sUnzip3 :: Sing t_aRRK -> Sing (Apply Unzip3Sym0 t_aRRK) sMaybe_ :: Sing t_a1wyl -> Sing t_a1wym -> Sing t_a1wyn -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a1wyl) t_a1wym) t_a1wyn) sEither_ :: Sing t_aL1H -> Sing t_aL1I -> Sing t_aL1J -> Sing (Apply (Apply (Apply Either_Sym0 t_aL1H) t_aL1I) t_aL1J) sFst :: Sing t_aNL6 -> Sing (Apply FstSym0 t_aNL6) sSnd :: Sing t_aNL5 -> Sing (Apply SndSym0 t_aNL5) sCurry :: Sing t_aNL2 -> Sing t_aNL3 -> Sing t_aNL4 -> Sing (Apply (Apply (Apply CurrySym0 t_aNL2) t_aNL3) t_aNL4) sUncurry :: Sing t_aNL7 -> Sing t_aNL8 -> Sing (Apply (Apply UncurrySym0 t_aNL7) t_aNL8) -- | (Kind) This is the kind of type-level symbols. data Symbol :: * either_ :: (a_aL1f -> c_aL1g) -> (b_aL1h -> c_aL1g) -> Either a_aL1f b_aL1h -> c_aL1g maybe_ :: b_a1wxW -> (a_a1wxX -> b_a1wxW) -> Maybe a_a1wxX -> b_a1wxW bool_ :: a_azPT -> a_azPT -> Bool -> a_azPT any_ :: (a_aPc2 -> Bool) -> [a_aPc2] -> Bool type FalseSym0 = False type TrueSym0 = True data NotSym0 (l_aA1Q :: TyFun Bool Bool) type NotSym1 (t_aA1P :: Bool) = Not t_aA1P data (:&&$) (l_aA26 :: TyFun Bool (TyFun Bool Bool -> *)) data (:&&$$) (l_aA29 :: Bool) (l_aA28 :: TyFun Bool Bool) type (:&&$$$) (t_aA24 :: Bool) (t_aA25 :: Bool) = (:&&) t_aA24 t_aA25 data (:||$) (l_aA1V :: TyFun Bool (TyFun Bool Bool -> *)) data (:||$$) (l_aA1Y :: Bool) (l_aA1X :: TyFun Bool Bool) type (:||$$$) (t_aA1T :: Bool) (t_aA1U :: Bool) = (:||) t_aA1T t_aA1U type OtherwiseSym0 = Otherwise type NothingSym0 = Nothing data JustSym0 (l_at8S :: TyFun a_a53P (Maybe a_a53P)) type JustSym1 (t_at8R :: a_a53P) = Just t_at8R data Maybe_Sym0 (l_a1wy4 :: TyFun b_a1wxW (TyFun (TyFun a_a1wxX b_a1wxW -> *) (TyFun (Maybe a_a1wxX) b_a1wxW -> *) -> *)) data Maybe_Sym1 (l_a1wy7 :: b_a1wxW) (l_a1wy6 :: TyFun (TyFun a_a1wxX b_a1wxW -> *) (TyFun (Maybe a_a1wxX) b_a1wxW -> *)) data Maybe_Sym2 (l_a1wya :: b_a1wxW) (l_a1wyb :: TyFun a_a1wxX b_a1wxW -> *) (l_a1wy9 :: TyFun (Maybe a_a1wxX) b_a1wxW) type Maybe_Sym3 (t_a1wy1 :: b_a1wxW) (t_a1wy2 :: TyFun a_a1wxX b_a1wxW -> *) (t_a1wy3 :: Maybe a_a1wxX) = Maybe_ t_a1wy1 t_a1wy2 t_a1wy3 data LeftSym0 (l_at9j :: TyFun a_a8tL (Either a_a8tL b_a8tM)) type LeftSym1 (t_at9i :: a_a8tL) = Left t_at9i data RightSym0 (l_at9m :: TyFun b_a8tM (Either a_a8tL b_a8tM)) type RightSym1 (t_at9l :: b_a8tM) = Right t_at9l data Either_Sym0 (l_aL1p :: TyFun (TyFun a_aL1f c_aL1g -> *) (TyFun (TyFun b_aL1h c_aL1g -> *) (TyFun (Either a_aL1f b_aL1h) c_aL1g -> *) -> *)) data Either_Sym1 (l_aL1s :: TyFun a_aL1f c_aL1g -> *) (l_aL1r :: TyFun (TyFun b_aL1h c_aL1g -> *) (TyFun (Either a_aL1f b_aL1h) c_aL1g -> *)) data Either_Sym2 (l_aL1v :: TyFun a_aL1f c_aL1g -> *) (l_aL1w :: TyFun b_aL1h c_aL1g -> *) (l_aL1u :: TyFun (Either a_aL1f b_aL1h) c_aL1g) type Either_Sym3 (t_aL1m :: TyFun a_aL1f c_aL1g -> *) (t_aL1n :: TyFun b_aL1h c_aL1g -> *) (t_aL1o :: Either a_aL1f b_aL1h) = Either_ t_aL1m t_aL1n t_aL1o type Tuple0Sym0 = '() data Tuple2Sym0 (l_at9E :: TyFun a_12 (TyFun b_13 (a_12, b_13) -> *)) data Tuple2Sym1 (l_at9H :: a_12) (l_at9G :: TyFun b_13 (a_12, b_13)) type Tuple2Sym2 (t_at9C :: a_12) (t_at9D :: b_13) = '(t_at9C, t_at9D) data Tuple3Sym0 (l_at9Y :: TyFun a_12 (TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *) -> *)) data Tuple3Sym1 (l_ata1 :: a_12) (l_ata0 :: TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *)) data Tuple3Sym2 (l_ata4 :: a_12) (l_ata5 :: b_13) (l_ata3 :: TyFun c_14 (a_12, b_13, c_14)) type Tuple3Sym3 (t_at9V :: a_12) (t_at9W :: b_13) (t_at9X :: c_14) = '(t_at9V, t_at9W, t_at9X) data Tuple4Sym0 (l_atas :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *) -> *)) data Tuple4Sym1 (l_atav :: a_12) (l_atau :: TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *)) data Tuple4Sym2 (l_atay :: a_12) (l_ataz :: b_13) (l_atax :: TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *)) data Tuple4Sym3 (l_ataC :: a_12) (l_ataD :: b_13) (l_ataE :: c_14) (l_ataB :: TyFun d_15 (a_12, b_13, c_14, d_15)) type Tuple4Sym4 (t_atao :: a_12) (t_atap :: b_13) (t_ataq :: c_14) (t_atar :: d_15) = '(t_atao, t_atap, t_ataq, t_atar) data Tuple5Sym0 (l_atb7 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *) -> *) -> *)) data Tuple5Sym1 (l_atba :: a_12) (l_atb9 :: TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *) -> *)) data Tuple5Sym2 (l_atbd :: a_12) (l_atbe :: b_13) (l_atbc :: TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *)) data Tuple5Sym3 (l_atbh :: a_12) (l_atbi :: b_13) (l_atbj :: c_14) (l_atbg :: TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *)) data Tuple5Sym4 (l_atbm :: a_12) (l_atbn :: b_13) (l_atbo :: c_14) (l_atbp :: d_15) (l_atbl :: TyFun e_16 (a_12, b_13, c_14, d_15, e_16)) type Tuple5Sym5 (t_atb2 :: a_12) (t_atb3 :: b_13) (t_atb4 :: c_14) (t_atb5 :: d_15) (t_atb6 :: e_16) = '(t_atb2, t_atb3, t_atb4, t_atb5, t_atb6) data Tuple6Sym0 (l_atbY :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *) -> *) -> *) -> *)) data Tuple6Sym1 (l_atc1 :: a_12) (l_atc0 :: TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *) -> *) -> *)) data Tuple6Sym2 (l_atc4 :: a_12) (l_atc5 :: b_13) (l_atc3 :: TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *) -> *)) data Tuple6Sym3 (l_atc8 :: a_12) (l_atc9 :: b_13) (l_atca :: c_14) (l_atc7 :: TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *)) data Tuple6Sym4 (l_atcd :: a_12) (l_atce :: b_13) (l_atcf :: c_14) (l_atcg :: d_15) (l_atcc :: TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *)) data Tuple6Sym5 (l_atcj :: a_12) (l_atck :: b_13) (l_atcl :: c_14) (l_atcm :: d_15) (l_atcn :: e_16) (l_atci :: TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17)) type Tuple6Sym6 (t_atbS :: a_12) (t_atbT :: b_13) (t_atbU :: c_14) (t_atbV :: d_15) (t_atbW :: e_16) (t_atbX :: f_17) = '(t_atbS, t_atbT, t_atbU, t_atbV, t_atbW, t_atbX) data Tuple7Sym0 (l_atd2 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *) -> *) -> *) -> *)) data Tuple7Sym1 (l_atd5 :: a_12) (l_atd4 :: TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *) -> *) -> *)) data Tuple7Sym2 (l_atd8 :: a_12) (l_atd9 :: b_13) (l_atd7 :: TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *) -> *)) data Tuple7Sym3 (l_atdc :: a_12) (l_atdd :: b_13) (l_atde :: c_14) (l_atdb :: TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *)) data Tuple7Sym4 (l_atdh :: a_12) (l_atdi :: b_13) (l_atdj :: c_14) (l_atdk :: d_15) (l_atdg :: TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *)) data Tuple7Sym5 (l_atdn :: a_12) (l_atdo :: b_13) (l_atdp :: c_14) (l_atdq :: d_15) (l_atdr :: e_16) (l_atdm :: TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *)) data Tuple7Sym6 (l_atdu :: a_12) (l_atdv :: b_13) (l_atdw :: c_14) (l_atdx :: d_15) (l_atdy :: e_16) (l_atdz :: f_17) (l_atdt :: TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18)) type Tuple7Sym7 (t_atcV :: a_12) (t_atcW :: b_13) (t_atcX :: c_14) (t_atcY :: d_15) (t_atcZ :: e_16) (t_atd0 :: f_17) (t_atd1 :: g_18) = '(t_atcV, t_atcW, t_atcX, t_atcY, t_atcZ, t_atd0, t_atd1) data FstSym0 (l_aNKL :: TyFun (a_aNJV, b_aNJW) a_aNJV) type FstSym1 (t_aNKK :: (a_aNJV, b_aNJW)) = Fst t_aNKK data SndSym0 (l_aNKF :: TyFun (a_aNJY, b_aNJZ) b_aNJZ) type SndSym1 (t_aNKE :: (a_aNJY, b_aNJZ)) = Snd t_aNKE data CurrySym0 (l_aNKp :: TyFun (TyFun (a_aNK1, b_aNK2) c_aNK3 -> *) (TyFun a_aNK1 (TyFun b_aNK2 c_aNK3 -> *) -> *)) data CurrySym1 (l_aNKs :: TyFun (a_aNK1, b_aNK2) c_aNK3 -> *) (l_aNKr :: TyFun a_aNK1 (TyFun b_aNK2 c_aNK3 -> *)) data CurrySym2 (l_aNKv :: TyFun (a_aNK1, b_aNK2) c_aNK3 -> *) (l_aNKw :: a_aNK1) (l_aNKu :: TyFun b_aNK2 c_aNK3) type CurrySym3 (t_aNKm :: TyFun (a_aNK1, b_aNK2) c_aNK3 -> *) (t_aNKn :: a_aNK1) (t_aNKo :: b_aNK2) = Curry t_aNKm t_aNKn t_aNKo data UncurrySym0 (l_aNKS :: TyFun (TyFun a_aNK7 (TyFun b_aNK8 c_aNK9 -> *) -> *) (TyFun (a_aNK7, b_aNK8) c_aNK9 -> *)) data UncurrySym1 (l_aNKV :: TyFun a_aNK7 (TyFun b_aNK8 c_aNK9 -> *) -> *) (l_aNKU :: TyFun (a_aNK7, b_aNK8) c_aNK9) type UncurrySym2 (t_aNKQ :: TyFun a_aNK7 (TyFun b_aNK8 c_aNK9 -> *) -> *) (t_aNKR :: (a_aNK7, b_aNK8)) = Uncurry t_aNKQ t_aNKR data IdSym0 (l_aIbD :: TyFun a_aI9H a_aI9H) type IdSym1 (t_aIbC :: a_aI9H) = Id t_aIbC data ConstSym0 (l_aIbe :: TyFun a_aI9J (TyFun b_aI9K a_aI9J -> *)) data ConstSym1 (l_aIbh :: a_aI9J) (l_aIbg :: TyFun b_aI9K a_aI9J) type ConstSym2 (t_aIbc :: a_aI9J) (t_aIbd :: b_aI9K) = Const t_aIbc t_aIbd data (:.$) (l_aIay :: TyFun (TyFun b_aI9M c_aI9N -> *) (TyFun (TyFun a_aI9O b_aI9M -> *) (TyFun a_aI9O c_aI9N -> *) -> *)) data (:.$$) (l_aIaB :: TyFun b_aI9M c_aI9N -> *) (l_aIaA :: TyFun (TyFun a_aI9O b_aI9M -> *) (TyFun a_aI9O c_aI9N -> *)) data (:.$$$) (l_aIaE :: TyFun b_aI9M c_aI9N -> *) (l_aIaF :: TyFun a_aI9O b_aI9M -> *) (l_aIaD :: TyFun a_aI9O c_aI9N) data ($$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> * data ($$$) :: (TyFun a b -> *) -> TyFun a b -> * type ($$$$) a b = ($) a b data ($!$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> * data ($!$$) :: (TyFun a b -> *) -> TyFun a b -> * type ($!$$$) a b = ($!) a b data FlipSym0 (l_aIag :: TyFun (TyFun a_aI9S (TyFun b_aI9T c_aI9U -> *) -> *) (TyFun b_aI9T (TyFun a_aI9S c_aI9U -> *) -> *)) data FlipSym1 (l_aIaj :: TyFun a_aI9S (TyFun b_aI9T c_aI9U -> *) -> *) (l_aIai :: TyFun b_aI9T (TyFun a_aI9S c_aI9U -> *)) data FlipSym2 (l_aIam :: TyFun a_aI9S (TyFun b_aI9T c_aI9U -> *) -> *) (l_aIan :: b_aI9T) (l_aIal :: TyFun a_aI9S c_aI9U) data AsTypeOfSym0 (l_aIbt :: TyFun a_aI9Y (TyFun a_aI9Y a_aI9Y -> *)) data AsTypeOfSym1 (l_aIbw :: a_aI9Y) (l_aIbv :: TyFun a_aI9Y a_aI9Y) type AsTypeOfSym2 (t_aIbr :: a_aI9Y) (t_aIbs :: a_aI9Y) = AsTypeOf t_aIbr t_aIbs data SeqSym0 (l_aIa4 :: TyFun a_aI9Z (TyFun b_aIa0 b_aIa0 -> *)) data SeqSym1 (l_aIa7 :: a_aI9Z) (l_aIa6 :: TyFun b_aIa0 b_aIa0) type SeqSym2 (t_aIa2 :: a_aI9Z) (t_aIa3 :: b_aIa0) = Seq t_aIa2 t_aIa3 data (:$) (l_at92 :: TyFun a_12 (TyFun [a_12] [a_12] -> *)) data (:$$) (l_at95 :: a_12) (l_at94 :: TyFun [a_12] [a_12]) type (:$$$) (t_at90 :: a_12) (t_at91 :: [a_12]) = (:) t_at90 t_at91 type NilSym0 = '[] data MapSym0 (l_aIbW :: TyFun (TyFun a_aI9x b_aI9y -> *) (TyFun [a_aI9x] [b_aI9y] -> *)) data MapSym1 (l_aIbZ :: TyFun a_aI9x b_aI9y -> *) (l_aIbY :: TyFun [a_aI9x] [b_aI9y]) type MapSym2 (t_aIbU :: TyFun a_aI9x b_aI9y -> *) (t_aIbV :: [a_aI9x]) = Map t_aIbU t_aIbV data ReverseSym0 (l_aRPD :: TyFun [a_aRd6] [a_aRd6]) type ReverseSym1 (t_aRPC :: [a_aRd6]) = Reverse t_aRPC data (:++$$) (l_aIbM :: [a_aI9C]) (l_aIbL :: TyFun [a_aI9C] [a_aI9C]) data (:++$) (l_aIbJ :: TyFun [a_aI9C] (TyFun [a_aI9C] [a_aI9C] -> *)) data HeadSym0 (l_aRRr :: TyFun [a_aRcL] a_aRcL) type HeadSym1 (t_aRRq :: [a_aRcL]) = Head t_aRRq data LastSym0 (l_aRQV :: TyFun [a_aRcN] a_aRcN) type LastSym1 (t_aRQU :: [a_aRcN]) = Last t_aRQU data TailSym0 (l_aRQP :: TyFun [a_aRcV] [a_aRcV]) type TailSym1 (t_aRQO :: [a_aRcV]) = Tail t_aRQO data InitSym0 (l_aRQj :: TyFun [a_aRcX] [a_aRcX]) type InitSym1 (t_aRQi :: [a_aRcX]) = Init t_aRQi data NullSym0 (l_aRQd :: TyFun [a_aRd5] Bool) type NullSym1 (t_aRQc :: [a_aRd5]) = Null t_aRQc data FoldlSym0 (l_aRE3 :: TyFun (TyFun b_aRdP (TyFun a_aRdQ b_aRdP -> *) -> *) (TyFun b_aRdP (TyFun [a_aRdQ] b_aRdP -> *) -> *)) data FoldlSym1 (l_aRE6 :: TyFun b_aRdP (TyFun a_aRdQ b_aRdP -> *) -> *) (l_aRE5 :: TyFun b_aRdP (TyFun [a_aRdQ] b_aRdP -> *)) data FoldlSym2 (l_aRE9 :: TyFun b_aRdP (TyFun a_aRdQ b_aRdP -> *) -> *) (l_aREa :: b_aRdP) (l_aRE8 :: TyFun [a_aRdQ] b_aRdP) type FoldlSym3 (t_aRE0 :: TyFun b_aRdP (TyFun a_aRdQ b_aRdP -> *) -> *) (t_aRE1 :: b_aRdP) (t_aRE2 :: [a_aRdQ]) = Foldl t_aRE0 t_aRE1 t_aRE2 data Foldl1Sym0 (l_aRER :: TyFun (TyFun a_aRea (TyFun a_aRea a_aRea -> *) -> *) (TyFun [a_aRea] a_aRea -> *)) data Foldl1Sym1 (l_aREU :: TyFun a_aRea (TyFun a_aRea a_aRea -> *) -> *) (l_aRET :: TyFun [a_aRea] a_aRea) type Foldl1Sym2 (t_aREP :: TyFun a_aRea (TyFun a_aRea a_aRea -> *) -> *) (t_aREQ :: [a_aRea]) = Foldl1 t_aREP t_aREQ data FoldrSym0 (l_aIca :: TyFun (TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (TyFun b_aI9r (TyFun [a_aI9q] b_aI9r -> *) -> *)) data FoldrSym1 (l_aIcd :: TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (l_aIcc :: TyFun b_aI9r (TyFun [a_aI9q] b_aI9r -> *)) data FoldrSym2 (l_aIcg :: TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (l_aIch :: b_aI9r) (l_aIcf :: TyFun [a_aI9q] b_aI9r) type FoldrSym3 (t_aIc7 :: TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (t_aIc8 :: b_aI9r) (t_aIc9 :: [a_aI9q]) = Foldr t_aIc7 t_aIc8 t_aIc9 data Foldr1Sym0 (l_aRBR :: TyFun (TyFun a_aRei (TyFun a_aRei a_aRei -> *) -> *) (TyFun [a_aRei] a_aRei -> *)) data Foldr1Sym1 (l_aRBU :: TyFun a_aRei (TyFun a_aRei a_aRei -> *) -> *) (l_aRBT :: TyFun [a_aRei] a_aRei) type Foldr1Sym2 (t_aRBP :: TyFun a_aRei (TyFun a_aRei a_aRei -> *) -> *) (t_aRBQ :: [a_aRei]) = Foldr1 t_aRBP t_aRBQ data ConcatSym0 (l_aRBL :: TyFun [[a_aRen]] [a_aRen]) type ConcatSym1 (t_aRBK :: [[a_aRen]]) = Concat t_aRBK data ConcatMapSym0 (l_aRBx :: TyFun (TyFun a_aReo [b_aRep] -> *) (TyFun [a_aReo] [b_aRep] -> *)) data ConcatMapSym1 (l_aRBA :: TyFun a_aReo [b_aRep] -> *) (l_aRBz :: TyFun [a_aReo] [b_aRep]) type ConcatMapSym2 (t_aRBv :: TyFun a_aReo [b_aRep] -> *) (t_aRBw :: [a_aReo]) = ConcatMap t_aRBv t_aRBw data AndSym0 (l_aRBq :: TyFun [Bool] Bool) type AndSym1 (t_aRBp :: [Bool]) = And t_aRBp data OrSym0 (l_aRBk :: TyFun [Bool] Bool) type OrSym1 (t_aRBj :: [Bool]) = Or t_aRBj data Any_Sym0 (l_aPc8 :: TyFun (TyFun a_aPc2 Bool -> *) (TyFun [a_aPc2] Bool -> *)) data Any_Sym1 (l_aPcb :: TyFun a_aPc2 Bool -> *) (l_aPca :: TyFun [a_aPc2] Bool) type Any_Sym2 (t_aPc6 :: TyFun a_aPc2 Bool -> *) (t_aPc7 :: [a_aPc2]) = Any_ t_aPc6 t_aPc7 data AllSym0 (l_aRB8 :: TyFun (TyFun a_aRev Bool -> *) (TyFun [a_aRev] Bool -> *)) data AllSym1 (l_aRBb :: TyFun a_aRev Bool -> *) (l_aRBa :: TyFun [a_aRev] Bool) type AllSym2 (t_aRB6 :: TyFun a_aRev Bool -> *) (t_aRB7 :: [a_aRev]) = All t_aRB6 t_aRB7 data ScanlSym0 (l_aRAk :: TyFun (TyFun b_aRez (TyFun a_aReA b_aRez -> *) -> *) (TyFun b_aRez (TyFun [a_aReA] [b_aRez] -> *) -> *)) data ScanlSym1 (l_aRAn :: TyFun b_aRez (TyFun a_aReA b_aRez -> *) -> *) (l_aRAm :: TyFun b_aRez (TyFun [a_aReA] [b_aRez] -> *)) data ScanlSym2 (l_aRAq :: TyFun b_aRez (TyFun a_aReA b_aRez -> *) -> *) (l_aRAr :: b_aRez) (l_aRAp :: TyFun [a_aReA] [b_aRez]) type ScanlSym3 (t_aRAh :: TyFun b_aRez (TyFun a_aReA b_aRez -> *) -> *) (t_aRAi :: b_aRez) (t_aRAj :: [a_aReA]) = Scanl t_aRAh t_aRAi t_aRAj data Scanl1Sym0 (l_aRAV :: TyFun (TyFun a_aReG (TyFun a_aReG a_aReG -> *) -> *) (TyFun [a_aReG] [a_aReG] -> *)) data Scanl1Sym1 (l_aRAY :: TyFun a_aReG (TyFun a_aReG a_aReG -> *) -> *) (l_aRAX :: TyFun [a_aReG] [a_aReG]) type Scanl1Sym2 (t_aRAT :: TyFun a_aReG (TyFun a_aReG a_aReG -> *) -> *) (t_aRAU :: [a_aReG]) = Scanl1 t_aRAT t_aRAU data ScanrSym0 (l_aRzz :: TyFun (TyFun a_aReK (TyFun b_aReL b_aReL -> *) -> *) (TyFun b_aReL (TyFun [a_aReK] [b_aReL] -> *) -> *)) data ScanrSym1 (l_aRzC :: TyFun a_aReK (TyFun b_aReL b_aReL -> *) -> *) (l_aRzB :: TyFun b_aReL (TyFun [a_aReK] [b_aReL] -> *)) data ScanrSym2 (l_aRzF :: TyFun a_aReK (TyFun b_aReL b_aReL -> *) -> *) (l_aRzG :: b_aReL) (l_aRzE :: TyFun [a_aReK] [b_aReL]) type ScanrSym3 (t_aRzw :: TyFun a_aReK (TyFun b_aReL b_aReL -> *) -> *) (t_aRzx :: b_aReL) (t_aRzy :: [a_aReK]) = Scanr t_aRzw t_aRzx t_aRzy data Scanr1Sym0 (l_aRyy :: TyFun (TyFun a_aReT (TyFun a_aReT a_aReT -> *) -> *) (TyFun [a_aReT] [a_aReT] -> *)) data Scanr1Sym1 (l_aRyB :: TyFun a_aReT (TyFun a_aReT a_aReT -> *) -> *) (l_aRyA :: TyFun [a_aReT] [a_aReT]) type Scanr1Sym2 (t_aRyw :: TyFun a_aReT (TyFun a_aReT a_aReT -> *) -> *) (t_aRyx :: [a_aReT]) = Scanr1 t_aRyw t_aRyx data ElemSym0 (l_aRrz :: TyFun a_aRfM (TyFun [a_aRfM] Bool -> *)) data ElemSym1 (l_aRrC :: a_aRfM) (l_aRrB :: TyFun [a_aRfM] Bool) type ElemSym2 (t_aRrx :: a_aRfM) (t_aRry :: [a_aRfM]) = Elem t_aRrx t_aRry data NotElemSym0 (l_aRrm :: TyFun a_aRfQ (TyFun [a_aRfQ] Bool -> *)) data NotElemSym1 (l_aRrp :: a_aRfQ) (l_aRro :: TyFun [a_aRfQ] Bool) type NotElemSym2 (t_aRrk :: a_aRfQ) (t_aRrl :: [a_aRfQ]) = NotElem t_aRrk t_aRrl data ZipSym0 (l_aRr5 :: TyFun [a_aRfU] (TyFun [b_aRfV] [(a_aRfU, b_aRfV)] -> *)) data ZipSym1 (l_aRr8 :: [a_aRfU]) (l_aRr7 :: TyFun [b_aRfV] [(a_aRfU, b_aRfV)]) type ZipSym2 (t_aRr3 :: [a_aRfU]) (t_aRr4 :: [b_aRfV]) = Zip t_aRr3 t_aRr4 data Zip3Sym0 (l_aRqt :: TyFun [a_aRg0] (TyFun [b_aRg1] (TyFun [c_aRg2] [(a_aRg0, b_aRg1, c_aRg2)] -> *) -> *)) data Zip3Sym1 (l_aRqw :: [a_aRg0]) (l_aRqv :: TyFun [b_aRg1] (TyFun [c_aRg2] [(a_aRg0, b_aRg1, c_aRg2)] -> *)) data Zip3Sym2 (l_aRqz :: [a_aRg0]) (l_aRqA :: [b_aRg1]) (l_aRqy :: TyFun [c_aRg2] [(a_aRg0, b_aRg1, c_aRg2)]) type Zip3Sym3 (t_aRqq :: [a_aRg0]) (t_aRqr :: [b_aRg1]) (t_aRqs :: [c_aRg2]) = Zip3 t_aRqq t_aRqr t_aRqs data ZipWithSym0 (l_aRq2 :: TyFun (TyFun a_aRg9 (TyFun b_aRga c_aRgb -> *) -> *) (TyFun [a_aRg9] (TyFun [b_aRga] [c_aRgb] -> *) -> *)) data ZipWithSym1 (l_aRq5 :: TyFun a_aRg9 (TyFun b_aRga c_aRgb -> *) -> *) (l_aRq4 :: TyFun [a_aRg9] (TyFun [b_aRga] [c_aRgb] -> *)) data ZipWithSym2 (l_aRq8 :: TyFun a_aRg9 (TyFun b_aRga c_aRgb -> *) -> *) (l_aRq9 :: [a_aRg9]) (l_aRq7 :: TyFun [b_aRga] [c_aRgb]) type ZipWithSym3 (t_aRpZ :: TyFun a_aRg9 (TyFun b_aRga c_aRgb -> *) -> *) (t_aRq0 :: [a_aRg9]) (t_aRq1 :: [b_aRga]) = ZipWith t_aRpZ t_aRq0 t_aRq1 data ZipWith3Sym0 (l_aRpb :: TyFun (TyFun a_aRgh (TyFun b_aRgi (TyFun c_aRgj d_aRgk -> *) -> *) -> *) (TyFun [a_aRgh] (TyFun [b_aRgi] (TyFun [c_aRgj] [d_aRgk] -> *) -> *) -> *)) data ZipWith3Sym1 (l_aRpe :: TyFun a_aRgh (TyFun b_aRgi (TyFun c_aRgj d_aRgk -> *) -> *) -> *) (l_aRpd :: TyFun [a_aRgh] (TyFun [b_aRgi] (TyFun [c_aRgj] [d_aRgk] -> *) -> *)) data ZipWith3Sym2 (l_aRph :: TyFun a_aRgh (TyFun b_aRgi (TyFun c_aRgj d_aRgk -> *) -> *) -> *) (l_aRpi :: [a_aRgh]) (l_aRpg :: TyFun [b_aRgi] (TyFun [c_aRgj] [d_aRgk] -> *)) data ZipWith3Sym3 (l_aRpl :: TyFun a_aRgh (TyFun b_aRgi (TyFun c_aRgj d_aRgk -> *) -> *) -> *) (l_aRpm :: [a_aRgh]) (l_aRpn :: [b_aRgi]) (l_aRpk :: TyFun [c_aRgj] [d_aRgk]) data UnzipSym0 (l_aRoC :: TyFun [(a_aRgs, b_aRgt)] ([a_aRgs], [b_aRgt])) type UnzipSym1 (t_aRoB :: [(a_aRgs, b_aRgt)]) = Unzip t_aRoB -- | Defines promoted functions and datatypes relating to List, -- including a promoted version of all the definitions in -- Data.List. -- -- Because many of these definitions are produced by Template Haskell, it -- is not possible to create proper Haddock documentation. Please look up -- the corresponding operation in Data.List. Also, please excuse -- the apparent repeated variable names. This is due to an interaction -- between Template Haskell and Haddock. module Data.Promotion.Prelude.List any_ :: (a_aPc2 -> Bool) -> [a_aPc2] -> Bool type NilSym0 = '[] data (:$) (l_at92 :: TyFun a_12 (TyFun [a_12] [a_12] -> *)) data (:$$) (l_at95 :: a_12) (l_at94 :: TyFun [a_12] [a_12]) type (:$$$) (t_at90 :: a_12) (t_at91 :: [a_12]) = (:) t_at90 t_at91 data (:++$$) (l_aIbM :: [a_aI9C]) (l_aIbL :: TyFun [a_aI9C] [a_aI9C]) data (:++$) (l_aIbJ :: TyFun [a_aI9C] (TyFun [a_aI9C] [a_aI9C] -> *)) data HeadSym0 (l_aRRr :: TyFun [a_aRcL] a_aRcL) type HeadSym1 (t_aRRq :: [a_aRcL]) = Head t_aRRq data LastSym0 (l_aRQV :: TyFun [a_aRcN] a_aRcN) type LastSym1 (t_aRQU :: [a_aRcN]) = Last t_aRQU data TailSym0 (l_aRQP :: TyFun [a_aRcV] [a_aRcV]) type TailSym1 (t_aRQO :: [a_aRcV]) = Tail t_aRQO data InitSym0 (l_aRQj :: TyFun [a_aRcX] [a_aRcX]) type InitSym1 (t_aRQi :: [a_aRcX]) = Init t_aRQi data NullSym0 (l_aRQd :: TyFun [a_aRd5] Bool) type NullSym1 (t_aRQc :: [a_aRd5]) = Null t_aRQc data MapSym0 (l_aIbW :: TyFun (TyFun a_aI9x b_aI9y -> *) (TyFun [a_aI9x] [b_aI9y] -> *)) data MapSym1 (l_aIbZ :: TyFun a_aI9x b_aI9y -> *) (l_aIbY :: TyFun [a_aI9x] [b_aI9y]) type MapSym2 (t_aIbU :: TyFun a_aI9x b_aI9y -> *) (t_aIbV :: [a_aI9x]) = Map t_aIbU t_aIbV data ReverseSym0 (l_aRPD :: TyFun [a_aRd6] [a_aRd6]) type ReverseSym1 (t_aRPC :: [a_aRd6]) = Reverse t_aRPC data IntersperseSym0 (l_aRPg :: TyFun a_aRde (TyFun [a_aRde] [a_aRde] -> *)) data IntersperseSym1 (l_aRPj :: a_aRde) (l_aRPi :: TyFun [a_aRde] [a_aRde]) type IntersperseSym2 (t_aRPe :: a_aRde) (t_aRPf :: [a_aRde]) = Intersperse t_aRPe t_aRPf data IntercalateSym0 (l_aRPt :: TyFun [a_aRdi] (TyFun [[a_aRdi]] [a_aRdi] -> *)) data IntercalateSym1 (l_aRPw :: [a_aRdi]) (l_aRPv :: TyFun [[a_aRdi]] [a_aRdi]) type IntercalateSym2 (t_aRPr :: [a_aRdi]) (t_aRPs :: [[a_aRdi]]) = Intercalate t_aRPr t_aRPs data SubsequencesSym0 (l_aRPa :: TyFun [a_aRdl] [[a_aRdl]]) type SubsequencesSym1 (t_aRP9 :: [a_aRdl]) = Subsequences t_aRP9 data PermutationsSym0 (l_aRIw :: TyFun [a_aRdx] [[a_aRdx]]) type PermutationsSym1 (t_aRIv :: [a_aRdx]) = Permutations t_aRIv data FoldlSym0 (l_aRE3 :: TyFun (TyFun b_aRdP (TyFun a_aRdQ b_aRdP -> *) -> *) (TyFun b_aRdP (TyFun [a_aRdQ] b_aRdP -> *) -> *)) data FoldlSym1 (l_aRE6 :: TyFun b_aRdP (TyFun a_aRdQ b_aRdP -> *) -> *) (l_aRE5 :: TyFun b_aRdP (TyFun [a_aRdQ] b_aRdP -> *)) data FoldlSym2 (l_aRE9 :: TyFun b_aRdP (TyFun a_aRdQ b_aRdP -> *) -> *) (l_aREa :: b_aRdP) (l_aRE8 :: TyFun [a_aRdQ] b_aRdP) type FoldlSym3 (t_aRE0 :: TyFun b_aRdP (TyFun a_aRdQ b_aRdP -> *) -> *) (t_aRE1 :: b_aRdP) (t_aRE2 :: [a_aRdQ]) = Foldl t_aRE0 t_aRE1 t_aRE2 data Foldl'Sym0 (l_aRCs :: TyFun (TyFun b_aRbS (TyFun a_aRbR b_aRbS -> *) -> *) (TyFun b_aRbS (TyFun [a_aRbR] b_aRbS -> *) -> *)) data Foldl'Sym1 (l_aRCv :: TyFun b_aRbS (TyFun a_aRbR b_aRbS -> *) -> *) (l_aRCu :: TyFun b_aRbS (TyFun [a_aRbR] b_aRbS -> *)) data Foldl'Sym2 (l_aRCy :: TyFun b_aRbS (TyFun a_aRbR b_aRbS -> *) -> *) (l_aRCz :: b_aRbS) (l_aRCx :: TyFun [a_aRbR] b_aRbS) type Foldl'Sym3 (t_aRCp :: TyFun b_aRbS (TyFun a_aRbR b_aRbS -> *) -> *) (t_aRCq :: b_aRbS) (t_aRCr :: [a_aRbR]) = Foldl' t_aRCp t_aRCq t_aRCr data Foldl1Sym0 (l_aRER :: TyFun (TyFun a_aRea (TyFun a_aRea a_aRea -> *) -> *) (TyFun [a_aRea] a_aRea -> *)) data Foldl1Sym1 (l_aREU :: TyFun a_aRea (TyFun a_aRea a_aRea -> *) -> *) (l_aRET :: TyFun [a_aRea] a_aRea) type Foldl1Sym2 (t_aREP :: TyFun a_aRea (TyFun a_aRea a_aRea -> *) -> *) (t_aREQ :: [a_aRea]) = Foldl1 t_aREP t_aREQ data Foldl1'Sym0 (l_aRDP :: TyFun (TyFun a_aRee (TyFun a_aRee a_aRee -> *) -> *) (TyFun [a_aRee] a_aRee -> *)) data Foldl1'Sym1 (l_aRDS :: TyFun a_aRee (TyFun a_aRee a_aRee -> *) -> *) (l_aRDR :: TyFun [a_aRee] a_aRee) type Foldl1'Sym2 (t_aRDN :: TyFun a_aRee (TyFun a_aRee a_aRee -> *) -> *) (t_aRDO :: [a_aRee]) = Foldl1' t_aRDN t_aRDO data FoldrSym0 (l_aIca :: TyFun (TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (TyFun b_aI9r (TyFun [a_aI9q] b_aI9r -> *) -> *)) data FoldrSym1 (l_aIcd :: TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (l_aIcc :: TyFun b_aI9r (TyFun [a_aI9q] b_aI9r -> *)) data FoldrSym2 (l_aIcg :: TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (l_aIch :: b_aI9r) (l_aIcf :: TyFun [a_aI9q] b_aI9r) type FoldrSym3 (t_aIc7 :: TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (t_aIc8 :: b_aI9r) (t_aIc9 :: [a_aI9q]) = Foldr t_aIc7 t_aIc8 t_aIc9 data Foldr1Sym0 (l_aRBR :: TyFun (TyFun a_aRei (TyFun a_aRei a_aRei -> *) -> *) (TyFun [a_aRei] a_aRei -> *)) data Foldr1Sym1 (l_aRBU :: TyFun a_aRei (TyFun a_aRei a_aRei -> *) -> *) (l_aRBT :: TyFun [a_aRei] a_aRei) type Foldr1Sym2 (t_aRBP :: TyFun a_aRei (TyFun a_aRei a_aRei -> *) -> *) (t_aRBQ :: [a_aRei]) = Foldr1 t_aRBP t_aRBQ data ConcatSym0 (l_aRBL :: TyFun [[a_aRen]] [a_aRen]) type ConcatSym1 (t_aRBK :: [[a_aRen]]) = Concat t_aRBK data ConcatMapSym0 (l_aRBx :: TyFun (TyFun a_aReo [b_aRep] -> *) (TyFun [a_aReo] [b_aRep] -> *)) data ConcatMapSym1 (l_aRBA :: TyFun a_aReo [b_aRep] -> *) (l_aRBz :: TyFun [a_aReo] [b_aRep]) type ConcatMapSym2 (t_aRBv :: TyFun a_aReo [b_aRep] -> *) (t_aRBw :: [a_aReo]) = ConcatMap t_aRBv t_aRBw data AndSym0 (l_aRBq :: TyFun [Bool] Bool) type AndSym1 (t_aRBp :: [Bool]) = And t_aRBp data OrSym0 (l_aRBk :: TyFun [Bool] Bool) type OrSym1 (t_aRBj :: [Bool]) = Or t_aRBj data Any_Sym0 (l_aPc8 :: TyFun (TyFun a_aPc2 Bool -> *) (TyFun [a_aPc2] Bool -> *)) data Any_Sym1 (l_aPcb :: TyFun a_aPc2 Bool -> *) (l_aPca :: TyFun [a_aPc2] Bool) type Any_Sym2 (t_aPc6 :: TyFun a_aPc2 Bool -> *) (t_aPc7 :: [a_aPc2]) = Any_ t_aPc6 t_aPc7 data AllSym0 (l_aRB8 :: TyFun (TyFun a_aRev Bool -> *) (TyFun [a_aRev] Bool -> *)) data AllSym1 (l_aRBb :: TyFun a_aRev Bool -> *) (l_aRBa :: TyFun [a_aRev] Bool) type AllSym2 (t_aRB6 :: TyFun a_aRev Bool -> *) (t_aRB7 :: [a_aRev]) = All t_aRB6 t_aRB7 data ScanlSym0 (l_aRAk :: TyFun (TyFun b_aRez (TyFun a_aReA b_aRez -> *) -> *) (TyFun b_aRez (TyFun [a_aReA] [b_aRez] -> *) -> *)) data ScanlSym1 (l_aRAn :: TyFun b_aRez (TyFun a_aReA b_aRez -> *) -> *) (l_aRAm :: TyFun b_aRez (TyFun [a_aReA] [b_aRez] -> *)) data ScanlSym2 (l_aRAq :: TyFun b_aRez (TyFun a_aReA b_aRez -> *) -> *) (l_aRAr :: b_aRez) (l_aRAp :: TyFun [a_aReA] [b_aRez]) type ScanlSym3 (t_aRAh :: TyFun b_aRez (TyFun a_aReA b_aRez -> *) -> *) (t_aRAi :: b_aRez) (t_aRAj :: [a_aReA]) = Scanl t_aRAh t_aRAi t_aRAj data Scanl1Sym0 (l_aRAV :: TyFun (TyFun a_aReG (TyFun a_aReG a_aReG -> *) -> *) (TyFun [a_aReG] [a_aReG] -> *)) data Scanl1Sym1 (l_aRAY :: TyFun a_aReG (TyFun a_aReG a_aReG -> *) -> *) (l_aRAX :: TyFun [a_aReG] [a_aReG]) type Scanl1Sym2 (t_aRAT :: TyFun a_aReG (TyFun a_aReG a_aReG -> *) -> *) (t_aRAU :: [a_aReG]) = Scanl1 t_aRAT t_aRAU data ScanrSym0 (l_aRzz :: TyFun (TyFun a_aReK (TyFun b_aReL b_aReL -> *) -> *) (TyFun b_aReL (TyFun [a_aReK] [b_aReL] -> *) -> *)) data ScanrSym1 (l_aRzC :: TyFun a_aReK (TyFun b_aReL b_aReL -> *) -> *) (l_aRzB :: TyFun b_aReL (TyFun [a_aReK] [b_aReL] -> *)) data ScanrSym2 (l_aRzF :: TyFun a_aReK (TyFun b_aReL b_aReL -> *) -> *) (l_aRzG :: b_aReL) (l_aRzE :: TyFun [a_aReK] [b_aReL]) type ScanrSym3 (t_aRzw :: TyFun a_aReK (TyFun b_aReL b_aReL -> *) -> *) (t_aRzx :: b_aReL) (t_aRzy :: [a_aReK]) = Scanr t_aRzw t_aRzx t_aRzy data Scanr1Sym0 (l_aRyy :: TyFun (TyFun a_aReT (TyFun a_aReT a_aReT -> *) -> *) (TyFun [a_aReT] [a_aReT] -> *)) data Scanr1Sym1 (l_aRyB :: TyFun a_aReT (TyFun a_aReT a_aReT -> *) -> *) (l_aRyA :: TyFun [a_aReT] [a_aReT]) type Scanr1Sym2 (t_aRyw :: TyFun a_aReT (TyFun a_aReT a_aReT -> *) -> *) (t_aRyx :: [a_aReT]) = Scanr1 t_aRyw t_aRyx data MapAccumLSym0 (l_aRvS :: TyFun (TyFun acc_aRf0 (TyFun x_aRf1 (acc_aRf0, y_aRf2) -> *) -> *) (TyFun acc_aRf0 (TyFun [x_aRf1] (acc_aRf0, [y_aRf2]) -> *) -> *)) data MapAccumLSym1 (l_aRvV :: TyFun acc_aRf0 (TyFun x_aRf1 (acc_aRf0, y_aRf2) -> *) -> *) (l_aRvU :: TyFun acc_aRf0 (TyFun [x_aRf1] (acc_aRf0, [y_aRf2]) -> *)) data MapAccumLSym2 (l_aRvY :: TyFun acc_aRf0 (TyFun x_aRf1 (acc_aRf0, y_aRf2) -> *) -> *) (l_aRvZ :: acc_aRf0) (l_aRvX :: TyFun [x_aRf1] (acc_aRf0, [y_aRf2])) type MapAccumLSym3 (t_aRvP :: TyFun acc_aRf0 (TyFun x_aRf1 (acc_aRf0, y_aRf2) -> *) -> *) (t_aRvQ :: acc_aRf0) (t_aRvR :: [x_aRf1]) = MapAccumL t_aRvP t_aRvQ t_aRvR data MapAccumRSym0 (l_aRtb :: TyFun (TyFun acc_aRfc (TyFun x_aRfd (acc_aRfc, y_aRfe) -> *) -> *) (TyFun acc_aRfc (TyFun [x_aRfd] (acc_aRfc, [y_aRfe]) -> *) -> *)) data MapAccumRSym1 (l_aRte :: TyFun acc_aRfc (TyFun x_aRfd (acc_aRfc, y_aRfe) -> *) -> *) (l_aRtd :: TyFun acc_aRfc (TyFun [x_aRfd] (acc_aRfc, [y_aRfe]) -> *)) data MapAccumRSym2 (l_aRth :: TyFun acc_aRfc (TyFun x_aRfd (acc_aRfc, y_aRfe) -> *) -> *) (l_aRti :: acc_aRfc) (l_aRtg :: TyFun [x_aRfd] (acc_aRfc, [y_aRfe])) type MapAccumRSym3 (t_aRt8 :: TyFun acc_aRfc (TyFun x_aRfd (acc_aRfc, y_aRfe) -> *) -> *) (t_aRt9 :: acc_aRfc) (t_aRta :: [x_aRfd]) = MapAccumR t_aRt8 t_aRt9 t_aRta data UnfoldrSym0 (l_aRsK :: TyFun (TyFun b_aRfo (Maybe (a_aRfp, b_aRfo)) -> *) (TyFun b_aRfo [a_aRfp] -> *)) data UnfoldrSym1 (l_aRsN :: TyFun b_aRfo (Maybe (a_aRfp, b_aRfo)) -> *) (l_aRsM :: TyFun b_aRfo [a_aRfp]) type UnfoldrSym2 (t_aRsI :: TyFun b_aRfo (Maybe (a_aRfp, b_aRfo)) -> *) (t_aRsJ :: b_aRfo) = Unfoldr t_aRsI t_aRsJ data InitsSym0 (l_aRst :: TyFun [a_aRfu] [[a_aRfu]]) type InitsSym1 (t_aRss :: [a_aRfu]) = Inits t_aRss data TailsSym0 (l_aRs2 :: TyFun [a_aRfy] [[a_aRfy]]) type TailsSym1 (t_aRs1 :: [a_aRfy]) = Tails t_aRs1 data IsPrefixOfSym0 (l_aRrM :: TyFun [a_aRfB] (TyFun [a_aRfB] Bool -> *)) data IsPrefixOfSym1 (l_aRrP :: [a_aRfB]) (l_aRrO :: TyFun [a_aRfB] Bool) type IsPrefixOfSym2 (t_aRrK :: [a_aRfB]) (t_aRrL :: [a_aRfB]) = IsPrefixOf t_aRrK t_aRrL data IsSuffixOfSym0 (l_aRQ3 :: TyFun [a_aRfG] (TyFun [a_aRfG] Bool -> *)) data IsSuffixOfSym1 (l_aRQ6 :: [a_aRfG]) (l_aRQ5 :: TyFun [a_aRfG] Bool) type IsSuffixOfSym2 (t_aRQ1 :: [a_aRfG]) (t_aRQ2 :: [a_aRfG]) = IsSuffixOf t_aRQ1 t_aRQ2 data IsInfixOfSym0 (l_aRsj :: TyFun [a_aRfJ] (TyFun [a_aRfJ] Bool -> *)) data IsInfixOfSym1 (l_aRsm :: [a_aRfJ]) (l_aRsl :: TyFun [a_aRfJ] Bool) type IsInfixOfSym2 (t_aRsh :: [a_aRfJ]) (t_aRsi :: [a_aRfJ]) = IsInfixOf t_aRsh t_aRsi data ElemSym0 (l_aRrz :: TyFun a_aRfM (TyFun [a_aRfM] Bool -> *)) data ElemSym1 (l_aRrC :: a_aRfM) (l_aRrB :: TyFun [a_aRfM] Bool) type ElemSym2 (t_aRrx :: a_aRfM) (t_aRry :: [a_aRfM]) = Elem t_aRrx t_aRry data NotElemSym0 (l_aRrm :: TyFun a_aRfQ (TyFun [a_aRfQ] Bool -> *)) data NotElemSym1 (l_aRrp :: a_aRfQ) (l_aRro :: TyFun [a_aRfQ] Bool) type NotElemSym2 (t_aRrk :: a_aRfQ) (t_aRrl :: [a_aRfQ]) = NotElem t_aRrk t_aRrl data ZipSym0 (l_aRr5 :: TyFun [a_aRfU] (TyFun [b_aRfV] [(a_aRfU, b_aRfV)] -> *)) data ZipSym1 (l_aRr8 :: [a_aRfU]) (l_aRr7 :: TyFun [b_aRfV] [(a_aRfU, b_aRfV)]) type ZipSym2 (t_aRr3 :: [a_aRfU]) (t_aRr4 :: [b_aRfV]) = Zip t_aRr3 t_aRr4 data Zip3Sym0 (l_aRqt :: TyFun [a_aRg0] (TyFun [b_aRg1] (TyFun [c_aRg2] [(a_aRg0, b_aRg1, c_aRg2)] -> *) -> *)) data Zip3Sym1 (l_aRqw :: [a_aRg0]) (l_aRqv :: TyFun [b_aRg1] (TyFun [c_aRg2] [(a_aRg0, b_aRg1, c_aRg2)] -> *)) data Zip3Sym2 (l_aRqz :: [a_aRg0]) (l_aRqA :: [b_aRg1]) (l_aRqy :: TyFun [c_aRg2] [(a_aRg0, b_aRg1, c_aRg2)]) type Zip3Sym3 (t_aRqq :: [a_aRg0]) (t_aRqr :: [b_aRg1]) (t_aRqs :: [c_aRg2]) = Zip3 t_aRqq t_aRqr t_aRqs data ZipWithSym0 (l_aRq2 :: TyFun (TyFun a_aRg9 (TyFun b_aRga c_aRgb -> *) -> *) (TyFun [a_aRg9] (TyFun [b_aRga] [c_aRgb] -> *) -> *)) data ZipWithSym1 (l_aRq5 :: TyFun a_aRg9 (TyFun b_aRga c_aRgb -> *) -> *) (l_aRq4 :: TyFun [a_aRg9] (TyFun [b_aRga] [c_aRgb] -> *)) data ZipWithSym2 (l_aRq8 :: TyFun a_aRg9 (TyFun b_aRga c_aRgb -> *) -> *) (l_aRq9 :: [a_aRg9]) (l_aRq7 :: TyFun [b_aRga] [c_aRgb]) type ZipWithSym3 (t_aRpZ :: TyFun a_aRg9 (TyFun b_aRga c_aRgb -> *) -> *) (t_aRq0 :: [a_aRg9]) (t_aRq1 :: [b_aRga]) = ZipWith t_aRpZ t_aRq0 t_aRq1 data ZipWith3Sym0 (l_aRpb :: TyFun (TyFun a_aRgh (TyFun b_aRgi (TyFun c_aRgj d_aRgk -> *) -> *) -> *) (TyFun [a_aRgh] (TyFun [b_aRgi] (TyFun [c_aRgj] [d_aRgk] -> *) -> *) -> *)) data ZipWith3Sym1 (l_aRpe :: TyFun a_aRgh (TyFun b_aRgi (TyFun c_aRgj d_aRgk -> *) -> *) -> *) (l_aRpd :: TyFun [a_aRgh] (TyFun [b_aRgi] (TyFun [c_aRgj] [d_aRgk] -> *) -> *)) data ZipWith3Sym2 (l_aRph :: TyFun a_aRgh (TyFun b_aRgi (TyFun c_aRgj d_aRgk -> *) -> *) -> *) (l_aRpi :: [a_aRgh]) (l_aRpg :: TyFun [b_aRgi] (TyFun [c_aRgj] [d_aRgk] -> *)) data ZipWith3Sym3 (l_aRpl :: TyFun a_aRgh (TyFun b_aRgi (TyFun c_aRgj d_aRgk -> *) -> *) -> *) (l_aRpm :: [a_aRgh]) (l_aRpn :: [b_aRgi]) (l_aRpk :: TyFun [c_aRgj] [d_aRgk]) data UnzipSym0 (l_aRoC :: TyFun [(a_aRgs, b_aRgt)] ([a_aRgs], [b_aRgt])) type UnzipSym1 (t_aRoB :: [(a_aRgs, b_aRgt)]) = Unzip t_aRoB data Unzip3Sym0 (l_aRo4 :: TyFun [(a_aRgz, b_aRgA, c_aRgB)] ([a_aRgz], [b_aRgA], [c_aRgB])) type Unzip3Sym1 (t_aRo3 :: [(a_aRgz, b_aRgA, c_aRgB)]) = Unzip3 t_aRo3 data Unzip4Sym0 (l_aRnu :: TyFun [(a_aRgJ, b_aRgK, c_aRgL, d_aRgM)] ([a_aRgJ], [b_aRgK], [c_aRgL], [d_aRgM])) type Unzip4Sym1 (t_aRnt :: [(a_aRgJ, b_aRgK, c_aRgL, d_aRgM)]) = Unzip4 t_aRnt data Unzip5Sym0 (l_aRmS :: TyFun [(a_aRgW, b_aRgX, c_aRgY, d_aRgZ, e_aRh0)] ([a_aRgW], [b_aRgX], [c_aRgY], [d_aRgZ], [e_aRh0])) type Unzip5Sym1 (t_aRmR :: [(a_aRgW, b_aRgX, c_aRgY, d_aRgZ, e_aRh0)]) = Unzip5 t_aRmR data Unzip6Sym0 (l_aRme :: TyFun [(a_aRhc, b_aRhd, c_aRhe, d_aRhf, e_aRhg, f_aRhh)] ([a_aRhc], [b_aRhd], [c_aRhe], [d_aRhf], [e_aRhg], [f_aRhh])) type Unzip6Sym1 (t_aRmd :: [(a_aRhc, b_aRhd, c_aRhe, d_aRhf, e_aRhg, f_aRhh)]) = Unzip6 t_aRmd data Unzip7Sym0 (l_aRly :: TyFun [(a_aRhv, b_aRhw, c_aRhx, d_aRhy, e_aRhz, f_aRhA, g_aRhB)] ([a_aRhv], [b_aRhw], [c_aRhx], [d_aRhy], [e_aRhz], [f_aRhA], [g_aRhB])) type Unzip7Sym1 (t_aRlx :: [(a_aRhv, b_aRhw, c_aRhx, d_aRhy, e_aRhz, f_aRhA, g_aRhB)]) = Unzip7 t_aRlx data DeleteSym0 (l_aRlo :: TyFun a_aRhR (TyFun [a_aRhR] [a_aRhR] -> *)) data DeleteSym1 (l_aRlr :: a_aRhR) (l_aRlq :: TyFun [a_aRhR] [a_aRhR]) type DeleteSym2 (t_aRlm :: a_aRhR) (t_aRln :: [a_aRhR]) = Delete t_aRlm t_aRln data (:\\$) (l_aRI0 :: TyFun [a_aRhS] (TyFun [a_aRhS] [a_aRhS] -> *)) data (:\\$$) (l_aRI3 :: [a_aRhS]) (l_aRI2 :: TyFun [a_aRhS] [a_aRhS]) type (:\\$$$) (t_aRHY :: [a_aRhS]) (t_aRHZ :: [a_aRhS]) = (:\\) t_aRHY t_aRHZ data IntersectSym0 (l_a1AYv :: TyFun [a_a1ALp] (TyFun [a_a1ALp] [a_a1ALp] -> *)) data IntersectSym1 (l_a1AYy :: [a_a1ALp]) (l_a1AYx :: TyFun [a_a1ALp] [a_a1ALp]) type IntersectSym2 (t_a1AYt :: [a_a1ALp]) (t_a1AYu :: [a_a1ALp]) = Intersect t_a1AYt t_a1AYu data InsertSym0 (l_a1AZo :: TyFun a_a1AIF (TyFun [a_a1AIF] [a_a1AIF] -> *)) data InsertSym1 (l_a1AZr :: a_a1AIF) (l_a1AZq :: TyFun [a_a1AIF] [a_a1AIF]) type InsertSym2 (t_a1AZm :: a_a1AIF) (t_a1AZn :: [a_a1AIF]) = Insert t_a1AZm t_a1AZn data SortSym0 (l_a1AZi :: TyFun [a_a1AII] [a_a1AII]) type SortSym1 (t_a1AZh :: [a_a1AII]) = Sort t_a1AZh data DeleteBySym0 (l_aRkC :: TyFun (TyFun a_aRhT (TyFun a_aRhT Bool -> *) -> *) (TyFun a_aRhT (TyFun [a_aRhT] [a_aRhT] -> *) -> *)) data DeleteBySym1 (l_aRkF :: TyFun a_aRhT (TyFun a_aRhT Bool -> *) -> *) (l_aRkE :: TyFun a_aRhT (TyFun [a_aRhT] [a_aRhT] -> *)) data DeleteBySym2 (l_aRkI :: TyFun a_aRhT (TyFun a_aRhT Bool -> *) -> *) (l_aRkJ :: a_aRhT) (l_aRkH :: TyFun [a_aRhT] [a_aRhT]) type DeleteBySym3 (t_aRkz :: TyFun a_aRhT (TyFun a_aRhT Bool -> *) -> *) (t_aRkA :: a_aRhT) (t_aRkB :: [a_aRhT]) = DeleteBy t_aRkz t_aRkA t_aRkB data DeleteFirstsBySym0 (l_aRIc :: TyFun (TyFun a_aRhY (TyFun a_aRhY Bool -> *) -> *) (TyFun [a_aRhY] (TyFun [a_aRhY] [a_aRhY] -> *) -> *)) data DeleteFirstsBySym1 (l_aRIf :: TyFun a_aRhY (TyFun a_aRhY Bool -> *) -> *) (l_aRIe :: TyFun [a_aRhY] (TyFun [a_aRhY] [a_aRhY] -> *)) data DeleteFirstsBySym2 (l_aRIi :: TyFun a_aRhY (TyFun a_aRhY Bool -> *) -> *) (l_aRIj :: [a_aRhY]) (l_aRIh :: TyFun [a_aRhY] [a_aRhY]) type DeleteFirstsBySym3 (t_aRI9 :: TyFun a_aRhY (TyFun a_aRhY Bool -> *) -> *) (t_aRIa :: [a_aRhY]) (t_aRIb :: [a_aRhY]) = DeleteFirstsBy t_aRI9 t_aRIa t_aRIb data IntersectBySym0 (l_a1AXG :: TyFun (TyFun a_a1ALq (TyFun a_a1ALq Bool -> *) -> *) (TyFun [a_a1ALq] (TyFun [a_a1ALq] [a_a1ALq] -> *) -> *)) data IntersectBySym1 (l_a1AXJ :: TyFun a_a1ALq (TyFun a_a1ALq Bool -> *) -> *) (l_a1AXI :: TyFun [a_a1ALq] (TyFun [a_a1ALq] [a_a1ALq] -> *)) data IntersectBySym2 (l_a1AXM :: TyFun a_a1ALq (TyFun a_a1ALq Bool -> *) -> *) (l_a1AXN :: [a_a1ALq]) (l_a1AXL :: TyFun [a_a1ALq] [a_a1ALq]) data SortBySym0 (l_aRko :: TyFun (TyFun a_aRi0 (TyFun a_aRi0 Ordering -> *) -> *) (TyFun [a_aRi0] [a_aRi0] -> *)) data SortBySym1 (l_aRkr :: TyFun a_aRi0 (TyFun a_aRi0 Ordering -> *) -> *) (l_aRkq :: TyFun [a_aRi0] [a_aRi0]) type SortBySym2 (t_aRkm :: TyFun a_aRi0 (TyFun a_aRi0 Ordering -> *) -> *) (t_aRkn :: [a_aRi0]) = SortBy t_aRkm t_aRkn data InsertBySym0 (l_aRjm :: TyFun (TyFun a_aRi2 (TyFun a_aRi2 Ordering -> *) -> *) (TyFun a_aRi2 (TyFun [a_aRi2] [a_aRi2] -> *) -> *)) data InsertBySym1 (l_aRjp :: TyFun a_aRi2 (TyFun a_aRi2 Ordering -> *) -> *) (l_aRjo :: TyFun a_aRi2 (TyFun [a_aRi2] [a_aRi2] -> *)) data InsertBySym2 (l_aRjs :: TyFun a_aRi2 (TyFun a_aRi2 Ordering -> *) -> *) (l_aRjt :: a_aRi2) (l_aRjr :: TyFun [a_aRi2] [a_aRi2]) type InsertBySym3 (t_aRjj :: TyFun a_aRi2 (TyFun a_aRi2 Ordering -> *) -> *) (t_aRjk :: a_aRi2) (t_aRjl :: [a_aRi2]) = InsertBy t_aRjj t_aRjk t_aRjl data MaximumBySym0 (l_aRF4 :: TyFun (TyFun a_aRi9 (TyFun a_aRi9 Ordering -> *) -> *) (TyFun [a_aRi9] a_aRi9 -> *)) data MaximumBySym1 (l_aRF7 :: TyFun a_aRi9 (TyFun a_aRi9 Ordering -> *) -> *) (l_aRF6 :: TyFun [a_aRi9] a_aRi9) type MaximumBySym2 (t_aRF2 :: TyFun a_aRi9 (TyFun a_aRi9 Ordering -> *) -> *) (t_aRF3 :: [a_aRi9]) = MaximumBy t_aRF2 t_aRF3 data MinimumBySym0 (l_aRGv :: TyFun (TyFun a_aRif (TyFun a_aRif Ordering -> *) -> *) (TyFun [a_aRif] a_aRif -> *)) data MinimumBySym1 (l_aRGy :: TyFun a_aRif (TyFun a_aRif Ordering -> *) -> *) (l_aRGx :: TyFun [a_aRif] a_aRif) type MinimumBySym2 (t_aRGt :: TyFun a_aRif (TyFun a_aRif Ordering -> *) -> *) (t_aRGu :: [a_aRif]) = MinimumBy t_aRGt t_aRGu data LengthSym0 (l_a1Bbf :: TyFun [a_a1AHt] Nat) type LengthSym1 (t_a1Bbe :: [a_a1AHt]) = Length t_a1Bbe data SumSym0 (l_a1BaQ :: TyFun [Nat] Nat) type SumSym1 (t_a1BaP :: [Nat]) = Sum t_a1BaP data ProductSym0 (l_a1Bar :: TyFun [Nat] Nat) type ProductSym1 (t_a1Baq :: [Nat]) = Product t_a1Baq data ReplicateSym0 (l_a1Ba1 :: TyFun Nat (TyFun a_a1AHH [a_a1AHH] -> *)) data ReplicateSym1 (l_a1Ba4 :: Nat) (l_a1Ba3 :: TyFun a_a1AHH [a_a1AHH]) type ReplicateSym2 (t_a1B9Z :: Nat) (t_a1Ba0 :: a_a1AHH) = Replicate t_a1B9Z t_a1Ba0 data TransposeSym0 (l_a1B9S :: TyFun [[a_a1AHK]] [[a_a1AHK]]) type TransposeSym1 (t_a1B9R :: [[a_a1AHK]]) = Transpose t_a1B9R data TakeSym0 (l_a1B8Z :: TyFun Nat (TyFun [a_a1AHP] [a_a1AHP] -> *)) data TakeSym1 (l_a1B92 :: Nat) (l_a1B91 :: TyFun [a_a1AHP] [a_a1AHP]) type TakeSym2 (t_a1B8X :: Nat) (t_a1B8Y :: [a_a1AHP]) = Take t_a1B8X t_a1B8Y data DropSym0 (l_a1B8m :: TyFun Nat (TyFun [a_a1AHT] [a_a1AHT] -> *)) data DropSym1 (l_a1B8p :: Nat) (l_a1B8o :: TyFun [a_a1AHT] [a_a1AHT]) type DropSym2 (t_a1B8k :: Nat) (t_a1B8l :: [a_a1AHT]) = Drop t_a1B8k t_a1B8l data SplitAtSym0 (l_a1B9e :: TyFun Nat (TyFun [a_a1AHX] ([a_a1AHX], [a_a1AHX]) -> *)) data SplitAtSym1 (l_a1B9h :: Nat) (l_a1B9g :: TyFun [a_a1AHX] ([a_a1AHX], [a_a1AHX])) type SplitAtSym2 (t_a1B9c :: Nat) (t_a1B9d :: [a_a1AHX]) = SplitAt t_a1B9c t_a1B9d data TakeWhileSym0 (l_a1B7Z :: TyFun (TyFun a_a1AI0 Bool -> *) (TyFun [a_a1AI0] [a_a1AI0] -> *)) data TakeWhileSym1 (l_a1B82 :: TyFun a_a1AI0 Bool -> *) (l_a1B81 :: TyFun [a_a1AI0] [a_a1AI0]) type TakeWhileSym2 (t_a1B7X :: TyFun a_a1AI0 Bool -> *) (t_a1B7Y :: [a_a1AI0]) = TakeWhile t_a1B7X t_a1B7Y data DropWhileSym0 (l_a1B7b :: TyFun (TyFun a_a1AI4 Bool -> *) (TyFun [a_a1AI4] [a_a1AI4] -> *)) data DropWhileSym1 (l_a1B7e :: TyFun a_a1AI4 Bool -> *) (l_a1B7d :: TyFun [a_a1AI4] [a_a1AI4]) type DropWhileSym2 (t_a1B79 :: TyFun a_a1AI4 Bool -> *) (t_a1B7a :: [a_a1AI4]) = DropWhile t_a1B79 t_a1B7a data DropWhileEndSym0 (l_a1B6b :: TyFun (TyFun a_a1AI9 Bool -> *) (TyFun [a_a1AI9] [a_a1AI9] -> *)) data DropWhileEndSym1 (l_a1B6e :: TyFun a_a1AI9 Bool -> *) (l_a1B6d :: TyFun [a_a1AI9] [a_a1AI9]) type DropWhileEndSym2 (t_a1B69 :: TyFun a_a1AI9 Bool -> *) (t_a1B6a :: [a_a1AI9]) = DropWhileEnd t_a1B69 t_a1B6a data SpanSym0 (l_a1B2C :: TyFun (TyFun a_a1AId Bool -> *) (TyFun [a_a1AId] ([a_a1AId], [a_a1AId]) -> *)) data SpanSym1 (l_a1B2F :: TyFun a_a1AId Bool -> *) (l_a1B2E :: TyFun [a_a1AId] ([a_a1AId], [a_a1AId])) type SpanSym2 (t_a1B2A :: TyFun a_a1AId Bool -> *) (t_a1B2B :: [a_a1AId]) = Span t_a1B2A t_a1B2B data BreakSym0 (l_a1B0f :: TyFun (TyFun a_a1AIl Bool -> *) (TyFun [a_a1AIl] ([a_a1AIl], [a_a1AIl]) -> *)) data BreakSym1 (l_a1B0i :: TyFun a_a1AIl Bool -> *) (l_a1B0h :: TyFun [a_a1AIl] ([a_a1AIl], [a_a1AIl])) type BreakSym2 (t_a1B0d :: TyFun a_a1AIl Bool -> *) (t_a1B0e :: [a_a1AIl]) = Break t_a1B0d t_a1B0e data StripPrefixSym0 (l_a1AZJ :: TyFun [a_a1AIt] (TyFun [a_a1AIt] (Maybe [a_a1AIt]) -> *)) data StripPrefixSym1 (l_a1AZM :: [a_a1AIt]) (l_a1AZL :: TyFun [a_a1AIt] (Maybe [a_a1AIt])) data MaximumSym0 (l_a1AZD :: TyFun [a_a1AIB] a_a1AIB) type MaximumSym1 (t_a1AZC :: [a_a1AIB]) = Maximum t_a1AZC data MinimumSym0 (l_a1AZy :: TyFun [a_a1AID] a_a1AID) type MinimumSym1 (t_a1AZx :: [a_a1AID]) = Minimum t_a1AZx data GroupSym0 (l_a1B65 :: TyFun [a_a1AIz] [[a_a1AIz]]) type GroupSym1 (t_a1B64 :: [a_a1AIz]) = Group t_a1B64 data GroupBySym0 (l_a1B4Z :: TyFun (TyFun a_a1AIJ (TyFun a_a1AIJ Bool -> *) -> *) (TyFun [a_a1AIJ] [[a_a1AIJ]] -> *)) data GroupBySym1 (l_a1B52 :: TyFun a_a1AIJ (TyFun a_a1AIJ Bool -> *) -> *) (l_a1B51 :: TyFun [a_a1AIJ] [[a_a1AIJ]]) type GroupBySym2 (t_a1B4X :: TyFun a_a1AIJ (TyFun a_a1AIJ Bool -> *) -> *) (t_a1B4Y :: [a_a1AIJ]) = GroupBy t_a1B4X t_a1B4Y data LookupSym0 (l_a1AYT :: TyFun a_a1AIP (TyFun [(a_a1AIP, b_a1AIQ)] (Maybe b_a1AIQ) -> *)) data LookupSym1 (l_a1AYW :: a_a1AIP) (l_a1AYV :: TyFun [(a_a1AIP, b_a1AIQ)] (Maybe b_a1AIQ)) type LookupSym2 (t_a1AYR :: a_a1AIP) (t_a1AYS :: [(a_a1AIP, b_a1AIQ)]) = Lookup t_a1AYR t_a1AYS data FindSym0 (l_a1AYG :: TyFun (TyFun a_a1AIW Bool -> *) (TyFun [a_a1AIW] (Maybe a_a1AIW) -> *)) data FindSym1 (l_a1AYJ :: TyFun a_a1AIW Bool -> *) (l_a1AYI :: TyFun [a_a1AIW] (Maybe a_a1AIW)) type FindSym2 (t_a1AYE :: TyFun a_a1AIW Bool -> *) (t_a1AYF :: [a_a1AIW]) = Find t_a1AYE t_a1AYF data FilterSym0 (l_a1AXi :: TyFun (TyFun a_a1AIY Bool -> *) (TyFun [a_a1AIY] [a_a1AIY] -> *)) data FilterSym1 (l_a1AXl :: TyFun a_a1AIY Bool -> *) (l_a1AXk :: TyFun [a_a1AIY] [a_a1AIY]) type FilterSym2 (t_a1AXg :: TyFun a_a1AIY Bool -> *) (t_a1AXh :: [a_a1AIY]) = Filter t_a1AXg t_a1AXh data PartitionSym0 (l_a1AX7 :: TyFun (TyFun a_a1AJ3 Bool -> *) (TyFun [a_a1AJ3] ([a_a1AJ3], [a_a1AJ3]) -> *)) data PartitionSym1 (l_a1AXa :: TyFun a_a1AJ3 Bool -> *) (l_a1AX9 :: TyFun [a_a1AJ3] ([a_a1AJ3], [a_a1AJ3])) type PartitionSym2 (t_a1AX5 :: TyFun a_a1AJ3 Bool -> *) (t_a1AX6 :: [a_a1AJ3]) = Partition t_a1AX5 t_a1AX6 data (:!!$) (l_a1AW7 :: TyFun [a_a1AJb] (TyFun Nat a_a1AJb -> *)) data (:!!$$) (l_a1AWa :: [a_a1AJb]) (l_a1AW9 :: TyFun Nat a_a1AJb) type (:!!$$$) (t_a1AW5 :: [a_a1AJb]) (t_a1AW6 :: Nat) = (:!!) t_a1AW5 t_a1AW6 data ElemIndexSym0 (l_a1BcJ :: TyFun a_a1AJf (TyFun [a_a1AJf] (Maybe Nat) -> *)) data ElemIndexSym1 (l_a1BcM :: a_a1AJf) (l_a1BcL :: TyFun [a_a1AJf] (Maybe Nat)) type ElemIndexSym2 (t_a1BcH :: a_a1AJf) (t_a1BcI :: [a_a1AJf]) = ElemIndex t_a1BcH t_a1BcI data ElemIndicesSym0 (l_a1Bcj :: TyFun a_a1AJh (TyFun [a_a1AJh] [Nat] -> *)) data ElemIndicesSym1 (l_a1Bcm :: a_a1AJh) (l_a1Bcl :: TyFun [a_a1AJh] [Nat]) type ElemIndicesSym2 (t_a1Bch :: a_a1AJh) (t_a1Bci :: [a_a1AJh]) = ElemIndices t_a1Bch t_a1Bci data FindIndexSym0 (l_a1Bcw :: TyFun (TyFun a_a1AJj Bool -> *) (TyFun [a_a1AJj] (Maybe Nat) -> *)) data FindIndexSym1 (l_a1Bcz :: TyFun a_a1AJj Bool -> *) (l_a1Bcy :: TyFun [a_a1AJj] (Maybe Nat)) type FindIndexSym2 (t_a1Bcu :: TyFun a_a1AJj Bool -> *) (t_a1Bcv :: [a_a1AJj]) = FindIndex t_a1Bcu t_a1Bcv data FindIndicesSym0 (l_a1Bbm :: TyFun (TyFun a_a1AJl Bool -> *) (TyFun [a_a1AJl] [Nat] -> *)) data FindIndicesSym1 (l_a1Bbp :: TyFun a_a1AJl Bool -> *) (l_a1Bbo :: TyFun [a_a1AJl] [Nat]) type FindIndicesSym2 (t_a1Bbk :: TyFun a_a1AJl Bool -> *) (t_a1Bbl :: [a_a1AJl]) = FindIndices t_a1Bbk t_a1Bbl data Zip4Sym0 (l_a1AVJ :: TyFun [a_a1AJs] (TyFun [b_a1AJt] (TyFun [c_a1AJu] (TyFun [d_a1AJv] [(a_a1AJs, b_a1AJt, c_a1AJu, d_a1AJv)] -> *) -> *) -> *)) data Zip4Sym1 (l_a1AVM :: [a_a1AJs]) (l_a1AVL :: TyFun [b_a1AJt] (TyFun [c_a1AJu] (TyFun [d_a1AJv] [(a_a1AJs, b_a1AJt, c_a1AJu, d_a1AJv)] -> *) -> *)) data Zip4Sym2 (l_a1AVP :: [a_a1AJs]) (l_a1AVQ :: [b_a1AJt]) (l_a1AVO :: TyFun [c_a1AJu] (TyFun [d_a1AJv] [(a_a1AJs, b_a1AJt, c_a1AJu, d_a1AJv)] -> *)) data Zip4Sym3 (l_a1AVT :: [a_a1AJs]) (l_a1AVU :: [b_a1AJt]) (l_a1AVV :: [c_a1AJu]) (l_a1AVS :: TyFun [d_a1AJv] [(a_a1AJs, b_a1AJt, c_a1AJu, d_a1AJv)]) type Zip4Sym4 (t_a1AVF :: [a_a1AJs]) (t_a1AVG :: [b_a1AJt]) (t_a1AVH :: [c_a1AJu]) (t_a1AVI :: [d_a1AJv]) = Zip4 t_a1AVF t_a1AVG t_a1AVH t_a1AVI data Zip5Sym0 (l_a1AV3 :: TyFun [a_a1AJw] (TyFun [b_a1AJx] (TyFun [c_a1AJy] (TyFun [d_a1AJz] (TyFun [e_a1AJA] [(a_a1AJw, b_a1AJx, c_a1AJy, d_a1AJz, e_a1AJA)] -> *) -> *) -> *) -> *)) data Zip5Sym1 (l_a1AV6 :: [a_a1AJw]) (l_a1AV5 :: TyFun [b_a1AJx] (TyFun [c_a1AJy] (TyFun [d_a1AJz] (TyFun [e_a1AJA] [(a_a1AJw, b_a1AJx, c_a1AJy, d_a1AJz, e_a1AJA)] -> *) -> *) -> *)) data Zip5Sym2 (l_a1AV9 :: [a_a1AJw]) (l_a1AVa :: [b_a1AJx]) (l_a1AV8 :: TyFun [c_a1AJy] (TyFun [d_a1AJz] (TyFun [e_a1AJA] [(a_a1AJw, b_a1AJx, c_a1AJy, d_a1AJz, e_a1AJA)] -> *) -> *)) data Zip5Sym3 (l_a1AVd :: [a_a1AJw]) (l_a1AVe :: [b_a1AJx]) (l_a1AVf :: [c_a1AJy]) (l_a1AVc :: TyFun [d_a1AJz] (TyFun [e_a1AJA] [(a_a1AJw, b_a1AJx, c_a1AJy, d_a1AJz, e_a1AJA)] -> *)) data Zip5Sym4 (l_a1AVi :: [a_a1AJw]) (l_a1AVj :: [b_a1AJx]) (l_a1AVk :: [c_a1AJy]) (l_a1AVl :: [d_a1AJz]) (l_a1AVh :: TyFun [e_a1AJA] [(a_a1AJw, b_a1AJx, c_a1AJy, d_a1AJz, e_a1AJA)]) type Zip5Sym5 (t_a1AUY :: [a_a1AJw]) (t_a1AUZ :: [b_a1AJx]) (t_a1AV0 :: [c_a1AJy]) (t_a1AV1 :: [d_a1AJz]) (t_a1AV2 :: [e_a1AJA]) = Zip5 t_a1AUY t_a1AUZ t_a1AV0 t_a1AV1 t_a1AV2 data Zip6Sym0 (l_a1AUb :: TyFun [a_a1AJB] (TyFun [b_a1AJC] (TyFun [c_a1AJD] (TyFun [d_a1AJE] (TyFun [e_a1AJF] (TyFun [f_a1AJG] [(a_a1AJB, b_a1AJC, c_a1AJD, d_a1AJE, e_a1AJF, f_a1AJG)] -> *) -> *) -> *) -> *) -> *)) data Zip6Sym1 (l_a1AUe :: [a_a1AJB]) (l_a1AUd :: TyFun [b_a1AJC] (TyFun [c_a1AJD] (TyFun [d_a1AJE] (TyFun [e_a1AJF] (TyFun [f_a1AJG] [(a_a1AJB, b_a1AJC, c_a1AJD, d_a1AJE, e_a1AJF, f_a1AJG)] -> *) -> *) -> *) -> *)) data Zip6Sym2 (l_a1AUh :: [a_a1AJB]) (l_a1AUi :: [b_a1AJC]) (l_a1AUg :: TyFun [c_a1AJD] (TyFun [d_a1AJE] (TyFun [e_a1AJF] (TyFun [f_a1AJG] [(a_a1AJB, b_a1AJC, c_a1AJD, d_a1AJE, e_a1AJF, f_a1AJG)] -> *) -> *) -> *)) data Zip6Sym3 (l_a1AUl :: [a_a1AJB]) (l_a1AUm :: [b_a1AJC]) (l_a1AUn :: [c_a1AJD]) (l_a1AUk :: TyFun [d_a1AJE] (TyFun [e_a1AJF] (TyFun [f_a1AJG] [(a_a1AJB, b_a1AJC, c_a1AJD, d_a1AJE, e_a1AJF, f_a1AJG)] -> *) -> *)) data Zip6Sym4 (l_a1AUq :: [a_a1AJB]) (l_a1AUr :: [b_a1AJC]) (l_a1AUs :: [c_a1AJD]) (l_a1AUt :: [d_a1AJE]) (l_a1AUp :: TyFun [e_a1AJF] (TyFun [f_a1AJG] [(a_a1AJB, b_a1AJC, c_a1AJD, d_a1AJE, e_a1AJF, f_a1AJG)] -> *)) data Zip6Sym5 (l_a1AUw :: [a_a1AJB]) (l_a1AUx :: [b_a1AJC]) (l_a1AUy :: [c_a1AJD]) (l_a1AUz :: [d_a1AJE]) (l_a1AUA :: [e_a1AJF]) (l_a1AUv :: TyFun [f_a1AJG] [(a_a1AJB, b_a1AJC, c_a1AJD, d_a1AJE, e_a1AJF, f_a1AJG)]) type Zip6Sym6 (t_a1AU5 :: [a_a1AJB]) (t_a1AU6 :: [b_a1AJC]) (t_a1AU7 :: [c_a1AJD]) (t_a1AU8 :: [d_a1AJE]) (t_a1AU9 :: [e_a1AJF]) (t_a1AUa :: [f_a1AJG]) = Zip6 t_a1AU5 t_a1AU6 t_a1AU7 t_a1AU8 t_a1AU9 t_a1AUa data Zip7Sym0 (l_a1AT6 :: TyFun [a_a1AJH] (TyFun [b_a1AJI] (TyFun [c_a1AJJ] (TyFun [d_a1AJK] (TyFun [e_a1AJL] (TyFun [f_a1AJM] (TyFun [g_a1AJN] [(a_a1AJH, b_a1AJI, c_a1AJJ, d_a1AJK, e_a1AJL, f_a1AJM, g_a1AJN)] -> *) -> *) -> *) -> *) -> *) -> *)) data Zip7Sym1 (l_a1AT9 :: [a_a1AJH]) (l_a1AT8 :: TyFun [b_a1AJI] (TyFun [c_a1AJJ] (TyFun [d_a1AJK] (TyFun [e_a1AJL] (TyFun [f_a1AJM] (TyFun [g_a1AJN] [(a_a1AJH, b_a1AJI, c_a1AJJ, d_a1AJK, e_a1AJL, f_a1AJM, g_a1AJN)] -> *) -> *) -> *) -> *) -> *)) data Zip7Sym2 (l_a1ATc :: [a_a1AJH]) (l_a1ATd :: [b_a1AJI]) (l_a1ATb :: TyFun [c_a1AJJ] (TyFun [d_a1AJK] (TyFun [e_a1AJL] (TyFun [f_a1AJM] (TyFun [g_a1AJN] [(a_a1AJH, b_a1AJI, c_a1AJJ, d_a1AJK, e_a1AJL, f_a1AJM, g_a1AJN)] -> *) -> *) -> *) -> *)) data Zip7Sym3 (l_a1ATg :: [a_a1AJH]) (l_a1ATh :: [b_a1AJI]) (l_a1ATi :: [c_a1AJJ]) (l_a1ATf :: TyFun [d_a1AJK] (TyFun [e_a1AJL] (TyFun [f_a1AJM] (TyFun [g_a1AJN] [(a_a1AJH, b_a1AJI, c_a1AJJ, d_a1AJK, e_a1AJL, f_a1AJM, g_a1AJN)] -> *) -> *) -> *)) data Zip7Sym4 (l_a1ATl :: [a_a1AJH]) (l_a1ATm :: [b_a1AJI]) (l_a1ATn :: [c_a1AJJ]) (l_a1ATo :: [d_a1AJK]) (l_a1ATk :: TyFun [e_a1AJL] (TyFun [f_a1AJM] (TyFun [g_a1AJN] [(a_a1AJH, b_a1AJI, c_a1AJJ, d_a1AJK, e_a1AJL, f_a1AJM, g_a1AJN)] -> *) -> *)) data Zip7Sym5 (l_a1ATr :: [a_a1AJH]) (l_a1ATs :: [b_a1AJI]) (l_a1ATt :: [c_a1AJJ]) (l_a1ATu :: [d_a1AJK]) (l_a1ATv :: [e_a1AJL]) (l_a1ATq :: TyFun [f_a1AJM] (TyFun [g_a1AJN] [(a_a1AJH, b_a1AJI, c_a1AJJ, d_a1AJK, e_a1AJL, f_a1AJM, g_a1AJN)] -> *)) data Zip7Sym6 (l_a1ATy :: [a_a1AJH]) (l_a1ATz :: [b_a1AJI]) (l_a1ATA :: [c_a1AJJ]) (l_a1ATB :: [d_a1AJK]) (l_a1ATC :: [e_a1AJL]) (l_a1ATD :: [f_a1AJM]) (l_a1ATx :: TyFun [g_a1AJN] [(a_a1AJH, b_a1AJI, c_a1AJJ, d_a1AJK, e_a1AJL, f_a1AJM, g_a1AJN)]) type Zip7Sym7 (t_a1ASZ :: [a_a1AJH]) (t_a1AT0 :: [b_a1AJI]) (t_a1AT1 :: [c_a1AJJ]) (t_a1AT2 :: [d_a1AJK]) (t_a1AT3 :: [e_a1AJL]) (t_a1AT4 :: [f_a1AJM]) (t_a1AT5 :: [g_a1AJN]) = Zip7 t_a1ASZ t_a1AT0 t_a1AT1 t_a1AT2 t_a1AT3 t_a1AT4 t_a1AT5 data ZipWith4Sym0 (l_a1AS8 :: TyFun (TyFun a_a1AJO (TyFun b_a1AJP (TyFun c_a1AJQ (TyFun d_a1AJR e_a1AJS -> *) -> *) -> *) -> *) (TyFun [a_a1AJO] (TyFun [b_a1AJP] (TyFun [c_a1AJQ] (TyFun [d_a1AJR] [e_a1AJS] -> *) -> *) -> *) -> *)) data ZipWith4Sym1 (l_a1ASb :: TyFun a_a1AJO (TyFun b_a1AJP (TyFun c_a1AJQ (TyFun d_a1AJR e_a1AJS -> *) -> *) -> *) -> *) (l_a1ASa :: TyFun [a_a1AJO] (TyFun [b_a1AJP] (TyFun [c_a1AJQ] (TyFun [d_a1AJR] [e_a1AJS] -> *) -> *) -> *)) data ZipWith4Sym2 (l_a1ASe :: TyFun a_a1AJO (TyFun b_a1AJP (TyFun c_a1AJQ (TyFun d_a1AJR e_a1AJS -> *) -> *) -> *) -> *) (l_a1ASf :: [a_a1AJO]) (l_a1ASd :: TyFun [b_a1AJP] (TyFun [c_a1AJQ] (TyFun [d_a1AJR] [e_a1AJS] -> *) -> *)) data ZipWith4Sym3 (l_a1ASi :: TyFun a_a1AJO (TyFun b_a1AJP (TyFun c_a1AJQ (TyFun d_a1AJR e_a1AJS -> *) -> *) -> *) -> *) (l_a1ASj :: [a_a1AJO]) (l_a1ASk :: [b_a1AJP]) (l_a1ASh :: TyFun [c_a1AJQ] (TyFun [d_a1AJR] [e_a1AJS] -> *)) data ZipWith4Sym4 (l_a1ASn :: TyFun a_a1AJO (TyFun b_a1AJP (TyFun c_a1AJQ (TyFun d_a1AJR e_a1AJS -> *) -> *) -> *) -> *) (l_a1ASo :: [a_a1AJO]) (l_a1ASp :: [b_a1AJP]) (l_a1ASq :: [c_a1AJQ]) (l_a1ASm :: TyFun [d_a1AJR] [e_a1AJS]) data ZipWith5Sym0 (l_a1ARf :: TyFun (TyFun a_a1AK2 (TyFun b_a1AK3 (TyFun c_a1AK4 (TyFun d_a1AK5 (TyFun e_a1AK6 f_a1AK7 -> *) -> *) -> *) -> *) -> *) (TyFun [a_a1AK2] (TyFun [b_a1AK3] (TyFun [c_a1AK4] (TyFun [d_a1AK5] (TyFun [e_a1AK6] [f_a1AK7] -> *) -> *) -> *) -> *) -> *)) data ZipWith5Sym1 (l_a1ARi :: TyFun a_a1AK2 (TyFun b_a1AK3 (TyFun c_a1AK4 (TyFun d_a1AK5 (TyFun e_a1AK6 f_a1AK7 -> *) -> *) -> *) -> *) -> *) (l_a1ARh :: TyFun [a_a1AK2] (TyFun [b_a1AK3] (TyFun [c_a1AK4] (TyFun [d_a1AK5] (TyFun [e_a1AK6] [f_a1AK7] -> *) -> *) -> *) -> *)) data ZipWith5Sym2 (l_a1ARl :: TyFun a_a1AK2 (TyFun b_a1AK3 (TyFun c_a1AK4 (TyFun d_a1AK5 (TyFun e_a1AK6 f_a1AK7 -> *) -> *) -> *) -> *) -> *) (l_a1ARm :: [a_a1AK2]) (l_a1ARk :: TyFun [b_a1AK3] (TyFun [c_a1AK4] (TyFun [d_a1AK5] (TyFun [e_a1AK6] [f_a1AK7] -> *) -> *) -> *)) data ZipWith5Sym3 (l_a1ARp :: TyFun a_a1AK2 (TyFun b_a1AK3 (TyFun c_a1AK4 (TyFun d_a1AK5 (TyFun e_a1AK6 f_a1AK7 -> *) -> *) -> *) -> *) -> *) (l_a1ARq :: [a_a1AK2]) (l_a1ARr :: [b_a1AK3]) (l_a1ARo :: TyFun [c_a1AK4] (TyFun [d_a1AK5] (TyFun [e_a1AK6] [f_a1AK7] -> *) -> *)) data ZipWith5Sym4 (l_a1ARu :: TyFun a_a1AK2 (TyFun b_a1AK3 (TyFun c_a1AK4 (TyFun d_a1AK5 (TyFun e_a1AK6 f_a1AK7 -> *) -> *) -> *) -> *) -> *) (l_a1ARv :: [a_a1AK2]) (l_a1ARw :: [b_a1AK3]) (l_a1ARx :: [c_a1AK4]) (l_a1ARt :: TyFun [d_a1AK5] (TyFun [e_a1AK6] [f_a1AK7] -> *)) data ZipWith5Sym5 (l_a1ARA :: TyFun a_a1AK2 (TyFun b_a1AK3 (TyFun c_a1AK4 (TyFun d_a1AK5 (TyFun e_a1AK6 f_a1AK7 -> *) -> *) -> *) -> *) -> *) (l_a1ARB :: [a_a1AK2]) (l_a1ARC :: [b_a1AK3]) (l_a1ARD :: [c_a1AK4]) (l_a1ARE :: [d_a1AK5]) (l_a1ARz :: TyFun [e_a1AK6] [f_a1AK7]) data ZipWith6Sym0 (l_a1AQ9 :: TyFun (TyFun a_a1AKj (TyFun b_a1AKk (TyFun c_a1AKl (TyFun d_a1AKm (TyFun e_a1AKn (TyFun f_a1AKo g_a1AKp -> *) -> *) -> *) -> *) -> *) -> *) (TyFun [a_a1AKj] (TyFun [b_a1AKk] (TyFun [c_a1AKl] (TyFun [d_a1AKm] (TyFun [e_a1AKn] (TyFun [f_a1AKo] [g_a1AKp] -> *) -> *) -> *) -> *) -> *) -> *)) data ZipWith6Sym1 (l_a1AQc :: TyFun a_a1AKj (TyFun b_a1AKk (TyFun c_a1AKl (TyFun d_a1AKm (TyFun e_a1AKn (TyFun f_a1AKo g_a1AKp -> *) -> *) -> *) -> *) -> *) -> *) (l_a1AQb :: TyFun [a_a1AKj] (TyFun [b_a1AKk] (TyFun [c_a1AKl] (TyFun [d_a1AKm] (TyFun [e_a1AKn] (TyFun [f_a1AKo] [g_a1AKp] -> *) -> *) -> *) -> *) -> *)) data ZipWith6Sym2 (l_a1AQf :: TyFun a_a1AKj (TyFun b_a1AKk (TyFun c_a1AKl (TyFun d_a1AKm (TyFun e_a1AKn (TyFun f_a1AKo g_a1AKp -> *) -> *) -> *) -> *) -> *) -> *) (l_a1AQg :: [a_a1AKj]) (l_a1AQe :: TyFun [b_a1AKk] (TyFun [c_a1AKl] (TyFun [d_a1AKm] (TyFun [e_a1AKn] (TyFun [f_a1AKo] [g_a1AKp] -> *) -> *) -> *) -> *)) data ZipWith6Sym3 (l_a1AQj :: TyFun a_a1AKj (TyFun b_a1AKk (TyFun c_a1AKl (TyFun d_a1AKm (TyFun e_a1AKn (TyFun f_a1AKo g_a1AKp -> *) -> *) -> *) -> *) -> *) -> *) (l_a1AQk :: [a_a1AKj]) (l_a1AQl :: [b_a1AKk]) (l_a1AQi :: TyFun [c_a1AKl] (TyFun [d_a1AKm] (TyFun [e_a1AKn] (TyFun [f_a1AKo] [g_a1AKp] -> *) -> *) -> *)) data ZipWith6Sym4 (l_a1AQo :: TyFun a_a1AKj (TyFun b_a1AKk (TyFun c_a1AKl (TyFun d_a1AKm (TyFun e_a1AKn (TyFun f_a1AKo g_a1AKp -> *) -> *) -> *) -> *) -> *) -> *) (l_a1AQp :: [a_a1AKj]) (l_a1AQq :: [b_a1AKk]) (l_a1AQr :: [c_a1AKl]) (l_a1AQn :: TyFun [d_a1AKm] (TyFun [e_a1AKn] (TyFun [f_a1AKo] [g_a1AKp] -> *) -> *)) data ZipWith6Sym5 (l_a1AQu :: TyFun a_a1AKj (TyFun b_a1AKk (TyFun c_a1AKl (TyFun d_a1AKm (TyFun e_a1AKn (TyFun f_a1AKo g_a1AKp -> *) -> *) -> *) -> *) -> *) -> *) (l_a1AQv :: [a_a1AKj]) (l_a1AQw :: [b_a1AKk]) (l_a1AQx :: [c_a1AKl]) (l_a1AQy :: [d_a1AKm]) (l_a1AQt :: TyFun [e_a1AKn] (TyFun [f_a1AKo] [g_a1AKp] -> *)) data ZipWith6Sym6 (l_a1AQB :: TyFun a_a1AKj (TyFun b_a1AKk (TyFun c_a1AKl (TyFun d_a1AKm (TyFun e_a1AKn (TyFun f_a1AKo g_a1AKp -> *) -> *) -> *) -> *) -> *) -> *) (l_a1AQC :: [a_a1AKj]) (l_a1AQD :: [b_a1AKk]) (l_a1AQE :: [c_a1AKl]) (l_a1AQF :: [d_a1AKm]) (l_a1AQG :: [e_a1AKn]) (l_a1AQA :: TyFun [f_a1AKo] [g_a1AKp]) data ZipWith7Sym0 (l_a1AOP :: TyFun (TyFun a_a1AKD (TyFun b_a1AKE (TyFun c_a1AKF (TyFun d_a1AKG (TyFun e_a1AKH (TyFun f_a1AKI (TyFun g_a1AKJ h_a1AKK -> *) -> *) -> *) -> *) -> *) -> *) -> *) (TyFun [a_a1AKD] (TyFun [b_a1AKE] (TyFun [c_a1AKF] (TyFun [d_a1AKG] (TyFun [e_a1AKH] (TyFun [f_a1AKI] (TyFun [g_a1AKJ] [h_a1AKK] -> *) -> *) -> *) -> *) -> *) -> *) -> *)) data ZipWith7Sym1 (l_a1AOS :: TyFun a_a1AKD (TyFun b_a1AKE (TyFun c_a1AKF (TyFun d_a1AKG (TyFun e_a1AKH (TyFun f_a1AKI (TyFun g_a1AKJ h_a1AKK -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1AOR :: TyFun [a_a1AKD] (TyFun [b_a1AKE] (TyFun [c_a1AKF] (TyFun [d_a1AKG] (TyFun [e_a1AKH] (TyFun [f_a1AKI] (TyFun [g_a1AKJ] [h_a1AKK] -> *) -> *) -> *) -> *) -> *) -> *)) data ZipWith7Sym2 (l_a1AOV :: TyFun a_a1AKD (TyFun b_a1AKE (TyFun c_a1AKF (TyFun d_a1AKG (TyFun e_a1AKH (TyFun f_a1AKI (TyFun g_a1AKJ h_a1AKK -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1AOW :: [a_a1AKD]) (l_a1AOU :: TyFun [b_a1AKE] (TyFun [c_a1AKF] (TyFun [d_a1AKG] (TyFun [e_a1AKH] (TyFun [f_a1AKI] (TyFun [g_a1AKJ] [h_a1AKK] -> *) -> *) -> *) -> *) -> *)) data ZipWith7Sym3 (l_a1AOZ :: TyFun a_a1AKD (TyFun b_a1AKE (TyFun c_a1AKF (TyFun d_a1AKG (TyFun e_a1AKH (TyFun f_a1AKI (TyFun g_a1AKJ h_a1AKK -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1AP0 :: [a_a1AKD]) (l_a1AP1 :: [b_a1AKE]) (l_a1AOY :: TyFun [c_a1AKF] (TyFun [d_a1AKG] (TyFun [e_a1AKH] (TyFun [f_a1AKI] (TyFun [g_a1AKJ] [h_a1AKK] -> *) -> *) -> *) -> *)) data ZipWith7Sym4 (l_a1AP4 :: TyFun a_a1AKD (TyFun b_a1AKE (TyFun c_a1AKF (TyFun d_a1AKG (TyFun e_a1AKH (TyFun f_a1AKI (TyFun g_a1AKJ h_a1AKK -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1AP5 :: [a_a1AKD]) (l_a1AP6 :: [b_a1AKE]) (l_a1AP7 :: [c_a1AKF]) (l_a1AP3 :: TyFun [d_a1AKG] (TyFun [e_a1AKH] (TyFun [f_a1AKI] (TyFun [g_a1AKJ] [h_a1AKK] -> *) -> *) -> *)) data ZipWith7Sym5 (l_a1APa :: TyFun a_a1AKD (TyFun b_a1AKE (TyFun c_a1AKF (TyFun d_a1AKG (TyFun e_a1AKH (TyFun f_a1AKI (TyFun g_a1AKJ h_a1AKK -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1APb :: [a_a1AKD]) (l_a1APc :: [b_a1AKE]) (l_a1APd :: [c_a1AKF]) (l_a1APe :: [d_a1AKG]) (l_a1AP9 :: TyFun [e_a1AKH] (TyFun [f_a1AKI] (TyFun [g_a1AKJ] [h_a1AKK] -> *) -> *)) data ZipWith7Sym6 (l_a1APh :: TyFun a_a1AKD (TyFun b_a1AKE (TyFun c_a1AKF (TyFun d_a1AKG (TyFun e_a1AKH (TyFun f_a1AKI (TyFun g_a1AKJ h_a1AKK -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1APi :: [a_a1AKD]) (l_a1APj :: [b_a1AKE]) (l_a1APk :: [c_a1AKF]) (l_a1APl :: [d_a1AKG]) (l_a1APm :: [e_a1AKH]) (l_a1APg :: TyFun [f_a1AKI] (TyFun [g_a1AKJ] [h_a1AKK] -> *)) data ZipWith7Sym7 (l_a1APp :: TyFun a_a1AKD (TyFun b_a1AKE (TyFun c_a1AKF (TyFun d_a1AKG (TyFun e_a1AKH (TyFun f_a1AKI (TyFun g_a1AKJ h_a1AKK -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1APq :: [a_a1AKD]) (l_a1APr :: [b_a1AKE]) (l_a1APs :: [c_a1AKF]) (l_a1APt :: [d_a1AKG]) (l_a1APu :: [e_a1AKH]) (l_a1APv :: [f_a1AKI]) (l_a1APo :: TyFun [g_a1AKJ] [h_a1AKK]) data NubSym0 (l_a1AO9 :: TyFun [a_a1AL0] [a_a1AL0]) type NubSym1 (t_a1AO8 :: [a_a1AL0]) = Nub t_a1AO8 data NubBySym0 (l_a1AMS :: TyFun (TyFun a_a1AL7 (TyFun a_a1AL7 Bool -> *) -> *) (TyFun [a_a1AL7] [a_a1AL7] -> *)) data NubBySym1 (l_a1AMV :: TyFun a_a1AL7 (TyFun a_a1AL7 Bool -> *) -> *) (l_a1AMU :: TyFun [a_a1AL7] [a_a1AL7]) type NubBySym2 (t_a1AMQ :: TyFun a_a1AL7 (TyFun a_a1AL7 Bool -> *) -> *) (t_a1AMR :: [a_a1AL7]) = NubBy t_a1AMQ t_a1AMR data UnionSym0 (l_a1ANZ :: TyFun [a_a1ALo] (TyFun [a_a1ALo] [a_a1ALo] -> *)) data UnionSym1 (l_a1AO2 :: [a_a1ALo]) (l_a1AO1 :: TyFun [a_a1ALo] [a_a1ALo]) type UnionSym2 (t_a1ANX :: [a_a1ALo]) (t_a1ANY :: [a_a1ALo]) = Union t_a1ANX t_a1ANY data UnionBySym0 (l_a1ANE :: TyFun (TyFun a_a1ALk (TyFun a_a1ALk Bool -> *) -> *) (TyFun [a_a1ALk] (TyFun [a_a1ALk] [a_a1ALk] -> *) -> *)) data UnionBySym1 (l_a1ANH :: TyFun a_a1ALk (TyFun a_a1ALk Bool -> *) -> *) (l_a1ANG :: TyFun [a_a1ALk] (TyFun [a_a1ALk] [a_a1ALk] -> *)) data UnionBySym2 (l_a1ANK :: TyFun a_a1ALk (TyFun a_a1ALk Bool -> *) -> *) (l_a1ANL :: [a_a1ALk]) (l_a1ANJ :: TyFun [a_a1ALk] [a_a1ALk]) type UnionBySym3 (t_a1ANB :: TyFun a_a1ALk (TyFun a_a1ALk Bool -> *) -> *) (t_a1ANC :: [a_a1ALk]) (t_a1AND :: [a_a1ALk]) = UnionBy t_a1ANB t_a1ANC t_a1AND data GenericLengthSym0 (l_a1BcX :: TyFun [a_a1ALv] i_a1ALw) type GenericLengthSym1 (t_a1BcW :: [a_a1ALv]) = GenericLength t_a1BcW data GenericTakeSym0 (l_a1B9I :: TyFun i_a1ALx (TyFun [a_a1ALy] [a_a1ALy] -> *)) data GenericTakeSym1 (l_a1B9L :: i_a1ALx) (l_a1B9K :: TyFun [a_a1ALy] [a_a1ALy]) type GenericTakeSym2 (t_a1B9G :: i_a1ALx) (t_a1B9H :: [a_a1ALy]) = GenericTake t_a1B9G t_a1B9H data GenericDropSym0 (l_a1B8O :: TyFun i_a1ALz (TyFun [a_a1ALA] [a_a1ALA] -> *)) data GenericDropSym1 (l_a1B8R :: i_a1ALz) (l_a1B8Q :: TyFun [a_a1ALA] [a_a1ALA]) type GenericDropSym2 (t_a1B8M :: i_a1ALz) (t_a1B8N :: [a_a1ALA]) = GenericDrop t_a1B8M t_a1B8N data GenericSplitAtSym0 (l_a1B9t :: TyFun i_a1ALB (TyFun [a_a1ALC] ([a_a1ALC], [a_a1ALC]) -> *)) data GenericSplitAtSym1 (l_a1B9w :: i_a1ALB) (l_a1B9v :: TyFun [a_a1ALC] ([a_a1ALC], [a_a1ALC])) type GenericSplitAtSym2 (t_a1B9r :: i_a1ALB) (t_a1B9s :: [a_a1ALC]) = GenericSplitAt t_a1B9r t_a1B9s data GenericIndexSym0 (l_a1AWs :: TyFun [a_a1ALD] (TyFun i_a1ALE a_a1ALD -> *)) data GenericIndexSym1 (l_a1AWv :: [a_a1ALD]) (l_a1AWu :: TyFun i_a1ALE a_a1ALD) type GenericIndexSym2 (t_a1AWq :: [a_a1ALD]) (t_a1AWr :: i_a1ALE) = GenericIndex t_a1AWq t_a1AWr data GenericReplicateSym0 (l_a1Bah :: TyFun i_a1ALF (TyFun a_a1ALG [a_a1ALG] -> *)) data GenericReplicateSym1 (l_a1Bak :: i_a1ALF) (l_a1Baj :: TyFun a_a1ALG [a_a1ALG]) type GenericReplicateSym2 (t_a1Baf :: i_a1ALF) (t_a1Bag :: a_a1ALG) = GenericReplicate t_a1Baf t_a1Bag instance SuppressUnusedWarnings GenericLengthSym0 instance SuppressUnusedWarnings ElemIndexSym0 instance SuppressUnusedWarnings ElemIndexSym1 instance SuppressUnusedWarnings FindIndexSym0 instance SuppressUnusedWarnings FindIndexSym1 instance SuppressUnusedWarnings ElemIndicesSym0 instance SuppressUnusedWarnings ElemIndicesSym1 instance SuppressUnusedWarnings FindIndicesSym0 instance SuppressUnusedWarnings FindIndicesSym1 instance SuppressUnusedWarnings LengthSym0 instance SuppressUnusedWarnings SumSym0 instance SuppressUnusedWarnings ProductSym0 instance SuppressUnusedWarnings GenericReplicateSym0 instance SuppressUnusedWarnings GenericReplicateSym1 instance SuppressUnusedWarnings ReplicateSym0 instance SuppressUnusedWarnings ReplicateSym1 instance SuppressUnusedWarnings TransposeSym0 instance SuppressUnusedWarnings GenericTakeSym0 instance SuppressUnusedWarnings GenericTakeSym1 instance SuppressUnusedWarnings GenericSplitAtSym0 instance SuppressUnusedWarnings GenericSplitAtSym1 instance SuppressUnusedWarnings SplitAtSym0 instance SuppressUnusedWarnings SplitAtSym1 instance SuppressUnusedWarnings TakeSym0 instance SuppressUnusedWarnings TakeSym1 instance SuppressUnusedWarnings GenericDropSym0 instance SuppressUnusedWarnings GenericDropSym1 instance SuppressUnusedWarnings DropSym0 instance SuppressUnusedWarnings DropSym1 instance SuppressUnusedWarnings TakeWhileSym0 instance SuppressUnusedWarnings TakeWhileSym1 instance SuppressUnusedWarnings DropWhileSym0 instance SuppressUnusedWarnings DropWhileSym1 instance SuppressUnusedWarnings DropWhileEndSym0 instance SuppressUnusedWarnings DropWhileEndSym1 instance SuppressUnusedWarnings GroupSym0 instance SuppressUnusedWarnings GroupBySym0 instance SuppressUnusedWarnings GroupBySym1 instance SuppressUnusedWarnings SpanSym0 instance SuppressUnusedWarnings SpanSym1 instance SuppressUnusedWarnings BreakSym0 instance SuppressUnusedWarnings BreakSym1 instance SuppressUnusedWarnings StripPrefixSym0 instance SuppressUnusedWarnings StripPrefixSym1 instance SuppressUnusedWarnings MaximumSym0 instance SuppressUnusedWarnings MinimumSym0 instance SuppressUnusedWarnings InsertSym0 instance SuppressUnusedWarnings InsertSym1 instance SuppressUnusedWarnings SortSym0 instance SuppressUnusedWarnings LookupSym0 instance SuppressUnusedWarnings LookupSym1 instance SuppressUnusedWarnings FindSym0 instance SuppressUnusedWarnings FindSym1 instance SuppressUnusedWarnings IntersectSym0 instance SuppressUnusedWarnings IntersectSym1 instance SuppressUnusedWarnings IntersectBySym0 instance SuppressUnusedWarnings IntersectBySym1 instance SuppressUnusedWarnings IntersectBySym2 instance SuppressUnusedWarnings FilterSym0 instance SuppressUnusedWarnings FilterSym1 instance SuppressUnusedWarnings PartitionSym0 instance SuppressUnusedWarnings PartitionSym1 instance SuppressUnusedWarnings SelectSym0 instance SuppressUnusedWarnings SelectSym1 instance SuppressUnusedWarnings SelectSym2 instance SuppressUnusedWarnings GenericIndexSym0 instance SuppressUnusedWarnings GenericIndexSym1 instance SuppressUnusedWarnings (:!!$) instance SuppressUnusedWarnings (:!!$$) instance SuppressUnusedWarnings Zip4Sym0 instance SuppressUnusedWarnings Zip4Sym1 instance SuppressUnusedWarnings Zip4Sym2 instance SuppressUnusedWarnings Zip4Sym3 instance SuppressUnusedWarnings Zip5Sym0 instance SuppressUnusedWarnings Zip5Sym1 instance SuppressUnusedWarnings Zip5Sym2 instance SuppressUnusedWarnings Zip5Sym3 instance SuppressUnusedWarnings Zip5Sym4 instance SuppressUnusedWarnings Zip6Sym0 instance SuppressUnusedWarnings Zip6Sym1 instance SuppressUnusedWarnings Zip6Sym2 instance SuppressUnusedWarnings Zip6Sym3 instance SuppressUnusedWarnings Zip6Sym4 instance SuppressUnusedWarnings Zip6Sym5 instance SuppressUnusedWarnings Zip7Sym0 instance SuppressUnusedWarnings Zip7Sym1 instance SuppressUnusedWarnings Zip7Sym2 instance SuppressUnusedWarnings Zip7Sym3 instance SuppressUnusedWarnings Zip7Sym4 instance SuppressUnusedWarnings Zip7Sym5 instance SuppressUnusedWarnings Zip7Sym6 instance SuppressUnusedWarnings ZipWith4Sym0 instance SuppressUnusedWarnings ZipWith4Sym1 instance SuppressUnusedWarnings ZipWith4Sym2 instance SuppressUnusedWarnings ZipWith4Sym3 instance SuppressUnusedWarnings ZipWith4Sym4 instance SuppressUnusedWarnings ZipWith5Sym0 instance SuppressUnusedWarnings ZipWith5Sym1 instance SuppressUnusedWarnings ZipWith5Sym2 instance SuppressUnusedWarnings ZipWith5Sym3 instance SuppressUnusedWarnings ZipWith5Sym4 instance SuppressUnusedWarnings ZipWith5Sym5 instance SuppressUnusedWarnings ZipWith6Sym0 instance SuppressUnusedWarnings ZipWith6Sym1 instance SuppressUnusedWarnings ZipWith6Sym2 instance SuppressUnusedWarnings ZipWith6Sym3 instance SuppressUnusedWarnings ZipWith6Sym4 instance SuppressUnusedWarnings ZipWith6Sym5 instance SuppressUnusedWarnings ZipWith6Sym6 instance SuppressUnusedWarnings ZipWith7Sym0 instance SuppressUnusedWarnings ZipWith7Sym1 instance SuppressUnusedWarnings ZipWith7Sym2 instance SuppressUnusedWarnings ZipWith7Sym3 instance SuppressUnusedWarnings ZipWith7Sym4 instance SuppressUnusedWarnings ZipWith7Sym5 instance SuppressUnusedWarnings ZipWith7Sym6 instance SuppressUnusedWarnings ZipWith7Sym7 instance SuppressUnusedWarnings NubSym0 instance SuppressUnusedWarnings UnionSym0 instance SuppressUnusedWarnings UnionSym1 instance SuppressUnusedWarnings UnionBySym0 instance SuppressUnusedWarnings UnionBySym1 instance SuppressUnusedWarnings UnionBySym2 instance SuppressUnusedWarnings NubBySym0 instance SuppressUnusedWarnings NubBySym1 instance SuppressUnusedWarnings Elem_bySym0 instance SuppressUnusedWarnings Elem_bySym1 instance SuppressUnusedWarnings Elem_bySym2 instance SuppressUnusedWarnings Lambda_1627771246Sym0 instance SuppressUnusedWarnings Lambda_1627771246Sym1 instance SuppressUnusedWarnings Lambda_1627771246Sym2 instance SuppressUnusedWarnings Let_1627771221BuildListSym0 instance SuppressUnusedWarnings Let_1627771221BuildListSym1 instance SuppressUnusedWarnings Let_1627771221BuildListSym2 instance SuppressUnusedWarnings Let_1627771221BuildListSym3 instance SuppressUnusedWarnings Let_1627771184Sum'Sym0 instance SuppressUnusedWarnings Let_1627771184Sum'Sym1 instance SuppressUnusedWarnings Let_1627771184Sum'Sym2 instance SuppressUnusedWarnings Let_1627771159ProdSym0 instance SuppressUnusedWarnings Let_1627771159ProdSym1 instance SuppressUnusedWarnings Let_1627771159ProdSym2 instance SuppressUnusedWarnings Let_1627771036XsSym0 instance SuppressUnusedWarnings Let_1627771036XsSym1 instance SuppressUnusedWarnings Let_1627770968XsSym0 instance SuppressUnusedWarnings Let_1627770968XsSym1 instance SuppressUnusedWarnings Let_1627770968XsSym2 instance SuppressUnusedWarnings Let_1627770968XsSym3 instance SuppressUnusedWarnings Let_1627770968XsSym4 instance SuppressUnusedWarnings Lambda_1627770902Sym0 instance SuppressUnusedWarnings Lambda_1627770902Sym1 instance SuppressUnusedWarnings Lambda_1627770902Sym2 instance SuppressUnusedWarnings Lambda_1627770902Sym3 instance SuppressUnusedWarnings Let_1627770907Scrutinee_1627769633Sym0 instance SuppressUnusedWarnings Let_1627770907Scrutinee_1627769633Sym1 instance SuppressUnusedWarnings Let_1627770907Scrutinee_1627769633Sym2 instance SuppressUnusedWarnings Let_1627770907Scrutinee_1627769633Sym3 instance SuppressUnusedWarnings Let_1627770828X_1627770830Sym0 instance SuppressUnusedWarnings Let_1627770828X_1627770830Sym1 instance SuppressUnusedWarnings Let_1627770828X_1627770830Sym2 instance SuppressUnusedWarnings Let_1627770828ZsSym0 instance SuppressUnusedWarnings Let_1627770828ZsSym1 instance SuppressUnusedWarnings Let_1627770828ZsSym2 instance SuppressUnusedWarnings Let_1627770828YsSym0 instance SuppressUnusedWarnings Let_1627770828YsSym1 instance SuppressUnusedWarnings Let_1627770828YsSym2 instance SuppressUnusedWarnings Let_1627770716X_1627770718Sym0 instance SuppressUnusedWarnings Let_1627770716X_1627770718Sym1 instance SuppressUnusedWarnings Let_1627770716X_1627770718Sym2 instance SuppressUnusedWarnings Let_1627770716X_1627770718Sym3 instance SuppressUnusedWarnings Let_1627770716X_1627770718Sym4 instance SuppressUnusedWarnings Let_1627770716ZsSym0 instance SuppressUnusedWarnings Let_1627770716ZsSym1 instance SuppressUnusedWarnings Let_1627770716ZsSym2 instance SuppressUnusedWarnings Let_1627770716ZsSym3 instance SuppressUnusedWarnings Let_1627770716ZsSym4 instance SuppressUnusedWarnings Let_1627770716YsSym0 instance SuppressUnusedWarnings Let_1627770716YsSym1 instance SuppressUnusedWarnings Let_1627770716YsSym2 instance SuppressUnusedWarnings Let_1627770716YsSym3 instance SuppressUnusedWarnings Let_1627770716YsSym4 instance SuppressUnusedWarnings Let_1627770687XsSym0 instance SuppressUnusedWarnings Let_1627770687XsSym1 instance SuppressUnusedWarnings Let_1627770687XsSym2 instance SuppressUnusedWarnings Let_1627770687XsSym3 instance SuppressUnusedWarnings Let_1627770687XsSym4 instance SuppressUnusedWarnings Let_1627770569X_1627770571Sym0 instance SuppressUnusedWarnings Let_1627770569X_1627770571Sym1 instance SuppressUnusedWarnings Let_1627770569X_1627770571Sym2 instance SuppressUnusedWarnings Let_1627770569X_1627770571Sym3 instance SuppressUnusedWarnings Let_1627770569X_1627770571Sym4 instance SuppressUnusedWarnings Let_1627770569ZsSym0 instance SuppressUnusedWarnings Let_1627770569ZsSym1 instance SuppressUnusedWarnings Let_1627770569ZsSym2 instance SuppressUnusedWarnings Let_1627770569ZsSym3 instance SuppressUnusedWarnings Let_1627770569ZsSym4 instance SuppressUnusedWarnings Let_1627770569YsSym0 instance SuppressUnusedWarnings Let_1627770569YsSym1 instance SuppressUnusedWarnings Let_1627770569YsSym2 instance SuppressUnusedWarnings Let_1627770569YsSym3 instance SuppressUnusedWarnings Let_1627770569YsSym4 instance SuppressUnusedWarnings Let_1627770540XsSym0 instance SuppressUnusedWarnings Let_1627770540XsSym1 instance SuppressUnusedWarnings Let_1627770540XsSym2 instance SuppressUnusedWarnings Let_1627770540XsSym3 instance SuppressUnusedWarnings Let_1627770540XsSym4 instance SuppressUnusedWarnings Lambda_1627770386Sym0 instance SuppressUnusedWarnings Lambda_1627770386Sym1 instance SuppressUnusedWarnings Lambda_1627770386Sym2 instance SuppressUnusedWarnings Lambda_1627770386Sym3 instance SuppressUnusedWarnings Let_1627769777Nub'Sym0 instance SuppressUnusedWarnings Let_1627769777Nub'Sym1 instance SuppressUnusedWarnings Let_1627769777Nub'Sym2 instance SuppressUnusedWarnings Let_1627769703NubBy'Sym0 instance SuppressUnusedWarnings Let_1627769703NubBy'Sym1 instance SuppressUnusedWarnings Let_1627769703NubBy'Sym2 instance SuppressUnusedWarnings Let_1627769703NubBy'Sym3 -- | Defines promoted functions and datatypes relating to Maybe, -- including a promoted version of all the definitions in -- Data.Maybe. -- -- Because many of these definitions are produced by Template Haskell, it -- is not possible to create proper Haddock documentation. Please look up -- the corresponding operation in Data.Maybe. Also, please -- excuse the apparent repeated variable names. This is due to an -- interaction between Template Haskell and Haddock. module Data.Promotion.Prelude.Maybe maybe_ :: b_a1wxW -> (a_a1wxX -> b_a1wxW) -> Maybe a_a1wxX -> b_a1wxW type NothingSym0 = Nothing data JustSym0 (l_at8S :: TyFun a_a53P (Maybe a_a53P)) type JustSym1 (t_at8R :: a_a53P) = Just t_at8R data Maybe_Sym0 (l_a1wy4 :: TyFun b_a1wxW (TyFun (TyFun a_a1wxX b_a1wxW -> *) (TyFun (Maybe a_a1wxX) b_a1wxW -> *) -> *)) data Maybe_Sym1 (l_a1wy7 :: b_a1wxW) (l_a1wy6 :: TyFun (TyFun a_a1wxX b_a1wxW -> *) (TyFun (Maybe a_a1wxX) b_a1wxW -> *)) data Maybe_Sym2 (l_a1wya :: b_a1wxW) (l_a1wyb :: TyFun a_a1wxX b_a1wxW -> *) (l_a1wy9 :: TyFun (Maybe a_a1wxX) b_a1wxW) type Maybe_Sym3 (t_a1wy1 :: b_a1wxW) (t_a1wy2 :: TyFun a_a1wxX b_a1wxW -> *) (t_a1wy3 :: Maybe a_a1wxX) = Maybe_ t_a1wy1 t_a1wy2 t_a1wy3 data IsJustSym0 (l_a1wVB :: TyFun (Maybe a_a1wTy) Bool) type IsJustSym1 (t_a1wVA :: Maybe a_a1wTy) = IsJust t_a1wVA data IsNothingSym0 (l_a1wVw :: TyFun (Maybe a_a1wTz) Bool) type IsNothingSym1 (t_a1wVv :: Maybe a_a1wTz) = IsNothing t_a1wVv data FromJustSym0 (l_a1wVr :: TyFun (Maybe a_a1wTA) a_a1wTA) type FromJustSym1 (t_a1wVq :: Maybe a_a1wTA) = FromJust t_a1wVq data FromMaybeSym0 (l_a1wV3 :: TyFun a_a1wTC (TyFun (Maybe a_a1wTC) a_a1wTC -> *)) data FromMaybeSym1 (l_a1wV6 :: a_a1wTC) (l_a1wV5 :: TyFun (Maybe a_a1wTC) a_a1wTC) type FromMaybeSym2 (t_a1wV1 :: a_a1wTC) (t_a1wV2 :: Maybe a_a1wTC) = FromMaybe t_a1wV1 t_a1wV2 data MaybeToListSym0 (l_a1wUX :: TyFun (Maybe a_a1wTG) [a_a1wTG]) type MaybeToListSym1 (t_a1wUW :: Maybe a_a1wTG) = MaybeToList t_a1wUW data ListToMaybeSym0 (l_a1wUR :: TyFun [a_a1wTI] (Maybe a_a1wTI)) type ListToMaybeSym1 (t_a1wUQ :: [a_a1wTI]) = ListToMaybe t_a1wUQ data CatMaybesSym0 (l_a1wUK :: TyFun [Maybe a_a1wTK] [a_a1wTK]) type CatMaybesSym1 (t_a1wUJ :: [Maybe a_a1wTK]) = CatMaybes t_a1wUJ data MapMaybeSym0 (l_a1wU1 :: TyFun (TyFun a_a1wTO (Maybe b_a1wTP) -> *) (TyFun [a_a1wTO] [b_a1wTP] -> *)) data MapMaybeSym1 (l_a1wU4 :: TyFun a_a1wTO (Maybe b_a1wTP) -> *) (l_a1wU3 :: TyFun [a_a1wTO] [b_a1wTP]) type MapMaybeSym2 (t_a1wTZ :: TyFun a_a1wTO (Maybe b_a1wTP) -> *) (t_a1wU0 :: [a_a1wTO]) = MapMaybe t_a1wTZ t_a1wU0 -- | Mimics the Haskell Prelude, but with promoted types. module Data.Promotion.Prelude -- | Type-level If. If True a b ==> a; If -- False a b ==> b type Otherwise = (TrueSym0 :: Bool) maybe_ :: b_a1wxW -> (a_a1wxX -> b_a1wxW) -> Maybe a_a1wxX -> b_a1wxW either_ :: (a_aL1f -> c_aL1g) -> (b_aL1h -> c_aL1g) -> Either a_aL1f b_aL1h -> c_aL1g -- | (Kind) This is the kind of type-level symbols. data Symbol :: * -- | The promotion of error data ErrorSym0 (t1 :: TyFun k1 k2) -- | (Kind) This is the kind of type-level natural numbers. data Nat :: * type (:+) x y = x + y type (:-) x y = x - y type (:*) x y = x * y type (:^) x y = x ^ y any_ :: (a_aPc2 -> Bool) -> [a_aPc2] -> Bool -- | A concrete, promotable proxy type, for use at the kind level There are -- no instances for this because it is intended at the kind level only data KProxy t :: * -> * KProxy :: KProxy t type FalseSym0 = False type TrueSym0 = True data NotSym0 (l_aA1Q :: TyFun Bool Bool) type NotSym1 (t_aA1P :: Bool) = Not t_aA1P data (:&&$) (l_aA26 :: TyFun Bool (TyFun Bool Bool -> *)) data (:&&$$) (l_aA29 :: Bool) (l_aA28 :: TyFun Bool Bool) type (:&&$$$) (t_aA24 :: Bool) (t_aA25 :: Bool) = (:&&) t_aA24 t_aA25 data (:||$) (l_aA1V :: TyFun Bool (TyFun Bool Bool -> *)) data (:||$$) (l_aA1Y :: Bool) (l_aA1X :: TyFun Bool Bool) type (:||$$$) (t_aA1T :: Bool) (t_aA1U :: Bool) = (:||) t_aA1T t_aA1U type OtherwiseSym0 = Otherwise type NothingSym0 = Nothing data JustSym0 (l_at8S :: TyFun a_a53P (Maybe a_a53P)) type JustSym1 (t_at8R :: a_a53P) = Just t_at8R data Maybe_Sym0 (l_a1wy4 :: TyFun b_a1wxW (TyFun (TyFun a_a1wxX b_a1wxW -> *) (TyFun (Maybe a_a1wxX) b_a1wxW -> *) -> *)) data Maybe_Sym1 (l_a1wy7 :: b_a1wxW) (l_a1wy6 :: TyFun (TyFun a_a1wxX b_a1wxW -> *) (TyFun (Maybe a_a1wxX) b_a1wxW -> *)) data Maybe_Sym2 (l_a1wya :: b_a1wxW) (l_a1wyb :: TyFun a_a1wxX b_a1wxW -> *) (l_a1wy9 :: TyFun (Maybe a_a1wxX) b_a1wxW) type Maybe_Sym3 (t_a1wy1 :: b_a1wxW) (t_a1wy2 :: TyFun a_a1wxX b_a1wxW -> *) (t_a1wy3 :: Maybe a_a1wxX) = Maybe_ t_a1wy1 t_a1wy2 t_a1wy3 data LeftSym0 (l_at9j :: TyFun a_a8tL (Either a_a8tL b_a8tM)) type LeftSym1 (t_at9i :: a_a8tL) = Left t_at9i data RightSym0 (l_at9m :: TyFun b_a8tM (Either a_a8tL b_a8tM)) type RightSym1 (t_at9l :: b_a8tM) = Right t_at9l data Either_Sym0 (l_aL1p :: TyFun (TyFun a_aL1f c_aL1g -> *) (TyFun (TyFun b_aL1h c_aL1g -> *) (TyFun (Either a_aL1f b_aL1h) c_aL1g -> *) -> *)) data Either_Sym1 (l_aL1s :: TyFun a_aL1f c_aL1g -> *) (l_aL1r :: TyFun (TyFun b_aL1h c_aL1g -> *) (TyFun (Either a_aL1f b_aL1h) c_aL1g -> *)) data Either_Sym2 (l_aL1v :: TyFun a_aL1f c_aL1g -> *) (l_aL1w :: TyFun b_aL1h c_aL1g -> *) (l_aL1u :: TyFun (Either a_aL1f b_aL1h) c_aL1g) type Either_Sym3 (t_aL1m :: TyFun a_aL1f c_aL1g -> *) (t_aL1n :: TyFun b_aL1h c_aL1g -> *) (t_aL1o :: Either a_aL1f b_aL1h) = Either_ t_aL1m t_aL1n t_aL1o type Tuple0Sym0 = '() data Tuple2Sym0 (l_at9E :: TyFun a_12 (TyFun b_13 (a_12, b_13) -> *)) data Tuple2Sym1 (l_at9H :: a_12) (l_at9G :: TyFun b_13 (a_12, b_13)) type Tuple2Sym2 (t_at9C :: a_12) (t_at9D :: b_13) = '(t_at9C, t_at9D) data Tuple3Sym0 (l_at9Y :: TyFun a_12 (TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *) -> *)) data Tuple3Sym1 (l_ata1 :: a_12) (l_ata0 :: TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *)) data Tuple3Sym2 (l_ata4 :: a_12) (l_ata5 :: b_13) (l_ata3 :: TyFun c_14 (a_12, b_13, c_14)) type Tuple3Sym3 (t_at9V :: a_12) (t_at9W :: b_13) (t_at9X :: c_14) = '(t_at9V, t_at9W, t_at9X) data Tuple4Sym0 (l_atas :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *) -> *)) data Tuple4Sym1 (l_atav :: a_12) (l_atau :: TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *)) data Tuple4Sym2 (l_atay :: a_12) (l_ataz :: b_13) (l_atax :: TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *)) data Tuple4Sym3 (l_ataC :: a_12) (l_ataD :: b_13) (l_ataE :: c_14) (l_ataB :: TyFun d_15 (a_12, b_13, c_14, d_15)) type Tuple4Sym4 (t_atao :: a_12) (t_atap :: b_13) (t_ataq :: c_14) (t_atar :: d_15) = '(t_atao, t_atap, t_ataq, t_atar) data Tuple5Sym0 (l_atb7 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *) -> *) -> *)) data Tuple5Sym1 (l_atba :: a_12) (l_atb9 :: TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *) -> *)) data Tuple5Sym2 (l_atbd :: a_12) (l_atbe :: b_13) (l_atbc :: TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *)) data Tuple5Sym3 (l_atbh :: a_12) (l_atbi :: b_13) (l_atbj :: c_14) (l_atbg :: TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *)) data Tuple5Sym4 (l_atbm :: a_12) (l_atbn :: b_13) (l_atbo :: c_14) (l_atbp :: d_15) (l_atbl :: TyFun e_16 (a_12, b_13, c_14, d_15, e_16)) type Tuple5Sym5 (t_atb2 :: a_12) (t_atb3 :: b_13) (t_atb4 :: c_14) (t_atb5 :: d_15) (t_atb6 :: e_16) = '(t_atb2, t_atb3, t_atb4, t_atb5, t_atb6) data Tuple6Sym0 (l_atbY :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *) -> *) -> *) -> *)) data Tuple6Sym1 (l_atc1 :: a_12) (l_atc0 :: TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *) -> *) -> *)) data Tuple6Sym2 (l_atc4 :: a_12) (l_atc5 :: b_13) (l_atc3 :: TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *) -> *)) data Tuple6Sym3 (l_atc8 :: a_12) (l_atc9 :: b_13) (l_atca :: c_14) (l_atc7 :: TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *)) data Tuple6Sym4 (l_atcd :: a_12) (l_atce :: b_13) (l_atcf :: c_14) (l_atcg :: d_15) (l_atcc :: TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *)) data Tuple6Sym5 (l_atcj :: a_12) (l_atck :: b_13) (l_atcl :: c_14) (l_atcm :: d_15) (l_atcn :: e_16) (l_atci :: TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17)) type Tuple6Sym6 (t_atbS :: a_12) (t_atbT :: b_13) (t_atbU :: c_14) (t_atbV :: d_15) (t_atbW :: e_16) (t_atbX :: f_17) = '(t_atbS, t_atbT, t_atbU, t_atbV, t_atbW, t_atbX) data Tuple7Sym0 (l_atd2 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *) -> *) -> *) -> *)) data Tuple7Sym1 (l_atd5 :: a_12) (l_atd4 :: TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *) -> *) -> *)) data Tuple7Sym2 (l_atd8 :: a_12) (l_atd9 :: b_13) (l_atd7 :: TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *) -> *)) data Tuple7Sym3 (l_atdc :: a_12) (l_atdd :: b_13) (l_atde :: c_14) (l_atdb :: TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *)) data Tuple7Sym4 (l_atdh :: a_12) (l_atdi :: b_13) (l_atdj :: c_14) (l_atdk :: d_15) (l_atdg :: TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *)) data Tuple7Sym5 (l_atdn :: a_12) (l_atdo :: b_13) (l_atdp :: c_14) (l_atdq :: d_15) (l_atdr :: e_16) (l_atdm :: TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *)) data Tuple7Sym6 (l_atdu :: a_12) (l_atdv :: b_13) (l_atdw :: c_14) (l_atdx :: d_15) (l_atdy :: e_16) (l_atdz :: f_17) (l_atdt :: TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18)) type Tuple7Sym7 (t_atcV :: a_12) (t_atcW :: b_13) (t_atcX :: c_14) (t_atcY :: d_15) (t_atcZ :: e_16) (t_atd0 :: f_17) (t_atd1 :: g_18) = '(t_atcV, t_atcW, t_atcX, t_atcY, t_atcZ, t_atd0, t_atd1) data FstSym0 (l_aNKL :: TyFun (a_aNJV, b_aNJW) a_aNJV) type FstSym1 (t_aNKK :: (a_aNJV, b_aNJW)) = Fst t_aNKK data SndSym0 (l_aNKF :: TyFun (a_aNJY, b_aNJZ) b_aNJZ) type SndSym1 (t_aNKE :: (a_aNJY, b_aNJZ)) = Snd t_aNKE data CurrySym0 (l_aNKp :: TyFun (TyFun (a_aNK1, b_aNK2) c_aNK3 -> *) (TyFun a_aNK1 (TyFun b_aNK2 c_aNK3 -> *) -> *)) data CurrySym1 (l_aNKs :: TyFun (a_aNK1, b_aNK2) c_aNK3 -> *) (l_aNKr :: TyFun a_aNK1 (TyFun b_aNK2 c_aNK3 -> *)) data CurrySym2 (l_aNKv :: TyFun (a_aNK1, b_aNK2) c_aNK3 -> *) (l_aNKw :: a_aNK1) (l_aNKu :: TyFun b_aNK2 c_aNK3) type CurrySym3 (t_aNKm :: TyFun (a_aNK1, b_aNK2) c_aNK3 -> *) (t_aNKn :: a_aNK1) (t_aNKo :: b_aNK2) = Curry t_aNKm t_aNKn t_aNKo data UncurrySym0 (l_aNKS :: TyFun (TyFun a_aNK7 (TyFun b_aNK8 c_aNK9 -> *) -> *) (TyFun (a_aNK7, b_aNK8) c_aNK9 -> *)) data UncurrySym1 (l_aNKV :: TyFun a_aNK7 (TyFun b_aNK8 c_aNK9 -> *) -> *) (l_aNKU :: TyFun (a_aNK7, b_aNK8) c_aNK9) type UncurrySym2 (t_aNKQ :: TyFun a_aNK7 (TyFun b_aNK8 c_aNK9 -> *) -> *) (t_aNKR :: (a_aNK7, b_aNK8)) = Uncurry t_aNKQ t_aNKR data (:+$) l_aGTz data (:+$$) (l_aGTC :: Nat) l_aGTB data (:-$) l_aGTG data (:-$$) (l_aGTJ :: Nat) l_aGTI data (:*$) l_aGTN data (:*$$) (l_aGTQ :: Nat) l_aGTP data (:^$) l_aGTU data (:^$$) (l_aGTX :: Nat) l_aGTW data IdSym0 (l_aIbD :: TyFun a_aI9H a_aI9H) type IdSym1 (t_aIbC :: a_aI9H) = Id t_aIbC data ConstSym0 (l_aIbe :: TyFun a_aI9J (TyFun b_aI9K a_aI9J -> *)) data ConstSym1 (l_aIbh :: a_aI9J) (l_aIbg :: TyFun b_aI9K a_aI9J) type ConstSym2 (t_aIbc :: a_aI9J) (t_aIbd :: b_aI9K) = Const t_aIbc t_aIbd data (:.$) (l_aIay :: TyFun (TyFun b_aI9M c_aI9N -> *) (TyFun (TyFun a_aI9O b_aI9M -> *) (TyFun a_aI9O c_aI9N -> *) -> *)) data (:.$$) (l_aIaB :: TyFun b_aI9M c_aI9N -> *) (l_aIaA :: TyFun (TyFun a_aI9O b_aI9M -> *) (TyFun a_aI9O c_aI9N -> *)) data (:.$$$) (l_aIaE :: TyFun b_aI9M c_aI9N -> *) (l_aIaF :: TyFun a_aI9O b_aI9M -> *) (l_aIaD :: TyFun a_aI9O c_aI9N) data ($$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> * data ($$$) :: (TyFun a b -> *) -> TyFun a b -> * type ($$$$) a b = ($) a b data ($!$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> * data ($!$$) :: (TyFun a b -> *) -> TyFun a b -> * type ($!$$$) a b = ($!) a b data FlipSym0 (l_aIag :: TyFun (TyFun a_aI9S (TyFun b_aI9T c_aI9U -> *) -> *) (TyFun b_aI9T (TyFun a_aI9S c_aI9U -> *) -> *)) data FlipSym1 (l_aIaj :: TyFun a_aI9S (TyFun b_aI9T c_aI9U -> *) -> *) (l_aIai :: TyFun b_aI9T (TyFun a_aI9S c_aI9U -> *)) data FlipSym2 (l_aIam :: TyFun a_aI9S (TyFun b_aI9T c_aI9U -> *) -> *) (l_aIan :: b_aI9T) (l_aIal :: TyFun a_aI9S c_aI9U) data AsTypeOfSym0 (l_aIbt :: TyFun a_aI9Y (TyFun a_aI9Y a_aI9Y -> *)) data AsTypeOfSym1 (l_aIbw :: a_aI9Y) (l_aIbv :: TyFun a_aI9Y a_aI9Y) type AsTypeOfSym2 (t_aIbr :: a_aI9Y) (t_aIbs :: a_aI9Y) = AsTypeOf t_aIbr t_aIbs data SeqSym0 (l_aIa4 :: TyFun a_aI9Z (TyFun b_aIa0 b_aIa0 -> *)) data SeqSym1 (l_aIa7 :: a_aI9Z) (l_aIa6 :: TyFun b_aIa0 b_aIa0) type SeqSym2 (t_aIa2 :: a_aI9Z) (t_aIa3 :: b_aIa0) = Seq t_aIa2 t_aIa3 data (:$) (l_at92 :: TyFun a_12 (TyFun [a_12] [a_12] -> *)) data (:$$) (l_at95 :: a_12) (l_at94 :: TyFun [a_12] [a_12]) type (:$$$) (t_at90 :: a_12) (t_at91 :: [a_12]) = (:) t_at90 t_at91 type NilSym0 = '[] data MapSym0 (l_aIbW :: TyFun (TyFun a_aI9x b_aI9y -> *) (TyFun [a_aI9x] [b_aI9y] -> *)) data MapSym1 (l_aIbZ :: TyFun a_aI9x b_aI9y -> *) (l_aIbY :: TyFun [a_aI9x] [b_aI9y]) type MapSym2 (t_aIbU :: TyFun a_aI9x b_aI9y -> *) (t_aIbV :: [a_aI9x]) = Map t_aIbU t_aIbV data ReverseSym0 (l_aRPD :: TyFun [a_aRd6] [a_aRd6]) type ReverseSym1 (t_aRPC :: [a_aRd6]) = Reverse t_aRPC data (:++$$) (l_aIbM :: [a_aI9C]) (l_aIbL :: TyFun [a_aI9C] [a_aI9C]) data (:++$) (l_aIbJ :: TyFun [a_aI9C] (TyFun [a_aI9C] [a_aI9C] -> *)) data HeadSym0 (l_aRRr :: TyFun [a_aRcL] a_aRcL) type HeadSym1 (t_aRRq :: [a_aRcL]) = Head t_aRRq data LastSym0 (l_aRQV :: TyFun [a_aRcN] a_aRcN) type LastSym1 (t_aRQU :: [a_aRcN]) = Last t_aRQU data TailSym0 (l_aRQP :: TyFun [a_aRcV] [a_aRcV]) type TailSym1 (t_aRQO :: [a_aRcV]) = Tail t_aRQO data InitSym0 (l_aRQj :: TyFun [a_aRcX] [a_aRcX]) type InitSym1 (t_aRQi :: [a_aRcX]) = Init t_aRQi data NullSym0 (l_aRQd :: TyFun [a_aRd5] Bool) type NullSym1 (t_aRQc :: [a_aRd5]) = Null t_aRQc data FoldlSym0 (l_aRE3 :: TyFun (TyFun b_aRdP (TyFun a_aRdQ b_aRdP -> *) -> *) (TyFun b_aRdP (TyFun [a_aRdQ] b_aRdP -> *) -> *)) data FoldlSym1 (l_aRE6 :: TyFun b_aRdP (TyFun a_aRdQ b_aRdP -> *) -> *) (l_aRE5 :: TyFun b_aRdP (TyFun [a_aRdQ] b_aRdP -> *)) data FoldlSym2 (l_aRE9 :: TyFun b_aRdP (TyFun a_aRdQ b_aRdP -> *) -> *) (l_aREa :: b_aRdP) (l_aRE8 :: TyFun [a_aRdQ] b_aRdP) type FoldlSym3 (t_aRE0 :: TyFun b_aRdP (TyFun a_aRdQ b_aRdP -> *) -> *) (t_aRE1 :: b_aRdP) (t_aRE2 :: [a_aRdQ]) = Foldl t_aRE0 t_aRE1 t_aRE2 data Foldl1Sym0 (l_aRER :: TyFun (TyFun a_aRea (TyFun a_aRea a_aRea -> *) -> *) (TyFun [a_aRea] a_aRea -> *)) data Foldl1Sym1 (l_aREU :: TyFun a_aRea (TyFun a_aRea a_aRea -> *) -> *) (l_aRET :: TyFun [a_aRea] a_aRea) type Foldl1Sym2 (t_aREP :: TyFun a_aRea (TyFun a_aRea a_aRea -> *) -> *) (t_aREQ :: [a_aRea]) = Foldl1 t_aREP t_aREQ data FoldrSym0 (l_aIca :: TyFun (TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (TyFun b_aI9r (TyFun [a_aI9q] b_aI9r -> *) -> *)) data FoldrSym1 (l_aIcd :: TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (l_aIcc :: TyFun b_aI9r (TyFun [a_aI9q] b_aI9r -> *)) data FoldrSym2 (l_aIcg :: TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (l_aIch :: b_aI9r) (l_aIcf :: TyFun [a_aI9q] b_aI9r) type FoldrSym3 (t_aIc7 :: TyFun a_aI9q (TyFun b_aI9r b_aI9r -> *) -> *) (t_aIc8 :: b_aI9r) (t_aIc9 :: [a_aI9q]) = Foldr t_aIc7 t_aIc8 t_aIc9 data Foldr1Sym0 (l_aRBR :: TyFun (TyFun a_aRei (TyFun a_aRei a_aRei -> *) -> *) (TyFun [a_aRei] a_aRei -> *)) data Foldr1Sym1 (l_aRBU :: TyFun a_aRei (TyFun a_aRei a_aRei -> *) -> *) (l_aRBT :: TyFun [a_aRei] a_aRei) type Foldr1Sym2 (t_aRBP :: TyFun a_aRei (TyFun a_aRei a_aRei -> *) -> *) (t_aRBQ :: [a_aRei]) = Foldr1 t_aRBP t_aRBQ data ConcatSym0 (l_aRBL :: TyFun [[a_aRen]] [a_aRen]) type ConcatSym1 (t_aRBK :: [[a_aRen]]) = Concat t_aRBK data ConcatMapSym0 (l_aRBx :: TyFun (TyFun a_aReo [b_aRep] -> *) (TyFun [a_aReo] [b_aRep] -> *)) data ConcatMapSym1 (l_aRBA :: TyFun a_aReo [b_aRep] -> *) (l_aRBz :: TyFun [a_aReo] [b_aRep]) type ConcatMapSym2 (t_aRBv :: TyFun a_aReo [b_aRep] -> *) (t_aRBw :: [a_aReo]) = ConcatMap t_aRBv t_aRBw data MaximumBySym0 (l_aRF4 :: TyFun (TyFun a_aRi9 (TyFun a_aRi9 Ordering -> *) -> *) (TyFun [a_aRi9] a_aRi9 -> *)) data MaximumBySym1 (l_aRF7 :: TyFun a_aRi9 (TyFun a_aRi9 Ordering -> *) -> *) (l_aRF6 :: TyFun [a_aRi9] a_aRi9) type MaximumBySym2 (t_aRF2 :: TyFun a_aRi9 (TyFun a_aRi9 Ordering -> *) -> *) (t_aRF3 :: [a_aRi9]) = MaximumBy t_aRF2 t_aRF3 data MinimumBySym0 (l_aRGv :: TyFun (TyFun a_aRif (TyFun a_aRif Ordering -> *) -> *) (TyFun [a_aRif] a_aRif -> *)) data MinimumBySym1 (l_aRGy :: TyFun a_aRif (TyFun a_aRif Ordering -> *) -> *) (l_aRGx :: TyFun [a_aRif] a_aRif) type MinimumBySym2 (t_aRGt :: TyFun a_aRif (TyFun a_aRif Ordering -> *) -> *) (t_aRGu :: [a_aRif]) = MinimumBy t_aRGt t_aRGu data AndSym0 (l_aRBq :: TyFun [Bool] Bool) type AndSym1 (t_aRBp :: [Bool]) = And t_aRBp data OrSym0 (l_aRBk :: TyFun [Bool] Bool) type OrSym1 (t_aRBj :: [Bool]) = Or t_aRBj data Any_Sym0 (l_aPc8 :: TyFun (TyFun a_aPc2 Bool -> *) (TyFun [a_aPc2] Bool -> *)) data Any_Sym1 (l_aPcb :: TyFun a_aPc2 Bool -> *) (l_aPca :: TyFun [a_aPc2] Bool) type Any_Sym2 (t_aPc6 :: TyFun a_aPc2 Bool -> *) (t_aPc7 :: [a_aPc2]) = Any_ t_aPc6 t_aPc7 data AllSym0 (l_aRB8 :: TyFun (TyFun a_aRev Bool -> *) (TyFun [a_aRev] Bool -> *)) data AllSym1 (l_aRBb :: TyFun a_aRev Bool -> *) (l_aRBa :: TyFun [a_aRev] Bool) type AllSym2 (t_aRB6 :: TyFun a_aRev Bool -> *) (t_aRB7 :: [a_aRev]) = All t_aRB6 t_aRB7 data ScanlSym0 (l_aRAk :: TyFun (TyFun b_aRez (TyFun a_aReA b_aRez -> *) -> *) (TyFun b_aRez (TyFun [a_aReA] [b_aRez] -> *) -> *)) data ScanlSym1 (l_aRAn :: TyFun b_aRez (TyFun a_aReA b_aRez -> *) -> *) (l_aRAm :: TyFun b_aRez (TyFun [a_aReA] [b_aRez] -> *)) data ScanlSym2 (l_aRAq :: TyFun b_aRez (TyFun a_aReA b_aRez -> *) -> *) (l_aRAr :: b_aRez) (l_aRAp :: TyFun [a_aReA] [b_aRez]) type ScanlSym3 (t_aRAh :: TyFun b_aRez (TyFun a_aReA b_aRez -> *) -> *) (t_aRAi :: b_aRez) (t_aRAj :: [a_aReA]) = Scanl t_aRAh t_aRAi t_aRAj data Scanl1Sym0 (l_aRAV :: TyFun (TyFun a_aReG (TyFun a_aReG a_aReG -> *) -> *) (TyFun [a_aReG] [a_aReG] -> *)) data Scanl1Sym1 (l_aRAY :: TyFun a_aReG (TyFun a_aReG a_aReG -> *) -> *) (l_aRAX :: TyFun [a_aReG] [a_aReG]) type Scanl1Sym2 (t_aRAT :: TyFun a_aReG (TyFun a_aReG a_aReG -> *) -> *) (t_aRAU :: [a_aReG]) = Scanl1 t_aRAT t_aRAU data ScanrSym0 (l_aRzz :: TyFun (TyFun a_aReK (TyFun b_aReL b_aReL -> *) -> *) (TyFun b_aReL (TyFun [a_aReK] [b_aReL] -> *) -> *)) data ScanrSym1 (l_aRzC :: TyFun a_aReK (TyFun b_aReL b_aReL -> *) -> *) (l_aRzB :: TyFun b_aReL (TyFun [a_aReK] [b_aReL] -> *)) data ScanrSym2 (l_aRzF :: TyFun a_aReK (TyFun b_aReL b_aReL -> *) -> *) (l_aRzG :: b_aReL) (l_aRzE :: TyFun [a_aReK] [b_aReL]) type ScanrSym3 (t_aRzw :: TyFun a_aReK (TyFun b_aReL b_aReL -> *) -> *) (t_aRzx :: b_aReL) (t_aRzy :: [a_aReK]) = Scanr t_aRzw t_aRzx t_aRzy data Scanr1Sym0 (l_aRyy :: TyFun (TyFun a_aReT (TyFun a_aReT a_aReT -> *) -> *) (TyFun [a_aReT] [a_aReT] -> *)) data Scanr1Sym1 (l_aRyB :: TyFun a_aReT (TyFun a_aReT a_aReT -> *) -> *) (l_aRyA :: TyFun [a_aReT] [a_aReT]) type Scanr1Sym2 (t_aRyw :: TyFun a_aReT (TyFun a_aReT a_aReT -> *) -> *) (t_aRyx :: [a_aReT]) = Scanr1 t_aRyw t_aRyx data ElemSym0 (l_aRrz :: TyFun a_aRfM (TyFun [a_aRfM] Bool -> *)) data ElemSym1 (l_aRrC :: a_aRfM) (l_aRrB :: TyFun [a_aRfM] Bool) type ElemSym2 (t_aRrx :: a_aRfM) (t_aRry :: [a_aRfM]) = Elem t_aRrx t_aRry data NotElemSym0 (l_aRrm :: TyFun a_aRfQ (TyFun [a_aRfQ] Bool -> *)) data NotElemSym1 (l_aRrp :: a_aRfQ) (l_aRro :: TyFun [a_aRfQ] Bool) type NotElemSym2 (t_aRrk :: a_aRfQ) (t_aRrl :: [a_aRfQ]) = NotElem t_aRrk t_aRrl data ZipSym0 (l_aRr5 :: TyFun [a_aRfU] (TyFun [b_aRfV] [(a_aRfU, b_aRfV)] -> *)) data ZipSym1 (l_aRr8 :: [a_aRfU]) (l_aRr7 :: TyFun [b_aRfV] [(a_aRfU, b_aRfV)]) type ZipSym2 (t_aRr3 :: [a_aRfU]) (t_aRr4 :: [b_aRfV]) = Zip t_aRr3 t_aRr4 data Zip3Sym0 (l_aRqt :: TyFun [a_aRg0] (TyFun [b_aRg1] (TyFun [c_aRg2] [(a_aRg0, b_aRg1, c_aRg2)] -> *) -> *)) data Zip3Sym1 (l_aRqw :: [a_aRg0]) (l_aRqv :: TyFun [b_aRg1] (TyFun [c_aRg2] [(a_aRg0, b_aRg1, c_aRg2)] -> *)) data Zip3Sym2 (l_aRqz :: [a_aRg0]) (l_aRqA :: [b_aRg1]) (l_aRqy :: TyFun [c_aRg2] [(a_aRg0, b_aRg1, c_aRg2)]) type Zip3Sym3 (t_aRqq :: [a_aRg0]) (t_aRqr :: [b_aRg1]) (t_aRqs :: [c_aRg2]) = Zip3 t_aRqq t_aRqr t_aRqs data ZipWithSym0 (l_aRq2 :: TyFun (TyFun a_aRg9 (TyFun b_aRga c_aRgb -> *) -> *) (TyFun [a_aRg9] (TyFun [b_aRga] [c_aRgb] -> *) -> *)) data ZipWithSym1 (l_aRq5 :: TyFun a_aRg9 (TyFun b_aRga c_aRgb -> *) -> *) (l_aRq4 :: TyFun [a_aRg9] (TyFun [b_aRga] [c_aRgb] -> *)) data ZipWithSym2 (l_aRq8 :: TyFun a_aRg9 (TyFun b_aRga c_aRgb -> *) -> *) (l_aRq9 :: [a_aRg9]) (l_aRq7 :: TyFun [b_aRga] [c_aRgb]) type ZipWithSym3 (t_aRpZ :: TyFun a_aRg9 (TyFun b_aRga c_aRgb -> *) -> *) (t_aRq0 :: [a_aRg9]) (t_aRq1 :: [b_aRga]) = ZipWith t_aRpZ t_aRq0 t_aRq1 data ZipWith3Sym0 (l_aRpb :: TyFun (TyFun a_aRgh (TyFun b_aRgi (TyFun c_aRgj d_aRgk -> *) -> *) -> *) (TyFun [a_aRgh] (TyFun [b_aRgi] (TyFun [c_aRgj] [d_aRgk] -> *) -> *) -> *)) data ZipWith3Sym1 (l_aRpe :: TyFun a_aRgh (TyFun b_aRgi (TyFun c_aRgj d_aRgk -> *) -> *) -> *) (l_aRpd :: TyFun [a_aRgh] (TyFun [b_aRgi] (TyFun [c_aRgj] [d_aRgk] -> *) -> *)) data ZipWith3Sym2 (l_aRph :: TyFun a_aRgh (TyFun b_aRgi (TyFun c_aRgj d_aRgk -> *) -> *) -> *) (l_aRpi :: [a_aRgh]) (l_aRpg :: TyFun [b_aRgi] (TyFun [c_aRgj] [d_aRgk] -> *)) data ZipWith3Sym3 (l_aRpl :: TyFun a_aRgh (TyFun b_aRgi (TyFun c_aRgj d_aRgk -> *) -> *) -> *) (l_aRpm :: [a_aRgh]) (l_aRpn :: [b_aRgi]) (l_aRpk :: TyFun [c_aRgj] [d_aRgk]) data UnzipSym0 (l_aRoC :: TyFun [(a_aRgs, b_aRgt)] ([a_aRgs], [b_aRgt])) type UnzipSym1 (t_aRoB :: [(a_aRgs, b_aRgt)]) = Unzip t_aRoB data UntilSym0 (l_aOLD :: TyFun (TyFun a_aOLt Bool -> *) (TyFun (TyFun a_aOLt a_aOLt -> *) (TyFun a_aOLt a_aOLt -> *) -> *)) data UntilSym1 (l_aOLG :: TyFun a_aOLt Bool -> *) (l_aOLF :: TyFun (TyFun a_aOLt a_aOLt -> *) (TyFun a_aOLt a_aOLt -> *)) data UntilSym2 (l_aOLJ :: TyFun a_aOLt Bool -> *) (l_aOLK :: TyFun a_aOLt a_aOLt -> *) (l_aOLI :: TyFun a_aOLt a_aOLt) type UntilSym3 (t_aOLA :: TyFun a_aOLt Bool -> *) (t_aOLB :: TyFun a_aOLt a_aOLt -> *) (t_aOLC :: a_aOLt) = Until t_aOLA t_aOLB t_aOLC data LengthSym0 (l_a1Bbf :: TyFun [a_a1AHt] Nat) type LengthSym1 (t_a1Bbe :: [a_a1AHt]) = Length t_a1Bbe data SumSym0 (l_a1BaQ :: TyFun [Nat] Nat) type SumSym1 (t_a1BaP :: [Nat]) = Sum t_a1BaP data ProductSym0 (l_a1Bar :: TyFun [Nat] Nat) type ProductSym1 (t_a1Baq :: [Nat]) = Product t_a1Baq data ReplicateSym0 (l_a1Ba1 :: TyFun Nat (TyFun a_a1AHH [a_a1AHH] -> *)) data ReplicateSym1 (l_a1Ba4 :: Nat) (l_a1Ba3 :: TyFun a_a1AHH [a_a1AHH]) type ReplicateSym2 (t_a1B9Z :: Nat) (t_a1Ba0 :: a_a1AHH) = Replicate t_a1B9Z t_a1Ba0 data TakeSym0 (l_a1B8Z :: TyFun Nat (TyFun [a_a1AHP] [a_a1AHP] -> *)) data TakeSym1 (l_a1B92 :: Nat) (l_a1B91 :: TyFun [a_a1AHP] [a_a1AHP]) type TakeSym2 (t_a1B8X :: Nat) (t_a1B8Y :: [a_a1AHP]) = Take t_a1B8X t_a1B8Y data DropSym0 (l_a1B8m :: TyFun Nat (TyFun [a_a1AHT] [a_a1AHT] -> *)) data DropSym1 (l_a1B8p :: Nat) (l_a1B8o :: TyFun [a_a1AHT] [a_a1AHT]) type DropSym2 (t_a1B8k :: Nat) (t_a1B8l :: [a_a1AHT]) = Drop t_a1B8k t_a1B8l data SplitAtSym0 (l_a1B9e :: TyFun Nat (TyFun [a_a1AHX] ([a_a1AHX], [a_a1AHX]) -> *)) data SplitAtSym1 (l_a1B9h :: Nat) (l_a1B9g :: TyFun [a_a1AHX] ([a_a1AHX], [a_a1AHX])) type SplitAtSym2 (t_a1B9c :: Nat) (t_a1B9d :: [a_a1AHX]) = SplitAt t_a1B9c t_a1B9d data TakeWhileSym0 (l_a1B7Z :: TyFun (TyFun a_a1AI0 Bool -> *) (TyFun [a_a1AI0] [a_a1AI0] -> *)) data TakeWhileSym1 (l_a1B82 :: TyFun a_a1AI0 Bool -> *) (l_a1B81 :: TyFun [a_a1AI0] [a_a1AI0]) type TakeWhileSym2 (t_a1B7X :: TyFun a_a1AI0 Bool -> *) (t_a1B7Y :: [a_a1AI0]) = TakeWhile t_a1B7X t_a1B7Y data DropWhileSym0 (l_a1B7b :: TyFun (TyFun a_a1AI4 Bool -> *) (TyFun [a_a1AI4] [a_a1AI4] -> *)) data DropWhileSym1 (l_a1B7e :: TyFun a_a1AI4 Bool -> *) (l_a1B7d :: TyFun [a_a1AI4] [a_a1AI4]) type DropWhileSym2 (t_a1B79 :: TyFun a_a1AI4 Bool -> *) (t_a1B7a :: [a_a1AI4]) = DropWhile t_a1B79 t_a1B7a data SpanSym0 (l_a1B2C :: TyFun (TyFun a_a1AId Bool -> *) (TyFun [a_a1AId] ([a_a1AId], [a_a1AId]) -> *)) data SpanSym1 (l_a1B2F :: TyFun a_a1AId Bool -> *) (l_a1B2E :: TyFun [a_a1AId] ([a_a1AId], [a_a1AId])) type SpanSym2 (t_a1B2A :: TyFun a_a1AId Bool -> *) (t_a1B2B :: [a_a1AId]) = Span t_a1B2A t_a1B2B data BreakSym0 (l_a1B0f :: TyFun (TyFun a_a1AIl Bool -> *) (TyFun [a_a1AIl] ([a_a1AIl], [a_a1AIl]) -> *)) data BreakSym1 (l_a1B0i :: TyFun a_a1AIl Bool -> *) (l_a1B0h :: TyFun [a_a1AIl] ([a_a1AIl], [a_a1AIl])) type BreakSym2 (t_a1B0d :: TyFun a_a1AIl Bool -> *) (t_a1B0e :: [a_a1AIl]) = Break t_a1B0d t_a1B0e data LookupSym0 (l_a1AYT :: TyFun a_a1AIP (TyFun [(a_a1AIP, b_a1AIQ)] (Maybe b_a1AIQ) -> *)) data LookupSym1 (l_a1AYW :: a_a1AIP) (l_a1AYV :: TyFun [(a_a1AIP, b_a1AIQ)] (Maybe b_a1AIQ)) type LookupSym2 (t_a1AYR :: a_a1AIP) (t_a1AYS :: [(a_a1AIP, b_a1AIQ)]) = Lookup t_a1AYR t_a1AYS data FilterSym0 (l_a1AXi :: TyFun (TyFun a_a1AIY Bool -> *) (TyFun [a_a1AIY] [a_a1AIY] -> *)) data FilterSym1 (l_a1AXl :: TyFun a_a1AIY Bool -> *) (l_a1AXk :: TyFun [a_a1AIY] [a_a1AIY]) type FilterSym2 (t_a1AXg :: TyFun a_a1AIY Bool -> *) (t_a1AXh :: [a_a1AIY]) = Filter t_a1AXg t_a1AXh data (:!!$) (l_a1AW7 :: TyFun [a_a1AJb] (TyFun Nat a_a1AJb -> *)) data (:!!$$) (l_a1AWa :: [a_a1AJb]) (l_a1AW9 :: TyFun Nat a_a1AJb) type (:!!$$$) (t_a1AW5 :: [a_a1AJb]) (t_a1AW6 :: Nat) = (:!!) t_a1AW5 t_a1AW6 -- | This module contains everything you need to promote your own functions -- via Template Haskell. module Data.Promotion.TH -- | Promote every declaration given to the type level, retaining the -- originals. promote :: DsMonad q => q [Dec] -> q [Dec] -- | Promote each declaration, discarding the originals. promoteOnly :: DsMonad q => q [Dec] -> q [Dec] -- | Generate defunctionalization symbols for existing type family genDefunSymbols :: DsMonad q => [Name] -> q [Dec] -- | Generate promoted definitions from a type that is already defined. -- This is generally only useful with classes. genPromotions :: DsMonad q => [Name] -> q [Dec] -- | Produce instances for '(:==)' (type-level equality) from the given -- types promoteEqInstances :: DsMonad q => [Name] -> q [Dec] -- | Produce an instance for '(:==)' (type-level equality) from the given -- type promoteEqInstance :: DsMonad q => Name -> q [Dec] -- | Produce instances for Compare from the given types promoteOrdInstances :: DsMonad q => [Name] -> q [Dec] -- | Produce an instance for Compare from the given type promoteOrdInstance :: DsMonad q => Name -> q [Dec] -- | Produce instances for MinBound and MaxBound from the -- given types promoteBoundedInstances :: DsMonad q => [Name] -> q [Dec] -- | Produce an instance for MinBound and MaxBound from -- the given type promoteBoundedInstance :: DsMonad q => Name -> q [Dec] -- | Representation of the kind of a type-level function. The difference -- between term-level arrows and this type-level arrow is that at the -- term level applications can be unsaturated, whereas at the type level -- all applications have to be fully saturated. data TyFun :: * -> * -> * -- | Type level function application -- | An infix synonym for Apply type (@@) a b = Apply a b -- | The promoted analogue of Eq. If you supply no definition for -- '(:==)' under GHC 7.8+, then it defaults to a use of '(==)', from -- Data.Type.Equality. class kproxy ~ KProxy => PEq (kproxy :: KProxy a) where type family (:==) (x :: a) (y :: a) :: Bool type family (:/=) (x :: a) (y :: a) :: Bool type instance (:==) (x :: a) (y :: a) = x == y type instance (:/=) (x :: a) (y :: a) = Not (x :== y) -- | Type-level If. If True a b ==> a; If -- False a b ==> b class (PEq (KProxy :: KProxy a_aDT0), kproxy_aDTv ~ KProxy) => POrd (kproxy_aDTv :: KProxy a_aDT0) where type family Compare (arg_aDTw :: a_aDT0) (arg_aDTx :: a_aDT0) :: Ordering type family (:<) (arg_aDTF :: a_aDT0) (arg_aDTG :: a_aDT0) :: Bool type family (:>=) (arg_aDTO :: a_aDT0) (arg_aDTP :: a_aDT0) :: Bool type family (:>) (arg_aDTX :: a_aDT0) (arg_aDTY :: a_aDT0) :: Bool type family (:<=) (arg_aDU6 :: a_aDT0) (arg_aDU7 :: a_aDT0) :: Bool type family Max (arg_aDUf :: a_aDT0) (arg_aDUg :: a_aDT0) :: a_aDT0 type family Min (arg_aDUo :: a_aDT0) (arg_aDUp :: a_aDT0) :: a_aDT0 type instance Compare (x_aDUG :: a_aDT0) (y_aDUH :: a_aDT0) = (Case_1627543393 x_aDUG y_aDUH (Let_1627543384Scrutinee_1627543293Sym2 x_aDUG y_aDUH) :: Ordering) type instance (:<) (x_aDVh :: a_aDT0) (y_aDVi :: a_aDT0) = (Case_1627543430 x_aDVh y_aDVi (Let_1627543421Scrutinee_1627543297Sym2 x_aDVh y_aDVi) :: Bool) type instance (:>=) (x_aDVG :: a_aDT0) (y_aDVH :: a_aDT0) = (Case_1627543455 x_aDVG y_aDVH (Let_1627543446Scrutinee_1627543303Sym2 x_aDVG y_aDVH) :: Bool) type instance (:>) (x_aDW5 :: a_aDT0) (y_aDW6 :: a_aDT0) = (Case_1627543480 x_aDW5 y_aDW6 (Let_1627543471Scrutinee_1627543301Sym2 x_aDW5 y_aDW6) :: Bool) type instance (:<=) (x_aDWu :: a_aDT0) (y_aDWv :: a_aDT0) = (Case_1627543505 x_aDWu y_aDWv (Let_1627543496Scrutinee_1627543299Sym2 x_aDWu y_aDWv) :: Bool) type instance Max (x_aDWT :: a_aDT0) (y_aDWU :: a_aDT0) = (Case_1627543530 x_aDWT y_aDWU (Let_1627543521Scrutinee_1627543305Sym2 x_aDWT y_aDWU) :: a_aDT0) type instance Min (x_aDXh :: a_aDT0) (y_aDXi :: a_aDT0) = (Case_1627543554 x_aDXh y_aDXi (Let_1627543545Scrutinee_1627543307Sym2 x_aDXh y_aDXi) :: a_aDT0) -- | The type constructor Any is type to which you can unsafely -- coerce any lifted type, and back. -- -- -- -- It's also used to instantiate un-constrained type variables after type -- checking. For example, length has type -- --
--   length :: forall a. [a] -> Int
--   
-- -- and the list datacon for the empty list has type -- --
--   [] :: forall a. [a]
--   
-- -- In order to compose these two terms as length [] a type -- application is required, but there is no constraint on the choice. In -- this situation GHC uses Any: -- --
--   length (Any *) ([] (Any *))
--   
-- -- Note that Any is kind polymorphic, and takes a kind -- k as its first argument. The kind of Any is thus -- forall k. k -> k. data Any :: k -- | A concrete, poly-kinded proxy type data Proxy (t :: k) :: k -> * Proxy :: Proxy -- | A concrete, promotable proxy type, for use at the kind level There are -- no instances for this because it is intended at the kind level only data KProxy t :: * -> * KProxy :: KProxy t -- | The promotion of error data ErrorSym0 (t1 :: TyFun k1 k2) type TrueSym0 = True type FalseSym0 = False type LTSym0 = LT type EQSym0 = EQ type GTSym0 = GT type Tuple0Sym0 = '() data Tuple2Sym0 (l_at9E :: TyFun a_12 (TyFun b_13 (a_12, b_13) -> *)) data Tuple2Sym1 (l_at9H :: a_12) (l_at9G :: TyFun b_13 (a_12, b_13)) type Tuple2Sym2 (t_at9C :: a_12) (t_at9D :: b_13) = '(t_at9C, t_at9D) data Tuple3Sym0 (l_at9Y :: TyFun a_12 (TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *) -> *)) data Tuple3Sym1 (l_ata1 :: a_12) (l_ata0 :: TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *)) data Tuple3Sym2 (l_ata4 :: a_12) (l_ata5 :: b_13) (l_ata3 :: TyFun c_14 (a_12, b_13, c_14)) type Tuple3Sym3 (t_at9V :: a_12) (t_at9W :: b_13) (t_at9X :: c_14) = '(t_at9V, t_at9W, t_at9X) data Tuple4Sym0 (l_atas :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *) -> *)) data Tuple4Sym1 (l_atav :: a_12) (l_atau :: TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *)) data Tuple4Sym2 (l_atay :: a_12) (l_ataz :: b_13) (l_atax :: TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *)) data Tuple4Sym3 (l_ataC :: a_12) (l_ataD :: b_13) (l_ataE :: c_14) (l_ataB :: TyFun d_15 (a_12, b_13, c_14, d_15)) type Tuple4Sym4 (t_atao :: a_12) (t_atap :: b_13) (t_ataq :: c_14) (t_atar :: d_15) = '(t_atao, t_atap, t_ataq, t_atar) data Tuple5Sym0 (l_atb7 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *) -> *) -> *)) data Tuple5Sym1 (l_atba :: a_12) (l_atb9 :: TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *) -> *)) data Tuple5Sym2 (l_atbd :: a_12) (l_atbe :: b_13) (l_atbc :: TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *)) data Tuple5Sym3 (l_atbh :: a_12) (l_atbi :: b_13) (l_atbj :: c_14) (l_atbg :: TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *)) data Tuple5Sym4 (l_atbm :: a_12) (l_atbn :: b_13) (l_atbo :: c_14) (l_atbp :: d_15) (l_atbl :: TyFun e_16 (a_12, b_13, c_14, d_15, e_16)) type Tuple5Sym5 (t_atb2 :: a_12) (t_atb3 :: b_13) (t_atb4 :: c_14) (t_atb5 :: d_15) (t_atb6 :: e_16) = '(t_atb2, t_atb3, t_atb4, t_atb5, t_atb6) data Tuple6Sym0 (l_atbY :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *) -> *) -> *) -> *)) data Tuple6Sym1 (l_atc1 :: a_12) (l_atc0 :: TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *) -> *) -> *)) data Tuple6Sym2 (l_atc4 :: a_12) (l_atc5 :: b_13) (l_atc3 :: TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *) -> *)) data Tuple6Sym3 (l_atc8 :: a_12) (l_atc9 :: b_13) (l_atca :: c_14) (l_atc7 :: TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *)) data Tuple6Sym4 (l_atcd :: a_12) (l_atce :: b_13) (l_atcf :: c_14) (l_atcg :: d_15) (l_atcc :: TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *)) data Tuple6Sym5 (l_atcj :: a_12) (l_atck :: b_13) (l_atcl :: c_14) (l_atcm :: d_15) (l_atcn :: e_16) (l_atci :: TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17)) type Tuple6Sym6 (t_atbS :: a_12) (t_atbT :: b_13) (t_atbU :: c_14) (t_atbV :: d_15) (t_atbW :: e_16) (t_atbX :: f_17) = '(t_atbS, t_atbT, t_atbU, t_atbV, t_atbW, t_atbX) data Tuple7Sym0 (l_atd2 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *) -> *) -> *) -> *)) data Tuple7Sym1 (l_atd5 :: a_12) (l_atd4 :: TyFun b_13 (TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *) -> *) -> *)) data Tuple7Sym2 (l_atd8 :: a_12) (l_atd9 :: b_13) (l_atd7 :: TyFun c_14 (TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *) -> *)) data Tuple7Sym3 (l_atdc :: a_12) (l_atdd :: b_13) (l_atde :: c_14) (l_atdb :: TyFun d_15 (TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *) -> *)) data Tuple7Sym4 (l_atdh :: a_12) (l_atdi :: b_13) (l_atdj :: c_14) (l_atdk :: d_15) (l_atdg :: TyFun e_16 (TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *) -> *)) data Tuple7Sym5 (l_atdn :: a_12) (l_atdo :: b_13) (l_atdp :: c_14) (l_atdq :: d_15) (l_atdr :: e_16) (l_atdm :: TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *)) data Tuple7Sym6 (l_atdu :: a_12) (l_atdv :: b_13) (l_atdw :: c_14) (l_atdx :: d_15) (l_atdy :: e_16) (l_atdz :: f_17) (l_atdt :: TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18)) type Tuple7Sym7 (t_atcV :: a_12) (t_atcW :: b_13) (t_atcX :: c_14) (t_atcY :: d_15) (t_atcZ :: e_16) (t_atd0 :: f_17) (t_atd1 :: g_18) = '(t_atcV, t_atcW, t_atcX, t_atcY, t_atcZ, t_atd0, t_atd1) -- | This class (which users should never see) is to be instantiated in -- order to use an otherwise-unused data constructor, such as the -- "kind-inference" data constructor for defunctionalization symbols. class SuppressUnusedWarnings (t :: k) suppressUnusedWarnings :: SuppressUnusedWarnings t => Proxy t -> ()