-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A framework for generating singleton types -- @package singletons @version 1.1.2 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_apFr ~ KProxy => PBounded (kproxy_apFr :: KProxy a_apFq) where type family MinBound :: a_apFq type family MaxBound :: a_apFq 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_at9H :: Bool) = Sing z_at9H -- | 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_aA2p -> Sing (Apply NotSym0 t_aA2p) (%:&&) :: Sing t_aA2s -> Sing t_aA2t -> Sing (Apply (Apply (:&&$) t_aA2s) t_aA2t) (%:||) :: Sing t_aA2q -> Sing t_aA2r -> Sing (Apply (Apply (:||$) t_aA2q) t_aA2r) bool_ :: a_azQ3 -> a_azQ3 -> Bool -> a_azQ3 sBool_ :: Sing t_azQr -> Sing t_azQs -> Sing t_azQt -> Sing (Apply (Apply (Apply Bool_Sym0 t_azQr) t_azQs) t_azQt) type Otherwise = (TrueSym0 :: Bool) sOtherwise :: Sing OtherwiseSym0 type TrueSym0 = True type FalseSym0 = False data NotSym0 (l_aA20 :: TyFun Bool Bool) type NotSym1 (t_aA1Z :: Bool) = Not t_aA1Z data (:&&$) (l_aA2g :: TyFun Bool (TyFun Bool Bool -> *)) data (:&&$$) (l_aA2j :: Bool) (l_aA2i :: TyFun Bool Bool) type (:&&$$$) (t_aA2e :: Bool) (t_aA2f :: Bool) = (:&&) t_aA2e t_aA2f data (:||$) (l_aA25 :: TyFun Bool (TyFun Bool Bool -> *)) data (:||$$) (l_aA28 :: Bool) (l_aA27 :: TyFun Bool Bool) type (:||$$$) (t_aA23 :: Bool) (t_aA24 :: Bool) = (:||) t_aA23 t_aA24 data Bool_Sym0 (l_azQb :: TyFun a_azQ3 (TyFun a_azQ3 (TyFun Bool a_azQ3 -> *) -> *)) data Bool_Sym1 (l_azQe :: a_azQ3) (l_azQd :: TyFun a_azQ3 (TyFun Bool a_azQ3 -> *)) data Bool_Sym2 (l_azQh :: a_azQ3) (l_azQi :: a_azQ3) (l_azQg :: TyFun Bool a_azQ3) type Bool_Sym3 (t_azQ8 :: a_azQ3) (t_azQ9 :: a_azQ3) (t_azQa :: Bool) = Bool_ t_azQ8 t_azQ9 t_azQa 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_aADc :: TyFun a_aACy (TyFun a_aACy Bool -> *)) data (:==$$) (l_aADf :: a_aACy) (l_aADe :: TyFun a_aACy Bool) type (:==$$$) (t_aADa :: a_aACy) (t_aADb :: a_aACy) = (:==) t_aADa t_aADb data (:/=$) (l_aADj :: TyFun a_aACy (TyFun a_aACy Bool -> *)) data (:/=$$) (l_aADm :: a_aACy) (l_aADl :: TyFun a_aACy Bool) type (:/=$$$) (t_aADh :: a_aACy) (t_aADi :: a_aACy) = (:/=) t_aADh t_aADi 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_aADc :: TyFun a_aACy (TyFun a_aACy Bool -> *)) data (:==$$) (l_aADf :: a_aACy) (l_aADe :: TyFun a_aACy Bool) type (:==$$$) (t_aADa :: a_aACy) (t_aADb :: a_aACy) = (:==) t_aADa t_aADb data (:/=$) (l_aADj :: TyFun a_aACy (TyFun a_aACy Bool -> *)) data (:/=$$) (l_aADm :: a_aACy) (l_aADl :: TyFun a_aACy Bool) type (:/=$$$) (t_aADh :: a_aACy) (t_aADi :: a_aACy) = (:/=) t_aADh t_aADi -- | 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_azQ3 -> a_azQ3 -> Bool -> a_azQ3 type Otherwise = (TrueSym0 :: Bool) type TrueSym0 = True type FalseSym0 = False data NotSym0 (l_aA20 :: TyFun Bool Bool) type NotSym1 (t_aA1Z :: Bool) = Not t_aA1Z data (:&&$) (l_aA2g :: TyFun Bool (TyFun Bool Bool -> *)) data (:&&$$) (l_aA2j :: Bool) (l_aA2i :: TyFun Bool Bool) type (:&&$$$) (t_aA2e :: Bool) (t_aA2f :: Bool) = (:&&) t_aA2e t_aA2f data (:||$) (l_aA25 :: TyFun Bool (TyFun Bool Bool -> *)) data (:||$$) (l_aA28 :: Bool) (l_aA27 :: TyFun Bool Bool) type (:||$$$) (t_aA23 :: Bool) (t_aA24 :: Bool) = (:||) t_aA23 t_aA24 data Bool_Sym0 (l_azQb :: TyFun a_azQ3 (TyFun a_azQ3 (TyFun Bool a_azQ3 -> *) -> *)) data Bool_Sym1 (l_azQe :: a_azQ3) (l_azQd :: TyFun a_azQ3 (TyFun Bool a_azQ3 -> *)) data Bool_Sym2 (l_azQh :: a_azQ3) (l_azQi :: a_azQ3) (l_azQg :: TyFun Bool a_azQ3) type Bool_Sym3 (t_azQ8 :: a_azQ3) (t_azQ9 :: a_azQ3) (t_azQa :: Bool) = Bool_ t_azQ8 t_azQ9 t_azQa 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_aDTa), kproxy_aDTF ~ KProxy) => POrd (kproxy_aDTF :: KProxy a_aDTa) where type family Compare (arg_aDTG :: a_aDTa) (arg_aDTH :: a_aDTa) :: Ordering type family (:<) (arg_aDTP :: a_aDTa) (arg_aDTQ :: a_aDTa) :: Bool type family (:>=) (arg_aDTY :: a_aDTa) (arg_aDTZ :: a_aDTa) :: Bool type family (:>) (arg_aDU7 :: a_aDTa) (arg_aDU8 :: a_aDTa) :: Bool type family (:<=) (arg_aDUg :: a_aDTa) (arg_aDUh :: a_aDTa) :: Bool type family Max (arg_aDUp :: a_aDTa) (arg_aDUq :: a_aDTa) :: a_aDTa type family Min (arg_aDUy :: a_aDTa) (arg_aDUz :: a_aDTa) :: a_aDTa type instance Compare (x_aDUQ :: a_aDTa) (y_aDUR :: a_aDTa) = (Case_1627543403 x_aDUQ y_aDUR (Let_1627543394Scrutinee_1627543303Sym2 x_aDUQ y_aDUR) :: Ordering) type instance (:<) (x_aDVr :: a_aDTa) (y_aDVs :: a_aDTa) = (Case_1627543440 x_aDVr y_aDVs (Let_1627543431Scrutinee_1627543307Sym2 x_aDVr y_aDVs) :: Bool) type instance (:>=) (x_aDVQ :: a_aDTa) (y_aDVR :: a_aDTa) = (Case_1627543465 x_aDVQ y_aDVR (Let_1627543456Scrutinee_1627543313Sym2 x_aDVQ y_aDVR) :: Bool) type instance (:>) (x_aDWf :: a_aDTa) (y_aDWg :: a_aDTa) = (Case_1627543490 x_aDWf y_aDWg (Let_1627543481Scrutinee_1627543311Sym2 x_aDWf y_aDWg) :: Bool) type instance (:<=) (x_aDWE :: a_aDTa) (y_aDWF :: a_aDTa) = (Case_1627543515 x_aDWE y_aDWF (Let_1627543506Scrutinee_1627543309Sym2 x_aDWE y_aDWF) :: Bool) type instance Max (x_aDX3 :: a_aDTa) (y_aDX4 :: a_aDTa) = (Case_1627543540 x_aDX3 y_aDX4 (Let_1627543531Scrutinee_1627543315Sym2 x_aDX3 y_aDX4) :: a_aDTa) type instance Min (x_aDXr :: a_aDTa) (y_aDXs :: a_aDTa) = (Case_1627543564 x_aDXr y_aDXs (Let_1627543555Scrutinee_1627543317Sym2 x_aDXr y_aDXs) :: a_aDTa) 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_aF63 -> Sing t_aF64 -> Sing (Apply (Apply ThenCmpSym0 t_aF63) t_aF64) -- | The singleton kind-indexed data family. data ThenCmpSym0 (l_aF5T :: TyFun Ordering (TyFun Ordering Ordering -> *)) data ThenCmpSym1 (l_aF5W :: Ordering) (l_aF5V :: TyFun Ordering Ordering) type ThenCmpSym2 (t_aF5R :: Ordering) (t_aF5S :: Ordering) = ThenCmp t_aF5R t_aF5S type LTSym0 = LT type EQSym0 = EQ type GTSym0 = GT data CompareSym0 (l_aDTK :: TyFun a_aDTa (TyFun a_aDTa Ordering -> *)) data CompareSym1 (l_aDTN :: a_aDTa) (l_aDTM :: TyFun a_aDTa Ordering) type CompareSym2 (t_aDTI :: a_aDTa) (t_aDTJ :: a_aDTa) = Compare t_aDTI t_aDTJ data (:<$) (l_aDTT :: TyFun a_aDTa (TyFun a_aDTa Bool -> *)) data (:<$$) (l_aDTW :: a_aDTa) (l_aDTV :: TyFun a_aDTa Bool) type (:<$$$) (t_aDTR :: a_aDTa) (t_aDTS :: a_aDTa) = (:<) t_aDTR t_aDTS data (:<=$) (l_aDUk :: TyFun a_aDTa (TyFun a_aDTa Bool -> *)) data (:<=$$) (l_aDUn :: a_aDTa) (l_aDUm :: TyFun a_aDTa Bool) type (:<=$$$) (t_aDUi :: a_aDTa) (t_aDUj :: a_aDTa) = (:<=) t_aDUi t_aDUj data (:>$) (l_aDUb :: TyFun a_aDTa (TyFun a_aDTa Bool -> *)) data (:>$$) (l_aDUe :: a_aDTa) (l_aDUd :: TyFun a_aDTa Bool) type (:>$$$) (t_aDU9 :: a_aDTa) (t_aDUa :: a_aDTa) = (:>) t_aDU9 t_aDUa data (:>=$) (l_aDU2 :: TyFun a_aDTa (TyFun a_aDTa Bool -> *)) data (:>=$$) (l_aDU5 :: a_aDTa) (l_aDU4 :: TyFun a_aDTa Bool) type (:>=$$$) (t_aDU0 :: a_aDTa) (t_aDU1 :: a_aDTa) = (:>=) t_aDU0 t_aDU1 data MaxSym0 (l_aDUt :: TyFun a_aDTa (TyFun a_aDTa a_aDTa -> *)) data MaxSym1 (l_aDUw :: a_aDTa) (l_aDUv :: TyFun a_aDTa a_aDTa) type MaxSym2 (t_aDUr :: a_aDTa) (t_aDUs :: a_aDTa) = Max t_aDUr t_aDUs data MinSym0 (l_aDUC :: TyFun a_aDTa (TyFun a_aDTa a_aDTa -> *)) data MinSym1 (l_aDUF :: a_aDTa) (l_aDUE :: TyFun a_aDTa a_aDTa) type MinSym2 (t_aDUA :: a_aDTa) (t_aDUB :: a_aDTa) = Min t_aDUA t_aDUB instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance POrd 'KProxy instance SuppressUnusedWarnings ThenCmpSym0 instance SuppressUnusedWarnings ThenCmpSym1 instance SuppressUnusedWarnings Let_1627543555Scrutinee_1627543317Sym0 instance SuppressUnusedWarnings Let_1627543555Scrutinee_1627543317Sym1 instance SuppressUnusedWarnings Let_1627543531Scrutinee_1627543315Sym0 instance SuppressUnusedWarnings Let_1627543531Scrutinee_1627543315Sym1 instance SuppressUnusedWarnings Let_1627543506Scrutinee_1627543309Sym0 instance SuppressUnusedWarnings Let_1627543506Scrutinee_1627543309Sym1 instance SuppressUnusedWarnings Let_1627543481Scrutinee_1627543311Sym0 instance SuppressUnusedWarnings Let_1627543481Scrutinee_1627543311Sym1 instance SuppressUnusedWarnings Let_1627543456Scrutinee_1627543313Sym0 instance SuppressUnusedWarnings Let_1627543456Scrutinee_1627543313Sym1 instance SuppressUnusedWarnings Let_1627543431Scrutinee_1627543307Sym0 instance SuppressUnusedWarnings Let_1627543431Scrutinee_1627543307Sym1 instance SuppressUnusedWarnings Let_1627543405Scrutinee_1627543305Sym0 instance SuppressUnusedWarnings Let_1627543405Scrutinee_1627543305Sym1 instance SuppressUnusedWarnings Let_1627543394Scrutinee_1627543303Sym0 instance SuppressUnusedWarnings Let_1627543394Scrutinee_1627543303Sym1 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_aDTa), kproxy_aDTF ~ KProxy) => POrd (kproxy_aDTF :: KProxy a_aDTa) where type family Compare (arg_aDTG :: a_aDTa) (arg_aDTH :: a_aDTa) :: Ordering type family (:<) (arg_aDTP :: a_aDTa) (arg_aDTQ :: a_aDTa) :: Bool type family (:>=) (arg_aDTY :: a_aDTa) (arg_aDTZ :: a_aDTa) :: Bool type family (:>) (arg_aDU7 :: a_aDTa) (arg_aDU8 :: a_aDTa) :: Bool type family (:<=) (arg_aDUg :: a_aDTa) (arg_aDUh :: a_aDTa) :: Bool type family Max (arg_aDUp :: a_aDTa) (arg_aDUq :: a_aDTa) :: a_aDTa type family Min (arg_aDUy :: a_aDTa) (arg_aDUz :: a_aDTa) :: a_aDTa type instance Compare (x_aDUQ :: a_aDTa) (y_aDUR :: a_aDTa) = (Case_1627543403 x_aDUQ y_aDUR (Let_1627543394Scrutinee_1627543303Sym2 x_aDUQ y_aDUR) :: Ordering) type instance (:<) (x_aDVr :: a_aDTa) (y_aDVs :: a_aDTa) = (Case_1627543440 x_aDVr y_aDVs (Let_1627543431Scrutinee_1627543307Sym2 x_aDVr y_aDVs) :: Bool) type instance (:>=) (x_aDVQ :: a_aDTa) (y_aDVR :: a_aDTa) = (Case_1627543465 x_aDVQ y_aDVR (Let_1627543456Scrutinee_1627543313Sym2 x_aDVQ y_aDVR) :: Bool) type instance (:>) (x_aDWf :: a_aDTa) (y_aDWg :: a_aDTa) = (Case_1627543490 x_aDWf y_aDWg (Let_1627543481Scrutinee_1627543311Sym2 x_aDWf y_aDWg) :: Bool) type instance (:<=) (x_aDWE :: a_aDTa) (y_aDWF :: a_aDTa) = (Case_1627543515 x_aDWE y_aDWF (Let_1627543506Scrutinee_1627543309Sym2 x_aDWE y_aDWF) :: Bool) type instance Max (x_aDX3 :: a_aDTa) (y_aDX4 :: a_aDTa) = (Case_1627543540 x_aDX3 y_aDX4 (Let_1627543531Scrutinee_1627543315Sym2 x_aDX3 y_aDX4) :: a_aDTa) type instance Min (x_aDXr :: a_aDTa) (y_aDXs :: a_aDTa) = (Case_1627543564 x_aDXr y_aDXs (Let_1627543555Scrutinee_1627543317Sym2 x_aDXr y_aDXs) :: a_aDTa) type LTSym0 = LT type EQSym0 = EQ type GTSym0 = GT data CompareSym0 (l_aDTK :: TyFun a_aDTa (TyFun a_aDTa Ordering -> *)) data CompareSym1 (l_aDTN :: a_aDTa) (l_aDTM :: TyFun a_aDTa Ordering) type CompareSym2 (t_aDTI :: a_aDTa) (t_aDTJ :: a_aDTa) = Compare t_aDTI t_aDTJ data (:<$) (l_aDTT :: TyFun a_aDTa (TyFun a_aDTa Bool -> *)) data (:<$$) (l_aDTW :: a_aDTa) (l_aDTV :: TyFun a_aDTa Bool) type (:<$$$) (t_aDTR :: a_aDTa) (t_aDTS :: a_aDTa) = (:<) t_aDTR t_aDTS data (:<=$) (l_aDUk :: TyFun a_aDTa (TyFun a_aDTa Bool -> *)) data (:<=$$) (l_aDUn :: a_aDTa) (l_aDUm :: TyFun a_aDTa Bool) type (:<=$$$) (t_aDUi :: a_aDTa) (t_aDUj :: a_aDTa) = (:<=) t_aDUi t_aDUj data (:>$) (l_aDUb :: TyFun a_aDTa (TyFun a_aDTa Bool -> *)) data (:>$$) (l_aDUe :: a_aDTa) (l_aDUd :: TyFun a_aDTa Bool) type (:>$$$) (t_aDU9 :: a_aDTa) (t_aDUa :: a_aDTa) = (:>) t_aDU9 t_aDUa data (:>=$) (l_aDU2 :: TyFun a_aDTa (TyFun a_aDTa Bool -> *)) data (:>=$$) (l_aDU5 :: a_aDTa) (l_aDU4 :: TyFun a_aDTa Bool) type (:>=$$$) (t_aDU0 :: a_aDTa) (t_aDU1 :: a_aDTa) = (:>=) t_aDU0 t_aDU1 data MaxSym0 (l_aDUt :: TyFun a_aDTa (TyFun a_aDTa a_aDTa -> *)) data MaxSym1 (l_aDUw :: a_aDTa) (l_aDUv :: TyFun a_aDTa a_aDTa) type MaxSym2 (t_aDUr :: a_aDTa) (t_aDUs :: a_aDTa) = Max t_aDUr t_aDUs data MinSym0 (l_aDUC :: TyFun a_aDTa (TyFun a_aDTa a_aDTa -> *)) data MinSym1 (l_aDUF :: a_aDTa) (l_aDUE :: TyFun a_aDTa a_aDTa) type MinSym2 (t_aDUA :: a_aDTa) (t_aDUB :: a_aDTa) = Min t_aDUA t_aDUB -- | 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_aGTJ data (:+$$) (l_aGTM :: Nat) l_aGTL data (:-$) l_aGTQ data (:-$$) (l_aGTT :: Nat) l_aGTS data (:*$) l_aGTX data (:*$$) (l_aGU0 :: Nat) l_aGTZ data (:^$) l_aGU4 data (:^$$) (l_aGU7 :: Nat) l_aGU6 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_aDTa), kproxy_aDTF ~ KProxy) => POrd (kproxy_aDTF :: KProxy a_aDTa) where type family Compare (arg_aDTG :: a_aDTa) (arg_aDTH :: a_aDTa) :: Ordering type family (:<) (arg_aDTP :: a_aDTa) (arg_aDTQ :: a_aDTa) :: Bool type family (:>=) (arg_aDTY :: a_aDTa) (arg_aDTZ :: a_aDTa) :: Bool type family (:>) (arg_aDU7 :: a_aDTa) (arg_aDU8 :: a_aDTa) :: Bool type family (:<=) (arg_aDUg :: a_aDTa) (arg_aDUh :: a_aDTa) :: Bool type family Max (arg_aDUp :: a_aDTa) (arg_aDUq :: a_aDTa) :: a_aDTa type family Min (arg_aDUy :: a_aDTa) (arg_aDUz :: a_aDTa) :: a_aDTa type instance Compare (x_aDUQ :: a_aDTa) (y_aDUR :: a_aDTa) = (Case_1627543403 x_aDUQ y_aDUR (Let_1627543394Scrutinee_1627543303Sym2 x_aDUQ y_aDUR) :: Ordering) type instance (:<) (x_aDVr :: a_aDTa) (y_aDVs :: a_aDTa) = (Case_1627543440 x_aDVr y_aDVs (Let_1627543431Scrutinee_1627543307Sym2 x_aDVr y_aDVs) :: Bool) type instance (:>=) (x_aDVQ :: a_aDTa) (y_aDVR :: a_aDTa) = (Case_1627543465 x_aDVQ y_aDVR (Let_1627543456Scrutinee_1627543313Sym2 x_aDVQ y_aDVR) :: Bool) type instance (:>) (x_aDWf :: a_aDTa) (y_aDWg :: a_aDTa) = (Case_1627543490 x_aDWf y_aDWg (Let_1627543481Scrutinee_1627543311Sym2 x_aDWf y_aDWg) :: Bool) type instance (:<=) (x_aDWE :: a_aDTa) (y_aDWF :: a_aDTa) = (Case_1627543515 x_aDWE y_aDWF (Let_1627543506Scrutinee_1627543309Sym2 x_aDWE y_aDWF) :: Bool) type instance Max (x_aDX3 :: a_aDTa) (y_aDX4 :: a_aDTa) = (Case_1627543540 x_aDX3 y_aDX4 (Let_1627543531Scrutinee_1627543315Sym2 x_aDX3 y_aDX4) :: a_aDTa) type instance Min (x_aDXr :: a_aDTa) (y_aDXs :: a_aDTa) = (Case_1627543564 x_aDXr y_aDXs (Let_1627543555Scrutinee_1627543317Sym2 x_aDXr y_aDXs) :: a_aDTa) -- | 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_at9O :: TyFun a_12 (TyFun b_13 (a_12, b_13) -> *)) data Tuple2Sym1 (l_at9R :: a_12) (l_at9Q :: TyFun b_13 (a_12, b_13)) type Tuple2Sym2 (t_at9M :: a_12) (t_at9N :: b_13) = '(t_at9M, t_at9N) data Tuple3Sym0 (l_ata8 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *) -> *)) data Tuple3Sym1 (l_atab :: a_12) (l_ataa :: TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *)) data Tuple3Sym2 (l_atae :: a_12) (l_ataf :: b_13) (l_atad :: TyFun c_14 (a_12, b_13, c_14)) type Tuple3Sym3 (t_ata5 :: a_12) (t_ata6 :: b_13) (t_ata7 :: c_14) = '(t_ata5, t_ata6, t_ata7) data Tuple4Sym0 (l_ataC :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *) -> *)) data Tuple4Sym1 (l_ataF :: a_12) (l_ataE :: TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *)) data Tuple4Sym2 (l_ataI :: a_12) (l_ataJ :: b_13) (l_ataH :: TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *)) data Tuple4Sym3 (l_ataM :: a_12) (l_ataN :: b_13) (l_ataO :: c_14) (l_ataL :: TyFun d_15 (a_12, b_13, c_14, d_15)) type Tuple4Sym4 (t_atay :: a_12) (t_ataz :: b_13) (t_ataA :: c_14) (t_ataB :: d_15) = '(t_atay, t_ataz, t_ataA, t_ataB) data Tuple5Sym0 (l_atbh :: 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_atbk :: a_12) (l_atbj :: 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_atbn :: a_12) (l_atbo :: b_13) (l_atbm :: TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *)) data Tuple5Sym3 (l_atbr :: a_12) (l_atbs :: b_13) (l_atbt :: c_14) (l_atbq :: TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *)) data Tuple5Sym4 (l_atbw :: a_12) (l_atbx :: b_13) (l_atby :: c_14) (l_atbz :: d_15) (l_atbv :: TyFun e_16 (a_12, b_13, c_14, d_15, e_16)) type Tuple5Sym5 (t_atbc :: a_12) (t_atbd :: b_13) (t_atbe :: c_14) (t_atbf :: d_15) (t_atbg :: e_16) = '(t_atbc, t_atbd, t_atbe, t_atbf, t_atbg) data Tuple6Sym0 (l_atc8 :: 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_atcb :: a_12) (l_atca :: 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_atce :: a_12) (l_atcf :: b_13) (l_atcd :: 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_atci :: a_12) (l_atcj :: b_13) (l_atck :: c_14) (l_atch :: TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *)) data Tuple6Sym4 (l_atcn :: a_12) (l_atco :: b_13) (l_atcp :: c_14) (l_atcq :: d_15) (l_atcm :: TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *)) data Tuple6Sym5 (l_atct :: a_12) (l_atcu :: b_13) (l_atcv :: c_14) (l_atcw :: d_15) (l_atcx :: e_16) (l_atcs :: TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17)) type Tuple6Sym6 (t_atc2 :: a_12) (t_atc3 :: b_13) (t_atc4 :: c_14) (t_atc5 :: d_15) (t_atc6 :: e_16) (t_atc7 :: f_17) = '(t_atc2, t_atc3, t_atc4, t_atc5, t_atc6, t_atc7) data Tuple7Sym0 (l_atdc :: 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_atdf :: a_12) (l_atde :: 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_atdi :: a_12) (l_atdj :: b_13) (l_atdh :: 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_atdm :: a_12) (l_atdn :: b_13) (l_atdo :: c_14) (l_atdl :: 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_atdr :: a_12) (l_atds :: b_13) (l_atdt :: c_14) (l_atdu :: d_15) (l_atdq :: 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_atdx :: a_12) (l_atdy :: b_13) (l_atdz :: c_14) (l_atdA :: d_15) (l_atdB :: e_16) (l_atdw :: TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *)) data Tuple7Sym6 (l_atdE :: a_12) (l_atdF :: b_13) (l_atdG :: c_14) (l_atdH :: d_15) (l_atdI :: e_16) (l_atdJ :: f_17) (l_atdD :: TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18)) type Tuple7Sym7 (t_atd5 :: a_12) (t_atd6 :: b_13) (t_atd7 :: c_14) (t_atd8 :: d_15) (t_atd9 :: e_16) (t_atda :: f_17) (t_atdb :: g_18) = '(t_atd5, t_atd6, t_atd7, t_atd8, t_atd9, t_atda, t_atdb) -- | 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_aIdp -> Sing t_aIdq -> Sing t_aIdr -> Sing (Apply (Apply (Apply FoldrSym0 t_aIdp) t_aIdq) t_aIdr) sMap :: Sing t_aIdn -> Sing t_aIdo -> Sing (Apply (Apply MapSym0 t_aIdn) t_aIdo) (%:++) :: Sing t_aIdl -> Sing t_aIdm -> Sing (Apply (Apply (:++$) t_aIdl) t_aIdm) type Otherwise = (TrueSym0 :: Bool) sOtherwise :: Sing OtherwiseSym0 sId :: Sing t_aIdk -> Sing (Apply IdSym0 t_aIdk) sConst :: Sing t_aIdg -> Sing t_aIdh -> Sing (Apply (Apply ConstSym0 t_aIdg) t_aIdh) (%:.) :: Sing t_aIdd -> Sing t_aIde -> Sing t_aIdf -> Sing (Apply (Apply (Apply (:.$) t_aIdd) t_aIde) t_aIdf) (%$) :: Sing f -> Sing x -> Sing ((($$) @@ f) @@ x) (%$!) :: Sing f -> Sing x -> Sing ((($!$) @@ f) @@ x) sFlip :: Sing t_aIda -> Sing t_aIdb -> Sing t_aIdc -> Sing (Apply (Apply (Apply FlipSym0 t_aIda) t_aIdb) t_aIdc) sAsTypeOf :: Sing t_aIdi -> Sing t_aIdj -> Sing (Apply (Apply AsTypeOfSym0 t_aIdi) t_aIdj) sSeq :: Sing t_aId8 -> Sing t_aId9 -> Sing (Apply (Apply SeqSym0 t_aId8) t_aId9) data FoldrSym0 (l_aIcu :: TyFun (TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (TyFun b_aI9L (TyFun [a_aI9K] b_aI9L -> *) -> *)) data FoldrSym1 (l_aIcx :: TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (l_aIcw :: TyFun b_aI9L (TyFun [a_aI9K] b_aI9L -> *)) data FoldrSym2 (l_aIcA :: TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (l_aIcB :: b_aI9L) (l_aIcz :: TyFun [a_aI9K] b_aI9L) type FoldrSym3 (t_aIcr :: TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (t_aIcs :: b_aI9L) (t_aIct :: [a_aI9K]) = Foldr t_aIcr t_aIcs t_aIct data MapSym0 (l_aIcg :: TyFun (TyFun a_aI9R b_aI9S -> *) (TyFun [a_aI9R] [b_aI9S] -> *)) data MapSym1 (l_aIcj :: TyFun a_aI9R b_aI9S -> *) (l_aIci :: TyFun [a_aI9R] [b_aI9S]) type MapSym2 (t_aIce :: TyFun a_aI9R b_aI9S -> *) (t_aIcf :: [a_aI9R]) = Map t_aIce t_aIcf data (:++$) (l_aIc3 :: TyFun [a_aI9W] (TyFun [a_aI9W] [a_aI9W] -> *)) data (:++$$) (l_aIc6 :: [a_aI9W]) (l_aIc5 :: TyFun [a_aI9W] [a_aI9W]) type OtherwiseSym0 = Otherwise data IdSym0 (l_aIbX :: TyFun a_aIa1 a_aIa1) type IdSym1 (t_aIbW :: a_aIa1) = Id t_aIbW data ConstSym0 (l_aIby :: TyFun a_aIa3 (TyFun b_aIa4 a_aIa3 -> *)) data ConstSym1 (l_aIbB :: a_aIa3) (l_aIbA :: TyFun b_aIa4 a_aIa3) type ConstSym2 (t_aIbw :: a_aIa3) (t_aIbx :: b_aIa4) = Const t_aIbw t_aIbx data (:.$) (l_aIaS :: TyFun (TyFun b_aIa6 c_aIa7 -> *) (TyFun (TyFun a_aIa8 b_aIa6 -> *) (TyFun a_aIa8 c_aIa7 -> *) -> *)) data (:.$$) (l_aIaV :: TyFun b_aIa6 c_aIa7 -> *) (l_aIaU :: TyFun (TyFun a_aIa8 b_aIa6 -> *) (TyFun a_aIa8 c_aIa7 -> *)) data (:.$$$) (l_aIaY :: TyFun b_aIa6 c_aIa7 -> *) (l_aIaZ :: TyFun a_aIa8 b_aIa6 -> *) (l_aIaX :: TyFun a_aIa8 c_aIa7) 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_aIaA :: TyFun (TyFun a_aIac (TyFun b_aIad c_aIae -> *) -> *) (TyFun b_aIad (TyFun a_aIac c_aIae -> *) -> *)) data FlipSym1 (l_aIaD :: TyFun a_aIac (TyFun b_aIad c_aIae -> *) -> *) (l_aIaC :: TyFun b_aIad (TyFun a_aIac c_aIae -> *)) data FlipSym2 (l_aIaG :: TyFun a_aIac (TyFun b_aIad c_aIae -> *) -> *) (l_aIaH :: b_aIad) (l_aIaF :: TyFun a_aIac c_aIae) data AsTypeOfSym0 (l_aIbN :: TyFun a_aIai (TyFun a_aIai a_aIai -> *)) data AsTypeOfSym1 (l_aIbQ :: a_aIai) (l_aIbP :: TyFun a_aIai a_aIai) type AsTypeOfSym2 (t_aIbL :: a_aIai) (t_aIbM :: a_aIai) = AsTypeOf t_aIbL t_aIbM data SeqSym0 (l_aIao :: TyFun a_aIaj (TyFun b_aIak b_aIak -> *)) data SeqSym1 (l_aIar :: a_aIaj) (l_aIaq :: TyFun b_aIak b_aIak) type SeqSym2 (t_aIam :: a_aIaj) (t_aIan :: b_aIak) = Seq t_aIam t_aIan instance SuppressUnusedWarnings FoldrSym0 instance SuppressUnusedWarnings FoldrSym1 instance SuppressUnusedWarnings FoldrSym2 instance SuppressUnusedWarnings MapSym0 instance SuppressUnusedWarnings MapSym1 instance SuppressUnusedWarnings (:++$) instance SuppressUnusedWarnings (:++$$) instance SuppressUnusedWarnings IdSym0 instance SuppressUnusedWarnings AsTypeOfSym0 instance SuppressUnusedWarnings AsTypeOfSym1 instance SuppressUnusedWarnings ConstSym0 instance SuppressUnusedWarnings ConstSym1 instance SuppressUnusedWarnings (:.$) instance SuppressUnusedWarnings (:.$$) instance SuppressUnusedWarnings (:.$$$) instance SuppressUnusedWarnings FlipSym0 instance SuppressUnusedWarnings FlipSym1 instance SuppressUnusedWarnings FlipSym2 instance SuppressUnusedWarnings SeqSym0 instance SuppressUnusedWarnings SeqSym1 instance SuppressUnusedWarnings Let_1627559879GoSym0 instance SuppressUnusedWarnings Let_1627559879GoSym1 instance SuppressUnusedWarnings Let_1627559879GoSym2 instance SuppressUnusedWarnings Let_1627559879GoSym3 instance SuppressUnusedWarnings Lambda_1627559779Sym0 instance SuppressUnusedWarnings Lambda_1627559779Sym1 instance SuppressUnusedWarnings Lambda_1627559779Sym2 instance SuppressUnusedWarnings Lambda_1627559779Sym3 -- | 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_at9y :: Either a_a8tV b_a8tW) = Sing z_at9y either_ :: (a_aL1z -> c_aL1A) -> (b_aL1B -> c_aL1A) -> Either a_aL1z b_aL1B -> c_aL1A sEither_ :: Sing t_aL21 -> Sing t_aL22 -> Sing t_aL23 -> Sing (Apply (Apply (Apply Either_Sym0 t_aL21) t_aL22) t_aL23) sLefts :: Sing t_aLpn -> Sing (Apply LeftsSym0 t_aLpn) sRights :: Sing t_aLpm -> Sing (Apply RightsSym0 t_aLpm) sPartitionEithers :: Sing t_aLpl -> Sing (Apply PartitionEithersSym0 t_aLpl) sIsLeft :: Sing t_aLpk -> Sing (Apply IsLeftSym0 t_aLpk) sIsRight :: Sing t_aLpj -> Sing (Apply IsRightSym0 t_aLpj) data LeftSym0 (l_at9t :: TyFun a_a8tV (Either a_a8tV b_a8tW)) type LeftSym1 (t_at9s :: a_a8tV) = Left t_at9s data RightSym0 (l_at9w :: TyFun b_a8tW (Either a_a8tV b_a8tW)) type RightSym1 (t_at9v :: b_a8tW) = Right t_at9v data Either_Sym0 (l_aL1J :: TyFun (TyFun a_aL1z c_aL1A -> *) (TyFun (TyFun b_aL1B c_aL1A -> *) (TyFun (Either a_aL1z b_aL1B) c_aL1A -> *) -> *)) data Either_Sym1 (l_aL1M :: TyFun a_aL1z c_aL1A -> *) (l_aL1L :: TyFun (TyFun b_aL1B c_aL1A -> *) (TyFun (Either a_aL1z b_aL1B) c_aL1A -> *)) data Either_Sym2 (l_aL1P :: TyFun a_aL1z c_aL1A -> *) (l_aL1Q :: TyFun b_aL1B c_aL1A -> *) (l_aL1O :: TyFun (Either a_aL1z b_aL1B) c_aL1A) type Either_Sym3 (t_aL1G :: TyFun a_aL1z c_aL1A -> *) (t_aL1H :: TyFun b_aL1B c_aL1A -> *) (t_aL1I :: Either a_aL1z b_aL1B) = Either_ t_aL1G t_aL1H t_aL1I data LeftsSym0 (l_aLpc :: TyFun [Either a_aLnM b_aLnN] [a_aLnM]) type LeftsSym1 (t_aLpb :: [Either a_aLnM b_aLnN]) = Lefts t_aLpb data RightsSym0 (l_aLp4 :: TyFun [Either a_aLnR b_aLnS] [b_aLnS]) type RightsSym1 (t_aLp3 :: [Either a_aLnR b_aLnS]) = Rights t_aLp3 data IsLeftSym0 (l_aLoh :: TyFun (Either a_aLo6 b_aLo7) Bool) type IsLeftSym1 (t_aLog :: Either a_aLo6 b_aLo7) = IsLeft t_aLog data IsRightSym0 (l_aLob :: TyFun (Either a_aLo8 b_aLo9) Bool) type IsRightSym1 (t_aLoa :: Either a_aLo8 b_aLo9) = IsRight t_aLoa instance SuppressUnusedWarnings LeftsSym0 instance SuppressUnusedWarnings RightsSym0 instance SuppressUnusedWarnings PartitionEithersSym0 instance SuppressUnusedWarnings IsLeftSym0 instance SuppressUnusedWarnings IsRightSym0 instance SuppressUnusedWarnings Let_1627572137LeftSym0 instance SuppressUnusedWarnings Let_1627572137LeftSym1 instance SuppressUnusedWarnings Let_1627572137LeftSym2 instance SuppressUnusedWarnings Let_1627572137RightSym0 instance SuppressUnusedWarnings Let_1627572137RightSym1 instance SuppressUnusedWarnings Let_1627572137RightSym2 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_aL1z -> c_aL1A) -> (b_aL1B -> c_aL1A) -> Either a_aL1z b_aL1B -> c_aL1A data LeftSym0 (l_at9t :: TyFun a_a8tV (Either a_a8tV b_a8tW)) type LeftSym1 (t_at9s :: a_a8tV) = Left t_at9s data RightSym0 (l_at9w :: TyFun b_a8tW (Either a_a8tV b_a8tW)) type RightSym1 (t_at9v :: b_a8tW) = Right t_at9v data Either_Sym0 (l_aL1J :: TyFun (TyFun a_aL1z c_aL1A -> *) (TyFun (TyFun b_aL1B c_aL1A -> *) (TyFun (Either a_aL1z b_aL1B) c_aL1A -> *) -> *)) data Either_Sym1 (l_aL1M :: TyFun a_aL1z c_aL1A -> *) (l_aL1L :: TyFun (TyFun b_aL1B c_aL1A -> *) (TyFun (Either a_aL1z b_aL1B) c_aL1A -> *)) data Either_Sym2 (l_aL1P :: TyFun a_aL1z c_aL1A -> *) (l_aL1Q :: TyFun b_aL1B c_aL1A -> *) (l_aL1O :: TyFun (Either a_aL1z b_aL1B) c_aL1A) type Either_Sym3 (t_aL1G :: TyFun a_aL1z c_aL1A -> *) (t_aL1H :: TyFun b_aL1B c_aL1A -> *) (t_aL1I :: Either a_aL1z b_aL1B) = Either_ t_aL1G t_aL1H t_aL1I data LeftsSym0 (l_aLpc :: TyFun [Either a_aLnM b_aLnN] [a_aLnM]) type LeftsSym1 (t_aLpb :: [Either a_aLnM b_aLnN]) = Lefts t_aLpb data RightsSym0 (l_aLp4 :: TyFun [Either a_aLnR b_aLnS] [b_aLnS]) type RightsSym1 (t_aLp3 :: [Either a_aLnR b_aLnS]) = Rights t_aLp3 data IsLeftSym0 (l_aLoh :: TyFun (Either a_aLo6 b_aLo7) Bool) type IsLeftSym1 (t_aLog :: Either a_aLo6 b_aLo7) = IsLeft t_aLog data IsRightSym0 (l_aLob :: TyFun (Either a_aLo8 b_aLo9) Bool) type IsRightSym1 (t_aLoa :: Either a_aLo8 b_aLo9) = IsRight t_aLoa -- | 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_at9J :: ()) = Sing z_at9J type STuple2 (z_at9T :: (a_12, b_13)) = Sing z_at9T type STuple3 (z_atah :: (a_12, b_13, c_14)) = Sing z_atah type STuple4 (z_ataQ :: (a_12, b_13, c_14, d_15)) = Sing z_ataQ type STuple5 (z_atbB :: (a_12, b_13, c_14, d_15, e_16)) = Sing z_atbB type STuple6 (z_atcz :: (a_12, b_13, c_14, d_15, e_16, f_17)) = Sing z_atcz type STuple7 (z_atdL :: (a_12, b_13, c_14, d_15, e_16, f_17, g_18)) = Sing z_atdL sFst :: Sing t_aNLq -> Sing (Apply FstSym0 t_aNLq) sSnd :: Sing t_aNLp -> Sing (Apply SndSym0 t_aNLp) sCurry :: Sing t_aNLm -> Sing t_aNLn -> Sing t_aNLo -> Sing (Apply (Apply (Apply CurrySym0 t_aNLm) t_aNLn) t_aNLo) sUncurry :: Sing t_aNLr -> Sing t_aNLs -> Sing (Apply (Apply UncurrySym0 t_aNLr) t_aNLs) sSwap :: Sing t_aNLl -> Sing (Apply SwapSym0 t_aNLl) type Tuple0Sym0 = '() data Tuple2Sym0 (l_at9O :: TyFun a_12 (TyFun b_13 (a_12, b_13) -> *)) data Tuple2Sym1 (l_at9R :: a_12) (l_at9Q :: TyFun b_13 (a_12, b_13)) type Tuple2Sym2 (t_at9M :: a_12) (t_at9N :: b_13) = '(t_at9M, t_at9N) data Tuple3Sym0 (l_ata8 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *) -> *)) data Tuple3Sym1 (l_atab :: a_12) (l_ataa :: TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *)) data Tuple3Sym2 (l_atae :: a_12) (l_ataf :: b_13) (l_atad :: TyFun c_14 (a_12, b_13, c_14)) type Tuple3Sym3 (t_ata5 :: a_12) (t_ata6 :: b_13) (t_ata7 :: c_14) = '(t_ata5, t_ata6, t_ata7) data Tuple4Sym0 (l_ataC :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *) -> *)) data Tuple4Sym1 (l_ataF :: a_12) (l_ataE :: TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *)) data Tuple4Sym2 (l_ataI :: a_12) (l_ataJ :: b_13) (l_ataH :: TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *)) data Tuple4Sym3 (l_ataM :: a_12) (l_ataN :: b_13) (l_ataO :: c_14) (l_ataL :: TyFun d_15 (a_12, b_13, c_14, d_15)) type Tuple4Sym4 (t_atay :: a_12) (t_ataz :: b_13) (t_ataA :: c_14) (t_ataB :: d_15) = '(t_atay, t_ataz, t_ataA, t_ataB) data Tuple5Sym0 (l_atbh :: 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_atbk :: a_12) (l_atbj :: 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_atbn :: a_12) (l_atbo :: b_13) (l_atbm :: TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *)) data Tuple5Sym3 (l_atbr :: a_12) (l_atbs :: b_13) (l_atbt :: c_14) (l_atbq :: TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *)) data Tuple5Sym4 (l_atbw :: a_12) (l_atbx :: b_13) (l_atby :: c_14) (l_atbz :: d_15) (l_atbv :: TyFun e_16 (a_12, b_13, c_14, d_15, e_16)) type Tuple5Sym5 (t_atbc :: a_12) (t_atbd :: b_13) (t_atbe :: c_14) (t_atbf :: d_15) (t_atbg :: e_16) = '(t_atbc, t_atbd, t_atbe, t_atbf, t_atbg) data Tuple6Sym0 (l_atc8 :: 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_atcb :: a_12) (l_atca :: 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_atce :: a_12) (l_atcf :: b_13) (l_atcd :: 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_atci :: a_12) (l_atcj :: b_13) (l_atck :: c_14) (l_atch :: TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *)) data Tuple6Sym4 (l_atcn :: a_12) (l_atco :: b_13) (l_atcp :: c_14) (l_atcq :: d_15) (l_atcm :: TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *)) data Tuple6Sym5 (l_atct :: a_12) (l_atcu :: b_13) (l_atcv :: c_14) (l_atcw :: d_15) (l_atcx :: e_16) (l_atcs :: TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17)) type Tuple6Sym6 (t_atc2 :: a_12) (t_atc3 :: b_13) (t_atc4 :: c_14) (t_atc5 :: d_15) (t_atc6 :: e_16) (t_atc7 :: f_17) = '(t_atc2, t_atc3, t_atc4, t_atc5, t_atc6, t_atc7) data Tuple7Sym0 (l_atdc :: 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_atdf :: a_12) (l_atde :: 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_atdi :: a_12) (l_atdj :: b_13) (l_atdh :: 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_atdm :: a_12) (l_atdn :: b_13) (l_atdo :: c_14) (l_atdl :: 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_atdr :: a_12) (l_atds :: b_13) (l_atdt :: c_14) (l_atdu :: d_15) (l_atdq :: 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_atdx :: a_12) (l_atdy :: b_13) (l_atdz :: c_14) (l_atdA :: d_15) (l_atdB :: e_16) (l_atdw :: TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *)) data Tuple7Sym6 (l_atdE :: a_12) (l_atdF :: b_13) (l_atdG :: c_14) (l_atdH :: d_15) (l_atdI :: e_16) (l_atdJ :: f_17) (l_atdD :: TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18)) type Tuple7Sym7 (t_atd5 :: a_12) (t_atd6 :: b_13) (t_atd7 :: c_14) (t_atd8 :: d_15) (t_atd9 :: e_16) (t_atda :: f_17) (t_atdb :: g_18) = '(t_atd5, t_atd6, t_atd7, t_atd8, t_atd9, t_atda, t_atdb) data FstSym0 (l_aNL5 :: TyFun (a_aNKf, b_aNKg) a_aNKf) type FstSym1 (t_aNL4 :: (a_aNKf, b_aNKg)) = Fst t_aNL4 data SndSym0 (l_aNKZ :: TyFun (a_aNKi, b_aNKj) b_aNKj) type SndSym1 (t_aNKY :: (a_aNKi, b_aNKj)) = Snd t_aNKY data CurrySym0 (l_aNKJ :: TyFun (TyFun (a_aNKl, b_aNKm) c_aNKn -> *) (TyFun a_aNKl (TyFun b_aNKm c_aNKn -> *) -> *)) data CurrySym1 (l_aNKM :: TyFun (a_aNKl, b_aNKm) c_aNKn -> *) (l_aNKL :: TyFun a_aNKl (TyFun b_aNKm c_aNKn -> *)) data CurrySym2 (l_aNKP :: TyFun (a_aNKl, b_aNKm) c_aNKn -> *) (l_aNKQ :: a_aNKl) (l_aNKO :: TyFun b_aNKm c_aNKn) type CurrySym3 (t_aNKG :: TyFun (a_aNKl, b_aNKm) c_aNKn -> *) (t_aNKH :: a_aNKl) (t_aNKI :: b_aNKm) = Curry t_aNKG t_aNKH t_aNKI data UncurrySym0 (l_aNLc :: TyFun (TyFun a_aNKr (TyFun b_aNKs c_aNKt -> *) -> *) (TyFun (a_aNKr, b_aNKs) c_aNKt -> *)) data UncurrySym1 (l_aNLf :: TyFun a_aNKr (TyFun b_aNKs c_aNKt -> *) -> *) (l_aNLe :: TyFun (a_aNKr, b_aNKs) c_aNKt) type UncurrySym2 (t_aNLa :: TyFun a_aNKr (TyFun b_aNKs c_aNKt -> *) -> *) (t_aNLb :: (a_aNKr, b_aNKs)) = Uncurry t_aNLa t_aNLb data SwapSym0 (l_aNKB :: TyFun (a_aNKw, b_aNKx) (b_aNKx, a_aNKw)) type SwapSym1 (t_aNKA :: (a_aNKw, b_aNKx)) = Swap t_aNKA 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_at9O :: TyFun a_12 (TyFun b_13 (a_12, b_13) -> *)) data Tuple2Sym1 (l_at9R :: a_12) (l_at9Q :: TyFun b_13 (a_12, b_13)) type Tuple2Sym2 (t_at9M :: a_12) (t_at9N :: b_13) = '(t_at9M, t_at9N) data Tuple3Sym0 (l_ata8 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *) -> *)) data Tuple3Sym1 (l_atab :: a_12) (l_ataa :: TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *)) data Tuple3Sym2 (l_atae :: a_12) (l_ataf :: b_13) (l_atad :: TyFun c_14 (a_12, b_13, c_14)) type Tuple3Sym3 (t_ata5 :: a_12) (t_ata6 :: b_13) (t_ata7 :: c_14) = '(t_ata5, t_ata6, t_ata7) data Tuple4Sym0 (l_ataC :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *) -> *)) data Tuple4Sym1 (l_ataF :: a_12) (l_ataE :: TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *)) data Tuple4Sym2 (l_ataI :: a_12) (l_ataJ :: b_13) (l_ataH :: TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *)) data Tuple4Sym3 (l_ataM :: a_12) (l_ataN :: b_13) (l_ataO :: c_14) (l_ataL :: TyFun d_15 (a_12, b_13, c_14, d_15)) type Tuple4Sym4 (t_atay :: a_12) (t_ataz :: b_13) (t_ataA :: c_14) (t_ataB :: d_15) = '(t_atay, t_ataz, t_ataA, t_ataB) data Tuple5Sym0 (l_atbh :: 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_atbk :: a_12) (l_atbj :: 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_atbn :: a_12) (l_atbo :: b_13) (l_atbm :: TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *)) data Tuple5Sym3 (l_atbr :: a_12) (l_atbs :: b_13) (l_atbt :: c_14) (l_atbq :: TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *)) data Tuple5Sym4 (l_atbw :: a_12) (l_atbx :: b_13) (l_atby :: c_14) (l_atbz :: d_15) (l_atbv :: TyFun e_16 (a_12, b_13, c_14, d_15, e_16)) type Tuple5Sym5 (t_atbc :: a_12) (t_atbd :: b_13) (t_atbe :: c_14) (t_atbf :: d_15) (t_atbg :: e_16) = '(t_atbc, t_atbd, t_atbe, t_atbf, t_atbg) data Tuple6Sym0 (l_atc8 :: 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_atcb :: a_12) (l_atca :: 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_atce :: a_12) (l_atcf :: b_13) (l_atcd :: 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_atci :: a_12) (l_atcj :: b_13) (l_atck :: c_14) (l_atch :: TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *)) data Tuple6Sym4 (l_atcn :: a_12) (l_atco :: b_13) (l_atcp :: c_14) (l_atcq :: d_15) (l_atcm :: TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *)) data Tuple6Sym5 (l_atct :: a_12) (l_atcu :: b_13) (l_atcv :: c_14) (l_atcw :: d_15) (l_atcx :: e_16) (l_atcs :: TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17)) type Tuple6Sym6 (t_atc2 :: a_12) (t_atc3 :: b_13) (t_atc4 :: c_14) (t_atc5 :: d_15) (t_atc6 :: e_16) (t_atc7 :: f_17) = '(t_atc2, t_atc3, t_atc4, t_atc5, t_atc6, t_atc7) data Tuple7Sym0 (l_atdc :: 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_atdf :: a_12) (l_atde :: 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_atdi :: a_12) (l_atdj :: b_13) (l_atdh :: 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_atdm :: a_12) (l_atdn :: b_13) (l_atdo :: c_14) (l_atdl :: 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_atdr :: a_12) (l_atds :: b_13) (l_atdt :: c_14) (l_atdu :: d_15) (l_atdq :: 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_atdx :: a_12) (l_atdy :: b_13) (l_atdz :: c_14) (l_atdA :: d_15) (l_atdB :: e_16) (l_atdw :: TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *)) data Tuple7Sym6 (l_atdE :: a_12) (l_atdF :: b_13) (l_atdG :: c_14) (l_atdH :: d_15) (l_atdI :: e_16) (l_atdJ :: f_17) (l_atdD :: TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18)) type Tuple7Sym7 (t_atd5 :: a_12) (t_atd6 :: b_13) (t_atd7 :: c_14) (t_atd8 :: d_15) (t_atd9 :: e_16) (t_atda :: f_17) (t_atdb :: g_18) = '(t_atd5, t_atd6, t_atd7, t_atd8, t_atd9, t_atda, t_atdb) data FstSym0 (l_aNL5 :: TyFun (a_aNKf, b_aNKg) a_aNKf) type FstSym1 (t_aNL4 :: (a_aNKf, b_aNKg)) = Fst t_aNL4 data SndSym0 (l_aNKZ :: TyFun (a_aNKi, b_aNKj) b_aNKj) type SndSym1 (t_aNKY :: (a_aNKi, b_aNKj)) = Snd t_aNKY data CurrySym0 (l_aNKJ :: TyFun (TyFun (a_aNKl, b_aNKm) c_aNKn -> *) (TyFun a_aNKl (TyFun b_aNKm c_aNKn -> *) -> *)) data CurrySym1 (l_aNKM :: TyFun (a_aNKl, b_aNKm) c_aNKn -> *) (l_aNKL :: TyFun a_aNKl (TyFun b_aNKm c_aNKn -> *)) data CurrySym2 (l_aNKP :: TyFun (a_aNKl, b_aNKm) c_aNKn -> *) (l_aNKQ :: a_aNKl) (l_aNKO :: TyFun b_aNKm c_aNKn) type CurrySym3 (t_aNKG :: TyFun (a_aNKl, b_aNKm) c_aNKn -> *) (t_aNKH :: a_aNKl) (t_aNKI :: b_aNKm) = Curry t_aNKG t_aNKH t_aNKI data UncurrySym0 (l_aNLc :: TyFun (TyFun a_aNKr (TyFun b_aNKs c_aNKt -> *) -> *) (TyFun (a_aNKr, b_aNKs) c_aNKt -> *)) data UncurrySym1 (l_aNLf :: TyFun a_aNKr (TyFun b_aNKs c_aNKt -> *) -> *) (l_aNLe :: TyFun (a_aNKr, b_aNKs) c_aNKt) type UncurrySym2 (t_aNLa :: TyFun a_aNKr (TyFun b_aNKs c_aNKt -> *) -> *) (t_aNLb :: (a_aNKr, b_aNKs)) = Uncurry t_aNLa t_aNLb data SwapSym0 (l_aNKB :: TyFun (a_aNKw, b_aNKx) (b_aNKx, a_aNKw)) type SwapSym1 (t_aNKA :: (a_aNKw, b_aNKx)) = Swap t_aNKA -- | 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_aIcu :: TyFun (TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (TyFun b_aI9L (TyFun [a_aI9K] b_aI9L -> *) -> *)) data FoldrSym1 (l_aIcx :: TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (l_aIcw :: TyFun b_aI9L (TyFun [a_aI9K] b_aI9L -> *)) data FoldrSym2 (l_aIcA :: TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (l_aIcB :: b_aI9L) (l_aIcz :: TyFun [a_aI9K] b_aI9L) type FoldrSym3 (t_aIcr :: TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (t_aIcs :: b_aI9L) (t_aIct :: [a_aI9K]) = Foldr t_aIcr t_aIcs t_aIct data MapSym0 (l_aIcg :: TyFun (TyFun a_aI9R b_aI9S -> *) (TyFun [a_aI9R] [b_aI9S] -> *)) data MapSym1 (l_aIcj :: TyFun a_aI9R b_aI9S -> *) (l_aIci :: TyFun [a_aI9R] [b_aI9S]) type MapSym2 (t_aIce :: TyFun a_aI9R b_aI9S -> *) (t_aIcf :: [a_aI9R]) = Map t_aIce t_aIcf data (:++$) (l_aIc3 :: TyFun [a_aI9W] (TyFun [a_aI9W] [a_aI9W] -> *)) data (:++$$) (l_aIc6 :: [a_aI9W]) (l_aIc5 :: TyFun [a_aI9W] [a_aI9W]) type OtherwiseSym0 = Otherwise data IdSym0 (l_aIbX :: TyFun a_aIa1 a_aIa1) type IdSym1 (t_aIbW :: a_aIa1) = Id t_aIbW data ConstSym0 (l_aIby :: TyFun a_aIa3 (TyFun b_aIa4 a_aIa3 -> *)) data ConstSym1 (l_aIbB :: a_aIa3) (l_aIbA :: TyFun b_aIa4 a_aIa3) type ConstSym2 (t_aIbw :: a_aIa3) (t_aIbx :: b_aIa4) = Const t_aIbw t_aIbx data (:.$) (l_aIaS :: TyFun (TyFun b_aIa6 c_aIa7 -> *) (TyFun (TyFun a_aIa8 b_aIa6 -> *) (TyFun a_aIa8 c_aIa7 -> *) -> *)) data (:.$$) (l_aIaV :: TyFun b_aIa6 c_aIa7 -> *) (l_aIaU :: TyFun (TyFun a_aIa8 b_aIa6 -> *) (TyFun a_aIa8 c_aIa7 -> *)) data (:.$$$) (l_aIaY :: TyFun b_aIa6 c_aIa7 -> *) (l_aIaZ :: TyFun a_aIa8 b_aIa6 -> *) (l_aIaX :: TyFun a_aIa8 c_aIa7) 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_aIaA :: TyFun (TyFun a_aIac (TyFun b_aIad c_aIae -> *) -> *) (TyFun b_aIad (TyFun a_aIac c_aIae -> *) -> *)) data FlipSym1 (l_aIaD :: TyFun a_aIac (TyFun b_aIad c_aIae -> *) -> *) (l_aIaC :: TyFun b_aIad (TyFun a_aIac c_aIae -> *)) data FlipSym2 (l_aIaG :: TyFun a_aIac (TyFun b_aIad c_aIae -> *) -> *) (l_aIaH :: b_aIad) (l_aIaF :: TyFun a_aIac c_aIae) data UntilSym0 (l_aOLX :: TyFun (TyFun a_aOLN Bool -> *) (TyFun (TyFun a_aOLN a_aOLN -> *) (TyFun a_aOLN a_aOLN -> *) -> *)) data UntilSym1 (l_aOM0 :: TyFun a_aOLN Bool -> *) (l_aOLZ :: TyFun (TyFun a_aOLN a_aOLN -> *) (TyFun a_aOLN a_aOLN -> *)) data UntilSym2 (l_aOM3 :: TyFun a_aOLN Bool -> *) (l_aOM4 :: TyFun a_aOLN a_aOLN -> *) (l_aOM2 :: TyFun a_aOLN a_aOLN) type UntilSym3 (t_aOLU :: TyFun a_aOLN Bool -> *) (t_aOLV :: TyFun a_aOLN a_aOLN -> *) (t_aOLW :: a_aOLN) = Until t_aOLU t_aOLV t_aOLW data AsTypeOfSym0 (l_aIbN :: TyFun a_aIai (TyFun a_aIai a_aIai -> *)) data AsTypeOfSym1 (l_aIbQ :: a_aIai) (l_aIbP :: TyFun a_aIai a_aIai) type AsTypeOfSym2 (t_aIbL :: a_aIai) (t_aIbM :: a_aIai) = AsTypeOf t_aIbL t_aIbM data SeqSym0 (l_aIao :: TyFun a_aIaj (TyFun b_aIak b_aIak -> *)) data SeqSym1 (l_aIar :: a_aIaj) (l_aIaq :: TyFun b_aIak b_aIak) type SeqSym2 (t_aIam :: a_aIaj) (t_aIan :: b_aIak) = Seq t_aIam t_aIan instance SuppressUnusedWarnings UntilSym0 instance SuppressUnusedWarnings UntilSym1 instance SuppressUnusedWarnings UntilSym2 instance SuppressUnusedWarnings Let_1627585142GoSym0 instance SuppressUnusedWarnings Let_1627585142GoSym1 instance SuppressUnusedWarnings Let_1627585142GoSym2 instance SuppressUnusedWarnings Let_1627585142GoSym3 -- | 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_at9h :: [a_12]) = Sing z_at9h (%:++) :: Sing t_aIdl -> Sing t_aIdm -> Sing (Apply (Apply (:++$) t_aIdl) t_aIdm) sHead :: Sing t_aRTs -> Sing (Apply HeadSym0 t_aRTs) sLast :: Sing t_aRTr -> Sing (Apply LastSym0 t_aRTr) sTail :: Sing t_aRTq -> Sing (Apply TailSym0 t_aRTq) sInit :: Sing t_aRTp -> Sing (Apply InitSym0 t_aRTp) sNull :: Sing t_aRTo -> Sing (Apply NullSym0 t_aRTo) sMap :: Sing t_aIdn -> Sing t_aIdo -> Sing (Apply (Apply MapSym0 t_aIdn) t_aIdo) sReverse :: Sing t_aRTl -> Sing (Apply ReverseSym0 t_aRTl) sIntersperse :: Sing t_aRTh -> Sing t_aRTi -> Sing (Apply (Apply IntersperseSym0 t_aRTh) t_aRTi) sIntercalate :: Sing t_aRTj -> Sing t_aRTk -> Sing (Apply (Apply IntercalateSym0 t_aRTj) t_aRTk) sSubsequences :: Sing t_aRTg -> Sing (Apply SubsequencesSym0 t_aRTg) sPermutations :: Sing t_aRTc -> Sing (Apply PermutationsSym0 t_aRTc) sFoldl :: Sing t_aRSY -> Sing t_aRSZ -> Sing t_aRT0 -> Sing (Apply (Apply (Apply FoldlSym0 t_aRSY) t_aRSZ) t_aRT0) sFoldl' :: Sing t_aRST -> Sing t_aRSU -> Sing t_aRSV -> Sing (Apply (Apply (Apply Foldl'Sym0 t_aRST) t_aRSU) t_aRSV) sFoldl1 :: Sing t_aRT1 -> Sing t_aRT2 -> Sing (Apply (Apply Foldl1Sym0 t_aRT1) t_aRT2) sFoldl1' :: Sing t_aRSW -> Sing t_aRSX -> Sing (Apply (Apply Foldl1'Sym0 t_aRSW) t_aRSX) sFoldr :: Sing t_aIdp -> Sing t_aIdq -> Sing t_aIdr -> Sing (Apply (Apply (Apply FoldrSym0 t_aIdp) t_aIdq) t_aIdr) sFoldr1 :: Sing t_aRSR -> Sing t_aRSS -> Sing (Apply (Apply Foldr1Sym0 t_aRSR) t_aRSS) sConcat :: Sing t_aRSQ -> Sing (Apply ConcatSym0 t_aRSQ) sConcatMap :: Sing t_aRSO -> Sing t_aRSP -> Sing (Apply (Apply ConcatMapSym0 t_aRSO) t_aRSP) sAnd :: Sing t_aRSN -> Sing (Apply AndSym0 t_aRSN) sOr :: Sing t_aRSM -> Sing (Apply OrSym0 t_aRSM) sAny_ :: Sing t_aPcD -> Sing t_aPcE -> Sing (Apply (Apply Any_Sym0 t_aPcD) t_aPcE) sAll :: Sing t_aRSK -> Sing t_aRSL -> Sing (Apply (Apply AllSym0 t_aRSK) t_aRSL) any_ :: (a_aPcm -> Bool) -> [a_aPcm] -> Bool sScanl :: Sing t_aRSF -> Sing t_aRSG -> Sing t_aRSH -> Sing (Apply (Apply (Apply ScanlSym0 t_aRSF) t_aRSG) t_aRSH) sScanl1 :: Sing t_aRSI -> Sing t_aRSJ -> Sing (Apply (Apply Scanl1Sym0 t_aRSI) t_aRSJ) sScanr :: Sing t_aRSC -> Sing t_aRSD -> Sing t_aRSE -> Sing (Apply (Apply (Apply ScanrSym0 t_aRSC) t_aRSD) t_aRSE) sScanr1 :: Sing t_aRSA -> Sing t_aRSB -> Sing (Apply (Apply Scanr1Sym0 t_aRSA) t_aRSB) sMapAccumL :: Sing t_aRSx -> Sing t_aRSy -> Sing t_aRSz -> Sing (Apply (Apply (Apply MapAccumLSym0 t_aRSx) t_aRSy) t_aRSz) sMapAccumR :: Sing t_aRSu -> Sing t_aRSv -> Sing t_aRSw -> Sing (Apply (Apply (Apply MapAccumRSym0 t_aRSu) t_aRSv) t_aRSw) sUnfoldr :: Sing t_aRSs -> Sing t_aRSt -> Sing (Apply (Apply UnfoldrSym0 t_aRSs) t_aRSt) sInits :: Sing t_aRSr -> Sing (Apply InitsSym0 t_aRSr) sTails :: Sing t_aRSo -> Sing (Apply TailsSym0 t_aRSo) sIsPrefixOf :: SEq (KProxy :: KProxy a_aRfV) => Sing t_aRSm -> Sing t_aRSn -> Sing (Apply (Apply IsPrefixOfSym0 t_aRSm) t_aRSn) sIsSuffixOf :: SEq (KProxy :: KProxy a_aRg0) => Sing t_aRTm -> Sing t_aRTn -> Sing (Apply (Apply IsSuffixOfSym0 t_aRTm) t_aRTn) sIsInfixOf :: SEq (KProxy :: KProxy a_aRg3) => Sing t_aRSp -> Sing t_aRSq -> Sing (Apply (Apply IsInfixOfSym0 t_aRSp) t_aRSq) sElem :: SEq (KProxy :: KProxy a_aRg6) => Sing t_aRSk -> Sing t_aRSl -> Sing (Apply (Apply ElemSym0 t_aRSk) t_aRSl) sNotElem :: SEq (KProxy :: KProxy a_aRga) => Sing t_aRSi -> Sing t_aRSj -> Sing (Apply (Apply NotElemSym0 t_aRSi) t_aRSj) sZip :: Sing t_aRSg -> Sing t_aRSh -> Sing (Apply (Apply ZipSym0 t_aRSg) t_aRSh) sZip3 :: Sing t_aRSd -> Sing t_aRSe -> Sing t_aRSf -> Sing (Apply (Apply (Apply Zip3Sym0 t_aRSd) t_aRSe) t_aRSf) sZipWith :: Sing t_aRSa -> Sing t_aRSb -> Sing t_aRSc -> Sing (Apply (Apply (Apply ZipWithSym0 t_aRSa) t_aRSb) t_aRSc) sZipWith3 :: Sing t_aRS6 -> Sing t_aRS7 -> Sing t_aRS8 -> Sing t_aRS9 -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_aRS6) t_aRS7) t_aRS8) t_aRS9) sUnzip :: Sing t_aRS5 -> Sing (Apply UnzipSym0 t_aRS5) sUnzip3 :: Sing t_aRS4 -> Sing (Apply Unzip3Sym0 t_aRS4) sUnzip4 :: Sing t_aRS3 -> Sing (Apply Unzip4Sym0 t_aRS3) sUnzip5 :: Sing t_aRS2 -> Sing (Apply Unzip5Sym0 t_aRS2) sUnzip6 :: Sing t_aRS1 -> Sing (Apply Unzip6Sym0 t_aRS1) sUnzip7 :: Sing t_aRS0 -> Sing (Apply Unzip7Sym0 t_aRS0) sDelete :: SEq (KProxy :: KProxy a_aRib) => Sing t_aRRY -> Sing t_aRRZ -> Sing (Apply (Apply DeleteSym0 t_aRRY) t_aRRZ) (%:\\) :: SEq (KProxy :: KProxy a_aRic) => Sing t_aRT7 -> Sing t_aRT8 -> Sing (Apply (Apply (:\\$) t_aRT7) t_aRT8) sDeleteBy :: Sing t_aRRV -> Sing t_aRRW -> Sing t_aRRX -> Sing (Apply (Apply (Apply DeleteBySym0 t_aRRV) t_aRRW) t_aRRX) sDeleteFirstsBy :: Sing t_aRT9 -> Sing t_aRTa -> Sing t_aRTb -> Sing (Apply (Apply (Apply DeleteFirstsBySym0 t_aRT9) t_aRTa) t_aRTb) sSortBy :: Sing t_aRRT -> Sing t_aRRU -> Sing (Apply (Apply SortBySym0 t_aRRT) t_aRRU) sInsertBy :: Sing t_aRRQ -> Sing t_aRRR -> Sing t_aRRS -> Sing (Apply (Apply (Apply InsertBySym0 t_aRRQ) t_aRRR) t_aRRS) sMaximumBy :: Sing t_aRT3 -> Sing t_aRT4 -> Sing (Apply (Apply MaximumBySym0 t_aRT3) t_aRT4) sMinimumBy :: Sing t_aRT5 -> Sing t_aRT6 -> Sing (Apply (Apply MinimumBySym0 t_aRT5) t_aRT6) type NilSym0 = '[] data (:$) (l_at9c :: TyFun a_12 (TyFun [a_12] [a_12] -> *)) data (:$$) (l_at9f :: a_12) (l_at9e :: TyFun [a_12] [a_12]) type (:$$$) (t_at9a :: a_12) (t_at9b :: [a_12]) = (:) t_at9a t_at9b data (:++$$) (l_aIc6 :: [a_aI9W]) (l_aIc5 :: TyFun [a_aI9W] [a_aI9W]) data (:++$) (l_aIc3 :: TyFun [a_aI9W] (TyFun [a_aI9W] [a_aI9W] -> *)) data HeadSym0 (l_aRRL :: TyFun [a_aRd5] a_aRd5) type HeadSym1 (t_aRRK :: [a_aRd5]) = Head t_aRRK data LastSym0 (l_aRRf :: TyFun [a_aRd7] a_aRd7) type LastSym1 (t_aRRe :: [a_aRd7]) = Last t_aRRe data TailSym0 (l_aRR9 :: TyFun [a_aRdf] [a_aRdf]) type TailSym1 (t_aRR8 :: [a_aRdf]) = Tail t_aRR8 data InitSym0 (l_aRQD :: TyFun [a_aRdh] [a_aRdh]) type InitSym1 (t_aRQC :: [a_aRdh]) = Init t_aRQC data NullSym0 (l_aRQx :: TyFun [a_aRdp] Bool) type NullSym1 (t_aRQw :: [a_aRdp]) = Null t_aRQw data MapSym0 (l_aIcg :: TyFun (TyFun a_aI9R b_aI9S -> *) (TyFun [a_aI9R] [b_aI9S] -> *)) data MapSym1 (l_aIcj :: TyFun a_aI9R b_aI9S -> *) (l_aIci :: TyFun [a_aI9R] [b_aI9S]) type MapSym2 (t_aIce :: TyFun a_aI9R b_aI9S -> *) (t_aIcf :: [a_aI9R]) = Map t_aIce t_aIcf data ReverseSym0 (l_aRPX :: TyFun [a_aRdq] [a_aRdq]) type ReverseSym1 (t_aRPW :: [a_aRdq]) = Reverse t_aRPW data IntersperseSym0 (l_aRPA :: TyFun a_aRdy (TyFun [a_aRdy] [a_aRdy] -> *)) data IntersperseSym1 (l_aRPD :: a_aRdy) (l_aRPC :: TyFun [a_aRdy] [a_aRdy]) type IntersperseSym2 (t_aRPy :: a_aRdy) (t_aRPz :: [a_aRdy]) = Intersperse t_aRPy t_aRPz data IntercalateSym0 (l_aRPN :: TyFun [a_aRdC] (TyFun [[a_aRdC]] [a_aRdC] -> *)) data IntercalateSym1 (l_aRPQ :: [a_aRdC]) (l_aRPP :: TyFun [[a_aRdC]] [a_aRdC]) type IntercalateSym2 (t_aRPL :: [a_aRdC]) (t_aRPM :: [[a_aRdC]]) = Intercalate t_aRPL t_aRPM data SubsequencesSym0 (l_aRPu :: TyFun [a_aRdF] [[a_aRdF]]) type SubsequencesSym1 (t_aRPt :: [a_aRdF]) = Subsequences t_aRPt data PermutationsSym0 (l_aRIQ :: TyFun [a_aRdR] [[a_aRdR]]) type PermutationsSym1 (t_aRIP :: [a_aRdR]) = Permutations t_aRIP data FoldlSym0 (l_aREn :: TyFun (TyFun b_aRe9 (TyFun a_aRea b_aRe9 -> *) -> *) (TyFun b_aRe9 (TyFun [a_aRea] b_aRe9 -> *) -> *)) data FoldlSym1 (l_aREq :: TyFun b_aRe9 (TyFun a_aRea b_aRe9 -> *) -> *) (l_aREp :: TyFun b_aRe9 (TyFun [a_aRea] b_aRe9 -> *)) data FoldlSym2 (l_aREt :: TyFun b_aRe9 (TyFun a_aRea b_aRe9 -> *) -> *) (l_aREu :: b_aRe9) (l_aREs :: TyFun [a_aRea] b_aRe9) type FoldlSym3 (t_aREk :: TyFun b_aRe9 (TyFun a_aRea b_aRe9 -> *) -> *) (t_aREl :: b_aRe9) (t_aREm :: [a_aRea]) = Foldl t_aREk t_aREl t_aREm data Foldl'Sym0 (l_aRCM :: TyFun (TyFun b_aRcc (TyFun a_aRcb b_aRcc -> *) -> *) (TyFun b_aRcc (TyFun [a_aRcb] b_aRcc -> *) -> *)) data Foldl'Sym1 (l_aRCP :: TyFun b_aRcc (TyFun a_aRcb b_aRcc -> *) -> *) (l_aRCO :: TyFun b_aRcc (TyFun [a_aRcb] b_aRcc -> *)) data Foldl'Sym2 (l_aRCS :: TyFun b_aRcc (TyFun a_aRcb b_aRcc -> *) -> *) (l_aRCT :: b_aRcc) (l_aRCR :: TyFun [a_aRcb] b_aRcc) type Foldl'Sym3 (t_aRCJ :: TyFun b_aRcc (TyFun a_aRcb b_aRcc -> *) -> *) (t_aRCK :: b_aRcc) (t_aRCL :: [a_aRcb]) = Foldl' t_aRCJ t_aRCK t_aRCL data Foldl1Sym0 (l_aRFb :: TyFun (TyFun a_aReu (TyFun a_aReu a_aReu -> *) -> *) (TyFun [a_aReu] a_aReu -> *)) data Foldl1Sym1 (l_aRFe :: TyFun a_aReu (TyFun a_aReu a_aReu -> *) -> *) (l_aRFd :: TyFun [a_aReu] a_aReu) type Foldl1Sym2 (t_aRF9 :: TyFun a_aReu (TyFun a_aReu a_aReu -> *) -> *) (t_aRFa :: [a_aReu]) = Foldl1 t_aRF9 t_aRFa data Foldl1'Sym0 (l_aRE9 :: TyFun (TyFun a_aRey (TyFun a_aRey a_aRey -> *) -> *) (TyFun [a_aRey] a_aRey -> *)) data Foldl1'Sym1 (l_aREc :: TyFun a_aRey (TyFun a_aRey a_aRey -> *) -> *) (l_aREb :: TyFun [a_aRey] a_aRey) type Foldl1'Sym2 (t_aRE7 :: TyFun a_aRey (TyFun a_aRey a_aRey -> *) -> *) (t_aRE8 :: [a_aRey]) = Foldl1' t_aRE7 t_aRE8 data FoldrSym0 (l_aIcu :: TyFun (TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (TyFun b_aI9L (TyFun [a_aI9K] b_aI9L -> *) -> *)) data FoldrSym1 (l_aIcx :: TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (l_aIcw :: TyFun b_aI9L (TyFun [a_aI9K] b_aI9L -> *)) data FoldrSym2 (l_aIcA :: TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (l_aIcB :: b_aI9L) (l_aIcz :: TyFun [a_aI9K] b_aI9L) type FoldrSym3 (t_aIcr :: TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (t_aIcs :: b_aI9L) (t_aIct :: [a_aI9K]) = Foldr t_aIcr t_aIcs t_aIct data Foldr1Sym0 (l_aRCb :: TyFun (TyFun a_aReC (TyFun a_aReC a_aReC -> *) -> *) (TyFun [a_aReC] a_aReC -> *)) data Foldr1Sym1 (l_aRCe :: TyFun a_aReC (TyFun a_aReC a_aReC -> *) -> *) (l_aRCd :: TyFun [a_aReC] a_aReC) type Foldr1Sym2 (t_aRC9 :: TyFun a_aReC (TyFun a_aReC a_aReC -> *) -> *) (t_aRCa :: [a_aReC]) = Foldr1 t_aRC9 t_aRCa data ConcatSym0 (l_aRC5 :: TyFun [[a_aReH]] [a_aReH]) type ConcatSym1 (t_aRC4 :: [[a_aReH]]) = Concat t_aRC4 data ConcatMapSym0 (l_aRBR :: TyFun (TyFun a_aReI [b_aReJ] -> *) (TyFun [a_aReI] [b_aReJ] -> *)) data ConcatMapSym1 (l_aRBU :: TyFun a_aReI [b_aReJ] -> *) (l_aRBT :: TyFun [a_aReI] [b_aReJ]) type ConcatMapSym2 (t_aRBP :: TyFun a_aReI [b_aReJ] -> *) (t_aRBQ :: [a_aReI]) = ConcatMap t_aRBP t_aRBQ data AndSym0 (l_aRBK :: TyFun [Bool] Bool) type AndSym1 (t_aRBJ :: [Bool]) = And t_aRBJ data OrSym0 (l_aRBE :: TyFun [Bool] Bool) type OrSym1 (t_aRBD :: [Bool]) = Or t_aRBD data Any_Sym0 (l_aPcs :: TyFun (TyFun a_aPcm Bool -> *) (TyFun [a_aPcm] Bool -> *)) data Any_Sym1 (l_aPcv :: TyFun a_aPcm Bool -> *) (l_aPcu :: TyFun [a_aPcm] Bool) type Any_Sym2 (t_aPcq :: TyFun a_aPcm Bool -> *) (t_aPcr :: [a_aPcm]) = Any_ t_aPcq t_aPcr data AllSym0 (l_aRBs :: TyFun (TyFun a_aReP Bool -> *) (TyFun [a_aReP] Bool -> *)) data AllSym1 (l_aRBv :: TyFun a_aReP Bool -> *) (l_aRBu :: TyFun [a_aReP] Bool) type AllSym2 (t_aRBq :: TyFun a_aReP Bool -> *) (t_aRBr :: [a_aReP]) = All t_aRBq t_aRBr data ScanlSym0 (l_aRAE :: TyFun (TyFun b_aReT (TyFun a_aReU b_aReT -> *) -> *) (TyFun b_aReT (TyFun [a_aReU] [b_aReT] -> *) -> *)) data ScanlSym1 (l_aRAH :: TyFun b_aReT (TyFun a_aReU b_aReT -> *) -> *) (l_aRAG :: TyFun b_aReT (TyFun [a_aReU] [b_aReT] -> *)) data ScanlSym2 (l_aRAK :: TyFun b_aReT (TyFun a_aReU b_aReT -> *) -> *) (l_aRAL :: b_aReT) (l_aRAJ :: TyFun [a_aReU] [b_aReT]) type ScanlSym3 (t_aRAB :: TyFun b_aReT (TyFun a_aReU b_aReT -> *) -> *) (t_aRAC :: b_aReT) (t_aRAD :: [a_aReU]) = Scanl t_aRAB t_aRAC t_aRAD data Scanl1Sym0 (l_aRBf :: TyFun (TyFun a_aRf0 (TyFun a_aRf0 a_aRf0 -> *) -> *) (TyFun [a_aRf0] [a_aRf0] -> *)) data Scanl1Sym1 (l_aRBi :: TyFun a_aRf0 (TyFun a_aRf0 a_aRf0 -> *) -> *) (l_aRBh :: TyFun [a_aRf0] [a_aRf0]) type Scanl1Sym2 (t_aRBd :: TyFun a_aRf0 (TyFun a_aRf0 a_aRf0 -> *) -> *) (t_aRBe :: [a_aRf0]) = Scanl1 t_aRBd t_aRBe data ScanrSym0 (l_aRzT :: TyFun (TyFun a_aRf4 (TyFun b_aRf5 b_aRf5 -> *) -> *) (TyFun b_aRf5 (TyFun [a_aRf4] [b_aRf5] -> *) -> *)) data ScanrSym1 (l_aRzW :: TyFun a_aRf4 (TyFun b_aRf5 b_aRf5 -> *) -> *) (l_aRzV :: TyFun b_aRf5 (TyFun [a_aRf4] [b_aRf5] -> *)) data ScanrSym2 (l_aRzZ :: TyFun a_aRf4 (TyFun b_aRf5 b_aRf5 -> *) -> *) (l_aRA0 :: b_aRf5) (l_aRzY :: TyFun [a_aRf4] [b_aRf5]) type ScanrSym3 (t_aRzQ :: TyFun a_aRf4 (TyFun b_aRf5 b_aRf5 -> *) -> *) (t_aRzR :: b_aRf5) (t_aRzS :: [a_aRf4]) = Scanr t_aRzQ t_aRzR t_aRzS data Scanr1Sym0 (l_aRyS :: TyFun (TyFun a_aRfd (TyFun a_aRfd a_aRfd -> *) -> *) (TyFun [a_aRfd] [a_aRfd] -> *)) data Scanr1Sym1 (l_aRyV :: TyFun a_aRfd (TyFun a_aRfd a_aRfd -> *) -> *) (l_aRyU :: TyFun [a_aRfd] [a_aRfd]) type Scanr1Sym2 (t_aRyQ :: TyFun a_aRfd (TyFun a_aRfd a_aRfd -> *) -> *) (t_aRyR :: [a_aRfd]) = Scanr1 t_aRyQ t_aRyR data MapAccumLSym0 (l_aRwc :: TyFun (TyFun acc_aRfk (TyFun x_aRfl (acc_aRfk, y_aRfm) -> *) -> *) (TyFun acc_aRfk (TyFun [x_aRfl] (acc_aRfk, [y_aRfm]) -> *) -> *)) data MapAccumLSym1 (l_aRwf :: TyFun acc_aRfk (TyFun x_aRfl (acc_aRfk, y_aRfm) -> *) -> *) (l_aRwe :: TyFun acc_aRfk (TyFun [x_aRfl] (acc_aRfk, [y_aRfm]) -> *)) data MapAccumLSym2 (l_aRwi :: TyFun acc_aRfk (TyFun x_aRfl (acc_aRfk, y_aRfm) -> *) -> *) (l_aRwj :: acc_aRfk) (l_aRwh :: TyFun [x_aRfl] (acc_aRfk, [y_aRfm])) type MapAccumLSym3 (t_aRw9 :: TyFun acc_aRfk (TyFun x_aRfl (acc_aRfk, y_aRfm) -> *) -> *) (t_aRwa :: acc_aRfk) (t_aRwb :: [x_aRfl]) = MapAccumL t_aRw9 t_aRwa t_aRwb data MapAccumRSym0 (l_aRtv :: TyFun (TyFun acc_aRfw (TyFun x_aRfx (acc_aRfw, y_aRfy) -> *) -> *) (TyFun acc_aRfw (TyFun [x_aRfx] (acc_aRfw, [y_aRfy]) -> *) -> *)) data MapAccumRSym1 (l_aRty :: TyFun acc_aRfw (TyFun x_aRfx (acc_aRfw, y_aRfy) -> *) -> *) (l_aRtx :: TyFun acc_aRfw (TyFun [x_aRfx] (acc_aRfw, [y_aRfy]) -> *)) data MapAccumRSym2 (l_aRtB :: TyFun acc_aRfw (TyFun x_aRfx (acc_aRfw, y_aRfy) -> *) -> *) (l_aRtC :: acc_aRfw) (l_aRtA :: TyFun [x_aRfx] (acc_aRfw, [y_aRfy])) type MapAccumRSym3 (t_aRts :: TyFun acc_aRfw (TyFun x_aRfx (acc_aRfw, y_aRfy) -> *) -> *) (t_aRtt :: acc_aRfw) (t_aRtu :: [x_aRfx]) = MapAccumR t_aRts t_aRtt t_aRtu data UnfoldrSym0 (l_aRt4 :: TyFun (TyFun b_aRfI (Maybe (a_aRfJ, b_aRfI)) -> *) (TyFun b_aRfI [a_aRfJ] -> *)) data UnfoldrSym1 (l_aRt7 :: TyFun b_aRfI (Maybe (a_aRfJ, b_aRfI)) -> *) (l_aRt6 :: TyFun b_aRfI [a_aRfJ]) type UnfoldrSym2 (t_aRt2 :: TyFun b_aRfI (Maybe (a_aRfJ, b_aRfI)) -> *) (t_aRt3 :: b_aRfI) = Unfoldr t_aRt2 t_aRt3 data InitsSym0 (l_aRsN :: TyFun [a_aRfO] [[a_aRfO]]) type InitsSym1 (t_aRsM :: [a_aRfO]) = Inits t_aRsM data TailsSym0 (l_aRsm :: TyFun [a_aRfS] [[a_aRfS]]) type TailsSym1 (t_aRsl :: [a_aRfS]) = Tails t_aRsl data IsPrefixOfSym0 (l_aRs6 :: TyFun [a_aRfV] (TyFun [a_aRfV] Bool -> *)) data IsPrefixOfSym1 (l_aRs9 :: [a_aRfV]) (l_aRs8 :: TyFun [a_aRfV] Bool) type IsPrefixOfSym2 (t_aRs4 :: [a_aRfV]) (t_aRs5 :: [a_aRfV]) = IsPrefixOf t_aRs4 t_aRs5 data IsSuffixOfSym0 (l_aRQn :: TyFun [a_aRg0] (TyFun [a_aRg0] Bool -> *)) data IsSuffixOfSym1 (l_aRQq :: [a_aRg0]) (l_aRQp :: TyFun [a_aRg0] Bool) type IsSuffixOfSym2 (t_aRQl :: [a_aRg0]) (t_aRQm :: [a_aRg0]) = IsSuffixOf t_aRQl t_aRQm data IsInfixOfSym0 (l_aRsD :: TyFun [a_aRg3] (TyFun [a_aRg3] Bool -> *)) data IsInfixOfSym1 (l_aRsG :: [a_aRg3]) (l_aRsF :: TyFun [a_aRg3] Bool) type IsInfixOfSym2 (t_aRsB :: [a_aRg3]) (t_aRsC :: [a_aRg3]) = IsInfixOf t_aRsB t_aRsC data ElemSym0 (l_aRrT :: TyFun a_aRg6 (TyFun [a_aRg6] Bool -> *)) data ElemSym1 (l_aRrW :: a_aRg6) (l_aRrV :: TyFun [a_aRg6] Bool) type ElemSym2 (t_aRrR :: a_aRg6) (t_aRrS :: [a_aRg6]) = Elem t_aRrR t_aRrS data NotElemSym0 (l_aRrG :: TyFun a_aRga (TyFun [a_aRga] Bool -> *)) data NotElemSym1 (l_aRrJ :: a_aRga) (l_aRrI :: TyFun [a_aRga] Bool) type NotElemSym2 (t_aRrE :: a_aRga) (t_aRrF :: [a_aRga]) = NotElem t_aRrE t_aRrF data ZipSym0 (l_aRrp :: TyFun [a_aRge] (TyFun [b_aRgf] [(a_aRge, b_aRgf)] -> *)) data ZipSym1 (l_aRrs :: [a_aRge]) (l_aRrr :: TyFun [b_aRgf] [(a_aRge, b_aRgf)]) type ZipSym2 (t_aRrn :: [a_aRge]) (t_aRro :: [b_aRgf]) = Zip t_aRrn t_aRro data Zip3Sym0 (l_aRqN :: TyFun [a_aRgk] (TyFun [b_aRgl] (TyFun [c_aRgm] [(a_aRgk, b_aRgl, c_aRgm)] -> *) -> *)) data Zip3Sym1 (l_aRqQ :: [a_aRgk]) (l_aRqP :: TyFun [b_aRgl] (TyFun [c_aRgm] [(a_aRgk, b_aRgl, c_aRgm)] -> *)) data Zip3Sym2 (l_aRqT :: [a_aRgk]) (l_aRqU :: [b_aRgl]) (l_aRqS :: TyFun [c_aRgm] [(a_aRgk, b_aRgl, c_aRgm)]) type Zip3Sym3 (t_aRqK :: [a_aRgk]) (t_aRqL :: [b_aRgl]) (t_aRqM :: [c_aRgm]) = Zip3 t_aRqK t_aRqL t_aRqM data ZipWithSym0 (l_aRqm :: TyFun (TyFun a_aRgt (TyFun b_aRgu c_aRgv -> *) -> *) (TyFun [a_aRgt] (TyFun [b_aRgu] [c_aRgv] -> *) -> *)) data ZipWithSym1 (l_aRqp :: TyFun a_aRgt (TyFun b_aRgu c_aRgv -> *) -> *) (l_aRqo :: TyFun [a_aRgt] (TyFun [b_aRgu] [c_aRgv] -> *)) data ZipWithSym2 (l_aRqs :: TyFun a_aRgt (TyFun b_aRgu c_aRgv -> *) -> *) (l_aRqt :: [a_aRgt]) (l_aRqr :: TyFun [b_aRgu] [c_aRgv]) type ZipWithSym3 (t_aRqj :: TyFun a_aRgt (TyFun b_aRgu c_aRgv -> *) -> *) (t_aRqk :: [a_aRgt]) (t_aRql :: [b_aRgu]) = ZipWith t_aRqj t_aRqk t_aRql data ZipWith3Sym0 (l_aRpv :: TyFun (TyFun a_aRgB (TyFun b_aRgC (TyFun c_aRgD d_aRgE -> *) -> *) -> *) (TyFun [a_aRgB] (TyFun [b_aRgC] (TyFun [c_aRgD] [d_aRgE] -> *) -> *) -> *)) data ZipWith3Sym1 (l_aRpy :: TyFun a_aRgB (TyFun b_aRgC (TyFun c_aRgD d_aRgE -> *) -> *) -> *) (l_aRpx :: TyFun [a_aRgB] (TyFun [b_aRgC] (TyFun [c_aRgD] [d_aRgE] -> *) -> *)) data ZipWith3Sym2 (l_aRpB :: TyFun a_aRgB (TyFun b_aRgC (TyFun c_aRgD d_aRgE -> *) -> *) -> *) (l_aRpC :: [a_aRgB]) (l_aRpA :: TyFun [b_aRgC] (TyFun [c_aRgD] [d_aRgE] -> *)) data ZipWith3Sym3 (l_aRpF :: TyFun a_aRgB (TyFun b_aRgC (TyFun c_aRgD d_aRgE -> *) -> *) -> *) (l_aRpG :: [a_aRgB]) (l_aRpH :: [b_aRgC]) (l_aRpE :: TyFun [c_aRgD] [d_aRgE]) data UnzipSym0 (l_aRoW :: TyFun [(a_aRgM, b_aRgN)] ([a_aRgM], [b_aRgN])) type UnzipSym1 (t_aRoV :: [(a_aRgM, b_aRgN)]) = Unzip t_aRoV data Unzip3Sym0 (l_aRoo :: TyFun [(a_aRgT, b_aRgU, c_aRgV)] ([a_aRgT], [b_aRgU], [c_aRgV])) type Unzip3Sym1 (t_aRon :: [(a_aRgT, b_aRgU, c_aRgV)]) = Unzip3 t_aRon data Unzip4Sym0 (l_aRnO :: TyFun [(a_aRh3, b_aRh4, c_aRh5, d_aRh6)] ([a_aRh3], [b_aRh4], [c_aRh5], [d_aRh6])) type Unzip4Sym1 (t_aRnN :: [(a_aRh3, b_aRh4, c_aRh5, d_aRh6)]) = Unzip4 t_aRnN data Unzip5Sym0 (l_aRnc :: TyFun [(a_aRhg, b_aRhh, c_aRhi, d_aRhj, e_aRhk)] ([a_aRhg], [b_aRhh], [c_aRhi], [d_aRhj], [e_aRhk])) type Unzip5Sym1 (t_aRnb :: [(a_aRhg, b_aRhh, c_aRhi, d_aRhj, e_aRhk)]) = Unzip5 t_aRnb data Unzip6Sym0 (l_aRmy :: TyFun [(a_aRhw, b_aRhx, c_aRhy, d_aRhz, e_aRhA, f_aRhB)] ([a_aRhw], [b_aRhx], [c_aRhy], [d_aRhz], [e_aRhA], [f_aRhB])) type Unzip6Sym1 (t_aRmx :: [(a_aRhw, b_aRhx, c_aRhy, d_aRhz, e_aRhA, f_aRhB)]) = Unzip6 t_aRmx data Unzip7Sym0 (l_aRlS :: TyFun [(a_aRhP, b_aRhQ, c_aRhR, d_aRhS, e_aRhT, f_aRhU, g_aRhV)] ([a_aRhP], [b_aRhQ], [c_aRhR], [d_aRhS], [e_aRhT], [f_aRhU], [g_aRhV])) type Unzip7Sym1 (t_aRlR :: [(a_aRhP, b_aRhQ, c_aRhR, d_aRhS, e_aRhT, f_aRhU, g_aRhV)]) = Unzip7 t_aRlR data DeleteSym0 (l_aRlI :: TyFun a_aRib (TyFun [a_aRib] [a_aRib] -> *)) data DeleteSym1 (l_aRlL :: a_aRib) (l_aRlK :: TyFun [a_aRib] [a_aRib]) type DeleteSym2 (t_aRlG :: a_aRib) (t_aRlH :: [a_aRib]) = Delete t_aRlG t_aRlH data (:\\$) (l_aRIk :: TyFun [a_aRic] (TyFun [a_aRic] [a_aRic] -> *)) data (:\\$$) (l_aRIn :: [a_aRic]) (l_aRIm :: TyFun [a_aRic] [a_aRic]) type (:\\$$$) (t_aRIi :: [a_aRic]) (t_aRIj :: [a_aRic]) = (:\\) t_aRIi t_aRIj data DeleteBySym0 (l_aRkW :: TyFun (TyFun a_aRid (TyFun a_aRid Bool -> *) -> *) (TyFun a_aRid (TyFun [a_aRid] [a_aRid] -> *) -> *)) data DeleteBySym1 (l_aRkZ :: TyFun a_aRid (TyFun a_aRid Bool -> *) -> *) (l_aRkY :: TyFun a_aRid (TyFun [a_aRid] [a_aRid] -> *)) data DeleteBySym2 (l_aRl2 :: TyFun a_aRid (TyFun a_aRid Bool -> *) -> *) (l_aRl3 :: a_aRid) (l_aRl1 :: TyFun [a_aRid] [a_aRid]) type DeleteBySym3 (t_aRkT :: TyFun a_aRid (TyFun a_aRid Bool -> *) -> *) (t_aRkU :: a_aRid) (t_aRkV :: [a_aRid]) = DeleteBy t_aRkT t_aRkU t_aRkV data DeleteFirstsBySym0 (l_aRIw :: TyFun (TyFun a_aRii (TyFun a_aRii Bool -> *) -> *) (TyFun [a_aRii] (TyFun [a_aRii] [a_aRii] -> *) -> *)) data DeleteFirstsBySym1 (l_aRIz :: TyFun a_aRii (TyFun a_aRii Bool -> *) -> *) (l_aRIy :: TyFun [a_aRii] (TyFun [a_aRii] [a_aRii] -> *)) data DeleteFirstsBySym2 (l_aRIC :: TyFun a_aRii (TyFun a_aRii Bool -> *) -> *) (l_aRID :: [a_aRii]) (l_aRIB :: TyFun [a_aRii] [a_aRii]) type DeleteFirstsBySym3 (t_aRIt :: TyFun a_aRii (TyFun a_aRii Bool -> *) -> *) (t_aRIu :: [a_aRii]) (t_aRIv :: [a_aRii]) = DeleteFirstsBy t_aRIt t_aRIu t_aRIv data SortBySym0 (l_aRkI :: TyFun (TyFun a_aRik (TyFun a_aRik Ordering -> *) -> *) (TyFun [a_aRik] [a_aRik] -> *)) data SortBySym1 (l_aRkL :: TyFun a_aRik (TyFun a_aRik Ordering -> *) -> *) (l_aRkK :: TyFun [a_aRik] [a_aRik]) type SortBySym2 (t_aRkG :: TyFun a_aRik (TyFun a_aRik Ordering -> *) -> *) (t_aRkH :: [a_aRik]) = SortBy t_aRkG t_aRkH data InsertBySym0 (l_aRjG :: TyFun (TyFun a_aRim (TyFun a_aRim Ordering -> *) -> *) (TyFun a_aRim (TyFun [a_aRim] [a_aRim] -> *) -> *)) data InsertBySym1 (l_aRjJ :: TyFun a_aRim (TyFun a_aRim Ordering -> *) -> *) (l_aRjI :: TyFun a_aRim (TyFun [a_aRim] [a_aRim] -> *)) data InsertBySym2 (l_aRjM :: TyFun a_aRim (TyFun a_aRim Ordering -> *) -> *) (l_aRjN :: a_aRim) (l_aRjL :: TyFun [a_aRim] [a_aRim]) type InsertBySym3 (t_aRjD :: TyFun a_aRim (TyFun a_aRim Ordering -> *) -> *) (t_aRjE :: a_aRim) (t_aRjF :: [a_aRim]) = InsertBy t_aRjD t_aRjE t_aRjF data MaximumBySym0 (l_aRFo :: TyFun (TyFun a_aRit (TyFun a_aRit Ordering -> *) -> *) (TyFun [a_aRit] a_aRit -> *)) data MaximumBySym1 (l_aRFr :: TyFun a_aRit (TyFun a_aRit Ordering -> *) -> *) (l_aRFq :: TyFun [a_aRit] a_aRit) type MaximumBySym2 (t_aRFm :: TyFun a_aRit (TyFun a_aRit Ordering -> *) -> *) (t_aRFn :: [a_aRit]) = MaximumBy t_aRFm t_aRFn data MinimumBySym0 (l_aRGP :: TyFun (TyFun a_aRiz (TyFun a_aRiz Ordering -> *) -> *) (TyFun [a_aRiz] a_aRiz -> *)) data MinimumBySym1 (l_aRGS :: TyFun a_aRiz (TyFun a_aRiz Ordering -> *) -> *) (l_aRGR :: TyFun [a_aRiz] a_aRiz) type MinimumBySym2 (t_aRGN :: TyFun a_aRiz (TyFun a_aRiz Ordering -> *) -> *) (t_aRGO :: [a_aRiz]) = MinimumBy t_aRGN t_aRGO instance SuppressUnusedWarnings HeadSym0 instance SuppressUnusedWarnings LastSym0 instance SuppressUnusedWarnings TailSym0 instance SuppressUnusedWarnings InitSym0 instance SuppressUnusedWarnings NullSym0 instance SuppressUnusedWarnings IsSuffixOfSym0 instance SuppressUnusedWarnings IsSuffixOfSym1 instance SuppressUnusedWarnings ReverseSym0 instance SuppressUnusedWarnings IntercalateSym0 instance SuppressUnusedWarnings IntercalateSym1 instance SuppressUnusedWarnings IntersperseSym0 instance SuppressUnusedWarnings IntersperseSym1 instance SuppressUnusedWarnings SubsequencesSym0 instance SuppressUnusedWarnings NonEmptySubsequencesSym0 instance SuppressUnusedWarnings PrependToAllSym0 instance SuppressUnusedWarnings PrependToAllSym1 instance SuppressUnusedWarnings PermutationsSym0 instance SuppressUnusedWarnings DeleteFirstsBySym0 instance SuppressUnusedWarnings DeleteFirstsBySym1 instance SuppressUnusedWarnings DeleteFirstsBySym2 instance SuppressUnusedWarnings (:\\$) instance SuppressUnusedWarnings (:\\$$) instance SuppressUnusedWarnings MinimumBySym0 instance SuppressUnusedWarnings MinimumBySym1 instance SuppressUnusedWarnings MaximumBySym0 instance SuppressUnusedWarnings MaximumBySym1 instance SuppressUnusedWarnings Foldl1Sym0 instance SuppressUnusedWarnings Foldl1Sym1 instance SuppressUnusedWarnings FoldlSym0 instance SuppressUnusedWarnings FoldlSym1 instance SuppressUnusedWarnings FoldlSym2 instance SuppressUnusedWarnings Foldl1'Sym0 instance SuppressUnusedWarnings Foldl1'Sym1 instance SuppressUnusedWarnings Foldl'Sym0 instance SuppressUnusedWarnings Foldl'Sym1 instance SuppressUnusedWarnings Foldl'Sym2 instance SuppressUnusedWarnings Foldr1Sym0 instance SuppressUnusedWarnings Foldr1Sym1 instance SuppressUnusedWarnings ConcatSym0 instance SuppressUnusedWarnings ConcatMapSym0 instance SuppressUnusedWarnings ConcatMapSym1 instance SuppressUnusedWarnings AndSym0 instance SuppressUnusedWarnings OrSym0 instance SuppressUnusedWarnings AllSym0 instance SuppressUnusedWarnings AllSym1 instance SuppressUnusedWarnings Scanl1Sym0 instance SuppressUnusedWarnings Scanl1Sym1 instance SuppressUnusedWarnings ScanlSym0 instance SuppressUnusedWarnings ScanlSym1 instance SuppressUnusedWarnings ScanlSym2 instance SuppressUnusedWarnings ScanrSym0 instance SuppressUnusedWarnings ScanrSym1 instance SuppressUnusedWarnings ScanrSym2 instance SuppressUnusedWarnings Scanr1Sym0 instance SuppressUnusedWarnings Scanr1Sym1 instance SuppressUnusedWarnings MapAccumLSym0 instance SuppressUnusedWarnings MapAccumLSym1 instance SuppressUnusedWarnings MapAccumLSym2 instance SuppressUnusedWarnings MapAccumRSym0 instance SuppressUnusedWarnings MapAccumRSym1 instance SuppressUnusedWarnings MapAccumRSym2 instance SuppressUnusedWarnings UnfoldrSym0 instance SuppressUnusedWarnings UnfoldrSym1 instance SuppressUnusedWarnings InitsSym0 instance SuppressUnusedWarnings IsInfixOfSym0 instance SuppressUnusedWarnings IsInfixOfSym1 instance SuppressUnusedWarnings TailsSym0 instance SuppressUnusedWarnings IsPrefixOfSym0 instance SuppressUnusedWarnings IsPrefixOfSym1 instance SuppressUnusedWarnings ElemSym0 instance SuppressUnusedWarnings ElemSym1 instance SuppressUnusedWarnings NotElemSym0 instance SuppressUnusedWarnings NotElemSym1 instance SuppressUnusedWarnings ZipSym0 instance SuppressUnusedWarnings ZipSym1 instance SuppressUnusedWarnings Zip3Sym0 instance SuppressUnusedWarnings Zip3Sym1 instance SuppressUnusedWarnings Zip3Sym2 instance SuppressUnusedWarnings ZipWithSym0 instance SuppressUnusedWarnings ZipWithSym1 instance SuppressUnusedWarnings ZipWithSym2 instance SuppressUnusedWarnings ZipWith3Sym0 instance SuppressUnusedWarnings ZipWith3Sym1 instance SuppressUnusedWarnings ZipWith3Sym2 instance SuppressUnusedWarnings ZipWith3Sym3 instance SuppressUnusedWarnings UnzipSym0 instance SuppressUnusedWarnings Unzip3Sym0 instance SuppressUnusedWarnings Unzip4Sym0 instance SuppressUnusedWarnings Unzip5Sym0 instance SuppressUnusedWarnings Unzip6Sym0 instance SuppressUnusedWarnings Unzip7Sym0 instance SuppressUnusedWarnings DeleteSym0 instance SuppressUnusedWarnings DeleteSym1 instance SuppressUnusedWarnings DeleteBySym0 instance SuppressUnusedWarnings DeleteBySym1 instance SuppressUnusedWarnings DeleteBySym2 instance SuppressUnusedWarnings SortBySym0 instance SuppressUnusedWarnings SortBySym1 instance SuppressUnusedWarnings InsertBySym0 instance SuppressUnusedWarnings InsertBySym1 instance SuppressUnusedWarnings InsertBySym2 instance SuppressUnusedWarnings Let_1627596990Last'Sym0 instance SuppressUnusedWarnings Let_1627596990Last'Sym1 instance SuppressUnusedWarnings Let_1627596990Last'Sym2 instance SuppressUnusedWarnings Let_1627596990Last'Sym3 instance SuppressUnusedWarnings Let_1627596952Init'Sym0 instance SuppressUnusedWarnings Let_1627596952Init'Sym1 instance SuppressUnusedWarnings Let_1627596952Init'Sym2 instance SuppressUnusedWarnings Let_1627596952Init'Sym3 instance SuppressUnusedWarnings Let_1627596909RevSym0 instance SuppressUnusedWarnings Let_1627596909RevSym1 instance SuppressUnusedWarnings Let_1627596909RevSym2 instance SuppressUnusedWarnings Let_1627596851FSym0 instance SuppressUnusedWarnings Let_1627596851FSym1 instance SuppressUnusedWarnings Let_1627596851FSym2 instance SuppressUnusedWarnings Let_1627596851FSym3 instance SuppressUnusedWarnings Let_1627596468PermsSym0 instance SuppressUnusedWarnings Let_1627596468PermsSym1 instance SuppressUnusedWarnings Let_1627596468PermsSym2 instance SuppressUnusedWarnings Let_1627596488InterleaveSym0 instance SuppressUnusedWarnings Let_1627596488InterleaveSym1 instance SuppressUnusedWarnings Let_1627596488InterleaveSym2 instance SuppressUnusedWarnings Let_1627596488InterleaveSym3 instance SuppressUnusedWarnings Let_1627596488InterleaveSym4 instance SuppressUnusedWarnings Let_1627596488InterleaveSym5 instance SuppressUnusedWarnings Let_1627596488Interleave'Sym0 instance SuppressUnusedWarnings Let_1627596488Interleave'Sym1 instance SuppressUnusedWarnings Let_1627596488Interleave'Sym2 instance SuppressUnusedWarnings Let_1627596488Interleave'Sym3 instance SuppressUnusedWarnings Let_1627596488Interleave'Sym4 instance SuppressUnusedWarnings Let_1627596488Interleave'Sym5 instance SuppressUnusedWarnings Let_1627596488Interleave'Sym6 instance SuppressUnusedWarnings Let_1627596754X_1627596756Sym0 instance SuppressUnusedWarnings Let_1627596754X_1627596756Sym1 instance SuppressUnusedWarnings Let_1627596754X_1627596756Sym2 instance SuppressUnusedWarnings Let_1627596754X_1627596756Sym3 instance SuppressUnusedWarnings Let_1627596754X_1627596756Sym4 instance SuppressUnusedWarnings Let_1627596754X_1627596756Sym5 instance SuppressUnusedWarnings Let_1627596754ZsSym0 instance SuppressUnusedWarnings Let_1627596754ZsSym1 instance SuppressUnusedWarnings Let_1627596754ZsSym2 instance SuppressUnusedWarnings Let_1627596754ZsSym3 instance SuppressUnusedWarnings Let_1627596754ZsSym4 instance SuppressUnusedWarnings Let_1627596754ZsSym5 instance SuppressUnusedWarnings Let_1627596541X_1627596543Sym0 instance SuppressUnusedWarnings Let_1627596541X_1627596543Sym1 instance SuppressUnusedWarnings Let_1627596541X_1627596543Sym2 instance SuppressUnusedWarnings Let_1627596541X_1627596543Sym3 instance SuppressUnusedWarnings Let_1627596541X_1627596543Sym4 instance SuppressUnusedWarnings Let_1627596541X_1627596543Sym5 instance SuppressUnusedWarnings Let_1627596541X_1627596543Sym6 instance SuppressUnusedWarnings Let_1627596541X_1627596543Sym7 instance SuppressUnusedWarnings Let_1627596541ZsSym0 instance SuppressUnusedWarnings Let_1627596541ZsSym1 instance SuppressUnusedWarnings Let_1627596541ZsSym2 instance SuppressUnusedWarnings Let_1627596541ZsSym3 instance SuppressUnusedWarnings Let_1627596541ZsSym4 instance SuppressUnusedWarnings Let_1627596541ZsSym5 instance SuppressUnusedWarnings Let_1627596541ZsSym6 instance SuppressUnusedWarnings Let_1627596541ZsSym7 instance SuppressUnusedWarnings Let_1627596541UsSym0 instance SuppressUnusedWarnings Let_1627596541UsSym1 instance SuppressUnusedWarnings Let_1627596541UsSym2 instance SuppressUnusedWarnings Let_1627596541UsSym3 instance SuppressUnusedWarnings Let_1627596541UsSym4 instance SuppressUnusedWarnings Let_1627596541UsSym5 instance SuppressUnusedWarnings Let_1627596541UsSym6 instance SuppressUnusedWarnings Let_1627596541UsSym7 instance SuppressUnusedWarnings Let_1627596364MinBySym0 instance SuppressUnusedWarnings Let_1627596364MinBySym1 instance SuppressUnusedWarnings Let_1627596364MinBySym2 instance SuppressUnusedWarnings Let_1627596364MinBySym3 instance SuppressUnusedWarnings Let_1627596364MinBySym4 instance SuppressUnusedWarnings Let_1627596395Scrutinee_1627594895Sym0 instance SuppressUnusedWarnings Let_1627596395Scrutinee_1627594895Sym1 instance SuppressUnusedWarnings Let_1627596395Scrutinee_1627594895Sym2 instance SuppressUnusedWarnings Let_1627596395Scrutinee_1627594895Sym3 instance SuppressUnusedWarnings Let_1627596395Scrutinee_1627594895Sym4 instance SuppressUnusedWarnings Let_1627596350XsSym0 instance SuppressUnusedWarnings Let_1627596350XsSym1 instance SuppressUnusedWarnings Let_1627596350XsSym2 instance SuppressUnusedWarnings Let_1627596275MaxBySym0 instance SuppressUnusedWarnings Let_1627596275MaxBySym1 instance SuppressUnusedWarnings Let_1627596275MaxBySym2 instance SuppressUnusedWarnings Let_1627596275MaxBySym3 instance SuppressUnusedWarnings Let_1627596275MaxBySym4 instance SuppressUnusedWarnings Let_1627596306Scrutinee_1627594889Sym0 instance SuppressUnusedWarnings Let_1627596306Scrutinee_1627594889Sym1 instance SuppressUnusedWarnings Let_1627596306Scrutinee_1627594889Sym2 instance SuppressUnusedWarnings Let_1627596306Scrutinee_1627594889Sym3 instance SuppressUnusedWarnings Let_1627596306Scrutinee_1627594889Sym4 instance SuppressUnusedWarnings Let_1627596261XsSym0 instance SuppressUnusedWarnings Let_1627596261XsSym1 instance SuppressUnusedWarnings Let_1627596261XsSym2 instance SuppressUnusedWarnings Let_1627596202LgoSym0 instance SuppressUnusedWarnings Let_1627596202LgoSym1 instance SuppressUnusedWarnings Let_1627596202LgoSym2 instance SuppressUnusedWarnings Let_1627596202LgoSym3 instance SuppressUnusedWarnings Let_1627596202LgoSym4 instance SuppressUnusedWarnings Let_1627596103LgoSym0 instance SuppressUnusedWarnings Let_1627596103LgoSym1 instance SuppressUnusedWarnings Let_1627596103LgoSym2 instance SuppressUnusedWarnings Let_1627596103LgoSym3 instance SuppressUnusedWarnings Let_1627596103LgoSym4 instance SuppressUnusedWarnings Let_1627596136Z'Sym0 instance SuppressUnusedWarnings Let_1627596136Z'Sym1 instance SuppressUnusedWarnings Let_1627596136Z'Sym2 instance SuppressUnusedWarnings Let_1627596136Z'Sym3 instance SuppressUnusedWarnings Let_1627596136Z'Sym4 instance SuppressUnusedWarnings Let_1627596136Z'Sym5 instance SuppressUnusedWarnings Let_1627596064XsSym0 instance SuppressUnusedWarnings Let_1627596064XsSym1 instance SuppressUnusedWarnings Let_1627596064XsSym2 instance SuppressUnusedWarnings Let_1627596064XsSym3 instance SuppressUnusedWarnings Let_1627595971Scrutinee_1627594845Sym0 instance SuppressUnusedWarnings Let_1627595971Scrutinee_1627594845Sym1 instance SuppressUnusedWarnings Let_1627595971Scrutinee_1627594845Sym2 instance SuppressUnusedWarnings Let_1627595927Scrutinee_1627594847Sym0 instance SuppressUnusedWarnings Let_1627595927Scrutinee_1627594847Sym1 instance SuppressUnusedWarnings Let_1627595927Scrutinee_1627594847Sym2 instance SuppressUnusedWarnings Let_1627595927Scrutinee_1627594847Sym3 instance SuppressUnusedWarnings Let_1627595880Scrutinee_1627594849Sym0 instance SuppressUnusedWarnings Let_1627595880Scrutinee_1627594849Sym1 instance SuppressUnusedWarnings Let_1627595880Scrutinee_1627594849Sym2 instance SuppressUnusedWarnings Let_1627595880Scrutinee_1627594849Sym3 instance SuppressUnusedWarnings Let_1627595860XsSym0 instance SuppressUnusedWarnings Let_1627595860XsSym1 instance SuppressUnusedWarnings Let_1627595860XsSym2 instance SuppressUnusedWarnings Let_1627595860XsSym3 instance SuppressUnusedWarnings Let_1627595698X_1627595706Sym0 instance SuppressUnusedWarnings Let_1627595698X_1627595706Sym1 instance SuppressUnusedWarnings Let_1627595698X_1627595706Sym2 instance SuppressUnusedWarnings Let_1627595698X_1627595706Sym3 instance SuppressUnusedWarnings Let_1627595698X_1627595700Sym0 instance SuppressUnusedWarnings Let_1627595698X_1627595700Sym1 instance SuppressUnusedWarnings Let_1627595698X_1627595700Sym2 instance SuppressUnusedWarnings Let_1627595698X_1627595700Sym3 instance SuppressUnusedWarnings Let_1627595698YsSym0 instance SuppressUnusedWarnings Let_1627595698YsSym1 instance SuppressUnusedWarnings Let_1627595698YsSym2 instance SuppressUnusedWarnings Let_1627595698YsSym3 instance SuppressUnusedWarnings Let_1627595698S''Sym0 instance SuppressUnusedWarnings Let_1627595698S''Sym1 instance SuppressUnusedWarnings Let_1627595698S''Sym2 instance SuppressUnusedWarnings Let_1627595698S''Sym3 instance SuppressUnusedWarnings Let_1627595698YSym0 instance SuppressUnusedWarnings Let_1627595698YSym1 instance SuppressUnusedWarnings Let_1627595698YSym2 instance SuppressUnusedWarnings Let_1627595698YSym3 instance SuppressUnusedWarnings Let_1627595698S'Sym0 instance SuppressUnusedWarnings Let_1627595698S'Sym1 instance SuppressUnusedWarnings Let_1627595698S'Sym2 instance SuppressUnusedWarnings Let_1627595698S'Sym3 instance SuppressUnusedWarnings Let_1627595531X_1627595539Sym0 instance SuppressUnusedWarnings Let_1627595531X_1627595539Sym1 instance SuppressUnusedWarnings Let_1627595531X_1627595539Sym2 instance SuppressUnusedWarnings Let_1627595531X_1627595539Sym3 instance SuppressUnusedWarnings Let_1627595531X_1627595533Sym0 instance SuppressUnusedWarnings Let_1627595531X_1627595533Sym1 instance SuppressUnusedWarnings Let_1627595531X_1627595533Sym2 instance SuppressUnusedWarnings Let_1627595531X_1627595533Sym3 instance SuppressUnusedWarnings Let_1627595531YSym0 instance SuppressUnusedWarnings Let_1627595531YSym1 instance SuppressUnusedWarnings Let_1627595531YSym2 instance SuppressUnusedWarnings Let_1627595531YSym3 instance SuppressUnusedWarnings Let_1627595531S''Sym0 instance SuppressUnusedWarnings Let_1627595531S''Sym1 instance SuppressUnusedWarnings Let_1627595531S''Sym2 instance SuppressUnusedWarnings Let_1627595531S''Sym3 instance SuppressUnusedWarnings Let_1627595531YsSym0 instance SuppressUnusedWarnings Let_1627595531YsSym1 instance SuppressUnusedWarnings Let_1627595531YsSym2 instance SuppressUnusedWarnings Let_1627595531YsSym3 instance SuppressUnusedWarnings Let_1627595531S'Sym0 instance SuppressUnusedWarnings Let_1627595531S'Sym1 instance SuppressUnusedWarnings Let_1627595531S'Sym2 instance SuppressUnusedWarnings Let_1627595531S'Sym3 instance SuppressUnusedWarnings Let_1627595495Scrutinee_1627594855Sym0 instance SuppressUnusedWarnings Let_1627595495Scrutinee_1627594855Sym1 instance SuppressUnusedWarnings Let_1627595473Scrutinee_1627594857Sym0 instance SuppressUnusedWarnings Let_1627595446Scrutinee_1627594859Sym0 instance SuppressUnusedWarnings Lambda_1627595234Sym0 instance SuppressUnusedWarnings Lambda_1627595234Sym1 instance SuppressUnusedWarnings Lambda_1627595234Sym2 instance SuppressUnusedWarnings Lambda_1627595200Sym0 instance SuppressUnusedWarnings Lambda_1627595200Sym1 instance SuppressUnusedWarnings Lambda_1627595200Sym2 instance SuppressUnusedWarnings Lambda_1627595164Sym0 instance SuppressUnusedWarnings Lambda_1627595164Sym1 instance SuppressUnusedWarnings Lambda_1627595164Sym2 instance SuppressUnusedWarnings Lambda_1627595126Sym0 instance SuppressUnusedWarnings Lambda_1627595126Sym1 instance SuppressUnusedWarnings Lambda_1627595126Sym2 instance SuppressUnusedWarnings Lambda_1627595086Sym0 instance SuppressUnusedWarnings Lambda_1627595086Sym1 instance SuppressUnusedWarnings Lambda_1627595086Sym2 instance SuppressUnusedWarnings Lambda_1627595044Sym0 instance SuppressUnusedWarnings Lambda_1627595044Sym1 instance SuppressUnusedWarnings Lambda_1627595044Sym2 instance SuppressUnusedWarnings Let_1627595000Scrutinee_1627594885Sym0 instance SuppressUnusedWarnings Let_1627595000Scrutinee_1627594885Sym1 instance SuppressUnusedWarnings Let_1627595000Scrutinee_1627594885Sym2 instance SuppressUnusedWarnings Let_1627595000Scrutinee_1627594885Sym3 instance SuppressUnusedWarnings Let_1627594942Scrutinee_1627594887Sym0 instance SuppressUnusedWarnings Let_1627594942Scrutinee_1627594887Sym1 instance SuppressUnusedWarnings Let_1627594942Scrutinee_1627594887Sym2 instance SuppressUnusedWarnings Let_1627594942Scrutinee_1627594887Sym3 instance SuppressUnusedWarnings Let_1627594922YsSym0 instance SuppressUnusedWarnings Let_1627594922YsSym1 instance SuppressUnusedWarnings Let_1627594922YsSym2 instance SuppressUnusedWarnings Let_1627594922YsSym3 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_at94 :: Maybe a_a53Q) = Sing z_at94 maybe_ :: b_a1wyg -> (a_a1wyh -> b_a1wyg) -> Maybe a_a1wyh -> b_a1wyg sMaybe_ :: Sing t_a1wyF -> Sing t_a1wyG -> Sing t_a1wyH -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a1wyF) t_a1wyG) t_a1wyH) sIsJust :: Sing t_a1wW8 -> Sing (Apply IsJustSym0 t_a1wW8) sIsNothing :: Sing t_a1wW7 -> Sing (Apply IsNothingSym0 t_a1wW7) sFromJust :: Sing t_a1wW6 -> Sing (Apply FromJustSym0 t_a1wW6) sFromMaybe :: Sing t_a1wW4 -> Sing t_a1wW5 -> Sing (Apply (Apply FromMaybeSym0 t_a1wW4) t_a1wW5) sListToMaybe :: Sing t_a1wW2 -> Sing (Apply ListToMaybeSym0 t_a1wW2) sMaybeToList :: Sing t_a1wW3 -> Sing (Apply MaybeToListSym0 t_a1wW3) sCatMaybes :: Sing t_a1wW1 -> Sing (Apply CatMaybesSym0 t_a1wW1) sMapMaybe :: Sing t_a1wVZ -> Sing t_a1wW0 -> Sing (Apply (Apply MapMaybeSym0 t_a1wVZ) t_a1wW0) type NothingSym0 = Nothing data JustSym0 (l_at92 :: TyFun a_a53Q (Maybe a_a53Q)) type JustSym1 (t_at91 :: a_a53Q) = Just t_at91 data Maybe_Sym0 (l_a1wyo :: TyFun b_a1wyg (TyFun (TyFun a_a1wyh b_a1wyg -> *) (TyFun (Maybe a_a1wyh) b_a1wyg -> *) -> *)) data Maybe_Sym1 (l_a1wyr :: b_a1wyg) (l_a1wyq :: TyFun (TyFun a_a1wyh b_a1wyg -> *) (TyFun (Maybe a_a1wyh) b_a1wyg -> *)) data Maybe_Sym2 (l_a1wyu :: b_a1wyg) (l_a1wyv :: TyFun a_a1wyh b_a1wyg -> *) (l_a1wyt :: TyFun (Maybe a_a1wyh) b_a1wyg) type Maybe_Sym3 (t_a1wyl :: b_a1wyg) (t_a1wym :: TyFun a_a1wyh b_a1wyg -> *) (t_a1wyn :: Maybe a_a1wyh) = Maybe_ t_a1wyl t_a1wym t_a1wyn data IsJustSym0 (l_a1wVV :: TyFun (Maybe a_a1wTS) Bool) type IsJustSym1 (t_a1wVU :: Maybe a_a1wTS) = IsJust t_a1wVU data IsNothingSym0 (l_a1wVQ :: TyFun (Maybe a_a1wTT) Bool) type IsNothingSym1 (t_a1wVP :: Maybe a_a1wTT) = IsNothing t_a1wVP data FromJustSym0 (l_a1wVL :: TyFun (Maybe a_a1wTU) a_a1wTU) type FromJustSym1 (t_a1wVK :: Maybe a_a1wTU) = FromJust t_a1wVK data FromMaybeSym0 (l_a1wVn :: TyFun a_a1wTW (TyFun (Maybe a_a1wTW) a_a1wTW -> *)) data FromMaybeSym1 (l_a1wVq :: a_a1wTW) (l_a1wVp :: TyFun (Maybe a_a1wTW) a_a1wTW) type FromMaybeSym2 (t_a1wVl :: a_a1wTW) (t_a1wVm :: Maybe a_a1wTW) = FromMaybe t_a1wVl t_a1wVm data ListToMaybeSym0 (l_a1wVb :: TyFun [a_a1wU2] (Maybe a_a1wU2)) type ListToMaybeSym1 (t_a1wVa :: [a_a1wU2]) = ListToMaybe t_a1wVa data MaybeToListSym0 (l_a1wVh :: TyFun (Maybe a_a1wU0) [a_a1wU0]) type MaybeToListSym1 (t_a1wVg :: Maybe a_a1wU0) = MaybeToList t_a1wVg data CatMaybesSym0 (l_a1wV4 :: TyFun [Maybe a_a1wU4] [a_a1wU4]) type CatMaybesSym1 (t_a1wV3 :: [Maybe a_a1wU4]) = CatMaybes t_a1wV3 data MapMaybeSym0 (l_a1wUl :: TyFun (TyFun a_a1wU8 (Maybe b_a1wU9) -> *) (TyFun [a_a1wU8] [b_a1wU9] -> *)) data MapMaybeSym1 (l_a1wUo :: TyFun a_a1wU8 (Maybe b_a1wU9) -> *) (l_a1wUn :: TyFun [a_a1wU8] [b_a1wU9]) type MapMaybeSym2 (t_a1wUj :: TyFun a_a1wU8 (Maybe b_a1wU9) -> *) (t_a1wUk :: [a_a1wU8]) = MapMaybe t_a1wUj t_a1wUk instance SuppressUnusedWarnings IsJustSym0 instance SuppressUnusedWarnings IsNothingSym0 instance SuppressUnusedWarnings FromJustSym0 instance SuppressUnusedWarnings FromMaybeSym0 instance SuppressUnusedWarnings FromMaybeSym1 instance SuppressUnusedWarnings MaybeToListSym0 instance SuppressUnusedWarnings ListToMaybeSym0 instance SuppressUnusedWarnings CatMaybesSym0 instance SuppressUnusedWarnings MapMaybeSym0 instance SuppressUnusedWarnings MapMaybeSym1 instance SuppressUnusedWarnings Let_1627754854Scrutinee_1627754775Sym0 instance SuppressUnusedWarnings Let_1627754854Scrutinee_1627754775Sym1 instance SuppressUnusedWarnings Let_1627754806Scrutinee_1627754777Sym0 instance SuppressUnusedWarnings Let_1627754806Scrutinee_1627754777Sym1 instance SuppressUnusedWarnings Let_1627754806Scrutinee_1627754777Sym2 instance SuppressUnusedWarnings Let_1627754792RsSym0 instance SuppressUnusedWarnings Let_1627754792RsSym1 instance SuppressUnusedWarnings Let_1627754792RsSym2 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_at9H :: Bool) = Sing z_at9H type SList (z_at9h :: [a_12]) = Sing z_at9h type SMaybe (z_at94 :: Maybe a_a53Q) = Sing z_at94 type SEither (z_at9y :: Either a_a8tV b_a8tW) = Sing z_at9y type SOrdering (z_at9I :: Ordering) = Sing z_at9I type STuple0 (z_at9J :: ()) = Sing z_at9J type STuple2 (z_at9T :: (a_12, b_13)) = Sing z_at9T type STuple3 (z_atah :: (a_12, b_13, c_14)) = Sing z_atah type STuple4 (z_ataQ :: (a_12, b_13, c_14, d_15)) = Sing z_ataQ type STuple5 (z_atbB :: (a_12, b_13, c_14, d_15, e_16)) = Sing z_atbB type STuple6 (z_atcz :: (a_12, b_13, c_14, d_15, e_16, f_17)) = Sing z_atcz type STuple7 (z_atdL :: (a_12, b_13, c_14, d_15, e_16, f_17, g_18)) = Sing z_atdL -- | 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_aA2p -> Sing (Apply NotSym0 t_aA2p) (%:&&) :: Sing t_aA2s -> Sing t_aA2t -> Sing (Apply (Apply (:&&$) t_aA2s) t_aA2t) (%:||) :: Sing t_aA2q -> Sing t_aA2r -> Sing (Apply (Apply (:||$) t_aA2q) t_aA2r) 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_aIdk -> Sing (Apply IdSym0 t_aIdk) sConst :: Sing t_aIdg -> Sing t_aIdh -> Sing (Apply (Apply ConstSym0 t_aIdg) t_aIdh) (%:.) :: Sing t_aIdd -> Sing t_aIde -> Sing t_aIdf -> Sing (Apply (Apply (Apply (:.$) t_aIdd) t_aIde) t_aIdf) (%$) :: Sing f -> Sing x -> Sing ((($$) @@ f) @@ x) (%$!) :: Sing f -> Sing x -> Sing ((($!$) @@ f) @@ x) sFlip :: Sing t_aIda -> Sing t_aIdb -> Sing t_aIdc -> Sing (Apply (Apply (Apply FlipSym0 t_aIda) t_aIdb) t_aIdc) sAsTypeOf :: Sing t_aIdi -> Sing t_aIdj -> Sing (Apply (Apply AsTypeOfSym0 t_aIdi) t_aIdj) sSeq :: Sing t_aId8 -> Sing t_aId9 -> Sing (Apply (Apply SeqSym0 t_aId8) t_aId9) sMap :: Sing t_aIdn -> Sing t_aIdo -> Sing (Apply (Apply MapSym0 t_aIdn) t_aIdo) (%:++) :: Sing t_aIdl -> Sing t_aIdm -> Sing (Apply (Apply (:++$) t_aIdl) t_aIdm) sHead :: Sing t_aRTs -> Sing (Apply HeadSym0 t_aRTs) sLast :: Sing t_aRTr -> Sing (Apply LastSym0 t_aRTr) sTail :: Sing t_aRTq -> Sing (Apply TailSym0 t_aRTq) sInit :: Sing t_aRTp -> Sing (Apply InitSym0 t_aRTp) sNull :: Sing t_aRTo -> Sing (Apply NullSym0 t_aRTo) sReverse :: Sing t_aRTl -> Sing (Apply ReverseSym0 t_aRTl) sFoldl :: Sing t_aRSY -> Sing t_aRSZ -> Sing t_aRT0 -> Sing (Apply (Apply (Apply FoldlSym0 t_aRSY) t_aRSZ) t_aRT0) sFoldl1 :: Sing t_aRT1 -> Sing t_aRT2 -> Sing (Apply (Apply Foldl1Sym0 t_aRT1) t_aRT2) sFoldr :: Sing t_aIdp -> Sing t_aIdq -> Sing t_aIdr -> Sing (Apply (Apply (Apply FoldrSym0 t_aIdp) t_aIdq) t_aIdr) sFoldr1 :: Sing t_aRSR -> Sing t_aRSS -> Sing (Apply (Apply Foldr1Sym0 t_aRSR) t_aRSS) sAnd :: Sing t_aRSN -> Sing (Apply AndSym0 t_aRSN) sOr :: Sing t_aRSM -> Sing (Apply OrSym0 t_aRSM) sAny_ :: Sing t_aPcD -> Sing t_aPcE -> Sing (Apply (Apply Any_Sym0 t_aPcD) t_aPcE) sAll :: Sing t_aRSK -> Sing t_aRSL -> Sing (Apply (Apply AllSym0 t_aRSK) t_aRSL) sConcat :: Sing t_aRSQ -> Sing (Apply ConcatSym0 t_aRSQ) sConcatMap :: Sing t_aRSO -> Sing t_aRSP -> Sing (Apply (Apply ConcatMapSym0 t_aRSO) t_aRSP) sScanl :: Sing t_aRSF -> Sing t_aRSG -> Sing t_aRSH -> Sing (Apply (Apply (Apply ScanlSym0 t_aRSF) t_aRSG) t_aRSH) sScanl1 :: Sing t_aRSI -> Sing t_aRSJ -> Sing (Apply (Apply Scanl1Sym0 t_aRSI) t_aRSJ) sScanr :: Sing t_aRSC -> Sing t_aRSD -> Sing t_aRSE -> Sing (Apply (Apply (Apply ScanrSym0 t_aRSC) t_aRSD) t_aRSE) sScanr1 :: Sing t_aRSA -> Sing t_aRSB -> Sing (Apply (Apply Scanr1Sym0 t_aRSA) t_aRSB) sElem :: SEq (KProxy :: KProxy a_aRg6) => Sing t_aRSk -> Sing t_aRSl -> Sing (Apply (Apply ElemSym0 t_aRSk) t_aRSl) sNotElem :: SEq (KProxy :: KProxy a_aRga) => Sing t_aRSi -> Sing t_aRSj -> Sing (Apply (Apply NotElemSym0 t_aRSi) t_aRSj) sZip :: Sing t_aRSg -> Sing t_aRSh -> Sing (Apply (Apply ZipSym0 t_aRSg) t_aRSh) sZip3 :: Sing t_aRSd -> Sing t_aRSe -> Sing t_aRSf -> Sing (Apply (Apply (Apply Zip3Sym0 t_aRSd) t_aRSe) t_aRSf) sZipWith :: Sing t_aRSa -> Sing t_aRSb -> Sing t_aRSc -> Sing (Apply (Apply (Apply ZipWithSym0 t_aRSa) t_aRSb) t_aRSc) sZipWith3 :: Sing t_aRS6 -> Sing t_aRS7 -> Sing t_aRS8 -> Sing t_aRS9 -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_aRS6) t_aRS7) t_aRS8) t_aRS9) sUnzip :: Sing t_aRS5 -> Sing (Apply UnzipSym0 t_aRS5) sUnzip3 :: Sing t_aRS4 -> Sing (Apply Unzip3Sym0 t_aRS4) sMaybe_ :: Sing t_a1wyF -> Sing t_a1wyG -> Sing t_a1wyH -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a1wyF) t_a1wyG) t_a1wyH) sEither_ :: Sing t_aL21 -> Sing t_aL22 -> Sing t_aL23 -> Sing (Apply (Apply (Apply Either_Sym0 t_aL21) t_aL22) t_aL23) sFst :: Sing t_aNLq -> Sing (Apply FstSym0 t_aNLq) sSnd :: Sing t_aNLp -> Sing (Apply SndSym0 t_aNLp) sCurry :: Sing t_aNLm -> Sing t_aNLn -> Sing t_aNLo -> Sing (Apply (Apply (Apply CurrySym0 t_aNLm) t_aNLn) t_aNLo) sUncurry :: Sing t_aNLr -> Sing t_aNLs -> Sing (Apply (Apply UncurrySym0 t_aNLr) t_aNLs) -- | (Kind) This is the kind of type-level symbols. data Symbol :: * either_ :: (a_aL1z -> c_aL1A) -> (b_aL1B -> c_aL1A) -> Either a_aL1z b_aL1B -> c_aL1A maybe_ :: b_a1wyg -> (a_a1wyh -> b_a1wyg) -> Maybe a_a1wyh -> b_a1wyg bool_ :: a_azQ3 -> a_azQ3 -> Bool -> a_azQ3 any_ :: (a_aPcm -> Bool) -> [a_aPcm] -> Bool type FalseSym0 = False type TrueSym0 = True data NotSym0 (l_aA20 :: TyFun Bool Bool) type NotSym1 (t_aA1Z :: Bool) = Not t_aA1Z data (:&&$) (l_aA2g :: TyFun Bool (TyFun Bool Bool -> *)) data (:&&$$) (l_aA2j :: Bool) (l_aA2i :: TyFun Bool Bool) type (:&&$$$) (t_aA2e :: Bool) (t_aA2f :: Bool) = (:&&) t_aA2e t_aA2f data (:||$) (l_aA25 :: TyFun Bool (TyFun Bool Bool -> *)) data (:||$$) (l_aA28 :: Bool) (l_aA27 :: TyFun Bool Bool) type (:||$$$) (t_aA23 :: Bool) (t_aA24 :: Bool) = (:||) t_aA23 t_aA24 type OtherwiseSym0 = Otherwise type NothingSym0 = Nothing data JustSym0 (l_at92 :: TyFun a_a53Q (Maybe a_a53Q)) type JustSym1 (t_at91 :: a_a53Q) = Just t_at91 data Maybe_Sym0 (l_a1wyo :: TyFun b_a1wyg (TyFun (TyFun a_a1wyh b_a1wyg -> *) (TyFun (Maybe a_a1wyh) b_a1wyg -> *) -> *)) data Maybe_Sym1 (l_a1wyr :: b_a1wyg) (l_a1wyq :: TyFun (TyFun a_a1wyh b_a1wyg -> *) (TyFun (Maybe a_a1wyh) b_a1wyg -> *)) data Maybe_Sym2 (l_a1wyu :: b_a1wyg) (l_a1wyv :: TyFun a_a1wyh b_a1wyg -> *) (l_a1wyt :: TyFun (Maybe a_a1wyh) b_a1wyg) type Maybe_Sym3 (t_a1wyl :: b_a1wyg) (t_a1wym :: TyFun a_a1wyh b_a1wyg -> *) (t_a1wyn :: Maybe a_a1wyh) = Maybe_ t_a1wyl t_a1wym t_a1wyn data LeftSym0 (l_at9t :: TyFun a_a8tV (Either a_a8tV b_a8tW)) type LeftSym1 (t_at9s :: a_a8tV) = Left t_at9s data RightSym0 (l_at9w :: TyFun b_a8tW (Either a_a8tV b_a8tW)) type RightSym1 (t_at9v :: b_a8tW) = Right t_at9v data Either_Sym0 (l_aL1J :: TyFun (TyFun a_aL1z c_aL1A -> *) (TyFun (TyFun b_aL1B c_aL1A -> *) (TyFun (Either a_aL1z b_aL1B) c_aL1A -> *) -> *)) data Either_Sym1 (l_aL1M :: TyFun a_aL1z c_aL1A -> *) (l_aL1L :: TyFun (TyFun b_aL1B c_aL1A -> *) (TyFun (Either a_aL1z b_aL1B) c_aL1A -> *)) data Either_Sym2 (l_aL1P :: TyFun a_aL1z c_aL1A -> *) (l_aL1Q :: TyFun b_aL1B c_aL1A -> *) (l_aL1O :: TyFun (Either a_aL1z b_aL1B) c_aL1A) type Either_Sym3 (t_aL1G :: TyFun a_aL1z c_aL1A -> *) (t_aL1H :: TyFun b_aL1B c_aL1A -> *) (t_aL1I :: Either a_aL1z b_aL1B) = Either_ t_aL1G t_aL1H t_aL1I type Tuple0Sym0 = '() data Tuple2Sym0 (l_at9O :: TyFun a_12 (TyFun b_13 (a_12, b_13) -> *)) data Tuple2Sym1 (l_at9R :: a_12) (l_at9Q :: TyFun b_13 (a_12, b_13)) type Tuple2Sym2 (t_at9M :: a_12) (t_at9N :: b_13) = '(t_at9M, t_at9N) data Tuple3Sym0 (l_ata8 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *) -> *)) data Tuple3Sym1 (l_atab :: a_12) (l_ataa :: TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *)) data Tuple3Sym2 (l_atae :: a_12) (l_ataf :: b_13) (l_atad :: TyFun c_14 (a_12, b_13, c_14)) type Tuple3Sym3 (t_ata5 :: a_12) (t_ata6 :: b_13) (t_ata7 :: c_14) = '(t_ata5, t_ata6, t_ata7) data Tuple4Sym0 (l_ataC :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *) -> *)) data Tuple4Sym1 (l_ataF :: a_12) (l_ataE :: TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *)) data Tuple4Sym2 (l_ataI :: a_12) (l_ataJ :: b_13) (l_ataH :: TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *)) data Tuple4Sym3 (l_ataM :: a_12) (l_ataN :: b_13) (l_ataO :: c_14) (l_ataL :: TyFun d_15 (a_12, b_13, c_14, d_15)) type Tuple4Sym4 (t_atay :: a_12) (t_ataz :: b_13) (t_ataA :: c_14) (t_ataB :: d_15) = '(t_atay, t_ataz, t_ataA, t_ataB) data Tuple5Sym0 (l_atbh :: 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_atbk :: a_12) (l_atbj :: 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_atbn :: a_12) (l_atbo :: b_13) (l_atbm :: TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *)) data Tuple5Sym3 (l_atbr :: a_12) (l_atbs :: b_13) (l_atbt :: c_14) (l_atbq :: TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *)) data Tuple5Sym4 (l_atbw :: a_12) (l_atbx :: b_13) (l_atby :: c_14) (l_atbz :: d_15) (l_atbv :: TyFun e_16 (a_12, b_13, c_14, d_15, e_16)) type Tuple5Sym5 (t_atbc :: a_12) (t_atbd :: b_13) (t_atbe :: c_14) (t_atbf :: d_15) (t_atbg :: e_16) = '(t_atbc, t_atbd, t_atbe, t_atbf, t_atbg) data Tuple6Sym0 (l_atc8 :: 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_atcb :: a_12) (l_atca :: 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_atce :: a_12) (l_atcf :: b_13) (l_atcd :: 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_atci :: a_12) (l_atcj :: b_13) (l_atck :: c_14) (l_atch :: TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *)) data Tuple6Sym4 (l_atcn :: a_12) (l_atco :: b_13) (l_atcp :: c_14) (l_atcq :: d_15) (l_atcm :: TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *)) data Tuple6Sym5 (l_atct :: a_12) (l_atcu :: b_13) (l_atcv :: c_14) (l_atcw :: d_15) (l_atcx :: e_16) (l_atcs :: TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17)) type Tuple6Sym6 (t_atc2 :: a_12) (t_atc3 :: b_13) (t_atc4 :: c_14) (t_atc5 :: d_15) (t_atc6 :: e_16) (t_atc7 :: f_17) = '(t_atc2, t_atc3, t_atc4, t_atc5, t_atc6, t_atc7) data Tuple7Sym0 (l_atdc :: 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_atdf :: a_12) (l_atde :: 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_atdi :: a_12) (l_atdj :: b_13) (l_atdh :: 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_atdm :: a_12) (l_atdn :: b_13) (l_atdo :: c_14) (l_atdl :: 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_atdr :: a_12) (l_atds :: b_13) (l_atdt :: c_14) (l_atdu :: d_15) (l_atdq :: 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_atdx :: a_12) (l_atdy :: b_13) (l_atdz :: c_14) (l_atdA :: d_15) (l_atdB :: e_16) (l_atdw :: TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *)) data Tuple7Sym6 (l_atdE :: a_12) (l_atdF :: b_13) (l_atdG :: c_14) (l_atdH :: d_15) (l_atdI :: e_16) (l_atdJ :: f_17) (l_atdD :: TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18)) type Tuple7Sym7 (t_atd5 :: a_12) (t_atd6 :: b_13) (t_atd7 :: c_14) (t_atd8 :: d_15) (t_atd9 :: e_16) (t_atda :: f_17) (t_atdb :: g_18) = '(t_atd5, t_atd6, t_atd7, t_atd8, t_atd9, t_atda, t_atdb) data FstSym0 (l_aNL5 :: TyFun (a_aNKf, b_aNKg) a_aNKf) type FstSym1 (t_aNL4 :: (a_aNKf, b_aNKg)) = Fst t_aNL4 data SndSym0 (l_aNKZ :: TyFun (a_aNKi, b_aNKj) b_aNKj) type SndSym1 (t_aNKY :: (a_aNKi, b_aNKj)) = Snd t_aNKY data CurrySym0 (l_aNKJ :: TyFun (TyFun (a_aNKl, b_aNKm) c_aNKn -> *) (TyFun a_aNKl (TyFun b_aNKm c_aNKn -> *) -> *)) data CurrySym1 (l_aNKM :: TyFun (a_aNKl, b_aNKm) c_aNKn -> *) (l_aNKL :: TyFun a_aNKl (TyFun b_aNKm c_aNKn -> *)) data CurrySym2 (l_aNKP :: TyFun (a_aNKl, b_aNKm) c_aNKn -> *) (l_aNKQ :: a_aNKl) (l_aNKO :: TyFun b_aNKm c_aNKn) type CurrySym3 (t_aNKG :: TyFun (a_aNKl, b_aNKm) c_aNKn -> *) (t_aNKH :: a_aNKl) (t_aNKI :: b_aNKm) = Curry t_aNKG t_aNKH t_aNKI data UncurrySym0 (l_aNLc :: TyFun (TyFun a_aNKr (TyFun b_aNKs c_aNKt -> *) -> *) (TyFun (a_aNKr, b_aNKs) c_aNKt -> *)) data UncurrySym1 (l_aNLf :: TyFun a_aNKr (TyFun b_aNKs c_aNKt -> *) -> *) (l_aNLe :: TyFun (a_aNKr, b_aNKs) c_aNKt) type UncurrySym2 (t_aNLa :: TyFun a_aNKr (TyFun b_aNKs c_aNKt -> *) -> *) (t_aNLb :: (a_aNKr, b_aNKs)) = Uncurry t_aNLa t_aNLb data IdSym0 (l_aIbX :: TyFun a_aIa1 a_aIa1) type IdSym1 (t_aIbW :: a_aIa1) = Id t_aIbW data ConstSym0 (l_aIby :: TyFun a_aIa3 (TyFun b_aIa4 a_aIa3 -> *)) data ConstSym1 (l_aIbB :: a_aIa3) (l_aIbA :: TyFun b_aIa4 a_aIa3) type ConstSym2 (t_aIbw :: a_aIa3) (t_aIbx :: b_aIa4) = Const t_aIbw t_aIbx data (:.$) (l_aIaS :: TyFun (TyFun b_aIa6 c_aIa7 -> *) (TyFun (TyFun a_aIa8 b_aIa6 -> *) (TyFun a_aIa8 c_aIa7 -> *) -> *)) data (:.$$) (l_aIaV :: TyFun b_aIa6 c_aIa7 -> *) (l_aIaU :: TyFun (TyFun a_aIa8 b_aIa6 -> *) (TyFun a_aIa8 c_aIa7 -> *)) data (:.$$$) (l_aIaY :: TyFun b_aIa6 c_aIa7 -> *) (l_aIaZ :: TyFun a_aIa8 b_aIa6 -> *) (l_aIaX :: TyFun a_aIa8 c_aIa7) 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_aIaA :: TyFun (TyFun a_aIac (TyFun b_aIad c_aIae -> *) -> *) (TyFun b_aIad (TyFun a_aIac c_aIae -> *) -> *)) data FlipSym1 (l_aIaD :: TyFun a_aIac (TyFun b_aIad c_aIae -> *) -> *) (l_aIaC :: TyFun b_aIad (TyFun a_aIac c_aIae -> *)) data FlipSym2 (l_aIaG :: TyFun a_aIac (TyFun b_aIad c_aIae -> *) -> *) (l_aIaH :: b_aIad) (l_aIaF :: TyFun a_aIac c_aIae) data AsTypeOfSym0 (l_aIbN :: TyFun a_aIai (TyFun a_aIai a_aIai -> *)) data AsTypeOfSym1 (l_aIbQ :: a_aIai) (l_aIbP :: TyFun a_aIai a_aIai) type AsTypeOfSym2 (t_aIbL :: a_aIai) (t_aIbM :: a_aIai) = AsTypeOf t_aIbL t_aIbM data SeqSym0 (l_aIao :: TyFun a_aIaj (TyFun b_aIak b_aIak -> *)) data SeqSym1 (l_aIar :: a_aIaj) (l_aIaq :: TyFun b_aIak b_aIak) type SeqSym2 (t_aIam :: a_aIaj) (t_aIan :: b_aIak) = Seq t_aIam t_aIan data (:$) (l_at9c :: TyFun a_12 (TyFun [a_12] [a_12] -> *)) data (:$$) (l_at9f :: a_12) (l_at9e :: TyFun [a_12] [a_12]) type (:$$$) (t_at9a :: a_12) (t_at9b :: [a_12]) = (:) t_at9a t_at9b type NilSym0 = '[] data MapSym0 (l_aIcg :: TyFun (TyFun a_aI9R b_aI9S -> *) (TyFun [a_aI9R] [b_aI9S] -> *)) data MapSym1 (l_aIcj :: TyFun a_aI9R b_aI9S -> *) (l_aIci :: TyFun [a_aI9R] [b_aI9S]) type MapSym2 (t_aIce :: TyFun a_aI9R b_aI9S -> *) (t_aIcf :: [a_aI9R]) = Map t_aIce t_aIcf data ReverseSym0 (l_aRPX :: TyFun [a_aRdq] [a_aRdq]) type ReverseSym1 (t_aRPW :: [a_aRdq]) = Reverse t_aRPW data (:++$$) (l_aIc6 :: [a_aI9W]) (l_aIc5 :: TyFun [a_aI9W] [a_aI9W]) data (:++$) (l_aIc3 :: TyFun [a_aI9W] (TyFun [a_aI9W] [a_aI9W] -> *)) data HeadSym0 (l_aRRL :: TyFun [a_aRd5] a_aRd5) type HeadSym1 (t_aRRK :: [a_aRd5]) = Head t_aRRK data LastSym0 (l_aRRf :: TyFun [a_aRd7] a_aRd7) type LastSym1 (t_aRRe :: [a_aRd7]) = Last t_aRRe data TailSym0 (l_aRR9 :: TyFun [a_aRdf] [a_aRdf]) type TailSym1 (t_aRR8 :: [a_aRdf]) = Tail t_aRR8 data InitSym0 (l_aRQD :: TyFun [a_aRdh] [a_aRdh]) type InitSym1 (t_aRQC :: [a_aRdh]) = Init t_aRQC data NullSym0 (l_aRQx :: TyFun [a_aRdp] Bool) type NullSym1 (t_aRQw :: [a_aRdp]) = Null t_aRQw data FoldlSym0 (l_aREn :: TyFun (TyFun b_aRe9 (TyFun a_aRea b_aRe9 -> *) -> *) (TyFun b_aRe9 (TyFun [a_aRea] b_aRe9 -> *) -> *)) data FoldlSym1 (l_aREq :: TyFun b_aRe9 (TyFun a_aRea b_aRe9 -> *) -> *) (l_aREp :: TyFun b_aRe9 (TyFun [a_aRea] b_aRe9 -> *)) data FoldlSym2 (l_aREt :: TyFun b_aRe9 (TyFun a_aRea b_aRe9 -> *) -> *) (l_aREu :: b_aRe9) (l_aREs :: TyFun [a_aRea] b_aRe9) type FoldlSym3 (t_aREk :: TyFun b_aRe9 (TyFun a_aRea b_aRe9 -> *) -> *) (t_aREl :: b_aRe9) (t_aREm :: [a_aRea]) = Foldl t_aREk t_aREl t_aREm data Foldl1Sym0 (l_aRFb :: TyFun (TyFun a_aReu (TyFun a_aReu a_aReu -> *) -> *) (TyFun [a_aReu] a_aReu -> *)) data Foldl1Sym1 (l_aRFe :: TyFun a_aReu (TyFun a_aReu a_aReu -> *) -> *) (l_aRFd :: TyFun [a_aReu] a_aReu) type Foldl1Sym2 (t_aRF9 :: TyFun a_aReu (TyFun a_aReu a_aReu -> *) -> *) (t_aRFa :: [a_aReu]) = Foldl1 t_aRF9 t_aRFa data FoldrSym0 (l_aIcu :: TyFun (TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (TyFun b_aI9L (TyFun [a_aI9K] b_aI9L -> *) -> *)) data FoldrSym1 (l_aIcx :: TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (l_aIcw :: TyFun b_aI9L (TyFun [a_aI9K] b_aI9L -> *)) data FoldrSym2 (l_aIcA :: TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (l_aIcB :: b_aI9L) (l_aIcz :: TyFun [a_aI9K] b_aI9L) type FoldrSym3 (t_aIcr :: TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (t_aIcs :: b_aI9L) (t_aIct :: [a_aI9K]) = Foldr t_aIcr t_aIcs t_aIct data Foldr1Sym0 (l_aRCb :: TyFun (TyFun a_aReC (TyFun a_aReC a_aReC -> *) -> *) (TyFun [a_aReC] a_aReC -> *)) data Foldr1Sym1 (l_aRCe :: TyFun a_aReC (TyFun a_aReC a_aReC -> *) -> *) (l_aRCd :: TyFun [a_aReC] a_aReC) type Foldr1Sym2 (t_aRC9 :: TyFun a_aReC (TyFun a_aReC a_aReC -> *) -> *) (t_aRCa :: [a_aReC]) = Foldr1 t_aRC9 t_aRCa data ConcatSym0 (l_aRC5 :: TyFun [[a_aReH]] [a_aReH]) type ConcatSym1 (t_aRC4 :: [[a_aReH]]) = Concat t_aRC4 data ConcatMapSym0 (l_aRBR :: TyFun (TyFun a_aReI [b_aReJ] -> *) (TyFun [a_aReI] [b_aReJ] -> *)) data ConcatMapSym1 (l_aRBU :: TyFun a_aReI [b_aReJ] -> *) (l_aRBT :: TyFun [a_aReI] [b_aReJ]) type ConcatMapSym2 (t_aRBP :: TyFun a_aReI [b_aReJ] -> *) (t_aRBQ :: [a_aReI]) = ConcatMap t_aRBP t_aRBQ data AndSym0 (l_aRBK :: TyFun [Bool] Bool) type AndSym1 (t_aRBJ :: [Bool]) = And t_aRBJ data OrSym0 (l_aRBE :: TyFun [Bool] Bool) type OrSym1 (t_aRBD :: [Bool]) = Or t_aRBD data Any_Sym0 (l_aPcs :: TyFun (TyFun a_aPcm Bool -> *) (TyFun [a_aPcm] Bool -> *)) data Any_Sym1 (l_aPcv :: TyFun a_aPcm Bool -> *) (l_aPcu :: TyFun [a_aPcm] Bool) type Any_Sym2 (t_aPcq :: TyFun a_aPcm Bool -> *) (t_aPcr :: [a_aPcm]) = Any_ t_aPcq t_aPcr data AllSym0 (l_aRBs :: TyFun (TyFun a_aReP Bool -> *) (TyFun [a_aReP] Bool -> *)) data AllSym1 (l_aRBv :: TyFun a_aReP Bool -> *) (l_aRBu :: TyFun [a_aReP] Bool) type AllSym2 (t_aRBq :: TyFun a_aReP Bool -> *) (t_aRBr :: [a_aReP]) = All t_aRBq t_aRBr data ScanlSym0 (l_aRAE :: TyFun (TyFun b_aReT (TyFun a_aReU b_aReT -> *) -> *) (TyFun b_aReT (TyFun [a_aReU] [b_aReT] -> *) -> *)) data ScanlSym1 (l_aRAH :: TyFun b_aReT (TyFun a_aReU b_aReT -> *) -> *) (l_aRAG :: TyFun b_aReT (TyFun [a_aReU] [b_aReT] -> *)) data ScanlSym2 (l_aRAK :: TyFun b_aReT (TyFun a_aReU b_aReT -> *) -> *) (l_aRAL :: b_aReT) (l_aRAJ :: TyFun [a_aReU] [b_aReT]) type ScanlSym3 (t_aRAB :: TyFun b_aReT (TyFun a_aReU b_aReT -> *) -> *) (t_aRAC :: b_aReT) (t_aRAD :: [a_aReU]) = Scanl t_aRAB t_aRAC t_aRAD data Scanl1Sym0 (l_aRBf :: TyFun (TyFun a_aRf0 (TyFun a_aRf0 a_aRf0 -> *) -> *) (TyFun [a_aRf0] [a_aRf0] -> *)) data Scanl1Sym1 (l_aRBi :: TyFun a_aRf0 (TyFun a_aRf0 a_aRf0 -> *) -> *) (l_aRBh :: TyFun [a_aRf0] [a_aRf0]) type Scanl1Sym2 (t_aRBd :: TyFun a_aRf0 (TyFun a_aRf0 a_aRf0 -> *) -> *) (t_aRBe :: [a_aRf0]) = Scanl1 t_aRBd t_aRBe data ScanrSym0 (l_aRzT :: TyFun (TyFun a_aRf4 (TyFun b_aRf5 b_aRf5 -> *) -> *) (TyFun b_aRf5 (TyFun [a_aRf4] [b_aRf5] -> *) -> *)) data ScanrSym1 (l_aRzW :: TyFun a_aRf4 (TyFun b_aRf5 b_aRf5 -> *) -> *) (l_aRzV :: TyFun b_aRf5 (TyFun [a_aRf4] [b_aRf5] -> *)) data ScanrSym2 (l_aRzZ :: TyFun a_aRf4 (TyFun b_aRf5 b_aRf5 -> *) -> *) (l_aRA0 :: b_aRf5) (l_aRzY :: TyFun [a_aRf4] [b_aRf5]) type ScanrSym3 (t_aRzQ :: TyFun a_aRf4 (TyFun b_aRf5 b_aRf5 -> *) -> *) (t_aRzR :: b_aRf5) (t_aRzS :: [a_aRf4]) = Scanr t_aRzQ t_aRzR t_aRzS data Scanr1Sym0 (l_aRyS :: TyFun (TyFun a_aRfd (TyFun a_aRfd a_aRfd -> *) -> *) (TyFun [a_aRfd] [a_aRfd] -> *)) data Scanr1Sym1 (l_aRyV :: TyFun a_aRfd (TyFun a_aRfd a_aRfd -> *) -> *) (l_aRyU :: TyFun [a_aRfd] [a_aRfd]) type Scanr1Sym2 (t_aRyQ :: TyFun a_aRfd (TyFun a_aRfd a_aRfd -> *) -> *) (t_aRyR :: [a_aRfd]) = Scanr1 t_aRyQ t_aRyR data ElemSym0 (l_aRrT :: TyFun a_aRg6 (TyFun [a_aRg6] Bool -> *)) data ElemSym1 (l_aRrW :: a_aRg6) (l_aRrV :: TyFun [a_aRg6] Bool) type ElemSym2 (t_aRrR :: a_aRg6) (t_aRrS :: [a_aRg6]) = Elem t_aRrR t_aRrS data NotElemSym0 (l_aRrG :: TyFun a_aRga (TyFun [a_aRga] Bool -> *)) data NotElemSym1 (l_aRrJ :: a_aRga) (l_aRrI :: TyFun [a_aRga] Bool) type NotElemSym2 (t_aRrE :: a_aRga) (t_aRrF :: [a_aRga]) = NotElem t_aRrE t_aRrF data ZipSym0 (l_aRrp :: TyFun [a_aRge] (TyFun [b_aRgf] [(a_aRge, b_aRgf)] -> *)) data ZipSym1 (l_aRrs :: [a_aRge]) (l_aRrr :: TyFun [b_aRgf] [(a_aRge, b_aRgf)]) type ZipSym2 (t_aRrn :: [a_aRge]) (t_aRro :: [b_aRgf]) = Zip t_aRrn t_aRro data Zip3Sym0 (l_aRqN :: TyFun [a_aRgk] (TyFun [b_aRgl] (TyFun [c_aRgm] [(a_aRgk, b_aRgl, c_aRgm)] -> *) -> *)) data Zip3Sym1 (l_aRqQ :: [a_aRgk]) (l_aRqP :: TyFun [b_aRgl] (TyFun [c_aRgm] [(a_aRgk, b_aRgl, c_aRgm)] -> *)) data Zip3Sym2 (l_aRqT :: [a_aRgk]) (l_aRqU :: [b_aRgl]) (l_aRqS :: TyFun [c_aRgm] [(a_aRgk, b_aRgl, c_aRgm)]) type Zip3Sym3 (t_aRqK :: [a_aRgk]) (t_aRqL :: [b_aRgl]) (t_aRqM :: [c_aRgm]) = Zip3 t_aRqK t_aRqL t_aRqM data ZipWithSym0 (l_aRqm :: TyFun (TyFun a_aRgt (TyFun b_aRgu c_aRgv -> *) -> *) (TyFun [a_aRgt] (TyFun [b_aRgu] [c_aRgv] -> *) -> *)) data ZipWithSym1 (l_aRqp :: TyFun a_aRgt (TyFun b_aRgu c_aRgv -> *) -> *) (l_aRqo :: TyFun [a_aRgt] (TyFun [b_aRgu] [c_aRgv] -> *)) data ZipWithSym2 (l_aRqs :: TyFun a_aRgt (TyFun b_aRgu c_aRgv -> *) -> *) (l_aRqt :: [a_aRgt]) (l_aRqr :: TyFun [b_aRgu] [c_aRgv]) type ZipWithSym3 (t_aRqj :: TyFun a_aRgt (TyFun b_aRgu c_aRgv -> *) -> *) (t_aRqk :: [a_aRgt]) (t_aRql :: [b_aRgu]) = ZipWith t_aRqj t_aRqk t_aRql data ZipWith3Sym0 (l_aRpv :: TyFun (TyFun a_aRgB (TyFun b_aRgC (TyFun c_aRgD d_aRgE -> *) -> *) -> *) (TyFun [a_aRgB] (TyFun [b_aRgC] (TyFun [c_aRgD] [d_aRgE] -> *) -> *) -> *)) data ZipWith3Sym1 (l_aRpy :: TyFun a_aRgB (TyFun b_aRgC (TyFun c_aRgD d_aRgE -> *) -> *) -> *) (l_aRpx :: TyFun [a_aRgB] (TyFun [b_aRgC] (TyFun [c_aRgD] [d_aRgE] -> *) -> *)) data ZipWith3Sym2 (l_aRpB :: TyFun a_aRgB (TyFun b_aRgC (TyFun c_aRgD d_aRgE -> *) -> *) -> *) (l_aRpC :: [a_aRgB]) (l_aRpA :: TyFun [b_aRgC] (TyFun [c_aRgD] [d_aRgE] -> *)) data ZipWith3Sym3 (l_aRpF :: TyFun a_aRgB (TyFun b_aRgC (TyFun c_aRgD d_aRgE -> *) -> *) -> *) (l_aRpG :: [a_aRgB]) (l_aRpH :: [b_aRgC]) (l_aRpE :: TyFun [c_aRgD] [d_aRgE]) data UnzipSym0 (l_aRoW :: TyFun [(a_aRgM, b_aRgN)] ([a_aRgM], [b_aRgN])) type UnzipSym1 (t_aRoV :: [(a_aRgM, b_aRgN)]) = Unzip t_aRoV -- | 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_aPcm -> Bool) -> [a_aPcm] -> Bool type NilSym0 = '[] data (:$) (l_at9c :: TyFun a_12 (TyFun [a_12] [a_12] -> *)) data (:$$) (l_at9f :: a_12) (l_at9e :: TyFun [a_12] [a_12]) type (:$$$) (t_at9a :: a_12) (t_at9b :: [a_12]) = (:) t_at9a t_at9b data (:++$$) (l_aIc6 :: [a_aI9W]) (l_aIc5 :: TyFun [a_aI9W] [a_aI9W]) data (:++$) (l_aIc3 :: TyFun [a_aI9W] (TyFun [a_aI9W] [a_aI9W] -> *)) data HeadSym0 (l_aRRL :: TyFun [a_aRd5] a_aRd5) type HeadSym1 (t_aRRK :: [a_aRd5]) = Head t_aRRK data LastSym0 (l_aRRf :: TyFun [a_aRd7] a_aRd7) type LastSym1 (t_aRRe :: [a_aRd7]) = Last t_aRRe data TailSym0 (l_aRR9 :: TyFun [a_aRdf] [a_aRdf]) type TailSym1 (t_aRR8 :: [a_aRdf]) = Tail t_aRR8 data InitSym0 (l_aRQD :: TyFun [a_aRdh] [a_aRdh]) type InitSym1 (t_aRQC :: [a_aRdh]) = Init t_aRQC data NullSym0 (l_aRQx :: TyFun [a_aRdp] Bool) type NullSym1 (t_aRQw :: [a_aRdp]) = Null t_aRQw data MapSym0 (l_aIcg :: TyFun (TyFun a_aI9R b_aI9S -> *) (TyFun [a_aI9R] [b_aI9S] -> *)) data MapSym1 (l_aIcj :: TyFun a_aI9R b_aI9S -> *) (l_aIci :: TyFun [a_aI9R] [b_aI9S]) type MapSym2 (t_aIce :: TyFun a_aI9R b_aI9S -> *) (t_aIcf :: [a_aI9R]) = Map t_aIce t_aIcf data ReverseSym0 (l_aRPX :: TyFun [a_aRdq] [a_aRdq]) type ReverseSym1 (t_aRPW :: [a_aRdq]) = Reverse t_aRPW data IntersperseSym0 (l_aRPA :: TyFun a_aRdy (TyFun [a_aRdy] [a_aRdy] -> *)) data IntersperseSym1 (l_aRPD :: a_aRdy) (l_aRPC :: TyFun [a_aRdy] [a_aRdy]) type IntersperseSym2 (t_aRPy :: a_aRdy) (t_aRPz :: [a_aRdy]) = Intersperse t_aRPy t_aRPz data IntercalateSym0 (l_aRPN :: TyFun [a_aRdC] (TyFun [[a_aRdC]] [a_aRdC] -> *)) data IntercalateSym1 (l_aRPQ :: [a_aRdC]) (l_aRPP :: TyFun [[a_aRdC]] [a_aRdC]) type IntercalateSym2 (t_aRPL :: [a_aRdC]) (t_aRPM :: [[a_aRdC]]) = Intercalate t_aRPL t_aRPM data SubsequencesSym0 (l_aRPu :: TyFun [a_aRdF] [[a_aRdF]]) type SubsequencesSym1 (t_aRPt :: [a_aRdF]) = Subsequences t_aRPt data PermutationsSym0 (l_aRIQ :: TyFun [a_aRdR] [[a_aRdR]]) type PermutationsSym1 (t_aRIP :: [a_aRdR]) = Permutations t_aRIP data FoldlSym0 (l_aREn :: TyFun (TyFun b_aRe9 (TyFun a_aRea b_aRe9 -> *) -> *) (TyFun b_aRe9 (TyFun [a_aRea] b_aRe9 -> *) -> *)) data FoldlSym1 (l_aREq :: TyFun b_aRe9 (TyFun a_aRea b_aRe9 -> *) -> *) (l_aREp :: TyFun b_aRe9 (TyFun [a_aRea] b_aRe9 -> *)) data FoldlSym2 (l_aREt :: TyFun b_aRe9 (TyFun a_aRea b_aRe9 -> *) -> *) (l_aREu :: b_aRe9) (l_aREs :: TyFun [a_aRea] b_aRe9) type FoldlSym3 (t_aREk :: TyFun b_aRe9 (TyFun a_aRea b_aRe9 -> *) -> *) (t_aREl :: b_aRe9) (t_aREm :: [a_aRea]) = Foldl t_aREk t_aREl t_aREm data Foldl'Sym0 (l_aRCM :: TyFun (TyFun b_aRcc (TyFun a_aRcb b_aRcc -> *) -> *) (TyFun b_aRcc (TyFun [a_aRcb] b_aRcc -> *) -> *)) data Foldl'Sym1 (l_aRCP :: TyFun b_aRcc (TyFun a_aRcb b_aRcc -> *) -> *) (l_aRCO :: TyFun b_aRcc (TyFun [a_aRcb] b_aRcc -> *)) data Foldl'Sym2 (l_aRCS :: TyFun b_aRcc (TyFun a_aRcb b_aRcc -> *) -> *) (l_aRCT :: b_aRcc) (l_aRCR :: TyFun [a_aRcb] b_aRcc) type Foldl'Sym3 (t_aRCJ :: TyFun b_aRcc (TyFun a_aRcb b_aRcc -> *) -> *) (t_aRCK :: b_aRcc) (t_aRCL :: [a_aRcb]) = Foldl' t_aRCJ t_aRCK t_aRCL data Foldl1Sym0 (l_aRFb :: TyFun (TyFun a_aReu (TyFun a_aReu a_aReu -> *) -> *) (TyFun [a_aReu] a_aReu -> *)) data Foldl1Sym1 (l_aRFe :: TyFun a_aReu (TyFun a_aReu a_aReu -> *) -> *) (l_aRFd :: TyFun [a_aReu] a_aReu) type Foldl1Sym2 (t_aRF9 :: TyFun a_aReu (TyFun a_aReu a_aReu -> *) -> *) (t_aRFa :: [a_aReu]) = Foldl1 t_aRF9 t_aRFa data Foldl1'Sym0 (l_aRE9 :: TyFun (TyFun a_aRey (TyFun a_aRey a_aRey -> *) -> *) (TyFun [a_aRey] a_aRey -> *)) data Foldl1'Sym1 (l_aREc :: TyFun a_aRey (TyFun a_aRey a_aRey -> *) -> *) (l_aREb :: TyFun [a_aRey] a_aRey) type Foldl1'Sym2 (t_aRE7 :: TyFun a_aRey (TyFun a_aRey a_aRey -> *) -> *) (t_aRE8 :: [a_aRey]) = Foldl1' t_aRE7 t_aRE8 data FoldrSym0 (l_aIcu :: TyFun (TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (TyFun b_aI9L (TyFun [a_aI9K] b_aI9L -> *) -> *)) data FoldrSym1 (l_aIcx :: TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (l_aIcw :: TyFun b_aI9L (TyFun [a_aI9K] b_aI9L -> *)) data FoldrSym2 (l_aIcA :: TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (l_aIcB :: b_aI9L) (l_aIcz :: TyFun [a_aI9K] b_aI9L) type FoldrSym3 (t_aIcr :: TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (t_aIcs :: b_aI9L) (t_aIct :: [a_aI9K]) = Foldr t_aIcr t_aIcs t_aIct data Foldr1Sym0 (l_aRCb :: TyFun (TyFun a_aReC (TyFun a_aReC a_aReC -> *) -> *) (TyFun [a_aReC] a_aReC -> *)) data Foldr1Sym1 (l_aRCe :: TyFun a_aReC (TyFun a_aReC a_aReC -> *) -> *) (l_aRCd :: TyFun [a_aReC] a_aReC) type Foldr1Sym2 (t_aRC9 :: TyFun a_aReC (TyFun a_aReC a_aReC -> *) -> *) (t_aRCa :: [a_aReC]) = Foldr1 t_aRC9 t_aRCa data ConcatSym0 (l_aRC5 :: TyFun [[a_aReH]] [a_aReH]) type ConcatSym1 (t_aRC4 :: [[a_aReH]]) = Concat t_aRC4 data ConcatMapSym0 (l_aRBR :: TyFun (TyFun a_aReI [b_aReJ] -> *) (TyFun [a_aReI] [b_aReJ] -> *)) data ConcatMapSym1 (l_aRBU :: TyFun a_aReI [b_aReJ] -> *) (l_aRBT :: TyFun [a_aReI] [b_aReJ]) type ConcatMapSym2 (t_aRBP :: TyFun a_aReI [b_aReJ] -> *) (t_aRBQ :: [a_aReI]) = ConcatMap t_aRBP t_aRBQ data AndSym0 (l_aRBK :: TyFun [Bool] Bool) type AndSym1 (t_aRBJ :: [Bool]) = And t_aRBJ data OrSym0 (l_aRBE :: TyFun [Bool] Bool) type OrSym1 (t_aRBD :: [Bool]) = Or t_aRBD data Any_Sym0 (l_aPcs :: TyFun (TyFun a_aPcm Bool -> *) (TyFun [a_aPcm] Bool -> *)) data Any_Sym1 (l_aPcv :: TyFun a_aPcm Bool -> *) (l_aPcu :: TyFun [a_aPcm] Bool) type Any_Sym2 (t_aPcq :: TyFun a_aPcm Bool -> *) (t_aPcr :: [a_aPcm]) = Any_ t_aPcq t_aPcr data AllSym0 (l_aRBs :: TyFun (TyFun a_aReP Bool -> *) (TyFun [a_aReP] Bool -> *)) data AllSym1 (l_aRBv :: TyFun a_aReP Bool -> *) (l_aRBu :: TyFun [a_aReP] Bool) type AllSym2 (t_aRBq :: TyFun a_aReP Bool -> *) (t_aRBr :: [a_aReP]) = All t_aRBq t_aRBr data ScanlSym0 (l_aRAE :: TyFun (TyFun b_aReT (TyFun a_aReU b_aReT -> *) -> *) (TyFun b_aReT (TyFun [a_aReU] [b_aReT] -> *) -> *)) data ScanlSym1 (l_aRAH :: TyFun b_aReT (TyFun a_aReU b_aReT -> *) -> *) (l_aRAG :: TyFun b_aReT (TyFun [a_aReU] [b_aReT] -> *)) data ScanlSym2 (l_aRAK :: TyFun b_aReT (TyFun a_aReU b_aReT -> *) -> *) (l_aRAL :: b_aReT) (l_aRAJ :: TyFun [a_aReU] [b_aReT]) type ScanlSym3 (t_aRAB :: TyFun b_aReT (TyFun a_aReU b_aReT -> *) -> *) (t_aRAC :: b_aReT) (t_aRAD :: [a_aReU]) = Scanl t_aRAB t_aRAC t_aRAD data Scanl1Sym0 (l_aRBf :: TyFun (TyFun a_aRf0 (TyFun a_aRf0 a_aRf0 -> *) -> *) (TyFun [a_aRf0] [a_aRf0] -> *)) data Scanl1Sym1 (l_aRBi :: TyFun a_aRf0 (TyFun a_aRf0 a_aRf0 -> *) -> *) (l_aRBh :: TyFun [a_aRf0] [a_aRf0]) type Scanl1Sym2 (t_aRBd :: TyFun a_aRf0 (TyFun a_aRf0 a_aRf0 -> *) -> *) (t_aRBe :: [a_aRf0]) = Scanl1 t_aRBd t_aRBe data ScanrSym0 (l_aRzT :: TyFun (TyFun a_aRf4 (TyFun b_aRf5 b_aRf5 -> *) -> *) (TyFun b_aRf5 (TyFun [a_aRf4] [b_aRf5] -> *) -> *)) data ScanrSym1 (l_aRzW :: TyFun a_aRf4 (TyFun b_aRf5 b_aRf5 -> *) -> *) (l_aRzV :: TyFun b_aRf5 (TyFun [a_aRf4] [b_aRf5] -> *)) data ScanrSym2 (l_aRzZ :: TyFun a_aRf4 (TyFun b_aRf5 b_aRf5 -> *) -> *) (l_aRA0 :: b_aRf5) (l_aRzY :: TyFun [a_aRf4] [b_aRf5]) type ScanrSym3 (t_aRzQ :: TyFun a_aRf4 (TyFun b_aRf5 b_aRf5 -> *) -> *) (t_aRzR :: b_aRf5) (t_aRzS :: [a_aRf4]) = Scanr t_aRzQ t_aRzR t_aRzS data Scanr1Sym0 (l_aRyS :: TyFun (TyFun a_aRfd (TyFun a_aRfd a_aRfd -> *) -> *) (TyFun [a_aRfd] [a_aRfd] -> *)) data Scanr1Sym1 (l_aRyV :: TyFun a_aRfd (TyFun a_aRfd a_aRfd -> *) -> *) (l_aRyU :: TyFun [a_aRfd] [a_aRfd]) type Scanr1Sym2 (t_aRyQ :: TyFun a_aRfd (TyFun a_aRfd a_aRfd -> *) -> *) (t_aRyR :: [a_aRfd]) = Scanr1 t_aRyQ t_aRyR data MapAccumLSym0 (l_aRwc :: TyFun (TyFun acc_aRfk (TyFun x_aRfl (acc_aRfk, y_aRfm) -> *) -> *) (TyFun acc_aRfk (TyFun [x_aRfl] (acc_aRfk, [y_aRfm]) -> *) -> *)) data MapAccumLSym1 (l_aRwf :: TyFun acc_aRfk (TyFun x_aRfl (acc_aRfk, y_aRfm) -> *) -> *) (l_aRwe :: TyFun acc_aRfk (TyFun [x_aRfl] (acc_aRfk, [y_aRfm]) -> *)) data MapAccumLSym2 (l_aRwi :: TyFun acc_aRfk (TyFun x_aRfl (acc_aRfk, y_aRfm) -> *) -> *) (l_aRwj :: acc_aRfk) (l_aRwh :: TyFun [x_aRfl] (acc_aRfk, [y_aRfm])) type MapAccumLSym3 (t_aRw9 :: TyFun acc_aRfk (TyFun x_aRfl (acc_aRfk, y_aRfm) -> *) -> *) (t_aRwa :: acc_aRfk) (t_aRwb :: [x_aRfl]) = MapAccumL t_aRw9 t_aRwa t_aRwb data MapAccumRSym0 (l_aRtv :: TyFun (TyFun acc_aRfw (TyFun x_aRfx (acc_aRfw, y_aRfy) -> *) -> *) (TyFun acc_aRfw (TyFun [x_aRfx] (acc_aRfw, [y_aRfy]) -> *) -> *)) data MapAccumRSym1 (l_aRty :: TyFun acc_aRfw (TyFun x_aRfx (acc_aRfw, y_aRfy) -> *) -> *) (l_aRtx :: TyFun acc_aRfw (TyFun [x_aRfx] (acc_aRfw, [y_aRfy]) -> *)) data MapAccumRSym2 (l_aRtB :: TyFun acc_aRfw (TyFun x_aRfx (acc_aRfw, y_aRfy) -> *) -> *) (l_aRtC :: acc_aRfw) (l_aRtA :: TyFun [x_aRfx] (acc_aRfw, [y_aRfy])) type MapAccumRSym3 (t_aRts :: TyFun acc_aRfw (TyFun x_aRfx (acc_aRfw, y_aRfy) -> *) -> *) (t_aRtt :: acc_aRfw) (t_aRtu :: [x_aRfx]) = MapAccumR t_aRts t_aRtt t_aRtu data UnfoldrSym0 (l_aRt4 :: TyFun (TyFun b_aRfI (Maybe (a_aRfJ, b_aRfI)) -> *) (TyFun b_aRfI [a_aRfJ] -> *)) data UnfoldrSym1 (l_aRt7 :: TyFun b_aRfI (Maybe (a_aRfJ, b_aRfI)) -> *) (l_aRt6 :: TyFun b_aRfI [a_aRfJ]) type UnfoldrSym2 (t_aRt2 :: TyFun b_aRfI (Maybe (a_aRfJ, b_aRfI)) -> *) (t_aRt3 :: b_aRfI) = Unfoldr t_aRt2 t_aRt3 data InitsSym0 (l_aRsN :: TyFun [a_aRfO] [[a_aRfO]]) type InitsSym1 (t_aRsM :: [a_aRfO]) = Inits t_aRsM data TailsSym0 (l_aRsm :: TyFun [a_aRfS] [[a_aRfS]]) type TailsSym1 (t_aRsl :: [a_aRfS]) = Tails t_aRsl data IsPrefixOfSym0 (l_aRs6 :: TyFun [a_aRfV] (TyFun [a_aRfV] Bool -> *)) data IsPrefixOfSym1 (l_aRs9 :: [a_aRfV]) (l_aRs8 :: TyFun [a_aRfV] Bool) type IsPrefixOfSym2 (t_aRs4 :: [a_aRfV]) (t_aRs5 :: [a_aRfV]) = IsPrefixOf t_aRs4 t_aRs5 data IsSuffixOfSym0 (l_aRQn :: TyFun [a_aRg0] (TyFun [a_aRg0] Bool -> *)) data IsSuffixOfSym1 (l_aRQq :: [a_aRg0]) (l_aRQp :: TyFun [a_aRg0] Bool) type IsSuffixOfSym2 (t_aRQl :: [a_aRg0]) (t_aRQm :: [a_aRg0]) = IsSuffixOf t_aRQl t_aRQm data IsInfixOfSym0 (l_aRsD :: TyFun [a_aRg3] (TyFun [a_aRg3] Bool -> *)) data IsInfixOfSym1 (l_aRsG :: [a_aRg3]) (l_aRsF :: TyFun [a_aRg3] Bool) type IsInfixOfSym2 (t_aRsB :: [a_aRg3]) (t_aRsC :: [a_aRg3]) = IsInfixOf t_aRsB t_aRsC data ElemSym0 (l_aRrT :: TyFun a_aRg6 (TyFun [a_aRg6] Bool -> *)) data ElemSym1 (l_aRrW :: a_aRg6) (l_aRrV :: TyFun [a_aRg6] Bool) type ElemSym2 (t_aRrR :: a_aRg6) (t_aRrS :: [a_aRg6]) = Elem t_aRrR t_aRrS data NotElemSym0 (l_aRrG :: TyFun a_aRga (TyFun [a_aRga] Bool -> *)) data NotElemSym1 (l_aRrJ :: a_aRga) (l_aRrI :: TyFun [a_aRga] Bool) type NotElemSym2 (t_aRrE :: a_aRga) (t_aRrF :: [a_aRga]) = NotElem t_aRrE t_aRrF data ZipSym0 (l_aRrp :: TyFun [a_aRge] (TyFun [b_aRgf] [(a_aRge, b_aRgf)] -> *)) data ZipSym1 (l_aRrs :: [a_aRge]) (l_aRrr :: TyFun [b_aRgf] [(a_aRge, b_aRgf)]) type ZipSym2 (t_aRrn :: [a_aRge]) (t_aRro :: [b_aRgf]) = Zip t_aRrn t_aRro data Zip3Sym0 (l_aRqN :: TyFun [a_aRgk] (TyFun [b_aRgl] (TyFun [c_aRgm] [(a_aRgk, b_aRgl, c_aRgm)] -> *) -> *)) data Zip3Sym1 (l_aRqQ :: [a_aRgk]) (l_aRqP :: TyFun [b_aRgl] (TyFun [c_aRgm] [(a_aRgk, b_aRgl, c_aRgm)] -> *)) data Zip3Sym2 (l_aRqT :: [a_aRgk]) (l_aRqU :: [b_aRgl]) (l_aRqS :: TyFun [c_aRgm] [(a_aRgk, b_aRgl, c_aRgm)]) type Zip3Sym3 (t_aRqK :: [a_aRgk]) (t_aRqL :: [b_aRgl]) (t_aRqM :: [c_aRgm]) = Zip3 t_aRqK t_aRqL t_aRqM data ZipWithSym0 (l_aRqm :: TyFun (TyFun a_aRgt (TyFun b_aRgu c_aRgv -> *) -> *) (TyFun [a_aRgt] (TyFun [b_aRgu] [c_aRgv] -> *) -> *)) data ZipWithSym1 (l_aRqp :: TyFun a_aRgt (TyFun b_aRgu c_aRgv -> *) -> *) (l_aRqo :: TyFun [a_aRgt] (TyFun [b_aRgu] [c_aRgv] -> *)) data ZipWithSym2 (l_aRqs :: TyFun a_aRgt (TyFun b_aRgu c_aRgv -> *) -> *) (l_aRqt :: [a_aRgt]) (l_aRqr :: TyFun [b_aRgu] [c_aRgv]) type ZipWithSym3 (t_aRqj :: TyFun a_aRgt (TyFun b_aRgu c_aRgv -> *) -> *) (t_aRqk :: [a_aRgt]) (t_aRql :: [b_aRgu]) = ZipWith t_aRqj t_aRqk t_aRql data ZipWith3Sym0 (l_aRpv :: TyFun (TyFun a_aRgB (TyFun b_aRgC (TyFun c_aRgD d_aRgE -> *) -> *) -> *) (TyFun [a_aRgB] (TyFun [b_aRgC] (TyFun [c_aRgD] [d_aRgE] -> *) -> *) -> *)) data ZipWith3Sym1 (l_aRpy :: TyFun a_aRgB (TyFun b_aRgC (TyFun c_aRgD d_aRgE -> *) -> *) -> *) (l_aRpx :: TyFun [a_aRgB] (TyFun [b_aRgC] (TyFun [c_aRgD] [d_aRgE] -> *) -> *)) data ZipWith3Sym2 (l_aRpB :: TyFun a_aRgB (TyFun b_aRgC (TyFun c_aRgD d_aRgE -> *) -> *) -> *) (l_aRpC :: [a_aRgB]) (l_aRpA :: TyFun [b_aRgC] (TyFun [c_aRgD] [d_aRgE] -> *)) data ZipWith3Sym3 (l_aRpF :: TyFun a_aRgB (TyFun b_aRgC (TyFun c_aRgD d_aRgE -> *) -> *) -> *) (l_aRpG :: [a_aRgB]) (l_aRpH :: [b_aRgC]) (l_aRpE :: TyFun [c_aRgD] [d_aRgE]) data UnzipSym0 (l_aRoW :: TyFun [(a_aRgM, b_aRgN)] ([a_aRgM], [b_aRgN])) type UnzipSym1 (t_aRoV :: [(a_aRgM, b_aRgN)]) = Unzip t_aRoV data Unzip3Sym0 (l_aRoo :: TyFun [(a_aRgT, b_aRgU, c_aRgV)] ([a_aRgT], [b_aRgU], [c_aRgV])) type Unzip3Sym1 (t_aRon :: [(a_aRgT, b_aRgU, c_aRgV)]) = Unzip3 t_aRon data Unzip4Sym0 (l_aRnO :: TyFun [(a_aRh3, b_aRh4, c_aRh5, d_aRh6)] ([a_aRh3], [b_aRh4], [c_aRh5], [d_aRh6])) type Unzip4Sym1 (t_aRnN :: [(a_aRh3, b_aRh4, c_aRh5, d_aRh6)]) = Unzip4 t_aRnN data Unzip5Sym0 (l_aRnc :: TyFun [(a_aRhg, b_aRhh, c_aRhi, d_aRhj, e_aRhk)] ([a_aRhg], [b_aRhh], [c_aRhi], [d_aRhj], [e_aRhk])) type Unzip5Sym1 (t_aRnb :: [(a_aRhg, b_aRhh, c_aRhi, d_aRhj, e_aRhk)]) = Unzip5 t_aRnb data Unzip6Sym0 (l_aRmy :: TyFun [(a_aRhw, b_aRhx, c_aRhy, d_aRhz, e_aRhA, f_aRhB)] ([a_aRhw], [b_aRhx], [c_aRhy], [d_aRhz], [e_aRhA], [f_aRhB])) type Unzip6Sym1 (t_aRmx :: [(a_aRhw, b_aRhx, c_aRhy, d_aRhz, e_aRhA, f_aRhB)]) = Unzip6 t_aRmx data Unzip7Sym0 (l_aRlS :: TyFun [(a_aRhP, b_aRhQ, c_aRhR, d_aRhS, e_aRhT, f_aRhU, g_aRhV)] ([a_aRhP], [b_aRhQ], [c_aRhR], [d_aRhS], [e_aRhT], [f_aRhU], [g_aRhV])) type Unzip7Sym1 (t_aRlR :: [(a_aRhP, b_aRhQ, c_aRhR, d_aRhS, e_aRhT, f_aRhU, g_aRhV)]) = Unzip7 t_aRlR data DeleteSym0 (l_aRlI :: TyFun a_aRib (TyFun [a_aRib] [a_aRib] -> *)) data DeleteSym1 (l_aRlL :: a_aRib) (l_aRlK :: TyFun [a_aRib] [a_aRib]) type DeleteSym2 (t_aRlG :: a_aRib) (t_aRlH :: [a_aRib]) = Delete t_aRlG t_aRlH data (:\\$) (l_aRIk :: TyFun [a_aRic] (TyFun [a_aRic] [a_aRic] -> *)) data (:\\$$) (l_aRIn :: [a_aRic]) (l_aRIm :: TyFun [a_aRic] [a_aRic]) type (:\\$$$) (t_aRIi :: [a_aRic]) (t_aRIj :: [a_aRic]) = (:\\) t_aRIi t_aRIj data IntersectSym0 (l_a1AYP :: TyFun [a_a1ALJ] (TyFun [a_a1ALJ] [a_a1ALJ] -> *)) data IntersectSym1 (l_a1AYS :: [a_a1ALJ]) (l_a1AYR :: TyFun [a_a1ALJ] [a_a1ALJ]) type IntersectSym2 (t_a1AYN :: [a_a1ALJ]) (t_a1AYO :: [a_a1ALJ]) = Intersect t_a1AYN t_a1AYO data InsertSym0 (l_a1AZI :: TyFun a_a1AIZ (TyFun [a_a1AIZ] [a_a1AIZ] -> *)) data InsertSym1 (l_a1AZL :: a_a1AIZ) (l_a1AZK :: TyFun [a_a1AIZ] [a_a1AIZ]) type InsertSym2 (t_a1AZG :: a_a1AIZ) (t_a1AZH :: [a_a1AIZ]) = Insert t_a1AZG t_a1AZH data SortSym0 (l_a1AZC :: TyFun [a_a1AJ2] [a_a1AJ2]) type SortSym1 (t_a1AZB :: [a_a1AJ2]) = Sort t_a1AZB data DeleteBySym0 (l_aRkW :: TyFun (TyFun a_aRid (TyFun a_aRid Bool -> *) -> *) (TyFun a_aRid (TyFun [a_aRid] [a_aRid] -> *) -> *)) data DeleteBySym1 (l_aRkZ :: TyFun a_aRid (TyFun a_aRid Bool -> *) -> *) (l_aRkY :: TyFun a_aRid (TyFun [a_aRid] [a_aRid] -> *)) data DeleteBySym2 (l_aRl2 :: TyFun a_aRid (TyFun a_aRid Bool -> *) -> *) (l_aRl3 :: a_aRid) (l_aRl1 :: TyFun [a_aRid] [a_aRid]) type DeleteBySym3 (t_aRkT :: TyFun a_aRid (TyFun a_aRid Bool -> *) -> *) (t_aRkU :: a_aRid) (t_aRkV :: [a_aRid]) = DeleteBy t_aRkT t_aRkU t_aRkV data DeleteFirstsBySym0 (l_aRIw :: TyFun (TyFun a_aRii (TyFun a_aRii Bool -> *) -> *) (TyFun [a_aRii] (TyFun [a_aRii] [a_aRii] -> *) -> *)) data DeleteFirstsBySym1 (l_aRIz :: TyFun a_aRii (TyFun a_aRii Bool -> *) -> *) (l_aRIy :: TyFun [a_aRii] (TyFun [a_aRii] [a_aRii] -> *)) data DeleteFirstsBySym2 (l_aRIC :: TyFun a_aRii (TyFun a_aRii Bool -> *) -> *) (l_aRID :: [a_aRii]) (l_aRIB :: TyFun [a_aRii] [a_aRii]) type DeleteFirstsBySym3 (t_aRIt :: TyFun a_aRii (TyFun a_aRii Bool -> *) -> *) (t_aRIu :: [a_aRii]) (t_aRIv :: [a_aRii]) = DeleteFirstsBy t_aRIt t_aRIu t_aRIv data IntersectBySym0 (l_a1AY0 :: TyFun (TyFun a_a1ALK (TyFun a_a1ALK Bool -> *) -> *) (TyFun [a_a1ALK] (TyFun [a_a1ALK] [a_a1ALK] -> *) -> *)) data IntersectBySym1 (l_a1AY3 :: TyFun a_a1ALK (TyFun a_a1ALK Bool -> *) -> *) (l_a1AY2 :: TyFun [a_a1ALK] (TyFun [a_a1ALK] [a_a1ALK] -> *)) data IntersectBySym2 (l_a1AY6 :: TyFun a_a1ALK (TyFun a_a1ALK Bool -> *) -> *) (l_a1AY7 :: [a_a1ALK]) (l_a1AY5 :: TyFun [a_a1ALK] [a_a1ALK]) data SortBySym0 (l_aRkI :: TyFun (TyFun a_aRik (TyFun a_aRik Ordering -> *) -> *) (TyFun [a_aRik] [a_aRik] -> *)) data SortBySym1 (l_aRkL :: TyFun a_aRik (TyFun a_aRik Ordering -> *) -> *) (l_aRkK :: TyFun [a_aRik] [a_aRik]) type SortBySym2 (t_aRkG :: TyFun a_aRik (TyFun a_aRik Ordering -> *) -> *) (t_aRkH :: [a_aRik]) = SortBy t_aRkG t_aRkH data InsertBySym0 (l_aRjG :: TyFun (TyFun a_aRim (TyFun a_aRim Ordering -> *) -> *) (TyFun a_aRim (TyFun [a_aRim] [a_aRim] -> *) -> *)) data InsertBySym1 (l_aRjJ :: TyFun a_aRim (TyFun a_aRim Ordering -> *) -> *) (l_aRjI :: TyFun a_aRim (TyFun [a_aRim] [a_aRim] -> *)) data InsertBySym2 (l_aRjM :: TyFun a_aRim (TyFun a_aRim Ordering -> *) -> *) (l_aRjN :: a_aRim) (l_aRjL :: TyFun [a_aRim] [a_aRim]) type InsertBySym3 (t_aRjD :: TyFun a_aRim (TyFun a_aRim Ordering -> *) -> *) (t_aRjE :: a_aRim) (t_aRjF :: [a_aRim]) = InsertBy t_aRjD t_aRjE t_aRjF data MaximumBySym0 (l_aRFo :: TyFun (TyFun a_aRit (TyFun a_aRit Ordering -> *) -> *) (TyFun [a_aRit] a_aRit -> *)) data MaximumBySym1 (l_aRFr :: TyFun a_aRit (TyFun a_aRit Ordering -> *) -> *) (l_aRFq :: TyFun [a_aRit] a_aRit) type MaximumBySym2 (t_aRFm :: TyFun a_aRit (TyFun a_aRit Ordering -> *) -> *) (t_aRFn :: [a_aRit]) = MaximumBy t_aRFm t_aRFn data MinimumBySym0 (l_aRGP :: TyFun (TyFun a_aRiz (TyFun a_aRiz Ordering -> *) -> *) (TyFun [a_aRiz] a_aRiz -> *)) data MinimumBySym1 (l_aRGS :: TyFun a_aRiz (TyFun a_aRiz Ordering -> *) -> *) (l_aRGR :: TyFun [a_aRiz] a_aRiz) type MinimumBySym2 (t_aRGN :: TyFun a_aRiz (TyFun a_aRiz Ordering -> *) -> *) (t_aRGO :: [a_aRiz]) = MinimumBy t_aRGN t_aRGO data LengthSym0 (l_a1Bbz :: TyFun [a_a1AHN] Nat) type LengthSym1 (t_a1Bby :: [a_a1AHN]) = Length t_a1Bby data SumSym0 (l_a1Bba :: TyFun [Nat] Nat) type SumSym1 (t_a1Bb9 :: [Nat]) = Sum t_a1Bb9 data ProductSym0 (l_a1BaL :: TyFun [Nat] Nat) type ProductSym1 (t_a1BaK :: [Nat]) = Product t_a1BaK data ReplicateSym0 (l_a1Bal :: TyFun Nat (TyFun a_a1AI1 [a_a1AI1] -> *)) data ReplicateSym1 (l_a1Bao :: Nat) (l_a1Ban :: TyFun a_a1AI1 [a_a1AI1]) type ReplicateSym2 (t_a1Baj :: Nat) (t_a1Bak :: a_a1AI1) = Replicate t_a1Baj t_a1Bak data TransposeSym0 (l_a1Bac :: TyFun [[a_a1AI4]] [[a_a1AI4]]) type TransposeSym1 (t_a1Bab :: [[a_a1AI4]]) = Transpose t_a1Bab data TakeSym0 (l_a1B9j :: TyFun Nat (TyFun [a_a1AI9] [a_a1AI9] -> *)) data TakeSym1 (l_a1B9m :: Nat) (l_a1B9l :: TyFun [a_a1AI9] [a_a1AI9]) type TakeSym2 (t_a1B9h :: Nat) (t_a1B9i :: [a_a1AI9]) = Take t_a1B9h t_a1B9i data DropSym0 (l_a1B8G :: TyFun Nat (TyFun [a_a1AId] [a_a1AId] -> *)) data DropSym1 (l_a1B8J :: Nat) (l_a1B8I :: TyFun [a_a1AId] [a_a1AId]) type DropSym2 (t_a1B8E :: Nat) (t_a1B8F :: [a_a1AId]) = Drop t_a1B8E t_a1B8F data SplitAtSym0 (l_a1B9y :: TyFun Nat (TyFun [a_a1AIh] ([a_a1AIh], [a_a1AIh]) -> *)) data SplitAtSym1 (l_a1B9B :: Nat) (l_a1B9A :: TyFun [a_a1AIh] ([a_a1AIh], [a_a1AIh])) type SplitAtSym2 (t_a1B9w :: Nat) (t_a1B9x :: [a_a1AIh]) = SplitAt t_a1B9w t_a1B9x data TakeWhileSym0 (l_a1B8j :: TyFun (TyFun a_a1AIk Bool -> *) (TyFun [a_a1AIk] [a_a1AIk] -> *)) data TakeWhileSym1 (l_a1B8m :: TyFun a_a1AIk Bool -> *) (l_a1B8l :: TyFun [a_a1AIk] [a_a1AIk]) type TakeWhileSym2 (t_a1B8h :: TyFun a_a1AIk Bool -> *) (t_a1B8i :: [a_a1AIk]) = TakeWhile t_a1B8h t_a1B8i data DropWhileSym0 (l_a1B7v :: TyFun (TyFun a_a1AIo Bool -> *) (TyFun [a_a1AIo] [a_a1AIo] -> *)) data DropWhileSym1 (l_a1B7y :: TyFun a_a1AIo Bool -> *) (l_a1B7x :: TyFun [a_a1AIo] [a_a1AIo]) type DropWhileSym2 (t_a1B7t :: TyFun a_a1AIo Bool -> *) (t_a1B7u :: [a_a1AIo]) = DropWhile t_a1B7t t_a1B7u data DropWhileEndSym0 (l_a1B6v :: TyFun (TyFun a_a1AIt Bool -> *) (TyFun [a_a1AIt] [a_a1AIt] -> *)) data DropWhileEndSym1 (l_a1B6y :: TyFun a_a1AIt Bool -> *) (l_a1B6x :: TyFun [a_a1AIt] [a_a1AIt]) type DropWhileEndSym2 (t_a1B6t :: TyFun a_a1AIt Bool -> *) (t_a1B6u :: [a_a1AIt]) = DropWhileEnd t_a1B6t t_a1B6u data SpanSym0 (l_a1B2W :: TyFun (TyFun a_a1AIx Bool -> *) (TyFun [a_a1AIx] ([a_a1AIx], [a_a1AIx]) -> *)) data SpanSym1 (l_a1B2Z :: TyFun a_a1AIx Bool -> *) (l_a1B2Y :: TyFun [a_a1AIx] ([a_a1AIx], [a_a1AIx])) type SpanSym2 (t_a1B2U :: TyFun a_a1AIx Bool -> *) (t_a1B2V :: [a_a1AIx]) = Span t_a1B2U t_a1B2V data BreakSym0 (l_a1B0z :: TyFun (TyFun a_a1AIF Bool -> *) (TyFun [a_a1AIF] ([a_a1AIF], [a_a1AIF]) -> *)) data BreakSym1 (l_a1B0C :: TyFun a_a1AIF Bool -> *) (l_a1B0B :: TyFun [a_a1AIF] ([a_a1AIF], [a_a1AIF])) type BreakSym2 (t_a1B0x :: TyFun a_a1AIF Bool -> *) (t_a1B0y :: [a_a1AIF]) = Break t_a1B0x t_a1B0y data StripPrefixSym0 (l_a1B03 :: TyFun [a_a1AIN] (TyFun [a_a1AIN] (Maybe [a_a1AIN]) -> *)) data StripPrefixSym1 (l_a1B06 :: [a_a1AIN]) (l_a1B05 :: TyFun [a_a1AIN] (Maybe [a_a1AIN])) data MaximumSym0 (l_a1AZX :: TyFun [a_a1AIV] a_a1AIV) type MaximumSym1 (t_a1AZW :: [a_a1AIV]) = Maximum t_a1AZW data MinimumSym0 (l_a1AZS :: TyFun [a_a1AIX] a_a1AIX) type MinimumSym1 (t_a1AZR :: [a_a1AIX]) = Minimum t_a1AZR data GroupSym0 (l_a1B6p :: TyFun [a_a1AIT] [[a_a1AIT]]) type GroupSym1 (t_a1B6o :: [a_a1AIT]) = Group t_a1B6o data GroupBySym0 (l_a1B5j :: TyFun (TyFun a_a1AJ3 (TyFun a_a1AJ3 Bool -> *) -> *) (TyFun [a_a1AJ3] [[a_a1AJ3]] -> *)) data GroupBySym1 (l_a1B5m :: TyFun a_a1AJ3 (TyFun a_a1AJ3 Bool -> *) -> *) (l_a1B5l :: TyFun [a_a1AJ3] [[a_a1AJ3]]) type GroupBySym2 (t_a1B5h :: TyFun a_a1AJ3 (TyFun a_a1AJ3 Bool -> *) -> *) (t_a1B5i :: [a_a1AJ3]) = GroupBy t_a1B5h t_a1B5i data LookupSym0 (l_a1AZd :: TyFun a_a1AJ9 (TyFun [(a_a1AJ9, b_a1AJa)] (Maybe b_a1AJa) -> *)) data LookupSym1 (l_a1AZg :: a_a1AJ9) (l_a1AZf :: TyFun [(a_a1AJ9, b_a1AJa)] (Maybe b_a1AJa)) type LookupSym2 (t_a1AZb :: a_a1AJ9) (t_a1AZc :: [(a_a1AJ9, b_a1AJa)]) = Lookup t_a1AZb t_a1AZc data FindSym0 (l_a1AZ0 :: TyFun (TyFun a_a1AJg Bool -> *) (TyFun [a_a1AJg] (Maybe a_a1AJg) -> *)) data FindSym1 (l_a1AZ3 :: TyFun a_a1AJg Bool -> *) (l_a1AZ2 :: TyFun [a_a1AJg] (Maybe a_a1AJg)) type FindSym2 (t_a1AYY :: TyFun a_a1AJg Bool -> *) (t_a1AYZ :: [a_a1AJg]) = Find t_a1AYY t_a1AYZ data FilterSym0 (l_a1AXC :: TyFun (TyFun a_a1AJi Bool -> *) (TyFun [a_a1AJi] [a_a1AJi] -> *)) data FilterSym1 (l_a1AXF :: TyFun a_a1AJi Bool -> *) (l_a1AXE :: TyFun [a_a1AJi] [a_a1AJi]) type FilterSym2 (t_a1AXA :: TyFun a_a1AJi Bool -> *) (t_a1AXB :: [a_a1AJi]) = Filter t_a1AXA t_a1AXB data PartitionSym0 (l_a1AXr :: TyFun (TyFun a_a1AJn Bool -> *) (TyFun [a_a1AJn] ([a_a1AJn], [a_a1AJn]) -> *)) data PartitionSym1 (l_a1AXu :: TyFun a_a1AJn Bool -> *) (l_a1AXt :: TyFun [a_a1AJn] ([a_a1AJn], [a_a1AJn])) type PartitionSym2 (t_a1AXp :: TyFun a_a1AJn Bool -> *) (t_a1AXq :: [a_a1AJn]) = Partition t_a1AXp t_a1AXq data (:!!$) (l_a1AWr :: TyFun [a_a1AJv] (TyFun Nat a_a1AJv -> *)) data (:!!$$) (l_a1AWu :: [a_a1AJv]) (l_a1AWt :: TyFun Nat a_a1AJv) type (:!!$$$) (t_a1AWp :: [a_a1AJv]) (t_a1AWq :: Nat) = (:!!) t_a1AWp t_a1AWq data ElemIndexSym0 (l_a1Bd3 :: TyFun a_a1AJz (TyFun [a_a1AJz] (Maybe Nat) -> *)) data ElemIndexSym1 (l_a1Bd6 :: a_a1AJz) (l_a1Bd5 :: TyFun [a_a1AJz] (Maybe Nat)) type ElemIndexSym2 (t_a1Bd1 :: a_a1AJz) (t_a1Bd2 :: [a_a1AJz]) = ElemIndex t_a1Bd1 t_a1Bd2 data ElemIndicesSym0 (l_a1BcD :: TyFun a_a1AJB (TyFun [a_a1AJB] [Nat] -> *)) data ElemIndicesSym1 (l_a1BcG :: a_a1AJB) (l_a1BcF :: TyFun [a_a1AJB] [Nat]) type ElemIndicesSym2 (t_a1BcB :: a_a1AJB) (t_a1BcC :: [a_a1AJB]) = ElemIndices t_a1BcB t_a1BcC data FindIndexSym0 (l_a1BcQ :: TyFun (TyFun a_a1AJD Bool -> *) (TyFun [a_a1AJD] (Maybe Nat) -> *)) data FindIndexSym1 (l_a1BcT :: TyFun a_a1AJD Bool -> *) (l_a1BcS :: TyFun [a_a1AJD] (Maybe Nat)) type FindIndexSym2 (t_a1BcO :: TyFun a_a1AJD Bool -> *) (t_a1BcP :: [a_a1AJD]) = FindIndex t_a1BcO t_a1BcP data FindIndicesSym0 (l_a1BbG :: TyFun (TyFun a_a1AJF Bool -> *) (TyFun [a_a1AJF] [Nat] -> *)) data FindIndicesSym1 (l_a1BbJ :: TyFun a_a1AJF Bool -> *) (l_a1BbI :: TyFun [a_a1AJF] [Nat]) type FindIndicesSym2 (t_a1BbE :: TyFun a_a1AJF Bool -> *) (t_a1BbF :: [a_a1AJF]) = FindIndices t_a1BbE t_a1BbF data Zip4Sym0 (l_a1AW3 :: TyFun [a_a1AJM] (TyFun [b_a1AJN] (TyFun [c_a1AJO] (TyFun [d_a1AJP] [(a_a1AJM, b_a1AJN, c_a1AJO, d_a1AJP)] -> *) -> *) -> *)) data Zip4Sym1 (l_a1AW6 :: [a_a1AJM]) (l_a1AW5 :: TyFun [b_a1AJN] (TyFun [c_a1AJO] (TyFun [d_a1AJP] [(a_a1AJM, b_a1AJN, c_a1AJO, d_a1AJP)] -> *) -> *)) data Zip4Sym2 (l_a1AW9 :: [a_a1AJM]) (l_a1AWa :: [b_a1AJN]) (l_a1AW8 :: TyFun [c_a1AJO] (TyFun [d_a1AJP] [(a_a1AJM, b_a1AJN, c_a1AJO, d_a1AJP)] -> *)) data Zip4Sym3 (l_a1AWd :: [a_a1AJM]) (l_a1AWe :: [b_a1AJN]) (l_a1AWf :: [c_a1AJO]) (l_a1AWc :: TyFun [d_a1AJP] [(a_a1AJM, b_a1AJN, c_a1AJO, d_a1AJP)]) type Zip4Sym4 (t_a1AVZ :: [a_a1AJM]) (t_a1AW0 :: [b_a1AJN]) (t_a1AW1 :: [c_a1AJO]) (t_a1AW2 :: [d_a1AJP]) = Zip4 t_a1AVZ t_a1AW0 t_a1AW1 t_a1AW2 data Zip5Sym0 (l_a1AVn :: TyFun [a_a1AJQ] (TyFun [b_a1AJR] (TyFun [c_a1AJS] (TyFun [d_a1AJT] (TyFun [e_a1AJU] [(a_a1AJQ, b_a1AJR, c_a1AJS, d_a1AJT, e_a1AJU)] -> *) -> *) -> *) -> *)) data Zip5Sym1 (l_a1AVq :: [a_a1AJQ]) (l_a1AVp :: TyFun [b_a1AJR] (TyFun [c_a1AJS] (TyFun [d_a1AJT] (TyFun [e_a1AJU] [(a_a1AJQ, b_a1AJR, c_a1AJS, d_a1AJT, e_a1AJU)] -> *) -> *) -> *)) data Zip5Sym2 (l_a1AVt :: [a_a1AJQ]) (l_a1AVu :: [b_a1AJR]) (l_a1AVs :: TyFun [c_a1AJS] (TyFun [d_a1AJT] (TyFun [e_a1AJU] [(a_a1AJQ, b_a1AJR, c_a1AJS, d_a1AJT, e_a1AJU)] -> *) -> *)) data Zip5Sym3 (l_a1AVx :: [a_a1AJQ]) (l_a1AVy :: [b_a1AJR]) (l_a1AVz :: [c_a1AJS]) (l_a1AVw :: TyFun [d_a1AJT] (TyFun [e_a1AJU] [(a_a1AJQ, b_a1AJR, c_a1AJS, d_a1AJT, e_a1AJU)] -> *)) data Zip5Sym4 (l_a1AVC :: [a_a1AJQ]) (l_a1AVD :: [b_a1AJR]) (l_a1AVE :: [c_a1AJS]) (l_a1AVF :: [d_a1AJT]) (l_a1AVB :: TyFun [e_a1AJU] [(a_a1AJQ, b_a1AJR, c_a1AJS, d_a1AJT, e_a1AJU)]) type Zip5Sym5 (t_a1AVi :: [a_a1AJQ]) (t_a1AVj :: [b_a1AJR]) (t_a1AVk :: [c_a1AJS]) (t_a1AVl :: [d_a1AJT]) (t_a1AVm :: [e_a1AJU]) = Zip5 t_a1AVi t_a1AVj t_a1AVk t_a1AVl t_a1AVm data Zip6Sym0 (l_a1AUv :: TyFun [a_a1AJV] (TyFun [b_a1AJW] (TyFun [c_a1AJX] (TyFun [d_a1AJY] (TyFun [e_a1AJZ] (TyFun [f_a1AK0] [(a_a1AJV, b_a1AJW, c_a1AJX, d_a1AJY, e_a1AJZ, f_a1AK0)] -> *) -> *) -> *) -> *) -> *)) data Zip6Sym1 (l_a1AUy :: [a_a1AJV]) (l_a1AUx :: TyFun [b_a1AJW] (TyFun [c_a1AJX] (TyFun [d_a1AJY] (TyFun [e_a1AJZ] (TyFun [f_a1AK0] [(a_a1AJV, b_a1AJW, c_a1AJX, d_a1AJY, e_a1AJZ, f_a1AK0)] -> *) -> *) -> *) -> *)) data Zip6Sym2 (l_a1AUB :: [a_a1AJV]) (l_a1AUC :: [b_a1AJW]) (l_a1AUA :: TyFun [c_a1AJX] (TyFun [d_a1AJY] (TyFun [e_a1AJZ] (TyFun [f_a1AK0] [(a_a1AJV, b_a1AJW, c_a1AJX, d_a1AJY, e_a1AJZ, f_a1AK0)] -> *) -> *) -> *)) data Zip6Sym3 (l_a1AUF :: [a_a1AJV]) (l_a1AUG :: [b_a1AJW]) (l_a1AUH :: [c_a1AJX]) (l_a1AUE :: TyFun [d_a1AJY] (TyFun [e_a1AJZ] (TyFun [f_a1AK0] [(a_a1AJV, b_a1AJW, c_a1AJX, d_a1AJY, e_a1AJZ, f_a1AK0)] -> *) -> *)) data Zip6Sym4 (l_a1AUK :: [a_a1AJV]) (l_a1AUL :: [b_a1AJW]) (l_a1AUM :: [c_a1AJX]) (l_a1AUN :: [d_a1AJY]) (l_a1AUJ :: TyFun [e_a1AJZ] (TyFun [f_a1AK0] [(a_a1AJV, b_a1AJW, c_a1AJX, d_a1AJY, e_a1AJZ, f_a1AK0)] -> *)) data Zip6Sym5 (l_a1AUQ :: [a_a1AJV]) (l_a1AUR :: [b_a1AJW]) (l_a1AUS :: [c_a1AJX]) (l_a1AUT :: [d_a1AJY]) (l_a1AUU :: [e_a1AJZ]) (l_a1AUP :: TyFun [f_a1AK0] [(a_a1AJV, b_a1AJW, c_a1AJX, d_a1AJY, e_a1AJZ, f_a1AK0)]) type Zip6Sym6 (t_a1AUp :: [a_a1AJV]) (t_a1AUq :: [b_a1AJW]) (t_a1AUr :: [c_a1AJX]) (t_a1AUs :: [d_a1AJY]) (t_a1AUt :: [e_a1AJZ]) (t_a1AUu :: [f_a1AK0]) = Zip6 t_a1AUp t_a1AUq t_a1AUr t_a1AUs t_a1AUt t_a1AUu data Zip7Sym0 (l_a1ATq :: TyFun [a_a1AK1] (TyFun [b_a1AK2] (TyFun [c_a1AK3] (TyFun [d_a1AK4] (TyFun [e_a1AK5] (TyFun [f_a1AK6] (TyFun [g_a1AK7] [(a_a1AK1, b_a1AK2, c_a1AK3, d_a1AK4, e_a1AK5, f_a1AK6, g_a1AK7)] -> *) -> *) -> *) -> *) -> *) -> *)) data Zip7Sym1 (l_a1ATt :: [a_a1AK1]) (l_a1ATs :: TyFun [b_a1AK2] (TyFun [c_a1AK3] (TyFun [d_a1AK4] (TyFun [e_a1AK5] (TyFun [f_a1AK6] (TyFun [g_a1AK7] [(a_a1AK1, b_a1AK2, c_a1AK3, d_a1AK4, e_a1AK5, f_a1AK6, g_a1AK7)] -> *) -> *) -> *) -> *) -> *)) data Zip7Sym2 (l_a1ATw :: [a_a1AK1]) (l_a1ATx :: [b_a1AK2]) (l_a1ATv :: TyFun [c_a1AK3] (TyFun [d_a1AK4] (TyFun [e_a1AK5] (TyFun [f_a1AK6] (TyFun [g_a1AK7] [(a_a1AK1, b_a1AK2, c_a1AK3, d_a1AK4, e_a1AK5, f_a1AK6, g_a1AK7)] -> *) -> *) -> *) -> *)) data Zip7Sym3 (l_a1ATA :: [a_a1AK1]) (l_a1ATB :: [b_a1AK2]) (l_a1ATC :: [c_a1AK3]) (l_a1ATz :: TyFun [d_a1AK4] (TyFun [e_a1AK5] (TyFun [f_a1AK6] (TyFun [g_a1AK7] [(a_a1AK1, b_a1AK2, c_a1AK3, d_a1AK4, e_a1AK5, f_a1AK6, g_a1AK7)] -> *) -> *) -> *)) data Zip7Sym4 (l_a1ATF :: [a_a1AK1]) (l_a1ATG :: [b_a1AK2]) (l_a1ATH :: [c_a1AK3]) (l_a1ATI :: [d_a1AK4]) (l_a1ATE :: TyFun [e_a1AK5] (TyFun [f_a1AK6] (TyFun [g_a1AK7] [(a_a1AK1, b_a1AK2, c_a1AK3, d_a1AK4, e_a1AK5, f_a1AK6, g_a1AK7)] -> *) -> *)) data Zip7Sym5 (l_a1ATL :: [a_a1AK1]) (l_a1ATM :: [b_a1AK2]) (l_a1ATN :: [c_a1AK3]) (l_a1ATO :: [d_a1AK4]) (l_a1ATP :: [e_a1AK5]) (l_a1ATK :: TyFun [f_a1AK6] (TyFun [g_a1AK7] [(a_a1AK1, b_a1AK2, c_a1AK3, d_a1AK4, e_a1AK5, f_a1AK6, g_a1AK7)] -> *)) data Zip7Sym6 (l_a1ATS :: [a_a1AK1]) (l_a1ATT :: [b_a1AK2]) (l_a1ATU :: [c_a1AK3]) (l_a1ATV :: [d_a1AK4]) (l_a1ATW :: [e_a1AK5]) (l_a1ATX :: [f_a1AK6]) (l_a1ATR :: TyFun [g_a1AK7] [(a_a1AK1, b_a1AK2, c_a1AK3, d_a1AK4, e_a1AK5, f_a1AK6, g_a1AK7)]) type Zip7Sym7 (t_a1ATj :: [a_a1AK1]) (t_a1ATk :: [b_a1AK2]) (t_a1ATl :: [c_a1AK3]) (t_a1ATm :: [d_a1AK4]) (t_a1ATn :: [e_a1AK5]) (t_a1ATo :: [f_a1AK6]) (t_a1ATp :: [g_a1AK7]) = Zip7 t_a1ATj t_a1ATk t_a1ATl t_a1ATm t_a1ATn t_a1ATo t_a1ATp data ZipWith4Sym0 (l_a1ASs :: TyFun (TyFun a_a1AK8 (TyFun b_a1AK9 (TyFun c_a1AKa (TyFun d_a1AKb e_a1AKc -> *) -> *) -> *) -> *) (TyFun [a_a1AK8] (TyFun [b_a1AK9] (TyFun [c_a1AKa] (TyFun [d_a1AKb] [e_a1AKc] -> *) -> *) -> *) -> *)) data ZipWith4Sym1 (l_a1ASv :: TyFun a_a1AK8 (TyFun b_a1AK9 (TyFun c_a1AKa (TyFun d_a1AKb e_a1AKc -> *) -> *) -> *) -> *) (l_a1ASu :: TyFun [a_a1AK8] (TyFun [b_a1AK9] (TyFun [c_a1AKa] (TyFun [d_a1AKb] [e_a1AKc] -> *) -> *) -> *)) data ZipWith4Sym2 (l_a1ASy :: TyFun a_a1AK8 (TyFun b_a1AK9 (TyFun c_a1AKa (TyFun d_a1AKb e_a1AKc -> *) -> *) -> *) -> *) (l_a1ASz :: [a_a1AK8]) (l_a1ASx :: TyFun [b_a1AK9] (TyFun [c_a1AKa] (TyFun [d_a1AKb] [e_a1AKc] -> *) -> *)) data ZipWith4Sym3 (l_a1ASC :: TyFun a_a1AK8 (TyFun b_a1AK9 (TyFun c_a1AKa (TyFun d_a1AKb e_a1AKc -> *) -> *) -> *) -> *) (l_a1ASD :: [a_a1AK8]) (l_a1ASE :: [b_a1AK9]) (l_a1ASB :: TyFun [c_a1AKa] (TyFun [d_a1AKb] [e_a1AKc] -> *)) data ZipWith4Sym4 (l_a1ASH :: TyFun a_a1AK8 (TyFun b_a1AK9 (TyFun c_a1AKa (TyFun d_a1AKb e_a1AKc -> *) -> *) -> *) -> *) (l_a1ASI :: [a_a1AK8]) (l_a1ASJ :: [b_a1AK9]) (l_a1ASK :: [c_a1AKa]) (l_a1ASG :: TyFun [d_a1AKb] [e_a1AKc]) data ZipWith5Sym0 (l_a1ARz :: TyFun (TyFun a_a1AKm (TyFun b_a1AKn (TyFun c_a1AKo (TyFun d_a1AKp (TyFun e_a1AKq f_a1AKr -> *) -> *) -> *) -> *) -> *) (TyFun [a_a1AKm] (TyFun [b_a1AKn] (TyFun [c_a1AKo] (TyFun [d_a1AKp] (TyFun [e_a1AKq] [f_a1AKr] -> *) -> *) -> *) -> *) -> *)) data ZipWith5Sym1 (l_a1ARC :: TyFun a_a1AKm (TyFun b_a1AKn (TyFun c_a1AKo (TyFun d_a1AKp (TyFun e_a1AKq f_a1AKr -> *) -> *) -> *) -> *) -> *) (l_a1ARB :: TyFun [a_a1AKm] (TyFun [b_a1AKn] (TyFun [c_a1AKo] (TyFun [d_a1AKp] (TyFun [e_a1AKq] [f_a1AKr] -> *) -> *) -> *) -> *)) data ZipWith5Sym2 (l_a1ARF :: TyFun a_a1AKm (TyFun b_a1AKn (TyFun c_a1AKo (TyFun d_a1AKp (TyFun e_a1AKq f_a1AKr -> *) -> *) -> *) -> *) -> *) (l_a1ARG :: [a_a1AKm]) (l_a1ARE :: TyFun [b_a1AKn] (TyFun [c_a1AKo] (TyFun [d_a1AKp] (TyFun [e_a1AKq] [f_a1AKr] -> *) -> *) -> *)) data ZipWith5Sym3 (l_a1ARJ :: TyFun a_a1AKm (TyFun b_a1AKn (TyFun c_a1AKo (TyFun d_a1AKp (TyFun e_a1AKq f_a1AKr -> *) -> *) -> *) -> *) -> *) (l_a1ARK :: [a_a1AKm]) (l_a1ARL :: [b_a1AKn]) (l_a1ARI :: TyFun [c_a1AKo] (TyFun [d_a1AKp] (TyFun [e_a1AKq] [f_a1AKr] -> *) -> *)) data ZipWith5Sym4 (l_a1ARO :: TyFun a_a1AKm (TyFun b_a1AKn (TyFun c_a1AKo (TyFun d_a1AKp (TyFun e_a1AKq f_a1AKr -> *) -> *) -> *) -> *) -> *) (l_a1ARP :: [a_a1AKm]) (l_a1ARQ :: [b_a1AKn]) (l_a1ARR :: [c_a1AKo]) (l_a1ARN :: TyFun [d_a1AKp] (TyFun [e_a1AKq] [f_a1AKr] -> *)) data ZipWith5Sym5 (l_a1ARU :: TyFun a_a1AKm (TyFun b_a1AKn (TyFun c_a1AKo (TyFun d_a1AKp (TyFun e_a1AKq f_a1AKr -> *) -> *) -> *) -> *) -> *) (l_a1ARV :: [a_a1AKm]) (l_a1ARW :: [b_a1AKn]) (l_a1ARX :: [c_a1AKo]) (l_a1ARY :: [d_a1AKp]) (l_a1ART :: TyFun [e_a1AKq] [f_a1AKr]) data ZipWith6Sym0 (l_a1AQt :: TyFun (TyFun a_a1AKD (TyFun b_a1AKE (TyFun c_a1AKF (TyFun d_a1AKG (TyFun e_a1AKH (TyFun f_a1AKI g_a1AKJ -> *) -> *) -> *) -> *) -> *) -> *) (TyFun [a_a1AKD] (TyFun [b_a1AKE] (TyFun [c_a1AKF] (TyFun [d_a1AKG] (TyFun [e_a1AKH] (TyFun [f_a1AKI] [g_a1AKJ] -> *) -> *) -> *) -> *) -> *) -> *)) data ZipWith6Sym1 (l_a1AQw :: TyFun a_a1AKD (TyFun b_a1AKE (TyFun c_a1AKF (TyFun d_a1AKG (TyFun e_a1AKH (TyFun f_a1AKI g_a1AKJ -> *) -> *) -> *) -> *) -> *) -> *) (l_a1AQv :: TyFun [a_a1AKD] (TyFun [b_a1AKE] (TyFun [c_a1AKF] (TyFun [d_a1AKG] (TyFun [e_a1AKH] (TyFun [f_a1AKI] [g_a1AKJ] -> *) -> *) -> *) -> *) -> *)) data ZipWith6Sym2 (l_a1AQz :: TyFun a_a1AKD (TyFun b_a1AKE (TyFun c_a1AKF (TyFun d_a1AKG (TyFun e_a1AKH (TyFun f_a1AKI g_a1AKJ -> *) -> *) -> *) -> *) -> *) -> *) (l_a1AQA :: [a_a1AKD]) (l_a1AQy :: TyFun [b_a1AKE] (TyFun [c_a1AKF] (TyFun [d_a1AKG] (TyFun [e_a1AKH] (TyFun [f_a1AKI] [g_a1AKJ] -> *) -> *) -> *) -> *)) data ZipWith6Sym3 (l_a1AQD :: TyFun a_a1AKD (TyFun b_a1AKE (TyFun c_a1AKF (TyFun d_a1AKG (TyFun e_a1AKH (TyFun f_a1AKI g_a1AKJ -> *) -> *) -> *) -> *) -> *) -> *) (l_a1AQE :: [a_a1AKD]) (l_a1AQF :: [b_a1AKE]) (l_a1AQC :: TyFun [c_a1AKF] (TyFun [d_a1AKG] (TyFun [e_a1AKH] (TyFun [f_a1AKI] [g_a1AKJ] -> *) -> *) -> *)) data ZipWith6Sym4 (l_a1AQI :: TyFun a_a1AKD (TyFun b_a1AKE (TyFun c_a1AKF (TyFun d_a1AKG (TyFun e_a1AKH (TyFun f_a1AKI g_a1AKJ -> *) -> *) -> *) -> *) -> *) -> *) (l_a1AQJ :: [a_a1AKD]) (l_a1AQK :: [b_a1AKE]) (l_a1AQL :: [c_a1AKF]) (l_a1AQH :: TyFun [d_a1AKG] (TyFun [e_a1AKH] (TyFun [f_a1AKI] [g_a1AKJ] -> *) -> *)) data ZipWith6Sym5 (l_a1AQO :: TyFun a_a1AKD (TyFun b_a1AKE (TyFun c_a1AKF (TyFun d_a1AKG (TyFun e_a1AKH (TyFun f_a1AKI g_a1AKJ -> *) -> *) -> *) -> *) -> *) -> *) (l_a1AQP :: [a_a1AKD]) (l_a1AQQ :: [b_a1AKE]) (l_a1AQR :: [c_a1AKF]) (l_a1AQS :: [d_a1AKG]) (l_a1AQN :: TyFun [e_a1AKH] (TyFun [f_a1AKI] [g_a1AKJ] -> *)) data ZipWith6Sym6 (l_a1AQV :: TyFun a_a1AKD (TyFun b_a1AKE (TyFun c_a1AKF (TyFun d_a1AKG (TyFun e_a1AKH (TyFun f_a1AKI g_a1AKJ -> *) -> *) -> *) -> *) -> *) -> *) (l_a1AQW :: [a_a1AKD]) (l_a1AQX :: [b_a1AKE]) (l_a1AQY :: [c_a1AKF]) (l_a1AQZ :: [d_a1AKG]) (l_a1AR0 :: [e_a1AKH]) (l_a1AQU :: TyFun [f_a1AKI] [g_a1AKJ]) data ZipWith7Sym0 (l_a1AP9 :: TyFun (TyFun a_a1AKX (TyFun b_a1AKY (TyFun c_a1AKZ (TyFun d_a1AL0 (TyFun e_a1AL1 (TyFun f_a1AL2 (TyFun g_a1AL3 h_a1AL4 -> *) -> *) -> *) -> *) -> *) -> *) -> *) (TyFun [a_a1AKX] (TyFun [b_a1AKY] (TyFun [c_a1AKZ] (TyFun [d_a1AL0] (TyFun [e_a1AL1] (TyFun [f_a1AL2] (TyFun [g_a1AL3] [h_a1AL4] -> *) -> *) -> *) -> *) -> *) -> *) -> *)) data ZipWith7Sym1 (l_a1APc :: TyFun a_a1AKX (TyFun b_a1AKY (TyFun c_a1AKZ (TyFun d_a1AL0 (TyFun e_a1AL1 (TyFun f_a1AL2 (TyFun g_a1AL3 h_a1AL4 -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1APb :: TyFun [a_a1AKX] (TyFun [b_a1AKY] (TyFun [c_a1AKZ] (TyFun [d_a1AL0] (TyFun [e_a1AL1] (TyFun [f_a1AL2] (TyFun [g_a1AL3] [h_a1AL4] -> *) -> *) -> *) -> *) -> *) -> *)) data ZipWith7Sym2 (l_a1APf :: TyFun a_a1AKX (TyFun b_a1AKY (TyFun c_a1AKZ (TyFun d_a1AL0 (TyFun e_a1AL1 (TyFun f_a1AL2 (TyFun g_a1AL3 h_a1AL4 -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1APg :: [a_a1AKX]) (l_a1APe :: TyFun [b_a1AKY] (TyFun [c_a1AKZ] (TyFun [d_a1AL0] (TyFun [e_a1AL1] (TyFun [f_a1AL2] (TyFun [g_a1AL3] [h_a1AL4] -> *) -> *) -> *) -> *) -> *)) data ZipWith7Sym3 (l_a1APj :: TyFun a_a1AKX (TyFun b_a1AKY (TyFun c_a1AKZ (TyFun d_a1AL0 (TyFun e_a1AL1 (TyFun f_a1AL2 (TyFun g_a1AL3 h_a1AL4 -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1APk :: [a_a1AKX]) (l_a1APl :: [b_a1AKY]) (l_a1APi :: TyFun [c_a1AKZ] (TyFun [d_a1AL0] (TyFun [e_a1AL1] (TyFun [f_a1AL2] (TyFun [g_a1AL3] [h_a1AL4] -> *) -> *) -> *) -> *)) data ZipWith7Sym4 (l_a1APo :: TyFun a_a1AKX (TyFun b_a1AKY (TyFun c_a1AKZ (TyFun d_a1AL0 (TyFun e_a1AL1 (TyFun f_a1AL2 (TyFun g_a1AL3 h_a1AL4 -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1APp :: [a_a1AKX]) (l_a1APq :: [b_a1AKY]) (l_a1APr :: [c_a1AKZ]) (l_a1APn :: TyFun [d_a1AL0] (TyFun [e_a1AL1] (TyFun [f_a1AL2] (TyFun [g_a1AL3] [h_a1AL4] -> *) -> *) -> *)) data ZipWith7Sym5 (l_a1APu :: TyFun a_a1AKX (TyFun b_a1AKY (TyFun c_a1AKZ (TyFun d_a1AL0 (TyFun e_a1AL1 (TyFun f_a1AL2 (TyFun g_a1AL3 h_a1AL4 -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1APv :: [a_a1AKX]) (l_a1APw :: [b_a1AKY]) (l_a1APx :: [c_a1AKZ]) (l_a1APy :: [d_a1AL0]) (l_a1APt :: TyFun [e_a1AL1] (TyFun [f_a1AL2] (TyFun [g_a1AL3] [h_a1AL4] -> *) -> *)) data ZipWith7Sym6 (l_a1APB :: TyFun a_a1AKX (TyFun b_a1AKY (TyFun c_a1AKZ (TyFun d_a1AL0 (TyFun e_a1AL1 (TyFun f_a1AL2 (TyFun g_a1AL3 h_a1AL4 -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1APC :: [a_a1AKX]) (l_a1APD :: [b_a1AKY]) (l_a1APE :: [c_a1AKZ]) (l_a1APF :: [d_a1AL0]) (l_a1APG :: [e_a1AL1]) (l_a1APA :: TyFun [f_a1AL2] (TyFun [g_a1AL3] [h_a1AL4] -> *)) data ZipWith7Sym7 (l_a1APJ :: TyFun a_a1AKX (TyFun b_a1AKY (TyFun c_a1AKZ (TyFun d_a1AL0 (TyFun e_a1AL1 (TyFun f_a1AL2 (TyFun g_a1AL3 h_a1AL4 -> *) -> *) -> *) -> *) -> *) -> *) -> *) (l_a1APK :: [a_a1AKX]) (l_a1APL :: [b_a1AKY]) (l_a1APM :: [c_a1AKZ]) (l_a1APN :: [d_a1AL0]) (l_a1APO :: [e_a1AL1]) (l_a1APP :: [f_a1AL2]) (l_a1API :: TyFun [g_a1AL3] [h_a1AL4]) data NubSym0 (l_a1AOt :: TyFun [a_a1ALk] [a_a1ALk]) type NubSym1 (t_a1AOs :: [a_a1ALk]) = Nub t_a1AOs data NubBySym0 (l_a1ANc :: TyFun (TyFun a_a1ALr (TyFun a_a1ALr Bool -> *) -> *) (TyFun [a_a1ALr] [a_a1ALr] -> *)) data NubBySym1 (l_a1ANf :: TyFun a_a1ALr (TyFun a_a1ALr Bool -> *) -> *) (l_a1ANe :: TyFun [a_a1ALr] [a_a1ALr]) type NubBySym2 (t_a1ANa :: TyFun a_a1ALr (TyFun a_a1ALr Bool -> *) -> *) (t_a1ANb :: [a_a1ALr]) = NubBy t_a1ANa t_a1ANb data UnionSym0 (l_a1AOj :: TyFun [a_a1ALI] (TyFun [a_a1ALI] [a_a1ALI] -> *)) data UnionSym1 (l_a1AOm :: [a_a1ALI]) (l_a1AOl :: TyFun [a_a1ALI] [a_a1ALI]) type UnionSym2 (t_a1AOh :: [a_a1ALI]) (t_a1AOi :: [a_a1ALI]) = Union t_a1AOh t_a1AOi data UnionBySym0 (l_a1ANY :: TyFun (TyFun a_a1ALE (TyFun a_a1ALE Bool -> *) -> *) (TyFun [a_a1ALE] (TyFun [a_a1ALE] [a_a1ALE] -> *) -> *)) data UnionBySym1 (l_a1AO1 :: TyFun a_a1ALE (TyFun a_a1ALE Bool -> *) -> *) (l_a1AO0 :: TyFun [a_a1ALE] (TyFun [a_a1ALE] [a_a1ALE] -> *)) data UnionBySym2 (l_a1AO4 :: TyFun a_a1ALE (TyFun a_a1ALE Bool -> *) -> *) (l_a1AO5 :: [a_a1ALE]) (l_a1AO3 :: TyFun [a_a1ALE] [a_a1ALE]) type UnionBySym3 (t_a1ANV :: TyFun a_a1ALE (TyFun a_a1ALE Bool -> *) -> *) (t_a1ANW :: [a_a1ALE]) (t_a1ANX :: [a_a1ALE]) = UnionBy t_a1ANV t_a1ANW t_a1ANX data GenericLengthSym0 (l_a1Bdh :: TyFun [a_a1ALP] i_a1ALQ) type GenericLengthSym1 (t_a1Bdg :: [a_a1ALP]) = GenericLength t_a1Bdg data GenericTakeSym0 (l_a1Ba2 :: TyFun i_a1ALR (TyFun [a_a1ALS] [a_a1ALS] -> *)) data GenericTakeSym1 (l_a1Ba5 :: i_a1ALR) (l_a1Ba4 :: TyFun [a_a1ALS] [a_a1ALS]) type GenericTakeSym2 (t_a1Ba0 :: i_a1ALR) (t_a1Ba1 :: [a_a1ALS]) = GenericTake t_a1Ba0 t_a1Ba1 data GenericDropSym0 (l_a1B98 :: TyFun i_a1ALT (TyFun [a_a1ALU] [a_a1ALU] -> *)) data GenericDropSym1 (l_a1B9b :: i_a1ALT) (l_a1B9a :: TyFun [a_a1ALU] [a_a1ALU]) type GenericDropSym2 (t_a1B96 :: i_a1ALT) (t_a1B97 :: [a_a1ALU]) = GenericDrop t_a1B96 t_a1B97 data GenericSplitAtSym0 (l_a1B9N :: TyFun i_a1ALV (TyFun [a_a1ALW] ([a_a1ALW], [a_a1ALW]) -> *)) data GenericSplitAtSym1 (l_a1B9Q :: i_a1ALV) (l_a1B9P :: TyFun [a_a1ALW] ([a_a1ALW], [a_a1ALW])) type GenericSplitAtSym2 (t_a1B9L :: i_a1ALV) (t_a1B9M :: [a_a1ALW]) = GenericSplitAt t_a1B9L t_a1B9M data GenericIndexSym0 (l_a1AWM :: TyFun [a_a1ALX] (TyFun i_a1ALY a_a1ALX -> *)) data GenericIndexSym1 (l_a1AWP :: [a_a1ALX]) (l_a1AWO :: TyFun i_a1ALY a_a1ALX) type GenericIndexSym2 (t_a1AWK :: [a_a1ALX]) (t_a1AWL :: i_a1ALY) = GenericIndex t_a1AWK t_a1AWL data GenericReplicateSym0 (l_a1BaB :: TyFun i_a1ALZ (TyFun a_a1AM0 [a_a1AM0] -> *)) data GenericReplicateSym1 (l_a1BaE :: i_a1ALZ) (l_a1BaD :: TyFun a_a1AM0 [a_a1AM0]) type GenericReplicateSym2 (t_a1Baz :: i_a1ALZ) (t_a1BaA :: a_a1AM0) = GenericReplicate t_a1Baz t_a1BaA 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_1627771266Sym0 instance SuppressUnusedWarnings Lambda_1627771266Sym1 instance SuppressUnusedWarnings Lambda_1627771266Sym2 instance SuppressUnusedWarnings Let_1627771241BuildListSym0 instance SuppressUnusedWarnings Let_1627771241BuildListSym1 instance SuppressUnusedWarnings Let_1627771241BuildListSym2 instance SuppressUnusedWarnings Let_1627771241BuildListSym3 instance SuppressUnusedWarnings Let_1627771204Sum'Sym0 instance SuppressUnusedWarnings Let_1627771204Sum'Sym1 instance SuppressUnusedWarnings Let_1627771204Sum'Sym2 instance SuppressUnusedWarnings Let_1627771179ProdSym0 instance SuppressUnusedWarnings Let_1627771179ProdSym1 instance SuppressUnusedWarnings Let_1627771179ProdSym2 instance SuppressUnusedWarnings Let_1627771056XsSym0 instance SuppressUnusedWarnings Let_1627771056XsSym1 instance SuppressUnusedWarnings Let_1627770988XsSym0 instance SuppressUnusedWarnings Let_1627770988XsSym1 instance SuppressUnusedWarnings Let_1627770988XsSym2 instance SuppressUnusedWarnings Let_1627770988XsSym3 instance SuppressUnusedWarnings Let_1627770988XsSym4 instance SuppressUnusedWarnings Lambda_1627770922Sym0 instance SuppressUnusedWarnings Lambda_1627770922Sym1 instance SuppressUnusedWarnings Lambda_1627770922Sym2 instance SuppressUnusedWarnings Lambda_1627770922Sym3 instance SuppressUnusedWarnings Let_1627770927Scrutinee_1627769653Sym0 instance SuppressUnusedWarnings Let_1627770927Scrutinee_1627769653Sym1 instance SuppressUnusedWarnings Let_1627770927Scrutinee_1627769653Sym2 instance SuppressUnusedWarnings Let_1627770927Scrutinee_1627769653Sym3 instance SuppressUnusedWarnings Let_1627770848X_1627770850Sym0 instance SuppressUnusedWarnings Let_1627770848X_1627770850Sym1 instance SuppressUnusedWarnings Let_1627770848X_1627770850Sym2 instance SuppressUnusedWarnings Let_1627770848ZsSym0 instance SuppressUnusedWarnings Let_1627770848ZsSym1 instance SuppressUnusedWarnings Let_1627770848ZsSym2 instance SuppressUnusedWarnings Let_1627770848YsSym0 instance SuppressUnusedWarnings Let_1627770848YsSym1 instance SuppressUnusedWarnings Let_1627770848YsSym2 instance SuppressUnusedWarnings Let_1627770736X_1627770738Sym0 instance SuppressUnusedWarnings Let_1627770736X_1627770738Sym1 instance SuppressUnusedWarnings Let_1627770736X_1627770738Sym2 instance SuppressUnusedWarnings Let_1627770736X_1627770738Sym3 instance SuppressUnusedWarnings Let_1627770736X_1627770738Sym4 instance SuppressUnusedWarnings Let_1627770736ZsSym0 instance SuppressUnusedWarnings Let_1627770736ZsSym1 instance SuppressUnusedWarnings Let_1627770736ZsSym2 instance SuppressUnusedWarnings Let_1627770736ZsSym3 instance SuppressUnusedWarnings Let_1627770736ZsSym4 instance SuppressUnusedWarnings Let_1627770736YsSym0 instance SuppressUnusedWarnings Let_1627770736YsSym1 instance SuppressUnusedWarnings Let_1627770736YsSym2 instance SuppressUnusedWarnings Let_1627770736YsSym3 instance SuppressUnusedWarnings Let_1627770736YsSym4 instance SuppressUnusedWarnings Let_1627770707XsSym0 instance SuppressUnusedWarnings Let_1627770707XsSym1 instance SuppressUnusedWarnings Let_1627770707XsSym2 instance SuppressUnusedWarnings Let_1627770707XsSym3 instance SuppressUnusedWarnings Let_1627770707XsSym4 instance SuppressUnusedWarnings Let_1627770589X_1627770591Sym0 instance SuppressUnusedWarnings Let_1627770589X_1627770591Sym1 instance SuppressUnusedWarnings Let_1627770589X_1627770591Sym2 instance SuppressUnusedWarnings Let_1627770589X_1627770591Sym3 instance SuppressUnusedWarnings Let_1627770589X_1627770591Sym4 instance SuppressUnusedWarnings Let_1627770589ZsSym0 instance SuppressUnusedWarnings Let_1627770589ZsSym1 instance SuppressUnusedWarnings Let_1627770589ZsSym2 instance SuppressUnusedWarnings Let_1627770589ZsSym3 instance SuppressUnusedWarnings Let_1627770589ZsSym4 instance SuppressUnusedWarnings Let_1627770589YsSym0 instance SuppressUnusedWarnings Let_1627770589YsSym1 instance SuppressUnusedWarnings Let_1627770589YsSym2 instance SuppressUnusedWarnings Let_1627770589YsSym3 instance SuppressUnusedWarnings Let_1627770589YsSym4 instance SuppressUnusedWarnings Let_1627770560XsSym0 instance SuppressUnusedWarnings Let_1627770560XsSym1 instance SuppressUnusedWarnings Let_1627770560XsSym2 instance SuppressUnusedWarnings Let_1627770560XsSym3 instance SuppressUnusedWarnings Let_1627770560XsSym4 instance SuppressUnusedWarnings Lambda_1627770406Sym0 instance SuppressUnusedWarnings Lambda_1627770406Sym1 instance SuppressUnusedWarnings Lambda_1627770406Sym2 instance SuppressUnusedWarnings Lambda_1627770406Sym3 instance SuppressUnusedWarnings Let_1627769797Nub'Sym0 instance SuppressUnusedWarnings Let_1627769797Nub'Sym1 instance SuppressUnusedWarnings Let_1627769797Nub'Sym2 instance SuppressUnusedWarnings Let_1627769723NubBy'Sym0 instance SuppressUnusedWarnings Let_1627769723NubBy'Sym1 instance SuppressUnusedWarnings Let_1627769723NubBy'Sym2 instance SuppressUnusedWarnings Let_1627769723NubBy'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_a1wyg -> (a_a1wyh -> b_a1wyg) -> Maybe a_a1wyh -> b_a1wyg type NothingSym0 = Nothing data JustSym0 (l_at92 :: TyFun a_a53Q (Maybe a_a53Q)) type JustSym1 (t_at91 :: a_a53Q) = Just t_at91 data Maybe_Sym0 (l_a1wyo :: TyFun b_a1wyg (TyFun (TyFun a_a1wyh b_a1wyg -> *) (TyFun (Maybe a_a1wyh) b_a1wyg -> *) -> *)) data Maybe_Sym1 (l_a1wyr :: b_a1wyg) (l_a1wyq :: TyFun (TyFun a_a1wyh b_a1wyg -> *) (TyFun (Maybe a_a1wyh) b_a1wyg -> *)) data Maybe_Sym2 (l_a1wyu :: b_a1wyg) (l_a1wyv :: TyFun a_a1wyh b_a1wyg -> *) (l_a1wyt :: TyFun (Maybe a_a1wyh) b_a1wyg) type Maybe_Sym3 (t_a1wyl :: b_a1wyg) (t_a1wym :: TyFun a_a1wyh b_a1wyg -> *) (t_a1wyn :: Maybe a_a1wyh) = Maybe_ t_a1wyl t_a1wym t_a1wyn data IsJustSym0 (l_a1wVV :: TyFun (Maybe a_a1wTS) Bool) type IsJustSym1 (t_a1wVU :: Maybe a_a1wTS) = IsJust t_a1wVU data IsNothingSym0 (l_a1wVQ :: TyFun (Maybe a_a1wTT) Bool) type IsNothingSym1 (t_a1wVP :: Maybe a_a1wTT) = IsNothing t_a1wVP data FromJustSym0 (l_a1wVL :: TyFun (Maybe a_a1wTU) a_a1wTU) type FromJustSym1 (t_a1wVK :: Maybe a_a1wTU) = FromJust t_a1wVK data FromMaybeSym0 (l_a1wVn :: TyFun a_a1wTW (TyFun (Maybe a_a1wTW) a_a1wTW -> *)) data FromMaybeSym1 (l_a1wVq :: a_a1wTW) (l_a1wVp :: TyFun (Maybe a_a1wTW) a_a1wTW) type FromMaybeSym2 (t_a1wVl :: a_a1wTW) (t_a1wVm :: Maybe a_a1wTW) = FromMaybe t_a1wVl t_a1wVm data MaybeToListSym0 (l_a1wVh :: TyFun (Maybe a_a1wU0) [a_a1wU0]) type MaybeToListSym1 (t_a1wVg :: Maybe a_a1wU0) = MaybeToList t_a1wVg data ListToMaybeSym0 (l_a1wVb :: TyFun [a_a1wU2] (Maybe a_a1wU2)) type ListToMaybeSym1 (t_a1wVa :: [a_a1wU2]) = ListToMaybe t_a1wVa data CatMaybesSym0 (l_a1wV4 :: TyFun [Maybe a_a1wU4] [a_a1wU4]) type CatMaybesSym1 (t_a1wV3 :: [Maybe a_a1wU4]) = CatMaybes t_a1wV3 data MapMaybeSym0 (l_a1wUl :: TyFun (TyFun a_a1wU8 (Maybe b_a1wU9) -> *) (TyFun [a_a1wU8] [b_a1wU9] -> *)) data MapMaybeSym1 (l_a1wUo :: TyFun a_a1wU8 (Maybe b_a1wU9) -> *) (l_a1wUn :: TyFun [a_a1wU8] [b_a1wU9]) type MapMaybeSym2 (t_a1wUj :: TyFun a_a1wU8 (Maybe b_a1wU9) -> *) (t_a1wUk :: [a_a1wU8]) = MapMaybe t_a1wUj t_a1wUk -- | 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_a1wyg -> (a_a1wyh -> b_a1wyg) -> Maybe a_a1wyh -> b_a1wyg either_ :: (a_aL1z -> c_aL1A) -> (b_aL1B -> c_aL1A) -> Either a_aL1z b_aL1B -> c_aL1A -- | (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_aPcm -> Bool) -> [a_aPcm] -> 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_aA20 :: TyFun Bool Bool) type NotSym1 (t_aA1Z :: Bool) = Not t_aA1Z data (:&&$) (l_aA2g :: TyFun Bool (TyFun Bool Bool -> *)) data (:&&$$) (l_aA2j :: Bool) (l_aA2i :: TyFun Bool Bool) type (:&&$$$) (t_aA2e :: Bool) (t_aA2f :: Bool) = (:&&) t_aA2e t_aA2f data (:||$) (l_aA25 :: TyFun Bool (TyFun Bool Bool -> *)) data (:||$$) (l_aA28 :: Bool) (l_aA27 :: TyFun Bool Bool) type (:||$$$) (t_aA23 :: Bool) (t_aA24 :: Bool) = (:||) t_aA23 t_aA24 type OtherwiseSym0 = Otherwise type NothingSym0 = Nothing data JustSym0 (l_at92 :: TyFun a_a53Q (Maybe a_a53Q)) type JustSym1 (t_at91 :: a_a53Q) = Just t_at91 data Maybe_Sym0 (l_a1wyo :: TyFun b_a1wyg (TyFun (TyFun a_a1wyh b_a1wyg -> *) (TyFun (Maybe a_a1wyh) b_a1wyg -> *) -> *)) data Maybe_Sym1 (l_a1wyr :: b_a1wyg) (l_a1wyq :: TyFun (TyFun a_a1wyh b_a1wyg -> *) (TyFun (Maybe a_a1wyh) b_a1wyg -> *)) data Maybe_Sym2 (l_a1wyu :: b_a1wyg) (l_a1wyv :: TyFun a_a1wyh b_a1wyg -> *) (l_a1wyt :: TyFun (Maybe a_a1wyh) b_a1wyg) type Maybe_Sym3 (t_a1wyl :: b_a1wyg) (t_a1wym :: TyFun a_a1wyh b_a1wyg -> *) (t_a1wyn :: Maybe a_a1wyh) = Maybe_ t_a1wyl t_a1wym t_a1wyn data LeftSym0 (l_at9t :: TyFun a_a8tV (Either a_a8tV b_a8tW)) type LeftSym1 (t_at9s :: a_a8tV) = Left t_at9s data RightSym0 (l_at9w :: TyFun b_a8tW (Either a_a8tV b_a8tW)) type RightSym1 (t_at9v :: b_a8tW) = Right t_at9v data Either_Sym0 (l_aL1J :: TyFun (TyFun a_aL1z c_aL1A -> *) (TyFun (TyFun b_aL1B c_aL1A -> *) (TyFun (Either a_aL1z b_aL1B) c_aL1A -> *) -> *)) data Either_Sym1 (l_aL1M :: TyFun a_aL1z c_aL1A -> *) (l_aL1L :: TyFun (TyFun b_aL1B c_aL1A -> *) (TyFun (Either a_aL1z b_aL1B) c_aL1A -> *)) data Either_Sym2 (l_aL1P :: TyFun a_aL1z c_aL1A -> *) (l_aL1Q :: TyFun b_aL1B c_aL1A -> *) (l_aL1O :: TyFun (Either a_aL1z b_aL1B) c_aL1A) type Either_Sym3 (t_aL1G :: TyFun a_aL1z c_aL1A -> *) (t_aL1H :: TyFun b_aL1B c_aL1A -> *) (t_aL1I :: Either a_aL1z b_aL1B) = Either_ t_aL1G t_aL1H t_aL1I type Tuple0Sym0 = '() data Tuple2Sym0 (l_at9O :: TyFun a_12 (TyFun b_13 (a_12, b_13) -> *)) data Tuple2Sym1 (l_at9R :: a_12) (l_at9Q :: TyFun b_13 (a_12, b_13)) type Tuple2Sym2 (t_at9M :: a_12) (t_at9N :: b_13) = '(t_at9M, t_at9N) data Tuple3Sym0 (l_ata8 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *) -> *)) data Tuple3Sym1 (l_atab :: a_12) (l_ataa :: TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *)) data Tuple3Sym2 (l_atae :: a_12) (l_ataf :: b_13) (l_atad :: TyFun c_14 (a_12, b_13, c_14)) type Tuple3Sym3 (t_ata5 :: a_12) (t_ata6 :: b_13) (t_ata7 :: c_14) = '(t_ata5, t_ata6, t_ata7) data Tuple4Sym0 (l_ataC :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *) -> *)) data Tuple4Sym1 (l_ataF :: a_12) (l_ataE :: TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *)) data Tuple4Sym2 (l_ataI :: a_12) (l_ataJ :: b_13) (l_ataH :: TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *)) data Tuple4Sym3 (l_ataM :: a_12) (l_ataN :: b_13) (l_ataO :: c_14) (l_ataL :: TyFun d_15 (a_12, b_13, c_14, d_15)) type Tuple4Sym4 (t_atay :: a_12) (t_ataz :: b_13) (t_ataA :: c_14) (t_ataB :: d_15) = '(t_atay, t_ataz, t_ataA, t_ataB) data Tuple5Sym0 (l_atbh :: 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_atbk :: a_12) (l_atbj :: 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_atbn :: a_12) (l_atbo :: b_13) (l_atbm :: TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *)) data Tuple5Sym3 (l_atbr :: a_12) (l_atbs :: b_13) (l_atbt :: c_14) (l_atbq :: TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *)) data Tuple5Sym4 (l_atbw :: a_12) (l_atbx :: b_13) (l_atby :: c_14) (l_atbz :: d_15) (l_atbv :: TyFun e_16 (a_12, b_13, c_14, d_15, e_16)) type Tuple5Sym5 (t_atbc :: a_12) (t_atbd :: b_13) (t_atbe :: c_14) (t_atbf :: d_15) (t_atbg :: e_16) = '(t_atbc, t_atbd, t_atbe, t_atbf, t_atbg) data Tuple6Sym0 (l_atc8 :: 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_atcb :: a_12) (l_atca :: 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_atce :: a_12) (l_atcf :: b_13) (l_atcd :: 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_atci :: a_12) (l_atcj :: b_13) (l_atck :: c_14) (l_atch :: TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *)) data Tuple6Sym4 (l_atcn :: a_12) (l_atco :: b_13) (l_atcp :: c_14) (l_atcq :: d_15) (l_atcm :: TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *)) data Tuple6Sym5 (l_atct :: a_12) (l_atcu :: b_13) (l_atcv :: c_14) (l_atcw :: d_15) (l_atcx :: e_16) (l_atcs :: TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17)) type Tuple6Sym6 (t_atc2 :: a_12) (t_atc3 :: b_13) (t_atc4 :: c_14) (t_atc5 :: d_15) (t_atc6 :: e_16) (t_atc7 :: f_17) = '(t_atc2, t_atc3, t_atc4, t_atc5, t_atc6, t_atc7) data Tuple7Sym0 (l_atdc :: 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_atdf :: a_12) (l_atde :: 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_atdi :: a_12) (l_atdj :: b_13) (l_atdh :: 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_atdm :: a_12) (l_atdn :: b_13) (l_atdo :: c_14) (l_atdl :: 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_atdr :: a_12) (l_atds :: b_13) (l_atdt :: c_14) (l_atdu :: d_15) (l_atdq :: 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_atdx :: a_12) (l_atdy :: b_13) (l_atdz :: c_14) (l_atdA :: d_15) (l_atdB :: e_16) (l_atdw :: TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *)) data Tuple7Sym6 (l_atdE :: a_12) (l_atdF :: b_13) (l_atdG :: c_14) (l_atdH :: d_15) (l_atdI :: e_16) (l_atdJ :: f_17) (l_atdD :: TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18)) type Tuple7Sym7 (t_atd5 :: a_12) (t_atd6 :: b_13) (t_atd7 :: c_14) (t_atd8 :: d_15) (t_atd9 :: e_16) (t_atda :: f_17) (t_atdb :: g_18) = '(t_atd5, t_atd6, t_atd7, t_atd8, t_atd9, t_atda, t_atdb) data FstSym0 (l_aNL5 :: TyFun (a_aNKf, b_aNKg) a_aNKf) type FstSym1 (t_aNL4 :: (a_aNKf, b_aNKg)) = Fst t_aNL4 data SndSym0 (l_aNKZ :: TyFun (a_aNKi, b_aNKj) b_aNKj) type SndSym1 (t_aNKY :: (a_aNKi, b_aNKj)) = Snd t_aNKY data CurrySym0 (l_aNKJ :: TyFun (TyFun (a_aNKl, b_aNKm) c_aNKn -> *) (TyFun a_aNKl (TyFun b_aNKm c_aNKn -> *) -> *)) data CurrySym1 (l_aNKM :: TyFun (a_aNKl, b_aNKm) c_aNKn -> *) (l_aNKL :: TyFun a_aNKl (TyFun b_aNKm c_aNKn -> *)) data CurrySym2 (l_aNKP :: TyFun (a_aNKl, b_aNKm) c_aNKn -> *) (l_aNKQ :: a_aNKl) (l_aNKO :: TyFun b_aNKm c_aNKn) type CurrySym3 (t_aNKG :: TyFun (a_aNKl, b_aNKm) c_aNKn -> *) (t_aNKH :: a_aNKl) (t_aNKI :: b_aNKm) = Curry t_aNKG t_aNKH t_aNKI data UncurrySym0 (l_aNLc :: TyFun (TyFun a_aNKr (TyFun b_aNKs c_aNKt -> *) -> *) (TyFun (a_aNKr, b_aNKs) c_aNKt -> *)) data UncurrySym1 (l_aNLf :: TyFun a_aNKr (TyFun b_aNKs c_aNKt -> *) -> *) (l_aNLe :: TyFun (a_aNKr, b_aNKs) c_aNKt) type UncurrySym2 (t_aNLa :: TyFun a_aNKr (TyFun b_aNKs c_aNKt -> *) -> *) (t_aNLb :: (a_aNKr, b_aNKs)) = Uncurry t_aNLa t_aNLb data (:+$) l_aGTJ data (:+$$) (l_aGTM :: Nat) l_aGTL data (:-$) l_aGTQ data (:-$$) (l_aGTT :: Nat) l_aGTS data (:*$) l_aGTX data (:*$$) (l_aGU0 :: Nat) l_aGTZ data (:^$) l_aGU4 data (:^$$) (l_aGU7 :: Nat) l_aGU6 data IdSym0 (l_aIbX :: TyFun a_aIa1 a_aIa1) type IdSym1 (t_aIbW :: a_aIa1) = Id t_aIbW data ConstSym0 (l_aIby :: TyFun a_aIa3 (TyFun b_aIa4 a_aIa3 -> *)) data ConstSym1 (l_aIbB :: a_aIa3) (l_aIbA :: TyFun b_aIa4 a_aIa3) type ConstSym2 (t_aIbw :: a_aIa3) (t_aIbx :: b_aIa4) = Const t_aIbw t_aIbx data (:.$) (l_aIaS :: TyFun (TyFun b_aIa6 c_aIa7 -> *) (TyFun (TyFun a_aIa8 b_aIa6 -> *) (TyFun a_aIa8 c_aIa7 -> *) -> *)) data (:.$$) (l_aIaV :: TyFun b_aIa6 c_aIa7 -> *) (l_aIaU :: TyFun (TyFun a_aIa8 b_aIa6 -> *) (TyFun a_aIa8 c_aIa7 -> *)) data (:.$$$) (l_aIaY :: TyFun b_aIa6 c_aIa7 -> *) (l_aIaZ :: TyFun a_aIa8 b_aIa6 -> *) (l_aIaX :: TyFun a_aIa8 c_aIa7) 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_aIaA :: TyFun (TyFun a_aIac (TyFun b_aIad c_aIae -> *) -> *) (TyFun b_aIad (TyFun a_aIac c_aIae -> *) -> *)) data FlipSym1 (l_aIaD :: TyFun a_aIac (TyFun b_aIad c_aIae -> *) -> *) (l_aIaC :: TyFun b_aIad (TyFun a_aIac c_aIae -> *)) data FlipSym2 (l_aIaG :: TyFun a_aIac (TyFun b_aIad c_aIae -> *) -> *) (l_aIaH :: b_aIad) (l_aIaF :: TyFun a_aIac c_aIae) data AsTypeOfSym0 (l_aIbN :: TyFun a_aIai (TyFun a_aIai a_aIai -> *)) data AsTypeOfSym1 (l_aIbQ :: a_aIai) (l_aIbP :: TyFun a_aIai a_aIai) type AsTypeOfSym2 (t_aIbL :: a_aIai) (t_aIbM :: a_aIai) = AsTypeOf t_aIbL t_aIbM data SeqSym0 (l_aIao :: TyFun a_aIaj (TyFun b_aIak b_aIak -> *)) data SeqSym1 (l_aIar :: a_aIaj) (l_aIaq :: TyFun b_aIak b_aIak) type SeqSym2 (t_aIam :: a_aIaj) (t_aIan :: b_aIak) = Seq t_aIam t_aIan data (:$) (l_at9c :: TyFun a_12 (TyFun [a_12] [a_12] -> *)) data (:$$) (l_at9f :: a_12) (l_at9e :: TyFun [a_12] [a_12]) type (:$$$) (t_at9a :: a_12) (t_at9b :: [a_12]) = (:) t_at9a t_at9b type NilSym0 = '[] data MapSym0 (l_aIcg :: TyFun (TyFun a_aI9R b_aI9S -> *) (TyFun [a_aI9R] [b_aI9S] -> *)) data MapSym1 (l_aIcj :: TyFun a_aI9R b_aI9S -> *) (l_aIci :: TyFun [a_aI9R] [b_aI9S]) type MapSym2 (t_aIce :: TyFun a_aI9R b_aI9S -> *) (t_aIcf :: [a_aI9R]) = Map t_aIce t_aIcf data ReverseSym0 (l_aRPX :: TyFun [a_aRdq] [a_aRdq]) type ReverseSym1 (t_aRPW :: [a_aRdq]) = Reverse t_aRPW data (:++$$) (l_aIc6 :: [a_aI9W]) (l_aIc5 :: TyFun [a_aI9W] [a_aI9W]) data (:++$) (l_aIc3 :: TyFun [a_aI9W] (TyFun [a_aI9W] [a_aI9W] -> *)) data HeadSym0 (l_aRRL :: TyFun [a_aRd5] a_aRd5) type HeadSym1 (t_aRRK :: [a_aRd5]) = Head t_aRRK data LastSym0 (l_aRRf :: TyFun [a_aRd7] a_aRd7) type LastSym1 (t_aRRe :: [a_aRd7]) = Last t_aRRe data TailSym0 (l_aRR9 :: TyFun [a_aRdf] [a_aRdf]) type TailSym1 (t_aRR8 :: [a_aRdf]) = Tail t_aRR8 data InitSym0 (l_aRQD :: TyFun [a_aRdh] [a_aRdh]) type InitSym1 (t_aRQC :: [a_aRdh]) = Init t_aRQC data NullSym0 (l_aRQx :: TyFun [a_aRdp] Bool) type NullSym1 (t_aRQw :: [a_aRdp]) = Null t_aRQw data FoldlSym0 (l_aREn :: TyFun (TyFun b_aRe9 (TyFun a_aRea b_aRe9 -> *) -> *) (TyFun b_aRe9 (TyFun [a_aRea] b_aRe9 -> *) -> *)) data FoldlSym1 (l_aREq :: TyFun b_aRe9 (TyFun a_aRea b_aRe9 -> *) -> *) (l_aREp :: TyFun b_aRe9 (TyFun [a_aRea] b_aRe9 -> *)) data FoldlSym2 (l_aREt :: TyFun b_aRe9 (TyFun a_aRea b_aRe9 -> *) -> *) (l_aREu :: b_aRe9) (l_aREs :: TyFun [a_aRea] b_aRe9) type FoldlSym3 (t_aREk :: TyFun b_aRe9 (TyFun a_aRea b_aRe9 -> *) -> *) (t_aREl :: b_aRe9) (t_aREm :: [a_aRea]) = Foldl t_aREk t_aREl t_aREm data Foldl1Sym0 (l_aRFb :: TyFun (TyFun a_aReu (TyFun a_aReu a_aReu -> *) -> *) (TyFun [a_aReu] a_aReu -> *)) data Foldl1Sym1 (l_aRFe :: TyFun a_aReu (TyFun a_aReu a_aReu -> *) -> *) (l_aRFd :: TyFun [a_aReu] a_aReu) type Foldl1Sym2 (t_aRF9 :: TyFun a_aReu (TyFun a_aReu a_aReu -> *) -> *) (t_aRFa :: [a_aReu]) = Foldl1 t_aRF9 t_aRFa data FoldrSym0 (l_aIcu :: TyFun (TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (TyFun b_aI9L (TyFun [a_aI9K] b_aI9L -> *) -> *)) data FoldrSym1 (l_aIcx :: TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (l_aIcw :: TyFun b_aI9L (TyFun [a_aI9K] b_aI9L -> *)) data FoldrSym2 (l_aIcA :: TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (l_aIcB :: b_aI9L) (l_aIcz :: TyFun [a_aI9K] b_aI9L) type FoldrSym3 (t_aIcr :: TyFun a_aI9K (TyFun b_aI9L b_aI9L -> *) -> *) (t_aIcs :: b_aI9L) (t_aIct :: [a_aI9K]) = Foldr t_aIcr t_aIcs t_aIct data Foldr1Sym0 (l_aRCb :: TyFun (TyFun a_aReC (TyFun a_aReC a_aReC -> *) -> *) (TyFun [a_aReC] a_aReC -> *)) data Foldr1Sym1 (l_aRCe :: TyFun a_aReC (TyFun a_aReC a_aReC -> *) -> *) (l_aRCd :: TyFun [a_aReC] a_aReC) type Foldr1Sym2 (t_aRC9 :: TyFun a_aReC (TyFun a_aReC a_aReC -> *) -> *) (t_aRCa :: [a_aReC]) = Foldr1 t_aRC9 t_aRCa data ConcatSym0 (l_aRC5 :: TyFun [[a_aReH]] [a_aReH]) type ConcatSym1 (t_aRC4 :: [[a_aReH]]) = Concat t_aRC4 data ConcatMapSym0 (l_aRBR :: TyFun (TyFun a_aReI [b_aReJ] -> *) (TyFun [a_aReI] [b_aReJ] -> *)) data ConcatMapSym1 (l_aRBU :: TyFun a_aReI [b_aReJ] -> *) (l_aRBT :: TyFun [a_aReI] [b_aReJ]) type ConcatMapSym2 (t_aRBP :: TyFun a_aReI [b_aReJ] -> *) (t_aRBQ :: [a_aReI]) = ConcatMap t_aRBP t_aRBQ data MaximumBySym0 (l_aRFo :: TyFun (TyFun a_aRit (TyFun a_aRit Ordering -> *) -> *) (TyFun [a_aRit] a_aRit -> *)) data MaximumBySym1 (l_aRFr :: TyFun a_aRit (TyFun a_aRit Ordering -> *) -> *) (l_aRFq :: TyFun [a_aRit] a_aRit) type MaximumBySym2 (t_aRFm :: TyFun a_aRit (TyFun a_aRit Ordering -> *) -> *) (t_aRFn :: [a_aRit]) = MaximumBy t_aRFm t_aRFn data MinimumBySym0 (l_aRGP :: TyFun (TyFun a_aRiz (TyFun a_aRiz Ordering -> *) -> *) (TyFun [a_aRiz] a_aRiz -> *)) data MinimumBySym1 (l_aRGS :: TyFun a_aRiz (TyFun a_aRiz Ordering -> *) -> *) (l_aRGR :: TyFun [a_aRiz] a_aRiz) type MinimumBySym2 (t_aRGN :: TyFun a_aRiz (TyFun a_aRiz Ordering -> *) -> *) (t_aRGO :: [a_aRiz]) = MinimumBy t_aRGN t_aRGO data AndSym0 (l_aRBK :: TyFun [Bool] Bool) type AndSym1 (t_aRBJ :: [Bool]) = And t_aRBJ data OrSym0 (l_aRBE :: TyFun [Bool] Bool) type OrSym1 (t_aRBD :: [Bool]) = Or t_aRBD data Any_Sym0 (l_aPcs :: TyFun (TyFun a_aPcm Bool -> *) (TyFun [a_aPcm] Bool -> *)) data Any_Sym1 (l_aPcv :: TyFun a_aPcm Bool -> *) (l_aPcu :: TyFun [a_aPcm] Bool) type Any_Sym2 (t_aPcq :: TyFun a_aPcm Bool -> *) (t_aPcr :: [a_aPcm]) = Any_ t_aPcq t_aPcr data AllSym0 (l_aRBs :: TyFun (TyFun a_aReP Bool -> *) (TyFun [a_aReP] Bool -> *)) data AllSym1 (l_aRBv :: TyFun a_aReP Bool -> *) (l_aRBu :: TyFun [a_aReP] Bool) type AllSym2 (t_aRBq :: TyFun a_aReP Bool -> *) (t_aRBr :: [a_aReP]) = All t_aRBq t_aRBr data ScanlSym0 (l_aRAE :: TyFun (TyFun b_aReT (TyFun a_aReU b_aReT -> *) -> *) (TyFun b_aReT (TyFun [a_aReU] [b_aReT] -> *) -> *)) data ScanlSym1 (l_aRAH :: TyFun b_aReT (TyFun a_aReU b_aReT -> *) -> *) (l_aRAG :: TyFun b_aReT (TyFun [a_aReU] [b_aReT] -> *)) data ScanlSym2 (l_aRAK :: TyFun b_aReT (TyFun a_aReU b_aReT -> *) -> *) (l_aRAL :: b_aReT) (l_aRAJ :: TyFun [a_aReU] [b_aReT]) type ScanlSym3 (t_aRAB :: TyFun b_aReT (TyFun a_aReU b_aReT -> *) -> *) (t_aRAC :: b_aReT) (t_aRAD :: [a_aReU]) = Scanl t_aRAB t_aRAC t_aRAD data Scanl1Sym0 (l_aRBf :: TyFun (TyFun a_aRf0 (TyFun a_aRf0 a_aRf0 -> *) -> *) (TyFun [a_aRf0] [a_aRf0] -> *)) data Scanl1Sym1 (l_aRBi :: TyFun a_aRf0 (TyFun a_aRf0 a_aRf0 -> *) -> *) (l_aRBh :: TyFun [a_aRf0] [a_aRf0]) type Scanl1Sym2 (t_aRBd :: TyFun a_aRf0 (TyFun a_aRf0 a_aRf0 -> *) -> *) (t_aRBe :: [a_aRf0]) = Scanl1 t_aRBd t_aRBe data ScanrSym0 (l_aRzT :: TyFun (TyFun a_aRf4 (TyFun b_aRf5 b_aRf5 -> *) -> *) (TyFun b_aRf5 (TyFun [a_aRf4] [b_aRf5] -> *) -> *)) data ScanrSym1 (l_aRzW :: TyFun a_aRf4 (TyFun b_aRf5 b_aRf5 -> *) -> *) (l_aRzV :: TyFun b_aRf5 (TyFun [a_aRf4] [b_aRf5] -> *)) data ScanrSym2 (l_aRzZ :: TyFun a_aRf4 (TyFun b_aRf5 b_aRf5 -> *) -> *) (l_aRA0 :: b_aRf5) (l_aRzY :: TyFun [a_aRf4] [b_aRf5]) type ScanrSym3 (t_aRzQ :: TyFun a_aRf4 (TyFun b_aRf5 b_aRf5 -> *) -> *) (t_aRzR :: b_aRf5) (t_aRzS :: [a_aRf4]) = Scanr t_aRzQ t_aRzR t_aRzS data Scanr1Sym0 (l_aRyS :: TyFun (TyFun a_aRfd (TyFun a_aRfd a_aRfd -> *) -> *) (TyFun [a_aRfd] [a_aRfd] -> *)) data Scanr1Sym1 (l_aRyV :: TyFun a_aRfd (TyFun a_aRfd a_aRfd -> *) -> *) (l_aRyU :: TyFun [a_aRfd] [a_aRfd]) type Scanr1Sym2 (t_aRyQ :: TyFun a_aRfd (TyFun a_aRfd a_aRfd -> *) -> *) (t_aRyR :: [a_aRfd]) = Scanr1 t_aRyQ t_aRyR data ElemSym0 (l_aRrT :: TyFun a_aRg6 (TyFun [a_aRg6] Bool -> *)) data ElemSym1 (l_aRrW :: a_aRg6) (l_aRrV :: TyFun [a_aRg6] Bool) type ElemSym2 (t_aRrR :: a_aRg6) (t_aRrS :: [a_aRg6]) = Elem t_aRrR t_aRrS data NotElemSym0 (l_aRrG :: TyFun a_aRga (TyFun [a_aRga] Bool -> *)) data NotElemSym1 (l_aRrJ :: a_aRga) (l_aRrI :: TyFun [a_aRga] Bool) type NotElemSym2 (t_aRrE :: a_aRga) (t_aRrF :: [a_aRga]) = NotElem t_aRrE t_aRrF data ZipSym0 (l_aRrp :: TyFun [a_aRge] (TyFun [b_aRgf] [(a_aRge, b_aRgf)] -> *)) data ZipSym1 (l_aRrs :: [a_aRge]) (l_aRrr :: TyFun [b_aRgf] [(a_aRge, b_aRgf)]) type ZipSym2 (t_aRrn :: [a_aRge]) (t_aRro :: [b_aRgf]) = Zip t_aRrn t_aRro data Zip3Sym0 (l_aRqN :: TyFun [a_aRgk] (TyFun [b_aRgl] (TyFun [c_aRgm] [(a_aRgk, b_aRgl, c_aRgm)] -> *) -> *)) data Zip3Sym1 (l_aRqQ :: [a_aRgk]) (l_aRqP :: TyFun [b_aRgl] (TyFun [c_aRgm] [(a_aRgk, b_aRgl, c_aRgm)] -> *)) data Zip3Sym2 (l_aRqT :: [a_aRgk]) (l_aRqU :: [b_aRgl]) (l_aRqS :: TyFun [c_aRgm] [(a_aRgk, b_aRgl, c_aRgm)]) type Zip3Sym3 (t_aRqK :: [a_aRgk]) (t_aRqL :: [b_aRgl]) (t_aRqM :: [c_aRgm]) = Zip3 t_aRqK t_aRqL t_aRqM data ZipWithSym0 (l_aRqm :: TyFun (TyFun a_aRgt (TyFun b_aRgu c_aRgv -> *) -> *) (TyFun [a_aRgt] (TyFun [b_aRgu] [c_aRgv] -> *) -> *)) data ZipWithSym1 (l_aRqp :: TyFun a_aRgt (TyFun b_aRgu c_aRgv -> *) -> *) (l_aRqo :: TyFun [a_aRgt] (TyFun [b_aRgu] [c_aRgv] -> *)) data ZipWithSym2 (l_aRqs :: TyFun a_aRgt (TyFun b_aRgu c_aRgv -> *) -> *) (l_aRqt :: [a_aRgt]) (l_aRqr :: TyFun [b_aRgu] [c_aRgv]) type ZipWithSym3 (t_aRqj :: TyFun a_aRgt (TyFun b_aRgu c_aRgv -> *) -> *) (t_aRqk :: [a_aRgt]) (t_aRql :: [b_aRgu]) = ZipWith t_aRqj t_aRqk t_aRql data ZipWith3Sym0 (l_aRpv :: TyFun (TyFun a_aRgB (TyFun b_aRgC (TyFun c_aRgD d_aRgE -> *) -> *) -> *) (TyFun [a_aRgB] (TyFun [b_aRgC] (TyFun [c_aRgD] [d_aRgE] -> *) -> *) -> *)) data ZipWith3Sym1 (l_aRpy :: TyFun a_aRgB (TyFun b_aRgC (TyFun c_aRgD d_aRgE -> *) -> *) -> *) (l_aRpx :: TyFun [a_aRgB] (TyFun [b_aRgC] (TyFun [c_aRgD] [d_aRgE] -> *) -> *)) data ZipWith3Sym2 (l_aRpB :: TyFun a_aRgB (TyFun b_aRgC (TyFun c_aRgD d_aRgE -> *) -> *) -> *) (l_aRpC :: [a_aRgB]) (l_aRpA :: TyFun [b_aRgC] (TyFun [c_aRgD] [d_aRgE] -> *)) data ZipWith3Sym3 (l_aRpF :: TyFun a_aRgB (TyFun b_aRgC (TyFun c_aRgD d_aRgE -> *) -> *) -> *) (l_aRpG :: [a_aRgB]) (l_aRpH :: [b_aRgC]) (l_aRpE :: TyFun [c_aRgD] [d_aRgE]) data UnzipSym0 (l_aRoW :: TyFun [(a_aRgM, b_aRgN)] ([a_aRgM], [b_aRgN])) type UnzipSym1 (t_aRoV :: [(a_aRgM, b_aRgN)]) = Unzip t_aRoV data UntilSym0 (l_aOLX :: TyFun (TyFun a_aOLN Bool -> *) (TyFun (TyFun a_aOLN a_aOLN -> *) (TyFun a_aOLN a_aOLN -> *) -> *)) data UntilSym1 (l_aOM0 :: TyFun a_aOLN Bool -> *) (l_aOLZ :: TyFun (TyFun a_aOLN a_aOLN -> *) (TyFun a_aOLN a_aOLN -> *)) data UntilSym2 (l_aOM3 :: TyFun a_aOLN Bool -> *) (l_aOM4 :: TyFun a_aOLN a_aOLN -> *) (l_aOM2 :: TyFun a_aOLN a_aOLN) type UntilSym3 (t_aOLU :: TyFun a_aOLN Bool -> *) (t_aOLV :: TyFun a_aOLN a_aOLN -> *) (t_aOLW :: a_aOLN) = Until t_aOLU t_aOLV t_aOLW data LengthSym0 (l_a1Bbz :: TyFun [a_a1AHN] Nat) type LengthSym1 (t_a1Bby :: [a_a1AHN]) = Length t_a1Bby data SumSym0 (l_a1Bba :: TyFun [Nat] Nat) type SumSym1 (t_a1Bb9 :: [Nat]) = Sum t_a1Bb9 data ProductSym0 (l_a1BaL :: TyFun [Nat] Nat) type ProductSym1 (t_a1BaK :: [Nat]) = Product t_a1BaK data ReplicateSym0 (l_a1Bal :: TyFun Nat (TyFun a_a1AI1 [a_a1AI1] -> *)) data ReplicateSym1 (l_a1Bao :: Nat) (l_a1Ban :: TyFun a_a1AI1 [a_a1AI1]) type ReplicateSym2 (t_a1Baj :: Nat) (t_a1Bak :: a_a1AI1) = Replicate t_a1Baj t_a1Bak data TakeSym0 (l_a1B9j :: TyFun Nat (TyFun [a_a1AI9] [a_a1AI9] -> *)) data TakeSym1 (l_a1B9m :: Nat) (l_a1B9l :: TyFun [a_a1AI9] [a_a1AI9]) type TakeSym2 (t_a1B9h :: Nat) (t_a1B9i :: [a_a1AI9]) = Take t_a1B9h t_a1B9i data DropSym0 (l_a1B8G :: TyFun Nat (TyFun [a_a1AId] [a_a1AId] -> *)) data DropSym1 (l_a1B8J :: Nat) (l_a1B8I :: TyFun [a_a1AId] [a_a1AId]) type DropSym2 (t_a1B8E :: Nat) (t_a1B8F :: [a_a1AId]) = Drop t_a1B8E t_a1B8F data SplitAtSym0 (l_a1B9y :: TyFun Nat (TyFun [a_a1AIh] ([a_a1AIh], [a_a1AIh]) -> *)) data SplitAtSym1 (l_a1B9B :: Nat) (l_a1B9A :: TyFun [a_a1AIh] ([a_a1AIh], [a_a1AIh])) type SplitAtSym2 (t_a1B9w :: Nat) (t_a1B9x :: [a_a1AIh]) = SplitAt t_a1B9w t_a1B9x data TakeWhileSym0 (l_a1B8j :: TyFun (TyFun a_a1AIk Bool -> *) (TyFun [a_a1AIk] [a_a1AIk] -> *)) data TakeWhileSym1 (l_a1B8m :: TyFun a_a1AIk Bool -> *) (l_a1B8l :: TyFun [a_a1AIk] [a_a1AIk]) type TakeWhileSym2 (t_a1B8h :: TyFun a_a1AIk Bool -> *) (t_a1B8i :: [a_a1AIk]) = TakeWhile t_a1B8h t_a1B8i data DropWhileSym0 (l_a1B7v :: TyFun (TyFun a_a1AIo Bool -> *) (TyFun [a_a1AIo] [a_a1AIo] -> *)) data DropWhileSym1 (l_a1B7y :: TyFun a_a1AIo Bool -> *) (l_a1B7x :: TyFun [a_a1AIo] [a_a1AIo]) type DropWhileSym2 (t_a1B7t :: TyFun a_a1AIo Bool -> *) (t_a1B7u :: [a_a1AIo]) = DropWhile t_a1B7t t_a1B7u data SpanSym0 (l_a1B2W :: TyFun (TyFun a_a1AIx Bool -> *) (TyFun [a_a1AIx] ([a_a1AIx], [a_a1AIx]) -> *)) data SpanSym1 (l_a1B2Z :: TyFun a_a1AIx Bool -> *) (l_a1B2Y :: TyFun [a_a1AIx] ([a_a1AIx], [a_a1AIx])) type SpanSym2 (t_a1B2U :: TyFun a_a1AIx Bool -> *) (t_a1B2V :: [a_a1AIx]) = Span t_a1B2U t_a1B2V data BreakSym0 (l_a1B0z :: TyFun (TyFun a_a1AIF Bool -> *) (TyFun [a_a1AIF] ([a_a1AIF], [a_a1AIF]) -> *)) data BreakSym1 (l_a1B0C :: TyFun a_a1AIF Bool -> *) (l_a1B0B :: TyFun [a_a1AIF] ([a_a1AIF], [a_a1AIF])) type BreakSym2 (t_a1B0x :: TyFun a_a1AIF Bool -> *) (t_a1B0y :: [a_a1AIF]) = Break t_a1B0x t_a1B0y data LookupSym0 (l_a1AZd :: TyFun a_a1AJ9 (TyFun [(a_a1AJ9, b_a1AJa)] (Maybe b_a1AJa) -> *)) data LookupSym1 (l_a1AZg :: a_a1AJ9) (l_a1AZf :: TyFun [(a_a1AJ9, b_a1AJa)] (Maybe b_a1AJa)) type LookupSym2 (t_a1AZb :: a_a1AJ9) (t_a1AZc :: [(a_a1AJ9, b_a1AJa)]) = Lookup t_a1AZb t_a1AZc data FilterSym0 (l_a1AXC :: TyFun (TyFun a_a1AJi Bool -> *) (TyFun [a_a1AJi] [a_a1AJi] -> *)) data FilterSym1 (l_a1AXF :: TyFun a_a1AJi Bool -> *) (l_a1AXE :: TyFun [a_a1AJi] [a_a1AJi]) type FilterSym2 (t_a1AXA :: TyFun a_a1AJi Bool -> *) (t_a1AXB :: [a_a1AJi]) = Filter t_a1AXA t_a1AXB data (:!!$) (l_a1AWr :: TyFun [a_a1AJv] (TyFun Nat a_a1AJv -> *)) data (:!!$$) (l_a1AWu :: [a_a1AJv]) (l_a1AWt :: TyFun Nat a_a1AJv) type (:!!$$$) (t_a1AWp :: [a_a1AJv]) (t_a1AWq :: Nat) = (:!!) t_a1AWp t_a1AWq -- | 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_aDTa), kproxy_aDTF ~ KProxy) => POrd (kproxy_aDTF :: KProxy a_aDTa) where type family Compare (arg_aDTG :: a_aDTa) (arg_aDTH :: a_aDTa) :: Ordering type family (:<) (arg_aDTP :: a_aDTa) (arg_aDTQ :: a_aDTa) :: Bool type family (:>=) (arg_aDTY :: a_aDTa) (arg_aDTZ :: a_aDTa) :: Bool type family (:>) (arg_aDU7 :: a_aDTa) (arg_aDU8 :: a_aDTa) :: Bool type family (:<=) (arg_aDUg :: a_aDTa) (arg_aDUh :: a_aDTa) :: Bool type family Max (arg_aDUp :: a_aDTa) (arg_aDUq :: a_aDTa) :: a_aDTa type family Min (arg_aDUy :: a_aDTa) (arg_aDUz :: a_aDTa) :: a_aDTa type instance Compare (x_aDUQ :: a_aDTa) (y_aDUR :: a_aDTa) = (Case_1627543403 x_aDUQ y_aDUR (Let_1627543394Scrutinee_1627543303Sym2 x_aDUQ y_aDUR) :: Ordering) type instance (:<) (x_aDVr :: a_aDTa) (y_aDVs :: a_aDTa) = (Case_1627543440 x_aDVr y_aDVs (Let_1627543431Scrutinee_1627543307Sym2 x_aDVr y_aDVs) :: Bool) type instance (:>=) (x_aDVQ :: a_aDTa) (y_aDVR :: a_aDTa) = (Case_1627543465 x_aDVQ y_aDVR (Let_1627543456Scrutinee_1627543313Sym2 x_aDVQ y_aDVR) :: Bool) type instance (:>) (x_aDWf :: a_aDTa) (y_aDWg :: a_aDTa) = (Case_1627543490 x_aDWf y_aDWg (Let_1627543481Scrutinee_1627543311Sym2 x_aDWf y_aDWg) :: Bool) type instance (:<=) (x_aDWE :: a_aDTa) (y_aDWF :: a_aDTa) = (Case_1627543515 x_aDWE y_aDWF (Let_1627543506Scrutinee_1627543309Sym2 x_aDWE y_aDWF) :: Bool) type instance Max (x_aDX3 :: a_aDTa) (y_aDX4 :: a_aDTa) = (Case_1627543540 x_aDX3 y_aDX4 (Let_1627543531Scrutinee_1627543315Sym2 x_aDX3 y_aDX4) :: a_aDTa) type instance Min (x_aDXr :: a_aDTa) (y_aDXs :: a_aDTa) = (Case_1627543564 x_aDXr y_aDXs (Let_1627543555Scrutinee_1627543317Sym2 x_aDXr y_aDXs) :: a_aDTa) -- | 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_at9O :: TyFun a_12 (TyFun b_13 (a_12, b_13) -> *)) data Tuple2Sym1 (l_at9R :: a_12) (l_at9Q :: TyFun b_13 (a_12, b_13)) type Tuple2Sym2 (t_at9M :: a_12) (t_at9N :: b_13) = '(t_at9M, t_at9N) data Tuple3Sym0 (l_ata8 :: TyFun a_12 (TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *) -> *)) data Tuple3Sym1 (l_atab :: a_12) (l_ataa :: TyFun b_13 (TyFun c_14 (a_12, b_13, c_14) -> *)) data Tuple3Sym2 (l_atae :: a_12) (l_ataf :: b_13) (l_atad :: TyFun c_14 (a_12, b_13, c_14)) type Tuple3Sym3 (t_ata5 :: a_12) (t_ata6 :: b_13) (t_ata7 :: c_14) = '(t_ata5, t_ata6, t_ata7) data Tuple4Sym0 (l_ataC :: TyFun a_12 (TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *) -> *)) data Tuple4Sym1 (l_ataF :: a_12) (l_ataE :: TyFun b_13 (TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *) -> *)) data Tuple4Sym2 (l_ataI :: a_12) (l_ataJ :: b_13) (l_ataH :: TyFun c_14 (TyFun d_15 (a_12, b_13, c_14, d_15) -> *)) data Tuple4Sym3 (l_ataM :: a_12) (l_ataN :: b_13) (l_ataO :: c_14) (l_ataL :: TyFun d_15 (a_12, b_13, c_14, d_15)) type Tuple4Sym4 (t_atay :: a_12) (t_ataz :: b_13) (t_ataA :: c_14) (t_ataB :: d_15) = '(t_atay, t_ataz, t_ataA, t_ataB) data Tuple5Sym0 (l_atbh :: 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_atbk :: a_12) (l_atbj :: 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_atbn :: a_12) (l_atbo :: b_13) (l_atbm :: TyFun c_14 (TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *) -> *)) data Tuple5Sym3 (l_atbr :: a_12) (l_atbs :: b_13) (l_atbt :: c_14) (l_atbq :: TyFun d_15 (TyFun e_16 (a_12, b_13, c_14, d_15, e_16) -> *)) data Tuple5Sym4 (l_atbw :: a_12) (l_atbx :: b_13) (l_atby :: c_14) (l_atbz :: d_15) (l_atbv :: TyFun e_16 (a_12, b_13, c_14, d_15, e_16)) type Tuple5Sym5 (t_atbc :: a_12) (t_atbd :: b_13) (t_atbe :: c_14) (t_atbf :: d_15) (t_atbg :: e_16) = '(t_atbc, t_atbd, t_atbe, t_atbf, t_atbg) data Tuple6Sym0 (l_atc8 :: 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_atcb :: a_12) (l_atca :: 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_atce :: a_12) (l_atcf :: b_13) (l_atcd :: 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_atci :: a_12) (l_atcj :: b_13) (l_atck :: c_14) (l_atch :: TyFun d_15 (TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *) -> *)) data Tuple6Sym4 (l_atcn :: a_12) (l_atco :: b_13) (l_atcp :: c_14) (l_atcq :: d_15) (l_atcm :: TyFun e_16 (TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17) -> *)) data Tuple6Sym5 (l_atct :: a_12) (l_atcu :: b_13) (l_atcv :: c_14) (l_atcw :: d_15) (l_atcx :: e_16) (l_atcs :: TyFun f_17 (a_12, b_13, c_14, d_15, e_16, f_17)) type Tuple6Sym6 (t_atc2 :: a_12) (t_atc3 :: b_13) (t_atc4 :: c_14) (t_atc5 :: d_15) (t_atc6 :: e_16) (t_atc7 :: f_17) = '(t_atc2, t_atc3, t_atc4, t_atc5, t_atc6, t_atc7) data Tuple7Sym0 (l_atdc :: 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_atdf :: a_12) (l_atde :: 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_atdi :: a_12) (l_atdj :: b_13) (l_atdh :: 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_atdm :: a_12) (l_atdn :: b_13) (l_atdo :: c_14) (l_atdl :: 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_atdr :: a_12) (l_atds :: b_13) (l_atdt :: c_14) (l_atdu :: d_15) (l_atdq :: 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_atdx :: a_12) (l_atdy :: b_13) (l_atdz :: c_14) (l_atdA :: d_15) (l_atdB :: e_16) (l_atdw :: TyFun f_17 (TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18) -> *)) data Tuple7Sym6 (l_atdE :: a_12) (l_atdF :: b_13) (l_atdG :: c_14) (l_atdH :: d_15) (l_atdI :: e_16) (l_atdJ :: f_17) (l_atdD :: TyFun g_18 (a_12, b_13, c_14, d_15, e_16, f_17, g_18)) type Tuple7Sym7 (t_atd5 :: a_12) (t_atd6 :: b_13) (t_atd7 :: c_14) (t_atd8 :: d_15) (t_atd9 :: e_16) (t_atda :: f_17) (t_atdb :: g_18) = '(t_atd5, t_atd6, t_atd7, t_atd8, t_atd9, t_atda, t_atdb) -- | 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 -> ()