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