-- 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. -- --
-- 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.
--
-- -- 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 -> ()