-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A framework for generating singleton types -- -- This library generates singleton types, promoted functions, and -- singleton functions using Template Haskell. It is useful for -- programmers who wish to use dependently typed programming techniques. -- The library was originally presented in Dependently Typed -- Programming with Singletons, published at the Haskell Symposium, -- 2012. -- (https://cs.brynmawr.edu/~rae/papers/2012/singletons/paper.pdf) -- Version 1.0 and onwards works a lot harder to promote functions. See -- the paper published at Haskell Symposium, 2014: -- https://cs.brynmawr.edu/~rae/papers/2014/promotion/promotion.pdf. @package singletons @version 2.4 -- | 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 SDecide k -- | Compute a proof or disproof of equality, given two singletons. (%~) :: forall (a :: k) (b :: k). SDecide k => 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. data (:~:) (a :: k) (b :: k) :: forall k. () => k -> k -> * [Refl] :: a :~: a -- | 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 Data.Singletons.Decide.SDecide k => Data.Type.Equality.TestEquality Data.Singletons.Internal.Sing instance Data.Singletons.Decide.SDecide k => Data.Type.Coercion.TestCoercion Data.Singletons.Internal.Sing -- | Defines Sigma, a dependent pair data type, and related -- functions. module Data.Singletons.Sigma -- | A dependent pair. data Sigma (s :: Type) :: (s ~> Type) -> Type [:&:] :: forall s t fst. Sing (fst :: s) -> t @@ fst -> Sigma s t -- | Unicode shorthand for Sigma. type Σ (s :: Type) (t :: s ~> Type) = Sigma s t -- | Project the first element out of a dependent pair. projSigma1 :: forall s t. SingKind s => Sigma s t -> Demote s -- | Project the second element out of a dependent pair. -- -- In an ideal setting, the type of projSigma2 would be closer to: -- --
-- projSigma2 :: Sing (sig :: Sigma s t) -> t @@ ProjSigma1 sig ---- -- But promoting projSigma1 to a type family is not a simple task. -- Instead, we do the next-best thing, which is to use Church-style -- elimination. projSigma2 :: forall s t r. (forall (fst :: s). t @@ fst -> r) -> Sigma s t -> r -- | Map across a Sigma value in a dependent fashion. mapSigma :: Sing (f :: a ~> b) -> (forall (x :: a). p @@ x -> q @@ (f @@ x)) -> Sigma a p -> Sigma b q -- | Zip two Sigma values together in a dependent fashion. zipSigma :: Sing (f :: a ~> b ~> c) -> (forall (x :: a) (y :: b). p @@ x -> q @@ y -> r @@ (f @@ x @@ y)) -> Sigma a p -> Sigma b q -> Sigma c r 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 => () -- | Defines functions and datatypes relating to the singleton for -- Void, including a singleton version of all the definitions in -- Data.Void. -- -- 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.Void. Also, please excuse -- the apparent repeated variable names. This is due to an interaction -- between Template Haskell and Haddock. module Data.Singletons.Prelude.Void -- | The singleton kind-indexed data family. type SVoid = (Sing :: Void -> Type) sAbsurd :: forall (t_a19EL :: Void). Sing t_a19EL -> Sing (Apply AbsurdSym0 t_a19EL :: a_a19EA) data AbsurdSym0 (l_a19EE :: TyFun Void a6989586621679285232) type AbsurdSym1 (t_a19ED :: Void) = Absurd t_a19ED instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Void.AbsurdSym0 -- | Defines promoted functions and datatypes relating to Void, -- including a promoted version of all the definitions in -- Data.Void. -- -- 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.Void. Also, please excuse -- the apparent repeated variable names. This is due to an interaction -- between Template Haskell and Haddock. module Data.Promotion.Prelude.Void data AbsurdSym0 (l_a19EE :: TyFun Void a6989586621679285232) type AbsurdSym1 (t_a19ED :: Void) = Absurd t_a19ED -- | 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 = (Sing :: () -> Type) type STuple2 = (Sing :: (a_11, b_12) -> Type) type STuple3 = (Sing :: (a_11, b_12, c_13) -> Type) type STuple4 = (Sing :: (a_11, b_12, c_13, d_14) -> Type) type STuple5 = (Sing :: (a_11, b_12, c_13, d_14, e_15) -> Type) type STuple6 = (Sing :: (a_11, b_12, c_13, d_14, e_15, f_16) -> Type) type STuple7 = (Sing :: (a_11, b_12, c_13, d_14, e_15, f_16, g_17) -> Type) sFst :: forall (t_a19RS :: (a_a19PM, b_a19PN)). Sing t_a19RS -> Sing (Apply FstSym0 t_a19RS :: a_a19PM) sSnd :: forall (t_a19RR :: (a_a19PK, b_a19PL)). Sing t_a19RR -> Sing (Apply SndSym0 t_a19RR :: b_a19PL) sCurry :: forall (t_a19RO :: TyFun (a_a19PH, b_a19PI) c_a19PJ -> Type) (t_a19RP :: a_a19PH) (t_a19RQ :: b_a19PI). Sing t_a19RO -> Sing t_a19RP -> Sing t_a19RQ -> Sing (Apply (Apply (Apply CurrySym0 t_a19RO) t_a19RP) t_a19RQ :: c_a19PJ) sUncurry :: forall (t_a19RT :: TyFun a_a19PE (TyFun b_a19PF c_a19PG -> Type) -> Type) (t_a19RU :: (a_a19PE, b_a19PF)). Sing t_a19RT -> Sing t_a19RU -> Sing (Apply (Apply UncurrySym0 t_a19RT) t_a19RU :: c_a19PG) sSwap :: forall (t_a19RN :: (a_a19PC, b_a19PD)). Sing t_a19RN -> Sing (Apply SwapSym0 t_a19RN :: (b_a19PD, a_a19PC)) type Tuple0Sym0 = '() data Tuple2Sym0 (l_aZWR :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type)) data Tuple2Sym1 (l_aZWP :: a3530822107858468865) (l_aZWO :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866)) type Tuple2Sym2 (t_aZWM :: a3530822107858468865) (t_aZWN :: b3530822107858468866) = '(t_aZWM, t_aZWN) data Tuple3Sym0 (l_aZXh :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type)) data Tuple3Sym1 (l_aZXf :: a3530822107858468865) (l_aZXe :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type)) data Tuple3Sym2 (l_aZXb :: a3530822107858468865) (l_aZXc :: b3530822107858468866) (l_aZXa :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867)) type Tuple3Sym3 (t_aZX7 :: a3530822107858468865) (t_aZX8 :: b3530822107858468866) (t_aZX9 :: c3530822107858468867) = '(t_aZX7, t_aZX8, t_aZX9) data Tuple4Sym0 (l_aZXS :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type)) data Tuple4Sym1 (l_aZXQ :: a3530822107858468865) (l_aZXP :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type)) data Tuple4Sym2 (l_aZXM :: a3530822107858468865) (l_aZXN :: b3530822107858468866) (l_aZXL :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type)) data Tuple4Sym3 (l_aZXH :: a3530822107858468865) (l_aZXI :: b3530822107858468866) (l_aZXJ :: c3530822107858468867) (l_aZXG :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868)) type Tuple4Sym4 (t_aZXC :: a3530822107858468865) (t_aZXD :: b3530822107858468866) (t_aZXE :: c3530822107858468867) (t_aZXF :: d3530822107858468868) = '(t_aZXC, t_aZXD, t_aZXE, t_aZXF) data Tuple5Sym0 (l_aZYF :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type)) data Tuple5Sym1 (l_aZYD :: a3530822107858468865) (l_aZYC :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type)) data Tuple5Sym2 (l_aZYz :: a3530822107858468865) (l_aZYA :: b3530822107858468866) (l_aZYy :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type)) data Tuple5Sym3 (l_aZYu :: a3530822107858468865) (l_aZYv :: b3530822107858468866) (l_aZYw :: c3530822107858468867) (l_aZYt :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type)) data Tuple5Sym4 (l_aZYo :: a3530822107858468865) (l_aZYp :: b3530822107858468866) (l_aZYq :: c3530822107858468867) (l_aZYr :: d3530822107858468868) (l_aZYn :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869)) type Tuple5Sym5 (t_aZYi :: a3530822107858468865) (t_aZYj :: b3530822107858468866) (t_aZYk :: c3530822107858468867) (t_aZYl :: d3530822107858468868) (t_aZYm :: e3530822107858468869) = '(t_aZYi, t_aZYj, t_aZYk, t_aZYl, t_aZYm) data Tuple6Sym0 (l_aZZF :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type) -> Type)) data Tuple6Sym1 (l_aZZD :: a3530822107858468865) (l_aZZC :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type)) data Tuple6Sym2 (l_aZZz :: a3530822107858468865) (l_aZZA :: b3530822107858468866) (l_aZZy :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type)) data Tuple6Sym3 (l_aZZu :: a3530822107858468865) (l_aZZv :: b3530822107858468866) (l_aZZw :: c3530822107858468867) (l_aZZt :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type)) data Tuple6Sym4 (l_aZZo :: a3530822107858468865) (l_aZZp :: b3530822107858468866) (l_aZZq :: c3530822107858468867) (l_aZZr :: d3530822107858468868) (l_aZZn :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type)) data Tuple6Sym5 (l_aZZh :: a3530822107858468865) (l_aZZi :: b3530822107858468866) (l_aZZj :: c3530822107858468867) (l_aZZk :: d3530822107858468868) (l_aZZl :: e3530822107858468869) (l_aZZg :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870)) type Tuple6Sym6 (t_aZZa :: a3530822107858468865) (t_aZZb :: b3530822107858468866) (t_aZZc :: c3530822107858468867) (t_aZZd :: d3530822107858468868) (t_aZZe :: e3530822107858468869) (t_aZZf :: f3530822107858468870) = '(t_aZZa, t_aZZb, t_aZZc, t_aZZd, t_aZZe, t_aZZf) data Tuple7Sym0 (l_a100T :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type)) data Tuple7Sym1 (l_a100R :: a3530822107858468865) (l_a100Q :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type) -> Type)) data Tuple7Sym2 (l_a100N :: a3530822107858468865) (l_a100O :: b3530822107858468866) (l_a100M :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type)) data Tuple7Sym3 (l_a100I :: a3530822107858468865) (l_a100J :: b3530822107858468866) (l_a100K :: c3530822107858468867) (l_a100H :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type)) data Tuple7Sym4 (l_a100C :: a3530822107858468865) (l_a100D :: b3530822107858468866) (l_a100E :: c3530822107858468867) (l_a100F :: d3530822107858468868) (l_a100B :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type)) data Tuple7Sym5 (l_a100v :: a3530822107858468865) (l_a100w :: b3530822107858468866) (l_a100x :: c3530822107858468867) (l_a100y :: d3530822107858468868) (l_a100z :: e3530822107858468869) (l_a100u :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type)) data Tuple7Sym6 (l_a100n :: a3530822107858468865) (l_a100o :: b3530822107858468866) (l_a100p :: c3530822107858468867) (l_a100q :: d3530822107858468868) (l_a100r :: e3530822107858468869) (l_a100s :: f3530822107858468870) (l_a100m :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871)) type Tuple7Sym7 (t_a100f :: a3530822107858468865) (t_a100g :: b3530822107858468866) (t_a100h :: c3530822107858468867) (t_a100i :: d3530822107858468868) (t_a100j :: e3530822107858468869) (t_a100k :: f3530822107858468870) (t_a100l :: g3530822107858468871) = '(t_a100f, t_a100g, t_a100h, t_a100i, t_a100j, t_a100k, t_a100l) data FstSym0 (l_a19Ry :: TyFun (a6989586621679285926, b6989586621679285927) a6989586621679285926) type FstSym1 (t_a19Rx :: (a6989586621679285926, b6989586621679285927)) = Fst t_a19Rx data SndSym0 (l_a19Rt :: TyFun (a6989586621679285924, b6989586621679285925) b6989586621679285925) type SndSym1 (t_a19Rs :: (a6989586621679285924, b6989586621679285925)) = Snd t_a19Rs data CurrySym0 (l_a19Rk :: TyFun (TyFun (a6989586621679285921, b6989586621679285922) c6989586621679285923 -> Type) (TyFun a6989586621679285921 (TyFun b6989586621679285922 c6989586621679285923 -> Type) -> Type)) data CurrySym1 (l_a19Ri :: TyFun (a6989586621679285921, b6989586621679285922) c6989586621679285923 -> Type) (l_a19Rh :: TyFun a6989586621679285921 (TyFun b6989586621679285922 c6989586621679285923 -> Type)) data CurrySym2 (l_a19Re :: TyFun (a6989586621679285921, b6989586621679285922) c6989586621679285923 -> Type) (l_a19Rf :: a6989586621679285921) (l_a19Rd :: TyFun b6989586621679285922 c6989586621679285923) type CurrySym3 (t_a19Ra :: TyFun (a6989586621679285921, b6989586621679285922) c6989586621679285923 -> Type) (t_a19Rb :: a6989586621679285921) (t_a19Rc :: b6989586621679285922) = Curry t_a19Ra t_a19Rb t_a19Rc data UncurrySym0 (l_a19RH :: TyFun (TyFun a6989586621679285918 (TyFun b6989586621679285919 c6989586621679285920 -> Type) -> Type) (TyFun (a6989586621679285918, b6989586621679285919) c6989586621679285920 -> Type)) data UncurrySym1 (l_a19RF :: TyFun a6989586621679285918 (TyFun b6989586621679285919 c6989586621679285920 -> Type) -> Type) (l_a19RE :: TyFun (a6989586621679285918, b6989586621679285919) c6989586621679285920) type UncurrySym2 (t_a19RC :: TyFun a6989586621679285918 (TyFun b6989586621679285919 c6989586621679285920 -> Type) -> Type) (t_a19RD :: (a6989586621679285918, b6989586621679285919)) = Uncurry t_a19RC t_a19RD data SwapSym0 (l_a19R5 :: TyFun (a6989586621679285916, b6989586621679285917) (b6989586621679285917, a6989586621679285916)) type SwapSym1 (t_a19R4 :: (a6989586621679285916, b6989586621679285917)) = Swap t_a19R4 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Tuple.UncurrySym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Tuple.UncurrySym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Tuple.FstSym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Tuple.SndSym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Tuple.CurrySym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Tuple.CurrySym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Tuple.CurrySym2 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Tuple.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_aZWR :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type)) data Tuple2Sym1 (l_aZWP :: a3530822107858468865) (l_aZWO :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866)) type Tuple2Sym2 (t_aZWM :: a3530822107858468865) (t_aZWN :: b3530822107858468866) = '(t_aZWM, t_aZWN) data Tuple3Sym0 (l_aZXh :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type)) data Tuple3Sym1 (l_aZXf :: a3530822107858468865) (l_aZXe :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type)) data Tuple3Sym2 (l_aZXb :: a3530822107858468865) (l_aZXc :: b3530822107858468866) (l_aZXa :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867)) type Tuple3Sym3 (t_aZX7 :: a3530822107858468865) (t_aZX8 :: b3530822107858468866) (t_aZX9 :: c3530822107858468867) = '(t_aZX7, t_aZX8, t_aZX9) data Tuple4Sym0 (l_aZXS :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type)) data Tuple4Sym1 (l_aZXQ :: a3530822107858468865) (l_aZXP :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type)) data Tuple4Sym2 (l_aZXM :: a3530822107858468865) (l_aZXN :: b3530822107858468866) (l_aZXL :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type)) data Tuple4Sym3 (l_aZXH :: a3530822107858468865) (l_aZXI :: b3530822107858468866) (l_aZXJ :: c3530822107858468867) (l_aZXG :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868)) type Tuple4Sym4 (t_aZXC :: a3530822107858468865) (t_aZXD :: b3530822107858468866) (t_aZXE :: c3530822107858468867) (t_aZXF :: d3530822107858468868) = '(t_aZXC, t_aZXD, t_aZXE, t_aZXF) data Tuple5Sym0 (l_aZYF :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type)) data Tuple5Sym1 (l_aZYD :: a3530822107858468865) (l_aZYC :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type)) data Tuple5Sym2 (l_aZYz :: a3530822107858468865) (l_aZYA :: b3530822107858468866) (l_aZYy :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type)) data Tuple5Sym3 (l_aZYu :: a3530822107858468865) (l_aZYv :: b3530822107858468866) (l_aZYw :: c3530822107858468867) (l_aZYt :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type)) data Tuple5Sym4 (l_aZYo :: a3530822107858468865) (l_aZYp :: b3530822107858468866) (l_aZYq :: c3530822107858468867) (l_aZYr :: d3530822107858468868) (l_aZYn :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869)) type Tuple5Sym5 (t_aZYi :: a3530822107858468865) (t_aZYj :: b3530822107858468866) (t_aZYk :: c3530822107858468867) (t_aZYl :: d3530822107858468868) (t_aZYm :: e3530822107858468869) = '(t_aZYi, t_aZYj, t_aZYk, t_aZYl, t_aZYm) data Tuple6Sym0 (l_aZZF :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type) -> Type)) data Tuple6Sym1 (l_aZZD :: a3530822107858468865) (l_aZZC :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type)) data Tuple6Sym2 (l_aZZz :: a3530822107858468865) (l_aZZA :: b3530822107858468866) (l_aZZy :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type)) data Tuple6Sym3 (l_aZZu :: a3530822107858468865) (l_aZZv :: b3530822107858468866) (l_aZZw :: c3530822107858468867) (l_aZZt :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type)) data Tuple6Sym4 (l_aZZo :: a3530822107858468865) (l_aZZp :: b3530822107858468866) (l_aZZq :: c3530822107858468867) (l_aZZr :: d3530822107858468868) (l_aZZn :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type)) data Tuple6Sym5 (l_aZZh :: a3530822107858468865) (l_aZZi :: b3530822107858468866) (l_aZZj :: c3530822107858468867) (l_aZZk :: d3530822107858468868) (l_aZZl :: e3530822107858468869) (l_aZZg :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870)) type Tuple6Sym6 (t_aZZa :: a3530822107858468865) (t_aZZb :: b3530822107858468866) (t_aZZc :: c3530822107858468867) (t_aZZd :: d3530822107858468868) (t_aZZe :: e3530822107858468869) (t_aZZf :: f3530822107858468870) = '(t_aZZa, t_aZZb, t_aZZc, t_aZZd, t_aZZe, t_aZZf) data Tuple7Sym0 (l_a100T :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type)) data Tuple7Sym1 (l_a100R :: a3530822107858468865) (l_a100Q :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type) -> Type)) data Tuple7Sym2 (l_a100N :: a3530822107858468865) (l_a100O :: b3530822107858468866) (l_a100M :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type)) data Tuple7Sym3 (l_a100I :: a3530822107858468865) (l_a100J :: b3530822107858468866) (l_a100K :: c3530822107858468867) (l_a100H :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type)) data Tuple7Sym4 (l_a100C :: a3530822107858468865) (l_a100D :: b3530822107858468866) (l_a100E :: c3530822107858468867) (l_a100F :: d3530822107858468868) (l_a100B :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type)) data Tuple7Sym5 (l_a100v :: a3530822107858468865) (l_a100w :: b3530822107858468866) (l_a100x :: c3530822107858468867) (l_a100y :: d3530822107858468868) (l_a100z :: e3530822107858468869) (l_a100u :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type)) data Tuple7Sym6 (l_a100n :: a3530822107858468865) (l_a100o :: b3530822107858468866) (l_a100p :: c3530822107858468867) (l_a100q :: d3530822107858468868) (l_a100r :: e3530822107858468869) (l_a100s :: f3530822107858468870) (l_a100m :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871)) type Tuple7Sym7 (t_a100f :: a3530822107858468865) (t_a100g :: b3530822107858468866) (t_a100h :: c3530822107858468867) (t_a100i :: d3530822107858468868) (t_a100j :: e3530822107858468869) (t_a100k :: f3530822107858468870) (t_a100l :: g3530822107858468871) = '(t_a100f, t_a100g, t_a100h, t_a100i, t_a100j, t_a100k, t_a100l) data FstSym0 (l_a19Ry :: TyFun (a6989586621679285926, b6989586621679285927) a6989586621679285926) type FstSym1 (t_a19Rx :: (a6989586621679285926, b6989586621679285927)) = Fst t_a19Rx data SndSym0 (l_a19Rt :: TyFun (a6989586621679285924, b6989586621679285925) b6989586621679285925) type SndSym1 (t_a19Rs :: (a6989586621679285924, b6989586621679285925)) = Snd t_a19Rs data CurrySym0 (l_a19Rk :: TyFun (TyFun (a6989586621679285921, b6989586621679285922) c6989586621679285923 -> Type) (TyFun a6989586621679285921 (TyFun b6989586621679285922 c6989586621679285923 -> Type) -> Type)) data CurrySym1 (l_a19Ri :: TyFun (a6989586621679285921, b6989586621679285922) c6989586621679285923 -> Type) (l_a19Rh :: TyFun a6989586621679285921 (TyFun b6989586621679285922 c6989586621679285923 -> Type)) data CurrySym2 (l_a19Re :: TyFun (a6989586621679285921, b6989586621679285922) c6989586621679285923 -> Type) (l_a19Rf :: a6989586621679285921) (l_a19Rd :: TyFun b6989586621679285922 c6989586621679285923) type CurrySym3 (t_a19Ra :: TyFun (a6989586621679285921, b6989586621679285922) c6989586621679285923 -> Type) (t_a19Rb :: a6989586621679285921) (t_a19Rc :: b6989586621679285922) = Curry t_a19Ra t_a19Rb t_a19Rc data UncurrySym0 (l_a19RH :: TyFun (TyFun a6989586621679285918 (TyFun b6989586621679285919 c6989586621679285920 -> Type) -> Type) (TyFun (a6989586621679285918, b6989586621679285919) c6989586621679285920 -> Type)) data UncurrySym1 (l_a19RF :: TyFun a6989586621679285918 (TyFun b6989586621679285919 c6989586621679285920 -> Type) -> Type) (l_a19RE :: TyFun (a6989586621679285918, b6989586621679285919) c6989586621679285920) type UncurrySym2 (t_a19RC :: TyFun a6989586621679285918 (TyFun b6989586621679285919 c6989586621679285920 -> Type) -> Type) (t_a19RD :: (a6989586621679285918, b6989586621679285919)) = Uncurry t_a19RC t_a19RD data SwapSym0 (l_a19R5 :: TyFun (a6989586621679285916, b6989586621679285917) (b6989586621679285917, a6989586621679285916)) type SwapSym1 (t_a19R4 :: (a6989586621679285916, b6989586621679285917)) = Swap t_a19R4 -- | 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 = (Sing :: Bool -> Type) -- | 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) -- | Type-level "not". An injective type family since 4.10.0.0. -- | Negation of a singleton sNot :: Sing a -> Sing (Not a) -- | Type-level "and" -- | Type-level "or" -- | Conjunction of singletons (%&&) :: Sing a -> Sing b -> Sing (a && b) infixr 3 %&& -- | Disjunction of singletons (%||) :: Sing a -> Sing b -> Sing (a || b) infixr 2 %|| bool_ :: a_a1aOm -> a_a1aOm -> Bool -> a_a1aOm sBool_ :: forall (t_a1aOL :: a_a1aOm) (t_a1aOM :: a_a1aOm) (t_a1aON :: Bool). Sing t_a1aOL -> Sing t_a1aOM -> Sing t_a1aON -> Sing (Apply (Apply (Apply Bool_Sym0 t_a1aOL) t_a1aOM) t_a1aON :: a_a1aOm) sOtherwise :: Sing (OtherwiseSym0 :: Bool) type TrueSym0 = True type FalseSym0 = False data NotSym0 (l_a1b2X :: TyFun Bool Bool) type NotSym1 (t_a1b2W :: Bool) = Not t_a1b2W data (&&@#@$) (l_a1aWR :: TyFun Bool (TyFun Bool Bool -> Type)) data (&&@#@$$) (l_a1aWP :: Bool) (l_a1aWO :: TyFun Bool Bool) type (&&@#@$$$) (t_a1aWM :: Bool) (t_a1aWN :: Bool) = (&&) t_a1aWM t_a1aWN data (||@#@$) (l_a1b03 :: TyFun Bool (TyFun Bool Bool -> Type)) data (||@#@$$) (l_a1b01 :: Bool) (l_a1b00 :: TyFun Bool Bool) type (||@#@$$$) (t_a1aZY :: Bool) (t_a1aZZ :: Bool) = (||) t_a1aZY t_a1aZZ data Bool_Sym0 (l_a1aOC :: TyFun a6989586621679289682 (TyFun a6989586621679289682 (TyFun Bool a6989586621679289682 -> Type) -> Type)) data Bool_Sym1 (l_a1aOA :: a6989586621679289682) (l_a1aOz :: TyFun a6989586621679289682 (TyFun Bool a6989586621679289682 -> Type)) data Bool_Sym2 (l_a1aOw :: a6989586621679289682) (l_a1aOx :: a6989586621679289682) (l_a1aOv :: TyFun Bool a6989586621679289682) type Bool_Sym3 (t_a1aOs :: a6989586621679289682) (t_a1aOt :: a6989586621679289682) (t_a1aOu :: Bool) = Bool_ t_a1aOs t_a1aOt t_a1aOu type OtherwiseSym0 = Otherwise instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Bool.NotSym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Bool.||@#@$) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Bool.||@#@$$) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Bool.&&@#@$) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Bool.&&@#@$$) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Bool.Bool_Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Bool.Bool_Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Bool.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 -- '(==)', then it defaults to a use of '(DTE.==)', from -- Data.Type.Equality. class PEq a where { type family (==) (x :: a) (y :: a) :: Bool; type family (/=) (x :: a) (y :: a) :: Bool; type (x :: a) == (y :: a) = x == y; type (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 SEq k -- | Boolean equality on singletons (%==) :: forall (a :: k) (b :: k). SEq k => Sing a -> Sing b -> Sing (a == b) -- | Boolean disequality on singletons (%/=) :: forall (a :: k) (b :: k). SEq k => Sing a -> Sing b -> Sing (a /= b) -- | Boolean disequality on singletons (%/=) :: forall (a :: k) (b :: k). (SEq k, ((a /= b) ~ Not (a == b))) => Sing a -> Sing b -> Sing (a /= b) data (==@#@$) (l_a1buh :: TyFun a6989586621679292214 (TyFun a6989586621679292214 Bool -> Type)) data (==@#@$$) (l_a1buf :: a6989586621679292214) (l_a1bue :: TyFun a6989586621679292214 Bool) type (==@#@$$$) (t_a1buc :: a6989586621679292214) (t_a1bud :: a6989586621679292214) = (==) t_a1buc t_a1bud data (/=@#@$) (l_a1buo :: TyFun a6989586621679292214 (TyFun a6989586621679292214 Bool -> Type)) data (/=@#@$$) (l_a1bum :: a6989586621679292214) (l_a1bul :: TyFun a6989586621679292214 Bool) type (/=@#@$$$) (t_a1buj :: a6989586621679292214) (t_a1buk :: a6989586621679292214) = (/=) t_a1buj t_a1buk instance Data.Singletons.Prelude.Eq.PEq () instance Data.Singletons.Prelude.Eq.PEq GHC.Types.Ordering instance Data.Singletons.Prelude.Eq.PEq GHC.Types.Bool instance Data.Singletons.Prelude.Eq.PEq (a, b, c, d, e, f, g) instance Data.Singletons.Prelude.Eq.PEq (a, b, c, d, e, f) instance Data.Singletons.Prelude.Eq.PEq (a, b, c, d, e) instance Data.Singletons.Prelude.Eq.PEq (a, b, c, d) instance Data.Singletons.Prelude.Eq.PEq (a, b, c) instance Data.Singletons.Prelude.Eq.PEq (a, b) instance Data.Singletons.Prelude.Eq.PEq Data.Void.Void instance Data.Singletons.Prelude.Eq.PEq (GHC.Base.NonEmpty a) instance Data.Singletons.Prelude.Eq.PEq (Data.Either.Either a b) instance Data.Singletons.Prelude.Eq.PEq [a] instance Data.Singletons.Prelude.Eq.PEq (GHC.Base.Maybe a) instance Data.Singletons.Prelude.Eq.SEq a => Data.Singletons.Prelude.Eq.SEq (GHC.Base.Maybe a) instance (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Prelude.Eq.SEq [a]) => Data.Singletons.Prelude.Eq.SEq [a] instance (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Prelude.Eq.SEq b) => Data.Singletons.Prelude.Eq.SEq (Data.Either.Either a b) instance (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Prelude.Eq.SEq [a]) => Data.Singletons.Prelude.Eq.SEq (GHC.Base.NonEmpty a) instance Data.Singletons.Prelude.Eq.SEq Data.Void.Void instance (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Prelude.Eq.SEq b) => Data.Singletons.Prelude.Eq.SEq (a, b) instance (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Prelude.Eq.SEq b, Data.Singletons.Prelude.Eq.SEq c) => Data.Singletons.Prelude.Eq.SEq (a, b, c) instance (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Prelude.Eq.SEq b, Data.Singletons.Prelude.Eq.SEq c, Data.Singletons.Prelude.Eq.SEq d) => Data.Singletons.Prelude.Eq.SEq (a, b, c, d) instance (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Prelude.Eq.SEq b, Data.Singletons.Prelude.Eq.SEq c, Data.Singletons.Prelude.Eq.SEq d, Data.Singletons.Prelude.Eq.SEq e) => Data.Singletons.Prelude.Eq.SEq (a, b, c, d, e) instance (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Prelude.Eq.SEq b, Data.Singletons.Prelude.Eq.SEq c, Data.Singletons.Prelude.Eq.SEq d, Data.Singletons.Prelude.Eq.SEq e, Data.Singletons.Prelude.Eq.SEq f) => Data.Singletons.Prelude.Eq.SEq (a, b, c, d, e, f) instance (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Prelude.Eq.SEq b, Data.Singletons.Prelude.Eq.SEq c, Data.Singletons.Prelude.Eq.SEq d, Data.Singletons.Prelude.Eq.SEq e, Data.Singletons.Prelude.Eq.SEq f, Data.Singletons.Prelude.Eq.SEq g) => Data.Singletons.Prelude.Eq.SEq (a, b, c, d, e, f, g) instance Data.Singletons.Prelude.Eq.SEq GHC.Types.Bool instance Data.Singletons.Prelude.Eq.SEq GHC.Types.Ordering instance Data.Singletons.Prelude.Eq.SEq () instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Eq./=@#@$) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Eq./=@#@$$) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Eq.==@#@$) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Eq.==@#@$$) -- | Defines the promoted version of Ord, POrd, and the singleton -- version, SOrd. module Data.Singletons.Prelude.Ord class PEq a_a1elk => POrd (a_a1elk :: Type) where { type family Compare (arg_a1eGz :: a_a1elk) (arg_a1eGA :: a_a1elk) :: Ordering; type family (<) (arg_a1eGI :: a_a1elk) (arg_a1eGJ :: a_a1elk) :: Bool; type family (<=) (arg_a1eGR :: a_a1elk) (arg_a1eGS :: a_a1elk) :: Bool; type family (>) (arg_a1eH0 :: a_a1elk) (arg_a1eH1 :: a_a1elk) :: Bool; type family (>=) (arg_a1eH9 :: a_a1elk) (arg_a1eHa :: a_a1elk) :: Bool; type family Max (arg_a1eHi :: a_a1elk) (arg_a1eHj :: a_a1elk) :: a_a1elk; type family Min (arg_a1eHr :: a_a1elk) (arg_a1eHs :: a_a1elk) :: a_a1elk; type Compare a_a1eI7 a_a1eI8 = Apply (Apply Compare_6989586621679304673Sym0 a_a1eI7) a_a1eI8; type (<) a_a1eIE a_a1eIF = Apply (Apply TFHelper_6989586621679304706Sym0 a_a1eIE) a_a1eIF; type (<=) a_a1eJb a_a1eJc = Apply (Apply TFHelper_6989586621679304739Sym0 a_a1eJb) a_a1eJc; type (>) a_a1eJI a_a1eJJ = Apply (Apply TFHelper_6989586621679304772Sym0 a_a1eJI) a_a1eJJ; type (>=) a_a1eKf a_a1eKg = Apply (Apply TFHelper_6989586621679304805Sym0 a_a1eKf) a_a1eKg; type Max a_a1eKM a_a1eKN = Apply (Apply Max_6989586621679304838Sym0 a_a1eKM) a_a1eKN; type Min a_a1eLj a_a1eLk = Apply (Apply Min_6989586621679304871Sym0 a_a1eLj) a_a1eLk; } class SEq a_a1elk => SOrd a_a1elk sCompare :: forall (t_a1eLA :: a_a1elk) (t_a1eLB :: a_a1elk). SOrd a_a1elk => Sing t_a1eLA -> Sing t_a1eLB -> Sing (Apply (Apply CompareSym0 t_a1eLA) t_a1eLB :: Ordering) (%<) :: forall (t_a1eLC :: a_a1elk) (t_a1eLD :: a_a1elk). SOrd a_a1elk => Sing t_a1eLC -> Sing t_a1eLD -> Sing (Apply (Apply (<@#@$) t_a1eLC) t_a1eLD :: Bool) (%<=) :: forall (t_a1eLE :: a_a1elk) (t_a1eLF :: a_a1elk). SOrd a_a1elk => Sing t_a1eLE -> Sing t_a1eLF -> Sing (Apply (Apply (<=@#@$) t_a1eLE) t_a1eLF :: Bool) (%>) :: forall (t_a1eLG :: a_a1elk) (t_a1eLH :: a_a1elk). SOrd a_a1elk => Sing t_a1eLG -> Sing t_a1eLH -> Sing (Apply (Apply (>@#@$) t_a1eLG) t_a1eLH :: Bool) (%>=) :: forall (t_a1eLI :: a_a1elk) (t_a1eLJ :: a_a1elk). SOrd a_a1elk => Sing t_a1eLI -> Sing t_a1eLJ -> Sing (Apply (Apply (>=@#@$) t_a1eLI) t_a1eLJ :: Bool) sMax :: forall (t_a1eLK :: a_a1elk) (t_a1eLL :: a_a1elk). SOrd a_a1elk => Sing t_a1eLK -> Sing t_a1eLL -> Sing (Apply (Apply MaxSym0 t_a1eLK) t_a1eLL :: a_a1elk) sMin :: forall (t_a1eLM :: a_a1elk) (t_a1eLN :: a_a1elk). SOrd a_a1elk => Sing t_a1eLM -> Sing t_a1eLN -> Sing (Apply (Apply MinSym0 t_a1eLM) t_a1eLN :: a_a1elk) sCompare :: forall (t_a1eLA :: a_a1elk) (t_a1eLB :: a_a1elk). (SOrd a_a1elk, (Apply (Apply CompareSym0 t_a1eLA) t_a1eLB :: Ordering) ~ Apply (Apply Compare_6989586621679304673Sym0 t_a1eLA) t_a1eLB) => Sing t_a1eLA -> Sing t_a1eLB -> Sing (Apply (Apply CompareSym0 t_a1eLA) t_a1eLB :: Ordering) (%<) :: forall (t_a1eLC :: a_a1elk) (t_a1eLD :: a_a1elk). (SOrd a_a1elk, (Apply (Apply (<@#@$) t_a1eLC) t_a1eLD :: Bool) ~ Apply (Apply TFHelper_6989586621679304706Sym0 t_a1eLC) t_a1eLD) => Sing t_a1eLC -> Sing t_a1eLD -> Sing (Apply (Apply (<@#@$) t_a1eLC) t_a1eLD :: Bool) (%<=) :: forall (t_a1eLE :: a_a1elk) (t_a1eLF :: a_a1elk). (SOrd a_a1elk, (Apply (Apply (<=@#@$) t_a1eLE) t_a1eLF :: Bool) ~ Apply (Apply TFHelper_6989586621679304739Sym0 t_a1eLE) t_a1eLF) => Sing t_a1eLE -> Sing t_a1eLF -> Sing (Apply (Apply (<=@#@$) t_a1eLE) t_a1eLF :: Bool) (%>) :: forall (t_a1eLG :: a_a1elk) (t_a1eLH :: a_a1elk). (SOrd a_a1elk, (Apply (Apply (>@#@$) t_a1eLG) t_a1eLH :: Bool) ~ Apply (Apply TFHelper_6989586621679304772Sym0 t_a1eLG) t_a1eLH) => Sing t_a1eLG -> Sing t_a1eLH -> Sing (Apply (Apply (>@#@$) t_a1eLG) t_a1eLH :: Bool) (%>=) :: forall (t_a1eLI :: a_a1elk) (t_a1eLJ :: a_a1elk). (SOrd a_a1elk, (Apply (Apply (>=@#@$) t_a1eLI) t_a1eLJ :: Bool) ~ Apply (Apply TFHelper_6989586621679304805Sym0 t_a1eLI) t_a1eLJ) => Sing t_a1eLI -> Sing t_a1eLJ -> Sing (Apply (Apply (>=@#@$) t_a1eLI) t_a1eLJ :: Bool) sMax :: forall (t_a1eLK :: a_a1elk) (t_a1eLL :: a_a1elk). (SOrd a_a1elk, (Apply (Apply MaxSym0 t_a1eLK) t_a1eLL :: a_a1elk) ~ Apply (Apply Max_6989586621679304838Sym0 t_a1eLK) t_a1eLL) => Sing t_a1eLK -> Sing t_a1eLL -> Sing (Apply (Apply MaxSym0 t_a1eLK) t_a1eLL :: a_a1elk) sMin :: forall (t_a1eLM :: a_a1elk) (t_a1eLN :: a_a1elk). (SOrd a_a1elk, (Apply (Apply MinSym0 t_a1eLM) t_a1eLN :: a_a1elk) ~ Apply (Apply Min_6989586621679304871Sym0 t_a1eLM) t_a1eLN) => Sing t_a1eLM -> Sing t_a1eLN -> Sing (Apply (Apply MinSym0 t_a1eLM) t_a1eLN :: a_a1elk) sComparing :: forall (t_a1eLu :: TyFun b_a1ela a_a1el9 -> Type) (t_a1eLv :: b_a1ela) (t_a1eLw :: b_a1ela). SOrd a_a1el9 => Sing t_a1eLu -> Sing t_a1eLv -> Sing t_a1eLw -> Sing (Apply (Apply (Apply ComparingSym0 t_a1eLu) t_a1eLv) t_a1eLw :: Ordering) thenCmp :: Ordering -> Ordering -> Ordering sThenCmp :: forall (t_a1gum :: Ordering) (t_a1gun :: Ordering). Sing t_a1gum -> Sing t_a1gun -> Sing (Apply (Apply ThenCmpSym0 t_a1gum) t_a1gun :: Ordering) -- | The singleton kind-indexed data family. data ThenCmpSym0 (l_a1guh :: TyFun Ordering (TyFun Ordering Ordering -> Type)) data ThenCmpSym1 (l_a1guf :: Ordering) (l_a1gue :: TyFun Ordering Ordering) type ThenCmpSym2 (t_a1guc :: Ordering) (t_a1gud :: Ordering) = ThenCmp t_a1guc t_a1gud type LTSym0 = LT type EQSym0 = EQ type GTSym0 = GT data CompareSym0 (l_a1eGG :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Ordering -> Type)) data CompareSym1 (l_a1eGE :: a6989586621679303258) (l_a1eGD :: TyFun a6989586621679303258 Ordering) type CompareSym2 (t_a1eGB :: a6989586621679303258) (t_a1eGC :: a6989586621679303258) = Compare t_a1eGB t_a1eGC data (<@#@$) (l_a1eGP :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type)) data (<@#@$$) (l_a1eGN :: a6989586621679303258) (l_a1eGM :: TyFun a6989586621679303258 Bool) type (<@#@$$$) (t_a1eGK :: a6989586621679303258) (t_a1eGL :: a6989586621679303258) = (<) t_a1eGK t_a1eGL data (<=@#@$) (l_a1eGY :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type)) data (<=@#@$$) (l_a1eGW :: a6989586621679303258) (l_a1eGV :: TyFun a6989586621679303258 Bool) type (<=@#@$$$) (t_a1eGT :: a6989586621679303258) (t_a1eGU :: a6989586621679303258) = (<=) t_a1eGT t_a1eGU data (>@#@$) (l_a1eH7 :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type)) data (>@#@$$) (l_a1eH5 :: a6989586621679303258) (l_a1eH4 :: TyFun a6989586621679303258 Bool) type (>@#@$$$) (t_a1eH2 :: a6989586621679303258) (t_a1eH3 :: a6989586621679303258) = (>) t_a1eH2 t_a1eH3 data (>=@#@$) (l_a1eHg :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type)) data (>=@#@$$) (l_a1eHe :: a6989586621679303258) (l_a1eHd :: TyFun a6989586621679303258 Bool) type (>=@#@$$$) (t_a1eHb :: a6989586621679303258) (t_a1eHc :: a6989586621679303258) = (>=) t_a1eHb t_a1eHc data MaxSym0 (l_a1eHp :: TyFun a6989586621679303258 (TyFun a6989586621679303258 a6989586621679303258 -> Type)) data MaxSym1 (l_a1eHn :: a6989586621679303258) (l_a1eHm :: TyFun a6989586621679303258 a6989586621679303258) type MaxSym2 (t_a1eHk :: a6989586621679303258) (t_a1eHl :: a6989586621679303258) = Max t_a1eHk t_a1eHl data MinSym0 (l_a1eHy :: TyFun a6989586621679303258 (TyFun a6989586621679303258 a6989586621679303258 -> Type)) data MinSym1 (l_a1eHw :: a6989586621679303258) (l_a1eHv :: TyFun a6989586621679303258 a6989586621679303258) type MinSym2 (t_a1eHt :: a6989586621679303258) (t_a1eHu :: a6989586621679303258) = Min t_a1eHt t_a1eHu data ComparingSym0 (l_a1eGr :: TyFun (TyFun b6989586621679303248 a6989586621679303247 -> Type) (TyFun b6989586621679303248 (TyFun b6989586621679303248 Ordering -> Type) -> Type)) data ComparingSym1 (l_a1eGp :: TyFun b6989586621679303248 a6989586621679303247 -> Type) (l_a1eGo :: TyFun b6989586621679303248 (TyFun b6989586621679303248 Ordering -> Type)) data ComparingSym2 (l_a1eGl :: TyFun b6989586621679303248 a6989586621679303247 -> Type) (l_a1eGm :: b6989586621679303248) (l_a1eGk :: TyFun b6989586621679303248 Ordering) type ComparingSym3 (t_a1eGh :: TyFun b6989586621679303248 a6989586621679303247 -> Type) (t_a1eGi :: b6989586621679303248) (t_a1eGj :: b6989586621679303248) = Comparing t_a1eGh t_a1eGi t_a1eGj instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679312309Sym0 instance Data.Singletons.Prelude.Ord.POrd () instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679312309Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679312289Sym0 instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Ordering instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679312289Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679312269Sym0 instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Bool instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679312269Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679312235Sym0 instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f, g) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679312235Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679312154Sym0 instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679312154Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679312082Sym0 instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679312082Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679312019Sym0 instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679312019Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679311965Sym0 instance Data.Singletons.Prelude.Ord.POrd (a, b, c) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679311965Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679311920Sym0 instance Data.Singletons.Prelude.Ord.POrd (a, b) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679311920Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679311886Sym0 instance Data.Singletons.Prelude.Ord.POrd Data.Void.Void instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679311886Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679311862Sym0 instance Data.Singletons.Prelude.Ord.POrd (GHC.Base.NonEmpty a) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679311862Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679311825Sym0 instance Data.Singletons.Prelude.Ord.POrd (Data.Either.Either a b) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679311825Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679311785Sym0 instance Data.Singletons.Prelude.Ord.POrd [a] instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679311785Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679311749Sym0 instance Data.Singletons.Prelude.Ord.POrd (GHC.Base.Maybe a) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679311749Sym1 instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Prelude.Ord.SOrd (GHC.Base.Maybe a) instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Ord.SOrd [a]) => Data.Singletons.Prelude.Ord.SOrd [a] instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Ord.SOrd b) => Data.Singletons.Prelude.Ord.SOrd (Data.Either.Either a b) instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Ord.SOrd [a]) => Data.Singletons.Prelude.Ord.SOrd (GHC.Base.NonEmpty a) instance Data.Singletons.Prelude.Ord.SOrd Data.Void.Void instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Ord.SOrd b) => Data.Singletons.Prelude.Ord.SOrd (a, b) instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Ord.SOrd b, Data.Singletons.Prelude.Ord.SOrd c) => Data.Singletons.Prelude.Ord.SOrd (a, b, c) instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Ord.SOrd b, Data.Singletons.Prelude.Ord.SOrd c, Data.Singletons.Prelude.Ord.SOrd d) => Data.Singletons.Prelude.Ord.SOrd (a, b, c, d) instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Ord.SOrd b, Data.Singletons.Prelude.Ord.SOrd c, Data.Singletons.Prelude.Ord.SOrd d, Data.Singletons.Prelude.Ord.SOrd e) => Data.Singletons.Prelude.Ord.SOrd (a, b, c, d, e) instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Ord.SOrd b, Data.Singletons.Prelude.Ord.SOrd c, Data.Singletons.Prelude.Ord.SOrd d, Data.Singletons.Prelude.Ord.SOrd e, Data.Singletons.Prelude.Ord.SOrd f) => Data.Singletons.Prelude.Ord.SOrd (a, b, c, d, e, f) instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Ord.SOrd b, Data.Singletons.Prelude.Ord.SOrd c, Data.Singletons.Prelude.Ord.SOrd d, Data.Singletons.Prelude.Ord.SOrd e, Data.Singletons.Prelude.Ord.SOrd f, Data.Singletons.Prelude.Ord.SOrd g) => Data.Singletons.Prelude.Ord.SOrd (a, b, c, d, e, f, g) instance Data.Singletons.Prelude.Ord.SOrd GHC.Types.Bool instance Data.Singletons.Prelude.Ord.SOrd GHC.Types.Ordering instance Data.Singletons.Prelude.Ord.SOrd () instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.ThenCmpSym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.ThenCmpSym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.ComparingSym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.ComparingSym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.ComparingSym2 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679304693Scrutinee_6989586621679303280Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679304693Scrutinee_6989586621679303280Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679304726Scrutinee_6989586621679303282Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679304726Scrutinee_6989586621679303282Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679304759Scrutinee_6989586621679303284Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679304759Scrutinee_6989586621679303284Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679304792Scrutinee_6989586621679303286Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679304792Scrutinee_6989586621679303286Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.<@#@$) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.<@#@$$) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679304659Scrutinee_6989586621679303278Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679304659Scrutinee_6989586621679303278Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679304825Scrutinee_6989586621679303288Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679304825Scrutinee_6989586621679303288Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679304858Scrutinee_6989586621679303290Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679304858Scrutinee_6989586621679303290Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.>@#@$) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.>@#@$$) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.>=@#@$) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.>=@#@$$) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.MaxSym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.MaxSym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.MinSym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.MinSym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.CompareSym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.CompareSym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.<=@#@$$) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.<=@#@$) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679304673Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679304673Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679304706Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679304706Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679304739Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679304739Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679304772Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679304772Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679304805Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679304805Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Max_6989586621679304838Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Max_6989586621679304838Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Min_6989586621679304871Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Min_6989586621679304871Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679304649Scrutinee_6989586621679303276Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679304649Scrutinee_6989586621679303276Sym1 -- | Defines the class ShowSing, allowing for conversion of -- Sing values to readable Strings. module Data.Singletons.ShowSing -- | Members of the ShowSing kind class can have their Sing -- values converted to Strings in a fashion similar to that of the -- Show class. (In fact, this class only exists because one cannot -- write Show instances for Sings of the form instance -- (forall z. Show (Sing (z :: k))) => Show (Sing (x :: [k])).) -- -- This class should not be confused with the promoted or singled -- versions of Show from Data.Singletons.Prelude.Show -- (PShow and SShow, respectively). The output of -- ShowSing is intended to reflect the singleton type, whereas the -- output of PShow and SShow reflects the original -- type. That is, showing SFalse with ShowSing would -- yield "SFalse", whereas PShow and SShow -- would yield "False". -- -- Instances of this class are generated alongside singleton definitions -- for datatypes that derive a Show instance. Moreover, having a -- ShowSing instances makes it simple to define a Show -- instance. For instance: -- --
-- instance ShowSing a => ShowSing [a] where -- showsSingPrec = ... -- instance ShowSing a => Show (Sing (x :: [a])) where -- showsPrec = showsSingPrec ---- -- As a result, singleton definitions for datatypes that derive a -- Show instance also get a Show instance for the singleton -- type as well (in addition to promoted and singled Show -- instances). -- -- To recap: singletons will give you all of these for a datatype -- that derives a Show instance: -- --
-- toSing . fromSing ≡ SomeSing -- (\x -> withSomeSing x fromSing) ≡ id ---- -- The final law can also be expressed in terms of the FromSing -- pattern synonym: -- --
-- (\(FromSing sing) -> FromSing sing) ≡ id --class SingKind k where { type family Demote k = (r :: *) | r -> k; } -- | Convert a singleton to its unrefined version. fromSing :: SingKind k => Sing (a :: k) -> Demote k -- | Convert an unrefined type to an existentially-quantified singleton -- type. toSing :: SingKind k => Demote k -> SomeSing k -- | Convenient synonym to refer to the kind of a type variable: type -- KindOf (a :: k) = k type KindOf (a :: k) = k -- | Force GHC to unify the kinds of a and b. Note that -- SameKind a b is different from KindOf a ~ KindOf b -- in that the former makes the kinds unify immediately, whereas the -- latter is a proposition that GHC considers as possibly false. type SameKind (a :: k) (b :: k) = (() :: Constraint) -- | A SingInstance wraps up a SingI instance for explicit -- handling. data SingInstance (a :: k) [SingInstance] :: SingI a => 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 k
[SomeSing] :: Sing (a :: k) -> SomeSing k
-- | Get an implicit singleton (a SingI instance) from an explicit
-- one.
singInstance :: forall (a :: k). Sing a -> SingInstance a
-- | An explicitly bidirectional pattern synonym for implicit singletons.
--
-- As an expression: Constructs a singleton Sing a given
-- a implicit singleton constraint SingI a.
--
-- As a pattern: Matches on an explicit Sing a witness
-- bringing an implicit SingI a constraint into scope.
-- | 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 :: forall k r. SingKind k => Demote k -> (forall (a :: k). Sing a -> r) -> r
-- | An explicitly bidirectional pattern synonym for going between a
-- singleton and the corresponding demoted term.
--
-- As an expression: this takes a singleton to its demoted (base)
-- type.
--
-- -- >>> :t FromSing \@Bool -- FromSing \@Bool :: Sing a -> Bool -- -- >>> FromSing SFalse -- False ---- -- As a pattern: It extracts a singleton from its demoted (base) -- type. -- --
-- singAnd :: Bool -> Bool -> SomeSing Bool -- singAnd (FromSing singBool1) (FromSing singBool2) = -- SomeSing (singBool1 %&& singBool2) ---- -- instead of writing it with withSomeSing: -- --
-- singAnd bool1 bool2 = -- withSomeSing bool1 $ singBool1 -> -- withSomeSing bool2 $ singBool2 -> -- SomeSing (singBool1 %&& singBool2) ---- | Allows creation of a singleton when a proxy is at hand. singByProxy :: SingI a => proxy a -> Sing a -- | A convenience function that takes a type as input and demotes it to -- its value-level counterpart as output. This uses SingKind and -- SingI behind the scenes, so demote = fromSing -- sing. -- -- This function is intended to be used with TypeApplications. -- For example: -- --
-- >>> demote @True -- True ---- --
-- >>> demote @(Nothing :: Maybe Ordering) -- Nothing --demote :: forall a. (SingKind (KindOf a), SingI a) => Demote (KindOf 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 :: forall (a :: k). (SingKind k, SingI a) => (Demote k -> 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 :: * -> * -> * -- | Something of kind `a ~> b` is a defunctionalized type function that -- is not necessarily generative or injective. type a ~> b = TyFun a b -> * -- | Wrapper for converting the normal type-level arrow into a -- ~>. For example, given: -- --
-- data Nat = Zero | Succ Nat -- type family Map (a :: a ~> b) (a :: [a]) :: [b] -- Map f '[] = '[] -- Map f (x ': xs) = Apply f x ': Map f xs ---- -- We can write: -- --
-- Map (TyCon Succ) [Zero, Succ Zero] ---- | 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 need visible type application to get -- this to work. For example: -- --
-- falses = sMap (singFun1 @NotSym0 sNot) -- (STrue `SCons` STrue `SCons` SNil) ---- -- There are a family of singFun... functions, keyed by the -- number of parameters of the function. singFun1 :: forall f. SingFunction1 f -> Sing f singFun2 :: forall f. SingFunction2 f -> Sing f singFun3 :: forall f. SingFunction3 f -> Sing f singFun4 :: forall f. SingFunction4 f -> Sing f singFun5 :: forall f. SingFunction5 f -> Sing f singFun6 :: forall f. SingFunction6 f -> Sing f singFun7 :: forall f. SingFunction7 f -> Sing f singFun8 :: forall f. SingFunction8 f -> Sing f -- | This is the inverse of singFun1, and likewise for the other -- unSingFun... functions. unSingFun1 :: forall f. Sing f -> SingFunction1 f unSingFun2 :: forall f. Sing f -> SingFunction2 f unSingFun3 :: forall f. Sing f -> SingFunction3 f unSingFun4 :: forall f. Sing f -> SingFunction4 f unSingFun5 :: forall f. Sing f -> SingFunction5 f unSingFun6 :: forall f. Sing f -> SingFunction6 f unSingFun7 :: forall f. Sing f -> SingFunction7 f unSingFun8 :: forall f. Sing f -> SingFunction8 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) type SingFunction8 f = forall t. Sing t -> SingFunction7 (f @@ t) -- | Proxy is a type that holds no data, but has a phantom parameter -- of arbitrary type (or even kind). Its use is to provide type -- information, even though there is no value available of that type (or -- it may be too costly to create one). -- -- Historically, Proxy :: Proxy a is a safer -- alternative to the 'undefined :: a' idiom. -- --
-- >>> Proxy :: Proxy (Void, Int -> Int) -- Proxy ---- -- Proxy can even hold types of higher kinds, -- --
-- >>> Proxy :: Proxy Either -- Proxy ---- --
-- >>> Proxy :: Proxy Functor -- Proxy ---- --
-- >>> Proxy :: Proxy complicatedStructure -- Proxy --data Proxy (t :: k) :: forall k. () => k -> * Proxy :: Proxy data DemoteSym0 (l_a3KBV :: TyFun Type Type) type DemoteSym1 (t_a3KBU :: Type) = Demote t_a3KBU data SameKindSym0 l_a3KC2 data SameKindSym1 (l_a3KC0 :: k6989586621679026622) l_a3KBZ type SameKindSym2 (t_a3KBX :: k6989586621679026622) (t_a3KBY :: k6989586621679026622) = SameKind t_a3KBX t_a3KBY data KindOfSym0 l_a3KC5 type KindOfSym1 (t_a3KC4 :: k6989586621679026625) = KindOf t_a3KC4 data (~>@#@$) l_a3KCc data (~>@#@$$) (l_a3KCa :: Type) l_a3KC9 type (~>@#@$$$) (t_a3KC7 :: Type) (t_a3KC8 :: Type) = (~>) t_a3KC7 t_a3KC8 data ApplySym0 (l_a3KCj :: TyFun ((~>) k16989586621679024775 k26989586621679024776) (TyFun k16989586621679024775 k26989586621679024776 -> Type)) data ApplySym1 (l_a3KCh :: (~>) k16989586621679024775 k26989586621679024776) (l_a3KCg :: TyFun k16989586621679024775 k26989586621679024776) type ApplySym2 (t_a3KCe :: (~>) k16989586621679024775 k26989586621679024776) (t_a3KCf :: k16989586621679024775) = Apply t_a3KCe t_a3KCf data (@@@#@$) l_a3KCq data (@@@#@$$) (l_a3KCo :: (~>) k16989586621679030856 k6989586621679030855) l_a3KCn type (@@@#@$$$) (t_a3KCl :: (~>) k16989586621679030856 k6989586621679030855) (t_a3KCm :: k16989586621679030856) = (@@) t_a3KCl t_a3KCm instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.@@@#@$) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.@@@#@$$) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.ApplySym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.ApplySym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.~>@#@$) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.~>@#@$$) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.KindOfSym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.SameKindSym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.SameKindSym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.DemoteSym0 instance Data.Singletons.Prelude.Eq.SEq k => GHC.Classes.Eq (Data.Singletons.Internal.SomeSing k) instance Data.Singletons.Prelude.Ord.SOrd k => GHC.Classes.Ord (Data.Singletons.Internal.SomeSing k) instance Data.Singletons.Prelude.Enum.SBounded k => GHC.Enum.Bounded (Data.Singletons.Internal.SomeSing k) instance (Data.Singletons.Prelude.Enum.SEnum k, Data.Singletons.Internal.SingKind k) => GHC.Enum.Enum (Data.Singletons.Internal.SomeSing k) instance Data.Singletons.Prelude.Num.SNum k => GHC.Num.Num (Data.Singletons.Internal.SomeSing k) instance Data.Singletons.ShowSing.ShowSing k => GHC.Show.Show (Data.Singletons.Internal.SomeSing k) -- | 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 -- https://github.com/goldfirere/singletons/blob/master/README.md -- for further explanation. singletons :: DsMonad q => q [Dec] -> q [Dec] -- | Make promoted and singleton versions of all declarations given, -- discarding the original declarations. Note that a singleton based on a -- datatype needs the original datatype, so this will fail if it sees any -- datatype declarations. Classes, instances, and functions are all fine. 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. Note that a -- promoted datatype uses the same definition as an original datatype, so -- this will not work with datatypes. Classes, instances, and functions -- are all fine. 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. singDecideInstances :: DsMonad q => [Name] -> q [Dec] -- | Create instance of SDecide for the given type. singDecideInstance :: DsMonad q => Name -> q [Dec] -- | Produce instances for POrd from the given types promoteOrdInstances :: DsMonad q => [Name] -> q [Dec] -- | Produce an instance for POrd from the given type promoteOrdInstance :: DsMonad q => Name -> q [Dec] -- | Create instances of SOrd for the given types singOrdInstances :: DsMonad q => [Name] -> q [Dec] -- | Create instance of SOrd for the given type singOrdInstance :: DsMonad q => Name -> q [Dec] -- | Produce instances for PBounded from the given types promoteBoundedInstances :: DsMonad q => [Name] -> q [Dec] -- | Produce an instance for PBounded from the given type promoteBoundedInstance :: DsMonad q => Name -> q [Dec] -- | Create instances of SBounded for the given types singBoundedInstances :: DsMonad q => [Name] -> q [Dec] -- | Create instance of SBounded for the given type singBoundedInstance :: DsMonad q => Name -> q [Dec] -- | Produce instances for PEnum from the given types promoteEnumInstances :: DsMonad q => [Name] -> q [Dec] -- | Produce an instance for PEnum from the given type promoteEnumInstance :: DsMonad q => Name -> q [Dec] -- | Create instances of SEnum for the given types singEnumInstances :: DsMonad q => [Name] -> q [Dec] -- | Create instance of SEnum for the given type singEnumInstance :: DsMonad q => Name -> q [Dec] -- | Produce instances for PShow from the given types promoteShowInstances :: DsMonad q => [Name] -> q [Dec] -- | Produce an instance for PShow from the given type promoteShowInstance :: DsMonad q => Name -> q [Dec] -- | Create instances of SShow for the given types -- -- (Not to be confused with showSingInstances.) singShowInstances :: DsMonad q => [Name] -> q [Dec] -- | Create instance of SShow for the given type -- -- (Not to be confused with showShowInstance.) singShowInstance :: 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 function sCases 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. For sCases, unlike cases, the scrutinee is a -- singleton. But make sure to pass in the name of the original -- datatype, preferring ''Maybe over ''SMaybe. sCases :: 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 -- '(==)', then it defaults to a use of '(DTE.==)', from -- Data.Type.Equality. class PEq a where { type family (==) (x :: a) (y :: a) :: Bool; type family (/=) (x :: a) (y :: a) :: Bool; type (x :: a) == (y :: a) = x == y; type (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) -- | Type-level "and" -- | Conjunction of singletons (%&&) :: Sing a -> Sing b -> Sing (a && b) infixr 3 %&& -- | 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 SEq k -- | Boolean equality on singletons (%==) :: forall (a :: k) (b :: k). SEq k => Sing a -> Sing b -> Sing (a == b) -- | Boolean disequality on singletons (%/=) :: forall (a :: k) (b :: k). SEq k => Sing a -> Sing b -> Sing (a /= b) -- | Boolean disequality on singletons (%/=) :: forall (a :: k) (b :: k). (SEq k, ((a /= b) ~ Not (a == b))) => Sing a -> Sing b -> Sing (a /= b) class PEq a_a1elk => POrd (a_a1elk :: Type) where { type family Compare (arg_a1eGz :: a_a1elk) (arg_a1eGA :: a_a1elk) :: Ordering; type family (<) (arg_a1eGI :: a_a1elk) (arg_a1eGJ :: a_a1elk) :: Bool; type family (<=) (arg_a1eGR :: a_a1elk) (arg_a1eGS :: a_a1elk) :: Bool; type family (>) (arg_a1eH0 :: a_a1elk) (arg_a1eH1 :: a_a1elk) :: Bool; type family (>=) (arg_a1eH9 :: a_a1elk) (arg_a1eHa :: a_a1elk) :: Bool; type family Max (arg_a1eHi :: a_a1elk) (arg_a1eHj :: a_a1elk) :: a_a1elk; type family Min (arg_a1eHr :: a_a1elk) (arg_a1eHs :: a_a1elk) :: a_a1elk; type Compare a_a1eI7 a_a1eI8 = Apply (Apply Compare_6989586621679304673Sym0 a_a1eI7) a_a1eI8; type (<) a_a1eIE a_a1eIF = Apply (Apply TFHelper_6989586621679304706Sym0 a_a1eIE) a_a1eIF; type (<=) a_a1eJb a_a1eJc = Apply (Apply TFHelper_6989586621679304739Sym0 a_a1eJb) a_a1eJc; type (>) a_a1eJI a_a1eJJ = Apply (Apply TFHelper_6989586621679304772Sym0 a_a1eJI) a_a1eJJ; type (>=) a_a1eKf a_a1eKg = Apply (Apply TFHelper_6989586621679304805Sym0 a_a1eKf) a_a1eKg; type Max a_a1eKM a_a1eKN = Apply (Apply Max_6989586621679304838Sym0 a_a1eKM) a_a1eKN; type Min a_a1eLj a_a1eLk = Apply (Apply Min_6989586621679304871Sym0 a_a1eLj) a_a1eLk; } class SEq a_a1elk => SOrd a_a1elk sCompare :: forall (t_a1eLA :: a_a1elk) (t_a1eLB :: a_a1elk). SOrd a_a1elk => Sing t_a1eLA -> Sing t_a1eLB -> Sing (Apply (Apply CompareSym0 t_a1eLA) t_a1eLB :: Ordering) (%<) :: forall (t_a1eLC :: a_a1elk) (t_a1eLD :: a_a1elk). SOrd a_a1elk => Sing t_a1eLC -> Sing t_a1eLD -> Sing (Apply (Apply (<@#@$) t_a1eLC) t_a1eLD :: Bool) (%<=) :: forall (t_a1eLE :: a_a1elk) (t_a1eLF :: a_a1elk). SOrd a_a1elk => Sing t_a1eLE -> Sing t_a1eLF -> Sing (Apply (Apply (<=@#@$) t_a1eLE) t_a1eLF :: Bool) (%>) :: forall (t_a1eLG :: a_a1elk) (t_a1eLH :: a_a1elk). SOrd a_a1elk => Sing t_a1eLG -> Sing t_a1eLH -> Sing (Apply (Apply (>@#@$) t_a1eLG) t_a1eLH :: Bool) (%>=) :: forall (t_a1eLI :: a_a1elk) (t_a1eLJ :: a_a1elk). SOrd a_a1elk => Sing t_a1eLI -> Sing t_a1eLJ -> Sing (Apply (Apply (>=@#@$) t_a1eLI) t_a1eLJ :: Bool) sMax :: forall (t_a1eLK :: a_a1elk) (t_a1eLL :: a_a1elk). SOrd a_a1elk => Sing t_a1eLK -> Sing t_a1eLL -> Sing (Apply (Apply MaxSym0 t_a1eLK) t_a1eLL :: a_a1elk) sMin :: forall (t_a1eLM :: a_a1elk) (t_a1eLN :: a_a1elk). SOrd a_a1elk => Sing t_a1eLM -> Sing t_a1eLN -> Sing (Apply (Apply MinSym0 t_a1eLM) t_a1eLN :: a_a1elk) sCompare :: forall (t_a1eLA :: a_a1elk) (t_a1eLB :: a_a1elk). (SOrd a_a1elk, (Apply (Apply CompareSym0 t_a1eLA) t_a1eLB :: Ordering) ~ Apply (Apply Compare_6989586621679304673Sym0 t_a1eLA) t_a1eLB) => Sing t_a1eLA -> Sing t_a1eLB -> Sing (Apply (Apply CompareSym0 t_a1eLA) t_a1eLB :: Ordering) (%<) :: forall (t_a1eLC :: a_a1elk) (t_a1eLD :: a_a1elk). (SOrd a_a1elk, (Apply (Apply (<@#@$) t_a1eLC) t_a1eLD :: Bool) ~ Apply (Apply TFHelper_6989586621679304706Sym0 t_a1eLC) t_a1eLD) => Sing t_a1eLC -> Sing t_a1eLD -> Sing (Apply (Apply (<@#@$) t_a1eLC) t_a1eLD :: Bool) (%<=) :: forall (t_a1eLE :: a_a1elk) (t_a1eLF :: a_a1elk). (SOrd a_a1elk, (Apply (Apply (<=@#@$) t_a1eLE) t_a1eLF :: Bool) ~ Apply (Apply TFHelper_6989586621679304739Sym0 t_a1eLE) t_a1eLF) => Sing t_a1eLE -> Sing t_a1eLF -> Sing (Apply (Apply (<=@#@$) t_a1eLE) t_a1eLF :: Bool) (%>) :: forall (t_a1eLG :: a_a1elk) (t_a1eLH :: a_a1elk). (SOrd a_a1elk, (Apply (Apply (>@#@$) t_a1eLG) t_a1eLH :: Bool) ~ Apply (Apply TFHelper_6989586621679304772Sym0 t_a1eLG) t_a1eLH) => Sing t_a1eLG -> Sing t_a1eLH -> Sing (Apply (Apply (>@#@$) t_a1eLG) t_a1eLH :: Bool) (%>=) :: forall (t_a1eLI :: a_a1elk) (t_a1eLJ :: a_a1elk). (SOrd a_a1elk, (Apply (Apply (>=@#@$) t_a1eLI) t_a1eLJ :: Bool) ~ Apply (Apply TFHelper_6989586621679304805Sym0 t_a1eLI) t_a1eLJ) => Sing t_a1eLI -> Sing t_a1eLJ -> Sing (Apply (Apply (>=@#@$) t_a1eLI) t_a1eLJ :: Bool) sMax :: forall (t_a1eLK :: a_a1elk) (t_a1eLL :: a_a1elk). (SOrd a_a1elk, (Apply (Apply MaxSym0 t_a1eLK) t_a1eLL :: a_a1elk) ~ Apply (Apply Max_6989586621679304838Sym0 t_a1eLK) t_a1eLL) => Sing t_a1eLK -> Sing t_a1eLL -> Sing (Apply (Apply MaxSym0 t_a1eLK) t_a1eLL :: a_a1elk) sMin :: forall (t_a1eLM :: a_a1elk) (t_a1eLN :: a_a1elk). (SOrd a_a1elk, (Apply (Apply MinSym0 t_a1eLM) t_a1eLN :: a_a1elk) ~ Apply (Apply Min_6989586621679304871Sym0 t_a1eLM) t_a1eLN) => Sing t_a1eLM -> Sing t_a1eLN -> Sing (Apply (Apply MinSym0 t_a1eLM) t_a1eLN :: a_a1elk) sThenCmp :: forall (t_a1gum :: Ordering) (t_a1gun :: Ordering). Sing t_a1gum -> Sing t_a1gun -> Sing (Apply (Apply ThenCmpSym0 t_a1gum) t_a1gun :: Ordering) sFoldl :: forall (t_a12V1 :: TyFun b_a12TF (TyFun a_a12TE b_a12TF -> Type) -> Type) (t_a12V2 :: b_a12TF) (t_a12V3 :: [a_a12TE]). Sing t_a12V1 -> Sing t_a12V2 -> Sing t_a12V3 -> Sing (Apply (Apply (Apply FoldlSym0 t_a12V1) t_a12V2) t_a12V3 :: b_a12TF) -- | 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 SDecide k -- | Compute a proof or disproof of equality, given two singletons. (%~) :: forall (a :: k) (b :: k). SDecide k => 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. data (:~:) (a :: k) (b :: k) :: forall k. () => k -> k -> * [Refl] :: a :~: a -- | 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 class PBounded (a_a3tLQ :: Type) where { type family MinBound :: a_a3tLQ; type family MaxBound :: a_a3tLQ; } class SBounded a_a3tLQ sMinBound :: SBounded a_a3tLQ => Sing (MinBoundSym0 :: a_a3tLQ) sMaxBound :: SBounded a_a3tLQ => Sing (MaxBoundSym0 :: a_a3tLQ) class PEnum (a_a3uOp :: Type) where { type family ToEnum (arg_a3uY1 :: Nat) :: a_a3uOp; type family FromEnum (arg_a3uY5 :: a_a3uOp) :: Nat; type Succ a_a3uYP = Apply Succ_6989586621679843868Sym0 a_a3uYP; type Pred a_a3uZ2 = Apply Pred_6989586621679843881Sym0 a_a3uZ2; type EnumFromTo a_a3uZj a_a3uZk = Apply (Apply EnumFromTo_6989586621679843899Sym0 a_a3uZj) a_a3uZk; type EnumFromThenTo a_a3uZM a_a3uZN a_a3uZO = Apply (Apply (Apply EnumFromThenTo_6989586621679843929Sym0 a_a3uZM) a_a3uZN) a_a3uZO; } class SEnum a_a3uOp sToEnum :: forall (t_a3v2o :: Nat). SEnum a_a3uOp => Sing t_a3v2o -> Sing (Apply ToEnumSym0 t_a3v2o :: a_a3uOp) sFromEnum :: forall (t_a3v2p :: a_a3uOp). SEnum a_a3uOp => Sing t_a3v2p -> Sing (Apply FromEnumSym0 t_a3v2p :: Nat) class PShow (a_a2Mme :: Type) where { type family ShowsPrec (arg_a2MSS :: Nat) (arg_a2MST :: a_a2Mme) (arg_a2MSU :: Symbol) :: Symbol; type family Show_ (arg_a2MT7 :: a_a2Mme) :: Symbol; type family ShowList (arg_a2MTb :: [a_a2Mme]) (arg_a2MTc :: Symbol) :: Symbol; type ShowsPrec a_a2MTB a_a2MTC a_a2MTD = Apply (Apply (Apply ShowsPrec_6989586621679674410Sym0 a_a2MTB) a_a2MTC) a_a2MTD; type Show_ a_a2MTX = Apply Show__6989586621679674430Sym0 a_a2MTX; type ShowList a_a2MUe a_a2MUf = Apply (Apply ShowList_6989586621679674448Sym0 a_a2MUe) a_a2MUf; } class SShow a_a2Mme sShowsPrec :: forall (t_a2MZQ :: Nat) (t_a2MZR :: a_a2Mme) (t_a2MZS :: Symbol). SShow a_a2Mme => Sing t_a2MZQ -> Sing t_a2MZR -> Sing t_a2MZS -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a2MZQ) t_a2MZR) t_a2MZS :: Symbol) sShow_ :: forall (t_a2MZT :: a_a2Mme). SShow a_a2Mme => Sing t_a2MZT -> Sing (Apply Show_Sym0 t_a2MZT :: Symbol) sShowList :: forall (t_a2MZU :: [a_a2Mme]) (t_a2MZV :: Symbol). SShow a_a2Mme => Sing t_a2MZU -> Sing t_a2MZV -> Sing (Apply (Apply ShowListSym0 t_a2MZU) t_a2MZV :: Symbol) sShowsPrec :: forall (t_a2MZQ :: Nat) (t_a2MZR :: a_a2Mme) (t_a2MZS :: Symbol). (SShow a_a2Mme, (Apply (Apply (Apply ShowsPrecSym0 t_a2MZQ) t_a2MZR) t_a2MZS :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621679674410Sym0 t_a2MZQ) t_a2MZR) t_a2MZS) => Sing t_a2MZQ -> Sing t_a2MZR -> Sing t_a2MZS -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a2MZQ) t_a2MZR) t_a2MZS :: Symbol) sShow_ :: forall (t_a2MZT :: a_a2Mme). (SShow a_a2Mme, (Apply Show_Sym0 t_a2MZT :: Symbol) ~ Apply Show__6989586621679674430Sym0 t_a2MZT) => Sing t_a2MZT -> Sing (Apply Show_Sym0 t_a2MZT :: Symbol) sShowList :: forall (t_a2MZU :: [a_a2Mme]) (t_a2MZV :: Symbol). (SShow a_a2Mme, (Apply (Apply ShowListSym0 t_a2MZU) t_a2MZV :: Symbol) ~ Apply (Apply ShowList_6989586621679674448Sym0 t_a2MZU) t_a2MZV) => Sing t_a2MZU -> Sing t_a2MZV -> Sing (Apply (Apply ShowListSym0 t_a2MZU) t_a2MZV :: Symbol) sShowString :: forall (t_a2MZh :: Symbol) (t_a2MZi :: Symbol). Sing t_a2MZh -> Sing t_a2MZi -> Sing (Apply (Apply ShowStringSym0 t_a2MZh) t_a2MZi :: Symbol) sShowParen :: forall (t_a2MZm :: Bool) (t_a2MZn :: TyFun Symbol Symbol -> Type) (t_a2MZo :: Symbol). Sing t_a2MZm -> Sing t_a2MZn -> Sing t_a2MZo -> Sing (Apply (Apply (Apply ShowParenSym0 t_a2MZm) t_a2MZn) t_a2MZo :: Symbol) sShowSpace :: forall (t_a2MZg :: Symbol). Sing t_a2MZg -> Sing (Apply ShowSpaceSym0 t_a2MZg :: Symbol) sShowChar :: forall (t_a2MZk :: Symbol) (t_a2MZl :: Symbol). Sing t_a2MZk -> Sing t_a2MZl -> Sing (Apply (Apply ShowCharSym0 t_a2MZk) t_a2MZl :: Symbol) sShowCommaSpace :: forall (t_a2MZj :: Symbol). Sing t_a2MZj -> Sing (Apply ShowCommaSpaceSym0 t_a2MZj :: Symbol) (%.) :: forall (t_a1ILC :: TyFun b_a1IGC c_a1IGD -> Type) (t_a1ILD :: TyFun a_a1IGE b_a1IGC -> Type) (t_a1ILE :: a_a1IGE). Sing t_a1ILC -> Sing t_a1ILD -> Sing t_a1ILE -> Sing (Apply (Apply (Apply (.@#@$) t_a1ILC) t_a1ILD) t_a1ILE :: c_a1IGD) infixr 9 %. -- | 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 k
[SomeSing] :: Sing (a :: k) -> SomeSing k
-- | The promotion of error. This version is more poly-kinded for
-- easier use.
-- | The singleton for error
sError :: Sing (str :: Symbol) -> a
data ErrorSym0 (l_a1ycT :: TyFun k06989586621679378680 k6989586621679378681)
type ErrorSym1 (t_a1ycS :: k06989586621679378680) = Error t_a1ycS
-- | The promotion of undefined.
-- | The singleton for undefined.
sUndefined :: a
type UndefinedSym0 = Undefined
type TrueSym0 = True
type FalseSym0 = False
data (==@#@$) (l_a1buh :: TyFun a6989586621679292214 (TyFun a6989586621679292214 Bool -> Type))
data (==@#@$$) (l_a1buf :: a6989586621679292214) (l_a1bue :: TyFun a6989586621679292214 Bool)
type (==@#@$$$) (t_a1buc :: a6989586621679292214) (t_a1bud :: a6989586621679292214) = (==) t_a1buc t_a1bud
data (>@#@$) (l_a1eH7 :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type))
data (>@#@$$) (l_a1eH5 :: a6989586621679303258) (l_a1eH4 :: TyFun a6989586621679303258 Bool)
type (>@#@$$$) (t_a1eH2 :: a6989586621679303258) (t_a1eH3 :: a6989586621679303258) = (>) t_a1eH2 t_a1eH3
type LTSym0 = LT
type EQSym0 = EQ
type GTSym0 = GT
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_aZWR :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aZWP :: a3530822107858468865) (l_aZWO :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aZWM :: a3530822107858468865) (t_aZWN :: b3530822107858468866) = '(t_aZWM, t_aZWN)
data Tuple3Sym0 (l_aZXh :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aZXf :: a3530822107858468865) (l_aZXe :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aZXb :: a3530822107858468865) (l_aZXc :: b3530822107858468866) (l_aZXa :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aZX7 :: a3530822107858468865) (t_aZX8 :: b3530822107858468866) (t_aZX9 :: c3530822107858468867) = '(t_aZX7, t_aZX8, t_aZX9)
data Tuple4Sym0 (l_aZXS :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aZXQ :: a3530822107858468865) (l_aZXP :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aZXM :: a3530822107858468865) (l_aZXN :: b3530822107858468866) (l_aZXL :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aZXH :: a3530822107858468865) (l_aZXI :: b3530822107858468866) (l_aZXJ :: c3530822107858468867) (l_aZXG :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aZXC :: a3530822107858468865) (t_aZXD :: b3530822107858468866) (t_aZXE :: c3530822107858468867) (t_aZXF :: d3530822107858468868) = '(t_aZXC, t_aZXD, t_aZXE, t_aZXF)
data Tuple5Sym0 (l_aZYF :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aZYD :: a3530822107858468865) (l_aZYC :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aZYz :: a3530822107858468865) (l_aZYA :: b3530822107858468866) (l_aZYy :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aZYu :: a3530822107858468865) (l_aZYv :: b3530822107858468866) (l_aZYw :: c3530822107858468867) (l_aZYt :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aZYo :: a3530822107858468865) (l_aZYp :: b3530822107858468866) (l_aZYq :: c3530822107858468867) (l_aZYr :: d3530822107858468868) (l_aZYn :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aZYi :: a3530822107858468865) (t_aZYj :: b3530822107858468866) (t_aZYk :: c3530822107858468867) (t_aZYl :: d3530822107858468868) (t_aZYm :: e3530822107858468869) = '(t_aZYi, t_aZYj, t_aZYk, t_aZYl, t_aZYm)
data Tuple6Sym0 (l_aZZF :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym1 (l_aZZD :: a3530822107858468865) (l_aZZC :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aZZz :: a3530822107858468865) (l_aZZA :: b3530822107858468866) (l_aZZy :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aZZu :: a3530822107858468865) (l_aZZv :: b3530822107858468866) (l_aZZw :: c3530822107858468867) (l_aZZt :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aZZo :: a3530822107858468865) (l_aZZp :: b3530822107858468866) (l_aZZq :: c3530822107858468867) (l_aZZr :: d3530822107858468868) (l_aZZn :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aZZh :: a3530822107858468865) (l_aZZi :: b3530822107858468866) (l_aZZj :: c3530822107858468867) (l_aZZk :: d3530822107858468868) (l_aZZl :: e3530822107858468869) (l_aZZg :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aZZa :: a3530822107858468865) (t_aZZb :: b3530822107858468866) (t_aZZc :: c3530822107858468867) (t_aZZd :: d3530822107858468868) (t_aZZe :: e3530822107858468869) (t_aZZf :: f3530822107858468870) = '(t_aZZa, t_aZZb, t_aZZc, t_aZZd, t_aZZe, t_aZZf)
data Tuple7Sym0 (l_a100T :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym1 (l_a100R :: a3530822107858468865) (l_a100Q :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym2 (l_a100N :: a3530822107858468865) (l_a100O :: b3530822107858468866) (l_a100M :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_a100I :: a3530822107858468865) (l_a100J :: b3530822107858468866) (l_a100K :: c3530822107858468867) (l_a100H :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_a100C :: a3530822107858468865) (l_a100D :: b3530822107858468866) (l_a100E :: c3530822107858468867) (l_a100F :: d3530822107858468868) (l_a100B :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_a100v :: a3530822107858468865) (l_a100w :: b3530822107858468866) (l_a100x :: c3530822107858468867) (l_a100y :: d3530822107858468868) (l_a100z :: e3530822107858468869) (l_a100u :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_a100n :: a3530822107858468865) (l_a100o :: b3530822107858468866) (l_a100p :: c3530822107858468867) (l_a100q :: d3530822107858468868) (l_a100r :: e3530822107858468869) (l_a100s :: f3530822107858468870) (l_a100m :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_a100f :: a3530822107858468865) (t_a100g :: b3530822107858468866) (t_a100h :: c3530822107858468867) (t_a100i :: d3530822107858468868) (t_a100j :: e3530822107858468869) (t_a100k :: f3530822107858468870) (t_a100l :: g3530822107858468871) = '(t_a100f, t_a100g, t_a100h, t_a100i, t_a100j, t_a100k, t_a100l)
data CompareSym0 (l_a1eGG :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Ordering -> Type))
data CompareSym1 (l_a1eGE :: a6989586621679303258) (l_a1eGD :: TyFun a6989586621679303258 Ordering)
type CompareSym2 (t_a1eGB :: a6989586621679303258) (t_a1eGC :: a6989586621679303258) = Compare t_a1eGB t_a1eGC
data ThenCmpSym0 (l_a1guh :: TyFun Ordering (TyFun Ordering Ordering -> Type))
data ThenCmpSym1 (l_a1guf :: Ordering) (l_a1gue :: TyFun Ordering Ordering)
type ThenCmpSym2 (t_a1guc :: Ordering) (t_a1gud :: Ordering) = ThenCmp t_a1guc t_a1gud
data FoldlSym0 (l_a12Un :: TyFun (TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (TyFun b6989586621679259259 (TyFun [a6989586621679259258] b6989586621679259259 -> Type) -> Type))
data FoldlSym1 (l_a12Ul :: TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (l_a12Uk :: TyFun b6989586621679259259 (TyFun [a6989586621679259258] b6989586621679259259 -> Type))
data FoldlSym2 (l_a12Uh :: TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (l_a12Ui :: b6989586621679259259) (l_a12Ug :: TyFun [a6989586621679259258] b6989586621679259259)
type FoldlSym3 (t_a12Ud :: TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (t_a12Ue :: b6989586621679259259) (t_a12Uf :: [a6989586621679259258]) = Foldl t_a12Ud t_a12Ue t_a12Uf
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data ShowsPrecSym0 (l_a2MT5 :: TyFun Nat (TyFun a6989586621679672338 (TyFun Symbol Symbol -> Type) -> Type))
data ShowsPrecSym1 (l_a2MT3 :: Nat) (l_a2MT2 :: TyFun a6989586621679672338 (TyFun Symbol Symbol -> Type))
data ShowsPrecSym2 (l_a2MSZ :: Nat) (l_a2MT0 :: a6989586621679672338) (l_a2MSY :: TyFun Symbol Symbol)
type ShowsPrecSym3 (t_a2MSV :: Nat) (t_a2MSW :: a6989586621679672338) (t_a2MSX :: Symbol) = ShowsPrec t_a2MSV t_a2MSW t_a2MSX
data ShowStringSym0 (l_a2MQs :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowStringSym1 (l_a2MQq :: Symbol) (l_a2MQp :: TyFun Symbol Symbol)
type ShowStringSym2 (t_a2MQn :: Symbol) (t_a2MQo :: Symbol) = ShowString t_a2MQn t_a2MQo
data ShowParenSym0 (l_a2MR4 :: TyFun Bool (TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type) -> Type))
data ShowParenSym1 (l_a2MR2 :: Bool) (l_a2MR1 :: TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type))
data ShowParenSym2 (l_a2MQY :: Bool) (l_a2MQZ :: TyFun Symbol Symbol -> Type) (l_a2MQX :: TyFun Symbol Symbol)
data ShowSpaceSym0 (l_a2MQ4 :: TyFun Symbol Symbol)
type ShowSpaceSym1 (t_a2MQ3 :: Symbol) = ShowSpace t_a2MQ3
data ShowCharSym0 (l_a2MQO :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowCharSym1 (l_a2MQM :: Symbol) (l_a2MQL :: TyFun Symbol Symbol)
type ShowCharSym2 (t_a2MQJ :: Symbol) (t_a2MQK :: Symbol) = ShowChar t_a2MQJ t_a2MQK
data ShowCommaSpaceSym0 (l_a2MQB :: TyFun Symbol Symbol)
type ShowCommaSpaceSym1 (t_a2MQA :: Symbol) = ShowCommaSpace t_a2MQA
data (.@#@$) (l_a1IJo :: TyFun (TyFun b6989586621679419898 c6989586621679419899 -> Type) (TyFun (TyFun a6989586621679419900 b6989586621679419898 -> Type) (TyFun a6989586621679419900 c6989586621679419899 -> Type) -> Type))
data (.@#@$$) (l_a1IJm :: TyFun b6989586621679419898 c6989586621679419899 -> Type) (l_a1IJl :: TyFun (TyFun a6989586621679419900 b6989586621679419898 -> Type) (TyFun a6989586621679419900 c6989586621679419899 -> Type))
data (.@#@$$$) (l_a1IJi :: TyFun b6989586621679419898 c6989586621679419899 -> Type) (l_a1IJj :: TyFun a6989586621679419900 b6989586621679419898 -> Type) (l_a1IJh :: TyFun a6989586621679419900 c6989586621679419899)
type (.@#@$$$$) (t_a1IJe :: TyFun b6989586621679419898 c6989586621679419899 -> Type) (t_a1IJf :: TyFun a6989586621679419900 b6989586621679419898 -> Type) (t_a1IJg :: a6989586621679419900) = (:.) t_a1IJe t_a1IJf t_a1IJg
data (:@#@$) (l_aZVM :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:@#@$$) (l_aZVK :: a3530822107858468865) (l_aZVJ :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:@#@$$$) (t_aZVH :: a3530822107858468865) (t_aZVI :: [a3530822107858468865]) = (:) t_aZVH t_aZVI
-- | 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 => ()
-- | 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 = (Sing :: Either a_aiS7 b_aiS8 -> Type)
either_ :: (a_a3MJZ -> c_a3MK0) -> (b_a3MK1 -> c_a3MK0) -> Either a_a3MJZ b_a3MK1 -> c_a3MK0
sEither_ :: forall (t_a3MKS :: TyFun a_a3MJZ c_a3MK0 -> Type) (t_a3MKT :: TyFun b_a3MK1 c_a3MK0 -> Type) (t_a3MKU :: Either a_a3MJZ b_a3MK1). Sing t_a3MKS -> Sing t_a3MKT -> Sing t_a3MKU -> Sing (Apply (Apply (Apply Either_Sym0 t_a3MKS) t_a3MKT) t_a3MKU :: c_a3MK0)
sLefts :: forall (t_a3N9c :: [Either a_a3N2j b_a3N2k]). Sing t_a3N9c -> Sing (Apply LeftsSym0 t_a3N9c :: [a_a3N2j])
sRights :: forall (t_a3N9b :: [Either a_a3N2h b_a3N2i]). Sing t_a3N9b -> Sing (Apply RightsSym0 t_a3N9b :: [b_a3N2i])
sPartitionEithers :: forall (t_a3N9a :: [Either a_a3N2f b_a3N2g]). Sing t_a3N9a -> Sing (Apply PartitionEithersSym0 t_a3N9a :: ([a_a3N2f], [b_a3N2g]))
sIsLeft :: forall (t_a3N99 :: Either a_a3N2d b_a3N2e). Sing t_a3N99 -> Sing (Apply IsLeftSym0 t_a3N99 :: Bool)
sIsRight :: forall (t_a3N98 :: Either a_a3N2b b_a3N2c). Sing t_a3N98 -> Sing (Apply IsRightSym0 t_a3N98 :: Bool)
data LeftSym0 (l_aZW4 :: TyFun a6989586621679082339 (Either a6989586621679082339 b6989586621679082340))
type LeftSym1 (t_aZW3 :: a6989586621679082339) = Left t_aZW3
data RightSym0 (l_aZW7 :: TyFun b6989586621679082340 (Either a6989586621679082339 b6989586621679082340))
type RightSym1 (t_aZW6 :: b6989586621679082340) = Right t_aZW6
data Either_Sym0 (l_a3MKJ :: TyFun (TyFun a6989586621679912139 c6989586621679912140 -> Type) (TyFun (TyFun b6989586621679912141 c6989586621679912140 -> Type) (TyFun (Either a6989586621679912139 b6989586621679912141) c6989586621679912140 -> Type) -> Type))
data Either_Sym1 (l_a3MKH :: TyFun a6989586621679912139 c6989586621679912140 -> Type) (l_a3MKG :: TyFun (TyFun b6989586621679912141 c6989586621679912140 -> Type) (TyFun (Either a6989586621679912139 b6989586621679912141) c6989586621679912140 -> Type))
data Either_Sym2 (l_a3MKD :: TyFun a6989586621679912139 c6989586621679912140 -> Type) (l_a3MKE :: TyFun b6989586621679912141 c6989586621679912140 -> Type) (l_a3MKC :: TyFun (Either a6989586621679912139 b6989586621679912141) c6989586621679912140)
type Either_Sym3 (t_a3MKz :: TyFun a6989586621679912139 c6989586621679912140 -> Type) (t_a3MKA :: TyFun b6989586621679912141 c6989586621679912140 -> Type) (t_a3MKB :: Either a6989586621679912139 b6989586621679912141) = Either_ t_a3MKz t_a3MKA t_a3MKB
data LeftsSym0 (l_a3N92 :: TyFun [Either a6989586621679913275 b6989586621679913276] [a6989586621679913275])
type LeftsSym1 (t_a3N91 :: [Either a6989586621679913275 b6989586621679913276]) = Lefts t_a3N91
data RightsSym0 (l_a3N8V :: TyFun [Either a6989586621679913273 b6989586621679913274] [b6989586621679913274])
type RightsSym1 (t_a3N8U :: [Either a6989586621679913273 b6989586621679913274]) = Rights t_a3N8U
data IsLeftSym0 (l_a3N8b :: TyFun (Either a6989586621679913269 b6989586621679913270) Bool)
type IsLeftSym1 (t_a3N8a :: Either a6989586621679913269 b6989586621679913270) = IsLeft t_a3N8a
data IsRightSym0 (l_a3N87 :: TyFun (Either a6989586621679913267 b6989586621679913268) Bool)
type IsRightSym1 (t_a3N86 :: Either a6989586621679913267 b6989586621679913268) = IsRight t_a3N86
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.LeftsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.RightsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.PartitionEithersSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.IsLeftSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.IsRightSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679913649LeftSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679913649LeftSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679913649LeftSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679913649RightSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679913649RightSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679913649RightSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Either_Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Either_Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.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_a3MJZ -> c_a3MK0) -> (b_a3MK1 -> c_a3MK0) -> Either a_a3MJZ b_a3MK1 -> c_a3MK0
data LeftSym0 (l_aZW4 :: TyFun a6989586621679082339 (Either a6989586621679082339 b6989586621679082340))
type LeftSym1 (t_aZW3 :: a6989586621679082339) = Left t_aZW3
data RightSym0 (l_aZW7 :: TyFun b6989586621679082340 (Either a6989586621679082339 b6989586621679082340))
type RightSym1 (t_aZW6 :: b6989586621679082340) = Right t_aZW6
data Either_Sym0 (l_a3MKJ :: TyFun (TyFun a6989586621679912139 c6989586621679912140 -> Type) (TyFun (TyFun b6989586621679912141 c6989586621679912140 -> Type) (TyFun (Either a6989586621679912139 b6989586621679912141) c6989586621679912140 -> Type) -> Type))
data Either_Sym1 (l_a3MKH :: TyFun a6989586621679912139 c6989586621679912140 -> Type) (l_a3MKG :: TyFun (TyFun b6989586621679912141 c6989586621679912140 -> Type) (TyFun (Either a6989586621679912139 b6989586621679912141) c6989586621679912140 -> Type))
data Either_Sym2 (l_a3MKD :: TyFun a6989586621679912139 c6989586621679912140 -> Type) (l_a3MKE :: TyFun b6989586621679912141 c6989586621679912140 -> Type) (l_a3MKC :: TyFun (Either a6989586621679912139 b6989586621679912141) c6989586621679912140)
type Either_Sym3 (t_a3MKz :: TyFun a6989586621679912139 c6989586621679912140 -> Type) (t_a3MKA :: TyFun b6989586621679912141 c6989586621679912140 -> Type) (t_a3MKB :: Either a6989586621679912139 b6989586621679912141) = Either_ t_a3MKz t_a3MKA t_a3MKB
data LeftsSym0 (l_a3N92 :: TyFun [Either a6989586621679913275 b6989586621679913276] [a6989586621679913275])
type LeftsSym1 (t_a3N91 :: [Either a6989586621679913275 b6989586621679913276]) = Lefts t_a3N91
data RightsSym0 (l_a3N8V :: TyFun [Either a6989586621679913273 b6989586621679913274] [b6989586621679913274])
type RightsSym1 (t_a3N8U :: [Either a6989586621679913273 b6989586621679913274]) = Rights t_a3N8U
data IsLeftSym0 (l_a3N8b :: TyFun (Either a6989586621679913269 b6989586621679913270) Bool)
type IsLeftSym1 (t_a3N8a :: Either a6989586621679913269 b6989586621679913270) = IsLeft t_a3N8a
data IsRightSym0 (l_a3N87 :: TyFun (Either a6989586621679913267 b6989586621679913268) Bool)
type IsRightSym1 (t_a3N86 :: Either a6989586621679913267 b6989586621679913268) = IsRight t_a3N86
-- | 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
type NilSym0 = '[]
data (:@#@$) (l_aZVM :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:@#@$$) (l_aZVK :: a3530822107858468865) (l_aZVJ :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:@#@$$$) (t_aZVH :: a3530822107858468865) (t_aZVI :: [a3530822107858468865]) = (:) t_aZVH t_aZVI
type (++@#@$$$) (t_a1IKo :: [a6989586621679419904]) (t_a1IKp :: [a6989586621679419904]) = (++) t_a1IKo t_a1IKp
data (++@#@$$) (l_a1IKr :: [a6989586621679419904]) (l_a1IKq :: TyFun [a6989586621679419904] [a6989586621679419904])
data (++@#@$) (l_a1IKt :: TyFun [a6989586621679419904] (TyFun [a6989586621679419904] [a6989586621679419904] -> Type))
data HeadSym0 (l_a1RJM :: TyFun [a6989586621679442541] a6989586621679442541)
type HeadSym1 (t_a1RJL :: [a6989586621679442541]) = Head t_a1RJL
data LastSym0 (l_a1RJF :: TyFun [a6989586621679442540] a6989586621679442540)
type LastSym1 (t_a1RJE :: [a6989586621679442540]) = Last t_a1RJE
data TailSym0 (l_a1RJA :: TyFun [a6989586621679442539] [a6989586621679442539])
type TailSym1 (t_a1RJz :: [a6989586621679442539]) = Tail t_a1RJz
data InitSym0 (l_a1RJ6 :: TyFun [a6989586621679442538] [a6989586621679442538])
type InitSym1 (t_a1RJ5 :: [a6989586621679442538]) = Init t_a1RJ5
data NullSym0 (l_a1RI5 :: TyFun [a6989586621679442537] Bool)
type NullSym1 (t_a1RI4 :: [a6989586621679442537]) = Null t_a1RI4
data MapSym0 (l_a1IKG :: TyFun (TyFun a6989586621679419905 b6989586621679419906 -> Type) (TyFun [a6989586621679419905] [b6989586621679419906] -> Type))
data MapSym1 (l_a1IKE :: TyFun a6989586621679419905 b6989586621679419906 -> Type) (l_a1IKD :: TyFun [a6989586621679419905] [b6989586621679419906])
type MapSym2 (t_a1IKB :: TyFun a6989586621679419905 b6989586621679419906 -> Type) (t_a1IKC :: [a6989586621679419905]) = Map t_a1IKB t_a1IKC
data ReverseSym0 (l_a1RHw :: TyFun [a6989586621679442536] [a6989586621679442536])
type ReverseSym1 (t_a1RHv :: [a6989586621679442536]) = Reverse t_a1RHv
data IntersperseSym0 (l_a1RHd :: TyFun a6989586621679442535 (TyFun [a6989586621679442535] [a6989586621679442535] -> Type))
data IntersperseSym1 (l_a1RHb :: a6989586621679442535) (l_a1RHa :: TyFun [a6989586621679442535] [a6989586621679442535])
type IntersperseSym2 (t_a1RH8 :: a6989586621679442535) (t_a1RH9 :: [a6989586621679442535]) = Intersperse t_a1RH8 t_a1RH9
data IntercalateSym0 (l_a1RHp :: TyFun [a6989586621679442534] (TyFun [[a6989586621679442534]] [a6989586621679442534] -> Type))
data IntercalateSym1 (l_a1RHn :: [a6989586621679442534]) (l_a1RHm :: TyFun [[a6989586621679442534]] [a6989586621679442534])
type IntercalateSym2 (t_a1RHk :: [a6989586621679442534]) (t_a1RHl :: [[a6989586621679442534]]) = Intercalate t_a1RHk t_a1RHl
data SubsequencesSym0 (l_a1RH4 :: TyFun [a6989586621679442533] [[a6989586621679442533]])
type SubsequencesSym1 (t_a1RH3 :: [a6989586621679442533]) = Subsequences t_a1RH3
data PermutationsSym0 (l_a1RAE :: TyFun [a6989586621679442530] [[a6989586621679442530]])
type PermutationsSym1 (t_a1RAD :: [a6989586621679442530]) = Permutations t_a1RAD
data FoldlSym0 (l_a12Un :: TyFun (TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (TyFun b6989586621679259259 (TyFun [a6989586621679259258] b6989586621679259259 -> Type) -> Type))
data FoldlSym1 (l_a12Ul :: TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (l_a12Uk :: TyFun b6989586621679259259 (TyFun [a6989586621679259258] b6989586621679259259 -> Type))
data FoldlSym2 (l_a12Uh :: TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (l_a12Ui :: b6989586621679259259) (l_a12Ug :: TyFun [a6989586621679259258] b6989586621679259259)
type FoldlSym3 (t_a12Ud :: TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (t_a12Ue :: b6989586621679259259) (t_a12Uf :: [a6989586621679259258]) = Foldl t_a12Ud t_a12Ue t_a12Uf
data Foldl'Sym0 (l_a1Rzf :: TyFun (TyFun b6989586621679442529 (TyFun a6989586621679442528 b6989586621679442529 -> Type) -> Type) (TyFun b6989586621679442529 (TyFun [a6989586621679442528] b6989586621679442529 -> Type) -> Type))
data Foldl'Sym1 (l_a1Rzd :: TyFun b6989586621679442529 (TyFun a6989586621679442528 b6989586621679442529 -> Type) -> Type) (l_a1Rzc :: TyFun b6989586621679442529 (TyFun [a6989586621679442528] b6989586621679442529 -> Type))
data Foldl'Sym2 (l_a1Rz9 :: TyFun b6989586621679442529 (TyFun a6989586621679442528 b6989586621679442529 -> Type) -> Type) (l_a1Rza :: b6989586621679442529) (l_a1Rz8 :: TyFun [a6989586621679442528] b6989586621679442529)
type Foldl'Sym3 (t_a1Rz5 :: TyFun b6989586621679442529 (TyFun a6989586621679442528 b6989586621679442529 -> Type) -> Type) (t_a1Rz6 :: b6989586621679442529) (t_a1Rz7 :: [a6989586621679442528]) = Foldl' t_a1Rz5 t_a1Rz6 t_a1Rz7
data Foldl1Sym0 (l_a1RvO :: TyFun (TyFun a6989586621679442527 (TyFun a6989586621679442527 a6989586621679442527 -> Type) -> Type) (TyFun [a6989586621679442527] a6989586621679442527 -> Type))
data Foldl1Sym1 (l_a1RvM :: TyFun a6989586621679442527 (TyFun a6989586621679442527 a6989586621679442527 -> Type) -> Type) (l_a1RvL :: TyFun [a6989586621679442527] a6989586621679442527)
type Foldl1Sym2 (t_a1RvJ :: TyFun a6989586621679442527 (TyFun a6989586621679442527 a6989586621679442527 -> Type) -> Type) (t_a1RvK :: [a6989586621679442527]) = Foldl1 t_a1RvJ t_a1RvK
data Foldl1'Sym0 (l_a1RAw :: TyFun (TyFun a6989586621679442526 (TyFun a6989586621679442526 a6989586621679442526 -> Type) -> Type) (TyFun [a6989586621679442526] a6989586621679442526 -> Type))
data Foldl1'Sym1 (l_a1RAu :: TyFun a6989586621679442526 (TyFun a6989586621679442526 a6989586621679442526 -> Type) -> Type) (l_a1RAt :: TyFun [a6989586621679442526] a6989586621679442526)
type Foldl1'Sym2 (t_a1RAr :: TyFun a6989586621679442526 (TyFun a6989586621679442526 a6989586621679442526 -> Type) -> Type) (t_a1RAs :: [a6989586621679442526]) = Foldl1' t_a1RAr t_a1RAs
data FoldrSym0 (l_a1IKX :: TyFun (TyFun a6989586621679419907 (TyFun b6989586621679419908 b6989586621679419908 -> Type) -> Type) (TyFun b6989586621679419908 (TyFun [a6989586621679419907] b6989586621679419908 -> Type) -> Type))
data FoldrSym1 (l_a1IKV :: TyFun a6989586621679419907 (TyFun b6989586621679419908 b6989586621679419908 -> Type) -> Type) (l_a1IKU :: TyFun b6989586621679419908 (TyFun [a6989586621679419907] b6989586621679419908 -> Type))
data FoldrSym2 (l_a1IKR :: TyFun a6989586621679419907 (TyFun b6989586621679419908 b6989586621679419908 -> Type) -> Type) (l_a1IKS :: b6989586621679419908) (l_a1IKQ :: TyFun [a6989586621679419907] b6989586621679419908)
type FoldrSym3 (t_a1IKN :: TyFun a6989586621679419907 (TyFun b6989586621679419908 b6989586621679419908 -> Type) -> Type) (t_a1IKO :: b6989586621679419908) (t_a1IKP :: [a6989586621679419907]) = Foldr t_a1IKN t_a1IKO t_a1IKP
data Foldr1Sym0 (l_a1Rvh :: TyFun (TyFun a6989586621679442525 (TyFun a6989586621679442525 a6989586621679442525 -> Type) -> Type) (TyFun [a6989586621679442525] a6989586621679442525 -> Type))
data Foldr1Sym1 (l_a1Rvf :: TyFun a6989586621679442525 (TyFun a6989586621679442525 a6989586621679442525 -> Type) -> Type) (l_a1Rve :: TyFun [a6989586621679442525] a6989586621679442525)
type Foldr1Sym2 (t_a1Rvc :: TyFun a6989586621679442525 (TyFun a6989586621679442525 a6989586621679442525 -> Type) -> Type) (t_a1Rvd :: [a6989586621679442525]) = Foldr1 t_a1Rvc t_a1Rvd
data ConcatSym0 (l_a1Rv8 :: TyFun [[a6989586621679442524]] [a6989586621679442524])
type ConcatSym1 (t_a1Rv7 :: [[a6989586621679442524]]) = Concat t_a1Rv7
data ConcatMapSym0 (l_a1RuX :: TyFun (TyFun a6989586621679442522 [b6989586621679442523] -> Type) (TyFun [a6989586621679442522] [b6989586621679442523] -> Type))
data ConcatMapSym1 (l_a1RuV :: TyFun a6989586621679442522 [b6989586621679442523] -> Type) (l_a1RuU :: TyFun [a6989586621679442522] [b6989586621679442523])
type ConcatMapSym2 (t_a1RuS :: TyFun a6989586621679442522 [b6989586621679442523] -> Type) (t_a1RuT :: [a6989586621679442522]) = ConcatMap t_a1RuS t_a1RuT
data AndSym0 (l_a1RuN :: TyFun [Bool] Bool)
type AndSym1 (t_a1RuM :: [Bool]) = And t_a1RuM
data OrSym0 (l_a1RuH :: TyFun [Bool] Bool)
type OrSym1 (t_a1RuG :: [Bool]) = Or t_a1RuG
data AnySym0 (l_a1Rsd :: TyFun (TyFun a6989586621679442520 Bool -> Type) (TyFun [a6989586621679442520] Bool -> Type))
data AnySym1 (l_a1Rsb :: TyFun a6989586621679442520 Bool -> Type) (l_a1Rsa :: TyFun [a6989586621679442520] Bool)
type AnySym2 (t_a1Rs8 :: TyFun a6989586621679442520 Bool -> Type) (t_a1Rs9 :: [a6989586621679442520]) = Any t_a1Rs8 t_a1Rs9
data AllSym0 (l_a1Ruz :: TyFun (TyFun a6989586621679442521 Bool -> Type) (TyFun [a6989586621679442521] Bool -> Type))
data AllSym1 (l_a1Rux :: TyFun a6989586621679442521 Bool -> Type) (l_a1Ruw :: TyFun [a6989586621679442521] Bool)
type AllSym2 (t_a1Ruu :: TyFun a6989586621679442521 Bool -> Type) (t_a1Ruv :: [a6989586621679442521]) = All t_a1Ruu t_a1Ruv
data ScanlSym0 (l_a1RrJ :: TyFun (TyFun b6989586621679442518 (TyFun a6989586621679442519 b6989586621679442518 -> Type) -> Type) (TyFun b6989586621679442518 (TyFun [a6989586621679442519] [b6989586621679442518] -> Type) -> Type))
data ScanlSym1 (l_a1RrH :: TyFun b6989586621679442518 (TyFun a6989586621679442519 b6989586621679442518 -> Type) -> Type) (l_a1RrG :: TyFun b6989586621679442518 (TyFun [a6989586621679442519] [b6989586621679442518] -> Type))
data ScanlSym2 (l_a1RrD :: TyFun b6989586621679442518 (TyFun a6989586621679442519 b6989586621679442518 -> Type) -> Type) (l_a1RrE :: b6989586621679442518) (l_a1RrC :: TyFun [a6989586621679442519] [b6989586621679442518])
type ScanlSym3 (t_a1Rrz :: TyFun b6989586621679442518 (TyFun a6989586621679442519 b6989586621679442518 -> Type) -> Type) (t_a1RrA :: b6989586621679442518) (t_a1RrB :: [a6989586621679442519]) = Scanl t_a1Rrz t_a1RrA t_a1RrB
data Scanl1Sym0 (l_a1Rs1 :: TyFun (TyFun a6989586621679442517 (TyFun a6989586621679442517 a6989586621679442517 -> Type) -> Type) (TyFun [a6989586621679442517] [a6989586621679442517] -> Type))
data Scanl1Sym1 (l_a1RrZ :: TyFun a6989586621679442517 (TyFun a6989586621679442517 a6989586621679442517 -> Type) -> Type) (l_a1RrY :: TyFun [a6989586621679442517] [a6989586621679442517])
type Scanl1Sym2 (t_a1RrW :: TyFun a6989586621679442517 (TyFun a6989586621679442517 a6989586621679442517 -> Type) -> Type) (t_a1RrX :: [a6989586621679442517]) = Scanl1 t_a1RrW t_a1RrX
data ScanrSym0 (l_a1Rr1 :: TyFun (TyFun a6989586621679442515 (TyFun b6989586621679442516 b6989586621679442516 -> Type) -> Type) (TyFun b6989586621679442516 (TyFun [a6989586621679442515] [b6989586621679442516] -> Type) -> Type))
data ScanrSym1 (l_a1RqZ :: TyFun a6989586621679442515 (TyFun b6989586621679442516 b6989586621679442516 -> Type) -> Type) (l_a1RqY :: TyFun b6989586621679442516 (TyFun [a6989586621679442515] [b6989586621679442516] -> Type))
data ScanrSym2 (l_a1RqV :: TyFun a6989586621679442515 (TyFun b6989586621679442516 b6989586621679442516 -> Type) -> Type) (l_a1RqW :: b6989586621679442516) (l_a1RqU :: TyFun [a6989586621679442515] [b6989586621679442516])
type ScanrSym3 (t_a1RqR :: TyFun a6989586621679442515 (TyFun b6989586621679442516 b6989586621679442516 -> Type) -> Type) (t_a1RqS :: b6989586621679442516) (t_a1RqT :: [a6989586621679442515]) = Scanr t_a1RqR t_a1RqS t_a1RqT
data Scanr1Sym0 (l_a1Rq1 :: TyFun (TyFun a6989586621679442514 (TyFun a6989586621679442514 a6989586621679442514 -> Type) -> Type) (TyFun [a6989586621679442514] [a6989586621679442514] -> Type))
data Scanr1Sym1 (l_a1RpZ :: TyFun a6989586621679442514 (TyFun a6989586621679442514 a6989586621679442514 -> Type) -> Type) (l_a1RpY :: TyFun [a6989586621679442514] [a6989586621679442514])
type Scanr1Sym2 (t_a1RpW :: TyFun a6989586621679442514 (TyFun a6989586621679442514 a6989586621679442514 -> Type) -> Type) (t_a1RpX :: [a6989586621679442514]) = Scanr1 t_a1RpW t_a1RpX
data MapAccumLSym0 (l_a1Rnz :: TyFun (TyFun acc6989586621679442511 (TyFun x6989586621679442512 (acc6989586621679442511, y6989586621679442513) -> Type) -> Type) (TyFun acc6989586621679442511 (TyFun [x6989586621679442512] (acc6989586621679442511, [y6989586621679442513]) -> Type) -> Type))
data MapAccumLSym1 (l_a1Rnx :: TyFun acc6989586621679442511 (TyFun x6989586621679442512 (acc6989586621679442511, y6989586621679442513) -> Type) -> Type) (l_a1Rnw :: TyFun acc6989586621679442511 (TyFun [x6989586621679442512] (acc6989586621679442511, [y6989586621679442513]) -> Type))
data MapAccumLSym2 (l_a1Rnt :: TyFun acc6989586621679442511 (TyFun x6989586621679442512 (acc6989586621679442511, y6989586621679442513) -> Type) -> Type) (l_a1Rnu :: acc6989586621679442511) (l_a1Rns :: TyFun [x6989586621679442512] (acc6989586621679442511, [y6989586621679442513]))
type MapAccumLSym3 (t_a1Rnp :: TyFun acc6989586621679442511 (TyFun x6989586621679442512 (acc6989586621679442511, y6989586621679442513) -> Type) -> Type) (t_a1Rnq :: acc6989586621679442511) (t_a1Rnr :: [x6989586621679442512]) = MapAccumL t_a1Rnp t_a1Rnq t_a1Rnr
data MapAccumRSym0 (l_a1Rl2 :: TyFun (TyFun acc6989586621679442508 (TyFun x6989586621679442509 (acc6989586621679442508, y6989586621679442510) -> Type) -> Type) (TyFun acc6989586621679442508 (TyFun [x6989586621679442509] (acc6989586621679442508, [y6989586621679442510]) -> Type) -> Type))
data MapAccumRSym1 (l_a1Rl0 :: TyFun acc6989586621679442508 (TyFun x6989586621679442509 (acc6989586621679442508, y6989586621679442510) -> Type) -> Type) (l_a1RkZ :: TyFun acc6989586621679442508 (TyFun [x6989586621679442509] (acc6989586621679442508, [y6989586621679442510]) -> Type))
data MapAccumRSym2 (l_a1RkW :: TyFun acc6989586621679442508 (TyFun x6989586621679442509 (acc6989586621679442508, y6989586621679442510) -> Type) -> Type) (l_a1RkX :: acc6989586621679442508) (l_a1RkV :: TyFun [x6989586621679442509] (acc6989586621679442508, [y6989586621679442510]))
type MapAccumRSym3 (t_a1RkS :: TyFun acc6989586621679442508 (TyFun x6989586621679442509 (acc6989586621679442508, y6989586621679442510) -> Type) -> Type) (t_a1RkT :: acc6989586621679442508) (t_a1RkU :: [x6989586621679442509]) = MapAccumR t_a1RkS t_a1RkT t_a1RkU
data UnfoldrSym0 (l_a1Rkz :: TyFun (TyFun b6989586621679442506 (Maybe (a6989586621679442507, b6989586621679442506)) -> Type) (TyFun b6989586621679442506 [a6989586621679442507] -> Type))
data UnfoldrSym1 (l_a1Rkx :: TyFun b6989586621679442506 (Maybe (a6989586621679442507, b6989586621679442506)) -> Type) (l_a1Rkw :: TyFun b6989586621679442506 [a6989586621679442507])
type UnfoldrSym2 (t_a1Rku :: TyFun b6989586621679442506 (Maybe (a6989586621679442507, b6989586621679442506)) -> Type) (t_a1Rkv :: b6989586621679442506) = Unfoldr t_a1Rku t_a1Rkv
data InitsSym0 (l_a1Rkl :: TyFun [a6989586621679442505] [[a6989586621679442505]])
type InitsSym1 (t_a1Rkk :: [a6989586621679442505]) = Inits t_a1Rkk
data TailsSym0 (l_a1Rkc :: TyFun [a6989586621679442504] [[a6989586621679442504]])
type TailsSym1 (t_a1Rkb :: [a6989586621679442504]) = Tails t_a1Rkb
data IsPrefixOfSym0 (l_a1Rk3 :: TyFun [a6989586621679442503] (TyFun [a6989586621679442503] Bool -> Type))
data IsPrefixOfSym1 (l_a1Rk1 :: [a6989586621679442503]) (l_a1Rk0 :: TyFun [a6989586621679442503] Bool)
type IsPrefixOfSym2 (t_a1RjY :: [a6989586621679442503]) (t_a1RjZ :: [a6989586621679442503]) = IsPrefixOf t_a1RjY t_a1RjZ
data IsSuffixOfSym0 (l_a1RHY :: TyFun [a6989586621679442502] (TyFun [a6989586621679442502] Bool -> Type))
data IsSuffixOfSym1 (l_a1RHW :: [a6989586621679442502]) (l_a1RHV :: TyFun [a6989586621679442502] Bool)
type IsSuffixOfSym2 (t_a1RHT :: [a6989586621679442502]) (t_a1RHU :: [a6989586621679442502]) = IsSuffixOf t_a1RHT t_a1RHU
data IsInfixOfSym0 (l_a1Rsp :: TyFun [a6989586621679442501] (TyFun [a6989586621679442501] Bool -> Type))
data IsInfixOfSym1 (l_a1Rsn :: [a6989586621679442501]) (l_a1Rsm :: TyFun [a6989586621679442501] Bool)
type IsInfixOfSym2 (t_a1Rsk :: [a6989586621679442501]) (t_a1Rsl :: [a6989586621679442501]) = IsInfixOf t_a1Rsk t_a1Rsl
data ElemSym0 (l_a1Rj8 :: TyFun a6989586621679442500 (TyFun [a6989586621679442500] Bool -> Type))
data ElemSym1 (l_a1Rj6 :: a6989586621679442500) (l_a1Rj5 :: TyFun [a6989586621679442500] Bool)
type ElemSym2 (t_a1Rj3 :: a6989586621679442500) (t_a1Rj4 :: [a6989586621679442500]) = Elem t_a1Rj3 t_a1Rj4
data NotElemSym0 (l_a1RiW :: TyFun a6989586621679442499 (TyFun [a6989586621679442499] Bool -> Type))
data NotElemSym1 (l_a1RiU :: a6989586621679442499) (l_a1RiT :: TyFun [a6989586621679442499] Bool)
type NotElemSym2 (t_a1RiR :: a6989586621679442499) (t_a1RiS :: [a6989586621679442499]) = NotElem t_a1RiR t_a1RiS
data ZipSym0 (l_a1Rhe :: TyFun [a6989586621679442497] (TyFun [b6989586621679442498] [(a6989586621679442497, b6989586621679442498)] -> Type))
data ZipSym1 (l_a1Rhc :: [a6989586621679442497]) (l_a1Rhb :: TyFun [b6989586621679442498] [(a6989586621679442497, b6989586621679442498)])
type ZipSym2 (t_a1Rh9 :: [a6989586621679442497]) (t_a1Rha :: [b6989586621679442498]) = Zip t_a1Rh9 t_a1Rha
data Zip3Sym0 (l_a1RgY :: TyFun [a6989586621679442494] (TyFun [b6989586621679442495] (TyFun [c6989586621679442496] [(a6989586621679442494, b6989586621679442495, c6989586621679442496)] -> Type) -> Type))
data Zip3Sym1 (l_a1RgW :: [a6989586621679442494]) (l_a1RgV :: TyFun [b6989586621679442495] (TyFun [c6989586621679442496] [(a6989586621679442494, b6989586621679442495, c6989586621679442496)] -> Type))
data Zip3Sym2 (l_a1RgS :: [a6989586621679442494]) (l_a1RgT :: [b6989586621679442495]) (l_a1RgR :: TyFun [c6989586621679442496] [(a6989586621679442494, b6989586621679442495, c6989586621679442496)])
type Zip3Sym3 (t_a1RgO :: [a6989586621679442494]) (t_a1RgP :: [b6989586621679442495]) (t_a1RgQ :: [c6989586621679442496]) = Zip3 t_a1RgO t_a1RgP t_a1RgQ
data ZipWithSym0 (l_a1RgE :: TyFun (TyFun a6989586621679442491 (TyFun b6989586621679442492 c6989586621679442493 -> Type) -> Type) (TyFun [a6989586621679442491] (TyFun [b6989586621679442492] [c6989586621679442493] -> Type) -> Type))
data ZipWithSym1 (l_a1RgC :: TyFun a6989586621679442491 (TyFun b6989586621679442492 c6989586621679442493 -> Type) -> Type) (l_a1RgB :: TyFun [a6989586621679442491] (TyFun [b6989586621679442492] [c6989586621679442493] -> Type))
data ZipWithSym2 (l_a1Rgy :: TyFun a6989586621679442491 (TyFun b6989586621679442492 c6989586621679442493 -> Type) -> Type) (l_a1Rgz :: [a6989586621679442491]) (l_a1Rgx :: TyFun [b6989586621679442492] [c6989586621679442493])
type ZipWithSym3 (t_a1Rgu :: TyFun a6989586621679442491 (TyFun b6989586621679442492 c6989586621679442493 -> Type) -> Type) (t_a1Rgv :: [a6989586621679442491]) (t_a1Rgw :: [b6989586621679442492]) = ZipWith t_a1Rgu t_a1Rgv t_a1Rgw
data ZipWith3Sym0 (l_a1Rgh :: TyFun (TyFun a6989586621679442487 (TyFun b6989586621679442488 (TyFun c6989586621679442489 d6989586621679442490 -> Type) -> Type) -> Type) (TyFun [a6989586621679442487] (TyFun [b6989586621679442488] (TyFun [c6989586621679442489] [d6989586621679442490] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1Rgf :: TyFun a6989586621679442487 (TyFun b6989586621679442488 (TyFun c6989586621679442489 d6989586621679442490 -> Type) -> Type) -> Type) (l_a1Rge :: TyFun [a6989586621679442487] (TyFun [b6989586621679442488] (TyFun [c6989586621679442489] [d6989586621679442490] -> Type) -> Type))
data ZipWith3Sym2 (l_a1Rgb :: TyFun a6989586621679442487 (TyFun b6989586621679442488 (TyFun c6989586621679442489 d6989586621679442490 -> Type) -> Type) -> Type) (l_a1Rgc :: [a6989586621679442487]) (l_a1Rga :: TyFun [b6989586621679442488] (TyFun [c6989586621679442489] [d6989586621679442490] -> Type))
data ZipWith3Sym3 (l_a1Rg6 :: TyFun a6989586621679442487 (TyFun b6989586621679442488 (TyFun c6989586621679442489 d6989586621679442490 -> Type) -> Type) -> Type) (l_a1Rg7 :: [a6989586621679442487]) (l_a1Rg8 :: [b6989586621679442488]) (l_a1Rg5 :: TyFun [c6989586621679442489] [d6989586621679442490])
type ZipWith3Sym4 (t_a1Rg1 :: TyFun a6989586621679442487 (TyFun b6989586621679442488 (TyFun c6989586621679442489 d6989586621679442490 -> Type) -> Type) -> Type) (t_a1Rg2 :: [a6989586621679442487]) (t_a1Rg3 :: [b6989586621679442488]) (t_a1Rg4 :: [c6989586621679442489]) = ZipWith3 t_a1Rg1 t_a1Rg2 t_a1Rg3 t_a1Rg4
data UnzipSym0 (l_a1Rfy :: TyFun [(a6989586621679442485, b6989586621679442486)] ([a6989586621679442485], [b6989586621679442486]))
type UnzipSym1 (t_a1Rfx :: [(a6989586621679442485, b6989586621679442486)]) = Unzip t_a1Rfx
data Unzip3Sym0 (l_a1Rf2 :: TyFun [(a6989586621679442482, b6989586621679442483, c6989586621679442484)] ([a6989586621679442482], [b6989586621679442483], [c6989586621679442484]))
type Unzip3Sym1 (t_a1Rf1 :: [(a6989586621679442482, b6989586621679442483, c6989586621679442484)]) = Unzip3 t_a1Rf1
data Unzip4Sym0 (l_a1Reu :: TyFun [(a6989586621679442478, b6989586621679442479, c6989586621679442480, d6989586621679442481)] ([a6989586621679442478], [b6989586621679442479], [c6989586621679442480], [d6989586621679442481]))
type Unzip4Sym1 (t_a1Ret :: [(a6989586621679442478, b6989586621679442479, c6989586621679442480, d6989586621679442481)]) = Unzip4 t_a1Ret
data Unzip5Sym0 (l_a1RdU :: TyFun [(a6989586621679442473, b6989586621679442474, c6989586621679442475, d6989586621679442476, e6989586621679442477)] ([a6989586621679442473], [b6989586621679442474], [c6989586621679442475], [d6989586621679442476], [e6989586621679442477]))
type Unzip5Sym1 (t_a1RdT :: [(a6989586621679442473, b6989586621679442474, c6989586621679442475, d6989586621679442476, e6989586621679442477)]) = Unzip5 t_a1RdT
data Unzip6Sym0 (l_a1Rdi :: TyFun [(a6989586621679442467, b6989586621679442468, c6989586621679442469, d6989586621679442470, e6989586621679442471, f6989586621679442472)] ([a6989586621679442467], [b6989586621679442468], [c6989586621679442469], [d6989586621679442470], [e6989586621679442471], [f6989586621679442472]))
type Unzip6Sym1 (t_a1Rdh :: [(a6989586621679442467, b6989586621679442468, c6989586621679442469, d6989586621679442470, e6989586621679442471, f6989586621679442472)]) = Unzip6 t_a1Rdh
data Unzip7Sym0 (l_a1RcE :: TyFun [(a6989586621679442460, b6989586621679442461, c6989586621679442462, d6989586621679442463, e6989586621679442464, f6989586621679442465, g6989586621679442466)] ([a6989586621679442460], [b6989586621679442461], [c6989586621679442462], [d6989586621679442463], [e6989586621679442464], [f6989586621679442465], [g6989586621679442466]))
type Unzip7Sym1 (t_a1RcD :: [(a6989586621679442460, b6989586621679442461, c6989586621679442462, d6989586621679442463, e6989586621679442464, f6989586621679442465, g6989586621679442466)]) = Unzip7 t_a1RcD
data DeleteSym0 (l_a1RbQ :: TyFun a6989586621679442459 (TyFun [a6989586621679442459] [a6989586621679442459] -> Type))
data DeleteSym1 (l_a1RbO :: a6989586621679442459) (l_a1RbN :: TyFun [a6989586621679442459] [a6989586621679442459])
type DeleteSym2 (t_a1RbL :: a6989586621679442459) (t_a1RbM :: [a6989586621679442459]) = Delete t_a1RbL t_a1RbM
data (\\@#@$) (l_a1Rc5 :: TyFun [a6989586621679442458] (TyFun [a6989586621679442458] [a6989586621679442458] -> Type))
data (\\@#@$$) (l_a1Rc3 :: [a6989586621679442458]) (l_a1Rc2 :: TyFun [a6989586621679442458] [a6989586621679442458])
type (\\@#@$$$) (t_a1Rc0 :: [a6989586621679442458]) (t_a1Rc1 :: [a6989586621679442458]) = (\\) t_a1Rc0 t_a1Rc1
data IntersectSym0 (l_a1Ruo :: TyFun [a6989586621679442445] (TyFun [a6989586621679442445] [a6989586621679442445] -> Type))
data IntersectSym1 (l_a1Rum :: [a6989586621679442445]) (l_a1Rul :: TyFun [a6989586621679442445] [a6989586621679442445])
type IntersectSym2 (t_a1Ruj :: [a6989586621679442445]) (t_a1Ruk :: [a6989586621679442445]) = Intersect t_a1Ruj t_a1Ruk
data InsertSym0 (l_a1R9J :: TyFun a6989586621679442432 (TyFun [a6989586621679442432] [a6989586621679442432] -> Type))
data InsertSym1 (l_a1R9H :: a6989586621679442432) (l_a1R9G :: TyFun [a6989586621679442432] [a6989586621679442432])
type InsertSym2 (t_a1R9E :: a6989586621679442432) (t_a1R9F :: [a6989586621679442432]) = Insert t_a1R9E t_a1R9F
data SortSym0 (l_a1Ra5 :: TyFun [a6989586621679442431] [a6989586621679442431])
type SortSym1 (t_a1Ra4 :: [a6989586621679442431]) = Sort t_a1Ra4
data DeleteBySym0 (l_a1Raj :: TyFun (TyFun a6989586621679442457 (TyFun a6989586621679442457 Bool -> Type) -> Type) (TyFun a6989586621679442457 (TyFun [a6989586621679442457] [a6989586621679442457] -> Type) -> Type))
data DeleteBySym1 (l_a1Rah :: TyFun a6989586621679442457 (TyFun a6989586621679442457 Bool -> Type) -> Type) (l_a1Rag :: TyFun a6989586621679442457 (TyFun [a6989586621679442457] [a6989586621679442457] -> Type))
data DeleteBySym2 (l_a1Rad :: TyFun a6989586621679442457 (TyFun a6989586621679442457 Bool -> Type) -> Type) (l_a1Rae :: a6989586621679442457) (l_a1Rac :: TyFun [a6989586621679442457] [a6989586621679442457])
type DeleteBySym3 (t_a1Ra9 :: TyFun a6989586621679442457 (TyFun a6989586621679442457 Bool -> Type) -> Type) (t_a1Raa :: a6989586621679442457) (t_a1Rab :: [a6989586621679442457]) = DeleteBy t_a1Ra9 t_a1Raa t_a1Rab
data DeleteFirstsBySym0 (l_a1RaY :: TyFun (TyFun a6989586621679442456 (TyFun a6989586621679442456 Bool -> Type) -> Type) (TyFun [a6989586621679442456] (TyFun [a6989586621679442456] [a6989586621679442456] -> Type) -> Type))
data DeleteFirstsBySym1 (l_a1RaW :: TyFun a6989586621679442456 (TyFun a6989586621679442456 Bool -> Type) -> Type) (l_a1RaV :: TyFun [a6989586621679442456] (TyFun [a6989586621679442456] [a6989586621679442456] -> Type))
data DeleteFirstsBySym2 (l_a1RaS :: TyFun a6989586621679442456 (TyFun a6989586621679442456 Bool -> Type) -> Type) (l_a1RaT :: [a6989586621679442456]) (l_a1RaR :: TyFun [a6989586621679442456] [a6989586621679442456])
type DeleteFirstsBySym3 (t_a1RaO :: TyFun a6989586621679442456 (TyFun a6989586621679442456 Bool -> Type) -> Type) (t_a1RaP :: [a6989586621679442456]) (t_a1RaQ :: [a6989586621679442456]) = DeleteFirstsBy t_a1RaO t_a1RaP t_a1RaQ
data IntersectBySym0 (l_a1RsF :: TyFun (TyFun a6989586621679442444 (TyFun a6989586621679442444 Bool -> Type) -> Type) (TyFun [a6989586621679442444] (TyFun [a6989586621679442444] [a6989586621679442444] -> Type) -> Type))
data IntersectBySym1 (l_a1RsD :: TyFun a6989586621679442444 (TyFun a6989586621679442444 Bool -> Type) -> Type) (l_a1RsC :: TyFun [a6989586621679442444] (TyFun [a6989586621679442444] [a6989586621679442444] -> Type))
data IntersectBySym2 (l_a1Rsz :: TyFun a6989586621679442444 (TyFun a6989586621679442444 Bool -> Type) -> Type) (l_a1RsA :: [a6989586621679442444]) (l_a1Rsy :: TyFun [a6989586621679442444] [a6989586621679442444])
data SortBySym0 (l_a1R9U :: TyFun (TyFun a6989586621679442455 (TyFun a6989586621679442455 Ordering -> Type) -> Type) (TyFun [a6989586621679442455] [a6989586621679442455] -> Type))
data SortBySym1 (l_a1R9S :: TyFun a6989586621679442455 (TyFun a6989586621679442455 Ordering -> Type) -> Type) (l_a1R9R :: TyFun [a6989586621679442455] [a6989586621679442455])
type SortBySym2 (t_a1R9P :: TyFun a6989586621679442455 (TyFun a6989586621679442455 Ordering -> Type) -> Type) (t_a1R9Q :: [a6989586621679442455]) = SortBy t_a1R9P t_a1R9Q
data InsertBySym0 (l_a1R8P :: TyFun (TyFun a6989586621679442454 (TyFun a6989586621679442454 Ordering -> Type) -> Type) (TyFun a6989586621679442454 (TyFun [a6989586621679442454] [a6989586621679442454] -> Type) -> Type))
data InsertBySym1 (l_a1R8N :: TyFun a6989586621679442454 (TyFun a6989586621679442454 Ordering -> Type) -> Type) (l_a1R8M :: TyFun a6989586621679442454 (TyFun [a6989586621679442454] [a6989586621679442454] -> Type))
data InsertBySym2 (l_a1R8J :: TyFun a6989586621679442454 (TyFun a6989586621679442454 Ordering -> Type) -> Type) (l_a1R8K :: a6989586621679442454) (l_a1R8I :: TyFun [a6989586621679442454] [a6989586621679442454])
type InsertBySym3 (t_a1R8F :: TyFun a6989586621679442454 (TyFun a6989586621679442454 Ordering -> Type) -> Type) (t_a1R8G :: a6989586621679442454) (t_a1R8H :: [a6989586621679442454]) = InsertBy t_a1R8F t_a1R8G t_a1R8H
data MaximumBySym0 (l_a1Rw0 :: TyFun (TyFun a6989586621679442453 (TyFun a6989586621679442453 Ordering -> Type) -> Type) (TyFun [a6989586621679442453] a6989586621679442453 -> Type))
data MaximumBySym1 (l_a1RvY :: TyFun a6989586621679442453 (TyFun a6989586621679442453 Ordering -> Type) -> Type) (l_a1RvX :: TyFun [a6989586621679442453] a6989586621679442453)
type MaximumBySym2 (t_a1RvV :: TyFun a6989586621679442453 (TyFun a6989586621679442453 Ordering -> Type) -> Type) (t_a1RvW :: [a6989586621679442453]) = MaximumBy t_a1RvV t_a1RvW
data MinimumBySym0 (l_a1Rxm :: TyFun (TyFun a6989586621679442452 (TyFun a6989586621679442452 Ordering -> Type) -> Type) (TyFun [a6989586621679442452] a6989586621679442452 -> Type))
data MinimumBySym1 (l_a1Rxk :: TyFun a6989586621679442452 (TyFun a6989586621679442452 Ordering -> Type) -> Type) (l_a1Rxj :: TyFun [a6989586621679442452] a6989586621679442452)
type MinimumBySym2 (t_a1Rxh :: TyFun a6989586621679442452 (TyFun a6989586621679442452 Ordering -> Type) -> Type) (t_a1Rxi :: [a6989586621679442452]) = MinimumBy t_a1Rxh t_a1Rxi
data LengthSym0 (l_a1QZr :: TyFun [a6989586621679442423] Nat)
type LengthSym1 (t_a1QZq :: [a6989586621679442423]) = Length t_a1QZq
data SumSym0 (l_a1QZU :: TyFun [a6989586621679442425] a6989586621679442425)
type SumSym1 (t_a1QZT :: [a6989586621679442425]) = Sum t_a1QZT
data ProductSym0 (l_a1QZw :: TyFun [a6989586621679442424] a6989586621679442424)
type ProductSym1 (t_a1QZv :: [a6989586621679442424]) = Product t_a1QZv
data ReplicateSym0 (l_a1QZ9 :: TyFun Nat (TyFun a6989586621679442422 [a6989586621679442422] -> Type))
data ReplicateSym1 (l_a1QZ7 :: Nat) (l_a1QZ6 :: TyFun a6989586621679442422 [a6989586621679442422])
type ReplicateSym2 (t_a1QZ4 :: Nat) (t_a1QZ5 :: a6989586621679442422) = Replicate t_a1QZ4 t_a1QZ5
data TransposeSym0 (l_a1RJR :: TyFun [[a6989586621679442421]] [[a6989586621679442421]])
type TransposeSym1 (t_a1RJQ :: [[a6989586621679442421]]) = Transpose t_a1RJQ
data TakeSym0 (l_a1R2e :: TyFun Nat (TyFun [a6989586621679442438] [a6989586621679442438] -> Type))
data TakeSym1 (l_a1R2c :: Nat) (l_a1R2b :: TyFun [a6989586621679442438] [a6989586621679442438])
type TakeSym2 (t_a1R29 :: Nat) (t_a1R2a :: [a6989586621679442438]) = Take t_a1R29 t_a1R2a
data DropSym0 (l_a1R1M :: TyFun Nat (TyFun [a6989586621679442437] [a6989586621679442437] -> Type))
data DropSym1 (l_a1R1K :: Nat) (l_a1R1J :: TyFun [a6989586621679442437] [a6989586621679442437])
type DropSym2 (t_a1R1H :: Nat) (t_a1R1I :: [a6989586621679442437]) = Drop t_a1R1H t_a1R1I
data SplitAtSym0 (l_a1R2G :: TyFun Nat (TyFun [a6989586621679442436] ([a6989586621679442436], [a6989586621679442436]) -> Type))
data SplitAtSym1 (l_a1R2E :: Nat) (l_a1R2D :: TyFun [a6989586621679442436] ([a6989586621679442436], [a6989586621679442436]))
type SplitAtSym2 (t_a1R2B :: Nat) (t_a1R2C :: [a6989586621679442436]) = SplitAt t_a1R2B t_a1R2C
data TakeWhileSym0 (l_a1R7C :: TyFun (TyFun a6989586621679442443 Bool -> Type) (TyFun [a6989586621679442443] [a6989586621679442443] -> Type))
data TakeWhileSym1 (l_a1R7A :: TyFun a6989586621679442443 Bool -> Type) (l_a1R7z :: TyFun [a6989586621679442443] [a6989586621679442443])
type TakeWhileSym2 (t_a1R7x :: TyFun a6989586621679442443 Bool -> Type) (t_a1R7y :: [a6989586621679442443]) = TakeWhile t_a1R7x t_a1R7y
data DropWhileSym0 (l_a1R6X :: TyFun (TyFun a6989586621679442442 Bool -> Type) (TyFun [a6989586621679442442] [a6989586621679442442] -> Type))
data DropWhileSym1 (l_a1R6V :: TyFun a6989586621679442442 Bool -> Type) (l_a1R6U :: TyFun [a6989586621679442442] [a6989586621679442442])
type DropWhileSym2 (t_a1R6S :: TyFun a6989586621679442442 Bool -> Type) (t_a1R6T :: [a6989586621679442442]) = DropWhile t_a1R6S t_a1R6T
data DropWhileEndSym0 (l_a1RId :: TyFun (TyFun a6989586621679442441 Bool -> Type) (TyFun [a6989586621679442441] [a6989586621679442441] -> Type))
data DropWhileEndSym1 (l_a1RIb :: TyFun a6989586621679442441 Bool -> Type) (l_a1RIa :: TyFun [a6989586621679442441] [a6989586621679442441])
type DropWhileEndSym2 (t_a1RI8 :: TyFun a6989586621679442441 Bool -> Type) (t_a1RI9 :: [a6989586621679442441]) = DropWhileEnd t_a1RI8 t_a1RI9
data SpanSym0 (l_a1R4m :: TyFun (TyFun a6989586621679442440 Bool -> Type) (TyFun [a6989586621679442440] ([a6989586621679442440], [a6989586621679442440]) -> Type))
data SpanSym1 (l_a1R4k :: TyFun a6989586621679442440 Bool -> Type) (l_a1R4j :: TyFun [a6989586621679442440] ([a6989586621679442440], [a6989586621679442440]))
type SpanSym2 (t_a1R4h :: TyFun a6989586621679442440 Bool -> Type) (t_a1R4i :: [a6989586621679442440]) = Span t_a1R4h t_a1R4i
data BreakSym0 (l_a1R2R :: TyFun (TyFun a6989586621679442439 Bool -> Type) (TyFun [a6989586621679442439] ([a6989586621679442439], [a6989586621679442439]) -> Type))
data BreakSym1 (l_a1R2P :: TyFun a6989586621679442439 Bool -> Type) (l_a1R2O :: TyFun [a6989586621679442439] ([a6989586621679442439], [a6989586621679442439]))
type BreakSym2 (t_a1R2M :: TyFun a6989586621679442439 Bool -> Type) (t_a1R2N :: [a6989586621679442439]) = Break t_a1R2M t_a1R2N
data StripPrefixSym0 (l_a3SLb :: TyFun [a6989586621679922315] (TyFun [a6989586621679922315] (Maybe [a6989586621679922315]) -> Type))
data StripPrefixSym1 (l_a3SL9 :: [a6989586621679922315]) (l_a3SL8 :: TyFun [a6989586621679922315] (Maybe [a6989586621679922315]))
type StripPrefixSym2 (t_a3SL6 :: [a6989586621679922315]) (t_a3SL7 :: [a6989586621679922315]) = StripPrefix t_a3SL6 t_a3SL7
data MaximumSym0 (l_a1RyE :: TyFun [a6989586621679442434] a6989586621679442434)
type MaximumSym1 (t_a1RyD :: [a6989586621679442434]) = Maximum t_a1RyD
data MinimumSym0 (l_a1RyS :: TyFun [a6989586621679442433] a6989586621679442433)
type MinimumSym1 (t_a1RyR :: [a6989586621679442433]) = Minimum t_a1RyR
data GroupSym0 (l_a1R6O :: TyFun [a6989586621679442435] [[a6989586621679442435]])
type GroupSym1 (t_a1R6N :: [a6989586621679442435]) = Group t_a1R6N
data GroupBySym0 (l_a1R5R :: TyFun (TyFun a6989586621679442430 (TyFun a6989586621679442430 Bool -> Type) -> Type) (TyFun [a6989586621679442430] [[a6989586621679442430]] -> Type))
data GroupBySym1 (l_a1R5P :: TyFun a6989586621679442430 (TyFun a6989586621679442430 Bool -> Type) -> Type) (l_a1R5O :: TyFun [a6989586621679442430] [[a6989586621679442430]])
type GroupBySym2 (t_a1R5M :: TyFun a6989586621679442430 (TyFun a6989586621679442430 Bool -> Type) -> Type) (t_a1R5N :: [a6989586621679442430]) = GroupBy t_a1R5M t_a1R5N
data LookupSym0 (l_a1R1c :: TyFun a6989586621679442428 (TyFun [(a6989586621679442428, b6989586621679442429)] (Maybe b6989586621679442429) -> Type))
data LookupSym1 (l_a1R1a :: a6989586621679442428) (l_a1R19 :: TyFun [(a6989586621679442428, b6989586621679442429)] (Maybe b6989586621679442429))
type LookupSym2 (t_a1R17 :: a6989586621679442428) (t_a1R18 :: [(a6989586621679442428, b6989586621679442429)]) = Lookup t_a1R17 t_a1R18
data FindSym0 (l_a1R8x :: TyFun (TyFun a6989586621679442450 Bool -> Type) (TyFun [a6989586621679442450] (Maybe a6989586621679442450) -> Type))
data FindSym1 (l_a1R8v :: TyFun a6989586621679442450 Bool -> Type) (l_a1R8u :: TyFun [a6989586621679442450] (Maybe a6989586621679442450))
type FindSym2 (t_a1R8s :: TyFun a6989586621679442450 Bool -> Type) (t_a1R8t :: [a6989586621679442450]) = Find t_a1R8s t_a1R8t
data FilterSym0 (l_a1R84 :: TyFun (TyFun a6989586621679442451 Bool -> Type) (TyFun [a6989586621679442451] [a6989586621679442451] -> Type))
data FilterSym1 (l_a1R82 :: TyFun a6989586621679442451 Bool -> Type) (l_a1R81 :: TyFun [a6989586621679442451] [a6989586621679442451])
type FilterSym2 (t_a1R7Z :: TyFun a6989586621679442451 Bool -> Type) (t_a1R80 :: [a6989586621679442451]) = Filter t_a1R7Z t_a1R80
data PartitionSym0 (l_a1R11 :: TyFun (TyFun a6989586621679442427 Bool -> Type) (TyFun [a6989586621679442427] ([a6989586621679442427], [a6989586621679442427]) -> Type))
data PartitionSym1 (l_a1R0Z :: TyFun a6989586621679442427 Bool -> Type) (l_a1R0Y :: TyFun [a6989586621679442427] ([a6989586621679442427], [a6989586621679442427]))
type PartitionSym2 (t_a1R0W :: TyFun a6989586621679442427 Bool -> Type) (t_a1R0X :: [a6989586621679442427]) = Partition t_a1R0W t_a1R0X
data (!!@#@$) (l_a1QYH :: TyFun [a6989586621679442420] (TyFun Nat a6989586621679442420 -> Type))
data (!!@#@$$) (l_a1QYF :: [a6989586621679442420]) (l_a1QYE :: TyFun Nat a6989586621679442420)
type (!!@#@$$$) (t_a1QYC :: [a6989586621679442420]) (t_a1QYD :: Nat) = (!!) t_a1QYC t_a1QYD
data ElemIndexSym0 (l_a1RiJ :: TyFun a6989586621679442449 (TyFun [a6989586621679442449] (Maybe Nat) -> Type))
data ElemIndexSym1 (l_a1RiH :: a6989586621679442449) (l_a1RiG :: TyFun [a6989586621679442449] (Maybe Nat))
type ElemIndexSym2 (t_a1RiE :: a6989586621679442449) (t_a1RiF :: [a6989586621679442449]) = ElemIndex t_a1RiE t_a1RiF
data ElemIndicesSym0 (l_a1Rij :: TyFun a6989586621679442448 (TyFun [a6989586621679442448] [Nat] -> Type))
data ElemIndicesSym1 (l_a1Rih :: a6989586621679442448) (l_a1Rig :: TyFun [a6989586621679442448] [Nat])
type ElemIndicesSym2 (t_a1Rie :: a6989586621679442448) (t_a1Rif :: [a6989586621679442448]) = ElemIndices t_a1Rie t_a1Rif
data FindIndexSym0 (l_a1Riw :: TyFun (TyFun a6989586621679442447 Bool -> Type) (TyFun [a6989586621679442447] (Maybe Nat) -> Type))
data FindIndexSym1 (l_a1Riu :: TyFun a6989586621679442447 Bool -> Type) (l_a1Rit :: TyFun [a6989586621679442447] (Maybe Nat))
type FindIndexSym2 (t_a1Rir :: TyFun a6989586621679442447 Bool -> Type) (t_a1Ris :: [a6989586621679442447]) = FindIndex t_a1Rir t_a1Ris
data FindIndicesSym0 (l_a1Rhr :: TyFun (TyFun a6989586621679442446 Bool -> Type) (TyFun [a6989586621679442446] [Nat] -> Type))
data FindIndicesSym1 (l_a1Rhp :: TyFun a6989586621679442446 Bool -> Type) (l_a1Rho :: TyFun [a6989586621679442446] [Nat])
type FindIndicesSym2 (t_a1Rhm :: TyFun a6989586621679442446 Bool -> Type) (t_a1Rhn :: [a6989586621679442446]) = FindIndices t_a1Rhm t_a1Rhn
data Zip4Sym0 (l_a3SKW :: TyFun [a6989586621679922311] (TyFun [b6989586621679922312] (TyFun [c6989586621679922313] (TyFun [d6989586621679922314] [(a6989586621679922311, b6989586621679922312, c6989586621679922313, d6989586621679922314)] -> Type) -> Type) -> Type))
data Zip4Sym1 (l_a3SKU :: [a6989586621679922311]) (l_a3SKT :: TyFun [b6989586621679922312] (TyFun [c6989586621679922313] (TyFun [d6989586621679922314] [(a6989586621679922311, b6989586621679922312, c6989586621679922313, d6989586621679922314)] -> Type) -> Type))
data Zip4Sym2 (l_a3SKQ :: [a6989586621679922311]) (l_a3SKR :: [b6989586621679922312]) (l_a3SKP :: TyFun [c6989586621679922313] (TyFun [d6989586621679922314] [(a6989586621679922311, b6989586621679922312, c6989586621679922313, d6989586621679922314)] -> Type))
data Zip4Sym3 (l_a3SKL :: [a6989586621679922311]) (l_a3SKM :: [b6989586621679922312]) (l_a3SKN :: [c6989586621679922313]) (l_a3SKK :: TyFun [d6989586621679922314] [(a6989586621679922311, b6989586621679922312, c6989586621679922313, d6989586621679922314)])
type Zip4Sym4 (t_a3SKG :: [a6989586621679922311]) (t_a3SKH :: [b6989586621679922312]) (t_a3SKI :: [c6989586621679922313]) (t_a3SKJ :: [d6989586621679922314]) = Zip4 t_a3SKG t_a3SKH t_a3SKI t_a3SKJ
data Zip5Sym0 (l_a3SKm :: TyFun [a6989586621679922306] (TyFun [b6989586621679922307] (TyFun [c6989586621679922308] (TyFun [d6989586621679922309] (TyFun [e6989586621679922310] [(a6989586621679922306, b6989586621679922307, c6989586621679922308, d6989586621679922309, e6989586621679922310)] -> Type) -> Type) -> Type) -> Type))
data Zip5Sym1 (l_a3SKk :: [a6989586621679922306]) (l_a3SKj :: TyFun [b6989586621679922307] (TyFun [c6989586621679922308] (TyFun [d6989586621679922309] (TyFun [e6989586621679922310] [(a6989586621679922306, b6989586621679922307, c6989586621679922308, d6989586621679922309, e6989586621679922310)] -> Type) -> Type) -> Type))
data Zip5Sym2 (l_a3SKg :: [a6989586621679922306]) (l_a3SKh :: [b6989586621679922307]) (l_a3SKf :: TyFun [c6989586621679922308] (TyFun [d6989586621679922309] (TyFun [e6989586621679922310] [(a6989586621679922306, b6989586621679922307, c6989586621679922308, d6989586621679922309, e6989586621679922310)] -> Type) -> Type))
data Zip5Sym3 (l_a3SKb :: [a6989586621679922306]) (l_a3SKc :: [b6989586621679922307]) (l_a3SKd :: [c6989586621679922308]) (l_a3SKa :: TyFun [d6989586621679922309] (TyFun [e6989586621679922310] [(a6989586621679922306, b6989586621679922307, c6989586621679922308, d6989586621679922309, e6989586621679922310)] -> Type))
data Zip5Sym4 (l_a3SK5 :: [a6989586621679922306]) (l_a3SK6 :: [b6989586621679922307]) (l_a3SK7 :: [c6989586621679922308]) (l_a3SK8 :: [d6989586621679922309]) (l_a3SK4 :: TyFun [e6989586621679922310] [(a6989586621679922306, b6989586621679922307, c6989586621679922308, d6989586621679922309, e6989586621679922310)])
type Zip5Sym5 (t_a3SJZ :: [a6989586621679922306]) (t_a3SK0 :: [b6989586621679922307]) (t_a3SK1 :: [c6989586621679922308]) (t_a3SK2 :: [d6989586621679922309]) (t_a3SK3 :: [e6989586621679922310]) = Zip5 t_a3SJZ t_a3SK0 t_a3SK1 t_a3SK2 t_a3SK3
data Zip6Sym0 (l_a3SJB :: TyFun [a6989586621679922300] (TyFun [b6989586621679922301] (TyFun [c6989586621679922302] (TyFun [d6989586621679922303] (TyFun [e6989586621679922304] (TyFun [f6989586621679922305] [(a6989586621679922300, b6989586621679922301, c6989586621679922302, d6989586621679922303, e6989586621679922304, f6989586621679922305)] -> Type) -> Type) -> Type) -> Type) -> Type))
data Zip6Sym1 (l_a3SJz :: [a6989586621679922300]) (l_a3SJy :: TyFun [b6989586621679922301] (TyFun [c6989586621679922302] (TyFun [d6989586621679922303] (TyFun [e6989586621679922304] (TyFun [f6989586621679922305] [(a6989586621679922300, b6989586621679922301, c6989586621679922302, d6989586621679922303, e6989586621679922304, f6989586621679922305)] -> Type) -> Type) -> Type) -> Type))
data Zip6Sym2 (l_a3SJv :: [a6989586621679922300]) (l_a3SJw :: [b6989586621679922301]) (l_a3SJu :: TyFun [c6989586621679922302] (TyFun [d6989586621679922303] (TyFun [e6989586621679922304] (TyFun [f6989586621679922305] [(a6989586621679922300, b6989586621679922301, c6989586621679922302, d6989586621679922303, e6989586621679922304, f6989586621679922305)] -> Type) -> Type) -> Type))
data Zip6Sym3 (l_a3SJq :: [a6989586621679922300]) (l_a3SJr :: [b6989586621679922301]) (l_a3SJs :: [c6989586621679922302]) (l_a3SJp :: TyFun [d6989586621679922303] (TyFun [e6989586621679922304] (TyFun [f6989586621679922305] [(a6989586621679922300, b6989586621679922301, c6989586621679922302, d6989586621679922303, e6989586621679922304, f6989586621679922305)] -> Type) -> Type))
data Zip6Sym4 (l_a3SJk :: [a6989586621679922300]) (l_a3SJl :: [b6989586621679922301]) (l_a3SJm :: [c6989586621679922302]) (l_a3SJn :: [d6989586621679922303]) (l_a3SJj :: TyFun [e6989586621679922304] (TyFun [f6989586621679922305] [(a6989586621679922300, b6989586621679922301, c6989586621679922302, d6989586621679922303, e6989586621679922304, f6989586621679922305)] -> Type))
data Zip6Sym5 (l_a3SJd :: [a6989586621679922300]) (l_a3SJe :: [b6989586621679922301]) (l_a3SJf :: [c6989586621679922302]) (l_a3SJg :: [d6989586621679922303]) (l_a3SJh :: [e6989586621679922304]) (l_a3SJc :: TyFun [f6989586621679922305] [(a6989586621679922300, b6989586621679922301, c6989586621679922302, d6989586621679922303, e6989586621679922304, f6989586621679922305)])
type Zip6Sym6 (t_a3SJ6 :: [a6989586621679922300]) (t_a3SJ7 :: [b6989586621679922301]) (t_a3SJ8 :: [c6989586621679922302]) (t_a3SJ9 :: [d6989586621679922303]) (t_a3SJa :: [e6989586621679922304]) (t_a3SJb :: [f6989586621679922305]) = Zip6 t_a3SJ6 t_a3SJ7 t_a3SJ8 t_a3SJ9 t_a3SJa t_a3SJb
data Zip7Sym0 (l_a3SIE :: TyFun [a6989586621679922293] (TyFun [b6989586621679922294] (TyFun [c6989586621679922295] (TyFun [d6989586621679922296] (TyFun [e6989586621679922297] (TyFun [f6989586621679922298] (TyFun [g6989586621679922299] [(a6989586621679922293, b6989586621679922294, c6989586621679922295, d6989586621679922296, e6989586621679922297, f6989586621679922298, g6989586621679922299)] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data Zip7Sym1 (l_a3SIC :: [a6989586621679922293]) (l_a3SIB :: TyFun [b6989586621679922294] (TyFun [c6989586621679922295] (TyFun [d6989586621679922296] (TyFun [e6989586621679922297] (TyFun [f6989586621679922298] (TyFun [g6989586621679922299] [(a6989586621679922293, b6989586621679922294, c6989586621679922295, d6989586621679922296, e6989586621679922297, f6989586621679922298, g6989586621679922299)] -> Type) -> Type) -> Type) -> Type) -> Type))
data Zip7Sym2 (l_a3SIy :: [a6989586621679922293]) (l_a3SIz :: [b6989586621679922294]) (l_a3SIx :: TyFun [c6989586621679922295] (TyFun [d6989586621679922296] (TyFun [e6989586621679922297] (TyFun [f6989586621679922298] (TyFun [g6989586621679922299] [(a6989586621679922293, b6989586621679922294, c6989586621679922295, d6989586621679922296, e6989586621679922297, f6989586621679922298, g6989586621679922299)] -> Type) -> Type) -> Type) -> Type))
data Zip7Sym3 (l_a3SIt :: [a6989586621679922293]) (l_a3SIu :: [b6989586621679922294]) (l_a3SIv :: [c6989586621679922295]) (l_a3SIs :: TyFun [d6989586621679922296] (TyFun [e6989586621679922297] (TyFun [f6989586621679922298] (TyFun [g6989586621679922299] [(a6989586621679922293, b6989586621679922294, c6989586621679922295, d6989586621679922296, e6989586621679922297, f6989586621679922298, g6989586621679922299)] -> Type) -> Type) -> Type))
data Zip7Sym4 (l_a3SIn :: [a6989586621679922293]) (l_a3SIo :: [b6989586621679922294]) (l_a3SIp :: [c6989586621679922295]) (l_a3SIq :: [d6989586621679922296]) (l_a3SIm :: TyFun [e6989586621679922297] (TyFun [f6989586621679922298] (TyFun [g6989586621679922299] [(a6989586621679922293, b6989586621679922294, c6989586621679922295, d6989586621679922296, e6989586621679922297, f6989586621679922298, g6989586621679922299)] -> Type) -> Type))
data Zip7Sym5 (l_a3SIg :: [a6989586621679922293]) (l_a3SIh :: [b6989586621679922294]) (l_a3SIi :: [c6989586621679922295]) (l_a3SIj :: [d6989586621679922296]) (l_a3SIk :: [e6989586621679922297]) (l_a3SIf :: TyFun [f6989586621679922298] (TyFun [g6989586621679922299] [(a6989586621679922293, b6989586621679922294, c6989586621679922295, d6989586621679922296, e6989586621679922297, f6989586621679922298, g6989586621679922299)] -> Type))
data Zip7Sym6 (l_a3SI8 :: [a6989586621679922293]) (l_a3SI9 :: [b6989586621679922294]) (l_a3SIa :: [c6989586621679922295]) (l_a3SIb :: [d6989586621679922296]) (l_a3SIc :: [e6989586621679922297]) (l_a3SId :: [f6989586621679922298]) (l_a3SI7 :: TyFun [g6989586621679922299] [(a6989586621679922293, b6989586621679922294, c6989586621679922295, d6989586621679922296, e6989586621679922297, f6989586621679922298, g6989586621679922299)])
type Zip7Sym7 (t_a3SI0 :: [a6989586621679922293]) (t_a3SI1 :: [b6989586621679922294]) (t_a3SI2 :: [c6989586621679922295]) (t_a3SI3 :: [d6989586621679922296]) (t_a3SI4 :: [e6989586621679922297]) (t_a3SI5 :: [f6989586621679922298]) (t_a3SI6 :: [g6989586621679922299]) = Zip7 t_a3SI0 t_a3SI1 t_a3SI2 t_a3SI3 t_a3SI4 t_a3SI5 t_a3SI6
data ZipWith4Sym0 (l_a3SHw :: TyFun (TyFun a6989586621679922288 (TyFun b6989586621679922289 (TyFun c6989586621679922290 (TyFun d6989586621679922291 e6989586621679922292 -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679922288] (TyFun [b6989586621679922289] (TyFun [c6989586621679922290] (TyFun [d6989586621679922291] [e6989586621679922292] -> Type) -> Type) -> Type) -> Type))
data ZipWith4Sym1 (l_a3SHu :: TyFun a6989586621679922288 (TyFun b6989586621679922289 (TyFun c6989586621679922290 (TyFun d6989586621679922291 e6989586621679922292 -> Type) -> Type) -> Type) -> Type) (l_a3SHt :: TyFun [a6989586621679922288] (TyFun [b6989586621679922289] (TyFun [c6989586621679922290] (TyFun [d6989586621679922291] [e6989586621679922292] -> Type) -> Type) -> Type))
data ZipWith4Sym2 (l_a3SHq :: TyFun a6989586621679922288 (TyFun b6989586621679922289 (TyFun c6989586621679922290 (TyFun d6989586621679922291 e6989586621679922292 -> Type) -> Type) -> Type) -> Type) (l_a3SHr :: [a6989586621679922288]) (l_a3SHp :: TyFun [b6989586621679922289] (TyFun [c6989586621679922290] (TyFun [d6989586621679922291] [e6989586621679922292] -> Type) -> Type))
data ZipWith4Sym3 (l_a3SHl :: TyFun a6989586621679922288 (TyFun b6989586621679922289 (TyFun c6989586621679922290 (TyFun d6989586621679922291 e6989586621679922292 -> Type) -> Type) -> Type) -> Type) (l_a3SHm :: [a6989586621679922288]) (l_a3SHn :: [b6989586621679922289]) (l_a3SHk :: TyFun [c6989586621679922290] (TyFun [d6989586621679922291] [e6989586621679922292] -> Type))
data ZipWith4Sym4 (l_a3SHf :: TyFun a6989586621679922288 (TyFun b6989586621679922289 (TyFun c6989586621679922290 (TyFun d6989586621679922291 e6989586621679922292 -> Type) -> Type) -> Type) -> Type) (l_a3SHg :: [a6989586621679922288]) (l_a3SHh :: [b6989586621679922289]) (l_a3SHi :: [c6989586621679922290]) (l_a3SHe :: TyFun [d6989586621679922291] [e6989586621679922292])
type ZipWith4Sym5 (t_a3SH9 :: TyFun a6989586621679922288 (TyFun b6989586621679922289 (TyFun c6989586621679922290 (TyFun d6989586621679922291 e6989586621679922292 -> Type) -> Type) -> Type) -> Type) (t_a3SHa :: [a6989586621679922288]) (t_a3SHb :: [b6989586621679922289]) (t_a3SHc :: [c6989586621679922290]) (t_a3SHd :: [d6989586621679922291]) = ZipWith4 t_a3SH9 t_a3SHa t_a3SHb t_a3SHc t_a3SHd
data ZipWith5Sym0 (l_a3SGQ :: TyFun (TyFun a6989586621679922282 (TyFun b6989586621679922283 (TyFun c6989586621679922284 (TyFun d6989586621679922285 (TyFun e6989586621679922286 f6989586621679922287 -> Type) -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679922282] (TyFun [b6989586621679922283] (TyFun [c6989586621679922284] (TyFun [d6989586621679922285] (TyFun [e6989586621679922286] [f6989586621679922287] -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith5Sym1 (l_a3SGO :: TyFun a6989586621679922282 (TyFun b6989586621679922283 (TyFun c6989586621679922284 (TyFun d6989586621679922285 (TyFun e6989586621679922286 f6989586621679922287 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3SGN :: TyFun [a6989586621679922282] (TyFun [b6989586621679922283] (TyFun [c6989586621679922284] (TyFun [d6989586621679922285] (TyFun [e6989586621679922286] [f6989586621679922287] -> Type) -> Type) -> Type) -> Type))
data ZipWith5Sym2 (l_a3SGK :: TyFun a6989586621679922282 (TyFun b6989586621679922283 (TyFun c6989586621679922284 (TyFun d6989586621679922285 (TyFun e6989586621679922286 f6989586621679922287 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3SGL :: [a6989586621679922282]) (l_a3SGJ :: TyFun [b6989586621679922283] (TyFun [c6989586621679922284] (TyFun [d6989586621679922285] (TyFun [e6989586621679922286] [f6989586621679922287] -> Type) -> Type) -> Type))
data ZipWith5Sym3 (l_a3SGF :: TyFun a6989586621679922282 (TyFun b6989586621679922283 (TyFun c6989586621679922284 (TyFun d6989586621679922285 (TyFun e6989586621679922286 f6989586621679922287 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3SGG :: [a6989586621679922282]) (l_a3SGH :: [b6989586621679922283]) (l_a3SGE :: TyFun [c6989586621679922284] (TyFun [d6989586621679922285] (TyFun [e6989586621679922286] [f6989586621679922287] -> Type) -> Type))
data ZipWith5Sym4 (l_a3SGz :: TyFun a6989586621679922282 (TyFun b6989586621679922283 (TyFun c6989586621679922284 (TyFun d6989586621679922285 (TyFun e6989586621679922286 f6989586621679922287 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3SGA :: [a6989586621679922282]) (l_a3SGB :: [b6989586621679922283]) (l_a3SGC :: [c6989586621679922284]) (l_a3SGy :: TyFun [d6989586621679922285] (TyFun [e6989586621679922286] [f6989586621679922287] -> Type))
data ZipWith5Sym5 (l_a3SGs :: TyFun a6989586621679922282 (TyFun b6989586621679922283 (TyFun c6989586621679922284 (TyFun d6989586621679922285 (TyFun e6989586621679922286 f6989586621679922287 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3SGt :: [a6989586621679922282]) (l_a3SGu :: [b6989586621679922283]) (l_a3SGv :: [c6989586621679922284]) (l_a3SGw :: [d6989586621679922285]) (l_a3SGr :: TyFun [e6989586621679922286] [f6989586621679922287])
type ZipWith5Sym6 (t_a3SGl :: TyFun a6989586621679922282 (TyFun b6989586621679922283 (TyFun c6989586621679922284 (TyFun d6989586621679922285 (TyFun e6989586621679922286 f6989586621679922287 -> Type) -> Type) -> Type) -> Type) -> Type) (t_a3SGm :: [a6989586621679922282]) (t_a3SGn :: [b6989586621679922283]) (t_a3SGo :: [c6989586621679922284]) (t_a3SGp :: [d6989586621679922285]) (t_a3SGq :: [e6989586621679922286]) = ZipWith5 t_a3SGl t_a3SGm t_a3SGn t_a3SGo t_a3SGp t_a3SGq
data ZipWith6Sym0 (l_a3SFZ :: TyFun (TyFun a6989586621679922275 (TyFun b6989586621679922276 (TyFun c6989586621679922277 (TyFun d6989586621679922278 (TyFun e6989586621679922279 (TyFun f6989586621679922280 g6989586621679922281 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679922275] (TyFun [b6989586621679922276] (TyFun [c6989586621679922277] (TyFun [d6989586621679922278] (TyFun [e6989586621679922279] (TyFun [f6989586621679922280] [g6989586621679922281] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith6Sym1 (l_a3SFX :: TyFun a6989586621679922275 (TyFun b6989586621679922276 (TyFun c6989586621679922277 (TyFun d6989586621679922278 (TyFun e6989586621679922279 (TyFun f6989586621679922280 g6989586621679922281 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3SFW :: TyFun [a6989586621679922275] (TyFun [b6989586621679922276] (TyFun [c6989586621679922277] (TyFun [d6989586621679922278] (TyFun [e6989586621679922279] (TyFun [f6989586621679922280] [g6989586621679922281] -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith6Sym2 (l_a3SFT :: TyFun a6989586621679922275 (TyFun b6989586621679922276 (TyFun c6989586621679922277 (TyFun d6989586621679922278 (TyFun e6989586621679922279 (TyFun f6989586621679922280 g6989586621679922281 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3SFU :: [a6989586621679922275]) (l_a3SFS :: TyFun [b6989586621679922276] (TyFun [c6989586621679922277] (TyFun [d6989586621679922278] (TyFun [e6989586621679922279] (TyFun [f6989586621679922280] [g6989586621679922281] -> Type) -> Type) -> Type) -> Type))
data ZipWith6Sym3 (l_a3SFO :: TyFun a6989586621679922275 (TyFun b6989586621679922276 (TyFun c6989586621679922277 (TyFun d6989586621679922278 (TyFun e6989586621679922279 (TyFun f6989586621679922280 g6989586621679922281 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3SFP :: [a6989586621679922275]) (l_a3SFQ :: [b6989586621679922276]) (l_a3SFN :: TyFun [c6989586621679922277] (TyFun [d6989586621679922278] (TyFun [e6989586621679922279] (TyFun [f6989586621679922280] [g6989586621679922281] -> Type) -> Type) -> Type))
data ZipWith6Sym4 (l_a3SFI :: TyFun a6989586621679922275 (TyFun b6989586621679922276 (TyFun c6989586621679922277 (TyFun d6989586621679922278 (TyFun e6989586621679922279 (TyFun f6989586621679922280 g6989586621679922281 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3SFJ :: [a6989586621679922275]) (l_a3SFK :: [b6989586621679922276]) (l_a3SFL :: [c6989586621679922277]) (l_a3SFH :: TyFun [d6989586621679922278] (TyFun [e6989586621679922279] (TyFun [f6989586621679922280] [g6989586621679922281] -> Type) -> Type))
data ZipWith6Sym5 (l_a3SFB :: TyFun a6989586621679922275 (TyFun b6989586621679922276 (TyFun c6989586621679922277 (TyFun d6989586621679922278 (TyFun e6989586621679922279 (TyFun f6989586621679922280 g6989586621679922281 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3SFC :: [a6989586621679922275]) (l_a3SFD :: [b6989586621679922276]) (l_a3SFE :: [c6989586621679922277]) (l_a3SFF :: [d6989586621679922278]) (l_a3SFA :: TyFun [e6989586621679922279] (TyFun [f6989586621679922280] [g6989586621679922281] -> Type))
data ZipWith6Sym6 (l_a3SFt :: TyFun a6989586621679922275 (TyFun b6989586621679922276 (TyFun c6989586621679922277 (TyFun d6989586621679922278 (TyFun e6989586621679922279 (TyFun f6989586621679922280 g6989586621679922281 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3SFu :: [a6989586621679922275]) (l_a3SFv :: [b6989586621679922276]) (l_a3SFw :: [c6989586621679922277]) (l_a3SFx :: [d6989586621679922278]) (l_a3SFy :: [e6989586621679922279]) (l_a3SFs :: TyFun [f6989586621679922280] [g6989586621679922281])
type ZipWith6Sym7 (t_a3SFl :: TyFun a6989586621679922275 (TyFun b6989586621679922276 (TyFun c6989586621679922277 (TyFun d6989586621679922278 (TyFun e6989586621679922279 (TyFun f6989586621679922280 g6989586621679922281 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (t_a3SFm :: [a6989586621679922275]) (t_a3SFn :: [b6989586621679922276]) (t_a3SFo :: [c6989586621679922277]) (t_a3SFp :: [d6989586621679922278]) (t_a3SFq :: [e6989586621679922279]) (t_a3SFr :: [f6989586621679922280]) = ZipWith6 t_a3SFl t_a3SFm t_a3SFn t_a3SFo t_a3SFp t_a3SFq t_a3SFr
data ZipWith7Sym0 (l_a3SEW :: TyFun (TyFun a6989586621679922267 (TyFun b6989586621679922268 (TyFun c6989586621679922269 (TyFun d6989586621679922270 (TyFun e6989586621679922271 (TyFun f6989586621679922272 (TyFun g6989586621679922273 h6989586621679922274 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679922267] (TyFun [b6989586621679922268] (TyFun [c6989586621679922269] (TyFun [d6989586621679922270] (TyFun [e6989586621679922271] (TyFun [f6989586621679922272] (TyFun [g6989586621679922273] [h6989586621679922274] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym1 (l_a3SEU :: TyFun a6989586621679922267 (TyFun b6989586621679922268 (TyFun c6989586621679922269 (TyFun d6989586621679922270 (TyFun e6989586621679922271 (TyFun f6989586621679922272 (TyFun g6989586621679922273 h6989586621679922274 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3SET :: TyFun [a6989586621679922267] (TyFun [b6989586621679922268] (TyFun [c6989586621679922269] (TyFun [d6989586621679922270] (TyFun [e6989586621679922271] (TyFun [f6989586621679922272] (TyFun [g6989586621679922273] [h6989586621679922274] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym2 (l_a3SEQ :: TyFun a6989586621679922267 (TyFun b6989586621679922268 (TyFun c6989586621679922269 (TyFun d6989586621679922270 (TyFun e6989586621679922271 (TyFun f6989586621679922272 (TyFun g6989586621679922273 h6989586621679922274 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3SER :: [a6989586621679922267]) (l_a3SEP :: TyFun [b6989586621679922268] (TyFun [c6989586621679922269] (TyFun [d6989586621679922270] (TyFun [e6989586621679922271] (TyFun [f6989586621679922272] (TyFun [g6989586621679922273] [h6989586621679922274] -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym3 (l_a3SEL :: TyFun a6989586621679922267 (TyFun b6989586621679922268 (TyFun c6989586621679922269 (TyFun d6989586621679922270 (TyFun e6989586621679922271 (TyFun f6989586621679922272 (TyFun g6989586621679922273 h6989586621679922274 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3SEM :: [a6989586621679922267]) (l_a3SEN :: [b6989586621679922268]) (l_a3SEK :: TyFun [c6989586621679922269] (TyFun [d6989586621679922270] (TyFun [e6989586621679922271] (TyFun [f6989586621679922272] (TyFun [g6989586621679922273] [h6989586621679922274] -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym4 (l_a3SEF :: TyFun a6989586621679922267 (TyFun b6989586621679922268 (TyFun c6989586621679922269 (TyFun d6989586621679922270 (TyFun e6989586621679922271 (TyFun f6989586621679922272 (TyFun g6989586621679922273 h6989586621679922274 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3SEG :: [a6989586621679922267]) (l_a3SEH :: [b6989586621679922268]) (l_a3SEI :: [c6989586621679922269]) (l_a3SEE :: TyFun [d6989586621679922270] (TyFun [e6989586621679922271] (TyFun [f6989586621679922272] (TyFun [g6989586621679922273] [h6989586621679922274] -> Type) -> Type) -> Type))
data ZipWith7Sym5 (l_a3SEy :: TyFun a6989586621679922267 (TyFun b6989586621679922268 (TyFun c6989586621679922269 (TyFun d6989586621679922270 (TyFun e6989586621679922271 (TyFun f6989586621679922272 (TyFun g6989586621679922273 h6989586621679922274 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3SEz :: [a6989586621679922267]) (l_a3SEA :: [b6989586621679922268]) (l_a3SEB :: [c6989586621679922269]) (l_a3SEC :: [d6989586621679922270]) (l_a3SEx :: TyFun [e6989586621679922271] (TyFun [f6989586621679922272] (TyFun [g6989586621679922273] [h6989586621679922274] -> Type) -> Type))
data ZipWith7Sym6 (l_a3SEq :: TyFun a6989586621679922267 (TyFun b6989586621679922268 (TyFun c6989586621679922269 (TyFun d6989586621679922270 (TyFun e6989586621679922271 (TyFun f6989586621679922272 (TyFun g6989586621679922273 h6989586621679922274 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3SEr :: [a6989586621679922267]) (l_a3SEs :: [b6989586621679922268]) (l_a3SEt :: [c6989586621679922269]) (l_a3SEu :: [d6989586621679922270]) (l_a3SEv :: [e6989586621679922271]) (l_a3SEp :: TyFun [f6989586621679922272] (TyFun [g6989586621679922273] [h6989586621679922274] -> Type))
data ZipWith7Sym7 (l_a3SEh :: TyFun a6989586621679922267 (TyFun b6989586621679922268 (TyFun c6989586621679922269 (TyFun d6989586621679922270 (TyFun e6989586621679922271 (TyFun f6989586621679922272 (TyFun g6989586621679922273 h6989586621679922274 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3SEi :: [a6989586621679922267]) (l_a3SEj :: [b6989586621679922268]) (l_a3SEk :: [c6989586621679922269]) (l_a3SEl :: [d6989586621679922270]) (l_a3SEm :: [e6989586621679922271]) (l_a3SEn :: [f6989586621679922272]) (l_a3SEg :: TyFun [g6989586621679922273] [h6989586621679922274])
type ZipWith7Sym8 (t_a3SE8 :: TyFun a6989586621679922267 (TyFun b6989586621679922268 (TyFun c6989586621679922269 (TyFun d6989586621679922270 (TyFun e6989586621679922271 (TyFun f6989586621679922272 (TyFun g6989586621679922273 h6989586621679922274 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (t_a3SE9 :: [a6989586621679922267]) (t_a3SEa :: [b6989586621679922268]) (t_a3SEb :: [c6989586621679922269]) (t_a3SEc :: [d6989586621679922270]) (t_a3SEd :: [e6989586621679922271]) (t_a3SEe :: [f6989586621679922272]) (t_a3SEf :: [g6989586621679922273]) = ZipWith7 t_a3SE8 t_a3SE9 t_a3SEa t_a3SEb t_a3SEc t_a3SEd t_a3SEe t_a3SEf
data UnlinesSym0 (l_a1Rcy :: TyFun [Symbol] Symbol)
type UnlinesSym1 (t_a1Rcx :: [Symbol]) = Unlines t_a1Rcx
data UnwordsSym0 (l_a1Rcc :: TyFun [Symbol] Symbol)
type UnwordsSym1 (t_a1Rcb :: [Symbol]) = Unwords t_a1Rcb
data NubSym0 (l_a1Rjg :: TyFun [a6989586621679442419] [a6989586621679442419])
type NubSym1 (t_a1Rjf :: [a6989586621679442419]) = Nub t_a1Rjf
data NubBySym0 (l_a1QXF :: TyFun (TyFun a6989586621679442418 (TyFun a6989586621679442418 Bool -> Type) -> Type) (TyFun [a6989586621679442418] [a6989586621679442418] -> Type))
data NubBySym1 (l_a1QXD :: TyFun a6989586621679442418 (TyFun a6989586621679442418 Bool -> Type) -> Type) (l_a1QXC :: TyFun [a6989586621679442418] [a6989586621679442418])
type NubBySym2 (t_a1QXA :: TyFun a6989586621679442418 (TyFun a6989586621679442418 Bool -> Type) -> Type) (t_a1QXB :: [a6989586621679442418]) = NubBy t_a1QXA t_a1QXB
data UnionSym0 (l_a1RbB :: TyFun [a6989586621679442415] (TyFun [a6989586621679442415] [a6989586621679442415] -> Type))
data UnionSym1 (l_a1Rbz :: [a6989586621679442415]) (l_a1Rby :: TyFun [a6989586621679442415] [a6989586621679442415])
type UnionSym2 (t_a1Rbw :: [a6989586621679442415]) (t_a1Rbx :: [a6989586621679442415]) = Union t_a1Rbw t_a1Rbx
data UnionBySym0 (l_a1Rbk :: TyFun (TyFun a6989586621679442416 (TyFun a6989586621679442416 Bool -> Type) -> Type) (TyFun [a6989586621679442416] (TyFun [a6989586621679442416] [a6989586621679442416] -> Type) -> Type))
data UnionBySym1 (l_a1Rbi :: TyFun a6989586621679442416 (TyFun a6989586621679442416 Bool -> Type) -> Type) (l_a1Rbh :: TyFun [a6989586621679442416] (TyFun [a6989586621679442416] [a6989586621679442416] -> Type))
data UnionBySym2 (l_a1Rbe :: TyFun a6989586621679442416 (TyFun a6989586621679442416 Bool -> Type) -> Type) (l_a1Rbf :: [a6989586621679442416]) (l_a1Rbd :: TyFun [a6989586621679442416] [a6989586621679442416])
type UnionBySym3 (t_a1Rba :: TyFun a6989586621679442416 (TyFun a6989586621679442416 Bool -> Type) -> Type) (t_a1Rbb :: [a6989586621679442416]) (t_a1Rbc :: [a6989586621679442416]) = UnionBy t_a1Rba t_a1Rbb t_a1Rbc
data GenericLengthSym0 (l_a1QXd :: TyFun [a6989586621679442414] i6989586621679442413)
type GenericLengthSym1 (t_a1QXc :: [a6989586621679442414]) = GenericLength t_a1QXc
data GenericTakeSym0 (l_a3SE2 :: TyFun i6989586621679922265 (TyFun [a6989586621679922266] [a6989586621679922266] -> Type))
data GenericTakeSym1 (l_a3SE0 :: i6989586621679922265) (l_a3SDZ :: TyFun [a6989586621679922266] [a6989586621679922266])
type GenericTakeSym2 (t_a3SDX :: i6989586621679922265) (t_a3SDY :: [a6989586621679922266]) = GenericTake t_a3SDX t_a3SDY
data GenericDropSym0 (l_a3SDN :: TyFun i6989586621679922263 (TyFun [a6989586621679922264] [a6989586621679922264] -> Type))
data GenericDropSym1 (l_a3SDL :: i6989586621679922263) (l_a3SDK :: TyFun [a6989586621679922264] [a6989586621679922264])
type GenericDropSym2 (t_a3SDI :: i6989586621679922263) (t_a3SDJ :: [a6989586621679922264]) = GenericDrop t_a3SDI t_a3SDJ
data GenericSplitAtSym0 (l_a3SDy :: TyFun i6989586621679922261 (TyFun [a6989586621679922262] ([a6989586621679922262], [a6989586621679922262]) -> Type))
data GenericSplitAtSym1 (l_a3SDw :: i6989586621679922261) (l_a3SDv :: TyFun [a6989586621679922262] ([a6989586621679922262], [a6989586621679922262]))
type GenericSplitAtSym2 (t_a3SDt :: i6989586621679922261) (t_a3SDu :: [a6989586621679922262]) = GenericSplitAt t_a3SDt t_a3SDu
data GenericIndexSym0 (l_a3SDj :: TyFun [a6989586621679922260] (TyFun i6989586621679922259 a6989586621679922260 -> Type))
data GenericIndexSym1 (l_a3SDh :: [a6989586621679922260]) (l_a3SDg :: TyFun i6989586621679922259 a6989586621679922260)
type GenericIndexSym2 (t_a3SDe :: [a6989586621679922260]) (t_a3SDf :: i6989586621679922259) = GenericIndex t_a3SDe t_a3SDf
data GenericReplicateSym0 (l_a3SD4 :: TyFun i6989586621679922257 (TyFun a6989586621679922258 [a6989586621679922258] -> Type))
data GenericReplicateSym1 (l_a3SD2 :: i6989586621679922257) (l_a3SD1 :: TyFun a6989586621679922258 [a6989586621679922258])
type GenericReplicateSym2 (t_a3SCZ :: i6989586621679922257) (t_a3SD0 :: a6989586621679922258) = GenericReplicate t_a3SCZ t_a3SD0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.StripPrefixSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.StripPrefixSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip4Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip4Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip4Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip4Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip5Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip5Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip5Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip5Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip5Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip6Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip6Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip6Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip6Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip6Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip6Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip7Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip7Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip7Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip7Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip7Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip7Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.Zip7Sym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith4Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith4Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith4Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith4Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith4Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith5Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith5Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith5Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith5Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith5Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith5Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith6Sym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith6Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith6Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith6Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith6Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith6Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith6Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith7Sym7
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith7Sym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith7Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith7Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith7Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith7Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith7Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.ZipWith7Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.GenericTakeSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.GenericTakeSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.GenericDropSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.GenericDropSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.GenericSplitAtSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.GenericSplitAtSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.GenericIndexSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.GenericIndexSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.GenericReplicateSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.List.GenericReplicateSym1
-- | 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
data FoldrSym0 (l_a1IKX :: TyFun (TyFun a6989586621679419907 (TyFun b6989586621679419908 b6989586621679419908 -> Type) -> Type) (TyFun b6989586621679419908 (TyFun [a6989586621679419907] b6989586621679419908 -> Type) -> Type))
data FoldrSym1 (l_a1IKV :: TyFun a6989586621679419907 (TyFun b6989586621679419908 b6989586621679419908 -> Type) -> Type) (l_a1IKU :: TyFun b6989586621679419908 (TyFun [a6989586621679419907] b6989586621679419908 -> Type))
data FoldrSym2 (l_a1IKR :: TyFun a6989586621679419907 (TyFun b6989586621679419908 b6989586621679419908 -> Type) -> Type) (l_a1IKS :: b6989586621679419908) (l_a1IKQ :: TyFun [a6989586621679419907] b6989586621679419908)
type FoldrSym3 (t_a1IKN :: TyFun a6989586621679419907 (TyFun b6989586621679419908 b6989586621679419908 -> Type) -> Type) (t_a1IKO :: b6989586621679419908) (t_a1IKP :: [a6989586621679419907]) = Foldr t_a1IKN t_a1IKO t_a1IKP
data MapSym0 (l_a1IKG :: TyFun (TyFun a6989586621679419905 b6989586621679419906 -> Type) (TyFun [a6989586621679419905] [b6989586621679419906] -> Type))
data MapSym1 (l_a1IKE :: TyFun a6989586621679419905 b6989586621679419906 -> Type) (l_a1IKD :: TyFun [a6989586621679419905] [b6989586621679419906])
type MapSym2 (t_a1IKB :: TyFun a6989586621679419905 b6989586621679419906 -> Type) (t_a1IKC :: [a6989586621679419905]) = Map t_a1IKB t_a1IKC
data (++@#@$) (l_a1IKt :: TyFun [a6989586621679419904] (TyFun [a6989586621679419904] [a6989586621679419904] -> Type))
data (++@#@$$) (l_a1IKr :: [a6989586621679419904]) (l_a1IKq :: TyFun [a6989586621679419904] [a6989586621679419904])
type (++@#@$$$) (t_a1IKo :: [a6989586621679419904]) (t_a1IKp :: [a6989586621679419904]) = (++) t_a1IKo t_a1IKp
type OtherwiseSym0 = Otherwise
data IdSym0 (l_a1IKk :: TyFun a6989586621679419903 a6989586621679419903)
type IdSym1 (t_a1IKj :: a6989586621679419903) = Id t_a1IKj
data ConstSym0 (l_a1IJZ :: TyFun a6989586621679419901 (TyFun b6989586621679419902 a6989586621679419901 -> Type))
data ConstSym1 (l_a1IJX :: a6989586621679419901) (l_a1IJW :: TyFun b6989586621679419902 a6989586621679419901)
type ConstSym2 (t_a1IJU :: a6989586621679419901) (t_a1IJV :: b6989586621679419902) = Const t_a1IJU t_a1IJV
data (.@#@$) (l_a1IJo :: TyFun (TyFun b6989586621679419898 c6989586621679419899 -> Type) (TyFun (TyFun a6989586621679419900 b6989586621679419898 -> Type) (TyFun a6989586621679419900 c6989586621679419899 -> Type) -> Type))
data (.@#@$$) (l_a1IJm :: TyFun b6989586621679419898 c6989586621679419899 -> Type) (l_a1IJl :: TyFun (TyFun a6989586621679419900 b6989586621679419898 -> Type) (TyFun a6989586621679419900 c6989586621679419899 -> Type))
data (.@#@$$$) (l_a1IJi :: TyFun b6989586621679419898 c6989586621679419899 -> Type) (l_a1IJj :: TyFun a6989586621679419900 b6989586621679419898 -> Type) (l_a1IJh :: TyFun a6989586621679419900 c6989586621679419899)
type (.@#@$$$$) (t_a1IJe :: TyFun b6989586621679419898 c6989586621679419899 -> Type) (t_a1IJf :: TyFun a6989586621679419900 b6989586621679419898 -> Type) (t_a1IJg :: a6989586621679419900) = (:.) t_a1IJe t_a1IJf t_a1IJg
data ($@#@$) (l_a1IIQ :: TyFun (TyFun a6989586621679419892 b6989586621679419893 -> Type) (TyFun a6989586621679419892 b6989586621679419893 -> Type))
data ($@#@$$) (l_a1IIO :: TyFun a6989586621679419892 b6989586621679419893 -> Type) (l_a1IIN :: TyFun a6989586621679419892 b6989586621679419893)
type ($@#@$$$) (t_a1IIL :: TyFun a6989586621679419892 b6989586621679419893 -> Type) (t_a1IIM :: a6989586621679419892) = ($) t_a1IIL t_a1IIM
data ($!@#@$) (l_a1IIx :: TyFun (TyFun a6989586621679419890 b6989586621679419891 -> Type) (TyFun a6989586621679419890 b6989586621679419891 -> Type))
data ($!@#@$$) (l_a1IIv :: TyFun a6989586621679419890 b6989586621679419891 -> Type) (l_a1IIu :: TyFun a6989586621679419890 b6989586621679419891)
type ($!@#@$$$) (t_a1IIs :: TyFun a6989586621679419890 b6989586621679419891 -> Type) (t_a1IIt :: a6989586621679419890) = ($!) t_a1IIs t_a1IIt
data FlipSym0 (l_a1IJ6 :: TyFun (TyFun a6989586621679419895 (TyFun b6989586621679419896 c6989586621679419897 -> Type) -> Type) (TyFun b6989586621679419896 (TyFun a6989586621679419895 c6989586621679419897 -> Type) -> Type))
data FlipSym1 (l_a1IJ4 :: TyFun a6989586621679419895 (TyFun b6989586621679419896 c6989586621679419897 -> Type) -> Type) (l_a1IJ3 :: TyFun b6989586621679419896 (TyFun a6989586621679419895 c6989586621679419897 -> Type))
data FlipSym2 (l_a1IJ0 :: TyFun a6989586621679419895 (TyFun b6989586621679419896 c6989586621679419897 -> Type) -> Type) (l_a1IJ1 :: b6989586621679419896) (l_a1IIZ :: TyFun a6989586621679419895 c6989586621679419897)
type FlipSym3 (t_a1IIW :: TyFun a6989586621679419895 (TyFun b6989586621679419896 c6989586621679419897 -> Type) -> Type) (t_a1IIX :: b6989586621679419896) (t_a1IIY :: a6989586621679419895) = Flip t_a1IIW t_a1IIX t_a1IIY
data UntilSym0 (l_a3YUS :: TyFun (TyFun a6989586621679958924 Bool -> Type) (TyFun (TyFun a6989586621679958924 a6989586621679958924 -> Type) (TyFun a6989586621679958924 a6989586621679958924 -> Type) -> Type))
data UntilSym1 (l_a3YUQ :: TyFun a6989586621679958924 Bool -> Type) (l_a3YUP :: TyFun (TyFun a6989586621679958924 a6989586621679958924 -> Type) (TyFun a6989586621679958924 a6989586621679958924 -> Type))
data UntilSym2 (l_a3YUM :: TyFun a6989586621679958924 Bool -> Type) (l_a3YUN :: TyFun a6989586621679958924 a6989586621679958924 -> Type) (l_a3YUL :: TyFun a6989586621679958924 a6989586621679958924)
type UntilSym3 (t_a3YUI :: TyFun a6989586621679958924 Bool -> Type) (t_a3YUJ :: TyFun a6989586621679958924 a6989586621679958924 -> Type) (t_a3YUK :: a6989586621679958924) = Until t_a3YUI t_a3YUJ t_a3YUK
data AsTypeOfSym0 (l_a1IKd :: TyFun a6989586621679419894 (TyFun a6989586621679419894 a6989586621679419894 -> Type))
data AsTypeOfSym1 (l_a1IKb :: a6989586621679419894) (l_a1IKa :: TyFun a6989586621679419894 a6989586621679419894)
type AsTypeOfSym2 (t_a1IK8 :: a6989586621679419894) (t_a1IK9 :: a6989586621679419894) = AsTypeOf t_a1IK8 t_a1IK9
data SeqSym0 (l_a1IIn :: TyFun a6989586621679419888 (TyFun b6989586621679419889 b6989586621679419889 -> Type))
data SeqSym1 (l_a1IIl :: a6989586621679419888) (l_a1IIk :: TyFun b6989586621679419889 b6989586621679419889)
type SeqSym2 (t_a1IIi :: a6989586621679419888) (t_a1IIj :: b6989586621679419889) = Seq t_a1IIi t_a1IIj
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.UntilSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.UntilSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.UntilSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.Let6989586621679958952GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.Let6989586621679958952GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.Let6989586621679958952GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.Let6989586621679958952GoSym3
-- | 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-level "not". An injective type family since 4.10.0.0.
-- | Type-level "and"
-- | Type-level "or"
maybe_ :: b_a1En3 -> (a_a1En4 -> b_a1En3) -> Maybe a_a1En4 -> b_a1En3
either_ :: (a_a3MJZ -> c_a3MK0) -> (b_a3MK1 -> c_a3MK0) -> Either a_a3MJZ b_a3MK1 -> c_a3MK0
-- | (Kind) This is the kind of type-level symbols. Declared here because
-- class IP needs it
data Symbol :: *
-- | The promotion of error. This version is more poly-kinded for
-- easier use.
-- | The promotion of undefined.
class PBounded (a_a3tLQ :: Type) where {
type family MinBound :: a_a3tLQ;
type family MaxBound :: a_a3tLQ;
}
type MaxBoundSym0 = MaxBound
type MinBoundSym0 = MinBound
class PEnum (a_a3uOp :: Type) where {
type family ToEnum (arg_a3uY1 :: Nat) :: a_a3uOp;
type family FromEnum (arg_a3uY5 :: a_a3uOp) :: Nat;
type family EnumFromTo (arg_a3uY9 :: a_a3uOp) (arg_a3uYa :: a_a3uOp) :: [a_a3uOp];
type family EnumFromThenTo (arg_a3uYi :: a_a3uOp) (arg_a3uYj :: a_a3uOp) (arg_a3uYk :: a_a3uOp) :: [a_a3uOp];
type Succ a_a3uYP = Apply Succ_6989586621679843868Sym0 a_a3uYP;
type Pred a_a3uZ2 = Apply Pred_6989586621679843881Sym0 a_a3uZ2;
type EnumFromTo a_a3uZj a_a3uZk =
Apply (Apply EnumFromTo_6989586621679843899Sym0 a_a3uZj) a_a3uZk;
type EnumFromThenTo a_a3uZM a_a3uZN a_a3uZO =
Apply (Apply (Apply EnumFromThenTo_6989586621679843929Sym0 a_a3uZM) a_a3uZN) a_a3uZO;
}
data EnumFromThenToSym0 (l_a3uYv :: TyFun a6989586621679843221 (TyFun a6989586621679843221 (TyFun a6989586621679843221 [a6989586621679843221] -> Type) -> Type))
data EnumFromThenToSym1 (l_a3uYt :: a6989586621679843221) (l_a3uYs :: TyFun a6989586621679843221 (TyFun a6989586621679843221 [a6989586621679843221] -> Type))
data EnumFromThenToSym2 (l_a3uYp :: a6989586621679843221) (l_a3uYq :: a6989586621679843221) (l_a3uYo :: TyFun a6989586621679843221 [a6989586621679843221])
type EnumFromThenToSym3 (t_a3uYl :: a6989586621679843221) (t_a3uYm :: a6989586621679843221) (t_a3uYn :: a6989586621679843221) = EnumFromThenTo t_a3uYl t_a3uYm t_a3uYn
data EnumFromToSym0 (l_a3uYg :: TyFun a6989586621679843221 (TyFun a6989586621679843221 [a6989586621679843221] -> Type))
data EnumFromToSym1 (l_a3uYe :: a6989586621679843221) (l_a3uYd :: TyFun a6989586621679843221 [a6989586621679843221])
type EnumFromToSym2 (t_a3uYb :: a6989586621679843221) (t_a3uYc :: a6989586621679843221) = EnumFromTo t_a3uYb t_a3uYc
data FromEnumSym0 (l_a3uY7 :: TyFun a6989586621679843221 Nat)
type FromEnumSym1 (t_a3uY6 :: a6989586621679843221) = FromEnum t_a3uY6
data ToEnumSym0 (l_a3uY3 :: TyFun Nat a6989586621679843221)
type ToEnumSym1 (t_a3uY2 :: Nat) = ToEnum t_a3uY2
-- | Exponentiation of type-level naturals.
class PShow (a_a2Mme :: Type) where {
type family ShowsPrec (arg_a2MSS :: Nat) (arg_a2MST :: a_a2Mme) (arg_a2MSU :: Symbol) :: Symbol;
type family Show_ (arg_a2MT7 :: a_a2Mme) :: Symbol;
type family ShowList (arg_a2MTb :: [a_a2Mme]) (arg_a2MTc :: Symbol) :: Symbol;
type ShowsPrec a_a2MTB a_a2MTC a_a2MTD =
Apply (Apply (Apply ShowsPrec_6989586621679674410Sym0 a_a2MTB) a_a2MTC) a_a2MTD;
type Show_ a_a2MTX = Apply Show__6989586621679674430Sym0 a_a2MTX;
type ShowList a_a2MUe a_a2MUf =
Apply (Apply ShowList_6989586621679674448Sym0 a_a2MUe) a_a2MUf;
}
-- | The shows functions return a function that prepends the
-- output String to an existing String. This allows
-- constant-time concatenation of results using function composition.
type ShowS = String -> String
-- | GHC currently has no notion of type-level Chars, so we fake
-- them with single-character Symbols.
type SChar = Symbol
-- | show, but with an extra underscore so that its promoted
-- counterpart (Show_) will not clash with the Show
-- class.
show_ :: Show a => a -> String
-- | The promoted analogue of '(<>)' for Symbols. This uses
-- the special AppendSymbol type family from GHC.TypeLits.
type a <> b = AppendSymbol a b
type FalseSym0 = False
type TrueSym0 = True
data NotSym0 (l_a1b2X :: TyFun Bool Bool)
type NotSym1 (t_a1b2W :: Bool) = Not t_a1b2W
data (&&@#@$) (l_a1aWR :: TyFun Bool (TyFun Bool Bool -> Type))
data (&&@#@$$) (l_a1aWP :: Bool) (l_a1aWO :: TyFun Bool Bool)
type (&&@#@$$$) (t_a1aWM :: Bool) (t_a1aWN :: Bool) = (&&) t_a1aWM t_a1aWN
data (||@#@$) (l_a1b03 :: TyFun Bool (TyFun Bool Bool -> Type))
data (||@#@$$) (l_a1b01 :: Bool) (l_a1b00 :: TyFun Bool Bool)
type (||@#@$$$) (t_a1aZY :: Bool) (t_a1aZZ :: Bool) = (||) t_a1aZY t_a1aZZ
type OtherwiseSym0 = Otherwise
type NothingSym0 = Nothing
data JustSym0 (l_aZVs :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_aZVr :: a3530822107858468865) = Just t_aZVr
data Maybe_Sym0 (l_a1Env :: TyFun b6989586621679403309 (TyFun (TyFun a6989586621679403310 b6989586621679403309 -> Type) (TyFun (Maybe a6989586621679403310) b6989586621679403309 -> Type) -> Type))
data Maybe_Sym1 (l_a1Ent :: b6989586621679403309) (l_a1Ens :: TyFun (TyFun a6989586621679403310 b6989586621679403309 -> Type) (TyFun (Maybe a6989586621679403310) b6989586621679403309 -> Type))
data Maybe_Sym2 (l_a1Enp :: b6989586621679403309) (l_a1Enq :: TyFun a6989586621679403310 b6989586621679403309 -> Type) (l_a1Eno :: TyFun (Maybe a6989586621679403310) b6989586621679403309)
type Maybe_Sym3 (t_a1Enl :: b6989586621679403309) (t_a1Enm :: TyFun a6989586621679403310 b6989586621679403309 -> Type) (t_a1Enn :: Maybe a6989586621679403310) = Maybe_ t_a1Enl t_a1Enm t_a1Enn
data LeftSym0 (l_aZW4 :: TyFun a6989586621679082339 (Either a6989586621679082339 b6989586621679082340))
type LeftSym1 (t_aZW3 :: a6989586621679082339) = Left t_aZW3
data RightSym0 (l_aZW7 :: TyFun b6989586621679082340 (Either a6989586621679082339 b6989586621679082340))
type RightSym1 (t_aZW6 :: b6989586621679082340) = Right t_aZW6
data Either_Sym0 (l_a3MKJ :: TyFun (TyFun a6989586621679912139 c6989586621679912140 -> Type) (TyFun (TyFun b6989586621679912141 c6989586621679912140 -> Type) (TyFun (Either a6989586621679912139 b6989586621679912141) c6989586621679912140 -> Type) -> Type))
data Either_Sym1 (l_a3MKH :: TyFun a6989586621679912139 c6989586621679912140 -> Type) (l_a3MKG :: TyFun (TyFun b6989586621679912141 c6989586621679912140 -> Type) (TyFun (Either a6989586621679912139 b6989586621679912141) c6989586621679912140 -> Type))
data Either_Sym2 (l_a3MKD :: TyFun a6989586621679912139 c6989586621679912140 -> Type) (l_a3MKE :: TyFun b6989586621679912141 c6989586621679912140 -> Type) (l_a3MKC :: TyFun (Either a6989586621679912139 b6989586621679912141) c6989586621679912140)
type Either_Sym3 (t_a3MKz :: TyFun a6989586621679912139 c6989586621679912140 -> Type) (t_a3MKA :: TyFun b6989586621679912141 c6989586621679912140 -> Type) (t_a3MKB :: Either a6989586621679912139 b6989586621679912141) = Either_ t_a3MKz t_a3MKA t_a3MKB
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_aZWR :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aZWP :: a3530822107858468865) (l_aZWO :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aZWM :: a3530822107858468865) (t_aZWN :: b3530822107858468866) = '(t_aZWM, t_aZWN)
data Tuple3Sym0 (l_aZXh :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aZXf :: a3530822107858468865) (l_aZXe :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aZXb :: a3530822107858468865) (l_aZXc :: b3530822107858468866) (l_aZXa :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aZX7 :: a3530822107858468865) (t_aZX8 :: b3530822107858468866) (t_aZX9 :: c3530822107858468867) = '(t_aZX7, t_aZX8, t_aZX9)
data Tuple4Sym0 (l_aZXS :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aZXQ :: a3530822107858468865) (l_aZXP :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aZXM :: a3530822107858468865) (l_aZXN :: b3530822107858468866) (l_aZXL :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aZXH :: a3530822107858468865) (l_aZXI :: b3530822107858468866) (l_aZXJ :: c3530822107858468867) (l_aZXG :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aZXC :: a3530822107858468865) (t_aZXD :: b3530822107858468866) (t_aZXE :: c3530822107858468867) (t_aZXF :: d3530822107858468868) = '(t_aZXC, t_aZXD, t_aZXE, t_aZXF)
data Tuple5Sym0 (l_aZYF :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aZYD :: a3530822107858468865) (l_aZYC :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aZYz :: a3530822107858468865) (l_aZYA :: b3530822107858468866) (l_aZYy :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aZYu :: a3530822107858468865) (l_aZYv :: b3530822107858468866) (l_aZYw :: c3530822107858468867) (l_aZYt :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aZYo :: a3530822107858468865) (l_aZYp :: b3530822107858468866) (l_aZYq :: c3530822107858468867) (l_aZYr :: d3530822107858468868) (l_aZYn :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aZYi :: a3530822107858468865) (t_aZYj :: b3530822107858468866) (t_aZYk :: c3530822107858468867) (t_aZYl :: d3530822107858468868) (t_aZYm :: e3530822107858468869) = '(t_aZYi, t_aZYj, t_aZYk, t_aZYl, t_aZYm)
data Tuple6Sym0 (l_aZZF :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym1 (l_aZZD :: a3530822107858468865) (l_aZZC :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aZZz :: a3530822107858468865) (l_aZZA :: b3530822107858468866) (l_aZZy :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aZZu :: a3530822107858468865) (l_aZZv :: b3530822107858468866) (l_aZZw :: c3530822107858468867) (l_aZZt :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aZZo :: a3530822107858468865) (l_aZZp :: b3530822107858468866) (l_aZZq :: c3530822107858468867) (l_aZZr :: d3530822107858468868) (l_aZZn :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aZZh :: a3530822107858468865) (l_aZZi :: b3530822107858468866) (l_aZZj :: c3530822107858468867) (l_aZZk :: d3530822107858468868) (l_aZZl :: e3530822107858468869) (l_aZZg :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aZZa :: a3530822107858468865) (t_aZZb :: b3530822107858468866) (t_aZZc :: c3530822107858468867) (t_aZZd :: d3530822107858468868) (t_aZZe :: e3530822107858468869) (t_aZZf :: f3530822107858468870) = '(t_aZZa, t_aZZb, t_aZZc, t_aZZd, t_aZZe, t_aZZf)
data Tuple7Sym0 (l_a100T :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym1 (l_a100R :: a3530822107858468865) (l_a100Q :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym2 (l_a100N :: a3530822107858468865) (l_a100O :: b3530822107858468866) (l_a100M :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_a100I :: a3530822107858468865) (l_a100J :: b3530822107858468866) (l_a100K :: c3530822107858468867) (l_a100H :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_a100C :: a3530822107858468865) (l_a100D :: b3530822107858468866) (l_a100E :: c3530822107858468867) (l_a100F :: d3530822107858468868) (l_a100B :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_a100v :: a3530822107858468865) (l_a100w :: b3530822107858468866) (l_a100x :: c3530822107858468867) (l_a100y :: d3530822107858468868) (l_a100z :: e3530822107858468869) (l_a100u :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_a100n :: a3530822107858468865) (l_a100o :: b3530822107858468866) (l_a100p :: c3530822107858468867) (l_a100q :: d3530822107858468868) (l_a100r :: e3530822107858468869) (l_a100s :: f3530822107858468870) (l_a100m :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_a100f :: a3530822107858468865) (t_a100g :: b3530822107858468866) (t_a100h :: c3530822107858468867) (t_a100i :: d3530822107858468868) (t_a100j :: e3530822107858468869) (t_a100k :: f3530822107858468870) (t_a100l :: g3530822107858468871) = '(t_a100f, t_a100g, t_a100h, t_a100i, t_a100j, t_a100k, t_a100l)
data FstSym0 (l_a19Ry :: TyFun (a6989586621679285926, b6989586621679285927) a6989586621679285926)
type FstSym1 (t_a19Rx :: (a6989586621679285926, b6989586621679285927)) = Fst t_a19Rx
data SndSym0 (l_a19Rt :: TyFun (a6989586621679285924, b6989586621679285925) b6989586621679285925)
type SndSym1 (t_a19Rs :: (a6989586621679285924, b6989586621679285925)) = Snd t_a19Rs
data CurrySym0 (l_a19Rk :: TyFun (TyFun (a6989586621679285921, b6989586621679285922) c6989586621679285923 -> Type) (TyFun a6989586621679285921 (TyFun b6989586621679285922 c6989586621679285923 -> Type) -> Type))
data CurrySym1 (l_a19Ri :: TyFun (a6989586621679285921, b6989586621679285922) c6989586621679285923 -> Type) (l_a19Rh :: TyFun a6989586621679285921 (TyFun b6989586621679285922 c6989586621679285923 -> Type))
data CurrySym2 (l_a19Re :: TyFun (a6989586621679285921, b6989586621679285922) c6989586621679285923 -> Type) (l_a19Rf :: a6989586621679285921) (l_a19Rd :: TyFun b6989586621679285922 c6989586621679285923)
type CurrySym3 (t_a19Ra :: TyFun (a6989586621679285921, b6989586621679285922) c6989586621679285923 -> Type) (t_a19Rb :: a6989586621679285921) (t_a19Rc :: b6989586621679285922) = Curry t_a19Ra t_a19Rb t_a19Rc
data UncurrySym0 (l_a19RH :: TyFun (TyFun a6989586621679285918 (TyFun b6989586621679285919 c6989586621679285920 -> Type) -> Type) (TyFun (a6989586621679285918, b6989586621679285919) c6989586621679285920 -> Type))
data UncurrySym1 (l_a19RF :: TyFun a6989586621679285918 (TyFun b6989586621679285919 c6989586621679285920 -> Type) -> Type) (l_a19RE :: TyFun (a6989586621679285918, b6989586621679285919) c6989586621679285920)
type UncurrySym2 (t_a19RC :: TyFun a6989586621679285918 (TyFun b6989586621679285919 c6989586621679285920 -> Type) -> Type) (t_a19RD :: (a6989586621679285918, b6989586621679285919)) = Uncurry t_a19RC t_a19RD
data ErrorSym0 (l_a1ycT :: TyFun k06989586621679378680 k6989586621679378681)
type ErrorSym1 (t_a1ycS :: k06989586621679378680) = Error t_a1ycS
type UndefinedSym0 = Undefined
data (^@#@$) (l_a1yhx :: TyFun Nat (TyFun Nat Nat -> Type))
data (^@#@$$) (l_a1yhv :: Nat) (l_a1yhu :: TyFun Nat Nat)
type (^@#@$$$) (t_a1yhs :: Nat) (t_a1yht :: Nat) = (^) t_a1yhs t_a1yht
data ShowsPrecSym0 (l_a2MT5 :: TyFun Nat (TyFun a6989586621679672338 (TyFun Symbol Symbol -> Type) -> Type))
data ShowsPrecSym1 (l_a2MT3 :: Nat) (l_a2MT2 :: TyFun a6989586621679672338 (TyFun Symbol Symbol -> Type))
data ShowsPrecSym2 (l_a2MSZ :: Nat) (l_a2MT0 :: a6989586621679672338) (l_a2MSY :: TyFun Symbol Symbol)
type ShowsPrecSym3 (t_a2MSV :: Nat) (t_a2MSW :: a6989586621679672338) (t_a2MSX :: Symbol) = ShowsPrec t_a2MSV t_a2MSW t_a2MSX
data Show_Sym0 (l_a2MT9 :: TyFun a6989586621679672338 Symbol)
type Show_Sym1 (t_a2MT8 :: a6989586621679672338) = Show_ t_a2MT8
data ShowListSym0 (l_a2MTi :: TyFun [a6989586621679672338] (TyFun Symbol Symbol -> Type))
data ShowListSym1 (l_a2MTg :: [a6989586621679672338]) (l_a2MTf :: TyFun Symbol Symbol)
type ShowListSym2 (t_a2MTd :: [a6989586621679672338]) (t_a2MTe :: Symbol) = ShowList t_a2MTd t_a2MTe
data (<>@#@$) l_a1ylq
data (<>@#@$$) (l_a1ylo :: Symbol) l_a1yln
type (<>@#@$$$) (t_a1yll :: Symbol) (t_a1ylm :: Symbol) = (<>) t_a1yll t_a1ylm
data ShowsSym0 (l_a2MSK :: TyFun a6989586621679672323 (TyFun Symbol Symbol -> Type))
data ShowsSym1 (l_a2MSI :: a6989586621679672323) (l_a2MSH :: TyFun Symbol Symbol)
type ShowsSym2 (t_a2MSF :: a6989586621679672323) (t_a2MSG :: Symbol) = Shows t_a2MSF t_a2MSG
data ShowCharSym0 (l_a2MQO :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowCharSym1 (l_a2MQM :: Symbol) (l_a2MQL :: TyFun Symbol Symbol)
type ShowCharSym2 (t_a2MQJ :: Symbol) (t_a2MQK :: Symbol) = ShowChar t_a2MQJ t_a2MQK
data ShowStringSym0 (l_a2MQs :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowStringSym1 (l_a2MQq :: Symbol) (l_a2MQp :: TyFun Symbol Symbol)
type ShowStringSym2 (t_a2MQn :: Symbol) (t_a2MQo :: Symbol) = ShowString t_a2MQn t_a2MQo
data ShowParenSym0 (l_a2MR4 :: TyFun Bool (TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type) -> Type))
data ShowParenSym1 (l_a2MR2 :: Bool) (l_a2MR1 :: TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type))
data ShowParenSym2 (l_a2MQY :: Bool) (l_a2MQZ :: TyFun Symbol Symbol -> Type) (l_a2MQX :: TyFun Symbol Symbol)
data IdSym0 (l_a1IKk :: TyFun a6989586621679419903 a6989586621679419903)
type IdSym1 (t_a1IKj :: a6989586621679419903) = Id t_a1IKj
data ConstSym0 (l_a1IJZ :: TyFun a6989586621679419901 (TyFun b6989586621679419902 a6989586621679419901 -> Type))
data ConstSym1 (l_a1IJX :: a6989586621679419901) (l_a1IJW :: TyFun b6989586621679419902 a6989586621679419901)
type ConstSym2 (t_a1IJU :: a6989586621679419901) (t_a1IJV :: b6989586621679419902) = Const t_a1IJU t_a1IJV
data (.@#@$) (l_a1IJo :: TyFun (TyFun b6989586621679419898 c6989586621679419899 -> Type) (TyFun (TyFun a6989586621679419900 b6989586621679419898 -> Type) (TyFun a6989586621679419900 c6989586621679419899 -> Type) -> Type))
data (.@#@$$) (l_a1IJm :: TyFun b6989586621679419898 c6989586621679419899 -> Type) (l_a1IJl :: TyFun (TyFun a6989586621679419900 b6989586621679419898 -> Type) (TyFun a6989586621679419900 c6989586621679419899 -> Type))
data (.@#@$$$) (l_a1IJi :: TyFun b6989586621679419898 c6989586621679419899 -> Type) (l_a1IJj :: TyFun a6989586621679419900 b6989586621679419898 -> Type) (l_a1IJh :: TyFun a6989586621679419900 c6989586621679419899)
data ($@#@$) (l_a1IIQ :: TyFun (TyFun a6989586621679419892 b6989586621679419893 -> Type) (TyFun a6989586621679419892 b6989586621679419893 -> Type))
data ($@#@$$) (l_a1IIO :: TyFun a6989586621679419892 b6989586621679419893 -> Type) (l_a1IIN :: TyFun a6989586621679419892 b6989586621679419893)
type ($@#@$$$) (t_a1IIL :: TyFun a6989586621679419892 b6989586621679419893 -> Type) (t_a1IIM :: a6989586621679419892) = ($) t_a1IIL t_a1IIM
data ($!@#@$) (l_a1IIx :: TyFun (TyFun a6989586621679419890 b6989586621679419891 -> Type) (TyFun a6989586621679419890 b6989586621679419891 -> Type))
data ($!@#@$$) (l_a1IIv :: TyFun a6989586621679419890 b6989586621679419891 -> Type) (l_a1IIu :: TyFun a6989586621679419890 b6989586621679419891)
type ($!@#@$$$) (t_a1IIs :: TyFun a6989586621679419890 b6989586621679419891 -> Type) (t_a1IIt :: a6989586621679419890) = ($!) t_a1IIs t_a1IIt
data FlipSym0 (l_a1IJ6 :: TyFun (TyFun a6989586621679419895 (TyFun b6989586621679419896 c6989586621679419897 -> Type) -> Type) (TyFun b6989586621679419896 (TyFun a6989586621679419895 c6989586621679419897 -> Type) -> Type))
data FlipSym1 (l_a1IJ4 :: TyFun a6989586621679419895 (TyFun b6989586621679419896 c6989586621679419897 -> Type) -> Type) (l_a1IJ3 :: TyFun b6989586621679419896 (TyFun a6989586621679419895 c6989586621679419897 -> Type))
data FlipSym2 (l_a1IJ0 :: TyFun a6989586621679419895 (TyFun b6989586621679419896 c6989586621679419897 -> Type) -> Type) (l_a1IJ1 :: b6989586621679419896) (l_a1IIZ :: TyFun a6989586621679419895 c6989586621679419897)
data AsTypeOfSym0 (l_a1IKd :: TyFun a6989586621679419894 (TyFun a6989586621679419894 a6989586621679419894 -> Type))
data AsTypeOfSym1 (l_a1IKb :: a6989586621679419894) (l_a1IKa :: TyFun a6989586621679419894 a6989586621679419894)
type AsTypeOfSym2 (t_a1IK8 :: a6989586621679419894) (t_a1IK9 :: a6989586621679419894) = AsTypeOf t_a1IK8 t_a1IK9
data SeqSym0 (l_a1IIn :: TyFun a6989586621679419888 (TyFun b6989586621679419889 b6989586621679419889 -> Type))
data SeqSym1 (l_a1IIl :: a6989586621679419888) (l_a1IIk :: TyFun b6989586621679419889 b6989586621679419889)
type SeqSym2 (t_a1IIi :: a6989586621679419888) (t_a1IIj :: b6989586621679419889) = Seq t_a1IIi t_a1IIj
data (:@#@$) (l_aZVM :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:@#@$$) (l_aZVK :: a3530822107858468865) (l_aZVJ :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:@#@$$$) (t_aZVH :: a3530822107858468865) (t_aZVI :: [a3530822107858468865]) = (:) t_aZVH t_aZVI
type NilSym0 = '[]
data MapSym0 (l_a1IKG :: TyFun (TyFun a6989586621679419905 b6989586621679419906 -> Type) (TyFun [a6989586621679419905] [b6989586621679419906] -> Type))
data MapSym1 (l_a1IKE :: TyFun a6989586621679419905 b6989586621679419906 -> Type) (l_a1IKD :: TyFun [a6989586621679419905] [b6989586621679419906])
type MapSym2 (t_a1IKB :: TyFun a6989586621679419905 b6989586621679419906 -> Type) (t_a1IKC :: [a6989586621679419905]) = Map t_a1IKB t_a1IKC
data ReverseSym0 (l_a1RHw :: TyFun [a6989586621679442536] [a6989586621679442536])
type ReverseSym1 (t_a1RHv :: [a6989586621679442536]) = Reverse t_a1RHv
data (++@#@$$) (l_a1IKr :: [a6989586621679419904]) (l_a1IKq :: TyFun [a6989586621679419904] [a6989586621679419904])
data (++@#@$) (l_a1IKt :: TyFun [a6989586621679419904] (TyFun [a6989586621679419904] [a6989586621679419904] -> Type))
data HeadSym0 (l_a1RJM :: TyFun [a6989586621679442541] a6989586621679442541)
type HeadSym1 (t_a1RJL :: [a6989586621679442541]) = Head t_a1RJL
data LastSym0 (l_a1RJF :: TyFun [a6989586621679442540] a6989586621679442540)
type LastSym1 (t_a1RJE :: [a6989586621679442540]) = Last t_a1RJE
data TailSym0 (l_a1RJA :: TyFun [a6989586621679442539] [a6989586621679442539])
type TailSym1 (t_a1RJz :: [a6989586621679442539]) = Tail t_a1RJz
data InitSym0 (l_a1RJ6 :: TyFun [a6989586621679442538] [a6989586621679442538])
type InitSym1 (t_a1RJ5 :: [a6989586621679442538]) = Init t_a1RJ5
data NullSym0 (l_a1RI5 :: TyFun [a6989586621679442537] Bool)
type NullSym1 (t_a1RI4 :: [a6989586621679442537]) = Null t_a1RI4
data FoldlSym0 (l_a12Un :: TyFun (TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (TyFun b6989586621679259259 (TyFun [a6989586621679259258] b6989586621679259259 -> Type) -> Type))
data FoldlSym1 (l_a12Ul :: TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (l_a12Uk :: TyFun b6989586621679259259 (TyFun [a6989586621679259258] b6989586621679259259 -> Type))
data FoldlSym2 (l_a12Uh :: TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (l_a12Ui :: b6989586621679259259) (l_a12Ug :: TyFun [a6989586621679259258] b6989586621679259259)
type FoldlSym3 (t_a12Ud :: TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (t_a12Ue :: b6989586621679259259) (t_a12Uf :: [a6989586621679259258]) = Foldl t_a12Ud t_a12Ue t_a12Uf
data Foldl1Sym0 (l_a1RvO :: TyFun (TyFun a6989586621679442527 (TyFun a6989586621679442527 a6989586621679442527 -> Type) -> Type) (TyFun [a6989586621679442527] a6989586621679442527 -> Type))
data Foldl1Sym1 (l_a1RvM :: TyFun a6989586621679442527 (TyFun a6989586621679442527 a6989586621679442527 -> Type) -> Type) (l_a1RvL :: TyFun [a6989586621679442527] a6989586621679442527)
type Foldl1Sym2 (t_a1RvJ :: TyFun a6989586621679442527 (TyFun a6989586621679442527 a6989586621679442527 -> Type) -> Type) (t_a1RvK :: [a6989586621679442527]) = Foldl1 t_a1RvJ t_a1RvK
data FoldrSym0 (l_a1IKX :: TyFun (TyFun a6989586621679419907 (TyFun b6989586621679419908 b6989586621679419908 -> Type) -> Type) (TyFun b6989586621679419908 (TyFun [a6989586621679419907] b6989586621679419908 -> Type) -> Type))
data FoldrSym1 (l_a1IKV :: TyFun a6989586621679419907 (TyFun b6989586621679419908 b6989586621679419908 -> Type) -> Type) (l_a1IKU :: TyFun b6989586621679419908 (TyFun [a6989586621679419907] b6989586621679419908 -> Type))
data FoldrSym2 (l_a1IKR :: TyFun a6989586621679419907 (TyFun b6989586621679419908 b6989586621679419908 -> Type) -> Type) (l_a1IKS :: b6989586621679419908) (l_a1IKQ :: TyFun [a6989586621679419907] b6989586621679419908)
type FoldrSym3 (t_a1IKN :: TyFun a6989586621679419907 (TyFun b6989586621679419908 b6989586621679419908 -> Type) -> Type) (t_a1IKO :: b6989586621679419908) (t_a1IKP :: [a6989586621679419907]) = Foldr t_a1IKN t_a1IKO t_a1IKP
data Foldr1Sym0 (l_a1Rvh :: TyFun (TyFun a6989586621679442525 (TyFun a6989586621679442525 a6989586621679442525 -> Type) -> Type) (TyFun [a6989586621679442525] a6989586621679442525 -> Type))
data Foldr1Sym1 (l_a1Rvf :: TyFun a6989586621679442525 (TyFun a6989586621679442525 a6989586621679442525 -> Type) -> Type) (l_a1Rve :: TyFun [a6989586621679442525] a6989586621679442525)
type Foldr1Sym2 (t_a1Rvc :: TyFun a6989586621679442525 (TyFun a6989586621679442525 a6989586621679442525 -> Type) -> Type) (t_a1Rvd :: [a6989586621679442525]) = Foldr1 t_a1Rvc t_a1Rvd
data ConcatSym0 (l_a1Rv8 :: TyFun [[a6989586621679442524]] [a6989586621679442524])
type ConcatSym1 (t_a1Rv7 :: [[a6989586621679442524]]) = Concat t_a1Rv7
data ConcatMapSym0 (l_a1RuX :: TyFun (TyFun a6989586621679442522 [b6989586621679442523] -> Type) (TyFun [a6989586621679442522] [b6989586621679442523] -> Type))
data ConcatMapSym1 (l_a1RuV :: TyFun a6989586621679442522 [b6989586621679442523] -> Type) (l_a1RuU :: TyFun [a6989586621679442522] [b6989586621679442523])
type ConcatMapSym2 (t_a1RuS :: TyFun a6989586621679442522 [b6989586621679442523] -> Type) (t_a1RuT :: [a6989586621679442522]) = ConcatMap t_a1RuS t_a1RuT
data MaximumBySym0 (l_a1Rw0 :: TyFun (TyFun a6989586621679442453 (TyFun a6989586621679442453 Ordering -> Type) -> Type) (TyFun [a6989586621679442453] a6989586621679442453 -> Type))
data MaximumBySym1 (l_a1RvY :: TyFun a6989586621679442453 (TyFun a6989586621679442453 Ordering -> Type) -> Type) (l_a1RvX :: TyFun [a6989586621679442453] a6989586621679442453)
type MaximumBySym2 (t_a1RvV :: TyFun a6989586621679442453 (TyFun a6989586621679442453 Ordering -> Type) -> Type) (t_a1RvW :: [a6989586621679442453]) = MaximumBy t_a1RvV t_a1RvW
data MinimumBySym0 (l_a1Rxm :: TyFun (TyFun a6989586621679442452 (TyFun a6989586621679442452 Ordering -> Type) -> Type) (TyFun [a6989586621679442452] a6989586621679442452 -> Type))
data MinimumBySym1 (l_a1Rxk :: TyFun a6989586621679442452 (TyFun a6989586621679442452 Ordering -> Type) -> Type) (l_a1Rxj :: TyFun [a6989586621679442452] a6989586621679442452)
type MinimumBySym2 (t_a1Rxh :: TyFun a6989586621679442452 (TyFun a6989586621679442452 Ordering -> Type) -> Type) (t_a1Rxi :: [a6989586621679442452]) = MinimumBy t_a1Rxh t_a1Rxi
data AndSym0 (l_a1RuN :: TyFun [Bool] Bool)
type AndSym1 (t_a1RuM :: [Bool]) = And t_a1RuM
data OrSym0 (l_a1RuH :: TyFun [Bool] Bool)
type OrSym1 (t_a1RuG :: [Bool]) = Or t_a1RuG
data AnySym0 (l_a1Rsd :: TyFun (TyFun a6989586621679442520 Bool -> Type) (TyFun [a6989586621679442520] Bool -> Type))
data AnySym1 (l_a1Rsb :: TyFun a6989586621679442520 Bool -> Type) (l_a1Rsa :: TyFun [a6989586621679442520] Bool)
type AnySym2 (t_a1Rs8 :: TyFun a6989586621679442520 Bool -> Type) (t_a1Rs9 :: [a6989586621679442520]) = Any t_a1Rs8 t_a1Rs9
data AllSym0 (l_a1Ruz :: TyFun (TyFun a6989586621679442521 Bool -> Type) (TyFun [a6989586621679442521] Bool -> Type))
data AllSym1 (l_a1Rux :: TyFun a6989586621679442521 Bool -> Type) (l_a1Ruw :: TyFun [a6989586621679442521] Bool)
type AllSym2 (t_a1Ruu :: TyFun a6989586621679442521 Bool -> Type) (t_a1Ruv :: [a6989586621679442521]) = All t_a1Ruu t_a1Ruv
data ScanlSym0 (l_a1RrJ :: TyFun (TyFun b6989586621679442518 (TyFun a6989586621679442519 b6989586621679442518 -> Type) -> Type) (TyFun b6989586621679442518 (TyFun [a6989586621679442519] [b6989586621679442518] -> Type) -> Type))
data ScanlSym1 (l_a1RrH :: TyFun b6989586621679442518 (TyFun a6989586621679442519 b6989586621679442518 -> Type) -> Type) (l_a1RrG :: TyFun b6989586621679442518 (TyFun [a6989586621679442519] [b6989586621679442518] -> Type))
data ScanlSym2 (l_a1RrD :: TyFun b6989586621679442518 (TyFun a6989586621679442519 b6989586621679442518 -> Type) -> Type) (l_a1RrE :: b6989586621679442518) (l_a1RrC :: TyFun [a6989586621679442519] [b6989586621679442518])
type ScanlSym3 (t_a1Rrz :: TyFun b6989586621679442518 (TyFun a6989586621679442519 b6989586621679442518 -> Type) -> Type) (t_a1RrA :: b6989586621679442518) (t_a1RrB :: [a6989586621679442519]) = Scanl t_a1Rrz t_a1RrA t_a1RrB
data Scanl1Sym0 (l_a1Rs1 :: TyFun (TyFun a6989586621679442517 (TyFun a6989586621679442517 a6989586621679442517 -> Type) -> Type) (TyFun [a6989586621679442517] [a6989586621679442517] -> Type))
data Scanl1Sym1 (l_a1RrZ :: TyFun a6989586621679442517 (TyFun a6989586621679442517 a6989586621679442517 -> Type) -> Type) (l_a1RrY :: TyFun [a6989586621679442517] [a6989586621679442517])
type Scanl1Sym2 (t_a1RrW :: TyFun a6989586621679442517 (TyFun a6989586621679442517 a6989586621679442517 -> Type) -> Type) (t_a1RrX :: [a6989586621679442517]) = Scanl1 t_a1RrW t_a1RrX
data ScanrSym0 (l_a1Rr1 :: TyFun (TyFun a6989586621679442515 (TyFun b6989586621679442516 b6989586621679442516 -> Type) -> Type) (TyFun b6989586621679442516 (TyFun [a6989586621679442515] [b6989586621679442516] -> Type) -> Type))
data ScanrSym1 (l_a1RqZ :: TyFun a6989586621679442515 (TyFun b6989586621679442516 b6989586621679442516 -> Type) -> Type) (l_a1RqY :: TyFun b6989586621679442516 (TyFun [a6989586621679442515] [b6989586621679442516] -> Type))
data ScanrSym2 (l_a1RqV :: TyFun a6989586621679442515 (TyFun b6989586621679442516 b6989586621679442516 -> Type) -> Type) (l_a1RqW :: b6989586621679442516) (l_a1RqU :: TyFun [a6989586621679442515] [b6989586621679442516])
type ScanrSym3 (t_a1RqR :: TyFun a6989586621679442515 (TyFun b6989586621679442516 b6989586621679442516 -> Type) -> Type) (t_a1RqS :: b6989586621679442516) (t_a1RqT :: [a6989586621679442515]) = Scanr t_a1RqR t_a1RqS t_a1RqT
data Scanr1Sym0 (l_a1Rq1 :: TyFun (TyFun a6989586621679442514 (TyFun a6989586621679442514 a6989586621679442514 -> Type) -> Type) (TyFun [a6989586621679442514] [a6989586621679442514] -> Type))
data Scanr1Sym1 (l_a1RpZ :: TyFun a6989586621679442514 (TyFun a6989586621679442514 a6989586621679442514 -> Type) -> Type) (l_a1RpY :: TyFun [a6989586621679442514] [a6989586621679442514])
type Scanr1Sym2 (t_a1RpW :: TyFun a6989586621679442514 (TyFun a6989586621679442514 a6989586621679442514 -> Type) -> Type) (t_a1RpX :: [a6989586621679442514]) = Scanr1 t_a1RpW t_a1RpX
data ElemSym0 (l_a1Rj8 :: TyFun a6989586621679442500 (TyFun [a6989586621679442500] Bool -> Type))
data ElemSym1 (l_a1Rj6 :: a6989586621679442500) (l_a1Rj5 :: TyFun [a6989586621679442500] Bool)
type ElemSym2 (t_a1Rj3 :: a6989586621679442500) (t_a1Rj4 :: [a6989586621679442500]) = Elem t_a1Rj3 t_a1Rj4
data NotElemSym0 (l_a1RiW :: TyFun a6989586621679442499 (TyFun [a6989586621679442499] Bool -> Type))
data NotElemSym1 (l_a1RiU :: a6989586621679442499) (l_a1RiT :: TyFun [a6989586621679442499] Bool)
type NotElemSym2 (t_a1RiR :: a6989586621679442499) (t_a1RiS :: [a6989586621679442499]) = NotElem t_a1RiR t_a1RiS
data ZipSym0 (l_a1Rhe :: TyFun [a6989586621679442497] (TyFun [b6989586621679442498] [(a6989586621679442497, b6989586621679442498)] -> Type))
data ZipSym1 (l_a1Rhc :: [a6989586621679442497]) (l_a1Rhb :: TyFun [b6989586621679442498] [(a6989586621679442497, b6989586621679442498)])
type ZipSym2 (t_a1Rh9 :: [a6989586621679442497]) (t_a1Rha :: [b6989586621679442498]) = Zip t_a1Rh9 t_a1Rha
data Zip3Sym0 (l_a1RgY :: TyFun [a6989586621679442494] (TyFun [b6989586621679442495] (TyFun [c6989586621679442496] [(a6989586621679442494, b6989586621679442495, c6989586621679442496)] -> Type) -> Type))
data Zip3Sym1 (l_a1RgW :: [a6989586621679442494]) (l_a1RgV :: TyFun [b6989586621679442495] (TyFun [c6989586621679442496] [(a6989586621679442494, b6989586621679442495, c6989586621679442496)] -> Type))
data Zip3Sym2 (l_a1RgS :: [a6989586621679442494]) (l_a1RgT :: [b6989586621679442495]) (l_a1RgR :: TyFun [c6989586621679442496] [(a6989586621679442494, b6989586621679442495, c6989586621679442496)])
type Zip3Sym3 (t_a1RgO :: [a6989586621679442494]) (t_a1RgP :: [b6989586621679442495]) (t_a1RgQ :: [c6989586621679442496]) = Zip3 t_a1RgO t_a1RgP t_a1RgQ
data ZipWithSym0 (l_a1RgE :: TyFun (TyFun a6989586621679442491 (TyFun b6989586621679442492 c6989586621679442493 -> Type) -> Type) (TyFun [a6989586621679442491] (TyFun [b6989586621679442492] [c6989586621679442493] -> Type) -> Type))
data ZipWithSym1 (l_a1RgC :: TyFun a6989586621679442491 (TyFun b6989586621679442492 c6989586621679442493 -> Type) -> Type) (l_a1RgB :: TyFun [a6989586621679442491] (TyFun [b6989586621679442492] [c6989586621679442493] -> Type))
data ZipWithSym2 (l_a1Rgy :: TyFun a6989586621679442491 (TyFun b6989586621679442492 c6989586621679442493 -> Type) -> Type) (l_a1Rgz :: [a6989586621679442491]) (l_a1Rgx :: TyFun [b6989586621679442492] [c6989586621679442493])
type ZipWithSym3 (t_a1Rgu :: TyFun a6989586621679442491 (TyFun b6989586621679442492 c6989586621679442493 -> Type) -> Type) (t_a1Rgv :: [a6989586621679442491]) (t_a1Rgw :: [b6989586621679442492]) = ZipWith t_a1Rgu t_a1Rgv t_a1Rgw
data ZipWith3Sym0 (l_a1Rgh :: TyFun (TyFun a6989586621679442487 (TyFun b6989586621679442488 (TyFun c6989586621679442489 d6989586621679442490 -> Type) -> Type) -> Type) (TyFun [a6989586621679442487] (TyFun [b6989586621679442488] (TyFun [c6989586621679442489] [d6989586621679442490] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1Rgf :: TyFun a6989586621679442487 (TyFun b6989586621679442488 (TyFun c6989586621679442489 d6989586621679442490 -> Type) -> Type) -> Type) (l_a1Rge :: TyFun [a6989586621679442487] (TyFun [b6989586621679442488] (TyFun [c6989586621679442489] [d6989586621679442490] -> Type) -> Type))
data ZipWith3Sym2 (l_a1Rgb :: TyFun a6989586621679442487 (TyFun b6989586621679442488 (TyFun c6989586621679442489 d6989586621679442490 -> Type) -> Type) -> Type) (l_a1Rgc :: [a6989586621679442487]) (l_a1Rga :: TyFun [b6989586621679442488] (TyFun [c6989586621679442489] [d6989586621679442490] -> Type))
data ZipWith3Sym3 (l_a1Rg6 :: TyFun a6989586621679442487 (TyFun b6989586621679442488 (TyFun c6989586621679442489 d6989586621679442490 -> Type) -> Type) -> Type) (l_a1Rg7 :: [a6989586621679442487]) (l_a1Rg8 :: [b6989586621679442488]) (l_a1Rg5 :: TyFun [c6989586621679442489] [d6989586621679442490])
data UnzipSym0 (l_a1Rfy :: TyFun [(a6989586621679442485, b6989586621679442486)] ([a6989586621679442485], [b6989586621679442486]))
type UnzipSym1 (t_a1Rfx :: [(a6989586621679442485, b6989586621679442486)]) = Unzip t_a1Rfx
data UnlinesSym0 (l_a1Rcy :: TyFun [Symbol] Symbol)
type UnlinesSym1 (t_a1Rcx :: [Symbol]) = Unlines t_a1Rcx
data UnwordsSym0 (l_a1Rcc :: TyFun [Symbol] Symbol)
type UnwordsSym1 (t_a1Rcb :: [Symbol]) = Unwords t_a1Rcb
data UntilSym0 (l_a3YUS :: TyFun (TyFun a6989586621679958924 Bool -> Type) (TyFun (TyFun a6989586621679958924 a6989586621679958924 -> Type) (TyFun a6989586621679958924 a6989586621679958924 -> Type) -> Type))
data UntilSym1 (l_a3YUQ :: TyFun a6989586621679958924 Bool -> Type) (l_a3YUP :: TyFun (TyFun a6989586621679958924 a6989586621679958924 -> Type) (TyFun a6989586621679958924 a6989586621679958924 -> Type))
data UntilSym2 (l_a3YUM :: TyFun a6989586621679958924 Bool -> Type) (l_a3YUN :: TyFun a6989586621679958924 a6989586621679958924 -> Type) (l_a3YUL :: TyFun a6989586621679958924 a6989586621679958924)
type UntilSym3 (t_a3YUI :: TyFun a6989586621679958924 Bool -> Type) (t_a3YUJ :: TyFun a6989586621679958924 a6989586621679958924 -> Type) (t_a3YUK :: a6989586621679958924) = Until t_a3YUI t_a3YUJ t_a3YUK
data LengthSym0 (l_a1QZr :: TyFun [a6989586621679442423] Nat)
type LengthSym1 (t_a1QZq :: [a6989586621679442423]) = Length t_a1QZq
data SumSym0 (l_a1QZU :: TyFun [a6989586621679442425] a6989586621679442425)
type SumSym1 (t_a1QZT :: [a6989586621679442425]) = Sum t_a1QZT
data ProductSym0 (l_a1QZw :: TyFun [a6989586621679442424] a6989586621679442424)
type ProductSym1 (t_a1QZv :: [a6989586621679442424]) = Product t_a1QZv
data ReplicateSym0 (l_a1QZ9 :: TyFun Nat (TyFun a6989586621679442422 [a6989586621679442422] -> Type))
data ReplicateSym1 (l_a1QZ7 :: Nat) (l_a1QZ6 :: TyFun a6989586621679442422 [a6989586621679442422])
type ReplicateSym2 (t_a1QZ4 :: Nat) (t_a1QZ5 :: a6989586621679442422) = Replicate t_a1QZ4 t_a1QZ5
data TakeSym0 (l_a1R2e :: TyFun Nat (TyFun [a6989586621679442438] [a6989586621679442438] -> Type))
data TakeSym1 (l_a1R2c :: Nat) (l_a1R2b :: TyFun [a6989586621679442438] [a6989586621679442438])
type TakeSym2 (t_a1R29 :: Nat) (t_a1R2a :: [a6989586621679442438]) = Take t_a1R29 t_a1R2a
data DropSym0 (l_a1R1M :: TyFun Nat (TyFun [a6989586621679442437] [a6989586621679442437] -> Type))
data DropSym1 (l_a1R1K :: Nat) (l_a1R1J :: TyFun [a6989586621679442437] [a6989586621679442437])
type DropSym2 (t_a1R1H :: Nat) (t_a1R1I :: [a6989586621679442437]) = Drop t_a1R1H t_a1R1I
data SplitAtSym0 (l_a1R2G :: TyFun Nat (TyFun [a6989586621679442436] ([a6989586621679442436], [a6989586621679442436]) -> Type))
data SplitAtSym1 (l_a1R2E :: Nat) (l_a1R2D :: TyFun [a6989586621679442436] ([a6989586621679442436], [a6989586621679442436]))
type SplitAtSym2 (t_a1R2B :: Nat) (t_a1R2C :: [a6989586621679442436]) = SplitAt t_a1R2B t_a1R2C
data TakeWhileSym0 (l_a1R7C :: TyFun (TyFun a6989586621679442443 Bool -> Type) (TyFun [a6989586621679442443] [a6989586621679442443] -> Type))
data TakeWhileSym1 (l_a1R7A :: TyFun a6989586621679442443 Bool -> Type) (l_a1R7z :: TyFun [a6989586621679442443] [a6989586621679442443])
type TakeWhileSym2 (t_a1R7x :: TyFun a6989586621679442443 Bool -> Type) (t_a1R7y :: [a6989586621679442443]) = TakeWhile t_a1R7x t_a1R7y
data DropWhileSym0 (l_a1R6X :: TyFun (TyFun a6989586621679442442 Bool -> Type) (TyFun [a6989586621679442442] [a6989586621679442442] -> Type))
data DropWhileSym1 (l_a1R6V :: TyFun a6989586621679442442 Bool -> Type) (l_a1R6U :: TyFun [a6989586621679442442] [a6989586621679442442])
type DropWhileSym2 (t_a1R6S :: TyFun a6989586621679442442 Bool -> Type) (t_a1R6T :: [a6989586621679442442]) = DropWhile t_a1R6S t_a1R6T
data SpanSym0 (l_a1R4m :: TyFun (TyFun a6989586621679442440 Bool -> Type) (TyFun [a6989586621679442440] ([a6989586621679442440], [a6989586621679442440]) -> Type))
data SpanSym1 (l_a1R4k :: TyFun a6989586621679442440 Bool -> Type) (l_a1R4j :: TyFun [a6989586621679442440] ([a6989586621679442440], [a6989586621679442440]))
type SpanSym2 (t_a1R4h :: TyFun a6989586621679442440 Bool -> Type) (t_a1R4i :: [a6989586621679442440]) = Span t_a1R4h t_a1R4i
data BreakSym0 (l_a1R2R :: TyFun (TyFun a6989586621679442439 Bool -> Type) (TyFun [a6989586621679442439] ([a6989586621679442439], [a6989586621679442439]) -> Type))
data BreakSym1 (l_a1R2P :: TyFun a6989586621679442439 Bool -> Type) (l_a1R2O :: TyFun [a6989586621679442439] ([a6989586621679442439], [a6989586621679442439]))
type BreakSym2 (t_a1R2M :: TyFun a6989586621679442439 Bool -> Type) (t_a1R2N :: [a6989586621679442439]) = Break t_a1R2M t_a1R2N
data LookupSym0 (l_a1R1c :: TyFun a6989586621679442428 (TyFun [(a6989586621679442428, b6989586621679442429)] (Maybe b6989586621679442429) -> Type))
data LookupSym1 (l_a1R1a :: a6989586621679442428) (l_a1R19 :: TyFun [(a6989586621679442428, b6989586621679442429)] (Maybe b6989586621679442429))
type LookupSym2 (t_a1R17 :: a6989586621679442428) (t_a1R18 :: [(a6989586621679442428, b6989586621679442429)]) = Lookup t_a1R17 t_a1R18
data FilterSym0 (l_a1R84 :: TyFun (TyFun a6989586621679442451 Bool -> Type) (TyFun [a6989586621679442451] [a6989586621679442451] -> Type))
data FilterSym1 (l_a1R82 :: TyFun a6989586621679442451 Bool -> Type) (l_a1R81 :: TyFun [a6989586621679442451] [a6989586621679442451])
type FilterSym2 (t_a1R7Z :: TyFun a6989586621679442451 Bool -> Type) (t_a1R80 :: [a6989586621679442451]) = Filter t_a1R7Z t_a1R80
data (!!@#@$) (l_a1QYH :: TyFun [a6989586621679442420] (TyFun Nat a6989586621679442420 -> Type))
data (!!@#@$$) (l_a1QYF :: [a6989586621679442420]) (l_a1QYE :: TyFun Nat a6989586621679442420)
type (!!@#@$$$) (t_a1QYC :: [a6989586621679442420]) (t_a1QYD :: Nat) = (!!) t_a1QYC t_a1QYD
-- | 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 = (Sing :: Bool -> Type)
type SList = (Sing :: [a_11] -> Type)
type SMaybe = (Sing :: Maybe a_11 -> Type)
type SEither = (Sing :: Either a_aiS7 b_aiS8 -> Type)
type SOrdering = (Sing :: Ordering -> Type)
type STuple0 = (Sing :: () -> Type)
type STuple2 = (Sing :: (a_11, b_12) -> Type)
type STuple3 = (Sing :: (a_11, b_12, c_13) -> Type)
type STuple4 = (Sing :: (a_11, b_12, c_13, d_14) -> Type)
type STuple5 = (Sing :: (a_11, b_12, c_13, d_14, e_15) -> Type)
type STuple6 = (Sing :: (a_11, b_12, c_13, d_14, e_15, f_16) -> Type)
type STuple7 = (Sing :: (a_11, b_12, c_13, d_14, e_15, f_16, g_17) -> Type)
-- | 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)
-- | Type-level "not". An injective type family since 4.10.0.0.
-- | Negation of a singleton
sNot :: Sing a -> Sing (Not a)
-- | Type-level "and"
-- | Type-level "or"
-- | Conjunction of singletons
(%&&) :: Sing a -> Sing b -> Sing (a && b)
infixr 3 %&&
-- | Disjunction of singletons
(%||) :: Sing a -> Sing b -> Sing (a || b)
infixr 2 %||
sOtherwise :: Sing (OtherwiseSym0 :: Bool)
-- | The promotion of error. This version is more poly-kinded for
-- easier use.
-- | The singleton for error
sError :: Sing (str :: Symbol) -> a
-- | The promotion of undefined.
-- | The singleton for undefined.
sUndefined :: a
class SBounded a_a3tLQ
sMinBound :: SBounded a_a3tLQ => Sing (MinBoundSym0 :: a_a3tLQ)
sMaxBound :: SBounded a_a3tLQ => Sing (MaxBoundSym0 :: a_a3tLQ)
class PBounded (a_a3tLQ :: Type) where {
type family MinBound :: a_a3tLQ;
type family MaxBound :: a_a3tLQ;
}
type MaxBoundSym0 = MaxBound
type MinBoundSym0 = MinBound
class SEnum a_a3uOp
sToEnum :: forall (t_a3v2o :: Nat). SEnum a_a3uOp => Sing t_a3v2o -> Sing (Apply ToEnumSym0 t_a3v2o :: a_a3uOp)
sFromEnum :: forall (t_a3v2p :: a_a3uOp). SEnum a_a3uOp => Sing t_a3v2p -> Sing (Apply FromEnumSym0 t_a3v2p :: Nat)
sEnumFromTo :: forall (t_a3v2q :: a_a3uOp) (t_a3v2r :: a_a3uOp). SEnum a_a3uOp => Sing t_a3v2q -> Sing t_a3v2r -> Sing (Apply (Apply EnumFromToSym0 t_a3v2q) t_a3v2r :: [a_a3uOp])
sEnumFromThenTo :: forall (t_a3v2s :: a_a3uOp) (t_a3v2t :: a_a3uOp) (t_a3v2u :: a_a3uOp). SEnum a_a3uOp => Sing t_a3v2s -> Sing t_a3v2t -> Sing t_a3v2u -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3v2s) t_a3v2t) t_a3v2u :: [a_a3uOp])
sEnumFromTo :: forall (t_a3v2q :: a_a3uOp) (t_a3v2r :: a_a3uOp). (SEnum a_a3uOp, (Apply (Apply EnumFromToSym0 t_a3v2q) t_a3v2r :: [a_a3uOp]) ~ Apply (Apply EnumFromTo_6989586621679843899Sym0 t_a3v2q) t_a3v2r) => Sing t_a3v2q -> Sing t_a3v2r -> Sing (Apply (Apply EnumFromToSym0 t_a3v2q) t_a3v2r :: [a_a3uOp])
sEnumFromThenTo :: forall (t_a3v2s :: a_a3uOp) (t_a3v2t :: a_a3uOp) (t_a3v2u :: a_a3uOp). (SEnum a_a3uOp, (Apply (Apply (Apply EnumFromThenToSym0 t_a3v2s) t_a3v2t) t_a3v2u :: [a_a3uOp]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679843929Sym0 t_a3v2s) t_a3v2t) t_a3v2u) => Sing t_a3v2s -> Sing t_a3v2t -> Sing t_a3v2u -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3v2s) t_a3v2t) t_a3v2u :: [a_a3uOp])
class PEnum (a_a3uOp :: Type) where {
type family ToEnum (arg_a3uY1 :: Nat) :: a_a3uOp;
type family FromEnum (arg_a3uY5 :: a_a3uOp) :: Nat;
type family EnumFromTo (arg_a3uY9 :: a_a3uOp) (arg_a3uYa :: a_a3uOp) :: [a_a3uOp];
type family EnumFromThenTo (arg_a3uYi :: a_a3uOp) (arg_a3uYj :: a_a3uOp) (arg_a3uYk :: a_a3uOp) :: [a_a3uOp];
type Succ a_a3uYP = Apply Succ_6989586621679843868Sym0 a_a3uYP;
type Pred a_a3uZ2 = Apply Pred_6989586621679843881Sym0 a_a3uZ2;
type EnumFromTo a_a3uZj a_a3uZk =
Apply (Apply EnumFromTo_6989586621679843899Sym0 a_a3uZj) a_a3uZk;
type EnumFromThenTo a_a3uZM a_a3uZN a_a3uZO =
Apply (Apply (Apply EnumFromThenTo_6989586621679843929Sym0 a_a3uZM) a_a3uZN) a_a3uZO;
}
data EnumFromThenToSym0 (l_a3uYv :: TyFun a6989586621679843221 (TyFun a6989586621679843221 (TyFun a6989586621679843221 [a6989586621679843221] -> Type) -> Type))
data EnumFromThenToSym1 (l_a3uYt :: a6989586621679843221) (l_a3uYs :: TyFun a6989586621679843221 (TyFun a6989586621679843221 [a6989586621679843221] -> Type))
data EnumFromThenToSym2 (l_a3uYp :: a6989586621679843221) (l_a3uYq :: a6989586621679843221) (l_a3uYo :: TyFun a6989586621679843221 [a6989586621679843221])
type EnumFromThenToSym3 (t_a3uYl :: a6989586621679843221) (t_a3uYm :: a6989586621679843221) (t_a3uYn :: a6989586621679843221) = EnumFromThenTo t_a3uYl t_a3uYm t_a3uYn
data EnumFromToSym0 (l_a3uYg :: TyFun a6989586621679843221 (TyFun a6989586621679843221 [a6989586621679843221] -> Type))
data EnumFromToSym1 (l_a3uYe :: a6989586621679843221) (l_a3uYd :: TyFun a6989586621679843221 [a6989586621679843221])
type EnumFromToSym2 (t_a3uYb :: a6989586621679843221) (t_a3uYc :: a6989586621679843221) = EnumFromTo t_a3uYb t_a3uYc
data FromEnumSym0 (l_a3uY7 :: TyFun a6989586621679843221 Nat)
type FromEnumSym1 (t_a3uY6 :: a6989586621679843221) = FromEnum t_a3uY6
data ToEnumSym0 (l_a3uY3 :: TyFun Nat a6989586621679843221)
type ToEnumSym1 (t_a3uY2 :: Nat) = ToEnum t_a3uY2
-- | Exponentiation of type-level naturals.
-- | The singleton analogue of '(TL.^)' for Nats.
(%^) :: Sing a -> Sing b -> Sing (a ^ b)
infixr 8 %^
class PShow (a_a2Mme :: Type) where {
type family ShowsPrec (arg_a2MSS :: Nat) (arg_a2MST :: a_a2Mme) (arg_a2MSU :: Symbol) :: Symbol;
type family Show_ (arg_a2MT7 :: a_a2Mme) :: Symbol;
type family ShowList (arg_a2MTb :: [a_a2Mme]) (arg_a2MTc :: Symbol) :: Symbol;
type ShowsPrec a_a2MTB a_a2MTC a_a2MTD =
Apply (Apply (Apply ShowsPrec_6989586621679674410Sym0 a_a2MTB) a_a2MTC) a_a2MTD;
type Show_ a_a2MTX = Apply Show__6989586621679674430Sym0 a_a2MTX;
type ShowList a_a2MUe a_a2MUf =
Apply (Apply ShowList_6989586621679674448Sym0 a_a2MUe) a_a2MUf;
}
class SShow a_a2Mme
sShowsPrec :: forall (t_a2MZQ :: Nat) (t_a2MZR :: a_a2Mme) (t_a2MZS :: Symbol). SShow a_a2Mme => Sing t_a2MZQ -> Sing t_a2MZR -> Sing t_a2MZS -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a2MZQ) t_a2MZR) t_a2MZS :: Symbol)
sShow_ :: forall (t_a2MZT :: a_a2Mme). SShow a_a2Mme => Sing t_a2MZT -> Sing (Apply Show_Sym0 t_a2MZT :: Symbol)
sShowList :: forall (t_a2MZU :: [a_a2Mme]) (t_a2MZV :: Symbol). SShow a_a2Mme => Sing t_a2MZU -> Sing t_a2MZV -> Sing (Apply (Apply ShowListSym0 t_a2MZU) t_a2MZV :: Symbol)
sShowsPrec :: forall (t_a2MZQ :: Nat) (t_a2MZR :: a_a2Mme) (t_a2MZS :: Symbol). (SShow a_a2Mme, (Apply (Apply (Apply ShowsPrecSym0 t_a2MZQ) t_a2MZR) t_a2MZS :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621679674410Sym0 t_a2MZQ) t_a2MZR) t_a2MZS) => Sing t_a2MZQ -> Sing t_a2MZR -> Sing t_a2MZS -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a2MZQ) t_a2MZR) t_a2MZS :: Symbol)
sShow_ :: forall (t_a2MZT :: a_a2Mme). (SShow a_a2Mme, (Apply Show_Sym0 t_a2MZT :: Symbol) ~ Apply Show__6989586621679674430Sym0 t_a2MZT) => Sing t_a2MZT -> Sing (Apply Show_Sym0 t_a2MZT :: Symbol)
sShowList :: forall (t_a2MZU :: [a_a2Mme]) (t_a2MZV :: Symbol). (SShow a_a2Mme, (Apply (Apply ShowListSym0 t_a2MZU) t_a2MZV :: Symbol) ~ Apply (Apply ShowList_6989586621679674448Sym0 t_a2MZU) t_a2MZV) => Sing t_a2MZU -> Sing t_a2MZV -> Sing (Apply (Apply ShowListSym0 t_a2MZU) t_a2MZV :: Symbol)
-- | The shows functions return a function that prepends the
-- output String to an existing String. This allows
-- constant-time concatenation of results using function composition.
type ShowS = String -> String
-- | GHC currently has no notion of type-level Chars, so we fake
-- them with single-character Symbols.
type SChar = Symbol
-- | The promoted analogue of '(<>)' for Symbols. This uses
-- the special AppendSymbol type family from GHC.TypeLits.
type a <> b = AppendSymbol a b
-- | The singleton analogue of '(<>)' for Symbols.
(%<>) :: Sing a -> Sing b -> Sing (a <> b)
infixr 6 %<>
sShows :: forall (t_a2MZu :: a_a2MlZ) (t_a2MZv :: Symbol). SShow a_a2MlZ => Sing t_a2MZu -> Sing t_a2MZv -> Sing (Apply (Apply ShowsSym0 t_a2MZu) t_a2MZv :: Symbol)
sShowChar :: forall (t_a2MZk :: Symbol) (t_a2MZl :: Symbol). Sing t_a2MZk -> Sing t_a2MZl -> Sing (Apply (Apply ShowCharSym0 t_a2MZk) t_a2MZl :: Symbol)
sShowString :: forall (t_a2MZh :: Symbol) (t_a2MZi :: Symbol). Sing t_a2MZh -> Sing t_a2MZi -> Sing (Apply (Apply ShowStringSym0 t_a2MZh) t_a2MZi :: Symbol)
sShowParen :: forall (t_a2MZm :: Bool) (t_a2MZn :: TyFun Symbol Symbol -> Type) (t_a2MZo :: Symbol). Sing t_a2MZm -> Sing t_a2MZn -> Sing t_a2MZo -> Sing (Apply (Apply (Apply ShowParenSym0 t_a2MZm) t_a2MZn) t_a2MZo :: Symbol)
sId :: forall (t_a1ILJ :: a_a1IGH). Sing t_a1ILJ -> Sing (Apply IdSym0 t_a1ILJ :: a_a1IGH)
sConst :: forall (t_a1ILF :: a_a1IGF) (t_a1ILG :: b_a1IGG). Sing t_a1ILF -> Sing t_a1ILG -> Sing (Apply (Apply ConstSym0 t_a1ILF) t_a1ILG :: a_a1IGF)
(%.) :: forall (t_a1ILC :: TyFun b_a1IGC c_a1IGD -> Type) (t_a1ILD :: TyFun a_a1IGE b_a1IGC -> Type) (t_a1ILE :: a_a1IGE). Sing t_a1ILC -> Sing t_a1ILD -> Sing t_a1ILE -> Sing (Apply (Apply (Apply (.@#@$) t_a1ILC) t_a1ILD) t_a1ILE :: c_a1IGD)
infixr 9 %.
(%$) :: forall (t_a1ILx :: TyFun a_a1IGw b_a1IGx -> Type) (t_a1ILy :: a_a1IGw). Sing t_a1ILx -> Sing t_a1ILy -> Sing (Apply (Apply ($@#@$) t_a1ILx) t_a1ILy :: b_a1IGx)
infixr 0 %$
(%$!) :: forall (t_a1ILv :: TyFun a_a1IGu b_a1IGv -> Type) (t_a1ILw :: a_a1IGu). Sing t_a1ILv -> Sing t_a1ILw -> Sing (Apply (Apply ($!@#@$) t_a1ILv) t_a1ILw :: b_a1IGv)
infixr 0 %$!
sFlip :: forall (t_a1ILz :: TyFun a_a1IGz (TyFun b_a1IGA c_a1IGB -> Type) -> Type) (t_a1ILA :: b_a1IGA) (t_a1ILB :: a_a1IGz). Sing t_a1ILz -> Sing t_a1ILA -> Sing t_a1ILB -> Sing (Apply (Apply (Apply FlipSym0 t_a1ILz) t_a1ILA) t_a1ILB :: c_a1IGB)
sAsTypeOf :: forall (t_a1ILH :: a_a1IGy) (t_a1ILI :: a_a1IGy). Sing t_a1ILH -> Sing t_a1ILI -> Sing (Apply (Apply AsTypeOfSym0 t_a1ILH) t_a1ILI :: a_a1IGy)
sSeq :: forall (t_a1ILt :: a_a1IGs) (t_a1ILu :: b_a1IGt). Sing t_a1ILt -> Sing t_a1ILu -> Sing (Apply (Apply SeqSym0 t_a1ILt) t_a1ILu :: b_a1IGt)
infixr 0 `sSeq`
sMap :: forall (t_a1ILM :: TyFun a_a1IGJ b_a1IGK -> Type) (t_a1ILN :: [a_a1IGJ]). Sing t_a1ILM -> Sing t_a1ILN -> Sing (Apply (Apply MapSym0 t_a1ILM) t_a1ILN :: [b_a1IGK])
(%++) :: forall (t_a1ILK :: [a_a1IGI]) (t_a1ILL :: [a_a1IGI]). Sing t_a1ILK -> Sing t_a1ILL -> Sing (Apply (Apply (++@#@$) t_a1ILK) t_a1ILL :: [a_a1IGI])
infixr 5 %++
sHead :: forall (t_a1RMG :: [a_a1OzP]). Sing t_a1RMG -> Sing (Apply HeadSym0 t_a1RMG :: a_a1OzP)
sLast :: forall (t_a1RMF :: [a_a1OzO]). Sing t_a1RMF -> Sing (Apply LastSym0 t_a1RMF :: a_a1OzO)
sTail :: forall (t_a1RME :: [a_a1OzN]). Sing t_a1RME -> Sing (Apply TailSym0 t_a1RME :: [a_a1OzN])
sInit :: forall (t_a1RMD :: [a_a1OzM]). Sing t_a1RMD -> Sing (Apply InitSym0 t_a1RMD :: [a_a1OzM])
sNull :: forall (t_a1RMA :: [a_a1OzL]). Sing t_a1RMA -> Sing (Apply NullSym0 t_a1RMA :: Bool)
sReverse :: forall (t_a1RMx :: [a_a1OzK]). Sing t_a1RMx -> Sing (Apply ReverseSym0 t_a1RMx :: [a_a1OzK])
sFoldl :: forall (t_a12V1 :: TyFun b_a12TF (TyFun a_a12TE b_a12TF -> Type) -> Type) (t_a12V2 :: b_a12TF) (t_a12V3 :: [a_a12TE]). Sing t_a12V1 -> Sing t_a12V2 -> Sing t_a12V3 -> Sing (Apply (Apply (Apply FoldlSym0 t_a12V1) t_a12V2) t_a12V3 :: b_a12TF)
sFoldl1 :: forall (t_a1RMb :: TyFun a_a1OzB (TyFun a_a1OzB a_a1OzB -> Type) -> Type) (t_a1RMc :: [a_a1OzB]). Sing t_a1RMb -> Sing t_a1RMc -> Sing (Apply (Apply Foldl1Sym0 t_a1RMb) t_a1RMc :: a_a1OzB)
sFoldr :: forall (t_a1ILO :: TyFun a_a1IGL (TyFun b_a1IGM b_a1IGM -> Type) -> Type) (t_a1ILP :: b_a1IGM) (t_a1ILQ :: [a_a1IGL]). Sing t_a1ILO -> Sing t_a1ILP -> Sing t_a1ILQ -> Sing (Apply (Apply (Apply FoldrSym0 t_a1ILO) t_a1ILP) t_a1ILQ :: b_a1IGM)
sFoldr1 :: forall (t_a1RM9 :: TyFun a_a1Ozz (TyFun a_a1Ozz a_a1Ozz -> Type) -> Type) (t_a1RMa :: [a_a1Ozz]). Sing t_a1RM9 -> Sing t_a1RMa -> Sing (Apply (Apply Foldr1Sym0 t_a1RM9) t_a1RMa :: a_a1Ozz)
sAnd :: forall (t_a1RM5 :: [Bool]). Sing t_a1RM5 -> Sing (Apply AndSym0 t_a1RM5 :: Bool)
sOr :: forall (t_a1RM4 :: [Bool]). Sing t_a1RM4 -> Sing (Apply OrSym0 t_a1RM4 :: Bool)
sAny :: forall (t_a1RLT :: TyFun a_a1Ozu Bool -> Type) (t_a1RLU :: [a_a1Ozu]). Sing t_a1RLT -> Sing t_a1RLU -> Sing (Apply (Apply AnySym0 t_a1RLT) t_a1RLU :: Bool)
sAll :: forall (t_a1RM2 :: TyFun a_a1Ozv Bool -> Type) (t_a1RM3 :: [a_a1Ozv]). Sing t_a1RM2 -> Sing t_a1RM3 -> Sing (Apply (Apply AllSym0 t_a1RM2) t_a1RM3 :: Bool)
sConcat :: forall (t_a1RM8 :: [[a_a1Ozy]]). Sing t_a1RM8 -> Sing (Apply ConcatSym0 t_a1RM8 :: [a_a1Ozy])
sConcatMap :: forall (t_a1RM6 :: TyFun a_a1Ozw [b_a1Ozx] -> Type) (t_a1RM7 :: [a_a1Ozw]). Sing t_a1RM6 -> Sing t_a1RM7 -> Sing (Apply (Apply ConcatMapSym0 t_a1RM6) t_a1RM7 :: [b_a1Ozx])
sScanl :: forall (t_a1RLO :: TyFun b_a1Ozs (TyFun a_a1Ozt b_a1Ozs -> Type) -> Type) (t_a1RLP :: b_a1Ozs) (t_a1RLQ :: [a_a1Ozt]). Sing t_a1RLO -> Sing t_a1RLP -> Sing t_a1RLQ -> Sing (Apply (Apply (Apply ScanlSym0 t_a1RLO) t_a1RLP) t_a1RLQ :: [b_a1Ozs])
sScanl1 :: forall (t_a1RLR :: TyFun a_a1Ozr (TyFun a_a1Ozr a_a1Ozr -> Type) -> Type) (t_a1RLS :: [a_a1Ozr]). Sing t_a1RLR -> Sing t_a1RLS -> Sing (Apply (Apply Scanl1Sym0 t_a1RLR) t_a1RLS :: [a_a1Ozr])
sScanr :: forall (t_a1RLL :: TyFun a_a1Ozp (TyFun b_a1Ozq b_a1Ozq -> Type) -> Type) (t_a1RLM :: b_a1Ozq) (t_a1RLN :: [a_a1Ozp]). Sing t_a1RLL -> Sing t_a1RLM -> Sing t_a1RLN -> Sing (Apply (Apply (Apply ScanrSym0 t_a1RLL) t_a1RLM) t_a1RLN :: [b_a1Ozq])
sScanr1 :: forall (t_a1RLJ :: TyFun a_a1Ozo (TyFun a_a1Ozo a_a1Ozo -> Type) -> Type) (t_a1RLK :: [a_a1Ozo]). Sing t_a1RLJ -> Sing t_a1RLK -> Sing (Apply (Apply Scanr1Sym0 t_a1RLJ) t_a1RLK :: [a_a1Ozo])
sReplicate :: forall (t_a1RK6 :: Nat) (t_a1RK7 :: a_a1OxU). Sing t_a1RK6 -> Sing t_a1RK7 -> Sing (Apply (Apply ReplicateSym0 t_a1RK6) t_a1RK7 :: [a_a1OxU])
sTake :: forall (t_a1RKk :: Nat) (t_a1RKl :: [a_a1Oya]). Sing t_a1RKk -> Sing t_a1RKl -> Sing (Apply (Apply TakeSym0 t_a1RKk) t_a1RKl :: [a_a1Oya])
sDrop :: forall (t_a1RKi :: Nat) (t_a1RKj :: [a_a1Oy9]). Sing t_a1RKi -> Sing t_a1RKj -> Sing (Apply (Apply DropSym0 t_a1RKi) t_a1RKj :: [a_a1Oy9])
sSplitAt :: forall (t_a1RKm :: Nat) (t_a1RKn :: [a_a1Oy8]). Sing t_a1RKm -> Sing t_a1RKn -> Sing (Apply (Apply SplitAtSym0 t_a1RKm) t_a1RKn :: ([a_a1Oy8], [a_a1Oy8]))
sTakeWhile :: forall (t_a1RKx :: TyFun a_a1Oyf Bool -> Type) (t_a1RKy :: [a_a1Oyf]). Sing t_a1RKx -> Sing t_a1RKy -> Sing (Apply (Apply TakeWhileSym0 t_a1RKx) t_a1RKy :: [a_a1Oyf])
sSpan :: forall (t_a1RKq :: TyFun a_a1Oyc Bool -> Type) (t_a1RKr :: [a_a1Oyc]). Sing t_a1RKq -> Sing t_a1RKr -> Sing (Apply (Apply SpanSym0 t_a1RKq) t_a1RKr :: ([a_a1Oyc], [a_a1Oyc]))
sBreak :: forall (t_a1RKo :: TyFun a_a1Oyb Bool -> Type) (t_a1RKp :: [a_a1Oyb]). Sing t_a1RKo -> Sing t_a1RKp -> Sing (Apply (Apply BreakSym0 t_a1RKo) t_a1RKp :: ([a_a1Oyb], [a_a1Oyb]))
sElem :: forall (t_a1RLu :: a_a1Oza) (t_a1RLv :: [a_a1Oza]). SEq a_a1Oza => Sing t_a1RLu -> Sing t_a1RLv -> Sing (Apply (Apply ElemSym0 t_a1RLu) t_a1RLv :: Bool)
infix 4 `sElem`
sNotElem :: forall (t_a1RLs :: a_a1Oz9) (t_a1RLt :: [a_a1Oz9]). SEq a_a1Oz9 => Sing t_a1RLs -> Sing t_a1RLt -> Sing (Apply (Apply NotElemSym0 t_a1RLs) t_a1RLt :: Bool)
infix 4 `sNotElem`
sLookup :: forall (t_a1RKg :: a_a1Oy0) (t_a1RKh :: [(a_a1Oy0, b_a1Oy1)]). SEq a_a1Oy0 => Sing t_a1RKg -> Sing t_a1RKh -> Sing (Apply (Apply LookupSym0 t_a1RKg) t_a1RKh :: Maybe b_a1Oy1)
sZip :: forall (t_a1RLi :: [a_a1Oz7]) (t_a1RLj :: [b_a1Oz8]). Sing t_a1RLi -> Sing t_a1RLj -> Sing (Apply (Apply ZipSym0 t_a1RLi) t_a1RLj :: [(a_a1Oz7, b_a1Oz8)])
sZip3 :: forall (t_a1RLf :: [a_a1Oz4]) (t_a1RLg :: [b_a1Oz5]) (t_a1RLh :: [c_a1Oz6]). Sing t_a1RLf -> Sing t_a1RLg -> Sing t_a1RLh -> Sing (Apply (Apply (Apply Zip3Sym0 t_a1RLf) t_a1RLg) t_a1RLh :: [(a_a1Oz4, b_a1Oz5, c_a1Oz6)])
sZipWith :: forall (t_a1RLc :: TyFun a_a1Oz1 (TyFun b_a1Oz2 c_a1Oz3 -> Type) -> Type) (t_a1RLd :: [a_a1Oz1]) (t_a1RLe :: [b_a1Oz2]). Sing t_a1RLc -> Sing t_a1RLd -> Sing t_a1RLe -> Sing (Apply (Apply (Apply ZipWithSym0 t_a1RLc) t_a1RLd) t_a1RLe :: [c_a1Oz3])
sZipWith3 :: forall (t_a1RL8 :: TyFun a_a1OyX (TyFun b_a1OyY (TyFun c_a1OyZ d_a1Oz0 -> Type) -> Type) -> Type) (t_a1RL9 :: [a_a1OyX]) (t_a1RLa :: [b_a1OyY]) (t_a1RLb :: [c_a1OyZ]). Sing t_a1RL8 -> Sing t_a1RL9 -> Sing t_a1RLa -> Sing t_a1RLb -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a1RL8) t_a1RL9) t_a1RLa) t_a1RLb :: [d_a1Oz0])
sUnzip :: forall (t_a1RL7 :: [(a_a1OyV, b_a1OyW)]). Sing t_a1RL7 -> Sing (Apply UnzipSym0 t_a1RL7 :: ([a_a1OyV], [b_a1OyW]))
sUnzip3 :: forall (t_a1RL6 :: [(a_a1OyS, b_a1OyT, c_a1OyU)]). Sing t_a1RL6 -> Sing (Apply Unzip3Sym0 t_a1RL6 :: ([a_a1OyS], [b_a1OyT], [c_a1OyU]))
sUnlines :: forall (t_a1RL1 :: [Symbol]). Sing t_a1RL1 -> Sing (Apply UnlinesSym0 t_a1RL1 :: Symbol)
sUnwords :: forall (t_a1RL0 :: [Symbol]). Sing t_a1RL0 -> Sing (Apply UnwordsSym0 t_a1RL0 :: Symbol)
sMaybe_ :: forall (t_a1EnD :: b_a1En3) (t_a1EnE :: TyFun a_a1En4 b_a1En3 -> Type) (t_a1EnF :: Maybe a_a1En4). Sing t_a1EnD -> Sing t_a1EnE -> Sing t_a1EnF -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a1EnD) t_a1EnE) t_a1EnF :: b_a1En3)
sEither_ :: forall (t_a3MKS :: TyFun a_a3MJZ c_a3MK0 -> Type) (t_a3MKT :: TyFun b_a3MK1 c_a3MK0 -> Type) (t_a3MKU :: Either a_a3MJZ b_a3MK1). Sing t_a3MKS -> Sing t_a3MKT -> Sing t_a3MKU -> Sing (Apply (Apply (Apply Either_Sym0 t_a3MKS) t_a3MKT) t_a3MKU :: c_a3MK0)
sFst :: forall (t_a19RS :: (a_a19PM, b_a19PN)). Sing t_a19RS -> Sing (Apply FstSym0 t_a19RS :: a_a19PM)
sSnd :: forall (t_a19RR :: (a_a19PK, b_a19PL)). Sing t_a19RR -> Sing (Apply SndSym0 t_a19RR :: b_a19PL)
sCurry :: forall (t_a19RO :: TyFun (a_a19PH, b_a19PI) c_a19PJ -> Type) (t_a19RP :: a_a19PH) (t_a19RQ :: b_a19PI). Sing t_a19RO -> Sing t_a19RP -> Sing t_a19RQ -> Sing (Apply (Apply (Apply CurrySym0 t_a19RO) t_a19RP) t_a19RQ :: c_a19PJ)
sUncurry :: forall (t_a19RT :: TyFun a_a19PE (TyFun b_a19PF c_a19PG -> Type) -> Type) (t_a19RU :: (a_a19PE, b_a19PF)). Sing t_a19RT -> Sing t_a19RU -> Sing (Apply (Apply UncurrySym0 t_a19RT) t_a19RU :: c_a19PG)
-- | (Kind) This is the kind of type-level symbols. Declared here because
-- class IP needs it
data Symbol :: *
either_ :: (a_a3MJZ -> c_a3MK0) -> (b_a3MK1 -> c_a3MK0) -> Either a_a3MJZ b_a3MK1 -> c_a3MK0
maybe_ :: b_a1En3 -> (a_a1En4 -> b_a1En3) -> Maybe a_a1En4 -> b_a1En3
bool_ :: a_a1aOm -> a_a1aOm -> Bool -> a_a1aOm
-- | show, but with an extra underscore so that its promoted
-- counterpart (Show_) will not clash with the Show
-- class.
show_ :: Show a => a -> String
type FalseSym0 = False
type TrueSym0 = True
data NotSym0 (l_a1b2X :: TyFun Bool Bool)
type NotSym1 (t_a1b2W :: Bool) = Not t_a1b2W
data (&&@#@$) (l_a1aWR :: TyFun Bool (TyFun Bool Bool -> Type))
data (&&@#@$$) (l_a1aWP :: Bool) (l_a1aWO :: TyFun Bool Bool)
type (&&@#@$$$) (t_a1aWM :: Bool) (t_a1aWN :: Bool) = (&&) t_a1aWM t_a1aWN
data (||@#@$) (l_a1b03 :: TyFun Bool (TyFun Bool Bool -> Type))
data (||@#@$$) (l_a1b01 :: Bool) (l_a1b00 :: TyFun Bool Bool)
type (||@#@$$$) (t_a1aZY :: Bool) (t_a1aZZ :: Bool) = (||) t_a1aZY t_a1aZZ
type OtherwiseSym0 = Otherwise
type NothingSym0 = Nothing
data JustSym0 (l_aZVs :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_aZVr :: a3530822107858468865) = Just t_aZVr
data Maybe_Sym0 (l_a1Env :: TyFun b6989586621679403309 (TyFun (TyFun a6989586621679403310 b6989586621679403309 -> Type) (TyFun (Maybe a6989586621679403310) b6989586621679403309 -> Type) -> Type))
data Maybe_Sym1 (l_a1Ent :: b6989586621679403309) (l_a1Ens :: TyFun (TyFun a6989586621679403310 b6989586621679403309 -> Type) (TyFun (Maybe a6989586621679403310) b6989586621679403309 -> Type))
data Maybe_Sym2 (l_a1Enp :: b6989586621679403309) (l_a1Enq :: TyFun a6989586621679403310 b6989586621679403309 -> Type) (l_a1Eno :: TyFun (Maybe a6989586621679403310) b6989586621679403309)
type Maybe_Sym3 (t_a1Enl :: b6989586621679403309) (t_a1Enm :: TyFun a6989586621679403310 b6989586621679403309 -> Type) (t_a1Enn :: Maybe a6989586621679403310) = Maybe_ t_a1Enl t_a1Enm t_a1Enn
data LeftSym0 (l_aZW4 :: TyFun a6989586621679082339 (Either a6989586621679082339 b6989586621679082340))
type LeftSym1 (t_aZW3 :: a6989586621679082339) = Left t_aZW3
data RightSym0 (l_aZW7 :: TyFun b6989586621679082340 (Either a6989586621679082339 b6989586621679082340))
type RightSym1 (t_aZW6 :: b6989586621679082340) = Right t_aZW6
data Either_Sym0 (l_a3MKJ :: TyFun (TyFun a6989586621679912139 c6989586621679912140 -> Type) (TyFun (TyFun b6989586621679912141 c6989586621679912140 -> Type) (TyFun (Either a6989586621679912139 b6989586621679912141) c6989586621679912140 -> Type) -> Type))
data Either_Sym1 (l_a3MKH :: TyFun a6989586621679912139 c6989586621679912140 -> Type) (l_a3MKG :: TyFun (TyFun b6989586621679912141 c6989586621679912140 -> Type) (TyFun (Either a6989586621679912139 b6989586621679912141) c6989586621679912140 -> Type))
data Either_Sym2 (l_a3MKD :: TyFun a6989586621679912139 c6989586621679912140 -> Type) (l_a3MKE :: TyFun b6989586621679912141 c6989586621679912140 -> Type) (l_a3MKC :: TyFun (Either a6989586621679912139 b6989586621679912141) c6989586621679912140)
type Either_Sym3 (t_a3MKz :: TyFun a6989586621679912139 c6989586621679912140 -> Type) (t_a3MKA :: TyFun b6989586621679912141 c6989586621679912140 -> Type) (t_a3MKB :: Either a6989586621679912139 b6989586621679912141) = Either_ t_a3MKz t_a3MKA t_a3MKB
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_aZWR :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aZWP :: a3530822107858468865) (l_aZWO :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aZWM :: a3530822107858468865) (t_aZWN :: b3530822107858468866) = '(t_aZWM, t_aZWN)
data Tuple3Sym0 (l_aZXh :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aZXf :: a3530822107858468865) (l_aZXe :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aZXb :: a3530822107858468865) (l_aZXc :: b3530822107858468866) (l_aZXa :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aZX7 :: a3530822107858468865) (t_aZX8 :: b3530822107858468866) (t_aZX9 :: c3530822107858468867) = '(t_aZX7, t_aZX8, t_aZX9)
data Tuple4Sym0 (l_aZXS :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aZXQ :: a3530822107858468865) (l_aZXP :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aZXM :: a3530822107858468865) (l_aZXN :: b3530822107858468866) (l_aZXL :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aZXH :: a3530822107858468865) (l_aZXI :: b3530822107858468866) (l_aZXJ :: c3530822107858468867) (l_aZXG :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aZXC :: a3530822107858468865) (t_aZXD :: b3530822107858468866) (t_aZXE :: c3530822107858468867) (t_aZXF :: d3530822107858468868) = '(t_aZXC, t_aZXD, t_aZXE, t_aZXF)
data Tuple5Sym0 (l_aZYF :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aZYD :: a3530822107858468865) (l_aZYC :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aZYz :: a3530822107858468865) (l_aZYA :: b3530822107858468866) (l_aZYy :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aZYu :: a3530822107858468865) (l_aZYv :: b3530822107858468866) (l_aZYw :: c3530822107858468867) (l_aZYt :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aZYo :: a3530822107858468865) (l_aZYp :: b3530822107858468866) (l_aZYq :: c3530822107858468867) (l_aZYr :: d3530822107858468868) (l_aZYn :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aZYi :: a3530822107858468865) (t_aZYj :: b3530822107858468866) (t_aZYk :: c3530822107858468867) (t_aZYl :: d3530822107858468868) (t_aZYm :: e3530822107858468869) = '(t_aZYi, t_aZYj, t_aZYk, t_aZYl, t_aZYm)
data Tuple6Sym0 (l_aZZF :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym1 (l_aZZD :: a3530822107858468865) (l_aZZC :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aZZz :: a3530822107858468865) (l_aZZA :: b3530822107858468866) (l_aZZy :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aZZu :: a3530822107858468865) (l_aZZv :: b3530822107858468866) (l_aZZw :: c3530822107858468867) (l_aZZt :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aZZo :: a3530822107858468865) (l_aZZp :: b3530822107858468866) (l_aZZq :: c3530822107858468867) (l_aZZr :: d3530822107858468868) (l_aZZn :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aZZh :: a3530822107858468865) (l_aZZi :: b3530822107858468866) (l_aZZj :: c3530822107858468867) (l_aZZk :: d3530822107858468868) (l_aZZl :: e3530822107858468869) (l_aZZg :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aZZa :: a3530822107858468865) (t_aZZb :: b3530822107858468866) (t_aZZc :: c3530822107858468867) (t_aZZd :: d3530822107858468868) (t_aZZe :: e3530822107858468869) (t_aZZf :: f3530822107858468870) = '(t_aZZa, t_aZZb, t_aZZc, t_aZZd, t_aZZe, t_aZZf)
data Tuple7Sym0 (l_a100T :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym1 (l_a100R :: a3530822107858468865) (l_a100Q :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym2 (l_a100N :: a3530822107858468865) (l_a100O :: b3530822107858468866) (l_a100M :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_a100I :: a3530822107858468865) (l_a100J :: b3530822107858468866) (l_a100K :: c3530822107858468867) (l_a100H :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_a100C :: a3530822107858468865) (l_a100D :: b3530822107858468866) (l_a100E :: c3530822107858468867) (l_a100F :: d3530822107858468868) (l_a100B :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_a100v :: a3530822107858468865) (l_a100w :: b3530822107858468866) (l_a100x :: c3530822107858468867) (l_a100y :: d3530822107858468868) (l_a100z :: e3530822107858468869) (l_a100u :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_a100n :: a3530822107858468865) (l_a100o :: b3530822107858468866) (l_a100p :: c3530822107858468867) (l_a100q :: d3530822107858468868) (l_a100r :: e3530822107858468869) (l_a100s :: f3530822107858468870) (l_a100m :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_a100f :: a3530822107858468865) (t_a100g :: b3530822107858468866) (t_a100h :: c3530822107858468867) (t_a100i :: d3530822107858468868) (t_a100j :: e3530822107858468869) (t_a100k :: f3530822107858468870) (t_a100l :: g3530822107858468871) = '(t_a100f, t_a100g, t_a100h, t_a100i, t_a100j, t_a100k, t_a100l)
data FstSym0 (l_a19Ry :: TyFun (a6989586621679285926, b6989586621679285927) a6989586621679285926)
type FstSym1 (t_a19Rx :: (a6989586621679285926, b6989586621679285927)) = Fst t_a19Rx
data SndSym0 (l_a19Rt :: TyFun (a6989586621679285924, b6989586621679285925) b6989586621679285925)
type SndSym1 (t_a19Rs :: (a6989586621679285924, b6989586621679285925)) = Snd t_a19Rs
data CurrySym0 (l_a19Rk :: TyFun (TyFun (a6989586621679285921, b6989586621679285922) c6989586621679285923 -> Type) (TyFun a6989586621679285921 (TyFun b6989586621679285922 c6989586621679285923 -> Type) -> Type))
data CurrySym1 (l_a19Ri :: TyFun (a6989586621679285921, b6989586621679285922) c6989586621679285923 -> Type) (l_a19Rh :: TyFun a6989586621679285921 (TyFun b6989586621679285922 c6989586621679285923 -> Type))
data CurrySym2 (l_a19Re :: TyFun (a6989586621679285921, b6989586621679285922) c6989586621679285923 -> Type) (l_a19Rf :: a6989586621679285921) (l_a19Rd :: TyFun b6989586621679285922 c6989586621679285923)
type CurrySym3 (t_a19Ra :: TyFun (a6989586621679285921, b6989586621679285922) c6989586621679285923 -> Type) (t_a19Rb :: a6989586621679285921) (t_a19Rc :: b6989586621679285922) = Curry t_a19Ra t_a19Rb t_a19Rc
data UncurrySym0 (l_a19RH :: TyFun (TyFun a6989586621679285918 (TyFun b6989586621679285919 c6989586621679285920 -> Type) -> Type) (TyFun (a6989586621679285918, b6989586621679285919) c6989586621679285920 -> Type))
data UncurrySym1 (l_a19RF :: TyFun a6989586621679285918 (TyFun b6989586621679285919 c6989586621679285920 -> Type) -> Type) (l_a19RE :: TyFun (a6989586621679285918, b6989586621679285919) c6989586621679285920)
type UncurrySym2 (t_a19RC :: TyFun a6989586621679285918 (TyFun b6989586621679285919 c6989586621679285920 -> Type) -> Type) (t_a19RD :: (a6989586621679285918, b6989586621679285919)) = Uncurry t_a19RC t_a19RD
data ErrorSym0 (l_a1ycT :: TyFun k06989586621679378680 k6989586621679378681)
type ErrorSym1 (t_a1ycS :: k06989586621679378680) = Error t_a1ycS
type UndefinedSym0 = Undefined
data (^@#@$) (l_a1yhx :: TyFun Nat (TyFun Nat Nat -> Type))
data (^@#@$$) (l_a1yhv :: Nat) (l_a1yhu :: TyFun Nat Nat)
type (^@#@$$$) (t_a1yhs :: Nat) (t_a1yht :: Nat) = (^) t_a1yhs t_a1yht
data ShowsPrecSym0 (l_a2MT5 :: TyFun Nat (TyFun a6989586621679672338 (TyFun Symbol Symbol -> Type) -> Type))
data ShowsPrecSym1 (l_a2MT3 :: Nat) (l_a2MT2 :: TyFun a6989586621679672338 (TyFun Symbol Symbol -> Type))
data ShowsPrecSym2 (l_a2MSZ :: Nat) (l_a2MT0 :: a6989586621679672338) (l_a2MSY :: TyFun Symbol Symbol)
type ShowsPrecSym3 (t_a2MSV :: Nat) (t_a2MSW :: a6989586621679672338) (t_a2MSX :: Symbol) = ShowsPrec t_a2MSV t_a2MSW t_a2MSX
data Show_Sym0 (l_a2MT9 :: TyFun a6989586621679672338 Symbol)
type Show_Sym1 (t_a2MT8 :: a6989586621679672338) = Show_ t_a2MT8
data ShowListSym0 (l_a2MTi :: TyFun [a6989586621679672338] (TyFun Symbol Symbol -> Type))
data ShowListSym1 (l_a2MTg :: [a6989586621679672338]) (l_a2MTf :: TyFun Symbol Symbol)
type ShowListSym2 (t_a2MTd :: [a6989586621679672338]) (t_a2MTe :: Symbol) = ShowList t_a2MTd t_a2MTe
data (<>@#@$) l_a1ylq
data (<>@#@$$) (l_a1ylo :: Symbol) l_a1yln
type (<>@#@$$$) (t_a1yll :: Symbol) (t_a1ylm :: Symbol) = (<>) t_a1yll t_a1ylm
data ShowsSym0 (l_a2MSK :: TyFun a6989586621679672323 (TyFun Symbol Symbol -> Type))
data ShowsSym1 (l_a2MSI :: a6989586621679672323) (l_a2MSH :: TyFun Symbol Symbol)
type ShowsSym2 (t_a2MSF :: a6989586621679672323) (t_a2MSG :: Symbol) = Shows t_a2MSF t_a2MSG
data ShowCharSym0 (l_a2MQO :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowCharSym1 (l_a2MQM :: Symbol) (l_a2MQL :: TyFun Symbol Symbol)
type ShowCharSym2 (t_a2MQJ :: Symbol) (t_a2MQK :: Symbol) = ShowChar t_a2MQJ t_a2MQK
data ShowStringSym0 (l_a2MQs :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowStringSym1 (l_a2MQq :: Symbol) (l_a2MQp :: TyFun Symbol Symbol)
type ShowStringSym2 (t_a2MQn :: Symbol) (t_a2MQo :: Symbol) = ShowString t_a2MQn t_a2MQo
data ShowParenSym0 (l_a2MR4 :: TyFun Bool (TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type) -> Type))
data ShowParenSym1 (l_a2MR2 :: Bool) (l_a2MR1 :: TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type))
data ShowParenSym2 (l_a2MQY :: Bool) (l_a2MQZ :: TyFun Symbol Symbol -> Type) (l_a2MQX :: TyFun Symbol Symbol)
data IdSym0 (l_a1IKk :: TyFun a6989586621679419903 a6989586621679419903)
type IdSym1 (t_a1IKj :: a6989586621679419903) = Id t_a1IKj
data ConstSym0 (l_a1IJZ :: TyFun a6989586621679419901 (TyFun b6989586621679419902 a6989586621679419901 -> Type))
data ConstSym1 (l_a1IJX :: a6989586621679419901) (l_a1IJW :: TyFun b6989586621679419902 a6989586621679419901)
type ConstSym2 (t_a1IJU :: a6989586621679419901) (t_a1IJV :: b6989586621679419902) = Const t_a1IJU t_a1IJV
data (.@#@$) (l_a1IJo :: TyFun (TyFun b6989586621679419898 c6989586621679419899 -> Type) (TyFun (TyFun a6989586621679419900 b6989586621679419898 -> Type) (TyFun a6989586621679419900 c6989586621679419899 -> Type) -> Type))
data (.@#@$$) (l_a1IJm :: TyFun b6989586621679419898 c6989586621679419899 -> Type) (l_a1IJl :: TyFun (TyFun a6989586621679419900 b6989586621679419898 -> Type) (TyFun a6989586621679419900 c6989586621679419899 -> Type))
data (.@#@$$$) (l_a1IJi :: TyFun b6989586621679419898 c6989586621679419899 -> Type) (l_a1IJj :: TyFun a6989586621679419900 b6989586621679419898 -> Type) (l_a1IJh :: TyFun a6989586621679419900 c6989586621679419899)
data ($@#@$) (l_a1IIQ :: TyFun (TyFun a6989586621679419892 b6989586621679419893 -> Type) (TyFun a6989586621679419892 b6989586621679419893 -> Type))
data ($@#@$$) (l_a1IIO :: TyFun a6989586621679419892 b6989586621679419893 -> Type) (l_a1IIN :: TyFun a6989586621679419892 b6989586621679419893)
type ($@#@$$$) (t_a1IIL :: TyFun a6989586621679419892 b6989586621679419893 -> Type) (t_a1IIM :: a6989586621679419892) = ($) t_a1IIL t_a1IIM
data ($!@#@$) (l_a1IIx :: TyFun (TyFun a6989586621679419890 b6989586621679419891 -> Type) (TyFun a6989586621679419890 b6989586621679419891 -> Type))
data ($!@#@$$) (l_a1IIv :: TyFun a6989586621679419890 b6989586621679419891 -> Type) (l_a1IIu :: TyFun a6989586621679419890 b6989586621679419891)
type ($!@#@$$$) (t_a1IIs :: TyFun a6989586621679419890 b6989586621679419891 -> Type) (t_a1IIt :: a6989586621679419890) = ($!) t_a1IIs t_a1IIt
data FlipSym0 (l_a1IJ6 :: TyFun (TyFun a6989586621679419895 (TyFun b6989586621679419896 c6989586621679419897 -> Type) -> Type) (TyFun b6989586621679419896 (TyFun a6989586621679419895 c6989586621679419897 -> Type) -> Type))
data FlipSym1 (l_a1IJ4 :: TyFun a6989586621679419895 (TyFun b6989586621679419896 c6989586621679419897 -> Type) -> Type) (l_a1IJ3 :: TyFun b6989586621679419896 (TyFun a6989586621679419895 c6989586621679419897 -> Type))
data FlipSym2 (l_a1IJ0 :: TyFun a6989586621679419895 (TyFun b6989586621679419896 c6989586621679419897 -> Type) -> Type) (l_a1IJ1 :: b6989586621679419896) (l_a1IIZ :: TyFun a6989586621679419895 c6989586621679419897)
data AsTypeOfSym0 (l_a1IKd :: TyFun a6989586621679419894 (TyFun a6989586621679419894 a6989586621679419894 -> Type))
data AsTypeOfSym1 (l_a1IKb :: a6989586621679419894) (l_a1IKa :: TyFun a6989586621679419894 a6989586621679419894)
type AsTypeOfSym2 (t_a1IK8 :: a6989586621679419894) (t_a1IK9 :: a6989586621679419894) = AsTypeOf t_a1IK8 t_a1IK9
data SeqSym0 (l_a1IIn :: TyFun a6989586621679419888 (TyFun b6989586621679419889 b6989586621679419889 -> Type))
data SeqSym1 (l_a1IIl :: a6989586621679419888) (l_a1IIk :: TyFun b6989586621679419889 b6989586621679419889)
type SeqSym2 (t_a1IIi :: a6989586621679419888) (t_a1IIj :: b6989586621679419889) = Seq t_a1IIi t_a1IIj
data (:@#@$) (l_aZVM :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:@#@$$) (l_aZVK :: a3530822107858468865) (l_aZVJ :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:@#@$$$) (t_aZVH :: a3530822107858468865) (t_aZVI :: [a3530822107858468865]) = (:) t_aZVH t_aZVI
type NilSym0 = '[]
data MapSym0 (l_a1IKG :: TyFun (TyFun a6989586621679419905 b6989586621679419906 -> Type) (TyFun [a6989586621679419905] [b6989586621679419906] -> Type))
data MapSym1 (l_a1IKE :: TyFun a6989586621679419905 b6989586621679419906 -> Type) (l_a1IKD :: TyFun [a6989586621679419905] [b6989586621679419906])
type MapSym2 (t_a1IKB :: TyFun a6989586621679419905 b6989586621679419906 -> Type) (t_a1IKC :: [a6989586621679419905]) = Map t_a1IKB t_a1IKC
data ReverseSym0 (l_a1RHw :: TyFun [a6989586621679442536] [a6989586621679442536])
type ReverseSym1 (t_a1RHv :: [a6989586621679442536]) = Reverse t_a1RHv
data (++@#@$$) (l_a1IKr :: [a6989586621679419904]) (l_a1IKq :: TyFun [a6989586621679419904] [a6989586621679419904])
data (++@#@$) (l_a1IKt :: TyFun [a6989586621679419904] (TyFun [a6989586621679419904] [a6989586621679419904] -> Type))
data HeadSym0 (l_a1RJM :: TyFun [a6989586621679442541] a6989586621679442541)
type HeadSym1 (t_a1RJL :: [a6989586621679442541]) = Head t_a1RJL
data LastSym0 (l_a1RJF :: TyFun [a6989586621679442540] a6989586621679442540)
type LastSym1 (t_a1RJE :: [a6989586621679442540]) = Last t_a1RJE
data TailSym0 (l_a1RJA :: TyFun [a6989586621679442539] [a6989586621679442539])
type TailSym1 (t_a1RJz :: [a6989586621679442539]) = Tail t_a1RJz
data InitSym0 (l_a1RJ6 :: TyFun [a6989586621679442538] [a6989586621679442538])
type InitSym1 (t_a1RJ5 :: [a6989586621679442538]) = Init t_a1RJ5
data NullSym0 (l_a1RI5 :: TyFun [a6989586621679442537] Bool)
type NullSym1 (t_a1RI4 :: [a6989586621679442537]) = Null t_a1RI4
data FoldlSym0 (l_a12Un :: TyFun (TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (TyFun b6989586621679259259 (TyFun [a6989586621679259258] b6989586621679259259 -> Type) -> Type))
data FoldlSym1 (l_a12Ul :: TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (l_a12Uk :: TyFun b6989586621679259259 (TyFun [a6989586621679259258] b6989586621679259259 -> Type))
data FoldlSym2 (l_a12Uh :: TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (l_a12Ui :: b6989586621679259259) (l_a12Ug :: TyFun [a6989586621679259258] b6989586621679259259)
type FoldlSym3 (t_a12Ud :: TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (t_a12Ue :: b6989586621679259259) (t_a12Uf :: [a6989586621679259258]) = Foldl t_a12Ud t_a12Ue t_a12Uf
data Foldl1Sym0 (l_a1RvO :: TyFun (TyFun a6989586621679442527 (TyFun a6989586621679442527 a6989586621679442527 -> Type) -> Type) (TyFun [a6989586621679442527] a6989586621679442527 -> Type))
data Foldl1Sym1 (l_a1RvM :: TyFun a6989586621679442527 (TyFun a6989586621679442527 a6989586621679442527 -> Type) -> Type) (l_a1RvL :: TyFun [a6989586621679442527] a6989586621679442527)
type Foldl1Sym2 (t_a1RvJ :: TyFun a6989586621679442527 (TyFun a6989586621679442527 a6989586621679442527 -> Type) -> Type) (t_a1RvK :: [a6989586621679442527]) = Foldl1 t_a1RvJ t_a1RvK
data FoldrSym0 (l_a1IKX :: TyFun (TyFun a6989586621679419907 (TyFun b6989586621679419908 b6989586621679419908 -> Type) -> Type) (TyFun b6989586621679419908 (TyFun [a6989586621679419907] b6989586621679419908 -> Type) -> Type))
data FoldrSym1 (l_a1IKV :: TyFun a6989586621679419907 (TyFun b6989586621679419908 b6989586621679419908 -> Type) -> Type) (l_a1IKU :: TyFun b6989586621679419908 (TyFun [a6989586621679419907] b6989586621679419908 -> Type))
data FoldrSym2 (l_a1IKR :: TyFun a6989586621679419907 (TyFun b6989586621679419908 b6989586621679419908 -> Type) -> Type) (l_a1IKS :: b6989586621679419908) (l_a1IKQ :: TyFun [a6989586621679419907] b6989586621679419908)
type FoldrSym3 (t_a1IKN :: TyFun a6989586621679419907 (TyFun b6989586621679419908 b6989586621679419908 -> Type) -> Type) (t_a1IKO :: b6989586621679419908) (t_a1IKP :: [a6989586621679419907]) = Foldr t_a1IKN t_a1IKO t_a1IKP
data Foldr1Sym0 (l_a1Rvh :: TyFun (TyFun a6989586621679442525 (TyFun a6989586621679442525 a6989586621679442525 -> Type) -> Type) (TyFun [a6989586621679442525] a6989586621679442525 -> Type))
data Foldr1Sym1 (l_a1Rvf :: TyFun a6989586621679442525 (TyFun a6989586621679442525 a6989586621679442525 -> Type) -> Type) (l_a1Rve :: TyFun [a6989586621679442525] a6989586621679442525)
type Foldr1Sym2 (t_a1Rvc :: TyFun a6989586621679442525 (TyFun a6989586621679442525 a6989586621679442525 -> Type) -> Type) (t_a1Rvd :: [a6989586621679442525]) = Foldr1 t_a1Rvc t_a1Rvd
data ConcatSym0 (l_a1Rv8 :: TyFun [[a6989586621679442524]] [a6989586621679442524])
type ConcatSym1 (t_a1Rv7 :: [[a6989586621679442524]]) = Concat t_a1Rv7
data ConcatMapSym0 (l_a1RuX :: TyFun (TyFun a6989586621679442522 [b6989586621679442523] -> Type) (TyFun [a6989586621679442522] [b6989586621679442523] -> Type))
data ConcatMapSym1 (l_a1RuV :: TyFun a6989586621679442522 [b6989586621679442523] -> Type) (l_a1RuU :: TyFun [a6989586621679442522] [b6989586621679442523])
type ConcatMapSym2 (t_a1RuS :: TyFun a6989586621679442522 [b6989586621679442523] -> Type) (t_a1RuT :: [a6989586621679442522]) = ConcatMap t_a1RuS t_a1RuT
data AndSym0 (l_a1RuN :: TyFun [Bool] Bool)
type AndSym1 (t_a1RuM :: [Bool]) = And t_a1RuM
data OrSym0 (l_a1RuH :: TyFun [Bool] Bool)
type OrSym1 (t_a1RuG :: [Bool]) = Or t_a1RuG
data AnySym0 (l_a1Rsd :: TyFun (TyFun a6989586621679442520 Bool -> Type) (TyFun [a6989586621679442520] Bool -> Type))
data AnySym1 (l_a1Rsb :: TyFun a6989586621679442520 Bool -> Type) (l_a1Rsa :: TyFun [a6989586621679442520] Bool)
type AnySym2 (t_a1Rs8 :: TyFun a6989586621679442520 Bool -> Type) (t_a1Rs9 :: [a6989586621679442520]) = Any t_a1Rs8 t_a1Rs9
data AllSym0 (l_a1Ruz :: TyFun (TyFun a6989586621679442521 Bool -> Type) (TyFun [a6989586621679442521] Bool -> Type))
data AllSym1 (l_a1Rux :: TyFun a6989586621679442521 Bool -> Type) (l_a1Ruw :: TyFun [a6989586621679442521] Bool)
type AllSym2 (t_a1Ruu :: TyFun a6989586621679442521 Bool -> Type) (t_a1Ruv :: [a6989586621679442521]) = All t_a1Ruu t_a1Ruv
data ScanlSym0 (l_a1RrJ :: TyFun (TyFun b6989586621679442518 (TyFun a6989586621679442519 b6989586621679442518 -> Type) -> Type) (TyFun b6989586621679442518 (TyFun [a6989586621679442519] [b6989586621679442518] -> Type) -> Type))
data ScanlSym1 (l_a1RrH :: TyFun b6989586621679442518 (TyFun a6989586621679442519 b6989586621679442518 -> Type) -> Type) (l_a1RrG :: TyFun b6989586621679442518 (TyFun [a6989586621679442519] [b6989586621679442518] -> Type))
data ScanlSym2 (l_a1RrD :: TyFun b6989586621679442518 (TyFun a6989586621679442519 b6989586621679442518 -> Type) -> Type) (l_a1RrE :: b6989586621679442518) (l_a1RrC :: TyFun [a6989586621679442519] [b6989586621679442518])
type ScanlSym3 (t_a1Rrz :: TyFun b6989586621679442518 (TyFun a6989586621679442519 b6989586621679442518 -> Type) -> Type) (t_a1RrA :: b6989586621679442518) (t_a1RrB :: [a6989586621679442519]) = Scanl t_a1Rrz t_a1RrA t_a1RrB
data Scanl1Sym0 (l_a1Rs1 :: TyFun (TyFun a6989586621679442517 (TyFun a6989586621679442517 a6989586621679442517 -> Type) -> Type) (TyFun [a6989586621679442517] [a6989586621679442517] -> Type))
data Scanl1Sym1 (l_a1RrZ :: TyFun a6989586621679442517 (TyFun a6989586621679442517 a6989586621679442517 -> Type) -> Type) (l_a1RrY :: TyFun [a6989586621679442517] [a6989586621679442517])
type Scanl1Sym2 (t_a1RrW :: TyFun a6989586621679442517 (TyFun a6989586621679442517 a6989586621679442517 -> Type) -> Type) (t_a1RrX :: [a6989586621679442517]) = Scanl1 t_a1RrW t_a1RrX
data ScanrSym0 (l_a1Rr1 :: TyFun (TyFun a6989586621679442515 (TyFun b6989586621679442516 b6989586621679442516 -> Type) -> Type) (TyFun b6989586621679442516 (TyFun [a6989586621679442515] [b6989586621679442516] -> Type) -> Type))
data ScanrSym1 (l_a1RqZ :: TyFun a6989586621679442515 (TyFun b6989586621679442516 b6989586621679442516 -> Type) -> Type) (l_a1RqY :: TyFun b6989586621679442516 (TyFun [a6989586621679442515] [b6989586621679442516] -> Type))
data ScanrSym2 (l_a1RqV :: TyFun a6989586621679442515 (TyFun b6989586621679442516 b6989586621679442516 -> Type) -> Type) (l_a1RqW :: b6989586621679442516) (l_a1RqU :: TyFun [a6989586621679442515] [b6989586621679442516])
type ScanrSym3 (t_a1RqR :: TyFun a6989586621679442515 (TyFun b6989586621679442516 b6989586621679442516 -> Type) -> Type) (t_a1RqS :: b6989586621679442516) (t_a1RqT :: [a6989586621679442515]) = Scanr t_a1RqR t_a1RqS t_a1RqT
data Scanr1Sym0 (l_a1Rq1 :: TyFun (TyFun a6989586621679442514 (TyFun a6989586621679442514 a6989586621679442514 -> Type) -> Type) (TyFun [a6989586621679442514] [a6989586621679442514] -> Type))
data Scanr1Sym1 (l_a1RpZ :: TyFun a6989586621679442514 (TyFun a6989586621679442514 a6989586621679442514 -> Type) -> Type) (l_a1RpY :: TyFun [a6989586621679442514] [a6989586621679442514])
type Scanr1Sym2 (t_a1RpW :: TyFun a6989586621679442514 (TyFun a6989586621679442514 a6989586621679442514 -> Type) -> Type) (t_a1RpX :: [a6989586621679442514]) = Scanr1 t_a1RpW t_a1RpX
data ReplicateSym0 (l_a1QZ9 :: TyFun Nat (TyFun a6989586621679442422 [a6989586621679442422] -> Type))
data ReplicateSym1 (l_a1QZ7 :: Nat) (l_a1QZ6 :: TyFun a6989586621679442422 [a6989586621679442422])
type ReplicateSym2 (t_a1QZ4 :: Nat) (t_a1QZ5 :: a6989586621679442422) = Replicate t_a1QZ4 t_a1QZ5
data TakeSym0 (l_a1R2e :: TyFun Nat (TyFun [a6989586621679442438] [a6989586621679442438] -> Type))
data TakeSym1 (l_a1R2c :: Nat) (l_a1R2b :: TyFun [a6989586621679442438] [a6989586621679442438])
type TakeSym2 (t_a1R29 :: Nat) (t_a1R2a :: [a6989586621679442438]) = Take t_a1R29 t_a1R2a
data DropSym0 (l_a1R1M :: TyFun Nat (TyFun [a6989586621679442437] [a6989586621679442437] -> Type))
data DropSym1 (l_a1R1K :: Nat) (l_a1R1J :: TyFun [a6989586621679442437] [a6989586621679442437])
type DropSym2 (t_a1R1H :: Nat) (t_a1R1I :: [a6989586621679442437]) = Drop t_a1R1H t_a1R1I
data SplitAtSym0 (l_a1R2G :: TyFun Nat (TyFun [a6989586621679442436] ([a6989586621679442436], [a6989586621679442436]) -> Type))
data SplitAtSym1 (l_a1R2E :: Nat) (l_a1R2D :: TyFun [a6989586621679442436] ([a6989586621679442436], [a6989586621679442436]))
type SplitAtSym2 (t_a1R2B :: Nat) (t_a1R2C :: [a6989586621679442436]) = SplitAt t_a1R2B t_a1R2C
data TakeWhileSym0 (l_a1R7C :: TyFun (TyFun a6989586621679442443 Bool -> Type) (TyFun [a6989586621679442443] [a6989586621679442443] -> Type))
data TakeWhileSym1 (l_a1R7A :: TyFun a6989586621679442443 Bool -> Type) (l_a1R7z :: TyFun [a6989586621679442443] [a6989586621679442443])
type TakeWhileSym2 (t_a1R7x :: TyFun a6989586621679442443 Bool -> Type) (t_a1R7y :: [a6989586621679442443]) = TakeWhile t_a1R7x t_a1R7y
data DropWhileSym0 (l_a1R6X :: TyFun (TyFun a6989586621679442442 Bool -> Type) (TyFun [a6989586621679442442] [a6989586621679442442] -> Type))
data DropWhileSym1 (l_a1R6V :: TyFun a6989586621679442442 Bool -> Type) (l_a1R6U :: TyFun [a6989586621679442442] [a6989586621679442442])
type DropWhileSym2 (t_a1R6S :: TyFun a6989586621679442442 Bool -> Type) (t_a1R6T :: [a6989586621679442442]) = DropWhile t_a1R6S t_a1R6T
data DropWhileEndSym0 (l_a1RId :: TyFun (TyFun a6989586621679442441 Bool -> Type) (TyFun [a6989586621679442441] [a6989586621679442441] -> Type))
data DropWhileEndSym1 (l_a1RIb :: TyFun a6989586621679442441 Bool -> Type) (l_a1RIa :: TyFun [a6989586621679442441] [a6989586621679442441])
type DropWhileEndSym2 (t_a1RI8 :: TyFun a6989586621679442441 Bool -> Type) (t_a1RI9 :: [a6989586621679442441]) = DropWhileEnd t_a1RI8 t_a1RI9
data SpanSym0 (l_a1R4m :: TyFun (TyFun a6989586621679442440 Bool -> Type) (TyFun [a6989586621679442440] ([a6989586621679442440], [a6989586621679442440]) -> Type))
data SpanSym1 (l_a1R4k :: TyFun a6989586621679442440 Bool -> Type) (l_a1R4j :: TyFun [a6989586621679442440] ([a6989586621679442440], [a6989586621679442440]))
type SpanSym2 (t_a1R4h :: TyFun a6989586621679442440 Bool -> Type) (t_a1R4i :: [a6989586621679442440]) = Span t_a1R4h t_a1R4i
data BreakSym0 (l_a1R2R :: TyFun (TyFun a6989586621679442439 Bool -> Type) (TyFun [a6989586621679442439] ([a6989586621679442439], [a6989586621679442439]) -> Type))
data BreakSym1 (l_a1R2P :: TyFun a6989586621679442439 Bool -> Type) (l_a1R2O :: TyFun [a6989586621679442439] ([a6989586621679442439], [a6989586621679442439]))
type BreakSym2 (t_a1R2M :: TyFun a6989586621679442439 Bool -> Type) (t_a1R2N :: [a6989586621679442439]) = Break t_a1R2M t_a1R2N
data ElemSym0 (l_a1Rj8 :: TyFun a6989586621679442500 (TyFun [a6989586621679442500] Bool -> Type))
data ElemSym1 (l_a1Rj6 :: a6989586621679442500) (l_a1Rj5 :: TyFun [a6989586621679442500] Bool)
type ElemSym2 (t_a1Rj3 :: a6989586621679442500) (t_a1Rj4 :: [a6989586621679442500]) = Elem t_a1Rj3 t_a1Rj4
data NotElemSym0 (l_a1RiW :: TyFun a6989586621679442499 (TyFun [a6989586621679442499] Bool -> Type))
data NotElemSym1 (l_a1RiU :: a6989586621679442499) (l_a1RiT :: TyFun [a6989586621679442499] Bool)
type NotElemSym2 (t_a1RiR :: a6989586621679442499) (t_a1RiS :: [a6989586621679442499]) = NotElem t_a1RiR t_a1RiS
data ZipSym0 (l_a1Rhe :: TyFun [a6989586621679442497] (TyFun [b6989586621679442498] [(a6989586621679442497, b6989586621679442498)] -> Type))
data ZipSym1 (l_a1Rhc :: [a6989586621679442497]) (l_a1Rhb :: TyFun [b6989586621679442498] [(a6989586621679442497, b6989586621679442498)])
type ZipSym2 (t_a1Rh9 :: [a6989586621679442497]) (t_a1Rha :: [b6989586621679442498]) = Zip t_a1Rh9 t_a1Rha
data Zip3Sym0 (l_a1RgY :: TyFun [a6989586621679442494] (TyFun [b6989586621679442495] (TyFun [c6989586621679442496] [(a6989586621679442494, b6989586621679442495, c6989586621679442496)] -> Type) -> Type))
data Zip3Sym1 (l_a1RgW :: [a6989586621679442494]) (l_a1RgV :: TyFun [b6989586621679442495] (TyFun [c6989586621679442496] [(a6989586621679442494, b6989586621679442495, c6989586621679442496)] -> Type))
data Zip3Sym2 (l_a1RgS :: [a6989586621679442494]) (l_a1RgT :: [b6989586621679442495]) (l_a1RgR :: TyFun [c6989586621679442496] [(a6989586621679442494, b6989586621679442495, c6989586621679442496)])
type Zip3Sym3 (t_a1RgO :: [a6989586621679442494]) (t_a1RgP :: [b6989586621679442495]) (t_a1RgQ :: [c6989586621679442496]) = Zip3 t_a1RgO t_a1RgP t_a1RgQ
data ZipWithSym0 (l_a1RgE :: TyFun (TyFun a6989586621679442491 (TyFun b6989586621679442492 c6989586621679442493 -> Type) -> Type) (TyFun [a6989586621679442491] (TyFun [b6989586621679442492] [c6989586621679442493] -> Type) -> Type))
data ZipWithSym1 (l_a1RgC :: TyFun a6989586621679442491 (TyFun b6989586621679442492 c6989586621679442493 -> Type) -> Type) (l_a1RgB :: TyFun [a6989586621679442491] (TyFun [b6989586621679442492] [c6989586621679442493] -> Type))
data ZipWithSym2 (l_a1Rgy :: TyFun a6989586621679442491 (TyFun b6989586621679442492 c6989586621679442493 -> Type) -> Type) (l_a1Rgz :: [a6989586621679442491]) (l_a1Rgx :: TyFun [b6989586621679442492] [c6989586621679442493])
type ZipWithSym3 (t_a1Rgu :: TyFun a6989586621679442491 (TyFun b6989586621679442492 c6989586621679442493 -> Type) -> Type) (t_a1Rgv :: [a6989586621679442491]) (t_a1Rgw :: [b6989586621679442492]) = ZipWith t_a1Rgu t_a1Rgv t_a1Rgw
data ZipWith3Sym0 (l_a1Rgh :: TyFun (TyFun a6989586621679442487 (TyFun b6989586621679442488 (TyFun c6989586621679442489 d6989586621679442490 -> Type) -> Type) -> Type) (TyFun [a6989586621679442487] (TyFun [b6989586621679442488] (TyFun [c6989586621679442489] [d6989586621679442490] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1Rgf :: TyFun a6989586621679442487 (TyFun b6989586621679442488 (TyFun c6989586621679442489 d6989586621679442490 -> Type) -> Type) -> Type) (l_a1Rge :: TyFun [a6989586621679442487] (TyFun [b6989586621679442488] (TyFun [c6989586621679442489] [d6989586621679442490] -> Type) -> Type))
data ZipWith3Sym2 (l_a1Rgb :: TyFun a6989586621679442487 (TyFun b6989586621679442488 (TyFun c6989586621679442489 d6989586621679442490 -> Type) -> Type) -> Type) (l_a1Rgc :: [a6989586621679442487]) (l_a1Rga :: TyFun [b6989586621679442488] (TyFun [c6989586621679442489] [d6989586621679442490] -> Type))
data ZipWith3Sym3 (l_a1Rg6 :: TyFun a6989586621679442487 (TyFun b6989586621679442488 (TyFun c6989586621679442489 d6989586621679442490 -> Type) -> Type) -> Type) (l_a1Rg7 :: [a6989586621679442487]) (l_a1Rg8 :: [b6989586621679442488]) (l_a1Rg5 :: TyFun [c6989586621679442489] [d6989586621679442490])
data UnzipSym0 (l_a1Rfy :: TyFun [(a6989586621679442485, b6989586621679442486)] ([a6989586621679442485], [b6989586621679442486]))
type UnzipSym1 (t_a1Rfx :: [(a6989586621679442485, b6989586621679442486)]) = Unzip t_a1Rfx
data UnlinesSym0 (l_a1Rcy :: TyFun [Symbol] Symbol)
type UnlinesSym1 (t_a1Rcx :: [Symbol]) = Unlines t_a1Rcx
data UnwordsSym0 (l_a1Rcc :: TyFun [Symbol] Symbol)
type UnwordsSym1 (t_a1Rcb :: [Symbol]) = Unwords t_a1Rcb
-- | 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. Note that a
-- promoted datatype uses the same definition as an original datatype, so
-- this will not work with datatypes. Classes, instances, and functions
-- are all fine.
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 POrd from the given types
promoteOrdInstances :: DsMonad q => [Name] -> q [Dec]
-- | Produce an instance for POrd from the given type
promoteOrdInstance :: DsMonad q => Name -> q [Dec]
-- | Produce instances for PBounded from the given types
promoteBoundedInstances :: DsMonad q => [Name] -> q [Dec]
-- | Produce an instance for PBounded from the given type
promoteBoundedInstance :: DsMonad q => Name -> q [Dec]
-- | Produce instances for PEnum from the given types
promoteEnumInstances :: DsMonad q => [Name] -> q [Dec]
-- | Produce an instance for PEnum from the given type
promoteEnumInstance :: DsMonad q => Name -> q [Dec]
-- | Produce instances for PShow from the given types
promoteShowInstances :: DsMonad q => [Name] -> q [Dec]
-- | Produce an instance for PShow from the given type
promoteShowInstance :: 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
-- '(==)', then it defaults to a use of '(DTE.==)', from
-- Data.Type.Equality.
class PEq a where {
type family (==) (x :: a) (y :: a) :: Bool;
type family (/=) (x :: a) (y :: a) :: Bool;
type (x :: a) == (y :: a) = x == y;
type (x :: a) /= (y :: a) = Not (x == y);
}
-- | Type-level If. If True a b ==> a; If
-- False a b ==> b
-- | Type-level "and"
class PEq a_a1elk => POrd (a_a1elk :: Type) where {
type family Compare (arg_a1eGz :: a_a1elk) (arg_a1eGA :: a_a1elk) :: Ordering;
type family (<) (arg_a1eGI :: a_a1elk) (arg_a1eGJ :: a_a1elk) :: Bool;
type family (<=) (arg_a1eGR :: a_a1elk) (arg_a1eGS :: a_a1elk) :: Bool;
type family (>) (arg_a1eH0 :: a_a1elk) (arg_a1eH1 :: a_a1elk) :: Bool;
type family (>=) (arg_a1eH9 :: a_a1elk) (arg_a1eHa :: a_a1elk) :: Bool;
type family Max (arg_a1eHi :: a_a1elk) (arg_a1eHj :: a_a1elk) :: a_a1elk;
type family Min (arg_a1eHr :: a_a1elk) (arg_a1eHs :: a_a1elk) :: a_a1elk;
type Compare a_a1eI7 a_a1eI8 =
Apply (Apply Compare_6989586621679304673Sym0 a_a1eI7) a_a1eI8;
type (<) a_a1eIE a_a1eIF =
Apply (Apply TFHelper_6989586621679304706Sym0 a_a1eIE) a_a1eIF;
type (<=) a_a1eJb a_a1eJc =
Apply (Apply TFHelper_6989586621679304739Sym0 a_a1eJb) a_a1eJc;
type (>) a_a1eJI a_a1eJJ =
Apply (Apply TFHelper_6989586621679304772Sym0 a_a1eJI) a_a1eJJ;
type (>=) a_a1eKf a_a1eKg =
Apply (Apply TFHelper_6989586621679304805Sym0 a_a1eKf) a_a1eKg;
type Max a_a1eKM a_a1eKN =
Apply (Apply Max_6989586621679304838Sym0 a_a1eKM) a_a1eKN;
type Min a_a1eLj a_a1eLk =
Apply (Apply Min_6989586621679304871Sym0 a_a1eLj) a_a1eLk;
}
class PBounded (a_a3tLQ :: Type) where {
type family MinBound :: a_a3tLQ;
type family MaxBound :: a_a3tLQ;
}
class PEnum (a_a3uOp :: Type) where {
type family ToEnum (arg_a3uY1 :: Nat) :: a_a3uOp;
type family FromEnum (arg_a3uY5 :: a_a3uOp) :: Nat;
type Succ a_a3uYP = Apply Succ_6989586621679843868Sym0 a_a3uYP;
type Pred a_a3uZ2 = Apply Pred_6989586621679843881Sym0 a_a3uZ2;
type EnumFromTo a_a3uZj a_a3uZk =
Apply (Apply EnumFromTo_6989586621679843899Sym0 a_a3uZj) a_a3uZk;
type EnumFromThenTo a_a3uZM a_a3uZN a_a3uZO =
Apply (Apply (Apply EnumFromThenTo_6989586621679843929Sym0 a_a3uZM) a_a3uZN) a_a3uZO;
}
class PShow (a_a2Mme :: Type) where {
type family ShowsPrec (arg_a2MSS :: Nat) (arg_a2MST :: a_a2Mme) (arg_a2MSU :: Symbol) :: Symbol;
type family Show_ (arg_a2MT7 :: a_a2Mme) :: Symbol;
type family ShowList (arg_a2MTb :: [a_a2Mme]) (arg_a2MTc :: Symbol) :: Symbol;
type ShowsPrec a_a2MTB a_a2MTC a_a2MTD =
Apply (Apply (Apply ShowsPrec_6989586621679674410Sym0 a_a2MTB) a_a2MTC) a_a2MTD;
type Show_ a_a2MTX = Apply Show__6989586621679674430Sym0 a_a2MTX;
type ShowList a_a2MUe a_a2MUf =
Apply (Apply ShowList_6989586621679674448Sym0 a_a2MUe) a_a2MUf;
}
-- | Proxy is a type that holds no data, but has a phantom parameter
-- of arbitrary type (or even kind). Its use is to provide type
-- information, even though there is no value available of that type (or
-- it may be too costly to create one).
--
-- Historically, Proxy :: Proxy a is a safer
-- alternative to the 'undefined :: a' idiom.
--
-- -- >>> Proxy :: Proxy (Void, Int -> Int) -- Proxy ---- -- Proxy can even hold types of higher kinds, -- --
-- >>> Proxy :: Proxy Either -- Proxy ---- --
-- >>> Proxy :: Proxy Functor -- Proxy ---- --
-- >>> Proxy :: Proxy complicatedStructure -- Proxy --data Proxy (t :: k) :: forall k. () => k -> * Proxy :: Proxy -- | The promotion of error. This version is more poly-kinded for -- easier use. data ErrorSym0 (l_a1ycT :: TyFun k06989586621679378680 k6989586621679378681) type ErrorSym1 (t_a1ycS :: k06989586621679378680) = Error t_a1ycS -- | The promotion of undefined. type UndefinedSym0 = Undefined type TrueSym0 = True type FalseSym0 = False data (==@#@$) (l_a1buh :: TyFun a6989586621679292214 (TyFun a6989586621679292214 Bool -> Type)) data (==@#@$$) (l_a1buf :: a6989586621679292214) (l_a1bue :: TyFun a6989586621679292214 Bool) type (==@#@$$$) (t_a1buc :: a6989586621679292214) (t_a1bud :: a6989586621679292214) = (==) t_a1buc t_a1bud data (>@#@$) (l_a1eH7 :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Bool -> Type)) data (>@#@$$) (l_a1eH5 :: a6989586621679303258) (l_a1eH4 :: TyFun a6989586621679303258 Bool) type (>@#@$$$) (t_a1eH2 :: a6989586621679303258) (t_a1eH3 :: a6989586621679303258) = (>) t_a1eH2 t_a1eH3 type LTSym0 = LT type EQSym0 = EQ type GTSym0 = GT type Tuple0Sym0 = '() data Tuple2Sym0 (l_aZWR :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type)) data Tuple2Sym1 (l_aZWP :: a3530822107858468865) (l_aZWO :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866)) type Tuple2Sym2 (t_aZWM :: a3530822107858468865) (t_aZWN :: b3530822107858468866) = '(t_aZWM, t_aZWN) data Tuple3Sym0 (l_aZXh :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type)) data Tuple3Sym1 (l_aZXf :: a3530822107858468865) (l_aZXe :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type)) data Tuple3Sym2 (l_aZXb :: a3530822107858468865) (l_aZXc :: b3530822107858468866) (l_aZXa :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867)) type Tuple3Sym3 (t_aZX7 :: a3530822107858468865) (t_aZX8 :: b3530822107858468866) (t_aZX9 :: c3530822107858468867) = '(t_aZX7, t_aZX8, t_aZX9) data Tuple4Sym0 (l_aZXS :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type)) data Tuple4Sym1 (l_aZXQ :: a3530822107858468865) (l_aZXP :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type)) data Tuple4Sym2 (l_aZXM :: a3530822107858468865) (l_aZXN :: b3530822107858468866) (l_aZXL :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type)) data Tuple4Sym3 (l_aZXH :: a3530822107858468865) (l_aZXI :: b3530822107858468866) (l_aZXJ :: c3530822107858468867) (l_aZXG :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868)) type Tuple4Sym4 (t_aZXC :: a3530822107858468865) (t_aZXD :: b3530822107858468866) (t_aZXE :: c3530822107858468867) (t_aZXF :: d3530822107858468868) = '(t_aZXC, t_aZXD, t_aZXE, t_aZXF) data Tuple5Sym0 (l_aZYF :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type)) data Tuple5Sym1 (l_aZYD :: a3530822107858468865) (l_aZYC :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type)) data Tuple5Sym2 (l_aZYz :: a3530822107858468865) (l_aZYA :: b3530822107858468866) (l_aZYy :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type)) data Tuple5Sym3 (l_aZYu :: a3530822107858468865) (l_aZYv :: b3530822107858468866) (l_aZYw :: c3530822107858468867) (l_aZYt :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type)) data Tuple5Sym4 (l_aZYo :: a3530822107858468865) (l_aZYp :: b3530822107858468866) (l_aZYq :: c3530822107858468867) (l_aZYr :: d3530822107858468868) (l_aZYn :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869)) type Tuple5Sym5 (t_aZYi :: a3530822107858468865) (t_aZYj :: b3530822107858468866) (t_aZYk :: c3530822107858468867) (t_aZYl :: d3530822107858468868) (t_aZYm :: e3530822107858468869) = '(t_aZYi, t_aZYj, t_aZYk, t_aZYl, t_aZYm) data Tuple6Sym0 (l_aZZF :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type) -> Type)) data Tuple6Sym1 (l_aZZD :: a3530822107858468865) (l_aZZC :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type)) data Tuple6Sym2 (l_aZZz :: a3530822107858468865) (l_aZZA :: b3530822107858468866) (l_aZZy :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type)) data Tuple6Sym3 (l_aZZu :: a3530822107858468865) (l_aZZv :: b3530822107858468866) (l_aZZw :: c3530822107858468867) (l_aZZt :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type)) data Tuple6Sym4 (l_aZZo :: a3530822107858468865) (l_aZZp :: b3530822107858468866) (l_aZZq :: c3530822107858468867) (l_aZZr :: d3530822107858468868) (l_aZZn :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type)) data Tuple6Sym5 (l_aZZh :: a3530822107858468865) (l_aZZi :: b3530822107858468866) (l_aZZj :: c3530822107858468867) (l_aZZk :: d3530822107858468868) (l_aZZl :: e3530822107858468869) (l_aZZg :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870)) type Tuple6Sym6 (t_aZZa :: a3530822107858468865) (t_aZZb :: b3530822107858468866) (t_aZZc :: c3530822107858468867) (t_aZZd :: d3530822107858468868) (t_aZZe :: e3530822107858468869) (t_aZZf :: f3530822107858468870) = '(t_aZZa, t_aZZb, t_aZZc, t_aZZd, t_aZZe, t_aZZf) data Tuple7Sym0 (l_a100T :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type)) data Tuple7Sym1 (l_a100R :: a3530822107858468865) (l_a100Q :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type) -> Type)) data Tuple7Sym2 (l_a100N :: a3530822107858468865) (l_a100O :: b3530822107858468866) (l_a100M :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type)) data Tuple7Sym3 (l_a100I :: a3530822107858468865) (l_a100J :: b3530822107858468866) (l_a100K :: c3530822107858468867) (l_a100H :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type)) data Tuple7Sym4 (l_a100C :: a3530822107858468865) (l_a100D :: b3530822107858468866) (l_a100E :: c3530822107858468867) (l_a100F :: d3530822107858468868) (l_a100B :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type)) data Tuple7Sym5 (l_a100v :: a3530822107858468865) (l_a100w :: b3530822107858468866) (l_a100x :: c3530822107858468867) (l_a100y :: d3530822107858468868) (l_a100z :: e3530822107858468869) (l_a100u :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type)) data Tuple7Sym6 (l_a100n :: a3530822107858468865) (l_a100o :: b3530822107858468866) (l_a100p :: c3530822107858468867) (l_a100q :: d3530822107858468868) (l_a100r :: e3530822107858468869) (l_a100s :: f3530822107858468870) (l_a100m :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871)) type Tuple7Sym7 (t_a100f :: a3530822107858468865) (t_a100g :: b3530822107858468866) (t_a100h :: c3530822107858468867) (t_a100i :: d3530822107858468868) (t_a100j :: e3530822107858468869) (t_a100k :: f3530822107858468870) (t_a100l :: g3530822107858468871) = '(t_a100f, t_a100g, t_a100h, t_a100i, t_a100j, t_a100k, t_a100l) data CompareSym0 (l_a1eGG :: TyFun a6989586621679303258 (TyFun a6989586621679303258 Ordering -> Type)) data CompareSym1 (l_a1eGE :: a6989586621679303258) (l_a1eGD :: TyFun a6989586621679303258 Ordering) type CompareSym2 (t_a1eGB :: a6989586621679303258) (t_a1eGC :: a6989586621679303258) = Compare t_a1eGB t_a1eGC data ThenCmpSym0 (l_a1guh :: TyFun Ordering (TyFun Ordering Ordering -> Type)) data ThenCmpSym1 (l_a1guf :: Ordering) (l_a1gue :: TyFun Ordering Ordering) type ThenCmpSym2 (t_a1guc :: Ordering) (t_a1gud :: Ordering) = ThenCmp t_a1guc t_a1gud data FoldlSym0 (l_a12Un :: TyFun (TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (TyFun b6989586621679259259 (TyFun [a6989586621679259258] b6989586621679259259 -> Type) -> Type)) data FoldlSym1 (l_a12Ul :: TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (l_a12Uk :: TyFun b6989586621679259259 (TyFun [a6989586621679259258] b6989586621679259259 -> Type)) data FoldlSym2 (l_a12Uh :: TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (l_a12Ui :: b6989586621679259259) (l_a12Ug :: TyFun [a6989586621679259258] b6989586621679259259) type FoldlSym3 (t_a12Ud :: TyFun b6989586621679259259 (TyFun a6989586621679259258 b6989586621679259259 -> Type) -> Type) (t_a12Ue :: b6989586621679259259) (t_a12Uf :: [a6989586621679259258]) = Foldl t_a12Ud t_a12Ue t_a12Uf type MinBoundSym0 = MinBound type MaxBoundSym0 = MaxBound data ShowsPrecSym0 (l_a2MT5 :: TyFun Nat (TyFun a6989586621679672338 (TyFun Symbol Symbol -> Type) -> Type)) data ShowsPrecSym1 (l_a2MT3 :: Nat) (l_a2MT2 :: TyFun a6989586621679672338 (TyFun Symbol Symbol -> Type)) data ShowsPrecSym2 (l_a2MSZ :: Nat) (l_a2MT0 :: a6989586621679672338) (l_a2MSY :: TyFun Symbol Symbol) type ShowsPrecSym3 (t_a2MSV :: Nat) (t_a2MSW :: a6989586621679672338) (t_a2MSX :: Symbol) = ShowsPrec t_a2MSV t_a2MSW t_a2MSX data ShowStringSym0 (l_a2MQs :: TyFun Symbol (TyFun Symbol Symbol -> Type)) data ShowStringSym1 (l_a2MQq :: Symbol) (l_a2MQp :: TyFun Symbol Symbol) type ShowStringSym2 (t_a2MQn :: Symbol) (t_a2MQo :: Symbol) = ShowString t_a2MQn t_a2MQo data ShowParenSym0 (l_a2MR4 :: TyFun Bool (TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type) -> Type)) data ShowParenSym1 (l_a2MR2 :: Bool) (l_a2MR1 :: TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type)) data ShowParenSym2 (l_a2MQY :: Bool) (l_a2MQZ :: TyFun Symbol Symbol -> Type) (l_a2MQX :: TyFun Symbol Symbol) data ShowSpaceSym0 (l_a2MQ4 :: TyFun Symbol Symbol) type ShowSpaceSym1 (t_a2MQ3 :: Symbol) = ShowSpace t_a2MQ3 data ShowCharSym0 (l_a2MQO :: TyFun Symbol (TyFun Symbol Symbol -> Type)) data ShowCharSym1 (l_a2MQM :: Symbol) (l_a2MQL :: TyFun Symbol Symbol) type ShowCharSym2 (t_a2MQJ :: Symbol) (t_a2MQK :: Symbol) = ShowChar t_a2MQJ t_a2MQK data ShowCommaSpaceSym0 (l_a2MQB :: TyFun Symbol Symbol) type ShowCommaSpaceSym1 (t_a2MQA :: Symbol) = ShowCommaSpace t_a2MQA data (.@#@$) (l_a1IJo :: TyFun (TyFun b6989586621679419898 c6989586621679419899 -> Type) (TyFun (TyFun a6989586621679419900 b6989586621679419898 -> Type) (TyFun a6989586621679419900 c6989586621679419899 -> Type) -> Type)) data (.@#@$$) (l_a1IJm :: TyFun b6989586621679419898 c6989586621679419899 -> Type) (l_a1IJl :: TyFun (TyFun a6989586621679419900 b6989586621679419898 -> Type) (TyFun a6989586621679419900 c6989586621679419899 -> Type)) data (.@#@$$$) (l_a1IJi :: TyFun b6989586621679419898 c6989586621679419899 -> Type) (l_a1IJj :: TyFun a6989586621679419900 b6989586621679419898 -> Type) (l_a1IJh :: TyFun a6989586621679419900 c6989586621679419899) type (.@#@$$$$) (t_a1IJe :: TyFun b6989586621679419898 c6989586621679419899 -> Type) (t_a1IJf :: TyFun a6989586621679419900 b6989586621679419898 -> Type) (t_a1IJg :: a6989586621679419900) = (:.) t_a1IJe t_a1IJf t_a1IJg data (:@#@$) (l_aZVM :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type)) data (:@#@$$) (l_aZVK :: a3530822107858468865) (l_aZVJ :: TyFun [a3530822107858468865] [a3530822107858468865]) type (:@#@$$$) (t_aZVH :: a3530822107858468865) (t_aZVI :: [a3530822107858468865]) = (:) t_aZVH t_aZVI -- | 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 => () -- | 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, Ord, Read, Show) ---- -- 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 :: 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]