-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A framework for generating singleton types -- @package singletons @version 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_aoBw ~ KProxy => PBounded (kproxy_aoBw :: KProxy a_aoBv) where type family MinBound :: a_aoBv type family MaxBound :: a_aoBv 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_as6a :: Bool) = Sing z_as6a -- | 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_ayZA -> Sing (Apply NotSym0 t_ayZA) (%:&&) :: Sing t_ayZD -> Sing t_ayZE -> Sing (Apply (Apply (:&&$) t_ayZD) t_ayZE) (%:||) :: Sing t_ayZB -> Sing t_ayZC -> Sing (Apply (Apply (:||$) t_ayZB) t_ayZC) bool_ :: a_ayNe -> a_ayNe -> Bool -> a_ayNe sBool_ :: Sing t_ayNC -> Sing t_ayND -> Sing t_ayNE -> Sing (Apply (Apply (Apply Bool_Sym0 t_ayNC) t_ayND) t_ayNE) type Otherwise = (TrueSym0 :: Bool) sOtherwise :: Sing OtherwiseSym0 type TrueSym0 = True type FalseSym0 = False data NotSym0 (l_ayZb :: TyFun Bool Bool) type NotSym1 (t_ayZa :: Bool) = Not t_ayZa data (:&&$) (l_ayZr :: TyFun Bool (TyFun Bool Bool -> *)) data (:&&$$) (l_ayZu :: Bool) (l_ayZt :: TyFun Bool Bool) type (:&&$$$) (t_ayZp :: Bool) (t_ayZq :: Bool) = (:&&) t_ayZp t_ayZq data (:||$) (l_ayZg :: TyFun Bool (TyFun Bool Bool -> *)) data (:||$$) (l_ayZj :: Bool) (l_ayZi :: TyFun Bool Bool) type (:||$$$) (t_ayZe :: Bool) (t_ayZf :: Bool) = (:||) t_ayZe t_ayZf data Bool_Sym0 (l_ayNm :: TyFun a_ayNe (TyFun a_ayNe (TyFun Bool a_ayNe -> *) -> *)) data Bool_Sym1 (l_ayNp :: a_ayNe) (l_ayNo :: TyFun a_ayNe (TyFun Bool a_ayNe -> *)) data Bool_Sym2 (l_ayNs :: a_ayNe) (l_ayNt :: a_ayNe) (l_ayNr :: TyFun Bool a_ayNe) type Bool_Sym3 (t_ayNj :: a_ayNe) (t_ayNk :: a_ayNe) (t_ayNl :: Bool) = Bool_ t_ayNj t_ayNk t_ayNl 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_azAn :: TyFun a_azzJ (TyFun a_azzJ Bool -> *)) data (:==$$) (l_azAq :: a_azzJ) (l_azAp :: TyFun a_azzJ Bool) type (:==$$$) (t_azAl :: a_azzJ) (t_azAm :: a_azzJ) = (:==) t_azAl t_azAm data (:/=$) (l_azAu :: TyFun a_azzJ (TyFun a_azzJ Bool -> *)) data (:/=$$) (l_azAx :: a_azzJ) (l_azAw :: TyFun a_azzJ Bool) type (:/=$$$) (t_azAs :: a_azzJ) (t_azAt :: a_azzJ) = (:/=) t_azAs t_azAt 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_azAn :: TyFun a_azzJ (TyFun a_azzJ Bool -> *)) data (:==$$) (l_azAq :: a_azzJ) (l_azAp :: TyFun a_azzJ Bool) type (:==$$$) (t_azAl :: a_azzJ) (t_azAm :: a_azzJ) = (:==) t_azAl t_azAm data (:/=$) (l_azAu :: TyFun a_azzJ (TyFun a_azzJ Bool -> *)) data (:/=$$) (l_azAx :: a_azzJ) (l_azAw :: TyFun a_azzJ Bool) type (:/=$$$) (t_azAs :: a_azzJ) (t_azAt :: a_azzJ) = (:/=) t_azAs t_azAt -- | 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_ayNe -> a_ayNe -> Bool -> a_ayNe type Otherwise = (TrueSym0 :: Bool) type TrueSym0 = True type FalseSym0 = False data NotSym0 (l_ayZb :: TyFun Bool Bool) type NotSym1 (t_ayZa :: Bool) = Not t_ayZa data (:&&$) (l_ayZr :: TyFun Bool (TyFun Bool Bool -> *)) data (:&&$$) (l_ayZu :: Bool) (l_ayZt :: TyFun Bool Bool) type (:&&$$$) (t_ayZp :: Bool) (t_ayZq :: Bool) = (:&&) t_ayZp t_ayZq data (:||$) (l_ayZg :: TyFun Bool (TyFun Bool Bool -> *)) data (:||$$) (l_ayZj :: Bool) (l_ayZi :: TyFun Bool Bool) type (:||$$$) (t_ayZe :: Bool) (t_ayZf :: Bool) = (:||) t_ayZe t_ayZf data Bool_Sym0 (l_ayNm :: TyFun a_ayNe (TyFun a_ayNe (TyFun Bool a_ayNe -> *) -> *)) data Bool_Sym1 (l_ayNp :: a_ayNe) (l_ayNo :: TyFun a_ayNe (TyFun Bool a_ayNe -> *)) data Bool_Sym2 (l_ayNs :: a_ayNe) (l_ayNt :: a_ayNe) (l_ayNr :: TyFun Bool a_ayNe) type Bool_Sym3 (t_ayNj :: a_ayNe) (t_ayNk :: a_ayNe) (t_ayNl :: Bool) = Bool_ t_ayNj t_ayNk t_ayNl 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_aCQJ), kproxy_aCRe ~ KProxy) => POrd (kproxy_aCRe :: KProxy a_aCQJ) where type family Compare (arg_aCRf :: a_aCQJ) (arg_aCRg :: a_aCQJ) :: Ordering type family (:<) (arg_aCRo :: a_aCQJ) (arg_aCRp :: a_aCQJ) :: Bool type family (:>=) (arg_aCRx :: a_aCQJ) (arg_aCRy :: a_aCQJ) :: Bool type family (:>) (arg_aCRG :: a_aCQJ) (arg_aCRH :: a_aCQJ) :: Bool type family (:<=) (arg_aCRP :: a_aCQJ) (arg_aCRQ :: a_aCQJ) :: Bool type family Max (arg_aCRY :: a_aCQJ) (arg_aCRZ :: a_aCQJ) :: a_aCQJ type family Min (arg_aCS7 :: a_aCQJ) (arg_aCS8 :: a_aCQJ) :: a_aCQJ type instance Compare (x_aCSp :: a_aCQJ) (y_aCSq :: a_aCQJ) = (Case_1627539408 x_aCSp y_aCSq (Let_1627539399Scrutinee_1627539308Sym2 x_aCSp y_aCSq) :: Ordering) type instance (:<) (x_aCT0 :: a_aCQJ) (y_aCT1 :: a_aCQJ) = (Case_1627539445 x_aCT0 y_aCT1 (Let_1627539436Scrutinee_1627539312Sym2 x_aCT0 y_aCT1) :: Bool) type instance (:>=) (x_aCTp :: a_aCQJ) (y_aCTq :: a_aCQJ) = (Case_1627539470 x_aCTp y_aCTq (Let_1627539461Scrutinee_1627539318Sym2 x_aCTp y_aCTq) :: Bool) type instance (:>) (x_aCTO :: a_aCQJ) (y_aCTP :: a_aCQJ) = (Case_1627539495 x_aCTO y_aCTP (Let_1627539486Scrutinee_1627539316Sym2 x_aCTO y_aCTP) :: Bool) type instance (:<=) (x_aCUd :: a_aCQJ) (y_aCUe :: a_aCQJ) = (Case_1627539520 x_aCUd y_aCUe (Let_1627539511Scrutinee_1627539314Sym2 x_aCUd y_aCUe) :: Bool) type instance Max (x_aCUC :: a_aCQJ) (y_aCUD :: a_aCQJ) = (Case_1627539545 x_aCUC y_aCUD (Let_1627539536Scrutinee_1627539320Sym2 x_aCUC y_aCUD) :: a_aCQJ) type instance Min (x_aCV0 :: a_aCQJ) (y_aCV1 :: a_aCQJ) = (Case_1627539569 x_aCV0 y_aCV1 (Let_1627539560Scrutinee_1627539322Sym2 x_aCV0 y_aCV1) :: a_aCQJ) 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_aE3C -> Sing t_aE3D -> Sing (Apply (Apply ThenCmpSym0 t_aE3C) t_aE3D) -- | The singleton kind-indexed data family. data ThenCmpSym0 (l_aE3s :: TyFun Ordering (TyFun Ordering Ordering -> *)) data ThenCmpSym1 (l_aE3v :: Ordering) (l_aE3u :: TyFun Ordering Ordering) type ThenCmpSym2 (t_aE3q :: Ordering) (t_aE3r :: Ordering) = ThenCmp t_aE3q t_aE3r type LTSym0 = LT type EQSym0 = EQ type GTSym0 = GT data CompareSym0 (l_aCRj :: TyFun a_aCQJ (TyFun a_aCQJ Ordering -> *)) data CompareSym1 (l_aCRm :: a_aCQJ) (l_aCRl :: TyFun a_aCQJ Ordering) type CompareSym2 (t_aCRh :: a_aCQJ) (t_aCRi :: a_aCQJ) = Compare t_aCRh t_aCRi data (:<$) (l_aCRs :: TyFun a_aCQJ (TyFun a_aCQJ Bool -> *)) data (:<$$) (l_aCRv :: a_aCQJ) (l_aCRu :: TyFun a_aCQJ Bool) type (:<$$$) (t_aCRq :: a_aCQJ) (t_aCRr :: a_aCQJ) = (:<) t_aCRq t_aCRr data (:<=$) (l_aCRT :: TyFun a_aCQJ (TyFun a_aCQJ Bool -> *)) data (:<=$$) (l_aCRW :: a_aCQJ) (l_aCRV :: TyFun a_aCQJ Bool) type (:<=$$$) (t_aCRR :: a_aCQJ) (t_aCRS :: a_aCQJ) = (:<=) t_aCRR t_aCRS data (:>$) (l_aCRK :: TyFun a_aCQJ (TyFun a_aCQJ Bool -> *)) data (:>$$) (l_aCRN :: a_aCQJ) (l_aCRM :: TyFun a_aCQJ Bool) type (:>$$$) (t_aCRI :: a_aCQJ) (t_aCRJ :: a_aCQJ) = (:>) t_aCRI t_aCRJ data (:>=$) (l_aCRB :: TyFun a_aCQJ (TyFun a_aCQJ Bool -> *)) data (:>=$$) (l_aCRE :: a_aCQJ) (l_aCRD :: TyFun a_aCQJ Bool) type (:>=$$$) (t_aCRz :: a_aCQJ) (t_aCRA :: a_aCQJ) = (:>=) t_aCRz t_aCRA data MaxSym0 (l_aCS2 :: TyFun a_aCQJ (TyFun a_aCQJ a_aCQJ -> *)) data MaxSym1 (l_aCS5 :: a_aCQJ) (l_aCS4 :: TyFun a_aCQJ a_aCQJ) type MaxSym2 (t_aCS0 :: a_aCQJ) (t_aCS1 :: a_aCQJ) = Max t_aCS0 t_aCS1 data MinSym0 (l_aCSb :: TyFun a_aCQJ (TyFun a_aCQJ a_aCQJ -> *)) data MinSym1 (l_aCSe :: a_aCQJ) (l_aCSd :: TyFun a_aCQJ a_aCQJ) type MinSym2 (t_aCS9 :: a_aCQJ) (t_aCSa :: a_aCQJ) = Min t_aCS9 t_aCSa 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_1627539560Scrutinee_1627539322Sym0 instance SuppressUnusedWarnings Let_1627539560Scrutinee_1627539322Sym1 instance SuppressUnusedWarnings Let_1627539536Scrutinee_1627539320Sym0 instance SuppressUnusedWarnings Let_1627539536Scrutinee_1627539320Sym1 instance SuppressUnusedWarnings Let_1627539511Scrutinee_1627539314Sym0 instance SuppressUnusedWarnings Let_1627539511Scrutinee_1627539314Sym1 instance SuppressUnusedWarnings Let_1627539486Scrutinee_1627539316Sym0 instance SuppressUnusedWarnings Let_1627539486Scrutinee_1627539316Sym1 instance SuppressUnusedWarnings Let_1627539461Scrutinee_1627539318Sym0 instance SuppressUnusedWarnings Let_1627539461Scrutinee_1627539318Sym1 instance SuppressUnusedWarnings Let_1627539436Scrutinee_1627539312Sym0 instance SuppressUnusedWarnings Let_1627539436Scrutinee_1627539312Sym1 instance SuppressUnusedWarnings Let_1627539410Scrutinee_1627539310Sym0 instance SuppressUnusedWarnings Let_1627539410Scrutinee_1627539310Sym1 instance SuppressUnusedWarnings Let_1627539399Scrutinee_1627539308Sym0 instance SuppressUnusedWarnings Let_1627539399Scrutinee_1627539308Sym1 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_aCQJ), kproxy_aCRe ~ KProxy) => POrd (kproxy_aCRe :: KProxy a_aCQJ) where type family Compare (arg_aCRf :: a_aCQJ) (arg_aCRg :: a_aCQJ) :: Ordering type family (:<) (arg_aCRo :: a_aCQJ) (arg_aCRp :: a_aCQJ) :: Bool type family (:>=) (arg_aCRx :: a_aCQJ) (arg_aCRy :: a_aCQJ) :: Bool type family (:>) (arg_aCRG :: a_aCQJ) (arg_aCRH :: a_aCQJ) :: Bool type family (:<=) (arg_aCRP :: a_aCQJ) (arg_aCRQ :: a_aCQJ) :: Bool type family Max (arg_aCRY :: a_aCQJ) (arg_aCRZ :: a_aCQJ) :: a_aCQJ type family Min (arg_aCS7 :: a_aCQJ) (arg_aCS8 :: a_aCQJ) :: a_aCQJ type instance Compare (x_aCSp :: a_aCQJ) (y_aCSq :: a_aCQJ) = (Case_1627539408 x_aCSp y_aCSq (Let_1627539399Scrutinee_1627539308Sym2 x_aCSp y_aCSq) :: Ordering) type instance (:<) (x_aCT0 :: a_aCQJ) (y_aCT1 :: a_aCQJ) = (Case_1627539445 x_aCT0 y_aCT1 (Let_1627539436Scrutinee_1627539312Sym2 x_aCT0 y_aCT1) :: Bool) type instance (:>=) (x_aCTp :: a_aCQJ) (y_aCTq :: a_aCQJ) = (Case_1627539470 x_aCTp y_aCTq (Let_1627539461Scrutinee_1627539318Sym2 x_aCTp y_aCTq) :: Bool) type instance (:>) (x_aCTO :: a_aCQJ) (y_aCTP :: a_aCQJ) = (Case_1627539495 x_aCTO y_aCTP (Let_1627539486Scrutinee_1627539316Sym2 x_aCTO y_aCTP) :: Bool) type instance (:<=) (x_aCUd :: a_aCQJ) (y_aCUe :: a_aCQJ) = (Case_1627539520 x_aCUd y_aCUe (Let_1627539511Scrutinee_1627539314Sym2 x_aCUd y_aCUe) :: Bool) type instance Max (x_aCUC :: a_aCQJ) (y_aCUD :: a_aCQJ) = (Case_1627539545 x_aCUC y_aCUD (Let_1627539536Scrutinee_1627539320Sym2 x_aCUC y_aCUD) :: a_aCQJ) type instance Min (x_aCV0 :: a_aCQJ) (y_aCV1 :: a_aCQJ) = (Case_1627539569 x_aCV0 y_aCV1 (Let_1627539560Scrutinee_1627539322Sym2 x_aCV0 y_aCV1) :: a_aCQJ) type LTSym0 = LT type EQSym0 = EQ type GTSym0 = GT data CompareSym0 (l_aCRj :: TyFun a_aCQJ (TyFun a_aCQJ Ordering -> *)) data CompareSym1 (l_aCRm :: a_aCQJ) (l_aCRl :: TyFun a_aCQJ Ordering) type CompareSym2 (t_aCRh :: a_aCQJ) (t_aCRi :: a_aCQJ) = Compare t_aCRh t_aCRi data (:<$) (l_aCRs :: TyFun a_aCQJ (TyFun a_aCQJ Bool -> *)) data (:<$$) (l_aCRv :: a_aCQJ) (l_aCRu :: TyFun a_aCQJ Bool) type (:<$$$) (t_aCRq :: a_aCQJ) (t_aCRr :: a_aCQJ) = (:<) t_aCRq t_aCRr data (:<=$) (l_aCRT :: TyFun a_aCQJ (TyFun a_aCQJ Bool -> *)) data (:<=$$) (l_aCRW :: a_aCQJ) (l_aCRV :: TyFun a_aCQJ Bool) type (:<=$$$) (t_aCRR :: a_aCQJ) (t_aCRS :: a_aCQJ) = (:<=) t_aCRR t_aCRS data (:>$) (l_aCRK :: TyFun a_aCQJ (TyFun a_aCQJ Bool -> *)) data (:>$$) (l_aCRN :: a_aCQJ) (l_aCRM :: TyFun a_aCQJ Bool) type (:>$$$) (t_aCRI :: a_aCQJ) (t_aCRJ :: a_aCQJ) = (:>) t_aCRI t_aCRJ data (:>=$) (l_aCRB :: TyFun a_aCQJ (TyFun a_aCQJ Bool -> *)) data (:>=$$) (l_aCRE :: a_aCQJ) (l_aCRD :: TyFun a_aCQJ Bool) type (:>=$$$) (t_aCRz :: a_aCQJ) (t_aCRA :: a_aCQJ) = (:>=) t_aCRz t_aCRA data MaxSym0 (l_aCS2 :: TyFun a_aCQJ (TyFun a_aCQJ a_aCQJ -> *)) data MaxSym1 (l_aCS5 :: a_aCQJ) (l_aCS4 :: TyFun a_aCQJ a_aCQJ) type MaxSym2 (t_aCS0 :: a_aCQJ) (t_aCS1 :: a_aCQJ) = Max t_aCS0 t_aCS1 data MinSym0 (l_aCSb :: TyFun a_aCQJ (TyFun a_aCQJ a_aCQJ -> *)) data MinSym1 (l_aCSe :: a_aCQJ) (l_aCSd :: TyFun a_aCQJ a_aCQJ) type MinSym2 (t_aCS9 :: a_aCQJ) (t_aCSa :: a_aCQJ) = Min t_aCS9 t_aCSa -- | 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_aFRu data (:+$$) (l_aFRx :: Nat) l_aFRw data (:-$) l_aFRB data (:-$$) (l_aFRE :: Nat) l_aFRD data (:*$) l_aFRI data (:*$$) (l_aFRL :: Nat) l_aFRK data (:^$) l_aFRP data (:^$$) (l_aFRS :: Nat) l_aFRR 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_aCQJ), kproxy_aCRe ~ KProxy) => POrd (kproxy_aCRe :: KProxy a_aCQJ) where type family Compare (arg_aCRf :: a_aCQJ) (arg_aCRg :: a_aCQJ) :: Ordering type family (:<) (arg_aCRo :: a_aCQJ) (arg_aCRp :: a_aCQJ) :: Bool type family (:>=) (arg_aCRx :: a_aCQJ) (arg_aCRy :: a_aCQJ) :: Bool type family (:>) (arg_aCRG :: a_aCQJ) (arg_aCRH :: a_aCQJ) :: Bool type family (:<=) (arg_aCRP :: a_aCQJ) (arg_aCRQ :: a_aCQJ) :: Bool type family Max (arg_aCRY :: a_aCQJ) (arg_aCRZ :: a_aCQJ) :: a_aCQJ type family Min (arg_aCS7 :: a_aCQJ) (arg_aCS8 :: a_aCQJ) :: a_aCQJ type instance Compare (x_aCSp :: a_aCQJ) (y_aCSq :: a_aCQJ) = (Case_1627539408 x_aCSp y_aCSq (Let_1627539399Scrutinee_1627539308Sym2 x_aCSp y_aCSq) :: Ordering) type instance (:<) (x_aCT0 :: a_aCQJ) (y_aCT1 :: a_aCQJ) = (Case_1627539445 x_aCT0 y_aCT1 (Let_1627539436Scrutinee_1627539312Sym2 x_aCT0 y_aCT1) :: Bool) type instance (:>=) (x_aCTp :: a_aCQJ) (y_aCTq :: a_aCQJ) = (Case_1627539470 x_aCTp y_aCTq (Let_1627539461Scrutinee_1627539318Sym2 x_aCTp y_aCTq) :: Bool) type instance (:>) (x_aCTO :: a_aCQJ) (y_aCTP :: a_aCQJ) = (Case_1627539495 x_aCTO y_aCTP (Let_1627539486Scrutinee_1627539316Sym2 x_aCTO y_aCTP) :: Bool) type instance (:<=) (x_aCUd :: a_aCQJ) (y_aCUe :: a_aCQJ) = (Case_1627539520 x_aCUd y_aCUe (Let_1627539511Scrutinee_1627539314Sym2 x_aCUd y_aCUe) :: Bool) type instance Max (x_aCUC :: a_aCQJ) (y_aCUD :: a_aCQJ) = (Case_1627539545 x_aCUC y_aCUD (Let_1627539536Scrutinee_1627539320Sym2 x_aCUC y_aCUD) :: a_aCQJ) type instance Min (x_aCV0 :: a_aCQJ) (y_aCV1 :: a_aCQJ) = (Case_1627539569 x_aCV0 y_aCV1 (Let_1627539560Scrutinee_1627539322Sym2 x_aCV0 y_aCV1) :: a_aCQJ) -- | 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_as6h :: TyFun a_12 (TyFun b_13 ((,) a_12 b_13) -> *)) data Tuple2Sym1 (l_as6k :: a_12) (l_as6j :: TyFun b_13 ((,) a_12 b_13)) type Tuple2Sym2 (t_as6f :: a_12) (t_as6g :: b_13) = (,) t_as6f t_as6g data Tuple3Sym0 (l_as6B :: TyFun a_12 (TyFun b_13 (TyFun c_14 ((,,) a_12 b_13 c_14) -> *) -> *)) data Tuple3Sym1 (l_as6E :: a_12) (l_as6D :: TyFun b_13 (TyFun c_14 ((,,) a_12 b_13 c_14) -> *)) data Tuple3Sym2 (l_as6H :: a_12) (l_as6I :: b_13) (l_as6G :: TyFun c_14 ((,,) a_12 b_13 c_14)) type Tuple3Sym3 (t_as6y :: a_12) (t_as6z :: b_13) (t_as6A :: c_14) = (,,) t_as6y t_as6z t_as6A data Tuple4Sym0 (l_as75 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 ((,,,) a_12 b_13 c_14 d_15) -> *) -> *) -> *)) data Tuple4Sym1 (l_as78 :: a_12) (l_as77 :: TyFun b_13 (TyFun c_14 (TyFun d_15 ((,,,) a_12 b_13 c_14 d_15) -> *) -> *)) data Tuple4Sym2 (l_as7b :: a_12) (l_as7c :: b_13) (l_as7a :: TyFun c_14 (TyFun d_15 ((,,,) a_12 b_13 c_14 d_15) -> *)) data Tuple4Sym3 (l_as7f :: a_12) (l_as7g :: b_13) (l_as7h :: c_14) (l_as7e :: TyFun d_15 ((,,,) a_12 b_13 c_14 d_15)) type Tuple4Sym4 (t_as71 :: a_12) (t_as72 :: b_13) (t_as73 :: c_14) (t_as74 :: d_15) = (,,,) t_as71 t_as72 t_as73 t_as74 data Tuple5Sym0 (l_as7K :: 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_as7N :: a_12) (l_as7M :: 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_as7Q :: a_12) (l_as7R :: b_13) (l_as7P :: TyFun c_14 (TyFun d_15 (TyFun e_16 ((,,,,) a_12 b_13 c_14 d_15 e_16) -> *) -> *)) data Tuple5Sym3 (l_as7U :: a_12) (l_as7V :: b_13) (l_as7W :: c_14) (l_as7T :: TyFun d_15 (TyFun e_16 ((,,,,) a_12 b_13 c_14 d_15 e_16) -> *)) data Tuple5Sym4 (l_as7Z :: a_12) (l_as80 :: b_13) (l_as81 :: c_14) (l_as82 :: d_15) (l_as7Y :: TyFun e_16 ((,,,,) a_12 b_13 c_14 d_15 e_16)) type Tuple5Sym5 (t_as7F :: a_12) (t_as7G :: b_13) (t_as7H :: c_14) (t_as7I :: d_15) (t_as7J :: e_16) = (,,,,) t_as7F t_as7G t_as7H t_as7I t_as7J data Tuple6Sym0 (l_as8B :: 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_as8E :: a_12) (l_as8D :: 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_as8H :: a_12) (l_as8I :: b_13) (l_as8G :: 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_as8L :: a_12) (l_as8M :: b_13) (l_as8N :: c_14) (l_as8K :: TyFun d_15 (TyFun e_16 (TyFun f_17 ((,,,,,) a_12 b_13 c_14 d_15 e_16 f_17) -> *) -> *)) data Tuple6Sym4 (l_as8Q :: a_12) (l_as8R :: b_13) (l_as8S :: c_14) (l_as8T :: d_15) (l_as8P :: TyFun e_16 (TyFun f_17 ((,,,,,) a_12 b_13 c_14 d_15 e_16 f_17) -> *)) data Tuple6Sym5 (l_as8W :: a_12) (l_as8X :: b_13) (l_as8Y :: c_14) (l_as8Z :: d_15) (l_as90 :: e_16) (l_as8V :: TyFun f_17 ((,,,,,) a_12 b_13 c_14 d_15 e_16 f_17)) type Tuple6Sym6 (t_as8v :: a_12) (t_as8w :: b_13) (t_as8x :: c_14) (t_as8y :: d_15) (t_as8z :: e_16) (t_as8A :: f_17) = (,,,,,) t_as8v t_as8w t_as8x t_as8y t_as8z t_as8A data Tuple7Sym0 (l_as9F :: 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_as9I :: a_12) (l_as9H :: 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_as9L :: a_12) (l_as9M :: b_13) (l_as9K :: 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_as9P :: a_12) (l_as9Q :: b_13) (l_as9R :: c_14) (l_as9O :: 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_as9U :: a_12) (l_as9V :: b_13) (l_as9W :: c_14) (l_as9X :: d_15) (l_as9T :: 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_asa0 :: a_12) (l_asa1 :: b_13) (l_asa2 :: c_14) (l_asa3 :: d_15) (l_asa4 :: e_16) (l_as9Z :: TyFun f_17 (TyFun g_18 ((,,,,,,) a_12 b_13 c_14 d_15 e_16 f_17 g_18) -> *)) data Tuple7Sym6 (l_asa7 :: a_12) (l_asa8 :: b_13) (l_asa9 :: c_14) (l_asaa :: d_15) (l_asab :: e_16) (l_asac :: f_17) (l_asa6 :: TyFun g_18 ((,,,,,,) a_12 b_13 c_14 d_15 e_16 f_17 g_18)) type Tuple7Sym7 (t_as9y :: a_12) (t_as9z :: b_13) (t_as9A :: c_14) (t_as9B :: d_15) (t_as9C :: e_16) (t_as9D :: f_17) (t_as9E :: g_18) = (,,,,,,) t_as9y t_as9z t_as9A t_as9B t_as9C t_as9D t_as9E -- | 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_aHaS -> Sing t_aHaT -> Sing t_aHaU -> Sing (Apply (Apply (Apply FoldrSym0 t_aHaS) t_aHaT) t_aHaU) sMap :: Sing t_aHaQ -> Sing t_aHaR -> Sing (Apply (Apply MapSym0 t_aHaQ) t_aHaR) (%:++) :: Sing t_aHaO -> Sing t_aHaP -> Sing (Apply (Apply (:++$) t_aHaO) t_aHaP) type Otherwise = (TrueSym0 :: Bool) sOtherwise :: Sing OtherwiseSym0 sId :: Sing t_aHaN -> Sing (Apply IdSym0 t_aHaN) sConst :: Sing t_aHaJ -> Sing t_aHaK -> Sing (Apply (Apply ConstSym0 t_aHaJ) t_aHaK) (%:.) :: Sing t_aHaG -> Sing t_aHaH -> Sing t_aHaI -> Sing (Apply (Apply (Apply (:.$) t_aHaG) t_aHaH) t_aHaI) (%$) :: Sing f -> Sing x -> Sing ((($$) @@ f) @@ x) (%$!) :: Sing f -> Sing x -> Sing ((($!$) @@ f) @@ x) sFlip :: Sing t_aHaD -> Sing t_aHaE -> Sing t_aHaF -> Sing (Apply (Apply (Apply FlipSym0 t_aHaD) t_aHaE) t_aHaF) sAsTypeOf :: Sing t_aHaL -> Sing t_aHaM -> Sing (Apply (Apply AsTypeOfSym0 t_aHaL) t_aHaM) sSeq :: Sing t_aHaB -> Sing t_aHaC -> Sing (Apply (Apply SeqSym0 t_aHaB) t_aHaC) data FoldrSym0 (l_aH9X :: TyFun (TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (TyFun b_aH7e (TyFun ([] a_aH7d) b_aH7e -> *) -> *)) data FoldrSym1 (l_aHa0 :: TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (l_aH9Z :: TyFun b_aH7e (TyFun ([] a_aH7d) b_aH7e -> *)) data FoldrSym2 (l_aHa3 :: TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (l_aHa4 :: b_aH7e) (l_aHa2 :: TyFun ([] a_aH7d) b_aH7e) type FoldrSym3 (t_aH9U :: TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (t_aH9V :: b_aH7e) (t_aH9W :: [] a_aH7d) = Foldr t_aH9U t_aH9V t_aH9W data MapSym0 (l_aH9J :: TyFun (TyFun a_aH7k b_aH7l -> *) (TyFun ([] a_aH7k) ([] b_aH7l) -> *)) data MapSym1 (l_aH9M :: TyFun a_aH7k b_aH7l -> *) (l_aH9L :: TyFun ([] a_aH7k) ([] b_aH7l)) type MapSym2 (t_aH9H :: TyFun a_aH7k b_aH7l -> *) (t_aH9I :: [] a_aH7k) = Map t_aH9H t_aH9I data (:++$) (l_aH9w :: TyFun ([] a_aH7p) (TyFun ([] a_aH7p) ([] a_aH7p) -> *)) data (:++$$) (l_aH9z :: [] a_aH7p) (l_aH9y :: TyFun ([] a_aH7p) ([] a_aH7p)) type OtherwiseSym0 = Otherwise data IdSym0 (l_aH9q :: TyFun a_aH7u a_aH7u) type IdSym1 (t_aH9p :: a_aH7u) = Id t_aH9p data ConstSym0 (l_aH91 :: TyFun a_aH7w (TyFun b_aH7x a_aH7w -> *)) data ConstSym1 (l_aH94 :: a_aH7w) (l_aH93 :: TyFun b_aH7x a_aH7w) type ConstSym2 (t_aH8Z :: a_aH7w) (t_aH90 :: b_aH7x) = Const t_aH8Z t_aH90 data (:.$) (l_aH8l :: TyFun (TyFun b_aH7z c_aH7A -> *) (TyFun (TyFun a_aH7B b_aH7z -> *) (TyFun a_aH7B c_aH7A -> *) -> *)) data (:.$$) (l_aH8o :: TyFun b_aH7z c_aH7A -> *) (l_aH8n :: TyFun (TyFun a_aH7B b_aH7z -> *) (TyFun a_aH7B c_aH7A -> *)) data (:.$$$) (l_aH8r :: TyFun b_aH7z c_aH7A -> *) (l_aH8s :: TyFun a_aH7B b_aH7z -> *) (l_aH8q :: TyFun a_aH7B c_aH7A) 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_aH83 :: TyFun (TyFun a_aH7F (TyFun b_aH7G c_aH7H -> *) -> *) (TyFun b_aH7G (TyFun a_aH7F c_aH7H -> *) -> *)) data FlipSym1 (l_aH86 :: TyFun a_aH7F (TyFun b_aH7G c_aH7H -> *) -> *) (l_aH85 :: TyFun b_aH7G (TyFun a_aH7F c_aH7H -> *)) data FlipSym2 (l_aH89 :: TyFun a_aH7F (TyFun b_aH7G c_aH7H -> *) -> *) (l_aH8a :: b_aH7G) (l_aH88 :: TyFun a_aH7F c_aH7H) data AsTypeOfSym0 (l_aH9g :: TyFun a_aH7L (TyFun a_aH7L a_aH7L -> *)) data AsTypeOfSym1 (l_aH9j :: a_aH7L) (l_aH9i :: TyFun a_aH7L a_aH7L) type AsTypeOfSym2 (t_aH9e :: a_aH7L) (t_aH9f :: a_aH7L) = AsTypeOf t_aH9e t_aH9f data SeqSym0 (l_aH7R :: TyFun a_aH7M (TyFun b_aH7N b_aH7N -> *)) data SeqSym1 (l_aH7U :: a_aH7M) (l_aH7T :: TyFun b_aH7N b_aH7N) type SeqSym2 (t_aH7P :: a_aH7M) (t_aH7Q :: b_aH7N) = Seq t_aH7P t_aH7Q 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_1627555878GoSym0 instance SuppressUnusedWarnings Let_1627555878GoSym1 instance SuppressUnusedWarnings Let_1627555878GoSym2 instance SuppressUnusedWarnings Let_1627555878GoSym3 instance SuppressUnusedWarnings Lambda_1627555778Sym0 instance SuppressUnusedWarnings Lambda_1627555778Sym1 instance SuppressUnusedWarnings Lambda_1627555778Sym2 instance SuppressUnusedWarnings Lambda_1627555778Sym3 -- | 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_as61 :: Either a_a7pS b_a7pT) = Sing z_as61 either_ :: (a_aJZ2 -> c_aJZ3) -> (b_aJZ4 -> c_aJZ3) -> Either a_aJZ2 b_aJZ4 -> c_aJZ3 sEither_ :: Sing t_aJZu -> Sing t_aJZv -> Sing t_aJZw -> Sing (Apply (Apply (Apply Either_Sym0 t_aJZu) t_aJZv) t_aJZw) sLefts :: Sing t_aKmQ -> Sing (Apply LeftsSym0 t_aKmQ) sRights :: Sing t_aKmP -> Sing (Apply RightsSym0 t_aKmP) sPartitionEithers :: Sing t_aKmO -> Sing (Apply PartitionEithersSym0 t_aKmO) sIsLeft :: Sing t_aKmN -> Sing (Apply IsLeftSym0 t_aKmN) sIsRight :: Sing t_aKmM -> Sing (Apply IsRightSym0 t_aKmM) data LeftSym0 (l_as5W :: TyFun a_a7pS (Either a_a7pS b_a7pT)) type LeftSym1 (t_as5V :: a_a7pS) = Left t_as5V data RightSym0 (l_as5Z :: TyFun b_a7pT (Either a_a7pS b_a7pT)) type RightSym1 (t_as5Y :: b_a7pT) = Right t_as5Y data Either_Sym0 (l_aJZc :: TyFun (TyFun a_aJZ2 c_aJZ3 -> *) (TyFun (TyFun b_aJZ4 c_aJZ3 -> *) (TyFun (Either a_aJZ2 b_aJZ4) c_aJZ3 -> *) -> *)) data Either_Sym1 (l_aJZf :: TyFun a_aJZ2 c_aJZ3 -> *) (l_aJZe :: TyFun (TyFun b_aJZ4 c_aJZ3 -> *) (TyFun (Either a_aJZ2 b_aJZ4) c_aJZ3 -> *)) data Either_Sym2 (l_aJZi :: TyFun a_aJZ2 c_aJZ3 -> *) (l_aJZj :: TyFun b_aJZ4 c_aJZ3 -> *) (l_aJZh :: TyFun (Either a_aJZ2 b_aJZ4) c_aJZ3) type Either_Sym3 (t_aJZ9 :: TyFun a_aJZ2 c_aJZ3 -> *) (t_aJZa :: TyFun b_aJZ4 c_aJZ3 -> *) (t_aJZb :: Either a_aJZ2 b_aJZ4) = Either_ t_aJZ9 t_aJZa t_aJZb data LeftsSym0 (l_aKmF :: TyFun ([] (Either a_aKlf b_aKlg)) ([] a_aKlf)) type LeftsSym1 (t_aKmE :: [] (Either a_aKlf b_aKlg)) = Lefts t_aKmE data RightsSym0 (l_aKmx :: TyFun ([] (Either a_aKlk b_aKll)) ([] b_aKll)) type RightsSym1 (t_aKmw :: [] (Either a_aKlk b_aKll)) = Rights t_aKmw data IsLeftSym0 (l_aKlK :: TyFun (Either a_aKlz b_aKlA) Bool) type IsLeftSym1 (t_aKlJ :: Either a_aKlz b_aKlA) = IsLeft t_aKlJ data IsRightSym0 (l_aKlE :: TyFun (Either a_aKlB b_aKlC) Bool) type IsRightSym1 (t_aKlD :: Either a_aKlB b_aKlC) = IsRight t_aKlD instance SuppressUnusedWarnings LeftsSym0 instance SuppressUnusedWarnings RightsSym0 instance SuppressUnusedWarnings PartitionEithersSym0 instance SuppressUnusedWarnings IsLeftSym0 instance SuppressUnusedWarnings IsRightSym0 instance SuppressUnusedWarnings Let_1627568136LeftSym0 instance SuppressUnusedWarnings Let_1627568136LeftSym1 instance SuppressUnusedWarnings Let_1627568136LeftSym2 instance SuppressUnusedWarnings Let_1627568136RightSym0 instance SuppressUnusedWarnings Let_1627568136RightSym1 instance SuppressUnusedWarnings Let_1627568136RightSym2 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_aJZ2 -> c_aJZ3) -> (b_aJZ4 -> c_aJZ3) -> Either a_aJZ2 b_aJZ4 -> c_aJZ3 data LeftSym0 (l_as5W :: TyFun a_a7pS (Either a_a7pS b_a7pT)) type LeftSym1 (t_as5V :: a_a7pS) = Left t_as5V data RightSym0 (l_as5Z :: TyFun b_a7pT (Either a_a7pS b_a7pT)) type RightSym1 (t_as5Y :: b_a7pT) = Right t_as5Y data Either_Sym0 (l_aJZc :: TyFun (TyFun a_aJZ2 c_aJZ3 -> *) (TyFun (TyFun b_aJZ4 c_aJZ3 -> *) (TyFun (Either a_aJZ2 b_aJZ4) c_aJZ3 -> *) -> *)) data Either_Sym1 (l_aJZf :: TyFun a_aJZ2 c_aJZ3 -> *) (l_aJZe :: TyFun (TyFun b_aJZ4 c_aJZ3 -> *) (TyFun (Either a_aJZ2 b_aJZ4) c_aJZ3 -> *)) data Either_Sym2 (l_aJZi :: TyFun a_aJZ2 c_aJZ3 -> *) (l_aJZj :: TyFun b_aJZ4 c_aJZ3 -> *) (l_aJZh :: TyFun (Either a_aJZ2 b_aJZ4) c_aJZ3) type Either_Sym3 (t_aJZ9 :: TyFun a_aJZ2 c_aJZ3 -> *) (t_aJZa :: TyFun b_aJZ4 c_aJZ3 -> *) (t_aJZb :: Either a_aJZ2 b_aJZ4) = Either_ t_aJZ9 t_aJZa t_aJZb data LeftsSym0 (l_aKmF :: TyFun ([] (Either a_aKlf b_aKlg)) ([] a_aKlf)) type LeftsSym1 (t_aKmE :: [] (Either a_aKlf b_aKlg)) = Lefts t_aKmE data RightsSym0 (l_aKmx :: TyFun ([] (Either a_aKlk b_aKll)) ([] b_aKll)) type RightsSym1 (t_aKmw :: [] (Either a_aKlk b_aKll)) = Rights t_aKmw data IsLeftSym0 (l_aKlK :: TyFun (Either a_aKlz b_aKlA) Bool) type IsLeftSym1 (t_aKlJ :: Either a_aKlz b_aKlA) = IsLeft t_aKlJ data IsRightSym0 (l_aKlE :: TyFun (Either a_aKlB b_aKlC) Bool) type IsRightSym1 (t_aKlD :: Either a_aKlB b_aKlC) = IsRight t_aKlD -- | 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_as6c :: ()) = Sing z_as6c type STuple2 (z_as6m :: (,) a_12 b_13) = Sing z_as6m type STuple3 (z_as6K :: (,,) a_12 b_13 c_14) = Sing z_as6K type STuple4 (z_as7j :: (,,,) a_12 b_13 c_14 d_15) = Sing z_as7j type STuple5 (z_as84 :: (,,,,) a_12 b_13 c_14 d_15 e_16) = Sing z_as84 type STuple6 (z_as92 :: (,,,,,) a_12 b_13 c_14 d_15 e_16 f_17) = Sing z_as92 type STuple7 (z_asae :: (,,,,,,) a_12 b_13 c_14 d_15 e_16 f_17 g_18) = Sing z_asae sFst :: Sing t_aMIX -> Sing (Apply FstSym0 t_aMIX) sSnd :: Sing t_aMIW -> Sing (Apply SndSym0 t_aMIW) sCurry :: Sing t_aMIT -> Sing t_aMIU -> Sing t_aMIV -> Sing (Apply (Apply (Apply CurrySym0 t_aMIT) t_aMIU) t_aMIV) sUncurry :: Sing t_aMIY -> Sing t_aMIZ -> Sing (Apply (Apply UncurrySym0 t_aMIY) t_aMIZ) sSwap :: Sing t_aMIS -> Sing (Apply SwapSym0 t_aMIS) type Tuple0Sym0 = () data Tuple2Sym0 (l_as6h :: TyFun a_12 (TyFun b_13 ((,) a_12 b_13) -> *)) data Tuple2Sym1 (l_as6k :: a_12) (l_as6j :: TyFun b_13 ((,) a_12 b_13)) type Tuple2Sym2 (t_as6f :: a_12) (t_as6g :: b_13) = (,) t_as6f t_as6g data Tuple3Sym0 (l_as6B :: TyFun a_12 (TyFun b_13 (TyFun c_14 ((,,) a_12 b_13 c_14) -> *) -> *)) data Tuple3Sym1 (l_as6E :: a_12) (l_as6D :: TyFun b_13 (TyFun c_14 ((,,) a_12 b_13 c_14) -> *)) data Tuple3Sym2 (l_as6H :: a_12) (l_as6I :: b_13) (l_as6G :: TyFun c_14 ((,,) a_12 b_13 c_14)) type Tuple3Sym3 (t_as6y :: a_12) (t_as6z :: b_13) (t_as6A :: c_14) = (,,) t_as6y t_as6z t_as6A data Tuple4Sym0 (l_as75 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 ((,,,) a_12 b_13 c_14 d_15) -> *) -> *) -> *)) data Tuple4Sym1 (l_as78 :: a_12) (l_as77 :: TyFun b_13 (TyFun c_14 (TyFun d_15 ((,,,) a_12 b_13 c_14 d_15) -> *) -> *)) data Tuple4Sym2 (l_as7b :: a_12) (l_as7c :: b_13) (l_as7a :: TyFun c_14 (TyFun d_15 ((,,,) a_12 b_13 c_14 d_15) -> *)) data Tuple4Sym3 (l_as7f :: a_12) (l_as7g :: b_13) (l_as7h :: c_14) (l_as7e :: TyFun d_15 ((,,,) a_12 b_13 c_14 d_15)) type Tuple4Sym4 (t_as71 :: a_12) (t_as72 :: b_13) (t_as73 :: c_14) (t_as74 :: d_15) = (,,,) t_as71 t_as72 t_as73 t_as74 data Tuple5Sym0 (l_as7K :: 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_as7N :: a_12) (l_as7M :: 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_as7Q :: a_12) (l_as7R :: b_13) (l_as7P :: TyFun c_14 (TyFun d_15 (TyFun e_16 ((,,,,) a_12 b_13 c_14 d_15 e_16) -> *) -> *)) data Tuple5Sym3 (l_as7U :: a_12) (l_as7V :: b_13) (l_as7W :: c_14) (l_as7T :: TyFun d_15 (TyFun e_16 ((,,,,) a_12 b_13 c_14 d_15 e_16) -> *)) data Tuple5Sym4 (l_as7Z :: a_12) (l_as80 :: b_13) (l_as81 :: c_14) (l_as82 :: d_15) (l_as7Y :: TyFun e_16 ((,,,,) a_12 b_13 c_14 d_15 e_16)) type Tuple5Sym5 (t_as7F :: a_12) (t_as7G :: b_13) (t_as7H :: c_14) (t_as7I :: d_15) (t_as7J :: e_16) = (,,,,) t_as7F t_as7G t_as7H t_as7I t_as7J data Tuple6Sym0 (l_as8B :: 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_as8E :: a_12) (l_as8D :: 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_as8H :: a_12) (l_as8I :: b_13) (l_as8G :: 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_as8L :: a_12) (l_as8M :: b_13) (l_as8N :: c_14) (l_as8K :: TyFun d_15 (TyFun e_16 (TyFun f_17 ((,,,,,) a_12 b_13 c_14 d_15 e_16 f_17) -> *) -> *)) data Tuple6Sym4 (l_as8Q :: a_12) (l_as8R :: b_13) (l_as8S :: c_14) (l_as8T :: d_15) (l_as8P :: TyFun e_16 (TyFun f_17 ((,,,,,) a_12 b_13 c_14 d_15 e_16 f_17) -> *)) data Tuple6Sym5 (l_as8W :: a_12) (l_as8X :: b_13) (l_as8Y :: c_14) (l_as8Z :: d_15) (l_as90 :: e_16) (l_as8V :: TyFun f_17 ((,,,,,) a_12 b_13 c_14 d_15 e_16 f_17)) type Tuple6Sym6 (t_as8v :: a_12) (t_as8w :: b_13) (t_as8x :: c_14) (t_as8y :: d_15) (t_as8z :: e_16) (t_as8A :: f_17) = (,,,,,) t_as8v t_as8w t_as8x t_as8y t_as8z t_as8A data Tuple7Sym0 (l_as9F :: 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_as9I :: a_12) (l_as9H :: 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_as9L :: a_12) (l_as9M :: b_13) (l_as9K :: 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_as9P :: a_12) (l_as9Q :: b_13) (l_as9R :: c_14) (l_as9O :: 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_as9U :: a_12) (l_as9V :: b_13) (l_as9W :: c_14) (l_as9X :: d_15) (l_as9T :: 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_asa0 :: a_12) (l_asa1 :: b_13) (l_asa2 :: c_14) (l_asa3 :: d_15) (l_asa4 :: e_16) (l_as9Z :: TyFun f_17 (TyFun g_18 ((,,,,,,) a_12 b_13 c_14 d_15 e_16 f_17 g_18) -> *)) data Tuple7Sym6 (l_asa7 :: a_12) (l_asa8 :: b_13) (l_asa9 :: c_14) (l_asaa :: d_15) (l_asab :: e_16) (l_asac :: f_17) (l_asa6 :: TyFun g_18 ((,,,,,,) a_12 b_13 c_14 d_15 e_16 f_17 g_18)) type Tuple7Sym7 (t_as9y :: a_12) (t_as9z :: b_13) (t_as9A :: c_14) (t_as9B :: d_15) (t_as9C :: e_16) (t_as9D :: f_17) (t_as9E :: g_18) = (,,,,,,) t_as9y t_as9z t_as9A t_as9B t_as9C t_as9D t_as9E data FstSym0 (l_aMIC :: TyFun ((,) a_aMHM b_aMHN) a_aMHM) type FstSym1 (t_aMIB :: (,) a_aMHM b_aMHN) = Fst t_aMIB data SndSym0 (l_aMIw :: TyFun ((,) a_aMHP b_aMHQ) b_aMHQ) type SndSym1 (t_aMIv :: (,) a_aMHP b_aMHQ) = Snd t_aMIv data CurrySym0 (l_aMIg :: TyFun (TyFun ((,) a_aMHS b_aMHT) c_aMHU -> *) (TyFun a_aMHS (TyFun b_aMHT c_aMHU -> *) -> *)) data CurrySym1 (l_aMIj :: TyFun ((,) a_aMHS b_aMHT) c_aMHU -> *) (l_aMIi :: TyFun a_aMHS (TyFun b_aMHT c_aMHU -> *)) data CurrySym2 (l_aMIm :: TyFun ((,) a_aMHS b_aMHT) c_aMHU -> *) (l_aMIn :: a_aMHS) (l_aMIl :: TyFun b_aMHT c_aMHU) type CurrySym3 (t_aMId :: TyFun ((,) a_aMHS b_aMHT) c_aMHU -> *) (t_aMIe :: a_aMHS) (t_aMIf :: b_aMHT) = Curry t_aMId t_aMIe t_aMIf data UncurrySym0 (l_aMIJ :: TyFun (TyFun a_aMHY (TyFun b_aMHZ c_aMI0 -> *) -> *) (TyFun ((,) a_aMHY b_aMHZ) c_aMI0 -> *)) data UncurrySym1 (l_aMIM :: TyFun a_aMHY (TyFun b_aMHZ c_aMI0 -> *) -> *) (l_aMIL :: TyFun ((,) a_aMHY b_aMHZ) c_aMI0) type UncurrySym2 (t_aMIH :: TyFun a_aMHY (TyFun b_aMHZ c_aMI0 -> *) -> *) (t_aMII :: (,) a_aMHY b_aMHZ) = Uncurry t_aMIH t_aMII data SwapSym0 (l_aMI8 :: TyFun ((,) a_aMI3 b_aMI4) ((,) b_aMI4 a_aMI3)) type SwapSym1 (t_aMI7 :: (,) a_aMI3 b_aMI4) = Swap t_aMI7 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_as6h :: TyFun a_12 (TyFun b_13 ((,) a_12 b_13) -> *)) data Tuple2Sym1 (l_as6k :: a_12) (l_as6j :: TyFun b_13 ((,) a_12 b_13)) type Tuple2Sym2 (t_as6f :: a_12) (t_as6g :: b_13) = (,) t_as6f t_as6g data Tuple3Sym0 (l_as6B :: TyFun a_12 (TyFun b_13 (TyFun c_14 ((,,) a_12 b_13 c_14) -> *) -> *)) data Tuple3Sym1 (l_as6E :: a_12) (l_as6D :: TyFun b_13 (TyFun c_14 ((,,) a_12 b_13 c_14) -> *)) data Tuple3Sym2 (l_as6H :: a_12) (l_as6I :: b_13) (l_as6G :: TyFun c_14 ((,,) a_12 b_13 c_14)) type Tuple3Sym3 (t_as6y :: a_12) (t_as6z :: b_13) (t_as6A :: c_14) = (,,) t_as6y t_as6z t_as6A data Tuple4Sym0 (l_as75 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 ((,,,) a_12 b_13 c_14 d_15) -> *) -> *) -> *)) data Tuple4Sym1 (l_as78 :: a_12) (l_as77 :: TyFun b_13 (TyFun c_14 (TyFun d_15 ((,,,) a_12 b_13 c_14 d_15) -> *) -> *)) data Tuple4Sym2 (l_as7b :: a_12) (l_as7c :: b_13) (l_as7a :: TyFun c_14 (TyFun d_15 ((,,,) a_12 b_13 c_14 d_15) -> *)) data Tuple4Sym3 (l_as7f :: a_12) (l_as7g :: b_13) (l_as7h :: c_14) (l_as7e :: TyFun d_15 ((,,,) a_12 b_13 c_14 d_15)) type Tuple4Sym4 (t_as71 :: a_12) (t_as72 :: b_13) (t_as73 :: c_14) (t_as74 :: d_15) = (,,,) t_as71 t_as72 t_as73 t_as74 data Tuple5Sym0 (l_as7K :: 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_as7N :: a_12) (l_as7M :: 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_as7Q :: a_12) (l_as7R :: b_13) (l_as7P :: TyFun c_14 (TyFun d_15 (TyFun e_16 ((,,,,) a_12 b_13 c_14 d_15 e_16) -> *) -> *)) data Tuple5Sym3 (l_as7U :: a_12) (l_as7V :: b_13) (l_as7W :: c_14) (l_as7T :: TyFun d_15 (TyFun e_16 ((,,,,) a_12 b_13 c_14 d_15 e_16) -> *)) data Tuple5Sym4 (l_as7Z :: a_12) (l_as80 :: b_13) (l_as81 :: c_14) (l_as82 :: d_15) (l_as7Y :: TyFun e_16 ((,,,,) a_12 b_13 c_14 d_15 e_16)) type Tuple5Sym5 (t_as7F :: a_12) (t_as7G :: b_13) (t_as7H :: c_14) (t_as7I :: d_15) (t_as7J :: e_16) = (,,,,) t_as7F t_as7G t_as7H t_as7I t_as7J data Tuple6Sym0 (l_as8B :: 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_as8E :: a_12) (l_as8D :: 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_as8H :: a_12) (l_as8I :: b_13) (l_as8G :: 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_as8L :: a_12) (l_as8M :: b_13) (l_as8N :: c_14) (l_as8K :: TyFun d_15 (TyFun e_16 (TyFun f_17 ((,,,,,) a_12 b_13 c_14 d_15 e_16 f_17) -> *) -> *)) data Tuple6Sym4 (l_as8Q :: a_12) (l_as8R :: b_13) (l_as8S :: c_14) (l_as8T :: d_15) (l_as8P :: TyFun e_16 (TyFun f_17 ((,,,,,) a_12 b_13 c_14 d_15 e_16 f_17) -> *)) data Tuple6Sym5 (l_as8W :: a_12) (l_as8X :: b_13) (l_as8Y :: c_14) (l_as8Z :: d_15) (l_as90 :: e_16) (l_as8V :: TyFun f_17 ((,,,,,) a_12 b_13 c_14 d_15 e_16 f_17)) type Tuple6Sym6 (t_as8v :: a_12) (t_as8w :: b_13) (t_as8x :: c_14) (t_as8y :: d_15) (t_as8z :: e_16) (t_as8A :: f_17) = (,,,,,) t_as8v t_as8w t_as8x t_as8y t_as8z t_as8A data Tuple7Sym0 (l_as9F :: 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_as9I :: a_12) (l_as9H :: 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_as9L :: a_12) (l_as9M :: b_13) (l_as9K :: 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_as9P :: a_12) (l_as9Q :: b_13) (l_as9R :: c_14) (l_as9O :: 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_as9U :: a_12) (l_as9V :: b_13) (l_as9W :: c_14) (l_as9X :: d_15) (l_as9T :: 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_asa0 :: a_12) (l_asa1 :: b_13) (l_asa2 :: c_14) (l_asa3 :: d_15) (l_asa4 :: e_16) (l_as9Z :: TyFun f_17 (TyFun g_18 ((,,,,,,) a_12 b_13 c_14 d_15 e_16 f_17 g_18) -> *)) data Tuple7Sym6 (l_asa7 :: a_12) (l_asa8 :: b_13) (l_asa9 :: c_14) (l_asaa :: d_15) (l_asab :: e_16) (l_asac :: f_17) (l_asa6 :: TyFun g_18 ((,,,,,,) a_12 b_13 c_14 d_15 e_16 f_17 g_18)) type Tuple7Sym7 (t_as9y :: a_12) (t_as9z :: b_13) (t_as9A :: c_14) (t_as9B :: d_15) (t_as9C :: e_16) (t_as9D :: f_17) (t_as9E :: g_18) = (,,,,,,) t_as9y t_as9z t_as9A t_as9B t_as9C t_as9D t_as9E data FstSym0 (l_aMIC :: TyFun ((,) a_aMHM b_aMHN) a_aMHM) type FstSym1 (t_aMIB :: (,) a_aMHM b_aMHN) = Fst t_aMIB data SndSym0 (l_aMIw :: TyFun ((,) a_aMHP b_aMHQ) b_aMHQ) type SndSym1 (t_aMIv :: (,) a_aMHP b_aMHQ) = Snd t_aMIv data CurrySym0 (l_aMIg :: TyFun (TyFun ((,) a_aMHS b_aMHT) c_aMHU -> *) (TyFun a_aMHS (TyFun b_aMHT c_aMHU -> *) -> *)) data CurrySym1 (l_aMIj :: TyFun ((,) a_aMHS b_aMHT) c_aMHU -> *) (l_aMIi :: TyFun a_aMHS (TyFun b_aMHT c_aMHU -> *)) data CurrySym2 (l_aMIm :: TyFun ((,) a_aMHS b_aMHT) c_aMHU -> *) (l_aMIn :: a_aMHS) (l_aMIl :: TyFun b_aMHT c_aMHU) type CurrySym3 (t_aMId :: TyFun ((,) a_aMHS b_aMHT) c_aMHU -> *) (t_aMIe :: a_aMHS) (t_aMIf :: b_aMHT) = Curry t_aMId t_aMIe t_aMIf data UncurrySym0 (l_aMIJ :: TyFun (TyFun a_aMHY (TyFun b_aMHZ c_aMI0 -> *) -> *) (TyFun ((,) a_aMHY b_aMHZ) c_aMI0 -> *)) data UncurrySym1 (l_aMIM :: TyFun a_aMHY (TyFun b_aMHZ c_aMI0 -> *) -> *) (l_aMIL :: TyFun ((,) a_aMHY b_aMHZ) c_aMI0) type UncurrySym2 (t_aMIH :: TyFun a_aMHY (TyFun b_aMHZ c_aMI0 -> *) -> *) (t_aMII :: (,) a_aMHY b_aMHZ) = Uncurry t_aMIH t_aMII data SwapSym0 (l_aMI8 :: TyFun ((,) a_aMI3 b_aMI4) ((,) b_aMI4 a_aMI3)) type SwapSym1 (t_aMI7 :: (,) a_aMI3 b_aMI4) = Swap t_aMI7 -- | 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_aH9X :: TyFun (TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (TyFun b_aH7e (TyFun ([] a_aH7d) b_aH7e -> *) -> *)) data FoldrSym1 (l_aHa0 :: TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (l_aH9Z :: TyFun b_aH7e (TyFun ([] a_aH7d) b_aH7e -> *)) data FoldrSym2 (l_aHa3 :: TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (l_aHa4 :: b_aH7e) (l_aHa2 :: TyFun ([] a_aH7d) b_aH7e) type FoldrSym3 (t_aH9U :: TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (t_aH9V :: b_aH7e) (t_aH9W :: [] a_aH7d) = Foldr t_aH9U t_aH9V t_aH9W data MapSym0 (l_aH9J :: TyFun (TyFun a_aH7k b_aH7l -> *) (TyFun ([] a_aH7k) ([] b_aH7l) -> *)) data MapSym1 (l_aH9M :: TyFun a_aH7k b_aH7l -> *) (l_aH9L :: TyFun ([] a_aH7k) ([] b_aH7l)) type MapSym2 (t_aH9H :: TyFun a_aH7k b_aH7l -> *) (t_aH9I :: [] a_aH7k) = Map t_aH9H t_aH9I data (:++$) (l_aH9w :: TyFun ([] a_aH7p) (TyFun ([] a_aH7p) ([] a_aH7p) -> *)) data (:++$$) (l_aH9z :: [] a_aH7p) (l_aH9y :: TyFun ([] a_aH7p) ([] a_aH7p)) type OtherwiseSym0 = Otherwise data IdSym0 (l_aH9q :: TyFun a_aH7u a_aH7u) type IdSym1 (t_aH9p :: a_aH7u) = Id t_aH9p data ConstSym0 (l_aH91 :: TyFun a_aH7w (TyFun b_aH7x a_aH7w -> *)) data ConstSym1 (l_aH94 :: a_aH7w) (l_aH93 :: TyFun b_aH7x a_aH7w) type ConstSym2 (t_aH8Z :: a_aH7w) (t_aH90 :: b_aH7x) = Const t_aH8Z t_aH90 data (:.$) (l_aH8l :: TyFun (TyFun b_aH7z c_aH7A -> *) (TyFun (TyFun a_aH7B b_aH7z -> *) (TyFun a_aH7B c_aH7A -> *) -> *)) data (:.$$) (l_aH8o :: TyFun b_aH7z c_aH7A -> *) (l_aH8n :: TyFun (TyFun a_aH7B b_aH7z -> *) (TyFun a_aH7B c_aH7A -> *)) data (:.$$$) (l_aH8r :: TyFun b_aH7z c_aH7A -> *) (l_aH8s :: TyFun a_aH7B b_aH7z -> *) (l_aH8q :: TyFun a_aH7B c_aH7A) 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_aH83 :: TyFun (TyFun a_aH7F (TyFun b_aH7G c_aH7H -> *) -> *) (TyFun b_aH7G (TyFun a_aH7F c_aH7H -> *) -> *)) data FlipSym1 (l_aH86 :: TyFun a_aH7F (TyFun b_aH7G c_aH7H -> *) -> *) (l_aH85 :: TyFun b_aH7G (TyFun a_aH7F c_aH7H -> *)) data FlipSym2 (l_aH89 :: TyFun a_aH7F (TyFun b_aH7G c_aH7H -> *) -> *) (l_aH8a :: b_aH7G) (l_aH88 :: TyFun a_aH7F c_aH7H) data UntilSym0 (l_aNJA :: TyFun (TyFun a_aNJq Bool -> *) (TyFun (TyFun a_aNJq a_aNJq -> *) (TyFun a_aNJq a_aNJq -> *) -> *)) data UntilSym1 (l_aNJD :: TyFun a_aNJq Bool -> *) (l_aNJC :: TyFun (TyFun a_aNJq a_aNJq -> *) (TyFun a_aNJq a_aNJq -> *)) data UntilSym2 (l_aNJG :: TyFun a_aNJq Bool -> *) (l_aNJH :: TyFun a_aNJq a_aNJq -> *) (l_aNJF :: TyFun a_aNJq a_aNJq) type UntilSym3 (t_aNJx :: TyFun a_aNJq Bool -> *) (t_aNJy :: TyFun a_aNJq a_aNJq -> *) (t_aNJz :: a_aNJq) = Until t_aNJx t_aNJy t_aNJz data AsTypeOfSym0 (l_aH9g :: TyFun a_aH7L (TyFun a_aH7L a_aH7L -> *)) data AsTypeOfSym1 (l_aH9j :: a_aH7L) (l_aH9i :: TyFun a_aH7L a_aH7L) type AsTypeOfSym2 (t_aH9e :: a_aH7L) (t_aH9f :: a_aH7L) = AsTypeOf t_aH9e t_aH9f data SeqSym0 (l_aH7R :: TyFun a_aH7M (TyFun b_aH7N b_aH7N -> *)) data SeqSym1 (l_aH7U :: a_aH7M) (l_aH7T :: TyFun b_aH7N b_aH7N) type SeqSym2 (t_aH7P :: a_aH7M) (t_aH7Q :: b_aH7N) = Seq t_aH7P t_aH7Q instance SuppressUnusedWarnings UntilSym0 instance SuppressUnusedWarnings UntilSym1 instance SuppressUnusedWarnings UntilSym2 instance SuppressUnusedWarnings Let_1627581151GoSym0 instance SuppressUnusedWarnings Let_1627581151GoSym1 instance SuppressUnusedWarnings Let_1627581151GoSym2 instance SuppressUnusedWarnings Let_1627581151GoSym3 -- | 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_as5K :: [] a_12) = Sing z_as5K (%:++) :: Sing t_aHaO -> Sing t_aHaP -> Sing (Apply (Apply (:++$) t_aHaO) t_aHaP) sHead :: Sing t_aQR5 -> Sing (Apply HeadSym0 t_aQR5) sLast :: Sing t_aQR4 -> Sing (Apply LastSym0 t_aQR4) sTail :: Sing t_aQR3 -> Sing (Apply TailSym0 t_aQR3) sInit :: Sing t_aQR2 -> Sing (Apply InitSym0 t_aQR2) sNull :: Sing t_aQR1 -> Sing (Apply NullSym0 t_aQR1) sMap :: Sing t_aHaQ -> Sing t_aHaR -> Sing (Apply (Apply MapSym0 t_aHaQ) t_aHaR) sReverse :: Sing t_aQQY -> Sing (Apply ReverseSym0 t_aQQY) sIntersperse :: Sing t_aQQU -> Sing t_aQQV -> Sing (Apply (Apply IntersperseSym0 t_aQQU) t_aQQV) sIntercalate :: Sing t_aQQW -> Sing t_aQQX -> Sing (Apply (Apply IntercalateSym0 t_aQQW) t_aQQX) sSubsequences :: Sing t_aQQT -> Sing (Apply SubsequencesSym0 t_aQQT) sPermutations :: Sing t_aQQP -> Sing (Apply PermutationsSym0 t_aQQP) sFoldl :: Sing t_aQQB -> Sing t_aQQC -> Sing t_aQQD -> Sing (Apply (Apply (Apply FoldlSym0 t_aQQB) t_aQQC) t_aQQD) sFoldl' :: Sing t_aQQw -> Sing t_aQQx -> Sing t_aQQy -> Sing (Apply (Apply (Apply Foldl'Sym0 t_aQQw) t_aQQx) t_aQQy) sFoldl1 :: Sing t_aQQE -> Sing t_aQQF -> Sing (Apply (Apply Foldl1Sym0 t_aQQE) t_aQQF) sFoldl1' :: Sing t_aQQz -> Sing t_aQQA -> Sing (Apply (Apply Foldl1'Sym0 t_aQQz) t_aQQA) sFoldr :: Sing t_aHaS -> Sing t_aHaT -> Sing t_aHaU -> Sing (Apply (Apply (Apply FoldrSym0 t_aHaS) t_aHaT) t_aHaU) sFoldr1 :: Sing t_aQQu -> Sing t_aQQv -> Sing (Apply (Apply Foldr1Sym0 t_aQQu) t_aQQv) sConcat :: Sing t_aQQt -> Sing (Apply ConcatSym0 t_aQQt) sConcatMap :: Sing t_aQQr -> Sing t_aQQs -> Sing (Apply (Apply ConcatMapSym0 t_aQQr) t_aQQs) sAnd :: Sing t_aQQq -> Sing (Apply AndSym0 t_aQQq) sOr :: Sing t_aQQp -> Sing (Apply OrSym0 t_aQQp) sAny_ :: Sing t_aOag -> Sing t_aOah -> Sing (Apply (Apply Any_Sym0 t_aOag) t_aOah) sAll :: Sing t_aQQn -> Sing t_aQQo -> Sing (Apply (Apply AllSym0 t_aQQn) t_aQQo) any_ :: (a_aO9Z -> Bool) -> [a_aO9Z] -> Bool sScanl :: Sing t_aQQi -> Sing t_aQQj -> Sing t_aQQk -> Sing (Apply (Apply (Apply ScanlSym0 t_aQQi) t_aQQj) t_aQQk) sScanl1 :: Sing t_aQQl -> Sing t_aQQm -> Sing (Apply (Apply Scanl1Sym0 t_aQQl) t_aQQm) sScanr :: Sing t_aQQf -> Sing t_aQQg -> Sing t_aQQh -> Sing (Apply (Apply (Apply ScanrSym0 t_aQQf) t_aQQg) t_aQQh) sScanr1 :: Sing t_aQQd -> Sing t_aQQe -> Sing (Apply (Apply Scanr1Sym0 t_aQQd) t_aQQe) sMapAccumL :: Sing t_aQQa -> Sing t_aQQb -> Sing t_aQQc -> Sing (Apply (Apply (Apply MapAccumLSym0 t_aQQa) t_aQQb) t_aQQc) sMapAccumR :: Sing t_aQQ7 -> Sing t_aQQ8 -> Sing t_aQQ9 -> Sing (Apply (Apply (Apply MapAccumRSym0 t_aQQ7) t_aQQ8) t_aQQ9) sUnfoldr :: Sing t_aQQ5 -> Sing t_aQQ6 -> Sing (Apply (Apply UnfoldrSym0 t_aQQ5) t_aQQ6) sInits :: Sing t_aQQ4 -> Sing (Apply InitsSym0 t_aQQ4) sTails :: Sing t_aQQ1 -> Sing (Apply TailsSym0 t_aQQ1) sIsPrefixOf :: SEq (KProxy :: KProxy a_aQdy) => Sing t_aQPZ -> Sing t_aQQ0 -> Sing (Apply (Apply IsPrefixOfSym0 t_aQPZ) t_aQQ0) sIsSuffixOf :: SEq (KProxy :: KProxy a_aQdD) => Sing t_aQQZ -> Sing t_aQR0 -> Sing (Apply (Apply IsSuffixOfSym0 t_aQQZ) t_aQR0) sIsInfixOf :: SEq (KProxy :: KProxy a_aQdG) => Sing t_aQQ2 -> Sing t_aQQ3 -> Sing (Apply (Apply IsInfixOfSym0 t_aQQ2) t_aQQ3) sElem :: SEq (KProxy :: KProxy a_aQdJ) => Sing t_aQPX -> Sing t_aQPY -> Sing (Apply (Apply ElemSym0 t_aQPX) t_aQPY) sNotElem :: SEq (KProxy :: KProxy a_aQdN) => Sing t_aQPV -> Sing t_aQPW -> Sing (Apply (Apply NotElemSym0 t_aQPV) t_aQPW) sZip :: Sing t_aQPT -> Sing t_aQPU -> Sing (Apply (Apply ZipSym0 t_aQPT) t_aQPU) sZip3 :: Sing t_aQPQ -> Sing t_aQPR -> Sing t_aQPS -> Sing (Apply (Apply (Apply Zip3Sym0 t_aQPQ) t_aQPR) t_aQPS) sZipWith :: Sing t_aQPN -> Sing t_aQPO -> Sing t_aQPP -> Sing (Apply (Apply (Apply ZipWithSym0 t_aQPN) t_aQPO) t_aQPP) sZipWith3 :: Sing t_aQPJ -> Sing t_aQPK -> Sing t_aQPL -> Sing t_aQPM -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_aQPJ) t_aQPK) t_aQPL) t_aQPM) sUnzip :: Sing t_aQPI -> Sing (Apply UnzipSym0 t_aQPI) sUnzip3 :: Sing t_aQPH -> Sing (Apply Unzip3Sym0 t_aQPH) sUnzip4 :: Sing t_aQPG -> Sing (Apply Unzip4Sym0 t_aQPG) sUnzip5 :: Sing t_aQPF -> Sing (Apply Unzip5Sym0 t_aQPF) sUnzip6 :: Sing t_aQPE -> Sing (Apply Unzip6Sym0 t_aQPE) sUnzip7 :: Sing t_aQPD -> Sing (Apply Unzip7Sym0 t_aQPD) sDelete :: SEq (KProxy :: KProxy a_aQfO) => Sing t_aQPB -> Sing t_aQPC -> Sing (Apply (Apply DeleteSym0 t_aQPB) t_aQPC) (%:\\) :: SEq (KProxy :: KProxy a_aQfP) => Sing t_aQQK -> Sing t_aQQL -> Sing (Apply (Apply (:\\$) t_aQQK) t_aQQL) sDeleteBy :: Sing t_aQPy -> Sing t_aQPz -> Sing t_aQPA -> Sing (Apply (Apply (Apply DeleteBySym0 t_aQPy) t_aQPz) t_aQPA) sDeleteFirstsBy :: Sing t_aQQM -> Sing t_aQQN -> Sing t_aQQO -> Sing (Apply (Apply (Apply DeleteFirstsBySym0 t_aQQM) t_aQQN) t_aQQO) sSortBy :: Sing t_aQPw -> Sing t_aQPx -> Sing (Apply (Apply SortBySym0 t_aQPw) t_aQPx) sInsertBy :: Sing t_aQPt -> Sing t_aQPu -> Sing t_aQPv -> Sing (Apply (Apply (Apply InsertBySym0 t_aQPt) t_aQPu) t_aQPv) sMaximumBy :: Sing t_aQQG -> Sing t_aQQH -> Sing (Apply (Apply MaximumBySym0 t_aQQG) t_aQQH) sMinimumBy :: Sing t_aQQI -> Sing t_aQQJ -> Sing (Apply (Apply MinimumBySym0 t_aQQI) t_aQQJ) type NilSym0 = [] data (:$) (l_as5F :: TyFun a_12 (TyFun ([] a_12) ([] a_12) -> *)) data (:$$) (l_as5I :: a_12) (l_as5H :: TyFun ([] a_12) ([] a_12)) type (:$$$) (t_as5D :: a_12) (t_as5E :: [] a_12) = (:) t_as5D t_as5E data (:++$$) (l_aH9z :: [] a_aH7p) (l_aH9y :: TyFun ([] a_aH7p) ([] a_aH7p)) data (:++$) (l_aH9w :: TyFun ([] a_aH7p) (TyFun ([] a_aH7p) ([] a_aH7p) -> *)) data HeadSym0 (l_aQPo :: TyFun ([] a_aQaI) a_aQaI) type HeadSym1 (t_aQPn :: [] a_aQaI) = Head t_aQPn data LastSym0 (l_aQOS :: TyFun ([] a_aQaK) a_aQaK) type LastSym1 (t_aQOR :: [] a_aQaK) = Last t_aQOR data TailSym0 (l_aQOM :: TyFun ([] a_aQaS) ([] a_aQaS)) type TailSym1 (t_aQOL :: [] a_aQaS) = Tail t_aQOL data InitSym0 (l_aQOg :: TyFun ([] a_aQaU) ([] a_aQaU)) type InitSym1 (t_aQOf :: [] a_aQaU) = Init t_aQOf data NullSym0 (l_aQOa :: TyFun ([] a_aQb2) Bool) type NullSym1 (t_aQO9 :: [] a_aQb2) = Null t_aQO9 data MapSym0 (l_aH9J :: TyFun (TyFun a_aH7k b_aH7l -> *) (TyFun ([] a_aH7k) ([] b_aH7l) -> *)) data MapSym1 (l_aH9M :: TyFun a_aH7k b_aH7l -> *) (l_aH9L :: TyFun ([] a_aH7k) ([] b_aH7l)) type MapSym2 (t_aH9H :: TyFun a_aH7k b_aH7l -> *) (t_aH9I :: [] a_aH7k) = Map t_aH9H t_aH9I data ReverseSym0 (l_aQNA :: TyFun ([] a_aQb3) ([] a_aQb3)) type ReverseSym1 (t_aQNz :: [] a_aQb3) = Reverse t_aQNz data IntersperseSym0 (l_aQNd :: TyFun a_aQbb (TyFun ([] a_aQbb) ([] a_aQbb) -> *)) data IntersperseSym1 (l_aQNg :: a_aQbb) (l_aQNf :: TyFun ([] a_aQbb) ([] a_aQbb)) type IntersperseSym2 (t_aQNb :: a_aQbb) (t_aQNc :: [] a_aQbb) = Intersperse t_aQNb t_aQNc data IntercalateSym0 (l_aQNq :: TyFun ([] a_aQbf) (TyFun ([] ([] a_aQbf)) ([] a_aQbf) -> *)) data IntercalateSym1 (l_aQNt :: [] a_aQbf) (l_aQNs :: TyFun ([] ([] a_aQbf)) ([] a_aQbf)) type IntercalateSym2 (t_aQNo :: [] a_aQbf) (t_aQNp :: [] ([] a_aQbf)) = Intercalate t_aQNo t_aQNp data SubsequencesSym0 (l_aQN7 :: TyFun ([] a_aQbi) ([] ([] a_aQbi))) type SubsequencesSym1 (t_aQN6 :: [] a_aQbi) = Subsequences t_aQN6 data PermutationsSym0 (l_aQGt :: TyFun ([] a_aQbu) ([] ([] a_aQbu))) type PermutationsSym1 (t_aQGs :: [] a_aQbu) = Permutations t_aQGs data FoldlSym0 (l_aQC0 :: TyFun (TyFun b_aQbM (TyFun a_aQbN b_aQbM -> *) -> *) (TyFun b_aQbM (TyFun ([] a_aQbN) b_aQbM -> *) -> *)) data FoldlSym1 (l_aQC3 :: TyFun b_aQbM (TyFun a_aQbN b_aQbM -> *) -> *) (l_aQC2 :: TyFun b_aQbM (TyFun ([] a_aQbN) b_aQbM -> *)) data FoldlSym2 (l_aQC6 :: TyFun b_aQbM (TyFun a_aQbN b_aQbM -> *) -> *) (l_aQC7 :: b_aQbM) (l_aQC5 :: TyFun ([] a_aQbN) b_aQbM) type FoldlSym3 (t_aQBX :: TyFun b_aQbM (TyFun a_aQbN b_aQbM -> *) -> *) (t_aQBY :: b_aQbM) (t_aQBZ :: [] a_aQbN) = Foldl t_aQBX t_aQBY t_aQBZ data Foldl'Sym0 (l_aQAp :: TyFun (TyFun b_aQ9P (TyFun a_aQ9O b_aQ9P -> *) -> *) (TyFun b_aQ9P (TyFun ([] a_aQ9O) b_aQ9P -> *) -> *)) data Foldl'Sym1 (l_aQAs :: TyFun b_aQ9P (TyFun a_aQ9O b_aQ9P -> *) -> *) (l_aQAr :: TyFun b_aQ9P (TyFun ([] a_aQ9O) b_aQ9P -> *)) data Foldl'Sym2 (l_aQAv :: TyFun b_aQ9P (TyFun a_aQ9O b_aQ9P -> *) -> *) (l_aQAw :: b_aQ9P) (l_aQAu :: TyFun ([] a_aQ9O) b_aQ9P) type Foldl'Sym3 (t_aQAm :: TyFun b_aQ9P (TyFun a_aQ9O b_aQ9P -> *) -> *) (t_aQAn :: b_aQ9P) (t_aQAo :: [] a_aQ9O) = Foldl' t_aQAm t_aQAn t_aQAo data Foldl1Sym0 (l_aQCO :: TyFun (TyFun a_aQc7 (TyFun a_aQc7 a_aQc7 -> *) -> *) (TyFun ([] a_aQc7) a_aQc7 -> *)) data Foldl1Sym1 (l_aQCR :: TyFun a_aQc7 (TyFun a_aQc7 a_aQc7 -> *) -> *) (l_aQCQ :: TyFun ([] a_aQc7) a_aQc7) type Foldl1Sym2 (t_aQCM :: TyFun a_aQc7 (TyFun a_aQc7 a_aQc7 -> *) -> *) (t_aQCN :: [] a_aQc7) = Foldl1 t_aQCM t_aQCN data Foldl1'Sym0 (l_aQBM :: TyFun (TyFun a_aQcb (TyFun a_aQcb a_aQcb -> *) -> *) (TyFun ([] a_aQcb) a_aQcb -> *)) data Foldl1'Sym1 (l_aQBP :: TyFun a_aQcb (TyFun a_aQcb a_aQcb -> *) -> *) (l_aQBO :: TyFun ([] a_aQcb) a_aQcb) type Foldl1'Sym2 (t_aQBK :: TyFun a_aQcb (TyFun a_aQcb a_aQcb -> *) -> *) (t_aQBL :: [] a_aQcb) = Foldl1' t_aQBK t_aQBL data FoldrSym0 (l_aH9X :: TyFun (TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (TyFun b_aH7e (TyFun ([] a_aH7d) b_aH7e -> *) -> *)) data FoldrSym1 (l_aHa0 :: TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (l_aH9Z :: TyFun b_aH7e (TyFun ([] a_aH7d) b_aH7e -> *)) data FoldrSym2 (l_aHa3 :: TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (l_aHa4 :: b_aH7e) (l_aHa2 :: TyFun ([] a_aH7d) b_aH7e) type FoldrSym3 (t_aH9U :: TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (t_aH9V :: b_aH7e) (t_aH9W :: [] a_aH7d) = Foldr t_aH9U t_aH9V t_aH9W data Foldr1Sym0 (l_aQzO :: TyFun (TyFun a_aQcf (TyFun a_aQcf a_aQcf -> *) -> *) (TyFun ([] a_aQcf) a_aQcf -> *)) data Foldr1Sym1 (l_aQzR :: TyFun a_aQcf (TyFun a_aQcf a_aQcf -> *) -> *) (l_aQzQ :: TyFun ([] a_aQcf) a_aQcf) type Foldr1Sym2 (t_aQzM :: TyFun a_aQcf (TyFun a_aQcf a_aQcf -> *) -> *) (t_aQzN :: [] a_aQcf) = Foldr1 t_aQzM t_aQzN data ConcatSym0 (l_aQzI :: TyFun ([] ([] a_aQck)) ([] a_aQck)) type ConcatSym1 (t_aQzH :: [] ([] a_aQck)) = Concat t_aQzH data ConcatMapSym0 (l_aQzu :: TyFun (TyFun a_aQcl ([] b_aQcm) -> *) (TyFun ([] a_aQcl) ([] b_aQcm) -> *)) data ConcatMapSym1 (l_aQzx :: TyFun a_aQcl ([] b_aQcm) -> *) (l_aQzw :: TyFun ([] a_aQcl) ([] b_aQcm)) type ConcatMapSym2 (t_aQzs :: TyFun a_aQcl ([] b_aQcm) -> *) (t_aQzt :: [] a_aQcl) = ConcatMap t_aQzs t_aQzt data AndSym0 (l_aQzn :: TyFun ([] Bool) Bool) type AndSym1 (t_aQzm :: [] Bool) = And t_aQzm data OrSym0 (l_aQzh :: TyFun ([] Bool) Bool) type OrSym1 (t_aQzg :: [] Bool) = Or t_aQzg data Any_Sym0 (l_aOa5 :: TyFun (TyFun a_aO9Z Bool -> *) (TyFun ([] a_aO9Z) Bool -> *)) data Any_Sym1 (l_aOa8 :: TyFun a_aO9Z Bool -> *) (l_aOa7 :: TyFun ([] a_aO9Z) Bool) type Any_Sym2 (t_aOa3 :: TyFun a_aO9Z Bool -> *) (t_aOa4 :: [] a_aO9Z) = Any_ t_aOa3 t_aOa4 data AllSym0 (l_aQz5 :: TyFun (TyFun a_aQcs Bool -> *) (TyFun ([] a_aQcs) Bool -> *)) data AllSym1 (l_aQz8 :: TyFun a_aQcs Bool -> *) (l_aQz7 :: TyFun ([] a_aQcs) Bool) type AllSym2 (t_aQz3 :: TyFun a_aQcs Bool -> *) (t_aQz4 :: [] a_aQcs) = All t_aQz3 t_aQz4 data ScanlSym0 (l_aQyh :: TyFun (TyFun b_aQcw (TyFun a_aQcx b_aQcw -> *) -> *) (TyFun b_aQcw (TyFun ([] a_aQcx) ([] b_aQcw) -> *) -> *)) data ScanlSym1 (l_aQyk :: TyFun b_aQcw (TyFun a_aQcx b_aQcw -> *) -> *) (l_aQyj :: TyFun b_aQcw (TyFun ([] a_aQcx) ([] b_aQcw) -> *)) data ScanlSym2 (l_aQyn :: TyFun b_aQcw (TyFun a_aQcx b_aQcw -> *) -> *) (l_aQyo :: b_aQcw) (l_aQym :: TyFun ([] a_aQcx) ([] b_aQcw)) type ScanlSym3 (t_aQye :: TyFun b_aQcw (TyFun a_aQcx b_aQcw -> *) -> *) (t_aQyf :: b_aQcw) (t_aQyg :: [] a_aQcx) = Scanl t_aQye t_aQyf t_aQyg data Scanl1Sym0 (l_aQyS :: TyFun (TyFun a_aQcD (TyFun a_aQcD a_aQcD -> *) -> *) (TyFun ([] a_aQcD) ([] a_aQcD) -> *)) data Scanl1Sym1 (l_aQyV :: TyFun a_aQcD (TyFun a_aQcD a_aQcD -> *) -> *) (l_aQyU :: TyFun ([] a_aQcD) ([] a_aQcD)) type Scanl1Sym2 (t_aQyQ :: TyFun a_aQcD (TyFun a_aQcD a_aQcD -> *) -> *) (t_aQyR :: [] a_aQcD) = Scanl1 t_aQyQ t_aQyR data ScanrSym0 (l_aQxw :: TyFun (TyFun a_aQcH (TyFun b_aQcI b_aQcI -> *) -> *) (TyFun b_aQcI (TyFun ([] a_aQcH) ([] b_aQcI) -> *) -> *)) data ScanrSym1 (l_aQxz :: TyFun a_aQcH (TyFun b_aQcI b_aQcI -> *) -> *) (l_aQxy :: TyFun b_aQcI (TyFun ([] a_aQcH) ([] b_aQcI) -> *)) data ScanrSym2 (l_aQxC :: TyFun a_aQcH (TyFun b_aQcI b_aQcI -> *) -> *) (l_aQxD :: b_aQcI) (l_aQxB :: TyFun ([] a_aQcH) ([] b_aQcI)) type ScanrSym3 (t_aQxt :: TyFun a_aQcH (TyFun b_aQcI b_aQcI -> *) -> *) (t_aQxu :: b_aQcI) (t_aQxv :: [] a_aQcH) = Scanr t_aQxt t_aQxu t_aQxv data Scanr1Sym0 (l_aQwv :: TyFun (TyFun a_aQcQ (TyFun a_aQcQ a_aQcQ -> *) -> *) (TyFun ([] a_aQcQ) ([] a_aQcQ) -> *)) data Scanr1Sym1 (l_aQwy :: TyFun a_aQcQ (TyFun a_aQcQ a_aQcQ -> *) -> *) (l_aQwx :: TyFun ([] a_aQcQ) ([] a_aQcQ)) type Scanr1Sym2 (t_aQwt :: TyFun a_aQcQ (TyFun a_aQcQ a_aQcQ -> *) -> *) (t_aQwu :: [] a_aQcQ) = Scanr1 t_aQwt t_aQwu data MapAccumLSym0 (l_aQtP :: TyFun (TyFun acc_aQcX (TyFun x_aQcY ((,) acc_aQcX y_aQcZ) -> *) -> *) (TyFun acc_aQcX (TyFun ([] x_aQcY) ((,) acc_aQcX ([] y_aQcZ)) -> *) -> *)) data MapAccumLSym1 (l_aQtS :: TyFun acc_aQcX (TyFun x_aQcY ((,) acc_aQcX y_aQcZ) -> *) -> *) (l_aQtR :: TyFun acc_aQcX (TyFun ([] x_aQcY) ((,) acc_aQcX ([] y_aQcZ)) -> *)) data MapAccumLSym2 (l_aQtV :: TyFun acc_aQcX (TyFun x_aQcY ((,) acc_aQcX y_aQcZ) -> *) -> *) (l_aQtW :: acc_aQcX) (l_aQtU :: TyFun ([] x_aQcY) ((,) acc_aQcX ([] y_aQcZ))) type MapAccumLSym3 (t_aQtM :: TyFun acc_aQcX (TyFun x_aQcY ((,) acc_aQcX y_aQcZ) -> *) -> *) (t_aQtN :: acc_aQcX) (t_aQtO :: [] x_aQcY) = MapAccumL t_aQtM t_aQtN t_aQtO data MapAccumRSym0 (l_aQr8 :: TyFun (TyFun acc_aQd9 (TyFun x_aQda ((,) acc_aQd9 y_aQdb) -> *) -> *) (TyFun acc_aQd9 (TyFun ([] x_aQda) ((,) acc_aQd9 ([] y_aQdb)) -> *) -> *)) data MapAccumRSym1 (l_aQrb :: TyFun acc_aQd9 (TyFun x_aQda ((,) acc_aQd9 y_aQdb) -> *) -> *) (l_aQra :: TyFun acc_aQd9 (TyFun ([] x_aQda) ((,) acc_aQd9 ([] y_aQdb)) -> *)) data MapAccumRSym2 (l_aQre :: TyFun acc_aQd9 (TyFun x_aQda ((,) acc_aQd9 y_aQdb) -> *) -> *) (l_aQrf :: acc_aQd9) (l_aQrd :: TyFun ([] x_aQda) ((,) acc_aQd9 ([] y_aQdb))) type MapAccumRSym3 (t_aQr5 :: TyFun acc_aQd9 (TyFun x_aQda ((,) acc_aQd9 y_aQdb) -> *) -> *) (t_aQr6 :: acc_aQd9) (t_aQr7 :: [] x_aQda) = MapAccumR t_aQr5 t_aQr6 t_aQr7 data UnfoldrSym0 (l_aQqH :: TyFun (TyFun b_aQdl (Maybe ((,) a_aQdm b_aQdl)) -> *) (TyFun b_aQdl ([] a_aQdm) -> *)) data UnfoldrSym1 (l_aQqK :: TyFun b_aQdl (Maybe ((,) a_aQdm b_aQdl)) -> *) (l_aQqJ :: TyFun b_aQdl ([] a_aQdm)) type UnfoldrSym2 (t_aQqF :: TyFun b_aQdl (Maybe ((,) a_aQdm b_aQdl)) -> *) (t_aQqG :: b_aQdl) = Unfoldr t_aQqF t_aQqG data InitsSym0 (l_aQqq :: TyFun ([] a_aQdr) ([] ([] a_aQdr))) type InitsSym1 (t_aQqp :: [] a_aQdr) = Inits t_aQqp data TailsSym0 (l_aQpZ :: TyFun ([] a_aQdv) ([] ([] a_aQdv))) type TailsSym1 (t_aQpY :: [] a_aQdv) = Tails t_aQpY data IsPrefixOfSym0 (l_aQpJ :: TyFun ([] a_aQdy) (TyFun ([] a_aQdy) Bool -> *)) data IsPrefixOfSym1 (l_aQpM :: [] a_aQdy) (l_aQpL :: TyFun ([] a_aQdy) Bool) type IsPrefixOfSym2 (t_aQpH :: [] a_aQdy) (t_aQpI :: [] a_aQdy) = IsPrefixOf t_aQpH t_aQpI data IsSuffixOfSym0 (l_aQO0 :: TyFun ([] a_aQdD) (TyFun ([] a_aQdD) Bool -> *)) data IsSuffixOfSym1 (l_aQO3 :: [] a_aQdD) (l_aQO2 :: TyFun ([] a_aQdD) Bool) type IsSuffixOfSym2 (t_aQNY :: [] a_aQdD) (t_aQNZ :: [] a_aQdD) = IsSuffixOf t_aQNY t_aQNZ data IsInfixOfSym0 (l_aQqg :: TyFun ([] a_aQdG) (TyFun ([] a_aQdG) Bool -> *)) data IsInfixOfSym1 (l_aQqj :: [] a_aQdG) (l_aQqi :: TyFun ([] a_aQdG) Bool) type IsInfixOfSym2 (t_aQqe :: [] a_aQdG) (t_aQqf :: [] a_aQdG) = IsInfixOf t_aQqe t_aQqf data ElemSym0 (l_aQpw :: TyFun a_aQdJ (TyFun ([] a_aQdJ) Bool -> *)) data ElemSym1 (l_aQpz :: a_aQdJ) (l_aQpy :: TyFun ([] a_aQdJ) Bool) type ElemSym2 (t_aQpu :: a_aQdJ) (t_aQpv :: [] a_aQdJ) = Elem t_aQpu t_aQpv data NotElemSym0 (l_aQpj :: TyFun a_aQdN (TyFun ([] a_aQdN) Bool -> *)) data NotElemSym1 (l_aQpm :: a_aQdN) (l_aQpl :: TyFun ([] a_aQdN) Bool) type NotElemSym2 (t_aQph :: a_aQdN) (t_aQpi :: [] a_aQdN) = NotElem t_aQph t_aQpi data ZipSym0 (l_aQp2 :: TyFun ([] a_aQdR) (TyFun ([] b_aQdS) ([] ((,) a_aQdR b_aQdS)) -> *)) data ZipSym1 (l_aQp5 :: [] a_aQdR) (l_aQp4 :: TyFun ([] b_aQdS) ([] ((,) a_aQdR b_aQdS))) type ZipSym2 (t_aQp0 :: [] a_aQdR) (t_aQp1 :: [] b_aQdS) = Zip t_aQp0 t_aQp1 data Zip3Sym0 (l_aQoq :: TyFun ([] a_aQdX) (TyFun ([] b_aQdY) (TyFun ([] c_aQdZ) ([] ((,,) a_aQdX b_aQdY c_aQdZ)) -> *) -> *)) data Zip3Sym1 (l_aQot :: [] a_aQdX) (l_aQos :: TyFun ([] b_aQdY) (TyFun ([] c_aQdZ) ([] ((,,) a_aQdX b_aQdY c_aQdZ)) -> *)) data Zip3Sym2 (l_aQow :: [] a_aQdX) (l_aQox :: [] b_aQdY) (l_aQov :: TyFun ([] c_aQdZ) ([] ((,,) a_aQdX b_aQdY c_aQdZ))) type Zip3Sym3 (t_aQon :: [] a_aQdX) (t_aQoo :: [] b_aQdY) (t_aQop :: [] c_aQdZ) = Zip3 t_aQon t_aQoo t_aQop data ZipWithSym0 (l_aQnZ :: TyFun (TyFun a_aQe6 (TyFun b_aQe7 c_aQe8 -> *) -> *) (TyFun ([] a_aQe6) (TyFun ([] b_aQe7) ([] c_aQe8) -> *) -> *)) data ZipWithSym1 (l_aQo2 :: TyFun a_aQe6 (TyFun b_aQe7 c_aQe8 -> *) -> *) (l_aQo1 :: TyFun ([] a_aQe6) (TyFun ([] b_aQe7) ([] c_aQe8) -> *)) data ZipWithSym2 (l_aQo5 :: TyFun a_aQe6 (TyFun b_aQe7 c_aQe8 -> *) -> *) (l_aQo6 :: [] a_aQe6) (l_aQo4 :: TyFun ([] b_aQe7) ([] c_aQe8)) type ZipWithSym3 (t_aQnW :: TyFun a_aQe6 (TyFun b_aQe7 c_aQe8 -> *) -> *) (t_aQnX :: [] a_aQe6) (t_aQnY :: [] b_aQe7) = ZipWith t_aQnW t_aQnX t_aQnY data ZipWith3Sym0 (l_aQn8 :: TyFun (TyFun a_aQee (TyFun b_aQef (TyFun c_aQeg d_aQeh -> *) -> *) -> *) (TyFun ([] a_aQee) (TyFun ([] b_aQef) (TyFun ([] c_aQeg) ([] d_aQeh) -> *) -> *) -> *)) data ZipWith3Sym1 (l_aQnb :: TyFun a_aQee (TyFun b_aQef (TyFun c_aQeg d_aQeh -> *) -> *) -> *) (l_aQna :: TyFun ([] a_aQee) (TyFun ([] b_aQef) (TyFun ([] c_aQeg) ([] d_aQeh) -> *) -> *)) data ZipWith3Sym2 (l_aQne :: TyFun a_aQee (TyFun b_aQef (TyFun c_aQeg d_aQeh -> *) -> *) -> *) (l_aQnf :: [] a_aQee) (l_aQnd :: TyFun ([] b_aQef) (TyFun ([] c_aQeg) ([] d_aQeh) -> *)) data ZipWith3Sym3 (l_aQni :: TyFun a_aQee (TyFun b_aQef (TyFun c_aQeg d_aQeh -> *) -> *) -> *) (l_aQnj :: [] a_aQee) (l_aQnk :: [] b_aQef) (l_aQnh :: TyFun ([] c_aQeg) ([] d_aQeh)) data UnzipSym0 (l_aQmz :: TyFun ([] ((,) a_aQep b_aQeq)) ((,) ([] a_aQep) ([] b_aQeq))) type UnzipSym1 (t_aQmy :: [] ((,) a_aQep b_aQeq)) = Unzip t_aQmy data Unzip3Sym0 (l_aQm1 :: TyFun ([] ((,,) a_aQew b_aQex c_aQey)) ((,,) ([] a_aQew) ([] b_aQex) ([] c_aQey))) type Unzip3Sym1 (t_aQm0 :: [] ((,,) a_aQew b_aQex c_aQey)) = Unzip3 t_aQm0 data Unzip4Sym0 (l_aQlr :: TyFun ([] ((,,,) a_aQeG b_aQeH c_aQeI d_aQeJ)) ((,,,) ([] a_aQeG) ([] b_aQeH) ([] c_aQeI) ([] d_aQeJ))) type Unzip4Sym1 (t_aQlq :: [] ((,,,) a_aQeG b_aQeH c_aQeI d_aQeJ)) = Unzip4 t_aQlq data Unzip5Sym0 (l_aQkP :: TyFun ([] ((,,,,) a_aQeT b_aQeU c_aQeV d_aQeW e_aQeX)) ((,,,,) ([] a_aQeT) ([] b_aQeU) ([] c_aQeV) ([] d_aQeW) ([] e_aQeX))) type Unzip5Sym1 (t_aQkO :: [] ((,,,,) a_aQeT b_aQeU c_aQeV d_aQeW e_aQeX)) = Unzip5 t_aQkO data Unzip6Sym0 (l_aQkb :: TyFun ([] ((,,,,,) a_aQf9 b_aQfa c_aQfb d_aQfc e_aQfd f_aQfe)) ((,,,,,) ([] a_aQf9) ([] b_aQfa) ([] c_aQfb) ([] d_aQfc) ([] e_aQfd) ([] f_aQfe))) type Unzip6Sym1 (t_aQka :: [] ((,,,,,) a_aQf9 b_aQfa c_aQfb d_aQfc e_aQfd f_aQfe)) = Unzip6 t_aQka data Unzip7Sym0 (l_aQjv :: TyFun ([] ((,,,,,,) a_aQfs b_aQft c_aQfu d_aQfv e_aQfw f_aQfx g_aQfy)) ((,,,,,,) ([] a_aQfs) ([] b_aQft) ([] c_aQfu) ([] d_aQfv) ([] e_aQfw) ([] f_aQfx) ([] g_aQfy))) type Unzip7Sym1 (t_aQju :: [] ((,,,,,,) a_aQfs b_aQft c_aQfu d_aQfv e_aQfw f_aQfx g_aQfy)) = Unzip7 t_aQju data DeleteSym0 (l_aQjl :: TyFun a_aQfO (TyFun ([] a_aQfO) ([] a_aQfO) -> *)) data DeleteSym1 (l_aQjo :: a_aQfO) (l_aQjn :: TyFun ([] a_aQfO) ([] a_aQfO)) type DeleteSym2 (t_aQjj :: a_aQfO) (t_aQjk :: [] a_aQfO) = Delete t_aQjj t_aQjk data (:\\$) (l_aQFX :: TyFun ([] a_aQfP) (TyFun ([] a_aQfP) ([] a_aQfP) -> *)) data (:\\$$) (l_aQG0 :: [] a_aQfP) (l_aQFZ :: TyFun ([] a_aQfP) ([] a_aQfP)) type (:\\$$$) (t_aQFV :: [] a_aQfP) (t_aQFW :: [] a_aQfP) = (:\\) t_aQFV t_aQFW data DeleteBySym0 (l_aQiz :: TyFun (TyFun a_aQfQ (TyFun a_aQfQ Bool -> *) -> *) (TyFun a_aQfQ (TyFun ([] a_aQfQ) ([] a_aQfQ) -> *) -> *)) data DeleteBySym1 (l_aQiC :: TyFun a_aQfQ (TyFun a_aQfQ Bool -> *) -> *) (l_aQiB :: TyFun a_aQfQ (TyFun ([] a_aQfQ) ([] a_aQfQ) -> *)) data DeleteBySym2 (l_aQiF :: TyFun a_aQfQ (TyFun a_aQfQ Bool -> *) -> *) (l_aQiG :: a_aQfQ) (l_aQiE :: TyFun ([] a_aQfQ) ([] a_aQfQ)) type DeleteBySym3 (t_aQiw :: TyFun a_aQfQ (TyFun a_aQfQ Bool -> *) -> *) (t_aQix :: a_aQfQ) (t_aQiy :: [] a_aQfQ) = DeleteBy t_aQiw t_aQix t_aQiy data DeleteFirstsBySym0 (l_aQG9 :: TyFun (TyFun a_aQfV (TyFun a_aQfV Bool -> *) -> *) (TyFun ([] a_aQfV) (TyFun ([] a_aQfV) ([] a_aQfV) -> *) -> *)) data DeleteFirstsBySym1 (l_aQGc :: TyFun a_aQfV (TyFun a_aQfV Bool -> *) -> *) (l_aQGb :: TyFun ([] a_aQfV) (TyFun ([] a_aQfV) ([] a_aQfV) -> *)) data DeleteFirstsBySym2 (l_aQGf :: TyFun a_aQfV (TyFun a_aQfV Bool -> *) -> *) (l_aQGg :: [] a_aQfV) (l_aQGe :: TyFun ([] a_aQfV) ([] a_aQfV)) type DeleteFirstsBySym3 (t_aQG6 :: TyFun a_aQfV (TyFun a_aQfV Bool -> *) -> *) (t_aQG7 :: [] a_aQfV) (t_aQG8 :: [] a_aQfV) = DeleteFirstsBy t_aQG6 t_aQG7 t_aQG8 data SortBySym0 (l_aQil :: TyFun (TyFun a_aQfX (TyFun a_aQfX Ordering -> *) -> *) (TyFun ([] a_aQfX) ([] a_aQfX) -> *)) data SortBySym1 (l_aQio :: TyFun a_aQfX (TyFun a_aQfX Ordering -> *) -> *) (l_aQin :: TyFun ([] a_aQfX) ([] a_aQfX)) type SortBySym2 (t_aQij :: TyFun a_aQfX (TyFun a_aQfX Ordering -> *) -> *) (t_aQik :: [] a_aQfX) = SortBy t_aQij t_aQik data InsertBySym0 (l_aQhj :: TyFun (TyFun a_aQfZ (TyFun a_aQfZ Ordering -> *) -> *) (TyFun a_aQfZ (TyFun ([] a_aQfZ) ([] a_aQfZ) -> *) -> *)) data InsertBySym1 (l_aQhm :: TyFun a_aQfZ (TyFun a_aQfZ Ordering -> *) -> *) (l_aQhl :: TyFun a_aQfZ (TyFun ([] a_aQfZ) ([] a_aQfZ) -> *)) data InsertBySym2 (l_aQhp :: TyFun a_aQfZ (TyFun a_aQfZ Ordering -> *) -> *) (l_aQhq :: a_aQfZ) (l_aQho :: TyFun ([] a_aQfZ) ([] a_aQfZ)) type InsertBySym3 (t_aQhg :: TyFun a_aQfZ (TyFun a_aQfZ Ordering -> *) -> *) (t_aQhh :: a_aQfZ) (t_aQhi :: [] a_aQfZ) = InsertBy t_aQhg t_aQhh t_aQhi data MaximumBySym0 (l_aQD1 :: TyFun (TyFun a_aQg6 (TyFun a_aQg6 Ordering -> *) -> *) (TyFun ([] a_aQg6) a_aQg6 -> *)) data MaximumBySym1 (l_aQD4 :: TyFun a_aQg6 (TyFun a_aQg6 Ordering -> *) -> *) (l_aQD3 :: TyFun ([] a_aQg6) a_aQg6) type MaximumBySym2 (t_aQCZ :: TyFun a_aQg6 (TyFun a_aQg6 Ordering -> *) -> *) (t_aQD0 :: [] a_aQg6) = MaximumBy t_aQCZ t_aQD0 data MinimumBySym0 (l_aQEs :: TyFun (TyFun a_aQgc (TyFun a_aQgc Ordering -> *) -> *) (TyFun ([] a_aQgc) a_aQgc -> *)) data MinimumBySym1 (l_aQEv :: TyFun a_aQgc (TyFun a_aQgc Ordering -> *) -> *) (l_aQEu :: TyFun ([] a_aQgc) a_aQgc) type MinimumBySym2 (t_aQEq :: TyFun a_aQgc (TyFun a_aQgc Ordering -> *) -> *) (t_aQEr :: [] a_aQgc) = MinimumBy t_aQEq t_aQEr 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_1627592999Last'Sym0 instance SuppressUnusedWarnings Let_1627592999Last'Sym1 instance SuppressUnusedWarnings Let_1627592999Last'Sym2 instance SuppressUnusedWarnings Let_1627592999Last'Sym3 instance SuppressUnusedWarnings Let_1627592961Init'Sym0 instance SuppressUnusedWarnings Let_1627592961Init'Sym1 instance SuppressUnusedWarnings Let_1627592961Init'Sym2 instance SuppressUnusedWarnings Let_1627592961Init'Sym3 instance SuppressUnusedWarnings Let_1627592918RevSym0 instance SuppressUnusedWarnings Let_1627592918RevSym1 instance SuppressUnusedWarnings Let_1627592918RevSym2 instance SuppressUnusedWarnings Let_1627592860FSym0 instance SuppressUnusedWarnings Let_1627592860FSym1 instance SuppressUnusedWarnings Let_1627592860FSym2 instance SuppressUnusedWarnings Let_1627592860FSym3 instance SuppressUnusedWarnings Let_1627592477PermsSym0 instance SuppressUnusedWarnings Let_1627592477PermsSym1 instance SuppressUnusedWarnings Let_1627592477PermsSym2 instance SuppressUnusedWarnings Let_1627592497InterleaveSym0 instance SuppressUnusedWarnings Let_1627592497InterleaveSym1 instance SuppressUnusedWarnings Let_1627592497InterleaveSym2 instance SuppressUnusedWarnings Let_1627592497InterleaveSym3 instance SuppressUnusedWarnings Let_1627592497InterleaveSym4 instance SuppressUnusedWarnings Let_1627592497InterleaveSym5 instance SuppressUnusedWarnings Let_1627592497Interleave'Sym0 instance SuppressUnusedWarnings Let_1627592497Interleave'Sym1 instance SuppressUnusedWarnings Let_1627592497Interleave'Sym2 instance SuppressUnusedWarnings Let_1627592497Interleave'Sym3 instance SuppressUnusedWarnings Let_1627592497Interleave'Sym4 instance SuppressUnusedWarnings Let_1627592497Interleave'Sym5 instance SuppressUnusedWarnings Let_1627592497Interleave'Sym6 instance SuppressUnusedWarnings Let_1627592763X_1627592765Sym0 instance SuppressUnusedWarnings Let_1627592763X_1627592765Sym1 instance SuppressUnusedWarnings Let_1627592763X_1627592765Sym2 instance SuppressUnusedWarnings Let_1627592763X_1627592765Sym3 instance SuppressUnusedWarnings Let_1627592763X_1627592765Sym4 instance SuppressUnusedWarnings Let_1627592763X_1627592765Sym5 instance SuppressUnusedWarnings Let_1627592763ZsSym0 instance SuppressUnusedWarnings Let_1627592763ZsSym1 instance SuppressUnusedWarnings Let_1627592763ZsSym2 instance SuppressUnusedWarnings Let_1627592763ZsSym3 instance SuppressUnusedWarnings Let_1627592763ZsSym4 instance SuppressUnusedWarnings Let_1627592763ZsSym5 instance SuppressUnusedWarnings Let_1627592550X_1627592552Sym0 instance SuppressUnusedWarnings Let_1627592550X_1627592552Sym1 instance SuppressUnusedWarnings Let_1627592550X_1627592552Sym2 instance SuppressUnusedWarnings Let_1627592550X_1627592552Sym3 instance SuppressUnusedWarnings Let_1627592550X_1627592552Sym4 instance SuppressUnusedWarnings Let_1627592550X_1627592552Sym5 instance SuppressUnusedWarnings Let_1627592550X_1627592552Sym6 instance SuppressUnusedWarnings Let_1627592550X_1627592552Sym7 instance SuppressUnusedWarnings Let_1627592550ZsSym0 instance SuppressUnusedWarnings Let_1627592550ZsSym1 instance SuppressUnusedWarnings Let_1627592550ZsSym2 instance SuppressUnusedWarnings Let_1627592550ZsSym3 instance SuppressUnusedWarnings Let_1627592550ZsSym4 instance SuppressUnusedWarnings Let_1627592550ZsSym5 instance SuppressUnusedWarnings Let_1627592550ZsSym6 instance SuppressUnusedWarnings Let_1627592550ZsSym7 instance SuppressUnusedWarnings Let_1627592550UsSym0 instance SuppressUnusedWarnings Let_1627592550UsSym1 instance SuppressUnusedWarnings Let_1627592550UsSym2 instance SuppressUnusedWarnings Let_1627592550UsSym3 instance SuppressUnusedWarnings Let_1627592550UsSym4 instance SuppressUnusedWarnings Let_1627592550UsSym5 instance SuppressUnusedWarnings Let_1627592550UsSym6 instance SuppressUnusedWarnings Let_1627592550UsSym7 instance SuppressUnusedWarnings Let_1627592373MinBySym0 instance SuppressUnusedWarnings Let_1627592373MinBySym1 instance SuppressUnusedWarnings Let_1627592373MinBySym2 instance SuppressUnusedWarnings Let_1627592373MinBySym3 instance SuppressUnusedWarnings Let_1627592373MinBySym4 instance SuppressUnusedWarnings Let_1627592404Scrutinee_1627590904Sym0 instance SuppressUnusedWarnings Let_1627592404Scrutinee_1627590904Sym1 instance SuppressUnusedWarnings Let_1627592404Scrutinee_1627590904Sym2 instance SuppressUnusedWarnings Let_1627592404Scrutinee_1627590904Sym3 instance SuppressUnusedWarnings Let_1627592404Scrutinee_1627590904Sym4 instance SuppressUnusedWarnings Let_1627592359XsSym0 instance SuppressUnusedWarnings Let_1627592359XsSym1 instance SuppressUnusedWarnings Let_1627592359XsSym2 instance SuppressUnusedWarnings Let_1627592284MaxBySym0 instance SuppressUnusedWarnings Let_1627592284MaxBySym1 instance SuppressUnusedWarnings Let_1627592284MaxBySym2 instance SuppressUnusedWarnings Let_1627592284MaxBySym3 instance SuppressUnusedWarnings Let_1627592284MaxBySym4 instance SuppressUnusedWarnings Let_1627592315Scrutinee_1627590898Sym0 instance SuppressUnusedWarnings Let_1627592315Scrutinee_1627590898Sym1 instance SuppressUnusedWarnings Let_1627592315Scrutinee_1627590898Sym2 instance SuppressUnusedWarnings Let_1627592315Scrutinee_1627590898Sym3 instance SuppressUnusedWarnings Let_1627592315Scrutinee_1627590898Sym4 instance SuppressUnusedWarnings Let_1627592270XsSym0 instance SuppressUnusedWarnings Let_1627592270XsSym1 instance SuppressUnusedWarnings Let_1627592270XsSym2 instance SuppressUnusedWarnings Let_1627592211LgoSym0 instance SuppressUnusedWarnings Let_1627592211LgoSym1 instance SuppressUnusedWarnings Let_1627592211LgoSym2 instance SuppressUnusedWarnings Let_1627592211LgoSym3 instance SuppressUnusedWarnings Let_1627592211LgoSym4 instance SuppressUnusedWarnings Let_1627592112LgoSym0 instance SuppressUnusedWarnings Let_1627592112LgoSym1 instance SuppressUnusedWarnings Let_1627592112LgoSym2 instance SuppressUnusedWarnings Let_1627592112LgoSym3 instance SuppressUnusedWarnings Let_1627592112LgoSym4 instance SuppressUnusedWarnings Let_1627592145Z'Sym0 instance SuppressUnusedWarnings Let_1627592145Z'Sym1 instance SuppressUnusedWarnings Let_1627592145Z'Sym2 instance SuppressUnusedWarnings Let_1627592145Z'Sym3 instance SuppressUnusedWarnings Let_1627592145Z'Sym4 instance SuppressUnusedWarnings Let_1627592145Z'Sym5 instance SuppressUnusedWarnings Let_1627592073XsSym0 instance SuppressUnusedWarnings Let_1627592073XsSym1 instance SuppressUnusedWarnings Let_1627592073XsSym2 instance SuppressUnusedWarnings Let_1627592073XsSym3 instance SuppressUnusedWarnings Let_1627591980Scrutinee_1627590854Sym0 instance SuppressUnusedWarnings Let_1627591980Scrutinee_1627590854Sym1 instance SuppressUnusedWarnings Let_1627591980Scrutinee_1627590854Sym2 instance SuppressUnusedWarnings Let_1627591936Scrutinee_1627590856Sym0 instance SuppressUnusedWarnings Let_1627591936Scrutinee_1627590856Sym1 instance SuppressUnusedWarnings Let_1627591936Scrutinee_1627590856Sym2 instance SuppressUnusedWarnings Let_1627591936Scrutinee_1627590856Sym3 instance SuppressUnusedWarnings Let_1627591889Scrutinee_1627590858Sym0 instance SuppressUnusedWarnings Let_1627591889Scrutinee_1627590858Sym1 instance SuppressUnusedWarnings Let_1627591889Scrutinee_1627590858Sym2 instance SuppressUnusedWarnings Let_1627591889Scrutinee_1627590858Sym3 instance SuppressUnusedWarnings Let_1627591869XsSym0 instance SuppressUnusedWarnings Let_1627591869XsSym1 instance SuppressUnusedWarnings Let_1627591869XsSym2 instance SuppressUnusedWarnings Let_1627591869XsSym3 instance SuppressUnusedWarnings Let_1627591707X_1627591715Sym0 instance SuppressUnusedWarnings Let_1627591707X_1627591715Sym1 instance SuppressUnusedWarnings Let_1627591707X_1627591715Sym2 instance SuppressUnusedWarnings Let_1627591707X_1627591715Sym3 instance SuppressUnusedWarnings Let_1627591707X_1627591709Sym0 instance SuppressUnusedWarnings Let_1627591707X_1627591709Sym1 instance SuppressUnusedWarnings Let_1627591707X_1627591709Sym2 instance SuppressUnusedWarnings Let_1627591707X_1627591709Sym3 instance SuppressUnusedWarnings Let_1627591707YsSym0 instance SuppressUnusedWarnings Let_1627591707YsSym1 instance SuppressUnusedWarnings Let_1627591707YsSym2 instance SuppressUnusedWarnings Let_1627591707YsSym3 instance SuppressUnusedWarnings Let_1627591707S''Sym0 instance SuppressUnusedWarnings Let_1627591707S''Sym1 instance SuppressUnusedWarnings Let_1627591707S''Sym2 instance SuppressUnusedWarnings Let_1627591707S''Sym3 instance SuppressUnusedWarnings Let_1627591707YSym0 instance SuppressUnusedWarnings Let_1627591707YSym1 instance SuppressUnusedWarnings Let_1627591707YSym2 instance SuppressUnusedWarnings Let_1627591707YSym3 instance SuppressUnusedWarnings Let_1627591707S'Sym0 instance SuppressUnusedWarnings Let_1627591707S'Sym1 instance SuppressUnusedWarnings Let_1627591707S'Sym2 instance SuppressUnusedWarnings Let_1627591707S'Sym3 instance SuppressUnusedWarnings Let_1627591540X_1627591548Sym0 instance SuppressUnusedWarnings Let_1627591540X_1627591548Sym1 instance SuppressUnusedWarnings Let_1627591540X_1627591548Sym2 instance SuppressUnusedWarnings Let_1627591540X_1627591548Sym3 instance SuppressUnusedWarnings Let_1627591540X_1627591542Sym0 instance SuppressUnusedWarnings Let_1627591540X_1627591542Sym1 instance SuppressUnusedWarnings Let_1627591540X_1627591542Sym2 instance SuppressUnusedWarnings Let_1627591540X_1627591542Sym3 instance SuppressUnusedWarnings Let_1627591540YSym0 instance SuppressUnusedWarnings Let_1627591540YSym1 instance SuppressUnusedWarnings Let_1627591540YSym2 instance SuppressUnusedWarnings Let_1627591540YSym3 instance SuppressUnusedWarnings Let_1627591540S''Sym0 instance SuppressUnusedWarnings Let_1627591540S''Sym1 instance SuppressUnusedWarnings Let_1627591540S''Sym2 instance SuppressUnusedWarnings Let_1627591540S''Sym3 instance SuppressUnusedWarnings Let_1627591540YsSym0 instance SuppressUnusedWarnings Let_1627591540YsSym1 instance SuppressUnusedWarnings Let_1627591540YsSym2 instance SuppressUnusedWarnings Let_1627591540YsSym3 instance SuppressUnusedWarnings Let_1627591540S'Sym0 instance SuppressUnusedWarnings Let_1627591540S'Sym1 instance SuppressUnusedWarnings Let_1627591540S'Sym2 instance SuppressUnusedWarnings Let_1627591540S'Sym3 instance SuppressUnusedWarnings Let_1627591504Scrutinee_1627590864Sym0 instance SuppressUnusedWarnings Let_1627591504Scrutinee_1627590864Sym1 instance SuppressUnusedWarnings Let_1627591482Scrutinee_1627590866Sym0 instance SuppressUnusedWarnings Let_1627591455Scrutinee_1627590868Sym0 instance SuppressUnusedWarnings Lambda_1627591243Sym0 instance SuppressUnusedWarnings Lambda_1627591243Sym1 instance SuppressUnusedWarnings Lambda_1627591243Sym2 instance SuppressUnusedWarnings Lambda_1627591209Sym0 instance SuppressUnusedWarnings Lambda_1627591209Sym1 instance SuppressUnusedWarnings Lambda_1627591209Sym2 instance SuppressUnusedWarnings Lambda_1627591173Sym0 instance SuppressUnusedWarnings Lambda_1627591173Sym1 instance SuppressUnusedWarnings Lambda_1627591173Sym2 instance SuppressUnusedWarnings Lambda_1627591135Sym0 instance SuppressUnusedWarnings Lambda_1627591135Sym1 instance SuppressUnusedWarnings Lambda_1627591135Sym2 instance SuppressUnusedWarnings Lambda_1627591095Sym0 instance SuppressUnusedWarnings Lambda_1627591095Sym1 instance SuppressUnusedWarnings Lambda_1627591095Sym2 instance SuppressUnusedWarnings Lambda_1627591053Sym0 instance SuppressUnusedWarnings Lambda_1627591053Sym1 instance SuppressUnusedWarnings Lambda_1627591053Sym2 instance SuppressUnusedWarnings Let_1627591009Scrutinee_1627590894Sym0 instance SuppressUnusedWarnings Let_1627591009Scrutinee_1627590894Sym1 instance SuppressUnusedWarnings Let_1627591009Scrutinee_1627590894Sym2 instance SuppressUnusedWarnings Let_1627591009Scrutinee_1627590894Sym3 instance SuppressUnusedWarnings Let_1627590951Scrutinee_1627590896Sym0 instance SuppressUnusedWarnings Let_1627590951Scrutinee_1627590896Sym1 instance SuppressUnusedWarnings Let_1627590951Scrutinee_1627590896Sym2 instance SuppressUnusedWarnings Let_1627590951Scrutinee_1627590896Sym3 instance SuppressUnusedWarnings Let_1627590931YsSym0 instance SuppressUnusedWarnings Let_1627590931YsSym1 instance SuppressUnusedWarnings Let_1627590931YsSym2 instance SuppressUnusedWarnings Let_1627590931YsSym3 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_as5x :: Maybe a_a4Bf) = Sing z_as5x maybe_ :: b_a1vwV -> (a_a1vwW -> b_a1vwV) -> Maybe a_a1vwW -> b_a1vwV sMaybe_ :: Sing t_a1vxk -> Sing t_a1vxl -> Sing t_a1vxm -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a1vxk) t_a1vxl) t_a1vxm) sIsJust :: Sing t_a1vUN -> Sing (Apply IsJustSym0 t_a1vUN) sIsNothing :: Sing t_a1vUM -> Sing (Apply IsNothingSym0 t_a1vUM) sFromJust :: Sing t_a1vUL -> Sing (Apply FromJustSym0 t_a1vUL) sFromMaybe :: Sing t_a1vUJ -> Sing t_a1vUK -> Sing (Apply (Apply FromMaybeSym0 t_a1vUJ) t_a1vUK) sListToMaybe :: Sing t_a1vUH -> Sing (Apply ListToMaybeSym0 t_a1vUH) sMaybeToList :: Sing t_a1vUI -> Sing (Apply MaybeToListSym0 t_a1vUI) sCatMaybes :: Sing t_a1vUG -> Sing (Apply CatMaybesSym0 t_a1vUG) sMapMaybe :: Sing t_a1vUE -> Sing t_a1vUF -> Sing (Apply (Apply MapMaybeSym0 t_a1vUE) t_a1vUF) type NothingSym0 = Nothing data JustSym0 (l_as5v :: TyFun a_a4Bf (Maybe a_a4Bf)) type JustSym1 (t_as5u :: a_a4Bf) = Just t_as5u data Maybe_Sym0 (l_a1vx3 :: TyFun b_a1vwV (TyFun (TyFun a_a1vwW b_a1vwV -> *) (TyFun (Maybe a_a1vwW) b_a1vwV -> *) -> *)) data Maybe_Sym1 (l_a1vx6 :: b_a1vwV) (l_a1vx5 :: TyFun (TyFun a_a1vwW b_a1vwV -> *) (TyFun (Maybe a_a1vwW) b_a1vwV -> *)) data Maybe_Sym2 (l_a1vx9 :: b_a1vwV) (l_a1vxa :: TyFun a_a1vwW b_a1vwV -> *) (l_a1vx8 :: TyFun (Maybe a_a1vwW) b_a1vwV) type Maybe_Sym3 (t_a1vx0 :: b_a1vwV) (t_a1vx1 :: TyFun a_a1vwW b_a1vwV -> *) (t_a1vx2 :: Maybe a_a1vwW) = Maybe_ t_a1vx0 t_a1vx1 t_a1vx2 data IsJustSym0 (l_a1vUA :: TyFun (Maybe a_a1vSx) Bool) type IsJustSym1 (t_a1vUz :: Maybe a_a1vSx) = IsJust t_a1vUz data IsNothingSym0 (l_a1vUv :: TyFun (Maybe a_a1vSy) Bool) type IsNothingSym1 (t_a1vUu :: Maybe a_a1vSy) = IsNothing t_a1vUu data FromJustSym0 (l_a1vUq :: TyFun (Maybe a_a1vSz) a_a1vSz) type FromJustSym1 (t_a1vUp :: Maybe a_a1vSz) = FromJust t_a1vUp data FromMaybeSym0 (l_a1vU2 :: TyFun a_a1vSB (TyFun (Maybe a_a1vSB) a_a1vSB -> *)) data FromMaybeSym1 (l_a1vU5 :: a_a1vSB) (l_a1vU4 :: TyFun (Maybe a_a1vSB) a_a1vSB) type FromMaybeSym2 (t_a1vU0 :: a_a1vSB) (t_a1vU1 :: Maybe a_a1vSB) = FromMaybe t_a1vU0 t_a1vU1 data ListToMaybeSym0 (l_a1vTQ :: TyFun ([] a_a1vSH) (Maybe a_a1vSH)) type ListToMaybeSym1 (t_a1vTP :: [] a_a1vSH) = ListToMaybe t_a1vTP data MaybeToListSym0 (l_a1vTW :: TyFun (Maybe a_a1vSF) ([] a_a1vSF)) type MaybeToListSym1 (t_a1vTV :: Maybe a_a1vSF) = MaybeToList t_a1vTV data CatMaybesSym0 (l_a1vTJ :: TyFun ([] (Maybe a_a1vSJ)) ([] a_a1vSJ)) type CatMaybesSym1 (t_a1vTI :: [] (Maybe a_a1vSJ)) = CatMaybes t_a1vTI data MapMaybeSym0 (l_a1vT0 :: TyFun (TyFun a_a1vSN (Maybe b_a1vSO) -> *) (TyFun ([] a_a1vSN) ([] b_a1vSO) -> *)) data MapMaybeSym1 (l_a1vT3 :: TyFun a_a1vSN (Maybe b_a1vSO) -> *) (l_a1vT2 :: TyFun ([] a_a1vSN) ([] b_a1vSO)) type MapMaybeSym2 (t_a1vSY :: TyFun a_a1vSN (Maybe b_a1vSO) -> *) (t_a1vSZ :: [] a_a1vSN) = MapMaybe t_a1vSY t_a1vSZ 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_1627750927Scrutinee_1627750848Sym0 instance SuppressUnusedWarnings Let_1627750927Scrutinee_1627750848Sym1 instance SuppressUnusedWarnings Let_1627750879Scrutinee_1627750850Sym0 instance SuppressUnusedWarnings Let_1627750879Scrutinee_1627750850Sym1 instance SuppressUnusedWarnings Let_1627750879Scrutinee_1627750850Sym2 instance SuppressUnusedWarnings Let_1627750865RsSym0 instance SuppressUnusedWarnings Let_1627750865RsSym1 instance SuppressUnusedWarnings Let_1627750865RsSym2 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_as6a :: Bool) = Sing z_as6a type SList (z_as5K :: [] a_12) = Sing z_as5K type SMaybe (z_as5x :: Maybe a_a4Bf) = Sing z_as5x type SEither (z_as61 :: Either a_a7pS b_a7pT) = Sing z_as61 type SOrdering (z_as6b :: Ordering) = Sing z_as6b type STuple0 (z_as6c :: ()) = Sing z_as6c type STuple2 (z_as6m :: (,) a_12 b_13) = Sing z_as6m type STuple3 (z_as6K :: (,,) a_12 b_13 c_14) = Sing z_as6K type STuple4 (z_as7j :: (,,,) a_12 b_13 c_14 d_15) = Sing z_as7j type STuple5 (z_as84 :: (,,,,) a_12 b_13 c_14 d_15 e_16) = Sing z_as84 type STuple6 (z_as92 :: (,,,,,) a_12 b_13 c_14 d_15 e_16 f_17) = Sing z_as92 type STuple7 (z_asae :: (,,,,,,) a_12 b_13 c_14 d_15 e_16 f_17 g_18) = Sing z_asae -- | 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_ayZA -> Sing (Apply NotSym0 t_ayZA) (%:&&) :: Sing t_ayZD -> Sing t_ayZE -> Sing (Apply (Apply (:&&$) t_ayZD) t_ayZE) (%:||) :: Sing t_ayZB -> Sing t_ayZC -> Sing (Apply (Apply (:||$) t_ayZB) t_ayZC) 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_aHaN -> Sing (Apply IdSym0 t_aHaN) sConst :: Sing t_aHaJ -> Sing t_aHaK -> Sing (Apply (Apply ConstSym0 t_aHaJ) t_aHaK) (%:.) :: Sing t_aHaG -> Sing t_aHaH -> Sing t_aHaI -> Sing (Apply (Apply (Apply (:.$) t_aHaG) t_aHaH) t_aHaI) (%$) :: Sing f -> Sing x -> Sing ((($$) @@ f) @@ x) (%$!) :: Sing f -> Sing x -> Sing ((($!$) @@ f) @@ x) sFlip :: Sing t_aHaD -> Sing t_aHaE -> Sing t_aHaF -> Sing (Apply (Apply (Apply FlipSym0 t_aHaD) t_aHaE) t_aHaF) sAsTypeOf :: Sing t_aHaL -> Sing t_aHaM -> Sing (Apply (Apply AsTypeOfSym0 t_aHaL) t_aHaM) sSeq :: Sing t_aHaB -> Sing t_aHaC -> Sing (Apply (Apply SeqSym0 t_aHaB) t_aHaC) sMap :: Sing t_aHaQ -> Sing t_aHaR -> Sing (Apply (Apply MapSym0 t_aHaQ) t_aHaR) (%:++) :: Sing t_aHaO -> Sing t_aHaP -> Sing (Apply (Apply (:++$) t_aHaO) t_aHaP) sHead :: Sing t_aQR5 -> Sing (Apply HeadSym0 t_aQR5) sLast :: Sing t_aQR4 -> Sing (Apply LastSym0 t_aQR4) sTail :: Sing t_aQR3 -> Sing (Apply TailSym0 t_aQR3) sInit :: Sing t_aQR2 -> Sing (Apply InitSym0 t_aQR2) sNull :: Sing t_aQR1 -> Sing (Apply NullSym0 t_aQR1) sReverse :: Sing t_aQQY -> Sing (Apply ReverseSym0 t_aQQY) sFoldl :: Sing t_aQQB -> Sing t_aQQC -> Sing t_aQQD -> Sing (Apply (Apply (Apply FoldlSym0 t_aQQB) t_aQQC) t_aQQD) sFoldl1 :: Sing t_aQQE -> Sing t_aQQF -> Sing (Apply (Apply Foldl1Sym0 t_aQQE) t_aQQF) sFoldr :: Sing t_aHaS -> Sing t_aHaT -> Sing t_aHaU -> Sing (Apply (Apply (Apply FoldrSym0 t_aHaS) t_aHaT) t_aHaU) sFoldr1 :: Sing t_aQQu -> Sing t_aQQv -> Sing (Apply (Apply Foldr1Sym0 t_aQQu) t_aQQv) sAnd :: Sing t_aQQq -> Sing (Apply AndSym0 t_aQQq) sOr :: Sing t_aQQp -> Sing (Apply OrSym0 t_aQQp) sAny_ :: Sing t_aOag -> Sing t_aOah -> Sing (Apply (Apply Any_Sym0 t_aOag) t_aOah) sAll :: Sing t_aQQn -> Sing t_aQQo -> Sing (Apply (Apply AllSym0 t_aQQn) t_aQQo) sConcat :: Sing t_aQQt -> Sing (Apply ConcatSym0 t_aQQt) sConcatMap :: Sing t_aQQr -> Sing t_aQQs -> Sing (Apply (Apply ConcatMapSym0 t_aQQr) t_aQQs) sScanl :: Sing t_aQQi -> Sing t_aQQj -> Sing t_aQQk -> Sing (Apply (Apply (Apply ScanlSym0 t_aQQi) t_aQQj) t_aQQk) sScanl1 :: Sing t_aQQl -> Sing t_aQQm -> Sing (Apply (Apply Scanl1Sym0 t_aQQl) t_aQQm) sScanr :: Sing t_aQQf -> Sing t_aQQg -> Sing t_aQQh -> Sing (Apply (Apply (Apply ScanrSym0 t_aQQf) t_aQQg) t_aQQh) sScanr1 :: Sing t_aQQd -> Sing t_aQQe -> Sing (Apply (Apply Scanr1Sym0 t_aQQd) t_aQQe) sElem :: SEq (KProxy :: KProxy a_aQdJ) => Sing t_aQPX -> Sing t_aQPY -> Sing (Apply (Apply ElemSym0 t_aQPX) t_aQPY) sNotElem :: SEq (KProxy :: KProxy a_aQdN) => Sing t_aQPV -> Sing t_aQPW -> Sing (Apply (Apply NotElemSym0 t_aQPV) t_aQPW) sZip :: Sing t_aQPT -> Sing t_aQPU -> Sing (Apply (Apply ZipSym0 t_aQPT) t_aQPU) sZip3 :: Sing t_aQPQ -> Sing t_aQPR -> Sing t_aQPS -> Sing (Apply (Apply (Apply Zip3Sym0 t_aQPQ) t_aQPR) t_aQPS) sZipWith :: Sing t_aQPN -> Sing t_aQPO -> Sing t_aQPP -> Sing (Apply (Apply (Apply ZipWithSym0 t_aQPN) t_aQPO) t_aQPP) sZipWith3 :: Sing t_aQPJ -> Sing t_aQPK -> Sing t_aQPL -> Sing t_aQPM -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_aQPJ) t_aQPK) t_aQPL) t_aQPM) sUnzip :: Sing t_aQPI -> Sing (Apply UnzipSym0 t_aQPI) sUnzip3 :: Sing t_aQPH -> Sing (Apply Unzip3Sym0 t_aQPH) sMaybe_ :: Sing t_a1vxk -> Sing t_a1vxl -> Sing t_a1vxm -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a1vxk) t_a1vxl) t_a1vxm) sEither_ :: Sing t_aJZu -> Sing t_aJZv -> Sing t_aJZw -> Sing (Apply (Apply (Apply Either_Sym0 t_aJZu) t_aJZv) t_aJZw) sFst :: Sing t_aMIX -> Sing (Apply FstSym0 t_aMIX) sSnd :: Sing t_aMIW -> Sing (Apply SndSym0 t_aMIW) sCurry :: Sing t_aMIT -> Sing t_aMIU -> Sing t_aMIV -> Sing (Apply (Apply (Apply CurrySym0 t_aMIT) t_aMIU) t_aMIV) sUncurry :: Sing t_aMIY -> Sing t_aMIZ -> Sing (Apply (Apply UncurrySym0 t_aMIY) t_aMIZ) -- | (Kind) This is the kind of type-level symbols. data Symbol :: * either_ :: (a_aJZ2 -> c_aJZ3) -> (b_aJZ4 -> c_aJZ3) -> Either a_aJZ2 b_aJZ4 -> c_aJZ3 maybe_ :: b_a1vwV -> (a_a1vwW -> b_a1vwV) -> Maybe a_a1vwW -> b_a1vwV bool_ :: a_ayNe -> a_ayNe -> Bool -> a_ayNe any_ :: (a_aO9Z -> Bool) -> [a_aO9Z] -> Bool type FalseSym0 = False type TrueSym0 = True data NotSym0 (l_ayZb :: TyFun Bool Bool) type NotSym1 (t_ayZa :: Bool) = Not t_ayZa data (:&&$) (l_ayZr :: TyFun Bool (TyFun Bool Bool -> *)) data (:&&$$) (l_ayZu :: Bool) (l_ayZt :: TyFun Bool Bool) type (:&&$$$) (t_ayZp :: Bool) (t_ayZq :: Bool) = (:&&) t_ayZp t_ayZq data (:||$) (l_ayZg :: TyFun Bool (TyFun Bool Bool -> *)) data (:||$$) (l_ayZj :: Bool) (l_ayZi :: TyFun Bool Bool) type (:||$$$) (t_ayZe :: Bool) (t_ayZf :: Bool) = (:||) t_ayZe t_ayZf type OtherwiseSym0 = Otherwise type NothingSym0 = Nothing data JustSym0 (l_as5v :: TyFun a_a4Bf (Maybe a_a4Bf)) type JustSym1 (t_as5u :: a_a4Bf) = Just t_as5u data Maybe_Sym0 (l_a1vx3 :: TyFun b_a1vwV (TyFun (TyFun a_a1vwW b_a1vwV -> *) (TyFun (Maybe a_a1vwW) b_a1vwV -> *) -> *)) data Maybe_Sym1 (l_a1vx6 :: b_a1vwV) (l_a1vx5 :: TyFun (TyFun a_a1vwW b_a1vwV -> *) (TyFun (Maybe a_a1vwW) b_a1vwV -> *)) data Maybe_Sym2 (l_a1vx9 :: b_a1vwV) (l_a1vxa :: TyFun a_a1vwW b_a1vwV -> *) (l_a1vx8 :: TyFun (Maybe a_a1vwW) b_a1vwV) type Maybe_Sym3 (t_a1vx0 :: b_a1vwV) (t_a1vx1 :: TyFun a_a1vwW b_a1vwV -> *) (t_a1vx2 :: Maybe a_a1vwW) = Maybe_ t_a1vx0 t_a1vx1 t_a1vx2 data LeftSym0 (l_as5W :: TyFun a_a7pS (Either a_a7pS b_a7pT)) type LeftSym1 (t_as5V :: a_a7pS) = Left t_as5V data RightSym0 (l_as5Z :: TyFun b_a7pT (Either a_a7pS b_a7pT)) type RightSym1 (t_as5Y :: b_a7pT) = Right t_as5Y data Either_Sym0 (l_aJZc :: TyFun (TyFun a_aJZ2 c_aJZ3 -> *) (TyFun (TyFun b_aJZ4 c_aJZ3 -> *) (TyFun (Either a_aJZ2 b_aJZ4) c_aJZ3 -> *) -> *)) data Either_Sym1 (l_aJZf :: TyFun a_aJZ2 c_aJZ3 -> *) (l_aJZe :: TyFun (TyFun b_aJZ4 c_aJZ3 -> *) (TyFun (Either a_aJZ2 b_aJZ4) c_aJZ3 -> *)) data Either_Sym2 (l_aJZi :: TyFun a_aJZ2 c_aJZ3 -> *) (l_aJZj :: TyFun b_aJZ4 c_aJZ3 -> *) (l_aJZh :: TyFun (Either a_aJZ2 b_aJZ4) c_aJZ3) type Either_Sym3 (t_aJZ9 :: TyFun a_aJZ2 c_aJZ3 -> *) (t_aJZa :: TyFun b_aJZ4 c_aJZ3 -> *) (t_aJZb :: Either a_aJZ2 b_aJZ4) = Either_ t_aJZ9 t_aJZa t_aJZb type Tuple0Sym0 = () data Tuple2Sym0 (l_as6h :: TyFun a_12 (TyFun b_13 ((,) a_12 b_13) -> *)) data Tuple2Sym1 (l_as6k :: a_12) (l_as6j :: TyFun b_13 ((,) a_12 b_13)) type Tuple2Sym2 (t_as6f :: a_12) (t_as6g :: b_13) = (,) t_as6f t_as6g data Tuple3Sym0 (l_as6B :: TyFun a_12 (TyFun b_13 (TyFun c_14 ((,,) a_12 b_13 c_14) -> *) -> *)) data Tuple3Sym1 (l_as6E :: a_12) (l_as6D :: TyFun b_13 (TyFun c_14 ((,,) a_12 b_13 c_14) -> *)) data Tuple3Sym2 (l_as6H :: a_12) (l_as6I :: b_13) (l_as6G :: TyFun c_14 ((,,) a_12 b_13 c_14)) type Tuple3Sym3 (t_as6y :: a_12) (t_as6z :: b_13) (t_as6A :: c_14) = (,,) t_as6y t_as6z t_as6A data Tuple4Sym0 (l_as75 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 ((,,,) a_12 b_13 c_14 d_15) -> *) -> *) -> *)) data Tuple4Sym1 (l_as78 :: a_12) (l_as77 :: TyFun b_13 (TyFun c_14 (TyFun d_15 ((,,,) a_12 b_13 c_14 d_15) -> *) -> *)) data Tuple4Sym2 (l_as7b :: a_12) (l_as7c :: b_13) (l_as7a :: TyFun c_14 (TyFun d_15 ((,,,) a_12 b_13 c_14 d_15) -> *)) data Tuple4Sym3 (l_as7f :: a_12) (l_as7g :: b_13) (l_as7h :: c_14) (l_as7e :: TyFun d_15 ((,,,) a_12 b_13 c_14 d_15)) type Tuple4Sym4 (t_as71 :: a_12) (t_as72 :: b_13) (t_as73 :: c_14) (t_as74 :: d_15) = (,,,) t_as71 t_as72 t_as73 t_as74 data Tuple5Sym0 (l_as7K :: 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_as7N :: a_12) (l_as7M :: 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_as7Q :: a_12) (l_as7R :: b_13) (l_as7P :: TyFun c_14 (TyFun d_15 (TyFun e_16 ((,,,,) a_12 b_13 c_14 d_15 e_16) -> *) -> *)) data Tuple5Sym3 (l_as7U :: a_12) (l_as7V :: b_13) (l_as7W :: c_14) (l_as7T :: TyFun d_15 (TyFun e_16 ((,,,,) a_12 b_13 c_14 d_15 e_16) -> *)) data Tuple5Sym4 (l_as7Z :: a_12) (l_as80 :: b_13) (l_as81 :: c_14) (l_as82 :: d_15) (l_as7Y :: TyFun e_16 ((,,,,) a_12 b_13 c_14 d_15 e_16)) type Tuple5Sym5 (t_as7F :: a_12) (t_as7G :: b_13) (t_as7H :: c_14) (t_as7I :: d_15) (t_as7J :: e_16) = (,,,,) t_as7F t_as7G t_as7H t_as7I t_as7J data Tuple6Sym0 (l_as8B :: 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_as8E :: a_12) (l_as8D :: 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_as8H :: a_12) (l_as8I :: b_13) (l_as8G :: 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_as8L :: a_12) (l_as8M :: b_13) (l_as8N :: c_14) (l_as8K :: TyFun d_15 (TyFun e_16 (TyFun f_17 ((,,,,,) a_12 b_13 c_14 d_15 e_16 f_17) -> *) -> *)) data Tuple6Sym4 (l_as8Q :: a_12) (l_as8R :: b_13) (l_as8S :: c_14) (l_as8T :: d_15) (l_as8P :: TyFun e_16 (TyFun f_17 ((,,,,,) a_12 b_13 c_14 d_15 e_16 f_17) -> *)) data Tuple6Sym5 (l_as8W :: a_12) (l_as8X :: b_13) (l_as8Y :: c_14) (l_as8Z :: d_15) (l_as90 :: e_16) (l_as8V :: TyFun f_17 ((,,,,,) a_12 b_13 c_14 d_15 e_16 f_17)) type Tuple6Sym6 (t_as8v :: a_12) (t_as8w :: b_13) (t_as8x :: c_14) (t_as8y :: d_15) (t_as8z :: e_16) (t_as8A :: f_17) = (,,,,,) t_as8v t_as8w t_as8x t_as8y t_as8z t_as8A data Tuple7Sym0 (l_as9F :: 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_as9I :: a_12) (l_as9H :: 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_as9L :: a_12) (l_as9M :: b_13) (l_as9K :: 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_as9P :: a_12) (l_as9Q :: b_13) (l_as9R :: c_14) (l_as9O :: 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_as9U :: a_12) (l_as9V :: b_13) (l_as9W :: c_14) (l_as9X :: d_15) (l_as9T :: 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_asa0 :: a_12) (l_asa1 :: b_13) (l_asa2 :: c_14) (l_asa3 :: d_15) (l_asa4 :: e_16) (l_as9Z :: TyFun f_17 (TyFun g_18 ((,,,,,,) a_12 b_13 c_14 d_15 e_16 f_17 g_18) -> *)) data Tuple7Sym6 (l_asa7 :: a_12) (l_asa8 :: b_13) (l_asa9 :: c_14) (l_asaa :: d_15) (l_asab :: e_16) (l_asac :: f_17) (l_asa6 :: TyFun g_18 ((,,,,,,) a_12 b_13 c_14 d_15 e_16 f_17 g_18)) type Tuple7Sym7 (t_as9y :: a_12) (t_as9z :: b_13) (t_as9A :: c_14) (t_as9B :: d_15) (t_as9C :: e_16) (t_as9D :: f_17) (t_as9E :: g_18) = (,,,,,,) t_as9y t_as9z t_as9A t_as9B t_as9C t_as9D t_as9E data FstSym0 (l_aMIC :: TyFun ((,) a_aMHM b_aMHN) a_aMHM) type FstSym1 (t_aMIB :: (,) a_aMHM b_aMHN) = Fst t_aMIB data SndSym0 (l_aMIw :: TyFun ((,) a_aMHP b_aMHQ) b_aMHQ) type SndSym1 (t_aMIv :: (,) a_aMHP b_aMHQ) = Snd t_aMIv data CurrySym0 (l_aMIg :: TyFun (TyFun ((,) a_aMHS b_aMHT) c_aMHU -> *) (TyFun a_aMHS (TyFun b_aMHT c_aMHU -> *) -> *)) data CurrySym1 (l_aMIj :: TyFun ((,) a_aMHS b_aMHT) c_aMHU -> *) (l_aMIi :: TyFun a_aMHS (TyFun b_aMHT c_aMHU -> *)) data CurrySym2 (l_aMIm :: TyFun ((,) a_aMHS b_aMHT) c_aMHU -> *) (l_aMIn :: a_aMHS) (l_aMIl :: TyFun b_aMHT c_aMHU) type CurrySym3 (t_aMId :: TyFun ((,) a_aMHS b_aMHT) c_aMHU -> *) (t_aMIe :: a_aMHS) (t_aMIf :: b_aMHT) = Curry t_aMId t_aMIe t_aMIf data UncurrySym0 (l_aMIJ :: TyFun (TyFun a_aMHY (TyFun b_aMHZ c_aMI0 -> *) -> *) (TyFun ((,) a_aMHY b_aMHZ) c_aMI0 -> *)) data UncurrySym1 (l_aMIM :: TyFun a_aMHY (TyFun b_aMHZ c_aMI0 -> *) -> *) (l_aMIL :: TyFun ((,) a_aMHY b_aMHZ) c_aMI0) type UncurrySym2 (t_aMIH :: TyFun a_aMHY (TyFun b_aMHZ c_aMI0 -> *) -> *) (t_aMII :: (,) a_aMHY b_aMHZ) = Uncurry t_aMIH t_aMII data IdSym0 (l_aH9q :: TyFun a_aH7u a_aH7u) type IdSym1 (t_aH9p :: a_aH7u) = Id t_aH9p data ConstSym0 (l_aH91 :: TyFun a_aH7w (TyFun b_aH7x a_aH7w -> *)) data ConstSym1 (l_aH94 :: a_aH7w) (l_aH93 :: TyFun b_aH7x a_aH7w) type ConstSym2 (t_aH8Z :: a_aH7w) (t_aH90 :: b_aH7x) = Const t_aH8Z t_aH90 data (:.$) (l_aH8l :: TyFun (TyFun b_aH7z c_aH7A -> *) (TyFun (TyFun a_aH7B b_aH7z -> *) (TyFun a_aH7B c_aH7A -> *) -> *)) data (:.$$) (l_aH8o :: TyFun b_aH7z c_aH7A -> *) (l_aH8n :: TyFun (TyFun a_aH7B b_aH7z -> *) (TyFun a_aH7B c_aH7A -> *)) data (:.$$$) (l_aH8r :: TyFun b_aH7z c_aH7A -> *) (l_aH8s :: TyFun a_aH7B b_aH7z -> *) (l_aH8q :: TyFun a_aH7B c_aH7A) 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_aH83 :: TyFun (TyFun a_aH7F (TyFun b_aH7G c_aH7H -> *) -> *) (TyFun b_aH7G (TyFun a_aH7F c_aH7H -> *) -> *)) data FlipSym1 (l_aH86 :: TyFun a_aH7F (TyFun b_aH7G c_aH7H -> *) -> *) (l_aH85 :: TyFun b_aH7G (TyFun a_aH7F c_aH7H -> *)) data FlipSym2 (l_aH89 :: TyFun a_aH7F (TyFun b_aH7G c_aH7H -> *) -> *) (l_aH8a :: b_aH7G) (l_aH88 :: TyFun a_aH7F c_aH7H) data AsTypeOfSym0 (l_aH9g :: TyFun a_aH7L (TyFun a_aH7L a_aH7L -> *)) data AsTypeOfSym1 (l_aH9j :: a_aH7L) (l_aH9i :: TyFun a_aH7L a_aH7L) type AsTypeOfSym2 (t_aH9e :: a_aH7L) (t_aH9f :: a_aH7L) = AsTypeOf t_aH9e t_aH9f data SeqSym0 (l_aH7R :: TyFun a_aH7M (TyFun b_aH7N b_aH7N -> *)) data SeqSym1 (l_aH7U :: a_aH7M) (l_aH7T :: TyFun b_aH7N b_aH7N) type SeqSym2 (t_aH7P :: a_aH7M) (t_aH7Q :: b_aH7N) = Seq t_aH7P t_aH7Q data (:$) (l_as5F :: TyFun a_12 (TyFun ([] a_12) ([] a_12) -> *)) data (:$$) (l_as5I :: a_12) (l_as5H :: TyFun ([] a_12) ([] a_12)) type (:$$$) (t_as5D :: a_12) (t_as5E :: [] a_12) = (:) t_as5D t_as5E type NilSym0 = [] data MapSym0 (l_aH9J :: TyFun (TyFun a_aH7k b_aH7l -> *) (TyFun ([] a_aH7k) ([] b_aH7l) -> *)) data MapSym1 (l_aH9M :: TyFun a_aH7k b_aH7l -> *) (l_aH9L :: TyFun ([] a_aH7k) ([] b_aH7l)) type MapSym2 (t_aH9H :: TyFun a_aH7k b_aH7l -> *) (t_aH9I :: [] a_aH7k) = Map t_aH9H t_aH9I data ReverseSym0 (l_aQNA :: TyFun ([] a_aQb3) ([] a_aQb3)) type ReverseSym1 (t_aQNz :: [] a_aQb3) = Reverse t_aQNz data (:++$$) (l_aH9z :: [] a_aH7p) (l_aH9y :: TyFun ([] a_aH7p) ([] a_aH7p)) data (:++$) (l_aH9w :: TyFun ([] a_aH7p) (TyFun ([] a_aH7p) ([] a_aH7p) -> *)) data HeadSym0 (l_aQPo :: TyFun ([] a_aQaI) a_aQaI) type HeadSym1 (t_aQPn :: [] a_aQaI) = Head t_aQPn data LastSym0 (l_aQOS :: TyFun ([] a_aQaK) a_aQaK) type LastSym1 (t_aQOR :: [] a_aQaK) = Last t_aQOR data TailSym0 (l_aQOM :: TyFun ([] a_aQaS) ([] a_aQaS)) type TailSym1 (t_aQOL :: [] a_aQaS) = Tail t_aQOL data InitSym0 (l_aQOg :: TyFun ([] a_aQaU) ([] a_aQaU)) type InitSym1 (t_aQOf :: [] a_aQaU) = Init t_aQOf data NullSym0 (l_aQOa :: TyFun ([] a_aQb2) Bool) type NullSym1 (t_aQO9 :: [] a_aQb2) = Null t_aQO9 data FoldlSym0 (l_aQC0 :: TyFun (TyFun b_aQbM (TyFun a_aQbN b_aQbM -> *) -> *) (TyFun b_aQbM (TyFun ([] a_aQbN) b_aQbM -> *) -> *)) data FoldlSym1 (l_aQC3 :: TyFun b_aQbM (TyFun a_aQbN b_aQbM -> *) -> *) (l_aQC2 :: TyFun b_aQbM (TyFun ([] a_aQbN) b_aQbM -> *)) data FoldlSym2 (l_aQC6 :: TyFun b_aQbM (TyFun a_aQbN b_aQbM -> *) -> *) (l_aQC7 :: b_aQbM) (l_aQC5 :: TyFun ([] a_aQbN) b_aQbM) type FoldlSym3 (t_aQBX :: TyFun b_aQbM (TyFun a_aQbN b_aQbM -> *) -> *) (t_aQBY :: b_aQbM) (t_aQBZ :: [] a_aQbN) = Foldl t_aQBX t_aQBY t_aQBZ data Foldl1Sym0 (l_aQCO :: TyFun (TyFun a_aQc7 (TyFun a_aQc7 a_aQc7 -> *) -> *) (TyFun ([] a_aQc7) a_aQc7 -> *)) data Foldl1Sym1 (l_aQCR :: TyFun a_aQc7 (TyFun a_aQc7 a_aQc7 -> *) -> *) (l_aQCQ :: TyFun ([] a_aQc7) a_aQc7) type Foldl1Sym2 (t_aQCM :: TyFun a_aQc7 (TyFun a_aQc7 a_aQc7 -> *) -> *) (t_aQCN :: [] a_aQc7) = Foldl1 t_aQCM t_aQCN data FoldrSym0 (l_aH9X :: TyFun (TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (TyFun b_aH7e (TyFun ([] a_aH7d) b_aH7e -> *) -> *)) data FoldrSym1 (l_aHa0 :: TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (l_aH9Z :: TyFun b_aH7e (TyFun ([] a_aH7d) b_aH7e -> *)) data FoldrSym2 (l_aHa3 :: TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (l_aHa4 :: b_aH7e) (l_aHa2 :: TyFun ([] a_aH7d) b_aH7e) type FoldrSym3 (t_aH9U :: TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (t_aH9V :: b_aH7e) (t_aH9W :: [] a_aH7d) = Foldr t_aH9U t_aH9V t_aH9W data Foldr1Sym0 (l_aQzO :: TyFun (TyFun a_aQcf (TyFun a_aQcf a_aQcf -> *) -> *) (TyFun ([] a_aQcf) a_aQcf -> *)) data Foldr1Sym1 (l_aQzR :: TyFun a_aQcf (TyFun a_aQcf a_aQcf -> *) -> *) (l_aQzQ :: TyFun ([] a_aQcf) a_aQcf) type Foldr1Sym2 (t_aQzM :: TyFun a_aQcf (TyFun a_aQcf a_aQcf -> *) -> *) (t_aQzN :: [] a_aQcf) = Foldr1 t_aQzM t_aQzN data ConcatSym0 (l_aQzI :: TyFun ([] ([] a_aQck)) ([] a_aQck)) type ConcatSym1 (t_aQzH :: [] ([] a_aQck)) = Concat t_aQzH data ConcatMapSym0 (l_aQzu :: TyFun (TyFun a_aQcl ([] b_aQcm) -> *) (TyFun ([] a_aQcl) ([] b_aQcm) -> *)) data ConcatMapSym1 (l_aQzx :: TyFun a_aQcl ([] b_aQcm) -> *) (l_aQzw :: TyFun ([] a_aQcl) ([] b_aQcm)) type ConcatMapSym2 (t_aQzs :: TyFun a_aQcl ([] b_aQcm) -> *) (t_aQzt :: [] a_aQcl) = ConcatMap t_aQzs t_aQzt data AndSym0 (l_aQzn :: TyFun ([] Bool) Bool) type AndSym1 (t_aQzm :: [] Bool) = And t_aQzm data OrSym0 (l_aQzh :: TyFun ([] Bool) Bool) type OrSym1 (t_aQzg :: [] Bool) = Or t_aQzg data Any_Sym0 (l_aOa5 :: TyFun (TyFun a_aO9Z Bool -> *) (TyFun ([] a_aO9Z) Bool -> *)) data Any_Sym1 (l_aOa8 :: TyFun a_aO9Z Bool -> *) (l_aOa7 :: TyFun ([] a_aO9Z) Bool) type Any_Sym2 (t_aOa3 :: TyFun a_aO9Z Bool -> *) (t_aOa4 :: [] a_aO9Z) = Any_ t_aOa3 t_aOa4 data AllSym0 (l_aQz5 :: TyFun (TyFun a_aQcs Bool -> *) (TyFun ([] a_aQcs) Bool -> *)) data AllSym1 (l_aQz8 :: TyFun a_aQcs Bool -> *) (l_aQz7 :: TyFun ([] a_aQcs) Bool) type AllSym2 (t_aQz3 :: TyFun a_aQcs Bool -> *) (t_aQz4 :: [] a_aQcs) = All t_aQz3 t_aQz4 data ScanlSym0 (l_aQyh :: TyFun (TyFun b_aQcw (TyFun a_aQcx b_aQcw -> *) -> *) (TyFun b_aQcw (TyFun ([] a_aQcx) ([] b_aQcw) -> *) -> *)) data ScanlSym1 (l_aQyk :: TyFun b_aQcw (TyFun a_aQcx b_aQcw -> *) -> *) (l_aQyj :: TyFun b_aQcw (TyFun ([] a_aQcx) ([] b_aQcw) -> *)) data ScanlSym2 (l_aQyn :: TyFun b_aQcw (TyFun a_aQcx b_aQcw -> *) -> *) (l_aQyo :: b_aQcw) (l_aQym :: TyFun ([] a_aQcx) ([] b_aQcw)) type ScanlSym3 (t_aQye :: TyFun b_aQcw (TyFun a_aQcx b_aQcw -> *) -> *) (t_aQyf :: b_aQcw) (t_aQyg :: [] a_aQcx) = Scanl t_aQye t_aQyf t_aQyg data Scanl1Sym0 (l_aQyS :: TyFun (TyFun a_aQcD (TyFun a_aQcD a_aQcD -> *) -> *) (TyFun ([] a_aQcD) ([] a_aQcD) -> *)) data Scanl1Sym1 (l_aQyV :: TyFun a_aQcD (TyFun a_aQcD a_aQcD -> *) -> *) (l_aQyU :: TyFun ([] a_aQcD) ([] a_aQcD)) type Scanl1Sym2 (t_aQyQ :: TyFun a_aQcD (TyFun a_aQcD a_aQcD -> *) -> *) (t_aQyR :: [] a_aQcD) = Scanl1 t_aQyQ t_aQyR data ScanrSym0 (l_aQxw :: TyFun (TyFun a_aQcH (TyFun b_aQcI b_aQcI -> *) -> *) (TyFun b_aQcI (TyFun ([] a_aQcH) ([] b_aQcI) -> *) -> *)) data ScanrSym1 (l_aQxz :: TyFun a_aQcH (TyFun b_aQcI b_aQcI -> *) -> *) (l_aQxy :: TyFun b_aQcI (TyFun ([] a_aQcH) ([] b_aQcI) -> *)) data ScanrSym2 (l_aQxC :: TyFun a_aQcH (TyFun b_aQcI b_aQcI -> *) -> *) (l_aQxD :: b_aQcI) (l_aQxB :: TyFun ([] a_aQcH) ([] b_aQcI)) type ScanrSym3 (t_aQxt :: TyFun a_aQcH (TyFun b_aQcI b_aQcI -> *) -> *) (t_aQxu :: b_aQcI) (t_aQxv :: [] a_aQcH) = Scanr t_aQxt t_aQxu t_aQxv data Scanr1Sym0 (l_aQwv :: TyFun (TyFun a_aQcQ (TyFun a_aQcQ a_aQcQ -> *) -> *) (TyFun ([] a_aQcQ) ([] a_aQcQ) -> *)) data Scanr1Sym1 (l_aQwy :: TyFun a_aQcQ (TyFun a_aQcQ a_aQcQ -> *) -> *) (l_aQwx :: TyFun ([] a_aQcQ) ([] a_aQcQ)) type Scanr1Sym2 (t_aQwt :: TyFun a_aQcQ (TyFun a_aQcQ a_aQcQ -> *) -> *) (t_aQwu :: [] a_aQcQ) = Scanr1 t_aQwt t_aQwu data ElemSym0 (l_aQpw :: TyFun a_aQdJ (TyFun ([] a_aQdJ) Bool -> *)) data ElemSym1 (l_aQpz :: a_aQdJ) (l_aQpy :: TyFun ([] a_aQdJ) Bool) type ElemSym2 (t_aQpu :: a_aQdJ) (t_aQpv :: [] a_aQdJ) = Elem t_aQpu t_aQpv data NotElemSym0 (l_aQpj :: TyFun a_aQdN (TyFun ([] a_aQdN) Bool -> *)) data NotElemSym1 (l_aQpm :: a_aQdN) (l_aQpl :: TyFun ([] a_aQdN) Bool) type NotElemSym2 (t_aQph :: a_aQdN) (t_aQpi :: [] a_aQdN) = NotElem t_aQph t_aQpi data ZipSym0 (l_aQp2 :: TyFun ([] a_aQdR) (TyFun ([] b_aQdS) ([] ((,) a_aQdR b_aQdS)) -> *)) data ZipSym1 (l_aQp5 :: [] a_aQdR) (l_aQp4 :: TyFun ([] b_aQdS) ([] ((,) a_aQdR b_aQdS))) type ZipSym2 (t_aQp0 :: [] a_aQdR) (t_aQp1 :: [] b_aQdS) = Zip t_aQp0 t_aQp1 data Zip3Sym0 (l_aQoq :: TyFun ([] a_aQdX) (TyFun ([] b_aQdY) (TyFun ([] c_aQdZ) ([] ((,,) a_aQdX b_aQdY c_aQdZ)) -> *) -> *)) data Zip3Sym1 (l_aQot :: [] a_aQdX) (l_aQos :: TyFun ([] b_aQdY) (TyFun ([] c_aQdZ) ([] ((,,) a_aQdX b_aQdY c_aQdZ)) -> *)) data Zip3Sym2 (l_aQow :: [] a_aQdX) (l_aQox :: [] b_aQdY) (l_aQov :: TyFun ([] c_aQdZ) ([] ((,,) a_aQdX b_aQdY c_aQdZ))) type Zip3Sym3 (t_aQon :: [] a_aQdX) (t_aQoo :: [] b_aQdY) (t_aQop :: [] c_aQdZ) = Zip3 t_aQon t_aQoo t_aQop data ZipWithSym0 (l_aQnZ :: TyFun (TyFun a_aQe6 (TyFun b_aQe7 c_aQe8 -> *) -> *) (TyFun ([] a_aQe6) (TyFun ([] b_aQe7) ([] c_aQe8) -> *) -> *)) data ZipWithSym1 (l_aQo2 :: TyFun a_aQe6 (TyFun b_aQe7 c_aQe8 -> *) -> *) (l_aQo1 :: TyFun ([] a_aQe6) (TyFun ([] b_aQe7) ([] c_aQe8) -> *)) data ZipWithSym2 (l_aQo5 :: TyFun a_aQe6 (TyFun b_aQe7 c_aQe8 -> *) -> *) (l_aQo6 :: [] a_aQe6) (l_aQo4 :: TyFun ([] b_aQe7) ([] c_aQe8)) type ZipWithSym3 (t_aQnW :: TyFun a_aQe6 (TyFun b_aQe7 c_aQe8 -> *) -> *) (t_aQnX :: [] a_aQe6) (t_aQnY :: [] b_aQe7) = ZipWith t_aQnW t_aQnX t_aQnY data ZipWith3Sym0 (l_aQn8 :: TyFun (TyFun a_aQee (TyFun b_aQef (TyFun c_aQeg d_aQeh -> *) -> *) -> *) (TyFun ([] a_aQee) (TyFun ([] b_aQef) (TyFun ([] c_aQeg) ([] d_aQeh) -> *) -> *) -> *)) data ZipWith3Sym1 (l_aQnb :: TyFun a_aQee (TyFun b_aQef (TyFun c_aQeg d_aQeh -> *) -> *) -> *) (l_aQna :: TyFun ([] a_aQee) (TyFun ([] b_aQef) (TyFun ([] c_aQeg) ([] d_aQeh) -> *) -> *)) data ZipWith3Sym2 (l_aQne :: TyFun a_aQee (TyFun b_aQef (TyFun c_aQeg d_aQeh -> *) -> *) -> *) (l_aQnf :: [] a_aQee) (l_aQnd :: TyFun ([] b_aQef) (TyFun ([] c_aQeg) ([] d_aQeh) -> *)) data ZipWith3Sym3 (l_aQni :: TyFun a_aQee (TyFun b_aQef (TyFun c_aQeg d_aQeh -> *) -> *) -> *) (l_aQnj :: [] a_aQee) (l_aQnk :: [] b_aQef) (l_aQnh :: TyFun ([] c_aQeg) ([] d_aQeh)) data UnzipSym0 (l_aQmz :: TyFun ([] ((,) a_aQep b_aQeq)) ((,) ([] a_aQep) ([] b_aQeq))) type UnzipSym1 (t_aQmy :: [] ((,) a_aQep b_aQeq)) = Unzip t_aQmy -- | 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_aO9Z -> Bool) -> [a_aO9Z] -> Bool type NilSym0 = [] data (:$) (l_as5F :: TyFun a_12 (TyFun ([] a_12) ([] a_12) -> *)) data (:$$) (l_as5I :: a_12) (l_as5H :: TyFun ([] a_12) ([] a_12)) type (:$$$) (t_as5D :: a_12) (t_as5E :: [] a_12) = (:) t_as5D t_as5E data (:++$$) (l_aH9z :: [] a_aH7p) (l_aH9y :: TyFun ([] a_aH7p) ([] a_aH7p)) data (:++$) (l_aH9w :: TyFun ([] a_aH7p) (TyFun ([] a_aH7p) ([] a_aH7p) -> *)) data HeadSym0 (l_aQPo :: TyFun ([] a_aQaI) a_aQaI) type HeadSym1 (t_aQPn :: [] a_aQaI) = Head t_aQPn data LastSym0 (l_aQOS :: TyFun ([] a_aQaK) a_aQaK) type LastSym1 (t_aQOR :: [] a_aQaK) = Last t_aQOR data TailSym0 (l_aQOM :: TyFun ([] a_aQaS) ([] a_aQaS)) type TailSym1 (t_aQOL :: [] a_aQaS) = Tail t_aQOL data InitSym0 (l_aQOg :: TyFun ([] a_aQaU) ([] a_aQaU)) type InitSym1 (t_aQOf :: [] a_aQaU) = Init t_aQOf data NullSym0 (l_aQOa :: TyFun ([] a_aQb2) Bool) type NullSym1 (t_aQO9 :: [] a_aQb2) = Null t_aQO9 data MapSym0 (l_aH9J :: TyFun (TyFun a_aH7k b_aH7l -> *) (TyFun ([] a_aH7k) ([] b_aH7l) -> *)) data MapSym1 (l_aH9M :: TyFun a_aH7k b_aH7l -> *) (l_aH9L :: TyFun ([] a_aH7k) ([] b_aH7l)) type MapSym2 (t_aH9H :: TyFun a_aH7k b_aH7l -> *) (t_aH9I :: [] a_aH7k) = Map t_aH9H t_aH9I data ReverseSym0 (l_aQNA :: TyFun ([] a_aQb3) ([] a_aQb3)) type ReverseSym1 (t_aQNz :: [] a_aQb3) = Reverse t_aQNz data IntersperseSym0 (l_aQNd :: TyFun a_aQbb (TyFun ([] a_aQbb) ([] a_aQbb) -> *)) data IntersperseSym1 (l_aQNg :: a_aQbb) (l_aQNf :: TyFun ([] a_aQbb) ([] a_aQbb)) type IntersperseSym2 (t_aQNb :: a_aQbb) (t_aQNc :: [] a_aQbb) = Intersperse t_aQNb t_aQNc data IntercalateSym0 (l_aQNq :: TyFun ([] a_aQbf) (TyFun ([] ([] a_aQbf)) ([] a_aQbf) -> *)) data IntercalateSym1 (l_aQNt :: [] a_aQbf) (l_aQNs :: TyFun ([] ([] a_aQbf)) ([] a_aQbf)) type IntercalateSym2 (t_aQNo :: [] a_aQbf) (t_aQNp :: [] ([] a_aQbf)) = Intercalate t_aQNo t_aQNp data SubsequencesSym0 (l_aQN7 :: TyFun ([] a_aQbi) ([] ([] a_aQbi))) type SubsequencesSym1 (t_aQN6 :: [] a_aQbi) = Subsequences t_aQN6 data PermutationsSym0 (l_aQGt :: TyFun ([] a_aQbu) ([] ([] a_aQbu))) type PermutationsSym1 (t_aQGs :: [] a_aQbu) = Permutations t_aQGs data FoldlSym0 (l_aQC0 :: TyFun (TyFun b_aQbM (TyFun a_aQbN b_aQbM -> *) -> *) (TyFun b_aQbM (TyFun ([] a_aQbN) b_aQbM -> *) -> *)) data FoldlSym1 (l_aQC3 :: TyFun b_aQbM (TyFun a_aQbN b_aQbM -> *) -> *) (l_aQC2 :: TyFun b_aQbM (TyFun ([] a_aQbN) b_aQbM -> *)) data FoldlSym2 (l_aQC6 :: TyFun b_aQbM (TyFun a_aQbN b_aQbM -> *) -> *) (l_aQC7 :: b_aQbM) (l_aQC5 :: TyFun ([] a_aQbN) b_aQbM) type FoldlSym3 (t_aQBX :: TyFun b_aQbM (TyFun a_aQbN b_aQbM -> *) -> *) (t_aQBY :: b_aQbM) (t_aQBZ :: [] a_aQbN) = Foldl t_aQBX t_aQBY t_aQBZ data Foldl'Sym0 (l_aQAp :: TyFun (TyFun b_aQ9P (TyFun a_aQ9O b_aQ9P -> *) -> *) (TyFun b_aQ9P (TyFun ([] a_aQ9O) b_aQ9P -> *) -> *)) data Foldl'Sym1 (l_aQAs :: TyFun b_aQ9P (TyFun a_aQ9O b_aQ9P -> *) -> *) (l_aQAr :: TyFun b_aQ9P (TyFun ([] a_aQ9O) b_aQ9P -> *)) data Foldl'Sym2 (l_aQAv :: TyFun b_aQ9P (TyFun a_aQ9O b_aQ9P -> *) -> *) (l_aQAw :: b_aQ9P) (l_aQAu :: TyFun ([] a_aQ9O) b_aQ9P) type Foldl'Sym3 (t_aQAm :: TyFun b_aQ9P (TyFun a_aQ9O b_aQ9P -> *) -> *) (t_aQAn :: b_aQ9P) (t_aQAo :: [] a_aQ9O) = Foldl' t_aQAm t_aQAn t_aQAo data Foldl1Sym0 (l_aQCO :: TyFun (TyFun a_aQc7 (TyFun a_aQc7 a_aQc7 -> *) -> *) (TyFun ([] a_aQc7) a_aQc7 -> *)) data Foldl1Sym1 (l_aQCR :: TyFun a_aQc7 (TyFun a_aQc7 a_aQc7 -> *) -> *) (l_aQCQ :: TyFun ([] a_aQc7) a_aQc7) type Foldl1Sym2 (t_aQCM :: TyFun a_aQc7 (TyFun a_aQc7 a_aQc7 -> *) -> *) (t_aQCN :: [] a_aQc7) = Foldl1 t_aQCM t_aQCN data Foldl1'Sym0 (l_aQBM :: TyFun (TyFun a_aQcb (TyFun a_aQcb a_aQcb -> *) -> *) (TyFun ([] a_aQcb) a_aQcb -> *)) data Foldl1'Sym1 (l_aQBP :: TyFun a_aQcb (TyFun a_aQcb a_aQcb -> *) -> *) (l_aQBO :: TyFun ([] a_aQcb) a_aQcb) type Foldl1'Sym2 (t_aQBK :: TyFun a_aQcb (TyFun a_aQcb a_aQcb -> *) -> *) (t_aQBL :: [] a_aQcb) = Foldl1' t_aQBK t_aQBL data FoldrSym0 (l_aH9X :: TyFun (TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (TyFun b_aH7e (TyFun ([] a_aH7d) b_aH7e -> *) -> *)) data FoldrSym1 (l_aHa0 :: TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (l_aH9Z :: TyFun b_aH7e (TyFun ([] a_aH7d) b_aH7e -> *)) data FoldrSym2 (l_aHa3 :: TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (l_aHa4 :: b_aH7e) (l_aHa2 :: TyFun ([] a_aH7d) b_aH7e) type FoldrSym3 (t_aH9U :: TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (t_aH9V :: b_aH7e) (t_aH9W :: [] a_aH7d) = Foldr t_aH9U t_aH9V t_aH9W data Foldr1Sym0 (l_aQzO :: TyFun (TyFun a_aQcf (TyFun a_aQcf a_aQcf -> *) -> *) (TyFun ([] a_aQcf) a_aQcf -> *)) data Foldr1Sym1 (l_aQzR :: TyFun a_aQcf (TyFun a_aQcf a_aQcf -> *) -> *) (l_aQzQ :: TyFun ([] a_aQcf) a_aQcf) type Foldr1Sym2 (t_aQzM :: TyFun a_aQcf (TyFun a_aQcf a_aQcf -> *) -> *) (t_aQzN :: [] a_aQcf) = Foldr1 t_aQzM t_aQzN data ConcatSym0 (l_aQzI :: TyFun ([] ([] a_aQck)) ([] a_aQck)) type ConcatSym1 (t_aQzH :: [] ([] a_aQck)) = Concat t_aQzH data ConcatMapSym0 (l_aQzu :: TyFun (TyFun a_aQcl ([] b_aQcm) -> *) (TyFun ([] a_aQcl) ([] b_aQcm) -> *)) data ConcatMapSym1 (l_aQzx :: TyFun a_aQcl ([] b_aQcm) -> *) (l_aQzw :: TyFun ([] a_aQcl) ([] b_aQcm)) type ConcatMapSym2 (t_aQzs :: TyFun a_aQcl ([] b_aQcm) -> *) (t_aQzt :: [] a_aQcl) = ConcatMap t_aQzs t_aQzt data AndSym0 (l_aQzn :: TyFun ([] Bool) Bool) type AndSym1 (t_aQzm :: [] Bool) = And t_aQzm data OrSym0 (l_aQzh :: TyFun ([] Bool) Bool) type OrSym1 (t_aQzg :: [] Bool) = Or t_aQzg data Any_Sym0 (l_aOa5 :: TyFun (TyFun a_aO9Z Bool -> *) (TyFun ([] a_aO9Z) Bool -> *)) data Any_Sym1 (l_aOa8 :: TyFun a_aO9Z Bool -> *) (l_aOa7 :: TyFun ([] a_aO9Z) Bool) type Any_Sym2 (t_aOa3 :: TyFun a_aO9Z Bool -> *) (t_aOa4 :: [] a_aO9Z) = Any_ t_aOa3 t_aOa4 data AllSym0 (l_aQz5 :: TyFun (TyFun a_aQcs Bool -> *) (TyFun ([] a_aQcs) Bool -> *)) data AllSym1 (l_aQz8 :: TyFun a_aQcs Bool -> *) (l_aQz7 :: TyFun ([] a_aQcs) Bool) type AllSym2 (t_aQz3 :: TyFun a_aQcs Bool -> *) (t_aQz4 :: [] a_aQcs) = All t_aQz3 t_aQz4 data ScanlSym0 (l_aQyh :: TyFun (TyFun b_aQcw (TyFun a_aQcx b_aQcw -> *) -> *) (TyFun b_aQcw (TyFun ([] a_aQcx) ([] b_aQcw) -> *) -> *)) data ScanlSym1 (l_aQyk :: TyFun b_aQcw (TyFun a_aQcx b_aQcw -> *) -> *) (l_aQyj :: TyFun b_aQcw (TyFun ([] a_aQcx) ([] b_aQcw) -> *)) data ScanlSym2 (l_aQyn :: TyFun b_aQcw (TyFun a_aQcx b_aQcw -> *) -> *) (l_aQyo :: b_aQcw) (l_aQym :: TyFun ([] a_aQcx) ([] b_aQcw)) type ScanlSym3 (t_aQye :: TyFun b_aQcw (TyFun a_aQcx b_aQcw -> *) -> *) (t_aQyf :: b_aQcw) (t_aQyg :: [] a_aQcx) = Scanl t_aQye t_aQyf t_aQyg data Scanl1Sym0 (l_aQyS :: TyFun (TyFun a_aQcD (TyFun a_aQcD a_aQcD -> *) -> *) (TyFun ([] a_aQcD) ([] a_aQcD) -> *)) data Scanl1Sym1 (l_aQyV :: TyFun a_aQcD (TyFun a_aQcD a_aQcD -> *) -> *) (l_aQyU :: TyFun ([] a_aQcD) ([] a_aQcD)) type Scanl1Sym2 (t_aQyQ :: TyFun a_aQcD (TyFun a_aQcD a_aQcD -> *) -> *) (t_aQyR :: [] a_aQcD) = Scanl1 t_aQyQ t_aQyR data ScanrSym0 (l_aQxw :: TyFun (TyFun a_aQcH (TyFun b_aQcI b_aQcI -> *) -> *) (TyFun b_aQcI (TyFun ([] a_aQcH) ([] b_aQcI) -> *) -> *)) data ScanrSym1 (l_aQxz :: TyFun a_aQcH (TyFun b_aQcI b_aQcI -> *) -> *) (l_aQxy :: TyFun b_aQcI (TyFun ([] a_aQcH) ([] b_aQcI) -> *)) data ScanrSym2 (l_aQxC :: TyFun a_aQcH (TyFun b_aQcI b_aQcI -> *) -> *) (l_aQxD :: b_aQcI) (l_aQxB :: TyFun ([] a_aQcH) ([] b_aQcI)) type ScanrSym3 (t_aQxt :: TyFun a_aQcH (TyFun b_aQcI b_aQcI -> *) -> *) (t_aQxu :: b_aQcI) (t_aQxv :: [] a_aQcH) = Scanr t_aQxt t_aQxu t_aQxv data Scanr1Sym0 (l_aQwv :: TyFun (TyFun a_aQcQ (TyFun a_aQcQ a_aQcQ -> *) -> *) (TyFun ([] a_aQcQ) ([] a_aQcQ) -> *)) data Scanr1Sym1 (l_aQwy :: TyFun a_aQcQ (TyFun a_aQcQ a_aQcQ -> *) -> *) (l_aQwx :: TyFun ([] a_aQcQ) ([] a_aQcQ)) type Scanr1Sym2 (t_aQwt :: TyFun a_aQcQ (TyFun a_aQcQ a_aQcQ -> *) -> *) (t_aQwu :: [] a_aQcQ) = Scanr1 t_aQwt t_aQwu data MapAccumLSym0 (l_aQtP :: TyFun (TyFun acc_aQcX (TyFun x_aQcY ((,) acc_aQcX y_aQcZ) -> *) -> *) (TyFun acc_aQcX (TyFun ([] x_aQcY) ((,) acc_aQcX ([] y_aQcZ)) -> *) -> *)) data MapAccumLSym1 (l_aQtS :: TyFun acc_aQcX (TyFun x_aQcY ((,) acc_aQcX y_aQcZ) -> *) -> *) (l_aQtR :: TyFun acc_aQcX (TyFun ([] x_aQcY) ((,) acc_aQcX ([] y_aQcZ)) -> *)) data MapAccumLSym2 (l_aQtV :: TyFun acc_aQcX (TyFun x_aQcY ((,) acc_aQcX y_aQcZ) -> *) -> *) (l_aQtW :: acc_aQcX) (l_aQtU :: TyFun ([] x_aQcY) ((,) acc_aQcX ([] y_aQcZ))) type MapAccumLSym3 (t_aQtM :: TyFun acc_aQcX (TyFun x_aQcY ((,) acc_aQcX y_aQcZ) -> *) -> *) (t_aQtN :: acc_aQcX) (t_aQtO :: [] x_aQcY) = MapAccumL t_aQtM t_aQtN t_aQtO data MapAccumRSym0 (l_aQr8 :: TyFun (TyFun acc_aQd9 (TyFun x_aQda ((,) acc_aQd9 y_aQdb) -> *) -> *) (TyFun acc_aQd9 (TyFun ([] x_aQda) ((,) acc_aQd9 ([] y_aQdb)) -> *) -> *)) data MapAccumRSym1 (l_aQrb :: TyFun acc_aQd9 (TyFun x_aQda ((,) acc_aQd9 y_aQdb) -> *) -> *) (l_aQra :: TyFun acc_aQd9 (TyFun ([] x_aQda) ((,) acc_aQd9 ([] y_aQdb)) -> *)) data MapAccumRSym2 (l_aQre :: TyFun acc_aQd9 (TyFun x_aQda ((,) acc_aQd9 y_aQdb) -> *) -> *) (l_aQrf :: acc_aQd9) (l_aQrd :: TyFun ([] x_aQda) ((,) acc_aQd9 ([] y_aQdb))) type MapAccumRSym3 (t_aQr5 :: TyFun acc_aQd9 (TyFun x_aQda ((,) acc_aQd9 y_aQdb) -> *) -> *) (t_aQr6 :: acc_aQd9) (t_aQr7 :: [] x_aQda) = MapAccumR t_aQr5 t_aQr6 t_aQr7 data UnfoldrSym0 (l_aQqH :: TyFun (TyFun b_aQdl (Maybe ((,) a_aQdm b_aQdl)) -> *) (TyFun b_aQdl ([] a_aQdm) -> *)) data UnfoldrSym1 (l_aQqK :: TyFun b_aQdl (Maybe ((,) a_aQdm b_aQdl)) -> *) (l_aQqJ :: TyFun b_aQdl ([] a_aQdm)) type UnfoldrSym2 (t_aQqF :: TyFun b_aQdl (Maybe ((,) a_aQdm b_aQdl)) -> *) (t_aQqG :: b_aQdl) = Unfoldr t_aQqF t_aQqG data InitsSym0 (l_aQqq :: TyFun ([] a_aQdr) ([] ([] a_aQdr))) type InitsSym1 (t_aQqp :: [] a_aQdr) = Inits t_aQqp data TailsSym0 (l_aQpZ :: TyFun ([] a_aQdv) ([] ([] a_aQdv))) type TailsSym1 (t_aQpY :: [] a_aQdv) = Tails t_aQpY data IsPrefixOfSym0 (l_aQpJ :: TyFun ([] a_aQdy) (TyFun ([] a_aQdy) Bool -> *)) data IsPrefixOfSym1 (l_aQpM :: [] a_aQdy) (l_aQpL :: TyFun ([] a_aQdy) Bool) type IsPrefixOfSym2 (t_aQpH :: [] a_aQdy) (t_aQpI :: [] a_aQdy) = IsPrefixOf t_aQpH t_aQpI data IsSuffixOfSym0 (l_aQO0 :: TyFun ([] a_aQdD) (TyFun ([] a_aQdD) Bool -> *)) data IsSuffixOfSym1 (l_aQO3 :: [] a_aQdD) (l_aQO2 :: TyFun ([] a_aQdD) Bool) type IsSuffixOfSym2 (t_aQNY :: [] a_aQdD) (t_aQNZ :: [] a_aQdD) = IsSuffixOf t_aQNY t_aQNZ data IsInfixOfSym0 (l_aQqg :: TyFun ([] a_aQdG) (TyFun ([] a_aQdG) Bool -> *)) data IsInfixOfSym1 (l_aQqj :: [] a_aQdG) (l_aQqi :: TyFun ([] a_aQdG) Bool) type IsInfixOfSym2 (t_aQqe :: [] a_aQdG) (t_aQqf :: [] a_aQdG) = IsInfixOf t_aQqe t_aQqf data ElemSym0 (l_aQpw :: TyFun a_aQdJ (TyFun ([] a_aQdJ) Bool -> *)) data ElemSym1 (l_aQpz :: a_aQdJ) (l_aQpy :: TyFun ([] a_aQdJ) Bool) type ElemSym2 (t_aQpu :: a_aQdJ) (t_aQpv :: [] a_aQdJ) = Elem t_aQpu t_aQpv data NotElemSym0 (l_aQpj :: TyFun a_aQdN (TyFun ([] a_aQdN) Bool -> *)) data NotElemSym1 (l_aQpm :: a_aQdN) (l_aQpl :: TyFun ([] a_aQdN) Bool) type NotElemSym2 (t_aQph :: a_aQdN) (t_aQpi :: [] a_aQdN) = NotElem t_aQph t_aQpi data ZipSym0 (l_aQp2 :: TyFun ([] a_aQdR) (TyFun ([] b_aQdS) ([] ((,) a_aQdR b_aQdS)) -> *)) data ZipSym1 (l_aQp5 :: [] a_aQdR) (l_aQp4 :: TyFun ([] b_aQdS) ([] ((,) a_aQdR b_aQdS))) type ZipSym2 (t_aQp0 :: [] a_aQdR) (t_aQp1 :: [] b_aQdS) = Zip t_aQp0 t_aQp1 data Zip3Sym0 (l_aQoq :: TyFun ([] a_aQdX) (TyFun ([] b_aQdY) (TyFun ([] c_aQdZ) ([] ((,,) a_aQdX b_aQdY c_aQdZ)) -> *) -> *)) data Zip3Sym1 (l_aQot :: [] a_aQdX) (l_aQos :: TyFun ([] b_aQdY) (TyFun ([] c_aQdZ) ([] ((,,) a_aQdX b_aQdY c_aQdZ)) -> *)) data Zip3Sym2 (l_aQow :: [] a_aQdX) (l_aQox :: [] b_aQdY) (l_aQov :: TyFun ([] c_aQdZ) ([] ((,,) a_aQdX b_aQdY c_aQdZ))) type Zip3Sym3 (t_aQon :: [] a_aQdX) (t_aQoo :: [] b_aQdY) (t_aQop :: [] c_aQdZ) = Zip3 t_aQon t_aQoo t_aQop data ZipWithSym0 (l_aQnZ :: TyFun (TyFun a_aQe6 (TyFun b_aQe7 c_aQe8 -> *) -> *) (TyFun ([] a_aQe6) (TyFun ([] b_aQe7) ([] c_aQe8) -> *) -> *)) data ZipWithSym1 (l_aQo2 :: TyFun a_aQe6 (TyFun b_aQe7 c_aQe8 -> *) -> *) (l_aQo1 :: TyFun ([] a_aQe6) (TyFun ([] b_aQe7) ([] c_aQe8) -> *)) data ZipWithSym2 (l_aQo5 :: TyFun a_aQe6 (TyFun b_aQe7 c_aQe8 -> *) -> *) (l_aQo6 :: [] a_aQe6) (l_aQo4 :: TyFun ([] b_aQe7) ([] c_aQe8)) type ZipWithSym3 (t_aQnW :: TyFun a_aQe6 (TyFun b_aQe7 c_aQe8 -> *) -> *) (t_aQnX :: [] a_aQe6) (t_aQnY :: [] b_aQe7) = ZipWith t_aQnW t_aQnX t_aQnY data ZipWith3Sym0 (l_aQn8 :: TyFun (TyFun a_aQee (TyFun b_aQef (TyFun c_aQeg d_aQeh -> *) -> *) -> *) (TyFun ([] a_aQee) (TyFun ([] b_aQef) (TyFun ([] c_aQeg) ([] d_aQeh) -> *) -> *) -> *)) data ZipWith3Sym1 (l_aQnb :: TyFun a_aQee (TyFun b_aQef (TyFun c_aQeg d_aQeh -> *) -> *) -> *) (l_aQna :: TyFun ([] a_aQee) (TyFun ([] b_aQef) (TyFun ([] c_aQeg) ([] d_aQeh) -> *) -> *)) data ZipWith3Sym2 (l_aQne :: TyFun a_aQee (TyFun b_aQef (TyFun c_aQeg d_aQeh -> *) -> *) -> *) (l_aQnf :: [] a_aQee) (l_aQnd :: TyFun ([] b_aQef) (TyFun ([] c_aQeg) ([] d_aQeh) -> *)) data ZipWith3Sym3 (l_aQni :: TyFun a_aQee (TyFun b_aQef (TyFun c_aQeg d_aQeh -> *) -> *) -> *) (l_aQnj :: [] a_aQee) (l_aQnk :: [] b_aQef) (l_aQnh :: TyFun ([] c_aQeg) ([] d_aQeh)) data UnzipSym0 (l_aQmz :: TyFun ([] ((,) a_aQep b_aQeq)) ((,) ([] a_aQep) ([] b_aQeq))) type UnzipSym1 (t_aQmy :: [] ((,) a_aQep b_aQeq)) = Unzip t_aQmy data Unzip3Sym0 (l_aQm1 :: TyFun ([] ((,,) a_aQew b_aQex c_aQey)) ((,,) ([] a_aQew) ([] b_aQex) ([] c_aQey))) type Unzip3Sym1 (t_aQm0 :: [] ((,,) a_aQew b_aQex c_aQey)) = Unzip3 t_aQm0 data Unzip4Sym0 (l_aQlr :: TyFun ([] ((,,,) a_aQeG b_aQeH c_aQeI d_aQeJ)) ((,,,) ([] a_aQeG) ([] b_aQeH) ([] c_aQeI) ([] d_aQeJ))) type Unzip4Sym1 (t_aQlq :: [] ((,,,) a_aQeG b_aQeH c_aQeI d_aQeJ)) = Unzip4 t_aQlq data Unzip5Sym0 (l_aQkP :: TyFun ([] ((,,,,) a_aQeT b_aQeU c_aQeV d_aQeW e_aQeX)) ((,,,,) ([] a_aQeT) ([] b_aQeU) ([] c_aQeV) ([] d_aQeW) ([] e_aQeX))) type Unzip5Sym1 (t_aQkO :: [] ((,,,,) a_aQeT b_aQeU c_aQeV d_aQeW e_aQeX)) = Unzip5 t_aQkO data Unzip6Sym0 (l_aQkb :: TyFun ([] ((,,,,,) a_aQf9 b_aQfa c_aQfb d_aQfc e_aQfd f_aQfe)) ((,,,,,) ([] a_aQf9) ([] b_aQfa) ([] c_aQfb) ([] d_aQfc) ([] e_aQfd) ([] f_aQfe))) type Unzip6Sym1 (t_aQka :: [] ((,,,,,) a_aQf9 b_aQfa c_aQfb d_aQfc e_aQfd f_aQfe)) = Unzip6 t_aQka data Unzip7Sym0 (l_aQjv :: TyFun ([] ((,,,,,,) a_aQfs b_aQft c_aQfu d_aQfv e_aQfw f_aQfx g_aQfy)) ((,,,,,,) ([] a_aQfs) ([] b_aQft) ([] c_aQfu) ([] d_aQfv) ([] e_aQfw) ([] f_aQfx) ([] g_aQfy))) type Unzip7Sym1 (t_aQju :: [] ((,,,,,,) a_aQfs b_aQft c_aQfu d_aQfv e_aQfw f_aQfx g_aQfy)) = Unzip7 t_aQju data DeleteSym0 (l_aQjl :: TyFun a_aQfO (TyFun ([] a_aQfO) ([] a_aQfO) -> *)) data DeleteSym1 (l_aQjo :: a_aQfO) (l_aQjn :: TyFun ([] a_aQfO) ([] a_aQfO)) type DeleteSym2 (t_aQjj :: a_aQfO) (t_aQjk :: [] a_aQfO) = Delete t_aQjj t_aQjk data (:\\$) (l_aQFX :: TyFun ([] a_aQfP) (TyFun ([] a_aQfP) ([] a_aQfP) -> *)) data (:\\$$) (l_aQG0 :: [] a_aQfP) (l_aQFZ :: TyFun ([] a_aQfP) ([] a_aQfP)) type (:\\$$$) (t_aQFV :: [] a_aQfP) (t_aQFW :: [] a_aQfP) = (:\\) t_aQFV t_aQFW data IntersectSym0 (l_a1zXu :: TyFun ([] a_a1zKo) (TyFun ([] a_a1zKo) ([] a_a1zKo) -> *)) data IntersectSym1 (l_a1zXx :: [] a_a1zKo) (l_a1zXw :: TyFun ([] a_a1zKo) ([] a_a1zKo)) type IntersectSym2 (t_a1zXs :: [] a_a1zKo) (t_a1zXt :: [] a_a1zKo) = Intersect t_a1zXs t_a1zXt data InsertSym0 (l_a1zYn :: TyFun a_a1zHE (TyFun ([] a_a1zHE) ([] a_a1zHE) -> *)) data InsertSym1 (l_a1zYq :: a_a1zHE) (l_a1zYp :: TyFun ([] a_a1zHE) ([] a_a1zHE)) type InsertSym2 (t_a1zYl :: a_a1zHE) (t_a1zYm :: [] a_a1zHE) = Insert t_a1zYl t_a1zYm data SortSym0 (l_a1zYh :: TyFun ([] a_a1zHH) ([] a_a1zHH)) type SortSym1 (t_a1zYg :: [] a_a1zHH) = Sort t_a1zYg data DeleteBySym0 (l_aQiz :: TyFun (TyFun a_aQfQ (TyFun a_aQfQ Bool -> *) -> *) (TyFun a_aQfQ (TyFun ([] a_aQfQ) ([] a_aQfQ) -> *) -> *)) data DeleteBySym1 (l_aQiC :: TyFun a_aQfQ (TyFun a_aQfQ Bool -> *) -> *) (l_aQiB :: TyFun a_aQfQ (TyFun ([] a_aQfQ) ([] a_aQfQ) -> *)) data DeleteBySym2 (l_aQiF :: TyFun a_aQfQ (TyFun a_aQfQ Bool -> *) -> *) (l_aQiG :: a_aQfQ) (l_aQiE :: TyFun ([] a_aQfQ) ([] a_aQfQ)) type DeleteBySym3 (t_aQiw :: TyFun a_aQfQ (TyFun a_aQfQ Bool -> *) -> *) (t_aQix :: a_aQfQ) (t_aQiy :: [] a_aQfQ) = DeleteBy t_aQiw t_aQix t_aQiy data DeleteFirstsBySym0 (l_aQG9 :: TyFun (TyFun a_aQfV (TyFun a_aQfV Bool -> *) -> *) (TyFun ([] a_aQfV) (TyFun ([] a_aQfV) ([] a_aQfV) -> *) -> *)) data DeleteFirstsBySym1 (l_aQGc :: TyFun a_aQfV (TyFun a_aQfV Bool -> *) -> *) (l_aQGb :: TyFun ([] a_aQfV) (TyFun ([] a_aQfV) ([] a_aQfV) -> *)) data DeleteFirstsBySym2 (l_aQGf :: TyFun a_aQfV (TyFun a_aQfV Bool -> *) -> *) (l_aQGg :: [] a_aQfV) (l_aQGe :: TyFun ([] a_aQfV) ([] a_aQfV)) type DeleteFirstsBySym3 (t_aQG6 :: TyFun a_aQfV (TyFun a_aQfV Bool -> *) -> *) (t_aQG7 :: [] a_aQfV) (t_aQG8 :: [] a_aQfV) = DeleteFirstsBy t_aQG6 t_aQG7 t_aQG8 data IntersectBySym0 (l_a1zWF :: TyFun (TyFun a_a1zKp (TyFun a_a1zKp Bool -> *) -> *) (TyFun ([] a_a1zKp) (TyFun ([] a_a1zKp) ([] a_a1zKp) -> *) -> *)) data IntersectBySym1 (l_a1zWI :: TyFun a_a1zKp (TyFun a_a1zKp Bool -> *) -> *) (l_a1zWH :: TyFun ([] a_a1zKp) (TyFun ([] a_a1zKp) ([] a_a1zKp) -> *)) data IntersectBySym2 (l_a1zWL :: TyFun a_a1zKp (TyFun a_a1zKp Bool -> *) -> *) (l_a1zWM :: [] a_a1zKp) (l_a1zWK :: TyFun ([] a_a1zKp) ([] a_a1zKp)) data SortBySym0 (l_aQil :: TyFun (TyFun a_aQfX (TyFun a_aQfX Ordering -> *) -> *) (TyFun ([] a_aQfX) ([] a_aQfX) -> *)) data SortBySym1 (l_aQio :: TyFun a_aQfX (TyFun a_aQfX Ordering -> *) -> *) (l_aQin :: TyFun ([] a_aQfX) ([] a_aQfX)) type SortBySym2 (t_aQij :: TyFun a_aQfX (TyFun a_aQfX Ordering -> *) -> *) (t_aQik :: [] a_aQfX) = SortBy t_aQij t_aQik data InsertBySym0 (l_aQhj :: TyFun (TyFun a_aQfZ (TyFun a_aQfZ Ordering -> *) -> *) (TyFun a_aQfZ (TyFun ([] a_aQfZ) ([] a_aQfZ) -> *) -> *)) data InsertBySym1 (l_aQhm :: TyFun a_aQfZ (TyFun a_aQfZ Ordering -> *) -> *) (l_aQhl :: TyFun a_aQfZ (TyFun ([] a_aQfZ) ([] a_aQfZ) -> *)) data InsertBySym2 (l_aQhp :: TyFun a_aQfZ (TyFun a_aQfZ Ordering -> *) -> *) (l_aQhq :: a_aQfZ) (l_aQho :: TyFun ([] a_aQfZ) ([] a_aQfZ)) type InsertBySym3 (t_aQhg :: TyFun a_aQfZ (TyFun a_aQfZ Ordering -> *) -> *) (t_aQhh :: a_aQfZ) (t_aQhi :: [] a_aQfZ) = InsertBy t_aQhg t_aQhh t_aQhi data MaximumBySym0 (l_aQD1 :: TyFun (TyFun a_aQg6 (TyFun a_aQg6 Ordering -> *) -> *) (TyFun ([] a_aQg6) a_aQg6 -> *)) data MaximumBySym1 (l_aQD4 :: TyFun a_aQg6 (TyFun a_aQg6 Ordering -> *) -> *) (l_aQD3 :: TyFun ([] a_aQg6) a_aQg6) type MaximumBySym2 (t_aQCZ :: TyFun a_aQg6 (TyFun a_aQg6 Ordering -> *) -> *) (t_aQD0 :: [] a_aQg6) = MaximumBy t_aQCZ t_aQD0 data MinimumBySym0 (l_aQEs :: TyFun (TyFun a_aQgc (TyFun a_aQgc Ordering -> *) -> *) (TyFun ([] a_aQgc) a_aQgc -> *)) data MinimumBySym1 (l_aQEv :: TyFun a_aQgc (TyFun a_aQgc Ordering -> *) -> *) (l_aQEu :: TyFun ([] a_aQgc) a_aQgc) type MinimumBySym2 (t_aQEq :: TyFun a_aQgc (TyFun a_aQgc Ordering -> *) -> *) (t_aQEr :: [] a_aQgc) = MinimumBy t_aQEq t_aQEr data LengthSym0 (l_a1Aae :: TyFun ([] a_a1zGs) Nat) type LengthSym1 (t_a1Aad :: [] a_a1zGs) = Length t_a1Aad data SumSym0 (l_a1A9P :: TyFun ([] Nat) Nat) type SumSym1 (t_a1A9O :: [] Nat) = Sum t_a1A9O data ProductSym0 (l_a1A9q :: TyFun ([] Nat) Nat) type ProductSym1 (t_a1A9p :: [] Nat) = Product t_a1A9p data ReplicateSym0 (l_a1A90 :: TyFun Nat (TyFun a_a1zGG ([] a_a1zGG) -> *)) data ReplicateSym1 (l_a1A93 :: Nat) (l_a1A92 :: TyFun a_a1zGG ([] a_a1zGG)) type ReplicateSym2 (t_a1A8Y :: Nat) (t_a1A8Z :: a_a1zGG) = Replicate t_a1A8Y t_a1A8Z data TransposeSym0 (l_a1A8R :: TyFun ([] ([] a_a1zGJ)) ([] ([] a_a1zGJ))) type TransposeSym1 (t_a1A8Q :: [] ([] a_a1zGJ)) = Transpose t_a1A8Q data TakeSym0 (l_a1A7Y :: TyFun Nat (TyFun ([] a_a1zGO) ([] a_a1zGO) -> *)) data TakeSym1 (l_a1A81 :: Nat) (l_a1A80 :: TyFun ([] a_a1zGO) ([] a_a1zGO)) type TakeSym2 (t_a1A7W :: Nat) (t_a1A7X :: [] a_a1zGO) = Take t_a1A7W t_a1A7X data DropSym0 (l_a1A7l :: TyFun Nat (TyFun ([] a_a1zGS) ([] a_a1zGS) -> *)) data DropSym1 (l_a1A7o :: Nat) (l_a1A7n :: TyFun ([] a_a1zGS) ([] a_a1zGS)) type DropSym2 (t_a1A7j :: Nat) (t_a1A7k :: [] a_a1zGS) = Drop t_a1A7j t_a1A7k data SplitAtSym0 (l_a1A8d :: TyFun Nat (TyFun ([] a_a1zGW) ((,) ([] a_a1zGW) ([] a_a1zGW)) -> *)) data SplitAtSym1 (l_a1A8g :: Nat) (l_a1A8f :: TyFun ([] a_a1zGW) ((,) ([] a_a1zGW) ([] a_a1zGW))) type SplitAtSym2 (t_a1A8b :: Nat) (t_a1A8c :: [] a_a1zGW) = SplitAt t_a1A8b t_a1A8c data TakeWhileSym0 (l_a1A6Y :: TyFun (TyFun a_a1zGZ Bool -> *) (TyFun ([] a_a1zGZ) ([] a_a1zGZ) -> *)) data TakeWhileSym1 (l_a1A71 :: TyFun a_a1zGZ Bool -> *) (l_a1A70 :: TyFun ([] a_a1zGZ) ([] a_a1zGZ)) type TakeWhileSym2 (t_a1A6W :: TyFun a_a1zGZ Bool -> *) (t_a1A6X :: [] a_a1zGZ) = TakeWhile t_a1A6W t_a1A6X data DropWhileSym0 (l_a1A6a :: TyFun (TyFun a_a1zH3 Bool -> *) (TyFun ([] a_a1zH3) ([] a_a1zH3) -> *)) data DropWhileSym1 (l_a1A6d :: TyFun a_a1zH3 Bool -> *) (l_a1A6c :: TyFun ([] a_a1zH3) ([] a_a1zH3)) type DropWhileSym2 (t_a1A68 :: TyFun a_a1zH3 Bool -> *) (t_a1A69 :: [] a_a1zH3) = DropWhile t_a1A68 t_a1A69 data DropWhileEndSym0 (l_a1A5a :: TyFun (TyFun a_a1zH8 Bool -> *) (TyFun ([] a_a1zH8) ([] a_a1zH8) -> *)) data DropWhileEndSym1 (l_a1A5d :: TyFun a_a1zH8 Bool -> *) (l_a1A5c :: TyFun ([] a_a1zH8) ([] a_a1zH8)) type DropWhileEndSym2 (t_a1A58 :: TyFun a_a1zH8 Bool -> *) (t_a1A59 :: [] a_a1zH8) = DropWhileEnd t_a1A58 t_a1A59 data SpanSym0 (l_a1A1B :: TyFun (TyFun a_a1zHc Bool -> *) (TyFun ([] a_a1zHc) ((,) ([] a_a1zHc) ([] a_a1zHc)) -> *)) data SpanSym1 (l_a1A1E :: TyFun a_a1zHc Bool -> *) (l_a1A1D :: TyFun ([] a_a1zHc) ((,) ([] a_a1zHc) ([] a_a1zHc))) type SpanSym2 (t_a1A1z :: TyFun a_a1zHc Bool -> *) (t_a1A1A :: [] a_a1zHc) = Span t_a1A1z t_a1A1A data BreakSym0 (l_a1zZe :: TyFun (TyFun a_a1zHk Bool -> *) (TyFun ([] a_a1zHk) ((,) ([] a_a1zHk) ([] a_a1zHk)) -> *)) data BreakSym1 (l_a1zZh :: TyFun a_a1zHk Bool -> *) (l_a1zZg :: TyFun ([] a_a1zHk) ((,) ([] a_a1zHk) ([] a_a1zHk))) type BreakSym2 (t_a1zZc :: TyFun a_a1zHk Bool -> *) (t_a1zZd :: [] a_a1zHk) = Break t_a1zZc t_a1zZd data StripPrefixSym0 (l_a1zYI :: TyFun ([] a_a1zHs) (TyFun ([] a_a1zHs) (Maybe ([] a_a1zHs)) -> *)) data StripPrefixSym1 (l_a1zYL :: [] a_a1zHs) (l_a1zYK :: TyFun ([] a_a1zHs) (Maybe ([] a_a1zHs))) data MaximumSym0 (l_a1zYC :: TyFun ([] a_a1zHA) a_a1zHA) type MaximumSym1 (t_a1zYB :: [] a_a1zHA) = Maximum t_a1zYB data MinimumSym0 (l_a1zYx :: TyFun ([] a_a1zHC) a_a1zHC) type MinimumSym1 (t_a1zYw :: [] a_a1zHC) = Minimum t_a1zYw data GroupSym0 (l_a1A54 :: TyFun ([] a_a1zHy) ([] ([] a_a1zHy))) type GroupSym1 (t_a1A53 :: [] a_a1zHy) = Group t_a1A53 data GroupBySym0 (l_a1A3Y :: TyFun (TyFun a_a1zHI (TyFun a_a1zHI Bool -> *) -> *) (TyFun ([] a_a1zHI) ([] ([] a_a1zHI)) -> *)) data GroupBySym1 (l_a1A41 :: TyFun a_a1zHI (TyFun a_a1zHI Bool -> *) -> *) (l_a1A40 :: TyFun ([] a_a1zHI) ([] ([] a_a1zHI))) type GroupBySym2 (t_a1A3W :: TyFun a_a1zHI (TyFun a_a1zHI Bool -> *) -> *) (t_a1A3X :: [] a_a1zHI) = GroupBy t_a1A3W t_a1A3X data LookupSym0 (l_a1zXS :: TyFun a_a1zHO (TyFun ([] ((,) a_a1zHO b_a1zHP)) (Maybe b_a1zHP) -> *)) data LookupSym1 (l_a1zXV :: a_a1zHO) (l_a1zXU :: TyFun ([] ((,) a_a1zHO b_a1zHP)) (Maybe b_a1zHP)) type LookupSym2 (t_a1zXQ :: a_a1zHO) (t_a1zXR :: [] ((,) a_a1zHO b_a1zHP)) = Lookup t_a1zXQ t_a1zXR data FindSym0 (l_a1zXF :: TyFun (TyFun a_a1zHV Bool -> *) (TyFun ([] a_a1zHV) (Maybe a_a1zHV) -> *)) data FindSym1 (l_a1zXI :: TyFun a_a1zHV Bool -> *) (l_a1zXH :: TyFun ([] a_a1zHV) (Maybe a_a1zHV)) type FindSym2 (t_a1zXD :: TyFun a_a1zHV Bool -> *) (t_a1zXE :: [] a_a1zHV) = Find t_a1zXD t_a1zXE data FilterSym0 (l_a1zWh :: TyFun (TyFun a_a1zHX Bool -> *) (TyFun ([] a_a1zHX) ([] a_a1zHX) -> *)) data FilterSym1 (l_a1zWk :: TyFun a_a1zHX Bool -> *) (l_a1zWj :: TyFun ([] a_a1zHX) ([] a_a1zHX)) type FilterSym2 (t_a1zWf :: TyFun a_a1zHX Bool -> *) (t_a1zWg :: [] a_a1zHX) = Filter t_a1zWf t_a1zWg data PartitionSym0 (l_a1zW6 :: TyFun (TyFun a_a1zI2 Bool -> *) (TyFun ([] a_a1zI2) ((,) ([] a_a1zI2) ([] a_a1zI2)) -> *)) data PartitionSym1 (l_a1zW9 :: TyFun a_a1zI2 Bool -> *) (l_a1zW8 :: TyFun ([] a_a1zI2) ((,) ([] a_a1zI2) ([] a_a1zI2))) type PartitionSym2 (t_a1zW4 :: TyFun a_a1zI2 Bool -> *) (t_a1zW5 :: [] a_a1zI2) = Partition t_a1zW4 t_a1zW5 data (:!!$) (l_a1zV6 :: TyFun ([] a_a1zIa) (TyFun Nat a_a1zIa -> *)) data (:!!$$) (l_a1zV9 :: [] a_a1zIa) (l_a1zV8 :: TyFun Nat a_a1zIa) type (:!!$$$) (t_a1zV4 :: [] a_a1zIa) (t_a1zV5 :: Nat) = (:!!) t_a1zV4 t_a1zV5 data ElemIndexSym0 (l_a1AbI :: TyFun a_a1zIe (TyFun ([] a_a1zIe) (Maybe Nat) -> *)) data ElemIndexSym1 (l_a1AbL :: a_a1zIe) (l_a1AbK :: TyFun ([] a_a1zIe) (Maybe Nat)) type ElemIndexSym2 (t_a1AbG :: a_a1zIe) (t_a1AbH :: [] a_a1zIe) = ElemIndex t_a1AbG t_a1AbH data ElemIndicesSym0 (l_a1Abi :: TyFun a_a1zIg (TyFun ([] a_a1zIg) ([] Nat) -> *)) data ElemIndicesSym1 (l_a1Abl :: a_a1zIg) (l_a1Abk :: TyFun ([] a_a1zIg) ([] Nat)) type ElemIndicesSym2 (t_a1Abg :: a_a1zIg) (t_a1Abh :: [] a_a1zIg) = ElemIndices t_a1Abg t_a1Abh data FindIndexSym0 (l_a1Abv :: TyFun (TyFun a_a1zIi Bool -> *) (TyFun ([] a_a1zIi) (Maybe Nat) -> *)) data FindIndexSym1 (l_a1Aby :: TyFun a_a1zIi Bool -> *) (l_a1Abx :: TyFun ([] a_a1zIi) (Maybe Nat)) type FindIndexSym2 (t_a1Abt :: TyFun a_a1zIi Bool -> *) (t_a1Abu :: [] a_a1zIi) = FindIndex t_a1Abt t_a1Abu data FindIndicesSym0 (l_a1Aal :: TyFun (TyFun a_a1zIk Bool -> *) (TyFun ([] a_a1zIk) ([] Nat) -> *)) data FindIndicesSym1 (l_a1Aao :: TyFun a_a1zIk Bool -> *) (l_a1Aan :: TyFun ([] a_a1zIk) ([] Nat)) type FindIndicesSym2 (t_a1Aaj :: TyFun a_a1zIk Bool -> *) (t_a1Aak :: [] a_a1zIk) = FindIndices t_a1Aaj t_a1Aak data Zip4Sym0 (l_a1zUI :: TyFun ([] a_a1zIr) (TyFun ([] b_a1zIs) (TyFun ([] c_a1zIt) (TyFun ([] d_a1zIu) ([] ((,,,) a_a1zIr b_a1zIs c_a1zIt d_a1zIu)) -> *) -> *) -> *)) data Zip4Sym1 (l_a1zUL :: [] a_a1zIr) (l_a1zUK :: TyFun ([] b_a1zIs) (TyFun ([] c_a1zIt) (TyFun ([] d_a1zIu) ([] ((,,,) a_a1zIr b_a1zIs c_a1zIt d_a1zIu)) -> *) -> *)) data Zip4Sym2 (l_a1zUO :: [] a_a1zIr) (l_a1zUP :: [] b_a1zIs) (l_a1zUN :: TyFun ([] c_a1zIt) (TyFun ([] d_a1zIu) ([] ((,,,) a_a1zIr b_a1zIs c_a1zIt d_a1zIu)) -> *)) data Zip4Sym3 (l_a1zUS :: [] a_a1zIr) (l_a1zUT :: [] b_a1zIs) (l_a1zUU :: [] c_a1zIt) (l_a1zUR :: TyFun ([] d_a1zIu) ([] ((,,,) a_a1zIr b_a1zIs c_a1zIt d_a1zIu))) type Zip4Sym4 (t_a1zUE :: [] a_a1zIr) (t_a1zUF :: [] b_a1zIs) (t_a1zUG :: [] c_a1zIt) (t_a1zUH :: [] d_a1zIu) = Zip4 t_a1zUE t_a1zUF t_a1zUG t_a1zUH data Zip5Sym0 (l_a1zU2 :: TyFun ([] a_a1zIv) (TyFun ([] b_a1zIw) (TyFun ([] c_a1zIx) (TyFun ([] d_a1zIy) (TyFun ([] e_a1zIz) ([] ((,,,,) a_a1zIv b_a1zIw c_a1zIx d_a1zIy e_a1zIz)) -> *) -> *) -> *) -> *)) data Zip5Sym1 (l_a1zU5 :: [] a_a1zIv) (l_a1zU4 :: TyFun ([] b_a1zIw) (TyFun ([] c_a1zIx) (TyFun ([] d_a1zIy) (TyFun ([] e_a1zIz) ([] ((,,,,) a_a1zIv b_a1zIw c_a1zIx d_a1zIy e_a1zIz)) -> *) -> *) -> *)) data Zip5Sym2 (l_a1zU8 :: [] a_a1zIv) (l_a1zU9 :: [] b_a1zIw) (l_a1zU7 :: TyFun ([] c_a1zIx) (TyFun ([] d_a1zIy) (TyFun ([] e_a1zIz) ([] ((,,,,) a_a1zIv b_a1zIw c_a1zIx d_a1zIy e_a1zIz)) -> *) -> *)) data Zip5Sym3 (l_a1zUc :: [] a_a1zIv) (l_a1zUd :: [] b_a1zIw) (l_a1zUe :: [] c_a1zIx) (l_a1zUb :: TyFun ([] d_a1zIy) (TyFun ([] e_a1zIz) ([] ((,,,,) a_a1zIv b_a1zIw c_a1zIx d_a1zIy e_a1zIz)) -> *)) data Zip5Sym4 (l_a1zUh :: [] a_a1zIv) (l_a1zUi :: [] b_a1zIw) (l_a1zUj :: [] c_a1zIx) (l_a1zUk :: [] d_a1zIy) (l_a1zUg :: TyFun ([] e_a1zIz) ([] ((,,,,) a_a1zIv b_a1zIw c_a1zIx d_a1zIy e_a1zIz))) type Zip5Sym5 (t_a1zTX :: [] a_a1zIv) (t_a1zTY :: [] b_a1zIw) (t_a1zTZ :: [] c_a1zIx) (t_a1zU0 :: [] d_a1zIy) (t_a1zU1 :: [] e_a1zIz) = Zip5 t_a1zTX t_a1zTY t_a1zTZ t_a1zU0 t_a1zU1 data Zip6Sym0 (l_a1zTa :: TyFun ([] a_a1zIA) (TyFun ([] b_a1zIB) (TyFun ([] c_a1zIC) (TyFun ([] d_a1zID) (TyFun ([] e_a1zIE) (TyFun ([] f_a1zIF) ([] ((,,,,,) a_a1zIA b_a1zIB c_a1zIC d_a1zID e_a1zIE f_a1zIF)) -> *) -> *) -> *) -> *) -> *)) data Zip6Sym1 (l_a1zTd :: [] a_a1zIA) (l_a1zTc :: TyFun ([] b_a1zIB) (TyFun ([] c_a1zIC) (TyFun ([] d_a1zID) (TyFun ([] e_a1zIE) (TyFun ([] f_a1zIF) ([] ((,,,,,) a_a1zIA b_a1zIB c_a1zIC d_a1zID e_a1zIE f_a1zIF)) -> *) -> *) -> *) -> *)) data Zip6Sym2 (l_a1zTg :: [] a_a1zIA) (l_a1zTh :: [] b_a1zIB) (l_a1zTf :: TyFun ([] c_a1zIC) (TyFun ([] d_a1zID) (TyFun ([] e_a1zIE) (TyFun ([] f_a1zIF) ([] ((,,,,,) a_a1zIA b_a1zIB c_a1zIC d_a1zID e_a1zIE f_a1zIF)) -> *) -> *) -> *)) data Zip6Sym3 (l_a1zTk :: [] a_a1zIA) (l_a1zTl :: [] b_a1zIB) (l_a1zTm :: [] c_a1zIC) (l_a1zTj :: TyFun ([] d_a1zID) (TyFun ([] e_a1zIE) (TyFun ([] f_a1zIF) ([] ((,,,,,) a_a1zIA b_a1zIB c_a1zIC d_a1zID e_a1zIE f_a1zIF)) -> *) -> *)) data Zip6Sym4 (l_a1zTp :: [] a_a1zIA) (l_a1zTq :: [] b_a1zIB) (l_a1zTr :: [] c_a1zIC) (l_a1zTs :: [] d_a1zID) (l_a1zTo :: TyFun ([] e_a1zIE) (TyFun ([] f_a1zIF) ([] ((,,,,,) a_a1zIA b_a1zIB c_a1zIC d_a1zID e_a1zIE f_a1zIF)) -> *)) data Zip6Sym5 (l_a1zTv :: [] a_a1zIA) (l_a1zTw :: [] b_a1zIB) (l_a1zTx :: [] c_a1zIC) (l_a1zTy :: [] d_a1zID) (l_a1zTz :: [] e_a1zIE) (l_a1zTu :: TyFun ([] f_a1zIF) ([] ((,,,,,) a_a1zIA b_a1zIB c_a1zIC d_a1zID e_a1zIE f_a1zIF))) type Zip6Sym6 (t_a1zT4 :: [] a_a1zIA) (t_a1zT5 :: [] b_a1zIB) (t_a1zT6 :: [] c_a1zIC) (t_a1zT7 :: [] d_a1zID) (t_a1zT8 :: [] e_a1zIE) (t_a1zT9 :: [] f_a1zIF) = Zip6 t_a1zT4 t_a1zT5 t_a1zT6 t_a1zT7 t_a1zT8 t_a1zT9 data Zip7Sym0 (l_a1zS5 :: TyFun ([] a_a1zIG) (TyFun ([] b_a1zIH) (TyFun ([] c_a1zII) (TyFun ([] d_a1zIJ) (TyFun ([] e_a1zIK) (TyFun ([] f_a1zIL) (TyFun ([] g_a1zIM) ([] ((,,,,,,) a_a1zIG b_a1zIH c_a1zII d_a1zIJ e_a1zIK f_a1zIL g_a1zIM)) -> *) -> *) -> *) -> *) -> *) -> *)) data Zip7Sym1 (l_a1zS8 :: [] a_a1zIG) (l_a1zS7 :: TyFun ([] b_a1zIH) (TyFun ([] c_a1zII) (TyFun ([] d_a1zIJ) (TyFun ([] e_a1zIK) (TyFun ([] f_a1zIL) (TyFun ([] g_a1zIM) ([] ((,,,,,,) a_a1zIG b_a1zIH c_a1zII d_a1zIJ e_a1zIK f_a1zIL g_a1zIM)) -> *) -> *) -> *) -> *) -> *)) data Zip7Sym2 (l_a1zSb :: [] a_a1zIG) (l_a1zSc :: [] b_a1zIH) (l_a1zSa :: TyFun ([] c_a1zII) (TyFun ([] d_a1zIJ) (TyFun ([] e_a1zIK) (TyFun ([] f_a1zIL) (TyFun ([] g_a1zIM) ([] ((,,,,,,) a_a1zIG b_a1zIH c_a1zII d_a1zIJ e_a1zIK f_a1zIL g_a1zIM)) -> *) -> *) -> *) -> *)) data Zip7Sym3 (l_a1zSf :: [] a_a1zIG) (l_a1zSg :: [] b_a1zIH) (l_a1zSh :: [] c_a1zII) (l_a1zSe :: TyFun ([] d_a1zIJ) (TyFun ([] e_a1zIK) (TyFun ([] f_a1zIL) (TyFun ([] g_a1zIM) ([] ((,,,,,,) a_a1zIG b_a1zIH c_a1zII d_a1zIJ e_a1zIK f_a1zIL g_a1zIM)) -> *) -> *) -> *)) data Zip7Sym4 (l_a1zSk :: [] a_a1zIG) (l_a1zSl :: [] b_a1zIH) (l_a1zSm :: [] c_a1zII) (l_a1zSn :: [] d_a1zIJ) (l_a1zSj :: TyFun ([] e_a1zIK) (TyFun ([] f_a1zIL) (TyFun ([] g_a1zIM) ([] ((,,,,,,) a_a1zIG b_a1zIH c_a1zII d_a1zIJ e_a1zIK f_a1zIL g_a1zIM)) -> *) -> *)) data Zip7Sym5 (l_a1zSq :: [] a_a1zIG) (l_a1zSr :: [] b_a1zIH) (l_a1zSs :: [] c_a1zII) (l_a1zSt :: [] d_a1zIJ) (l_a1zSu :: [] e_a1zIK) (l_a1zSp :: TyFun ([] f_a1zIL) (TyFun ([] g_a1zIM) ([] ((,,,,,,) a_a1zIG b_a1zIH c_a1zII d_a1zIJ e_a1zIK f_a1zIL g_a1zIM)) -> *)) data Zip7Sym6 (l_a1zSx :: [] a_a1zIG) (l_a1zSy :: [] b_a1zIH) (l_a1zSz :: [] c_a1zII) (l_a1zSA :: [] d_a1zIJ) (l_a1zSB :: [] e_a1zIK) (l_a1zSC :: [] f_a1zIL) (l_a1zSw :: TyFun ([] g_a1zIM) ([] ((,,,,,,) a_a1zIG b_a1zIH c_a1zII d_a1zIJ e_a1zIK f_a1zIL g_a1zIM))) type Zip7Sym7 (t_a1zRY :: [] a_a1zIG) (t_a1zRZ :: [] b_a1zIH) (t_a1zS0 :: [] c_a1zII) (t_a1zS1 :: [] d_a1zIJ) (t_a1zS2 :: [] e_a1zIK) (t_a1zS3 :: [] f_a1zIL) (t_a1zS4 :: [] g_a1zIM) = Zip7 t_a1zRY t_a1zRZ t_a1zS0 t_a1zS1 t_a1zS2 t_a1zS3 t_a1zS4 data ZipWith4Sym0 (l_a1zR7 :: TyFun (TyFun a_a1zIN (TyFun b_a1zIO (TyFun c_a1zIP (TyFun d_a1zIQ e_a1zIR -> *) -> *) -> *) -> *) (TyFun ([] a_a1zIN) (TyFun ([] b_a1zIO) (TyFun ([] c_a1zIP) (TyFun ([] d_a1zIQ) ([] e_a1zIR) -> *) -> *) -> *) -> *)) data ZipWith4Sym1 (l_a1zRa :: TyFun a_a1zIN (TyFun b_a1zIO (TyFun c_a1zIP (TyFun d_a1zIQ e_a1zIR -> *) -> *) -> *) -> *) (l_a1zR9 :: TyFun ([] a_a1zIN) (TyFun ([] b_a1zIO) (TyFun ([] c_a1zIP) (TyFun ([] d_a1zIQ) ([] e_a1zIR) -> *) -> *) -> *)) data ZipWith4Sym2 (l_a1zRd :: TyFun a_a1zIN (TyFun b_a1zIO (TyFun c_a1zIP (TyFun d_a1zIQ e_a1zIR -> *) -> *) -> *) -> *) (l_a1zRe :: [] a_a1zIN) (l_a1zRc :: TyFun ([] b_a1zIO) (TyFun ([] c_a1zIP) (TyFun ([] d_a1zIQ) ([] e_a1zIR) -> *) -> *)) data ZipWith4Sym3 (l_a1zRh :: TyFun a_a1zIN (TyFun b_a1zIO (TyFun c_a1zIP (TyFun d_a1zIQ e_a1zIR -> *) -> *) -> *) -> *) (l_a1zRi :: [] a_a1zIN) (l_a1zRj :: [] b_a1zIO) (l_a1zRg :: TyFun ([] c_a1zIP) (TyFun ([] d_a1zIQ) ([] e_a1zIR) -> *)) data ZipWith4Sym4 (l_a1zRm :: TyFun a_a1zIN (TyFun b_a1zIO (TyFun c_a1zIP (TyFun d_a1zIQ e_a1zIR -> *) -> *) -> *) -> *) (l_a1zRn :: [] a_a1zIN) (l_a1zRo :: [] b_a1zIO) (l_a1zRp :: [] c_a1zIP) (l_a1zRl :: TyFun ([] d_a1zIQ) ([] e_a1zIR)) data ZipWith5Sym0 (l_a1zQe :: TyFun (TyFun a_a1zJ1 (TyFun b_a1zJ2 (TyFun c_a1zJ3 (TyFun d_a1zJ4 (TyFun e_a1zJ5 f_a1zJ6 -> *) -> *) -> *) -> *) -> *) (TyFun ([] a_a1zJ1) (TyFun ([] b_a1zJ2) (TyFun ([] c_a1zJ3) (TyFun ([] d_a1zJ4) (TyFun ([] e_a1zJ5) ([] f_a1zJ6) -> *) -> *) -> *) -> *) -> *)) data ZipWith5Sym1 (l_a1zQh :: TyFun a_a1zJ1 (TyFun b_a1zJ2 (TyFun c_a1zJ3 (TyFun d_a1zJ4 (TyFun e_a1zJ5 f_a1zJ6 -> *) -> *) -> *) -> *) -> *) (l_a1zQg :: TyFun ([] a_a1zJ1) (TyFun ([] b_a1zJ2) (TyFun ([] c_a1zJ3) (TyFun ([] d_a1zJ4) (TyFun ([] e_a1zJ5) ([] f_a1zJ6) -> *) -> *) -> *) -> *)) data ZipWith5Sym2 (l_a1zQk :: TyFun a_a1zJ1 (TyFun b_a1zJ2 (TyFun c_a1zJ3 (TyFun d_a1zJ4 (TyFun e_a1zJ5 f_a1zJ6 -> *) -> *) -> *) -> *) -> *) (l_a1zQl :: [] a_a1zJ1) (l_a1zQj :: TyFun ([] b_a1zJ2) (TyFun ([] c_a1zJ3) (TyFun ([] d_a1zJ4) (TyFun ([] e_a1zJ5) ([] f_a1zJ6) -> *) -> *) -> *)) data ZipWith5Sym3 (l_a1zQo :: TyFun a_a1zJ1 (TyFun b_a1zJ2 (TyFun c_a1zJ3 (TyFun d_a1zJ4 (TyFun e_a1zJ5 f_a1zJ6 -> *) -> *) -> *) -> *) -> *) (l_a1zQp :: [] a_a1zJ1) (l_a1zQq :: [] b_a1zJ2) (l_a1zQn :: TyFun ([] c_a1zJ3) (TyFun ([] d_a1zJ4) (TyFun ([] e_a1zJ5) ([] f_a1zJ6) -> *) -> *)) data ZipWith5Sym4 (l_a1zQt :: TyFun a_a1zJ1 (TyFun b_a1zJ2 (TyFun c_a1zJ3 (TyFun d_a1zJ4 (TyFun e_a1zJ5 f_a1zJ6 -> *) -> *) -> *) -> *) -> *) (l_a1zQu :: [] a_a1zJ1) (l_a1zQv :: [] b_a1zJ2) (l_a1zQw :: [] c_a1zJ3) (l_a1zQs :: TyFun ([] d_a1zJ4) (TyFun ([] e_a1zJ5) ([] f_a1zJ6) -> *)) data ZipWith5Sym5 (l_a1zQz :: TyFun a_a1zJ1 (TyFun b_a1zJ2 (TyFun c_a1zJ3 (TyFun d_a1zJ4 (TyFun e_a1zJ5 f_a1zJ6 -> *) -> *) -> *) -> *) -> *) (l_a1zQA :: [] a_a1zJ1) (l_a1zQB :: [] b_a1zJ2) (l_a1zQC :: [] c_a1zJ3) (l_a1zQD :: [] d_a1zJ4) (l_a1zQy :: TyFun ([] e_a1zJ5) ([] f_a1zJ6)) data ZipWith6Sym0 (l_a1zP8 :: TyFun (TyFun a_a1zJi (TyFun b_a1zJj (TyFun c_a1zJk (TyFun d_a1zJl (TyFun e_a1zJm (TyFun f_a1zJn g_a1zJo -> *) -> *) -> *) -> *) -> *) -> *) (TyFun ([] a_a1zJi) (TyFun ([] b_a1zJj) (TyFun ([] c_a1zJk) (TyFun ([] d_a1zJl) (TyFun ([] e_a1zJm) (TyFun ([] f_a1zJn) ([] g_a1zJo) -> *) -> *) -> *) -> *) -> *) -> *)) data ZipWith6Sym1 (l_a1zPb :: TyFun a_a1zJi (TyFun b_a1zJj (TyFun c_a1zJk (TyFun d_a1zJl (TyFun e_a1zJm (TyFun f_a1zJn g_a1zJo -> *) -> *) -> *) -> *) -> *) -> *) (l_a1zPa :: TyFun ([] a_a1zJi) (TyFun ([] b_a1zJj) (TyFun ([] c_a1zJk) (TyFun ([] d_a1zJl) (TyFun ([] e_a1zJm) (TyFun ([] f_a1zJn) ([] g_a1zJo) -> *) -> *) -> *) -> *) -> *)) data ZipWith6Sym2 (l_a1zPe :: TyFun a_a1zJi (TyFun b_a1zJj (TyFun c_a1zJk (TyFun d_a1zJl (TyFun e_a1zJm (TyFun f_a1zJn g_a1zJo -> *) -> *) -> *) -> *) -> *) -> *) (l_a1zPf :: [] a_a1zJi) (l_a1zPd :: TyFun ([] b_a1zJj) (TyFun ([] c_a1zJk) (TyFun ([] d_a1zJl) (TyFun ([] e_a1zJm) (TyFun ([] f_a1zJn) ([] g_a1zJo) -> *) -> *) -> *) -> *)) data ZipWith6Sym3 (l_a1zPi :: TyFun a_a1zJi (TyFun b_a1zJj (TyFun c_a1zJk (TyFun d_a1zJl (TyFun e_a1zJm (TyFun f_a1zJn g_a1zJo -> *) -> *) -> *) -> *) -> *) -> *) (l_a1zPj :: [] a_a1zJi) (l_a1zPk :: [] b_a1zJj) (l_a1zPh :: TyFun ([] c_a1zJk) (TyFun ([] d_a1zJl) (TyFun ([] e_a1zJm) (TyFun ([] f_a1zJn) ([] g_a1zJo) -> *) -> *) -> *)) data ZipWith6Sym4 (l_a1zPn :: TyFun a_a1zJi (TyFun b_a1zJj (TyFun c_a1zJk (TyFun d_a1zJl (TyFun e_a1zJm (TyFun f_a1zJn g_a1zJo -> *) -> *) -> *) -> *) -> *) -> *) (l_a1zPo :: [] a_a1zJi) (l_a1zPp :: [] b_a1zJj) (l_a1zPq :: [] c_a1zJk) (l_a1zPm :: TyFun ([] d_a1zJl) (TyFun ([] e_a1zJm) (TyFun ([] f_a1zJn) ([] g_a1zJo) -> *) -> *)) data ZipWith6Sym5 (l_a1zPt :: TyFun a_a1zJi (TyFun b_a1zJj (TyFun c_a1zJk (TyFun d_a1zJl (TyFun e_a1zJm (TyFun f_a1zJn g_a1zJo -> *) -> *) -> *) -> *) -> *) -> *) (l_a1zPu :: [] a_a1zJi) (l_a1zPv :: [] b_a1zJj) (l_a1zPw :: [] c_a1zJk) (l_a1zPx :: [] d_a1zJl) (l_a1zPs :: TyFun ([] e_a1zJm) (TyFun ([] f_a1zJn) ([] g_a1zJo) -> *)) data ZipWith6Sym6 (l_a1zPA :: TyFun a_a1zJi (TyFun b_a1zJj (TyFun c_a1zJk (TyFun d_a1zJl (TyFun e_a1zJm (TyFun f_a1zJn g_a1zJo -> *) -> *) -> *) -> *) -> *) -> *) (l_a1zPB :: [] a_a1zJi) (l_a1zPC :: [] b_a1zJj) (l_a1zPD :: [] c_a1zJk) (l_a1zPE :: [] d_a1zJl) (l_a1zPF :: [] e_a1zJm) (l_a1zPz :: TyFun ([] f_a1zJn) ([] g_a1zJo)) data ZipWith7Sym0 (l_a1zNO :: TyFun (TyFun a_a1zJC (TyFun b_a1zJD (TyFun c_a1zJE (TyFun d_a1zJF (TyFun e_a1zJG (TyFun f_a1zJH (TyFun g_a1zJI h_a1zJJ -> *) -> *) -> *) -> *) -> *) -> *) -> *) (TyFun ([] a_a1zJC) (TyFun ([] b_a1zJD) (TyFun ([] c_a1zJE) (TyFun ([] d_a1zJF) (TyFun ([] e_a1zJG) (TyFun ([] f_a1zJH) (TyFun ([] g_a1zJI) ([] h_a1zJJ) -> *) -> *) -> *) -> *) -> *) -> *) -> *)) data ZipWith7Sym1 (l_a1zNR :: TyFun a_a1zJC (TyFun b_a1zJD (TyFun c_a1zJE (TyFun d_a1zJF (TyFun e_a1zJG (TyFun f_a1zJH (TyFun g_a1zJI h_a1zJJ -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1zNQ :: TyFun ([] a_a1zJC) (TyFun ([] b_a1zJD) (TyFun ([] c_a1zJE) (TyFun ([] d_a1zJF) (TyFun ([] e_a1zJG) (TyFun ([] f_a1zJH) (TyFun ([] g_a1zJI) ([] h_a1zJJ) -> *) -> *) -> *) -> *) -> *) -> *)) data ZipWith7Sym2 (l_a1zNU :: TyFun a_a1zJC (TyFun b_a1zJD (TyFun c_a1zJE (TyFun d_a1zJF (TyFun e_a1zJG (TyFun f_a1zJH (TyFun g_a1zJI h_a1zJJ -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1zNV :: [] a_a1zJC) (l_a1zNT :: TyFun ([] b_a1zJD) (TyFun ([] c_a1zJE) (TyFun ([] d_a1zJF) (TyFun ([] e_a1zJG) (TyFun ([] f_a1zJH) (TyFun ([] g_a1zJI) ([] h_a1zJJ) -> *) -> *) -> *) -> *) -> *)) data ZipWith7Sym3 (l_a1zNY :: TyFun a_a1zJC (TyFun b_a1zJD (TyFun c_a1zJE (TyFun d_a1zJF (TyFun e_a1zJG (TyFun f_a1zJH (TyFun g_a1zJI h_a1zJJ -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1zNZ :: [] a_a1zJC) (l_a1zO0 :: [] b_a1zJD) (l_a1zNX :: TyFun ([] c_a1zJE) (TyFun ([] d_a1zJF) (TyFun ([] e_a1zJG) (TyFun ([] f_a1zJH) (TyFun ([] g_a1zJI) ([] h_a1zJJ) -> *) -> *) -> *) -> *)) data ZipWith7Sym4 (l_a1zO3 :: TyFun a_a1zJC (TyFun b_a1zJD (TyFun c_a1zJE (TyFun d_a1zJF (TyFun e_a1zJG (TyFun f_a1zJH (TyFun g_a1zJI h_a1zJJ -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1zO4 :: [] a_a1zJC) (l_a1zO5 :: [] b_a1zJD) (l_a1zO6 :: [] c_a1zJE) (l_a1zO2 :: TyFun ([] d_a1zJF) (TyFun ([] e_a1zJG) (TyFun ([] f_a1zJH) (TyFun ([] g_a1zJI) ([] h_a1zJJ) -> *) -> *) -> *)) data ZipWith7Sym5 (l_a1zO9 :: TyFun a_a1zJC (TyFun b_a1zJD (TyFun c_a1zJE (TyFun d_a1zJF (TyFun e_a1zJG (TyFun f_a1zJH (TyFun g_a1zJI h_a1zJJ -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1zOa :: [] a_a1zJC) (l_a1zOb :: [] b_a1zJD) (l_a1zOc :: [] c_a1zJE) (l_a1zOd :: [] d_a1zJF) (l_a1zO8 :: TyFun ([] e_a1zJG) (TyFun ([] f_a1zJH) (TyFun ([] g_a1zJI) ([] h_a1zJJ) -> *) -> *)) data ZipWith7Sym6 (l_a1zOg :: TyFun a_a1zJC (TyFun b_a1zJD (TyFun c_a1zJE (TyFun d_a1zJF (TyFun e_a1zJG (TyFun f_a1zJH (TyFun g_a1zJI h_a1zJJ -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1zOh :: [] a_a1zJC) (l_a1zOi :: [] b_a1zJD) (l_a1zOj :: [] c_a1zJE) (l_a1zOk :: [] d_a1zJF) (l_a1zOl :: [] e_a1zJG) (l_a1zOf :: TyFun ([] f_a1zJH) (TyFun ([] g_a1zJI) ([] h_a1zJJ) -> *)) data ZipWith7Sym7 (l_a1zOo :: TyFun a_a1zJC (TyFun b_a1zJD (TyFun c_a1zJE (TyFun d_a1zJF (TyFun e_a1zJG (TyFun f_a1zJH (TyFun g_a1zJI h_a1zJJ -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1zOp :: [] a_a1zJC) (l_a1zOq :: [] b_a1zJD) (l_a1zOr :: [] c_a1zJE) (l_a1zOs :: [] d_a1zJF) (l_a1zOt :: [] e_a1zJG) (l_a1zOu :: [] f_a1zJH) (l_a1zOn :: TyFun ([] g_a1zJI) ([] h_a1zJJ)) data NubSym0 (l_a1zN8 :: TyFun ([] a_a1zJZ) ([] a_a1zJZ)) type NubSym1 (t_a1zN7 :: [] a_a1zJZ) = Nub t_a1zN7 data NubBySym0 (l_a1zLR :: TyFun (TyFun a_a1zK6 (TyFun a_a1zK6 Bool -> *) -> *) (TyFun ([] a_a1zK6) ([] a_a1zK6) -> *)) data NubBySym1 (l_a1zLU :: TyFun a_a1zK6 (TyFun a_a1zK6 Bool -> *) -> *) (l_a1zLT :: TyFun ([] a_a1zK6) ([] a_a1zK6)) type NubBySym2 (t_a1zLP :: TyFun a_a1zK6 (TyFun a_a1zK6 Bool -> *) -> *) (t_a1zLQ :: [] a_a1zK6) = NubBy t_a1zLP t_a1zLQ data UnionSym0 (l_a1zMY :: TyFun ([] a_a1zKn) (TyFun ([] a_a1zKn) ([] a_a1zKn) -> *)) data UnionSym1 (l_a1zN1 :: [] a_a1zKn) (l_a1zN0 :: TyFun ([] a_a1zKn) ([] a_a1zKn)) type UnionSym2 (t_a1zMW :: [] a_a1zKn) (t_a1zMX :: [] a_a1zKn) = Union t_a1zMW t_a1zMX data UnionBySym0 (l_a1zMD :: TyFun (TyFun a_a1zKj (TyFun a_a1zKj Bool -> *) -> *) (TyFun ([] a_a1zKj) (TyFun ([] a_a1zKj) ([] a_a1zKj) -> *) -> *)) data UnionBySym1 (l_a1zMG :: TyFun a_a1zKj (TyFun a_a1zKj Bool -> *) -> *) (l_a1zMF :: TyFun ([] a_a1zKj) (TyFun ([] a_a1zKj) ([] a_a1zKj) -> *)) data UnionBySym2 (l_a1zMJ :: TyFun a_a1zKj (TyFun a_a1zKj Bool -> *) -> *) (l_a1zMK :: [] a_a1zKj) (l_a1zMI :: TyFun ([] a_a1zKj) ([] a_a1zKj)) type UnionBySym3 (t_a1zMA :: TyFun a_a1zKj (TyFun a_a1zKj Bool -> *) -> *) (t_a1zMB :: [] a_a1zKj) (t_a1zMC :: [] a_a1zKj) = UnionBy t_a1zMA t_a1zMB t_a1zMC data GenericLengthSym0 (l_a1AbW :: TyFun ([] a_a1zKu) i_a1zKv) type GenericLengthSym1 (t_a1AbV :: [] a_a1zKu) = GenericLength t_a1AbV data GenericTakeSym0 (l_a1A8H :: TyFun i_a1zKw (TyFun ([] a_a1zKx) ([] a_a1zKx) -> *)) data GenericTakeSym1 (l_a1A8K :: i_a1zKw) (l_a1A8J :: TyFun ([] a_a1zKx) ([] a_a1zKx)) type GenericTakeSym2 (t_a1A8F :: i_a1zKw) (t_a1A8G :: [] a_a1zKx) = GenericTake t_a1A8F t_a1A8G data GenericDropSym0 (l_a1A7N :: TyFun i_a1zKy (TyFun ([] a_a1zKz) ([] a_a1zKz) -> *)) data GenericDropSym1 (l_a1A7Q :: i_a1zKy) (l_a1A7P :: TyFun ([] a_a1zKz) ([] a_a1zKz)) type GenericDropSym2 (t_a1A7L :: i_a1zKy) (t_a1A7M :: [] a_a1zKz) = GenericDrop t_a1A7L t_a1A7M data GenericSplitAtSym0 (l_a1A8s :: TyFun i_a1zKA (TyFun ([] a_a1zKB) ((,) ([] a_a1zKB) ([] a_a1zKB)) -> *)) data GenericSplitAtSym1 (l_a1A8v :: i_a1zKA) (l_a1A8u :: TyFun ([] a_a1zKB) ((,) ([] a_a1zKB) ([] a_a1zKB))) type GenericSplitAtSym2 (t_a1A8q :: i_a1zKA) (t_a1A8r :: [] a_a1zKB) = GenericSplitAt t_a1A8q t_a1A8r data GenericIndexSym0 (l_a1zVr :: TyFun ([] a_a1zKC) (TyFun i_a1zKD a_a1zKC -> *)) data GenericIndexSym1 (l_a1zVu :: [] a_a1zKC) (l_a1zVt :: TyFun i_a1zKD a_a1zKC) type GenericIndexSym2 (t_a1zVp :: [] a_a1zKC) (t_a1zVq :: i_a1zKD) = GenericIndex t_a1zVp t_a1zVq data GenericReplicateSym0 (l_a1A9g :: TyFun i_a1zKE (TyFun a_a1zKF ([] a_a1zKF) -> *)) data GenericReplicateSym1 (l_a1A9j :: i_a1zKE) (l_a1A9i :: TyFun a_a1zKF ([] a_a1zKF)) type GenericReplicateSym2 (t_a1A9e :: i_a1zKE) (t_a1A9f :: a_a1zKF) = GenericReplicate t_a1A9e t_a1A9f 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_1627767339Sym0 instance SuppressUnusedWarnings Lambda_1627767339Sym1 instance SuppressUnusedWarnings Lambda_1627767339Sym2 instance SuppressUnusedWarnings Let_1627767314BuildListSym0 instance SuppressUnusedWarnings Let_1627767314BuildListSym1 instance SuppressUnusedWarnings Let_1627767314BuildListSym2 instance SuppressUnusedWarnings Let_1627767314BuildListSym3 instance SuppressUnusedWarnings Let_1627767277Sum'Sym0 instance SuppressUnusedWarnings Let_1627767277Sum'Sym1 instance SuppressUnusedWarnings Let_1627767277Sum'Sym2 instance SuppressUnusedWarnings Let_1627767252ProdSym0 instance SuppressUnusedWarnings Let_1627767252ProdSym1 instance SuppressUnusedWarnings Let_1627767252ProdSym2 instance SuppressUnusedWarnings Let_1627767129XsSym0 instance SuppressUnusedWarnings Let_1627767129XsSym1 instance SuppressUnusedWarnings Let_1627767061XsSym0 instance SuppressUnusedWarnings Let_1627767061XsSym1 instance SuppressUnusedWarnings Let_1627767061XsSym2 instance SuppressUnusedWarnings Let_1627767061XsSym3 instance SuppressUnusedWarnings Let_1627767061XsSym4 instance SuppressUnusedWarnings Lambda_1627766995Sym0 instance SuppressUnusedWarnings Lambda_1627766995Sym1 instance SuppressUnusedWarnings Lambda_1627766995Sym2 instance SuppressUnusedWarnings Lambda_1627766995Sym3 instance SuppressUnusedWarnings Let_1627767000Scrutinee_1627765726Sym0 instance SuppressUnusedWarnings Let_1627767000Scrutinee_1627765726Sym1 instance SuppressUnusedWarnings Let_1627767000Scrutinee_1627765726Sym2 instance SuppressUnusedWarnings Let_1627767000Scrutinee_1627765726Sym3 instance SuppressUnusedWarnings Let_1627766921X_1627766923Sym0 instance SuppressUnusedWarnings Let_1627766921X_1627766923Sym1 instance SuppressUnusedWarnings Let_1627766921X_1627766923Sym2 instance SuppressUnusedWarnings Let_1627766921ZsSym0 instance SuppressUnusedWarnings Let_1627766921ZsSym1 instance SuppressUnusedWarnings Let_1627766921ZsSym2 instance SuppressUnusedWarnings Let_1627766921YsSym0 instance SuppressUnusedWarnings Let_1627766921YsSym1 instance SuppressUnusedWarnings Let_1627766921YsSym2 instance SuppressUnusedWarnings Let_1627766809X_1627766811Sym0 instance SuppressUnusedWarnings Let_1627766809X_1627766811Sym1 instance SuppressUnusedWarnings Let_1627766809X_1627766811Sym2 instance SuppressUnusedWarnings Let_1627766809X_1627766811Sym3 instance SuppressUnusedWarnings Let_1627766809X_1627766811Sym4 instance SuppressUnusedWarnings Let_1627766809ZsSym0 instance SuppressUnusedWarnings Let_1627766809ZsSym1 instance SuppressUnusedWarnings Let_1627766809ZsSym2 instance SuppressUnusedWarnings Let_1627766809ZsSym3 instance SuppressUnusedWarnings Let_1627766809ZsSym4 instance SuppressUnusedWarnings Let_1627766809YsSym0 instance SuppressUnusedWarnings Let_1627766809YsSym1 instance SuppressUnusedWarnings Let_1627766809YsSym2 instance SuppressUnusedWarnings Let_1627766809YsSym3 instance SuppressUnusedWarnings Let_1627766809YsSym4 instance SuppressUnusedWarnings Let_1627766780XsSym0 instance SuppressUnusedWarnings Let_1627766780XsSym1 instance SuppressUnusedWarnings Let_1627766780XsSym2 instance SuppressUnusedWarnings Let_1627766780XsSym3 instance SuppressUnusedWarnings Let_1627766780XsSym4 instance SuppressUnusedWarnings Let_1627766662X_1627766664Sym0 instance SuppressUnusedWarnings Let_1627766662X_1627766664Sym1 instance SuppressUnusedWarnings Let_1627766662X_1627766664Sym2 instance SuppressUnusedWarnings Let_1627766662X_1627766664Sym3 instance SuppressUnusedWarnings Let_1627766662X_1627766664Sym4 instance SuppressUnusedWarnings Let_1627766662ZsSym0 instance SuppressUnusedWarnings Let_1627766662ZsSym1 instance SuppressUnusedWarnings Let_1627766662ZsSym2 instance SuppressUnusedWarnings Let_1627766662ZsSym3 instance SuppressUnusedWarnings Let_1627766662ZsSym4 instance SuppressUnusedWarnings Let_1627766662YsSym0 instance SuppressUnusedWarnings Let_1627766662YsSym1 instance SuppressUnusedWarnings Let_1627766662YsSym2 instance SuppressUnusedWarnings Let_1627766662YsSym3 instance SuppressUnusedWarnings Let_1627766662YsSym4 instance SuppressUnusedWarnings Let_1627766633XsSym0 instance SuppressUnusedWarnings Let_1627766633XsSym1 instance SuppressUnusedWarnings Let_1627766633XsSym2 instance SuppressUnusedWarnings Let_1627766633XsSym3 instance SuppressUnusedWarnings Let_1627766633XsSym4 instance SuppressUnusedWarnings Lambda_1627766479Sym0 instance SuppressUnusedWarnings Lambda_1627766479Sym1 instance SuppressUnusedWarnings Lambda_1627766479Sym2 instance SuppressUnusedWarnings Lambda_1627766479Sym3 instance SuppressUnusedWarnings Let_1627765870Nub'Sym0 instance SuppressUnusedWarnings Let_1627765870Nub'Sym1 instance SuppressUnusedWarnings Let_1627765870Nub'Sym2 instance SuppressUnusedWarnings Let_1627765796NubBy'Sym0 instance SuppressUnusedWarnings Let_1627765796NubBy'Sym1 instance SuppressUnusedWarnings Let_1627765796NubBy'Sym2 instance SuppressUnusedWarnings Let_1627765796NubBy'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_a1vwV -> (a_a1vwW -> b_a1vwV) -> Maybe a_a1vwW -> b_a1vwV type NothingSym0 = Nothing data JustSym0 (l_as5v :: TyFun a_a4Bf (Maybe a_a4Bf)) type JustSym1 (t_as5u :: a_a4Bf) = Just t_as5u data Maybe_Sym0 (l_a1vx3 :: TyFun b_a1vwV (TyFun (TyFun a_a1vwW b_a1vwV -> *) (TyFun (Maybe a_a1vwW) b_a1vwV -> *) -> *)) data Maybe_Sym1 (l_a1vx6 :: b_a1vwV) (l_a1vx5 :: TyFun (TyFun a_a1vwW b_a1vwV -> *) (TyFun (Maybe a_a1vwW) b_a1vwV -> *)) data Maybe_Sym2 (l_a1vx9 :: b_a1vwV) (l_a1vxa :: TyFun a_a1vwW b_a1vwV -> *) (l_a1vx8 :: TyFun (Maybe a_a1vwW) b_a1vwV) type Maybe_Sym3 (t_a1vx0 :: b_a1vwV) (t_a1vx1 :: TyFun a_a1vwW b_a1vwV -> *) (t_a1vx2 :: Maybe a_a1vwW) = Maybe_ t_a1vx0 t_a1vx1 t_a1vx2 data IsJustSym0 (l_a1vUA :: TyFun (Maybe a_a1vSx) Bool) type IsJustSym1 (t_a1vUz :: Maybe a_a1vSx) = IsJust t_a1vUz data IsNothingSym0 (l_a1vUv :: TyFun (Maybe a_a1vSy) Bool) type IsNothingSym1 (t_a1vUu :: Maybe a_a1vSy) = IsNothing t_a1vUu data FromJustSym0 (l_a1vUq :: TyFun (Maybe a_a1vSz) a_a1vSz) type FromJustSym1 (t_a1vUp :: Maybe a_a1vSz) = FromJust t_a1vUp data FromMaybeSym0 (l_a1vU2 :: TyFun a_a1vSB (TyFun (Maybe a_a1vSB) a_a1vSB -> *)) data FromMaybeSym1 (l_a1vU5 :: a_a1vSB) (l_a1vU4 :: TyFun (Maybe a_a1vSB) a_a1vSB) type FromMaybeSym2 (t_a1vU0 :: a_a1vSB) (t_a1vU1 :: Maybe a_a1vSB) = FromMaybe t_a1vU0 t_a1vU1 data MaybeToListSym0 (l_a1vTW :: TyFun (Maybe a_a1vSF) ([] a_a1vSF)) type MaybeToListSym1 (t_a1vTV :: Maybe a_a1vSF) = MaybeToList t_a1vTV data ListToMaybeSym0 (l_a1vTQ :: TyFun ([] a_a1vSH) (Maybe a_a1vSH)) type ListToMaybeSym1 (t_a1vTP :: [] a_a1vSH) = ListToMaybe t_a1vTP data CatMaybesSym0 (l_a1vTJ :: TyFun ([] (Maybe a_a1vSJ)) ([] a_a1vSJ)) type CatMaybesSym1 (t_a1vTI :: [] (Maybe a_a1vSJ)) = CatMaybes t_a1vTI data MapMaybeSym0 (l_a1vT0 :: TyFun (TyFun a_a1vSN (Maybe b_a1vSO) -> *) (TyFun ([] a_a1vSN) ([] b_a1vSO) -> *)) data MapMaybeSym1 (l_a1vT3 :: TyFun a_a1vSN (Maybe b_a1vSO) -> *) (l_a1vT2 :: TyFun ([] a_a1vSN) ([] b_a1vSO)) type MapMaybeSym2 (t_a1vSY :: TyFun a_a1vSN (Maybe b_a1vSO) -> *) (t_a1vSZ :: [] a_a1vSN) = MapMaybe t_a1vSY t_a1vSZ -- | 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_a1vwV -> (a_a1vwW -> b_a1vwV) -> Maybe a_a1vwW -> b_a1vwV either_ :: (a_aJZ2 -> c_aJZ3) -> (b_aJZ4 -> c_aJZ3) -> Either a_aJZ2 b_aJZ4 -> c_aJZ3 -- | (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_aO9Z -> Bool) -> [a_aO9Z] -> 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_ayZb :: TyFun Bool Bool) type NotSym1 (t_ayZa :: Bool) = Not t_ayZa data (:&&$) (l_ayZr :: TyFun Bool (TyFun Bool Bool -> *)) data (:&&$$) (l_ayZu :: Bool) (l_ayZt :: TyFun Bool Bool) type (:&&$$$) (t_ayZp :: Bool) (t_ayZq :: Bool) = (:&&) t_ayZp t_ayZq data (:||$) (l_ayZg :: TyFun Bool (TyFun Bool Bool -> *)) data (:||$$) (l_ayZj :: Bool) (l_ayZi :: TyFun Bool Bool) type (:||$$$) (t_ayZe :: Bool) (t_ayZf :: Bool) = (:||) t_ayZe t_ayZf type OtherwiseSym0 = Otherwise type NothingSym0 = Nothing data JustSym0 (l_as5v :: TyFun a_a4Bf (Maybe a_a4Bf)) type JustSym1 (t_as5u :: a_a4Bf) = Just t_as5u data Maybe_Sym0 (l_a1vx3 :: TyFun b_a1vwV (TyFun (TyFun a_a1vwW b_a1vwV -> *) (TyFun (Maybe a_a1vwW) b_a1vwV -> *) -> *)) data Maybe_Sym1 (l_a1vx6 :: b_a1vwV) (l_a1vx5 :: TyFun (TyFun a_a1vwW b_a1vwV -> *) (TyFun (Maybe a_a1vwW) b_a1vwV -> *)) data Maybe_Sym2 (l_a1vx9 :: b_a1vwV) (l_a1vxa :: TyFun a_a1vwW b_a1vwV -> *) (l_a1vx8 :: TyFun (Maybe a_a1vwW) b_a1vwV) type Maybe_Sym3 (t_a1vx0 :: b_a1vwV) (t_a1vx1 :: TyFun a_a1vwW b_a1vwV -> *) (t_a1vx2 :: Maybe a_a1vwW) = Maybe_ t_a1vx0 t_a1vx1 t_a1vx2 data LeftSym0 (l_as5W :: TyFun a_a7pS (Either a_a7pS b_a7pT)) type LeftSym1 (t_as5V :: a_a7pS) = Left t_as5V data RightSym0 (l_as5Z :: TyFun b_a7pT (Either a_a7pS b_a7pT)) type RightSym1 (t_as5Y :: b_a7pT) = Right t_as5Y data Either_Sym0 (l_aJZc :: TyFun (TyFun a_aJZ2 c_aJZ3 -> *) (TyFun (TyFun b_aJZ4 c_aJZ3 -> *) (TyFun (Either a_aJZ2 b_aJZ4) c_aJZ3 -> *) -> *)) data Either_Sym1 (l_aJZf :: TyFun a_aJZ2 c_aJZ3 -> *) (l_aJZe :: TyFun (TyFun b_aJZ4 c_aJZ3 -> *) (TyFun (Either a_aJZ2 b_aJZ4) c_aJZ3 -> *)) data Either_Sym2 (l_aJZi :: TyFun a_aJZ2 c_aJZ3 -> *) (l_aJZj :: TyFun b_aJZ4 c_aJZ3 -> *) (l_aJZh :: TyFun (Either a_aJZ2 b_aJZ4) c_aJZ3) type Either_Sym3 (t_aJZ9 :: TyFun a_aJZ2 c_aJZ3 -> *) (t_aJZa :: TyFun b_aJZ4 c_aJZ3 -> *) (t_aJZb :: Either a_aJZ2 b_aJZ4) = Either_ t_aJZ9 t_aJZa t_aJZb type Tuple0Sym0 = () data Tuple2Sym0 (l_as6h :: TyFun a_12 (TyFun b_13 ((,) a_12 b_13) -> *)) data Tuple2Sym1 (l_as6k :: a_12) (l_as6j :: TyFun b_13 ((,) a_12 b_13)) type Tuple2Sym2 (t_as6f :: a_12) (t_as6g :: b_13) = (,) t_as6f t_as6g data Tuple3Sym0 (l_as6B :: TyFun a_12 (TyFun b_13 (TyFun c_14 ((,,) a_12 b_13 c_14) -> *) -> *)) data Tuple3Sym1 (l_as6E :: a_12) (l_as6D :: TyFun b_13 (TyFun c_14 ((,,) a_12 b_13 c_14) -> *)) data Tuple3Sym2 (l_as6H :: a_12) (l_as6I :: b_13) (l_as6G :: TyFun c_14 ((,,) a_12 b_13 c_14)) type Tuple3Sym3 (t_as6y :: a_12) (t_as6z :: b_13) (t_as6A :: c_14) = (,,) t_as6y t_as6z t_as6A data Tuple4Sym0 (l_as75 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 ((,,,) a_12 b_13 c_14 d_15) -> *) -> *) -> *)) data Tuple4Sym1 (l_as78 :: a_12) (l_as77 :: TyFun b_13 (TyFun c_14 (TyFun d_15 ((,,,) a_12 b_13 c_14 d_15) -> *) -> *)) data Tuple4Sym2 (l_as7b :: a_12) (l_as7c :: b_13) (l_as7a :: TyFun c_14 (TyFun d_15 ((,,,) a_12 b_13 c_14 d_15) -> *)) data Tuple4Sym3 (l_as7f :: a_12) (l_as7g :: b_13) (l_as7h :: c_14) (l_as7e :: TyFun d_15 ((,,,) a_12 b_13 c_14 d_15)) type Tuple4Sym4 (t_as71 :: a_12) (t_as72 :: b_13) (t_as73 :: c_14) (t_as74 :: d_15) = (,,,) t_as71 t_as72 t_as73 t_as74 data Tuple5Sym0 (l_as7K :: 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_as7N :: a_12) (l_as7M :: 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_as7Q :: a_12) (l_as7R :: b_13) (l_as7P :: TyFun c_14 (TyFun d_15 (TyFun e_16 ((,,,,) a_12 b_13 c_14 d_15 e_16) -> *) -> *)) data Tuple5Sym3 (l_as7U :: a_12) (l_as7V :: b_13) (l_as7W :: c_14) (l_as7T :: TyFun d_15 (TyFun e_16 ((,,,,) a_12 b_13 c_14 d_15 e_16) -> *)) data Tuple5Sym4 (l_as7Z :: a_12) (l_as80 :: b_13) (l_as81 :: c_14) (l_as82 :: d_15) (l_as7Y :: TyFun e_16 ((,,,,) a_12 b_13 c_14 d_15 e_16)) type Tuple5Sym5 (t_as7F :: a_12) (t_as7G :: b_13) (t_as7H :: c_14) (t_as7I :: d_15) (t_as7J :: e_16) = (,,,,) t_as7F t_as7G t_as7H t_as7I t_as7J data Tuple6Sym0 (l_as8B :: 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_as8E :: a_12) (l_as8D :: 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_as8H :: a_12) (l_as8I :: b_13) (l_as8G :: 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_as8L :: a_12) (l_as8M :: b_13) (l_as8N :: c_14) (l_as8K :: TyFun d_15 (TyFun e_16 (TyFun f_17 ((,,,,,) a_12 b_13 c_14 d_15 e_16 f_17) -> *) -> *)) data Tuple6Sym4 (l_as8Q :: a_12) (l_as8R :: b_13) (l_as8S :: c_14) (l_as8T :: d_15) (l_as8P :: TyFun e_16 (TyFun f_17 ((,,,,,) a_12 b_13 c_14 d_15 e_16 f_17) -> *)) data Tuple6Sym5 (l_as8W :: a_12) (l_as8X :: b_13) (l_as8Y :: c_14) (l_as8Z :: d_15) (l_as90 :: e_16) (l_as8V :: TyFun f_17 ((,,,,,) a_12 b_13 c_14 d_15 e_16 f_17)) type Tuple6Sym6 (t_as8v :: a_12) (t_as8w :: b_13) (t_as8x :: c_14) (t_as8y :: d_15) (t_as8z :: e_16) (t_as8A :: f_17) = (,,,,,) t_as8v t_as8w t_as8x t_as8y t_as8z t_as8A data Tuple7Sym0 (l_as9F :: 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_as9I :: a_12) (l_as9H :: 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_as9L :: a_12) (l_as9M :: b_13) (l_as9K :: 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_as9P :: a_12) (l_as9Q :: b_13) (l_as9R :: c_14) (l_as9O :: 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_as9U :: a_12) (l_as9V :: b_13) (l_as9W :: c_14) (l_as9X :: d_15) (l_as9T :: 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_asa0 :: a_12) (l_asa1 :: b_13) (l_asa2 :: c_14) (l_asa3 :: d_15) (l_asa4 :: e_16) (l_as9Z :: TyFun f_17 (TyFun g_18 ((,,,,,,) a_12 b_13 c_14 d_15 e_16 f_17 g_18) -> *)) data Tuple7Sym6 (l_asa7 :: a_12) (l_asa8 :: b_13) (l_asa9 :: c_14) (l_asaa :: d_15) (l_asab :: e_16) (l_asac :: f_17) (l_asa6 :: TyFun g_18 ((,,,,,,) a_12 b_13 c_14 d_15 e_16 f_17 g_18)) type Tuple7Sym7 (t_as9y :: a_12) (t_as9z :: b_13) (t_as9A :: c_14) (t_as9B :: d_15) (t_as9C :: e_16) (t_as9D :: f_17) (t_as9E :: g_18) = (,,,,,,) t_as9y t_as9z t_as9A t_as9B t_as9C t_as9D t_as9E data FstSym0 (l_aMIC :: TyFun ((,) a_aMHM b_aMHN) a_aMHM) type FstSym1 (t_aMIB :: (,) a_aMHM b_aMHN) = Fst t_aMIB data SndSym0 (l_aMIw :: TyFun ((,) a_aMHP b_aMHQ) b_aMHQ) type SndSym1 (t_aMIv :: (,) a_aMHP b_aMHQ) = Snd t_aMIv data CurrySym0 (l_aMIg :: TyFun (TyFun ((,) a_aMHS b_aMHT) c_aMHU -> *) (TyFun a_aMHS (TyFun b_aMHT c_aMHU -> *) -> *)) data CurrySym1 (l_aMIj :: TyFun ((,) a_aMHS b_aMHT) c_aMHU -> *) (l_aMIi :: TyFun a_aMHS (TyFun b_aMHT c_aMHU -> *)) data CurrySym2 (l_aMIm :: TyFun ((,) a_aMHS b_aMHT) c_aMHU -> *) (l_aMIn :: a_aMHS) (l_aMIl :: TyFun b_aMHT c_aMHU) type CurrySym3 (t_aMId :: TyFun ((,) a_aMHS b_aMHT) c_aMHU -> *) (t_aMIe :: a_aMHS) (t_aMIf :: b_aMHT) = Curry t_aMId t_aMIe t_aMIf data UncurrySym0 (l_aMIJ :: TyFun (TyFun a_aMHY (TyFun b_aMHZ c_aMI0 -> *) -> *) (TyFun ((,) a_aMHY b_aMHZ) c_aMI0 -> *)) data UncurrySym1 (l_aMIM :: TyFun a_aMHY (TyFun b_aMHZ c_aMI0 -> *) -> *) (l_aMIL :: TyFun ((,) a_aMHY b_aMHZ) c_aMI0) type UncurrySym2 (t_aMIH :: TyFun a_aMHY (TyFun b_aMHZ c_aMI0 -> *) -> *) (t_aMII :: (,) a_aMHY b_aMHZ) = Uncurry t_aMIH t_aMII data (:+$) l_aFRu data (:+$$) (l_aFRx :: Nat) l_aFRw data (:-$) l_aFRB data (:-$$) (l_aFRE :: Nat) l_aFRD data (:*$) l_aFRI data (:*$$) (l_aFRL :: Nat) l_aFRK data (:^$) l_aFRP data (:^$$) (l_aFRS :: Nat) l_aFRR data IdSym0 (l_aH9q :: TyFun a_aH7u a_aH7u) type IdSym1 (t_aH9p :: a_aH7u) = Id t_aH9p data ConstSym0 (l_aH91 :: TyFun a_aH7w (TyFun b_aH7x a_aH7w -> *)) data ConstSym1 (l_aH94 :: a_aH7w) (l_aH93 :: TyFun b_aH7x a_aH7w) type ConstSym2 (t_aH8Z :: a_aH7w) (t_aH90 :: b_aH7x) = Const t_aH8Z t_aH90 data (:.$) (l_aH8l :: TyFun (TyFun b_aH7z c_aH7A -> *) (TyFun (TyFun a_aH7B b_aH7z -> *) (TyFun a_aH7B c_aH7A -> *) -> *)) data (:.$$) (l_aH8o :: TyFun b_aH7z c_aH7A -> *) (l_aH8n :: TyFun (TyFun a_aH7B b_aH7z -> *) (TyFun a_aH7B c_aH7A -> *)) data (:.$$$) (l_aH8r :: TyFun b_aH7z c_aH7A -> *) (l_aH8s :: TyFun a_aH7B b_aH7z -> *) (l_aH8q :: TyFun a_aH7B c_aH7A) 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_aH83 :: TyFun (TyFun a_aH7F (TyFun b_aH7G c_aH7H -> *) -> *) (TyFun b_aH7G (TyFun a_aH7F c_aH7H -> *) -> *)) data FlipSym1 (l_aH86 :: TyFun a_aH7F (TyFun b_aH7G c_aH7H -> *) -> *) (l_aH85 :: TyFun b_aH7G (TyFun a_aH7F c_aH7H -> *)) data FlipSym2 (l_aH89 :: TyFun a_aH7F (TyFun b_aH7G c_aH7H -> *) -> *) (l_aH8a :: b_aH7G) (l_aH88 :: TyFun a_aH7F c_aH7H) data AsTypeOfSym0 (l_aH9g :: TyFun a_aH7L (TyFun a_aH7L a_aH7L -> *)) data AsTypeOfSym1 (l_aH9j :: a_aH7L) (l_aH9i :: TyFun a_aH7L a_aH7L) type AsTypeOfSym2 (t_aH9e :: a_aH7L) (t_aH9f :: a_aH7L) = AsTypeOf t_aH9e t_aH9f data SeqSym0 (l_aH7R :: TyFun a_aH7M (TyFun b_aH7N b_aH7N -> *)) data SeqSym1 (l_aH7U :: a_aH7M) (l_aH7T :: TyFun b_aH7N b_aH7N) type SeqSym2 (t_aH7P :: a_aH7M) (t_aH7Q :: b_aH7N) = Seq t_aH7P t_aH7Q data (:$) (l_as5F :: TyFun a_12 (TyFun ([] a_12) ([] a_12) -> *)) data (:$$) (l_as5I :: a_12) (l_as5H :: TyFun ([] a_12) ([] a_12)) type (:$$$) (t_as5D :: a_12) (t_as5E :: [] a_12) = (:) t_as5D t_as5E type NilSym0 = [] data MapSym0 (l_aH9J :: TyFun (TyFun a_aH7k b_aH7l -> *) (TyFun ([] a_aH7k) ([] b_aH7l) -> *)) data MapSym1 (l_aH9M :: TyFun a_aH7k b_aH7l -> *) (l_aH9L :: TyFun ([] a_aH7k) ([] b_aH7l)) type MapSym2 (t_aH9H :: TyFun a_aH7k b_aH7l -> *) (t_aH9I :: [] a_aH7k) = Map t_aH9H t_aH9I data ReverseSym0 (l_aQNA :: TyFun ([] a_aQb3) ([] a_aQb3)) type ReverseSym1 (t_aQNz :: [] a_aQb3) = Reverse t_aQNz data (:++$$) (l_aH9z :: [] a_aH7p) (l_aH9y :: TyFun ([] a_aH7p) ([] a_aH7p)) data (:++$) (l_aH9w :: TyFun ([] a_aH7p) (TyFun ([] a_aH7p) ([] a_aH7p) -> *)) data HeadSym0 (l_aQPo :: TyFun ([] a_aQaI) a_aQaI) type HeadSym1 (t_aQPn :: [] a_aQaI) = Head t_aQPn data LastSym0 (l_aQOS :: TyFun ([] a_aQaK) a_aQaK) type LastSym1 (t_aQOR :: [] a_aQaK) = Last t_aQOR data TailSym0 (l_aQOM :: TyFun ([] a_aQaS) ([] a_aQaS)) type TailSym1 (t_aQOL :: [] a_aQaS) = Tail t_aQOL data InitSym0 (l_aQOg :: TyFun ([] a_aQaU) ([] a_aQaU)) type InitSym1 (t_aQOf :: [] a_aQaU) = Init t_aQOf data NullSym0 (l_aQOa :: TyFun ([] a_aQb2) Bool) type NullSym1 (t_aQO9 :: [] a_aQb2) = Null t_aQO9 data FoldlSym0 (l_aQC0 :: TyFun (TyFun b_aQbM (TyFun a_aQbN b_aQbM -> *) -> *) (TyFun b_aQbM (TyFun ([] a_aQbN) b_aQbM -> *) -> *)) data FoldlSym1 (l_aQC3 :: TyFun b_aQbM (TyFun a_aQbN b_aQbM -> *) -> *) (l_aQC2 :: TyFun b_aQbM (TyFun ([] a_aQbN) b_aQbM -> *)) data FoldlSym2 (l_aQC6 :: TyFun b_aQbM (TyFun a_aQbN b_aQbM -> *) -> *) (l_aQC7 :: b_aQbM) (l_aQC5 :: TyFun ([] a_aQbN) b_aQbM) type FoldlSym3 (t_aQBX :: TyFun b_aQbM (TyFun a_aQbN b_aQbM -> *) -> *) (t_aQBY :: b_aQbM) (t_aQBZ :: [] a_aQbN) = Foldl t_aQBX t_aQBY t_aQBZ data Foldl1Sym0 (l_aQCO :: TyFun (TyFun a_aQc7 (TyFun a_aQc7 a_aQc7 -> *) -> *) (TyFun ([] a_aQc7) a_aQc7 -> *)) data Foldl1Sym1 (l_aQCR :: TyFun a_aQc7 (TyFun a_aQc7 a_aQc7 -> *) -> *) (l_aQCQ :: TyFun ([] a_aQc7) a_aQc7) type Foldl1Sym2 (t_aQCM :: TyFun a_aQc7 (TyFun a_aQc7 a_aQc7 -> *) -> *) (t_aQCN :: [] a_aQc7) = Foldl1 t_aQCM t_aQCN data FoldrSym0 (l_aH9X :: TyFun (TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (TyFun b_aH7e (TyFun ([] a_aH7d) b_aH7e -> *) -> *)) data FoldrSym1 (l_aHa0 :: TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (l_aH9Z :: TyFun b_aH7e (TyFun ([] a_aH7d) b_aH7e -> *)) data FoldrSym2 (l_aHa3 :: TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (l_aHa4 :: b_aH7e) (l_aHa2 :: TyFun ([] a_aH7d) b_aH7e) type FoldrSym3 (t_aH9U :: TyFun a_aH7d (TyFun b_aH7e b_aH7e -> *) -> *) (t_aH9V :: b_aH7e) (t_aH9W :: [] a_aH7d) = Foldr t_aH9U t_aH9V t_aH9W data Foldr1Sym0 (l_aQzO :: TyFun (TyFun a_aQcf (TyFun a_aQcf a_aQcf -> *) -> *) (TyFun ([] a_aQcf) a_aQcf -> *)) data Foldr1Sym1 (l_aQzR :: TyFun a_aQcf (TyFun a_aQcf a_aQcf -> *) -> *) (l_aQzQ :: TyFun ([] a_aQcf) a_aQcf) type Foldr1Sym2 (t_aQzM :: TyFun a_aQcf (TyFun a_aQcf a_aQcf -> *) -> *) (t_aQzN :: [] a_aQcf) = Foldr1 t_aQzM t_aQzN data ConcatSym0 (l_aQzI :: TyFun ([] ([] a_aQck)) ([] a_aQck)) type ConcatSym1 (t_aQzH :: [] ([] a_aQck)) = Concat t_aQzH data ConcatMapSym0 (l_aQzu :: TyFun (TyFun a_aQcl ([] b_aQcm) -> *) (TyFun ([] a_aQcl) ([] b_aQcm) -> *)) data ConcatMapSym1 (l_aQzx :: TyFun a_aQcl ([] b_aQcm) -> *) (l_aQzw :: TyFun ([] a_aQcl) ([] b_aQcm)) type ConcatMapSym2 (t_aQzs :: TyFun a_aQcl ([] b_aQcm) -> *) (t_aQzt :: [] a_aQcl) = ConcatMap t_aQzs t_aQzt data MaximumBySym0 (l_aQD1 :: TyFun (TyFun a_aQg6 (TyFun a_aQg6 Ordering -> *) -> *) (TyFun ([] a_aQg6) a_aQg6 -> *)) data MaximumBySym1 (l_aQD4 :: TyFun a_aQg6 (TyFun a_aQg6 Ordering -> *) -> *) (l_aQD3 :: TyFun ([] a_aQg6) a_aQg6) type MaximumBySym2 (t_aQCZ :: TyFun a_aQg6 (TyFun a_aQg6 Ordering -> *) -> *) (t_aQD0 :: [] a_aQg6) = MaximumBy t_aQCZ t_aQD0 data MinimumBySym0 (l_aQEs :: TyFun (TyFun a_aQgc (TyFun a_aQgc Ordering -> *) -> *) (TyFun ([] a_aQgc) a_aQgc -> *)) data MinimumBySym1 (l_aQEv :: TyFun a_aQgc (TyFun a_aQgc Ordering -> *) -> *) (l_aQEu :: TyFun ([] a_aQgc) a_aQgc) type MinimumBySym2 (t_aQEq :: TyFun a_aQgc (TyFun a_aQgc Ordering -> *) -> *) (t_aQEr :: [] a_aQgc) = MinimumBy t_aQEq t_aQEr data AndSym0 (l_aQzn :: TyFun ([] Bool) Bool) type AndSym1 (t_aQzm :: [] Bool) = And t_aQzm data OrSym0 (l_aQzh :: TyFun ([] Bool) Bool) type OrSym1 (t_aQzg :: [] Bool) = Or t_aQzg data Any_Sym0 (l_aOa5 :: TyFun (TyFun a_aO9Z Bool -> *) (TyFun ([] a_aO9Z) Bool -> *)) data Any_Sym1 (l_aOa8 :: TyFun a_aO9Z Bool -> *) (l_aOa7 :: TyFun ([] a_aO9Z) Bool) type Any_Sym2 (t_aOa3 :: TyFun a_aO9Z Bool -> *) (t_aOa4 :: [] a_aO9Z) = Any_ t_aOa3 t_aOa4 data AllSym0 (l_aQz5 :: TyFun (TyFun a_aQcs Bool -> *) (TyFun ([] a_aQcs) Bool -> *)) data AllSym1 (l_aQz8 :: TyFun a_aQcs Bool -> *) (l_aQz7 :: TyFun ([] a_aQcs) Bool) type AllSym2 (t_aQz3 :: TyFun a_aQcs Bool -> *) (t_aQz4 :: [] a_aQcs) = All t_aQz3 t_aQz4 data ScanlSym0 (l_aQyh :: TyFun (TyFun b_aQcw (TyFun a_aQcx b_aQcw -> *) -> *) (TyFun b_aQcw (TyFun ([] a_aQcx) ([] b_aQcw) -> *) -> *)) data ScanlSym1 (l_aQyk :: TyFun b_aQcw (TyFun a_aQcx b_aQcw -> *) -> *) (l_aQyj :: TyFun b_aQcw (TyFun ([] a_aQcx) ([] b_aQcw) -> *)) data ScanlSym2 (l_aQyn :: TyFun b_aQcw (TyFun a_aQcx b_aQcw -> *) -> *) (l_aQyo :: b_aQcw) (l_aQym :: TyFun ([] a_aQcx) ([] b_aQcw)) type ScanlSym3 (t_aQye :: TyFun b_aQcw (TyFun a_aQcx b_aQcw -> *) -> *) (t_aQyf :: b_aQcw) (t_aQyg :: [] a_aQcx) = Scanl t_aQye t_aQyf t_aQyg data Scanl1Sym0 (l_aQyS :: TyFun (TyFun a_aQcD (TyFun a_aQcD a_aQcD -> *) -> *) (TyFun ([] a_aQcD) ([] a_aQcD) -> *)) data Scanl1Sym1 (l_aQyV :: TyFun a_aQcD (TyFun a_aQcD a_aQcD -> *) -> *) (l_aQyU :: TyFun ([] a_aQcD) ([] a_aQcD)) type Scanl1Sym2 (t_aQyQ :: TyFun a_aQcD (TyFun a_aQcD a_aQcD -> *) -> *) (t_aQyR :: [] a_aQcD) = Scanl1 t_aQyQ t_aQyR data ScanrSym0 (l_aQxw :: TyFun (TyFun a_aQcH (TyFun b_aQcI b_aQcI -> *) -> *) (TyFun b_aQcI (TyFun ([] a_aQcH) ([] b_aQcI) -> *) -> *)) data ScanrSym1 (l_aQxz :: TyFun a_aQcH (TyFun b_aQcI b_aQcI -> *) -> *) (l_aQxy :: TyFun b_aQcI (TyFun ([] a_aQcH) ([] b_aQcI) -> *)) data ScanrSym2 (l_aQxC :: TyFun a_aQcH (TyFun b_aQcI b_aQcI -> *) -> *) (l_aQxD :: b_aQcI) (l_aQxB :: TyFun ([] a_aQcH) ([] b_aQcI)) type ScanrSym3 (t_aQxt :: TyFun a_aQcH (TyFun b_aQcI b_aQcI -> *) -> *) (t_aQxu :: b_aQcI) (t_aQxv :: [] a_aQcH) = Scanr t_aQxt t_aQxu t_aQxv data Scanr1Sym0 (l_aQwv :: TyFun (TyFun a_aQcQ (TyFun a_aQcQ a_aQcQ -> *) -> *) (TyFun ([] a_aQcQ) ([] a_aQcQ) -> *)) data Scanr1Sym1 (l_aQwy :: TyFun a_aQcQ (TyFun a_aQcQ a_aQcQ -> *) -> *) (l_aQwx :: TyFun ([] a_aQcQ) ([] a_aQcQ)) type Scanr1Sym2 (t_aQwt :: TyFun a_aQcQ (TyFun a_aQcQ a_aQcQ -> *) -> *) (t_aQwu :: [] a_aQcQ) = Scanr1 t_aQwt t_aQwu data ElemSym0 (l_aQpw :: TyFun a_aQdJ (TyFun ([] a_aQdJ) Bool -> *)) data ElemSym1 (l_aQpz :: a_aQdJ) (l_aQpy :: TyFun ([] a_aQdJ) Bool) type ElemSym2 (t_aQpu :: a_aQdJ) (t_aQpv :: [] a_aQdJ) = Elem t_aQpu t_aQpv data NotElemSym0 (l_aQpj :: TyFun a_aQdN (TyFun ([] a_aQdN) Bool -> *)) data NotElemSym1 (l_aQpm :: a_aQdN) (l_aQpl :: TyFun ([] a_aQdN) Bool) type NotElemSym2 (t_aQph :: a_aQdN) (t_aQpi :: [] a_aQdN) = NotElem t_aQph t_aQpi data ZipSym0 (l_aQp2 :: TyFun ([] a_aQdR) (TyFun ([] b_aQdS) ([] ((,) a_aQdR b_aQdS)) -> *)) data ZipSym1 (l_aQp5 :: [] a_aQdR) (l_aQp4 :: TyFun ([] b_aQdS) ([] ((,) a_aQdR b_aQdS))) type ZipSym2 (t_aQp0 :: [] a_aQdR) (t_aQp1 :: [] b_aQdS) = Zip t_aQp0 t_aQp1 data Zip3Sym0 (l_aQoq :: TyFun ([] a_aQdX) (TyFun ([] b_aQdY) (TyFun ([] c_aQdZ) ([] ((,,) a_aQdX b_aQdY c_aQdZ)) -> *) -> *)) data Zip3Sym1 (l_aQot :: [] a_aQdX) (l_aQos :: TyFun ([] b_aQdY) (TyFun ([] c_aQdZ) ([] ((,,) a_aQdX b_aQdY c_aQdZ)) -> *)) data Zip3Sym2 (l_aQow :: [] a_aQdX) (l_aQox :: [] b_aQdY) (l_aQov :: TyFun ([] c_aQdZ) ([] ((,,) a_aQdX b_aQdY c_aQdZ))) type Zip3Sym3 (t_aQon :: [] a_aQdX) (t_aQoo :: [] b_aQdY) (t_aQop :: [] c_aQdZ) = Zip3 t_aQon t_aQoo t_aQop data ZipWithSym0 (l_aQnZ :: TyFun (TyFun a_aQe6 (TyFun b_aQe7 c_aQe8 -> *) -> *) (TyFun ([] a_aQe6) (TyFun ([] b_aQe7) ([] c_aQe8) -> *) -> *)) data ZipWithSym1 (l_aQo2 :: TyFun a_aQe6 (TyFun b_aQe7 c_aQe8 -> *) -> *) (l_aQo1 :: TyFun ([] a_aQe6) (TyFun ([] b_aQe7) ([] c_aQe8) -> *)) data ZipWithSym2 (l_aQo5 :: TyFun a_aQe6 (TyFun b_aQe7 c_aQe8 -> *) -> *) (l_aQo6 :: [] a_aQe6) (l_aQo4 :: TyFun ([] b_aQe7) ([] c_aQe8)) type ZipWithSym3 (t_aQnW :: TyFun a_aQe6 (TyFun b_aQe7 c_aQe8 -> *) -> *) (t_aQnX :: [] a_aQe6) (t_aQnY :: [] b_aQe7) = ZipWith t_aQnW t_aQnX t_aQnY data ZipWith3Sym0 (l_aQn8 :: TyFun (TyFun a_aQee (TyFun b_aQef (TyFun c_aQeg d_aQeh -> *) -> *) -> *) (TyFun ([] a_aQee) (TyFun ([] b_aQef) (TyFun ([] c_aQeg) ([] d_aQeh) -> *) -> *) -> *)) data ZipWith3Sym1 (l_aQnb :: TyFun a_aQee (TyFun b_aQef (TyFun c_aQeg d_aQeh -> *) -> *) -> *) (l_aQna :: TyFun ([] a_aQee) (TyFun ([] b_aQef) (TyFun ([] c_aQeg) ([] d_aQeh) -> *) -> *)) data ZipWith3Sym2 (l_aQne :: TyFun a_aQee (TyFun b_aQef (TyFun c_aQeg d_aQeh -> *) -> *) -> *) (l_aQnf :: [] a_aQee) (l_aQnd :: TyFun ([] b_aQef) (TyFun ([] c_aQeg) ([] d_aQeh) -> *)) data ZipWith3Sym3 (l_aQni :: TyFun a_aQee (TyFun b_aQef (TyFun c_aQeg d_aQeh -> *) -> *) -> *) (l_aQnj :: [] a_aQee) (l_aQnk :: [] b_aQef) (l_aQnh :: TyFun ([] c_aQeg) ([] d_aQeh)) data UnzipSym0 (l_aQmz :: TyFun ([] ((,) a_aQep b_aQeq)) ((,) ([] a_aQep) ([] b_aQeq))) type UnzipSym1 (t_aQmy :: [] ((,) a_aQep b_aQeq)) = Unzip t_aQmy data UntilSym0 (l_aNJA :: TyFun (TyFun a_aNJq Bool -> *) (TyFun (TyFun a_aNJq a_aNJq -> *) (TyFun a_aNJq a_aNJq -> *) -> *)) data UntilSym1 (l_aNJD :: TyFun a_aNJq Bool -> *) (l_aNJC :: TyFun (TyFun a_aNJq a_aNJq -> *) (TyFun a_aNJq a_aNJq -> *)) data UntilSym2 (l_aNJG :: TyFun a_aNJq Bool -> *) (l_aNJH :: TyFun a_aNJq a_aNJq -> *) (l_aNJF :: TyFun a_aNJq a_aNJq) type UntilSym3 (t_aNJx :: TyFun a_aNJq Bool -> *) (t_aNJy :: TyFun a_aNJq a_aNJq -> *) (t_aNJz :: a_aNJq) = Until t_aNJx t_aNJy t_aNJz data LengthSym0 (l_a1Aae :: TyFun ([] a_a1zGs) Nat) type LengthSym1 (t_a1Aad :: [] a_a1zGs) = Length t_a1Aad data SumSym0 (l_a1A9P :: TyFun ([] Nat) Nat) type SumSym1 (t_a1A9O :: [] Nat) = Sum t_a1A9O data ProductSym0 (l_a1A9q :: TyFun ([] Nat) Nat) type ProductSym1 (t_a1A9p :: [] Nat) = Product t_a1A9p data ReplicateSym0 (l_a1A90 :: TyFun Nat (TyFun a_a1zGG ([] a_a1zGG) -> *)) data ReplicateSym1 (l_a1A93 :: Nat) (l_a1A92 :: TyFun a_a1zGG ([] a_a1zGG)) type ReplicateSym2 (t_a1A8Y :: Nat) (t_a1A8Z :: a_a1zGG) = Replicate t_a1A8Y t_a1A8Z data TakeSym0 (l_a1A7Y :: TyFun Nat (TyFun ([] a_a1zGO) ([] a_a1zGO) -> *)) data TakeSym1 (l_a1A81 :: Nat) (l_a1A80 :: TyFun ([] a_a1zGO) ([] a_a1zGO)) type TakeSym2 (t_a1A7W :: Nat) (t_a1A7X :: [] a_a1zGO) = Take t_a1A7W t_a1A7X data DropSym0 (l_a1A7l :: TyFun Nat (TyFun ([] a_a1zGS) ([] a_a1zGS) -> *)) data DropSym1 (l_a1A7o :: Nat) (l_a1A7n :: TyFun ([] a_a1zGS) ([] a_a1zGS)) type DropSym2 (t_a1A7j :: Nat) (t_a1A7k :: [] a_a1zGS) = Drop t_a1A7j t_a1A7k data SplitAtSym0 (l_a1A8d :: TyFun Nat (TyFun ([] a_a1zGW) ((,) ([] a_a1zGW) ([] a_a1zGW)) -> *)) data SplitAtSym1 (l_a1A8g :: Nat) (l_a1A8f :: TyFun ([] a_a1zGW) ((,) ([] a_a1zGW) ([] a_a1zGW))) type SplitAtSym2 (t_a1A8b :: Nat) (t_a1A8c :: [] a_a1zGW) = SplitAt t_a1A8b t_a1A8c data TakeWhileSym0 (l_a1A6Y :: TyFun (TyFun a_a1zGZ Bool -> *) (TyFun ([] a_a1zGZ) ([] a_a1zGZ) -> *)) data TakeWhileSym1 (l_a1A71 :: TyFun a_a1zGZ Bool -> *) (l_a1A70 :: TyFun ([] a_a1zGZ) ([] a_a1zGZ)) type TakeWhileSym2 (t_a1A6W :: TyFun a_a1zGZ Bool -> *) (t_a1A6X :: [] a_a1zGZ) = TakeWhile t_a1A6W t_a1A6X data DropWhileSym0 (l_a1A6a :: TyFun (TyFun a_a1zH3 Bool -> *) (TyFun ([] a_a1zH3) ([] a_a1zH3) -> *)) data DropWhileSym1 (l_a1A6d :: TyFun a_a1zH3 Bool -> *) (l_a1A6c :: TyFun ([] a_a1zH3) ([] a_a1zH3)) type DropWhileSym2 (t_a1A68 :: TyFun a_a1zH3 Bool -> *) (t_a1A69 :: [] a_a1zH3) = DropWhile t_a1A68 t_a1A69 data SpanSym0 (l_a1A1B :: TyFun (TyFun a_a1zHc Bool -> *) (TyFun ([] a_a1zHc) ((,) ([] a_a1zHc) ([] a_a1zHc)) -> *)) data SpanSym1 (l_a1A1E :: TyFun a_a1zHc Bool -> *) (l_a1A1D :: TyFun ([] a_a1zHc) ((,) ([] a_a1zHc) ([] a_a1zHc))) type SpanSym2 (t_a1A1z :: TyFun a_a1zHc Bool -> *) (t_a1A1A :: [] a_a1zHc) = Span t_a1A1z t_a1A1A data BreakSym0 (l_a1zZe :: TyFun (TyFun a_a1zHk Bool -> *) (TyFun ([] a_a1zHk) ((,) ([] a_a1zHk) ([] a_a1zHk)) -> *)) data BreakSym1 (l_a1zZh :: TyFun a_a1zHk Bool -> *) (l_a1zZg :: TyFun ([] a_a1zHk) ((,) ([] a_a1zHk) ([] a_a1zHk))) type BreakSym2 (t_a1zZc :: TyFun a_a1zHk Bool -> *) (t_a1zZd :: [] a_a1zHk) = Break t_a1zZc t_a1zZd data LookupSym0 (l_a1zXS :: TyFun a_a1zHO (TyFun ([] ((,) a_a1zHO b_a1zHP)) (Maybe b_a1zHP) -> *)) data LookupSym1 (l_a1zXV :: a_a1zHO) (l_a1zXU :: TyFun ([] ((,) a_a1zHO b_a1zHP)) (Maybe b_a1zHP)) type LookupSym2 (t_a1zXQ :: a_a1zHO) (t_a1zXR :: [] ((,) a_a1zHO b_a1zHP)) = Lookup t_a1zXQ t_a1zXR data FilterSym0 (l_a1zWh :: TyFun (TyFun a_a1zHX Bool -> *) (TyFun ([] a_a1zHX) ([] a_a1zHX) -> *)) data FilterSym1 (l_a1zWk :: TyFun a_a1zHX Bool -> *) (l_a1zWj :: TyFun ([] a_a1zHX) ([] a_a1zHX)) type FilterSym2 (t_a1zWf :: TyFun a_a1zHX Bool -> *) (t_a1zWg :: [] a_a1zHX) = Filter t_a1zWf t_a1zWg data (:!!$) (l_a1zV6 :: TyFun ([] a_a1zIa) (TyFun Nat a_a1zIa -> *)) data (:!!$$) (l_a1zV9 :: [] a_a1zIa) (l_a1zV8 :: TyFun Nat a_a1zIa) type (:!!$$$) (t_a1zV4 :: [] a_a1zIa) (t_a1zV5 :: Nat) = (:!!) t_a1zV4 t_a1zV5 -- | 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_aCQJ), kproxy_aCRe ~ KProxy) => POrd (kproxy_aCRe :: KProxy a_aCQJ) where type family Compare (arg_aCRf :: a_aCQJ) (arg_aCRg :: a_aCQJ) :: Ordering type family (:<) (arg_aCRo :: a_aCQJ) (arg_aCRp :: a_aCQJ) :: Bool type family (:>=) (arg_aCRx :: a_aCQJ) (arg_aCRy :: a_aCQJ) :: Bool type family (:>) (arg_aCRG :: a_aCQJ) (arg_aCRH :: a_aCQJ) :: Bool type family (:<=) (arg_aCRP :: a_aCQJ) (arg_aCRQ :: a_aCQJ) :: Bool type family Max (arg_aCRY :: a_aCQJ) (arg_aCRZ :: a_aCQJ) :: a_aCQJ type family Min (arg_aCS7 :: a_aCQJ) (arg_aCS8 :: a_aCQJ) :: a_aCQJ type instance Compare (x_aCSp :: a_aCQJ) (y_aCSq :: a_aCQJ) = (Case_1627539408 x_aCSp y_aCSq (Let_1627539399Scrutinee_1627539308Sym2 x_aCSp y_aCSq) :: Ordering) type instance (:<) (x_aCT0 :: a_aCQJ) (y_aCT1 :: a_aCQJ) = (Case_1627539445 x_aCT0 y_aCT1 (Let_1627539436Scrutinee_1627539312Sym2 x_aCT0 y_aCT1) :: Bool) type instance (:>=) (x_aCTp :: a_aCQJ) (y_aCTq :: a_aCQJ) = (Case_1627539470 x_aCTp y_aCTq (Let_1627539461Scrutinee_1627539318Sym2 x_aCTp y_aCTq) :: Bool) type instance (:>) (x_aCTO :: a_aCQJ) (y_aCTP :: a_aCQJ) = (Case_1627539495 x_aCTO y_aCTP (Let_1627539486Scrutinee_1627539316Sym2 x_aCTO y_aCTP) :: Bool) type instance (:<=) (x_aCUd :: a_aCQJ) (y_aCUe :: a_aCQJ) = (Case_1627539520 x_aCUd y_aCUe (Let_1627539511Scrutinee_1627539314Sym2 x_aCUd y_aCUe) :: Bool) type instance Max (x_aCUC :: a_aCQJ) (y_aCUD :: a_aCQJ) = (Case_1627539545 x_aCUC y_aCUD (Let_1627539536Scrutinee_1627539320Sym2 x_aCUC y_aCUD) :: a_aCQJ) type instance Min (x_aCV0 :: a_aCQJ) (y_aCV1 :: a_aCQJ) = (Case_1627539569 x_aCV0 y_aCV1 (Let_1627539560Scrutinee_1627539322Sym2 x_aCV0 y_aCV1) :: a_aCQJ) -- | 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_as6h :: TyFun a_12 (TyFun b_13 ((,) a_12 b_13) -> *)) data Tuple2Sym1 (l_as6k :: a_12) (l_as6j :: TyFun b_13 ((,) a_12 b_13)) type Tuple2Sym2 (t_as6f :: a_12) (t_as6g :: b_13) = (,) t_as6f t_as6g data Tuple3Sym0 (l_as6B :: TyFun a_12 (TyFun b_13 (TyFun c_14 ((,,) a_12 b_13 c_14) -> *) -> *)) data Tuple3Sym1 (l_as6E :: a_12) (l_as6D :: TyFun b_13 (TyFun c_14 ((,,) a_12 b_13 c_14) -> *)) data Tuple3Sym2 (l_as6H :: a_12) (l_as6I :: b_13) (l_as6G :: TyFun c_14 ((,,) a_12 b_13 c_14)) type Tuple3Sym3 (t_as6y :: a_12) (t_as6z :: b_13) (t_as6A :: c_14) = (,,) t_as6y t_as6z t_as6A data Tuple4Sym0 (l_as75 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 ((,,,) a_12 b_13 c_14 d_15) -> *) -> *) -> *)) data Tuple4Sym1 (l_as78 :: a_12) (l_as77 :: TyFun b_13 (TyFun c_14 (TyFun d_15 ((,,,) a_12 b_13 c_14 d_15) -> *) -> *)) data Tuple4Sym2 (l_as7b :: a_12) (l_as7c :: b_13) (l_as7a :: TyFun c_14 (TyFun d_15 ((,,,) a_12 b_13 c_14 d_15) -> *)) data Tuple4Sym3 (l_as7f :: a_12) (l_as7g :: b_13) (l_as7h :: c_14) (l_as7e :: TyFun d_15 ((,,,) a_12 b_13 c_14 d_15)) type Tuple4Sym4 (t_as71 :: a_12) (t_as72 :: b_13) (t_as73 :: c_14) (t_as74 :: d_15) = (,,,) t_as71 t_as72 t_as73 t_as74 data Tuple5Sym0 (l_as7K :: 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_as7N :: a_12) (l_as7M :: 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_as7Q :: a_12) (l_as7R :: b_13) (l_as7P :: TyFun c_14 (TyFun d_15 (TyFun e_16 ((,,,,) a_12 b_13 c_14 d_15 e_16) -> *) -> *)) data Tuple5Sym3 (l_as7U :: a_12) (l_as7V :: b_13) (l_as7W :: c_14) (l_as7T :: TyFun d_15 (TyFun e_16 ((,,,,) a_12 b_13 c_14 d_15 e_16) -> *)) data Tuple5Sym4 (l_as7Z :: a_12) (l_as80 :: b_13) (l_as81 :: c_14) (l_as82 :: d_15) (l_as7Y :: TyFun e_16 ((,,,,) a_12 b_13 c_14 d_15 e_16)) type Tuple5Sym5 (t_as7F :: a_12) (t_as7G :: b_13) (t_as7H :: c_14) (t_as7I :: d_15) (t_as7J :: e_16) = (,,,,) t_as7F t_as7G t_as7H t_as7I t_as7J data Tuple6Sym0 (l_as8B :: 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_as8E :: a_12) (l_as8D :: 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_as8H :: a_12) (l_as8I :: b_13) (l_as8G :: 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_as8L :: a_12) (l_as8M :: b_13) (l_as8N :: c_14) (l_as8K :: TyFun d_15 (TyFun e_16 (TyFun f_17 ((,,,,,) a_12 b_13 c_14 d_15 e_16 f_17) -> *) -> *)) data Tuple6Sym4 (l_as8Q :: a_12) (l_as8R :: b_13) (l_as8S :: c_14) (l_as8T :: d_15) (l_as8P :: TyFun e_16 (TyFun f_17 ((,,,,,) a_12 b_13 c_14 d_15 e_16 f_17) -> *)) data Tuple6Sym5 (l_as8W :: a_12) (l_as8X :: b_13) (l_as8Y :: c_14) (l_as8Z :: d_15) (l_as90 :: e_16) (l_as8V :: TyFun f_17 ((,,,,,) a_12 b_13 c_14 d_15 e_16 f_17)) type Tuple6Sym6 (t_as8v :: a_12) (t_as8w :: b_13) (t_as8x :: c_14) (t_as8y :: d_15) (t_as8z :: e_16) (t_as8A :: f_17) = (,,,,,) t_as8v t_as8w t_as8x t_as8y t_as8z t_as8A data Tuple7Sym0 (l_as9F :: 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_as9I :: a_12) (l_as9H :: 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_as9L :: a_12) (l_as9M :: b_13) (l_as9K :: 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_as9P :: a_12) (l_as9Q :: b_13) (l_as9R :: c_14) (l_as9O :: 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_as9U :: a_12) (l_as9V :: b_13) (l_as9W :: c_14) (l_as9X :: d_15) (l_as9T :: 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_asa0 :: a_12) (l_asa1 :: b_13) (l_asa2 :: c_14) (l_asa3 :: d_15) (l_asa4 :: e_16) (l_as9Z :: TyFun f_17 (TyFun g_18 ((,,,,,,) a_12 b_13 c_14 d_15 e_16 f_17 g_18) -> *)) data Tuple7Sym6 (l_asa7 :: a_12) (l_asa8 :: b_13) (l_asa9 :: c_14) (l_asaa :: d_15) (l_asab :: e_16) (l_asac :: f_17) (l_asa6 :: TyFun g_18 ((,,,,,,) a_12 b_13 c_14 d_15 e_16 f_17 g_18)) type Tuple7Sym7 (t_as9y :: a_12) (t_as9z :: b_13) (t_as9A :: c_14) (t_as9B :: d_15) (t_as9C :: e_16) (t_as9D :: f_17) (t_as9E :: g_18) = (,,,,,,) t_as9y t_as9z t_as9A t_as9B t_as9C t_as9D t_as9E -- | 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 -> ()