-- 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. -- -- -- -- It's also used to instantiate un-constrained type variables after type -- checking. For example, length has type -- --
--   length :: forall a. [a] -> Int
--   
-- -- and the list datacon for the empty list has type -- --
--   [] :: forall a. [a]
--   
-- -- In order to compose these two terms as length [] a type -- application is required, but there is no constraint on the choice. In -- this situation GHC uses Any: -- --
--   length (Any *) ([] (Any *))
--   
-- -- Note that Any is kind polymorphic, and takes a kind -- k as its first argument. The kind of Any is thus -- forall k. k -> k. data Any :: k -- | Members of the SDecide "kind" class support decidable equality. -- Instances of this class are generated alongside singleton definitions -- for datatypes that derive an Eq instance. class kparam ~ KProxy => SDecide (kparam :: KProxy k) (%~) :: SDecide kparam => Sing a -> Sing b -> Decision (a :~: b) -- | Propositional equality. If a :~: b is inhabited by some -- terminating value, then the type a is the same as the type -- b. To use this equality in practice, pattern-match on the -- a :~: b to get out the Refl constructor; in the body -- of the pattern-match, the compiler knows that a ~ b. -- -- Since: 4.7.0.0 data (:~:) (a :: k) (b :: k) :: k -> k -> * Refl :: (:~:) k a1 a1 -- | A logically uninhabited data type. data Void -- | Because we can never create a value of type Void, a function -- that type-checks at a -> Void shows that objects of type -- a can never exist. Thus, we say that a is -- Refuted type Refuted a = a -> Void -- | A Decision about a type a is either a proof of -- existence or a proof that a cannot exist. data Decision a -- | Witness for a Proved :: a -> Decision a -- | Proof that no a exists Disproved :: (Refuted a) -> Decision a -- | A concrete, poly-kinded proxy type data Proxy (t :: k) :: k -> * Proxy :: Proxy -- | A concrete, promotable proxy type, for use at the kind level There are -- no instances for this because it is intended at the kind level only data KProxy t :: * -> * KProxy :: KProxy t -- | An existentially-quantified singleton. This type is useful when -- you want a singleton type, but there is no way of knowing, at -- compile-time, what the type index will be. To make use of this type, -- you will generally have to use a pattern-match: -- --
--   foo :: Bool -> ...
--   foo b = case toSing b of
--             SomeSing sb -> {- fancy dependently-typed code with sb -}
--   
-- -- An example like the one above may be easier to write using -- withSomeSing. data SomeSing (kproxy :: KProxy k) SomeSing :: Sing (a :: k) -> SomeSing (KProxy :: KProxy k) -- | The promotion of error data ErrorSym0 (t1 :: TyFun k1 k2) type TrueSym0 = True type FalseSym0 = False type LTSym0 = LT type EQSym0 = EQ type GTSym0 = GT type Tuple0Sym0 = '() data Tuple2Sym0 (l_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. -- -- -- -- It's also used to instantiate un-constrained type variables after type -- checking. For example, length has type -- --
--   length :: forall a. [a] -> Int
--   
-- -- and the list datacon for the empty list has type -- --
--   [] :: forall a. [a]
--   
-- -- In order to compose these two terms as length [] a type -- application is required, but there is no constraint on the choice. In -- this situation GHC uses Any: -- --
--   length (Any *) ([] (Any *))
--   
-- -- Note that Any is kind polymorphic, and takes a kind -- k as its first argument. The kind of Any is thus -- forall k. k -> k. data Any :: k -- | A concrete, poly-kinded proxy type data Proxy (t :: k) :: k -> * Proxy :: Proxy -- | A concrete, promotable proxy type, for use at the kind level There are -- no instances for this because it is intended at the kind level only data KProxy t :: * -> * KProxy :: KProxy t -- | The promotion of error data ErrorSym0 (t1 :: TyFun k1 k2) type TrueSym0 = True type FalseSym0 = False type LTSym0 = LT type EQSym0 = EQ type GTSym0 = GT type Tuple0Sym0 = '() data Tuple2Sym0 (l_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 -> ()