-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A framework for generating singleton types -- @package singletons @version 1.1.2.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_apTM ~ KProxy => PBounded (kproxy_apTM :: KProxy a_apTL) where type family MinBound :: a_apTL type family MaxBound :: a_apTL 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_ato2 :: Bool) = Sing z_ato2 -- | 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_aAgK -> Sing (Apply NotSym0 t_aAgK) (%:&&) :: Sing t_aAgN -> Sing t_aAgO -> Sing (Apply (Apply (:&&$) t_aAgN) t_aAgO) (%:||) :: Sing t_aAgL -> Sing t_aAgM -> Sing (Apply (Apply (:||$) t_aAgL) t_aAgM) bool_ :: a_aA4o -> a_aA4o -> Bool -> a_aA4o sBool_ :: Sing t_aA4M -> Sing t_aA4N -> Sing t_aA4O -> Sing (Apply (Apply (Apply Bool_Sym0 t_aA4M) t_aA4N) t_aA4O) type Otherwise = (TrueSym0 :: Bool) sOtherwise :: Sing OtherwiseSym0 type TrueSym0 = True type FalseSym0 = False data NotSym0 (l_aAgl :: TyFun Bool Bool) type NotSym1 (t_aAgk :: Bool) = Not t_aAgk data (:&&$) (l_aAgB :: TyFun Bool (TyFun Bool Bool -> *)) data (:&&$$) (l_aAgE :: Bool) (l_aAgD :: TyFun Bool Bool) type (:&&$$$) (t_aAgz :: Bool) (t_aAgA :: Bool) = (:&&) t_aAgz t_aAgA data (:||$) (l_aAgq :: TyFun Bool (TyFun Bool Bool -> *)) data (:||$$) (l_aAgt :: Bool) (l_aAgs :: TyFun Bool Bool) type (:||$$$) (t_aAgo :: Bool) (t_aAgp :: Bool) = (:||) t_aAgo t_aAgp data Bool_Sym0 (l_aA4w :: TyFun a_aA4o (TyFun a_aA4o (TyFun Bool a_aA4o -> *) -> *)) data Bool_Sym1 (l_aA4z :: a_aA4o) (l_aA4y :: TyFun a_aA4o (TyFun Bool a_aA4o -> *)) data Bool_Sym2 (l_aA4C :: a_aA4o) (l_aA4D :: a_aA4o) (l_aA4B :: TyFun Bool a_aA4o) type Bool_Sym3 (t_aA4t :: a_aA4o) (t_aA4u :: a_aA4o) (t_aA4v :: Bool) = Bool_ t_aA4t t_aA4u t_aA4v 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_aARx :: TyFun a_aAQT (TyFun a_aAQT Bool -> *)) data (:==$$) (l_aARA :: a_aAQT) (l_aARz :: TyFun a_aAQT Bool) type (:==$$$) (t_aARv :: a_aAQT) (t_aARw :: a_aAQT) = (:==) t_aARv t_aARw data (:/=$) (l_aARE :: TyFun a_aAQT (TyFun a_aAQT Bool -> *)) data (:/=$$) (l_aARH :: a_aAQT) (l_aARG :: TyFun a_aAQT Bool) type (:/=$$$) (t_aARC :: a_aAQT) (t_aARD :: a_aAQT) = (:/=) t_aARC t_aARD 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_aARx :: TyFun a_aAQT (TyFun a_aAQT Bool -> *)) data (:==$$) (l_aARA :: a_aAQT) (l_aARz :: TyFun a_aAQT Bool) type (:==$$$) (t_aARv :: a_aAQT) (t_aARw :: a_aAQT) = (:==) t_aARv t_aARw data (:/=$) (l_aARE :: TyFun a_aAQT (TyFun a_aAQT Bool -> *)) data (:/=$$) (l_aARH :: a_aAQT) (l_aARG :: TyFun a_aAQT Bool) type (:/=$$$) (t_aARC :: a_aAQT) (t_aARD :: a_aAQT) = (:/=) t_aARC t_aARD -- | 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_aA4o -> a_aA4o -> Bool -> a_aA4o type Otherwise = (TrueSym0 :: Bool) type TrueSym0 = True type FalseSym0 = False data NotSym0 (l_aAgl :: TyFun Bool Bool) type NotSym1 (t_aAgk :: Bool) = Not t_aAgk data (:&&$) (l_aAgB :: TyFun Bool (TyFun Bool Bool -> *)) data (:&&$$) (l_aAgE :: Bool) (l_aAgD :: TyFun Bool Bool) type (:&&$$$) (t_aAgz :: Bool) (t_aAgA :: Bool) = (:&&) t_aAgz t_aAgA data (:||$) (l_aAgq :: TyFun Bool (TyFun Bool Bool -> *)) data (:||$$) (l_aAgt :: Bool) (l_aAgs :: TyFun Bool Bool) type (:||$$$) (t_aAgo :: Bool) (t_aAgp :: Bool) = (:||) t_aAgo t_aAgp data Bool_Sym0 (l_aA4w :: TyFun a_aA4o (TyFun a_aA4o (TyFun Bool a_aA4o -> *) -> *)) data Bool_Sym1 (l_aA4z :: a_aA4o) (l_aA4y :: TyFun a_aA4o (TyFun Bool a_aA4o -> *)) data Bool_Sym2 (l_aA4C :: a_aA4o) (l_aA4D :: a_aA4o) (l_aA4B :: TyFun Bool a_aA4o) type Bool_Sym3 (t_aA4t :: a_aA4o) (t_aA4u :: a_aA4o) (t_aA4v :: Bool) = Bool_ t_aA4t t_aA4u t_aA4v 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_aE7v), kproxy_aE80 ~ KProxy) => POrd (kproxy_aE80 :: KProxy a_aE7v) where type family Compare (arg_aE81 :: a_aE7v) (arg_aE82 :: a_aE7v) :: Ordering type family (:<) (arg_aE8a :: a_aE7v) (arg_aE8b :: a_aE7v) :: Bool type family (:>=) (arg_aE8j :: a_aE7v) (arg_aE8k :: a_aE7v) :: Bool type family (:>) (arg_aE8s :: a_aE7v) (arg_aE8t :: a_aE7v) :: Bool type family (:<=) (arg_aE8B :: a_aE7v) (arg_aE8C :: a_aE7v) :: Bool type family Max (arg_aE8K :: a_aE7v) (arg_aE8L :: a_aE7v) :: a_aE7v type family Min (arg_aE8T :: a_aE7v) (arg_aE8U :: a_aE7v) :: a_aE7v type instance Compare (x_aE9b :: a_aE7v) (y_aE9c :: a_aE7v) = (Case_1627544291 x_aE9b y_aE9c (Let1627544283Scrutinee_1627544192Sym2 x_aE9b y_aE9c) :: Ordering) type instance (:<) (x_aE9K :: a_aE7v) (y_aE9L :: a_aE7v) = (Case_1627544326 x_aE9K y_aE9L (Let1627544318Scrutinee_1627544196Sym2 x_aE9K y_aE9L) :: Bool) type instance (:>=) (x_aEa8 :: a_aE7v) (y_aEa9 :: a_aE7v) = (Case_1627544350 x_aEa8 y_aEa9 (Let1627544342Scrutinee_1627544202Sym2 x_aEa8 y_aEa9) :: Bool) type instance (:>) (x_aEaw :: a_aE7v) (y_aEax :: a_aE7v) = (Case_1627544374 x_aEaw y_aEax (Let1627544366Scrutinee_1627544200Sym2 x_aEaw y_aEax) :: Bool) type instance (:<=) (x_aEaU :: a_aE7v) (y_aEaV :: a_aE7v) = (Case_1627544398 x_aEaU y_aEaV (Let1627544390Scrutinee_1627544198Sym2 x_aEaU y_aEaV) :: Bool) type instance Max (x_aEbi :: a_aE7v) (y_aEbj :: a_aE7v) = (Case_1627544422 x_aEbi y_aEbj (Let1627544414Scrutinee_1627544204Sym2 x_aEbi y_aEbj) :: a_aE7v) type instance Min (x_aEbF :: a_aE7v) (y_aEbG :: a_aE7v) = (Case_1627544445 x_aEbF y_aEbG (Let1627544437Scrutinee_1627544206Sym2 x_aEbF y_aEbG) :: a_aE7v) 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_aFkg -> Sing t_aFkh -> Sing (Apply (Apply ThenCmpSym0 t_aFkg) t_aFkh) -- | The singleton kind-indexed data family. data ThenCmpSym0 (l_aFk6 :: TyFun Ordering (TyFun Ordering Ordering -> *)) data ThenCmpSym1 (l_aFk9 :: Ordering) (l_aFk8 :: TyFun Ordering Ordering) type ThenCmpSym2 (t_aFk4 :: Ordering) (t_aFk5 :: Ordering) = ThenCmp t_aFk4 t_aFk5 type LTSym0 = LT type EQSym0 = EQ type GTSym0 = GT data CompareSym0 (l_aE85 :: TyFun a_aE7v (TyFun a_aE7v Ordering -> *)) data CompareSym1 (l_aE88 :: a_aE7v) (l_aE87 :: TyFun a_aE7v Ordering) type CompareSym2 (t_aE83 :: a_aE7v) (t_aE84 :: a_aE7v) = Compare t_aE83 t_aE84 data (:<$) (l_aE8e :: TyFun a_aE7v (TyFun a_aE7v Bool -> *)) data (:<$$) (l_aE8h :: a_aE7v) (l_aE8g :: TyFun a_aE7v Bool) type (:<$$$) (t_aE8c :: a_aE7v) (t_aE8d :: a_aE7v) = (:<) t_aE8c t_aE8d data (:<=$) (l_aE8F :: TyFun a_aE7v (TyFun a_aE7v Bool -> *)) data (:<=$$) (l_aE8I :: a_aE7v) (l_aE8H :: TyFun a_aE7v Bool) type (:<=$$$) (t_aE8D :: a_aE7v) (t_aE8E :: a_aE7v) = (:<=) t_aE8D t_aE8E data (:>$) (l_aE8w :: TyFun a_aE7v (TyFun a_aE7v Bool -> *)) data (:>$$) (l_aE8z :: a_aE7v) (l_aE8y :: TyFun a_aE7v Bool) type (:>$$$) (t_aE8u :: a_aE7v) (t_aE8v :: a_aE7v) = (:>) t_aE8u t_aE8v data (:>=$) (l_aE8n :: TyFun a_aE7v (TyFun a_aE7v Bool -> *)) data (:>=$$) (l_aE8q :: a_aE7v) (l_aE8p :: TyFun a_aE7v Bool) type (:>=$$$) (t_aE8l :: a_aE7v) (t_aE8m :: a_aE7v) = (:>=) t_aE8l t_aE8m data MaxSym0 (l_aE8O :: TyFun a_aE7v (TyFun a_aE7v a_aE7v -> *)) data MaxSym1 (l_aE8R :: a_aE7v) (l_aE8Q :: TyFun a_aE7v a_aE7v) type MaxSym2 (t_aE8M :: a_aE7v) (t_aE8N :: a_aE7v) = Max t_aE8M t_aE8N data MinSym0 (l_aE8X :: TyFun a_aE7v (TyFun a_aE7v a_aE7v -> *)) data MinSym1 (l_aE90 :: a_aE7v) (l_aE8Z :: TyFun a_aE7v a_aE7v) type MinSym2 (t_aE8V :: a_aE7v) (t_aE8W :: a_aE7v) = Min t_aE8V t_aE8W 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 Let1627544437Scrutinee_1627544206Sym0 instance SuppressUnusedWarnings Let1627544437Scrutinee_1627544206Sym1 instance SuppressUnusedWarnings Let1627544414Scrutinee_1627544204Sym0 instance SuppressUnusedWarnings Let1627544414Scrutinee_1627544204Sym1 instance SuppressUnusedWarnings Let1627544390Scrutinee_1627544198Sym0 instance SuppressUnusedWarnings Let1627544390Scrutinee_1627544198Sym1 instance SuppressUnusedWarnings Let1627544366Scrutinee_1627544200Sym0 instance SuppressUnusedWarnings Let1627544366Scrutinee_1627544200Sym1 instance SuppressUnusedWarnings Let1627544342Scrutinee_1627544202Sym0 instance SuppressUnusedWarnings Let1627544342Scrutinee_1627544202Sym1 instance SuppressUnusedWarnings Let1627544318Scrutinee_1627544196Sym0 instance SuppressUnusedWarnings Let1627544318Scrutinee_1627544196Sym1 instance SuppressUnusedWarnings Let1627544293Scrutinee_1627544194Sym0 instance SuppressUnusedWarnings Let1627544293Scrutinee_1627544194Sym1 instance SuppressUnusedWarnings Let1627544283Scrutinee_1627544192Sym0 instance SuppressUnusedWarnings Let1627544283Scrutinee_1627544192Sym1 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_aE7v), kproxy_aE80 ~ KProxy) => POrd (kproxy_aE80 :: KProxy a_aE7v) where type family Compare (arg_aE81 :: a_aE7v) (arg_aE82 :: a_aE7v) :: Ordering type family (:<) (arg_aE8a :: a_aE7v) (arg_aE8b :: a_aE7v) :: Bool type family (:>=) (arg_aE8j :: a_aE7v) (arg_aE8k :: a_aE7v) :: Bool type family (:>) (arg_aE8s :: a_aE7v) (arg_aE8t :: a_aE7v) :: Bool type family (:<=) (arg_aE8B :: a_aE7v) (arg_aE8C :: a_aE7v) :: Bool type family Max (arg_aE8K :: a_aE7v) (arg_aE8L :: a_aE7v) :: a_aE7v type family Min (arg_aE8T :: a_aE7v) (arg_aE8U :: a_aE7v) :: a_aE7v type instance Compare (x_aE9b :: a_aE7v) (y_aE9c :: a_aE7v) = (Case_1627544291 x_aE9b y_aE9c (Let1627544283Scrutinee_1627544192Sym2 x_aE9b y_aE9c) :: Ordering) type instance (:<) (x_aE9K :: a_aE7v) (y_aE9L :: a_aE7v) = (Case_1627544326 x_aE9K y_aE9L (Let1627544318Scrutinee_1627544196Sym2 x_aE9K y_aE9L) :: Bool) type instance (:>=) (x_aEa8 :: a_aE7v) (y_aEa9 :: a_aE7v) = (Case_1627544350 x_aEa8 y_aEa9 (Let1627544342Scrutinee_1627544202Sym2 x_aEa8 y_aEa9) :: Bool) type instance (:>) (x_aEaw :: a_aE7v) (y_aEax :: a_aE7v) = (Case_1627544374 x_aEaw y_aEax (Let1627544366Scrutinee_1627544200Sym2 x_aEaw y_aEax) :: Bool) type instance (:<=) (x_aEaU :: a_aE7v) (y_aEaV :: a_aE7v) = (Case_1627544398 x_aEaU y_aEaV (Let1627544390Scrutinee_1627544198Sym2 x_aEaU y_aEaV) :: Bool) type instance Max (x_aEbi :: a_aE7v) (y_aEbj :: a_aE7v) = (Case_1627544422 x_aEbi y_aEbj (Let1627544414Scrutinee_1627544204Sym2 x_aEbi y_aEbj) :: a_aE7v) type instance Min (x_aEbF :: a_aE7v) (y_aEbG :: a_aE7v) = (Case_1627544445 x_aEbF y_aEbG (Let1627544437Scrutinee_1627544206Sym2 x_aEbF y_aEbG) :: a_aE7v) type LTSym0 = LT type EQSym0 = EQ type GTSym0 = GT data CompareSym0 (l_aE85 :: TyFun a_aE7v (TyFun a_aE7v Ordering -> *)) data CompareSym1 (l_aE88 :: a_aE7v) (l_aE87 :: TyFun a_aE7v Ordering) type CompareSym2 (t_aE83 :: a_aE7v) (t_aE84 :: a_aE7v) = Compare t_aE83 t_aE84 data (:<$) (l_aE8e :: TyFun a_aE7v (TyFun a_aE7v Bool -> *)) data (:<$$) (l_aE8h :: a_aE7v) (l_aE8g :: TyFun a_aE7v Bool) type (:<$$$) (t_aE8c :: a_aE7v) (t_aE8d :: a_aE7v) = (:<) t_aE8c t_aE8d data (:<=$) (l_aE8F :: TyFun a_aE7v (TyFun a_aE7v Bool -> *)) data (:<=$$) (l_aE8I :: a_aE7v) (l_aE8H :: TyFun a_aE7v Bool) type (:<=$$$) (t_aE8D :: a_aE7v) (t_aE8E :: a_aE7v) = (:<=) t_aE8D t_aE8E data (:>$) (l_aE8w :: TyFun a_aE7v (TyFun a_aE7v Bool -> *)) data (:>$$) (l_aE8z :: a_aE7v) (l_aE8y :: TyFun a_aE7v Bool) type (:>$$$) (t_aE8u :: a_aE7v) (t_aE8v :: a_aE7v) = (:>) t_aE8u t_aE8v data (:>=$) (l_aE8n :: TyFun a_aE7v (TyFun a_aE7v Bool -> *)) data (:>=$$) (l_aE8q :: a_aE7v) (l_aE8p :: TyFun a_aE7v Bool) type (:>=$$$) (t_aE8l :: a_aE7v) (t_aE8m :: a_aE7v) = (:>=) t_aE8l t_aE8m data MaxSym0 (l_aE8O :: TyFun a_aE7v (TyFun a_aE7v a_aE7v -> *)) data MaxSym1 (l_aE8R :: a_aE7v) (l_aE8Q :: TyFun a_aE7v a_aE7v) type MaxSym2 (t_aE8M :: a_aE7v) (t_aE8N :: a_aE7v) = Max t_aE8M t_aE8N data MinSym0 (l_aE8X :: TyFun a_aE7v (TyFun a_aE7v a_aE7v -> *)) data MinSym1 (l_aE90 :: a_aE7v) (l_aE8Z :: TyFun a_aE7v a_aE7v) type MinSym2 (t_aE8V :: a_aE7v) (t_aE8W :: a_aE7v) = Min t_aE8V t_aE8W -- | 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_aH7W data (:+$$) (l_aH7Z :: Nat) l_aH7Y data (:-$) l_aH83 data (:-$$) (l_aH86 :: Nat) l_aH85 data (:*$) l_aH8a data (:*$$) (l_aH8d :: Nat) l_aH8c data (:^$) l_aH8h data (:^$$) (l_aH8k :: Nat) l_aH8j 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_aE7v), kproxy_aE80 ~ KProxy) => POrd (kproxy_aE80 :: KProxy a_aE7v) where type family Compare (arg_aE81 :: a_aE7v) (arg_aE82 :: a_aE7v) :: Ordering type family (:<) (arg_aE8a :: a_aE7v) (arg_aE8b :: a_aE7v) :: Bool type family (:>=) (arg_aE8j :: a_aE7v) (arg_aE8k :: a_aE7v) :: Bool type family (:>) (arg_aE8s :: a_aE7v) (arg_aE8t :: a_aE7v) :: Bool type family (:<=) (arg_aE8B :: a_aE7v) (arg_aE8C :: a_aE7v) :: Bool type family Max (arg_aE8K :: a_aE7v) (arg_aE8L :: a_aE7v) :: a_aE7v type family Min (arg_aE8T :: a_aE7v) (arg_aE8U :: a_aE7v) :: a_aE7v type instance Compare (x_aE9b :: a_aE7v) (y_aE9c :: a_aE7v) = (Case_1627544291 x_aE9b y_aE9c (Let1627544283Scrutinee_1627544192Sym2 x_aE9b y_aE9c) :: Ordering) type instance (:<) (x_aE9K :: a_aE7v) (y_aE9L :: a_aE7v) = (Case_1627544326 x_aE9K y_aE9L (Let1627544318Scrutinee_1627544196Sym2 x_aE9K y_aE9L) :: Bool) type instance (:>=) (x_aEa8 :: a_aE7v) (y_aEa9 :: a_aE7v) = (Case_1627544350 x_aEa8 y_aEa9 (Let1627544342Scrutinee_1627544202Sym2 x_aEa8 y_aEa9) :: Bool) type instance (:>) (x_aEaw :: a_aE7v) (y_aEax :: a_aE7v) = (Case_1627544374 x_aEaw y_aEax (Let1627544366Scrutinee_1627544200Sym2 x_aEaw y_aEax) :: Bool) type instance (:<=) (x_aEaU :: a_aE7v) (y_aEaV :: a_aE7v) = (Case_1627544398 x_aEaU y_aEaV (Let1627544390Scrutinee_1627544198Sym2 x_aEaU y_aEaV) :: Bool) type instance Max (x_aEbi :: a_aE7v) (y_aEbj :: a_aE7v) = (Case_1627544422 x_aEbi y_aEbj (Let1627544414Scrutinee_1627544204Sym2 x_aEbi y_aEbj) :: a_aE7v) type instance Min (x_aEbF :: a_aE7v) (y_aEbG :: a_aE7v) = (Case_1627544445 x_aEbF y_aEbG (Let1627544437Scrutinee_1627544206Sym2 x_aEbF y_aEbG) :: a_aE7v) -- | 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_ato9 :: TyFun a_12 (TyFun b_13 (a_12, b_13) -> *))
data Tuple2Sym1 (l_atoc :: a_12) (l_atob :: TyFun b_13 (a_12, b_13))
type Tuple2Sym2 (t_ato7 :: a_12) (t_ato8 :: b_13) = '(t_ato7, t_ato8)
data Tuple3Sym0 (l_atot :: TyFun a_12 (TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *) -> *))
data Tuple3Sym1 (l_atow :: a_12) (l_atov :: TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *))
data Tuple3Sym2 (l_atoz :: a_12) (l_atoA :: b_13) (l_atoy :: TyFun c_14 (a_12, b_13, c_14))
type Tuple3Sym3 (t_atoq :: a_12) (t_ator :: b_13) (t_atos :: c_14) = '(t_atoq, t_ator, t_atos)
data Tuple4Sym0 (l_atoX :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *) -> *))
data Tuple4Sym1 (l_atp0 :: a_12) (l_atoZ :: TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *))
data Tuple4Sym2 (l_atp3 :: a_12) (l_atp4 :: b_13) (l_atp2 :: TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *))
data Tuple4Sym3 (l_atp7 :: a_12) (l_atp8 :: b_13) (l_atp9 :: c_14) (l_atp6 :: TyFun d_15 (a_12, b_13, c_14, d_15))
type Tuple4Sym4 (t_atoT :: a_12) (t_atoU :: b_13) (t_atoV :: c_14) (t_atoW :: d_15) = '(t_atoT, t_atoU, t_atoV, t_atoW)
data Tuple5Sym0 (l_atpC :: 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_atpF :: a_12) (l_atpE :: 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_atpI :: a_12) (l_atpJ :: b_13) (l_atpH :: TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *))
data Tuple5Sym3 (l_atpM :: a_12) (l_atpN :: b_13) (l_atpO :: c_14) (l_atpL :: TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *))
data Tuple5Sym4 (l_atpR :: a_12) (l_atpS :: b_13) (l_atpT :: c_14) (l_atpU :: d_15) (l_atpQ :: TyFun e_16 (a_12, b_13, c_14, d_15, e_16))
type Tuple5Sym5 (t_atpx :: a_12) (t_atpy :: b_13) (t_atpz :: c_14) (t_atpA :: d_15) (t_atpB :: e_16) = '(t_atpx, t_atpy, t_atpz, t_atpA, t_atpB)
data Tuple6Sym0 (l_atqt :: 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_atqw :: a_12) (l_atqv :: 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_atqz :: a_12) (l_atqA :: b_13) (l_atqy :: 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_atqD :: a_12) (l_atqE :: b_13) (l_atqF :: c_14) (l_atqC :: TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *))
data Tuple6Sym4 (l_atqI :: a_12) (l_atqJ :: b_13) (l_atqK :: c_14) (l_atqL :: d_15) (l_atqH :: TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *))
data Tuple6Sym5 (l_atqO :: a_12) (l_atqP :: b_13) (l_atqQ :: c_14) (l_atqR :: d_15) (l_atqS :: e_16) (l_atqN :: TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17))
type Tuple6Sym6 (t_atqn :: a_12) (t_atqo :: b_13) (t_atqp :: c_14) (t_atqq :: d_15) (t_atqr :: e_16) (t_atqs :: f_17) = '(t_atqn, t_atqo, t_atqp, t_atqq, t_atqr, t_atqs)
data Tuple7Sym0 (l_atrx :: 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_atrA :: a_12) (l_atrz :: 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_atrD :: a_12) (l_atrE :: b_13) (l_atrC :: 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_atrH :: a_12) (l_atrI :: b_13) (l_atrJ :: c_14) (l_atrG :: 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_atrM :: a_12) (l_atrN :: b_13) (l_atrO :: c_14) (l_atrP :: d_15) (l_atrL :: 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_atrS :: a_12) (l_atrT :: b_13) (l_atrU :: c_14) (l_atrV :: d_15) (l_atrW :: e_16) (l_atrR :: TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *))
data Tuple7Sym6 (l_atrZ :: a_12) (l_ats0 :: b_13) (l_ats1 :: c_14) (l_ats2 :: d_15) (l_ats3 :: e_16) (l_ats4 :: f_17) (l_atrY :: TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18))
type Tuple7Sym7 (t_atrq :: a_12) (t_atrr :: b_13) (t_atrs :: c_14) (t_atrt :: d_15) (t_atru :: e_16) (t_atrv :: f_17) (t_atrw :: g_18) = '(t_atrq, t_atrr, t_atrs, t_atrt, t_atru, t_atrv, t_atrw)
-- | 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_aIqI -> Sing t_aIqJ -> Sing t_aIqK -> Sing (Apply (Apply (Apply FoldrSym0 t_aIqI) t_aIqJ) t_aIqK)
sMap :: Sing t_aIqG -> Sing t_aIqH -> Sing (Apply (Apply MapSym0 t_aIqG) t_aIqH)
(%:++) :: Sing t_aIqE -> Sing t_aIqF -> Sing (Apply (Apply (:++$) t_aIqE) t_aIqF)
type Otherwise = (TrueSym0 :: Bool)
sOtherwise :: Sing OtherwiseSym0
sId :: Sing t_aIqD -> Sing (Apply IdSym0 t_aIqD)
sConst :: Sing t_aIqz -> Sing t_aIqA -> Sing (Apply (Apply ConstSym0 t_aIqz) t_aIqA)
(%:.) :: Sing t_aIqw -> Sing t_aIqx -> Sing t_aIqy -> Sing (Apply (Apply (Apply (:.$) t_aIqw) t_aIqx) t_aIqy)
(%$) :: Sing f -> Sing x -> Sing ((($$) @@ f) @@ x)
(%$!) :: Sing f -> Sing x -> Sing ((($!$) @@ f) @@ x)
sFlip :: Sing t_aIqt -> Sing t_aIqu -> Sing t_aIqv -> Sing (Apply (Apply (Apply FlipSym0 t_aIqt) t_aIqu) t_aIqv)
sAsTypeOf :: Sing t_aIqB -> Sing t_aIqC -> Sing (Apply (Apply AsTypeOfSym0 t_aIqB) t_aIqC)
sSeq :: Sing t_aIqr -> Sing t_aIqs -> Sing (Apply (Apply SeqSym0 t_aIqr) t_aIqs)
data FoldrSym0 (l_aIpO :: TyFun (TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (TyFun b_aIn5 (TyFun [a_aIn4] b_aIn5 -> *) -> *))
data FoldrSym1 (l_aIpR :: TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (l_aIpQ :: TyFun b_aIn5 (TyFun [a_aIn4] b_aIn5 -> *))
data FoldrSym2 (l_aIpU :: TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (l_aIpV :: b_aIn5) (l_aIpT :: TyFun [a_aIn4] b_aIn5)
type FoldrSym3 (t_aIpL :: TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (t_aIpM :: b_aIn5) (t_aIpN :: [a_aIn4]) = Foldr t_aIpL t_aIpM t_aIpN
data MapSym0 (l_aIpA :: TyFun (TyFun a_aInb b_aInc -> *) (TyFun [a_aInb] [b_aInc] -> *))
data MapSym1 (l_aIpD :: TyFun a_aInb b_aInc -> *) (l_aIpC :: TyFun [a_aInb] [b_aInc])
type MapSym2 (t_aIpy :: TyFun a_aInb b_aInc -> *) (t_aIpz :: [a_aInb]) = Map t_aIpy t_aIpz
data (:++$) (l_aIpn :: TyFun [a_aIng] (TyFun [a_aIng] [a_aIng] -> *))
data (:++$$) (l_aIpq :: [a_aIng]) (l_aIpp :: TyFun [a_aIng] [a_aIng])
type OtherwiseSym0 = Otherwise
data IdSym0 (l_aIph :: TyFun a_aInl a_aInl)
type IdSym1 (t_aIpg :: a_aInl) = Id t_aIpg
data ConstSym0 (l_aIoS :: TyFun a_aInn (TyFun b_aIno a_aInn -> *))
data ConstSym1 (l_aIoV :: a_aInn) (l_aIoU :: TyFun b_aIno a_aInn)
type ConstSym2 (t_aIoQ :: a_aInn) (t_aIoR :: b_aIno) = Const t_aIoQ t_aIoR
data (:.$) (l_aIoc :: TyFun (TyFun b_aInq c_aInr -> *) (TyFun (TyFun a_aIns b_aInq -> *) (TyFun a_aIns c_aInr -> *) -> *))
data (:.$$) (l_aIof :: TyFun b_aInq c_aInr -> *) (l_aIoe :: TyFun (TyFun a_aIns b_aInq -> *) (TyFun a_aIns c_aInr -> *))
data (:.$$$) (l_aIoi :: TyFun b_aInq c_aInr -> *) (l_aIoj :: TyFun a_aIns b_aInq -> *) (l_aIoh :: TyFun a_aIns c_aInr)
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_aInU :: TyFun (TyFun a_aInw (TyFun b_aInx c_aIny -> *) -> *) (TyFun b_aInx (TyFun a_aInw c_aIny -> *) -> *))
data FlipSym1 (l_aInX :: TyFun a_aInw (TyFun b_aInx c_aIny -> *) -> *) (l_aInW :: TyFun b_aInx (TyFun a_aInw c_aIny -> *))
data FlipSym2 (l_aIo0 :: TyFun a_aInw (TyFun b_aInx c_aIny -> *) -> *) (l_aIo1 :: b_aInx) (l_aInZ :: TyFun a_aInw c_aIny)
data AsTypeOfSym0 (l_aIp7 :: TyFun a_aInC (TyFun a_aInC a_aInC -> *))
data AsTypeOfSym1 (l_aIpa :: a_aInC) (l_aIp9 :: TyFun a_aInC a_aInC)
type AsTypeOfSym2 (t_aIp5 :: a_aInC) (t_aIp6 :: a_aInC) = AsTypeOf t_aIp5 t_aIp6
data SeqSym0 (l_aInI :: TyFun a_aInD (TyFun b_aInE b_aInE -> *))
data SeqSym1 (l_aInL :: a_aInD) (l_aInK :: TyFun b_aInE b_aInE)
type SeqSym2 (t_aInG :: a_aInD) (t_aInH :: b_aInE) = Seq t_aInG t_aInH
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 Let1627560705GoSym0
instance SuppressUnusedWarnings Let1627560705GoSym1
instance SuppressUnusedWarnings Let1627560705GoSym2
instance SuppressUnusedWarnings Let1627560705GoSym3
instance SuppressUnusedWarnings Lambda_1627560605Sym0
instance SuppressUnusedWarnings Lambda_1627560605Sym1
instance SuppressUnusedWarnings Lambda_1627560605Sym2
instance SuppressUnusedWarnings Lambda_1627560605Sym3
-- | 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_atnT :: Either a_a8CR b_a8CS) = Sing z_atnT
either_ :: (a_aLeS -> c_aLeT) -> (b_aLeU -> c_aLeT) -> Either a_aLeS b_aLeU -> c_aLeT
sEither_ :: Sing t_aLfk -> Sing t_aLfl -> Sing t_aLfm -> Sing (Apply (Apply (Apply Either_Sym0 t_aLfk) t_aLfl) t_aLfm)
sLefts :: Sing t_aLCF -> Sing (Apply LeftsSym0 t_aLCF)
sRights :: Sing t_aLCE -> Sing (Apply RightsSym0 t_aLCE)
sPartitionEithers :: Sing t_aLCD -> Sing (Apply PartitionEithersSym0 t_aLCD)
sIsLeft :: Sing t_aLCC -> Sing (Apply IsLeftSym0 t_aLCC)
sIsRight :: Sing t_aLCB -> Sing (Apply IsRightSym0 t_aLCB)
data LeftSym0 (l_atnO :: TyFun a_a8CR (Either a_a8CR b_a8CS))
type LeftSym1 (t_atnN :: a_a8CR) = Left t_atnN
data RightSym0 (l_atnR :: TyFun b_a8CS (Either a_a8CR b_a8CS))
type RightSym1 (t_atnQ :: b_a8CS) = Right t_atnQ
data Either_Sym0 (l_aLf2 :: TyFun (TyFun a_aLeS c_aLeT -> *) (TyFun (TyFun b_aLeU c_aLeT -> *) (TyFun (Either a_aLeS b_aLeU) c_aLeT -> *) -> *))
data Either_Sym1 (l_aLf5 :: TyFun a_aLeS c_aLeT -> *) (l_aLf4 :: TyFun (TyFun b_aLeU c_aLeT -> *) (TyFun (Either a_aLeS b_aLeU) c_aLeT -> *))
data Either_Sym2 (l_aLf8 :: TyFun a_aLeS c_aLeT -> *) (l_aLf9 :: TyFun b_aLeU c_aLeT -> *) (l_aLf7 :: TyFun (Either a_aLeS b_aLeU) c_aLeT)
type Either_Sym3 (t_aLeZ :: TyFun a_aLeS c_aLeT -> *) (t_aLf0 :: TyFun b_aLeU c_aLeT -> *) (t_aLf1 :: Either a_aLeS b_aLeU) = Either_ t_aLeZ t_aLf0 t_aLf1
data LeftsSym0 (l_aLCu :: TyFun [Either a_aLB5 b_aLB6] [a_aLB5])
type LeftsSym1 (t_aLCt :: [Either a_aLB5 b_aLB6]) = Lefts t_aLCt
data RightsSym0 (l_aLCm :: TyFun [Either a_aLBa b_aLBb] [b_aLBb])
type RightsSym1 (t_aLCl :: [Either a_aLBa b_aLBb]) = Rights t_aLCl
data IsLeftSym0 (l_aLBA :: TyFun (Either a_aLBp b_aLBq) Bool)
type IsLeftSym1 (t_aLBz :: Either a_aLBp b_aLBq) = IsLeft t_aLBz
data IsRightSym0 (l_aLBu :: TyFun (Either a_aLBr b_aLBs) Bool)
type IsRightSym1 (t_aLBt :: Either a_aLBr b_aLBs) = IsRight t_aLBt
instance SuppressUnusedWarnings LeftsSym0
instance SuppressUnusedWarnings RightsSym0
instance SuppressUnusedWarnings PartitionEithersSym0
instance SuppressUnusedWarnings IsLeftSym0
instance SuppressUnusedWarnings IsRightSym0
instance SuppressUnusedWarnings Let1627572962LeftSym0
instance SuppressUnusedWarnings Let1627572962LeftSym1
instance SuppressUnusedWarnings Let1627572962LeftSym2
instance SuppressUnusedWarnings Let1627572962RightSym0
instance SuppressUnusedWarnings Let1627572962RightSym1
instance SuppressUnusedWarnings Let1627572962RightSym2
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_aLeS -> c_aLeT) -> (b_aLeU -> c_aLeT) -> Either a_aLeS b_aLeU -> c_aLeT
data LeftSym0 (l_atnO :: TyFun a_a8CR (Either a_a8CR b_a8CS))
type LeftSym1 (t_atnN :: a_a8CR) = Left t_atnN
data RightSym0 (l_atnR :: TyFun b_a8CS (Either a_a8CR b_a8CS))
type RightSym1 (t_atnQ :: b_a8CS) = Right t_atnQ
data Either_Sym0 (l_aLf2 :: TyFun (TyFun a_aLeS c_aLeT -> *) (TyFun (TyFun b_aLeU c_aLeT -> *) (TyFun (Either a_aLeS b_aLeU) c_aLeT -> *) -> *))
data Either_Sym1 (l_aLf5 :: TyFun a_aLeS c_aLeT -> *) (l_aLf4 :: TyFun (TyFun b_aLeU c_aLeT -> *) (TyFun (Either a_aLeS b_aLeU) c_aLeT -> *))
data Either_Sym2 (l_aLf8 :: TyFun a_aLeS c_aLeT -> *) (l_aLf9 :: TyFun b_aLeU c_aLeT -> *) (l_aLf7 :: TyFun (Either a_aLeS b_aLeU) c_aLeT)
type Either_Sym3 (t_aLeZ :: TyFun a_aLeS c_aLeT -> *) (t_aLf0 :: TyFun b_aLeU c_aLeT -> *) (t_aLf1 :: Either a_aLeS b_aLeU) = Either_ t_aLeZ t_aLf0 t_aLf1
data LeftsSym0 (l_aLCu :: TyFun [Either a_aLB5 b_aLB6] [a_aLB5])
type LeftsSym1 (t_aLCt :: [Either a_aLB5 b_aLB6]) = Lefts t_aLCt
data RightsSym0 (l_aLCm :: TyFun [Either a_aLBa b_aLBb] [b_aLBb])
type RightsSym1 (t_aLCl :: [Either a_aLBa b_aLBb]) = Rights t_aLCl
data IsLeftSym0 (l_aLBA :: TyFun (Either a_aLBp b_aLBq) Bool)
type IsLeftSym1 (t_aLBz :: Either a_aLBp b_aLBq) = IsLeft t_aLBz
data IsRightSym0 (l_aLBu :: TyFun (Either a_aLBr b_aLBs) Bool)
type IsRightSym1 (t_aLBt :: Either a_aLBr b_aLBs) = IsRight t_aLBt
-- | 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_ato4 :: ()) = Sing z_ato4
type STuple2 (z_atoe :: (a_12, b_13)) = Sing z_atoe
type STuple3 (z_atoC :: (a_12, b_13, c_14)) = Sing z_atoC
type STuple4 (z_atpb :: (a_12, b_13, c_14, d_15)) = Sing z_atpb
type STuple5 (z_atpW :: (a_12, b_13, c_14, d_15, e_16)) = Sing z_atpW
type STuple6 (z_atqU :: (a_12, b_13, c_14, d_15, e_16, f_17)) = Sing z_atqU
type STuple7 (z_ats6 :: (a_12, b_13, c_14, d_15, e_16, f_17, g_18)) = Sing z_ats6
sFst :: Sing t_aNYI -> Sing (Apply FstSym0 t_aNYI)
sSnd :: Sing t_aNYH -> Sing (Apply SndSym0 t_aNYH)
sCurry :: Sing t_aNYE -> Sing t_aNYF -> Sing t_aNYG -> Sing (Apply (Apply (Apply CurrySym0 t_aNYE) t_aNYF) t_aNYG)
sUncurry :: Sing t_aNYJ -> Sing t_aNYK -> Sing (Apply (Apply UncurrySym0 t_aNYJ) t_aNYK)
sSwap :: Sing t_aNYD -> Sing (Apply SwapSym0 t_aNYD)
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_ato9 :: TyFun a_12 (TyFun b_13 (a_12, b_13) -> *))
data Tuple2Sym1 (l_atoc :: a_12) (l_atob :: TyFun b_13 (a_12, b_13))
type Tuple2Sym2 (t_ato7 :: a_12) (t_ato8 :: b_13) = '(t_ato7, t_ato8)
data Tuple3Sym0 (l_atot :: TyFun a_12 (TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *) -> *))
data Tuple3Sym1 (l_atow :: a_12) (l_atov :: TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *))
data Tuple3Sym2 (l_atoz :: a_12) (l_atoA :: b_13) (l_atoy :: TyFun c_14 (a_12, b_13, c_14))
type Tuple3Sym3 (t_atoq :: a_12) (t_ator :: b_13) (t_atos :: c_14) = '(t_atoq, t_ator, t_atos)
data Tuple4Sym0 (l_atoX :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *) -> *))
data Tuple4Sym1 (l_atp0 :: a_12) (l_atoZ :: TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *))
data Tuple4Sym2 (l_atp3 :: a_12) (l_atp4 :: b_13) (l_atp2 :: TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *))
data Tuple4Sym3 (l_atp7 :: a_12) (l_atp8 :: b_13) (l_atp9 :: c_14) (l_atp6 :: TyFun d_15 (a_12, b_13, c_14, d_15))
type Tuple4Sym4 (t_atoT :: a_12) (t_atoU :: b_13) (t_atoV :: c_14) (t_atoW :: d_15) = '(t_atoT, t_atoU, t_atoV, t_atoW)
data Tuple5Sym0 (l_atpC :: 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_atpF :: a_12) (l_atpE :: 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_atpI :: a_12) (l_atpJ :: b_13) (l_atpH :: TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *))
data Tuple5Sym3 (l_atpM :: a_12) (l_atpN :: b_13) (l_atpO :: c_14) (l_atpL :: TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *))
data Tuple5Sym4 (l_atpR :: a_12) (l_atpS :: b_13) (l_atpT :: c_14) (l_atpU :: d_15) (l_atpQ :: TyFun e_16 (a_12, b_13, c_14, d_15, e_16))
type Tuple5Sym5 (t_atpx :: a_12) (t_atpy :: b_13) (t_atpz :: c_14) (t_atpA :: d_15) (t_atpB :: e_16) = '(t_atpx, t_atpy, t_atpz, t_atpA, t_atpB)
data Tuple6Sym0 (l_atqt :: 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_atqw :: a_12) (l_atqv :: 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_atqz :: a_12) (l_atqA :: b_13) (l_atqy :: 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_atqD :: a_12) (l_atqE :: b_13) (l_atqF :: c_14) (l_atqC :: TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *))
data Tuple6Sym4 (l_atqI :: a_12) (l_atqJ :: b_13) (l_atqK :: c_14) (l_atqL :: d_15) (l_atqH :: TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *))
data Tuple6Sym5 (l_atqO :: a_12) (l_atqP :: b_13) (l_atqQ :: c_14) (l_atqR :: d_15) (l_atqS :: e_16) (l_atqN :: TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17))
type Tuple6Sym6 (t_atqn :: a_12) (t_atqo :: b_13) (t_atqp :: c_14) (t_atqq :: d_15) (t_atqr :: e_16) (t_atqs :: f_17) = '(t_atqn, t_atqo, t_atqp, t_atqq, t_atqr, t_atqs)
data Tuple7Sym0 (l_atrx :: 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_atrA :: a_12) (l_atrz :: 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_atrD :: a_12) (l_atrE :: b_13) (l_atrC :: 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_atrH :: a_12) (l_atrI :: b_13) (l_atrJ :: c_14) (l_atrG :: 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_atrM :: a_12) (l_atrN :: b_13) (l_atrO :: c_14) (l_atrP :: d_15) (l_atrL :: 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_atrS :: a_12) (l_atrT :: b_13) (l_atrU :: c_14) (l_atrV :: d_15) (l_atrW :: e_16) (l_atrR :: TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *))
data Tuple7Sym6 (l_atrZ :: a_12) (l_ats0 :: b_13) (l_ats1 :: c_14) (l_ats2 :: d_15) (l_ats3 :: e_16) (l_ats4 :: f_17) (l_atrY :: TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18))
type Tuple7Sym7 (t_atrq :: a_12) (t_atrr :: b_13) (t_atrs :: c_14) (t_atrt :: d_15) (t_atru :: e_16) (t_atrv :: f_17) (t_atrw :: g_18) = '(t_atrq, t_atrr, t_atrs, t_atrt, t_atru, t_atrv, t_atrw)
data FstSym0 (l_aNYn :: TyFun (a_aNXx, b_aNXy) a_aNXx)
type FstSym1 (t_aNYm :: (a_aNXx, b_aNXy)) = Fst t_aNYm
data SndSym0 (l_aNYh :: TyFun (a_aNXA, b_aNXB) b_aNXB)
type SndSym1 (t_aNYg :: (a_aNXA, b_aNXB)) = Snd t_aNYg
data CurrySym0 (l_aNY1 :: TyFun (TyFun (a_aNXD, b_aNXE) c_aNXF -> *) (TyFun a_aNXD (TyFun b_aNXE c_aNXF -> *) -> *))
data CurrySym1 (l_aNY4 :: TyFun (a_aNXD, b_aNXE) c_aNXF -> *) (l_aNY3 :: TyFun a_aNXD (TyFun b_aNXE c_aNXF -> *))
data CurrySym2 (l_aNY7 :: TyFun (a_aNXD, b_aNXE) c_aNXF -> *) (l_aNY8 :: a_aNXD) (l_aNY6 :: TyFun b_aNXE c_aNXF)
type CurrySym3 (t_aNXY :: TyFun (a_aNXD, b_aNXE) c_aNXF -> *) (t_aNXZ :: a_aNXD) (t_aNY0 :: b_aNXE) = Curry t_aNXY t_aNXZ t_aNY0
data UncurrySym0 (l_aNYu :: TyFun (TyFun a_aNXJ (TyFun b_aNXK c_aNXL -> *) -> *) (TyFun (a_aNXJ, b_aNXK) c_aNXL -> *))
data UncurrySym1 (l_aNYx :: TyFun a_aNXJ (TyFun b_aNXK c_aNXL -> *) -> *) (l_aNYw :: TyFun (a_aNXJ, b_aNXK) c_aNXL)
type UncurrySym2 (t_aNYs :: TyFun a_aNXJ (TyFun b_aNXK c_aNXL -> *) -> *) (t_aNYt :: (a_aNXJ, b_aNXK)) = Uncurry t_aNYs t_aNYt
data SwapSym0 (l_aNXT :: TyFun (a_aNXO, b_aNXP) (b_aNXP, a_aNXO))
type SwapSym1 (t_aNXS :: (a_aNXO, b_aNXP)) = Swap t_aNXS
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_ato9 :: TyFun a_12 (TyFun b_13 (a_12, b_13) -> *))
data Tuple2Sym1 (l_atoc :: a_12) (l_atob :: TyFun b_13 (a_12, b_13))
type Tuple2Sym2 (t_ato7 :: a_12) (t_ato8 :: b_13) = '(t_ato7, t_ato8)
data Tuple3Sym0 (l_atot :: TyFun a_12 (TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *) -> *))
data Tuple3Sym1 (l_atow :: a_12) (l_atov :: TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *))
data Tuple3Sym2 (l_atoz :: a_12) (l_atoA :: b_13) (l_atoy :: TyFun c_14 (a_12, b_13, c_14))
type Tuple3Sym3 (t_atoq :: a_12) (t_ator :: b_13) (t_atos :: c_14) = '(t_atoq, t_ator, t_atos)
data Tuple4Sym0 (l_atoX :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *) -> *))
data Tuple4Sym1 (l_atp0 :: a_12) (l_atoZ :: TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *))
data Tuple4Sym2 (l_atp3 :: a_12) (l_atp4 :: b_13) (l_atp2 :: TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *))
data Tuple4Sym3 (l_atp7 :: a_12) (l_atp8 :: b_13) (l_atp9 :: c_14) (l_atp6 :: TyFun d_15 (a_12, b_13, c_14, d_15))
type Tuple4Sym4 (t_atoT :: a_12) (t_atoU :: b_13) (t_atoV :: c_14) (t_atoW :: d_15) = '(t_atoT, t_atoU, t_atoV, t_atoW)
data Tuple5Sym0 (l_atpC :: 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_atpF :: a_12) (l_atpE :: 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_atpI :: a_12) (l_atpJ :: b_13) (l_atpH :: TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *))
data Tuple5Sym3 (l_atpM :: a_12) (l_atpN :: b_13) (l_atpO :: c_14) (l_atpL :: TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *))
data Tuple5Sym4 (l_atpR :: a_12) (l_atpS :: b_13) (l_atpT :: c_14) (l_atpU :: d_15) (l_atpQ :: TyFun e_16 (a_12, b_13, c_14, d_15, e_16))
type Tuple5Sym5 (t_atpx :: a_12) (t_atpy :: b_13) (t_atpz :: c_14) (t_atpA :: d_15) (t_atpB :: e_16) = '(t_atpx, t_atpy, t_atpz, t_atpA, t_atpB)
data Tuple6Sym0 (l_atqt :: 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_atqw :: a_12) (l_atqv :: 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_atqz :: a_12) (l_atqA :: b_13) (l_atqy :: 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_atqD :: a_12) (l_atqE :: b_13) (l_atqF :: c_14) (l_atqC :: TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *))
data Tuple6Sym4 (l_atqI :: a_12) (l_atqJ :: b_13) (l_atqK :: c_14) (l_atqL :: d_15) (l_atqH :: TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *))
data Tuple6Sym5 (l_atqO :: a_12) (l_atqP :: b_13) (l_atqQ :: c_14) (l_atqR :: d_15) (l_atqS :: e_16) (l_atqN :: TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17))
type Tuple6Sym6 (t_atqn :: a_12) (t_atqo :: b_13) (t_atqp :: c_14) (t_atqq :: d_15) (t_atqr :: e_16) (t_atqs :: f_17) = '(t_atqn, t_atqo, t_atqp, t_atqq, t_atqr, t_atqs)
data Tuple7Sym0 (l_atrx :: 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_atrA :: a_12) (l_atrz :: 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_atrD :: a_12) (l_atrE :: b_13) (l_atrC :: 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_atrH :: a_12) (l_atrI :: b_13) (l_atrJ :: c_14) (l_atrG :: 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_atrM :: a_12) (l_atrN :: b_13) (l_atrO :: c_14) (l_atrP :: d_15) (l_atrL :: 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_atrS :: a_12) (l_atrT :: b_13) (l_atrU :: c_14) (l_atrV :: d_15) (l_atrW :: e_16) (l_atrR :: TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *))
data Tuple7Sym6 (l_atrZ :: a_12) (l_ats0 :: b_13) (l_ats1 :: c_14) (l_ats2 :: d_15) (l_ats3 :: e_16) (l_ats4 :: f_17) (l_atrY :: TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18))
type Tuple7Sym7 (t_atrq :: a_12) (t_atrr :: b_13) (t_atrs :: c_14) (t_atrt :: d_15) (t_atru :: e_16) (t_atrv :: f_17) (t_atrw :: g_18) = '(t_atrq, t_atrr, t_atrs, t_atrt, t_atru, t_atrv, t_atrw)
data FstSym0 (l_aNYn :: TyFun (a_aNXx, b_aNXy) a_aNXx)
type FstSym1 (t_aNYm :: (a_aNXx, b_aNXy)) = Fst t_aNYm
data SndSym0 (l_aNYh :: TyFun (a_aNXA, b_aNXB) b_aNXB)
type SndSym1 (t_aNYg :: (a_aNXA, b_aNXB)) = Snd t_aNYg
data CurrySym0 (l_aNY1 :: TyFun (TyFun (a_aNXD, b_aNXE) c_aNXF -> *) (TyFun a_aNXD (TyFun b_aNXE c_aNXF -> *) -> *))
data CurrySym1 (l_aNY4 :: TyFun (a_aNXD, b_aNXE) c_aNXF -> *) (l_aNY3 :: TyFun a_aNXD (TyFun b_aNXE c_aNXF -> *))
data CurrySym2 (l_aNY7 :: TyFun (a_aNXD, b_aNXE) c_aNXF -> *) (l_aNY8 :: a_aNXD) (l_aNY6 :: TyFun b_aNXE c_aNXF)
type CurrySym3 (t_aNXY :: TyFun (a_aNXD, b_aNXE) c_aNXF -> *) (t_aNXZ :: a_aNXD) (t_aNY0 :: b_aNXE) = Curry t_aNXY t_aNXZ t_aNY0
data UncurrySym0 (l_aNYu :: TyFun (TyFun a_aNXJ (TyFun b_aNXK c_aNXL -> *) -> *) (TyFun (a_aNXJ, b_aNXK) c_aNXL -> *))
data UncurrySym1 (l_aNYx :: TyFun a_aNXJ (TyFun b_aNXK c_aNXL -> *) -> *) (l_aNYw :: TyFun (a_aNXJ, b_aNXK) c_aNXL)
type UncurrySym2 (t_aNYs :: TyFun a_aNXJ (TyFun b_aNXK c_aNXL -> *) -> *) (t_aNYt :: (a_aNXJ, b_aNXK)) = Uncurry t_aNYs t_aNYt
data SwapSym0 (l_aNXT :: TyFun (a_aNXO, b_aNXP) (b_aNXP, a_aNXO))
type SwapSym1 (t_aNXS :: (a_aNXO, b_aNXP)) = Swap t_aNXS
-- | 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_aIpO :: TyFun (TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (TyFun b_aIn5 (TyFun [a_aIn4] b_aIn5 -> *) -> *))
data FoldrSym1 (l_aIpR :: TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (l_aIpQ :: TyFun b_aIn5 (TyFun [a_aIn4] b_aIn5 -> *))
data FoldrSym2 (l_aIpU :: TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (l_aIpV :: b_aIn5) (l_aIpT :: TyFun [a_aIn4] b_aIn5)
type FoldrSym3 (t_aIpL :: TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (t_aIpM :: b_aIn5) (t_aIpN :: [a_aIn4]) = Foldr t_aIpL t_aIpM t_aIpN
data MapSym0 (l_aIpA :: TyFun (TyFun a_aInb b_aInc -> *) (TyFun [a_aInb] [b_aInc] -> *))
data MapSym1 (l_aIpD :: TyFun a_aInb b_aInc -> *) (l_aIpC :: TyFun [a_aInb] [b_aInc])
type MapSym2 (t_aIpy :: TyFun a_aInb b_aInc -> *) (t_aIpz :: [a_aInb]) = Map t_aIpy t_aIpz
data (:++$) (l_aIpn :: TyFun [a_aIng] (TyFun [a_aIng] [a_aIng] -> *))
data (:++$$) (l_aIpq :: [a_aIng]) (l_aIpp :: TyFun [a_aIng] [a_aIng])
type OtherwiseSym0 = Otherwise
data IdSym0 (l_aIph :: TyFun a_aInl a_aInl)
type IdSym1 (t_aIpg :: a_aInl) = Id t_aIpg
data ConstSym0 (l_aIoS :: TyFun a_aInn (TyFun b_aIno a_aInn -> *))
data ConstSym1 (l_aIoV :: a_aInn) (l_aIoU :: TyFun b_aIno a_aInn)
type ConstSym2 (t_aIoQ :: a_aInn) (t_aIoR :: b_aIno) = Const t_aIoQ t_aIoR
data (:.$) (l_aIoc :: TyFun (TyFun b_aInq c_aInr -> *) (TyFun (TyFun a_aIns b_aInq -> *) (TyFun a_aIns c_aInr -> *) -> *))
data (:.$$) (l_aIof :: TyFun b_aInq c_aInr -> *) (l_aIoe :: TyFun (TyFun a_aIns b_aInq -> *) (TyFun a_aIns c_aInr -> *))
data (:.$$$) (l_aIoi :: TyFun b_aInq c_aInr -> *) (l_aIoj :: TyFun a_aIns b_aInq -> *) (l_aIoh :: TyFun a_aIns c_aInr)
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_aInU :: TyFun (TyFun a_aInw (TyFun b_aInx c_aIny -> *) -> *) (TyFun b_aInx (TyFun a_aInw c_aIny -> *) -> *))
data FlipSym1 (l_aInX :: TyFun a_aInw (TyFun b_aInx c_aIny -> *) -> *) (l_aInW :: TyFun b_aInx (TyFun a_aInw c_aIny -> *))
data FlipSym2 (l_aIo0 :: TyFun a_aInw (TyFun b_aInx c_aIny -> *) -> *) (l_aIo1 :: b_aInx) (l_aInZ :: TyFun a_aInw c_aIny)
data UntilSym0 (l_aOZf :: TyFun (TyFun a_aOZ5 Bool -> *) (TyFun (TyFun a_aOZ5 a_aOZ5 -> *) (TyFun a_aOZ5 a_aOZ5 -> *) -> *))
data UntilSym1 (l_aOZi :: TyFun a_aOZ5 Bool -> *) (l_aOZh :: TyFun (TyFun a_aOZ5 a_aOZ5 -> *) (TyFun a_aOZ5 a_aOZ5 -> *))
data UntilSym2 (l_aOZl :: TyFun a_aOZ5 Bool -> *) (l_aOZm :: TyFun a_aOZ5 a_aOZ5 -> *) (l_aOZk :: TyFun a_aOZ5 a_aOZ5)
type UntilSym3 (t_aOZc :: TyFun a_aOZ5 Bool -> *) (t_aOZd :: TyFun a_aOZ5 a_aOZ5 -> *) (t_aOZe :: a_aOZ5) = Until t_aOZc t_aOZd t_aOZe
data AsTypeOfSym0 (l_aIp7 :: TyFun a_aInC (TyFun a_aInC a_aInC -> *))
data AsTypeOfSym1 (l_aIpa :: a_aInC) (l_aIp9 :: TyFun a_aInC a_aInC)
type AsTypeOfSym2 (t_aIp5 :: a_aInC) (t_aIp6 :: a_aInC) = AsTypeOf t_aIp5 t_aIp6
data SeqSym0 (l_aInI :: TyFun a_aInD (TyFun b_aInE b_aInE -> *))
data SeqSym1 (l_aInL :: a_aInD) (l_aInK :: TyFun b_aInE b_aInE)
type SeqSym2 (t_aInG :: a_aInD) (t_aInH :: b_aInE) = Seq t_aInG t_aInH
instance SuppressUnusedWarnings UntilSym0
instance SuppressUnusedWarnings UntilSym1
instance SuppressUnusedWarnings UntilSym2
instance SuppressUnusedWarnings Let1627585966GoSym0
instance SuppressUnusedWarnings Let1627585966GoSym1
instance SuppressUnusedWarnings Let1627585966GoSym2
instance SuppressUnusedWarnings Let1627585966GoSym3
-- | 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_atnC :: [a_12]) = Sing z_atnC
(%:++) :: Sing t_aIqE -> Sing t_aIqF -> Sing (Apply (Apply (:++$) t_aIqE) t_aIqF)
sHead :: Sing t_aS6f -> Sing (Apply HeadSym0 t_aS6f)
sLast :: Sing t_aS6e -> Sing (Apply LastSym0 t_aS6e)
sTail :: Sing t_aS6d -> Sing (Apply TailSym0 t_aS6d)
sInit :: Sing t_aS6c -> Sing (Apply InitSym0 t_aS6c)
sNull :: Sing t_aS6b -> Sing (Apply NullSym0 t_aS6b)
sMap :: Sing t_aIqG -> Sing t_aIqH -> Sing (Apply (Apply MapSym0 t_aIqG) t_aIqH)
sReverse :: Sing t_aS68 -> Sing (Apply ReverseSym0 t_aS68)
sIntersperse :: Sing t_aS64 -> Sing t_aS65 -> Sing (Apply (Apply IntersperseSym0 t_aS64) t_aS65)
sIntercalate :: Sing t_aS66 -> Sing t_aS67 -> Sing (Apply (Apply IntercalateSym0 t_aS66) t_aS67)
sSubsequences :: Sing t_aS63 -> Sing (Apply SubsequencesSym0 t_aS63)
sPermutations :: Sing t_aS5Z -> Sing (Apply PermutationsSym0 t_aS5Z)
sFoldl :: Sing t_aS5L -> Sing t_aS5M -> Sing t_aS5N -> Sing (Apply (Apply (Apply FoldlSym0 t_aS5L) t_aS5M) t_aS5N)
sFoldl' :: Sing t_aS5G -> Sing t_aS5H -> Sing t_aS5I -> Sing (Apply (Apply (Apply Foldl'Sym0 t_aS5G) t_aS5H) t_aS5I)
sFoldl1 :: Sing t_aS5O -> Sing t_aS5P -> Sing (Apply (Apply Foldl1Sym0 t_aS5O) t_aS5P)
sFoldl1' :: Sing t_aS5J -> Sing t_aS5K -> Sing (Apply (Apply Foldl1'Sym0 t_aS5J) t_aS5K)
sFoldr :: Sing t_aIqI -> Sing t_aIqJ -> Sing t_aIqK -> Sing (Apply (Apply (Apply FoldrSym0 t_aIqI) t_aIqJ) t_aIqK)
sFoldr1 :: Sing t_aS5E -> Sing t_aS5F -> Sing (Apply (Apply Foldr1Sym0 t_aS5E) t_aS5F)
sConcat :: Sing t_aS5D -> Sing (Apply ConcatSym0 t_aS5D)
sConcatMap :: Sing t_aS5B -> Sing t_aS5C -> Sing (Apply (Apply ConcatMapSym0 t_aS5B) t_aS5C)
sAnd :: Sing t_aS5A -> Sing (Apply AndSym0 t_aS5A)
sOr :: Sing t_aS5z -> Sing (Apply OrSym0 t_aS5z)
sAny_ :: Sing t_aPpU -> Sing t_aPpV -> Sing (Apply (Apply Any_Sym0 t_aPpU) t_aPpV)
sAll :: Sing t_aS5x -> Sing t_aS5y -> Sing (Apply (Apply AllSym0 t_aS5x) t_aS5y)
any_ :: (a_aPpD -> Bool) -> [a_aPpD] -> Bool
sScanl :: Sing t_aS5s -> Sing t_aS5t -> Sing t_aS5u -> Sing (Apply (Apply (Apply ScanlSym0 t_aS5s) t_aS5t) t_aS5u)
sScanl1 :: Sing t_aS5v -> Sing t_aS5w -> Sing (Apply (Apply Scanl1Sym0 t_aS5v) t_aS5w)
sScanr :: Sing t_aS5p -> Sing t_aS5q -> Sing t_aS5r -> Sing (Apply (Apply (Apply ScanrSym0 t_aS5p) t_aS5q) t_aS5r)
sScanr1 :: Sing t_aS5n -> Sing t_aS5o -> Sing (Apply (Apply Scanr1Sym0 t_aS5n) t_aS5o)
sMapAccumL :: Sing t_aS5k -> Sing t_aS5l -> Sing t_aS5m -> Sing (Apply (Apply (Apply MapAccumLSym0 t_aS5k) t_aS5l) t_aS5m)
sMapAccumR :: Sing t_aS5h -> Sing t_aS5i -> Sing t_aS5j -> Sing (Apply (Apply (Apply MapAccumRSym0 t_aS5h) t_aS5i) t_aS5j)
sUnfoldr :: Sing t_aS5f -> Sing t_aS5g -> Sing (Apply (Apply UnfoldrSym0 t_aS5f) t_aS5g)
sInits :: Sing t_aS5e -> Sing (Apply InitsSym0 t_aS5e)
sTails :: Sing t_aS5b -> Sing (Apply TailsSym0 t_aS5b)
sIsPrefixOf :: SEq (KProxy :: KProxy a_aRtc) => Sing t_aS59 -> Sing t_aS5a -> Sing (Apply (Apply IsPrefixOfSym0 t_aS59) t_aS5a)
sIsSuffixOf :: SEq (KProxy :: KProxy a_aRth) => Sing t_aS69 -> Sing t_aS6a -> Sing (Apply (Apply IsSuffixOfSym0 t_aS69) t_aS6a)
sIsInfixOf :: SEq (KProxy :: KProxy a_aRtk) => Sing t_aS5c -> Sing t_aS5d -> Sing (Apply (Apply IsInfixOfSym0 t_aS5c) t_aS5d)
sElem :: SEq (KProxy :: KProxy a_aRtn) => Sing t_aS57 -> Sing t_aS58 -> Sing (Apply (Apply ElemSym0 t_aS57) t_aS58)
sNotElem :: SEq (KProxy :: KProxy a_aRtr) => Sing t_aS55 -> Sing t_aS56 -> Sing (Apply (Apply NotElemSym0 t_aS55) t_aS56)
sZip :: Sing t_aS53 -> Sing t_aS54 -> Sing (Apply (Apply ZipSym0 t_aS53) t_aS54)
sZip3 :: Sing t_aS50 -> Sing t_aS51 -> Sing t_aS52 -> Sing (Apply (Apply (Apply Zip3Sym0 t_aS50) t_aS51) t_aS52)
sZipWith :: Sing t_aS4X -> Sing t_aS4Y -> Sing t_aS4Z -> Sing (Apply (Apply (Apply ZipWithSym0 t_aS4X) t_aS4Y) t_aS4Z)
sZipWith3 :: Sing t_aS4T -> Sing t_aS4U -> Sing t_aS4V -> Sing t_aS4W -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_aS4T) t_aS4U) t_aS4V) t_aS4W)
sUnzip :: Sing t_aS4S -> Sing (Apply UnzipSym0 t_aS4S)
sUnzip3 :: Sing t_aS4R -> Sing (Apply Unzip3Sym0 t_aS4R)
sUnzip4 :: Sing t_aS4Q -> Sing (Apply Unzip4Sym0 t_aS4Q)
sUnzip5 :: Sing t_aS4P -> Sing (Apply Unzip5Sym0 t_aS4P)
sUnzip6 :: Sing t_aS4O -> Sing (Apply Unzip6Sym0 t_aS4O)
sUnzip7 :: Sing t_aS4N -> Sing (Apply Unzip7Sym0 t_aS4N)
sDelete :: SEq (KProxy :: KProxy a_aRvs) => Sing t_aS4L -> Sing t_aS4M -> Sing (Apply (Apply DeleteSym0 t_aS4L) t_aS4M)
(%:\\) :: SEq (KProxy :: KProxy a_aRvt) => Sing t_aS5U -> Sing t_aS5V -> Sing (Apply (Apply (:\\$) t_aS5U) t_aS5V)
sDeleteBy :: Sing t_aS4I -> Sing t_aS4J -> Sing t_aS4K -> Sing (Apply (Apply (Apply DeleteBySym0 t_aS4I) t_aS4J) t_aS4K)
sDeleteFirstsBy :: Sing t_aS5W -> Sing t_aS5X -> Sing t_aS5Y -> Sing (Apply (Apply (Apply DeleteFirstsBySym0 t_aS5W) t_aS5X) t_aS5Y)
sSortBy :: Sing t_aS4G -> Sing t_aS4H -> Sing (Apply (Apply SortBySym0 t_aS4G) t_aS4H)
sInsertBy :: Sing t_aS4D -> Sing t_aS4E -> Sing t_aS4F -> Sing (Apply (Apply (Apply InsertBySym0 t_aS4D) t_aS4E) t_aS4F)
sMaximumBy :: Sing t_aS5Q -> Sing t_aS5R -> Sing (Apply (Apply MaximumBySym0 t_aS5Q) t_aS5R)
sMinimumBy :: Sing t_aS5S -> Sing t_aS5T -> Sing (Apply (Apply MinimumBySym0 t_aS5S) t_aS5T)
type NilSym0 = '[]
data (:$) (l_atnx :: TyFun a_12 (TyFun [a_12] [a_12] -> *))
data (:$$) (l_atnA :: a_12) (l_atnz :: TyFun [a_12] [a_12])
type (:$$$) (t_atnv :: a_12) (t_atnw :: [a_12]) = (:) t_atnv t_atnw
data (:++$$) (l_aIpq :: [a_aIng]) (l_aIpp :: TyFun [a_aIng] [a_aIng])
data (:++$) (l_aIpn :: TyFun [a_aIng] (TyFun [a_aIng] [a_aIng] -> *))
data HeadSym0 (l_aS4y :: TyFun [a_aRqm] a_aRqm)
type HeadSym1 (t_aS4x :: [a_aRqm]) = Head t_aS4x
data LastSym0 (l_aS43 :: TyFun [a_aRqo] a_aRqo)
type LastSym1 (t_aS42 :: [a_aRqo]) = Last t_aS42
data TailSym0 (l_aS3X :: TyFun [a_aRqw] [a_aRqw])
type TailSym1 (t_aS3W :: [a_aRqw]) = Tail t_aS3W
data InitSym0 (l_aS3s :: TyFun [a_aRqy] [a_aRqy])
type InitSym1 (t_aS3r :: [a_aRqy]) = Init t_aS3r
data NullSym0 (l_aS3m :: TyFun [a_aRqG] Bool)
type NullSym1 (t_aS3l :: [a_aRqG]) = Null t_aS3l
data MapSym0 (l_aIpA :: TyFun (TyFun a_aInb b_aInc -> *) (TyFun [a_aInb] [b_aInc] -> *))
data MapSym1 (l_aIpD :: TyFun a_aInb b_aInc -> *) (l_aIpC :: TyFun [a_aInb] [b_aInc])
type MapSym2 (t_aIpy :: TyFun a_aInb b_aInc -> *) (t_aIpz :: [a_aInb]) = Map t_aIpy t_aIpz
data ReverseSym0 (l_aS2N :: TyFun [a_aRqH] [a_aRqH])
type ReverseSym1 (t_aS2M :: [a_aRqH]) = Reverse t_aS2M
data IntersperseSym0 (l_aS2q :: TyFun a_aRqP (TyFun [a_aRqP] [a_aRqP] -> *))
data IntersperseSym1 (l_aS2t :: a_aRqP) (l_aS2s :: TyFun [a_aRqP] [a_aRqP])
type IntersperseSym2 (t_aS2o :: a_aRqP) (t_aS2p :: [a_aRqP]) = Intersperse t_aS2o t_aS2p
data IntercalateSym0 (l_aS2D :: TyFun [a_aRqT] (TyFun [[a_aRqT]] [a_aRqT] -> *))
data IntercalateSym1 (l_aS2G :: [a_aRqT]) (l_aS2F :: TyFun [[a_aRqT]] [a_aRqT])
type IntercalateSym2 (t_aS2B :: [a_aRqT]) (t_aS2C :: [[a_aRqT]]) = Intercalate t_aS2B t_aS2C
data SubsequencesSym0 (l_aS2k :: TyFun [a_aRqW] [[a_aRqW]])
type SubsequencesSym1 (t_aS2j :: [a_aRqW]) = Subsequences t_aS2j
data PermutationsSym0 (l_aRVL :: TyFun [a_aRr8] [[a_aRr8]])
type PermutationsSym1 (t_aRVK :: [a_aRr8]) = Permutations t_aRVK
data FoldlSym0 (l_aRRp :: TyFun (TyFun b_aRrq (TyFun a_aRrr b_aRrq -> *) -> *) (TyFun b_aRrq (TyFun [a_aRrr] b_aRrq -> *) -> *))
data FoldlSym1 (l_aRRs :: TyFun b_aRrq (TyFun a_aRrr b_aRrq -> *) -> *) (l_aRRr :: TyFun b_aRrq (TyFun [a_aRrr] b_aRrq -> *))
data FoldlSym2 (l_aRRv :: TyFun b_aRrq (TyFun a_aRrr b_aRrq -> *) -> *) (l_aRRw :: b_aRrq) (l_aRRu :: TyFun [a_aRrr] b_aRrq)
type FoldlSym3 (t_aRRm :: TyFun b_aRrq (TyFun a_aRrr b_aRrq -> *) -> *) (t_aRRn :: b_aRrq) (t_aRRo :: [a_aRrr]) = Foldl t_aRRm t_aRRn t_aRRo
data Foldl'Sym0 (l_aRPQ :: TyFun (TyFun b_aRpt (TyFun a_aRps b_aRpt -> *) -> *) (TyFun b_aRpt (TyFun [a_aRps] b_aRpt -> *) -> *))
data Foldl'Sym1 (l_aRPT :: TyFun b_aRpt (TyFun a_aRps b_aRpt -> *) -> *) (l_aRPS :: TyFun b_aRpt (TyFun [a_aRps] b_aRpt -> *))
data Foldl'Sym2 (l_aRPW :: TyFun b_aRpt (TyFun a_aRps b_aRpt -> *) -> *) (l_aRPX :: b_aRpt) (l_aRPV :: TyFun [a_aRps] b_aRpt)
type Foldl'Sym3 (t_aRPN :: TyFun b_aRpt (TyFun a_aRps b_aRpt -> *) -> *) (t_aRPO :: b_aRpt) (t_aRPP :: [a_aRps]) = Foldl' t_aRPN t_aRPO t_aRPP
data Foldl1Sym0 (l_aRSc :: TyFun (TyFun a_aRrL (TyFun a_aRrL a_aRrL -> *) -> *) (TyFun [a_aRrL] a_aRrL -> *))
data Foldl1Sym1 (l_aRSf :: TyFun a_aRrL (TyFun a_aRrL a_aRrL -> *) -> *) (l_aRSe :: TyFun [a_aRrL] a_aRrL)
type Foldl1Sym2 (t_aRSa :: TyFun a_aRrL (TyFun a_aRrL a_aRrL -> *) -> *) (t_aRSb :: [a_aRrL]) = Foldl1 t_aRSa t_aRSb
data Foldl1'Sym0 (l_aRRb :: TyFun (TyFun a_aRrP (TyFun a_aRrP a_aRrP -> *) -> *) (TyFun [a_aRrP] a_aRrP -> *))
data Foldl1'Sym1 (l_aRRe :: TyFun a_aRrP (TyFun a_aRrP a_aRrP -> *) -> *) (l_aRRd :: TyFun [a_aRrP] a_aRrP)
type Foldl1'Sym2 (t_aRR9 :: TyFun a_aRrP (TyFun a_aRrP a_aRrP -> *) -> *) (t_aRRa :: [a_aRrP]) = Foldl1' t_aRR9 t_aRRa
data FoldrSym0 (l_aIpO :: TyFun (TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (TyFun b_aIn5 (TyFun [a_aIn4] b_aIn5 -> *) -> *))
data FoldrSym1 (l_aIpR :: TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (l_aIpQ :: TyFun b_aIn5 (TyFun [a_aIn4] b_aIn5 -> *))
data FoldrSym2 (l_aIpU :: TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (l_aIpV :: b_aIn5) (l_aIpT :: TyFun [a_aIn4] b_aIn5)
type FoldrSym3 (t_aIpL :: TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (t_aIpM :: b_aIn5) (t_aIpN :: [a_aIn4]) = Foldr t_aIpL t_aIpM t_aIpN
data Foldr1Sym0 (l_aRPg :: TyFun (TyFun a_aRrT (TyFun a_aRrT a_aRrT -> *) -> *) (TyFun [a_aRrT] a_aRrT -> *))
data Foldr1Sym1 (l_aRPj :: TyFun a_aRrT (TyFun a_aRrT a_aRrT -> *) -> *) (l_aRPi :: TyFun [a_aRrT] a_aRrT)
type Foldr1Sym2 (t_aRPe :: TyFun a_aRrT (TyFun a_aRrT a_aRrT -> *) -> *) (t_aRPf :: [a_aRrT]) = Foldr1 t_aRPe t_aRPf
data ConcatSym0 (l_aRPa :: TyFun [[a_aRrY]] [a_aRrY])
type ConcatSym1 (t_aRP9 :: [[a_aRrY]]) = Concat t_aRP9
data ConcatMapSym0 (l_aROW :: TyFun (TyFun a_aRrZ [b_aRs0] -> *) (TyFun [a_aRrZ] [b_aRs0] -> *))
data ConcatMapSym1 (l_aROZ :: TyFun a_aRrZ [b_aRs0] -> *) (l_aROY :: TyFun [a_aRrZ] [b_aRs0])
type ConcatMapSym2 (t_aROU :: TyFun a_aRrZ [b_aRs0] -> *) (t_aROV :: [a_aRrZ]) = ConcatMap t_aROU t_aROV
data AndSym0 (l_aROP :: TyFun [Bool] Bool)
type AndSym1 (t_aROO :: [Bool]) = And t_aROO
data OrSym0 (l_aROJ :: TyFun [Bool] Bool)
type OrSym1 (t_aROI :: [Bool]) = Or t_aROI
data Any_Sym0 (l_aPpJ :: TyFun (TyFun a_aPpD Bool -> *) (TyFun [a_aPpD] Bool -> *))
data Any_Sym1 (l_aPpM :: TyFun a_aPpD Bool -> *) (l_aPpL :: TyFun [a_aPpD] Bool)
type Any_Sym2 (t_aPpH :: TyFun a_aPpD Bool -> *) (t_aPpI :: [a_aPpD]) = Any_ t_aPpH t_aPpI
data AllSym0 (l_aROx :: TyFun (TyFun a_aRs6 Bool -> *) (TyFun [a_aRs6] Bool -> *))
data AllSym1 (l_aROA :: TyFun a_aRs6 Bool -> *) (l_aROz :: TyFun [a_aRs6] Bool)
type AllSym2 (t_aROv :: TyFun a_aRs6 Bool -> *) (t_aROw :: [a_aRs6]) = All t_aROv t_aROw
data ScanlSym0 (l_aRNK :: TyFun (TyFun b_aRsa (TyFun a_aRsb b_aRsa -> *) -> *) (TyFun b_aRsa (TyFun [a_aRsb] [b_aRsa] -> *) -> *))
data ScanlSym1 (l_aRNN :: TyFun b_aRsa (TyFun a_aRsb b_aRsa -> *) -> *) (l_aRNM :: TyFun b_aRsa (TyFun [a_aRsb] [b_aRsa] -> *))
data ScanlSym2 (l_aRNQ :: TyFun b_aRsa (TyFun a_aRsb b_aRsa -> *) -> *) (l_aRNR :: b_aRsa) (l_aRNP :: TyFun [a_aRsb] [b_aRsa])
type ScanlSym3 (t_aRNH :: TyFun b_aRsa (TyFun a_aRsb b_aRsa -> *) -> *) (t_aRNI :: b_aRsa) (t_aRNJ :: [a_aRsb]) = Scanl t_aRNH t_aRNI t_aRNJ
data Scanl1Sym0 (l_aROk :: TyFun (TyFun a_aRsh (TyFun a_aRsh a_aRsh -> *) -> *) (TyFun [a_aRsh] [a_aRsh] -> *))
data Scanl1Sym1 (l_aROn :: TyFun a_aRsh (TyFun a_aRsh a_aRsh -> *) -> *) (l_aROm :: TyFun [a_aRsh] [a_aRsh])
type Scanl1Sym2 (t_aROi :: TyFun a_aRsh (TyFun a_aRsh a_aRsh -> *) -> *) (t_aROj :: [a_aRsh]) = Scanl1 t_aROi t_aROj
data ScanrSym0 (l_aRN0 :: TyFun (TyFun a_aRsl (TyFun b_aRsm b_aRsm -> *) -> *) (TyFun b_aRsm (TyFun [a_aRsl] [b_aRsm] -> *) -> *))
data ScanrSym1 (l_aRN3 :: TyFun a_aRsl (TyFun b_aRsm b_aRsm -> *) -> *) (l_aRN2 :: TyFun b_aRsm (TyFun [a_aRsl] [b_aRsm] -> *))
data ScanrSym2 (l_aRN6 :: TyFun a_aRsl (TyFun b_aRsm b_aRsm -> *) -> *) (l_aRN7 :: b_aRsm) (l_aRN5 :: TyFun [a_aRsl] [b_aRsm])
type ScanrSym3 (t_aRMX :: TyFun a_aRsl (TyFun b_aRsm b_aRsm -> *) -> *) (t_aRMY :: b_aRsm) (t_aRMZ :: [a_aRsl]) = Scanr t_aRMX t_aRMY t_aRMZ
data Scanr1Sym0 (l_aRM1 :: TyFun (TyFun a_aRsu (TyFun a_aRsu a_aRsu -> *) -> *) (TyFun [a_aRsu] [a_aRsu] -> *))
data Scanr1Sym1 (l_aRM4 :: TyFun a_aRsu (TyFun a_aRsu a_aRsu -> *) -> *) (l_aRM3 :: TyFun [a_aRsu] [a_aRsu])
type Scanr1Sym2 (t_aRLZ :: TyFun a_aRsu (TyFun a_aRsu a_aRsu -> *) -> *) (t_aRM0 :: [a_aRsu]) = Scanr1 t_aRLZ t_aRM0
data MapAccumLSym0 (l_aRJm :: TyFun (TyFun acc_aRsB (TyFun x_aRsC (acc_aRsB, y_aRsD) -> *) -> *) (TyFun acc_aRsB (TyFun [x_aRsC] (acc_aRsB, [y_aRsD]) -> *) -> *))
data MapAccumLSym1 (l_aRJp :: TyFun acc_aRsB (TyFun x_aRsC (acc_aRsB, y_aRsD) -> *) -> *) (l_aRJo :: TyFun acc_aRsB (TyFun [x_aRsC] (acc_aRsB, [y_aRsD]) -> *))
data MapAccumLSym2 (l_aRJs :: TyFun acc_aRsB (TyFun x_aRsC (acc_aRsB, y_aRsD) -> *) -> *) (l_aRJt :: acc_aRsB) (l_aRJr :: TyFun [x_aRsC] (acc_aRsB, [y_aRsD]))
type MapAccumLSym3 (t_aRJj :: TyFun acc_aRsB (TyFun x_aRsC (acc_aRsB, y_aRsD) -> *) -> *) (t_aRJk :: acc_aRsB) (t_aRJl :: [x_aRsC]) = MapAccumL t_aRJj t_aRJk t_aRJl
data MapAccumRSym0 (l_aRGG :: TyFun (TyFun acc_aRsN (TyFun x_aRsO (acc_aRsN, y_aRsP) -> *) -> *) (TyFun acc_aRsN (TyFun [x_aRsO] (acc_aRsN, [y_aRsP]) -> *) -> *))
data MapAccumRSym1 (l_aRGJ :: TyFun acc_aRsN (TyFun x_aRsO (acc_aRsN, y_aRsP) -> *) -> *) (l_aRGI :: TyFun acc_aRsN (TyFun [x_aRsO] (acc_aRsN, [y_aRsP]) -> *))
data MapAccumRSym2 (l_aRGM :: TyFun acc_aRsN (TyFun x_aRsO (acc_aRsN, y_aRsP) -> *) -> *) (l_aRGN :: acc_aRsN) (l_aRGL :: TyFun [x_aRsO] (acc_aRsN, [y_aRsP]))
type MapAccumRSym3 (t_aRGD :: TyFun acc_aRsN (TyFun x_aRsO (acc_aRsN, y_aRsP) -> *) -> *) (t_aRGE :: acc_aRsN) (t_aRGF :: [x_aRsO]) = MapAccumR t_aRGD t_aRGE t_aRGF
data UnfoldrSym0 (l_aRGg :: TyFun (TyFun b_aRsZ (Maybe (a_aRt0, b_aRsZ)) -> *) (TyFun b_aRsZ [a_aRt0] -> *))
data UnfoldrSym1 (l_aRGj :: TyFun b_aRsZ (Maybe (a_aRt0, b_aRsZ)) -> *) (l_aRGi :: TyFun b_aRsZ [a_aRt0])
type UnfoldrSym2 (t_aRGe :: TyFun b_aRsZ (Maybe (a_aRt0, b_aRsZ)) -> *) (t_aRGf :: b_aRsZ) = Unfoldr t_aRGe t_aRGf
data InitsSym0 (l_aRG0 :: TyFun [a_aRt5] [[a_aRt5]])
type InitsSym1 (t_aRFZ :: [a_aRt5]) = Inits t_aRFZ
data TailsSym0 (l_aRFA :: TyFun [a_aRt9] [[a_aRt9]])
type TailsSym1 (t_aRFz :: [a_aRt9]) = Tails t_aRFz
data IsPrefixOfSym0 (l_aRFk :: TyFun [a_aRtc] (TyFun [a_aRtc] Bool -> *))
data IsPrefixOfSym1 (l_aRFn :: [a_aRtc]) (l_aRFm :: TyFun [a_aRtc] Bool)
type IsPrefixOfSym2 (t_aRFi :: [a_aRtc]) (t_aRFj :: [a_aRtc]) = IsPrefixOf t_aRFi t_aRFj
data IsSuffixOfSym0 (l_aS3c :: TyFun [a_aRth] (TyFun [a_aRth] Bool -> *))
data IsSuffixOfSym1 (l_aS3f :: [a_aRth]) (l_aS3e :: TyFun [a_aRth] Bool)
type IsSuffixOfSym2 (t_aS3a :: [a_aRth]) (t_aS3b :: [a_aRth]) = IsSuffixOf t_aS3a t_aS3b
data IsInfixOfSym0 (l_aRFQ :: TyFun [a_aRtk] (TyFun [a_aRtk] Bool -> *))
data IsInfixOfSym1 (l_aRFT :: [a_aRtk]) (l_aRFS :: TyFun [a_aRtk] Bool)
type IsInfixOfSym2 (t_aRFO :: [a_aRtk]) (t_aRFP :: [a_aRtk]) = IsInfixOf t_aRFO t_aRFP
data ElemSym0 (l_aRF7 :: TyFun a_aRtn (TyFun [a_aRtn] Bool -> *))
data ElemSym1 (l_aRFa :: a_aRtn) (l_aRF9 :: TyFun [a_aRtn] Bool)
type ElemSym2 (t_aRF5 :: a_aRtn) (t_aRF6 :: [a_aRtn]) = Elem t_aRF5 t_aRF6
data NotElemSym0 (l_aREU :: TyFun a_aRtr (TyFun [a_aRtr] Bool -> *))
data NotElemSym1 (l_aREX :: a_aRtr) (l_aREW :: TyFun [a_aRtr] Bool)
type NotElemSym2 (t_aRES :: a_aRtr) (t_aRET :: [a_aRtr]) = NotElem t_aRES t_aRET
data ZipSym0 (l_aRED :: TyFun [a_aRtv] (TyFun [b_aRtw] [(a_aRtv, b_aRtw)] -> *))
data ZipSym1 (l_aREG :: [a_aRtv]) (l_aREF :: TyFun [b_aRtw] [(a_aRtv, b_aRtw)])
type ZipSym2 (t_aREB :: [a_aRtv]) (t_aREC :: [b_aRtw]) = Zip t_aREB t_aREC
data Zip3Sym0 (l_aRE1 :: TyFun [a_aRtB] (TyFun [b_aRtC] (TyFun [c_aRtD] [(a_aRtB, b_aRtC, c_aRtD)] -> *) -> *))
data Zip3Sym1 (l_aRE4 :: [a_aRtB]) (l_aRE3 :: TyFun [b_aRtC] (TyFun [c_aRtD] [(a_aRtB, b_aRtC, c_aRtD)] -> *))
data Zip3Sym2 (l_aRE7 :: [a_aRtB]) (l_aRE8 :: [b_aRtC]) (l_aRE6 :: TyFun [c_aRtD] [(a_aRtB, b_aRtC, c_aRtD)])
type Zip3Sym3 (t_aRDY :: [a_aRtB]) (t_aRDZ :: [b_aRtC]) (t_aRE0 :: [c_aRtD]) = Zip3 t_aRDY t_aRDZ t_aRE0
data ZipWithSym0 (l_aRDA :: TyFun (TyFun a_aRtK (TyFun b_aRtL c_aRtM -> *) -> *) (TyFun [a_aRtK] (TyFun [b_aRtL] [c_aRtM] -> *) -> *))
data ZipWithSym1 (l_aRDD :: TyFun a_aRtK (TyFun b_aRtL c_aRtM -> *) -> *) (l_aRDC :: TyFun [a_aRtK] (TyFun [b_aRtL] [c_aRtM] -> *))
data ZipWithSym2 (l_aRDG :: TyFun a_aRtK (TyFun b_aRtL c_aRtM -> *) -> *) (l_aRDH :: [a_aRtK]) (l_aRDF :: TyFun [b_aRtL] [c_aRtM])
type ZipWithSym3 (t_aRDx :: TyFun a_aRtK (TyFun b_aRtL c_aRtM -> *) -> *) (t_aRDy :: [a_aRtK]) (t_aRDz :: [b_aRtL]) = ZipWith t_aRDx t_aRDy t_aRDz
data ZipWith3Sym0 (l_aRCJ :: TyFun (TyFun a_aRtS (TyFun b_aRtT (TyFun c_aRtU d_aRtV -> *) -> *) -> *) (TyFun [a_aRtS] (TyFun [b_aRtT] (TyFun [c_aRtU] [d_aRtV] -> *) -> *) -> *))
data ZipWith3Sym1 (l_aRCM :: TyFun a_aRtS (TyFun b_aRtT (TyFun c_aRtU d_aRtV -> *) -> *) -> *) (l_aRCL :: TyFun [a_aRtS] (TyFun [b_aRtT] (TyFun [c_aRtU] [d_aRtV] -> *) -> *))
data ZipWith3Sym2 (l_aRCP :: TyFun a_aRtS (TyFun b_aRtT (TyFun c_aRtU d_aRtV -> *) -> *) -> *) (l_aRCQ :: [a_aRtS]) (l_aRCO :: TyFun [b_aRtT] (TyFun [c_aRtU] [d_aRtV] -> *))
data ZipWith3Sym3 (l_aRCT :: TyFun a_aRtS (TyFun b_aRtT (TyFun c_aRtU d_aRtV -> *) -> *) -> *) (l_aRCU :: [a_aRtS]) (l_aRCV :: [b_aRtT]) (l_aRCS :: TyFun [c_aRtU] [d_aRtV])
data UnzipSym0 (l_aRCa :: TyFun [(a_aRu3, b_aRu4)] ([a_aRu3], [b_aRu4]))
type UnzipSym1 (t_aRC9 :: [(a_aRu3, b_aRu4)]) = Unzip t_aRC9
data Unzip3Sym0 (l_aRBC :: TyFun [(a_aRua, b_aRub, c_aRuc)] ([a_aRua], [b_aRub], [c_aRuc]))
type Unzip3Sym1 (t_aRBB :: [(a_aRua, b_aRub, c_aRuc)]) = Unzip3 t_aRBB
data Unzip4Sym0 (l_aRB2 :: TyFun [(a_aRuk, b_aRul, c_aRum, d_aRun)] ([a_aRuk], [b_aRul], [c_aRum], [d_aRun]))
type Unzip4Sym1 (t_aRB1 :: [(a_aRuk, b_aRul, c_aRum, d_aRun)]) = Unzip4 t_aRB1
data Unzip5Sym0 (l_aRAq :: TyFun [(a_aRux, b_aRuy, c_aRuz, d_aRuA, e_aRuB)] ([a_aRux], [b_aRuy], [c_aRuz], [d_aRuA], [e_aRuB]))
type Unzip5Sym1 (t_aRAp :: [(a_aRux, b_aRuy, c_aRuz, d_aRuA, e_aRuB)]) = Unzip5 t_aRAp
data Unzip6Sym0 (l_aRzM :: TyFun [(a_aRuN, b_aRuO, c_aRuP, d_aRuQ, e_aRuR, f_aRuS)] ([a_aRuN], [b_aRuO], [c_aRuP], [d_aRuQ], [e_aRuR], [f_aRuS]))
type Unzip6Sym1 (t_aRzL :: [(a_aRuN, b_aRuO, c_aRuP, d_aRuQ, e_aRuR, f_aRuS)]) = Unzip6 t_aRzL
data Unzip7Sym0 (l_aRz6 :: TyFun [(a_aRv6, b_aRv7, c_aRv8, d_aRv9, e_aRva, f_aRvb, g_aRvc)] ([a_aRv6], [b_aRv7], [c_aRv8], [d_aRv9], [e_aRva], [f_aRvb], [g_aRvc]))
type Unzip7Sym1 (t_aRz5 :: [(a_aRv6, b_aRv7, c_aRv8, d_aRv9, e_aRva, f_aRvb, g_aRvc)]) = Unzip7 t_aRz5
data DeleteSym0 (l_aRyW :: TyFun a_aRvs (TyFun [a_aRvs] [a_aRvs] -> *))
data DeleteSym1 (l_aRyZ :: a_aRvs) (l_aRyY :: TyFun [a_aRvs] [a_aRvs])
type DeleteSym2 (t_aRyU :: a_aRvs) (t_aRyV :: [a_aRvs]) = Delete t_aRyU t_aRyV
data (:\\$) (l_aRVf :: TyFun [a_aRvt] (TyFun [a_aRvt] [a_aRvt] -> *))
data (:\\$$) (l_aRVi :: [a_aRvt]) (l_aRVh :: TyFun [a_aRvt] [a_aRvt])
type (:\\$$$) (t_aRVd :: [a_aRvt]) (t_aRVe :: [a_aRvt]) = (:\\) t_aRVd t_aRVe
data DeleteBySym0 (l_aRyb :: TyFun (TyFun a_aRvu (TyFun a_aRvu Bool -> *) -> *) (TyFun a_aRvu (TyFun [a_aRvu] [a_aRvu] -> *) -> *))
data DeleteBySym1 (l_aRye :: TyFun a_aRvu (TyFun a_aRvu Bool -> *) -> *) (l_aRyd :: TyFun a_aRvu (TyFun [a_aRvu] [a_aRvu] -> *))
data DeleteBySym2 (l_aRyh :: TyFun a_aRvu (TyFun a_aRvu Bool -> *) -> *) (l_aRyi :: a_aRvu) (l_aRyg :: TyFun [a_aRvu] [a_aRvu])
type DeleteBySym3 (t_aRy8 :: TyFun a_aRvu (TyFun a_aRvu Bool -> *) -> *) (t_aRy9 :: a_aRvu) (t_aRya :: [a_aRvu]) = DeleteBy t_aRy8 t_aRy9 t_aRya
data DeleteFirstsBySym0 (l_aRVr :: TyFun (TyFun a_aRvz (TyFun a_aRvz Bool -> *) -> *) (TyFun [a_aRvz] (TyFun [a_aRvz] [a_aRvz] -> *) -> *))
data DeleteFirstsBySym1 (l_aRVu :: TyFun a_aRvz (TyFun a_aRvz Bool -> *) -> *) (l_aRVt :: TyFun [a_aRvz] (TyFun [a_aRvz] [a_aRvz] -> *))
data DeleteFirstsBySym2 (l_aRVx :: TyFun a_aRvz (TyFun a_aRvz Bool -> *) -> *) (l_aRVy :: [a_aRvz]) (l_aRVw :: TyFun [a_aRvz] [a_aRvz])
type DeleteFirstsBySym3 (t_aRVo :: TyFun a_aRvz (TyFun a_aRvz Bool -> *) -> *) (t_aRVp :: [a_aRvz]) (t_aRVq :: [a_aRvz]) = DeleteFirstsBy t_aRVo t_aRVp t_aRVq
data SortBySym0 (l_aRxX :: TyFun (TyFun a_aRvB (TyFun a_aRvB Ordering -> *) -> *) (TyFun [a_aRvB] [a_aRvB] -> *))
data SortBySym1 (l_aRy0 :: TyFun a_aRvB (TyFun a_aRvB Ordering -> *) -> *) (l_aRxZ :: TyFun [a_aRvB] [a_aRvB])
type SortBySym2 (t_aRxV :: TyFun a_aRvB (TyFun a_aRvB Ordering -> *) -> *) (t_aRxW :: [a_aRvB]) = SortBy t_aRxV t_aRxW
data InsertBySym0 (l_aRwX :: TyFun (TyFun a_aRvD (TyFun a_aRvD Ordering -> *) -> *) (TyFun a_aRvD (TyFun [a_aRvD] [a_aRvD] -> *) -> *))
data InsertBySym1 (l_aRx0 :: TyFun a_aRvD (TyFun a_aRvD Ordering -> *) -> *) (l_aRwZ :: TyFun a_aRvD (TyFun [a_aRvD] [a_aRvD] -> *))
data InsertBySym2 (l_aRx3 :: TyFun a_aRvD (TyFun a_aRvD Ordering -> *) -> *) (l_aRx4 :: a_aRvD) (l_aRx2 :: TyFun [a_aRvD] [a_aRvD])
type InsertBySym3 (t_aRwU :: TyFun a_aRvD (TyFun a_aRvD Ordering -> *) -> *) (t_aRwV :: a_aRvD) (t_aRwW :: [a_aRvD]) = InsertBy t_aRwU t_aRwV t_aRwW
data MaximumBySym0 (l_aRSp :: TyFun (TyFun a_aRvK (TyFun a_aRvK Ordering -> *) -> *) (TyFun [a_aRvK] a_aRvK -> *))
data MaximumBySym1 (l_aRSs :: TyFun a_aRvK (TyFun a_aRvK Ordering -> *) -> *) (l_aRSr :: TyFun [a_aRvK] a_aRvK)
type MaximumBySym2 (t_aRSn :: TyFun a_aRvK (TyFun a_aRvK Ordering -> *) -> *) (t_aRSo :: [a_aRvK]) = MaximumBy t_aRSn t_aRSo
data MinimumBySym0 (l_aRTN :: TyFun (TyFun a_aRvQ (TyFun a_aRvQ Ordering -> *) -> *) (TyFun [a_aRvQ] a_aRvQ -> *))
data MinimumBySym1 (l_aRTQ :: TyFun a_aRvQ (TyFun a_aRvQ Ordering -> *) -> *) (l_aRTP :: TyFun [a_aRvQ] a_aRvQ)
type MinimumBySym2 (t_aRTL :: TyFun a_aRvQ (TyFun a_aRvQ Ordering -> *) -> *) (t_aRTM :: [a_aRvQ]) = MinimumBy t_aRTL t_aRTM
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 Let1627597784Last'Sym0
instance SuppressUnusedWarnings Let1627597784Last'Sym1
instance SuppressUnusedWarnings Let1627597784Last'Sym2
instance SuppressUnusedWarnings Let1627597784Last'Sym3
instance SuppressUnusedWarnings Let1627597747Init'Sym0
instance SuppressUnusedWarnings Let1627597747Init'Sym1
instance SuppressUnusedWarnings Let1627597747Init'Sym2
instance SuppressUnusedWarnings Let1627597747Init'Sym3
instance SuppressUnusedWarnings Let1627597705RevSym0
instance SuppressUnusedWarnings Let1627597705RevSym1
instance SuppressUnusedWarnings Let1627597705RevSym2
instance SuppressUnusedWarnings Let1627597648FSym0
instance SuppressUnusedWarnings Let1627597648FSym1
instance SuppressUnusedWarnings Let1627597648FSym2
instance SuppressUnusedWarnings Let1627597648FSym3
instance SuppressUnusedWarnings Let1627597269PermsSym0
instance SuppressUnusedWarnings Let1627597269PermsSym1
instance SuppressUnusedWarnings Let1627597269PermsSym2
instance SuppressUnusedWarnings Let1627597288InterleaveSym0
instance SuppressUnusedWarnings Let1627597288InterleaveSym1
instance SuppressUnusedWarnings Let1627597288InterleaveSym2
instance SuppressUnusedWarnings Let1627597288InterleaveSym3
instance SuppressUnusedWarnings Let1627597288InterleaveSym4
instance SuppressUnusedWarnings Let1627597288InterleaveSym5
instance SuppressUnusedWarnings Let1627597288Interleave'Sym0
instance SuppressUnusedWarnings Let1627597288Interleave'Sym1
instance SuppressUnusedWarnings Let1627597288Interleave'Sym2
instance SuppressUnusedWarnings Let1627597288Interleave'Sym3
instance SuppressUnusedWarnings Let1627597288Interleave'Sym4
instance SuppressUnusedWarnings Let1627597288Interleave'Sym5
instance SuppressUnusedWarnings Let1627597288Interleave'Sym6
instance SuppressUnusedWarnings Let1627597552X_1627597553Sym0
instance SuppressUnusedWarnings Let1627597552X_1627597553Sym1
instance SuppressUnusedWarnings Let1627597552X_1627597553Sym2
instance SuppressUnusedWarnings Let1627597552X_1627597553Sym3
instance SuppressUnusedWarnings Let1627597552X_1627597553Sym4
instance SuppressUnusedWarnings Let1627597552X_1627597553Sym5
instance SuppressUnusedWarnings Let1627597552ZsSym0
instance SuppressUnusedWarnings Let1627597552ZsSym1
instance SuppressUnusedWarnings Let1627597552ZsSym2
instance SuppressUnusedWarnings Let1627597552ZsSym3
instance SuppressUnusedWarnings Let1627597552ZsSym4
instance SuppressUnusedWarnings Let1627597552ZsSym5
instance SuppressUnusedWarnings Let1627597340X_1627597341Sym0
instance SuppressUnusedWarnings Let1627597340X_1627597341Sym1
instance SuppressUnusedWarnings Let1627597340X_1627597341Sym2
instance SuppressUnusedWarnings Let1627597340X_1627597341Sym3
instance SuppressUnusedWarnings Let1627597340X_1627597341Sym4
instance SuppressUnusedWarnings Let1627597340X_1627597341Sym5
instance SuppressUnusedWarnings Let1627597340X_1627597341Sym6
instance SuppressUnusedWarnings Let1627597340X_1627597341Sym7
instance SuppressUnusedWarnings Let1627597340ZsSym0
instance SuppressUnusedWarnings Let1627597340ZsSym1
instance SuppressUnusedWarnings Let1627597340ZsSym2
instance SuppressUnusedWarnings Let1627597340ZsSym3
instance SuppressUnusedWarnings Let1627597340ZsSym4
instance SuppressUnusedWarnings Let1627597340ZsSym5
instance SuppressUnusedWarnings Let1627597340ZsSym6
instance SuppressUnusedWarnings Let1627597340ZsSym7
instance SuppressUnusedWarnings Let1627597340UsSym0
instance SuppressUnusedWarnings Let1627597340UsSym1
instance SuppressUnusedWarnings Let1627597340UsSym2
instance SuppressUnusedWarnings Let1627597340UsSym3
instance SuppressUnusedWarnings Let1627597340UsSym4
instance SuppressUnusedWarnings Let1627597340UsSym5
instance SuppressUnusedWarnings Let1627597340UsSym6
instance SuppressUnusedWarnings Let1627597340UsSym7
instance SuppressUnusedWarnings Let1627597167MinBySym0
instance SuppressUnusedWarnings Let1627597167MinBySym1
instance SuppressUnusedWarnings Let1627597167MinBySym2
instance SuppressUnusedWarnings Let1627597167MinBySym3
instance SuppressUnusedWarnings Let1627597167MinBySym4
instance SuppressUnusedWarnings Let1627597197Scrutinee_1627595718Sym0
instance SuppressUnusedWarnings Let1627597197Scrutinee_1627595718Sym1
instance SuppressUnusedWarnings Let1627597197Scrutinee_1627595718Sym2
instance SuppressUnusedWarnings Let1627597197Scrutinee_1627595718Sym3
instance SuppressUnusedWarnings Let1627597197Scrutinee_1627595718Sym4
instance SuppressUnusedWarnings Let1627597154XsSym0
instance SuppressUnusedWarnings Let1627597154XsSym1
instance SuppressUnusedWarnings Let1627597154XsSym2
instance SuppressUnusedWarnings Let1627597081MaxBySym0
instance SuppressUnusedWarnings Let1627597081MaxBySym1
instance SuppressUnusedWarnings Let1627597081MaxBySym2
instance SuppressUnusedWarnings Let1627597081MaxBySym3
instance SuppressUnusedWarnings Let1627597081MaxBySym4
instance SuppressUnusedWarnings Let1627597111Scrutinee_1627595712Sym0
instance SuppressUnusedWarnings Let1627597111Scrutinee_1627595712Sym1
instance SuppressUnusedWarnings Let1627597111Scrutinee_1627595712Sym2
instance SuppressUnusedWarnings Let1627597111Scrutinee_1627595712Sym3
instance SuppressUnusedWarnings Let1627597111Scrutinee_1627595712Sym4
instance SuppressUnusedWarnings Let1627597068XsSym0
instance SuppressUnusedWarnings Let1627597068XsSym1
instance SuppressUnusedWarnings Let1627597068XsSym2
instance SuppressUnusedWarnings Let1627597010LgoSym0
instance SuppressUnusedWarnings Let1627597010LgoSym1
instance SuppressUnusedWarnings Let1627597010LgoSym2
instance SuppressUnusedWarnings Let1627597010LgoSym3
instance SuppressUnusedWarnings Let1627597010LgoSym4
instance SuppressUnusedWarnings Let1627596913LgoSym0
instance SuppressUnusedWarnings Let1627596913LgoSym1
instance SuppressUnusedWarnings Let1627596913LgoSym2
instance SuppressUnusedWarnings Let1627596913LgoSym3
instance SuppressUnusedWarnings Let1627596913LgoSym4
instance SuppressUnusedWarnings Let1627596945Z'Sym0
instance SuppressUnusedWarnings Let1627596945Z'Sym1
instance SuppressUnusedWarnings Let1627596945Z'Sym2
instance SuppressUnusedWarnings Let1627596945Z'Sym3
instance SuppressUnusedWarnings Let1627596945Z'Sym4
instance SuppressUnusedWarnings Let1627596945Z'Sym5
instance SuppressUnusedWarnings Let1627596875XsSym0
instance SuppressUnusedWarnings Let1627596875XsSym1
instance SuppressUnusedWarnings Let1627596875XsSym2
instance SuppressUnusedWarnings Let1627596875XsSym3
instance SuppressUnusedWarnings Let1627596783Scrutinee_1627595668Sym0
instance SuppressUnusedWarnings Let1627596783Scrutinee_1627595668Sym1
instance SuppressUnusedWarnings Let1627596783Scrutinee_1627595668Sym2
instance SuppressUnusedWarnings Let1627596740Scrutinee_1627595670Sym0
instance SuppressUnusedWarnings Let1627596740Scrutinee_1627595670Sym1
instance SuppressUnusedWarnings Let1627596740Scrutinee_1627595670Sym2
instance SuppressUnusedWarnings Let1627596740Scrutinee_1627595670Sym3
instance SuppressUnusedWarnings Let1627596694Scrutinee_1627595672Sym0
instance SuppressUnusedWarnings Let1627596694Scrutinee_1627595672Sym1
instance SuppressUnusedWarnings Let1627596694Scrutinee_1627595672Sym2
instance SuppressUnusedWarnings Let1627596694Scrutinee_1627595672Sym3
instance SuppressUnusedWarnings Let1627596675XsSym0
instance SuppressUnusedWarnings Let1627596675XsSym1
instance SuppressUnusedWarnings Let1627596675XsSym2
instance SuppressUnusedWarnings Let1627596675XsSym3
instance SuppressUnusedWarnings Let1627596514X_1627596521Sym0
instance SuppressUnusedWarnings Let1627596514X_1627596521Sym1
instance SuppressUnusedWarnings Let1627596514X_1627596521Sym2
instance SuppressUnusedWarnings Let1627596514X_1627596521Sym3
instance SuppressUnusedWarnings Let1627596514X_1627596515Sym0
instance SuppressUnusedWarnings Let1627596514X_1627596515Sym1
instance SuppressUnusedWarnings Let1627596514X_1627596515Sym2
instance SuppressUnusedWarnings Let1627596514X_1627596515Sym3
instance SuppressUnusedWarnings Let1627596514YsSym0
instance SuppressUnusedWarnings Let1627596514YsSym1
instance SuppressUnusedWarnings Let1627596514YsSym2
instance SuppressUnusedWarnings Let1627596514YsSym3
instance SuppressUnusedWarnings Let1627596514S''Sym0
instance SuppressUnusedWarnings Let1627596514S''Sym1
instance SuppressUnusedWarnings Let1627596514S''Sym2
instance SuppressUnusedWarnings Let1627596514S''Sym3
instance SuppressUnusedWarnings Let1627596514YSym0
instance SuppressUnusedWarnings Let1627596514YSym1
instance SuppressUnusedWarnings Let1627596514YSym2
instance SuppressUnusedWarnings Let1627596514YSym3
instance SuppressUnusedWarnings Let1627596514S'Sym0
instance SuppressUnusedWarnings Let1627596514S'Sym1
instance SuppressUnusedWarnings Let1627596514S'Sym2
instance SuppressUnusedWarnings Let1627596514S'Sym3
instance SuppressUnusedWarnings Let1627596348X_1627596355Sym0
instance SuppressUnusedWarnings Let1627596348X_1627596355Sym1
instance SuppressUnusedWarnings Let1627596348X_1627596355Sym2
instance SuppressUnusedWarnings Let1627596348X_1627596355Sym3
instance SuppressUnusedWarnings Let1627596348X_1627596349Sym0
instance SuppressUnusedWarnings Let1627596348X_1627596349Sym1
instance SuppressUnusedWarnings Let1627596348X_1627596349Sym2
instance SuppressUnusedWarnings Let1627596348X_1627596349Sym3
instance SuppressUnusedWarnings Let1627596348YSym0
instance SuppressUnusedWarnings Let1627596348YSym1
instance SuppressUnusedWarnings Let1627596348YSym2
instance SuppressUnusedWarnings Let1627596348YSym3
instance SuppressUnusedWarnings Let1627596348S''Sym0
instance SuppressUnusedWarnings Let1627596348S''Sym1
instance SuppressUnusedWarnings Let1627596348S''Sym2
instance SuppressUnusedWarnings Let1627596348S''Sym3
instance SuppressUnusedWarnings Let1627596348YsSym0
instance SuppressUnusedWarnings Let1627596348YsSym1
instance SuppressUnusedWarnings Let1627596348YsSym2
instance SuppressUnusedWarnings Let1627596348YsSym3
instance SuppressUnusedWarnings Let1627596348S'Sym0
instance SuppressUnusedWarnings Let1627596348S'Sym1
instance SuppressUnusedWarnings Let1627596348S'Sym2
instance SuppressUnusedWarnings Let1627596348S'Sym3
instance SuppressUnusedWarnings Let1627596313Scrutinee_1627595678Sym0
instance SuppressUnusedWarnings Let1627596313Scrutinee_1627595678Sym1
instance SuppressUnusedWarnings Let1627596292Scrutinee_1627595680Sym0
instance SuppressUnusedWarnings Let1627596266Scrutinee_1627595682Sym0
instance SuppressUnusedWarnings Lambda_1627596054Sym0
instance SuppressUnusedWarnings Lambda_1627596054Sym1
instance SuppressUnusedWarnings Lambda_1627596054Sym2
instance SuppressUnusedWarnings Lambda_1627596020Sym0
instance SuppressUnusedWarnings Lambda_1627596020Sym1
instance SuppressUnusedWarnings Lambda_1627596020Sym2
instance SuppressUnusedWarnings Lambda_1627595984Sym0
instance SuppressUnusedWarnings Lambda_1627595984Sym1
instance SuppressUnusedWarnings Lambda_1627595984Sym2
instance SuppressUnusedWarnings Lambda_1627595946Sym0
instance SuppressUnusedWarnings Lambda_1627595946Sym1
instance SuppressUnusedWarnings Lambda_1627595946Sym2
instance SuppressUnusedWarnings Lambda_1627595906Sym0
instance SuppressUnusedWarnings Lambda_1627595906Sym1
instance SuppressUnusedWarnings Lambda_1627595906Sym2
instance SuppressUnusedWarnings Lambda_1627595864Sym0
instance SuppressUnusedWarnings Lambda_1627595864Sym1
instance SuppressUnusedWarnings Lambda_1627595864Sym2
instance SuppressUnusedWarnings Let1627595821Scrutinee_1627595708Sym0
instance SuppressUnusedWarnings Let1627595821Scrutinee_1627595708Sym1
instance SuppressUnusedWarnings Let1627595821Scrutinee_1627595708Sym2
instance SuppressUnusedWarnings Let1627595821Scrutinee_1627595708Sym3
instance SuppressUnusedWarnings Let1627595764Scrutinee_1627595710Sym0
instance SuppressUnusedWarnings Let1627595764Scrutinee_1627595710Sym1
instance SuppressUnusedWarnings Let1627595764Scrutinee_1627595710Sym2
instance SuppressUnusedWarnings Let1627595764Scrutinee_1627595710Sym3
instance SuppressUnusedWarnings Let1627595745YsSym0
instance SuppressUnusedWarnings Let1627595745YsSym1
instance SuppressUnusedWarnings Let1627595745YsSym2
instance SuppressUnusedWarnings Let1627595745YsSym3
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_atnp :: Maybe a_a57N) = Sing z_atnp
maybe_ :: b_a1wL3 -> (a_a1wL4 -> b_a1wL3) -> Maybe a_a1wL4 -> b_a1wL3
sMaybe_ :: Sing t_a1wLs -> Sing t_a1wLt -> Sing t_a1wLu -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a1wLs) t_a1wLt) t_a1wLu)
sIsJust :: Sing t_a1x8S -> Sing (Apply IsJustSym0 t_a1x8S)
sIsNothing :: Sing t_a1x8R -> Sing (Apply IsNothingSym0 t_a1x8R)
sFromJust :: Sing t_a1x8Q -> Sing (Apply FromJustSym0 t_a1x8Q)
sFromMaybe :: Sing t_a1x8O -> Sing t_a1x8P -> Sing (Apply (Apply FromMaybeSym0 t_a1x8O) t_a1x8P)
sListToMaybe :: Sing t_a1x8M -> Sing (Apply ListToMaybeSym0 t_a1x8M)
sMaybeToList :: Sing t_a1x8N -> Sing (Apply MaybeToListSym0 t_a1x8N)
sCatMaybes :: Sing t_a1x8L -> Sing (Apply CatMaybesSym0 t_a1x8L)
sMapMaybe :: Sing t_a1x8J -> Sing t_a1x8K -> Sing (Apply (Apply MapMaybeSym0 t_a1x8J) t_a1x8K)
type NothingSym0 = Nothing
data JustSym0 (l_atnn :: TyFun a_a57N (Maybe a_a57N))
type JustSym1 (t_atnm :: a_a57N) = Just t_atnm
data Maybe_Sym0 (l_a1wLb :: TyFun b_a1wL3 (TyFun (TyFun a_a1wL4 b_a1wL3 -> *) (TyFun (Maybe a_a1wL4) b_a1wL3 -> *) -> *))
data Maybe_Sym1 (l_a1wLe :: b_a1wL3) (l_a1wLd :: TyFun (TyFun a_a1wL4 b_a1wL3 -> *) (TyFun (Maybe a_a1wL4) b_a1wL3 -> *))
data Maybe_Sym2 (l_a1wLh :: b_a1wL3) (l_a1wLi :: TyFun a_a1wL4 b_a1wL3 -> *) (l_a1wLg :: TyFun (Maybe a_a1wL4) b_a1wL3)
type Maybe_Sym3 (t_a1wL8 :: b_a1wL3) (t_a1wL9 :: TyFun a_a1wL4 b_a1wL3 -> *) (t_a1wLa :: Maybe a_a1wL4) = Maybe_ t_a1wL8 t_a1wL9 t_a1wLa
data IsJustSym0 (l_a1x8F :: TyFun (Maybe a_a1x6F) Bool)
type IsJustSym1 (t_a1x8E :: Maybe a_a1x6F) = IsJust t_a1x8E
data IsNothingSym0 (l_a1x8A :: TyFun (Maybe a_a1x6G) Bool)
type IsNothingSym1 (t_a1x8z :: Maybe a_a1x6G) = IsNothing t_a1x8z
data FromJustSym0 (l_a1x8v :: TyFun (Maybe a_a1x6H) a_a1x6H)
type FromJustSym1 (t_a1x8u :: Maybe a_a1x6H) = FromJust t_a1x8u
data FromMaybeSym0 (l_a1x88 :: TyFun a_a1x6J (TyFun (Maybe a_a1x6J) a_a1x6J -> *))
data FromMaybeSym1 (l_a1x8b :: a_a1x6J) (l_a1x8a :: TyFun (Maybe a_a1x6J) a_a1x6J)
type FromMaybeSym2 (t_a1x86 :: a_a1x6J) (t_a1x87 :: Maybe a_a1x6J) = FromMaybe t_a1x86 t_a1x87
data ListToMaybeSym0 (l_a1x7W :: TyFun [a_a1x6P] (Maybe a_a1x6P))
type ListToMaybeSym1 (t_a1x7V :: [a_a1x6P]) = ListToMaybe t_a1x7V
data MaybeToListSym0 (l_a1x82 :: TyFun (Maybe a_a1x6N) [a_a1x6N])
type MaybeToListSym1 (t_a1x81 :: Maybe a_a1x6N) = MaybeToList t_a1x81
data CatMaybesSym0 (l_a1x7P :: TyFun [Maybe a_a1x6R] [a_a1x6R])
type CatMaybesSym1 (t_a1x7O :: [Maybe a_a1x6R]) = CatMaybes t_a1x7O
data MapMaybeSym0 (l_a1x78 :: TyFun (TyFun a_a1x6V (Maybe b_a1x6W) -> *) (TyFun [a_a1x6V] [b_a1x6W] -> *))
data MapMaybeSym1 (l_a1x7b :: TyFun a_a1x6V (Maybe b_a1x6W) -> *) (l_a1x7a :: TyFun [a_a1x6V] [b_a1x6W])
type MapMaybeSym2 (t_a1x76 :: TyFun a_a1x6V (Maybe b_a1x6W) -> *) (t_a1x77 :: [a_a1x6V]) = MapMaybe t_a1x76 t_a1x77
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 Let1627755645Scrutinee_1627755568Sym0
instance SuppressUnusedWarnings Let1627755645Scrutinee_1627755568Sym1
instance SuppressUnusedWarnings Let1627755598Scrutinee_1627755570Sym0
instance SuppressUnusedWarnings Let1627755598Scrutinee_1627755570Sym1
instance SuppressUnusedWarnings Let1627755598Scrutinee_1627755570Sym2
instance SuppressUnusedWarnings Let1627755585RsSym0
instance SuppressUnusedWarnings Let1627755585RsSym1
instance SuppressUnusedWarnings Let1627755585RsSym2
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_ato2 :: Bool) = Sing z_ato2
type SList (z_atnC :: [a_12]) = Sing z_atnC
type SMaybe (z_atnp :: Maybe a_a57N) = Sing z_atnp
type SEither (z_atnT :: Either a_a8CR b_a8CS) = Sing z_atnT
type SOrdering (z_ato3 :: Ordering) = Sing z_ato3
type STuple0 (z_ato4 :: ()) = Sing z_ato4
type STuple2 (z_atoe :: (a_12, b_13)) = Sing z_atoe
type STuple3 (z_atoC :: (a_12, b_13, c_14)) = Sing z_atoC
type STuple4 (z_atpb :: (a_12, b_13, c_14, d_15)) = Sing z_atpb
type STuple5 (z_atpW :: (a_12, b_13, c_14, d_15, e_16)) = Sing z_atpW
type STuple6 (z_atqU :: (a_12, b_13, c_14, d_15, e_16, f_17)) = Sing z_atqU
type STuple7 (z_ats6 :: (a_12, b_13, c_14, d_15, e_16, f_17, g_18)) = Sing z_ats6
-- | 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_aAgK -> Sing (Apply NotSym0 t_aAgK)
(%:&&) :: Sing t_aAgN -> Sing t_aAgO -> Sing (Apply (Apply (:&&$) t_aAgN) t_aAgO)
(%:||) :: Sing t_aAgL -> Sing t_aAgM -> Sing (Apply (Apply (:||$) t_aAgL) t_aAgM)
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_aIqD -> Sing (Apply IdSym0 t_aIqD)
sConst :: Sing t_aIqz -> Sing t_aIqA -> Sing (Apply (Apply ConstSym0 t_aIqz) t_aIqA)
(%:.) :: Sing t_aIqw -> Sing t_aIqx -> Sing t_aIqy -> Sing (Apply (Apply (Apply (:.$) t_aIqw) t_aIqx) t_aIqy)
(%$) :: Sing f -> Sing x -> Sing ((($$) @@ f) @@ x)
(%$!) :: Sing f -> Sing x -> Sing ((($!$) @@ f) @@ x)
sFlip :: Sing t_aIqt -> Sing t_aIqu -> Sing t_aIqv -> Sing (Apply (Apply (Apply FlipSym0 t_aIqt) t_aIqu) t_aIqv)
sAsTypeOf :: Sing t_aIqB -> Sing t_aIqC -> Sing (Apply (Apply AsTypeOfSym0 t_aIqB) t_aIqC)
sSeq :: Sing t_aIqr -> Sing t_aIqs -> Sing (Apply (Apply SeqSym0 t_aIqr) t_aIqs)
sMap :: Sing t_aIqG -> Sing t_aIqH -> Sing (Apply (Apply MapSym0 t_aIqG) t_aIqH)
(%:++) :: Sing t_aIqE -> Sing t_aIqF -> Sing (Apply (Apply (:++$) t_aIqE) t_aIqF)
sHead :: Sing t_aS6f -> Sing (Apply HeadSym0 t_aS6f)
sLast :: Sing t_aS6e -> Sing (Apply LastSym0 t_aS6e)
sTail :: Sing t_aS6d -> Sing (Apply TailSym0 t_aS6d)
sInit :: Sing t_aS6c -> Sing (Apply InitSym0 t_aS6c)
sNull :: Sing t_aS6b -> Sing (Apply NullSym0 t_aS6b)
sReverse :: Sing t_aS68 -> Sing (Apply ReverseSym0 t_aS68)
sFoldl :: Sing t_aS5L -> Sing t_aS5M -> Sing t_aS5N -> Sing (Apply (Apply (Apply FoldlSym0 t_aS5L) t_aS5M) t_aS5N)
sFoldl1 :: Sing t_aS5O -> Sing t_aS5P -> Sing (Apply (Apply Foldl1Sym0 t_aS5O) t_aS5P)
sFoldr :: Sing t_aIqI -> Sing t_aIqJ -> Sing t_aIqK -> Sing (Apply (Apply (Apply FoldrSym0 t_aIqI) t_aIqJ) t_aIqK)
sFoldr1 :: Sing t_aS5E -> Sing t_aS5F -> Sing (Apply (Apply Foldr1Sym0 t_aS5E) t_aS5F)
sAnd :: Sing t_aS5A -> Sing (Apply AndSym0 t_aS5A)
sOr :: Sing t_aS5z -> Sing (Apply OrSym0 t_aS5z)
sAny_ :: Sing t_aPpU -> Sing t_aPpV -> Sing (Apply (Apply Any_Sym0 t_aPpU) t_aPpV)
sAll :: Sing t_aS5x -> Sing t_aS5y -> Sing (Apply (Apply AllSym0 t_aS5x) t_aS5y)
sConcat :: Sing t_aS5D -> Sing (Apply ConcatSym0 t_aS5D)
sConcatMap :: Sing t_aS5B -> Sing t_aS5C -> Sing (Apply (Apply ConcatMapSym0 t_aS5B) t_aS5C)
sScanl :: Sing t_aS5s -> Sing t_aS5t -> Sing t_aS5u -> Sing (Apply (Apply (Apply ScanlSym0 t_aS5s) t_aS5t) t_aS5u)
sScanl1 :: Sing t_aS5v -> Sing t_aS5w -> Sing (Apply (Apply Scanl1Sym0 t_aS5v) t_aS5w)
sScanr :: Sing t_aS5p -> Sing t_aS5q -> Sing t_aS5r -> Sing (Apply (Apply (Apply ScanrSym0 t_aS5p) t_aS5q) t_aS5r)
sScanr1 :: Sing t_aS5n -> Sing t_aS5o -> Sing (Apply (Apply Scanr1Sym0 t_aS5n) t_aS5o)
sElem :: SEq (KProxy :: KProxy a_aRtn) => Sing t_aS57 -> Sing t_aS58 -> Sing (Apply (Apply ElemSym0 t_aS57) t_aS58)
sNotElem :: SEq (KProxy :: KProxy a_aRtr) => Sing t_aS55 -> Sing t_aS56 -> Sing (Apply (Apply NotElemSym0 t_aS55) t_aS56)
sZip :: Sing t_aS53 -> Sing t_aS54 -> Sing (Apply (Apply ZipSym0 t_aS53) t_aS54)
sZip3 :: Sing t_aS50 -> Sing t_aS51 -> Sing t_aS52 -> Sing (Apply (Apply (Apply Zip3Sym0 t_aS50) t_aS51) t_aS52)
sZipWith :: Sing t_aS4X -> Sing t_aS4Y -> Sing t_aS4Z -> Sing (Apply (Apply (Apply ZipWithSym0 t_aS4X) t_aS4Y) t_aS4Z)
sZipWith3 :: Sing t_aS4T -> Sing t_aS4U -> Sing t_aS4V -> Sing t_aS4W -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_aS4T) t_aS4U) t_aS4V) t_aS4W)
sUnzip :: Sing t_aS4S -> Sing (Apply UnzipSym0 t_aS4S)
sUnzip3 :: Sing t_aS4R -> Sing (Apply Unzip3Sym0 t_aS4R)
sMaybe_ :: Sing t_a1wLs -> Sing t_a1wLt -> Sing t_a1wLu -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a1wLs) t_a1wLt) t_a1wLu)
sEither_ :: Sing t_aLfk -> Sing t_aLfl -> Sing t_aLfm -> Sing (Apply (Apply (Apply Either_Sym0 t_aLfk) t_aLfl) t_aLfm)
sFst :: Sing t_aNYI -> Sing (Apply FstSym0 t_aNYI)
sSnd :: Sing t_aNYH -> Sing (Apply SndSym0 t_aNYH)
sCurry :: Sing t_aNYE -> Sing t_aNYF -> Sing t_aNYG -> Sing (Apply (Apply (Apply CurrySym0 t_aNYE) t_aNYF) t_aNYG)
sUncurry :: Sing t_aNYJ -> Sing t_aNYK -> Sing (Apply (Apply UncurrySym0 t_aNYJ) t_aNYK)
-- | (Kind) This is the kind of type-level symbols.
data Symbol :: *
either_ :: (a_aLeS -> c_aLeT) -> (b_aLeU -> c_aLeT) -> Either a_aLeS b_aLeU -> c_aLeT
maybe_ :: b_a1wL3 -> (a_a1wL4 -> b_a1wL3) -> Maybe a_a1wL4 -> b_a1wL3
bool_ :: a_aA4o -> a_aA4o -> Bool -> a_aA4o
any_ :: (a_aPpD -> Bool) -> [a_aPpD] -> Bool
type FalseSym0 = False
type TrueSym0 = True
data NotSym0 (l_aAgl :: TyFun Bool Bool)
type NotSym1 (t_aAgk :: Bool) = Not t_aAgk
data (:&&$) (l_aAgB :: TyFun Bool (TyFun Bool Bool -> *))
data (:&&$$) (l_aAgE :: Bool) (l_aAgD :: TyFun Bool Bool)
type (:&&$$$) (t_aAgz :: Bool) (t_aAgA :: Bool) = (:&&) t_aAgz t_aAgA
data (:||$) (l_aAgq :: TyFun Bool (TyFun Bool Bool -> *))
data (:||$$) (l_aAgt :: Bool) (l_aAgs :: TyFun Bool Bool)
type (:||$$$) (t_aAgo :: Bool) (t_aAgp :: Bool) = (:||) t_aAgo t_aAgp
type OtherwiseSym0 = Otherwise
type NothingSym0 = Nothing
data JustSym0 (l_atnn :: TyFun a_a57N (Maybe a_a57N))
type JustSym1 (t_atnm :: a_a57N) = Just t_atnm
data Maybe_Sym0 (l_a1wLb :: TyFun b_a1wL3 (TyFun (TyFun a_a1wL4 b_a1wL3 -> *) (TyFun (Maybe a_a1wL4) b_a1wL3 -> *) -> *))
data Maybe_Sym1 (l_a1wLe :: b_a1wL3) (l_a1wLd :: TyFun (TyFun a_a1wL4 b_a1wL3 -> *) (TyFun (Maybe a_a1wL4) b_a1wL3 -> *))
data Maybe_Sym2 (l_a1wLh :: b_a1wL3) (l_a1wLi :: TyFun a_a1wL4 b_a1wL3 -> *) (l_a1wLg :: TyFun (Maybe a_a1wL4) b_a1wL3)
type Maybe_Sym3 (t_a1wL8 :: b_a1wL3) (t_a1wL9 :: TyFun a_a1wL4 b_a1wL3 -> *) (t_a1wLa :: Maybe a_a1wL4) = Maybe_ t_a1wL8 t_a1wL9 t_a1wLa
data LeftSym0 (l_atnO :: TyFun a_a8CR (Either a_a8CR b_a8CS))
type LeftSym1 (t_atnN :: a_a8CR) = Left t_atnN
data RightSym0 (l_atnR :: TyFun b_a8CS (Either a_a8CR b_a8CS))
type RightSym1 (t_atnQ :: b_a8CS) = Right t_atnQ
data Either_Sym0 (l_aLf2 :: TyFun (TyFun a_aLeS c_aLeT -> *) (TyFun (TyFun b_aLeU c_aLeT -> *) (TyFun (Either a_aLeS b_aLeU) c_aLeT -> *) -> *))
data Either_Sym1 (l_aLf5 :: TyFun a_aLeS c_aLeT -> *) (l_aLf4 :: TyFun (TyFun b_aLeU c_aLeT -> *) (TyFun (Either a_aLeS b_aLeU) c_aLeT -> *))
data Either_Sym2 (l_aLf8 :: TyFun a_aLeS c_aLeT -> *) (l_aLf9 :: TyFun b_aLeU c_aLeT -> *) (l_aLf7 :: TyFun (Either a_aLeS b_aLeU) c_aLeT)
type Either_Sym3 (t_aLeZ :: TyFun a_aLeS c_aLeT -> *) (t_aLf0 :: TyFun b_aLeU c_aLeT -> *) (t_aLf1 :: Either a_aLeS b_aLeU) = Either_ t_aLeZ t_aLf0 t_aLf1
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_ato9 :: TyFun a_12 (TyFun b_13 (a_12, b_13) -> *))
data Tuple2Sym1 (l_atoc :: a_12) (l_atob :: TyFun b_13 (a_12, b_13))
type Tuple2Sym2 (t_ato7 :: a_12) (t_ato8 :: b_13) = '(t_ato7, t_ato8)
data Tuple3Sym0 (l_atot :: TyFun a_12 (TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *) -> *))
data Tuple3Sym1 (l_atow :: a_12) (l_atov :: TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *))
data Tuple3Sym2 (l_atoz :: a_12) (l_atoA :: b_13) (l_atoy :: TyFun c_14 (a_12, b_13, c_14))
type Tuple3Sym3 (t_atoq :: a_12) (t_ator :: b_13) (t_atos :: c_14) = '(t_atoq, t_ator, t_atos)
data Tuple4Sym0 (l_atoX :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *) -> *))
data Tuple4Sym1 (l_atp0 :: a_12) (l_atoZ :: TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *))
data Tuple4Sym2 (l_atp3 :: a_12) (l_atp4 :: b_13) (l_atp2 :: TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *))
data Tuple4Sym3 (l_atp7 :: a_12) (l_atp8 :: b_13) (l_atp9 :: c_14) (l_atp6 :: TyFun d_15 (a_12, b_13, c_14, d_15))
type Tuple4Sym4 (t_atoT :: a_12) (t_atoU :: b_13) (t_atoV :: c_14) (t_atoW :: d_15) = '(t_atoT, t_atoU, t_atoV, t_atoW)
data Tuple5Sym0 (l_atpC :: 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_atpF :: a_12) (l_atpE :: 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_atpI :: a_12) (l_atpJ :: b_13) (l_atpH :: TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *))
data Tuple5Sym3 (l_atpM :: a_12) (l_atpN :: b_13) (l_atpO :: c_14) (l_atpL :: TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *))
data Tuple5Sym4 (l_atpR :: a_12) (l_atpS :: b_13) (l_atpT :: c_14) (l_atpU :: d_15) (l_atpQ :: TyFun e_16 (a_12, b_13, c_14, d_15, e_16))
type Tuple5Sym5 (t_atpx :: a_12) (t_atpy :: b_13) (t_atpz :: c_14) (t_atpA :: d_15) (t_atpB :: e_16) = '(t_atpx, t_atpy, t_atpz, t_atpA, t_atpB)
data Tuple6Sym0 (l_atqt :: 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_atqw :: a_12) (l_atqv :: 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_atqz :: a_12) (l_atqA :: b_13) (l_atqy :: 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_atqD :: a_12) (l_atqE :: b_13) (l_atqF :: c_14) (l_atqC :: TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *))
data Tuple6Sym4 (l_atqI :: a_12) (l_atqJ :: b_13) (l_atqK :: c_14) (l_atqL :: d_15) (l_atqH :: TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *))
data Tuple6Sym5 (l_atqO :: a_12) (l_atqP :: b_13) (l_atqQ :: c_14) (l_atqR :: d_15) (l_atqS :: e_16) (l_atqN :: TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17))
type Tuple6Sym6 (t_atqn :: a_12) (t_atqo :: b_13) (t_atqp :: c_14) (t_atqq :: d_15) (t_atqr :: e_16) (t_atqs :: f_17) = '(t_atqn, t_atqo, t_atqp, t_atqq, t_atqr, t_atqs)
data Tuple7Sym0 (l_atrx :: 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_atrA :: a_12) (l_atrz :: 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_atrD :: a_12) (l_atrE :: b_13) (l_atrC :: 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_atrH :: a_12) (l_atrI :: b_13) (l_atrJ :: c_14) (l_atrG :: 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_atrM :: a_12) (l_atrN :: b_13) (l_atrO :: c_14) (l_atrP :: d_15) (l_atrL :: 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_atrS :: a_12) (l_atrT :: b_13) (l_atrU :: c_14) (l_atrV :: d_15) (l_atrW :: e_16) (l_atrR :: TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *))
data Tuple7Sym6 (l_atrZ :: a_12) (l_ats0 :: b_13) (l_ats1 :: c_14) (l_ats2 :: d_15) (l_ats3 :: e_16) (l_ats4 :: f_17) (l_atrY :: TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18))
type Tuple7Sym7 (t_atrq :: a_12) (t_atrr :: b_13) (t_atrs :: c_14) (t_atrt :: d_15) (t_atru :: e_16) (t_atrv :: f_17) (t_atrw :: g_18) = '(t_atrq, t_atrr, t_atrs, t_atrt, t_atru, t_atrv, t_atrw)
data FstSym0 (l_aNYn :: TyFun (a_aNXx, b_aNXy) a_aNXx)
type FstSym1 (t_aNYm :: (a_aNXx, b_aNXy)) = Fst t_aNYm
data SndSym0 (l_aNYh :: TyFun (a_aNXA, b_aNXB) b_aNXB)
type SndSym1 (t_aNYg :: (a_aNXA, b_aNXB)) = Snd t_aNYg
data CurrySym0 (l_aNY1 :: TyFun (TyFun (a_aNXD, b_aNXE) c_aNXF -> *) (TyFun a_aNXD (TyFun b_aNXE c_aNXF -> *) -> *))
data CurrySym1 (l_aNY4 :: TyFun (a_aNXD, b_aNXE) c_aNXF -> *) (l_aNY3 :: TyFun a_aNXD (TyFun b_aNXE c_aNXF -> *))
data CurrySym2 (l_aNY7 :: TyFun (a_aNXD, b_aNXE) c_aNXF -> *) (l_aNY8 :: a_aNXD) (l_aNY6 :: TyFun b_aNXE c_aNXF)
type CurrySym3 (t_aNXY :: TyFun (a_aNXD, b_aNXE) c_aNXF -> *) (t_aNXZ :: a_aNXD) (t_aNY0 :: b_aNXE) = Curry t_aNXY t_aNXZ t_aNY0
data UncurrySym0 (l_aNYu :: TyFun (TyFun a_aNXJ (TyFun b_aNXK c_aNXL -> *) -> *) (TyFun (a_aNXJ, b_aNXK) c_aNXL -> *))
data UncurrySym1 (l_aNYx :: TyFun a_aNXJ (TyFun b_aNXK c_aNXL -> *) -> *) (l_aNYw :: TyFun (a_aNXJ, b_aNXK) c_aNXL)
type UncurrySym2 (t_aNYs :: TyFun a_aNXJ (TyFun b_aNXK c_aNXL -> *) -> *) (t_aNYt :: (a_aNXJ, b_aNXK)) = Uncurry t_aNYs t_aNYt
data IdSym0 (l_aIph :: TyFun a_aInl a_aInl)
type IdSym1 (t_aIpg :: a_aInl) = Id t_aIpg
data ConstSym0 (l_aIoS :: TyFun a_aInn (TyFun b_aIno a_aInn -> *))
data ConstSym1 (l_aIoV :: a_aInn) (l_aIoU :: TyFun b_aIno a_aInn)
type ConstSym2 (t_aIoQ :: a_aInn) (t_aIoR :: b_aIno) = Const t_aIoQ t_aIoR
data (:.$) (l_aIoc :: TyFun (TyFun b_aInq c_aInr -> *) (TyFun (TyFun a_aIns b_aInq -> *) (TyFun a_aIns c_aInr -> *) -> *))
data (:.$$) (l_aIof :: TyFun b_aInq c_aInr -> *) (l_aIoe :: TyFun (TyFun a_aIns b_aInq -> *) (TyFun a_aIns c_aInr -> *))
data (:.$$$) (l_aIoi :: TyFun b_aInq c_aInr -> *) (l_aIoj :: TyFun a_aIns b_aInq -> *) (l_aIoh :: TyFun a_aIns c_aInr)
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_aInU :: TyFun (TyFun a_aInw (TyFun b_aInx c_aIny -> *) -> *) (TyFun b_aInx (TyFun a_aInw c_aIny -> *) -> *))
data FlipSym1 (l_aInX :: TyFun a_aInw (TyFun b_aInx c_aIny -> *) -> *) (l_aInW :: TyFun b_aInx (TyFun a_aInw c_aIny -> *))
data FlipSym2 (l_aIo0 :: TyFun a_aInw (TyFun b_aInx c_aIny -> *) -> *) (l_aIo1 :: b_aInx) (l_aInZ :: TyFun a_aInw c_aIny)
data AsTypeOfSym0 (l_aIp7 :: TyFun a_aInC (TyFun a_aInC a_aInC -> *))
data AsTypeOfSym1 (l_aIpa :: a_aInC) (l_aIp9 :: TyFun a_aInC a_aInC)
type AsTypeOfSym2 (t_aIp5 :: a_aInC) (t_aIp6 :: a_aInC) = AsTypeOf t_aIp5 t_aIp6
data SeqSym0 (l_aInI :: TyFun a_aInD (TyFun b_aInE b_aInE -> *))
data SeqSym1 (l_aInL :: a_aInD) (l_aInK :: TyFun b_aInE b_aInE)
type SeqSym2 (t_aInG :: a_aInD) (t_aInH :: b_aInE) = Seq t_aInG t_aInH
data (:$) (l_atnx :: TyFun a_12 (TyFun [a_12] [a_12] -> *))
data (:$$) (l_atnA :: a_12) (l_atnz :: TyFun [a_12] [a_12])
type (:$$$) (t_atnv :: a_12) (t_atnw :: [a_12]) = (:) t_atnv t_atnw
type NilSym0 = '[]
data MapSym0 (l_aIpA :: TyFun (TyFun a_aInb b_aInc -> *) (TyFun [a_aInb] [b_aInc] -> *))
data MapSym1 (l_aIpD :: TyFun a_aInb b_aInc -> *) (l_aIpC :: TyFun [a_aInb] [b_aInc])
type MapSym2 (t_aIpy :: TyFun a_aInb b_aInc -> *) (t_aIpz :: [a_aInb]) = Map t_aIpy t_aIpz
data ReverseSym0 (l_aS2N :: TyFun [a_aRqH] [a_aRqH])
type ReverseSym1 (t_aS2M :: [a_aRqH]) = Reverse t_aS2M
data (:++$$) (l_aIpq :: [a_aIng]) (l_aIpp :: TyFun [a_aIng] [a_aIng])
data (:++$) (l_aIpn :: TyFun [a_aIng] (TyFun [a_aIng] [a_aIng] -> *))
data HeadSym0 (l_aS4y :: TyFun [a_aRqm] a_aRqm)
type HeadSym1 (t_aS4x :: [a_aRqm]) = Head t_aS4x
data LastSym0 (l_aS43 :: TyFun [a_aRqo] a_aRqo)
type LastSym1 (t_aS42 :: [a_aRqo]) = Last t_aS42
data TailSym0 (l_aS3X :: TyFun [a_aRqw] [a_aRqw])
type TailSym1 (t_aS3W :: [a_aRqw]) = Tail t_aS3W
data InitSym0 (l_aS3s :: TyFun [a_aRqy] [a_aRqy])
type InitSym1 (t_aS3r :: [a_aRqy]) = Init t_aS3r
data NullSym0 (l_aS3m :: TyFun [a_aRqG] Bool)
type NullSym1 (t_aS3l :: [a_aRqG]) = Null t_aS3l
data FoldlSym0 (l_aRRp :: TyFun (TyFun b_aRrq (TyFun a_aRrr b_aRrq -> *) -> *) (TyFun b_aRrq (TyFun [a_aRrr] b_aRrq -> *) -> *))
data FoldlSym1 (l_aRRs :: TyFun b_aRrq (TyFun a_aRrr b_aRrq -> *) -> *) (l_aRRr :: TyFun b_aRrq (TyFun [a_aRrr] b_aRrq -> *))
data FoldlSym2 (l_aRRv :: TyFun b_aRrq (TyFun a_aRrr b_aRrq -> *) -> *) (l_aRRw :: b_aRrq) (l_aRRu :: TyFun [a_aRrr] b_aRrq)
type FoldlSym3 (t_aRRm :: TyFun b_aRrq (TyFun a_aRrr b_aRrq -> *) -> *) (t_aRRn :: b_aRrq) (t_aRRo :: [a_aRrr]) = Foldl t_aRRm t_aRRn t_aRRo
data Foldl1Sym0 (l_aRSc :: TyFun (TyFun a_aRrL (TyFun a_aRrL a_aRrL -> *) -> *) (TyFun [a_aRrL] a_aRrL -> *))
data Foldl1Sym1 (l_aRSf :: TyFun a_aRrL (TyFun a_aRrL a_aRrL -> *) -> *) (l_aRSe :: TyFun [a_aRrL] a_aRrL)
type Foldl1Sym2 (t_aRSa :: TyFun a_aRrL (TyFun a_aRrL a_aRrL -> *) -> *) (t_aRSb :: [a_aRrL]) = Foldl1 t_aRSa t_aRSb
data FoldrSym0 (l_aIpO :: TyFun (TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (TyFun b_aIn5 (TyFun [a_aIn4] b_aIn5 -> *) -> *))
data FoldrSym1 (l_aIpR :: TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (l_aIpQ :: TyFun b_aIn5 (TyFun [a_aIn4] b_aIn5 -> *))
data FoldrSym2 (l_aIpU :: TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (l_aIpV :: b_aIn5) (l_aIpT :: TyFun [a_aIn4] b_aIn5)
type FoldrSym3 (t_aIpL :: TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (t_aIpM :: b_aIn5) (t_aIpN :: [a_aIn4]) = Foldr t_aIpL t_aIpM t_aIpN
data Foldr1Sym0 (l_aRPg :: TyFun (TyFun a_aRrT (TyFun a_aRrT a_aRrT -> *) -> *) (TyFun [a_aRrT] a_aRrT -> *))
data Foldr1Sym1 (l_aRPj :: TyFun a_aRrT (TyFun a_aRrT a_aRrT -> *) -> *) (l_aRPi :: TyFun [a_aRrT] a_aRrT)
type Foldr1Sym2 (t_aRPe :: TyFun a_aRrT (TyFun a_aRrT a_aRrT -> *) -> *) (t_aRPf :: [a_aRrT]) = Foldr1 t_aRPe t_aRPf
data ConcatSym0 (l_aRPa :: TyFun [[a_aRrY]] [a_aRrY])
type ConcatSym1 (t_aRP9 :: [[a_aRrY]]) = Concat t_aRP9
data ConcatMapSym0 (l_aROW :: TyFun (TyFun a_aRrZ [b_aRs0] -> *) (TyFun [a_aRrZ] [b_aRs0] -> *))
data ConcatMapSym1 (l_aROZ :: TyFun a_aRrZ [b_aRs0] -> *) (l_aROY :: TyFun [a_aRrZ] [b_aRs0])
type ConcatMapSym2 (t_aROU :: TyFun a_aRrZ [b_aRs0] -> *) (t_aROV :: [a_aRrZ]) = ConcatMap t_aROU t_aROV
data AndSym0 (l_aROP :: TyFun [Bool] Bool)
type AndSym1 (t_aROO :: [Bool]) = And t_aROO
data OrSym0 (l_aROJ :: TyFun [Bool] Bool)
type OrSym1 (t_aROI :: [Bool]) = Or t_aROI
data Any_Sym0 (l_aPpJ :: TyFun (TyFun a_aPpD Bool -> *) (TyFun [a_aPpD] Bool -> *))
data Any_Sym1 (l_aPpM :: TyFun a_aPpD Bool -> *) (l_aPpL :: TyFun [a_aPpD] Bool)
type Any_Sym2 (t_aPpH :: TyFun a_aPpD Bool -> *) (t_aPpI :: [a_aPpD]) = Any_ t_aPpH t_aPpI
data AllSym0 (l_aROx :: TyFun (TyFun a_aRs6 Bool -> *) (TyFun [a_aRs6] Bool -> *))
data AllSym1 (l_aROA :: TyFun a_aRs6 Bool -> *) (l_aROz :: TyFun [a_aRs6] Bool)
type AllSym2 (t_aROv :: TyFun a_aRs6 Bool -> *) (t_aROw :: [a_aRs6]) = All t_aROv t_aROw
data ScanlSym0 (l_aRNK :: TyFun (TyFun b_aRsa (TyFun a_aRsb b_aRsa -> *) -> *) (TyFun b_aRsa (TyFun [a_aRsb] [b_aRsa] -> *) -> *))
data ScanlSym1 (l_aRNN :: TyFun b_aRsa (TyFun a_aRsb b_aRsa -> *) -> *) (l_aRNM :: TyFun b_aRsa (TyFun [a_aRsb] [b_aRsa] -> *))
data ScanlSym2 (l_aRNQ :: TyFun b_aRsa (TyFun a_aRsb b_aRsa -> *) -> *) (l_aRNR :: b_aRsa) (l_aRNP :: TyFun [a_aRsb] [b_aRsa])
type ScanlSym3 (t_aRNH :: TyFun b_aRsa (TyFun a_aRsb b_aRsa -> *) -> *) (t_aRNI :: b_aRsa) (t_aRNJ :: [a_aRsb]) = Scanl t_aRNH t_aRNI t_aRNJ
data Scanl1Sym0 (l_aROk :: TyFun (TyFun a_aRsh (TyFun a_aRsh a_aRsh -> *) -> *) (TyFun [a_aRsh] [a_aRsh] -> *))
data Scanl1Sym1 (l_aROn :: TyFun a_aRsh (TyFun a_aRsh a_aRsh -> *) -> *) (l_aROm :: TyFun [a_aRsh] [a_aRsh])
type Scanl1Sym2 (t_aROi :: TyFun a_aRsh (TyFun a_aRsh a_aRsh -> *) -> *) (t_aROj :: [a_aRsh]) = Scanl1 t_aROi t_aROj
data ScanrSym0 (l_aRN0 :: TyFun (TyFun a_aRsl (TyFun b_aRsm b_aRsm -> *) -> *) (TyFun b_aRsm (TyFun [a_aRsl] [b_aRsm] -> *) -> *))
data ScanrSym1 (l_aRN3 :: TyFun a_aRsl (TyFun b_aRsm b_aRsm -> *) -> *) (l_aRN2 :: TyFun b_aRsm (TyFun [a_aRsl] [b_aRsm] -> *))
data ScanrSym2 (l_aRN6 :: TyFun a_aRsl (TyFun b_aRsm b_aRsm -> *) -> *) (l_aRN7 :: b_aRsm) (l_aRN5 :: TyFun [a_aRsl] [b_aRsm])
type ScanrSym3 (t_aRMX :: TyFun a_aRsl (TyFun b_aRsm b_aRsm -> *) -> *) (t_aRMY :: b_aRsm) (t_aRMZ :: [a_aRsl]) = Scanr t_aRMX t_aRMY t_aRMZ
data Scanr1Sym0 (l_aRM1 :: TyFun (TyFun a_aRsu (TyFun a_aRsu a_aRsu -> *) -> *) (TyFun [a_aRsu] [a_aRsu] -> *))
data Scanr1Sym1 (l_aRM4 :: TyFun a_aRsu (TyFun a_aRsu a_aRsu -> *) -> *) (l_aRM3 :: TyFun [a_aRsu] [a_aRsu])
type Scanr1Sym2 (t_aRLZ :: TyFun a_aRsu (TyFun a_aRsu a_aRsu -> *) -> *) (t_aRM0 :: [a_aRsu]) = Scanr1 t_aRLZ t_aRM0
data ElemSym0 (l_aRF7 :: TyFun a_aRtn (TyFun [a_aRtn] Bool -> *))
data ElemSym1 (l_aRFa :: a_aRtn) (l_aRF9 :: TyFun [a_aRtn] Bool)
type ElemSym2 (t_aRF5 :: a_aRtn) (t_aRF6 :: [a_aRtn]) = Elem t_aRF5 t_aRF6
data NotElemSym0 (l_aREU :: TyFun a_aRtr (TyFun [a_aRtr] Bool -> *))
data NotElemSym1 (l_aREX :: a_aRtr) (l_aREW :: TyFun [a_aRtr] Bool)
type NotElemSym2 (t_aRES :: a_aRtr) (t_aRET :: [a_aRtr]) = NotElem t_aRES t_aRET
data ZipSym0 (l_aRED :: TyFun [a_aRtv] (TyFun [b_aRtw] [(a_aRtv, b_aRtw)] -> *))
data ZipSym1 (l_aREG :: [a_aRtv]) (l_aREF :: TyFun [b_aRtw] [(a_aRtv, b_aRtw)])
type ZipSym2 (t_aREB :: [a_aRtv]) (t_aREC :: [b_aRtw]) = Zip t_aREB t_aREC
data Zip3Sym0 (l_aRE1 :: TyFun [a_aRtB] (TyFun [b_aRtC] (TyFun [c_aRtD] [(a_aRtB, b_aRtC, c_aRtD)] -> *) -> *))
data Zip3Sym1 (l_aRE4 :: [a_aRtB]) (l_aRE3 :: TyFun [b_aRtC] (TyFun [c_aRtD] [(a_aRtB, b_aRtC, c_aRtD)] -> *))
data Zip3Sym2 (l_aRE7 :: [a_aRtB]) (l_aRE8 :: [b_aRtC]) (l_aRE6 :: TyFun [c_aRtD] [(a_aRtB, b_aRtC, c_aRtD)])
type Zip3Sym3 (t_aRDY :: [a_aRtB]) (t_aRDZ :: [b_aRtC]) (t_aRE0 :: [c_aRtD]) = Zip3 t_aRDY t_aRDZ t_aRE0
data ZipWithSym0 (l_aRDA :: TyFun (TyFun a_aRtK (TyFun b_aRtL c_aRtM -> *) -> *) (TyFun [a_aRtK] (TyFun [b_aRtL] [c_aRtM] -> *) -> *))
data ZipWithSym1 (l_aRDD :: TyFun a_aRtK (TyFun b_aRtL c_aRtM -> *) -> *) (l_aRDC :: TyFun [a_aRtK] (TyFun [b_aRtL] [c_aRtM] -> *))
data ZipWithSym2 (l_aRDG :: TyFun a_aRtK (TyFun b_aRtL c_aRtM -> *) -> *) (l_aRDH :: [a_aRtK]) (l_aRDF :: TyFun [b_aRtL] [c_aRtM])
type ZipWithSym3 (t_aRDx :: TyFun a_aRtK (TyFun b_aRtL c_aRtM -> *) -> *) (t_aRDy :: [a_aRtK]) (t_aRDz :: [b_aRtL]) = ZipWith t_aRDx t_aRDy t_aRDz
data ZipWith3Sym0 (l_aRCJ :: TyFun (TyFun a_aRtS (TyFun b_aRtT (TyFun c_aRtU d_aRtV -> *) -> *) -> *) (TyFun [a_aRtS] (TyFun [b_aRtT] (TyFun [c_aRtU] [d_aRtV] -> *) -> *) -> *))
data ZipWith3Sym1 (l_aRCM :: TyFun a_aRtS (TyFun b_aRtT (TyFun c_aRtU d_aRtV -> *) -> *) -> *) (l_aRCL :: TyFun [a_aRtS] (TyFun [b_aRtT] (TyFun [c_aRtU] [d_aRtV] -> *) -> *))
data ZipWith3Sym2 (l_aRCP :: TyFun a_aRtS (TyFun b_aRtT (TyFun c_aRtU d_aRtV -> *) -> *) -> *) (l_aRCQ :: [a_aRtS]) (l_aRCO :: TyFun [b_aRtT] (TyFun [c_aRtU] [d_aRtV] -> *))
data ZipWith3Sym3 (l_aRCT :: TyFun a_aRtS (TyFun b_aRtT (TyFun c_aRtU d_aRtV -> *) -> *) -> *) (l_aRCU :: [a_aRtS]) (l_aRCV :: [b_aRtT]) (l_aRCS :: TyFun [c_aRtU] [d_aRtV])
data UnzipSym0 (l_aRCa :: TyFun [(a_aRu3, b_aRu4)] ([a_aRu3], [b_aRu4]))
type UnzipSym1 (t_aRC9 :: [(a_aRu3, b_aRu4)]) = Unzip t_aRC9
-- | 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_aPpD -> Bool) -> [a_aPpD] -> Bool
type NilSym0 = '[]
data (:$) (l_atnx :: TyFun a_12 (TyFun [a_12] [a_12] -> *))
data (:$$) (l_atnA :: a_12) (l_atnz :: TyFun [a_12] [a_12])
type (:$$$) (t_atnv :: a_12) (t_atnw :: [a_12]) = (:) t_atnv t_atnw
data (:++$$) (l_aIpq :: [a_aIng]) (l_aIpp :: TyFun [a_aIng] [a_aIng])
data (:++$) (l_aIpn :: TyFun [a_aIng] (TyFun [a_aIng] [a_aIng] -> *))
data HeadSym0 (l_aS4y :: TyFun [a_aRqm] a_aRqm)
type HeadSym1 (t_aS4x :: [a_aRqm]) = Head t_aS4x
data LastSym0 (l_aS43 :: TyFun [a_aRqo] a_aRqo)
type LastSym1 (t_aS42 :: [a_aRqo]) = Last t_aS42
data TailSym0 (l_aS3X :: TyFun [a_aRqw] [a_aRqw])
type TailSym1 (t_aS3W :: [a_aRqw]) = Tail t_aS3W
data InitSym0 (l_aS3s :: TyFun [a_aRqy] [a_aRqy])
type InitSym1 (t_aS3r :: [a_aRqy]) = Init t_aS3r
data NullSym0 (l_aS3m :: TyFun [a_aRqG] Bool)
type NullSym1 (t_aS3l :: [a_aRqG]) = Null t_aS3l
data MapSym0 (l_aIpA :: TyFun (TyFun a_aInb b_aInc -> *) (TyFun [a_aInb] [b_aInc] -> *))
data MapSym1 (l_aIpD :: TyFun a_aInb b_aInc -> *) (l_aIpC :: TyFun [a_aInb] [b_aInc])
type MapSym2 (t_aIpy :: TyFun a_aInb b_aInc -> *) (t_aIpz :: [a_aInb]) = Map t_aIpy t_aIpz
data ReverseSym0 (l_aS2N :: TyFun [a_aRqH] [a_aRqH])
type ReverseSym1 (t_aS2M :: [a_aRqH]) = Reverse t_aS2M
data IntersperseSym0 (l_aS2q :: TyFun a_aRqP (TyFun [a_aRqP] [a_aRqP] -> *))
data IntersperseSym1 (l_aS2t :: a_aRqP) (l_aS2s :: TyFun [a_aRqP] [a_aRqP])
type IntersperseSym2 (t_aS2o :: a_aRqP) (t_aS2p :: [a_aRqP]) = Intersperse t_aS2o t_aS2p
data IntercalateSym0 (l_aS2D :: TyFun [a_aRqT] (TyFun [[a_aRqT]] [a_aRqT] -> *))
data IntercalateSym1 (l_aS2G :: [a_aRqT]) (l_aS2F :: TyFun [[a_aRqT]] [a_aRqT])
type IntercalateSym2 (t_aS2B :: [a_aRqT]) (t_aS2C :: [[a_aRqT]]) = Intercalate t_aS2B t_aS2C
data SubsequencesSym0 (l_aS2k :: TyFun [a_aRqW] [[a_aRqW]])
type SubsequencesSym1 (t_aS2j :: [a_aRqW]) = Subsequences t_aS2j
data PermutationsSym0 (l_aRVL :: TyFun [a_aRr8] [[a_aRr8]])
type PermutationsSym1 (t_aRVK :: [a_aRr8]) = Permutations t_aRVK
data FoldlSym0 (l_aRRp :: TyFun (TyFun b_aRrq (TyFun a_aRrr b_aRrq -> *) -> *) (TyFun b_aRrq (TyFun [a_aRrr] b_aRrq -> *) -> *))
data FoldlSym1 (l_aRRs :: TyFun b_aRrq (TyFun a_aRrr b_aRrq -> *) -> *) (l_aRRr :: TyFun b_aRrq (TyFun [a_aRrr] b_aRrq -> *))
data FoldlSym2 (l_aRRv :: TyFun b_aRrq (TyFun a_aRrr b_aRrq -> *) -> *) (l_aRRw :: b_aRrq) (l_aRRu :: TyFun [a_aRrr] b_aRrq)
type FoldlSym3 (t_aRRm :: TyFun b_aRrq (TyFun a_aRrr b_aRrq -> *) -> *) (t_aRRn :: b_aRrq) (t_aRRo :: [a_aRrr]) = Foldl t_aRRm t_aRRn t_aRRo
data Foldl'Sym0 (l_aRPQ :: TyFun (TyFun b_aRpt (TyFun a_aRps b_aRpt -> *) -> *) (TyFun b_aRpt (TyFun [a_aRps] b_aRpt -> *) -> *))
data Foldl'Sym1 (l_aRPT :: TyFun b_aRpt (TyFun a_aRps b_aRpt -> *) -> *) (l_aRPS :: TyFun b_aRpt (TyFun [a_aRps] b_aRpt -> *))
data Foldl'Sym2 (l_aRPW :: TyFun b_aRpt (TyFun a_aRps b_aRpt -> *) -> *) (l_aRPX :: b_aRpt) (l_aRPV :: TyFun [a_aRps] b_aRpt)
type Foldl'Sym3 (t_aRPN :: TyFun b_aRpt (TyFun a_aRps b_aRpt -> *) -> *) (t_aRPO :: b_aRpt) (t_aRPP :: [a_aRps]) = Foldl' t_aRPN t_aRPO t_aRPP
data Foldl1Sym0 (l_aRSc :: TyFun (TyFun a_aRrL (TyFun a_aRrL a_aRrL -> *) -> *) (TyFun [a_aRrL] a_aRrL -> *))
data Foldl1Sym1 (l_aRSf :: TyFun a_aRrL (TyFun a_aRrL a_aRrL -> *) -> *) (l_aRSe :: TyFun [a_aRrL] a_aRrL)
type Foldl1Sym2 (t_aRSa :: TyFun a_aRrL (TyFun a_aRrL a_aRrL -> *) -> *) (t_aRSb :: [a_aRrL]) = Foldl1 t_aRSa t_aRSb
data Foldl1'Sym0 (l_aRRb :: TyFun (TyFun a_aRrP (TyFun a_aRrP a_aRrP -> *) -> *) (TyFun [a_aRrP] a_aRrP -> *))
data Foldl1'Sym1 (l_aRRe :: TyFun a_aRrP (TyFun a_aRrP a_aRrP -> *) -> *) (l_aRRd :: TyFun [a_aRrP] a_aRrP)
type Foldl1'Sym2 (t_aRR9 :: TyFun a_aRrP (TyFun a_aRrP a_aRrP -> *) -> *) (t_aRRa :: [a_aRrP]) = Foldl1' t_aRR9 t_aRRa
data FoldrSym0 (l_aIpO :: TyFun (TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (TyFun b_aIn5 (TyFun [a_aIn4] b_aIn5 -> *) -> *))
data FoldrSym1 (l_aIpR :: TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (l_aIpQ :: TyFun b_aIn5 (TyFun [a_aIn4] b_aIn5 -> *))
data FoldrSym2 (l_aIpU :: TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (l_aIpV :: b_aIn5) (l_aIpT :: TyFun [a_aIn4] b_aIn5)
type FoldrSym3 (t_aIpL :: TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (t_aIpM :: b_aIn5) (t_aIpN :: [a_aIn4]) = Foldr t_aIpL t_aIpM t_aIpN
data Foldr1Sym0 (l_aRPg :: TyFun (TyFun a_aRrT (TyFun a_aRrT a_aRrT -> *) -> *) (TyFun [a_aRrT] a_aRrT -> *))
data Foldr1Sym1 (l_aRPj :: TyFun a_aRrT (TyFun a_aRrT a_aRrT -> *) -> *) (l_aRPi :: TyFun [a_aRrT] a_aRrT)
type Foldr1Sym2 (t_aRPe :: TyFun a_aRrT (TyFun a_aRrT a_aRrT -> *) -> *) (t_aRPf :: [a_aRrT]) = Foldr1 t_aRPe t_aRPf
data ConcatSym0 (l_aRPa :: TyFun [[a_aRrY]] [a_aRrY])
type ConcatSym1 (t_aRP9 :: [[a_aRrY]]) = Concat t_aRP9
data ConcatMapSym0 (l_aROW :: TyFun (TyFun a_aRrZ [b_aRs0] -> *) (TyFun [a_aRrZ] [b_aRs0] -> *))
data ConcatMapSym1 (l_aROZ :: TyFun a_aRrZ [b_aRs0] -> *) (l_aROY :: TyFun [a_aRrZ] [b_aRs0])
type ConcatMapSym2 (t_aROU :: TyFun a_aRrZ [b_aRs0] -> *) (t_aROV :: [a_aRrZ]) = ConcatMap t_aROU t_aROV
data AndSym0 (l_aROP :: TyFun [Bool] Bool)
type AndSym1 (t_aROO :: [Bool]) = And t_aROO
data OrSym0 (l_aROJ :: TyFun [Bool] Bool)
type OrSym1 (t_aROI :: [Bool]) = Or t_aROI
data Any_Sym0 (l_aPpJ :: TyFun (TyFun a_aPpD Bool -> *) (TyFun [a_aPpD] Bool -> *))
data Any_Sym1 (l_aPpM :: TyFun a_aPpD Bool -> *) (l_aPpL :: TyFun [a_aPpD] Bool)
type Any_Sym2 (t_aPpH :: TyFun a_aPpD Bool -> *) (t_aPpI :: [a_aPpD]) = Any_ t_aPpH t_aPpI
data AllSym0 (l_aROx :: TyFun (TyFun a_aRs6 Bool -> *) (TyFun [a_aRs6] Bool -> *))
data AllSym1 (l_aROA :: TyFun a_aRs6 Bool -> *) (l_aROz :: TyFun [a_aRs6] Bool)
type AllSym2 (t_aROv :: TyFun a_aRs6 Bool -> *) (t_aROw :: [a_aRs6]) = All t_aROv t_aROw
data ScanlSym0 (l_aRNK :: TyFun (TyFun b_aRsa (TyFun a_aRsb b_aRsa -> *) -> *) (TyFun b_aRsa (TyFun [a_aRsb] [b_aRsa] -> *) -> *))
data ScanlSym1 (l_aRNN :: TyFun b_aRsa (TyFun a_aRsb b_aRsa -> *) -> *) (l_aRNM :: TyFun b_aRsa (TyFun [a_aRsb] [b_aRsa] -> *))
data ScanlSym2 (l_aRNQ :: TyFun b_aRsa (TyFun a_aRsb b_aRsa -> *) -> *) (l_aRNR :: b_aRsa) (l_aRNP :: TyFun [a_aRsb] [b_aRsa])
type ScanlSym3 (t_aRNH :: TyFun b_aRsa (TyFun a_aRsb b_aRsa -> *) -> *) (t_aRNI :: b_aRsa) (t_aRNJ :: [a_aRsb]) = Scanl t_aRNH t_aRNI t_aRNJ
data Scanl1Sym0 (l_aROk :: TyFun (TyFun a_aRsh (TyFun a_aRsh a_aRsh -> *) -> *) (TyFun [a_aRsh] [a_aRsh] -> *))
data Scanl1Sym1 (l_aROn :: TyFun a_aRsh (TyFun a_aRsh a_aRsh -> *) -> *) (l_aROm :: TyFun [a_aRsh] [a_aRsh])
type Scanl1Sym2 (t_aROi :: TyFun a_aRsh (TyFun a_aRsh a_aRsh -> *) -> *) (t_aROj :: [a_aRsh]) = Scanl1 t_aROi t_aROj
data ScanrSym0 (l_aRN0 :: TyFun (TyFun a_aRsl (TyFun b_aRsm b_aRsm -> *) -> *) (TyFun b_aRsm (TyFun [a_aRsl] [b_aRsm] -> *) -> *))
data ScanrSym1 (l_aRN3 :: TyFun a_aRsl (TyFun b_aRsm b_aRsm -> *) -> *) (l_aRN2 :: TyFun b_aRsm (TyFun [a_aRsl] [b_aRsm] -> *))
data ScanrSym2 (l_aRN6 :: TyFun a_aRsl (TyFun b_aRsm b_aRsm -> *) -> *) (l_aRN7 :: b_aRsm) (l_aRN5 :: TyFun [a_aRsl] [b_aRsm])
type ScanrSym3 (t_aRMX :: TyFun a_aRsl (TyFun b_aRsm b_aRsm -> *) -> *) (t_aRMY :: b_aRsm) (t_aRMZ :: [a_aRsl]) = Scanr t_aRMX t_aRMY t_aRMZ
data Scanr1Sym0 (l_aRM1 :: TyFun (TyFun a_aRsu (TyFun a_aRsu a_aRsu -> *) -> *) (TyFun [a_aRsu] [a_aRsu] -> *))
data Scanr1Sym1 (l_aRM4 :: TyFun a_aRsu (TyFun a_aRsu a_aRsu -> *) -> *) (l_aRM3 :: TyFun [a_aRsu] [a_aRsu])
type Scanr1Sym2 (t_aRLZ :: TyFun a_aRsu (TyFun a_aRsu a_aRsu -> *) -> *) (t_aRM0 :: [a_aRsu]) = Scanr1 t_aRLZ t_aRM0
data MapAccumLSym0 (l_aRJm :: TyFun (TyFun acc_aRsB (TyFun x_aRsC (acc_aRsB, y_aRsD) -> *) -> *) (TyFun acc_aRsB (TyFun [x_aRsC] (acc_aRsB, [y_aRsD]) -> *) -> *))
data MapAccumLSym1 (l_aRJp :: TyFun acc_aRsB (TyFun x_aRsC (acc_aRsB, y_aRsD) -> *) -> *) (l_aRJo :: TyFun acc_aRsB (TyFun [x_aRsC] (acc_aRsB, [y_aRsD]) -> *))
data MapAccumLSym2 (l_aRJs :: TyFun acc_aRsB (TyFun x_aRsC (acc_aRsB, y_aRsD) -> *) -> *) (l_aRJt :: acc_aRsB) (l_aRJr :: TyFun [x_aRsC] (acc_aRsB, [y_aRsD]))
type MapAccumLSym3 (t_aRJj :: TyFun acc_aRsB (TyFun x_aRsC (acc_aRsB, y_aRsD) -> *) -> *) (t_aRJk :: acc_aRsB) (t_aRJl :: [x_aRsC]) = MapAccumL t_aRJj t_aRJk t_aRJl
data MapAccumRSym0 (l_aRGG :: TyFun (TyFun acc_aRsN (TyFun x_aRsO (acc_aRsN, y_aRsP) -> *) -> *) (TyFun acc_aRsN (TyFun [x_aRsO] (acc_aRsN, [y_aRsP]) -> *) -> *))
data MapAccumRSym1 (l_aRGJ :: TyFun acc_aRsN (TyFun x_aRsO (acc_aRsN, y_aRsP) -> *) -> *) (l_aRGI :: TyFun acc_aRsN (TyFun [x_aRsO] (acc_aRsN, [y_aRsP]) -> *))
data MapAccumRSym2 (l_aRGM :: TyFun acc_aRsN (TyFun x_aRsO (acc_aRsN, y_aRsP) -> *) -> *) (l_aRGN :: acc_aRsN) (l_aRGL :: TyFun [x_aRsO] (acc_aRsN, [y_aRsP]))
type MapAccumRSym3 (t_aRGD :: TyFun acc_aRsN (TyFun x_aRsO (acc_aRsN, y_aRsP) -> *) -> *) (t_aRGE :: acc_aRsN) (t_aRGF :: [x_aRsO]) = MapAccumR t_aRGD t_aRGE t_aRGF
data UnfoldrSym0 (l_aRGg :: TyFun (TyFun b_aRsZ (Maybe (a_aRt0, b_aRsZ)) -> *) (TyFun b_aRsZ [a_aRt0] -> *))
data UnfoldrSym1 (l_aRGj :: TyFun b_aRsZ (Maybe (a_aRt0, b_aRsZ)) -> *) (l_aRGi :: TyFun b_aRsZ [a_aRt0])
type UnfoldrSym2 (t_aRGe :: TyFun b_aRsZ (Maybe (a_aRt0, b_aRsZ)) -> *) (t_aRGf :: b_aRsZ) = Unfoldr t_aRGe t_aRGf
data InitsSym0 (l_aRG0 :: TyFun [a_aRt5] [[a_aRt5]])
type InitsSym1 (t_aRFZ :: [a_aRt5]) = Inits t_aRFZ
data TailsSym0 (l_aRFA :: TyFun [a_aRt9] [[a_aRt9]])
type TailsSym1 (t_aRFz :: [a_aRt9]) = Tails t_aRFz
data IsPrefixOfSym0 (l_aRFk :: TyFun [a_aRtc] (TyFun [a_aRtc] Bool -> *))
data IsPrefixOfSym1 (l_aRFn :: [a_aRtc]) (l_aRFm :: TyFun [a_aRtc] Bool)
type IsPrefixOfSym2 (t_aRFi :: [a_aRtc]) (t_aRFj :: [a_aRtc]) = IsPrefixOf t_aRFi t_aRFj
data IsSuffixOfSym0 (l_aS3c :: TyFun [a_aRth] (TyFun [a_aRth] Bool -> *))
data IsSuffixOfSym1 (l_aS3f :: [a_aRth]) (l_aS3e :: TyFun [a_aRth] Bool)
type IsSuffixOfSym2 (t_aS3a :: [a_aRth]) (t_aS3b :: [a_aRth]) = IsSuffixOf t_aS3a t_aS3b
data IsInfixOfSym0 (l_aRFQ :: TyFun [a_aRtk] (TyFun [a_aRtk] Bool -> *))
data IsInfixOfSym1 (l_aRFT :: [a_aRtk]) (l_aRFS :: TyFun [a_aRtk] Bool)
type IsInfixOfSym2 (t_aRFO :: [a_aRtk]) (t_aRFP :: [a_aRtk]) = IsInfixOf t_aRFO t_aRFP
data ElemSym0 (l_aRF7 :: TyFun a_aRtn (TyFun [a_aRtn] Bool -> *))
data ElemSym1 (l_aRFa :: a_aRtn) (l_aRF9 :: TyFun [a_aRtn] Bool)
type ElemSym2 (t_aRF5 :: a_aRtn) (t_aRF6 :: [a_aRtn]) = Elem t_aRF5 t_aRF6
data NotElemSym0 (l_aREU :: TyFun a_aRtr (TyFun [a_aRtr] Bool -> *))
data NotElemSym1 (l_aREX :: a_aRtr) (l_aREW :: TyFun [a_aRtr] Bool)
type NotElemSym2 (t_aRES :: a_aRtr) (t_aRET :: [a_aRtr]) = NotElem t_aRES t_aRET
data ZipSym0 (l_aRED :: TyFun [a_aRtv] (TyFun [b_aRtw] [(a_aRtv, b_aRtw)] -> *))
data ZipSym1 (l_aREG :: [a_aRtv]) (l_aREF :: TyFun [b_aRtw] [(a_aRtv, b_aRtw)])
type ZipSym2 (t_aREB :: [a_aRtv]) (t_aREC :: [b_aRtw]) = Zip t_aREB t_aREC
data Zip3Sym0 (l_aRE1 :: TyFun [a_aRtB] (TyFun [b_aRtC] (TyFun [c_aRtD] [(a_aRtB, b_aRtC, c_aRtD)] -> *) -> *))
data Zip3Sym1 (l_aRE4 :: [a_aRtB]) (l_aRE3 :: TyFun [b_aRtC] (TyFun [c_aRtD] [(a_aRtB, b_aRtC, c_aRtD)] -> *))
data Zip3Sym2 (l_aRE7 :: [a_aRtB]) (l_aRE8 :: [b_aRtC]) (l_aRE6 :: TyFun [c_aRtD] [(a_aRtB, b_aRtC, c_aRtD)])
type Zip3Sym3 (t_aRDY :: [a_aRtB]) (t_aRDZ :: [b_aRtC]) (t_aRE0 :: [c_aRtD]) = Zip3 t_aRDY t_aRDZ t_aRE0
data ZipWithSym0 (l_aRDA :: TyFun (TyFun a_aRtK (TyFun b_aRtL c_aRtM -> *) -> *) (TyFun [a_aRtK] (TyFun [b_aRtL] [c_aRtM] -> *) -> *))
data ZipWithSym1 (l_aRDD :: TyFun a_aRtK (TyFun b_aRtL c_aRtM -> *) -> *) (l_aRDC :: TyFun [a_aRtK] (TyFun [b_aRtL] [c_aRtM] -> *))
data ZipWithSym2 (l_aRDG :: TyFun a_aRtK (TyFun b_aRtL c_aRtM -> *) -> *) (l_aRDH :: [a_aRtK]) (l_aRDF :: TyFun [b_aRtL] [c_aRtM])
type ZipWithSym3 (t_aRDx :: TyFun a_aRtK (TyFun b_aRtL c_aRtM -> *) -> *) (t_aRDy :: [a_aRtK]) (t_aRDz :: [b_aRtL]) = ZipWith t_aRDx t_aRDy t_aRDz
data ZipWith3Sym0 (l_aRCJ :: TyFun (TyFun a_aRtS (TyFun b_aRtT (TyFun c_aRtU d_aRtV -> *) -> *) -> *) (TyFun [a_aRtS] (TyFun [b_aRtT] (TyFun [c_aRtU] [d_aRtV] -> *) -> *) -> *))
data ZipWith3Sym1 (l_aRCM :: TyFun a_aRtS (TyFun b_aRtT (TyFun c_aRtU d_aRtV -> *) -> *) -> *) (l_aRCL :: TyFun [a_aRtS] (TyFun [b_aRtT] (TyFun [c_aRtU] [d_aRtV] -> *) -> *))
data ZipWith3Sym2 (l_aRCP :: TyFun a_aRtS (TyFun b_aRtT (TyFun c_aRtU d_aRtV -> *) -> *) -> *) (l_aRCQ :: [a_aRtS]) (l_aRCO :: TyFun [b_aRtT] (TyFun [c_aRtU] [d_aRtV] -> *))
data ZipWith3Sym3 (l_aRCT :: TyFun a_aRtS (TyFun b_aRtT (TyFun c_aRtU d_aRtV -> *) -> *) -> *) (l_aRCU :: [a_aRtS]) (l_aRCV :: [b_aRtT]) (l_aRCS :: TyFun [c_aRtU] [d_aRtV])
data UnzipSym0 (l_aRCa :: TyFun [(a_aRu3, b_aRu4)] ([a_aRu3], [b_aRu4]))
type UnzipSym1 (t_aRC9 :: [(a_aRu3, b_aRu4)]) = Unzip t_aRC9
data Unzip3Sym0 (l_aRBC :: TyFun [(a_aRua, b_aRub, c_aRuc)] ([a_aRua], [b_aRub], [c_aRuc]))
type Unzip3Sym1 (t_aRBB :: [(a_aRua, b_aRub, c_aRuc)]) = Unzip3 t_aRBB
data Unzip4Sym0 (l_aRB2 :: TyFun [(a_aRuk, b_aRul, c_aRum, d_aRun)] ([a_aRuk], [b_aRul], [c_aRum], [d_aRun]))
type Unzip4Sym1 (t_aRB1 :: [(a_aRuk, b_aRul, c_aRum, d_aRun)]) = Unzip4 t_aRB1
data Unzip5Sym0 (l_aRAq :: TyFun [(a_aRux, b_aRuy, c_aRuz, d_aRuA, e_aRuB)] ([a_aRux], [b_aRuy], [c_aRuz], [d_aRuA], [e_aRuB]))
type Unzip5Sym1 (t_aRAp :: [(a_aRux, b_aRuy, c_aRuz, d_aRuA, e_aRuB)]) = Unzip5 t_aRAp
data Unzip6Sym0 (l_aRzM :: TyFun [(a_aRuN, b_aRuO, c_aRuP, d_aRuQ, e_aRuR, f_aRuS)] ([a_aRuN], [b_aRuO], [c_aRuP], [d_aRuQ], [e_aRuR], [f_aRuS]))
type Unzip6Sym1 (t_aRzL :: [(a_aRuN, b_aRuO, c_aRuP, d_aRuQ, e_aRuR, f_aRuS)]) = Unzip6 t_aRzL
data Unzip7Sym0 (l_aRz6 :: TyFun [(a_aRv6, b_aRv7, c_aRv8, d_aRv9, e_aRva, f_aRvb, g_aRvc)] ([a_aRv6], [b_aRv7], [c_aRv8], [d_aRv9], [e_aRva], [f_aRvb], [g_aRvc]))
type Unzip7Sym1 (t_aRz5 :: [(a_aRv6, b_aRv7, c_aRv8, d_aRv9, e_aRva, f_aRvb, g_aRvc)]) = Unzip7 t_aRz5
data DeleteSym0 (l_aRyW :: TyFun a_aRvs (TyFun [a_aRvs] [a_aRvs] -> *))
data DeleteSym1 (l_aRyZ :: a_aRvs) (l_aRyY :: TyFun [a_aRvs] [a_aRvs])
type DeleteSym2 (t_aRyU :: a_aRvs) (t_aRyV :: [a_aRvs]) = Delete t_aRyU t_aRyV
data (:\\$) (l_aRVf :: TyFun [a_aRvt] (TyFun [a_aRvt] [a_aRvt] -> *))
data (:\\$$) (l_aRVi :: [a_aRvt]) (l_aRVh :: TyFun [a_aRvt] [a_aRvt])
type (:\\$$$) (t_aRVd :: [a_aRvt]) (t_aRVe :: [a_aRvt]) = (:\\) t_aRVd t_aRVe
data IntersectSym0 (l_a1Bbx :: TyFun [a_a1AYt] (TyFun [a_a1AYt] [a_a1AYt] -> *))
data IntersectSym1 (l_a1BbA :: [a_a1AYt]) (l_a1Bbz :: TyFun [a_a1AYt] [a_a1AYt])
type IntersectSym2 (t_a1Bbv :: [a_a1AYt]) (t_a1Bbw :: [a_a1AYt]) = Intersect t_a1Bbv t_a1Bbw
data InsertSym0 (l_a1Bcq :: TyFun a_a1AVJ (TyFun [a_a1AVJ] [a_a1AVJ] -> *))
data InsertSym1 (l_a1Bct :: a_a1AVJ) (l_a1Bcs :: TyFun [a_a1AVJ] [a_a1AVJ])
type InsertSym2 (t_a1Bco :: a_a1AVJ) (t_a1Bcp :: [a_a1AVJ]) = Insert t_a1Bco t_a1Bcp
data SortSym0 (l_a1Bck :: TyFun [a_a1AVM] [a_a1AVM])
type SortSym1 (t_a1Bcj :: [a_a1AVM]) = Sort t_a1Bcj
data DeleteBySym0 (l_aRyb :: TyFun (TyFun a_aRvu (TyFun a_aRvu Bool -> *) -> *) (TyFun a_aRvu (TyFun [a_aRvu] [a_aRvu] -> *) -> *))
data DeleteBySym1 (l_aRye :: TyFun a_aRvu (TyFun a_aRvu Bool -> *) -> *) (l_aRyd :: TyFun a_aRvu (TyFun [a_aRvu] [a_aRvu] -> *))
data DeleteBySym2 (l_aRyh :: TyFun a_aRvu (TyFun a_aRvu Bool -> *) -> *) (l_aRyi :: a_aRvu) (l_aRyg :: TyFun [a_aRvu] [a_aRvu])
type DeleteBySym3 (t_aRy8 :: TyFun a_aRvu (TyFun a_aRvu Bool -> *) -> *) (t_aRy9 :: a_aRvu) (t_aRya :: [a_aRvu]) = DeleteBy t_aRy8 t_aRy9 t_aRya
data DeleteFirstsBySym0 (l_aRVr :: TyFun (TyFun a_aRvz (TyFun a_aRvz Bool -> *) -> *) (TyFun [a_aRvz] (TyFun [a_aRvz] [a_aRvz] -> *) -> *))
data DeleteFirstsBySym1 (l_aRVu :: TyFun a_aRvz (TyFun a_aRvz Bool -> *) -> *) (l_aRVt :: TyFun [a_aRvz] (TyFun [a_aRvz] [a_aRvz] -> *))
data DeleteFirstsBySym2 (l_aRVx :: TyFun a_aRvz (TyFun a_aRvz Bool -> *) -> *) (l_aRVy :: [a_aRvz]) (l_aRVw :: TyFun [a_aRvz] [a_aRvz])
type DeleteFirstsBySym3 (t_aRVo :: TyFun a_aRvz (TyFun a_aRvz Bool -> *) -> *) (t_aRVp :: [a_aRvz]) (t_aRVq :: [a_aRvz]) = DeleteFirstsBy t_aRVo t_aRVp t_aRVq
data IntersectBySym0 (l_a1BaI :: TyFun (TyFun a_a1AYu (TyFun a_a1AYu Bool -> *) -> *) (TyFun [a_a1AYu] (TyFun [a_a1AYu] [a_a1AYu] -> *) -> *))
data IntersectBySym1 (l_a1BaL :: TyFun a_a1AYu (TyFun a_a1AYu Bool -> *) -> *) (l_a1BaK :: TyFun [a_a1AYu] (TyFun [a_a1AYu] [a_a1AYu] -> *))
data IntersectBySym2 (l_a1BaO :: TyFun a_a1AYu (TyFun a_a1AYu Bool -> *) -> *) (l_a1BaP :: [a_a1AYu]) (l_a1BaN :: TyFun [a_a1AYu] [a_a1AYu])
data SortBySym0 (l_aRxX :: TyFun (TyFun a_aRvB (TyFun a_aRvB Ordering -> *) -> *) (TyFun [a_aRvB] [a_aRvB] -> *))
data SortBySym1 (l_aRy0 :: TyFun a_aRvB (TyFun a_aRvB Ordering -> *) -> *) (l_aRxZ :: TyFun [a_aRvB] [a_aRvB])
type SortBySym2 (t_aRxV :: TyFun a_aRvB (TyFun a_aRvB Ordering -> *) -> *) (t_aRxW :: [a_aRvB]) = SortBy t_aRxV t_aRxW
data InsertBySym0 (l_aRwX :: TyFun (TyFun a_aRvD (TyFun a_aRvD Ordering -> *) -> *) (TyFun a_aRvD (TyFun [a_aRvD] [a_aRvD] -> *) -> *))
data InsertBySym1 (l_aRx0 :: TyFun a_aRvD (TyFun a_aRvD Ordering -> *) -> *) (l_aRwZ :: TyFun a_aRvD (TyFun [a_aRvD] [a_aRvD] -> *))
data InsertBySym2 (l_aRx3 :: TyFun a_aRvD (TyFun a_aRvD Ordering -> *) -> *) (l_aRx4 :: a_aRvD) (l_aRx2 :: TyFun [a_aRvD] [a_aRvD])
type InsertBySym3 (t_aRwU :: TyFun a_aRvD (TyFun a_aRvD Ordering -> *) -> *) (t_aRwV :: a_aRvD) (t_aRwW :: [a_aRvD]) = InsertBy t_aRwU t_aRwV t_aRwW
data MaximumBySym0 (l_aRSp :: TyFun (TyFun a_aRvK (TyFun a_aRvK Ordering -> *) -> *) (TyFun [a_aRvK] a_aRvK -> *))
data MaximumBySym1 (l_aRSs :: TyFun a_aRvK (TyFun a_aRvK Ordering -> *) -> *) (l_aRSr :: TyFun [a_aRvK] a_aRvK)
type MaximumBySym2 (t_aRSn :: TyFun a_aRvK (TyFun a_aRvK Ordering -> *) -> *) (t_aRSo :: [a_aRvK]) = MaximumBy t_aRSn t_aRSo
data MinimumBySym0 (l_aRTN :: TyFun (TyFun a_aRvQ (TyFun a_aRvQ Ordering -> *) -> *) (TyFun [a_aRvQ] a_aRvQ -> *))
data MinimumBySym1 (l_aRTQ :: TyFun a_aRvQ (TyFun a_aRvQ Ordering -> *) -> *) (l_aRTP :: TyFun [a_aRvQ] a_aRvQ)
type MinimumBySym2 (t_aRTL :: TyFun a_aRvQ (TyFun a_aRvQ Ordering -> *) -> *) (t_aRTM :: [a_aRvQ]) = MinimumBy t_aRTL t_aRTM
data LengthSym0 (l_a1Bo5 :: TyFun [a_a1AUx] Nat)
type LengthSym1 (t_a1Bo4 :: [a_a1AUx]) = Length t_a1Bo4
data SumSym0 (l_a1BnH :: TyFun [Nat] Nat)
type SumSym1 (t_a1BnG :: [Nat]) = Sum t_a1BnG
data ProductSym0 (l_a1Bnj :: TyFun [Nat] Nat)
type ProductSym1 (t_a1Bni :: [Nat]) = Product t_a1Bni
data ReplicateSym0 (l_a1BmT :: TyFun Nat (TyFun a_a1AUL [a_a1AUL] -> *))
data ReplicateSym1 (l_a1BmW :: Nat) (l_a1BmV :: TyFun a_a1AUL [a_a1AUL])
type ReplicateSym2 (t_a1BmR :: Nat) (t_a1BmS :: a_a1AUL) = Replicate t_a1BmR t_a1BmS
data TransposeSym0 (l_a1BmK :: TyFun [[a_a1AUO]] [[a_a1AUO]])
type TransposeSym1 (t_a1BmJ :: [[a_a1AUO]]) = Transpose t_a1BmJ
data TakeSym0 (l_a1BlR :: TyFun Nat (TyFun [a_a1AUT] [a_a1AUT] -> *))
data TakeSym1 (l_a1BlU :: Nat) (l_a1BlT :: TyFun [a_a1AUT] [a_a1AUT])
type TakeSym2 (t_a1BlP :: Nat) (t_a1BlQ :: [a_a1AUT]) = Take t_a1BlP t_a1BlQ
data DropSym0 (l_a1Blf :: TyFun Nat (TyFun [a_a1AUX] [a_a1AUX] -> *))
data DropSym1 (l_a1Bli :: Nat) (l_a1Blh :: TyFun [a_a1AUX] [a_a1AUX])
type DropSym2 (t_a1Bld :: Nat) (t_a1Ble :: [a_a1AUX]) = Drop t_a1Bld t_a1Ble
data SplitAtSym0 (l_a1Bm6 :: TyFun Nat (TyFun [a_a1AV1] ([a_a1AV1], [a_a1AV1]) -> *))
data SplitAtSym1 (l_a1Bm9 :: Nat) (l_a1Bm8 :: TyFun [a_a1AV1] ([a_a1AV1], [a_a1AV1]))
type SplitAtSym2 (t_a1Bm4 :: Nat) (t_a1Bm5 :: [a_a1AV1]) = SplitAt t_a1Bm4 t_a1Bm5
data TakeWhileSym0 (l_a1BkS :: TyFun (TyFun a_a1AV4 Bool -> *) (TyFun [a_a1AV4] [a_a1AV4] -> *))
data TakeWhileSym1 (l_a1BkV :: TyFun a_a1AV4 Bool -> *) (l_a1BkU :: TyFun [a_a1AV4] [a_a1AV4])
type TakeWhileSym2 (t_a1BkQ :: TyFun a_a1AV4 Bool -> *) (t_a1BkR :: [a_a1AV4]) = TakeWhile t_a1BkQ t_a1BkR
data DropWhileSym0 (l_a1Bk5 :: TyFun (TyFun a_a1AV8 Bool -> *) (TyFun [a_a1AV8] [a_a1AV8] -> *))
data DropWhileSym1 (l_a1Bk8 :: TyFun a_a1AV8 Bool -> *) (l_a1Bk7 :: TyFun [a_a1AV8] [a_a1AV8])
type DropWhileSym2 (t_a1Bk3 :: TyFun a_a1AV8 Bool -> *) (t_a1Bk4 :: [a_a1AV8]) = DropWhile t_a1Bk3 t_a1Bk4
data DropWhileEndSym0 (l_a1Bj6 :: TyFun (TyFun a_a1AVd Bool -> *) (TyFun [a_a1AVd] [a_a1AVd] -> *))
data DropWhileEndSym1 (l_a1Bj9 :: TyFun a_a1AVd Bool -> *) (l_a1Bj8 :: TyFun [a_a1AVd] [a_a1AVd])
type DropWhileEndSym2 (t_a1Bj4 :: TyFun a_a1AVd Bool -> *) (t_a1Bj5 :: [a_a1AVd]) = DropWhileEnd t_a1Bj4 t_a1Bj5
data SpanSym0 (l_a1BfB :: TyFun (TyFun a_a1AVh Bool -> *) (TyFun [a_a1AVh] ([a_a1AVh], [a_a1AVh]) -> *))
data SpanSym1 (l_a1BfE :: TyFun a_a1AVh Bool -> *) (l_a1BfD :: TyFun [a_a1AVh] ([a_a1AVh], [a_a1AVh]))
type SpanSym2 (t_a1Bfz :: TyFun a_a1AVh Bool -> *) (t_a1BfA :: [a_a1AVh]) = Span t_a1Bfz t_a1BfA
data BreakSym0 (l_a1Bdh :: TyFun (TyFun a_a1AVp Bool -> *) (TyFun [a_a1AVp] ([a_a1AVp], [a_a1AVp]) -> *))
data BreakSym1 (l_a1Bdk :: TyFun a_a1AVp Bool -> *) (l_a1Bdj :: TyFun [a_a1AVp] ([a_a1AVp], [a_a1AVp]))
type BreakSym2 (t_a1Bdf :: TyFun a_a1AVp Bool -> *) (t_a1Bdg :: [a_a1AVp]) = Break t_a1Bdf t_a1Bdg
data StripPrefixSym0 (l_a1BcL :: TyFun [a_a1AVx] (TyFun [a_a1AVx] (Maybe [a_a1AVx]) -> *))
data StripPrefixSym1 (l_a1BcO :: [a_a1AVx]) (l_a1BcN :: TyFun [a_a1AVx] (Maybe [a_a1AVx]))
data MaximumSym0 (l_a1BcF :: TyFun [a_a1AVF] a_a1AVF)
type MaximumSym1 (t_a1BcE :: [a_a1AVF]) = Maximum t_a1BcE
data MinimumSym0 (l_a1BcA :: TyFun [a_a1AVH] a_a1AVH)
type MinimumSym1 (t_a1Bcz :: [a_a1AVH]) = Minimum t_a1Bcz
data GroupSym0 (l_a1Bj0 :: TyFun [a_a1AVD] [[a_a1AVD]])
type GroupSym1 (t_a1BiZ :: [a_a1AVD]) = Group t_a1BiZ
data GroupBySym0 (l_a1BhV :: TyFun (TyFun a_a1AVN (TyFun a_a1AVN Bool -> *) -> *) (TyFun [a_a1AVN] [[a_a1AVN]] -> *))
data GroupBySym1 (l_a1BhY :: TyFun a_a1AVN (TyFun a_a1AVN Bool -> *) -> *) (l_a1BhX :: TyFun [a_a1AVN] [[a_a1AVN]])
type GroupBySym2 (t_a1BhT :: TyFun a_a1AVN (TyFun a_a1AVN Bool -> *) -> *) (t_a1BhU :: [a_a1AVN]) = GroupBy t_a1BhT t_a1BhU
data LookupSym0 (l_a1BbV :: TyFun a_a1AVT (TyFun [(a_a1AVT, b_a1AVU)] (Maybe b_a1AVU) -> *))
data LookupSym1 (l_a1BbY :: a_a1AVT) (l_a1BbX :: TyFun [(a_a1AVT, b_a1AVU)] (Maybe b_a1AVU))
type LookupSym2 (t_a1BbT :: a_a1AVT) (t_a1BbU :: [(a_a1AVT, b_a1AVU)]) = Lookup t_a1BbT t_a1BbU
data FindSym0 (l_a1BbI :: TyFun (TyFun a_a1AW0 Bool -> *) (TyFun [a_a1AW0] (Maybe a_a1AW0) -> *))
data FindSym1 (l_a1BbL :: TyFun a_a1AW0 Bool -> *) (l_a1BbK :: TyFun [a_a1AW0] (Maybe a_a1AW0))
type FindSym2 (t_a1BbG :: TyFun a_a1AW0 Bool -> *) (t_a1BbH :: [a_a1AW0]) = Find t_a1BbG t_a1BbH
data FilterSym0 (l_a1Bak :: TyFun (TyFun a_a1AW2 Bool -> *) (TyFun [a_a1AW2] [a_a1AW2] -> *))
data FilterSym1 (l_a1Ban :: TyFun a_a1AW2 Bool -> *) (l_a1Bam :: TyFun [a_a1AW2] [a_a1AW2])
type FilterSym2 (t_a1Bai :: TyFun a_a1AW2 Bool -> *) (t_a1Baj :: [a_a1AW2]) = Filter t_a1Bai t_a1Baj
data PartitionSym0 (l_a1Ba9 :: TyFun (TyFun a_a1AW7 Bool -> *) (TyFun [a_a1AW7] ([a_a1AW7], [a_a1AW7]) -> *))
data PartitionSym1 (l_a1Bac :: TyFun a_a1AW7 Bool -> *) (l_a1Bab :: TyFun [a_a1AW7] ([a_a1AW7], [a_a1AW7]))
type PartitionSym2 (t_a1Ba7 :: TyFun a_a1AW7 Bool -> *) (t_a1Ba8 :: [a_a1AW7]) = Partition t_a1Ba7 t_a1Ba8
data (:!!$) (l_a1B99 :: TyFun [a_a1AWf] (TyFun Nat a_a1AWf -> *))
data (:!!$$) (l_a1B9c :: [a_a1AWf]) (l_a1B9b :: TyFun Nat a_a1AWf)
type (:!!$$$) (t_a1B97 :: [a_a1AWf]) (t_a1B98 :: Nat) = (:!!) t_a1B97 t_a1B98
data ElemIndexSym0 (l_a1Bpy :: TyFun a_a1AWj (TyFun [a_a1AWj] (Maybe Nat) -> *))
data ElemIndexSym1 (l_a1BpB :: a_a1AWj) (l_a1BpA :: TyFun [a_a1AWj] (Maybe Nat))
type ElemIndexSym2 (t_a1Bpw :: a_a1AWj) (t_a1Bpx :: [a_a1AWj]) = ElemIndex t_a1Bpw t_a1Bpx
data ElemIndicesSym0 (l_a1Bp8 :: TyFun a_a1AWl (TyFun [a_a1AWl] [Nat] -> *))
data ElemIndicesSym1 (l_a1Bpb :: a_a1AWl) (l_a1Bpa :: TyFun [a_a1AWl] [Nat])
type ElemIndicesSym2 (t_a1Bp6 :: a_a1AWl) (t_a1Bp7 :: [a_a1AWl]) = ElemIndices t_a1Bp6 t_a1Bp7
data FindIndexSym0 (l_a1Bpl :: TyFun (TyFun a_a1AWn Bool -> *) (TyFun [a_a1AWn] (Maybe Nat) -> *))
data FindIndexSym1 (l_a1Bpo :: TyFun a_a1AWn Bool -> *) (l_a1Bpn :: TyFun [a_a1AWn] (Maybe Nat))
type FindIndexSym2 (t_a1Bpj :: TyFun a_a1AWn Bool -> *) (t_a1Bpk :: [a_a1AWn]) = FindIndex t_a1Bpj t_a1Bpk
data FindIndicesSym0 (l_a1Boc :: TyFun (TyFun a_a1AWp Bool -> *) (TyFun [a_a1AWp] [Nat] -> *))
data FindIndicesSym1 (l_a1Bof :: TyFun a_a1AWp Bool -> *) (l_a1Boe :: TyFun [a_a1AWp] [Nat])
type FindIndicesSym2 (t_a1Boa :: TyFun a_a1AWp Bool -> *) (t_a1Bob :: [a_a1AWp]) = FindIndices t_a1Boa t_a1Bob
data Zip4Sym0 (l_a1B8L :: TyFun [a_a1AWw] (TyFun [b_a1AWx] (TyFun [c_a1AWy] (TyFun [d_a1AWz] [(a_a1AWw, b_a1AWx, c_a1AWy, d_a1AWz)] -> *) -> *) -> *))
data Zip4Sym1 (l_a1B8O :: [a_a1AWw]) (l_a1B8N :: TyFun [b_a1AWx] (TyFun [c_a1AWy] (TyFun [d_a1AWz] [(a_a1AWw, b_a1AWx, c_a1AWy, d_a1AWz)] -> *) -> *))
data Zip4Sym2 (l_a1B8R :: [a_a1AWw]) (l_a1B8S :: [b_a1AWx]) (l_a1B8Q :: TyFun [c_a1AWy] (TyFun [d_a1AWz] [(a_a1AWw, b_a1AWx, c_a1AWy, d_a1AWz)] -> *))
data Zip4Sym3 (l_a1B8V :: [a_a1AWw]) (l_a1B8W :: [b_a1AWx]) (l_a1B8X :: [c_a1AWy]) (l_a1B8U :: TyFun [d_a1AWz] [(a_a1AWw, b_a1AWx, c_a1AWy, d_a1AWz)])
type Zip4Sym4 (t_a1B8H :: [a_a1AWw]) (t_a1B8I :: [b_a1AWx]) (t_a1B8J :: [c_a1AWy]) (t_a1B8K :: [d_a1AWz]) = Zip4 t_a1B8H t_a1B8I t_a1B8J t_a1B8K
data Zip5Sym0 (l_a1B85 :: TyFun [a_a1AWA] (TyFun [b_a1AWB] (TyFun [c_a1AWC] (TyFun [d_a1AWD] (TyFun [e_a1AWE] [(a_a1AWA, b_a1AWB, c_a1AWC, d_a1AWD, e_a1AWE)] -> *) -> *) -> *) -> *))
data Zip5Sym1 (l_a1B88 :: [a_a1AWA]) (l_a1B87 :: TyFun [b_a1AWB] (TyFun [c_a1AWC] (TyFun [d_a1AWD] (TyFun [e_a1AWE] [(a_a1AWA, b_a1AWB, c_a1AWC, d_a1AWD, e_a1AWE)] -> *) -> *) -> *))
data Zip5Sym2 (l_a1B8b :: [a_a1AWA]) (l_a1B8c :: [b_a1AWB]) (l_a1B8a :: TyFun [c_a1AWC] (TyFun [d_a1AWD] (TyFun [e_a1AWE] [(a_a1AWA, b_a1AWB, c_a1AWC, d_a1AWD, e_a1AWE)] -> *) -> *))
data Zip5Sym3 (l_a1B8f :: [a_a1AWA]) (l_a1B8g :: [b_a1AWB]) (l_a1B8h :: [c_a1AWC]) (l_a1B8e :: TyFun [d_a1AWD] (TyFun [e_a1AWE] [(a_a1AWA, b_a1AWB, c_a1AWC, d_a1AWD, e_a1AWE)] -> *))
data Zip5Sym4 (l_a1B8k :: [a_a1AWA]) (l_a1B8l :: [b_a1AWB]) (l_a1B8m :: [c_a1AWC]) (l_a1B8n :: [d_a1AWD]) (l_a1B8j :: TyFun [e_a1AWE] [(a_a1AWA, b_a1AWB, c_a1AWC, d_a1AWD, e_a1AWE)])
type Zip5Sym5 (t_a1B80 :: [a_a1AWA]) (t_a1B81 :: [b_a1AWB]) (t_a1B82 :: [c_a1AWC]) (t_a1B83 :: [d_a1AWD]) (t_a1B84 :: [e_a1AWE]) = Zip5 t_a1B80 t_a1B81 t_a1B82 t_a1B83 t_a1B84
data Zip6Sym0 (l_a1B7d :: TyFun [a_a1AWF] (TyFun [b_a1AWG] (TyFun [c_a1AWH] (TyFun [d_a1AWI] (TyFun [e_a1AWJ] (TyFun [f_a1AWK] [(a_a1AWF, b_a1AWG, c_a1AWH, d_a1AWI, e_a1AWJ, f_a1AWK)] -> *) -> *) -> *) -> *) -> *))
data Zip6Sym1 (l_a1B7g :: [a_a1AWF]) (l_a1B7f :: TyFun [b_a1AWG] (TyFun [c_a1AWH] (TyFun [d_a1AWI] (TyFun [e_a1AWJ] (TyFun [f_a1AWK] [(a_a1AWF, b_a1AWG, c_a1AWH, d_a1AWI, e_a1AWJ, f_a1AWK)] -> *) -> *) -> *) -> *))
data Zip6Sym2 (l_a1B7j :: [a_a1AWF]) (l_a1B7k :: [b_a1AWG]) (l_a1B7i :: TyFun [c_a1AWH] (TyFun [d_a1AWI] (TyFun [e_a1AWJ] (TyFun [f_a1AWK] [(a_a1AWF, b_a1AWG, c_a1AWH, d_a1AWI, e_a1AWJ, f_a1AWK)] -> *) -> *) -> *))
data Zip6Sym3 (l_a1B7n :: [a_a1AWF]) (l_a1B7o :: [b_a1AWG]) (l_a1B7p :: [c_a1AWH]) (l_a1B7m :: TyFun [d_a1AWI] (TyFun [e_a1AWJ] (TyFun [f_a1AWK] [(a_a1AWF, b_a1AWG, c_a1AWH, d_a1AWI, e_a1AWJ, f_a1AWK)] -> *) -> *))
data Zip6Sym4 (l_a1B7s :: [a_a1AWF]) (l_a1B7t :: [b_a1AWG]) (l_a1B7u :: [c_a1AWH]) (l_a1B7v :: [d_a1AWI]) (l_a1B7r :: TyFun [e_a1AWJ] (TyFun [f_a1AWK] [(a_a1AWF, b_a1AWG, c_a1AWH, d_a1AWI, e_a1AWJ, f_a1AWK)] -> *))
data Zip6Sym5 (l_a1B7y :: [a_a1AWF]) (l_a1B7z :: [b_a1AWG]) (l_a1B7A :: [c_a1AWH]) (l_a1B7B :: [d_a1AWI]) (l_a1B7C :: [e_a1AWJ]) (l_a1B7x :: TyFun [f_a1AWK] [(a_a1AWF, b_a1AWG, c_a1AWH, d_a1AWI, e_a1AWJ, f_a1AWK)])
type Zip6Sym6 (t_a1B77 :: [a_a1AWF]) (t_a1B78 :: [b_a1AWG]) (t_a1B79 :: [c_a1AWH]) (t_a1B7a :: [d_a1AWI]) (t_a1B7b :: [e_a1AWJ]) (t_a1B7c :: [f_a1AWK]) = Zip6 t_a1B77 t_a1B78 t_a1B79 t_a1B7a t_a1B7b t_a1B7c
data Zip7Sym0 (l_a1B68 :: TyFun [a_a1AWL] (TyFun [b_a1AWM] (TyFun [c_a1AWN] (TyFun [d_a1AWO] (TyFun [e_a1AWP] (TyFun [f_a1AWQ] (TyFun [g_a1AWR] [(a_a1AWL, b_a1AWM, c_a1AWN, d_a1AWO, e_a1AWP, f_a1AWQ, g_a1AWR)] -> *) -> *) -> *) -> *) -> *) -> *))
data Zip7Sym1 (l_a1B6b :: [a_a1AWL]) (l_a1B6a :: TyFun [b_a1AWM] (TyFun [c_a1AWN] (TyFun [d_a1AWO] (TyFun [e_a1AWP] (TyFun [f_a1AWQ] (TyFun [g_a1AWR] [(a_a1AWL, b_a1AWM, c_a1AWN, d_a1AWO, e_a1AWP, f_a1AWQ, g_a1AWR)] -> *) -> *) -> *) -> *) -> *))
data Zip7Sym2 (l_a1B6e :: [a_a1AWL]) (l_a1B6f :: [b_a1AWM]) (l_a1B6d :: TyFun [c_a1AWN] (TyFun [d_a1AWO] (TyFun [e_a1AWP] (TyFun [f_a1AWQ] (TyFun [g_a1AWR] [(a_a1AWL, b_a1AWM, c_a1AWN, d_a1AWO, e_a1AWP, f_a1AWQ, g_a1AWR)] -> *) -> *) -> *) -> *))
data Zip7Sym3 (l_a1B6i :: [a_a1AWL]) (l_a1B6j :: [b_a1AWM]) (l_a1B6k :: [c_a1AWN]) (l_a1B6h :: TyFun [d_a1AWO] (TyFun [e_a1AWP] (TyFun [f_a1AWQ] (TyFun [g_a1AWR] [(a_a1AWL, b_a1AWM, c_a1AWN, d_a1AWO, e_a1AWP, f_a1AWQ, g_a1AWR)] -> *) -> *) -> *))
data Zip7Sym4 (l_a1B6n :: [a_a1AWL]) (l_a1B6o :: [b_a1AWM]) (l_a1B6p :: [c_a1AWN]) (l_a1B6q :: [d_a1AWO]) (l_a1B6m :: TyFun [e_a1AWP] (TyFun [f_a1AWQ] (TyFun [g_a1AWR] [(a_a1AWL, b_a1AWM, c_a1AWN, d_a1AWO, e_a1AWP, f_a1AWQ, g_a1AWR)] -> *) -> *))
data Zip7Sym5 (l_a1B6t :: [a_a1AWL]) (l_a1B6u :: [b_a1AWM]) (l_a1B6v :: [c_a1AWN]) (l_a1B6w :: [d_a1AWO]) (l_a1B6x :: [e_a1AWP]) (l_a1B6s :: TyFun [f_a1AWQ] (TyFun [g_a1AWR] [(a_a1AWL, b_a1AWM, c_a1AWN, d_a1AWO, e_a1AWP, f_a1AWQ, g_a1AWR)] -> *))
data Zip7Sym6 (l_a1B6A :: [a_a1AWL]) (l_a1B6B :: [b_a1AWM]) (l_a1B6C :: [c_a1AWN]) (l_a1B6D :: [d_a1AWO]) (l_a1B6E :: [e_a1AWP]) (l_a1B6F :: [f_a1AWQ]) (l_a1B6z :: TyFun [g_a1AWR] [(a_a1AWL, b_a1AWM, c_a1AWN, d_a1AWO, e_a1AWP, f_a1AWQ, g_a1AWR)])
type Zip7Sym7 (t_a1B61 :: [a_a1AWL]) (t_a1B62 :: [b_a1AWM]) (t_a1B63 :: [c_a1AWN]) (t_a1B64 :: [d_a1AWO]) (t_a1B65 :: [e_a1AWP]) (t_a1B66 :: [f_a1AWQ]) (t_a1B67 :: [g_a1AWR]) = Zip7 t_a1B61 t_a1B62 t_a1B63 t_a1B64 t_a1B65 t_a1B66 t_a1B67
data ZipWith4Sym0 (l_a1B5a :: TyFun (TyFun a_a1AWS (TyFun b_a1AWT (TyFun c_a1AWU (TyFun d_a1AWV e_a1AWW -> *) -> *) -> *) -> *) (TyFun [a_a1AWS] (TyFun [b_a1AWT] (TyFun [c_a1AWU] (TyFun [d_a1AWV] [e_a1AWW] -> *) -> *) -> *) -> *))
data ZipWith4Sym1 (l_a1B5d :: TyFun a_a1AWS (TyFun b_a1AWT (TyFun c_a1AWU (TyFun d_a1AWV e_a1AWW -> *) -> *) -> *) -> *) (l_a1B5c :: TyFun [a_a1AWS] (TyFun [b_a1AWT] (TyFun [c_a1AWU] (TyFun [d_a1AWV] [e_a1AWW] -> *) -> *) -> *))
data ZipWith4Sym2 (l_a1B5g :: TyFun a_a1AWS (TyFun b_a1AWT (TyFun c_a1AWU (TyFun d_a1AWV e_a1AWW -> *) -> *) -> *) -> *) (l_a1B5h :: [a_a1AWS]) (l_a1B5f :: TyFun [b_a1AWT] (TyFun [c_a1AWU] (TyFun [d_a1AWV] [e_a1AWW] -> *) -> *))
data ZipWith4Sym3 (l_a1B5k :: TyFun a_a1AWS (TyFun b_a1AWT (TyFun c_a1AWU (TyFun d_a1AWV e_a1AWW -> *) -> *) -> *) -> *) (l_a1B5l :: [a_a1AWS]) (l_a1B5m :: [b_a1AWT]) (l_a1B5j :: TyFun [c_a1AWU] (TyFun [d_a1AWV] [e_a1AWW] -> *))
data ZipWith4Sym4 (l_a1B5p :: TyFun a_a1AWS (TyFun b_a1AWT (TyFun c_a1AWU (TyFun d_a1AWV e_a1AWW -> *) -> *) -> *) -> *) (l_a1B5q :: [a_a1AWS]) (l_a1B5r :: [b_a1AWT]) (l_a1B5s :: [c_a1AWU]) (l_a1B5o :: TyFun [d_a1AWV] [e_a1AWW])
data ZipWith5Sym0 (l_a1B4h :: TyFun (TyFun a_a1AX6 (TyFun b_a1AX7 (TyFun c_a1AX8 (TyFun d_a1AX9 (TyFun e_a1AXa f_a1AXb -> *) -> *) -> *) -> *) -> *) (TyFun [a_a1AX6] (TyFun [b_a1AX7] (TyFun [c_a1AX8] (TyFun [d_a1AX9] (TyFun [e_a1AXa] [f_a1AXb] -> *) -> *) -> *) -> *) -> *))
data ZipWith5Sym1 (l_a1B4k :: TyFun a_a1AX6 (TyFun b_a1AX7 (TyFun c_a1AX8 (TyFun d_a1AX9 (TyFun e_a1AXa f_a1AXb -> *) -> *) -> *) -> *) -> *) (l_a1B4j :: TyFun [a_a1AX6] (TyFun [b_a1AX7] (TyFun [c_a1AX8] (TyFun [d_a1AX9] (TyFun [e_a1AXa] [f_a1AXb] -> *) -> *) -> *) -> *))
data ZipWith5Sym2 (l_a1B4n :: TyFun a_a1AX6 (TyFun b_a1AX7 (TyFun c_a1AX8 (TyFun d_a1AX9 (TyFun e_a1AXa f_a1AXb -> *) -> *) -> *) -> *) -> *) (l_a1B4o :: [a_a1AX6]) (l_a1B4m :: TyFun [b_a1AX7] (TyFun [c_a1AX8] (TyFun [d_a1AX9] (TyFun [e_a1AXa] [f_a1AXb] -> *) -> *) -> *))
data ZipWith5Sym3 (l_a1B4r :: TyFun a_a1AX6 (TyFun b_a1AX7 (TyFun c_a1AX8 (TyFun d_a1AX9 (TyFun e_a1AXa f_a1AXb -> *) -> *) -> *) -> *) -> *) (l_a1B4s :: [a_a1AX6]) (l_a1B4t :: [b_a1AX7]) (l_a1B4q :: TyFun [c_a1AX8] (TyFun [d_a1AX9] (TyFun [e_a1AXa] [f_a1AXb] -> *) -> *))
data ZipWith5Sym4 (l_a1B4w :: TyFun a_a1AX6 (TyFun b_a1AX7 (TyFun c_a1AX8 (TyFun d_a1AX9 (TyFun e_a1AXa f_a1AXb -> *) -> *) -> *) -> *) -> *) (l_a1B4x :: [a_a1AX6]) (l_a1B4y :: [b_a1AX7]) (l_a1B4z :: [c_a1AX8]) (l_a1B4v :: TyFun [d_a1AX9] (TyFun [e_a1AXa] [f_a1AXb] -> *))
data ZipWith5Sym5 (l_a1B4C :: TyFun a_a1AX6 (TyFun b_a1AX7 (TyFun c_a1AX8 (TyFun d_a1AX9 (TyFun e_a1AXa f_a1AXb -> *) -> *) -> *) -> *) -> *) (l_a1B4D :: [a_a1AX6]) (l_a1B4E :: [b_a1AX7]) (l_a1B4F :: [c_a1AX8]) (l_a1B4G :: [d_a1AX9]) (l_a1B4B :: TyFun [e_a1AXa] [f_a1AXb])
data ZipWith6Sym0 (l_a1B3b :: TyFun (TyFun a_a1AXn (TyFun b_a1AXo (TyFun c_a1AXp (TyFun d_a1AXq (TyFun e_a1AXr (TyFun f_a1AXs g_a1AXt -> *) -> *) -> *) -> *) -> *) -> *) (TyFun [a_a1AXn] (TyFun [b_a1AXo] (TyFun [c_a1AXp] (TyFun [d_a1AXq] (TyFun [e_a1AXr] (TyFun [f_a1AXs] [g_a1AXt] -> *) -> *) -> *) -> *) -> *) -> *))
data ZipWith6Sym1 (l_a1B3e :: TyFun a_a1AXn (TyFun b_a1AXo (TyFun c_a1AXp (TyFun d_a1AXq (TyFun e_a1AXr (TyFun f_a1AXs g_a1AXt -> *) -> *) -> *) -> *) -> *) -> *) (l_a1B3d :: TyFun [a_a1AXn] (TyFun [b_a1AXo] (TyFun [c_a1AXp] (TyFun [d_a1AXq] (TyFun [e_a1AXr] (TyFun [f_a1AXs] [g_a1AXt] -> *) -> *) -> *) -> *) -> *))
data ZipWith6Sym2 (l_a1B3h :: TyFun a_a1AXn (TyFun b_a1AXo (TyFun c_a1AXp (TyFun d_a1AXq (TyFun e_a1AXr (TyFun f_a1AXs g_a1AXt -> *) -> *) -> *) -> *) -> *) -> *) (l_a1B3i :: [a_a1AXn]) (l_a1B3g :: TyFun [b_a1AXo] (TyFun [c_a1AXp] (TyFun [d_a1AXq] (TyFun [e_a1AXr] (TyFun [f_a1AXs] [g_a1AXt] -> *) -> *) -> *) -> *))
data ZipWith6Sym3 (l_a1B3l :: TyFun a_a1AXn (TyFun b_a1AXo (TyFun c_a1AXp (TyFun d_a1AXq (TyFun e_a1AXr (TyFun f_a1AXs g_a1AXt -> *) -> *) -> *) -> *) -> *) -> *) (l_a1B3m :: [a_a1AXn]) (l_a1B3n :: [b_a1AXo]) (l_a1B3k :: TyFun [c_a1AXp] (TyFun [d_a1AXq] (TyFun [e_a1AXr] (TyFun [f_a1AXs] [g_a1AXt] -> *) -> *) -> *))
data ZipWith6Sym4 (l_a1B3q :: TyFun a_a1AXn (TyFun b_a1AXo (TyFun c_a1AXp (TyFun d_a1AXq (TyFun e_a1AXr (TyFun f_a1AXs g_a1AXt -> *) -> *) -> *) -> *) -> *) -> *) (l_a1B3r :: [a_a1AXn]) (l_a1B3s :: [b_a1AXo]) (l_a1B3t :: [c_a1AXp]) (l_a1B3p :: TyFun [d_a1AXq] (TyFun [e_a1AXr] (TyFun [f_a1AXs] [g_a1AXt] -> *) -> *))
data ZipWith6Sym5 (l_a1B3w :: TyFun a_a1AXn (TyFun b_a1AXo (TyFun c_a1AXp (TyFun d_a1AXq (TyFun e_a1AXr (TyFun f_a1AXs g_a1AXt -> *) -> *) -> *) -> *) -> *) -> *) (l_a1B3x :: [a_a1AXn]) (l_a1B3y :: [b_a1AXo]) (l_a1B3z :: [c_a1AXp]) (l_a1B3A :: [d_a1AXq]) (l_a1B3v :: TyFun [e_a1AXr] (TyFun [f_a1AXs] [g_a1AXt] -> *))
data ZipWith6Sym6 (l_a1B3D :: TyFun a_a1AXn (TyFun b_a1AXo (TyFun c_a1AXp (TyFun d_a1AXq (TyFun e_a1AXr (TyFun f_a1AXs g_a1AXt -> *) -> *) -> *) -> *) -> *) -> *) (l_a1B3E :: [a_a1AXn]) (l_a1B3F :: [b_a1AXo]) (l_a1B3G :: [c_a1AXp]) (l_a1B3H :: [d_a1AXq]) (l_a1B3I :: [e_a1AXr]) (l_a1B3C :: TyFun [f_a1AXs] [g_a1AXt])
data ZipWith7Sym0 (l_a1B1R :: TyFun (TyFun a_a1AXH (TyFun b_a1AXI (TyFun c_a1AXJ (TyFun d_a1AXK (TyFun e_a1AXL (TyFun f_a1AXM (TyFun g_a1AXN h_a1AXO -> *) -> *) -> *) -> *) -> *) -> *) -> *) (TyFun [a_a1AXH] (TyFun [b_a1AXI] (TyFun [c_a1AXJ] (TyFun [d_a1AXK] (TyFun [e_a1AXL] (TyFun [f_a1AXM] (TyFun [g_a1AXN] [h_a1AXO] -> *) -> *) -> *) -> *) -> *) -> *) -> *))
data ZipWith7Sym1 (l_a1B1U :: TyFun a_a1AXH (TyFun b_a1AXI (TyFun c_a1AXJ (TyFun d_a1AXK (TyFun e_a1AXL (TyFun f_a1AXM (TyFun g_a1AXN h_a1AXO -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1B1T :: TyFun [a_a1AXH] (TyFun [b_a1AXI] (TyFun [c_a1AXJ] (TyFun [d_a1AXK] (TyFun [e_a1AXL] (TyFun [f_a1AXM] (TyFun [g_a1AXN] [h_a1AXO] -> *) -> *) -> *) -> *) -> *) -> *))
data ZipWith7Sym2 (l_a1B1X :: TyFun a_a1AXH (TyFun b_a1AXI (TyFun c_a1AXJ (TyFun d_a1AXK (TyFun e_a1AXL (TyFun f_a1AXM (TyFun g_a1AXN h_a1AXO -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1B1Y :: [a_a1AXH]) (l_a1B1W :: TyFun [b_a1AXI] (TyFun [c_a1AXJ] (TyFun [d_a1AXK] (TyFun [e_a1AXL] (TyFun [f_a1AXM] (TyFun [g_a1AXN] [h_a1AXO] -> *) -> *) -> *) -> *) -> *))
data ZipWith7Sym3 (l_a1B21 :: TyFun a_a1AXH (TyFun b_a1AXI (TyFun c_a1AXJ (TyFun d_a1AXK (TyFun e_a1AXL (TyFun f_a1AXM (TyFun g_a1AXN h_a1AXO -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1B22 :: [a_a1AXH]) (l_a1B23 :: [b_a1AXI]) (l_a1B20 :: TyFun [c_a1AXJ] (TyFun [d_a1AXK] (TyFun [e_a1AXL] (TyFun [f_a1AXM] (TyFun [g_a1AXN] [h_a1AXO] -> *) -> *) -> *) -> *))
data ZipWith7Sym4 (l_a1B26 :: TyFun a_a1AXH (TyFun b_a1AXI (TyFun c_a1AXJ (TyFun d_a1AXK (TyFun e_a1AXL (TyFun f_a1AXM (TyFun g_a1AXN h_a1AXO -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1B27 :: [a_a1AXH]) (l_a1B28 :: [b_a1AXI]) (l_a1B29 :: [c_a1AXJ]) (l_a1B25 :: TyFun [d_a1AXK] (TyFun [e_a1AXL] (TyFun [f_a1AXM] (TyFun [g_a1AXN] [h_a1AXO] -> *) -> *) -> *))
data ZipWith7Sym5 (l_a1B2c :: TyFun a_a1AXH (TyFun b_a1AXI (TyFun c_a1AXJ (TyFun d_a1AXK (TyFun e_a1AXL (TyFun f_a1AXM (TyFun g_a1AXN h_a1AXO -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1B2d :: [a_a1AXH]) (l_a1B2e :: [b_a1AXI]) (l_a1B2f :: [c_a1AXJ]) (l_a1B2g :: [d_a1AXK]) (l_a1B2b :: TyFun [e_a1AXL] (TyFun [f_a1AXM] (TyFun [g_a1AXN] [h_a1AXO] -> *) -> *))
data ZipWith7Sym6 (l_a1B2j :: TyFun a_a1AXH (TyFun b_a1AXI (TyFun c_a1AXJ (TyFun d_a1AXK (TyFun e_a1AXL (TyFun f_a1AXM (TyFun g_a1AXN h_a1AXO -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1B2k :: [a_a1AXH]) (l_a1B2l :: [b_a1AXI]) (l_a1B2m :: [c_a1AXJ]) (l_a1B2n :: [d_a1AXK]) (l_a1B2o :: [e_a1AXL]) (l_a1B2i :: TyFun [f_a1AXM] (TyFun [g_a1AXN] [h_a1AXO] -> *))
data ZipWith7Sym7 (l_a1B2r :: TyFun a_a1AXH (TyFun b_a1AXI (TyFun c_a1AXJ (TyFun d_a1AXK (TyFun e_a1AXL (TyFun f_a1AXM (TyFun g_a1AXN h_a1AXO -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1B2s :: [a_a1AXH]) (l_a1B2t :: [b_a1AXI]) (l_a1B2u :: [c_a1AXJ]) (l_a1B2v :: [d_a1AXK]) (l_a1B2w :: [e_a1AXL]) (l_a1B2x :: [f_a1AXM]) (l_a1B2q :: TyFun [g_a1AXN] [h_a1AXO])
data NubSym0 (l_a1B1c :: TyFun [a_a1AY4] [a_a1AY4])
type NubSym1 (t_a1B1b :: [a_a1AY4]) = Nub t_a1B1b
data NubBySym0 (l_a1AZW :: TyFun (TyFun a_a1AYb (TyFun a_a1AYb Bool -> *) -> *) (TyFun [a_a1AYb] [a_a1AYb] -> *))
data NubBySym1 (l_a1AZZ :: TyFun a_a1AYb (TyFun a_a1AYb Bool -> *) -> *) (l_a1AZY :: TyFun [a_a1AYb] [a_a1AYb])
type NubBySym2 (t_a1AZU :: TyFun a_a1AYb (TyFun a_a1AYb Bool -> *) -> *) (t_a1AZV :: [a_a1AYb]) = NubBy t_a1AZU t_a1AZV
data UnionSym0 (l_a1B12 :: TyFun [a_a1AYs] (TyFun [a_a1AYs] [a_a1AYs] -> *))
data UnionSym1 (l_a1B15 :: [a_a1AYs]) (l_a1B14 :: TyFun [a_a1AYs] [a_a1AYs])
type UnionSym2 (t_a1B10 :: [a_a1AYs]) (t_a1B11 :: [a_a1AYs]) = Union t_a1B10 t_a1B11
data UnionBySym0 (l_a1B0H :: TyFun (TyFun a_a1AYo (TyFun a_a1AYo Bool -> *) -> *) (TyFun [a_a1AYo] (TyFun [a_a1AYo] [a_a1AYo] -> *) -> *))
data UnionBySym1 (l_a1B0K :: TyFun a_a1AYo (TyFun a_a1AYo Bool -> *) -> *) (l_a1B0J :: TyFun [a_a1AYo] (TyFun [a_a1AYo] [a_a1AYo] -> *))
data UnionBySym2 (l_a1B0N :: TyFun a_a1AYo (TyFun a_a1AYo Bool -> *) -> *) (l_a1B0O :: [a_a1AYo]) (l_a1B0M :: TyFun [a_a1AYo] [a_a1AYo])
type UnionBySym3 (t_a1B0E :: TyFun a_a1AYo (TyFun a_a1AYo Bool -> *) -> *) (t_a1B0F :: [a_a1AYo]) (t_a1B0G :: [a_a1AYo]) = UnionBy t_a1B0E t_a1B0F t_a1B0G
data GenericLengthSym0 (l_a1BpM :: TyFun [a_a1AYz] i_a1AYA)
type GenericLengthSym1 (t_a1BpL :: [a_a1AYz]) = GenericLength t_a1BpL
data GenericTakeSym0 (l_a1BmA :: TyFun i_a1AYB (TyFun [a_a1AYC] [a_a1AYC] -> *))
data GenericTakeSym1 (l_a1BmD :: i_a1AYB) (l_a1BmC :: TyFun [a_a1AYC] [a_a1AYC])
type GenericTakeSym2 (t_a1Bmy :: i_a1AYB) (t_a1Bmz :: [a_a1AYC]) = GenericTake t_a1Bmy t_a1Bmz
data GenericDropSym0 (l_a1BlG :: TyFun i_a1AYD (TyFun [a_a1AYE] [a_a1AYE] -> *))
data GenericDropSym1 (l_a1BlJ :: i_a1AYD) (l_a1BlI :: TyFun [a_a1AYE] [a_a1AYE])
type GenericDropSym2 (t_a1BlE :: i_a1AYD) (t_a1BlF :: [a_a1AYE]) = GenericDrop t_a1BlE t_a1BlF
data GenericSplitAtSym0 (l_a1Bml :: TyFun i_a1AYF (TyFun [a_a1AYG] ([a_a1AYG], [a_a1AYG]) -> *))
data GenericSplitAtSym1 (l_a1Bmo :: i_a1AYF) (l_a1Bmn :: TyFun [a_a1AYG] ([a_a1AYG], [a_a1AYG]))
type GenericSplitAtSym2 (t_a1Bmj :: i_a1AYF) (t_a1Bmk :: [a_a1AYG]) = GenericSplitAt t_a1Bmj t_a1Bmk
data GenericIndexSym0 (l_a1B9u :: TyFun [a_a1AYH] (TyFun i_a1AYI a_a1AYH -> *))
data GenericIndexSym1 (l_a1B9x :: [a_a1AYH]) (l_a1B9w :: TyFun i_a1AYI a_a1AYH)
type GenericIndexSym2 (t_a1B9s :: [a_a1AYH]) (t_a1B9t :: i_a1AYI) = GenericIndex t_a1B9s t_a1B9t
data GenericReplicateSym0 (l_a1Bn9 :: TyFun i_a1AYJ (TyFun a_a1AYK [a_a1AYK] -> *))
data GenericReplicateSym1 (l_a1Bnc :: i_a1AYJ) (l_a1Bnb :: TyFun a_a1AYK [a_a1AYK])
type GenericReplicateSym2 (t_a1Bn7 :: i_a1AYJ) (t_a1Bn8 :: a_a1AYK) = GenericReplicate t_a1Bn7 t_a1Bn8
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_1627772041Sym0
instance SuppressUnusedWarnings Lambda_1627772041Sym1
instance SuppressUnusedWarnings Lambda_1627772041Sym2
instance SuppressUnusedWarnings Let1627772017BuildListSym0
instance SuppressUnusedWarnings Let1627772017BuildListSym1
instance SuppressUnusedWarnings Let1627772017BuildListSym2
instance SuppressUnusedWarnings Let1627772017BuildListSym3
instance SuppressUnusedWarnings Let1627771981Sum'Sym0
instance SuppressUnusedWarnings Let1627771981Sum'Sym1
instance SuppressUnusedWarnings Let1627771981Sum'Sym2
instance SuppressUnusedWarnings Let1627771957ProdSym0
instance SuppressUnusedWarnings Let1627771957ProdSym1
instance SuppressUnusedWarnings Let1627771957ProdSym2
instance SuppressUnusedWarnings Let1627771835XsSym0
instance SuppressUnusedWarnings Let1627771835XsSym1
instance SuppressUnusedWarnings Let1627771768XsSym0
instance SuppressUnusedWarnings Let1627771768XsSym1
instance SuppressUnusedWarnings Let1627771768XsSym2
instance SuppressUnusedWarnings Let1627771768XsSym3
instance SuppressUnusedWarnings Let1627771768XsSym4
instance SuppressUnusedWarnings Lambda_1627771703Sym0
instance SuppressUnusedWarnings Lambda_1627771703Sym1
instance SuppressUnusedWarnings Lambda_1627771703Sym2
instance SuppressUnusedWarnings Lambda_1627771703Sym3
instance SuppressUnusedWarnings Let1627771708Scrutinee_1627770443Sym0
instance SuppressUnusedWarnings Let1627771708Scrutinee_1627770443Sym1
instance SuppressUnusedWarnings Let1627771708Scrutinee_1627770443Sym2
instance SuppressUnusedWarnings Let1627771708Scrutinee_1627770443Sym3
instance SuppressUnusedWarnings Let1627771630X_1627771631Sym0
instance SuppressUnusedWarnings Let1627771630X_1627771631Sym1
instance SuppressUnusedWarnings Let1627771630X_1627771631Sym2
instance SuppressUnusedWarnings Let1627771630ZsSym0
instance SuppressUnusedWarnings Let1627771630ZsSym1
instance SuppressUnusedWarnings Let1627771630ZsSym2
instance SuppressUnusedWarnings Let1627771630YsSym0
instance SuppressUnusedWarnings Let1627771630YsSym1
instance SuppressUnusedWarnings Let1627771630YsSym2
instance SuppressUnusedWarnings Let1627771519X_1627771520Sym0
instance SuppressUnusedWarnings Let1627771519X_1627771520Sym1
instance SuppressUnusedWarnings Let1627771519X_1627771520Sym2
instance SuppressUnusedWarnings Let1627771519X_1627771520Sym3
instance SuppressUnusedWarnings Let1627771519X_1627771520Sym4
instance SuppressUnusedWarnings Let1627771519ZsSym0
instance SuppressUnusedWarnings Let1627771519ZsSym1
instance SuppressUnusedWarnings Let1627771519ZsSym2
instance SuppressUnusedWarnings Let1627771519ZsSym3
instance SuppressUnusedWarnings Let1627771519ZsSym4
instance SuppressUnusedWarnings Let1627771519YsSym0
instance SuppressUnusedWarnings Let1627771519YsSym1
instance SuppressUnusedWarnings Let1627771519YsSym2
instance SuppressUnusedWarnings Let1627771519YsSym3
instance SuppressUnusedWarnings Let1627771519YsSym4
instance SuppressUnusedWarnings Let1627771491XsSym0
instance SuppressUnusedWarnings Let1627771491XsSym1
instance SuppressUnusedWarnings Let1627771491XsSym2
instance SuppressUnusedWarnings Let1627771491XsSym3
instance SuppressUnusedWarnings Let1627771491XsSym4
instance SuppressUnusedWarnings Let1627771375X_1627771376Sym0
instance SuppressUnusedWarnings Let1627771375X_1627771376Sym1
instance SuppressUnusedWarnings Let1627771375X_1627771376Sym2
instance SuppressUnusedWarnings Let1627771375X_1627771376Sym3
instance SuppressUnusedWarnings Let1627771375X_1627771376Sym4
instance SuppressUnusedWarnings Let1627771375ZsSym0
instance SuppressUnusedWarnings Let1627771375ZsSym1
instance SuppressUnusedWarnings Let1627771375ZsSym2
instance SuppressUnusedWarnings Let1627771375ZsSym3
instance SuppressUnusedWarnings Let1627771375ZsSym4
instance SuppressUnusedWarnings Let1627771375YsSym0
instance SuppressUnusedWarnings Let1627771375YsSym1
instance SuppressUnusedWarnings Let1627771375YsSym2
instance SuppressUnusedWarnings Let1627771375YsSym3
instance SuppressUnusedWarnings Let1627771375YsSym4
instance SuppressUnusedWarnings Let1627771347XsSym0
instance SuppressUnusedWarnings Let1627771347XsSym1
instance SuppressUnusedWarnings Let1627771347XsSym2
instance SuppressUnusedWarnings Let1627771347XsSym3
instance SuppressUnusedWarnings Let1627771347XsSym4
instance SuppressUnusedWarnings Lambda_1627771194Sym0
instance SuppressUnusedWarnings Lambda_1627771194Sym1
instance SuppressUnusedWarnings Lambda_1627771194Sym2
instance SuppressUnusedWarnings Lambda_1627771194Sym3
instance SuppressUnusedWarnings Let1627770586Nub'Sym0
instance SuppressUnusedWarnings Let1627770586Nub'Sym1
instance SuppressUnusedWarnings Let1627770586Nub'Sym2
instance SuppressUnusedWarnings Let1627770513NubBy'Sym0
instance SuppressUnusedWarnings Let1627770513NubBy'Sym1
instance SuppressUnusedWarnings Let1627770513NubBy'Sym2
instance SuppressUnusedWarnings Let1627770513NubBy'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_a1wL3 -> (a_a1wL4 -> b_a1wL3) -> Maybe a_a1wL4 -> b_a1wL3
type NothingSym0 = Nothing
data JustSym0 (l_atnn :: TyFun a_a57N (Maybe a_a57N))
type JustSym1 (t_atnm :: a_a57N) = Just t_atnm
data Maybe_Sym0 (l_a1wLb :: TyFun b_a1wL3 (TyFun (TyFun a_a1wL4 b_a1wL3 -> *) (TyFun (Maybe a_a1wL4) b_a1wL3 -> *) -> *))
data Maybe_Sym1 (l_a1wLe :: b_a1wL3) (l_a1wLd :: TyFun (TyFun a_a1wL4 b_a1wL3 -> *) (TyFun (Maybe a_a1wL4) b_a1wL3 -> *))
data Maybe_Sym2 (l_a1wLh :: b_a1wL3) (l_a1wLi :: TyFun a_a1wL4 b_a1wL3 -> *) (l_a1wLg :: TyFun (Maybe a_a1wL4) b_a1wL3)
type Maybe_Sym3 (t_a1wL8 :: b_a1wL3) (t_a1wL9 :: TyFun a_a1wL4 b_a1wL3 -> *) (t_a1wLa :: Maybe a_a1wL4) = Maybe_ t_a1wL8 t_a1wL9 t_a1wLa
data IsJustSym0 (l_a1x8F :: TyFun (Maybe a_a1x6F) Bool)
type IsJustSym1 (t_a1x8E :: Maybe a_a1x6F) = IsJust t_a1x8E
data IsNothingSym0 (l_a1x8A :: TyFun (Maybe a_a1x6G) Bool)
type IsNothingSym1 (t_a1x8z :: Maybe a_a1x6G) = IsNothing t_a1x8z
data FromJustSym0 (l_a1x8v :: TyFun (Maybe a_a1x6H) a_a1x6H)
type FromJustSym1 (t_a1x8u :: Maybe a_a1x6H) = FromJust t_a1x8u
data FromMaybeSym0 (l_a1x88 :: TyFun a_a1x6J (TyFun (Maybe a_a1x6J) a_a1x6J -> *))
data FromMaybeSym1 (l_a1x8b :: a_a1x6J) (l_a1x8a :: TyFun (Maybe a_a1x6J) a_a1x6J)
type FromMaybeSym2 (t_a1x86 :: a_a1x6J) (t_a1x87 :: Maybe a_a1x6J) = FromMaybe t_a1x86 t_a1x87
data MaybeToListSym0 (l_a1x82 :: TyFun (Maybe a_a1x6N) [a_a1x6N])
type MaybeToListSym1 (t_a1x81 :: Maybe a_a1x6N) = MaybeToList t_a1x81
data ListToMaybeSym0 (l_a1x7W :: TyFun [a_a1x6P] (Maybe a_a1x6P))
type ListToMaybeSym1 (t_a1x7V :: [a_a1x6P]) = ListToMaybe t_a1x7V
data CatMaybesSym0 (l_a1x7P :: TyFun [Maybe a_a1x6R] [a_a1x6R])
type CatMaybesSym1 (t_a1x7O :: [Maybe a_a1x6R]) = CatMaybes t_a1x7O
data MapMaybeSym0 (l_a1x78 :: TyFun (TyFun a_a1x6V (Maybe b_a1x6W) -> *) (TyFun [a_a1x6V] [b_a1x6W] -> *))
data MapMaybeSym1 (l_a1x7b :: TyFun a_a1x6V (Maybe b_a1x6W) -> *) (l_a1x7a :: TyFun [a_a1x6V] [b_a1x6W])
type MapMaybeSym2 (t_a1x76 :: TyFun a_a1x6V (Maybe b_a1x6W) -> *) (t_a1x77 :: [a_a1x6V]) = MapMaybe t_a1x76 t_a1x77
-- | 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_a1wL3 -> (a_a1wL4 -> b_a1wL3) -> Maybe a_a1wL4 -> b_a1wL3
either_ :: (a_aLeS -> c_aLeT) -> (b_aLeU -> c_aLeT) -> Either a_aLeS b_aLeU -> c_aLeT
-- | (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_aPpD -> Bool) -> [a_aPpD] -> 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_aAgl :: TyFun Bool Bool)
type NotSym1 (t_aAgk :: Bool) = Not t_aAgk
data (:&&$) (l_aAgB :: TyFun Bool (TyFun Bool Bool -> *))
data (:&&$$) (l_aAgE :: Bool) (l_aAgD :: TyFun Bool Bool)
type (:&&$$$) (t_aAgz :: Bool) (t_aAgA :: Bool) = (:&&) t_aAgz t_aAgA
data (:||$) (l_aAgq :: TyFun Bool (TyFun Bool Bool -> *))
data (:||$$) (l_aAgt :: Bool) (l_aAgs :: TyFun Bool Bool)
type (:||$$$) (t_aAgo :: Bool) (t_aAgp :: Bool) = (:||) t_aAgo t_aAgp
type OtherwiseSym0 = Otherwise
type NothingSym0 = Nothing
data JustSym0 (l_atnn :: TyFun a_a57N (Maybe a_a57N))
type JustSym1 (t_atnm :: a_a57N) = Just t_atnm
data Maybe_Sym0 (l_a1wLb :: TyFun b_a1wL3 (TyFun (TyFun a_a1wL4 b_a1wL3 -> *) (TyFun (Maybe a_a1wL4) b_a1wL3 -> *) -> *))
data Maybe_Sym1 (l_a1wLe :: b_a1wL3) (l_a1wLd :: TyFun (TyFun a_a1wL4 b_a1wL3 -> *) (TyFun (Maybe a_a1wL4) b_a1wL3 -> *))
data Maybe_Sym2 (l_a1wLh :: b_a1wL3) (l_a1wLi :: TyFun a_a1wL4 b_a1wL3 -> *) (l_a1wLg :: TyFun (Maybe a_a1wL4) b_a1wL3)
type Maybe_Sym3 (t_a1wL8 :: b_a1wL3) (t_a1wL9 :: TyFun a_a1wL4 b_a1wL3 -> *) (t_a1wLa :: Maybe a_a1wL4) = Maybe_ t_a1wL8 t_a1wL9 t_a1wLa
data LeftSym0 (l_atnO :: TyFun a_a8CR (Either a_a8CR b_a8CS))
type LeftSym1 (t_atnN :: a_a8CR) = Left t_atnN
data RightSym0 (l_atnR :: TyFun b_a8CS (Either a_a8CR b_a8CS))
type RightSym1 (t_atnQ :: b_a8CS) = Right t_atnQ
data Either_Sym0 (l_aLf2 :: TyFun (TyFun a_aLeS c_aLeT -> *) (TyFun (TyFun b_aLeU c_aLeT -> *) (TyFun (Either a_aLeS b_aLeU) c_aLeT -> *) -> *))
data Either_Sym1 (l_aLf5 :: TyFun a_aLeS c_aLeT -> *) (l_aLf4 :: TyFun (TyFun b_aLeU c_aLeT -> *) (TyFun (Either a_aLeS b_aLeU) c_aLeT -> *))
data Either_Sym2 (l_aLf8 :: TyFun a_aLeS c_aLeT -> *) (l_aLf9 :: TyFun b_aLeU c_aLeT -> *) (l_aLf7 :: TyFun (Either a_aLeS b_aLeU) c_aLeT)
type Either_Sym3 (t_aLeZ :: TyFun a_aLeS c_aLeT -> *) (t_aLf0 :: TyFun b_aLeU c_aLeT -> *) (t_aLf1 :: Either a_aLeS b_aLeU) = Either_ t_aLeZ t_aLf0 t_aLf1
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_ato9 :: TyFun a_12 (TyFun b_13 (a_12, b_13) -> *))
data Tuple2Sym1 (l_atoc :: a_12) (l_atob :: TyFun b_13 (a_12, b_13))
type Tuple2Sym2 (t_ato7 :: a_12) (t_ato8 :: b_13) = '(t_ato7, t_ato8)
data Tuple3Sym0 (l_atot :: TyFun a_12 (TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *) -> *))
data Tuple3Sym1 (l_atow :: a_12) (l_atov :: TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *))
data Tuple3Sym2 (l_atoz :: a_12) (l_atoA :: b_13) (l_atoy :: TyFun c_14 (a_12, b_13, c_14))
type Tuple3Sym3 (t_atoq :: a_12) (t_ator :: b_13) (t_atos :: c_14) = '(t_atoq, t_ator, t_atos)
data Tuple4Sym0 (l_atoX :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *) -> *))
data Tuple4Sym1 (l_atp0 :: a_12) (l_atoZ :: TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *))
data Tuple4Sym2 (l_atp3 :: a_12) (l_atp4 :: b_13) (l_atp2 :: TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *))
data Tuple4Sym3 (l_atp7 :: a_12) (l_atp8 :: b_13) (l_atp9 :: c_14) (l_atp6 :: TyFun d_15 (a_12, b_13, c_14, d_15))
type Tuple4Sym4 (t_atoT :: a_12) (t_atoU :: b_13) (t_atoV :: c_14) (t_atoW :: d_15) = '(t_atoT, t_atoU, t_atoV, t_atoW)
data Tuple5Sym0 (l_atpC :: 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_atpF :: a_12) (l_atpE :: 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_atpI :: a_12) (l_atpJ :: b_13) (l_atpH :: TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *))
data Tuple5Sym3 (l_atpM :: a_12) (l_atpN :: b_13) (l_atpO :: c_14) (l_atpL :: TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *))
data Tuple5Sym4 (l_atpR :: a_12) (l_atpS :: b_13) (l_atpT :: c_14) (l_atpU :: d_15) (l_atpQ :: TyFun e_16 (a_12, b_13, c_14, d_15, e_16))
type Tuple5Sym5 (t_atpx :: a_12) (t_atpy :: b_13) (t_atpz :: c_14) (t_atpA :: d_15) (t_atpB :: e_16) = '(t_atpx, t_atpy, t_atpz, t_atpA, t_atpB)
data Tuple6Sym0 (l_atqt :: 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_atqw :: a_12) (l_atqv :: 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_atqz :: a_12) (l_atqA :: b_13) (l_atqy :: 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_atqD :: a_12) (l_atqE :: b_13) (l_atqF :: c_14) (l_atqC :: TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *))
data Tuple6Sym4 (l_atqI :: a_12) (l_atqJ :: b_13) (l_atqK :: c_14) (l_atqL :: d_15) (l_atqH :: TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *))
data Tuple6Sym5 (l_atqO :: a_12) (l_atqP :: b_13) (l_atqQ :: c_14) (l_atqR :: d_15) (l_atqS :: e_16) (l_atqN :: TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17))
type Tuple6Sym6 (t_atqn :: a_12) (t_atqo :: b_13) (t_atqp :: c_14) (t_atqq :: d_15) (t_atqr :: e_16) (t_atqs :: f_17) = '(t_atqn, t_atqo, t_atqp, t_atqq, t_atqr, t_atqs)
data Tuple7Sym0 (l_atrx :: 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_atrA :: a_12) (l_atrz :: 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_atrD :: a_12) (l_atrE :: b_13) (l_atrC :: 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_atrH :: a_12) (l_atrI :: b_13) (l_atrJ :: c_14) (l_atrG :: 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_atrM :: a_12) (l_atrN :: b_13) (l_atrO :: c_14) (l_atrP :: d_15) (l_atrL :: 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_atrS :: a_12) (l_atrT :: b_13) (l_atrU :: c_14) (l_atrV :: d_15) (l_atrW :: e_16) (l_atrR :: TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *))
data Tuple7Sym6 (l_atrZ :: a_12) (l_ats0 :: b_13) (l_ats1 :: c_14) (l_ats2 :: d_15) (l_ats3 :: e_16) (l_ats4 :: f_17) (l_atrY :: TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18))
type Tuple7Sym7 (t_atrq :: a_12) (t_atrr :: b_13) (t_atrs :: c_14) (t_atrt :: d_15) (t_atru :: e_16) (t_atrv :: f_17) (t_atrw :: g_18) = '(t_atrq, t_atrr, t_atrs, t_atrt, t_atru, t_atrv, t_atrw)
data FstSym0 (l_aNYn :: TyFun (a_aNXx, b_aNXy) a_aNXx)
type FstSym1 (t_aNYm :: (a_aNXx, b_aNXy)) = Fst t_aNYm
data SndSym0 (l_aNYh :: TyFun (a_aNXA, b_aNXB) b_aNXB)
type SndSym1 (t_aNYg :: (a_aNXA, b_aNXB)) = Snd t_aNYg
data CurrySym0 (l_aNY1 :: TyFun (TyFun (a_aNXD, b_aNXE) c_aNXF -> *) (TyFun a_aNXD (TyFun b_aNXE c_aNXF -> *) -> *))
data CurrySym1 (l_aNY4 :: TyFun (a_aNXD, b_aNXE) c_aNXF -> *) (l_aNY3 :: TyFun a_aNXD (TyFun b_aNXE c_aNXF -> *))
data CurrySym2 (l_aNY7 :: TyFun (a_aNXD, b_aNXE) c_aNXF -> *) (l_aNY8 :: a_aNXD) (l_aNY6 :: TyFun b_aNXE c_aNXF)
type CurrySym3 (t_aNXY :: TyFun (a_aNXD, b_aNXE) c_aNXF -> *) (t_aNXZ :: a_aNXD) (t_aNY0 :: b_aNXE) = Curry t_aNXY t_aNXZ t_aNY0
data UncurrySym0 (l_aNYu :: TyFun (TyFun a_aNXJ (TyFun b_aNXK c_aNXL -> *) -> *) (TyFun (a_aNXJ, b_aNXK) c_aNXL -> *))
data UncurrySym1 (l_aNYx :: TyFun a_aNXJ (TyFun b_aNXK c_aNXL -> *) -> *) (l_aNYw :: TyFun (a_aNXJ, b_aNXK) c_aNXL)
type UncurrySym2 (t_aNYs :: TyFun a_aNXJ (TyFun b_aNXK c_aNXL -> *) -> *) (t_aNYt :: (a_aNXJ, b_aNXK)) = Uncurry t_aNYs t_aNYt
data (:+$) l_aH7W
data (:+$$) (l_aH7Z :: Nat) l_aH7Y
data (:-$) l_aH83
data (:-$$) (l_aH86 :: Nat) l_aH85
data (:*$) l_aH8a
data (:*$$) (l_aH8d :: Nat) l_aH8c
data (:^$) l_aH8h
data (:^$$) (l_aH8k :: Nat) l_aH8j
data IdSym0 (l_aIph :: TyFun a_aInl a_aInl)
type IdSym1 (t_aIpg :: a_aInl) = Id t_aIpg
data ConstSym0 (l_aIoS :: TyFun a_aInn (TyFun b_aIno a_aInn -> *))
data ConstSym1 (l_aIoV :: a_aInn) (l_aIoU :: TyFun b_aIno a_aInn)
type ConstSym2 (t_aIoQ :: a_aInn) (t_aIoR :: b_aIno) = Const t_aIoQ t_aIoR
data (:.$) (l_aIoc :: TyFun (TyFun b_aInq c_aInr -> *) (TyFun (TyFun a_aIns b_aInq -> *) (TyFun a_aIns c_aInr -> *) -> *))
data (:.$$) (l_aIof :: TyFun b_aInq c_aInr -> *) (l_aIoe :: TyFun (TyFun a_aIns b_aInq -> *) (TyFun a_aIns c_aInr -> *))
data (:.$$$) (l_aIoi :: TyFun b_aInq c_aInr -> *) (l_aIoj :: TyFun a_aIns b_aInq -> *) (l_aIoh :: TyFun a_aIns c_aInr)
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_aInU :: TyFun (TyFun a_aInw (TyFun b_aInx c_aIny -> *) -> *) (TyFun b_aInx (TyFun a_aInw c_aIny -> *) -> *))
data FlipSym1 (l_aInX :: TyFun a_aInw (TyFun b_aInx c_aIny -> *) -> *) (l_aInW :: TyFun b_aInx (TyFun a_aInw c_aIny -> *))
data FlipSym2 (l_aIo0 :: TyFun a_aInw (TyFun b_aInx c_aIny -> *) -> *) (l_aIo1 :: b_aInx) (l_aInZ :: TyFun a_aInw c_aIny)
data AsTypeOfSym0 (l_aIp7 :: TyFun a_aInC (TyFun a_aInC a_aInC -> *))
data AsTypeOfSym1 (l_aIpa :: a_aInC) (l_aIp9 :: TyFun a_aInC a_aInC)
type AsTypeOfSym2 (t_aIp5 :: a_aInC) (t_aIp6 :: a_aInC) = AsTypeOf t_aIp5 t_aIp6
data SeqSym0 (l_aInI :: TyFun a_aInD (TyFun b_aInE b_aInE -> *))
data SeqSym1 (l_aInL :: a_aInD) (l_aInK :: TyFun b_aInE b_aInE)
type SeqSym2 (t_aInG :: a_aInD) (t_aInH :: b_aInE) = Seq t_aInG t_aInH
data (:$) (l_atnx :: TyFun a_12 (TyFun [a_12] [a_12] -> *))
data (:$$) (l_atnA :: a_12) (l_atnz :: TyFun [a_12] [a_12])
type (:$$$) (t_atnv :: a_12) (t_atnw :: [a_12]) = (:) t_atnv t_atnw
type NilSym0 = '[]
data MapSym0 (l_aIpA :: TyFun (TyFun a_aInb b_aInc -> *) (TyFun [a_aInb] [b_aInc] -> *))
data MapSym1 (l_aIpD :: TyFun a_aInb b_aInc -> *) (l_aIpC :: TyFun [a_aInb] [b_aInc])
type MapSym2 (t_aIpy :: TyFun a_aInb b_aInc -> *) (t_aIpz :: [a_aInb]) = Map t_aIpy t_aIpz
data ReverseSym0 (l_aS2N :: TyFun [a_aRqH] [a_aRqH])
type ReverseSym1 (t_aS2M :: [a_aRqH]) = Reverse t_aS2M
data (:++$$) (l_aIpq :: [a_aIng]) (l_aIpp :: TyFun [a_aIng] [a_aIng])
data (:++$) (l_aIpn :: TyFun [a_aIng] (TyFun [a_aIng] [a_aIng] -> *))
data HeadSym0 (l_aS4y :: TyFun [a_aRqm] a_aRqm)
type HeadSym1 (t_aS4x :: [a_aRqm]) = Head t_aS4x
data LastSym0 (l_aS43 :: TyFun [a_aRqo] a_aRqo)
type LastSym1 (t_aS42 :: [a_aRqo]) = Last t_aS42
data TailSym0 (l_aS3X :: TyFun [a_aRqw] [a_aRqw])
type TailSym1 (t_aS3W :: [a_aRqw]) = Tail t_aS3W
data InitSym0 (l_aS3s :: TyFun [a_aRqy] [a_aRqy])
type InitSym1 (t_aS3r :: [a_aRqy]) = Init t_aS3r
data NullSym0 (l_aS3m :: TyFun [a_aRqG] Bool)
type NullSym1 (t_aS3l :: [a_aRqG]) = Null t_aS3l
data FoldlSym0 (l_aRRp :: TyFun (TyFun b_aRrq (TyFun a_aRrr b_aRrq -> *) -> *) (TyFun b_aRrq (TyFun [a_aRrr] b_aRrq -> *) -> *))
data FoldlSym1 (l_aRRs :: TyFun b_aRrq (TyFun a_aRrr b_aRrq -> *) -> *) (l_aRRr :: TyFun b_aRrq (TyFun [a_aRrr] b_aRrq -> *))
data FoldlSym2 (l_aRRv :: TyFun b_aRrq (TyFun a_aRrr b_aRrq -> *) -> *) (l_aRRw :: b_aRrq) (l_aRRu :: TyFun [a_aRrr] b_aRrq)
type FoldlSym3 (t_aRRm :: TyFun b_aRrq (TyFun a_aRrr b_aRrq -> *) -> *) (t_aRRn :: b_aRrq) (t_aRRo :: [a_aRrr]) = Foldl t_aRRm t_aRRn t_aRRo
data Foldl1Sym0 (l_aRSc :: TyFun (TyFun a_aRrL (TyFun a_aRrL a_aRrL -> *) -> *) (TyFun [a_aRrL] a_aRrL -> *))
data Foldl1Sym1 (l_aRSf :: TyFun a_aRrL (TyFun a_aRrL a_aRrL -> *) -> *) (l_aRSe :: TyFun [a_aRrL] a_aRrL)
type Foldl1Sym2 (t_aRSa :: TyFun a_aRrL (TyFun a_aRrL a_aRrL -> *) -> *) (t_aRSb :: [a_aRrL]) = Foldl1 t_aRSa t_aRSb
data FoldrSym0 (l_aIpO :: TyFun (TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (TyFun b_aIn5 (TyFun [a_aIn4] b_aIn5 -> *) -> *))
data FoldrSym1 (l_aIpR :: TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (l_aIpQ :: TyFun b_aIn5 (TyFun [a_aIn4] b_aIn5 -> *))
data FoldrSym2 (l_aIpU :: TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (l_aIpV :: b_aIn5) (l_aIpT :: TyFun [a_aIn4] b_aIn5)
type FoldrSym3 (t_aIpL :: TyFun a_aIn4 (TyFun b_aIn5 b_aIn5 -> *) -> *) (t_aIpM :: b_aIn5) (t_aIpN :: [a_aIn4]) = Foldr t_aIpL t_aIpM t_aIpN
data Foldr1Sym0 (l_aRPg :: TyFun (TyFun a_aRrT (TyFun a_aRrT a_aRrT -> *) -> *) (TyFun [a_aRrT] a_aRrT -> *))
data Foldr1Sym1 (l_aRPj :: TyFun a_aRrT (TyFun a_aRrT a_aRrT -> *) -> *) (l_aRPi :: TyFun [a_aRrT] a_aRrT)
type Foldr1Sym2 (t_aRPe :: TyFun a_aRrT (TyFun a_aRrT a_aRrT -> *) -> *) (t_aRPf :: [a_aRrT]) = Foldr1 t_aRPe t_aRPf
data ConcatSym0 (l_aRPa :: TyFun [[a_aRrY]] [a_aRrY])
type ConcatSym1 (t_aRP9 :: [[a_aRrY]]) = Concat t_aRP9
data ConcatMapSym0 (l_aROW :: TyFun (TyFun a_aRrZ [b_aRs0] -> *) (TyFun [a_aRrZ] [b_aRs0] -> *))
data ConcatMapSym1 (l_aROZ :: TyFun a_aRrZ [b_aRs0] -> *) (l_aROY :: TyFun [a_aRrZ] [b_aRs0])
type ConcatMapSym2 (t_aROU :: TyFun a_aRrZ [b_aRs0] -> *) (t_aROV :: [a_aRrZ]) = ConcatMap t_aROU t_aROV
data MaximumBySym0 (l_aRSp :: TyFun (TyFun a_aRvK (TyFun a_aRvK Ordering -> *) -> *) (TyFun [a_aRvK] a_aRvK -> *))
data MaximumBySym1 (l_aRSs :: TyFun a_aRvK (TyFun a_aRvK Ordering -> *) -> *) (l_aRSr :: TyFun [a_aRvK] a_aRvK)
type MaximumBySym2 (t_aRSn :: TyFun a_aRvK (TyFun a_aRvK Ordering -> *) -> *) (t_aRSo :: [a_aRvK]) = MaximumBy t_aRSn t_aRSo
data MinimumBySym0 (l_aRTN :: TyFun (TyFun a_aRvQ (TyFun a_aRvQ Ordering -> *) -> *) (TyFun [a_aRvQ] a_aRvQ -> *))
data MinimumBySym1 (l_aRTQ :: TyFun a_aRvQ (TyFun a_aRvQ Ordering -> *) -> *) (l_aRTP :: TyFun [a_aRvQ] a_aRvQ)
type MinimumBySym2 (t_aRTL :: TyFun a_aRvQ (TyFun a_aRvQ Ordering -> *) -> *) (t_aRTM :: [a_aRvQ]) = MinimumBy t_aRTL t_aRTM
data AndSym0 (l_aROP :: TyFun [Bool] Bool)
type AndSym1 (t_aROO :: [Bool]) = And t_aROO
data OrSym0 (l_aROJ :: TyFun [Bool] Bool)
type OrSym1 (t_aROI :: [Bool]) = Or t_aROI
data Any_Sym0 (l_aPpJ :: TyFun (TyFun a_aPpD Bool -> *) (TyFun [a_aPpD] Bool -> *))
data Any_Sym1 (l_aPpM :: TyFun a_aPpD Bool -> *) (l_aPpL :: TyFun [a_aPpD] Bool)
type Any_Sym2 (t_aPpH :: TyFun a_aPpD Bool -> *) (t_aPpI :: [a_aPpD]) = Any_ t_aPpH t_aPpI
data AllSym0 (l_aROx :: TyFun (TyFun a_aRs6 Bool -> *) (TyFun [a_aRs6] Bool -> *))
data AllSym1 (l_aROA :: TyFun a_aRs6 Bool -> *) (l_aROz :: TyFun [a_aRs6] Bool)
type AllSym2 (t_aROv :: TyFun a_aRs6 Bool -> *) (t_aROw :: [a_aRs6]) = All t_aROv t_aROw
data ScanlSym0 (l_aRNK :: TyFun (TyFun b_aRsa (TyFun a_aRsb b_aRsa -> *) -> *) (TyFun b_aRsa (TyFun [a_aRsb] [b_aRsa] -> *) -> *))
data ScanlSym1 (l_aRNN :: TyFun b_aRsa (TyFun a_aRsb b_aRsa -> *) -> *) (l_aRNM :: TyFun b_aRsa (TyFun [a_aRsb] [b_aRsa] -> *))
data ScanlSym2 (l_aRNQ :: TyFun b_aRsa (TyFun a_aRsb b_aRsa -> *) -> *) (l_aRNR :: b_aRsa) (l_aRNP :: TyFun [a_aRsb] [b_aRsa])
type ScanlSym3 (t_aRNH :: TyFun b_aRsa (TyFun a_aRsb b_aRsa -> *) -> *) (t_aRNI :: b_aRsa) (t_aRNJ :: [a_aRsb]) = Scanl t_aRNH t_aRNI t_aRNJ
data Scanl1Sym0 (l_aROk :: TyFun (TyFun a_aRsh (TyFun a_aRsh a_aRsh -> *) -> *) (TyFun [a_aRsh] [a_aRsh] -> *))
data Scanl1Sym1 (l_aROn :: TyFun a_aRsh (TyFun a_aRsh a_aRsh -> *) -> *) (l_aROm :: TyFun [a_aRsh] [a_aRsh])
type Scanl1Sym2 (t_aROi :: TyFun a_aRsh (TyFun a_aRsh a_aRsh -> *) -> *) (t_aROj :: [a_aRsh]) = Scanl1 t_aROi t_aROj
data ScanrSym0 (l_aRN0 :: TyFun (TyFun a_aRsl (TyFun b_aRsm b_aRsm -> *) -> *) (TyFun b_aRsm (TyFun [a_aRsl] [b_aRsm] -> *) -> *))
data ScanrSym1 (l_aRN3 :: TyFun a_aRsl (TyFun b_aRsm b_aRsm -> *) -> *) (l_aRN2 :: TyFun b_aRsm (TyFun [a_aRsl] [b_aRsm] -> *))
data ScanrSym2 (l_aRN6 :: TyFun a_aRsl (TyFun b_aRsm b_aRsm -> *) -> *) (l_aRN7 :: b_aRsm) (l_aRN5 :: TyFun [a_aRsl] [b_aRsm])
type ScanrSym3 (t_aRMX :: TyFun a_aRsl (TyFun b_aRsm b_aRsm -> *) -> *) (t_aRMY :: b_aRsm) (t_aRMZ :: [a_aRsl]) = Scanr t_aRMX t_aRMY t_aRMZ
data Scanr1Sym0 (l_aRM1 :: TyFun (TyFun a_aRsu (TyFun a_aRsu a_aRsu -> *) -> *) (TyFun [a_aRsu] [a_aRsu] -> *))
data Scanr1Sym1 (l_aRM4 :: TyFun a_aRsu (TyFun a_aRsu a_aRsu -> *) -> *) (l_aRM3 :: TyFun [a_aRsu] [a_aRsu])
type Scanr1Sym2 (t_aRLZ :: TyFun a_aRsu (TyFun a_aRsu a_aRsu -> *) -> *) (t_aRM0 :: [a_aRsu]) = Scanr1 t_aRLZ t_aRM0
data ElemSym0 (l_aRF7 :: TyFun a_aRtn (TyFun [a_aRtn] Bool -> *))
data ElemSym1 (l_aRFa :: a_aRtn) (l_aRF9 :: TyFun [a_aRtn] Bool)
type ElemSym2 (t_aRF5 :: a_aRtn) (t_aRF6 :: [a_aRtn]) = Elem t_aRF5 t_aRF6
data NotElemSym0 (l_aREU :: TyFun a_aRtr (TyFun [a_aRtr] Bool -> *))
data NotElemSym1 (l_aREX :: a_aRtr) (l_aREW :: TyFun [a_aRtr] Bool)
type NotElemSym2 (t_aRES :: a_aRtr) (t_aRET :: [a_aRtr]) = NotElem t_aRES t_aRET
data ZipSym0 (l_aRED :: TyFun [a_aRtv] (TyFun [b_aRtw] [(a_aRtv, b_aRtw)] -> *))
data ZipSym1 (l_aREG :: [a_aRtv]) (l_aREF :: TyFun [b_aRtw] [(a_aRtv, b_aRtw)])
type ZipSym2 (t_aREB :: [a_aRtv]) (t_aREC :: [b_aRtw]) = Zip t_aREB t_aREC
data Zip3Sym0 (l_aRE1 :: TyFun [a_aRtB] (TyFun [b_aRtC] (TyFun [c_aRtD] [(a_aRtB, b_aRtC, c_aRtD)] -> *) -> *))
data Zip3Sym1 (l_aRE4 :: [a_aRtB]) (l_aRE3 :: TyFun [b_aRtC] (TyFun [c_aRtD] [(a_aRtB, b_aRtC, c_aRtD)] -> *))
data Zip3Sym2 (l_aRE7 :: [a_aRtB]) (l_aRE8 :: [b_aRtC]) (l_aRE6 :: TyFun [c_aRtD] [(a_aRtB, b_aRtC, c_aRtD)])
type Zip3Sym3 (t_aRDY :: [a_aRtB]) (t_aRDZ :: [b_aRtC]) (t_aRE0 :: [c_aRtD]) = Zip3 t_aRDY t_aRDZ t_aRE0
data ZipWithSym0 (l_aRDA :: TyFun (TyFun a_aRtK (TyFun b_aRtL c_aRtM -> *) -> *) (TyFun [a_aRtK] (TyFun [b_aRtL] [c_aRtM] -> *) -> *))
data ZipWithSym1 (l_aRDD :: TyFun a_aRtK (TyFun b_aRtL c_aRtM -> *) -> *) (l_aRDC :: TyFun [a_aRtK] (TyFun [b_aRtL] [c_aRtM] -> *))
data ZipWithSym2 (l_aRDG :: TyFun a_aRtK (TyFun b_aRtL c_aRtM -> *) -> *) (l_aRDH :: [a_aRtK]) (l_aRDF :: TyFun [b_aRtL] [c_aRtM])
type ZipWithSym3 (t_aRDx :: TyFun a_aRtK (TyFun b_aRtL c_aRtM -> *) -> *) (t_aRDy :: [a_aRtK]) (t_aRDz :: [b_aRtL]) = ZipWith t_aRDx t_aRDy t_aRDz
data ZipWith3Sym0 (l_aRCJ :: TyFun (TyFun a_aRtS (TyFun b_aRtT (TyFun c_aRtU d_aRtV -> *) -> *) -> *) (TyFun [a_aRtS] (TyFun [b_aRtT] (TyFun [c_aRtU] [d_aRtV] -> *) -> *) -> *))
data ZipWith3Sym1 (l_aRCM :: TyFun a_aRtS (TyFun b_aRtT (TyFun c_aRtU d_aRtV -> *) -> *) -> *) (l_aRCL :: TyFun [a_aRtS] (TyFun [b_aRtT] (TyFun [c_aRtU] [d_aRtV] -> *) -> *))
data ZipWith3Sym2 (l_aRCP :: TyFun a_aRtS (TyFun b_aRtT (TyFun c_aRtU d_aRtV -> *) -> *) -> *) (l_aRCQ :: [a_aRtS]) (l_aRCO :: TyFun [b_aRtT] (TyFun [c_aRtU] [d_aRtV] -> *))
data ZipWith3Sym3 (l_aRCT :: TyFun a_aRtS (TyFun b_aRtT (TyFun c_aRtU d_aRtV -> *) -> *) -> *) (l_aRCU :: [a_aRtS]) (l_aRCV :: [b_aRtT]) (l_aRCS :: TyFun [c_aRtU] [d_aRtV])
data UnzipSym0 (l_aRCa :: TyFun [(a_aRu3, b_aRu4)] ([a_aRu3], [b_aRu4]))
type UnzipSym1 (t_aRC9 :: [(a_aRu3, b_aRu4)]) = Unzip t_aRC9
data UntilSym0 (l_aOZf :: TyFun (TyFun a_aOZ5 Bool -> *) (TyFun (TyFun a_aOZ5 a_aOZ5 -> *) (TyFun a_aOZ5 a_aOZ5 -> *) -> *))
data UntilSym1 (l_aOZi :: TyFun a_aOZ5 Bool -> *) (l_aOZh :: TyFun (TyFun a_aOZ5 a_aOZ5 -> *) (TyFun a_aOZ5 a_aOZ5 -> *))
data UntilSym2 (l_aOZl :: TyFun a_aOZ5 Bool -> *) (l_aOZm :: TyFun a_aOZ5 a_aOZ5 -> *) (l_aOZk :: TyFun a_aOZ5 a_aOZ5)
type UntilSym3 (t_aOZc :: TyFun a_aOZ5 Bool -> *) (t_aOZd :: TyFun a_aOZ5 a_aOZ5 -> *) (t_aOZe :: a_aOZ5) = Until t_aOZc t_aOZd t_aOZe
data LengthSym0 (l_a1Bo5 :: TyFun [a_a1AUx] Nat)
type LengthSym1 (t_a1Bo4 :: [a_a1AUx]) = Length t_a1Bo4
data SumSym0 (l_a1BnH :: TyFun [Nat] Nat)
type SumSym1 (t_a1BnG :: [Nat]) = Sum t_a1BnG
data ProductSym0 (l_a1Bnj :: TyFun [Nat] Nat)
type ProductSym1 (t_a1Bni :: [Nat]) = Product t_a1Bni
data ReplicateSym0 (l_a1BmT :: TyFun Nat (TyFun a_a1AUL [a_a1AUL] -> *))
data ReplicateSym1 (l_a1BmW :: Nat) (l_a1BmV :: TyFun a_a1AUL [a_a1AUL])
type ReplicateSym2 (t_a1BmR :: Nat) (t_a1BmS :: a_a1AUL) = Replicate t_a1BmR t_a1BmS
data TakeSym0 (l_a1BlR :: TyFun Nat (TyFun [a_a1AUT] [a_a1AUT] -> *))
data TakeSym1 (l_a1BlU :: Nat) (l_a1BlT :: TyFun [a_a1AUT] [a_a1AUT])
type TakeSym2 (t_a1BlP :: Nat) (t_a1BlQ :: [a_a1AUT]) = Take t_a1BlP t_a1BlQ
data DropSym0 (l_a1Blf :: TyFun Nat (TyFun [a_a1AUX] [a_a1AUX] -> *))
data DropSym1 (l_a1Bli :: Nat) (l_a1Blh :: TyFun [a_a1AUX] [a_a1AUX])
type DropSym2 (t_a1Bld :: Nat) (t_a1Ble :: [a_a1AUX]) = Drop t_a1Bld t_a1Ble
data SplitAtSym0 (l_a1Bm6 :: TyFun Nat (TyFun [a_a1AV1] ([a_a1AV1], [a_a1AV1]) -> *))
data SplitAtSym1 (l_a1Bm9 :: Nat) (l_a1Bm8 :: TyFun [a_a1AV1] ([a_a1AV1], [a_a1AV1]))
type SplitAtSym2 (t_a1Bm4 :: Nat) (t_a1Bm5 :: [a_a1AV1]) = SplitAt t_a1Bm4 t_a1Bm5
data TakeWhileSym0 (l_a1BkS :: TyFun (TyFun a_a1AV4 Bool -> *) (TyFun [a_a1AV4] [a_a1AV4] -> *))
data TakeWhileSym1 (l_a1BkV :: TyFun a_a1AV4 Bool -> *) (l_a1BkU :: TyFun [a_a1AV4] [a_a1AV4])
type TakeWhileSym2 (t_a1BkQ :: TyFun a_a1AV4 Bool -> *) (t_a1BkR :: [a_a1AV4]) = TakeWhile t_a1BkQ t_a1BkR
data DropWhileSym0 (l_a1Bk5 :: TyFun (TyFun a_a1AV8 Bool -> *) (TyFun [a_a1AV8] [a_a1AV8] -> *))
data DropWhileSym1 (l_a1Bk8 :: TyFun a_a1AV8 Bool -> *) (l_a1Bk7 :: TyFun [a_a1AV8] [a_a1AV8])
type DropWhileSym2 (t_a1Bk3 :: TyFun a_a1AV8 Bool -> *) (t_a1Bk4 :: [a_a1AV8]) = DropWhile t_a1Bk3 t_a1Bk4
data SpanSym0 (l_a1BfB :: TyFun (TyFun a_a1AVh Bool -> *) (TyFun [a_a1AVh] ([a_a1AVh], [a_a1AVh]) -> *))
data SpanSym1 (l_a1BfE :: TyFun a_a1AVh Bool -> *) (l_a1BfD :: TyFun [a_a1AVh] ([a_a1AVh], [a_a1AVh]))
type SpanSym2 (t_a1Bfz :: TyFun a_a1AVh Bool -> *) (t_a1BfA :: [a_a1AVh]) = Span t_a1Bfz t_a1BfA
data BreakSym0 (l_a1Bdh :: TyFun (TyFun a_a1AVp Bool -> *) (TyFun [a_a1AVp] ([a_a1AVp], [a_a1AVp]) -> *))
data BreakSym1 (l_a1Bdk :: TyFun a_a1AVp Bool -> *) (l_a1Bdj :: TyFun [a_a1AVp] ([a_a1AVp], [a_a1AVp]))
type BreakSym2 (t_a1Bdf :: TyFun a_a1AVp Bool -> *) (t_a1Bdg :: [a_a1AVp]) = Break t_a1Bdf t_a1Bdg
data LookupSym0 (l_a1BbV :: TyFun a_a1AVT (TyFun [(a_a1AVT, b_a1AVU)] (Maybe b_a1AVU) -> *))
data LookupSym1 (l_a1BbY :: a_a1AVT) (l_a1BbX :: TyFun [(a_a1AVT, b_a1AVU)] (Maybe b_a1AVU))
type LookupSym2 (t_a1BbT :: a_a1AVT) (t_a1BbU :: [(a_a1AVT, b_a1AVU)]) = Lookup t_a1BbT t_a1BbU
data FilterSym0 (l_a1Bak :: TyFun (TyFun a_a1AW2 Bool -> *) (TyFun [a_a1AW2] [a_a1AW2] -> *))
data FilterSym1 (l_a1Ban :: TyFun a_a1AW2 Bool -> *) (l_a1Bam :: TyFun [a_a1AW2] [a_a1AW2])
type FilterSym2 (t_a1Bai :: TyFun a_a1AW2 Bool -> *) (t_a1Baj :: [a_a1AW2]) = Filter t_a1Bai t_a1Baj
data (:!!$) (l_a1B99 :: TyFun [a_a1AWf] (TyFun Nat a_a1AWf -> *))
data (:!!$$) (l_a1B9c :: [a_a1AWf]) (l_a1B9b :: TyFun Nat a_a1AWf)
type (:!!$$$) (t_a1B97 :: [a_a1AWf]) (t_a1B98 :: Nat) = (:!!) t_a1B97 t_a1B98
-- | 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_aE7v), kproxy_aE80 ~ KProxy) => POrd (kproxy_aE80 :: KProxy a_aE7v) where type family Compare (arg_aE81 :: a_aE7v) (arg_aE82 :: a_aE7v) :: Ordering type family (:<) (arg_aE8a :: a_aE7v) (arg_aE8b :: a_aE7v) :: Bool type family (:>=) (arg_aE8j :: a_aE7v) (arg_aE8k :: a_aE7v) :: Bool type family (:>) (arg_aE8s :: a_aE7v) (arg_aE8t :: a_aE7v) :: Bool type family (:<=) (arg_aE8B :: a_aE7v) (arg_aE8C :: a_aE7v) :: Bool type family Max (arg_aE8K :: a_aE7v) (arg_aE8L :: a_aE7v) :: a_aE7v type family Min (arg_aE8T :: a_aE7v) (arg_aE8U :: a_aE7v) :: a_aE7v type instance Compare (x_aE9b :: a_aE7v) (y_aE9c :: a_aE7v) = (Case_1627544291 x_aE9b y_aE9c (Let1627544283Scrutinee_1627544192Sym2 x_aE9b y_aE9c) :: Ordering) type instance (:<) (x_aE9K :: a_aE7v) (y_aE9L :: a_aE7v) = (Case_1627544326 x_aE9K y_aE9L (Let1627544318Scrutinee_1627544196Sym2 x_aE9K y_aE9L) :: Bool) type instance (:>=) (x_aEa8 :: a_aE7v) (y_aEa9 :: a_aE7v) = (Case_1627544350 x_aEa8 y_aEa9 (Let1627544342Scrutinee_1627544202Sym2 x_aEa8 y_aEa9) :: Bool) type instance (:>) (x_aEaw :: a_aE7v) (y_aEax :: a_aE7v) = (Case_1627544374 x_aEaw y_aEax (Let1627544366Scrutinee_1627544200Sym2 x_aEaw y_aEax) :: Bool) type instance (:<=) (x_aEaU :: a_aE7v) (y_aEaV :: a_aE7v) = (Case_1627544398 x_aEaU y_aEaV (Let1627544390Scrutinee_1627544198Sym2 x_aEaU y_aEaV) :: Bool) type instance Max (x_aEbi :: a_aE7v) (y_aEbj :: a_aE7v) = (Case_1627544422 x_aEbi y_aEbj (Let1627544414Scrutinee_1627544204Sym2 x_aEbi y_aEbj) :: a_aE7v) type instance Min (x_aEbF :: a_aE7v) (y_aEbG :: a_aE7v) = (Case_1627544445 x_aEbF y_aEbG (Let1627544437Scrutinee_1627544206Sym2 x_aEbF y_aEbG) :: a_aE7v)
-- | 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_ato9 :: TyFun a_12 (TyFun b_13 (a_12, b_13) -> *)) data Tuple2Sym1 (l_atoc :: a_12) (l_atob :: TyFun b_13 (a_12, b_13)) type Tuple2Sym2 (t_ato7 :: a_12) (t_ato8 :: b_13) = '(t_ato7, t_ato8) data Tuple3Sym0 (l_atot :: TyFun a_12 (TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *) -> *)) data Tuple3Sym1 (l_atow :: a_12) (l_atov :: TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *)) data Tuple3Sym2 (l_atoz :: a_12) (l_atoA :: b_13) (l_atoy :: TyFun c_14 (a_12, b_13, c_14)) type Tuple3Sym3 (t_atoq :: a_12) (t_ator :: b_13) (t_atos :: c_14) = '(t_atoq, t_ator, t_atos) data Tuple4Sym0 (l_atoX :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *) -> *)) data Tuple4Sym1 (l_atp0 :: a_12) (l_atoZ :: TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *)) data Tuple4Sym2 (l_atp3 :: a_12) (l_atp4 :: b_13) (l_atp2 :: TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *)) data Tuple4Sym3 (l_atp7 :: a_12) (l_atp8 :: b_13) (l_atp9 :: c_14) (l_atp6 :: TyFun d_15 (a_12, b_13, c_14, d_15)) type Tuple4Sym4 (t_atoT :: a_12) (t_atoU :: b_13) (t_atoV :: c_14) (t_atoW :: d_15) = '(t_atoT, t_atoU, t_atoV, t_atoW) data Tuple5Sym0 (l_atpC :: 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_atpF :: a_12) (l_atpE :: 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_atpI :: a_12) (l_atpJ :: b_13) (l_atpH :: TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *)) data Tuple5Sym3 (l_atpM :: a_12) (l_atpN :: b_13) (l_atpO :: c_14) (l_atpL :: TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *)) data Tuple5Sym4 (l_atpR :: a_12) (l_atpS :: b_13) (l_atpT :: c_14) (l_atpU :: d_15) (l_atpQ :: TyFun e_16 (a_12, b_13, c_14, d_15, e_16)) type Tuple5Sym5 (t_atpx :: a_12) (t_atpy :: b_13) (t_atpz :: c_14) (t_atpA :: d_15) (t_atpB :: e_16) = '(t_atpx, t_atpy, t_atpz, t_atpA, t_atpB) data Tuple6Sym0 (l_atqt :: 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_atqw :: a_12) (l_atqv :: 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_atqz :: a_12) (l_atqA :: b_13) (l_atqy :: 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_atqD :: a_12) (l_atqE :: b_13) (l_atqF :: c_14) (l_atqC :: TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *)) data Tuple6Sym4 (l_atqI :: a_12) (l_atqJ :: b_13) (l_atqK :: c_14) (l_atqL :: d_15) (l_atqH :: TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *)) data Tuple6Sym5 (l_atqO :: a_12) (l_atqP :: b_13) (l_atqQ :: c_14) (l_atqR :: d_15) (l_atqS :: e_16) (l_atqN :: TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17)) type Tuple6Sym6 (t_atqn :: a_12) (t_atqo :: b_13) (t_atqp :: c_14) (t_atqq :: d_15) (t_atqr :: e_16) (t_atqs :: f_17) = '(t_atqn, t_atqo, t_atqp, t_atqq, t_atqr, t_atqs) data Tuple7Sym0 (l_atrx :: 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_atrA :: a_12) (l_atrz :: 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_atrD :: a_12) (l_atrE :: b_13) (l_atrC :: 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_atrH :: a_12) (l_atrI :: b_13) (l_atrJ :: c_14) (l_atrG :: 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_atrM :: a_12) (l_atrN :: b_13) (l_atrO :: c_14) (l_atrP :: d_15) (l_atrL :: 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_atrS :: a_12) (l_atrT :: b_13) (l_atrU :: c_14) (l_atrV :: d_15) (l_atrW :: e_16) (l_atrR :: TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *)) data Tuple7Sym6 (l_atrZ :: a_12) (l_ats0 :: b_13) (l_ats1 :: c_14) (l_ats2 :: d_15) (l_ats3 :: e_16) (l_ats4 :: f_17) (l_atrY :: TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18)) type Tuple7Sym7 (t_atrq :: a_12) (t_atrr :: b_13) (t_atrs :: c_14) (t_atrt :: d_15) (t_atru :: e_16) (t_atrv :: f_17) (t_atrw :: g_18) = '(t_atrq, t_atrr, t_atrs, t_atrt, t_atru, t_atrv, t_atrw) -- | 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 -> ()