-- 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.1 -- | 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_a1ev0 :: Void). Sing t_a1ev0 -> Sing (Apply AbsurdSym0 t_a1ev0 :: a_a1euP) data AbsurdSym0 (l_a1euT :: TyFun Void a6989586621679303847) type AbsurdSym1 (t_a1euS :: Void) = Absurd t_a1euS 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_a1euT :: TyFun Void a6989586621679303847) type AbsurdSym1 (t_a1euS :: Void) = Absurd t_a1euS -- | 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_a1eJ7 :: (a_a1eH1, b_a1eH2)). Sing t_a1eJ7 -> Sing (Apply FstSym0 t_a1eJ7 :: a_a1eH1) sSnd :: forall (t_a1eJ6 :: (a_a1eGZ, b_a1eH0)). Sing t_a1eJ6 -> Sing (Apply SndSym0 t_a1eJ6 :: b_a1eH0) sCurry :: forall (t_a1eJ3 :: TyFun (a_a1eGW, b_a1eGX) c_a1eGY -> Type) (t_a1eJ4 :: a_a1eGW) (t_a1eJ5 :: b_a1eGX). Sing t_a1eJ3 -> Sing t_a1eJ4 -> Sing t_a1eJ5 -> Sing (Apply (Apply (Apply CurrySym0 t_a1eJ3) t_a1eJ4) t_a1eJ5 :: c_a1eGY) sUncurry :: forall (t_a1eJ8 :: TyFun a_a1eGT (TyFun b_a1eGU c_a1eGV -> Type) -> Type) (t_a1eJ9 :: (a_a1eGT, b_a1eGU)). Sing t_a1eJ8 -> Sing t_a1eJ9 -> Sing (Apply (Apply UncurrySym0 t_a1eJ8) t_a1eJ9 :: c_a1eGV) sSwap :: forall (t_a1eJ2 :: (a_a1eGR, b_a1eGS)). Sing t_a1eJ2 -> Sing (Apply SwapSym0 t_a1eJ2 :: (b_a1eGS, a_a1eGR)) type Tuple0Sym0 = '() data Tuple2Sym0 (l_a13Ee :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type)) data Tuple2Sym1 (l_a13Ec :: a3530822107858468865) (l_a13Eb :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866)) type Tuple2Sym2 (t_a13E9 :: a3530822107858468865) (t_a13Ea :: b3530822107858468866) = '(t_a13E9, t_a13Ea) data Tuple3Sym0 (l_a13EE :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type)) data Tuple3Sym1 (l_a13EC :: a3530822107858468865) (l_a13EB :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type)) data Tuple3Sym2 (l_a13Ey :: a3530822107858468865) (l_a13Ez :: b3530822107858468866) (l_a13Ex :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867)) type Tuple3Sym3 (t_a13Eu :: a3530822107858468865) (t_a13Ev :: b3530822107858468866) (t_a13Ew :: c3530822107858468867) = '(t_a13Eu, t_a13Ev, t_a13Ew) data Tuple4Sym0 (l_a13Ff :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type)) data Tuple4Sym1 (l_a13Fd :: a3530822107858468865) (l_a13Fc :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type)) data Tuple4Sym2 (l_a13F9 :: a3530822107858468865) (l_a13Fa :: b3530822107858468866) (l_a13F8 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type)) data Tuple4Sym3 (l_a13F4 :: a3530822107858468865) (l_a13F5 :: b3530822107858468866) (l_a13F6 :: c3530822107858468867) (l_a13F3 :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868)) type Tuple4Sym4 (t_a13EZ :: a3530822107858468865) (t_a13F0 :: b3530822107858468866) (t_a13F1 :: c3530822107858468867) (t_a13F2 :: d3530822107858468868) = '(t_a13EZ, t_a13F0, t_a13F1, t_a13F2) data Tuple5Sym0 (l_a13G2 :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type)) data Tuple5Sym1 (l_a13G0 :: a3530822107858468865) (l_a13FZ :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type)) data Tuple5Sym2 (l_a13FW :: a3530822107858468865) (l_a13FX :: b3530822107858468866) (l_a13FV :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type)) data Tuple5Sym3 (l_a13FR :: a3530822107858468865) (l_a13FS :: b3530822107858468866) (l_a13FT :: c3530822107858468867) (l_a13FQ :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type)) data Tuple5Sym4 (l_a13FL :: a3530822107858468865) (l_a13FM :: b3530822107858468866) (l_a13FN :: c3530822107858468867) (l_a13FO :: d3530822107858468868) (l_a13FK :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869)) type Tuple5Sym5 (t_a13FF :: a3530822107858468865) (t_a13FG :: b3530822107858468866) (t_a13FH :: c3530822107858468867) (t_a13FI :: d3530822107858468868) (t_a13FJ :: e3530822107858468869) = '(t_a13FF, t_a13FG, t_a13FH, t_a13FI, t_a13FJ) data Tuple6Sym0 (l_a13H2 :: 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_a13H0 :: a3530822107858468865) (l_a13GZ :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type)) data Tuple6Sym2 (l_a13GW :: a3530822107858468865) (l_a13GX :: b3530822107858468866) (l_a13GV :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type)) data Tuple6Sym3 (l_a13GR :: a3530822107858468865) (l_a13GS :: b3530822107858468866) (l_a13GT :: c3530822107858468867) (l_a13GQ :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type)) data Tuple6Sym4 (l_a13GL :: a3530822107858468865) (l_a13GM :: b3530822107858468866) (l_a13GN :: c3530822107858468867) (l_a13GO :: d3530822107858468868) (l_a13GK :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type)) data Tuple6Sym5 (l_a13GE :: a3530822107858468865) (l_a13GF :: b3530822107858468866) (l_a13GG :: c3530822107858468867) (l_a13GH :: d3530822107858468868) (l_a13GI :: e3530822107858468869) (l_a13GD :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870)) type Tuple6Sym6 (t_a13Gx :: a3530822107858468865) (t_a13Gy :: b3530822107858468866) (t_a13Gz :: c3530822107858468867) (t_a13GA :: d3530822107858468868) (t_a13GB :: e3530822107858468869) (t_a13GC :: f3530822107858468870) = '(t_a13Gx, t_a13Gy, t_a13Gz, t_a13GA, t_a13GB, t_a13GC) data Tuple7Sym0 (l_a13Ig :: 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_a13Ie :: a3530822107858468865) (l_a13Id :: 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_a13Ia :: a3530822107858468865) (l_a13Ib :: b3530822107858468866) (l_a13I9 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type)) data Tuple7Sym3 (l_a13I5 :: a3530822107858468865) (l_a13I6 :: b3530822107858468866) (l_a13I7 :: c3530822107858468867) (l_a13I4 :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type)) data Tuple7Sym4 (l_a13HZ :: a3530822107858468865) (l_a13I0 :: b3530822107858468866) (l_a13I1 :: c3530822107858468867) (l_a13I2 :: d3530822107858468868) (l_a13HY :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type)) data Tuple7Sym5 (l_a13HS :: a3530822107858468865) (l_a13HT :: b3530822107858468866) (l_a13HU :: c3530822107858468867) (l_a13HV :: d3530822107858468868) (l_a13HW :: e3530822107858468869) (l_a13HR :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type)) data Tuple7Sym6 (l_a13HK :: a3530822107858468865) (l_a13HL :: b3530822107858468866) (l_a13HM :: c3530822107858468867) (l_a13HN :: d3530822107858468868) (l_a13HO :: e3530822107858468869) (l_a13HP :: f3530822107858468870) (l_a13HJ :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871)) type Tuple7Sym7 (t_a13HC :: a3530822107858468865) (t_a13HD :: b3530822107858468866) (t_a13HE :: c3530822107858468867) (t_a13HF :: d3530822107858468868) (t_a13HG :: e3530822107858468869) (t_a13HH :: f3530822107858468870) (t_a13HI :: g3530822107858468871) = '(t_a13HC, t_a13HD, t_a13HE, t_a13HF, t_a13HG, t_a13HH, t_a13HI) data FstSym0 (l_a1eIN :: TyFun (a6989586621679304603, b6989586621679304604) a6989586621679304603) type FstSym1 (t_a1eIM :: (a6989586621679304603, b6989586621679304604)) = Fst t_a1eIM data SndSym0 (l_a1eII :: TyFun (a6989586621679304601, b6989586621679304602) b6989586621679304602) type SndSym1 (t_a1eIH :: (a6989586621679304601, b6989586621679304602)) = Snd t_a1eIH data CurrySym0 (l_a1eIz :: TyFun (TyFun (a6989586621679304598, b6989586621679304599) c6989586621679304600 -> Type) (TyFun a6989586621679304598 (TyFun b6989586621679304599 c6989586621679304600 -> Type) -> Type)) data CurrySym1 (l_a1eIx :: TyFun (a6989586621679304598, b6989586621679304599) c6989586621679304600 -> Type) (l_a1eIw :: TyFun a6989586621679304598 (TyFun b6989586621679304599 c6989586621679304600 -> Type)) data CurrySym2 (l_a1eIt :: TyFun (a6989586621679304598, b6989586621679304599) c6989586621679304600 -> Type) (l_a1eIu :: a6989586621679304598) (l_a1eIs :: TyFun b6989586621679304599 c6989586621679304600) type CurrySym3 (t_a1eIp :: TyFun (a6989586621679304598, b6989586621679304599) c6989586621679304600 -> Type) (t_a1eIq :: a6989586621679304598) (t_a1eIr :: b6989586621679304599) = Curry t_a1eIp t_a1eIq t_a1eIr data UncurrySym0 (l_a1eIW :: TyFun (TyFun a6989586621679304595 (TyFun b6989586621679304596 c6989586621679304597 -> Type) -> Type) (TyFun (a6989586621679304595, b6989586621679304596) c6989586621679304597 -> Type)) data UncurrySym1 (l_a1eIU :: TyFun a6989586621679304595 (TyFun b6989586621679304596 c6989586621679304597 -> Type) -> Type) (l_a1eIT :: TyFun (a6989586621679304595, b6989586621679304596) c6989586621679304597) type UncurrySym2 (t_a1eIR :: TyFun a6989586621679304595 (TyFun b6989586621679304596 c6989586621679304597 -> Type) -> Type) (t_a1eIS :: (a6989586621679304595, b6989586621679304596)) = Uncurry t_a1eIR t_a1eIS data SwapSym0 (l_a1eIk :: TyFun (a6989586621679304593, b6989586621679304594) (b6989586621679304594, a6989586621679304593)) type SwapSym1 (t_a1eIj :: (a6989586621679304593, b6989586621679304594)) = Swap t_a1eIj 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_a13Ee :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type)) data Tuple2Sym1 (l_a13Ec :: a3530822107858468865) (l_a13Eb :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866)) type Tuple2Sym2 (t_a13E9 :: a3530822107858468865) (t_a13Ea :: b3530822107858468866) = '(t_a13E9, t_a13Ea) data Tuple3Sym0 (l_a13EE :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type)) data Tuple3Sym1 (l_a13EC :: a3530822107858468865) (l_a13EB :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type)) data Tuple3Sym2 (l_a13Ey :: a3530822107858468865) (l_a13Ez :: b3530822107858468866) (l_a13Ex :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867)) type Tuple3Sym3 (t_a13Eu :: a3530822107858468865) (t_a13Ev :: b3530822107858468866) (t_a13Ew :: c3530822107858468867) = '(t_a13Eu, t_a13Ev, t_a13Ew) data Tuple4Sym0 (l_a13Ff :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type)) data Tuple4Sym1 (l_a13Fd :: a3530822107858468865) (l_a13Fc :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type)) data Tuple4Sym2 (l_a13F9 :: a3530822107858468865) (l_a13Fa :: b3530822107858468866) (l_a13F8 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type)) data Tuple4Sym3 (l_a13F4 :: a3530822107858468865) (l_a13F5 :: b3530822107858468866) (l_a13F6 :: c3530822107858468867) (l_a13F3 :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868)) type Tuple4Sym4 (t_a13EZ :: a3530822107858468865) (t_a13F0 :: b3530822107858468866) (t_a13F1 :: c3530822107858468867) (t_a13F2 :: d3530822107858468868) = '(t_a13EZ, t_a13F0, t_a13F1, t_a13F2) data Tuple5Sym0 (l_a13G2 :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type)) data Tuple5Sym1 (l_a13G0 :: a3530822107858468865) (l_a13FZ :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type)) data Tuple5Sym2 (l_a13FW :: a3530822107858468865) (l_a13FX :: b3530822107858468866) (l_a13FV :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type)) data Tuple5Sym3 (l_a13FR :: a3530822107858468865) (l_a13FS :: b3530822107858468866) (l_a13FT :: c3530822107858468867) (l_a13FQ :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type)) data Tuple5Sym4 (l_a13FL :: a3530822107858468865) (l_a13FM :: b3530822107858468866) (l_a13FN :: c3530822107858468867) (l_a13FO :: d3530822107858468868) (l_a13FK :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869)) type Tuple5Sym5 (t_a13FF :: a3530822107858468865) (t_a13FG :: b3530822107858468866) (t_a13FH :: c3530822107858468867) (t_a13FI :: d3530822107858468868) (t_a13FJ :: e3530822107858468869) = '(t_a13FF, t_a13FG, t_a13FH, t_a13FI, t_a13FJ) data Tuple6Sym0 (l_a13H2 :: 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_a13H0 :: a3530822107858468865) (l_a13GZ :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type)) data Tuple6Sym2 (l_a13GW :: a3530822107858468865) (l_a13GX :: b3530822107858468866) (l_a13GV :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type)) data Tuple6Sym3 (l_a13GR :: a3530822107858468865) (l_a13GS :: b3530822107858468866) (l_a13GT :: c3530822107858468867) (l_a13GQ :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type)) data Tuple6Sym4 (l_a13GL :: a3530822107858468865) (l_a13GM :: b3530822107858468866) (l_a13GN :: c3530822107858468867) (l_a13GO :: d3530822107858468868) (l_a13GK :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type)) data Tuple6Sym5 (l_a13GE :: a3530822107858468865) (l_a13GF :: b3530822107858468866) (l_a13GG :: c3530822107858468867) (l_a13GH :: d3530822107858468868) (l_a13GI :: e3530822107858468869) (l_a13GD :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870)) type Tuple6Sym6 (t_a13Gx :: a3530822107858468865) (t_a13Gy :: b3530822107858468866) (t_a13Gz :: c3530822107858468867) (t_a13GA :: d3530822107858468868) (t_a13GB :: e3530822107858468869) (t_a13GC :: f3530822107858468870) = '(t_a13Gx, t_a13Gy, t_a13Gz, t_a13GA, t_a13GB, t_a13GC) data Tuple7Sym0 (l_a13Ig :: 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_a13Ie :: a3530822107858468865) (l_a13Id :: 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_a13Ia :: a3530822107858468865) (l_a13Ib :: b3530822107858468866) (l_a13I9 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type)) data Tuple7Sym3 (l_a13I5 :: a3530822107858468865) (l_a13I6 :: b3530822107858468866) (l_a13I7 :: c3530822107858468867) (l_a13I4 :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type)) data Tuple7Sym4 (l_a13HZ :: a3530822107858468865) (l_a13I0 :: b3530822107858468866) (l_a13I1 :: c3530822107858468867) (l_a13I2 :: d3530822107858468868) (l_a13HY :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type)) data Tuple7Sym5 (l_a13HS :: a3530822107858468865) (l_a13HT :: b3530822107858468866) (l_a13HU :: c3530822107858468867) (l_a13HV :: d3530822107858468868) (l_a13HW :: e3530822107858468869) (l_a13HR :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type)) data Tuple7Sym6 (l_a13HK :: a3530822107858468865) (l_a13HL :: b3530822107858468866) (l_a13HM :: c3530822107858468867) (l_a13HN :: d3530822107858468868) (l_a13HO :: e3530822107858468869) (l_a13HP :: f3530822107858468870) (l_a13HJ :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871)) type Tuple7Sym7 (t_a13HC :: a3530822107858468865) (t_a13HD :: b3530822107858468866) (t_a13HE :: c3530822107858468867) (t_a13HF :: d3530822107858468868) (t_a13HG :: e3530822107858468869) (t_a13HH :: f3530822107858468870) (t_a13HI :: g3530822107858468871) = '(t_a13HC, t_a13HD, t_a13HE, t_a13HF, t_a13HG, t_a13HH, t_a13HI) data FstSym0 (l_a1eIN :: TyFun (a6989586621679304603, b6989586621679304604) a6989586621679304603) type FstSym1 (t_a1eIM :: (a6989586621679304603, b6989586621679304604)) = Fst t_a1eIM data SndSym0 (l_a1eII :: TyFun (a6989586621679304601, b6989586621679304602) b6989586621679304602) type SndSym1 (t_a1eIH :: (a6989586621679304601, b6989586621679304602)) = Snd t_a1eIH data CurrySym0 (l_a1eIz :: TyFun (TyFun (a6989586621679304598, b6989586621679304599) c6989586621679304600 -> Type) (TyFun a6989586621679304598 (TyFun b6989586621679304599 c6989586621679304600 -> Type) -> Type)) data CurrySym1 (l_a1eIx :: TyFun (a6989586621679304598, b6989586621679304599) c6989586621679304600 -> Type) (l_a1eIw :: TyFun a6989586621679304598 (TyFun b6989586621679304599 c6989586621679304600 -> Type)) data CurrySym2 (l_a1eIt :: TyFun (a6989586621679304598, b6989586621679304599) c6989586621679304600 -> Type) (l_a1eIu :: a6989586621679304598) (l_a1eIs :: TyFun b6989586621679304599 c6989586621679304600) type CurrySym3 (t_a1eIp :: TyFun (a6989586621679304598, b6989586621679304599) c6989586621679304600 -> Type) (t_a1eIq :: a6989586621679304598) (t_a1eIr :: b6989586621679304599) = Curry t_a1eIp t_a1eIq t_a1eIr data UncurrySym0 (l_a1eIW :: TyFun (TyFun a6989586621679304595 (TyFun b6989586621679304596 c6989586621679304597 -> Type) -> Type) (TyFun (a6989586621679304595, b6989586621679304596) c6989586621679304597 -> Type)) data UncurrySym1 (l_a1eIU :: TyFun a6989586621679304595 (TyFun b6989586621679304596 c6989586621679304597 -> Type) -> Type) (l_a1eIT :: TyFun (a6989586621679304595, b6989586621679304596) c6989586621679304597) type UncurrySym2 (t_a1eIR :: TyFun a6989586621679304595 (TyFun b6989586621679304596 c6989586621679304597 -> Type) -> Type) (t_a1eIS :: (a6989586621679304595, b6989586621679304596)) = Uncurry t_a1eIR t_a1eIS data SwapSym0 (l_a1eIk :: TyFun (a6989586621679304593, b6989586621679304594) (b6989586621679304594, a6989586621679304593)) type SwapSym1 (t_a1eIj :: (a6989586621679304593, b6989586621679304594)) = Swap t_a1eIj -- | 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_a1fNy -> a_a1fNy -> Bool -> a_a1fNy sBool_ :: forall (t_a1fNX :: a_a1fNy) (t_a1fNY :: a_a1fNy) (t_a1fNZ :: Bool). Sing t_a1fNX -> Sing t_a1fNY -> Sing t_a1fNZ -> Sing (Apply (Apply (Apply Bool_Sym0 t_a1fNX) t_a1fNY) t_a1fNZ :: a_a1fNy) sOtherwise :: Sing (OtherwiseSym0 :: Bool) type TrueSym0 = True type FalseSym0 = False data NotSym0 (l_a1g29 :: TyFun Bool Bool) type NotSym1 (t_a1g28 :: Bool) = Not t_a1g28 data (&&@#@$) (l_a1fW3 :: TyFun Bool (TyFun Bool Bool -> Type)) data (&&@#@$$) (l_a1fW1 :: Bool) (l_a1fW0 :: TyFun Bool Bool) type (&&@#@$$$) (t_a1fVY :: Bool) (t_a1fVZ :: Bool) = (&&) t_a1fVY t_a1fVZ data (||@#@$) (l_a1fZf :: TyFun Bool (TyFun Bool Bool -> Type)) data (||@#@$$) (l_a1fZd :: Bool) (l_a1fZc :: TyFun Bool Bool) type (||@#@$$$) (t_a1fZa :: Bool) (t_a1fZb :: Bool) = (||) t_a1fZa t_a1fZb data Bool_Sym0 (l_a1fNO :: TyFun a6989586621679308852 (TyFun a6989586621679308852 (TyFun Bool a6989586621679308852 -> Type) -> Type)) data Bool_Sym1 (l_a1fNM :: a6989586621679308852) (l_a1fNL :: TyFun a6989586621679308852 (TyFun Bool a6989586621679308852 -> Type)) data Bool_Sym2 (l_a1fNI :: a6989586621679308852) (l_a1fNJ :: a6989586621679308852) (l_a1fNH :: TyFun Bool a6989586621679308852) type Bool_Sym3 (t_a1fNE :: a6989586621679308852) (t_a1fNF :: a6989586621679308852) (t_a1fNG :: Bool) = Bool_ t_a1fNE t_a1fNF t_a1fNG 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_a1gzJ :: TyFun a6989586621679311772 (TyFun a6989586621679311772 Bool -> Type)) data (==@#@$$) (l_a1gzH :: a6989586621679311772) (l_a1gzG :: TyFun a6989586621679311772 Bool) type (==@#@$$$) (t_a1gzE :: a6989586621679311772) (t_a1gzF :: a6989586621679311772) = (==) t_a1gzE t_a1gzF data (/=@#@$) (l_a1gzQ :: TyFun a6989586621679311772 (TyFun a6989586621679311772 Bool -> Type)) data (/=@#@$$) (l_a1gzO :: a6989586621679311772) (l_a1gzN :: TyFun a6989586621679311772 Bool) type (/=@#@$$$) (t_a1gzL :: a6989586621679311772) (t_a1gzM :: a6989586621679311772) = (/=) t_a1gzL t_a1gzM 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_a1jCf => POrd (a_a1jCf :: Type) where { type family Compare (arg_a1k20 :: a_a1jCf) (arg_a1k21 :: a_a1jCf) :: Ordering; type family (<) (arg_a1k29 :: a_a1jCf) (arg_a1k2a :: a_a1jCf) :: Bool; type family (<=) (arg_a1k2i :: a_a1jCf) (arg_a1k2j :: a_a1jCf) :: Bool; type family (>) (arg_a1k2r :: a_a1jCf) (arg_a1k2s :: a_a1jCf) :: Bool; type family (>=) (arg_a1k2A :: a_a1jCf) (arg_a1k2B :: a_a1jCf) :: Bool; type family Max (arg_a1k2J :: a_a1jCf) (arg_a1k2K :: a_a1jCf) :: a_a1jCf; type family Min (arg_a1k2S :: a_a1jCf) (arg_a1k2T :: a_a1jCf) :: a_a1jCf; type Compare a_a1k3y a_a1k3z = Apply (Apply Compare_6989586621679325222Sym0 a_a1k3y) a_a1k3z; type (<) a_a1k45 a_a1k46 = Apply (Apply TFHelper_6989586621679325255Sym0 a_a1k45) a_a1k46; type (<=) a_a1k4C a_a1k4D = Apply (Apply TFHelper_6989586621679325288Sym0 a_a1k4C) a_a1k4D; type (>) a_a1k59 a_a1k5a = Apply (Apply TFHelper_6989586621679325321Sym0 a_a1k59) a_a1k5a; type (>=) a_a1k5G a_a1k5H = Apply (Apply TFHelper_6989586621679325354Sym0 a_a1k5G) a_a1k5H; type Max a_a1k6d a_a1k6e = Apply (Apply Max_6989586621679325387Sym0 a_a1k6d) a_a1k6e; type Min a_a1k6K a_a1k6L = Apply (Apply Min_6989586621679325420Sym0 a_a1k6K) a_a1k6L; } class SEq a_a1jCf => SOrd a_a1jCf sCompare :: forall (t_a1k71 :: a_a1jCf) (t_a1k72 :: a_a1jCf). SOrd a_a1jCf => Sing t_a1k71 -> Sing t_a1k72 -> Sing (Apply (Apply CompareSym0 t_a1k71) t_a1k72 :: Ordering) (%<) :: forall (t_a1k73 :: a_a1jCf) (t_a1k74 :: a_a1jCf). SOrd a_a1jCf => Sing t_a1k73 -> Sing t_a1k74 -> Sing (Apply (Apply (<@#@$) t_a1k73) t_a1k74 :: Bool) (%<=) :: forall (t_a1k75 :: a_a1jCf) (t_a1k76 :: a_a1jCf). SOrd a_a1jCf => Sing t_a1k75 -> Sing t_a1k76 -> Sing (Apply (Apply (<=@#@$) t_a1k75) t_a1k76 :: Bool) (%>) :: forall (t_a1k77 :: a_a1jCf) (t_a1k78 :: a_a1jCf). SOrd a_a1jCf => Sing t_a1k77 -> Sing t_a1k78 -> Sing (Apply (Apply (>@#@$) t_a1k77) t_a1k78 :: Bool) (%>=) :: forall (t_a1k79 :: a_a1jCf) (t_a1k7a :: a_a1jCf). SOrd a_a1jCf => Sing t_a1k79 -> Sing t_a1k7a -> Sing (Apply (Apply (>=@#@$) t_a1k79) t_a1k7a :: Bool) sMax :: forall (t_a1k7b :: a_a1jCf) (t_a1k7c :: a_a1jCf). SOrd a_a1jCf => Sing t_a1k7b -> Sing t_a1k7c -> Sing (Apply (Apply MaxSym0 t_a1k7b) t_a1k7c :: a_a1jCf) sMin :: forall (t_a1k7d :: a_a1jCf) (t_a1k7e :: a_a1jCf). SOrd a_a1jCf => Sing t_a1k7d -> Sing t_a1k7e -> Sing (Apply (Apply MinSym0 t_a1k7d) t_a1k7e :: a_a1jCf) sCompare :: forall (t_a1k71 :: a_a1jCf) (t_a1k72 :: a_a1jCf). (SOrd a_a1jCf, (Apply (Apply CompareSym0 t_a1k71) t_a1k72 :: Ordering) ~ Apply (Apply Compare_6989586621679325222Sym0 t_a1k71) t_a1k72) => Sing t_a1k71 -> Sing t_a1k72 -> Sing (Apply (Apply CompareSym0 t_a1k71) t_a1k72 :: Ordering) (%<) :: forall (t_a1k73 :: a_a1jCf) (t_a1k74 :: a_a1jCf). (SOrd a_a1jCf, (Apply (Apply (<@#@$) t_a1k73) t_a1k74 :: Bool) ~ Apply (Apply TFHelper_6989586621679325255Sym0 t_a1k73) t_a1k74) => Sing t_a1k73 -> Sing t_a1k74 -> Sing (Apply (Apply (<@#@$) t_a1k73) t_a1k74 :: Bool) (%<=) :: forall (t_a1k75 :: a_a1jCf) (t_a1k76 :: a_a1jCf). (SOrd a_a1jCf, (Apply (Apply (<=@#@$) t_a1k75) t_a1k76 :: Bool) ~ Apply (Apply TFHelper_6989586621679325288Sym0 t_a1k75) t_a1k76) => Sing t_a1k75 -> Sing t_a1k76 -> Sing (Apply (Apply (<=@#@$) t_a1k75) t_a1k76 :: Bool) (%>) :: forall (t_a1k77 :: a_a1jCf) (t_a1k78 :: a_a1jCf). (SOrd a_a1jCf, (Apply (Apply (>@#@$) t_a1k77) t_a1k78 :: Bool) ~ Apply (Apply TFHelper_6989586621679325321Sym0 t_a1k77) t_a1k78) => Sing t_a1k77 -> Sing t_a1k78 -> Sing (Apply (Apply (>@#@$) t_a1k77) t_a1k78 :: Bool) (%>=) :: forall (t_a1k79 :: a_a1jCf) (t_a1k7a :: a_a1jCf). (SOrd a_a1jCf, (Apply (Apply (>=@#@$) t_a1k79) t_a1k7a :: Bool) ~ Apply (Apply TFHelper_6989586621679325354Sym0 t_a1k79) t_a1k7a) => Sing t_a1k79 -> Sing t_a1k7a -> Sing (Apply (Apply (>=@#@$) t_a1k79) t_a1k7a :: Bool) sMax :: forall (t_a1k7b :: a_a1jCf) (t_a1k7c :: a_a1jCf). (SOrd a_a1jCf, (Apply (Apply MaxSym0 t_a1k7b) t_a1k7c :: a_a1jCf) ~ Apply (Apply Max_6989586621679325387Sym0 t_a1k7b) t_a1k7c) => Sing t_a1k7b -> Sing t_a1k7c -> Sing (Apply (Apply MaxSym0 t_a1k7b) t_a1k7c :: a_a1jCf) sMin :: forall (t_a1k7d :: a_a1jCf) (t_a1k7e :: a_a1jCf). (SOrd a_a1jCf, (Apply (Apply MinSym0 t_a1k7d) t_a1k7e :: a_a1jCf) ~ Apply (Apply Min_6989586621679325420Sym0 t_a1k7d) t_a1k7e) => Sing t_a1k7d -> Sing t_a1k7e -> Sing (Apply (Apply MinSym0 t_a1k7d) t_a1k7e :: a_a1jCf) sComparing :: forall (t_a1k6V :: TyFun b_a1jC5 a_a1jC4 -> Type) (t_a1k6W :: b_a1jC5) (t_a1k6X :: b_a1jC5). SOrd a_a1jC4 => Sing t_a1k6V -> Sing t_a1k6W -> Sing t_a1k6X -> Sing (Apply (Apply (Apply ComparingSym0 t_a1k6V) t_a1k6W) t_a1k6X :: Ordering) thenCmp :: Ordering -> Ordering -> Ordering sThenCmp :: forall (t_a1lPN :: Ordering) (t_a1lPO :: Ordering). Sing t_a1lPN -> Sing t_a1lPO -> Sing (Apply (Apply ThenCmpSym0 t_a1lPN) t_a1lPO :: Ordering) -- | The singleton kind-indexed data family. data ThenCmpSym0 (l_a1lPI :: TyFun Ordering (TyFun Ordering Ordering -> Type)) data ThenCmpSym1 (l_a1lPG :: Ordering) (l_a1lPF :: TyFun Ordering Ordering) type ThenCmpSym2 (t_a1lPD :: Ordering) (t_a1lPE :: Ordering) = ThenCmp t_a1lPD t_a1lPE type LTSym0 = LT type EQSym0 = EQ type GTSym0 = GT data CompareSym0 (l_a1k27 :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Ordering -> Type)) data CompareSym1 (l_a1k25 :: a6989586621679323527) (l_a1k24 :: TyFun a6989586621679323527 Ordering) type CompareSym2 (t_a1k22 :: a6989586621679323527) (t_a1k23 :: a6989586621679323527) = Compare t_a1k22 t_a1k23 data (<@#@$) (l_a1k2g :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type)) data (<@#@$$) (l_a1k2e :: a6989586621679323527) (l_a1k2d :: TyFun a6989586621679323527 Bool) type (<@#@$$$) (t_a1k2b :: a6989586621679323527) (t_a1k2c :: a6989586621679323527) = (<) t_a1k2b t_a1k2c data (<=@#@$) (l_a1k2p :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type)) data (<=@#@$$) (l_a1k2n :: a6989586621679323527) (l_a1k2m :: TyFun a6989586621679323527 Bool) type (<=@#@$$$) (t_a1k2k :: a6989586621679323527) (t_a1k2l :: a6989586621679323527) = (<=) t_a1k2k t_a1k2l data (>@#@$) (l_a1k2y :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type)) data (>@#@$$) (l_a1k2w :: a6989586621679323527) (l_a1k2v :: TyFun a6989586621679323527 Bool) type (>@#@$$$) (t_a1k2t :: a6989586621679323527) (t_a1k2u :: a6989586621679323527) = (>) t_a1k2t t_a1k2u data (>=@#@$) (l_a1k2H :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type)) data (>=@#@$$) (l_a1k2F :: a6989586621679323527) (l_a1k2E :: TyFun a6989586621679323527 Bool) type (>=@#@$$$) (t_a1k2C :: a6989586621679323527) (t_a1k2D :: a6989586621679323527) = (>=) t_a1k2C t_a1k2D data MaxSym0 (l_a1k2Q :: TyFun a6989586621679323527 (TyFun a6989586621679323527 a6989586621679323527 -> Type)) data MaxSym1 (l_a1k2O :: a6989586621679323527) (l_a1k2N :: TyFun a6989586621679323527 a6989586621679323527) type MaxSym2 (t_a1k2L :: a6989586621679323527) (t_a1k2M :: a6989586621679323527) = Max t_a1k2L t_a1k2M data MinSym0 (l_a1k2Z :: TyFun a6989586621679323527 (TyFun a6989586621679323527 a6989586621679323527 -> Type)) data MinSym1 (l_a1k2X :: a6989586621679323527) (l_a1k2W :: TyFun a6989586621679323527 a6989586621679323527) type MinSym2 (t_a1k2U :: a6989586621679323527) (t_a1k2V :: a6989586621679323527) = Min t_a1k2U t_a1k2V data ComparingSym0 (l_a1k1S :: TyFun (TyFun b6989586621679323517 a6989586621679323516 -> Type) (TyFun b6989586621679323517 (TyFun b6989586621679323517 Ordering -> Type) -> Type)) data ComparingSym1 (l_a1k1Q :: TyFun b6989586621679323517 a6989586621679323516 -> Type) (l_a1k1P :: TyFun b6989586621679323517 (TyFun b6989586621679323517 Ordering -> Type)) data ComparingSym2 (l_a1k1M :: TyFun b6989586621679323517 a6989586621679323516 -> Type) (l_a1k1N :: b6989586621679323517) (l_a1k1L :: TyFun b6989586621679323517 Ordering) type ComparingSym3 (t_a1k1I :: TyFun b6989586621679323517 a6989586621679323516 -> Type) (t_a1k1J :: b6989586621679323517) (t_a1k1K :: b6989586621679323517) = Comparing t_a1k1I t_a1k1J t_a1k1K instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332858Sym0 instance Data.Singletons.Prelude.Ord.POrd () instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332858Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332838Sym0 instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Ordering instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332838Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332818Sym0 instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Bool instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332818Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332784Sym0 instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f, g) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332784Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332703Sym0 instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332703Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332631Sym0 instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332631Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332568Sym0 instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332568Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332514Sym0 instance Data.Singletons.Prelude.Ord.POrd (a, b, c) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332514Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332469Sym0 instance Data.Singletons.Prelude.Ord.POrd (a, b) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332469Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332435Sym0 instance Data.Singletons.Prelude.Ord.POrd Data.Void.Void instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332435Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332411Sym0 instance Data.Singletons.Prelude.Ord.POrd (GHC.Base.NonEmpty a) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332411Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332374Sym0 instance Data.Singletons.Prelude.Ord.POrd (Data.Either.Either a b) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332374Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332334Sym0 instance Data.Singletons.Prelude.Ord.POrd [a] instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332334Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332298Sym0 instance Data.Singletons.Prelude.Ord.POrd (GHC.Base.Maybe a) instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679332298Sym1 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.Let6989586621679325242Scrutinee_6989586621679323549Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679325242Scrutinee_6989586621679323549Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679325275Scrutinee_6989586621679323551Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679325275Scrutinee_6989586621679323551Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679325308Scrutinee_6989586621679323553Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679325308Scrutinee_6989586621679323553Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679325341Scrutinee_6989586621679323555Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679325341Scrutinee_6989586621679323555Sym1 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.Let6989586621679325208Scrutinee_6989586621679323547Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679325208Scrutinee_6989586621679323547Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679325374Scrutinee_6989586621679323557Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679325374Scrutinee_6989586621679323557Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679325407Scrutinee_6989586621679323559Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679325407Scrutinee_6989586621679323559Sym1 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_6989586621679325222Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679325222Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679325255Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679325255Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679325288Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679325288Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679325321Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679325321Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679325354Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679325354Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Max_6989586621679325387Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Max_6989586621679325387Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Min_6989586621679325420Sym1 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Min_6989586621679325420Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679325198Scrutinee_6989586621679323545Sym0 instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679325198Scrutinee_6989586621679323545Sym1 -- | 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 (TyCon1 Succ) [Zero, Succ Zero] --type TyCon1 = (TyCon :: (k1 -> k2) -> (k1 ~> k2)) -- | Similar to TyCon1, but for two-parameter type constructors. type TyCon2 = (TyCon :: (k1 -> k2 -> k3) -> (k1 ~> k2 ~> k3)) type TyCon3 = (TyCon :: (k1 -> k2 -> k3 -> k4) -> (k1 ~> k2 ~> k3 ~> k4)) type TyCon4 = (TyCon :: (k1 -> k2 -> k3 -> k4 -> k5) -> (k1 ~> k2 ~> k3 ~> k4 ~> k5)) type TyCon5 = (TyCon :: (k1 -> k2 -> k3 -> k4 -> k5 -> k6) -> (k1 ~> k2 ~> k3 ~> k4 ~> k5 ~> k6)) type TyCon6 = (TyCon :: (k1 -> k2 -> k3 -> k4 -> k5 -> k6 -> k7) -> (k1 ~> k2 ~> k3 ~> k4 ~> k5 ~> k6 ~> k7)) type TyCon7 = (TyCon :: (k1 -> k2 -> k3 -> k4 -> k5 -> k6 -> k7 -> k8) -> (k1 ~> k2 ~> k3 ~> k4 ~> k5 ~> k6 ~> k7 ~> k8)) type TyCon8 = (TyCon :: (k1 -> k2 -> k3 -> k4 -> k5 -> k6 -> k7 -> k8 -> k9) -> (k1 ~> k2 ~> k3 ~> k4 ~> k5 ~> k6 ~> k7 ~> k8 ~> k9)) -- | Workhorse for the TyCon1, etc., types. This can be used -- directly in place of any of the TyConN types, but it will -- work only with monomorphic types. When GHC#14645 is fixed, this -- should fully supersede the TyConN types. -- | 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_a45d9 :: TyFun Type Type) type DemoteSym1 (t_a45d8 :: Type) = Demote t_a45d8 data SameKindSym0 l_a45dg data SameKindSym1 (l_a45de :: k6989586621679027070) l_a45dd type SameKindSym2 (t_a45db :: k6989586621679027070) (t_a45dc :: k6989586621679027070) = SameKind t_a45db t_a45dc data KindOfSym0 l_a45dj type KindOfSym1 (t_a45di :: k6989586621679027073) = KindOf t_a45di data (~>@#@$) l_a45dq data (~>@#@$$) (l_a45do :: Type) l_a45dn type (~>@#@$$$) (t_a45dl :: Type) (t_a45dm :: Type) = (~>) t_a45dl t_a45dm data ApplySym0 (l_a45dx :: TyFun ((~>) k16989586621679025209 k26989586621679025210) (TyFun k16989586621679025209 k26989586621679025210 -> Type)) data ApplySym1 (l_a45dv :: (~>) k16989586621679025209 k26989586621679025210) (l_a45du :: TyFun k16989586621679025209 k26989586621679025210) type ApplySym2 (t_a45ds :: (~>) k16989586621679025209 k26989586621679025210) (t_a45dt :: k16989586621679025209) = Apply t_a45ds t_a45dt data (@@@#@$) l_a45dE data (@@@#@$$) (l_a45dC :: (~>) k16989586621679031304 k6989586621679031303) l_a45dB type (@@@#@$$$) (t_a45dz :: (~>) k16989586621679031304 k6989586621679031303) (t_a45dA :: k16989586621679031304) = (@@) t_a45dz t_a45dA 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_a1jCf => POrd (a_a1jCf :: Type) where { type family Compare (arg_a1k20 :: a_a1jCf) (arg_a1k21 :: a_a1jCf) :: Ordering; type family (<) (arg_a1k29 :: a_a1jCf) (arg_a1k2a :: a_a1jCf) :: Bool; type family (<=) (arg_a1k2i :: a_a1jCf) (arg_a1k2j :: a_a1jCf) :: Bool; type family (>) (arg_a1k2r :: a_a1jCf) (arg_a1k2s :: a_a1jCf) :: Bool; type family (>=) (arg_a1k2A :: a_a1jCf) (arg_a1k2B :: a_a1jCf) :: Bool; type family Max (arg_a1k2J :: a_a1jCf) (arg_a1k2K :: a_a1jCf) :: a_a1jCf; type family Min (arg_a1k2S :: a_a1jCf) (arg_a1k2T :: a_a1jCf) :: a_a1jCf; type Compare a_a1k3y a_a1k3z = Apply (Apply Compare_6989586621679325222Sym0 a_a1k3y) a_a1k3z; type (<) a_a1k45 a_a1k46 = Apply (Apply TFHelper_6989586621679325255Sym0 a_a1k45) a_a1k46; type (<=) a_a1k4C a_a1k4D = Apply (Apply TFHelper_6989586621679325288Sym0 a_a1k4C) a_a1k4D; type (>) a_a1k59 a_a1k5a = Apply (Apply TFHelper_6989586621679325321Sym0 a_a1k59) a_a1k5a; type (>=) a_a1k5G a_a1k5H = Apply (Apply TFHelper_6989586621679325354Sym0 a_a1k5G) a_a1k5H; type Max a_a1k6d a_a1k6e = Apply (Apply Max_6989586621679325387Sym0 a_a1k6d) a_a1k6e; type Min a_a1k6K a_a1k6L = Apply (Apply Min_6989586621679325420Sym0 a_a1k6K) a_a1k6L; } class SEq a_a1jCf => SOrd a_a1jCf sCompare :: forall (t_a1k71 :: a_a1jCf) (t_a1k72 :: a_a1jCf). SOrd a_a1jCf => Sing t_a1k71 -> Sing t_a1k72 -> Sing (Apply (Apply CompareSym0 t_a1k71) t_a1k72 :: Ordering) (%<) :: forall (t_a1k73 :: a_a1jCf) (t_a1k74 :: a_a1jCf). SOrd a_a1jCf => Sing t_a1k73 -> Sing t_a1k74 -> Sing (Apply (Apply (<@#@$) t_a1k73) t_a1k74 :: Bool) (%<=) :: forall (t_a1k75 :: a_a1jCf) (t_a1k76 :: a_a1jCf). SOrd a_a1jCf => Sing t_a1k75 -> Sing t_a1k76 -> Sing (Apply (Apply (<=@#@$) t_a1k75) t_a1k76 :: Bool) (%>) :: forall (t_a1k77 :: a_a1jCf) (t_a1k78 :: a_a1jCf). SOrd a_a1jCf => Sing t_a1k77 -> Sing t_a1k78 -> Sing (Apply (Apply (>@#@$) t_a1k77) t_a1k78 :: Bool) (%>=) :: forall (t_a1k79 :: a_a1jCf) (t_a1k7a :: a_a1jCf). SOrd a_a1jCf => Sing t_a1k79 -> Sing t_a1k7a -> Sing (Apply (Apply (>=@#@$) t_a1k79) t_a1k7a :: Bool) sMax :: forall (t_a1k7b :: a_a1jCf) (t_a1k7c :: a_a1jCf). SOrd a_a1jCf => Sing t_a1k7b -> Sing t_a1k7c -> Sing (Apply (Apply MaxSym0 t_a1k7b) t_a1k7c :: a_a1jCf) sMin :: forall (t_a1k7d :: a_a1jCf) (t_a1k7e :: a_a1jCf). SOrd a_a1jCf => Sing t_a1k7d -> Sing t_a1k7e -> Sing (Apply (Apply MinSym0 t_a1k7d) t_a1k7e :: a_a1jCf) sCompare :: forall (t_a1k71 :: a_a1jCf) (t_a1k72 :: a_a1jCf). (SOrd a_a1jCf, (Apply (Apply CompareSym0 t_a1k71) t_a1k72 :: Ordering) ~ Apply (Apply Compare_6989586621679325222Sym0 t_a1k71) t_a1k72) => Sing t_a1k71 -> Sing t_a1k72 -> Sing (Apply (Apply CompareSym0 t_a1k71) t_a1k72 :: Ordering) (%<) :: forall (t_a1k73 :: a_a1jCf) (t_a1k74 :: a_a1jCf). (SOrd a_a1jCf, (Apply (Apply (<@#@$) t_a1k73) t_a1k74 :: Bool) ~ Apply (Apply TFHelper_6989586621679325255Sym0 t_a1k73) t_a1k74) => Sing t_a1k73 -> Sing t_a1k74 -> Sing (Apply (Apply (<@#@$) t_a1k73) t_a1k74 :: Bool) (%<=) :: forall (t_a1k75 :: a_a1jCf) (t_a1k76 :: a_a1jCf). (SOrd a_a1jCf, (Apply (Apply (<=@#@$) t_a1k75) t_a1k76 :: Bool) ~ Apply (Apply TFHelper_6989586621679325288Sym0 t_a1k75) t_a1k76) => Sing t_a1k75 -> Sing t_a1k76 -> Sing (Apply (Apply (<=@#@$) t_a1k75) t_a1k76 :: Bool) (%>) :: forall (t_a1k77 :: a_a1jCf) (t_a1k78 :: a_a1jCf). (SOrd a_a1jCf, (Apply (Apply (>@#@$) t_a1k77) t_a1k78 :: Bool) ~ Apply (Apply TFHelper_6989586621679325321Sym0 t_a1k77) t_a1k78) => Sing t_a1k77 -> Sing t_a1k78 -> Sing (Apply (Apply (>@#@$) t_a1k77) t_a1k78 :: Bool) (%>=) :: forall (t_a1k79 :: a_a1jCf) (t_a1k7a :: a_a1jCf). (SOrd a_a1jCf, (Apply (Apply (>=@#@$) t_a1k79) t_a1k7a :: Bool) ~ Apply (Apply TFHelper_6989586621679325354Sym0 t_a1k79) t_a1k7a) => Sing t_a1k79 -> Sing t_a1k7a -> Sing (Apply (Apply (>=@#@$) t_a1k79) t_a1k7a :: Bool) sMax :: forall (t_a1k7b :: a_a1jCf) (t_a1k7c :: a_a1jCf). (SOrd a_a1jCf, (Apply (Apply MaxSym0 t_a1k7b) t_a1k7c :: a_a1jCf) ~ Apply (Apply Max_6989586621679325387Sym0 t_a1k7b) t_a1k7c) => Sing t_a1k7b -> Sing t_a1k7c -> Sing (Apply (Apply MaxSym0 t_a1k7b) t_a1k7c :: a_a1jCf) sMin :: forall (t_a1k7d :: a_a1jCf) (t_a1k7e :: a_a1jCf). (SOrd a_a1jCf, (Apply (Apply MinSym0 t_a1k7d) t_a1k7e :: a_a1jCf) ~ Apply (Apply Min_6989586621679325420Sym0 t_a1k7d) t_a1k7e) => Sing t_a1k7d -> Sing t_a1k7e -> Sing (Apply (Apply MinSym0 t_a1k7d) t_a1k7e :: a_a1jCf) sThenCmp :: forall (t_a1lPN :: Ordering) (t_a1lPO :: Ordering). Sing t_a1lPN -> Sing t_a1lPO -> Sing (Apply (Apply ThenCmpSym0 t_a1lPN) t_a1lPO :: Ordering) sFoldl :: forall (t_a16Co :: TyFun b_a16B2 (TyFun a_a16B1 b_a16B2 -> Type) -> Type) (t_a16Cp :: b_a16B2) (t_a16Cq :: [a_a16B1]). Sing t_a16Co -> Sing t_a16Cp -> Sing t_a16Cq -> Sing (Apply (Apply (Apply FoldlSym0 t_a16Co) t_a16Cp) t_a16Cq :: b_a16B2) -- | 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_a3MUx :: Type) where { type family MinBound :: a_a3MUx; type family MaxBound :: a_a3MUx; } class SBounded a_a3MUx sMinBound :: SBounded a_a3MUx => Sing (MinBoundSym0 :: a_a3MUx) sMaxBound :: SBounded a_a3MUx => Sing (MaxBoundSym0 :: a_a3MUx) class PEnum (a_a3NX6 :: Type) where { type family ToEnum (arg_a3O6I :: Nat) :: a_a3NX6; type family FromEnum (arg_a3O6M :: a_a3NX6) :: Nat; type Succ a_a3O7w = Apply Succ_6989586621679917443Sym0 a_a3O7w; type Pred a_a3O7J = Apply Pred_6989586621679917456Sym0 a_a3O7J; type EnumFromTo a_a3O80 a_a3O81 = Apply (Apply EnumFromTo_6989586621679917474Sym0 a_a3O80) a_a3O81; type EnumFromThenTo a_a3O8t a_a3O8u a_a3O8v = Apply (Apply (Apply EnumFromThenTo_6989586621679917504Sym0 a_a3O8t) a_a3O8u) a_a3O8v; } class SEnum a_a3NX6 sToEnum :: forall (t_a3Ob5 :: Nat). SEnum a_a3NX6 => Sing t_a3Ob5 -> Sing (Apply ToEnumSym0 t_a3Ob5 :: a_a3NX6) sFromEnum :: forall (t_a3Ob6 :: a_a3NX6). SEnum a_a3NX6 => Sing t_a3Ob6 -> Sing (Apply FromEnumSym0 t_a3Ob6 :: Nat) class PShow (a_a31kk :: Type) where { type family ShowsPrec (arg_a31QY :: Nat) (arg_a31QZ :: a_a31kk) (arg_a31R0 :: Symbol) :: Symbol; type family Show_ (arg_a31Rd :: a_a31kk) :: Symbol; type family ShowList (arg_a31Rh :: [a_a31kk]) (arg_a31Ri :: Symbol) :: Symbol; type ShowsPrec a_a31RH a_a31RI a_a31RJ = Apply (Apply (Apply ShowsPrec_6989586621679731952Sym0 a_a31RH) a_a31RI) a_a31RJ; type Show_ a_a31S3 = Apply Show__6989586621679731972Sym0 a_a31S3; type ShowList a_a31Sk a_a31Sl = Apply (Apply ShowList_6989586621679731990Sym0 a_a31Sk) a_a31Sl; } class SShow a_a31kk sShowsPrec :: forall (t_a31XW :: Nat) (t_a31XX :: a_a31kk) (t_a31XY :: Symbol). SShow a_a31kk => Sing t_a31XW -> Sing t_a31XX -> Sing t_a31XY -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a31XW) t_a31XX) t_a31XY :: Symbol) sShow_ :: forall (t_a31XZ :: a_a31kk). SShow a_a31kk => Sing t_a31XZ -> Sing (Apply Show_Sym0 t_a31XZ :: Symbol) sShowList :: forall (t_a31Y0 :: [a_a31kk]) (t_a31Y1 :: Symbol). SShow a_a31kk => Sing t_a31Y0 -> Sing t_a31Y1 -> Sing (Apply (Apply ShowListSym0 t_a31Y0) t_a31Y1 :: Symbol) sShowsPrec :: forall (t_a31XW :: Nat) (t_a31XX :: a_a31kk) (t_a31XY :: Symbol). (SShow a_a31kk, (Apply (Apply (Apply ShowsPrecSym0 t_a31XW) t_a31XX) t_a31XY :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621679731952Sym0 t_a31XW) t_a31XX) t_a31XY) => Sing t_a31XW -> Sing t_a31XX -> Sing t_a31XY -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a31XW) t_a31XX) t_a31XY :: Symbol) sShow_ :: forall (t_a31XZ :: a_a31kk). (SShow a_a31kk, (Apply Show_Sym0 t_a31XZ :: Symbol) ~ Apply Show__6989586621679731972Sym0 t_a31XZ) => Sing t_a31XZ -> Sing (Apply Show_Sym0 t_a31XZ :: Symbol) sShowList :: forall (t_a31Y0 :: [a_a31kk]) (t_a31Y1 :: Symbol). (SShow a_a31kk, (Apply (Apply ShowListSym0 t_a31Y0) t_a31Y1 :: Symbol) ~ Apply (Apply ShowList_6989586621679731990Sym0 t_a31Y0) t_a31Y1) => Sing t_a31Y0 -> Sing t_a31Y1 -> Sing (Apply (Apply ShowListSym0 t_a31Y0) t_a31Y1 :: Symbol) sShowString :: forall (t_a31Xn :: Symbol) (t_a31Xo :: Symbol). Sing t_a31Xn -> Sing t_a31Xo -> Sing (Apply (Apply ShowStringSym0 t_a31Xn) t_a31Xo :: Symbol) sShowParen :: forall (t_a31Xs :: Bool) (t_a31Xt :: TyFun Symbol Symbol -> Type) (t_a31Xu :: Symbol). Sing t_a31Xs -> Sing t_a31Xt -> Sing t_a31Xu -> Sing (Apply (Apply (Apply ShowParenSym0 t_a31Xs) t_a31Xt) t_a31Xu :: Symbol) sShowSpace :: forall (t_a31Xm :: Symbol). Sing t_a31Xm -> Sing (Apply ShowSpaceSym0 t_a31Xm :: Symbol) sShowChar :: forall (t_a31Xq :: Symbol) (t_a31Xr :: Symbol). Sing t_a31Xq -> Sing t_a31Xr -> Sing (Apply (Apply ShowCharSym0 t_a31Xq) t_a31Xr :: Symbol) sShowCommaSpace :: forall (t_a31Xp :: Symbol). Sing t_a31Xp -> Sing (Apply ShowCommaSpaceSym0 t_a31Xp :: Symbol) (%.) :: forall (t_a1Qcl :: TyFun b_a1Q7l c_a1Q7m -> Type) (t_a1Qcm :: TyFun a_a1Q7n b_a1Q7l -> Type) (t_a1Qcn :: a_a1Q7n). Sing t_a1Qcl -> Sing t_a1Qcm -> Sing t_a1Qcn -> Sing (Apply (Apply (Apply (.@#@$) t_a1Qcl) t_a1Qcm) t_a1Qcn :: c_a1Q7m) 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_a1Ezp :: TyFun k06989586621679403140 k6989586621679403141)
type ErrorSym1 (t_a1Ezo :: k06989586621679403140) = Error t_a1Ezo
-- | The promotion of undefined.
-- | The singleton for undefined.
sUndefined :: a
type UndefinedSym0 = Undefined
type TrueSym0 = True
type FalseSym0 = False
data (==@#@$) (l_a1gzJ :: TyFun a6989586621679311772 (TyFun a6989586621679311772 Bool -> Type))
data (==@#@$$) (l_a1gzH :: a6989586621679311772) (l_a1gzG :: TyFun a6989586621679311772 Bool)
type (==@#@$$$) (t_a1gzE :: a6989586621679311772) (t_a1gzF :: a6989586621679311772) = (==) t_a1gzE t_a1gzF
data (>@#@$) (l_a1k2y :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type))
data (>@#@$$) (l_a1k2w :: a6989586621679323527) (l_a1k2v :: TyFun a6989586621679323527 Bool)
type (>@#@$$$) (t_a1k2t :: a6989586621679323527) (t_a1k2u :: a6989586621679323527) = (>) t_a1k2t t_a1k2u
type LTSym0 = LT
type EQSym0 = EQ
type GTSym0 = GT
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_a13Ee :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_a13Ec :: a3530822107858468865) (l_a13Eb :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_a13E9 :: a3530822107858468865) (t_a13Ea :: b3530822107858468866) = '(t_a13E9, t_a13Ea)
data Tuple3Sym0 (l_a13EE :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_a13EC :: a3530822107858468865) (l_a13EB :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_a13Ey :: a3530822107858468865) (l_a13Ez :: b3530822107858468866) (l_a13Ex :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_a13Eu :: a3530822107858468865) (t_a13Ev :: b3530822107858468866) (t_a13Ew :: c3530822107858468867) = '(t_a13Eu, t_a13Ev, t_a13Ew)
data Tuple4Sym0 (l_a13Ff :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_a13Fd :: a3530822107858468865) (l_a13Fc :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_a13F9 :: a3530822107858468865) (l_a13Fa :: b3530822107858468866) (l_a13F8 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_a13F4 :: a3530822107858468865) (l_a13F5 :: b3530822107858468866) (l_a13F6 :: c3530822107858468867) (l_a13F3 :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_a13EZ :: a3530822107858468865) (t_a13F0 :: b3530822107858468866) (t_a13F1 :: c3530822107858468867) (t_a13F2 :: d3530822107858468868) = '(t_a13EZ, t_a13F0, t_a13F1, t_a13F2)
data Tuple5Sym0 (l_a13G2 :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_a13G0 :: a3530822107858468865) (l_a13FZ :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_a13FW :: a3530822107858468865) (l_a13FX :: b3530822107858468866) (l_a13FV :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_a13FR :: a3530822107858468865) (l_a13FS :: b3530822107858468866) (l_a13FT :: c3530822107858468867) (l_a13FQ :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_a13FL :: a3530822107858468865) (l_a13FM :: b3530822107858468866) (l_a13FN :: c3530822107858468867) (l_a13FO :: d3530822107858468868) (l_a13FK :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_a13FF :: a3530822107858468865) (t_a13FG :: b3530822107858468866) (t_a13FH :: c3530822107858468867) (t_a13FI :: d3530822107858468868) (t_a13FJ :: e3530822107858468869) = '(t_a13FF, t_a13FG, t_a13FH, t_a13FI, t_a13FJ)
data Tuple6Sym0 (l_a13H2 :: 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_a13H0 :: a3530822107858468865) (l_a13GZ :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_a13GW :: a3530822107858468865) (l_a13GX :: b3530822107858468866) (l_a13GV :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_a13GR :: a3530822107858468865) (l_a13GS :: b3530822107858468866) (l_a13GT :: c3530822107858468867) (l_a13GQ :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_a13GL :: a3530822107858468865) (l_a13GM :: b3530822107858468866) (l_a13GN :: c3530822107858468867) (l_a13GO :: d3530822107858468868) (l_a13GK :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_a13GE :: a3530822107858468865) (l_a13GF :: b3530822107858468866) (l_a13GG :: c3530822107858468867) (l_a13GH :: d3530822107858468868) (l_a13GI :: e3530822107858468869) (l_a13GD :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_a13Gx :: a3530822107858468865) (t_a13Gy :: b3530822107858468866) (t_a13Gz :: c3530822107858468867) (t_a13GA :: d3530822107858468868) (t_a13GB :: e3530822107858468869) (t_a13GC :: f3530822107858468870) = '(t_a13Gx, t_a13Gy, t_a13Gz, t_a13GA, t_a13GB, t_a13GC)
data Tuple7Sym0 (l_a13Ig :: 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_a13Ie :: a3530822107858468865) (l_a13Id :: 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_a13Ia :: a3530822107858468865) (l_a13Ib :: b3530822107858468866) (l_a13I9 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_a13I5 :: a3530822107858468865) (l_a13I6 :: b3530822107858468866) (l_a13I7 :: c3530822107858468867) (l_a13I4 :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_a13HZ :: a3530822107858468865) (l_a13I0 :: b3530822107858468866) (l_a13I1 :: c3530822107858468867) (l_a13I2 :: d3530822107858468868) (l_a13HY :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_a13HS :: a3530822107858468865) (l_a13HT :: b3530822107858468866) (l_a13HU :: c3530822107858468867) (l_a13HV :: d3530822107858468868) (l_a13HW :: e3530822107858468869) (l_a13HR :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_a13HK :: a3530822107858468865) (l_a13HL :: b3530822107858468866) (l_a13HM :: c3530822107858468867) (l_a13HN :: d3530822107858468868) (l_a13HO :: e3530822107858468869) (l_a13HP :: f3530822107858468870) (l_a13HJ :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_a13HC :: a3530822107858468865) (t_a13HD :: b3530822107858468866) (t_a13HE :: c3530822107858468867) (t_a13HF :: d3530822107858468868) (t_a13HG :: e3530822107858468869) (t_a13HH :: f3530822107858468870) (t_a13HI :: g3530822107858468871) = '(t_a13HC, t_a13HD, t_a13HE, t_a13HF, t_a13HG, t_a13HH, t_a13HI)
data CompareSym0 (l_a1k27 :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Ordering -> Type))
data CompareSym1 (l_a1k25 :: a6989586621679323527) (l_a1k24 :: TyFun a6989586621679323527 Ordering)
type CompareSym2 (t_a1k22 :: a6989586621679323527) (t_a1k23 :: a6989586621679323527) = Compare t_a1k22 t_a1k23
data ThenCmpSym0 (l_a1lPI :: TyFun Ordering (TyFun Ordering Ordering -> Type))
data ThenCmpSym1 (l_a1lPG :: Ordering) (l_a1lPF :: TyFun Ordering Ordering)
type ThenCmpSym2 (t_a1lPD :: Ordering) (t_a1lPE :: Ordering) = ThenCmp t_a1lPD t_a1lPE
data FoldlSym0 (l_a16BK :: TyFun (TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (TyFun b6989586621679273480 (TyFun [a6989586621679273479] b6989586621679273480 -> Type) -> Type))
data FoldlSym1 (l_a16BI :: TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (l_a16BH :: TyFun b6989586621679273480 (TyFun [a6989586621679273479] b6989586621679273480 -> Type))
data FoldlSym2 (l_a16BE :: TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (l_a16BF :: b6989586621679273480) (l_a16BD :: TyFun [a6989586621679273479] b6989586621679273480)
type FoldlSym3 (t_a16BA :: TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (t_a16BB :: b6989586621679273480) (t_a16BC :: [a6989586621679273479]) = Foldl t_a16BA t_a16BB t_a16BC
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data ShowsPrecSym0 (l_a31Rb :: TyFun Nat (TyFun a6989586621679729880 (TyFun Symbol Symbol -> Type) -> Type))
data ShowsPrecSym1 (l_a31R9 :: Nat) (l_a31R8 :: TyFun a6989586621679729880 (TyFun Symbol Symbol -> Type))
data ShowsPrecSym2 (l_a31R5 :: Nat) (l_a31R6 :: a6989586621679729880) (l_a31R4 :: TyFun Symbol Symbol)
type ShowsPrecSym3 (t_a31R1 :: Nat) (t_a31R2 :: a6989586621679729880) (t_a31R3 :: Symbol) = ShowsPrec t_a31R1 t_a31R2 t_a31R3
data ShowStringSym0 (l_a31Oy :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowStringSym1 (l_a31Ow :: Symbol) (l_a31Ov :: TyFun Symbol Symbol)
type ShowStringSym2 (t_a31Ot :: Symbol) (t_a31Ou :: Symbol) = ShowString t_a31Ot t_a31Ou
data ShowParenSym0 (l_a31Pa :: TyFun Bool (TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type) -> Type))
data ShowParenSym1 (l_a31P8 :: Bool) (l_a31P7 :: TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type))
data ShowParenSym2 (l_a31P4 :: Bool) (l_a31P5 :: TyFun Symbol Symbol -> Type) (l_a31P3 :: TyFun Symbol Symbol)
data ShowSpaceSym0 (l_a31Oa :: TyFun Symbol Symbol)
type ShowSpaceSym1 (t_a31O9 :: Symbol) = ShowSpace t_a31O9
data ShowCharSym0 (l_a31OU :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowCharSym1 (l_a31OS :: Symbol) (l_a31OR :: TyFun Symbol Symbol)
type ShowCharSym2 (t_a31OP :: Symbol) (t_a31OQ :: Symbol) = ShowChar t_a31OP t_a31OQ
data ShowCommaSpaceSym0 (l_a31OH :: TyFun Symbol Symbol)
type ShowCommaSpaceSym1 (t_a31OG :: Symbol) = ShowCommaSpace t_a31OG
data (.@#@$) (l_a1Qa7 :: TyFun (TyFun b6989586621679448463 c6989586621679448464 -> Type) (TyFun (TyFun a6989586621679448465 b6989586621679448463 -> Type) (TyFun a6989586621679448465 c6989586621679448464 -> Type) -> Type))
data (.@#@$$) (l_a1Qa5 :: TyFun b6989586621679448463 c6989586621679448464 -> Type) (l_a1Qa4 :: TyFun (TyFun a6989586621679448465 b6989586621679448463 -> Type) (TyFun a6989586621679448465 c6989586621679448464 -> Type))
data (.@#@$$$) (l_a1Qa1 :: TyFun b6989586621679448463 c6989586621679448464 -> Type) (l_a1Qa2 :: TyFun a6989586621679448465 b6989586621679448463 -> Type) (l_a1Qa0 :: TyFun a6989586621679448465 c6989586621679448464)
type (.@#@$$$$) (t_a1Q9X :: TyFun b6989586621679448463 c6989586621679448464 -> Type) (t_a1Q9Y :: TyFun a6989586621679448465 b6989586621679448463 -> Type) (t_a1Q9Z :: a6989586621679448465) = (:.) t_a1Q9X t_a1Q9Y t_a1Q9Z
data (:@#@$) (l_a13D9 :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:@#@$$) (l_a13D7 :: a3530822107858468865) (l_a13D6 :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:@#@$$$) (t_a13D4 :: a3530822107858468865) (t_a13D5 :: [a3530822107858468865]) = (:) t_a13D4 t_a13D5
-- | 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_ajlP b_ajlQ -> Type)
either_ :: (a_a47zz -> c_a47zA) -> (b_a47zB -> c_a47zA) -> Either a_a47zz b_a47zB -> c_a47zA
sEither_ :: forall (t_a47As :: TyFun a_a47zz c_a47zA -> Type) (t_a47At :: TyFun b_a47zB c_a47zA -> Type) (t_a47Au :: Either a_a47zz b_a47zB). Sing t_a47As -> Sing t_a47At -> Sing t_a47Au -> Sing (Apply (Apply (Apply Either_Sym0 t_a47As) t_a47At) t_a47Au :: c_a47zA)
sLefts :: forall (t_a47YM :: [Either a_a47RT b_a47RU]). Sing t_a47YM -> Sing (Apply LeftsSym0 t_a47YM :: [a_a47RT])
sRights :: forall (t_a47YL :: [Either a_a47RR b_a47RS]). Sing t_a47YL -> Sing (Apply RightsSym0 t_a47YL :: [b_a47RS])
sPartitionEithers :: forall (t_a47YK :: [Either a_a47RP b_a47RQ]). Sing t_a47YK -> Sing (Apply PartitionEithersSym0 t_a47YK :: ([a_a47RP], [b_a47RQ]))
sIsLeft :: forall (t_a47YJ :: Either a_a47RN b_a47RO). Sing t_a47YJ -> Sing (Apply IsLeftSym0 t_a47YJ :: Bool)
sIsRight :: forall (t_a47YI :: Either a_a47RL b_a47RM). Sing t_a47YI -> Sing (Apply IsRightSym0 t_a47YI :: Bool)
data LeftSym0 (l_a13Dr :: TyFun a6989586621679084181 (Either a6989586621679084181 b6989586621679084182))
type LeftSym1 (t_a13Dq :: a6989586621679084181) = Left t_a13Dq
data RightSym0 (l_a13Du :: TyFun b6989586621679084182 (Either a6989586621679084181 b6989586621679084182))
type RightSym1 (t_a13Dt :: b6989586621679084182) = Right t_a13Dt
data Either_Sym0 (l_a47Aj :: TyFun (TyFun a6989586621679992217 c6989586621679992218 -> Type) (TyFun (TyFun b6989586621679992219 c6989586621679992218 -> Type) (TyFun (Either a6989586621679992217 b6989586621679992219) c6989586621679992218 -> Type) -> Type))
data Either_Sym1 (l_a47Ah :: TyFun a6989586621679992217 c6989586621679992218 -> Type) (l_a47Ag :: TyFun (TyFun b6989586621679992219 c6989586621679992218 -> Type) (TyFun (Either a6989586621679992217 b6989586621679992219) c6989586621679992218 -> Type))
data Either_Sym2 (l_a47Ad :: TyFun a6989586621679992217 c6989586621679992218 -> Type) (l_a47Ae :: TyFun b6989586621679992219 c6989586621679992218 -> Type) (l_a47Ac :: TyFun (Either a6989586621679992217 b6989586621679992219) c6989586621679992218)
type Either_Sym3 (t_a47A9 :: TyFun a6989586621679992217 c6989586621679992218 -> Type) (t_a47Aa :: TyFun b6989586621679992219 c6989586621679992218 -> Type) (t_a47Ab :: Either a6989586621679992217 b6989586621679992219) = Either_ t_a47A9 t_a47Aa t_a47Ab
data LeftsSym0 (l_a47YC :: TyFun [Either a6989586621679993353 b6989586621679993354] [a6989586621679993353])
type LeftsSym1 (t_a47YB :: [Either a6989586621679993353 b6989586621679993354]) = Lefts t_a47YB
data RightsSym0 (l_a47Yv :: TyFun [Either a6989586621679993351 b6989586621679993352] [b6989586621679993352])
type RightsSym1 (t_a47Yu :: [Either a6989586621679993351 b6989586621679993352]) = Rights t_a47Yu
data IsLeftSym0 (l_a47XL :: TyFun (Either a6989586621679993347 b6989586621679993348) Bool)
type IsLeftSym1 (t_a47XK :: Either a6989586621679993347 b6989586621679993348) = IsLeft t_a47XK
data IsRightSym0 (l_a47XH :: TyFun (Either a6989586621679993345 b6989586621679993346) Bool)
type IsRightSym1 (t_a47XG :: Either a6989586621679993345 b6989586621679993346) = IsRight t_a47XG
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.Let6989586621679993727LeftSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679993727LeftSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679993727LeftSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679993727RightSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679993727RightSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679993727RightSym2
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_a47zz -> c_a47zA) -> (b_a47zB -> c_a47zA) -> Either a_a47zz b_a47zB -> c_a47zA
data LeftSym0 (l_a13Dr :: TyFun a6989586621679084181 (Either a6989586621679084181 b6989586621679084182))
type LeftSym1 (t_a13Dq :: a6989586621679084181) = Left t_a13Dq
data RightSym0 (l_a13Du :: TyFun b6989586621679084182 (Either a6989586621679084181 b6989586621679084182))
type RightSym1 (t_a13Dt :: b6989586621679084182) = Right t_a13Dt
data Either_Sym0 (l_a47Aj :: TyFun (TyFun a6989586621679992217 c6989586621679992218 -> Type) (TyFun (TyFun b6989586621679992219 c6989586621679992218 -> Type) (TyFun (Either a6989586621679992217 b6989586621679992219) c6989586621679992218 -> Type) -> Type))
data Either_Sym1 (l_a47Ah :: TyFun a6989586621679992217 c6989586621679992218 -> Type) (l_a47Ag :: TyFun (TyFun b6989586621679992219 c6989586621679992218 -> Type) (TyFun (Either a6989586621679992217 b6989586621679992219) c6989586621679992218 -> Type))
data Either_Sym2 (l_a47Ad :: TyFun a6989586621679992217 c6989586621679992218 -> Type) (l_a47Ae :: TyFun b6989586621679992219 c6989586621679992218 -> Type) (l_a47Ac :: TyFun (Either a6989586621679992217 b6989586621679992219) c6989586621679992218)
type Either_Sym3 (t_a47A9 :: TyFun a6989586621679992217 c6989586621679992218 -> Type) (t_a47Aa :: TyFun b6989586621679992219 c6989586621679992218 -> Type) (t_a47Ab :: Either a6989586621679992217 b6989586621679992219) = Either_ t_a47A9 t_a47Aa t_a47Ab
data LeftsSym0 (l_a47YC :: TyFun [Either a6989586621679993353 b6989586621679993354] [a6989586621679993353])
type LeftsSym1 (t_a47YB :: [Either a6989586621679993353 b6989586621679993354]) = Lefts t_a47YB
data RightsSym0 (l_a47Yv :: TyFun [Either a6989586621679993351 b6989586621679993352] [b6989586621679993352])
type RightsSym1 (t_a47Yu :: [Either a6989586621679993351 b6989586621679993352]) = Rights t_a47Yu
data IsLeftSym0 (l_a47XL :: TyFun (Either a6989586621679993347 b6989586621679993348) Bool)
type IsLeftSym1 (t_a47XK :: Either a6989586621679993347 b6989586621679993348) = IsLeft t_a47XK
data IsRightSym0 (l_a47XH :: TyFun (Either a6989586621679993345 b6989586621679993346) Bool)
type IsRightSym1 (t_a47XG :: Either a6989586621679993345 b6989586621679993346) = IsRight t_a47XG
-- | 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_a13D9 :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:@#@$$) (l_a13D7 :: a3530822107858468865) (l_a13D6 :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:@#@$$$) (t_a13D4 :: a3530822107858468865) (t_a13D5 :: [a3530822107858468865]) = (:) t_a13D4 t_a13D5
type (++@#@$$$) (t_a1Qb7 :: [a6989586621679448469]) (t_a1Qb8 :: [a6989586621679448469]) = (++) t_a1Qb7 t_a1Qb8
data (++@#@$$) (l_a1Qba :: [a6989586621679448469]) (l_a1Qb9 :: TyFun [a6989586621679448469] [a6989586621679448469])
data (++@#@$) (l_a1Qbc :: TyFun [a6989586621679448469] (TyFun [a6989586621679448469] [a6989586621679448469] -> Type))
data HeadSym0 (l_a1ZFJ :: TyFun [a6989586621679473042] a6989586621679473042)
type HeadSym1 (t_a1ZFI :: [a6989586621679473042]) = Head t_a1ZFI
data LastSym0 (l_a1ZFC :: TyFun [a6989586621679473041] a6989586621679473041)
type LastSym1 (t_a1ZFB :: [a6989586621679473041]) = Last t_a1ZFB
data TailSym0 (l_a1ZFx :: TyFun [a6989586621679473040] [a6989586621679473040])
type TailSym1 (t_a1ZFw :: [a6989586621679473040]) = Tail t_a1ZFw
data InitSym0 (l_a1ZF3 :: TyFun [a6989586621679473039] [a6989586621679473039])
type InitSym1 (t_a1ZF2 :: [a6989586621679473039]) = Init t_a1ZF2
data NullSym0 (l_a1ZE2 :: TyFun [a6989586621679473038] Bool)
type NullSym1 (t_a1ZE1 :: [a6989586621679473038]) = Null t_a1ZE1
data MapSym0 (l_a1Qbp :: TyFun (TyFun a6989586621679448470 b6989586621679448471 -> Type) (TyFun [a6989586621679448470] [b6989586621679448471] -> Type))
data MapSym1 (l_a1Qbn :: TyFun a6989586621679448470 b6989586621679448471 -> Type) (l_a1Qbm :: TyFun [a6989586621679448470] [b6989586621679448471])
type MapSym2 (t_a1Qbk :: TyFun a6989586621679448470 b6989586621679448471 -> Type) (t_a1Qbl :: [a6989586621679448470]) = Map t_a1Qbk t_a1Qbl
data ReverseSym0 (l_a1ZDt :: TyFun [a6989586621679473037] [a6989586621679473037])
type ReverseSym1 (t_a1ZDs :: [a6989586621679473037]) = Reverse t_a1ZDs
data IntersperseSym0 (l_a1ZDa :: TyFun a6989586621679473036 (TyFun [a6989586621679473036] [a6989586621679473036] -> Type))
data IntersperseSym1 (l_a1ZD8 :: a6989586621679473036) (l_a1ZD7 :: TyFun [a6989586621679473036] [a6989586621679473036])
type IntersperseSym2 (t_a1ZD5 :: a6989586621679473036) (t_a1ZD6 :: [a6989586621679473036]) = Intersperse t_a1ZD5 t_a1ZD6
data IntercalateSym0 (l_a1ZDm :: TyFun [a6989586621679473035] (TyFun [[a6989586621679473035]] [a6989586621679473035] -> Type))
data IntercalateSym1 (l_a1ZDk :: [a6989586621679473035]) (l_a1ZDj :: TyFun [[a6989586621679473035]] [a6989586621679473035])
type IntercalateSym2 (t_a1ZDh :: [a6989586621679473035]) (t_a1ZDi :: [[a6989586621679473035]]) = Intercalate t_a1ZDh t_a1ZDi
data SubsequencesSym0 (l_a1ZD1 :: TyFun [a6989586621679473034] [[a6989586621679473034]])
type SubsequencesSym1 (t_a1ZD0 :: [a6989586621679473034]) = Subsequences t_a1ZD0
data PermutationsSym0 (l_a1ZwB :: TyFun [a6989586621679473031] [[a6989586621679473031]])
type PermutationsSym1 (t_a1ZwA :: [a6989586621679473031]) = Permutations t_a1ZwA
data FoldlSym0 (l_a16BK :: TyFun (TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (TyFun b6989586621679273480 (TyFun [a6989586621679273479] b6989586621679273480 -> Type) -> Type))
data FoldlSym1 (l_a16BI :: TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (l_a16BH :: TyFun b6989586621679273480 (TyFun [a6989586621679273479] b6989586621679273480 -> Type))
data FoldlSym2 (l_a16BE :: TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (l_a16BF :: b6989586621679273480) (l_a16BD :: TyFun [a6989586621679273479] b6989586621679273480)
type FoldlSym3 (t_a16BA :: TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (t_a16BB :: b6989586621679273480) (t_a16BC :: [a6989586621679273479]) = Foldl t_a16BA t_a16BB t_a16BC
data Foldl'Sym0 (l_a1Zvc :: TyFun (TyFun b6989586621679473030 (TyFun a6989586621679473029 b6989586621679473030 -> Type) -> Type) (TyFun b6989586621679473030 (TyFun [a6989586621679473029] b6989586621679473030 -> Type) -> Type))
data Foldl'Sym1 (l_a1Zva :: TyFun b6989586621679473030 (TyFun a6989586621679473029 b6989586621679473030 -> Type) -> Type) (l_a1Zv9 :: TyFun b6989586621679473030 (TyFun [a6989586621679473029] b6989586621679473030 -> Type))
data Foldl'Sym2 (l_a1Zv6 :: TyFun b6989586621679473030 (TyFun a6989586621679473029 b6989586621679473030 -> Type) -> Type) (l_a1Zv7 :: b6989586621679473030) (l_a1Zv5 :: TyFun [a6989586621679473029] b6989586621679473030)
type Foldl'Sym3 (t_a1Zv2 :: TyFun b6989586621679473030 (TyFun a6989586621679473029 b6989586621679473030 -> Type) -> Type) (t_a1Zv3 :: b6989586621679473030) (t_a1Zv4 :: [a6989586621679473029]) = Foldl' t_a1Zv2 t_a1Zv3 t_a1Zv4
data Foldl1Sym0 (l_a1ZrL :: TyFun (TyFun a6989586621679473028 (TyFun a6989586621679473028 a6989586621679473028 -> Type) -> Type) (TyFun [a6989586621679473028] a6989586621679473028 -> Type))
data Foldl1Sym1 (l_a1ZrJ :: TyFun a6989586621679473028 (TyFun a6989586621679473028 a6989586621679473028 -> Type) -> Type) (l_a1ZrI :: TyFun [a6989586621679473028] a6989586621679473028)
type Foldl1Sym2 (t_a1ZrG :: TyFun a6989586621679473028 (TyFun a6989586621679473028 a6989586621679473028 -> Type) -> Type) (t_a1ZrH :: [a6989586621679473028]) = Foldl1 t_a1ZrG t_a1ZrH
data Foldl1'Sym0 (l_a1Zwt :: TyFun (TyFun a6989586621679473027 (TyFun a6989586621679473027 a6989586621679473027 -> Type) -> Type) (TyFun [a6989586621679473027] a6989586621679473027 -> Type))
data Foldl1'Sym1 (l_a1Zwr :: TyFun a6989586621679473027 (TyFun a6989586621679473027 a6989586621679473027 -> Type) -> Type) (l_a1Zwq :: TyFun [a6989586621679473027] a6989586621679473027)
type Foldl1'Sym2 (t_a1Zwo :: TyFun a6989586621679473027 (TyFun a6989586621679473027 a6989586621679473027 -> Type) -> Type) (t_a1Zwp :: [a6989586621679473027]) = Foldl1' t_a1Zwo t_a1Zwp
data FoldrSym0 (l_a1QbG :: TyFun (TyFun a6989586621679448472 (TyFun b6989586621679448473 b6989586621679448473 -> Type) -> Type) (TyFun b6989586621679448473 (TyFun [a6989586621679448472] b6989586621679448473 -> Type) -> Type))
data FoldrSym1 (l_a1QbE :: TyFun a6989586621679448472 (TyFun b6989586621679448473 b6989586621679448473 -> Type) -> Type) (l_a1QbD :: TyFun b6989586621679448473 (TyFun [a6989586621679448472] b6989586621679448473 -> Type))
data FoldrSym2 (l_a1QbA :: TyFun a6989586621679448472 (TyFun b6989586621679448473 b6989586621679448473 -> Type) -> Type) (l_a1QbB :: b6989586621679448473) (l_a1Qbz :: TyFun [a6989586621679448472] b6989586621679448473)
type FoldrSym3 (t_a1Qbw :: TyFun a6989586621679448472 (TyFun b6989586621679448473 b6989586621679448473 -> Type) -> Type) (t_a1Qbx :: b6989586621679448473) (t_a1Qby :: [a6989586621679448472]) = Foldr t_a1Qbw t_a1Qbx t_a1Qby
data Foldr1Sym0 (l_a1Zre :: TyFun (TyFun a6989586621679473026 (TyFun a6989586621679473026 a6989586621679473026 -> Type) -> Type) (TyFun [a6989586621679473026] a6989586621679473026 -> Type))
data Foldr1Sym1 (l_a1Zrc :: TyFun a6989586621679473026 (TyFun a6989586621679473026 a6989586621679473026 -> Type) -> Type) (l_a1Zrb :: TyFun [a6989586621679473026] a6989586621679473026)
type Foldr1Sym2 (t_a1Zr9 :: TyFun a6989586621679473026 (TyFun a6989586621679473026 a6989586621679473026 -> Type) -> Type) (t_a1Zra :: [a6989586621679473026]) = Foldr1 t_a1Zr9 t_a1Zra
data ConcatSym0 (l_a1Zr5 :: TyFun [[a6989586621679473025]] [a6989586621679473025])
type ConcatSym1 (t_a1Zr4 :: [[a6989586621679473025]]) = Concat t_a1Zr4
data ConcatMapSym0 (l_a1ZqU :: TyFun (TyFun a6989586621679473023 [b6989586621679473024] -> Type) (TyFun [a6989586621679473023] [b6989586621679473024] -> Type))
data ConcatMapSym1 (l_a1ZqS :: TyFun a6989586621679473023 [b6989586621679473024] -> Type) (l_a1ZqR :: TyFun [a6989586621679473023] [b6989586621679473024])
type ConcatMapSym2 (t_a1ZqP :: TyFun a6989586621679473023 [b6989586621679473024] -> Type) (t_a1ZqQ :: [a6989586621679473023]) = ConcatMap t_a1ZqP t_a1ZqQ
data AndSym0 (l_a1ZqK :: TyFun [Bool] Bool)
type AndSym1 (t_a1ZqJ :: [Bool]) = And t_a1ZqJ
data OrSym0 (l_a1ZqE :: TyFun [Bool] Bool)
type OrSym1 (t_a1ZqD :: [Bool]) = Or t_a1ZqD
data AnySym0 (l_a1Zoa :: TyFun (TyFun a6989586621679473021 Bool -> Type) (TyFun [a6989586621679473021] Bool -> Type))
data AnySym1 (l_a1Zo8 :: TyFun a6989586621679473021 Bool -> Type) (l_a1Zo7 :: TyFun [a6989586621679473021] Bool)
type AnySym2 (t_a1Zo5 :: TyFun a6989586621679473021 Bool -> Type) (t_a1Zo6 :: [a6989586621679473021]) = Any t_a1Zo5 t_a1Zo6
data AllSym0 (l_a1Zqw :: TyFun (TyFun a6989586621679473022 Bool -> Type) (TyFun [a6989586621679473022] Bool -> Type))
data AllSym1 (l_a1Zqu :: TyFun a6989586621679473022 Bool -> Type) (l_a1Zqt :: TyFun [a6989586621679473022] Bool)
type AllSym2 (t_a1Zqr :: TyFun a6989586621679473022 Bool -> Type) (t_a1Zqs :: [a6989586621679473022]) = All t_a1Zqr t_a1Zqs
data ScanlSym0 (l_a1ZnG :: TyFun (TyFun b6989586621679473019 (TyFun a6989586621679473020 b6989586621679473019 -> Type) -> Type) (TyFun b6989586621679473019 (TyFun [a6989586621679473020] [b6989586621679473019] -> Type) -> Type))
data ScanlSym1 (l_a1ZnE :: TyFun b6989586621679473019 (TyFun a6989586621679473020 b6989586621679473019 -> Type) -> Type) (l_a1ZnD :: TyFun b6989586621679473019 (TyFun [a6989586621679473020] [b6989586621679473019] -> Type))
data ScanlSym2 (l_a1ZnA :: TyFun b6989586621679473019 (TyFun a6989586621679473020 b6989586621679473019 -> Type) -> Type) (l_a1ZnB :: b6989586621679473019) (l_a1Znz :: TyFun [a6989586621679473020] [b6989586621679473019])
type ScanlSym3 (t_a1Znw :: TyFun b6989586621679473019 (TyFun a6989586621679473020 b6989586621679473019 -> Type) -> Type) (t_a1Znx :: b6989586621679473019) (t_a1Zny :: [a6989586621679473020]) = Scanl t_a1Znw t_a1Znx t_a1Zny
data Scanl1Sym0 (l_a1ZnY :: TyFun (TyFun a6989586621679473018 (TyFun a6989586621679473018 a6989586621679473018 -> Type) -> Type) (TyFun [a6989586621679473018] [a6989586621679473018] -> Type))
data Scanl1Sym1 (l_a1ZnW :: TyFun a6989586621679473018 (TyFun a6989586621679473018 a6989586621679473018 -> Type) -> Type) (l_a1ZnV :: TyFun [a6989586621679473018] [a6989586621679473018])
type Scanl1Sym2 (t_a1ZnT :: TyFun a6989586621679473018 (TyFun a6989586621679473018 a6989586621679473018 -> Type) -> Type) (t_a1ZnU :: [a6989586621679473018]) = Scanl1 t_a1ZnT t_a1ZnU
data ScanrSym0 (l_a1ZmY :: TyFun (TyFun a6989586621679473016 (TyFun b6989586621679473017 b6989586621679473017 -> Type) -> Type) (TyFun b6989586621679473017 (TyFun [a6989586621679473016] [b6989586621679473017] -> Type) -> Type))
data ScanrSym1 (l_a1ZmW :: TyFun a6989586621679473016 (TyFun b6989586621679473017 b6989586621679473017 -> Type) -> Type) (l_a1ZmV :: TyFun b6989586621679473017 (TyFun [a6989586621679473016] [b6989586621679473017] -> Type))
data ScanrSym2 (l_a1ZmS :: TyFun a6989586621679473016 (TyFun b6989586621679473017 b6989586621679473017 -> Type) -> Type) (l_a1ZmT :: b6989586621679473017) (l_a1ZmR :: TyFun [a6989586621679473016] [b6989586621679473017])
type ScanrSym3 (t_a1ZmO :: TyFun a6989586621679473016 (TyFun b6989586621679473017 b6989586621679473017 -> Type) -> Type) (t_a1ZmP :: b6989586621679473017) (t_a1ZmQ :: [a6989586621679473016]) = Scanr t_a1ZmO t_a1ZmP t_a1ZmQ
data Scanr1Sym0 (l_a1ZlY :: TyFun (TyFun a6989586621679473015 (TyFun a6989586621679473015 a6989586621679473015 -> Type) -> Type) (TyFun [a6989586621679473015] [a6989586621679473015] -> Type))
data Scanr1Sym1 (l_a1ZlW :: TyFun a6989586621679473015 (TyFun a6989586621679473015 a6989586621679473015 -> Type) -> Type) (l_a1ZlV :: TyFun [a6989586621679473015] [a6989586621679473015])
type Scanr1Sym2 (t_a1ZlT :: TyFun a6989586621679473015 (TyFun a6989586621679473015 a6989586621679473015 -> Type) -> Type) (t_a1ZlU :: [a6989586621679473015]) = Scanr1 t_a1ZlT t_a1ZlU
data MapAccumLSym0 (l_a1Zjw :: TyFun (TyFun acc6989586621679473012 (TyFun x6989586621679473013 (acc6989586621679473012, y6989586621679473014) -> Type) -> Type) (TyFun acc6989586621679473012 (TyFun [x6989586621679473013] (acc6989586621679473012, [y6989586621679473014]) -> Type) -> Type))
data MapAccumLSym1 (l_a1Zju :: TyFun acc6989586621679473012 (TyFun x6989586621679473013 (acc6989586621679473012, y6989586621679473014) -> Type) -> Type) (l_a1Zjt :: TyFun acc6989586621679473012 (TyFun [x6989586621679473013] (acc6989586621679473012, [y6989586621679473014]) -> Type))
data MapAccumLSym2 (l_a1Zjq :: TyFun acc6989586621679473012 (TyFun x6989586621679473013 (acc6989586621679473012, y6989586621679473014) -> Type) -> Type) (l_a1Zjr :: acc6989586621679473012) (l_a1Zjp :: TyFun [x6989586621679473013] (acc6989586621679473012, [y6989586621679473014]))
type MapAccumLSym3 (t_a1Zjm :: TyFun acc6989586621679473012 (TyFun x6989586621679473013 (acc6989586621679473012, y6989586621679473014) -> Type) -> Type) (t_a1Zjn :: acc6989586621679473012) (t_a1Zjo :: [x6989586621679473013]) = MapAccumL t_a1Zjm t_a1Zjn t_a1Zjo
data MapAccumRSym0 (l_a1ZgZ :: TyFun (TyFun acc6989586621679473009 (TyFun x6989586621679473010 (acc6989586621679473009, y6989586621679473011) -> Type) -> Type) (TyFun acc6989586621679473009 (TyFun [x6989586621679473010] (acc6989586621679473009, [y6989586621679473011]) -> Type) -> Type))
data MapAccumRSym1 (l_a1ZgX :: TyFun acc6989586621679473009 (TyFun x6989586621679473010 (acc6989586621679473009, y6989586621679473011) -> Type) -> Type) (l_a1ZgW :: TyFun acc6989586621679473009 (TyFun [x6989586621679473010] (acc6989586621679473009, [y6989586621679473011]) -> Type))
data MapAccumRSym2 (l_a1ZgT :: TyFun acc6989586621679473009 (TyFun x6989586621679473010 (acc6989586621679473009, y6989586621679473011) -> Type) -> Type) (l_a1ZgU :: acc6989586621679473009) (l_a1ZgS :: TyFun [x6989586621679473010] (acc6989586621679473009, [y6989586621679473011]))
type MapAccumRSym3 (t_a1ZgP :: TyFun acc6989586621679473009 (TyFun x6989586621679473010 (acc6989586621679473009, y6989586621679473011) -> Type) -> Type) (t_a1ZgQ :: acc6989586621679473009) (t_a1ZgR :: [x6989586621679473010]) = MapAccumR t_a1ZgP t_a1ZgQ t_a1ZgR
data UnfoldrSym0 (l_a1Zgw :: TyFun (TyFun b6989586621679473007 (Maybe (a6989586621679473008, b6989586621679473007)) -> Type) (TyFun b6989586621679473007 [a6989586621679473008] -> Type))
data UnfoldrSym1 (l_a1Zgu :: TyFun b6989586621679473007 (Maybe (a6989586621679473008, b6989586621679473007)) -> Type) (l_a1Zgt :: TyFun b6989586621679473007 [a6989586621679473008])
type UnfoldrSym2 (t_a1Zgr :: TyFun b6989586621679473007 (Maybe (a6989586621679473008, b6989586621679473007)) -> Type) (t_a1Zgs :: b6989586621679473007) = Unfoldr t_a1Zgr t_a1Zgs
data InitsSym0 (l_a1Zgi :: TyFun [a6989586621679473006] [[a6989586621679473006]])
type InitsSym1 (t_a1Zgh :: [a6989586621679473006]) = Inits t_a1Zgh
data TailsSym0 (l_a1Zg9 :: TyFun [a6989586621679473005] [[a6989586621679473005]])
type TailsSym1 (t_a1Zg8 :: [a6989586621679473005]) = Tails t_a1Zg8
data IsPrefixOfSym0 (l_a1Zg0 :: TyFun [a6989586621679473004] (TyFun [a6989586621679473004] Bool -> Type))
data IsPrefixOfSym1 (l_a1ZfY :: [a6989586621679473004]) (l_a1ZfX :: TyFun [a6989586621679473004] Bool)
type IsPrefixOfSym2 (t_a1ZfV :: [a6989586621679473004]) (t_a1ZfW :: [a6989586621679473004]) = IsPrefixOf t_a1ZfV t_a1ZfW
data IsSuffixOfSym0 (l_a1ZDV :: TyFun [a6989586621679473003] (TyFun [a6989586621679473003] Bool -> Type))
data IsSuffixOfSym1 (l_a1ZDT :: [a6989586621679473003]) (l_a1ZDS :: TyFun [a6989586621679473003] Bool)
type IsSuffixOfSym2 (t_a1ZDQ :: [a6989586621679473003]) (t_a1ZDR :: [a6989586621679473003]) = IsSuffixOf t_a1ZDQ t_a1ZDR
data IsInfixOfSym0 (l_a1Zom :: TyFun [a6989586621679473002] (TyFun [a6989586621679473002] Bool -> Type))
data IsInfixOfSym1 (l_a1Zok :: [a6989586621679473002]) (l_a1Zoj :: TyFun [a6989586621679473002] Bool)
type IsInfixOfSym2 (t_a1Zoh :: [a6989586621679473002]) (t_a1Zoi :: [a6989586621679473002]) = IsInfixOf t_a1Zoh t_a1Zoi
data ElemSym0 (l_a1Zf5 :: TyFun a6989586621679473001 (TyFun [a6989586621679473001] Bool -> Type))
data ElemSym1 (l_a1Zf3 :: a6989586621679473001) (l_a1Zf2 :: TyFun [a6989586621679473001] Bool)
type ElemSym2 (t_a1Zf0 :: a6989586621679473001) (t_a1Zf1 :: [a6989586621679473001]) = Elem t_a1Zf0 t_a1Zf1
data NotElemSym0 (l_a1ZeT :: TyFun a6989586621679473000 (TyFun [a6989586621679473000] Bool -> Type))
data NotElemSym1 (l_a1ZeR :: a6989586621679473000) (l_a1ZeQ :: TyFun [a6989586621679473000] Bool)
type NotElemSym2 (t_a1ZeO :: a6989586621679473000) (t_a1ZeP :: [a6989586621679473000]) = NotElem t_a1ZeO t_a1ZeP
data ZipSym0 (l_a1Zdb :: TyFun [a6989586621679472998] (TyFun [b6989586621679472999] [(a6989586621679472998, b6989586621679472999)] -> Type))
data ZipSym1 (l_a1Zd9 :: [a6989586621679472998]) (l_a1Zd8 :: TyFun [b6989586621679472999] [(a6989586621679472998, b6989586621679472999)])
type ZipSym2 (t_a1Zd6 :: [a6989586621679472998]) (t_a1Zd7 :: [b6989586621679472999]) = Zip t_a1Zd6 t_a1Zd7
data Zip3Sym0 (l_a1ZcV :: TyFun [a6989586621679472995] (TyFun [b6989586621679472996] (TyFun [c6989586621679472997] [(a6989586621679472995, b6989586621679472996, c6989586621679472997)] -> Type) -> Type))
data Zip3Sym1 (l_a1ZcT :: [a6989586621679472995]) (l_a1ZcS :: TyFun [b6989586621679472996] (TyFun [c6989586621679472997] [(a6989586621679472995, b6989586621679472996, c6989586621679472997)] -> Type))
data Zip3Sym2 (l_a1ZcP :: [a6989586621679472995]) (l_a1ZcQ :: [b6989586621679472996]) (l_a1ZcO :: TyFun [c6989586621679472997] [(a6989586621679472995, b6989586621679472996, c6989586621679472997)])
type Zip3Sym3 (t_a1ZcL :: [a6989586621679472995]) (t_a1ZcM :: [b6989586621679472996]) (t_a1ZcN :: [c6989586621679472997]) = Zip3 t_a1ZcL t_a1ZcM t_a1ZcN
data ZipWithSym0 (l_a1ZcB :: TyFun (TyFun a6989586621679472992 (TyFun b6989586621679472993 c6989586621679472994 -> Type) -> Type) (TyFun [a6989586621679472992] (TyFun [b6989586621679472993] [c6989586621679472994] -> Type) -> Type))
data ZipWithSym1 (l_a1Zcz :: TyFun a6989586621679472992 (TyFun b6989586621679472993 c6989586621679472994 -> Type) -> Type) (l_a1Zcy :: TyFun [a6989586621679472992] (TyFun [b6989586621679472993] [c6989586621679472994] -> Type))
data ZipWithSym2 (l_a1Zcv :: TyFun a6989586621679472992 (TyFun b6989586621679472993 c6989586621679472994 -> Type) -> Type) (l_a1Zcw :: [a6989586621679472992]) (l_a1Zcu :: TyFun [b6989586621679472993] [c6989586621679472994])
type ZipWithSym3 (t_a1Zcr :: TyFun a6989586621679472992 (TyFun b6989586621679472993 c6989586621679472994 -> Type) -> Type) (t_a1Zcs :: [a6989586621679472992]) (t_a1Zct :: [b6989586621679472993]) = ZipWith t_a1Zcr t_a1Zcs t_a1Zct
data ZipWith3Sym0 (l_a1Zce :: TyFun (TyFun a6989586621679472988 (TyFun b6989586621679472989 (TyFun c6989586621679472990 d6989586621679472991 -> Type) -> Type) -> Type) (TyFun [a6989586621679472988] (TyFun [b6989586621679472989] (TyFun [c6989586621679472990] [d6989586621679472991] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1Zcc :: TyFun a6989586621679472988 (TyFun b6989586621679472989 (TyFun c6989586621679472990 d6989586621679472991 -> Type) -> Type) -> Type) (l_a1Zcb :: TyFun [a6989586621679472988] (TyFun [b6989586621679472989] (TyFun [c6989586621679472990] [d6989586621679472991] -> Type) -> Type))
data ZipWith3Sym2 (l_a1Zc8 :: TyFun a6989586621679472988 (TyFun b6989586621679472989 (TyFun c6989586621679472990 d6989586621679472991 -> Type) -> Type) -> Type) (l_a1Zc9 :: [a6989586621679472988]) (l_a1Zc7 :: TyFun [b6989586621679472989] (TyFun [c6989586621679472990] [d6989586621679472991] -> Type))
data ZipWith3Sym3 (l_a1Zc3 :: TyFun a6989586621679472988 (TyFun b6989586621679472989 (TyFun c6989586621679472990 d6989586621679472991 -> Type) -> Type) -> Type) (l_a1Zc4 :: [a6989586621679472988]) (l_a1Zc5 :: [b6989586621679472989]) (l_a1Zc2 :: TyFun [c6989586621679472990] [d6989586621679472991])
type ZipWith3Sym4 (t_a1ZbY :: TyFun a6989586621679472988 (TyFun b6989586621679472989 (TyFun c6989586621679472990 d6989586621679472991 -> Type) -> Type) -> Type) (t_a1ZbZ :: [a6989586621679472988]) (t_a1Zc0 :: [b6989586621679472989]) (t_a1Zc1 :: [c6989586621679472990]) = ZipWith3 t_a1ZbY t_a1ZbZ t_a1Zc0 t_a1Zc1
data UnzipSym0 (l_a1Zbv :: TyFun [(a6989586621679472986, b6989586621679472987)] ([a6989586621679472986], [b6989586621679472987]))
type UnzipSym1 (t_a1Zbu :: [(a6989586621679472986, b6989586621679472987)]) = Unzip t_a1Zbu
data Unzip3Sym0 (l_a1ZaZ :: TyFun [(a6989586621679472983, b6989586621679472984, c6989586621679472985)] ([a6989586621679472983], [b6989586621679472984], [c6989586621679472985]))
type Unzip3Sym1 (t_a1ZaY :: [(a6989586621679472983, b6989586621679472984, c6989586621679472985)]) = Unzip3 t_a1ZaY
data Unzip4Sym0 (l_a1Zar :: TyFun [(a6989586621679472979, b6989586621679472980, c6989586621679472981, d6989586621679472982)] ([a6989586621679472979], [b6989586621679472980], [c6989586621679472981], [d6989586621679472982]))
type Unzip4Sym1 (t_a1Zaq :: [(a6989586621679472979, b6989586621679472980, c6989586621679472981, d6989586621679472982)]) = Unzip4 t_a1Zaq
data Unzip5Sym0 (l_a1Z9R :: TyFun [(a6989586621679472974, b6989586621679472975, c6989586621679472976, d6989586621679472977, e6989586621679472978)] ([a6989586621679472974], [b6989586621679472975], [c6989586621679472976], [d6989586621679472977], [e6989586621679472978]))
type Unzip5Sym1 (t_a1Z9Q :: [(a6989586621679472974, b6989586621679472975, c6989586621679472976, d6989586621679472977, e6989586621679472978)]) = Unzip5 t_a1Z9Q
data Unzip6Sym0 (l_a1Z9f :: TyFun [(a6989586621679472968, b6989586621679472969, c6989586621679472970, d6989586621679472971, e6989586621679472972, f6989586621679472973)] ([a6989586621679472968], [b6989586621679472969], [c6989586621679472970], [d6989586621679472971], [e6989586621679472972], [f6989586621679472973]))
type Unzip6Sym1 (t_a1Z9e :: [(a6989586621679472968, b6989586621679472969, c6989586621679472970, d6989586621679472971, e6989586621679472972, f6989586621679472973)]) = Unzip6 t_a1Z9e
data Unzip7Sym0 (l_a1Z8B :: TyFun [(a6989586621679472961, b6989586621679472962, c6989586621679472963, d6989586621679472964, e6989586621679472965, f6989586621679472966, g6989586621679472967)] ([a6989586621679472961], [b6989586621679472962], [c6989586621679472963], [d6989586621679472964], [e6989586621679472965], [f6989586621679472966], [g6989586621679472967]))
type Unzip7Sym1 (t_a1Z8A :: [(a6989586621679472961, b6989586621679472962, c6989586621679472963, d6989586621679472964, e6989586621679472965, f6989586621679472966, g6989586621679472967)]) = Unzip7 t_a1Z8A
data DeleteSym0 (l_a1Z7N :: TyFun a6989586621679472960 (TyFun [a6989586621679472960] [a6989586621679472960] -> Type))
data DeleteSym1 (l_a1Z7L :: a6989586621679472960) (l_a1Z7K :: TyFun [a6989586621679472960] [a6989586621679472960])
type DeleteSym2 (t_a1Z7I :: a6989586621679472960) (t_a1Z7J :: [a6989586621679472960]) = Delete t_a1Z7I t_a1Z7J
data (\\@#@$) (l_a1Z82 :: TyFun [a6989586621679472959] (TyFun [a6989586621679472959] [a6989586621679472959] -> Type))
data (\\@#@$$) (l_a1Z80 :: [a6989586621679472959]) (l_a1Z7Z :: TyFun [a6989586621679472959] [a6989586621679472959])
type (\\@#@$$$) (t_a1Z7X :: [a6989586621679472959]) (t_a1Z7Y :: [a6989586621679472959]) = (\\) t_a1Z7X t_a1Z7Y
data IntersectSym0 (l_a1Zql :: TyFun [a6989586621679472946] (TyFun [a6989586621679472946] [a6989586621679472946] -> Type))
data IntersectSym1 (l_a1Zqj :: [a6989586621679472946]) (l_a1Zqi :: TyFun [a6989586621679472946] [a6989586621679472946])
type IntersectSym2 (t_a1Zqg :: [a6989586621679472946]) (t_a1Zqh :: [a6989586621679472946]) = Intersect t_a1Zqg t_a1Zqh
data InsertSym0 (l_a1Z5G :: TyFun a6989586621679472933 (TyFun [a6989586621679472933] [a6989586621679472933] -> Type))
data InsertSym1 (l_a1Z5E :: a6989586621679472933) (l_a1Z5D :: TyFun [a6989586621679472933] [a6989586621679472933])
type InsertSym2 (t_a1Z5B :: a6989586621679472933) (t_a1Z5C :: [a6989586621679472933]) = Insert t_a1Z5B t_a1Z5C
data SortSym0 (l_a1Z62 :: TyFun [a6989586621679472932] [a6989586621679472932])
type SortSym1 (t_a1Z61 :: [a6989586621679472932]) = Sort t_a1Z61
data DeleteBySym0 (l_a1Z6g :: TyFun (TyFun a6989586621679472958 (TyFun a6989586621679472958 Bool -> Type) -> Type) (TyFun a6989586621679472958 (TyFun [a6989586621679472958] [a6989586621679472958] -> Type) -> Type))
data DeleteBySym1 (l_a1Z6e :: TyFun a6989586621679472958 (TyFun a6989586621679472958 Bool -> Type) -> Type) (l_a1Z6d :: TyFun a6989586621679472958 (TyFun [a6989586621679472958] [a6989586621679472958] -> Type))
data DeleteBySym2 (l_a1Z6a :: TyFun a6989586621679472958 (TyFun a6989586621679472958 Bool -> Type) -> Type) (l_a1Z6b :: a6989586621679472958) (l_a1Z69 :: TyFun [a6989586621679472958] [a6989586621679472958])
type DeleteBySym3 (t_a1Z66 :: TyFun a6989586621679472958 (TyFun a6989586621679472958 Bool -> Type) -> Type) (t_a1Z67 :: a6989586621679472958) (t_a1Z68 :: [a6989586621679472958]) = DeleteBy t_a1Z66 t_a1Z67 t_a1Z68
data DeleteFirstsBySym0 (l_a1Z6V :: TyFun (TyFun a6989586621679472957 (TyFun a6989586621679472957 Bool -> Type) -> Type) (TyFun [a6989586621679472957] (TyFun [a6989586621679472957] [a6989586621679472957] -> Type) -> Type))
data DeleteFirstsBySym1 (l_a1Z6T :: TyFun a6989586621679472957 (TyFun a6989586621679472957 Bool -> Type) -> Type) (l_a1Z6S :: TyFun [a6989586621679472957] (TyFun [a6989586621679472957] [a6989586621679472957] -> Type))
data DeleteFirstsBySym2 (l_a1Z6P :: TyFun a6989586621679472957 (TyFun a6989586621679472957 Bool -> Type) -> Type) (l_a1Z6Q :: [a6989586621679472957]) (l_a1Z6O :: TyFun [a6989586621679472957] [a6989586621679472957])
type DeleteFirstsBySym3 (t_a1Z6L :: TyFun a6989586621679472957 (TyFun a6989586621679472957 Bool -> Type) -> Type) (t_a1Z6M :: [a6989586621679472957]) (t_a1Z6N :: [a6989586621679472957]) = DeleteFirstsBy t_a1Z6L t_a1Z6M t_a1Z6N
data IntersectBySym0 (l_a1ZoC :: TyFun (TyFun a6989586621679472945 (TyFun a6989586621679472945 Bool -> Type) -> Type) (TyFun [a6989586621679472945] (TyFun [a6989586621679472945] [a6989586621679472945] -> Type) -> Type))
data IntersectBySym1 (l_a1ZoA :: TyFun a6989586621679472945 (TyFun a6989586621679472945 Bool -> Type) -> Type) (l_a1Zoz :: TyFun [a6989586621679472945] (TyFun [a6989586621679472945] [a6989586621679472945] -> Type))
data IntersectBySym2 (l_a1Zow :: TyFun a6989586621679472945 (TyFun a6989586621679472945 Bool -> Type) -> Type) (l_a1Zox :: [a6989586621679472945]) (l_a1Zov :: TyFun [a6989586621679472945] [a6989586621679472945])
data SortBySym0 (l_a1Z5R :: TyFun (TyFun a6989586621679472956 (TyFun a6989586621679472956 Ordering -> Type) -> Type) (TyFun [a6989586621679472956] [a6989586621679472956] -> Type))
data SortBySym1 (l_a1Z5P :: TyFun a6989586621679472956 (TyFun a6989586621679472956 Ordering -> Type) -> Type) (l_a1Z5O :: TyFun [a6989586621679472956] [a6989586621679472956])
type SortBySym2 (t_a1Z5M :: TyFun a6989586621679472956 (TyFun a6989586621679472956 Ordering -> Type) -> Type) (t_a1Z5N :: [a6989586621679472956]) = SortBy t_a1Z5M t_a1Z5N
data InsertBySym0 (l_a1Z4M :: TyFun (TyFun a6989586621679472955 (TyFun a6989586621679472955 Ordering -> Type) -> Type) (TyFun a6989586621679472955 (TyFun [a6989586621679472955] [a6989586621679472955] -> Type) -> Type))
data InsertBySym1 (l_a1Z4K :: TyFun a6989586621679472955 (TyFun a6989586621679472955 Ordering -> Type) -> Type) (l_a1Z4J :: TyFun a6989586621679472955 (TyFun [a6989586621679472955] [a6989586621679472955] -> Type))
data InsertBySym2 (l_a1Z4G :: TyFun a6989586621679472955 (TyFun a6989586621679472955 Ordering -> Type) -> Type) (l_a1Z4H :: a6989586621679472955) (l_a1Z4F :: TyFun [a6989586621679472955] [a6989586621679472955])
type InsertBySym3 (t_a1Z4C :: TyFun a6989586621679472955 (TyFun a6989586621679472955 Ordering -> Type) -> Type) (t_a1Z4D :: a6989586621679472955) (t_a1Z4E :: [a6989586621679472955]) = InsertBy t_a1Z4C t_a1Z4D t_a1Z4E
data MaximumBySym0 (l_a1ZrX :: TyFun (TyFun a6989586621679472954 (TyFun a6989586621679472954 Ordering -> Type) -> Type) (TyFun [a6989586621679472954] a6989586621679472954 -> Type))
data MaximumBySym1 (l_a1ZrV :: TyFun a6989586621679472954 (TyFun a6989586621679472954 Ordering -> Type) -> Type) (l_a1ZrU :: TyFun [a6989586621679472954] a6989586621679472954)
type MaximumBySym2 (t_a1ZrS :: TyFun a6989586621679472954 (TyFun a6989586621679472954 Ordering -> Type) -> Type) (t_a1ZrT :: [a6989586621679472954]) = MaximumBy t_a1ZrS t_a1ZrT
data MinimumBySym0 (l_a1Ztj :: TyFun (TyFun a6989586621679472953 (TyFun a6989586621679472953 Ordering -> Type) -> Type) (TyFun [a6989586621679472953] a6989586621679472953 -> Type))
data MinimumBySym1 (l_a1Zth :: TyFun a6989586621679472953 (TyFun a6989586621679472953 Ordering -> Type) -> Type) (l_a1Ztg :: TyFun [a6989586621679472953] a6989586621679472953)
type MinimumBySym2 (t_a1Zte :: TyFun a6989586621679472953 (TyFun a6989586621679472953 Ordering -> Type) -> Type) (t_a1Ztf :: [a6989586621679472953]) = MinimumBy t_a1Zte t_a1Ztf
data LengthSym0 (l_a1YVo :: TyFun [a6989586621679472924] Nat)
type LengthSym1 (t_a1YVn :: [a6989586621679472924]) = Length t_a1YVn
data SumSym0 (l_a1YVR :: TyFun [a6989586621679472926] a6989586621679472926)
type SumSym1 (t_a1YVQ :: [a6989586621679472926]) = Sum t_a1YVQ
data ProductSym0 (l_a1YVt :: TyFun [a6989586621679472925] a6989586621679472925)
type ProductSym1 (t_a1YVs :: [a6989586621679472925]) = Product t_a1YVs
data ReplicateSym0 (l_a1YV6 :: TyFun Nat (TyFun a6989586621679472923 [a6989586621679472923] -> Type))
data ReplicateSym1 (l_a1YV4 :: Nat) (l_a1YV3 :: TyFun a6989586621679472923 [a6989586621679472923])
type ReplicateSym2 (t_a1YV1 :: Nat) (t_a1YV2 :: a6989586621679472923) = Replicate t_a1YV1 t_a1YV2
data TransposeSym0 (l_a1ZFO :: TyFun [[a6989586621679472922]] [[a6989586621679472922]])
type TransposeSym1 (t_a1ZFN :: [[a6989586621679472922]]) = Transpose t_a1ZFN
data TakeSym0 (l_a1YYb :: TyFun Nat (TyFun [a6989586621679472939] [a6989586621679472939] -> Type))
data TakeSym1 (l_a1YY9 :: Nat) (l_a1YY8 :: TyFun [a6989586621679472939] [a6989586621679472939])
type TakeSym2 (t_a1YY6 :: Nat) (t_a1YY7 :: [a6989586621679472939]) = Take t_a1YY6 t_a1YY7
data DropSym0 (l_a1YXJ :: TyFun Nat (TyFun [a6989586621679472938] [a6989586621679472938] -> Type))
data DropSym1 (l_a1YXH :: Nat) (l_a1YXG :: TyFun [a6989586621679472938] [a6989586621679472938])
type DropSym2 (t_a1YXE :: Nat) (t_a1YXF :: [a6989586621679472938]) = Drop t_a1YXE t_a1YXF
data SplitAtSym0 (l_a1YYD :: TyFun Nat (TyFun [a6989586621679472937] ([a6989586621679472937], [a6989586621679472937]) -> Type))
data SplitAtSym1 (l_a1YYB :: Nat) (l_a1YYA :: TyFun [a6989586621679472937] ([a6989586621679472937], [a6989586621679472937]))
type SplitAtSym2 (t_a1YYy :: Nat) (t_a1YYz :: [a6989586621679472937]) = SplitAt t_a1YYy t_a1YYz
data TakeWhileSym0 (l_a1Z3z :: TyFun (TyFun a6989586621679472944 Bool -> Type) (TyFun [a6989586621679472944] [a6989586621679472944] -> Type))
data TakeWhileSym1 (l_a1Z3x :: TyFun a6989586621679472944 Bool -> Type) (l_a1Z3w :: TyFun [a6989586621679472944] [a6989586621679472944])
type TakeWhileSym2 (t_a1Z3u :: TyFun a6989586621679472944 Bool -> Type) (t_a1Z3v :: [a6989586621679472944]) = TakeWhile t_a1Z3u t_a1Z3v
data DropWhileSym0 (l_a1Z2U :: TyFun (TyFun a6989586621679472943 Bool -> Type) (TyFun [a6989586621679472943] [a6989586621679472943] -> Type))
data DropWhileSym1 (l_a1Z2S :: TyFun a6989586621679472943 Bool -> Type) (l_a1Z2R :: TyFun [a6989586621679472943] [a6989586621679472943])
type DropWhileSym2 (t_a1Z2P :: TyFun a6989586621679472943 Bool -> Type) (t_a1Z2Q :: [a6989586621679472943]) = DropWhile t_a1Z2P t_a1Z2Q
data DropWhileEndSym0 (l_a1ZEa :: TyFun (TyFun a6989586621679472942 Bool -> Type) (TyFun [a6989586621679472942] [a6989586621679472942] -> Type))
data DropWhileEndSym1 (l_a1ZE8 :: TyFun a6989586621679472942 Bool -> Type) (l_a1ZE7 :: TyFun [a6989586621679472942] [a6989586621679472942])
type DropWhileEndSym2 (t_a1ZE5 :: TyFun a6989586621679472942 Bool -> Type) (t_a1ZE6 :: [a6989586621679472942]) = DropWhileEnd t_a1ZE5 t_a1ZE6
data SpanSym0 (l_a1Z0j :: TyFun (TyFun a6989586621679472941 Bool -> Type) (TyFun [a6989586621679472941] ([a6989586621679472941], [a6989586621679472941]) -> Type))
data SpanSym1 (l_a1Z0h :: TyFun a6989586621679472941 Bool -> Type) (l_a1Z0g :: TyFun [a6989586621679472941] ([a6989586621679472941], [a6989586621679472941]))
type SpanSym2 (t_a1Z0e :: TyFun a6989586621679472941 Bool -> Type) (t_a1Z0f :: [a6989586621679472941]) = Span t_a1Z0e t_a1Z0f
data BreakSym0 (l_a1YYO :: TyFun (TyFun a6989586621679472940 Bool -> Type) (TyFun [a6989586621679472940] ([a6989586621679472940], [a6989586621679472940]) -> Type))
data BreakSym1 (l_a1YYM :: TyFun a6989586621679472940 Bool -> Type) (l_a1YYL :: TyFun [a6989586621679472940] ([a6989586621679472940], [a6989586621679472940]))
type BreakSym2 (t_a1YYJ :: TyFun a6989586621679472940 Bool -> Type) (t_a1YYK :: [a6989586621679472940]) = Break t_a1YYJ t_a1YYK
data StripPrefixSym0 (l_a4dPC :: TyFun [a6989586621680003314] (TyFun [a6989586621680003314] (Maybe [a6989586621680003314]) -> Type))
data StripPrefixSym1 (l_a4dPA :: [a6989586621680003314]) (l_a4dPz :: TyFun [a6989586621680003314] (Maybe [a6989586621680003314]))
type StripPrefixSym2 (t_a4dPx :: [a6989586621680003314]) (t_a4dPy :: [a6989586621680003314]) = StripPrefix t_a4dPx t_a4dPy
data MaximumSym0 (l_a1ZuB :: TyFun [a6989586621679472935] a6989586621679472935)
type MaximumSym1 (t_a1ZuA :: [a6989586621679472935]) = Maximum t_a1ZuA
data MinimumSym0 (l_a1ZuP :: TyFun [a6989586621679472934] a6989586621679472934)
type MinimumSym1 (t_a1ZuO :: [a6989586621679472934]) = Minimum t_a1ZuO
data GroupSym0 (l_a1Z2L :: TyFun [a6989586621679472936] [[a6989586621679472936]])
type GroupSym1 (t_a1Z2K :: [a6989586621679472936]) = Group t_a1Z2K
data GroupBySym0 (l_a1Z1O :: TyFun (TyFun a6989586621679472931 (TyFun a6989586621679472931 Bool -> Type) -> Type) (TyFun [a6989586621679472931] [[a6989586621679472931]] -> Type))
data GroupBySym1 (l_a1Z1M :: TyFun a6989586621679472931 (TyFun a6989586621679472931 Bool -> Type) -> Type) (l_a1Z1L :: TyFun [a6989586621679472931] [[a6989586621679472931]])
type GroupBySym2 (t_a1Z1J :: TyFun a6989586621679472931 (TyFun a6989586621679472931 Bool -> Type) -> Type) (t_a1Z1K :: [a6989586621679472931]) = GroupBy t_a1Z1J t_a1Z1K
data LookupSym0 (l_a1YX9 :: TyFun a6989586621679472929 (TyFun [(a6989586621679472929, b6989586621679472930)] (Maybe b6989586621679472930) -> Type))
data LookupSym1 (l_a1YX7 :: a6989586621679472929) (l_a1YX6 :: TyFun [(a6989586621679472929, b6989586621679472930)] (Maybe b6989586621679472930))
type LookupSym2 (t_a1YX4 :: a6989586621679472929) (t_a1YX5 :: [(a6989586621679472929, b6989586621679472930)]) = Lookup t_a1YX4 t_a1YX5
data FindSym0 (l_a1Z4u :: TyFun (TyFun a6989586621679472951 Bool -> Type) (TyFun [a6989586621679472951] (Maybe a6989586621679472951) -> Type))
data FindSym1 (l_a1Z4s :: TyFun a6989586621679472951 Bool -> Type) (l_a1Z4r :: TyFun [a6989586621679472951] (Maybe a6989586621679472951))
type FindSym2 (t_a1Z4p :: TyFun a6989586621679472951 Bool -> Type) (t_a1Z4q :: [a6989586621679472951]) = Find t_a1Z4p t_a1Z4q
data FilterSym0 (l_a1Z41 :: TyFun (TyFun a6989586621679472952 Bool -> Type) (TyFun [a6989586621679472952] [a6989586621679472952] -> Type))
data FilterSym1 (l_a1Z3Z :: TyFun a6989586621679472952 Bool -> Type) (l_a1Z3Y :: TyFun [a6989586621679472952] [a6989586621679472952])
type FilterSym2 (t_a1Z3W :: TyFun a6989586621679472952 Bool -> Type) (t_a1Z3X :: [a6989586621679472952]) = Filter t_a1Z3W t_a1Z3X
data PartitionSym0 (l_a1YWY :: TyFun (TyFun a6989586621679472928 Bool -> Type) (TyFun [a6989586621679472928] ([a6989586621679472928], [a6989586621679472928]) -> Type))
data PartitionSym1 (l_a1YWW :: TyFun a6989586621679472928 Bool -> Type) (l_a1YWV :: TyFun [a6989586621679472928] ([a6989586621679472928], [a6989586621679472928]))
type PartitionSym2 (t_a1YWT :: TyFun a6989586621679472928 Bool -> Type) (t_a1YWU :: [a6989586621679472928]) = Partition t_a1YWT t_a1YWU
data (!!@#@$) (l_a1YUE :: TyFun [a6989586621679472921] (TyFun Nat a6989586621679472921 -> Type))
data (!!@#@$$) (l_a1YUC :: [a6989586621679472921]) (l_a1YUB :: TyFun Nat a6989586621679472921)
type (!!@#@$$$) (t_a1YUz :: [a6989586621679472921]) (t_a1YUA :: Nat) = (!!) t_a1YUz t_a1YUA
data ElemIndexSym0 (l_a1ZeG :: TyFun a6989586621679472950 (TyFun [a6989586621679472950] (Maybe Nat) -> Type))
data ElemIndexSym1 (l_a1ZeE :: a6989586621679472950) (l_a1ZeD :: TyFun [a6989586621679472950] (Maybe Nat))
type ElemIndexSym2 (t_a1ZeB :: a6989586621679472950) (t_a1ZeC :: [a6989586621679472950]) = ElemIndex t_a1ZeB t_a1ZeC
data ElemIndicesSym0 (l_a1Zeg :: TyFun a6989586621679472949 (TyFun [a6989586621679472949] [Nat] -> Type))
data ElemIndicesSym1 (l_a1Zee :: a6989586621679472949) (l_a1Zed :: TyFun [a6989586621679472949] [Nat])
type ElemIndicesSym2 (t_a1Zeb :: a6989586621679472949) (t_a1Zec :: [a6989586621679472949]) = ElemIndices t_a1Zeb t_a1Zec
data FindIndexSym0 (l_a1Zet :: TyFun (TyFun a6989586621679472948 Bool -> Type) (TyFun [a6989586621679472948] (Maybe Nat) -> Type))
data FindIndexSym1 (l_a1Zer :: TyFun a6989586621679472948 Bool -> Type) (l_a1Zeq :: TyFun [a6989586621679472948] (Maybe Nat))
type FindIndexSym2 (t_a1Zeo :: TyFun a6989586621679472948 Bool -> Type) (t_a1Zep :: [a6989586621679472948]) = FindIndex t_a1Zeo t_a1Zep
data FindIndicesSym0 (l_a1Zdo :: TyFun (TyFun a6989586621679472947 Bool -> Type) (TyFun [a6989586621679472947] [Nat] -> Type))
data FindIndicesSym1 (l_a1Zdm :: TyFun a6989586621679472947 Bool -> Type) (l_a1Zdl :: TyFun [a6989586621679472947] [Nat])
type FindIndicesSym2 (t_a1Zdj :: TyFun a6989586621679472947 Bool -> Type) (t_a1Zdk :: [a6989586621679472947]) = FindIndices t_a1Zdj t_a1Zdk
data Zip4Sym0 (l_a4dPn :: TyFun [a6989586621680003310] (TyFun [b6989586621680003311] (TyFun [c6989586621680003312] (TyFun [d6989586621680003313] [(a6989586621680003310, b6989586621680003311, c6989586621680003312, d6989586621680003313)] -> Type) -> Type) -> Type))
data Zip4Sym1 (l_a4dPl :: [a6989586621680003310]) (l_a4dPk :: TyFun [b6989586621680003311] (TyFun [c6989586621680003312] (TyFun [d6989586621680003313] [(a6989586621680003310, b6989586621680003311, c6989586621680003312, d6989586621680003313)] -> Type) -> Type))
data Zip4Sym2 (l_a4dPh :: [a6989586621680003310]) (l_a4dPi :: [b6989586621680003311]) (l_a4dPg :: TyFun [c6989586621680003312] (TyFun [d6989586621680003313] [(a6989586621680003310, b6989586621680003311, c6989586621680003312, d6989586621680003313)] -> Type))
data Zip4Sym3 (l_a4dPc :: [a6989586621680003310]) (l_a4dPd :: [b6989586621680003311]) (l_a4dPe :: [c6989586621680003312]) (l_a4dPb :: TyFun [d6989586621680003313] [(a6989586621680003310, b6989586621680003311, c6989586621680003312, d6989586621680003313)])
type Zip4Sym4 (t_a4dP7 :: [a6989586621680003310]) (t_a4dP8 :: [b6989586621680003311]) (t_a4dP9 :: [c6989586621680003312]) (t_a4dPa :: [d6989586621680003313]) = Zip4 t_a4dP7 t_a4dP8 t_a4dP9 t_a4dPa
data Zip5Sym0 (l_a4dON :: TyFun [a6989586621680003305] (TyFun [b6989586621680003306] (TyFun [c6989586621680003307] (TyFun [d6989586621680003308] (TyFun [e6989586621680003309] [(a6989586621680003305, b6989586621680003306, c6989586621680003307, d6989586621680003308, e6989586621680003309)] -> Type) -> Type) -> Type) -> Type))
data Zip5Sym1 (l_a4dOL :: [a6989586621680003305]) (l_a4dOK :: TyFun [b6989586621680003306] (TyFun [c6989586621680003307] (TyFun [d6989586621680003308] (TyFun [e6989586621680003309] [(a6989586621680003305, b6989586621680003306, c6989586621680003307, d6989586621680003308, e6989586621680003309)] -> Type) -> Type) -> Type))
data Zip5Sym2 (l_a4dOH :: [a6989586621680003305]) (l_a4dOI :: [b6989586621680003306]) (l_a4dOG :: TyFun [c6989586621680003307] (TyFun [d6989586621680003308] (TyFun [e6989586621680003309] [(a6989586621680003305, b6989586621680003306, c6989586621680003307, d6989586621680003308, e6989586621680003309)] -> Type) -> Type))
data Zip5Sym3 (l_a4dOC :: [a6989586621680003305]) (l_a4dOD :: [b6989586621680003306]) (l_a4dOE :: [c6989586621680003307]) (l_a4dOB :: TyFun [d6989586621680003308] (TyFun [e6989586621680003309] [(a6989586621680003305, b6989586621680003306, c6989586621680003307, d6989586621680003308, e6989586621680003309)] -> Type))
data Zip5Sym4 (l_a4dOw :: [a6989586621680003305]) (l_a4dOx :: [b6989586621680003306]) (l_a4dOy :: [c6989586621680003307]) (l_a4dOz :: [d6989586621680003308]) (l_a4dOv :: TyFun [e6989586621680003309] [(a6989586621680003305, b6989586621680003306, c6989586621680003307, d6989586621680003308, e6989586621680003309)])
type Zip5Sym5 (t_a4dOq :: [a6989586621680003305]) (t_a4dOr :: [b6989586621680003306]) (t_a4dOs :: [c6989586621680003307]) (t_a4dOt :: [d6989586621680003308]) (t_a4dOu :: [e6989586621680003309]) = Zip5 t_a4dOq t_a4dOr t_a4dOs t_a4dOt t_a4dOu
data Zip6Sym0 (l_a4dO2 :: TyFun [a6989586621680003299] (TyFun [b6989586621680003300] (TyFun [c6989586621680003301] (TyFun [d6989586621680003302] (TyFun [e6989586621680003303] (TyFun [f6989586621680003304] [(a6989586621680003299, b6989586621680003300, c6989586621680003301, d6989586621680003302, e6989586621680003303, f6989586621680003304)] -> Type) -> Type) -> Type) -> Type) -> Type))
data Zip6Sym1 (l_a4dO0 :: [a6989586621680003299]) (l_a4dNZ :: TyFun [b6989586621680003300] (TyFun [c6989586621680003301] (TyFun [d6989586621680003302] (TyFun [e6989586621680003303] (TyFun [f6989586621680003304] [(a6989586621680003299, b6989586621680003300, c6989586621680003301, d6989586621680003302, e6989586621680003303, f6989586621680003304)] -> Type) -> Type) -> Type) -> Type))
data Zip6Sym2 (l_a4dNW :: [a6989586621680003299]) (l_a4dNX :: [b6989586621680003300]) (l_a4dNV :: TyFun [c6989586621680003301] (TyFun [d6989586621680003302] (TyFun [e6989586621680003303] (TyFun [f6989586621680003304] [(a6989586621680003299, b6989586621680003300, c6989586621680003301, d6989586621680003302, e6989586621680003303, f6989586621680003304)] -> Type) -> Type) -> Type))
data Zip6Sym3 (l_a4dNR :: [a6989586621680003299]) (l_a4dNS :: [b6989586621680003300]) (l_a4dNT :: [c6989586621680003301]) (l_a4dNQ :: TyFun [d6989586621680003302] (TyFun [e6989586621680003303] (TyFun [f6989586621680003304] [(a6989586621680003299, b6989586621680003300, c6989586621680003301, d6989586621680003302, e6989586621680003303, f6989586621680003304)] -> Type) -> Type))
data Zip6Sym4 (l_a4dNL :: [a6989586621680003299]) (l_a4dNM :: [b6989586621680003300]) (l_a4dNN :: [c6989586621680003301]) (l_a4dNO :: [d6989586621680003302]) (l_a4dNK :: TyFun [e6989586621680003303] (TyFun [f6989586621680003304] [(a6989586621680003299, b6989586621680003300, c6989586621680003301, d6989586621680003302, e6989586621680003303, f6989586621680003304)] -> Type))
data Zip6Sym5 (l_a4dNE :: [a6989586621680003299]) (l_a4dNF :: [b6989586621680003300]) (l_a4dNG :: [c6989586621680003301]) (l_a4dNH :: [d6989586621680003302]) (l_a4dNI :: [e6989586621680003303]) (l_a4dND :: TyFun [f6989586621680003304] [(a6989586621680003299, b6989586621680003300, c6989586621680003301, d6989586621680003302, e6989586621680003303, f6989586621680003304)])
type Zip6Sym6 (t_a4dNx :: [a6989586621680003299]) (t_a4dNy :: [b6989586621680003300]) (t_a4dNz :: [c6989586621680003301]) (t_a4dNA :: [d6989586621680003302]) (t_a4dNB :: [e6989586621680003303]) (t_a4dNC :: [f6989586621680003304]) = Zip6 t_a4dNx t_a4dNy t_a4dNz t_a4dNA t_a4dNB t_a4dNC
data Zip7Sym0 (l_a4dN5 :: TyFun [a6989586621680003292] (TyFun [b6989586621680003293] (TyFun [c6989586621680003294] (TyFun [d6989586621680003295] (TyFun [e6989586621680003296] (TyFun [f6989586621680003297] (TyFun [g6989586621680003298] [(a6989586621680003292, b6989586621680003293, c6989586621680003294, d6989586621680003295, e6989586621680003296, f6989586621680003297, g6989586621680003298)] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data Zip7Sym1 (l_a4dN3 :: [a6989586621680003292]) (l_a4dN2 :: TyFun [b6989586621680003293] (TyFun [c6989586621680003294] (TyFun [d6989586621680003295] (TyFun [e6989586621680003296] (TyFun [f6989586621680003297] (TyFun [g6989586621680003298] [(a6989586621680003292, b6989586621680003293, c6989586621680003294, d6989586621680003295, e6989586621680003296, f6989586621680003297, g6989586621680003298)] -> Type) -> Type) -> Type) -> Type) -> Type))
data Zip7Sym2 (l_a4dMZ :: [a6989586621680003292]) (l_a4dN0 :: [b6989586621680003293]) (l_a4dMY :: TyFun [c6989586621680003294] (TyFun [d6989586621680003295] (TyFun [e6989586621680003296] (TyFun [f6989586621680003297] (TyFun [g6989586621680003298] [(a6989586621680003292, b6989586621680003293, c6989586621680003294, d6989586621680003295, e6989586621680003296, f6989586621680003297, g6989586621680003298)] -> Type) -> Type) -> Type) -> Type))
data Zip7Sym3 (l_a4dMU :: [a6989586621680003292]) (l_a4dMV :: [b6989586621680003293]) (l_a4dMW :: [c6989586621680003294]) (l_a4dMT :: TyFun [d6989586621680003295] (TyFun [e6989586621680003296] (TyFun [f6989586621680003297] (TyFun [g6989586621680003298] [(a6989586621680003292, b6989586621680003293, c6989586621680003294, d6989586621680003295, e6989586621680003296, f6989586621680003297, g6989586621680003298)] -> Type) -> Type) -> Type))
data Zip7Sym4 (l_a4dMO :: [a6989586621680003292]) (l_a4dMP :: [b6989586621680003293]) (l_a4dMQ :: [c6989586621680003294]) (l_a4dMR :: [d6989586621680003295]) (l_a4dMN :: TyFun [e6989586621680003296] (TyFun [f6989586621680003297] (TyFun [g6989586621680003298] [(a6989586621680003292, b6989586621680003293, c6989586621680003294, d6989586621680003295, e6989586621680003296, f6989586621680003297, g6989586621680003298)] -> Type) -> Type))
data Zip7Sym5 (l_a4dMH :: [a6989586621680003292]) (l_a4dMI :: [b6989586621680003293]) (l_a4dMJ :: [c6989586621680003294]) (l_a4dMK :: [d6989586621680003295]) (l_a4dML :: [e6989586621680003296]) (l_a4dMG :: TyFun [f6989586621680003297] (TyFun [g6989586621680003298] [(a6989586621680003292, b6989586621680003293, c6989586621680003294, d6989586621680003295, e6989586621680003296, f6989586621680003297, g6989586621680003298)] -> Type))
data Zip7Sym6 (l_a4dMz :: [a6989586621680003292]) (l_a4dMA :: [b6989586621680003293]) (l_a4dMB :: [c6989586621680003294]) (l_a4dMC :: [d6989586621680003295]) (l_a4dMD :: [e6989586621680003296]) (l_a4dME :: [f6989586621680003297]) (l_a4dMy :: TyFun [g6989586621680003298] [(a6989586621680003292, b6989586621680003293, c6989586621680003294, d6989586621680003295, e6989586621680003296, f6989586621680003297, g6989586621680003298)])
type Zip7Sym7 (t_a4dMr :: [a6989586621680003292]) (t_a4dMs :: [b6989586621680003293]) (t_a4dMt :: [c6989586621680003294]) (t_a4dMu :: [d6989586621680003295]) (t_a4dMv :: [e6989586621680003296]) (t_a4dMw :: [f6989586621680003297]) (t_a4dMx :: [g6989586621680003298]) = Zip7 t_a4dMr t_a4dMs t_a4dMt t_a4dMu t_a4dMv t_a4dMw t_a4dMx
data ZipWith4Sym0 (l_a4dLX :: TyFun (TyFun a6989586621680003287 (TyFun b6989586621680003288 (TyFun c6989586621680003289 (TyFun d6989586621680003290 e6989586621680003291 -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621680003287] (TyFun [b6989586621680003288] (TyFun [c6989586621680003289] (TyFun [d6989586621680003290] [e6989586621680003291] -> Type) -> Type) -> Type) -> Type))
data ZipWith4Sym1 (l_a4dLV :: TyFun a6989586621680003287 (TyFun b6989586621680003288 (TyFun c6989586621680003289 (TyFun d6989586621680003290 e6989586621680003291 -> Type) -> Type) -> Type) -> Type) (l_a4dLU :: TyFun [a6989586621680003287] (TyFun [b6989586621680003288] (TyFun [c6989586621680003289] (TyFun [d6989586621680003290] [e6989586621680003291] -> Type) -> Type) -> Type))
data ZipWith4Sym2 (l_a4dLR :: TyFun a6989586621680003287 (TyFun b6989586621680003288 (TyFun c6989586621680003289 (TyFun d6989586621680003290 e6989586621680003291 -> Type) -> Type) -> Type) -> Type) (l_a4dLS :: [a6989586621680003287]) (l_a4dLQ :: TyFun [b6989586621680003288] (TyFun [c6989586621680003289] (TyFun [d6989586621680003290] [e6989586621680003291] -> Type) -> Type))
data ZipWith4Sym3 (l_a4dLM :: TyFun a6989586621680003287 (TyFun b6989586621680003288 (TyFun c6989586621680003289 (TyFun d6989586621680003290 e6989586621680003291 -> Type) -> Type) -> Type) -> Type) (l_a4dLN :: [a6989586621680003287]) (l_a4dLO :: [b6989586621680003288]) (l_a4dLL :: TyFun [c6989586621680003289] (TyFun [d6989586621680003290] [e6989586621680003291] -> Type))
data ZipWith4Sym4 (l_a4dLG :: TyFun a6989586621680003287 (TyFun b6989586621680003288 (TyFun c6989586621680003289 (TyFun d6989586621680003290 e6989586621680003291 -> Type) -> Type) -> Type) -> Type) (l_a4dLH :: [a6989586621680003287]) (l_a4dLI :: [b6989586621680003288]) (l_a4dLJ :: [c6989586621680003289]) (l_a4dLF :: TyFun [d6989586621680003290] [e6989586621680003291])
type ZipWith4Sym5 (t_a4dLA :: TyFun a6989586621680003287 (TyFun b6989586621680003288 (TyFun c6989586621680003289 (TyFun d6989586621680003290 e6989586621680003291 -> Type) -> Type) -> Type) -> Type) (t_a4dLB :: [a6989586621680003287]) (t_a4dLC :: [b6989586621680003288]) (t_a4dLD :: [c6989586621680003289]) (t_a4dLE :: [d6989586621680003290]) = ZipWith4 t_a4dLA t_a4dLB t_a4dLC t_a4dLD t_a4dLE
data ZipWith5Sym0 (l_a4dLh :: TyFun (TyFun a6989586621680003281 (TyFun b6989586621680003282 (TyFun c6989586621680003283 (TyFun d6989586621680003284 (TyFun e6989586621680003285 f6989586621680003286 -> Type) -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621680003281] (TyFun [b6989586621680003282] (TyFun [c6989586621680003283] (TyFun [d6989586621680003284] (TyFun [e6989586621680003285] [f6989586621680003286] -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith5Sym1 (l_a4dLf :: TyFun a6989586621680003281 (TyFun b6989586621680003282 (TyFun c6989586621680003283 (TyFun d6989586621680003284 (TyFun e6989586621680003285 f6989586621680003286 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a4dLe :: TyFun [a6989586621680003281] (TyFun [b6989586621680003282] (TyFun [c6989586621680003283] (TyFun [d6989586621680003284] (TyFun [e6989586621680003285] [f6989586621680003286] -> Type) -> Type) -> Type) -> Type))
data ZipWith5Sym2 (l_a4dLb :: TyFun a6989586621680003281 (TyFun b6989586621680003282 (TyFun c6989586621680003283 (TyFun d6989586621680003284 (TyFun e6989586621680003285 f6989586621680003286 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a4dLc :: [a6989586621680003281]) (l_a4dLa :: TyFun [b6989586621680003282] (TyFun [c6989586621680003283] (TyFun [d6989586621680003284] (TyFun [e6989586621680003285] [f6989586621680003286] -> Type) -> Type) -> Type))
data ZipWith5Sym3 (l_a4dL6 :: TyFun a6989586621680003281 (TyFun b6989586621680003282 (TyFun c6989586621680003283 (TyFun d6989586621680003284 (TyFun e6989586621680003285 f6989586621680003286 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a4dL7 :: [a6989586621680003281]) (l_a4dL8 :: [b6989586621680003282]) (l_a4dL5 :: TyFun [c6989586621680003283] (TyFun [d6989586621680003284] (TyFun [e6989586621680003285] [f6989586621680003286] -> Type) -> Type))
data ZipWith5Sym4 (l_a4dL0 :: TyFun a6989586621680003281 (TyFun b6989586621680003282 (TyFun c6989586621680003283 (TyFun d6989586621680003284 (TyFun e6989586621680003285 f6989586621680003286 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a4dL1 :: [a6989586621680003281]) (l_a4dL2 :: [b6989586621680003282]) (l_a4dL3 :: [c6989586621680003283]) (l_a4dKZ :: TyFun [d6989586621680003284] (TyFun [e6989586621680003285] [f6989586621680003286] -> Type))
data ZipWith5Sym5 (l_a4dKT :: TyFun a6989586621680003281 (TyFun b6989586621680003282 (TyFun c6989586621680003283 (TyFun d6989586621680003284 (TyFun e6989586621680003285 f6989586621680003286 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a4dKU :: [a6989586621680003281]) (l_a4dKV :: [b6989586621680003282]) (l_a4dKW :: [c6989586621680003283]) (l_a4dKX :: [d6989586621680003284]) (l_a4dKS :: TyFun [e6989586621680003285] [f6989586621680003286])
type ZipWith5Sym6 (t_a4dKM :: TyFun a6989586621680003281 (TyFun b6989586621680003282 (TyFun c6989586621680003283 (TyFun d6989586621680003284 (TyFun e6989586621680003285 f6989586621680003286 -> Type) -> Type) -> Type) -> Type) -> Type) (t_a4dKN :: [a6989586621680003281]) (t_a4dKO :: [b6989586621680003282]) (t_a4dKP :: [c6989586621680003283]) (t_a4dKQ :: [d6989586621680003284]) (t_a4dKR :: [e6989586621680003285]) = ZipWith5 t_a4dKM t_a4dKN t_a4dKO t_a4dKP t_a4dKQ t_a4dKR
data ZipWith6Sym0 (l_a4dKq :: TyFun (TyFun a6989586621680003274 (TyFun b6989586621680003275 (TyFun c6989586621680003276 (TyFun d6989586621680003277 (TyFun e6989586621680003278 (TyFun f6989586621680003279 g6989586621680003280 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621680003274] (TyFun [b6989586621680003275] (TyFun [c6989586621680003276] (TyFun [d6989586621680003277] (TyFun [e6989586621680003278] (TyFun [f6989586621680003279] [g6989586621680003280] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith6Sym1 (l_a4dKo :: TyFun a6989586621680003274 (TyFun b6989586621680003275 (TyFun c6989586621680003276 (TyFun d6989586621680003277 (TyFun e6989586621680003278 (TyFun f6989586621680003279 g6989586621680003280 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a4dKn :: TyFun [a6989586621680003274] (TyFun [b6989586621680003275] (TyFun [c6989586621680003276] (TyFun [d6989586621680003277] (TyFun [e6989586621680003278] (TyFun [f6989586621680003279] [g6989586621680003280] -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith6Sym2 (l_a4dKk :: TyFun a6989586621680003274 (TyFun b6989586621680003275 (TyFun c6989586621680003276 (TyFun d6989586621680003277 (TyFun e6989586621680003278 (TyFun f6989586621680003279 g6989586621680003280 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a4dKl :: [a6989586621680003274]) (l_a4dKj :: TyFun [b6989586621680003275] (TyFun [c6989586621680003276] (TyFun [d6989586621680003277] (TyFun [e6989586621680003278] (TyFun [f6989586621680003279] [g6989586621680003280] -> Type) -> Type) -> Type) -> Type))
data ZipWith6Sym3 (l_a4dKf :: TyFun a6989586621680003274 (TyFun b6989586621680003275 (TyFun c6989586621680003276 (TyFun d6989586621680003277 (TyFun e6989586621680003278 (TyFun f6989586621680003279 g6989586621680003280 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a4dKg :: [a6989586621680003274]) (l_a4dKh :: [b6989586621680003275]) (l_a4dKe :: TyFun [c6989586621680003276] (TyFun [d6989586621680003277] (TyFun [e6989586621680003278] (TyFun [f6989586621680003279] [g6989586621680003280] -> Type) -> Type) -> Type))
data ZipWith6Sym4 (l_a4dK9 :: TyFun a6989586621680003274 (TyFun b6989586621680003275 (TyFun c6989586621680003276 (TyFun d6989586621680003277 (TyFun e6989586621680003278 (TyFun f6989586621680003279 g6989586621680003280 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a4dKa :: [a6989586621680003274]) (l_a4dKb :: [b6989586621680003275]) (l_a4dKc :: [c6989586621680003276]) (l_a4dK8 :: TyFun [d6989586621680003277] (TyFun [e6989586621680003278] (TyFun [f6989586621680003279] [g6989586621680003280] -> Type) -> Type))
data ZipWith6Sym5 (l_a4dK2 :: TyFun a6989586621680003274 (TyFun b6989586621680003275 (TyFun c6989586621680003276 (TyFun d6989586621680003277 (TyFun e6989586621680003278 (TyFun f6989586621680003279 g6989586621680003280 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a4dK3 :: [a6989586621680003274]) (l_a4dK4 :: [b6989586621680003275]) (l_a4dK5 :: [c6989586621680003276]) (l_a4dK6 :: [d6989586621680003277]) (l_a4dK1 :: TyFun [e6989586621680003278] (TyFun [f6989586621680003279] [g6989586621680003280] -> Type))
data ZipWith6Sym6 (l_a4dJU :: TyFun a6989586621680003274 (TyFun b6989586621680003275 (TyFun c6989586621680003276 (TyFun d6989586621680003277 (TyFun e6989586621680003278 (TyFun f6989586621680003279 g6989586621680003280 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a4dJV :: [a6989586621680003274]) (l_a4dJW :: [b6989586621680003275]) (l_a4dJX :: [c6989586621680003276]) (l_a4dJY :: [d6989586621680003277]) (l_a4dJZ :: [e6989586621680003278]) (l_a4dJT :: TyFun [f6989586621680003279] [g6989586621680003280])
type ZipWith6Sym7 (t_a4dJM :: TyFun a6989586621680003274 (TyFun b6989586621680003275 (TyFun c6989586621680003276 (TyFun d6989586621680003277 (TyFun e6989586621680003278 (TyFun f6989586621680003279 g6989586621680003280 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (t_a4dJN :: [a6989586621680003274]) (t_a4dJO :: [b6989586621680003275]) (t_a4dJP :: [c6989586621680003276]) (t_a4dJQ :: [d6989586621680003277]) (t_a4dJR :: [e6989586621680003278]) (t_a4dJS :: [f6989586621680003279]) = ZipWith6 t_a4dJM t_a4dJN t_a4dJO t_a4dJP t_a4dJQ t_a4dJR t_a4dJS
data ZipWith7Sym0 (l_a4dJn :: TyFun (TyFun a6989586621680003266 (TyFun b6989586621680003267 (TyFun c6989586621680003268 (TyFun d6989586621680003269 (TyFun e6989586621680003270 (TyFun f6989586621680003271 (TyFun g6989586621680003272 h6989586621680003273 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621680003266] (TyFun [b6989586621680003267] (TyFun [c6989586621680003268] (TyFun [d6989586621680003269] (TyFun [e6989586621680003270] (TyFun [f6989586621680003271] (TyFun [g6989586621680003272] [h6989586621680003273] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym1 (l_a4dJl :: TyFun a6989586621680003266 (TyFun b6989586621680003267 (TyFun c6989586621680003268 (TyFun d6989586621680003269 (TyFun e6989586621680003270 (TyFun f6989586621680003271 (TyFun g6989586621680003272 h6989586621680003273 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a4dJk :: TyFun [a6989586621680003266] (TyFun [b6989586621680003267] (TyFun [c6989586621680003268] (TyFun [d6989586621680003269] (TyFun [e6989586621680003270] (TyFun [f6989586621680003271] (TyFun [g6989586621680003272] [h6989586621680003273] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym2 (l_a4dJh :: TyFun a6989586621680003266 (TyFun b6989586621680003267 (TyFun c6989586621680003268 (TyFun d6989586621680003269 (TyFun e6989586621680003270 (TyFun f6989586621680003271 (TyFun g6989586621680003272 h6989586621680003273 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a4dJi :: [a6989586621680003266]) (l_a4dJg :: TyFun [b6989586621680003267] (TyFun [c6989586621680003268] (TyFun [d6989586621680003269] (TyFun [e6989586621680003270] (TyFun [f6989586621680003271] (TyFun [g6989586621680003272] [h6989586621680003273] -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym3 (l_a4dJc :: TyFun a6989586621680003266 (TyFun b6989586621680003267 (TyFun c6989586621680003268 (TyFun d6989586621680003269 (TyFun e6989586621680003270 (TyFun f6989586621680003271 (TyFun g6989586621680003272 h6989586621680003273 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a4dJd :: [a6989586621680003266]) (l_a4dJe :: [b6989586621680003267]) (l_a4dJb :: TyFun [c6989586621680003268] (TyFun [d6989586621680003269] (TyFun [e6989586621680003270] (TyFun [f6989586621680003271] (TyFun [g6989586621680003272] [h6989586621680003273] -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym4 (l_a4dJ6 :: TyFun a6989586621680003266 (TyFun b6989586621680003267 (TyFun c6989586621680003268 (TyFun d6989586621680003269 (TyFun e6989586621680003270 (TyFun f6989586621680003271 (TyFun g6989586621680003272 h6989586621680003273 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a4dJ7 :: [a6989586621680003266]) (l_a4dJ8 :: [b6989586621680003267]) (l_a4dJ9 :: [c6989586621680003268]) (l_a4dJ5 :: TyFun [d6989586621680003269] (TyFun [e6989586621680003270] (TyFun [f6989586621680003271] (TyFun [g6989586621680003272] [h6989586621680003273] -> Type) -> Type) -> Type))
data ZipWith7Sym5 (l_a4dIZ :: TyFun a6989586621680003266 (TyFun b6989586621680003267 (TyFun c6989586621680003268 (TyFun d6989586621680003269 (TyFun e6989586621680003270 (TyFun f6989586621680003271 (TyFun g6989586621680003272 h6989586621680003273 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a4dJ0 :: [a6989586621680003266]) (l_a4dJ1 :: [b6989586621680003267]) (l_a4dJ2 :: [c6989586621680003268]) (l_a4dJ3 :: [d6989586621680003269]) (l_a4dIY :: TyFun [e6989586621680003270] (TyFun [f6989586621680003271] (TyFun [g6989586621680003272] [h6989586621680003273] -> Type) -> Type))
data ZipWith7Sym6 (l_a4dIR :: TyFun a6989586621680003266 (TyFun b6989586621680003267 (TyFun c6989586621680003268 (TyFun d6989586621680003269 (TyFun e6989586621680003270 (TyFun f6989586621680003271 (TyFun g6989586621680003272 h6989586621680003273 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a4dIS :: [a6989586621680003266]) (l_a4dIT :: [b6989586621680003267]) (l_a4dIU :: [c6989586621680003268]) (l_a4dIV :: [d6989586621680003269]) (l_a4dIW :: [e6989586621680003270]) (l_a4dIQ :: TyFun [f6989586621680003271] (TyFun [g6989586621680003272] [h6989586621680003273] -> Type))
data ZipWith7Sym7 (l_a4dII :: TyFun a6989586621680003266 (TyFun b6989586621680003267 (TyFun c6989586621680003268 (TyFun d6989586621680003269 (TyFun e6989586621680003270 (TyFun f6989586621680003271 (TyFun g6989586621680003272 h6989586621680003273 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a4dIJ :: [a6989586621680003266]) (l_a4dIK :: [b6989586621680003267]) (l_a4dIL :: [c6989586621680003268]) (l_a4dIM :: [d6989586621680003269]) (l_a4dIN :: [e6989586621680003270]) (l_a4dIO :: [f6989586621680003271]) (l_a4dIH :: TyFun [g6989586621680003272] [h6989586621680003273])
type ZipWith7Sym8 (t_a4dIz :: TyFun a6989586621680003266 (TyFun b6989586621680003267 (TyFun c6989586621680003268 (TyFun d6989586621680003269 (TyFun e6989586621680003270 (TyFun f6989586621680003271 (TyFun g6989586621680003272 h6989586621680003273 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (t_a4dIA :: [a6989586621680003266]) (t_a4dIB :: [b6989586621680003267]) (t_a4dIC :: [c6989586621680003268]) (t_a4dID :: [d6989586621680003269]) (t_a4dIE :: [e6989586621680003270]) (t_a4dIF :: [f6989586621680003271]) (t_a4dIG :: [g6989586621680003272]) = ZipWith7 t_a4dIz t_a4dIA t_a4dIB t_a4dIC t_a4dID t_a4dIE t_a4dIF t_a4dIG
data UnlinesSym0 (l_a1Z8v :: TyFun [Symbol] Symbol)
type UnlinesSym1 (t_a1Z8u :: [Symbol]) = Unlines t_a1Z8u
data UnwordsSym0 (l_a1Z89 :: TyFun [Symbol] Symbol)
type UnwordsSym1 (t_a1Z88 :: [Symbol]) = Unwords t_a1Z88
data NubSym0 (l_a1Zfd :: TyFun [a6989586621679472920] [a6989586621679472920])
type NubSym1 (t_a1Zfc :: [a6989586621679472920]) = Nub t_a1Zfc
data NubBySym0 (l_a1YTC :: TyFun (TyFun a6989586621679472919 (TyFun a6989586621679472919 Bool -> Type) -> Type) (TyFun [a6989586621679472919] [a6989586621679472919] -> Type))
data NubBySym1 (l_a1YTA :: TyFun a6989586621679472919 (TyFun a6989586621679472919 Bool -> Type) -> Type) (l_a1YTz :: TyFun [a6989586621679472919] [a6989586621679472919])
type NubBySym2 (t_a1YTx :: TyFun a6989586621679472919 (TyFun a6989586621679472919 Bool -> Type) -> Type) (t_a1YTy :: [a6989586621679472919]) = NubBy t_a1YTx t_a1YTy
data UnionSym0 (l_a1Z7y :: TyFun [a6989586621679472916] (TyFun [a6989586621679472916] [a6989586621679472916] -> Type))
data UnionSym1 (l_a1Z7w :: [a6989586621679472916]) (l_a1Z7v :: TyFun [a6989586621679472916] [a6989586621679472916])
type UnionSym2 (t_a1Z7t :: [a6989586621679472916]) (t_a1Z7u :: [a6989586621679472916]) = Union t_a1Z7t t_a1Z7u
data UnionBySym0 (l_a1Z7h :: TyFun (TyFun a6989586621679472917 (TyFun a6989586621679472917 Bool -> Type) -> Type) (TyFun [a6989586621679472917] (TyFun [a6989586621679472917] [a6989586621679472917] -> Type) -> Type))
data UnionBySym1 (l_a1Z7f :: TyFun a6989586621679472917 (TyFun a6989586621679472917 Bool -> Type) -> Type) (l_a1Z7e :: TyFun [a6989586621679472917] (TyFun [a6989586621679472917] [a6989586621679472917] -> Type))
data UnionBySym2 (l_a1Z7b :: TyFun a6989586621679472917 (TyFun a6989586621679472917 Bool -> Type) -> Type) (l_a1Z7c :: [a6989586621679472917]) (l_a1Z7a :: TyFun [a6989586621679472917] [a6989586621679472917])
type UnionBySym3 (t_a1Z77 :: TyFun a6989586621679472917 (TyFun a6989586621679472917 Bool -> Type) -> Type) (t_a1Z78 :: [a6989586621679472917]) (t_a1Z79 :: [a6989586621679472917]) = UnionBy t_a1Z77 t_a1Z78 t_a1Z79
data GenericLengthSym0 (l_a1YTa :: TyFun [a6989586621679472915] i6989586621679472914)
type GenericLengthSym1 (t_a1YT9 :: [a6989586621679472915]) = GenericLength t_a1YT9
data GenericTakeSym0 (l_a4dIt :: TyFun i6989586621680003264 (TyFun [a6989586621680003265] [a6989586621680003265] -> Type))
data GenericTakeSym1 (l_a4dIr :: i6989586621680003264) (l_a4dIq :: TyFun [a6989586621680003265] [a6989586621680003265])
type GenericTakeSym2 (t_a4dIo :: i6989586621680003264) (t_a4dIp :: [a6989586621680003265]) = GenericTake t_a4dIo t_a4dIp
data GenericDropSym0 (l_a4dIe :: TyFun i6989586621680003262 (TyFun [a6989586621680003263] [a6989586621680003263] -> Type))
data GenericDropSym1 (l_a4dIc :: i6989586621680003262) (l_a4dIb :: TyFun [a6989586621680003263] [a6989586621680003263])
type GenericDropSym2 (t_a4dI9 :: i6989586621680003262) (t_a4dIa :: [a6989586621680003263]) = GenericDrop t_a4dI9 t_a4dIa
data GenericSplitAtSym0 (l_a4dHZ :: TyFun i6989586621680003260 (TyFun [a6989586621680003261] ([a6989586621680003261], [a6989586621680003261]) -> Type))
data GenericSplitAtSym1 (l_a4dHX :: i6989586621680003260) (l_a4dHW :: TyFun [a6989586621680003261] ([a6989586621680003261], [a6989586621680003261]))
type GenericSplitAtSym2 (t_a4dHU :: i6989586621680003260) (t_a4dHV :: [a6989586621680003261]) = GenericSplitAt t_a4dHU t_a4dHV
data GenericIndexSym0 (l_a4dHK :: TyFun [a6989586621680003259] (TyFun i6989586621680003258 a6989586621680003259 -> Type))
data GenericIndexSym1 (l_a4dHI :: [a6989586621680003259]) (l_a4dHH :: TyFun i6989586621680003258 a6989586621680003259)
type GenericIndexSym2 (t_a4dHF :: [a6989586621680003259]) (t_a4dHG :: i6989586621680003258) = GenericIndex t_a4dHF t_a4dHG
data GenericReplicateSym0 (l_a4dHv :: TyFun i6989586621680003256 (TyFun a6989586621680003257 [a6989586621680003257] -> Type))
data GenericReplicateSym1 (l_a4dHt :: i6989586621680003256) (l_a4dHs :: TyFun a6989586621680003257 [a6989586621680003257])
type GenericReplicateSym2 (t_a4dHq :: i6989586621680003256) (t_a4dHr :: a6989586621680003257) = GenericReplicate t_a4dHq t_a4dHr
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_a1QbG :: TyFun (TyFun a6989586621679448472 (TyFun b6989586621679448473 b6989586621679448473 -> Type) -> Type) (TyFun b6989586621679448473 (TyFun [a6989586621679448472] b6989586621679448473 -> Type) -> Type))
data FoldrSym1 (l_a1QbE :: TyFun a6989586621679448472 (TyFun b6989586621679448473 b6989586621679448473 -> Type) -> Type) (l_a1QbD :: TyFun b6989586621679448473 (TyFun [a6989586621679448472] b6989586621679448473 -> Type))
data FoldrSym2 (l_a1QbA :: TyFun a6989586621679448472 (TyFun b6989586621679448473 b6989586621679448473 -> Type) -> Type) (l_a1QbB :: b6989586621679448473) (l_a1Qbz :: TyFun [a6989586621679448472] b6989586621679448473)
type FoldrSym3 (t_a1Qbw :: TyFun a6989586621679448472 (TyFun b6989586621679448473 b6989586621679448473 -> Type) -> Type) (t_a1Qbx :: b6989586621679448473) (t_a1Qby :: [a6989586621679448472]) = Foldr t_a1Qbw t_a1Qbx t_a1Qby
data MapSym0 (l_a1Qbp :: TyFun (TyFun a6989586621679448470 b6989586621679448471 -> Type) (TyFun [a6989586621679448470] [b6989586621679448471] -> Type))
data MapSym1 (l_a1Qbn :: TyFun a6989586621679448470 b6989586621679448471 -> Type) (l_a1Qbm :: TyFun [a6989586621679448470] [b6989586621679448471])
type MapSym2 (t_a1Qbk :: TyFun a6989586621679448470 b6989586621679448471 -> Type) (t_a1Qbl :: [a6989586621679448470]) = Map t_a1Qbk t_a1Qbl
data (++@#@$) (l_a1Qbc :: TyFun [a6989586621679448469] (TyFun [a6989586621679448469] [a6989586621679448469] -> Type))
data (++@#@$$) (l_a1Qba :: [a6989586621679448469]) (l_a1Qb9 :: TyFun [a6989586621679448469] [a6989586621679448469])
type (++@#@$$$) (t_a1Qb7 :: [a6989586621679448469]) (t_a1Qb8 :: [a6989586621679448469]) = (++) t_a1Qb7 t_a1Qb8
type OtherwiseSym0 = Otherwise
data IdSym0 (l_a1Qb3 :: TyFun a6989586621679448468 a6989586621679448468)
type IdSym1 (t_a1Qb2 :: a6989586621679448468) = Id t_a1Qb2
data ConstSym0 (l_a1QaI :: TyFun a6989586621679448466 (TyFun b6989586621679448467 a6989586621679448466 -> Type))
data ConstSym1 (l_a1QaG :: a6989586621679448466) (l_a1QaF :: TyFun b6989586621679448467 a6989586621679448466)
type ConstSym2 (t_a1QaD :: a6989586621679448466) (t_a1QaE :: b6989586621679448467) = Const t_a1QaD t_a1QaE
data (.@#@$) (l_a1Qa7 :: TyFun (TyFun b6989586621679448463 c6989586621679448464 -> Type) (TyFun (TyFun a6989586621679448465 b6989586621679448463 -> Type) (TyFun a6989586621679448465 c6989586621679448464 -> Type) -> Type))
data (.@#@$$) (l_a1Qa5 :: TyFun b6989586621679448463 c6989586621679448464 -> Type) (l_a1Qa4 :: TyFun (TyFun a6989586621679448465 b6989586621679448463 -> Type) (TyFun a6989586621679448465 c6989586621679448464 -> Type))
data (.@#@$$$) (l_a1Qa1 :: TyFun b6989586621679448463 c6989586621679448464 -> Type) (l_a1Qa2 :: TyFun a6989586621679448465 b6989586621679448463 -> Type) (l_a1Qa0 :: TyFun a6989586621679448465 c6989586621679448464)
type (.@#@$$$$) (t_a1Q9X :: TyFun b6989586621679448463 c6989586621679448464 -> Type) (t_a1Q9Y :: TyFun a6989586621679448465 b6989586621679448463 -> Type) (t_a1Q9Z :: a6989586621679448465) = (:.) t_a1Q9X t_a1Q9Y t_a1Q9Z
data ($@#@$) (l_a1Q9z :: TyFun (TyFun a6989586621679448457 b6989586621679448458 -> Type) (TyFun a6989586621679448457 b6989586621679448458 -> Type))
data ($@#@$$) (l_a1Q9x :: TyFun a6989586621679448457 b6989586621679448458 -> Type) (l_a1Q9w :: TyFun a6989586621679448457 b6989586621679448458)
type ($@#@$$$) (t_a1Q9u :: TyFun a6989586621679448457 b6989586621679448458 -> Type) (t_a1Q9v :: a6989586621679448457) = ($) t_a1Q9u t_a1Q9v
data ($!@#@$) (l_a1Q9g :: TyFun (TyFun a6989586621679448455 b6989586621679448456 -> Type) (TyFun a6989586621679448455 b6989586621679448456 -> Type))
data ($!@#@$$) (l_a1Q9e :: TyFun a6989586621679448455 b6989586621679448456 -> Type) (l_a1Q9d :: TyFun a6989586621679448455 b6989586621679448456)
type ($!@#@$$$) (t_a1Q9b :: TyFun a6989586621679448455 b6989586621679448456 -> Type) (t_a1Q9c :: a6989586621679448455) = ($!) t_a1Q9b t_a1Q9c
data FlipSym0 (l_a1Q9P :: TyFun (TyFun a6989586621679448460 (TyFun b6989586621679448461 c6989586621679448462 -> Type) -> Type) (TyFun b6989586621679448461 (TyFun a6989586621679448460 c6989586621679448462 -> Type) -> Type))
data FlipSym1 (l_a1Q9N :: TyFun a6989586621679448460 (TyFun b6989586621679448461 c6989586621679448462 -> Type) -> Type) (l_a1Q9M :: TyFun b6989586621679448461 (TyFun a6989586621679448460 c6989586621679448462 -> Type))
data FlipSym2 (l_a1Q9J :: TyFun a6989586621679448460 (TyFun b6989586621679448461 c6989586621679448462 -> Type) -> Type) (l_a1Q9K :: b6989586621679448461) (l_a1Q9I :: TyFun a6989586621679448460 c6989586621679448462)
type FlipSym3 (t_a1Q9F :: TyFun a6989586621679448460 (TyFun b6989586621679448461 c6989586621679448462 -> Type) -> Type) (t_a1Q9G :: b6989586621679448461) (t_a1Q9H :: a6989586621679448460) = Flip t_a1Q9F t_a1Q9G t_a1Q9H
data UntilSym0 (l_a4l4D :: TyFun (TyFun a6989586621680044097 Bool -> Type) (TyFun (TyFun a6989586621680044097 a6989586621680044097 -> Type) (TyFun a6989586621680044097 a6989586621680044097 -> Type) -> Type))
data UntilSym1 (l_a4l4B :: TyFun a6989586621680044097 Bool -> Type) (l_a4l4A :: TyFun (TyFun a6989586621680044097 a6989586621680044097 -> Type) (TyFun a6989586621680044097 a6989586621680044097 -> Type))
data UntilSym2 (l_a4l4x :: TyFun a6989586621680044097 Bool -> Type) (l_a4l4y :: TyFun a6989586621680044097 a6989586621680044097 -> Type) (l_a4l4w :: TyFun a6989586621680044097 a6989586621680044097)
type UntilSym3 (t_a4l4t :: TyFun a6989586621680044097 Bool -> Type) (t_a4l4u :: TyFun a6989586621680044097 a6989586621680044097 -> Type) (t_a4l4v :: a6989586621680044097) = Until t_a4l4t t_a4l4u t_a4l4v
data AsTypeOfSym0 (l_a1QaW :: TyFun a6989586621679448459 (TyFun a6989586621679448459 a6989586621679448459 -> Type))
data AsTypeOfSym1 (l_a1QaU :: a6989586621679448459) (l_a1QaT :: TyFun a6989586621679448459 a6989586621679448459)
type AsTypeOfSym2 (t_a1QaR :: a6989586621679448459) (t_a1QaS :: a6989586621679448459) = AsTypeOf t_a1QaR t_a1QaS
data SeqSym0 (l_a1Q96 :: TyFun a6989586621679448453 (TyFun b6989586621679448454 b6989586621679448454 -> Type))
data SeqSym1 (l_a1Q94 :: a6989586621679448453) (l_a1Q93 :: TyFun b6989586621679448454 b6989586621679448454)
type SeqSym2 (t_a1Q91 :: a6989586621679448453) (t_a1Q92 :: b6989586621679448454) = Seq t_a1Q91 t_a1Q92
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.Let6989586621680044125GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.Let6989586621680044125GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.Let6989586621680044125GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.Let6989586621680044125GoSym3
-- | 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_a1Lhm -> (a_a1Lhn -> b_a1Lhm) -> Maybe a_a1Lhn -> b_a1Lhm
either_ :: (a_a47zz -> c_a47zA) -> (b_a47zB -> c_a47zA) -> Either a_a47zz b_a47zB -> c_a47zA
-- | (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_a3MUx :: Type) where {
type family MinBound :: a_a3MUx;
type family MaxBound :: a_a3MUx;
}
type MaxBoundSym0 = MaxBound
type MinBoundSym0 = MinBound
class PEnum (a_a3NX6 :: Type) where {
type family ToEnum (arg_a3O6I :: Nat) :: a_a3NX6;
type family FromEnum (arg_a3O6M :: a_a3NX6) :: Nat;
type family EnumFromTo (arg_a3O6Q :: a_a3NX6) (arg_a3O6R :: a_a3NX6) :: [a_a3NX6];
type family EnumFromThenTo (arg_a3O6Z :: a_a3NX6) (arg_a3O70 :: a_a3NX6) (arg_a3O71 :: a_a3NX6) :: [a_a3NX6];
type Succ a_a3O7w = Apply Succ_6989586621679917443Sym0 a_a3O7w;
type Pred a_a3O7J = Apply Pred_6989586621679917456Sym0 a_a3O7J;
type EnumFromTo a_a3O80 a_a3O81 =
Apply (Apply EnumFromTo_6989586621679917474Sym0 a_a3O80) a_a3O81;
type EnumFromThenTo a_a3O8t a_a3O8u a_a3O8v =
Apply (Apply (Apply EnumFromThenTo_6989586621679917504Sym0 a_a3O8t) a_a3O8u) a_a3O8v;
}
data EnumFromThenToSym0 (l_a3O7c :: TyFun a6989586621679916796 (TyFun a6989586621679916796 (TyFun a6989586621679916796 [a6989586621679916796] -> Type) -> Type))
data EnumFromThenToSym1 (l_a3O7a :: a6989586621679916796) (l_a3O79 :: TyFun a6989586621679916796 (TyFun a6989586621679916796 [a6989586621679916796] -> Type))
data EnumFromThenToSym2 (l_a3O76 :: a6989586621679916796) (l_a3O77 :: a6989586621679916796) (l_a3O75 :: TyFun a6989586621679916796 [a6989586621679916796])
type EnumFromThenToSym3 (t_a3O72 :: a6989586621679916796) (t_a3O73 :: a6989586621679916796) (t_a3O74 :: a6989586621679916796) = EnumFromThenTo t_a3O72 t_a3O73 t_a3O74
data EnumFromToSym0 (l_a3O6X :: TyFun a6989586621679916796 (TyFun a6989586621679916796 [a6989586621679916796] -> Type))
data EnumFromToSym1 (l_a3O6V :: a6989586621679916796) (l_a3O6U :: TyFun a6989586621679916796 [a6989586621679916796])
type EnumFromToSym2 (t_a3O6S :: a6989586621679916796) (t_a3O6T :: a6989586621679916796) = EnumFromTo t_a3O6S t_a3O6T
data FromEnumSym0 (l_a3O6O :: TyFun a6989586621679916796 Nat)
type FromEnumSym1 (t_a3O6N :: a6989586621679916796) = FromEnum t_a3O6N
data ToEnumSym0 (l_a3O6K :: TyFun Nat a6989586621679916796)
type ToEnumSym1 (t_a3O6J :: Nat) = ToEnum t_a3O6J
-- | Exponentiation of type-level naturals.
class PShow (a_a31kk :: Type) where {
type family ShowsPrec (arg_a31QY :: Nat) (arg_a31QZ :: a_a31kk) (arg_a31R0 :: Symbol) :: Symbol;
type family Show_ (arg_a31Rd :: a_a31kk) :: Symbol;
type family ShowList (arg_a31Rh :: [a_a31kk]) (arg_a31Ri :: Symbol) :: Symbol;
type ShowsPrec a_a31RH a_a31RI a_a31RJ =
Apply (Apply (Apply ShowsPrec_6989586621679731952Sym0 a_a31RH) a_a31RI) a_a31RJ;
type Show_ a_a31S3 = Apply Show__6989586621679731972Sym0 a_a31S3;
type ShowList a_a31Sk a_a31Sl =
Apply (Apply ShowList_6989586621679731990Sym0 a_a31Sk) a_a31Sl;
}
-- | 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_a1g29 :: TyFun Bool Bool)
type NotSym1 (t_a1g28 :: Bool) = Not t_a1g28
data (&&@#@$) (l_a1fW3 :: TyFun Bool (TyFun Bool Bool -> Type))
data (&&@#@$$) (l_a1fW1 :: Bool) (l_a1fW0 :: TyFun Bool Bool)
type (&&@#@$$$) (t_a1fVY :: Bool) (t_a1fVZ :: Bool) = (&&) t_a1fVY t_a1fVZ
data (||@#@$) (l_a1fZf :: TyFun Bool (TyFun Bool Bool -> Type))
data (||@#@$$) (l_a1fZd :: Bool) (l_a1fZc :: TyFun Bool Bool)
type (||@#@$$$) (t_a1fZa :: Bool) (t_a1fZb :: Bool) = (||) t_a1fZa t_a1fZb
type OtherwiseSym0 = Otherwise
type NothingSym0 = Nothing
data JustSym0 (l_a13CP :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_a13CO :: a3530822107858468865) = Just t_a13CO
data Maybe_Sym0 (l_a1LhO :: TyFun b6989586621679429864 (TyFun (TyFun a6989586621679429865 b6989586621679429864 -> Type) (TyFun (Maybe a6989586621679429865) b6989586621679429864 -> Type) -> Type))
data Maybe_Sym1 (l_a1LhM :: b6989586621679429864) (l_a1LhL :: TyFun (TyFun a6989586621679429865 b6989586621679429864 -> Type) (TyFun (Maybe a6989586621679429865) b6989586621679429864 -> Type))
data Maybe_Sym2 (l_a1LhI :: b6989586621679429864) (l_a1LhJ :: TyFun a6989586621679429865 b6989586621679429864 -> Type) (l_a1LhH :: TyFun (Maybe a6989586621679429865) b6989586621679429864)
type Maybe_Sym3 (t_a1LhE :: b6989586621679429864) (t_a1LhF :: TyFun a6989586621679429865 b6989586621679429864 -> Type) (t_a1LhG :: Maybe a6989586621679429865) = Maybe_ t_a1LhE t_a1LhF t_a1LhG
data LeftSym0 (l_a13Dr :: TyFun a6989586621679084181 (Either a6989586621679084181 b6989586621679084182))
type LeftSym1 (t_a13Dq :: a6989586621679084181) = Left t_a13Dq
data RightSym0 (l_a13Du :: TyFun b6989586621679084182 (Either a6989586621679084181 b6989586621679084182))
type RightSym1 (t_a13Dt :: b6989586621679084182) = Right t_a13Dt
data Either_Sym0 (l_a47Aj :: TyFun (TyFun a6989586621679992217 c6989586621679992218 -> Type) (TyFun (TyFun b6989586621679992219 c6989586621679992218 -> Type) (TyFun (Either a6989586621679992217 b6989586621679992219) c6989586621679992218 -> Type) -> Type))
data Either_Sym1 (l_a47Ah :: TyFun a6989586621679992217 c6989586621679992218 -> Type) (l_a47Ag :: TyFun (TyFun b6989586621679992219 c6989586621679992218 -> Type) (TyFun (Either a6989586621679992217 b6989586621679992219) c6989586621679992218 -> Type))
data Either_Sym2 (l_a47Ad :: TyFun a6989586621679992217 c6989586621679992218 -> Type) (l_a47Ae :: TyFun b6989586621679992219 c6989586621679992218 -> Type) (l_a47Ac :: TyFun (Either a6989586621679992217 b6989586621679992219) c6989586621679992218)
type Either_Sym3 (t_a47A9 :: TyFun a6989586621679992217 c6989586621679992218 -> Type) (t_a47Aa :: TyFun b6989586621679992219 c6989586621679992218 -> Type) (t_a47Ab :: Either a6989586621679992217 b6989586621679992219) = Either_ t_a47A9 t_a47Aa t_a47Ab
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_a13Ee :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_a13Ec :: a3530822107858468865) (l_a13Eb :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_a13E9 :: a3530822107858468865) (t_a13Ea :: b3530822107858468866) = '(t_a13E9, t_a13Ea)
data Tuple3Sym0 (l_a13EE :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_a13EC :: a3530822107858468865) (l_a13EB :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_a13Ey :: a3530822107858468865) (l_a13Ez :: b3530822107858468866) (l_a13Ex :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_a13Eu :: a3530822107858468865) (t_a13Ev :: b3530822107858468866) (t_a13Ew :: c3530822107858468867) = '(t_a13Eu, t_a13Ev, t_a13Ew)
data Tuple4Sym0 (l_a13Ff :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_a13Fd :: a3530822107858468865) (l_a13Fc :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_a13F9 :: a3530822107858468865) (l_a13Fa :: b3530822107858468866) (l_a13F8 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_a13F4 :: a3530822107858468865) (l_a13F5 :: b3530822107858468866) (l_a13F6 :: c3530822107858468867) (l_a13F3 :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_a13EZ :: a3530822107858468865) (t_a13F0 :: b3530822107858468866) (t_a13F1 :: c3530822107858468867) (t_a13F2 :: d3530822107858468868) = '(t_a13EZ, t_a13F0, t_a13F1, t_a13F2)
data Tuple5Sym0 (l_a13G2 :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_a13G0 :: a3530822107858468865) (l_a13FZ :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_a13FW :: a3530822107858468865) (l_a13FX :: b3530822107858468866) (l_a13FV :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_a13FR :: a3530822107858468865) (l_a13FS :: b3530822107858468866) (l_a13FT :: c3530822107858468867) (l_a13FQ :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_a13FL :: a3530822107858468865) (l_a13FM :: b3530822107858468866) (l_a13FN :: c3530822107858468867) (l_a13FO :: d3530822107858468868) (l_a13FK :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_a13FF :: a3530822107858468865) (t_a13FG :: b3530822107858468866) (t_a13FH :: c3530822107858468867) (t_a13FI :: d3530822107858468868) (t_a13FJ :: e3530822107858468869) = '(t_a13FF, t_a13FG, t_a13FH, t_a13FI, t_a13FJ)
data Tuple6Sym0 (l_a13H2 :: 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_a13H0 :: a3530822107858468865) (l_a13GZ :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_a13GW :: a3530822107858468865) (l_a13GX :: b3530822107858468866) (l_a13GV :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_a13GR :: a3530822107858468865) (l_a13GS :: b3530822107858468866) (l_a13GT :: c3530822107858468867) (l_a13GQ :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_a13GL :: a3530822107858468865) (l_a13GM :: b3530822107858468866) (l_a13GN :: c3530822107858468867) (l_a13GO :: d3530822107858468868) (l_a13GK :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_a13GE :: a3530822107858468865) (l_a13GF :: b3530822107858468866) (l_a13GG :: c3530822107858468867) (l_a13GH :: d3530822107858468868) (l_a13GI :: e3530822107858468869) (l_a13GD :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_a13Gx :: a3530822107858468865) (t_a13Gy :: b3530822107858468866) (t_a13Gz :: c3530822107858468867) (t_a13GA :: d3530822107858468868) (t_a13GB :: e3530822107858468869) (t_a13GC :: f3530822107858468870) = '(t_a13Gx, t_a13Gy, t_a13Gz, t_a13GA, t_a13GB, t_a13GC)
data Tuple7Sym0 (l_a13Ig :: 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_a13Ie :: a3530822107858468865) (l_a13Id :: 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_a13Ia :: a3530822107858468865) (l_a13Ib :: b3530822107858468866) (l_a13I9 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_a13I5 :: a3530822107858468865) (l_a13I6 :: b3530822107858468866) (l_a13I7 :: c3530822107858468867) (l_a13I4 :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_a13HZ :: a3530822107858468865) (l_a13I0 :: b3530822107858468866) (l_a13I1 :: c3530822107858468867) (l_a13I2 :: d3530822107858468868) (l_a13HY :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_a13HS :: a3530822107858468865) (l_a13HT :: b3530822107858468866) (l_a13HU :: c3530822107858468867) (l_a13HV :: d3530822107858468868) (l_a13HW :: e3530822107858468869) (l_a13HR :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_a13HK :: a3530822107858468865) (l_a13HL :: b3530822107858468866) (l_a13HM :: c3530822107858468867) (l_a13HN :: d3530822107858468868) (l_a13HO :: e3530822107858468869) (l_a13HP :: f3530822107858468870) (l_a13HJ :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_a13HC :: a3530822107858468865) (t_a13HD :: b3530822107858468866) (t_a13HE :: c3530822107858468867) (t_a13HF :: d3530822107858468868) (t_a13HG :: e3530822107858468869) (t_a13HH :: f3530822107858468870) (t_a13HI :: g3530822107858468871) = '(t_a13HC, t_a13HD, t_a13HE, t_a13HF, t_a13HG, t_a13HH, t_a13HI)
data FstSym0 (l_a1eIN :: TyFun (a6989586621679304603, b6989586621679304604) a6989586621679304603)
type FstSym1 (t_a1eIM :: (a6989586621679304603, b6989586621679304604)) = Fst t_a1eIM
data SndSym0 (l_a1eII :: TyFun (a6989586621679304601, b6989586621679304602) b6989586621679304602)
type SndSym1 (t_a1eIH :: (a6989586621679304601, b6989586621679304602)) = Snd t_a1eIH
data CurrySym0 (l_a1eIz :: TyFun (TyFun (a6989586621679304598, b6989586621679304599) c6989586621679304600 -> Type) (TyFun a6989586621679304598 (TyFun b6989586621679304599 c6989586621679304600 -> Type) -> Type))
data CurrySym1 (l_a1eIx :: TyFun (a6989586621679304598, b6989586621679304599) c6989586621679304600 -> Type) (l_a1eIw :: TyFun a6989586621679304598 (TyFun b6989586621679304599 c6989586621679304600 -> Type))
data CurrySym2 (l_a1eIt :: TyFun (a6989586621679304598, b6989586621679304599) c6989586621679304600 -> Type) (l_a1eIu :: a6989586621679304598) (l_a1eIs :: TyFun b6989586621679304599 c6989586621679304600)
type CurrySym3 (t_a1eIp :: TyFun (a6989586621679304598, b6989586621679304599) c6989586621679304600 -> Type) (t_a1eIq :: a6989586621679304598) (t_a1eIr :: b6989586621679304599) = Curry t_a1eIp t_a1eIq t_a1eIr
data UncurrySym0 (l_a1eIW :: TyFun (TyFun a6989586621679304595 (TyFun b6989586621679304596 c6989586621679304597 -> Type) -> Type) (TyFun (a6989586621679304595, b6989586621679304596) c6989586621679304597 -> Type))
data UncurrySym1 (l_a1eIU :: TyFun a6989586621679304595 (TyFun b6989586621679304596 c6989586621679304597 -> Type) -> Type) (l_a1eIT :: TyFun (a6989586621679304595, b6989586621679304596) c6989586621679304597)
type UncurrySym2 (t_a1eIR :: TyFun a6989586621679304595 (TyFun b6989586621679304596 c6989586621679304597 -> Type) -> Type) (t_a1eIS :: (a6989586621679304595, b6989586621679304596)) = Uncurry t_a1eIR t_a1eIS
data ErrorSym0 (l_a1Ezp :: TyFun k06989586621679403140 k6989586621679403141)
type ErrorSym1 (t_a1Ezo :: k06989586621679403140) = Error t_a1Ezo
type UndefinedSym0 = Undefined
data (^@#@$) (l_a1EE3 :: TyFun Nat (TyFun Nat Nat -> Type))
data (^@#@$$) (l_a1EE1 :: Nat) (l_a1EE0 :: TyFun Nat Nat)
type (^@#@$$$) (t_a1EDY :: Nat) (t_a1EDZ :: Nat) = (^) t_a1EDY t_a1EDZ
data ShowsPrecSym0 (l_a31Rb :: TyFun Nat (TyFun a6989586621679729880 (TyFun Symbol Symbol -> Type) -> Type))
data ShowsPrecSym1 (l_a31R9 :: Nat) (l_a31R8 :: TyFun a6989586621679729880 (TyFun Symbol Symbol -> Type))
data ShowsPrecSym2 (l_a31R5 :: Nat) (l_a31R6 :: a6989586621679729880) (l_a31R4 :: TyFun Symbol Symbol)
type ShowsPrecSym3 (t_a31R1 :: Nat) (t_a31R2 :: a6989586621679729880) (t_a31R3 :: Symbol) = ShowsPrec t_a31R1 t_a31R2 t_a31R3
data Show_Sym0 (l_a31Rf :: TyFun a6989586621679729880 Symbol)
type Show_Sym1 (t_a31Re :: a6989586621679729880) = Show_ t_a31Re
data ShowListSym0 (l_a31Ro :: TyFun [a6989586621679729880] (TyFun Symbol Symbol -> Type))
data ShowListSym1 (l_a31Rm :: [a6989586621679729880]) (l_a31Rl :: TyFun Symbol Symbol)
type ShowListSym2 (t_a31Rj :: [a6989586621679729880]) (t_a31Rk :: Symbol) = ShowList t_a31Rj t_a31Rk
data (<>@#@$) l_a1EHW
data (<>@#@$$) (l_a1EHU :: Symbol) l_a1EHT
type (<>@#@$$$) (t_a1EHR :: Symbol) (t_a1EHS :: Symbol) = (<>) t_a1EHR t_a1EHS
data ShowsSym0 (l_a31QQ :: TyFun a6989586621679729865 (TyFun Symbol Symbol -> Type))
data ShowsSym1 (l_a31QO :: a6989586621679729865) (l_a31QN :: TyFun Symbol Symbol)
type ShowsSym2 (t_a31QL :: a6989586621679729865) (t_a31QM :: Symbol) = Shows t_a31QL t_a31QM
data ShowCharSym0 (l_a31OU :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowCharSym1 (l_a31OS :: Symbol) (l_a31OR :: TyFun Symbol Symbol)
type ShowCharSym2 (t_a31OP :: Symbol) (t_a31OQ :: Symbol) = ShowChar t_a31OP t_a31OQ
data ShowStringSym0 (l_a31Oy :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowStringSym1 (l_a31Ow :: Symbol) (l_a31Ov :: TyFun Symbol Symbol)
type ShowStringSym2 (t_a31Ot :: Symbol) (t_a31Ou :: Symbol) = ShowString t_a31Ot t_a31Ou
data ShowParenSym0 (l_a31Pa :: TyFun Bool (TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type) -> Type))
data ShowParenSym1 (l_a31P8 :: Bool) (l_a31P7 :: TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type))
data ShowParenSym2 (l_a31P4 :: Bool) (l_a31P5 :: TyFun Symbol Symbol -> Type) (l_a31P3 :: TyFun Symbol Symbol)
data IdSym0 (l_a1Qb3 :: TyFun a6989586621679448468 a6989586621679448468)
type IdSym1 (t_a1Qb2 :: a6989586621679448468) = Id t_a1Qb2
data ConstSym0 (l_a1QaI :: TyFun a6989586621679448466 (TyFun b6989586621679448467 a6989586621679448466 -> Type))
data ConstSym1 (l_a1QaG :: a6989586621679448466) (l_a1QaF :: TyFun b6989586621679448467 a6989586621679448466)
type ConstSym2 (t_a1QaD :: a6989586621679448466) (t_a1QaE :: b6989586621679448467) = Const t_a1QaD t_a1QaE
data (.@#@$) (l_a1Qa7 :: TyFun (TyFun b6989586621679448463 c6989586621679448464 -> Type) (TyFun (TyFun a6989586621679448465 b6989586621679448463 -> Type) (TyFun a6989586621679448465 c6989586621679448464 -> Type) -> Type))
data (.@#@$$) (l_a1Qa5 :: TyFun b6989586621679448463 c6989586621679448464 -> Type) (l_a1Qa4 :: TyFun (TyFun a6989586621679448465 b6989586621679448463 -> Type) (TyFun a6989586621679448465 c6989586621679448464 -> Type))
data (.@#@$$$) (l_a1Qa1 :: TyFun b6989586621679448463 c6989586621679448464 -> Type) (l_a1Qa2 :: TyFun a6989586621679448465 b6989586621679448463 -> Type) (l_a1Qa0 :: TyFun a6989586621679448465 c6989586621679448464)
data ($@#@$) (l_a1Q9z :: TyFun (TyFun a6989586621679448457 b6989586621679448458 -> Type) (TyFun a6989586621679448457 b6989586621679448458 -> Type))
data ($@#@$$) (l_a1Q9x :: TyFun a6989586621679448457 b6989586621679448458 -> Type) (l_a1Q9w :: TyFun a6989586621679448457 b6989586621679448458)
type ($@#@$$$) (t_a1Q9u :: TyFun a6989586621679448457 b6989586621679448458 -> Type) (t_a1Q9v :: a6989586621679448457) = ($) t_a1Q9u t_a1Q9v
data ($!@#@$) (l_a1Q9g :: TyFun (TyFun a6989586621679448455 b6989586621679448456 -> Type) (TyFun a6989586621679448455 b6989586621679448456 -> Type))
data ($!@#@$$) (l_a1Q9e :: TyFun a6989586621679448455 b6989586621679448456 -> Type) (l_a1Q9d :: TyFun a6989586621679448455 b6989586621679448456)
type ($!@#@$$$) (t_a1Q9b :: TyFun a6989586621679448455 b6989586621679448456 -> Type) (t_a1Q9c :: a6989586621679448455) = ($!) t_a1Q9b t_a1Q9c
data FlipSym0 (l_a1Q9P :: TyFun (TyFun a6989586621679448460 (TyFun b6989586621679448461 c6989586621679448462 -> Type) -> Type) (TyFun b6989586621679448461 (TyFun a6989586621679448460 c6989586621679448462 -> Type) -> Type))
data FlipSym1 (l_a1Q9N :: TyFun a6989586621679448460 (TyFun b6989586621679448461 c6989586621679448462 -> Type) -> Type) (l_a1Q9M :: TyFun b6989586621679448461 (TyFun a6989586621679448460 c6989586621679448462 -> Type))
data FlipSym2 (l_a1Q9J :: TyFun a6989586621679448460 (TyFun b6989586621679448461 c6989586621679448462 -> Type) -> Type) (l_a1Q9K :: b6989586621679448461) (l_a1Q9I :: TyFun a6989586621679448460 c6989586621679448462)
data AsTypeOfSym0 (l_a1QaW :: TyFun a6989586621679448459 (TyFun a6989586621679448459 a6989586621679448459 -> Type))
data AsTypeOfSym1 (l_a1QaU :: a6989586621679448459) (l_a1QaT :: TyFun a6989586621679448459 a6989586621679448459)
type AsTypeOfSym2 (t_a1QaR :: a6989586621679448459) (t_a1QaS :: a6989586621679448459) = AsTypeOf t_a1QaR t_a1QaS
data SeqSym0 (l_a1Q96 :: TyFun a6989586621679448453 (TyFun b6989586621679448454 b6989586621679448454 -> Type))
data SeqSym1 (l_a1Q94 :: a6989586621679448453) (l_a1Q93 :: TyFun b6989586621679448454 b6989586621679448454)
type SeqSym2 (t_a1Q91 :: a6989586621679448453) (t_a1Q92 :: b6989586621679448454) = Seq t_a1Q91 t_a1Q92
data (:@#@$) (l_a13D9 :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:@#@$$) (l_a13D7 :: a3530822107858468865) (l_a13D6 :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:@#@$$$) (t_a13D4 :: a3530822107858468865) (t_a13D5 :: [a3530822107858468865]) = (:) t_a13D4 t_a13D5
type NilSym0 = '[]
data MapSym0 (l_a1Qbp :: TyFun (TyFun a6989586621679448470 b6989586621679448471 -> Type) (TyFun [a6989586621679448470] [b6989586621679448471] -> Type))
data MapSym1 (l_a1Qbn :: TyFun a6989586621679448470 b6989586621679448471 -> Type) (l_a1Qbm :: TyFun [a6989586621679448470] [b6989586621679448471])
type MapSym2 (t_a1Qbk :: TyFun a6989586621679448470 b6989586621679448471 -> Type) (t_a1Qbl :: [a6989586621679448470]) = Map t_a1Qbk t_a1Qbl
data ReverseSym0 (l_a1ZDt :: TyFun [a6989586621679473037] [a6989586621679473037])
type ReverseSym1 (t_a1ZDs :: [a6989586621679473037]) = Reverse t_a1ZDs
data (++@#@$$) (l_a1Qba :: [a6989586621679448469]) (l_a1Qb9 :: TyFun [a6989586621679448469] [a6989586621679448469])
data (++@#@$) (l_a1Qbc :: TyFun [a6989586621679448469] (TyFun [a6989586621679448469] [a6989586621679448469] -> Type))
data HeadSym0 (l_a1ZFJ :: TyFun [a6989586621679473042] a6989586621679473042)
type HeadSym1 (t_a1ZFI :: [a6989586621679473042]) = Head t_a1ZFI
data LastSym0 (l_a1ZFC :: TyFun [a6989586621679473041] a6989586621679473041)
type LastSym1 (t_a1ZFB :: [a6989586621679473041]) = Last t_a1ZFB
data TailSym0 (l_a1ZFx :: TyFun [a6989586621679473040] [a6989586621679473040])
type TailSym1 (t_a1ZFw :: [a6989586621679473040]) = Tail t_a1ZFw
data InitSym0 (l_a1ZF3 :: TyFun [a6989586621679473039] [a6989586621679473039])
type InitSym1 (t_a1ZF2 :: [a6989586621679473039]) = Init t_a1ZF2
data NullSym0 (l_a1ZE2 :: TyFun [a6989586621679473038] Bool)
type NullSym1 (t_a1ZE1 :: [a6989586621679473038]) = Null t_a1ZE1
data FoldlSym0 (l_a16BK :: TyFun (TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (TyFun b6989586621679273480 (TyFun [a6989586621679273479] b6989586621679273480 -> Type) -> Type))
data FoldlSym1 (l_a16BI :: TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (l_a16BH :: TyFun b6989586621679273480 (TyFun [a6989586621679273479] b6989586621679273480 -> Type))
data FoldlSym2 (l_a16BE :: TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (l_a16BF :: b6989586621679273480) (l_a16BD :: TyFun [a6989586621679273479] b6989586621679273480)
type FoldlSym3 (t_a16BA :: TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (t_a16BB :: b6989586621679273480) (t_a16BC :: [a6989586621679273479]) = Foldl t_a16BA t_a16BB t_a16BC
data Foldl1Sym0 (l_a1ZrL :: TyFun (TyFun a6989586621679473028 (TyFun a6989586621679473028 a6989586621679473028 -> Type) -> Type) (TyFun [a6989586621679473028] a6989586621679473028 -> Type))
data Foldl1Sym1 (l_a1ZrJ :: TyFun a6989586621679473028 (TyFun a6989586621679473028 a6989586621679473028 -> Type) -> Type) (l_a1ZrI :: TyFun [a6989586621679473028] a6989586621679473028)
type Foldl1Sym2 (t_a1ZrG :: TyFun a6989586621679473028 (TyFun a6989586621679473028 a6989586621679473028 -> Type) -> Type) (t_a1ZrH :: [a6989586621679473028]) = Foldl1 t_a1ZrG t_a1ZrH
data FoldrSym0 (l_a1QbG :: TyFun (TyFun a6989586621679448472 (TyFun b6989586621679448473 b6989586621679448473 -> Type) -> Type) (TyFun b6989586621679448473 (TyFun [a6989586621679448472] b6989586621679448473 -> Type) -> Type))
data FoldrSym1 (l_a1QbE :: TyFun a6989586621679448472 (TyFun b6989586621679448473 b6989586621679448473 -> Type) -> Type) (l_a1QbD :: TyFun b6989586621679448473 (TyFun [a6989586621679448472] b6989586621679448473 -> Type))
data FoldrSym2 (l_a1QbA :: TyFun a6989586621679448472 (TyFun b6989586621679448473 b6989586621679448473 -> Type) -> Type) (l_a1QbB :: b6989586621679448473) (l_a1Qbz :: TyFun [a6989586621679448472] b6989586621679448473)
type FoldrSym3 (t_a1Qbw :: TyFun a6989586621679448472 (TyFun b6989586621679448473 b6989586621679448473 -> Type) -> Type) (t_a1Qbx :: b6989586621679448473) (t_a1Qby :: [a6989586621679448472]) = Foldr t_a1Qbw t_a1Qbx t_a1Qby
data Foldr1Sym0 (l_a1Zre :: TyFun (TyFun a6989586621679473026 (TyFun a6989586621679473026 a6989586621679473026 -> Type) -> Type) (TyFun [a6989586621679473026] a6989586621679473026 -> Type))
data Foldr1Sym1 (l_a1Zrc :: TyFun a6989586621679473026 (TyFun a6989586621679473026 a6989586621679473026 -> Type) -> Type) (l_a1Zrb :: TyFun [a6989586621679473026] a6989586621679473026)
type Foldr1Sym2 (t_a1Zr9 :: TyFun a6989586621679473026 (TyFun a6989586621679473026 a6989586621679473026 -> Type) -> Type) (t_a1Zra :: [a6989586621679473026]) = Foldr1 t_a1Zr9 t_a1Zra
data ConcatSym0 (l_a1Zr5 :: TyFun [[a6989586621679473025]] [a6989586621679473025])
type ConcatSym1 (t_a1Zr4 :: [[a6989586621679473025]]) = Concat t_a1Zr4
data ConcatMapSym0 (l_a1ZqU :: TyFun (TyFun a6989586621679473023 [b6989586621679473024] -> Type) (TyFun [a6989586621679473023] [b6989586621679473024] -> Type))
data ConcatMapSym1 (l_a1ZqS :: TyFun a6989586621679473023 [b6989586621679473024] -> Type) (l_a1ZqR :: TyFun [a6989586621679473023] [b6989586621679473024])
type ConcatMapSym2 (t_a1ZqP :: TyFun a6989586621679473023 [b6989586621679473024] -> Type) (t_a1ZqQ :: [a6989586621679473023]) = ConcatMap t_a1ZqP t_a1ZqQ
data MaximumBySym0 (l_a1ZrX :: TyFun (TyFun a6989586621679472954 (TyFun a6989586621679472954 Ordering -> Type) -> Type) (TyFun [a6989586621679472954] a6989586621679472954 -> Type))
data MaximumBySym1 (l_a1ZrV :: TyFun a6989586621679472954 (TyFun a6989586621679472954 Ordering -> Type) -> Type) (l_a1ZrU :: TyFun [a6989586621679472954] a6989586621679472954)
type MaximumBySym2 (t_a1ZrS :: TyFun a6989586621679472954 (TyFun a6989586621679472954 Ordering -> Type) -> Type) (t_a1ZrT :: [a6989586621679472954]) = MaximumBy t_a1ZrS t_a1ZrT
data MinimumBySym0 (l_a1Ztj :: TyFun (TyFun a6989586621679472953 (TyFun a6989586621679472953 Ordering -> Type) -> Type) (TyFun [a6989586621679472953] a6989586621679472953 -> Type))
data MinimumBySym1 (l_a1Zth :: TyFun a6989586621679472953 (TyFun a6989586621679472953 Ordering -> Type) -> Type) (l_a1Ztg :: TyFun [a6989586621679472953] a6989586621679472953)
type MinimumBySym2 (t_a1Zte :: TyFun a6989586621679472953 (TyFun a6989586621679472953 Ordering -> Type) -> Type) (t_a1Ztf :: [a6989586621679472953]) = MinimumBy t_a1Zte t_a1Ztf
data AndSym0 (l_a1ZqK :: TyFun [Bool] Bool)
type AndSym1 (t_a1ZqJ :: [Bool]) = And t_a1ZqJ
data OrSym0 (l_a1ZqE :: TyFun [Bool] Bool)
type OrSym1 (t_a1ZqD :: [Bool]) = Or t_a1ZqD
data AnySym0 (l_a1Zoa :: TyFun (TyFun a6989586621679473021 Bool -> Type) (TyFun [a6989586621679473021] Bool -> Type))
data AnySym1 (l_a1Zo8 :: TyFun a6989586621679473021 Bool -> Type) (l_a1Zo7 :: TyFun [a6989586621679473021] Bool)
type AnySym2 (t_a1Zo5 :: TyFun a6989586621679473021 Bool -> Type) (t_a1Zo6 :: [a6989586621679473021]) = Any t_a1Zo5 t_a1Zo6
data AllSym0 (l_a1Zqw :: TyFun (TyFun a6989586621679473022 Bool -> Type) (TyFun [a6989586621679473022] Bool -> Type))
data AllSym1 (l_a1Zqu :: TyFun a6989586621679473022 Bool -> Type) (l_a1Zqt :: TyFun [a6989586621679473022] Bool)
type AllSym2 (t_a1Zqr :: TyFun a6989586621679473022 Bool -> Type) (t_a1Zqs :: [a6989586621679473022]) = All t_a1Zqr t_a1Zqs
data ScanlSym0 (l_a1ZnG :: TyFun (TyFun b6989586621679473019 (TyFun a6989586621679473020 b6989586621679473019 -> Type) -> Type) (TyFun b6989586621679473019 (TyFun [a6989586621679473020] [b6989586621679473019] -> Type) -> Type))
data ScanlSym1 (l_a1ZnE :: TyFun b6989586621679473019 (TyFun a6989586621679473020 b6989586621679473019 -> Type) -> Type) (l_a1ZnD :: TyFun b6989586621679473019 (TyFun [a6989586621679473020] [b6989586621679473019] -> Type))
data ScanlSym2 (l_a1ZnA :: TyFun b6989586621679473019 (TyFun a6989586621679473020 b6989586621679473019 -> Type) -> Type) (l_a1ZnB :: b6989586621679473019) (l_a1Znz :: TyFun [a6989586621679473020] [b6989586621679473019])
type ScanlSym3 (t_a1Znw :: TyFun b6989586621679473019 (TyFun a6989586621679473020 b6989586621679473019 -> Type) -> Type) (t_a1Znx :: b6989586621679473019) (t_a1Zny :: [a6989586621679473020]) = Scanl t_a1Znw t_a1Znx t_a1Zny
data Scanl1Sym0 (l_a1ZnY :: TyFun (TyFun a6989586621679473018 (TyFun a6989586621679473018 a6989586621679473018 -> Type) -> Type) (TyFun [a6989586621679473018] [a6989586621679473018] -> Type))
data Scanl1Sym1 (l_a1ZnW :: TyFun a6989586621679473018 (TyFun a6989586621679473018 a6989586621679473018 -> Type) -> Type) (l_a1ZnV :: TyFun [a6989586621679473018] [a6989586621679473018])
type Scanl1Sym2 (t_a1ZnT :: TyFun a6989586621679473018 (TyFun a6989586621679473018 a6989586621679473018 -> Type) -> Type) (t_a1ZnU :: [a6989586621679473018]) = Scanl1 t_a1ZnT t_a1ZnU
data ScanrSym0 (l_a1ZmY :: TyFun (TyFun a6989586621679473016 (TyFun b6989586621679473017 b6989586621679473017 -> Type) -> Type) (TyFun b6989586621679473017 (TyFun [a6989586621679473016] [b6989586621679473017] -> Type) -> Type))
data ScanrSym1 (l_a1ZmW :: TyFun a6989586621679473016 (TyFun b6989586621679473017 b6989586621679473017 -> Type) -> Type) (l_a1ZmV :: TyFun b6989586621679473017 (TyFun [a6989586621679473016] [b6989586621679473017] -> Type))
data ScanrSym2 (l_a1ZmS :: TyFun a6989586621679473016 (TyFun b6989586621679473017 b6989586621679473017 -> Type) -> Type) (l_a1ZmT :: b6989586621679473017) (l_a1ZmR :: TyFun [a6989586621679473016] [b6989586621679473017])
type ScanrSym3 (t_a1ZmO :: TyFun a6989586621679473016 (TyFun b6989586621679473017 b6989586621679473017 -> Type) -> Type) (t_a1ZmP :: b6989586621679473017) (t_a1ZmQ :: [a6989586621679473016]) = Scanr t_a1ZmO t_a1ZmP t_a1ZmQ
data Scanr1Sym0 (l_a1ZlY :: TyFun (TyFun a6989586621679473015 (TyFun a6989586621679473015 a6989586621679473015 -> Type) -> Type) (TyFun [a6989586621679473015] [a6989586621679473015] -> Type))
data Scanr1Sym1 (l_a1ZlW :: TyFun a6989586621679473015 (TyFun a6989586621679473015 a6989586621679473015 -> Type) -> Type) (l_a1ZlV :: TyFun [a6989586621679473015] [a6989586621679473015])
type Scanr1Sym2 (t_a1ZlT :: TyFun a6989586621679473015 (TyFun a6989586621679473015 a6989586621679473015 -> Type) -> Type) (t_a1ZlU :: [a6989586621679473015]) = Scanr1 t_a1ZlT t_a1ZlU
data ElemSym0 (l_a1Zf5 :: TyFun a6989586621679473001 (TyFun [a6989586621679473001] Bool -> Type))
data ElemSym1 (l_a1Zf3 :: a6989586621679473001) (l_a1Zf2 :: TyFun [a6989586621679473001] Bool)
type ElemSym2 (t_a1Zf0 :: a6989586621679473001) (t_a1Zf1 :: [a6989586621679473001]) = Elem t_a1Zf0 t_a1Zf1
data NotElemSym0 (l_a1ZeT :: TyFun a6989586621679473000 (TyFun [a6989586621679473000] Bool -> Type))
data NotElemSym1 (l_a1ZeR :: a6989586621679473000) (l_a1ZeQ :: TyFun [a6989586621679473000] Bool)
type NotElemSym2 (t_a1ZeO :: a6989586621679473000) (t_a1ZeP :: [a6989586621679473000]) = NotElem t_a1ZeO t_a1ZeP
data ZipSym0 (l_a1Zdb :: TyFun [a6989586621679472998] (TyFun [b6989586621679472999] [(a6989586621679472998, b6989586621679472999)] -> Type))
data ZipSym1 (l_a1Zd9 :: [a6989586621679472998]) (l_a1Zd8 :: TyFun [b6989586621679472999] [(a6989586621679472998, b6989586621679472999)])
type ZipSym2 (t_a1Zd6 :: [a6989586621679472998]) (t_a1Zd7 :: [b6989586621679472999]) = Zip t_a1Zd6 t_a1Zd7
data Zip3Sym0 (l_a1ZcV :: TyFun [a6989586621679472995] (TyFun [b6989586621679472996] (TyFun [c6989586621679472997] [(a6989586621679472995, b6989586621679472996, c6989586621679472997)] -> Type) -> Type))
data Zip3Sym1 (l_a1ZcT :: [a6989586621679472995]) (l_a1ZcS :: TyFun [b6989586621679472996] (TyFun [c6989586621679472997] [(a6989586621679472995, b6989586621679472996, c6989586621679472997)] -> Type))
data Zip3Sym2 (l_a1ZcP :: [a6989586621679472995]) (l_a1ZcQ :: [b6989586621679472996]) (l_a1ZcO :: TyFun [c6989586621679472997] [(a6989586621679472995, b6989586621679472996, c6989586621679472997)])
type Zip3Sym3 (t_a1ZcL :: [a6989586621679472995]) (t_a1ZcM :: [b6989586621679472996]) (t_a1ZcN :: [c6989586621679472997]) = Zip3 t_a1ZcL t_a1ZcM t_a1ZcN
data ZipWithSym0 (l_a1ZcB :: TyFun (TyFun a6989586621679472992 (TyFun b6989586621679472993 c6989586621679472994 -> Type) -> Type) (TyFun [a6989586621679472992] (TyFun [b6989586621679472993] [c6989586621679472994] -> Type) -> Type))
data ZipWithSym1 (l_a1Zcz :: TyFun a6989586621679472992 (TyFun b6989586621679472993 c6989586621679472994 -> Type) -> Type) (l_a1Zcy :: TyFun [a6989586621679472992] (TyFun [b6989586621679472993] [c6989586621679472994] -> Type))
data ZipWithSym2 (l_a1Zcv :: TyFun a6989586621679472992 (TyFun b6989586621679472993 c6989586621679472994 -> Type) -> Type) (l_a1Zcw :: [a6989586621679472992]) (l_a1Zcu :: TyFun [b6989586621679472993] [c6989586621679472994])
type ZipWithSym3 (t_a1Zcr :: TyFun a6989586621679472992 (TyFun b6989586621679472993 c6989586621679472994 -> Type) -> Type) (t_a1Zcs :: [a6989586621679472992]) (t_a1Zct :: [b6989586621679472993]) = ZipWith t_a1Zcr t_a1Zcs t_a1Zct
data ZipWith3Sym0 (l_a1Zce :: TyFun (TyFun a6989586621679472988 (TyFun b6989586621679472989 (TyFun c6989586621679472990 d6989586621679472991 -> Type) -> Type) -> Type) (TyFun [a6989586621679472988] (TyFun [b6989586621679472989] (TyFun [c6989586621679472990] [d6989586621679472991] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1Zcc :: TyFun a6989586621679472988 (TyFun b6989586621679472989 (TyFun c6989586621679472990 d6989586621679472991 -> Type) -> Type) -> Type) (l_a1Zcb :: TyFun [a6989586621679472988] (TyFun [b6989586621679472989] (TyFun [c6989586621679472990] [d6989586621679472991] -> Type) -> Type))
data ZipWith3Sym2 (l_a1Zc8 :: TyFun a6989586621679472988 (TyFun b6989586621679472989 (TyFun c6989586621679472990 d6989586621679472991 -> Type) -> Type) -> Type) (l_a1Zc9 :: [a6989586621679472988]) (l_a1Zc7 :: TyFun [b6989586621679472989] (TyFun [c6989586621679472990] [d6989586621679472991] -> Type))
data ZipWith3Sym3 (l_a1Zc3 :: TyFun a6989586621679472988 (TyFun b6989586621679472989 (TyFun c6989586621679472990 d6989586621679472991 -> Type) -> Type) -> Type) (l_a1Zc4 :: [a6989586621679472988]) (l_a1Zc5 :: [b6989586621679472989]) (l_a1Zc2 :: TyFun [c6989586621679472990] [d6989586621679472991])
data UnzipSym0 (l_a1Zbv :: TyFun [(a6989586621679472986, b6989586621679472987)] ([a6989586621679472986], [b6989586621679472987]))
type UnzipSym1 (t_a1Zbu :: [(a6989586621679472986, b6989586621679472987)]) = Unzip t_a1Zbu
data UnlinesSym0 (l_a1Z8v :: TyFun [Symbol] Symbol)
type UnlinesSym1 (t_a1Z8u :: [Symbol]) = Unlines t_a1Z8u
data UnwordsSym0 (l_a1Z89 :: TyFun [Symbol] Symbol)
type UnwordsSym1 (t_a1Z88 :: [Symbol]) = Unwords t_a1Z88
data UntilSym0 (l_a4l4D :: TyFun (TyFun a6989586621680044097 Bool -> Type) (TyFun (TyFun a6989586621680044097 a6989586621680044097 -> Type) (TyFun a6989586621680044097 a6989586621680044097 -> Type) -> Type))
data UntilSym1 (l_a4l4B :: TyFun a6989586621680044097 Bool -> Type) (l_a4l4A :: TyFun (TyFun a6989586621680044097 a6989586621680044097 -> Type) (TyFun a6989586621680044097 a6989586621680044097 -> Type))
data UntilSym2 (l_a4l4x :: TyFun a6989586621680044097 Bool -> Type) (l_a4l4y :: TyFun a6989586621680044097 a6989586621680044097 -> Type) (l_a4l4w :: TyFun a6989586621680044097 a6989586621680044097)
type UntilSym3 (t_a4l4t :: TyFun a6989586621680044097 Bool -> Type) (t_a4l4u :: TyFun a6989586621680044097 a6989586621680044097 -> Type) (t_a4l4v :: a6989586621680044097) = Until t_a4l4t t_a4l4u t_a4l4v
data LengthSym0 (l_a1YVo :: TyFun [a6989586621679472924] Nat)
type LengthSym1 (t_a1YVn :: [a6989586621679472924]) = Length t_a1YVn
data SumSym0 (l_a1YVR :: TyFun [a6989586621679472926] a6989586621679472926)
type SumSym1 (t_a1YVQ :: [a6989586621679472926]) = Sum t_a1YVQ
data ProductSym0 (l_a1YVt :: TyFun [a6989586621679472925] a6989586621679472925)
type ProductSym1 (t_a1YVs :: [a6989586621679472925]) = Product t_a1YVs
data ReplicateSym0 (l_a1YV6 :: TyFun Nat (TyFun a6989586621679472923 [a6989586621679472923] -> Type))
data ReplicateSym1 (l_a1YV4 :: Nat) (l_a1YV3 :: TyFun a6989586621679472923 [a6989586621679472923])
type ReplicateSym2 (t_a1YV1 :: Nat) (t_a1YV2 :: a6989586621679472923) = Replicate t_a1YV1 t_a1YV2
data TakeSym0 (l_a1YYb :: TyFun Nat (TyFun [a6989586621679472939] [a6989586621679472939] -> Type))
data TakeSym1 (l_a1YY9 :: Nat) (l_a1YY8 :: TyFun [a6989586621679472939] [a6989586621679472939])
type TakeSym2 (t_a1YY6 :: Nat) (t_a1YY7 :: [a6989586621679472939]) = Take t_a1YY6 t_a1YY7
data DropSym0 (l_a1YXJ :: TyFun Nat (TyFun [a6989586621679472938] [a6989586621679472938] -> Type))
data DropSym1 (l_a1YXH :: Nat) (l_a1YXG :: TyFun [a6989586621679472938] [a6989586621679472938])
type DropSym2 (t_a1YXE :: Nat) (t_a1YXF :: [a6989586621679472938]) = Drop t_a1YXE t_a1YXF
data SplitAtSym0 (l_a1YYD :: TyFun Nat (TyFun [a6989586621679472937] ([a6989586621679472937], [a6989586621679472937]) -> Type))
data SplitAtSym1 (l_a1YYB :: Nat) (l_a1YYA :: TyFun [a6989586621679472937] ([a6989586621679472937], [a6989586621679472937]))
type SplitAtSym2 (t_a1YYy :: Nat) (t_a1YYz :: [a6989586621679472937]) = SplitAt t_a1YYy t_a1YYz
data TakeWhileSym0 (l_a1Z3z :: TyFun (TyFun a6989586621679472944 Bool -> Type) (TyFun [a6989586621679472944] [a6989586621679472944] -> Type))
data TakeWhileSym1 (l_a1Z3x :: TyFun a6989586621679472944 Bool -> Type) (l_a1Z3w :: TyFun [a6989586621679472944] [a6989586621679472944])
type TakeWhileSym2 (t_a1Z3u :: TyFun a6989586621679472944 Bool -> Type) (t_a1Z3v :: [a6989586621679472944]) = TakeWhile t_a1Z3u t_a1Z3v
data DropWhileSym0 (l_a1Z2U :: TyFun (TyFun a6989586621679472943 Bool -> Type) (TyFun [a6989586621679472943] [a6989586621679472943] -> Type))
data DropWhileSym1 (l_a1Z2S :: TyFun a6989586621679472943 Bool -> Type) (l_a1Z2R :: TyFun [a6989586621679472943] [a6989586621679472943])
type DropWhileSym2 (t_a1Z2P :: TyFun a6989586621679472943 Bool -> Type) (t_a1Z2Q :: [a6989586621679472943]) = DropWhile t_a1Z2P t_a1Z2Q
data SpanSym0 (l_a1Z0j :: TyFun (TyFun a6989586621679472941 Bool -> Type) (TyFun [a6989586621679472941] ([a6989586621679472941], [a6989586621679472941]) -> Type))
data SpanSym1 (l_a1Z0h :: TyFun a6989586621679472941 Bool -> Type) (l_a1Z0g :: TyFun [a6989586621679472941] ([a6989586621679472941], [a6989586621679472941]))
type SpanSym2 (t_a1Z0e :: TyFun a6989586621679472941 Bool -> Type) (t_a1Z0f :: [a6989586621679472941]) = Span t_a1Z0e t_a1Z0f
data BreakSym0 (l_a1YYO :: TyFun (TyFun a6989586621679472940 Bool -> Type) (TyFun [a6989586621679472940] ([a6989586621679472940], [a6989586621679472940]) -> Type))
data BreakSym1 (l_a1YYM :: TyFun a6989586621679472940 Bool -> Type) (l_a1YYL :: TyFun [a6989586621679472940] ([a6989586621679472940], [a6989586621679472940]))
type BreakSym2 (t_a1YYJ :: TyFun a6989586621679472940 Bool -> Type) (t_a1YYK :: [a6989586621679472940]) = Break t_a1YYJ t_a1YYK
data LookupSym0 (l_a1YX9 :: TyFun a6989586621679472929 (TyFun [(a6989586621679472929, b6989586621679472930)] (Maybe b6989586621679472930) -> Type))
data LookupSym1 (l_a1YX7 :: a6989586621679472929) (l_a1YX6 :: TyFun [(a6989586621679472929, b6989586621679472930)] (Maybe b6989586621679472930))
type LookupSym2 (t_a1YX4 :: a6989586621679472929) (t_a1YX5 :: [(a6989586621679472929, b6989586621679472930)]) = Lookup t_a1YX4 t_a1YX5
data FilterSym0 (l_a1Z41 :: TyFun (TyFun a6989586621679472952 Bool -> Type) (TyFun [a6989586621679472952] [a6989586621679472952] -> Type))
data FilterSym1 (l_a1Z3Z :: TyFun a6989586621679472952 Bool -> Type) (l_a1Z3Y :: TyFun [a6989586621679472952] [a6989586621679472952])
type FilterSym2 (t_a1Z3W :: TyFun a6989586621679472952 Bool -> Type) (t_a1Z3X :: [a6989586621679472952]) = Filter t_a1Z3W t_a1Z3X
data (!!@#@$) (l_a1YUE :: TyFun [a6989586621679472921] (TyFun Nat a6989586621679472921 -> Type))
data (!!@#@$$) (l_a1YUC :: [a6989586621679472921]) (l_a1YUB :: TyFun Nat a6989586621679472921)
type (!!@#@$$$) (t_a1YUz :: [a6989586621679472921]) (t_a1YUA :: Nat) = (!!) t_a1YUz t_a1YUA
-- | 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_ajlP b_ajlQ -> 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_a3MUx
sMinBound :: SBounded a_a3MUx => Sing (MinBoundSym0 :: a_a3MUx)
sMaxBound :: SBounded a_a3MUx => Sing (MaxBoundSym0 :: a_a3MUx)
class PBounded (a_a3MUx :: Type) where {
type family MinBound :: a_a3MUx;
type family MaxBound :: a_a3MUx;
}
type MaxBoundSym0 = MaxBound
type MinBoundSym0 = MinBound
class SEnum a_a3NX6
sToEnum :: forall (t_a3Ob5 :: Nat). SEnum a_a3NX6 => Sing t_a3Ob5 -> Sing (Apply ToEnumSym0 t_a3Ob5 :: a_a3NX6)
sFromEnum :: forall (t_a3Ob6 :: a_a3NX6). SEnum a_a3NX6 => Sing t_a3Ob6 -> Sing (Apply FromEnumSym0 t_a3Ob6 :: Nat)
sEnumFromTo :: forall (t_a3Ob7 :: a_a3NX6) (t_a3Ob8 :: a_a3NX6). SEnum a_a3NX6 => Sing t_a3Ob7 -> Sing t_a3Ob8 -> Sing (Apply (Apply EnumFromToSym0 t_a3Ob7) t_a3Ob8 :: [a_a3NX6])
sEnumFromThenTo :: forall (t_a3Ob9 :: a_a3NX6) (t_a3Oba :: a_a3NX6) (t_a3Obb :: a_a3NX6). SEnum a_a3NX6 => Sing t_a3Ob9 -> Sing t_a3Oba -> Sing t_a3Obb -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3Ob9) t_a3Oba) t_a3Obb :: [a_a3NX6])
sEnumFromTo :: forall (t_a3Ob7 :: a_a3NX6) (t_a3Ob8 :: a_a3NX6). (SEnum a_a3NX6, (Apply (Apply EnumFromToSym0 t_a3Ob7) t_a3Ob8 :: [a_a3NX6]) ~ Apply (Apply EnumFromTo_6989586621679917474Sym0 t_a3Ob7) t_a3Ob8) => Sing t_a3Ob7 -> Sing t_a3Ob8 -> Sing (Apply (Apply EnumFromToSym0 t_a3Ob7) t_a3Ob8 :: [a_a3NX6])
sEnumFromThenTo :: forall (t_a3Ob9 :: a_a3NX6) (t_a3Oba :: a_a3NX6) (t_a3Obb :: a_a3NX6). (SEnum a_a3NX6, (Apply (Apply (Apply EnumFromThenToSym0 t_a3Ob9) t_a3Oba) t_a3Obb :: [a_a3NX6]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679917504Sym0 t_a3Ob9) t_a3Oba) t_a3Obb) => Sing t_a3Ob9 -> Sing t_a3Oba -> Sing t_a3Obb -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3Ob9) t_a3Oba) t_a3Obb :: [a_a3NX6])
class PEnum (a_a3NX6 :: Type) where {
type family ToEnum (arg_a3O6I :: Nat) :: a_a3NX6;
type family FromEnum (arg_a3O6M :: a_a3NX6) :: Nat;
type family EnumFromTo (arg_a3O6Q :: a_a3NX6) (arg_a3O6R :: a_a3NX6) :: [a_a3NX6];
type family EnumFromThenTo (arg_a3O6Z :: a_a3NX6) (arg_a3O70 :: a_a3NX6) (arg_a3O71 :: a_a3NX6) :: [a_a3NX6];
type Succ a_a3O7w = Apply Succ_6989586621679917443Sym0 a_a3O7w;
type Pred a_a3O7J = Apply Pred_6989586621679917456Sym0 a_a3O7J;
type EnumFromTo a_a3O80 a_a3O81 =
Apply (Apply EnumFromTo_6989586621679917474Sym0 a_a3O80) a_a3O81;
type EnumFromThenTo a_a3O8t a_a3O8u a_a3O8v =
Apply (Apply (Apply EnumFromThenTo_6989586621679917504Sym0 a_a3O8t) a_a3O8u) a_a3O8v;
}
data EnumFromThenToSym0 (l_a3O7c :: TyFun a6989586621679916796 (TyFun a6989586621679916796 (TyFun a6989586621679916796 [a6989586621679916796] -> Type) -> Type))
data EnumFromThenToSym1 (l_a3O7a :: a6989586621679916796) (l_a3O79 :: TyFun a6989586621679916796 (TyFun a6989586621679916796 [a6989586621679916796] -> Type))
data EnumFromThenToSym2 (l_a3O76 :: a6989586621679916796) (l_a3O77 :: a6989586621679916796) (l_a3O75 :: TyFun a6989586621679916796 [a6989586621679916796])
type EnumFromThenToSym3 (t_a3O72 :: a6989586621679916796) (t_a3O73 :: a6989586621679916796) (t_a3O74 :: a6989586621679916796) = EnumFromThenTo t_a3O72 t_a3O73 t_a3O74
data EnumFromToSym0 (l_a3O6X :: TyFun a6989586621679916796 (TyFun a6989586621679916796 [a6989586621679916796] -> Type))
data EnumFromToSym1 (l_a3O6V :: a6989586621679916796) (l_a3O6U :: TyFun a6989586621679916796 [a6989586621679916796])
type EnumFromToSym2 (t_a3O6S :: a6989586621679916796) (t_a3O6T :: a6989586621679916796) = EnumFromTo t_a3O6S t_a3O6T
data FromEnumSym0 (l_a3O6O :: TyFun a6989586621679916796 Nat)
type FromEnumSym1 (t_a3O6N :: a6989586621679916796) = FromEnum t_a3O6N
data ToEnumSym0 (l_a3O6K :: TyFun Nat a6989586621679916796)
type ToEnumSym1 (t_a3O6J :: Nat) = ToEnum t_a3O6J
-- | Exponentiation of type-level naturals.
-- | The singleton analogue of '(TL.^)' for Nats.
(%^) :: Sing a -> Sing b -> Sing (a ^ b)
infixr 8 %^
class PShow (a_a31kk :: Type) where {
type family ShowsPrec (arg_a31QY :: Nat) (arg_a31QZ :: a_a31kk) (arg_a31R0 :: Symbol) :: Symbol;
type family Show_ (arg_a31Rd :: a_a31kk) :: Symbol;
type family ShowList (arg_a31Rh :: [a_a31kk]) (arg_a31Ri :: Symbol) :: Symbol;
type ShowsPrec a_a31RH a_a31RI a_a31RJ =
Apply (Apply (Apply ShowsPrec_6989586621679731952Sym0 a_a31RH) a_a31RI) a_a31RJ;
type Show_ a_a31S3 = Apply Show__6989586621679731972Sym0 a_a31S3;
type ShowList a_a31Sk a_a31Sl =
Apply (Apply ShowList_6989586621679731990Sym0 a_a31Sk) a_a31Sl;
}
class SShow a_a31kk
sShowsPrec :: forall (t_a31XW :: Nat) (t_a31XX :: a_a31kk) (t_a31XY :: Symbol). SShow a_a31kk => Sing t_a31XW -> Sing t_a31XX -> Sing t_a31XY -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a31XW) t_a31XX) t_a31XY :: Symbol)
sShow_ :: forall (t_a31XZ :: a_a31kk). SShow a_a31kk => Sing t_a31XZ -> Sing (Apply Show_Sym0 t_a31XZ :: Symbol)
sShowList :: forall (t_a31Y0 :: [a_a31kk]) (t_a31Y1 :: Symbol). SShow a_a31kk => Sing t_a31Y0 -> Sing t_a31Y1 -> Sing (Apply (Apply ShowListSym0 t_a31Y0) t_a31Y1 :: Symbol)
sShowsPrec :: forall (t_a31XW :: Nat) (t_a31XX :: a_a31kk) (t_a31XY :: Symbol). (SShow a_a31kk, (Apply (Apply (Apply ShowsPrecSym0 t_a31XW) t_a31XX) t_a31XY :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621679731952Sym0 t_a31XW) t_a31XX) t_a31XY) => Sing t_a31XW -> Sing t_a31XX -> Sing t_a31XY -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a31XW) t_a31XX) t_a31XY :: Symbol)
sShow_ :: forall (t_a31XZ :: a_a31kk). (SShow a_a31kk, (Apply Show_Sym0 t_a31XZ :: Symbol) ~ Apply Show__6989586621679731972Sym0 t_a31XZ) => Sing t_a31XZ -> Sing (Apply Show_Sym0 t_a31XZ :: Symbol)
sShowList :: forall (t_a31Y0 :: [a_a31kk]) (t_a31Y1 :: Symbol). (SShow a_a31kk, (Apply (Apply ShowListSym0 t_a31Y0) t_a31Y1 :: Symbol) ~ Apply (Apply ShowList_6989586621679731990Sym0 t_a31Y0) t_a31Y1) => Sing t_a31Y0 -> Sing t_a31Y1 -> Sing (Apply (Apply ShowListSym0 t_a31Y0) t_a31Y1 :: 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_a31XA :: a_a31k5) (t_a31XB :: Symbol). SShow a_a31k5 => Sing t_a31XA -> Sing t_a31XB -> Sing (Apply (Apply ShowsSym0 t_a31XA) t_a31XB :: Symbol)
sShowChar :: forall (t_a31Xq :: Symbol) (t_a31Xr :: Symbol). Sing t_a31Xq -> Sing t_a31Xr -> Sing (Apply (Apply ShowCharSym0 t_a31Xq) t_a31Xr :: Symbol)
sShowString :: forall (t_a31Xn :: Symbol) (t_a31Xo :: Symbol). Sing t_a31Xn -> Sing t_a31Xo -> Sing (Apply (Apply ShowStringSym0 t_a31Xn) t_a31Xo :: Symbol)
sShowParen :: forall (t_a31Xs :: Bool) (t_a31Xt :: TyFun Symbol Symbol -> Type) (t_a31Xu :: Symbol). Sing t_a31Xs -> Sing t_a31Xt -> Sing t_a31Xu -> Sing (Apply (Apply (Apply ShowParenSym0 t_a31Xs) t_a31Xt) t_a31Xu :: Symbol)
sId :: forall (t_a1Qcs :: a_a1Q7q). Sing t_a1Qcs -> Sing (Apply IdSym0 t_a1Qcs :: a_a1Q7q)
sConst :: forall (t_a1Qco :: a_a1Q7o) (t_a1Qcp :: b_a1Q7p). Sing t_a1Qco -> Sing t_a1Qcp -> Sing (Apply (Apply ConstSym0 t_a1Qco) t_a1Qcp :: a_a1Q7o)
(%.) :: forall (t_a1Qcl :: TyFun b_a1Q7l c_a1Q7m -> Type) (t_a1Qcm :: TyFun a_a1Q7n b_a1Q7l -> Type) (t_a1Qcn :: a_a1Q7n). Sing t_a1Qcl -> Sing t_a1Qcm -> Sing t_a1Qcn -> Sing (Apply (Apply (Apply (.@#@$) t_a1Qcl) t_a1Qcm) t_a1Qcn :: c_a1Q7m)
infixr 9 %.
(%$) :: forall (t_a1Qcg :: TyFun a_a1Q7f b_a1Q7g -> Type) (t_a1Qch :: a_a1Q7f). Sing t_a1Qcg -> Sing t_a1Qch -> Sing (Apply (Apply ($@#@$) t_a1Qcg) t_a1Qch :: b_a1Q7g)
infixr 0 %$
(%$!) :: forall (t_a1Qce :: TyFun a_a1Q7d b_a1Q7e -> Type) (t_a1Qcf :: a_a1Q7d). Sing t_a1Qce -> Sing t_a1Qcf -> Sing (Apply (Apply ($!@#@$) t_a1Qce) t_a1Qcf :: b_a1Q7e)
infixr 0 %$!
sFlip :: forall (t_a1Qci :: TyFun a_a1Q7i (TyFun b_a1Q7j c_a1Q7k -> Type) -> Type) (t_a1Qcj :: b_a1Q7j) (t_a1Qck :: a_a1Q7i). Sing t_a1Qci -> Sing t_a1Qcj -> Sing t_a1Qck -> Sing (Apply (Apply (Apply FlipSym0 t_a1Qci) t_a1Qcj) t_a1Qck :: c_a1Q7k)
sAsTypeOf :: forall (t_a1Qcq :: a_a1Q7h) (t_a1Qcr :: a_a1Q7h). Sing t_a1Qcq -> Sing t_a1Qcr -> Sing (Apply (Apply AsTypeOfSym0 t_a1Qcq) t_a1Qcr :: a_a1Q7h)
sSeq :: forall (t_a1Qcc :: a_a1Q7b) (t_a1Qcd :: b_a1Q7c). Sing t_a1Qcc -> Sing t_a1Qcd -> Sing (Apply (Apply SeqSym0 t_a1Qcc) t_a1Qcd :: b_a1Q7c)
infixr 0 `sSeq`
sMap :: forall (t_a1Qcv :: TyFun a_a1Q7s b_a1Q7t -> Type) (t_a1Qcw :: [a_a1Q7s]). Sing t_a1Qcv -> Sing t_a1Qcw -> Sing (Apply (Apply MapSym0 t_a1Qcv) t_a1Qcw :: [b_a1Q7t])
(%++) :: forall (t_a1Qct :: [a_a1Q7r]) (t_a1Qcu :: [a_a1Q7r]). Sing t_a1Qct -> Sing t_a1Qcu -> Sing (Apply (Apply (++@#@$) t_a1Qct) t_a1Qcu :: [a_a1Q7r])
infixr 5 %++
sHead :: forall (t_a1ZID :: [a_a1WvM]). Sing t_a1ZID -> Sing (Apply HeadSym0 t_a1ZID :: a_a1WvM)
sLast :: forall (t_a1ZIC :: [a_a1WvL]). Sing t_a1ZIC -> Sing (Apply LastSym0 t_a1ZIC :: a_a1WvL)
sTail :: forall (t_a1ZIB :: [a_a1WvK]). Sing t_a1ZIB -> Sing (Apply TailSym0 t_a1ZIB :: [a_a1WvK])
sInit :: forall (t_a1ZIA :: [a_a1WvJ]). Sing t_a1ZIA -> Sing (Apply InitSym0 t_a1ZIA :: [a_a1WvJ])
sNull :: forall (t_a1ZIx :: [a_a1WvI]). Sing t_a1ZIx -> Sing (Apply NullSym0 t_a1ZIx :: Bool)
sReverse :: forall (t_a1ZIu :: [a_a1WvH]). Sing t_a1ZIu -> Sing (Apply ReverseSym0 t_a1ZIu :: [a_a1WvH])
sFoldl :: forall (t_a16Co :: TyFun b_a16B2 (TyFun a_a16B1 b_a16B2 -> Type) -> Type) (t_a16Cp :: b_a16B2) (t_a16Cq :: [a_a16B1]). Sing t_a16Co -> Sing t_a16Cp -> Sing t_a16Cq -> Sing (Apply (Apply (Apply FoldlSym0 t_a16Co) t_a16Cp) t_a16Cq :: b_a16B2)
sFoldl1 :: forall (t_a1ZI8 :: TyFun a_a1Wvy (TyFun a_a1Wvy a_a1Wvy -> Type) -> Type) (t_a1ZI9 :: [a_a1Wvy]). Sing t_a1ZI8 -> Sing t_a1ZI9 -> Sing (Apply (Apply Foldl1Sym0 t_a1ZI8) t_a1ZI9 :: a_a1Wvy)
sFoldr :: forall (t_a1Qcx :: TyFun a_a1Q7u (TyFun b_a1Q7v b_a1Q7v -> Type) -> Type) (t_a1Qcy :: b_a1Q7v) (t_a1Qcz :: [a_a1Q7u]). Sing t_a1Qcx -> Sing t_a1Qcy -> Sing t_a1Qcz -> Sing (Apply (Apply (Apply FoldrSym0 t_a1Qcx) t_a1Qcy) t_a1Qcz :: b_a1Q7v)
sFoldr1 :: forall (t_a1ZI6 :: TyFun a_a1Wvw (TyFun a_a1Wvw a_a1Wvw -> Type) -> Type) (t_a1ZI7 :: [a_a1Wvw]). Sing t_a1ZI6 -> Sing t_a1ZI7 -> Sing (Apply (Apply Foldr1Sym0 t_a1ZI6) t_a1ZI7 :: a_a1Wvw)
sAnd :: forall (t_a1ZI2 :: [Bool]). Sing t_a1ZI2 -> Sing (Apply AndSym0 t_a1ZI2 :: Bool)
sOr :: forall (t_a1ZI1 :: [Bool]). Sing t_a1ZI1 -> Sing (Apply OrSym0 t_a1ZI1 :: Bool)
sAny :: forall (t_a1ZHQ :: TyFun a_a1Wvr Bool -> Type) (t_a1ZHR :: [a_a1Wvr]). Sing t_a1ZHQ -> Sing t_a1ZHR -> Sing (Apply (Apply AnySym0 t_a1ZHQ) t_a1ZHR :: Bool)
sAll :: forall (t_a1ZHZ :: TyFun a_a1Wvs Bool -> Type) (t_a1ZI0 :: [a_a1Wvs]). Sing t_a1ZHZ -> Sing t_a1ZI0 -> Sing (Apply (Apply AllSym0 t_a1ZHZ) t_a1ZI0 :: Bool)
sConcat :: forall (t_a1ZI5 :: [[a_a1Wvv]]). Sing t_a1ZI5 -> Sing (Apply ConcatSym0 t_a1ZI5 :: [a_a1Wvv])
sConcatMap :: forall (t_a1ZI3 :: TyFun a_a1Wvt [b_a1Wvu] -> Type) (t_a1ZI4 :: [a_a1Wvt]). Sing t_a1ZI3 -> Sing t_a1ZI4 -> Sing (Apply (Apply ConcatMapSym0 t_a1ZI3) t_a1ZI4 :: [b_a1Wvu])
sScanl :: forall (t_a1ZHL :: TyFun b_a1Wvp (TyFun a_a1Wvq b_a1Wvp -> Type) -> Type) (t_a1ZHM :: b_a1Wvp) (t_a1ZHN :: [a_a1Wvq]). Sing t_a1ZHL -> Sing t_a1ZHM -> Sing t_a1ZHN -> Sing (Apply (Apply (Apply ScanlSym0 t_a1ZHL) t_a1ZHM) t_a1ZHN :: [b_a1Wvp])
sScanl1 :: forall (t_a1ZHO :: TyFun a_a1Wvo (TyFun a_a1Wvo a_a1Wvo -> Type) -> Type) (t_a1ZHP :: [a_a1Wvo]). Sing t_a1ZHO -> Sing t_a1ZHP -> Sing (Apply (Apply Scanl1Sym0 t_a1ZHO) t_a1ZHP :: [a_a1Wvo])
sScanr :: forall (t_a1ZHI :: TyFun a_a1Wvm (TyFun b_a1Wvn b_a1Wvn -> Type) -> Type) (t_a1ZHJ :: b_a1Wvn) (t_a1ZHK :: [a_a1Wvm]). Sing t_a1ZHI -> Sing t_a1ZHJ -> Sing t_a1ZHK -> Sing (Apply (Apply (Apply ScanrSym0 t_a1ZHI) t_a1ZHJ) t_a1ZHK :: [b_a1Wvn])
sScanr1 :: forall (t_a1ZHG :: TyFun a_a1Wvl (TyFun a_a1Wvl a_a1Wvl -> Type) -> Type) (t_a1ZHH :: [a_a1Wvl]). Sing t_a1ZHG -> Sing t_a1ZHH -> Sing (Apply (Apply Scanr1Sym0 t_a1ZHG) t_a1ZHH :: [a_a1Wvl])
sReplicate :: forall (t_a1ZG3 :: Nat) (t_a1ZG4 :: a_a1WtR). Sing t_a1ZG3 -> Sing t_a1ZG4 -> Sing (Apply (Apply ReplicateSym0 t_a1ZG3) t_a1ZG4 :: [a_a1WtR])
sTake :: forall (t_a1ZGh :: Nat) (t_a1ZGi :: [a_a1Wu7]). Sing t_a1ZGh -> Sing t_a1ZGi -> Sing (Apply (Apply TakeSym0 t_a1ZGh) t_a1ZGi :: [a_a1Wu7])
sDrop :: forall (t_a1ZGf :: Nat) (t_a1ZGg :: [a_a1Wu6]). Sing t_a1ZGf -> Sing t_a1ZGg -> Sing (Apply (Apply DropSym0 t_a1ZGf) t_a1ZGg :: [a_a1Wu6])
sSplitAt :: forall (t_a1ZGj :: Nat) (t_a1ZGk :: [a_a1Wu5]). Sing t_a1ZGj -> Sing t_a1ZGk -> Sing (Apply (Apply SplitAtSym0 t_a1ZGj) t_a1ZGk :: ([a_a1Wu5], [a_a1Wu5]))
sTakeWhile :: forall (t_a1ZGu :: TyFun a_a1Wuc Bool -> Type) (t_a1ZGv :: [a_a1Wuc]). Sing t_a1ZGu -> Sing t_a1ZGv -> Sing (Apply (Apply TakeWhileSym0 t_a1ZGu) t_a1ZGv :: [a_a1Wuc])
sSpan :: forall (t_a1ZGn :: TyFun a_a1Wu9 Bool -> Type) (t_a1ZGo :: [a_a1Wu9]). Sing t_a1ZGn -> Sing t_a1ZGo -> Sing (Apply (Apply SpanSym0 t_a1ZGn) t_a1ZGo :: ([a_a1Wu9], [a_a1Wu9]))
sBreak :: forall (t_a1ZGl :: TyFun a_a1Wu8 Bool -> Type) (t_a1ZGm :: [a_a1Wu8]). Sing t_a1ZGl -> Sing t_a1ZGm -> Sing (Apply (Apply BreakSym0 t_a1ZGl) t_a1ZGm :: ([a_a1Wu8], [a_a1Wu8]))
sElem :: forall (t_a1ZHr :: a_a1Wv7) (t_a1ZHs :: [a_a1Wv7]). SEq a_a1Wv7 => Sing t_a1ZHr -> Sing t_a1ZHs -> Sing (Apply (Apply ElemSym0 t_a1ZHr) t_a1ZHs :: Bool)
infix 4 `sElem`
sNotElem :: forall (t_a1ZHp :: a_a1Wv6) (t_a1ZHq :: [a_a1Wv6]). SEq a_a1Wv6 => Sing t_a1ZHp -> Sing t_a1ZHq -> Sing (Apply (Apply NotElemSym0 t_a1ZHp) t_a1ZHq :: Bool)
infix 4 `sNotElem`
sLookup :: forall (t_a1ZGd :: a_a1WtX) (t_a1ZGe :: [(a_a1WtX, b_a1WtY)]). SEq a_a1WtX => Sing t_a1ZGd -> Sing t_a1ZGe -> Sing (Apply (Apply LookupSym0 t_a1ZGd) t_a1ZGe :: Maybe b_a1WtY)
sZip :: forall (t_a1ZHf :: [a_a1Wv4]) (t_a1ZHg :: [b_a1Wv5]). Sing t_a1ZHf -> Sing t_a1ZHg -> Sing (Apply (Apply ZipSym0 t_a1ZHf) t_a1ZHg :: [(a_a1Wv4, b_a1Wv5)])
sZip3 :: forall (t_a1ZHc :: [a_a1Wv1]) (t_a1ZHd :: [b_a1Wv2]) (t_a1ZHe :: [c_a1Wv3]). Sing t_a1ZHc -> Sing t_a1ZHd -> Sing t_a1ZHe -> Sing (Apply (Apply (Apply Zip3Sym0 t_a1ZHc) t_a1ZHd) t_a1ZHe :: [(a_a1Wv1, b_a1Wv2, c_a1Wv3)])
sZipWith :: forall (t_a1ZH9 :: TyFun a_a1WuY (TyFun b_a1WuZ c_a1Wv0 -> Type) -> Type) (t_a1ZHa :: [a_a1WuY]) (t_a1ZHb :: [b_a1WuZ]). Sing t_a1ZH9 -> Sing t_a1ZHa -> Sing t_a1ZHb -> Sing (Apply (Apply (Apply ZipWithSym0 t_a1ZH9) t_a1ZHa) t_a1ZHb :: [c_a1Wv0])
sZipWith3 :: forall (t_a1ZH5 :: TyFun a_a1WuU (TyFun b_a1WuV (TyFun c_a1WuW d_a1WuX -> Type) -> Type) -> Type) (t_a1ZH6 :: [a_a1WuU]) (t_a1ZH7 :: [b_a1WuV]) (t_a1ZH8 :: [c_a1WuW]). Sing t_a1ZH5 -> Sing t_a1ZH6 -> Sing t_a1ZH7 -> Sing t_a1ZH8 -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a1ZH5) t_a1ZH6) t_a1ZH7) t_a1ZH8 :: [d_a1WuX])
sUnzip :: forall (t_a1ZH4 :: [(a_a1WuS, b_a1WuT)]). Sing t_a1ZH4 -> Sing (Apply UnzipSym0 t_a1ZH4 :: ([a_a1WuS], [b_a1WuT]))
sUnzip3 :: forall (t_a1ZH3 :: [(a_a1WuP, b_a1WuQ, c_a1WuR)]). Sing t_a1ZH3 -> Sing (Apply Unzip3Sym0 t_a1ZH3 :: ([a_a1WuP], [b_a1WuQ], [c_a1WuR]))
sUnlines :: forall (t_a1ZGY :: [Symbol]). Sing t_a1ZGY -> Sing (Apply UnlinesSym0 t_a1ZGY :: Symbol)
sUnwords :: forall (t_a1ZGX :: [Symbol]). Sing t_a1ZGX -> Sing (Apply UnwordsSym0 t_a1ZGX :: Symbol)
sMaybe_ :: forall (t_a1LhW :: b_a1Lhm) (t_a1LhX :: TyFun a_a1Lhn b_a1Lhm -> Type) (t_a1LhY :: Maybe a_a1Lhn). Sing t_a1LhW -> Sing t_a1LhX -> Sing t_a1LhY -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a1LhW) t_a1LhX) t_a1LhY :: b_a1Lhm)
sEither_ :: forall (t_a47As :: TyFun a_a47zz c_a47zA -> Type) (t_a47At :: TyFun b_a47zB c_a47zA -> Type) (t_a47Au :: Either a_a47zz b_a47zB). Sing t_a47As -> Sing t_a47At -> Sing t_a47Au -> Sing (Apply (Apply (Apply Either_Sym0 t_a47As) t_a47At) t_a47Au :: c_a47zA)
sFst :: forall (t_a1eJ7 :: (a_a1eH1, b_a1eH2)). Sing t_a1eJ7 -> Sing (Apply FstSym0 t_a1eJ7 :: a_a1eH1)
sSnd :: forall (t_a1eJ6 :: (a_a1eGZ, b_a1eH0)). Sing t_a1eJ6 -> Sing (Apply SndSym0 t_a1eJ6 :: b_a1eH0)
sCurry :: forall (t_a1eJ3 :: TyFun (a_a1eGW, b_a1eGX) c_a1eGY -> Type) (t_a1eJ4 :: a_a1eGW) (t_a1eJ5 :: b_a1eGX). Sing t_a1eJ3 -> Sing t_a1eJ4 -> Sing t_a1eJ5 -> Sing (Apply (Apply (Apply CurrySym0 t_a1eJ3) t_a1eJ4) t_a1eJ5 :: c_a1eGY)
sUncurry :: forall (t_a1eJ8 :: TyFun a_a1eGT (TyFun b_a1eGU c_a1eGV -> Type) -> Type) (t_a1eJ9 :: (a_a1eGT, b_a1eGU)). Sing t_a1eJ8 -> Sing t_a1eJ9 -> Sing (Apply (Apply UncurrySym0 t_a1eJ8) t_a1eJ9 :: c_a1eGV)
-- | (Kind) This is the kind of type-level symbols. Declared here because
-- class IP needs it
data Symbol
either_ :: (a_a47zz -> c_a47zA) -> (b_a47zB -> c_a47zA) -> Either a_a47zz b_a47zB -> c_a47zA
maybe_ :: b_a1Lhm -> (a_a1Lhn -> b_a1Lhm) -> Maybe a_a1Lhn -> b_a1Lhm
bool_ :: a_a1fNy -> a_a1fNy -> Bool -> a_a1fNy
-- | 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_a1g29 :: TyFun Bool Bool)
type NotSym1 (t_a1g28 :: Bool) = Not t_a1g28
data (&&@#@$) (l_a1fW3 :: TyFun Bool (TyFun Bool Bool -> Type))
data (&&@#@$$) (l_a1fW1 :: Bool) (l_a1fW0 :: TyFun Bool Bool)
type (&&@#@$$$) (t_a1fVY :: Bool) (t_a1fVZ :: Bool) = (&&) t_a1fVY t_a1fVZ
data (||@#@$) (l_a1fZf :: TyFun Bool (TyFun Bool Bool -> Type))
data (||@#@$$) (l_a1fZd :: Bool) (l_a1fZc :: TyFun Bool Bool)
type (||@#@$$$) (t_a1fZa :: Bool) (t_a1fZb :: Bool) = (||) t_a1fZa t_a1fZb
type OtherwiseSym0 = Otherwise
type NothingSym0 = Nothing
data JustSym0 (l_a13CP :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_a13CO :: a3530822107858468865) = Just t_a13CO
data Maybe_Sym0 (l_a1LhO :: TyFun b6989586621679429864 (TyFun (TyFun a6989586621679429865 b6989586621679429864 -> Type) (TyFun (Maybe a6989586621679429865) b6989586621679429864 -> Type) -> Type))
data Maybe_Sym1 (l_a1LhM :: b6989586621679429864) (l_a1LhL :: TyFun (TyFun a6989586621679429865 b6989586621679429864 -> Type) (TyFun (Maybe a6989586621679429865) b6989586621679429864 -> Type))
data Maybe_Sym2 (l_a1LhI :: b6989586621679429864) (l_a1LhJ :: TyFun a6989586621679429865 b6989586621679429864 -> Type) (l_a1LhH :: TyFun (Maybe a6989586621679429865) b6989586621679429864)
type Maybe_Sym3 (t_a1LhE :: b6989586621679429864) (t_a1LhF :: TyFun a6989586621679429865 b6989586621679429864 -> Type) (t_a1LhG :: Maybe a6989586621679429865) = Maybe_ t_a1LhE t_a1LhF t_a1LhG
data LeftSym0 (l_a13Dr :: TyFun a6989586621679084181 (Either a6989586621679084181 b6989586621679084182))
type LeftSym1 (t_a13Dq :: a6989586621679084181) = Left t_a13Dq
data RightSym0 (l_a13Du :: TyFun b6989586621679084182 (Either a6989586621679084181 b6989586621679084182))
type RightSym1 (t_a13Dt :: b6989586621679084182) = Right t_a13Dt
data Either_Sym0 (l_a47Aj :: TyFun (TyFun a6989586621679992217 c6989586621679992218 -> Type) (TyFun (TyFun b6989586621679992219 c6989586621679992218 -> Type) (TyFun (Either a6989586621679992217 b6989586621679992219) c6989586621679992218 -> Type) -> Type))
data Either_Sym1 (l_a47Ah :: TyFun a6989586621679992217 c6989586621679992218 -> Type) (l_a47Ag :: TyFun (TyFun b6989586621679992219 c6989586621679992218 -> Type) (TyFun (Either a6989586621679992217 b6989586621679992219) c6989586621679992218 -> Type))
data Either_Sym2 (l_a47Ad :: TyFun a6989586621679992217 c6989586621679992218 -> Type) (l_a47Ae :: TyFun b6989586621679992219 c6989586621679992218 -> Type) (l_a47Ac :: TyFun (Either a6989586621679992217 b6989586621679992219) c6989586621679992218)
type Either_Sym3 (t_a47A9 :: TyFun a6989586621679992217 c6989586621679992218 -> Type) (t_a47Aa :: TyFun b6989586621679992219 c6989586621679992218 -> Type) (t_a47Ab :: Either a6989586621679992217 b6989586621679992219) = Either_ t_a47A9 t_a47Aa t_a47Ab
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_a13Ee :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_a13Ec :: a3530822107858468865) (l_a13Eb :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_a13E9 :: a3530822107858468865) (t_a13Ea :: b3530822107858468866) = '(t_a13E9, t_a13Ea)
data Tuple3Sym0 (l_a13EE :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_a13EC :: a3530822107858468865) (l_a13EB :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_a13Ey :: a3530822107858468865) (l_a13Ez :: b3530822107858468866) (l_a13Ex :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_a13Eu :: a3530822107858468865) (t_a13Ev :: b3530822107858468866) (t_a13Ew :: c3530822107858468867) = '(t_a13Eu, t_a13Ev, t_a13Ew)
data Tuple4Sym0 (l_a13Ff :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_a13Fd :: a3530822107858468865) (l_a13Fc :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_a13F9 :: a3530822107858468865) (l_a13Fa :: b3530822107858468866) (l_a13F8 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_a13F4 :: a3530822107858468865) (l_a13F5 :: b3530822107858468866) (l_a13F6 :: c3530822107858468867) (l_a13F3 :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_a13EZ :: a3530822107858468865) (t_a13F0 :: b3530822107858468866) (t_a13F1 :: c3530822107858468867) (t_a13F2 :: d3530822107858468868) = '(t_a13EZ, t_a13F0, t_a13F1, t_a13F2)
data Tuple5Sym0 (l_a13G2 :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_a13G0 :: a3530822107858468865) (l_a13FZ :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_a13FW :: a3530822107858468865) (l_a13FX :: b3530822107858468866) (l_a13FV :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_a13FR :: a3530822107858468865) (l_a13FS :: b3530822107858468866) (l_a13FT :: c3530822107858468867) (l_a13FQ :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_a13FL :: a3530822107858468865) (l_a13FM :: b3530822107858468866) (l_a13FN :: c3530822107858468867) (l_a13FO :: d3530822107858468868) (l_a13FK :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_a13FF :: a3530822107858468865) (t_a13FG :: b3530822107858468866) (t_a13FH :: c3530822107858468867) (t_a13FI :: d3530822107858468868) (t_a13FJ :: e3530822107858468869) = '(t_a13FF, t_a13FG, t_a13FH, t_a13FI, t_a13FJ)
data Tuple6Sym0 (l_a13H2 :: 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_a13H0 :: a3530822107858468865) (l_a13GZ :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_a13GW :: a3530822107858468865) (l_a13GX :: b3530822107858468866) (l_a13GV :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_a13GR :: a3530822107858468865) (l_a13GS :: b3530822107858468866) (l_a13GT :: c3530822107858468867) (l_a13GQ :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_a13GL :: a3530822107858468865) (l_a13GM :: b3530822107858468866) (l_a13GN :: c3530822107858468867) (l_a13GO :: d3530822107858468868) (l_a13GK :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_a13GE :: a3530822107858468865) (l_a13GF :: b3530822107858468866) (l_a13GG :: c3530822107858468867) (l_a13GH :: d3530822107858468868) (l_a13GI :: e3530822107858468869) (l_a13GD :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_a13Gx :: a3530822107858468865) (t_a13Gy :: b3530822107858468866) (t_a13Gz :: c3530822107858468867) (t_a13GA :: d3530822107858468868) (t_a13GB :: e3530822107858468869) (t_a13GC :: f3530822107858468870) = '(t_a13Gx, t_a13Gy, t_a13Gz, t_a13GA, t_a13GB, t_a13GC)
data Tuple7Sym0 (l_a13Ig :: 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_a13Ie :: a3530822107858468865) (l_a13Id :: 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_a13Ia :: a3530822107858468865) (l_a13Ib :: b3530822107858468866) (l_a13I9 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_a13I5 :: a3530822107858468865) (l_a13I6 :: b3530822107858468866) (l_a13I7 :: c3530822107858468867) (l_a13I4 :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_a13HZ :: a3530822107858468865) (l_a13I0 :: b3530822107858468866) (l_a13I1 :: c3530822107858468867) (l_a13I2 :: d3530822107858468868) (l_a13HY :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_a13HS :: a3530822107858468865) (l_a13HT :: b3530822107858468866) (l_a13HU :: c3530822107858468867) (l_a13HV :: d3530822107858468868) (l_a13HW :: e3530822107858468869) (l_a13HR :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_a13HK :: a3530822107858468865) (l_a13HL :: b3530822107858468866) (l_a13HM :: c3530822107858468867) (l_a13HN :: d3530822107858468868) (l_a13HO :: e3530822107858468869) (l_a13HP :: f3530822107858468870) (l_a13HJ :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_a13HC :: a3530822107858468865) (t_a13HD :: b3530822107858468866) (t_a13HE :: c3530822107858468867) (t_a13HF :: d3530822107858468868) (t_a13HG :: e3530822107858468869) (t_a13HH :: f3530822107858468870) (t_a13HI :: g3530822107858468871) = '(t_a13HC, t_a13HD, t_a13HE, t_a13HF, t_a13HG, t_a13HH, t_a13HI)
data FstSym0 (l_a1eIN :: TyFun (a6989586621679304603, b6989586621679304604) a6989586621679304603)
type FstSym1 (t_a1eIM :: (a6989586621679304603, b6989586621679304604)) = Fst t_a1eIM
data SndSym0 (l_a1eII :: TyFun (a6989586621679304601, b6989586621679304602) b6989586621679304602)
type SndSym1 (t_a1eIH :: (a6989586621679304601, b6989586621679304602)) = Snd t_a1eIH
data CurrySym0 (l_a1eIz :: TyFun (TyFun (a6989586621679304598, b6989586621679304599) c6989586621679304600 -> Type) (TyFun a6989586621679304598 (TyFun b6989586621679304599 c6989586621679304600 -> Type) -> Type))
data CurrySym1 (l_a1eIx :: TyFun (a6989586621679304598, b6989586621679304599) c6989586621679304600 -> Type) (l_a1eIw :: TyFun a6989586621679304598 (TyFun b6989586621679304599 c6989586621679304600 -> Type))
data CurrySym2 (l_a1eIt :: TyFun (a6989586621679304598, b6989586621679304599) c6989586621679304600 -> Type) (l_a1eIu :: a6989586621679304598) (l_a1eIs :: TyFun b6989586621679304599 c6989586621679304600)
type CurrySym3 (t_a1eIp :: TyFun (a6989586621679304598, b6989586621679304599) c6989586621679304600 -> Type) (t_a1eIq :: a6989586621679304598) (t_a1eIr :: b6989586621679304599) = Curry t_a1eIp t_a1eIq t_a1eIr
data UncurrySym0 (l_a1eIW :: TyFun (TyFun a6989586621679304595 (TyFun b6989586621679304596 c6989586621679304597 -> Type) -> Type) (TyFun (a6989586621679304595, b6989586621679304596) c6989586621679304597 -> Type))
data UncurrySym1 (l_a1eIU :: TyFun a6989586621679304595 (TyFun b6989586621679304596 c6989586621679304597 -> Type) -> Type) (l_a1eIT :: TyFun (a6989586621679304595, b6989586621679304596) c6989586621679304597)
type UncurrySym2 (t_a1eIR :: TyFun a6989586621679304595 (TyFun b6989586621679304596 c6989586621679304597 -> Type) -> Type) (t_a1eIS :: (a6989586621679304595, b6989586621679304596)) = Uncurry t_a1eIR t_a1eIS
data ErrorSym0 (l_a1Ezp :: TyFun k06989586621679403140 k6989586621679403141)
type ErrorSym1 (t_a1Ezo :: k06989586621679403140) = Error t_a1Ezo
type UndefinedSym0 = Undefined
data (^@#@$) (l_a1EE3 :: TyFun Nat (TyFun Nat Nat -> Type))
data (^@#@$$) (l_a1EE1 :: Nat) (l_a1EE0 :: TyFun Nat Nat)
type (^@#@$$$) (t_a1EDY :: Nat) (t_a1EDZ :: Nat) = (^) t_a1EDY t_a1EDZ
data ShowsPrecSym0 (l_a31Rb :: TyFun Nat (TyFun a6989586621679729880 (TyFun Symbol Symbol -> Type) -> Type))
data ShowsPrecSym1 (l_a31R9 :: Nat) (l_a31R8 :: TyFun a6989586621679729880 (TyFun Symbol Symbol -> Type))
data ShowsPrecSym2 (l_a31R5 :: Nat) (l_a31R6 :: a6989586621679729880) (l_a31R4 :: TyFun Symbol Symbol)
type ShowsPrecSym3 (t_a31R1 :: Nat) (t_a31R2 :: a6989586621679729880) (t_a31R3 :: Symbol) = ShowsPrec t_a31R1 t_a31R2 t_a31R3
data Show_Sym0 (l_a31Rf :: TyFun a6989586621679729880 Symbol)
type Show_Sym1 (t_a31Re :: a6989586621679729880) = Show_ t_a31Re
data ShowListSym0 (l_a31Ro :: TyFun [a6989586621679729880] (TyFun Symbol Symbol -> Type))
data ShowListSym1 (l_a31Rm :: [a6989586621679729880]) (l_a31Rl :: TyFun Symbol Symbol)
type ShowListSym2 (t_a31Rj :: [a6989586621679729880]) (t_a31Rk :: Symbol) = ShowList t_a31Rj t_a31Rk
data (<>@#@$) l_a1EHW
data (<>@#@$$) (l_a1EHU :: Symbol) l_a1EHT
type (<>@#@$$$) (t_a1EHR :: Symbol) (t_a1EHS :: Symbol) = (<>) t_a1EHR t_a1EHS
data ShowsSym0 (l_a31QQ :: TyFun a6989586621679729865 (TyFun Symbol Symbol -> Type))
data ShowsSym1 (l_a31QO :: a6989586621679729865) (l_a31QN :: TyFun Symbol Symbol)
type ShowsSym2 (t_a31QL :: a6989586621679729865) (t_a31QM :: Symbol) = Shows t_a31QL t_a31QM
data ShowCharSym0 (l_a31OU :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowCharSym1 (l_a31OS :: Symbol) (l_a31OR :: TyFun Symbol Symbol)
type ShowCharSym2 (t_a31OP :: Symbol) (t_a31OQ :: Symbol) = ShowChar t_a31OP t_a31OQ
data ShowStringSym0 (l_a31Oy :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowStringSym1 (l_a31Ow :: Symbol) (l_a31Ov :: TyFun Symbol Symbol)
type ShowStringSym2 (t_a31Ot :: Symbol) (t_a31Ou :: Symbol) = ShowString t_a31Ot t_a31Ou
data ShowParenSym0 (l_a31Pa :: TyFun Bool (TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type) -> Type))
data ShowParenSym1 (l_a31P8 :: Bool) (l_a31P7 :: TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type))
data ShowParenSym2 (l_a31P4 :: Bool) (l_a31P5 :: TyFun Symbol Symbol -> Type) (l_a31P3 :: TyFun Symbol Symbol)
data IdSym0 (l_a1Qb3 :: TyFun a6989586621679448468 a6989586621679448468)
type IdSym1 (t_a1Qb2 :: a6989586621679448468) = Id t_a1Qb2
data ConstSym0 (l_a1QaI :: TyFun a6989586621679448466 (TyFun b6989586621679448467 a6989586621679448466 -> Type))
data ConstSym1 (l_a1QaG :: a6989586621679448466) (l_a1QaF :: TyFun b6989586621679448467 a6989586621679448466)
type ConstSym2 (t_a1QaD :: a6989586621679448466) (t_a1QaE :: b6989586621679448467) = Const t_a1QaD t_a1QaE
data (.@#@$) (l_a1Qa7 :: TyFun (TyFun b6989586621679448463 c6989586621679448464 -> Type) (TyFun (TyFun a6989586621679448465 b6989586621679448463 -> Type) (TyFun a6989586621679448465 c6989586621679448464 -> Type) -> Type))
data (.@#@$$) (l_a1Qa5 :: TyFun b6989586621679448463 c6989586621679448464 -> Type) (l_a1Qa4 :: TyFun (TyFun a6989586621679448465 b6989586621679448463 -> Type) (TyFun a6989586621679448465 c6989586621679448464 -> Type))
data (.@#@$$$) (l_a1Qa1 :: TyFun b6989586621679448463 c6989586621679448464 -> Type) (l_a1Qa2 :: TyFun a6989586621679448465 b6989586621679448463 -> Type) (l_a1Qa0 :: TyFun a6989586621679448465 c6989586621679448464)
data ($@#@$) (l_a1Q9z :: TyFun (TyFun a6989586621679448457 b6989586621679448458 -> Type) (TyFun a6989586621679448457 b6989586621679448458 -> Type))
data ($@#@$$) (l_a1Q9x :: TyFun a6989586621679448457 b6989586621679448458 -> Type) (l_a1Q9w :: TyFun a6989586621679448457 b6989586621679448458)
type ($@#@$$$) (t_a1Q9u :: TyFun a6989586621679448457 b6989586621679448458 -> Type) (t_a1Q9v :: a6989586621679448457) = ($) t_a1Q9u t_a1Q9v
data ($!@#@$) (l_a1Q9g :: TyFun (TyFun a6989586621679448455 b6989586621679448456 -> Type) (TyFun a6989586621679448455 b6989586621679448456 -> Type))
data ($!@#@$$) (l_a1Q9e :: TyFun a6989586621679448455 b6989586621679448456 -> Type) (l_a1Q9d :: TyFun a6989586621679448455 b6989586621679448456)
type ($!@#@$$$) (t_a1Q9b :: TyFun a6989586621679448455 b6989586621679448456 -> Type) (t_a1Q9c :: a6989586621679448455) = ($!) t_a1Q9b t_a1Q9c
data FlipSym0 (l_a1Q9P :: TyFun (TyFun a6989586621679448460 (TyFun b6989586621679448461 c6989586621679448462 -> Type) -> Type) (TyFun b6989586621679448461 (TyFun a6989586621679448460 c6989586621679448462 -> Type) -> Type))
data FlipSym1 (l_a1Q9N :: TyFun a6989586621679448460 (TyFun b6989586621679448461 c6989586621679448462 -> Type) -> Type) (l_a1Q9M :: TyFun b6989586621679448461 (TyFun a6989586621679448460 c6989586621679448462 -> Type))
data FlipSym2 (l_a1Q9J :: TyFun a6989586621679448460 (TyFun b6989586621679448461 c6989586621679448462 -> Type) -> Type) (l_a1Q9K :: b6989586621679448461) (l_a1Q9I :: TyFun a6989586621679448460 c6989586621679448462)
data AsTypeOfSym0 (l_a1QaW :: TyFun a6989586621679448459 (TyFun a6989586621679448459 a6989586621679448459 -> Type))
data AsTypeOfSym1 (l_a1QaU :: a6989586621679448459) (l_a1QaT :: TyFun a6989586621679448459 a6989586621679448459)
type AsTypeOfSym2 (t_a1QaR :: a6989586621679448459) (t_a1QaS :: a6989586621679448459) = AsTypeOf t_a1QaR t_a1QaS
data SeqSym0 (l_a1Q96 :: TyFun a6989586621679448453 (TyFun b6989586621679448454 b6989586621679448454 -> Type))
data SeqSym1 (l_a1Q94 :: a6989586621679448453) (l_a1Q93 :: TyFun b6989586621679448454 b6989586621679448454)
type SeqSym2 (t_a1Q91 :: a6989586621679448453) (t_a1Q92 :: b6989586621679448454) = Seq t_a1Q91 t_a1Q92
data (:@#@$) (l_a13D9 :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:@#@$$) (l_a13D7 :: a3530822107858468865) (l_a13D6 :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:@#@$$$) (t_a13D4 :: a3530822107858468865) (t_a13D5 :: [a3530822107858468865]) = (:) t_a13D4 t_a13D5
type NilSym0 = '[]
data MapSym0 (l_a1Qbp :: TyFun (TyFun a6989586621679448470 b6989586621679448471 -> Type) (TyFun [a6989586621679448470] [b6989586621679448471] -> Type))
data MapSym1 (l_a1Qbn :: TyFun a6989586621679448470 b6989586621679448471 -> Type) (l_a1Qbm :: TyFun [a6989586621679448470] [b6989586621679448471])
type MapSym2 (t_a1Qbk :: TyFun a6989586621679448470 b6989586621679448471 -> Type) (t_a1Qbl :: [a6989586621679448470]) = Map t_a1Qbk t_a1Qbl
data ReverseSym0 (l_a1ZDt :: TyFun [a6989586621679473037] [a6989586621679473037])
type ReverseSym1 (t_a1ZDs :: [a6989586621679473037]) = Reverse t_a1ZDs
data (++@#@$$) (l_a1Qba :: [a6989586621679448469]) (l_a1Qb9 :: TyFun [a6989586621679448469] [a6989586621679448469])
data (++@#@$) (l_a1Qbc :: TyFun [a6989586621679448469] (TyFun [a6989586621679448469] [a6989586621679448469] -> Type))
data HeadSym0 (l_a1ZFJ :: TyFun [a6989586621679473042] a6989586621679473042)
type HeadSym1 (t_a1ZFI :: [a6989586621679473042]) = Head t_a1ZFI
data LastSym0 (l_a1ZFC :: TyFun [a6989586621679473041] a6989586621679473041)
type LastSym1 (t_a1ZFB :: [a6989586621679473041]) = Last t_a1ZFB
data TailSym0 (l_a1ZFx :: TyFun [a6989586621679473040] [a6989586621679473040])
type TailSym1 (t_a1ZFw :: [a6989586621679473040]) = Tail t_a1ZFw
data InitSym0 (l_a1ZF3 :: TyFun [a6989586621679473039] [a6989586621679473039])
type InitSym1 (t_a1ZF2 :: [a6989586621679473039]) = Init t_a1ZF2
data NullSym0 (l_a1ZE2 :: TyFun [a6989586621679473038] Bool)
type NullSym1 (t_a1ZE1 :: [a6989586621679473038]) = Null t_a1ZE1
data FoldlSym0 (l_a16BK :: TyFun (TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (TyFun b6989586621679273480 (TyFun [a6989586621679273479] b6989586621679273480 -> Type) -> Type))
data FoldlSym1 (l_a16BI :: TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (l_a16BH :: TyFun b6989586621679273480 (TyFun [a6989586621679273479] b6989586621679273480 -> Type))
data FoldlSym2 (l_a16BE :: TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (l_a16BF :: b6989586621679273480) (l_a16BD :: TyFun [a6989586621679273479] b6989586621679273480)
type FoldlSym3 (t_a16BA :: TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (t_a16BB :: b6989586621679273480) (t_a16BC :: [a6989586621679273479]) = Foldl t_a16BA t_a16BB t_a16BC
data Foldl1Sym0 (l_a1ZrL :: TyFun (TyFun a6989586621679473028 (TyFun a6989586621679473028 a6989586621679473028 -> Type) -> Type) (TyFun [a6989586621679473028] a6989586621679473028 -> Type))
data Foldl1Sym1 (l_a1ZrJ :: TyFun a6989586621679473028 (TyFun a6989586621679473028 a6989586621679473028 -> Type) -> Type) (l_a1ZrI :: TyFun [a6989586621679473028] a6989586621679473028)
type Foldl1Sym2 (t_a1ZrG :: TyFun a6989586621679473028 (TyFun a6989586621679473028 a6989586621679473028 -> Type) -> Type) (t_a1ZrH :: [a6989586621679473028]) = Foldl1 t_a1ZrG t_a1ZrH
data FoldrSym0 (l_a1QbG :: TyFun (TyFun a6989586621679448472 (TyFun b6989586621679448473 b6989586621679448473 -> Type) -> Type) (TyFun b6989586621679448473 (TyFun [a6989586621679448472] b6989586621679448473 -> Type) -> Type))
data FoldrSym1 (l_a1QbE :: TyFun a6989586621679448472 (TyFun b6989586621679448473 b6989586621679448473 -> Type) -> Type) (l_a1QbD :: TyFun b6989586621679448473 (TyFun [a6989586621679448472] b6989586621679448473 -> Type))
data FoldrSym2 (l_a1QbA :: TyFun a6989586621679448472 (TyFun b6989586621679448473 b6989586621679448473 -> Type) -> Type) (l_a1QbB :: b6989586621679448473) (l_a1Qbz :: TyFun [a6989586621679448472] b6989586621679448473)
type FoldrSym3 (t_a1Qbw :: TyFun a6989586621679448472 (TyFun b6989586621679448473 b6989586621679448473 -> Type) -> Type) (t_a1Qbx :: b6989586621679448473) (t_a1Qby :: [a6989586621679448472]) = Foldr t_a1Qbw t_a1Qbx t_a1Qby
data Foldr1Sym0 (l_a1Zre :: TyFun (TyFun a6989586621679473026 (TyFun a6989586621679473026 a6989586621679473026 -> Type) -> Type) (TyFun [a6989586621679473026] a6989586621679473026 -> Type))
data Foldr1Sym1 (l_a1Zrc :: TyFun a6989586621679473026 (TyFun a6989586621679473026 a6989586621679473026 -> Type) -> Type) (l_a1Zrb :: TyFun [a6989586621679473026] a6989586621679473026)
type Foldr1Sym2 (t_a1Zr9 :: TyFun a6989586621679473026 (TyFun a6989586621679473026 a6989586621679473026 -> Type) -> Type) (t_a1Zra :: [a6989586621679473026]) = Foldr1 t_a1Zr9 t_a1Zra
data ConcatSym0 (l_a1Zr5 :: TyFun [[a6989586621679473025]] [a6989586621679473025])
type ConcatSym1 (t_a1Zr4 :: [[a6989586621679473025]]) = Concat t_a1Zr4
data ConcatMapSym0 (l_a1ZqU :: TyFun (TyFun a6989586621679473023 [b6989586621679473024] -> Type) (TyFun [a6989586621679473023] [b6989586621679473024] -> Type))
data ConcatMapSym1 (l_a1ZqS :: TyFun a6989586621679473023 [b6989586621679473024] -> Type) (l_a1ZqR :: TyFun [a6989586621679473023] [b6989586621679473024])
type ConcatMapSym2 (t_a1ZqP :: TyFun a6989586621679473023 [b6989586621679473024] -> Type) (t_a1ZqQ :: [a6989586621679473023]) = ConcatMap t_a1ZqP t_a1ZqQ
data AndSym0 (l_a1ZqK :: TyFun [Bool] Bool)
type AndSym1 (t_a1ZqJ :: [Bool]) = And t_a1ZqJ
data OrSym0 (l_a1ZqE :: TyFun [Bool] Bool)
type OrSym1 (t_a1ZqD :: [Bool]) = Or t_a1ZqD
data AnySym0 (l_a1Zoa :: TyFun (TyFun a6989586621679473021 Bool -> Type) (TyFun [a6989586621679473021] Bool -> Type))
data AnySym1 (l_a1Zo8 :: TyFun a6989586621679473021 Bool -> Type) (l_a1Zo7 :: TyFun [a6989586621679473021] Bool)
type AnySym2 (t_a1Zo5 :: TyFun a6989586621679473021 Bool -> Type) (t_a1Zo6 :: [a6989586621679473021]) = Any t_a1Zo5 t_a1Zo6
data AllSym0 (l_a1Zqw :: TyFun (TyFun a6989586621679473022 Bool -> Type) (TyFun [a6989586621679473022] Bool -> Type))
data AllSym1 (l_a1Zqu :: TyFun a6989586621679473022 Bool -> Type) (l_a1Zqt :: TyFun [a6989586621679473022] Bool)
type AllSym2 (t_a1Zqr :: TyFun a6989586621679473022 Bool -> Type) (t_a1Zqs :: [a6989586621679473022]) = All t_a1Zqr t_a1Zqs
data ScanlSym0 (l_a1ZnG :: TyFun (TyFun b6989586621679473019 (TyFun a6989586621679473020 b6989586621679473019 -> Type) -> Type) (TyFun b6989586621679473019 (TyFun [a6989586621679473020] [b6989586621679473019] -> Type) -> Type))
data ScanlSym1 (l_a1ZnE :: TyFun b6989586621679473019 (TyFun a6989586621679473020 b6989586621679473019 -> Type) -> Type) (l_a1ZnD :: TyFun b6989586621679473019 (TyFun [a6989586621679473020] [b6989586621679473019] -> Type))
data ScanlSym2 (l_a1ZnA :: TyFun b6989586621679473019 (TyFun a6989586621679473020 b6989586621679473019 -> Type) -> Type) (l_a1ZnB :: b6989586621679473019) (l_a1Znz :: TyFun [a6989586621679473020] [b6989586621679473019])
type ScanlSym3 (t_a1Znw :: TyFun b6989586621679473019 (TyFun a6989586621679473020 b6989586621679473019 -> Type) -> Type) (t_a1Znx :: b6989586621679473019) (t_a1Zny :: [a6989586621679473020]) = Scanl t_a1Znw t_a1Znx t_a1Zny
data Scanl1Sym0 (l_a1ZnY :: TyFun (TyFun a6989586621679473018 (TyFun a6989586621679473018 a6989586621679473018 -> Type) -> Type) (TyFun [a6989586621679473018] [a6989586621679473018] -> Type))
data Scanl1Sym1 (l_a1ZnW :: TyFun a6989586621679473018 (TyFun a6989586621679473018 a6989586621679473018 -> Type) -> Type) (l_a1ZnV :: TyFun [a6989586621679473018] [a6989586621679473018])
type Scanl1Sym2 (t_a1ZnT :: TyFun a6989586621679473018 (TyFun a6989586621679473018 a6989586621679473018 -> Type) -> Type) (t_a1ZnU :: [a6989586621679473018]) = Scanl1 t_a1ZnT t_a1ZnU
data ScanrSym0 (l_a1ZmY :: TyFun (TyFun a6989586621679473016 (TyFun b6989586621679473017 b6989586621679473017 -> Type) -> Type) (TyFun b6989586621679473017 (TyFun [a6989586621679473016] [b6989586621679473017] -> Type) -> Type))
data ScanrSym1 (l_a1ZmW :: TyFun a6989586621679473016 (TyFun b6989586621679473017 b6989586621679473017 -> Type) -> Type) (l_a1ZmV :: TyFun b6989586621679473017 (TyFun [a6989586621679473016] [b6989586621679473017] -> Type))
data ScanrSym2 (l_a1ZmS :: TyFun a6989586621679473016 (TyFun b6989586621679473017 b6989586621679473017 -> Type) -> Type) (l_a1ZmT :: b6989586621679473017) (l_a1ZmR :: TyFun [a6989586621679473016] [b6989586621679473017])
type ScanrSym3 (t_a1ZmO :: TyFun a6989586621679473016 (TyFun b6989586621679473017 b6989586621679473017 -> Type) -> Type) (t_a1ZmP :: b6989586621679473017) (t_a1ZmQ :: [a6989586621679473016]) = Scanr t_a1ZmO t_a1ZmP t_a1ZmQ
data Scanr1Sym0 (l_a1ZlY :: TyFun (TyFun a6989586621679473015 (TyFun a6989586621679473015 a6989586621679473015 -> Type) -> Type) (TyFun [a6989586621679473015] [a6989586621679473015] -> Type))
data Scanr1Sym1 (l_a1ZlW :: TyFun a6989586621679473015 (TyFun a6989586621679473015 a6989586621679473015 -> Type) -> Type) (l_a1ZlV :: TyFun [a6989586621679473015] [a6989586621679473015])
type Scanr1Sym2 (t_a1ZlT :: TyFun a6989586621679473015 (TyFun a6989586621679473015 a6989586621679473015 -> Type) -> Type) (t_a1ZlU :: [a6989586621679473015]) = Scanr1 t_a1ZlT t_a1ZlU
data ReplicateSym0 (l_a1YV6 :: TyFun Nat (TyFun a6989586621679472923 [a6989586621679472923] -> Type))
data ReplicateSym1 (l_a1YV4 :: Nat) (l_a1YV3 :: TyFun a6989586621679472923 [a6989586621679472923])
type ReplicateSym2 (t_a1YV1 :: Nat) (t_a1YV2 :: a6989586621679472923) = Replicate t_a1YV1 t_a1YV2
data TakeSym0 (l_a1YYb :: TyFun Nat (TyFun [a6989586621679472939] [a6989586621679472939] -> Type))
data TakeSym1 (l_a1YY9 :: Nat) (l_a1YY8 :: TyFun [a6989586621679472939] [a6989586621679472939])
type TakeSym2 (t_a1YY6 :: Nat) (t_a1YY7 :: [a6989586621679472939]) = Take t_a1YY6 t_a1YY7
data DropSym0 (l_a1YXJ :: TyFun Nat (TyFun [a6989586621679472938] [a6989586621679472938] -> Type))
data DropSym1 (l_a1YXH :: Nat) (l_a1YXG :: TyFun [a6989586621679472938] [a6989586621679472938])
type DropSym2 (t_a1YXE :: Nat) (t_a1YXF :: [a6989586621679472938]) = Drop t_a1YXE t_a1YXF
data SplitAtSym0 (l_a1YYD :: TyFun Nat (TyFun [a6989586621679472937] ([a6989586621679472937], [a6989586621679472937]) -> Type))
data SplitAtSym1 (l_a1YYB :: Nat) (l_a1YYA :: TyFun [a6989586621679472937] ([a6989586621679472937], [a6989586621679472937]))
type SplitAtSym2 (t_a1YYy :: Nat) (t_a1YYz :: [a6989586621679472937]) = SplitAt t_a1YYy t_a1YYz
data TakeWhileSym0 (l_a1Z3z :: TyFun (TyFun a6989586621679472944 Bool -> Type) (TyFun [a6989586621679472944] [a6989586621679472944] -> Type))
data TakeWhileSym1 (l_a1Z3x :: TyFun a6989586621679472944 Bool -> Type) (l_a1Z3w :: TyFun [a6989586621679472944] [a6989586621679472944])
type TakeWhileSym2 (t_a1Z3u :: TyFun a6989586621679472944 Bool -> Type) (t_a1Z3v :: [a6989586621679472944]) = TakeWhile t_a1Z3u t_a1Z3v
data DropWhileSym0 (l_a1Z2U :: TyFun (TyFun a6989586621679472943 Bool -> Type) (TyFun [a6989586621679472943] [a6989586621679472943] -> Type))
data DropWhileSym1 (l_a1Z2S :: TyFun a6989586621679472943 Bool -> Type) (l_a1Z2R :: TyFun [a6989586621679472943] [a6989586621679472943])
type DropWhileSym2 (t_a1Z2P :: TyFun a6989586621679472943 Bool -> Type) (t_a1Z2Q :: [a6989586621679472943]) = DropWhile t_a1Z2P t_a1Z2Q
data DropWhileEndSym0 (l_a1ZEa :: TyFun (TyFun a6989586621679472942 Bool -> Type) (TyFun [a6989586621679472942] [a6989586621679472942] -> Type))
data DropWhileEndSym1 (l_a1ZE8 :: TyFun a6989586621679472942 Bool -> Type) (l_a1ZE7 :: TyFun [a6989586621679472942] [a6989586621679472942])
type DropWhileEndSym2 (t_a1ZE5 :: TyFun a6989586621679472942 Bool -> Type) (t_a1ZE6 :: [a6989586621679472942]) = DropWhileEnd t_a1ZE5 t_a1ZE6
data SpanSym0 (l_a1Z0j :: TyFun (TyFun a6989586621679472941 Bool -> Type) (TyFun [a6989586621679472941] ([a6989586621679472941], [a6989586621679472941]) -> Type))
data SpanSym1 (l_a1Z0h :: TyFun a6989586621679472941 Bool -> Type) (l_a1Z0g :: TyFun [a6989586621679472941] ([a6989586621679472941], [a6989586621679472941]))
type SpanSym2 (t_a1Z0e :: TyFun a6989586621679472941 Bool -> Type) (t_a1Z0f :: [a6989586621679472941]) = Span t_a1Z0e t_a1Z0f
data BreakSym0 (l_a1YYO :: TyFun (TyFun a6989586621679472940 Bool -> Type) (TyFun [a6989586621679472940] ([a6989586621679472940], [a6989586621679472940]) -> Type))
data BreakSym1 (l_a1YYM :: TyFun a6989586621679472940 Bool -> Type) (l_a1YYL :: TyFun [a6989586621679472940] ([a6989586621679472940], [a6989586621679472940]))
type BreakSym2 (t_a1YYJ :: TyFun a6989586621679472940 Bool -> Type) (t_a1YYK :: [a6989586621679472940]) = Break t_a1YYJ t_a1YYK
data ElemSym0 (l_a1Zf5 :: TyFun a6989586621679473001 (TyFun [a6989586621679473001] Bool -> Type))
data ElemSym1 (l_a1Zf3 :: a6989586621679473001) (l_a1Zf2 :: TyFun [a6989586621679473001] Bool)
type ElemSym2 (t_a1Zf0 :: a6989586621679473001) (t_a1Zf1 :: [a6989586621679473001]) = Elem t_a1Zf0 t_a1Zf1
data NotElemSym0 (l_a1ZeT :: TyFun a6989586621679473000 (TyFun [a6989586621679473000] Bool -> Type))
data NotElemSym1 (l_a1ZeR :: a6989586621679473000) (l_a1ZeQ :: TyFun [a6989586621679473000] Bool)
type NotElemSym2 (t_a1ZeO :: a6989586621679473000) (t_a1ZeP :: [a6989586621679473000]) = NotElem t_a1ZeO t_a1ZeP
data ZipSym0 (l_a1Zdb :: TyFun [a6989586621679472998] (TyFun [b6989586621679472999] [(a6989586621679472998, b6989586621679472999)] -> Type))
data ZipSym1 (l_a1Zd9 :: [a6989586621679472998]) (l_a1Zd8 :: TyFun [b6989586621679472999] [(a6989586621679472998, b6989586621679472999)])
type ZipSym2 (t_a1Zd6 :: [a6989586621679472998]) (t_a1Zd7 :: [b6989586621679472999]) = Zip t_a1Zd6 t_a1Zd7
data Zip3Sym0 (l_a1ZcV :: TyFun [a6989586621679472995] (TyFun [b6989586621679472996] (TyFun [c6989586621679472997] [(a6989586621679472995, b6989586621679472996, c6989586621679472997)] -> Type) -> Type))
data Zip3Sym1 (l_a1ZcT :: [a6989586621679472995]) (l_a1ZcS :: TyFun [b6989586621679472996] (TyFun [c6989586621679472997] [(a6989586621679472995, b6989586621679472996, c6989586621679472997)] -> Type))
data Zip3Sym2 (l_a1ZcP :: [a6989586621679472995]) (l_a1ZcQ :: [b6989586621679472996]) (l_a1ZcO :: TyFun [c6989586621679472997] [(a6989586621679472995, b6989586621679472996, c6989586621679472997)])
type Zip3Sym3 (t_a1ZcL :: [a6989586621679472995]) (t_a1ZcM :: [b6989586621679472996]) (t_a1ZcN :: [c6989586621679472997]) = Zip3 t_a1ZcL t_a1ZcM t_a1ZcN
data ZipWithSym0 (l_a1ZcB :: TyFun (TyFun a6989586621679472992 (TyFun b6989586621679472993 c6989586621679472994 -> Type) -> Type) (TyFun [a6989586621679472992] (TyFun [b6989586621679472993] [c6989586621679472994] -> Type) -> Type))
data ZipWithSym1 (l_a1Zcz :: TyFun a6989586621679472992 (TyFun b6989586621679472993 c6989586621679472994 -> Type) -> Type) (l_a1Zcy :: TyFun [a6989586621679472992] (TyFun [b6989586621679472993] [c6989586621679472994] -> Type))
data ZipWithSym2 (l_a1Zcv :: TyFun a6989586621679472992 (TyFun b6989586621679472993 c6989586621679472994 -> Type) -> Type) (l_a1Zcw :: [a6989586621679472992]) (l_a1Zcu :: TyFun [b6989586621679472993] [c6989586621679472994])
type ZipWithSym3 (t_a1Zcr :: TyFun a6989586621679472992 (TyFun b6989586621679472993 c6989586621679472994 -> Type) -> Type) (t_a1Zcs :: [a6989586621679472992]) (t_a1Zct :: [b6989586621679472993]) = ZipWith t_a1Zcr t_a1Zcs t_a1Zct
data ZipWith3Sym0 (l_a1Zce :: TyFun (TyFun a6989586621679472988 (TyFun b6989586621679472989 (TyFun c6989586621679472990 d6989586621679472991 -> Type) -> Type) -> Type) (TyFun [a6989586621679472988] (TyFun [b6989586621679472989] (TyFun [c6989586621679472990] [d6989586621679472991] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1Zcc :: TyFun a6989586621679472988 (TyFun b6989586621679472989 (TyFun c6989586621679472990 d6989586621679472991 -> Type) -> Type) -> Type) (l_a1Zcb :: TyFun [a6989586621679472988] (TyFun [b6989586621679472989] (TyFun [c6989586621679472990] [d6989586621679472991] -> Type) -> Type))
data ZipWith3Sym2 (l_a1Zc8 :: TyFun a6989586621679472988 (TyFun b6989586621679472989 (TyFun c6989586621679472990 d6989586621679472991 -> Type) -> Type) -> Type) (l_a1Zc9 :: [a6989586621679472988]) (l_a1Zc7 :: TyFun [b6989586621679472989] (TyFun [c6989586621679472990] [d6989586621679472991] -> Type))
data ZipWith3Sym3 (l_a1Zc3 :: TyFun a6989586621679472988 (TyFun b6989586621679472989 (TyFun c6989586621679472990 d6989586621679472991 -> Type) -> Type) -> Type) (l_a1Zc4 :: [a6989586621679472988]) (l_a1Zc5 :: [b6989586621679472989]) (l_a1Zc2 :: TyFun [c6989586621679472990] [d6989586621679472991])
data UnzipSym0 (l_a1Zbv :: TyFun [(a6989586621679472986, b6989586621679472987)] ([a6989586621679472986], [b6989586621679472987]))
type UnzipSym1 (t_a1Zbu :: [(a6989586621679472986, b6989586621679472987)]) = Unzip t_a1Zbu
data UnlinesSym0 (l_a1Z8v :: TyFun [Symbol] Symbol)
type UnlinesSym1 (t_a1Z8u :: [Symbol]) = Unlines t_a1Z8u
data UnwordsSym0 (l_a1Z89 :: TyFun [Symbol] Symbol)
type UnwordsSym1 (t_a1Z88 :: [Symbol]) = Unwords t_a1Z88
-- | 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_a1jCf => POrd (a_a1jCf :: Type) where {
type family Compare (arg_a1k20 :: a_a1jCf) (arg_a1k21 :: a_a1jCf) :: Ordering;
type family (<) (arg_a1k29 :: a_a1jCf) (arg_a1k2a :: a_a1jCf) :: Bool;
type family (<=) (arg_a1k2i :: a_a1jCf) (arg_a1k2j :: a_a1jCf) :: Bool;
type family (>) (arg_a1k2r :: a_a1jCf) (arg_a1k2s :: a_a1jCf) :: Bool;
type family (>=) (arg_a1k2A :: a_a1jCf) (arg_a1k2B :: a_a1jCf) :: Bool;
type family Max (arg_a1k2J :: a_a1jCf) (arg_a1k2K :: a_a1jCf) :: a_a1jCf;
type family Min (arg_a1k2S :: a_a1jCf) (arg_a1k2T :: a_a1jCf) :: a_a1jCf;
type Compare a_a1k3y a_a1k3z =
Apply (Apply Compare_6989586621679325222Sym0 a_a1k3y) a_a1k3z;
type (<) a_a1k45 a_a1k46 =
Apply (Apply TFHelper_6989586621679325255Sym0 a_a1k45) a_a1k46;
type (<=) a_a1k4C a_a1k4D =
Apply (Apply TFHelper_6989586621679325288Sym0 a_a1k4C) a_a1k4D;
type (>) a_a1k59 a_a1k5a =
Apply (Apply TFHelper_6989586621679325321Sym0 a_a1k59) a_a1k5a;
type (>=) a_a1k5G a_a1k5H =
Apply (Apply TFHelper_6989586621679325354Sym0 a_a1k5G) a_a1k5H;
type Max a_a1k6d a_a1k6e =
Apply (Apply Max_6989586621679325387Sym0 a_a1k6d) a_a1k6e;
type Min a_a1k6K a_a1k6L =
Apply (Apply Min_6989586621679325420Sym0 a_a1k6K) a_a1k6L;
}
class PBounded (a_a3MUx :: Type) where {
type family MinBound :: a_a3MUx;
type family MaxBound :: a_a3MUx;
}
class PEnum (a_a3NX6 :: Type) where {
type family ToEnum (arg_a3O6I :: Nat) :: a_a3NX6;
type family FromEnum (arg_a3O6M :: a_a3NX6) :: Nat;
type Succ a_a3O7w = Apply Succ_6989586621679917443Sym0 a_a3O7w;
type Pred a_a3O7J = Apply Pred_6989586621679917456Sym0 a_a3O7J;
type EnumFromTo a_a3O80 a_a3O81 =
Apply (Apply EnumFromTo_6989586621679917474Sym0 a_a3O80) a_a3O81;
type EnumFromThenTo a_a3O8t a_a3O8u a_a3O8v =
Apply (Apply (Apply EnumFromThenTo_6989586621679917504Sym0 a_a3O8t) a_a3O8u) a_a3O8v;
}
class PShow (a_a31kk :: Type) where {
type family ShowsPrec (arg_a31QY :: Nat) (arg_a31QZ :: a_a31kk) (arg_a31R0 :: Symbol) :: Symbol;
type family Show_ (arg_a31Rd :: a_a31kk) :: Symbol;
type family ShowList (arg_a31Rh :: [a_a31kk]) (arg_a31Ri :: Symbol) :: Symbol;
type ShowsPrec a_a31RH a_a31RI a_a31RJ =
Apply (Apply (Apply ShowsPrec_6989586621679731952Sym0 a_a31RH) a_a31RI) a_a31RJ;
type Show_ a_a31S3 = Apply Show__6989586621679731972Sym0 a_a31S3;
type ShowList a_a31Sk a_a31Sl =
Apply (Apply ShowList_6989586621679731990Sym0 a_a31Sk) a_a31Sl;
}
-- | 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_a1Ezp :: TyFun k06989586621679403140 k6989586621679403141) type ErrorSym1 (t_a1Ezo :: k06989586621679403140) = Error t_a1Ezo -- | The promotion of undefined. type UndefinedSym0 = Undefined type TrueSym0 = True type FalseSym0 = False data (==@#@$) (l_a1gzJ :: TyFun a6989586621679311772 (TyFun a6989586621679311772 Bool -> Type)) data (==@#@$$) (l_a1gzH :: a6989586621679311772) (l_a1gzG :: TyFun a6989586621679311772 Bool) type (==@#@$$$) (t_a1gzE :: a6989586621679311772) (t_a1gzF :: a6989586621679311772) = (==) t_a1gzE t_a1gzF data (>@#@$) (l_a1k2y :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Bool -> Type)) data (>@#@$$) (l_a1k2w :: a6989586621679323527) (l_a1k2v :: TyFun a6989586621679323527 Bool) type (>@#@$$$) (t_a1k2t :: a6989586621679323527) (t_a1k2u :: a6989586621679323527) = (>) t_a1k2t t_a1k2u type LTSym0 = LT type EQSym0 = EQ type GTSym0 = GT type Tuple0Sym0 = '() data Tuple2Sym0 (l_a13Ee :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type)) data Tuple2Sym1 (l_a13Ec :: a3530822107858468865) (l_a13Eb :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866)) type Tuple2Sym2 (t_a13E9 :: a3530822107858468865) (t_a13Ea :: b3530822107858468866) = '(t_a13E9, t_a13Ea) data Tuple3Sym0 (l_a13EE :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type)) data Tuple3Sym1 (l_a13EC :: a3530822107858468865) (l_a13EB :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type)) data Tuple3Sym2 (l_a13Ey :: a3530822107858468865) (l_a13Ez :: b3530822107858468866) (l_a13Ex :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867)) type Tuple3Sym3 (t_a13Eu :: a3530822107858468865) (t_a13Ev :: b3530822107858468866) (t_a13Ew :: c3530822107858468867) = '(t_a13Eu, t_a13Ev, t_a13Ew) data Tuple4Sym0 (l_a13Ff :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type)) data Tuple4Sym1 (l_a13Fd :: a3530822107858468865) (l_a13Fc :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type)) data Tuple4Sym2 (l_a13F9 :: a3530822107858468865) (l_a13Fa :: b3530822107858468866) (l_a13F8 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type)) data Tuple4Sym3 (l_a13F4 :: a3530822107858468865) (l_a13F5 :: b3530822107858468866) (l_a13F6 :: c3530822107858468867) (l_a13F3 :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868)) type Tuple4Sym4 (t_a13EZ :: a3530822107858468865) (t_a13F0 :: b3530822107858468866) (t_a13F1 :: c3530822107858468867) (t_a13F2 :: d3530822107858468868) = '(t_a13EZ, t_a13F0, t_a13F1, t_a13F2) data Tuple5Sym0 (l_a13G2 :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type)) data Tuple5Sym1 (l_a13G0 :: a3530822107858468865) (l_a13FZ :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type)) data Tuple5Sym2 (l_a13FW :: a3530822107858468865) (l_a13FX :: b3530822107858468866) (l_a13FV :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type)) data Tuple5Sym3 (l_a13FR :: a3530822107858468865) (l_a13FS :: b3530822107858468866) (l_a13FT :: c3530822107858468867) (l_a13FQ :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type)) data Tuple5Sym4 (l_a13FL :: a3530822107858468865) (l_a13FM :: b3530822107858468866) (l_a13FN :: c3530822107858468867) (l_a13FO :: d3530822107858468868) (l_a13FK :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869)) type Tuple5Sym5 (t_a13FF :: a3530822107858468865) (t_a13FG :: b3530822107858468866) (t_a13FH :: c3530822107858468867) (t_a13FI :: d3530822107858468868) (t_a13FJ :: e3530822107858468869) = '(t_a13FF, t_a13FG, t_a13FH, t_a13FI, t_a13FJ) data Tuple6Sym0 (l_a13H2 :: 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_a13H0 :: a3530822107858468865) (l_a13GZ :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type)) data Tuple6Sym2 (l_a13GW :: a3530822107858468865) (l_a13GX :: b3530822107858468866) (l_a13GV :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type)) data Tuple6Sym3 (l_a13GR :: a3530822107858468865) (l_a13GS :: b3530822107858468866) (l_a13GT :: c3530822107858468867) (l_a13GQ :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type)) data Tuple6Sym4 (l_a13GL :: a3530822107858468865) (l_a13GM :: b3530822107858468866) (l_a13GN :: c3530822107858468867) (l_a13GO :: d3530822107858468868) (l_a13GK :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type)) data Tuple6Sym5 (l_a13GE :: a3530822107858468865) (l_a13GF :: b3530822107858468866) (l_a13GG :: c3530822107858468867) (l_a13GH :: d3530822107858468868) (l_a13GI :: e3530822107858468869) (l_a13GD :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870)) type Tuple6Sym6 (t_a13Gx :: a3530822107858468865) (t_a13Gy :: b3530822107858468866) (t_a13Gz :: c3530822107858468867) (t_a13GA :: d3530822107858468868) (t_a13GB :: e3530822107858468869) (t_a13GC :: f3530822107858468870) = '(t_a13Gx, t_a13Gy, t_a13Gz, t_a13GA, t_a13GB, t_a13GC) data Tuple7Sym0 (l_a13Ig :: 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_a13Ie :: a3530822107858468865) (l_a13Id :: 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_a13Ia :: a3530822107858468865) (l_a13Ib :: b3530822107858468866) (l_a13I9 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type)) data Tuple7Sym3 (l_a13I5 :: a3530822107858468865) (l_a13I6 :: b3530822107858468866) (l_a13I7 :: c3530822107858468867) (l_a13I4 :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type)) data Tuple7Sym4 (l_a13HZ :: a3530822107858468865) (l_a13I0 :: b3530822107858468866) (l_a13I1 :: c3530822107858468867) (l_a13I2 :: d3530822107858468868) (l_a13HY :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type)) data Tuple7Sym5 (l_a13HS :: a3530822107858468865) (l_a13HT :: b3530822107858468866) (l_a13HU :: c3530822107858468867) (l_a13HV :: d3530822107858468868) (l_a13HW :: e3530822107858468869) (l_a13HR :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type)) data Tuple7Sym6 (l_a13HK :: a3530822107858468865) (l_a13HL :: b3530822107858468866) (l_a13HM :: c3530822107858468867) (l_a13HN :: d3530822107858468868) (l_a13HO :: e3530822107858468869) (l_a13HP :: f3530822107858468870) (l_a13HJ :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871)) type Tuple7Sym7 (t_a13HC :: a3530822107858468865) (t_a13HD :: b3530822107858468866) (t_a13HE :: c3530822107858468867) (t_a13HF :: d3530822107858468868) (t_a13HG :: e3530822107858468869) (t_a13HH :: f3530822107858468870) (t_a13HI :: g3530822107858468871) = '(t_a13HC, t_a13HD, t_a13HE, t_a13HF, t_a13HG, t_a13HH, t_a13HI) data CompareSym0 (l_a1k27 :: TyFun a6989586621679323527 (TyFun a6989586621679323527 Ordering -> Type)) data CompareSym1 (l_a1k25 :: a6989586621679323527) (l_a1k24 :: TyFun a6989586621679323527 Ordering) type CompareSym2 (t_a1k22 :: a6989586621679323527) (t_a1k23 :: a6989586621679323527) = Compare t_a1k22 t_a1k23 data ThenCmpSym0 (l_a1lPI :: TyFun Ordering (TyFun Ordering Ordering -> Type)) data ThenCmpSym1 (l_a1lPG :: Ordering) (l_a1lPF :: TyFun Ordering Ordering) type ThenCmpSym2 (t_a1lPD :: Ordering) (t_a1lPE :: Ordering) = ThenCmp t_a1lPD t_a1lPE data FoldlSym0 (l_a16BK :: TyFun (TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (TyFun b6989586621679273480 (TyFun [a6989586621679273479] b6989586621679273480 -> Type) -> Type)) data FoldlSym1 (l_a16BI :: TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (l_a16BH :: TyFun b6989586621679273480 (TyFun [a6989586621679273479] b6989586621679273480 -> Type)) data FoldlSym2 (l_a16BE :: TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (l_a16BF :: b6989586621679273480) (l_a16BD :: TyFun [a6989586621679273479] b6989586621679273480) type FoldlSym3 (t_a16BA :: TyFun b6989586621679273480 (TyFun a6989586621679273479 b6989586621679273480 -> Type) -> Type) (t_a16BB :: b6989586621679273480) (t_a16BC :: [a6989586621679273479]) = Foldl t_a16BA t_a16BB t_a16BC type MinBoundSym0 = MinBound type MaxBoundSym0 = MaxBound data ShowsPrecSym0 (l_a31Rb :: TyFun Nat (TyFun a6989586621679729880 (TyFun Symbol Symbol -> Type) -> Type)) data ShowsPrecSym1 (l_a31R9 :: Nat) (l_a31R8 :: TyFun a6989586621679729880 (TyFun Symbol Symbol -> Type)) data ShowsPrecSym2 (l_a31R5 :: Nat) (l_a31R6 :: a6989586621679729880) (l_a31R4 :: TyFun Symbol Symbol) type ShowsPrecSym3 (t_a31R1 :: Nat) (t_a31R2 :: a6989586621679729880) (t_a31R3 :: Symbol) = ShowsPrec t_a31R1 t_a31R2 t_a31R3 data ShowStringSym0 (l_a31Oy :: TyFun Symbol (TyFun Symbol Symbol -> Type)) data ShowStringSym1 (l_a31Ow :: Symbol) (l_a31Ov :: TyFun Symbol Symbol) type ShowStringSym2 (t_a31Ot :: Symbol) (t_a31Ou :: Symbol) = ShowString t_a31Ot t_a31Ou data ShowParenSym0 (l_a31Pa :: TyFun Bool (TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type) -> Type)) data ShowParenSym1 (l_a31P8 :: Bool) (l_a31P7 :: TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type)) data ShowParenSym2 (l_a31P4 :: Bool) (l_a31P5 :: TyFun Symbol Symbol -> Type) (l_a31P3 :: TyFun Symbol Symbol) data ShowSpaceSym0 (l_a31Oa :: TyFun Symbol Symbol) type ShowSpaceSym1 (t_a31O9 :: Symbol) = ShowSpace t_a31O9 data ShowCharSym0 (l_a31OU :: TyFun Symbol (TyFun Symbol Symbol -> Type)) data ShowCharSym1 (l_a31OS :: Symbol) (l_a31OR :: TyFun Symbol Symbol) type ShowCharSym2 (t_a31OP :: Symbol) (t_a31OQ :: Symbol) = ShowChar t_a31OP t_a31OQ data ShowCommaSpaceSym0 (l_a31OH :: TyFun Symbol Symbol) type ShowCommaSpaceSym1 (t_a31OG :: Symbol) = ShowCommaSpace t_a31OG data (.@#@$) (l_a1Qa7 :: TyFun (TyFun b6989586621679448463 c6989586621679448464 -> Type) (TyFun (TyFun a6989586621679448465 b6989586621679448463 -> Type) (TyFun a6989586621679448465 c6989586621679448464 -> Type) -> Type)) data (.@#@$$) (l_a1Qa5 :: TyFun b6989586621679448463 c6989586621679448464 -> Type) (l_a1Qa4 :: TyFun (TyFun a6989586621679448465 b6989586621679448463 -> Type) (TyFun a6989586621679448465 c6989586621679448464 -> Type)) data (.@#@$$$) (l_a1Qa1 :: TyFun b6989586621679448463 c6989586621679448464 -> Type) (l_a1Qa2 :: TyFun a6989586621679448465 b6989586621679448463 -> Type) (l_a1Qa0 :: TyFun a6989586621679448465 c6989586621679448464) type (.@#@$$$$) (t_a1Q9X :: TyFun b6989586621679448463 c6989586621679448464 -> Type) (t_a1Q9Y :: TyFun a6989586621679448465 b6989586621679448463 -> Type) (t_a1Q9Z :: a6989586621679448465) = (:.) t_a1Q9X t_a1Q9Y t_a1Q9Z data (:@#@$) (l_a13D9 :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type)) data (:@#@$$) (l_a13D7 :: a3530822107858468865) (l_a13D6 :: TyFun [a3530822107858468865] [a3530822107858468865]) type (:@#@$$$) (t_a13D4 :: a3530822107858468865) (t_a13D5 :: [a3530822107858468865]) = (:) t_a13D4 t_a13D5 -- | 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]