-- 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 <i>Dependently Typed
--   Programming with Singletons</i>, published at the Haskell Symposium,
--   2012.
--   (<a>https://cs.brynmawr.edu/~rae/papers/2012/singletons/paper.pdf</a>)
--   Version 1.0 and onwards works a lot harder to promote functions. See
--   the paper published at Haskell Symposium, 2014:
--   <a>https://cs.brynmawr.edu/~rae/papers/2014/promotion/promotion.pdf</a>.
@package singletons
@version 2.4.1


-- | Defines the class <a>SDecide</a>, allowing for decidable equality over
--   singletons.
module Data.Singletons.Decide

-- | Members of the <a>SDecide</a> "kind" class support decidable equality.
--   Instances of this class are generated alongside singleton definitions
--   for datatypes that derive an <a>Eq</a> 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 <tt>a :~: b</tt> is inhabited by some
--   terminating value, then the type <tt>a</tt> is the same as the type
--   <tt>b</tt>. To use this equality in practice, pattern-match on the
--   <tt>a :~: b</tt> to get out the <tt>Refl</tt> constructor; in the body
--   of the pattern-match, the compiler knows that <tt>a ~ b</tt>.
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 <a>Void</a>, a function
--   that type-checks at <tt>a -&gt; Void</tt> shows that objects of type
--   <tt>a</tt> can never exist. Thus, we say that <tt>a</tt> is
--   <a>Refuted</a>
type Refuted a = (a -> Void)

-- | A <a>Decision</a> about a type <tt>a</tt> is either a proof of
--   existence or a proof that <tt>a</tt> cannot exist.
data Decision a

-- | Witness for <tt>a</tt>
Proved :: a -> Decision a

-- | Proof that no <tt>a</tt> 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 <a>Sigma</a>, 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 <a>Sigma</a>.
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 <a>projSigma2</a> would be closer to:
--   
--   <pre>
--   <a>projSigma2</a> :: <a>Sing</a> (sig :: <a>Sigma</a> s t) -&gt; t @@ ProjSigma1 sig
--   </pre>
--   
--   But promoting <a>projSigma1</a> 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 <a>Sigma</a> 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 <a>Sigma</a> 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
--   <a>Void</a>, including a singleton version of all the definitions in
--   <tt>Data.Void</tt>.
--   
--   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 <tt>Data.Void</tt>. 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_a1adR :: Void). Sing t_a1adR -> Sing (Apply AbsurdSym0 t_a1adR :: a_a1adG)
data AbsurdSym0 (l_a1adK :: TyFun Void a6989586621679287408)
type AbsurdSym1 (t_a1adJ :: Void) = Absurd t_a1adJ
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Void.AbsurdSym0


-- | Defines promoted functions and datatypes relating to <tt>Void</tt>,
--   including a promoted version of all the definitions in
--   <tt>Data.Void</tt>.
--   
--   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 <tt>Data.Void</tt>. 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_a1adK :: TyFun Void a6989586621679287408)
type AbsurdSym1 (t_a1adJ :: Void) = Absurd t_a1adJ


-- | Defines functions and datatypes relating to the singleton for tuples,
--   including a singletons version of all the definitions in
--   <tt>Data.Tuple</tt>.
--   
--   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 <tt>Data.Tuple</tt>. 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_a1aqY :: (a_a1aoS, b_a1aoT)). Sing t_a1aqY -> Sing (Apply FstSym0 t_a1aqY :: a_a1aoS)
sSnd :: forall (t_a1aqX :: (a_a1aoQ, b_a1aoR)). Sing t_a1aqX -> Sing (Apply SndSym0 t_a1aqX :: b_a1aoR)
sCurry :: forall (t_a1aqU :: TyFun (a_a1aoN, b_a1aoO) c_a1aoP -> Type) (t_a1aqV :: a_a1aoN) (t_a1aqW :: b_a1aoO). Sing t_a1aqU -> Sing t_a1aqV -> Sing t_a1aqW -> Sing (Apply (Apply (Apply CurrySym0 t_a1aqU) t_a1aqV) t_a1aqW :: c_a1aoP)
sUncurry :: forall (t_a1aqZ :: TyFun a_a1aoK (TyFun b_a1aoL c_a1aoM -> Type) -> Type) (t_a1ar0 :: (a_a1aoK, b_a1aoL)). Sing t_a1aqZ -> Sing t_a1ar0 -> Sing (Apply (Apply UncurrySym0 t_a1aqZ) t_a1ar0 :: c_a1aoM)
sSwap :: forall (t_a1aqT :: (a_a1aoI, b_a1aoJ)). Sing t_a1aqT -> Sing (Apply SwapSym0 t_a1aqT :: (b_a1aoJ, a_a1aoI))
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_a10vX :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_a10vV :: a3530822107858468865) (l_a10vU :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_a10vS :: a3530822107858468865) (t_a10vT :: b3530822107858468866) = '(t_a10vS, t_a10vT)
data Tuple3Sym0 (l_a10wn :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_a10wl :: a3530822107858468865) (l_a10wk :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_a10wh :: a3530822107858468865) (l_a10wi :: b3530822107858468866) (l_a10wg :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_a10wd :: a3530822107858468865) (t_a10we :: b3530822107858468866) (t_a10wf :: c3530822107858468867) = '(t_a10wd, t_a10we, t_a10wf)
data Tuple4Sym0 (l_a10wY :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_a10wW :: a3530822107858468865) (l_a10wV :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_a10wS :: a3530822107858468865) (l_a10wT :: b3530822107858468866) (l_a10wR :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_a10wN :: a3530822107858468865) (l_a10wO :: b3530822107858468866) (l_a10wP :: c3530822107858468867) (l_a10wM :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_a10wI :: a3530822107858468865) (t_a10wJ :: b3530822107858468866) (t_a10wK :: c3530822107858468867) (t_a10wL :: d3530822107858468868) = '(t_a10wI, t_a10wJ, t_a10wK, t_a10wL)
data Tuple5Sym0 (l_a10xL :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_a10xJ :: a3530822107858468865) (l_a10xI :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_a10xF :: a3530822107858468865) (l_a10xG :: b3530822107858468866) (l_a10xE :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_a10xA :: a3530822107858468865) (l_a10xB :: b3530822107858468866) (l_a10xC :: c3530822107858468867) (l_a10xz :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_a10xu :: a3530822107858468865) (l_a10xv :: b3530822107858468866) (l_a10xw :: c3530822107858468867) (l_a10xx :: d3530822107858468868) (l_a10xt :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_a10xo :: a3530822107858468865) (t_a10xp :: b3530822107858468866) (t_a10xq :: c3530822107858468867) (t_a10xr :: d3530822107858468868) (t_a10xs :: e3530822107858468869) = '(t_a10xo, t_a10xp, t_a10xq, t_a10xr, t_a10xs)
data Tuple6Sym0 (l_a10yL :: 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_a10yJ :: a3530822107858468865) (l_a10yI :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_a10yF :: a3530822107858468865) (l_a10yG :: b3530822107858468866) (l_a10yE :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_a10yA :: a3530822107858468865) (l_a10yB :: b3530822107858468866) (l_a10yC :: c3530822107858468867) (l_a10yz :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_a10yu :: a3530822107858468865) (l_a10yv :: b3530822107858468866) (l_a10yw :: c3530822107858468867) (l_a10yx :: d3530822107858468868) (l_a10yt :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_a10yn :: a3530822107858468865) (l_a10yo :: b3530822107858468866) (l_a10yp :: c3530822107858468867) (l_a10yq :: d3530822107858468868) (l_a10yr :: e3530822107858468869) (l_a10ym :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_a10yg :: a3530822107858468865) (t_a10yh :: b3530822107858468866) (t_a10yi :: c3530822107858468867) (t_a10yj :: d3530822107858468868) (t_a10yk :: e3530822107858468869) (t_a10yl :: f3530822107858468870) = '(t_a10yg, t_a10yh, t_a10yi, t_a10yj, t_a10yk, t_a10yl)
data Tuple7Sym0 (l_a10zZ :: 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_a10zX :: a3530822107858468865) (l_a10zW :: 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_a10zT :: a3530822107858468865) (l_a10zU :: b3530822107858468866) (l_a10zS :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_a10zO :: a3530822107858468865) (l_a10zP :: b3530822107858468866) (l_a10zQ :: c3530822107858468867) (l_a10zN :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_a10zI :: a3530822107858468865) (l_a10zJ :: b3530822107858468866) (l_a10zK :: c3530822107858468867) (l_a10zL :: d3530822107858468868) (l_a10zH :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_a10zB :: a3530822107858468865) (l_a10zC :: b3530822107858468866) (l_a10zD :: c3530822107858468867) (l_a10zE :: d3530822107858468868) (l_a10zF :: e3530822107858468869) (l_a10zA :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_a10zt :: a3530822107858468865) (l_a10zu :: b3530822107858468866) (l_a10zv :: c3530822107858468867) (l_a10zw :: d3530822107858468868) (l_a10zx :: e3530822107858468869) (l_a10zy :: f3530822107858468870) (l_a10zs :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_a10zl :: a3530822107858468865) (t_a10zm :: b3530822107858468866) (t_a10zn :: c3530822107858468867) (t_a10zo :: d3530822107858468868) (t_a10zp :: e3530822107858468869) (t_a10zq :: f3530822107858468870) (t_a10zr :: g3530822107858468871) = '(t_a10zl, t_a10zm, t_a10zn, t_a10zo, t_a10zp, t_a10zq, t_a10zr)
data FstSym0 (l_a1aqE :: TyFun (a6989586621679288102, b6989586621679288103) a6989586621679288102)
type FstSym1 (t_a1aqD :: (a6989586621679288102, b6989586621679288103)) = Fst t_a1aqD
data SndSym0 (l_a1aqz :: TyFun (a6989586621679288100, b6989586621679288101) b6989586621679288101)
type SndSym1 (t_a1aqy :: (a6989586621679288100, b6989586621679288101)) = Snd t_a1aqy
data CurrySym0 (l_a1aqq :: TyFun (TyFun (a6989586621679288097, b6989586621679288098) c6989586621679288099 -> Type) (TyFun a6989586621679288097 (TyFun b6989586621679288098 c6989586621679288099 -> Type) -> Type))
data CurrySym1 (l_a1aqo :: TyFun (a6989586621679288097, b6989586621679288098) c6989586621679288099 -> Type) (l_a1aqn :: TyFun a6989586621679288097 (TyFun b6989586621679288098 c6989586621679288099 -> Type))
data CurrySym2 (l_a1aqk :: TyFun (a6989586621679288097, b6989586621679288098) c6989586621679288099 -> Type) (l_a1aql :: a6989586621679288097) (l_a1aqj :: TyFun b6989586621679288098 c6989586621679288099)
type CurrySym3 (t_a1aqg :: TyFun (a6989586621679288097, b6989586621679288098) c6989586621679288099 -> Type) (t_a1aqh :: a6989586621679288097) (t_a1aqi :: b6989586621679288098) = Curry t_a1aqg t_a1aqh t_a1aqi
data UncurrySym0 (l_a1aqN :: TyFun (TyFun a6989586621679288094 (TyFun b6989586621679288095 c6989586621679288096 -> Type) -> Type) (TyFun (a6989586621679288094, b6989586621679288095) c6989586621679288096 -> Type))
data UncurrySym1 (l_a1aqL :: TyFun a6989586621679288094 (TyFun b6989586621679288095 c6989586621679288096 -> Type) -> Type) (l_a1aqK :: TyFun (a6989586621679288094, b6989586621679288095) c6989586621679288096)
type UncurrySym2 (t_a1aqI :: TyFun a6989586621679288094 (TyFun b6989586621679288095 c6989586621679288096 -> Type) -> Type) (t_a1aqJ :: (a6989586621679288094, b6989586621679288095)) = Uncurry t_a1aqI t_a1aqJ
data SwapSym0 (l_a1aqb :: TyFun (a6989586621679288092, b6989586621679288093) (b6989586621679288093, a6989586621679288092))
type SwapSym1 (t_a1aqa :: (a6989586621679288092, b6989586621679288093)) = Swap t_a1aqa
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 <tt>Data.Tuple</tt>.
--   
--   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 <tt>Data.Tuple</tt>. 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_a10vX :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_a10vV :: a3530822107858468865) (l_a10vU :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_a10vS :: a3530822107858468865) (t_a10vT :: b3530822107858468866) = '(t_a10vS, t_a10vT)
data Tuple3Sym0 (l_a10wn :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_a10wl :: a3530822107858468865) (l_a10wk :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_a10wh :: a3530822107858468865) (l_a10wi :: b3530822107858468866) (l_a10wg :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_a10wd :: a3530822107858468865) (t_a10we :: b3530822107858468866) (t_a10wf :: c3530822107858468867) = '(t_a10wd, t_a10we, t_a10wf)
data Tuple4Sym0 (l_a10wY :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_a10wW :: a3530822107858468865) (l_a10wV :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_a10wS :: a3530822107858468865) (l_a10wT :: b3530822107858468866) (l_a10wR :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_a10wN :: a3530822107858468865) (l_a10wO :: b3530822107858468866) (l_a10wP :: c3530822107858468867) (l_a10wM :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_a10wI :: a3530822107858468865) (t_a10wJ :: b3530822107858468866) (t_a10wK :: c3530822107858468867) (t_a10wL :: d3530822107858468868) = '(t_a10wI, t_a10wJ, t_a10wK, t_a10wL)
data Tuple5Sym0 (l_a10xL :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_a10xJ :: a3530822107858468865) (l_a10xI :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_a10xF :: a3530822107858468865) (l_a10xG :: b3530822107858468866) (l_a10xE :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_a10xA :: a3530822107858468865) (l_a10xB :: b3530822107858468866) (l_a10xC :: c3530822107858468867) (l_a10xz :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_a10xu :: a3530822107858468865) (l_a10xv :: b3530822107858468866) (l_a10xw :: c3530822107858468867) (l_a10xx :: d3530822107858468868) (l_a10xt :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_a10xo :: a3530822107858468865) (t_a10xp :: b3530822107858468866) (t_a10xq :: c3530822107858468867) (t_a10xr :: d3530822107858468868) (t_a10xs :: e3530822107858468869) = '(t_a10xo, t_a10xp, t_a10xq, t_a10xr, t_a10xs)
data Tuple6Sym0 (l_a10yL :: 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_a10yJ :: a3530822107858468865) (l_a10yI :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_a10yF :: a3530822107858468865) (l_a10yG :: b3530822107858468866) (l_a10yE :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_a10yA :: a3530822107858468865) (l_a10yB :: b3530822107858468866) (l_a10yC :: c3530822107858468867) (l_a10yz :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_a10yu :: a3530822107858468865) (l_a10yv :: b3530822107858468866) (l_a10yw :: c3530822107858468867) (l_a10yx :: d3530822107858468868) (l_a10yt :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_a10yn :: a3530822107858468865) (l_a10yo :: b3530822107858468866) (l_a10yp :: c3530822107858468867) (l_a10yq :: d3530822107858468868) (l_a10yr :: e3530822107858468869) (l_a10ym :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_a10yg :: a3530822107858468865) (t_a10yh :: b3530822107858468866) (t_a10yi :: c3530822107858468867) (t_a10yj :: d3530822107858468868) (t_a10yk :: e3530822107858468869) (t_a10yl :: f3530822107858468870) = '(t_a10yg, t_a10yh, t_a10yi, t_a10yj, t_a10yk, t_a10yl)
data Tuple7Sym0 (l_a10zZ :: 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_a10zX :: a3530822107858468865) (l_a10zW :: 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_a10zT :: a3530822107858468865) (l_a10zU :: b3530822107858468866) (l_a10zS :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_a10zO :: a3530822107858468865) (l_a10zP :: b3530822107858468866) (l_a10zQ :: c3530822107858468867) (l_a10zN :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_a10zI :: a3530822107858468865) (l_a10zJ :: b3530822107858468866) (l_a10zK :: c3530822107858468867) (l_a10zL :: d3530822107858468868) (l_a10zH :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_a10zB :: a3530822107858468865) (l_a10zC :: b3530822107858468866) (l_a10zD :: c3530822107858468867) (l_a10zE :: d3530822107858468868) (l_a10zF :: e3530822107858468869) (l_a10zA :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_a10zt :: a3530822107858468865) (l_a10zu :: b3530822107858468866) (l_a10zv :: c3530822107858468867) (l_a10zw :: d3530822107858468868) (l_a10zx :: e3530822107858468869) (l_a10zy :: f3530822107858468870) (l_a10zs :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_a10zl :: a3530822107858468865) (t_a10zm :: b3530822107858468866) (t_a10zn :: c3530822107858468867) (t_a10zo :: d3530822107858468868) (t_a10zp :: e3530822107858468869) (t_a10zq :: f3530822107858468870) (t_a10zr :: g3530822107858468871) = '(t_a10zl, t_a10zm, t_a10zn, t_a10zo, t_a10zp, t_a10zq, t_a10zr)
data FstSym0 (l_a1aqE :: TyFun (a6989586621679288102, b6989586621679288103) a6989586621679288102)
type FstSym1 (t_a1aqD :: (a6989586621679288102, b6989586621679288103)) = Fst t_a1aqD
data SndSym0 (l_a1aqz :: TyFun (a6989586621679288100, b6989586621679288101) b6989586621679288101)
type SndSym1 (t_a1aqy :: (a6989586621679288100, b6989586621679288101)) = Snd t_a1aqy
data CurrySym0 (l_a1aqq :: TyFun (TyFun (a6989586621679288097, b6989586621679288098) c6989586621679288099 -> Type) (TyFun a6989586621679288097 (TyFun b6989586621679288098 c6989586621679288099 -> Type) -> Type))
data CurrySym1 (l_a1aqo :: TyFun (a6989586621679288097, b6989586621679288098) c6989586621679288099 -> Type) (l_a1aqn :: TyFun a6989586621679288097 (TyFun b6989586621679288098 c6989586621679288099 -> Type))
data CurrySym2 (l_a1aqk :: TyFun (a6989586621679288097, b6989586621679288098) c6989586621679288099 -> Type) (l_a1aql :: a6989586621679288097) (l_a1aqj :: TyFun b6989586621679288098 c6989586621679288099)
type CurrySym3 (t_a1aqg :: TyFun (a6989586621679288097, b6989586621679288098) c6989586621679288099 -> Type) (t_a1aqh :: a6989586621679288097) (t_a1aqi :: b6989586621679288098) = Curry t_a1aqg t_a1aqh t_a1aqi
data UncurrySym0 (l_a1aqN :: TyFun (TyFun a6989586621679288094 (TyFun b6989586621679288095 c6989586621679288096 -> Type) -> Type) (TyFun (a6989586621679288094, b6989586621679288095) c6989586621679288096 -> Type))
data UncurrySym1 (l_a1aqL :: TyFun a6989586621679288094 (TyFun b6989586621679288095 c6989586621679288096 -> Type) -> Type) (l_a1aqK :: TyFun (a6989586621679288094, b6989586621679288095) c6989586621679288096)
type UncurrySym2 (t_a1aqI :: TyFun a6989586621679288094 (TyFun b6989586621679288095 c6989586621679288096 -> Type) -> Type) (t_a1aqJ :: (a6989586621679288094, b6989586621679288095)) = Uncurry t_a1aqI t_a1aqJ
data SwapSym0 (l_a1aqb :: TyFun (a6989586621679288092, b6989586621679288093) (b6989586621679288093, a6989586621679288092))
type SwapSym1 (t_a1aqa :: (a6989586621679288092, b6989586621679288093)) = Swap t_a1aqa


-- | Defines functions and datatypes relating to the singleton for
--   <a>Bool</a>, including a singletons version of all the definitions in
--   <tt>Data.Bool</tt>.
--   
--   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 <tt>Data.Bool</tt>. 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 <a>If</a>. <tt>If True a b</tt> ==&gt; <tt>a</tt>; <tt>If
--   False a b</tt> ==&gt; <tt>b</tt>

-- | Conditional over singletons
sIf :: Sing a -> Sing b -> Sing c -> Sing (If a b c)

-- | Type-level "not". An injective type family since <tt>4.10.0.0</tt>.

-- | 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_a1bns -> a_a1bns -> Bool -> a_a1bns
sBool_ :: forall (t_a1bnR :: a_a1bns) (t_a1bnS :: a_a1bns) (t_a1bnT :: Bool). Sing t_a1bnR -> Sing t_a1bnS -> Sing t_a1bnT -> Sing (Apply (Apply (Apply Bool_Sym0 t_a1bnR) t_a1bnS) t_a1bnT :: a_a1bns)
sOtherwise :: Sing (OtherwiseSym0 :: Bool)
type TrueSym0 = True
type FalseSym0 = False
data NotSym0 (l_a1bC3 :: TyFun Bool Bool)
type NotSym1 (t_a1bC2 :: Bool) = Not t_a1bC2
data (&&@#@$) (l_a1bvX :: TyFun Bool (TyFun Bool Bool -> Type))
data (&&@#@$$) (l_a1bvV :: Bool) (l_a1bvU :: TyFun Bool Bool)
type (&&@#@$$$) (t_a1bvS :: Bool) (t_a1bvT :: Bool) = (&&) t_a1bvS t_a1bvT
data (||@#@$) (l_a1bz9 :: TyFun Bool (TyFun Bool Bool -> Type))
data (||@#@$$) (l_a1bz7 :: Bool) (l_a1bz6 :: TyFun Bool Bool)
type (||@#@$$$) (t_a1bz4 :: Bool) (t_a1bz5 :: Bool) = (||) t_a1bz4 t_a1bz5
data Bool_Sym0 (l_a1bnI :: TyFun a6989586621679291858 (TyFun a6989586621679291858 (TyFun Bool a6989586621679291858 -> Type) -> Type))
data Bool_Sym1 (l_a1bnG :: a6989586621679291858) (l_a1bnF :: TyFun a6989586621679291858 (TyFun Bool a6989586621679291858 -> Type))
data Bool_Sym2 (l_a1bnC :: a6989586621679291858) (l_a1bnD :: a6989586621679291858) (l_a1bnB :: TyFun Bool a6989586621679291858)
type Bool_Sym3 (t_a1bny :: a6989586621679291858) (t_a1bnz :: a6989586621679291858) (t_a1bnA :: Bool) = Bool_ t_a1bny t_a1bnz t_a1bnA
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 <a>Eq</a>. If you supply no definition for
--   '(==)', then it defaults to a use of '(DTE.==)', from
--   <a>Data.Type.Equality</a>.
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 <a>Eq</a>. Unlike the definition for
--   <a>Eq</a>, 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_a1c3n :: TyFun a6989586621679294390 (TyFun a6989586621679294390 Bool -> Type))
data (==@#@$$) (l_a1c3l :: a6989586621679294390) (l_a1c3k :: TyFun a6989586621679294390 Bool)
type (==@#@$$$) (t_a1c3i :: a6989586621679294390) (t_a1c3j :: a6989586621679294390) = (==) t_a1c3i t_a1c3j
data (/=@#@$) (l_a1c3u :: TyFun a6989586621679294390 (TyFun a6989586621679294390 Bool -> Type))
data (/=@#@$$) (l_a1c3s :: a6989586621679294390) (l_a1c3r :: TyFun a6989586621679294390 Bool)
type (/=@#@$$$) (t_a1c3p :: a6989586621679294390) (t_a1c3q :: a6989586621679294390) = (/=) t_a1c3p t_a1c3q
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, <a>POrd</a>, and the singleton
--   version, <a>SOrd</a>.
module Data.Singletons.Prelude.Ord
class PEq a_a1eUq => POrd (a_a1eUq :: Type) where {
    type family Compare (arg_a1flu :: a_a1eUq) (arg_a1flv :: a_a1eUq) :: Ordering;
    type family (<) (arg_a1flD :: a_a1eUq) (arg_a1flE :: a_a1eUq) :: Bool;
    type family (<=) (arg_a1flM :: a_a1eUq) (arg_a1flN :: a_a1eUq) :: Bool;
    type family (>) (arg_a1flV :: a_a1eUq) (arg_a1flW :: a_a1eUq) :: Bool;
    type family (>=) (arg_a1fm4 :: a_a1eUq) (arg_a1fm5 :: a_a1eUq) :: Bool;
    type family Max (arg_a1fmd :: a_a1eUq) (arg_a1fme :: a_a1eUq) :: a_a1eUq;
    type family Min (arg_a1fmm :: a_a1eUq) (arg_a1fmn :: a_a1eUq) :: a_a1eUq;
    type Compare a_a1fn2 a_a1fn3 =
        Apply (Apply Compare_6989586621679307210Sym0 a_a1fn2) a_a1fn3;
    type (<) a_a1fnz a_a1fnA =
        Apply (Apply TFHelper_6989586621679307243Sym0 a_a1fnz) a_a1fnA;
    type (<=) a_a1fo6 a_a1fo7 =
        Apply (Apply TFHelper_6989586621679307276Sym0 a_a1fo6) a_a1fo7;
    type (>) a_a1foD a_a1foE =
        Apply (Apply TFHelper_6989586621679307309Sym0 a_a1foD) a_a1foE;
    type (>=) a_a1fpa a_a1fpb =
        Apply (Apply TFHelper_6989586621679307342Sym0 a_a1fpa) a_a1fpb;
    type Max a_a1fpH a_a1fpI =
        Apply (Apply Max_6989586621679307375Sym0 a_a1fpH) a_a1fpI;
    type Min a_a1fqe a_a1fqf =
        Apply (Apply Min_6989586621679307408Sym0 a_a1fqe) a_a1fqf;
}
class SEq a_a1eUq => SOrd a_a1eUq
sCompare :: forall (t_a1fqv :: a_a1eUq) (t_a1fqw :: a_a1eUq). SOrd a_a1eUq => Sing t_a1fqv -> Sing t_a1fqw -> Sing (Apply (Apply CompareSym0 t_a1fqv) t_a1fqw :: Ordering)
(%<) :: forall (t_a1fqx :: a_a1eUq) (t_a1fqy :: a_a1eUq). SOrd a_a1eUq => Sing t_a1fqx -> Sing t_a1fqy -> Sing (Apply (Apply (<@#@$) t_a1fqx) t_a1fqy :: Bool)
(%<=) :: forall (t_a1fqz :: a_a1eUq) (t_a1fqA :: a_a1eUq). SOrd a_a1eUq => Sing t_a1fqz -> Sing t_a1fqA -> Sing (Apply (Apply (<=@#@$) t_a1fqz) t_a1fqA :: Bool)
(%>) :: forall (t_a1fqB :: a_a1eUq) (t_a1fqC :: a_a1eUq). SOrd a_a1eUq => Sing t_a1fqB -> Sing t_a1fqC -> Sing (Apply (Apply (>@#@$) t_a1fqB) t_a1fqC :: Bool)
(%>=) :: forall (t_a1fqD :: a_a1eUq) (t_a1fqE :: a_a1eUq). SOrd a_a1eUq => Sing t_a1fqD -> Sing t_a1fqE -> Sing (Apply (Apply (>=@#@$) t_a1fqD) t_a1fqE :: Bool)
sMax :: forall (t_a1fqF :: a_a1eUq) (t_a1fqG :: a_a1eUq). SOrd a_a1eUq => Sing t_a1fqF -> Sing t_a1fqG -> Sing (Apply (Apply MaxSym0 t_a1fqF) t_a1fqG :: a_a1eUq)
sMin :: forall (t_a1fqH :: a_a1eUq) (t_a1fqI :: a_a1eUq). SOrd a_a1eUq => Sing t_a1fqH -> Sing t_a1fqI -> Sing (Apply (Apply MinSym0 t_a1fqH) t_a1fqI :: a_a1eUq)
sCompare :: forall (t_a1fqv :: a_a1eUq) (t_a1fqw :: a_a1eUq). (SOrd a_a1eUq, (Apply (Apply CompareSym0 t_a1fqv) t_a1fqw :: Ordering) ~ Apply (Apply Compare_6989586621679307210Sym0 t_a1fqv) t_a1fqw) => Sing t_a1fqv -> Sing t_a1fqw -> Sing (Apply (Apply CompareSym0 t_a1fqv) t_a1fqw :: Ordering)
(%<) :: forall (t_a1fqx :: a_a1eUq) (t_a1fqy :: a_a1eUq). (SOrd a_a1eUq, (Apply (Apply (<@#@$) t_a1fqx) t_a1fqy :: Bool) ~ Apply (Apply TFHelper_6989586621679307243Sym0 t_a1fqx) t_a1fqy) => Sing t_a1fqx -> Sing t_a1fqy -> Sing (Apply (Apply (<@#@$) t_a1fqx) t_a1fqy :: Bool)
(%<=) :: forall (t_a1fqz :: a_a1eUq) (t_a1fqA :: a_a1eUq). (SOrd a_a1eUq, (Apply (Apply (<=@#@$) t_a1fqz) t_a1fqA :: Bool) ~ Apply (Apply TFHelper_6989586621679307276Sym0 t_a1fqz) t_a1fqA) => Sing t_a1fqz -> Sing t_a1fqA -> Sing (Apply (Apply (<=@#@$) t_a1fqz) t_a1fqA :: Bool)
(%>) :: forall (t_a1fqB :: a_a1eUq) (t_a1fqC :: a_a1eUq). (SOrd a_a1eUq, (Apply (Apply (>@#@$) t_a1fqB) t_a1fqC :: Bool) ~ Apply (Apply TFHelper_6989586621679307309Sym0 t_a1fqB) t_a1fqC) => Sing t_a1fqB -> Sing t_a1fqC -> Sing (Apply (Apply (>@#@$) t_a1fqB) t_a1fqC :: Bool)
(%>=) :: forall (t_a1fqD :: a_a1eUq) (t_a1fqE :: a_a1eUq). (SOrd a_a1eUq, (Apply (Apply (>=@#@$) t_a1fqD) t_a1fqE :: Bool) ~ Apply (Apply TFHelper_6989586621679307342Sym0 t_a1fqD) t_a1fqE) => Sing t_a1fqD -> Sing t_a1fqE -> Sing (Apply (Apply (>=@#@$) t_a1fqD) t_a1fqE :: Bool)
sMax :: forall (t_a1fqF :: a_a1eUq) (t_a1fqG :: a_a1eUq). (SOrd a_a1eUq, (Apply (Apply MaxSym0 t_a1fqF) t_a1fqG :: a_a1eUq) ~ Apply (Apply Max_6989586621679307375Sym0 t_a1fqF) t_a1fqG) => Sing t_a1fqF -> Sing t_a1fqG -> Sing (Apply (Apply MaxSym0 t_a1fqF) t_a1fqG :: a_a1eUq)
sMin :: forall (t_a1fqH :: a_a1eUq) (t_a1fqI :: a_a1eUq). (SOrd a_a1eUq, (Apply (Apply MinSym0 t_a1fqH) t_a1fqI :: a_a1eUq) ~ Apply (Apply Min_6989586621679307408Sym0 t_a1fqH) t_a1fqI) => Sing t_a1fqH -> Sing t_a1fqI -> Sing (Apply (Apply MinSym0 t_a1fqH) t_a1fqI :: a_a1eUq)
sComparing :: forall (t_a1fqp :: TyFun b_a1eUg a_a1eUf -> Type) (t_a1fqq :: b_a1eUg) (t_a1fqr :: b_a1eUg). SOrd a_a1eUf => Sing t_a1fqp -> Sing t_a1fqq -> Sing t_a1fqr -> Sing (Apply (Apply (Apply ComparingSym0 t_a1fqp) t_a1fqq) t_a1fqr :: Ordering)
thenCmp :: Ordering -> Ordering -> Ordering
sThenCmp :: forall (t_a1h9h :: Ordering) (t_a1h9i :: Ordering). Sing t_a1h9h -> Sing t_a1h9i -> Sing (Apply (Apply ThenCmpSym0 t_a1h9h) t_a1h9i :: Ordering)

-- | The singleton kind-indexed data family.
data ThenCmpSym0 (l_a1h9c :: TyFun Ordering (TyFun Ordering Ordering -> Type))
data ThenCmpSym1 (l_a1h9a :: Ordering) (l_a1h99 :: TyFun Ordering Ordering)
type ThenCmpSym2 (t_a1h97 :: Ordering) (t_a1h98 :: Ordering) = ThenCmp t_a1h97 t_a1h98
type LTSym0 = LT
type EQSym0 = EQ
type GTSym0 = GT
data CompareSym0 (l_a1flB :: TyFun a6989586621679305434 (TyFun a6989586621679305434 Ordering -> Type))
data CompareSym1 (l_a1flz :: a6989586621679305434) (l_a1fly :: TyFun a6989586621679305434 Ordering)
type CompareSym2 (t_a1flw :: a6989586621679305434) (t_a1flx :: a6989586621679305434) = Compare t_a1flw t_a1flx
data (<@#@$) (l_a1flK :: TyFun a6989586621679305434 (TyFun a6989586621679305434 Bool -> Type))
data (<@#@$$) (l_a1flI :: a6989586621679305434) (l_a1flH :: TyFun a6989586621679305434 Bool)
type (<@#@$$$) (t_a1flF :: a6989586621679305434) (t_a1flG :: a6989586621679305434) = (<) t_a1flF t_a1flG
data (<=@#@$) (l_a1flT :: TyFun a6989586621679305434 (TyFun a6989586621679305434 Bool -> Type))
data (<=@#@$$) (l_a1flR :: a6989586621679305434) (l_a1flQ :: TyFun a6989586621679305434 Bool)
type (<=@#@$$$) (t_a1flO :: a6989586621679305434) (t_a1flP :: a6989586621679305434) = (<=) t_a1flO t_a1flP
data (>@#@$) (l_a1fm2 :: TyFun a6989586621679305434 (TyFun a6989586621679305434 Bool -> Type))
data (>@#@$$) (l_a1fm0 :: a6989586621679305434) (l_a1flZ :: TyFun a6989586621679305434 Bool)
type (>@#@$$$) (t_a1flX :: a6989586621679305434) (t_a1flY :: a6989586621679305434) = (>) t_a1flX t_a1flY
data (>=@#@$) (l_a1fmb :: TyFun a6989586621679305434 (TyFun a6989586621679305434 Bool -> Type))
data (>=@#@$$) (l_a1fm9 :: a6989586621679305434) (l_a1fm8 :: TyFun a6989586621679305434 Bool)
type (>=@#@$$$) (t_a1fm6 :: a6989586621679305434) (t_a1fm7 :: a6989586621679305434) = (>=) t_a1fm6 t_a1fm7
data MaxSym0 (l_a1fmk :: TyFun a6989586621679305434 (TyFun a6989586621679305434 a6989586621679305434 -> Type))
data MaxSym1 (l_a1fmi :: a6989586621679305434) (l_a1fmh :: TyFun a6989586621679305434 a6989586621679305434)
type MaxSym2 (t_a1fmf :: a6989586621679305434) (t_a1fmg :: a6989586621679305434) = Max t_a1fmf t_a1fmg
data MinSym0 (l_a1fmt :: TyFun a6989586621679305434 (TyFun a6989586621679305434 a6989586621679305434 -> Type))
data MinSym1 (l_a1fmr :: a6989586621679305434) (l_a1fmq :: TyFun a6989586621679305434 a6989586621679305434)
type MinSym2 (t_a1fmo :: a6989586621679305434) (t_a1fmp :: a6989586621679305434) = Min t_a1fmo t_a1fmp
data ComparingSym0 (l_a1flm :: TyFun (TyFun b6989586621679305424 a6989586621679305423 -> Type) (TyFun b6989586621679305424 (TyFun b6989586621679305424 Ordering -> Type) -> Type))
data ComparingSym1 (l_a1flk :: TyFun b6989586621679305424 a6989586621679305423 -> Type) (l_a1flj :: TyFun b6989586621679305424 (TyFun b6989586621679305424 Ordering -> Type))
data ComparingSym2 (l_a1flg :: TyFun b6989586621679305424 a6989586621679305423 -> Type) (l_a1flh :: b6989586621679305424) (l_a1flf :: TyFun b6989586621679305424 Ordering)
type ComparingSym3 (t_a1flc :: TyFun b6989586621679305424 a6989586621679305423 -> Type) (t_a1fld :: b6989586621679305424) (t_a1fle :: b6989586621679305424) = Comparing t_a1flc t_a1fld t_a1fle
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314846Sym0
instance Data.Singletons.Prelude.Ord.POrd ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314846Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314826Sym0
instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314826Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314806Sym0
instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314806Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314772Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f, g)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314772Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314691Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314691Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314619Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314619Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314556Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314556Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314502Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314502Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314457Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314457Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314423Sym0
instance Data.Singletons.Prelude.Ord.POrd Data.Void.Void
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314423Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314399Sym0
instance Data.Singletons.Prelude.Ord.POrd (GHC.Base.NonEmpty a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314399Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314362Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Either.Either a b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314362Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314322Sym0
instance Data.Singletons.Prelude.Ord.POrd [a]
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314322Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314286Sym0
instance Data.Singletons.Prelude.Ord.POrd (GHC.Base.Maybe a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679314286Sym1
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.Let6989586621679307230Scrutinee_6989586621679305456Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679307230Scrutinee_6989586621679305456Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679307263Scrutinee_6989586621679305458Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679307263Scrutinee_6989586621679305458Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679307296Scrutinee_6989586621679305460Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679307296Scrutinee_6989586621679305460Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679307329Scrutinee_6989586621679305462Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679307329Scrutinee_6989586621679305462Sym1
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.Let6989586621679307196Scrutinee_6989586621679305454Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679307196Scrutinee_6989586621679305454Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679307362Scrutinee_6989586621679305464Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679307362Scrutinee_6989586621679305464Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679307395Scrutinee_6989586621679305466Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679307395Scrutinee_6989586621679305466Sym1
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_6989586621679307210Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679307210Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679307243Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679307243Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679307276Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679307276Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679307309Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679307309Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679307342Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679307342Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Max_6989586621679307375Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Max_6989586621679307375Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Min_6989586621679307408Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Min_6989586621679307408Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679307186Scrutinee_6989586621679305452Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679307186Scrutinee_6989586621679305452Sym1


-- | Defines the class <a>ShowSing</a>, allowing for conversion of
--   <a>Sing</a> values to readable <a>String</a>s.
module Data.Singletons.ShowSing

-- | Members of the <a>ShowSing</a> kind class can have their <a>Sing</a>
--   values converted to <a>String</a>s in a fashion similar to that of the
--   <a>Show</a> class. (In fact, this class only exists because one cannot
--   write <a>Show</a> instances for <a>Sing</a>s of the form <tt>instance
--   (forall z. Show (Sing (z :: k))) =&gt; Show (Sing (x :: [k]))</tt>.)
--   
--   This class should not be confused with the promoted or singled
--   versions of <a>Show</a> from <a>Data.Singletons.Prelude.Show</a>
--   (<tt>PShow</tt> and <tt>SShow</tt>, respectively). The output of
--   <a>ShowSing</a> is intended to reflect the singleton type, whereas the
--   output of <tt>PShow</tt> and <tt>SShow</tt> reflects the original
--   type. That is, showing <tt>SFalse</tt> with <a>ShowSing</a> would
--   yield <tt>"SFalse"</tt>, whereas <tt>PShow</tt> and <tt>SShow</tt>
--   would yield <tt>"False"</tt>.
--   
--   Instances of this class are generated alongside singleton definitions
--   for datatypes that derive a <a>Show</a> instance. Moreover, having a
--   <a>ShowSing</a> instances makes it simple to define a <a>Show</a>
--   instance. For instance:
--   
--   <pre>
--   instance <a>ShowSing</a> a =&gt; <a>ShowSing</a> [a] where
--     <a>showsSingPrec</a> = ...
--   instance <a>ShowSing</a> a =&gt; <a>Show</a> (<a>Sing</a> (x :: [a])) where
--     <a>showsPrec</a> = <a>showsSingPrec</a>
--   </pre>
--   
--   As a result, singleton definitions for datatypes that derive a
--   <a>Show</a> instance also get a <a>Show</a> instance for the singleton
--   type as well (in addition to promoted and singled <a>Show</a>
--   instances).
--   
--   To recap: <a>singletons</a> will give you all of these for a datatype
--   that derives a <a>Show</a> instance:
--   
--   <ul>
--   <li>A promoted (<tt>PShow</tt>) instance</li>
--   <li>A singled (<tt>SShow</tt>) instance</li>
--   <li>A <a>ShowSing</a> instance for the singleton type</li>
--   <li>A <a>Show</a> instance for the singleton type</li>
--   </ul>
--   
--   What a bargain!
class ShowSing k

-- | <tt><a>showsSingPrec</a> p s</tt> convert a <a>Sing</a> value
--   <tt>p</tt> to a readable <a>String</a> with precedence <tt>p</tt>.
showsSingPrec :: ShowSing k => Int -> Sing (a :: k) -> ShowS
instance Data.Singletons.ShowSing.ShowSing a => Data.Singletons.ShowSing.ShowSing (GHC.Base.Maybe a)
instance forall a (z :: GHC.Base.Maybe a). Data.Singletons.ShowSing.ShowSing a => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing [a]) => Data.Singletons.ShowSing.ShowSing [a]
instance forall a (z :: [a]). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing [a]) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b) => Data.Singletons.ShowSing.ShowSing (Data.Either.Either a b)
instance forall a b (z :: Data.Either.Either a b). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing [a]) => Data.Singletons.ShowSing.ShowSing (GHC.Base.NonEmpty a)
instance forall a (z :: GHC.Base.NonEmpty a). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing [a]) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance Data.Singletons.ShowSing.ShowSing Data.Void.Void
instance GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b) => Data.Singletons.ShowSing.ShowSing (a, b)
instance forall a b (z :: (a, b)). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b, Data.Singletons.ShowSing.ShowSing c) => Data.Singletons.ShowSing.ShowSing (a, b, c)
instance forall a b c (z :: (a, b, c)). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b, Data.Singletons.ShowSing.ShowSing c) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b, Data.Singletons.ShowSing.ShowSing c, Data.Singletons.ShowSing.ShowSing d) => Data.Singletons.ShowSing.ShowSing (a, b, c, d)
instance forall a b c d (z :: (a, b, c, d)). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b, Data.Singletons.ShowSing.ShowSing c, Data.Singletons.ShowSing.ShowSing d) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b, Data.Singletons.ShowSing.ShowSing c, Data.Singletons.ShowSing.ShowSing d, Data.Singletons.ShowSing.ShowSing e) => Data.Singletons.ShowSing.ShowSing (a, b, c, d, e)
instance forall a b c d e (z :: (a, b, c, d, e)). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b, Data.Singletons.ShowSing.ShowSing c, Data.Singletons.ShowSing.ShowSing d, Data.Singletons.ShowSing.ShowSing e) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b, Data.Singletons.ShowSing.ShowSing c, Data.Singletons.ShowSing.ShowSing d, Data.Singletons.ShowSing.ShowSing e, Data.Singletons.ShowSing.ShowSing f) => Data.Singletons.ShowSing.ShowSing (a, b, c, d, e, f)
instance forall a b c d e f (z :: (a, b, c, d, e, f)). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b, Data.Singletons.ShowSing.ShowSing c, Data.Singletons.ShowSing.ShowSing d, Data.Singletons.ShowSing.ShowSing e, Data.Singletons.ShowSing.ShowSing f) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b, Data.Singletons.ShowSing.ShowSing c, Data.Singletons.ShowSing.ShowSing d, Data.Singletons.ShowSing.ShowSing e, Data.Singletons.ShowSing.ShowSing f, Data.Singletons.ShowSing.ShowSing g) => Data.Singletons.ShowSing.ShowSing (a, b, c, d, e, f, g)
instance forall a b c d e f g (z :: (a, b, c, d, e, f, g)). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b, Data.Singletons.ShowSing.ShowSing c, Data.Singletons.ShowSing.ShowSing d, Data.Singletons.ShowSing.ShowSing e, Data.Singletons.ShowSing.ShowSing f, Data.Singletons.ShowSing.ShowSing g) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance Data.Singletons.ShowSing.ShowSing GHC.Types.Bool
instance GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance Data.Singletons.ShowSing.ShowSing GHC.Types.Ordering
instance GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance Data.Singletons.ShowSing.ShowSing ()
instance GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance Data.Singletons.ShowSing.ShowSing GHC.Types.Nat
instance GHC.Show.Show (Data.Singletons.TypeLits.Internal.SNat n)
instance Data.Singletons.ShowSing.ShowSing GHC.Types.Symbol
instance GHC.Show.Show (Data.Singletons.TypeLits.Internal.SSymbol s)


-- | This module defines singleton instances making <a>TypeRep</a> the
--   singleton for the kind <tt>*</tt>. The definitions don't fully line up
--   with what is expected within the singletons library, so expect unusual
--   results!
module Data.Singletons.TypeRepStar

-- | The singleton kind-indexed data family.

-- | A variant of <a>SomeTypeRep</a> whose underlying <a>TypeRep</a> is
--   restricted to kind <tt>*</tt>.
data SomeTypeRepStar
[SomeTypeRepStar] :: forall (a :: *). !(TypeRep a) -> SomeTypeRepStar
instance GHC.Show.Show (Data.Singletons.Internal.Sing a)
instance GHC.Classes.Ord (Data.Singletons.Internal.Sing a)
instance GHC.Classes.Eq (Data.Singletons.Internal.Sing a)
instance Data.Singletons.Prelude.Eq.PEq *
instance GHC.Classes.Eq Data.Singletons.TypeRepStar.SomeTypeRepStar
instance GHC.Classes.Ord Data.Singletons.TypeRepStar.SomeTypeRepStar
instance GHC.Show.Show Data.Singletons.TypeRepStar.SomeTypeRepStar
instance Data.Singletons.Internal.SingKind *
instance Data.Typeable.Internal.Typeable a => Data.Singletons.Internal.SingI a
instance Data.Singletons.Prelude.Eq.SEq *
instance Data.Singletons.Decide.SDecide *
instance Data.Singletons.ShowSing.ShowSing *


-- | Defines and exports singletons useful for the Nat and Symbol kinds.
module Data.Singletons.TypeLits

-- | (Kind) This is the kind of type-level natural numbers.
data Nat

-- | (Kind) This is the kind of type-level symbols. Declared here because
--   class IP needs it
data Symbol

-- | The singleton kind-indexed data family.

-- | Kind-restricted synonym for <a>Sing</a> for <tt>Nat</tt>s
type SNat (x :: Nat) = Sing x

-- | Kind-restricted synonym for <a>Sing</a> for <tt>Symbol</tt>s
type SSymbol (x :: Symbol) = Sing x

-- | Given a singleton for <tt>Nat</tt>, call something requiring a
--   <tt>KnownNat</tt> instance.
withKnownNat :: Sing n -> (KnownNat n => r) -> r

-- | Given a singleton for <tt>Symbol</tt>, call something requiring a
--   <tt>KnownSymbol</tt> instance.
withKnownSymbol :: Sing n -> (KnownSymbol n => r) -> r

-- | The promotion of <a>error</a>. This version is more poly-kinded for
--   easier use.

-- | The singleton for <a>error</a>
sError :: Sing (str :: Symbol) -> a

-- | The promotion of <a>undefined</a>.

-- | The singleton for <a>undefined</a>.
sUndefined :: a

-- | This class gives the integer associated with a type-level natural.
--   There are instances of the class for every concrete literal: 0, 1, 2,
--   etc.
class KnownNat (n :: Nat)

natVal :: KnownNat n => proxy n -> Natural

-- | This class gives the string associated with a type-level symbol. There
--   are instances of the class for every concrete literal: "hello", etc.
class KnownSymbol (n :: Symbol)

symbolVal :: KnownSymbol n => proxy n -> String

-- | Exponentiation of type-level naturals.

-- | The singleton analogue of '(TL.^)' for <a>Nat</a>s.
(%^) :: Sing a -> Sing b -> Sing (a ^ b)
infixr 8 %^

-- | The promoted analogue of '(&lt;&gt;)' for <a>Symbol</a>s. This uses
--   the special <a>AppendSymbol</a> type family from <a>GHC.TypeLits</a>.
type a <> b = AppendSymbol a b

-- | The singleton analogue of '(&lt;&gt;)' for <a>Symbol</a>s.
(%<>) :: Sing a -> Sing b -> Sing (a <> b)
infixr 6 %<>

-- | Log base 2 (round down) of natural numbers. <tt>Log 0</tt> is
--   undefined (i.e., it cannot be reduced).
sLog2 :: Sing x -> Sing (Log2 x)

-- | Division (round down) of natural numbers. <tt>Div x 0</tt> is
--   undefined (i.e., it cannot be reduced).
sDiv :: Sing x -> Sing y -> Sing (Div x y)
infixl 7 `sDiv`

-- | Modulus of natural numbers. <tt>Mod x 0</tt> is undefined (i.e., it
--   cannot be reduced).
sMod :: Sing x -> Sing y -> Sing (Mod x y)
infixl 7 `sMod`
sDivMod :: Sing x -> Sing y -> Sing (DivMod x y)
sQuot :: Sing x -> Sing y -> Sing (Quot x y)
infixl 7 `sQuot`
sRem :: Sing x -> Sing y -> Sing (Rem x y)
infixl 7 `sRem`
sQuotRem :: Sing x -> Sing y -> Sing (QuotRem x y)
data ErrorSym0 (l_a1yRO :: TyFun k06989586621679381217 k6989586621679381218)
type ErrorSym1 (t_a1yRN :: k06989586621679381217) = Error t_a1yRN
type UndefinedSym0 = Undefined
data KnownNatSym0 (l_a1Dhc :: TyFun Nat Constraint)
type KnownNatSym1 (t_a1Dhb :: Nat) = KnownNat t_a1Dhb
data KnownSymbolSym0 (l_a1Dhf :: TyFun Symbol Constraint)
type KnownSymbolSym1 (t_a1Dhe :: Symbol) = KnownSymbol t_a1Dhe
data (^@#@$) (l_a1yWs :: TyFun Nat (TyFun Nat Nat -> Type))
data (^@#@$$) (l_a1yWq :: Nat) (l_a1yWp :: TyFun Nat Nat)
type (^@#@$$$) (t_a1yWn :: Nat) (t_a1yWo :: Nat) = (^) t_a1yWn t_a1yWo
data (<>@#@$) l_a1z0l
data (<>@#@$$) (l_a1z0j :: Symbol) l_a1z0i
type (<>@#@$$$) (t_a1z0g :: Symbol) (t_a1z0h :: Symbol) = (<>) t_a1z0g t_a1z0h
data Log2Sym0 (l_a1Do4 :: TyFun Nat Nat)
type Log2Sym1 (t_a1Do3 :: Nat) = Log2 t_a1Do3
data DivSym0 (l_a1DqE :: TyFun Nat (TyFun Nat Nat -> Type))
data DivSym1 (l_a1DqC :: Nat) (l_a1DqB :: TyFun Nat Nat)
type DivSym2 (t_a1Dqz :: Nat) (t_a1DqA :: Nat) = Div t_a1Dqz t_a1DqA
data ModSym0 (l_a1Duj :: TyFun Nat (TyFun Nat Nat -> Type))
data ModSym1 (l_a1Duh :: Nat) (l_a1Dug :: TyFun Nat Nat)
type ModSym2 (t_a1Due :: Nat) (t_a1Duf :: Nat) = Mod t_a1Due t_a1Duf
data DivModSym0 (l_a1DAG :: TyFun Nat (TyFun Nat (Nat, Nat) -> Type))
data DivModSym1 (l_a1DAE :: Nat) (l_a1DAD :: TyFun Nat (Nat, Nat))
type DivModSym2 (t_a1DAB :: Nat) (t_a1DAC :: Nat) = DivMod t_a1DAB t_a1DAC
data QuotSym0 (l_a1DAv :: TyFun Nat (TyFun Nat Nat -> Type))
data QuotSym1 (l_a1DAt :: Nat) (l_a1DAs :: TyFun Nat Nat)
type QuotSym2 (t_a1DAq :: Nat) (t_a1DAr :: Nat) = Quot t_a1DAq t_a1DAr
data RemSym0 (l_a1DAg :: TyFun Nat (TyFun Nat Nat -> Type))
data RemSym1 (l_a1DAe :: Nat) (l_a1DAd :: TyFun Nat Nat)
type RemSym2 (t_a1DAb :: Nat) (t_a1DAc :: Nat) = Rem t_a1DAb t_a1DAc
data QuotRemSym0 (l_a1DAV :: TyFun Nat (TyFun Nat (Nat, Nat) -> Type))
data QuotRemSym1 (l_a1DAT :: Nat) (l_a1DAS :: TyFun Nat (Nat, Nat))
type QuotRemSym2 (t_a1DAQ :: Nat) (t_a1DAR :: Nat) = QuotRem t_a1DAQ t_a1DAR
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.QuotRemSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.QuotRemSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.DivModSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.DivModSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.QuotSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.QuotSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.RemSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.RemSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.ModSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.ModSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.DivSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.DivSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.Log2Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.KnownSymbolSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.KnownNatSym0
instance GHC.Num.Num GHC.Types.Nat
instance GHC.Classes.Eq GHC.Types.Nat
instance GHC.Classes.Ord GHC.Types.Nat
instance GHC.Classes.Eq GHC.Types.Symbol
instance GHC.Classes.Ord GHC.Types.Symbol
instance Data.String.IsString GHC.Types.Symbol


-- | Defines functions and datatypes relating to the singleton for
--   <a>Maybe</a>, including a singletons version of all the definitions in
--   <tt>Data.Maybe</tt>.
--   
--   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 <tt>Data.Maybe</tt>. Also, please
--   excuse the apparent repeated variable names. This is due to an
--   interaction between Template Haskell and Haddock.
module Data.Singletons.Prelude.Maybe

-- | The singleton kind-indexed data family.
type SMaybe = (Sing :: Maybe a_11 -> Type)
maybe_ :: b_a1F21 -> (a_a1F22 -> b_a1F21) -> Maybe a_a1F22 -> b_a1F21
sMaybe_ :: forall (t_a1F2B :: b_a1F21) (t_a1F2C :: TyFun a_a1F22 b_a1F21 -> Type) (t_a1F2D :: Maybe a_a1F22). Sing t_a1F2B -> Sing t_a1F2C -> Sing t_a1F2D -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a1F2B) t_a1F2C) t_a1F2D :: b_a1F21)
sIsJust :: forall (t_a1Fod :: Maybe a_a1Fk6). Sing t_a1Fod -> Sing (Apply IsJustSym0 t_a1Fod :: Bool)
sIsNothing :: forall (t_a1Foc :: Maybe a_a1Fk5). Sing t_a1Foc -> Sing (Apply IsNothingSym0 t_a1Foc :: Bool)
sFromJust :: forall (t_a1Fob :: Maybe a_a1Fk4). Sing t_a1Fob -> Sing (Apply FromJustSym0 t_a1Fob :: a_a1Fk4)
sFromMaybe :: forall (t_a1Fo9 :: a_a1Fk3) (t_a1Foa :: Maybe a_a1Fk3). Sing t_a1Fo9 -> Sing t_a1Foa -> Sing (Apply (Apply FromMaybeSym0 t_a1Fo9) t_a1Foa :: a_a1Fk3)
sListToMaybe :: forall (t_a1Fo7 :: [a_a1Fk1]). Sing t_a1Fo7 -> Sing (Apply ListToMaybeSym0 t_a1Fo7 :: Maybe a_a1Fk1)
sMaybeToList :: forall (t_a1Fo8 :: Maybe a_a1Fk2). Sing t_a1Fo8 -> Sing (Apply MaybeToListSym0 t_a1Fo8 :: [a_a1Fk2])
sCatMaybes :: forall (t_a1Fo6 :: [Maybe a_a1Fk0]). Sing t_a1Fo6 -> Sing (Apply CatMaybesSym0 t_a1Fo6 :: [a_a1Fk0])
sMapMaybe :: forall (t_a1Fo4 :: TyFun a_a1FjY (Maybe b_a1FjZ) -> Type) (t_a1Fo5 :: [a_a1FjY]). Sing t_a1Fo4 -> Sing t_a1Fo5 -> Sing (Apply (Apply MapMaybeSym0 t_a1Fo4) t_a1Fo5 :: [b_a1FjZ])
type NothingSym0 = Nothing
data JustSym0 (l_a10uy :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_a10ux :: a3530822107858468865) = Just t_a10ux
data Maybe_Sym0 (l_a1F2t :: TyFun b6989586621679405849 (TyFun (TyFun a6989586621679405850 b6989586621679405849 -> Type) (TyFun (Maybe a6989586621679405850) b6989586621679405849 -> Type) -> Type))
data Maybe_Sym1 (l_a1F2r :: b6989586621679405849) (l_a1F2q :: TyFun (TyFun a6989586621679405850 b6989586621679405849 -> Type) (TyFun (Maybe a6989586621679405850) b6989586621679405849 -> Type))
data Maybe_Sym2 (l_a1F2n :: b6989586621679405849) (l_a1F2o :: TyFun a6989586621679405850 b6989586621679405849 -> Type) (l_a1F2m :: TyFun (Maybe a6989586621679405850) b6989586621679405849)
type Maybe_Sym3 (t_a1F2j :: b6989586621679405849) (t_a1F2k :: TyFun a6989586621679405850 b6989586621679405849 -> Type) (t_a1F2l :: Maybe a6989586621679405850) = Maybe_ t_a1F2j t_a1F2k t_a1F2l
data IsJustSym0 (l_a1Fo1 :: TyFun (Maybe a6989586621679406970) Bool)
type IsJustSym1 (t_a1Fo0 :: Maybe a6989586621679406970) = IsJust t_a1Fo0
data IsNothingSym0 (l_a1FnX :: TyFun (Maybe a6989586621679406969) Bool)
type IsNothingSym1 (t_a1FnW :: Maybe a6989586621679406969) = IsNothing t_a1FnW
data FromJustSym0 (l_a1FnS :: TyFun (Maybe a6989586621679406968) a6989586621679406968)
type FromJustSym1 (t_a1FnR :: Maybe a6989586621679406968) = FromJust t_a1FnR
data FromMaybeSym0 (l_a1FnH :: TyFun a6989586621679406967 (TyFun (Maybe a6989586621679406967) a6989586621679406967 -> Type))
data FromMaybeSym1 (l_a1FnF :: a6989586621679406967) (l_a1FnE :: TyFun (Maybe a6989586621679406967) a6989586621679406967)
type FromMaybeSym2 (t_a1FnC :: a6989586621679406967) (t_a1FnD :: Maybe a6989586621679406967) = FromMaybe t_a1FnC t_a1FnD
data ListToMaybeSym0 (l_a1Fnt :: TyFun [a6989586621679406965] (Maybe a6989586621679406965))
type ListToMaybeSym1 (t_a1Fns :: [a6989586621679406965]) = ListToMaybe t_a1Fns
data MaybeToListSym0 (l_a1Fny :: TyFun (Maybe a6989586621679406966) [a6989586621679406966])
type MaybeToListSym1 (t_a1Fnx :: Maybe a6989586621679406966) = MaybeToList t_a1Fnx
data CatMaybesSym0 (l_a1Fnm :: TyFun [Maybe a6989586621679406964] [a6989586621679406964])
type CatMaybesSym1 (t_a1Fnl :: [Maybe a6989586621679406964]) = CatMaybes t_a1Fnl
data MapMaybeSym0 (l_a1FmK :: TyFun (TyFun a6989586621679406962 (Maybe b6989586621679406963) -> Type) (TyFun [a6989586621679406962] [b6989586621679406963] -> Type))
data MapMaybeSym1 (l_a1FmI :: TyFun a6989586621679406962 (Maybe b6989586621679406963) -> Type) (l_a1FmH :: TyFun [a6989586621679406962] [b6989586621679406963])
type MapMaybeSym2 (t_a1FmF :: TyFun a6989586621679406962 (Maybe b6989586621679406963) -> Type) (t_a1FmG :: [a6989586621679406962]) = MapMaybe t_a1FmF t_a1FmG
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.IsJustSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.IsNothingSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.FromJustSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.FromMaybeSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.FromMaybeSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.MaybeToListSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.ListToMaybeSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.CatMaybesSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679407141RsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679407141RsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679407141RsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.MapMaybeSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.MapMaybeSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679407154Scrutinee_6989586621679406997Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679407154Scrutinee_6989586621679406997Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679407154Scrutinee_6989586621679406997Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Maybe_Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Maybe_Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Maybe_Sym2


-- | Defines promoted functions and datatypes relating to <a>Maybe</a>,
--   including a promoted version of all the definitions in
--   <tt>Data.Maybe</tt>.
--   
--   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 <tt>Data.Maybe</tt>. Also, please
--   excuse the apparent repeated variable names. This is due to an
--   interaction between Template Haskell and Haddock.
module Data.Promotion.Prelude.Maybe
maybe_ :: b_a1F21 -> (a_a1F22 -> b_a1F21) -> Maybe a_a1F22 -> b_a1F21
type NothingSym0 = Nothing
data JustSym0 (l_a10uy :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_a10ux :: a3530822107858468865) = Just t_a10ux
data Maybe_Sym0 (l_a1F2t :: TyFun b6989586621679405849 (TyFun (TyFun a6989586621679405850 b6989586621679405849 -> Type) (TyFun (Maybe a6989586621679405850) b6989586621679405849 -> Type) -> Type))
data Maybe_Sym1 (l_a1F2r :: b6989586621679405849) (l_a1F2q :: TyFun (TyFun a6989586621679405850 b6989586621679405849 -> Type) (TyFun (Maybe a6989586621679405850) b6989586621679405849 -> Type))
data Maybe_Sym2 (l_a1F2n :: b6989586621679405849) (l_a1F2o :: TyFun a6989586621679405850 b6989586621679405849 -> Type) (l_a1F2m :: TyFun (Maybe a6989586621679405850) b6989586621679405849)
type Maybe_Sym3 (t_a1F2j :: b6989586621679405849) (t_a1F2k :: TyFun a6989586621679405850 b6989586621679405849 -> Type) (t_a1F2l :: Maybe a6989586621679405850) = Maybe_ t_a1F2j t_a1F2k t_a1F2l
data IsJustSym0 (l_a1Fo1 :: TyFun (Maybe a6989586621679406970) Bool)
type IsJustSym1 (t_a1Fo0 :: Maybe a6989586621679406970) = IsJust t_a1Fo0
data IsNothingSym0 (l_a1FnX :: TyFun (Maybe a6989586621679406969) Bool)
type IsNothingSym1 (t_a1FnW :: Maybe a6989586621679406969) = IsNothing t_a1FnW
data FromJustSym0 (l_a1FnS :: TyFun (Maybe a6989586621679406968) a6989586621679406968)
type FromJustSym1 (t_a1FnR :: Maybe a6989586621679406968) = FromJust t_a1FnR
data FromMaybeSym0 (l_a1FnH :: TyFun a6989586621679406967 (TyFun (Maybe a6989586621679406967) a6989586621679406967 -> Type))
data FromMaybeSym1 (l_a1FnF :: a6989586621679406967) (l_a1FnE :: TyFun (Maybe a6989586621679406967) a6989586621679406967)
type FromMaybeSym2 (t_a1FnC :: a6989586621679406967) (t_a1FnD :: Maybe a6989586621679406967) = FromMaybe t_a1FnC t_a1FnD
data MaybeToListSym0 (l_a1Fny :: TyFun (Maybe a6989586621679406966) [a6989586621679406966])
type MaybeToListSym1 (t_a1Fnx :: Maybe a6989586621679406966) = MaybeToList t_a1Fnx
data ListToMaybeSym0 (l_a1Fnt :: TyFun [a6989586621679406965] (Maybe a6989586621679406965))
type ListToMaybeSym1 (t_a1Fns :: [a6989586621679406965]) = ListToMaybe t_a1Fns
data CatMaybesSym0 (l_a1Fnm :: TyFun [Maybe a6989586621679406964] [a6989586621679406964])
type CatMaybesSym1 (t_a1Fnl :: [Maybe a6989586621679406964]) = CatMaybes t_a1Fnl
data MapMaybeSym0 (l_a1FmK :: TyFun (TyFun a6989586621679406962 (Maybe b6989586621679406963) -> Type) (TyFun [a6989586621679406962] [b6989586621679406963] -> Type))
data MapMaybeSym1 (l_a1FmI :: TyFun a6989586621679406962 (Maybe b6989586621679406963) -> Type) (l_a1FmH :: TyFun [a6989586621679406962] [b6989586621679406963])
type MapMaybeSym2 (t_a1FmF :: TyFun a6989586621679406962 (Maybe b6989586621679406963) -> Type) (t_a1FmG :: [a6989586621679406962]) = MapMaybe t_a1FmF t_a1FmG


-- | Defines and exports a promoted and singled version of the
--   <tt>IsString</tt> type class from <a>Data.String</a>.
module Data.Singletons.Prelude.IsString
class PIsString (a_a1Hg2 :: Type) where {
    type family FromString (arg_a1Hg3 :: Symbol) :: a_a1Hg2;
}
class SIsString a_a1Hg2
sFromString :: forall (t_a1Hg7 :: Symbol). SIsString a_a1Hg2 => Sing t_a1Hg7 -> Sing (Apply FromStringSym0 t_a1Hg7 :: a_a1Hg2)
data FromStringSym0 (l_a1Hg5 :: TyFun Symbol a6989586621679414406)
type FromStringSym1 (t_a1Hg4 :: Symbol) = FromString t_a1Hg4
instance Data.Singletons.Prelude.IsString.SIsString GHC.Types.Symbol
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.IsString.FromStringSym0
instance Data.Singletons.Prelude.IsString.PIsString GHC.Types.Symbol


-- | Defines and exports a promoted version of the <tt>IsString</tt> type
--   class from <a>Data.String</a>.
module Data.Promotion.Prelude.IsString
class PIsString (a_a1Hg2 :: Type) where {
    type family FromString (arg_a1Hg3 :: Symbol) :: a_a1Hg2;
}
data FromStringSym0 (l_a1Hg5 :: TyFun Symbol a6989586621679414406)
type FromStringSym1 (t_a1Hg4 :: Symbol) = FromString t_a1Hg4


-- | Defines and exports promoted and singleton versions of definitions
--   from GHC.Num.
--   
--   Be warned that some of the associated type families in the <a>PNum</a>
--   class (<tt>(+)</tt>, <tt>(-)</tt>, and <tt>(*)</tt>) clash with their
--   counterparts for <a>Nat</a> in the <a>GHC.TypeLits</a> module.
module Data.Singletons.Prelude.Num
class PNum (a_a1HqK :: Type) where {
    type family (+) (arg_a1HqO :: a_a1HqK) (arg_a1HqP :: a_a1HqK) :: a_a1HqK;
    type family (-) (arg_a1HqX :: a_a1HqK) (arg_a1HqY :: a_a1HqK) :: a_a1HqK;
    type family (*) (arg_a1Hr6 :: a_a1HqK) (arg_a1Hr7 :: a_a1HqK) :: a_a1HqK;
    type family Negate (arg_a1Hrf :: a_a1HqK) :: a_a1HqK;
    type family Abs (arg_a1Hrj :: a_a1HqK) :: a_a1HqK;
    type family Signum (arg_a1Hrn :: a_a1HqK) :: a_a1HqK;
    type family FromInteger (arg_a1Hrr :: Nat) :: a_a1HqK;
    type (-) a_a1HrG a_a1HrH =
        Apply (Apply TFHelper_6989586621679415130Sym0 a_a1HrG) a_a1HrH;
    type Negate a_a1HrW = Apply Negate_6989586621679415145Sym0 a_a1HrW;
}
class SNum a_a1HqK
(%+) :: forall (t_a1Hs2 :: a_a1HqK) (t_a1Hs3 :: a_a1HqK). SNum a_a1HqK => Sing t_a1Hs2 -> Sing t_a1Hs3 -> Sing (Apply (Apply (+@#@$) t_a1Hs2) t_a1Hs3 :: a_a1HqK)
(%-) :: forall (t_a1Hs4 :: a_a1HqK) (t_a1Hs5 :: a_a1HqK). SNum a_a1HqK => Sing t_a1Hs4 -> Sing t_a1Hs5 -> Sing (Apply (Apply (-@#@$) t_a1Hs4) t_a1Hs5 :: a_a1HqK)
(%*) :: forall (t_a1Hs6 :: a_a1HqK) (t_a1Hs7 :: a_a1HqK). SNum a_a1HqK => Sing t_a1Hs6 -> Sing t_a1Hs7 -> Sing (Apply (Apply (*@#@$) t_a1Hs6) t_a1Hs7 :: a_a1HqK)
sNegate :: forall (t_a1Hs8 :: a_a1HqK). SNum a_a1HqK => Sing t_a1Hs8 -> Sing (Apply NegateSym0 t_a1Hs8 :: a_a1HqK)
sAbs :: forall (t_a1Hs9 :: a_a1HqK). SNum a_a1HqK => Sing t_a1Hs9 -> Sing (Apply AbsSym0 t_a1Hs9 :: a_a1HqK)
sSignum :: forall (t_a1Hsa :: a_a1HqK). SNum a_a1HqK => Sing t_a1Hsa -> Sing (Apply SignumSym0 t_a1Hsa :: a_a1HqK)
sFromInteger :: forall (t_a1Hsb :: Nat). SNum a_a1HqK => Sing t_a1Hsb -> Sing (Apply FromIntegerSym0 t_a1Hsb :: a_a1HqK)
(%-) :: forall (t_a1Hs4 :: a_a1HqK) (t_a1Hs5 :: a_a1HqK). (SNum a_a1HqK, (Apply (Apply (-@#@$) t_a1Hs4) t_a1Hs5 :: a_a1HqK) ~ Apply (Apply TFHelper_6989586621679415130Sym0 t_a1Hs4) t_a1Hs5) => Sing t_a1Hs4 -> Sing t_a1Hs5 -> Sing (Apply (Apply (-@#@$) t_a1Hs4) t_a1Hs5 :: a_a1HqK)
sNegate :: forall (t_a1Hs8 :: a_a1HqK). (SNum a_a1HqK, (Apply NegateSym0 t_a1Hs8 :: a_a1HqK) ~ Apply Negate_6989586621679415145Sym0 t_a1Hs8) => Sing t_a1Hs8 -> Sing (Apply NegateSym0 t_a1Hs8 :: a_a1HqK)
sSubtract :: forall (t_a1I1X :: a_a1I1p) (t_a1I1Y :: a_a1I1p). SNum a_a1I1p => Sing t_a1I1X -> Sing t_a1I1Y -> Sing (Apply (Apply SubtractSym0 t_a1I1X) t_a1I1Y :: a_a1I1p)
data (+@#@$) (l_a1HqV :: TyFun a6989586621679415070 (TyFun a6989586621679415070 a6989586621679415070 -> Type))
data (+@#@$$) (l_a1HqT :: a6989586621679415070) (l_a1HqS :: TyFun a6989586621679415070 a6989586621679415070)
type (+@#@$$$) (t_a1HqQ :: a6989586621679415070) (t_a1HqR :: a6989586621679415070) = (+) t_a1HqQ t_a1HqR
data (-@#@$) (l_a1Hr4 :: TyFun a6989586621679415070 (TyFun a6989586621679415070 a6989586621679415070 -> Type))
data (-@#@$$) (l_a1Hr2 :: a6989586621679415070) (l_a1Hr1 :: TyFun a6989586621679415070 a6989586621679415070)
type (-@#@$$$) (t_a1HqZ :: a6989586621679415070) (t_a1Hr0 :: a6989586621679415070) = (-) t_a1HqZ t_a1Hr0
data (*@#@$) (l_a1Hrd :: TyFun a6989586621679415070 (TyFun a6989586621679415070 a6989586621679415070 -> Type))
data (*@#@$$) (l_a1Hrb :: a6989586621679415070) (l_a1Hra :: TyFun a6989586621679415070 a6989586621679415070)
type (*@#@$$$) (t_a1Hr8 :: a6989586621679415070) (t_a1Hr9 :: a6989586621679415070) = (*) t_a1Hr8 t_a1Hr9
data NegateSym0 (l_a1Hrh :: TyFun a6989586621679415070 a6989586621679415070)
type NegateSym1 (t_a1Hrg :: a6989586621679415070) = Negate t_a1Hrg
data AbsSym0 (l_a1Hrl :: TyFun a6989586621679415070 a6989586621679415070)
type AbsSym1 (t_a1Hrk :: a6989586621679415070) = Abs t_a1Hrk
data SignumSym0 (l_a1Hrp :: TyFun a6989586621679415070 a6989586621679415070)
type SignumSym1 (t_a1Hro :: a6989586621679415070) = Signum t_a1Hro
data FromIntegerSym0 (l_a1Hrt :: TyFun Nat a6989586621679415070)
type FromIntegerSym1 (t_a1Hrs :: Nat) = FromInteger t_a1Hrs
data SubtractSym0 (l_a1I1R :: TyFun a6989586621679417343 (TyFun a6989586621679417343 a6989586621679417343 -> Type))
data SubtractSym1 (l_a1I1P :: a6989586621679417343) (l_a1I1O :: TyFun a6989586621679417343 a6989586621679417343)
type SubtractSym2 (t_a1I1M :: a6989586621679417343) (t_a1I1N :: a6989586621679417343) = Subtract t_a1I1M t_a1I1N
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.SubtractSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.SubtractSym1
instance Data.Singletons.Prelude.Num.PNum GHC.Types.Nat
instance Data.Singletons.Prelude.Num.SNum GHC.Types.Nat
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.*@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.*@#@$$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.AbsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.SignumSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.FromIntegerSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.+@#@$$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.+@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.-@#@$$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.-@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.NegateSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679415130Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679415130Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Negate_6989586621679415145Sym0


-- | Defines and exports promoted and singleton versions of definitions
--   from GHC.Num.
module Data.Promotion.Prelude.Num
class PNum (a_a1HqK :: Type) where {
    type family (+) (arg_a1HqO :: a_a1HqK) (arg_a1HqP :: a_a1HqK) :: a_a1HqK;
    type family (-) (arg_a1HqX :: a_a1HqK) (arg_a1HqY :: a_a1HqK) :: a_a1HqK;
    type family (*) (arg_a1Hr6 :: a_a1HqK) (arg_a1Hr7 :: a_a1HqK) :: a_a1HqK;
    type family Negate (arg_a1Hrf :: a_a1HqK) :: a_a1HqK;
    type family Abs (arg_a1Hrj :: a_a1HqK) :: a_a1HqK;
    type family Signum (arg_a1Hrn :: a_a1HqK) :: a_a1HqK;
    type family FromInteger (arg_a1Hrr :: Nat) :: a_a1HqK;
    type (-) a_a1HrG a_a1HrH =
        Apply (Apply TFHelper_6989586621679415130Sym0 a_a1HrG) a_a1HrH;
    type Negate a_a1HrW = Apply Negate_6989586621679415145Sym0 a_a1HrW;
}
data (+@#@$) (l_a1HqV :: TyFun a6989586621679415070 (TyFun a6989586621679415070 a6989586621679415070 -> Type))
data (+@#@$$) (l_a1HqT :: a6989586621679415070) (l_a1HqS :: TyFun a6989586621679415070 a6989586621679415070)
type (+@#@$$$) (t_a1HqQ :: a6989586621679415070) (t_a1HqR :: a6989586621679415070) = (+) t_a1HqQ t_a1HqR
data (-@#@$) (l_a1Hr4 :: TyFun a6989586621679415070 (TyFun a6989586621679415070 a6989586621679415070 -> Type))
data (-@#@$$) (l_a1Hr2 :: a6989586621679415070) (l_a1Hr1 :: TyFun a6989586621679415070 a6989586621679415070)
type (-@#@$$$) (t_a1HqZ :: a6989586621679415070) (t_a1Hr0 :: a6989586621679415070) = (-) t_a1HqZ t_a1Hr0
data (*@#@$) (l_a1Hrd :: TyFun a6989586621679415070 (TyFun a6989586621679415070 a6989586621679415070 -> Type))
data (*@#@$$) (l_a1Hrb :: a6989586621679415070) (l_a1Hra :: TyFun a6989586621679415070 a6989586621679415070)
type (*@#@$$$) (t_a1Hr8 :: a6989586621679415070) (t_a1Hr9 :: a6989586621679415070) = (*) t_a1Hr8 t_a1Hr9
data NegateSym0 (l_a1Hrh :: TyFun a6989586621679415070 a6989586621679415070)
type NegateSym1 (t_a1Hrg :: a6989586621679415070) = Negate t_a1Hrg
data AbsSym0 (l_a1Hrl :: TyFun a6989586621679415070 a6989586621679415070)
type AbsSym1 (t_a1Hrk :: a6989586621679415070) = Abs t_a1Hrk
data SignumSym0 (l_a1Hrp :: TyFun a6989586621679415070 a6989586621679415070)
type SignumSym1 (t_a1Hro :: a6989586621679415070) = Signum t_a1Hro
data FromIntegerSym0 (l_a1Hrt :: TyFun Nat a6989586621679415070)
type FromIntegerSym1 (t_a1Hrs :: Nat) = FromInteger t_a1Hrs
data SubtractSym0 (l_a1I1R :: TyFun a6989586621679417343 (TyFun a6989586621679417343 a6989586621679417343 -> Type))
data SubtractSym1 (l_a1I1P :: a6989586621679417343) (l_a1I1O :: TyFun a6989586621679417343 a6989586621679417343)
type SubtractSym2 (t_a1I1M :: a6989586621679417343) (t_a1I1N :: a6989586621679417343) = Subtract t_a1I1M t_a1I1N


-- | Provides promoted definitions related to type-level comparisons.
module Data.Promotion.Prelude.Ord
class PEq a_a1eUq => POrd (a_a1eUq :: Type) where {
    type family Compare (arg_a1flu :: a_a1eUq) (arg_a1flv :: a_a1eUq) :: Ordering;
    type family (<) (arg_a1flD :: a_a1eUq) (arg_a1flE :: a_a1eUq) :: Bool;
    type family (<=) (arg_a1flM :: a_a1eUq) (arg_a1flN :: a_a1eUq) :: Bool;
    type family (>) (arg_a1flV :: a_a1eUq) (arg_a1flW :: a_a1eUq) :: Bool;
    type family (>=) (arg_a1fm4 :: a_a1eUq) (arg_a1fm5 :: a_a1eUq) :: Bool;
    type family Max (arg_a1fmd :: a_a1eUq) (arg_a1fme :: a_a1eUq) :: a_a1eUq;
    type family Min (arg_a1fmm :: a_a1eUq) (arg_a1fmn :: a_a1eUq) :: a_a1eUq;
    type Compare a_a1fn2 a_a1fn3 =
        Apply (Apply Compare_6989586621679307210Sym0 a_a1fn2) a_a1fn3;
    type (<) a_a1fnz a_a1fnA =
        Apply (Apply TFHelper_6989586621679307243Sym0 a_a1fnz) a_a1fnA;
    type (<=) a_a1fo6 a_a1fo7 =
        Apply (Apply TFHelper_6989586621679307276Sym0 a_a1fo6) a_a1fo7;
    type (>) a_a1foD a_a1foE =
        Apply (Apply TFHelper_6989586621679307309Sym0 a_a1foD) a_a1foE;
    type (>=) a_a1fpa a_a1fpb =
        Apply (Apply TFHelper_6989586621679307342Sym0 a_a1fpa) a_a1fpb;
    type Max a_a1fpH a_a1fpI =
        Apply (Apply Max_6989586621679307375Sym0 a_a1fpH) a_a1fpI;
    type Min a_a1fqe a_a1fqf =
        Apply (Apply Min_6989586621679307408Sym0 a_a1fqe) a_a1fqf;
}
data ThenCmpSym0 (l_a1h9c :: TyFun Ordering (TyFun Ordering Ordering -> Type))
data ThenCmpSym1 (l_a1h9a :: Ordering) (l_a1h99 :: TyFun Ordering Ordering)
type ThenCmpSym2 (t_a1h97 :: Ordering) (t_a1h98 :: Ordering) = ThenCmp t_a1h97 t_a1h98
type LTSym0 = LT
type EQSym0 = EQ
type GTSym0 = GT
data CompareSym0 (l_a1flB :: TyFun a6989586621679305434 (TyFun a6989586621679305434 Ordering -> Type))
data CompareSym1 (l_a1flz :: a6989586621679305434) (l_a1fly :: TyFun a6989586621679305434 Ordering)
type CompareSym2 (t_a1flw :: a6989586621679305434) (t_a1flx :: a6989586621679305434) = Compare t_a1flw t_a1flx
data (<@#@$) (l_a1flK :: TyFun a6989586621679305434 (TyFun a6989586621679305434 Bool -> Type))
data (<@#@$$) (l_a1flI :: a6989586621679305434) (l_a1flH :: TyFun a6989586621679305434 Bool)
type (<@#@$$$) (t_a1flF :: a6989586621679305434) (t_a1flG :: a6989586621679305434) = (<) t_a1flF t_a1flG
data (<=@#@$) (l_a1flT :: TyFun a6989586621679305434 (TyFun a6989586621679305434 Bool -> Type))
data (<=@#@$$) (l_a1flR :: a6989586621679305434) (l_a1flQ :: TyFun a6989586621679305434 Bool)
type (<=@#@$$$) (t_a1flO :: a6989586621679305434) (t_a1flP :: a6989586621679305434) = (<=) t_a1flO t_a1flP
data (>@#@$) (l_a1fm2 :: TyFun a6989586621679305434 (TyFun a6989586621679305434 Bool -> Type))
data (>@#@$$) (l_a1fm0 :: a6989586621679305434) (l_a1flZ :: TyFun a6989586621679305434 Bool)
type (>@#@$$$) (t_a1flX :: a6989586621679305434) (t_a1flY :: a6989586621679305434) = (>) t_a1flX t_a1flY
data (>=@#@$) (l_a1fmb :: TyFun a6989586621679305434 (TyFun a6989586621679305434 Bool -> Type))
data (>=@#@$$) (l_a1fm9 :: a6989586621679305434) (l_a1fm8 :: TyFun a6989586621679305434 Bool)
type (>=@#@$$$) (t_a1fm6 :: a6989586621679305434) (t_a1fm7 :: a6989586621679305434) = (>=) t_a1fm6 t_a1fm7
data MaxSym0 (l_a1fmk :: TyFun a6989586621679305434 (TyFun a6989586621679305434 a6989586621679305434 -> Type))
data MaxSym1 (l_a1fmi :: a6989586621679305434) (l_a1fmh :: TyFun a6989586621679305434 a6989586621679305434)
type MaxSym2 (t_a1fmf :: a6989586621679305434) (t_a1fmg :: a6989586621679305434) = Max t_a1fmf t_a1fmg
data MinSym0 (l_a1fmt :: TyFun a6989586621679305434 (TyFun a6989586621679305434 a6989586621679305434 -> Type))
data MinSym1 (l_a1fmr :: a6989586621679305434) (l_a1fmq :: TyFun a6989586621679305434 a6989586621679305434)
type MinSym2 (t_a1fmo :: a6989586621679305434) (t_a1fmp :: a6989586621679305434) = Min t_a1fmo t_a1fmp
data ComparingSym0 (l_a1flm :: TyFun (TyFun b6989586621679305424 a6989586621679305423 -> Type) (TyFun b6989586621679305424 (TyFun b6989586621679305424 Ordering -> Type) -> Type))
data ComparingSym1 (l_a1flk :: TyFun b6989586621679305424 a6989586621679305423 -> Type) (l_a1flj :: TyFun b6989586621679305424 (TyFun b6989586621679305424 Ordering -> Type))
data ComparingSym2 (l_a1flg :: TyFun b6989586621679305424 a6989586621679305423 -> Type) (l_a1flh :: b6989586621679305424) (l_a1flf :: TyFun b6989586621679305424 Ordering)
type ComparingSym3 (t_a1flc :: TyFun b6989586621679305424 a6989586621679305423 -> Type) (t_a1fld :: b6989586621679305424) (t_a1fle :: b6989586621679305424) = Comparing t_a1flc t_a1fld t_a1fle


-- | Provided promoted definitions related to type-level equality.
module Data.Promotion.Prelude.Eq

-- | The promoted analogue of <a>Eq</a>. If you supply no definition for
--   '(==)', then it defaults to a use of '(DTE.==)', from
--   <a>Data.Type.Equality</a>.
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);
}
data (==@#@$) (l_a1c3n :: TyFun a6989586621679294390 (TyFun a6989586621679294390 Bool -> Type))
data (==@#@$$) (l_a1c3l :: a6989586621679294390) (l_a1c3k :: TyFun a6989586621679294390 Bool)
type (==@#@$$$) (t_a1c3i :: a6989586621679294390) (t_a1c3j :: a6989586621679294390) = (==) t_a1c3i t_a1c3j
data (/=@#@$) (l_a1c3u :: TyFun a6989586621679294390 (TyFun a6989586621679294390 Bool -> Type))
data (/=@#@$$) (l_a1c3s :: a6989586621679294390) (l_a1c3r :: TyFun a6989586621679294390 Bool)
type (/=@#@$$$) (t_a1c3p :: a6989586621679294390) (t_a1c3q :: a6989586621679294390) = (/=) t_a1c3p t_a1c3q


-- | Implements singletonized versions of functions from <tt>GHC.Base</tt>
--   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 <tt>Data.Tuple</tt>. Also, please
--   excuse the apparent repeated variable names. This is due to an
--   interaction between Template Haskell and Haddock.
module Data.Singletons.Prelude.Base
sFoldr :: forall (t_a1JqM :: TyFun a_a1JlJ (TyFun b_a1JlK b_a1JlK -> Type) -> Type) (t_a1JqN :: b_a1JlK) (t_a1JqO :: [a_a1JlJ]). Sing t_a1JqM -> Sing t_a1JqN -> Sing t_a1JqO -> Sing (Apply (Apply (Apply FoldrSym0 t_a1JqM) t_a1JqN) t_a1JqO :: b_a1JlK)
sMap :: forall (t_a1JqK :: TyFun a_a1JlH b_a1JlI -> Type) (t_a1JqL :: [a_a1JlH]). Sing t_a1JqK -> Sing t_a1JqL -> Sing (Apply (Apply MapSym0 t_a1JqK) t_a1JqL :: [b_a1JlI])
(%++) :: forall (t_a1JqI :: [a_a1JlG]) (t_a1JqJ :: [a_a1JlG]). Sing t_a1JqI -> Sing t_a1JqJ -> Sing (Apply (Apply (++@#@$) t_a1JqI) t_a1JqJ :: [a_a1JlG])
infixr 5 %++
sOtherwise :: Sing (OtherwiseSym0 :: Bool)
sId :: forall (t_a1JqH :: a_a1JlF). Sing t_a1JqH -> Sing (Apply IdSym0 t_a1JqH :: a_a1JlF)
sConst :: forall (t_a1JqD :: a_a1JlD) (t_a1JqE :: b_a1JlE). Sing t_a1JqD -> Sing t_a1JqE -> Sing (Apply (Apply ConstSym0 t_a1JqD) t_a1JqE :: a_a1JlD)
(%.) :: forall (t_a1JqA :: TyFun b_a1JlA c_a1JlB -> Type) (t_a1JqB :: TyFun a_a1JlC b_a1JlA -> Type) (t_a1JqC :: a_a1JlC). Sing t_a1JqA -> Sing t_a1JqB -> Sing t_a1JqC -> Sing (Apply (Apply (Apply (.@#@$) t_a1JqA) t_a1JqB) t_a1JqC :: c_a1JlB)
infixr 9 %.
(%$) :: forall (t_a1Jqv :: TyFun a_a1Jlu b_a1Jlv -> Type) (t_a1Jqw :: a_a1Jlu). Sing t_a1Jqv -> Sing t_a1Jqw -> Sing (Apply (Apply ($@#@$) t_a1Jqv) t_a1Jqw :: b_a1Jlv)
infixr 0 %$
(%$!) :: forall (t_a1Jqt :: TyFun a_a1Jls b_a1Jlt -> Type) (t_a1Jqu :: a_a1Jls). Sing t_a1Jqt -> Sing t_a1Jqu -> Sing (Apply (Apply ($!@#@$) t_a1Jqt) t_a1Jqu :: b_a1Jlt)
infixr 0 %$!
sFlip :: forall (t_a1Jqx :: TyFun a_a1Jlx (TyFun b_a1Jly c_a1Jlz -> Type) -> Type) (t_a1Jqy :: b_a1Jly) (t_a1Jqz :: a_a1Jlx). Sing t_a1Jqx -> Sing t_a1Jqy -> Sing t_a1Jqz -> Sing (Apply (Apply (Apply FlipSym0 t_a1Jqx) t_a1Jqy) t_a1Jqz :: c_a1Jlz)
sAsTypeOf :: forall (t_a1JqF :: a_a1Jlw) (t_a1JqG :: a_a1Jlw). Sing t_a1JqF -> Sing t_a1JqG -> Sing (Apply (Apply AsTypeOfSym0 t_a1JqF) t_a1JqG :: a_a1Jlw)
sSeq :: forall (t_a1Jqr :: a_a1Jlq) (t_a1Jqs :: b_a1Jlr). Sing t_a1Jqr -> Sing t_a1Jqs -> Sing (Apply (Apply SeqSym0 t_a1Jqr) t_a1Jqs :: b_a1Jlr)
infixr 0 `sSeq`
data FoldrSym0 (l_a1JpV :: TyFun (TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (TyFun b6989586621679422448 (TyFun [a6989586621679422447] b6989586621679422448 -> Type) -> Type))
data FoldrSym1 (l_a1JpT :: TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (l_a1JpS :: TyFun b6989586621679422448 (TyFun [a6989586621679422447] b6989586621679422448 -> Type))
data FoldrSym2 (l_a1JpP :: TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (l_a1JpQ :: b6989586621679422448) (l_a1JpO :: TyFun [a6989586621679422447] b6989586621679422448)
type FoldrSym3 (t_a1JpL :: TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (t_a1JpM :: b6989586621679422448) (t_a1JpN :: [a6989586621679422447]) = Foldr t_a1JpL t_a1JpM t_a1JpN
data MapSym0 (l_a1JpE :: TyFun (TyFun a6989586621679422445 b6989586621679422446 -> Type) (TyFun [a6989586621679422445] [b6989586621679422446] -> Type))
data MapSym1 (l_a1JpC :: TyFun a6989586621679422445 b6989586621679422446 -> Type) (l_a1JpB :: TyFun [a6989586621679422445] [b6989586621679422446])
type MapSym2 (t_a1Jpz :: TyFun a6989586621679422445 b6989586621679422446 -> Type) (t_a1JpA :: [a6989586621679422445]) = Map t_a1Jpz t_a1JpA
data (++@#@$) (l_a1Jpr :: TyFun [a6989586621679422444] (TyFun [a6989586621679422444] [a6989586621679422444] -> Type))
data (++@#@$$) (l_a1Jpp :: [a6989586621679422444]) (l_a1Jpo :: TyFun [a6989586621679422444] [a6989586621679422444])
type (++@#@$$$) (t_a1Jpm :: [a6989586621679422444]) (t_a1Jpn :: [a6989586621679422444]) = (++) t_a1Jpm t_a1Jpn
type OtherwiseSym0 = Otherwise
data IdSym0 (l_a1Jpi :: TyFun a6989586621679422443 a6989586621679422443)
type IdSym1 (t_a1Jph :: a6989586621679422443) = Id t_a1Jph
data ConstSym0 (l_a1JoX :: TyFun a6989586621679422441 (TyFun b6989586621679422442 a6989586621679422441 -> Type))
data ConstSym1 (l_a1JoV :: a6989586621679422441) (l_a1JoU :: TyFun b6989586621679422442 a6989586621679422441)
type ConstSym2 (t_a1JoS :: a6989586621679422441) (t_a1JoT :: b6989586621679422442) = Const t_a1JoS t_a1JoT
data (.@#@$) (l_a1Jom :: TyFun (TyFun b6989586621679422438 c6989586621679422439 -> Type) (TyFun (TyFun a6989586621679422440 b6989586621679422438 -> Type) (TyFun a6989586621679422440 c6989586621679422439 -> Type) -> Type))
data (.@#@$$) (l_a1Jok :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (l_a1Joj :: TyFun (TyFun a6989586621679422440 b6989586621679422438 -> Type) (TyFun a6989586621679422440 c6989586621679422439 -> Type))
data (.@#@$$$) (l_a1Jog :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (l_a1Joh :: TyFun a6989586621679422440 b6989586621679422438 -> Type) (l_a1Jof :: TyFun a6989586621679422440 c6989586621679422439)
type (.@#@$$$$) (t_a1Joc :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (t_a1Jod :: TyFun a6989586621679422440 b6989586621679422438 -> Type) (t_a1Joe :: a6989586621679422440) = (:.) t_a1Joc t_a1Jod t_a1Joe
data ($@#@$) (l_a1JnO :: TyFun (TyFun a6989586621679422432 b6989586621679422433 -> Type) (TyFun a6989586621679422432 b6989586621679422433 -> Type))
data ($@#@$$) (l_a1JnM :: TyFun a6989586621679422432 b6989586621679422433 -> Type) (l_a1JnL :: TyFun a6989586621679422432 b6989586621679422433)
type ($@#@$$$) (t_a1JnJ :: TyFun a6989586621679422432 b6989586621679422433 -> Type) (t_a1JnK :: a6989586621679422432) = ($) t_a1JnJ t_a1JnK
data ($!@#@$) (l_a1Jnv :: TyFun (TyFun a6989586621679422430 b6989586621679422431 -> Type) (TyFun a6989586621679422430 b6989586621679422431 -> Type))
data ($!@#@$$) (l_a1Jnt :: TyFun a6989586621679422430 b6989586621679422431 -> Type) (l_a1Jns :: TyFun a6989586621679422430 b6989586621679422431)
type ($!@#@$$$) (t_a1Jnq :: TyFun a6989586621679422430 b6989586621679422431 -> Type) (t_a1Jnr :: a6989586621679422430) = ($!) t_a1Jnq t_a1Jnr
data FlipSym0 (l_a1Jo4 :: TyFun (TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (TyFun b6989586621679422436 (TyFun a6989586621679422435 c6989586621679422437 -> Type) -> Type))
data FlipSym1 (l_a1Jo2 :: TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (l_a1Jo1 :: TyFun b6989586621679422436 (TyFun a6989586621679422435 c6989586621679422437 -> Type))
data FlipSym2 (l_a1JnY :: TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (l_a1JnZ :: b6989586621679422436) (l_a1JnX :: TyFun a6989586621679422435 c6989586621679422437)
type FlipSym3 (t_a1JnU :: TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (t_a1JnV :: b6989586621679422436) (t_a1JnW :: a6989586621679422435) = Flip t_a1JnU t_a1JnV t_a1JnW
data AsTypeOfSym0 (l_a1Jpb :: TyFun a6989586621679422434 (TyFun a6989586621679422434 a6989586621679422434 -> Type))
data AsTypeOfSym1 (l_a1Jp9 :: a6989586621679422434) (l_a1Jp8 :: TyFun a6989586621679422434 a6989586621679422434)
type AsTypeOfSym2 (t_a1Jp6 :: a6989586621679422434) (t_a1Jp7 :: a6989586621679422434) = AsTypeOf t_a1Jp6 t_a1Jp7
data SeqSym0 (l_a1Jnl :: TyFun a6989586621679422428 (TyFun b6989586621679422429 b6989586621679422429 -> Type))
data SeqSym1 (l_a1Jnj :: a6989586621679422428) (l_a1Jni :: TyFun b6989586621679422429 b6989586621679422429)
type SeqSym2 (t_a1Jng :: a6989586621679422428) (t_a1Jnh :: b6989586621679422429) = Seq t_a1Jng t_a1Jnh
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.FoldrSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.FoldrSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.FoldrSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.MapSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.MapSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.++@#@$$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.++@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.IdSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.AsTypeOfSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.AsTypeOfSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.ConstSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.ConstSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base..@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base..@#@$$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base..@#@$$$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.FlipSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.FlipSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.FlipSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.$@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.$@#@$$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.$!@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.$!@#@$$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.SeqSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.SeqSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679422717GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679422717GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679422717GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679422717GoSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679422620Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679422620Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679422620Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679422620Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679422563VxSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679422563VxSym1


-- | Defines functions and datatypes relating to the singleton for '[]',
--   including a singletons version of a few of the definitions in
--   <tt>Data.List</tt>.
--   
--   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 <tt>Data.List</tt>. Also, please excuse
--   the apparent repeated variable names. This is due to an interaction
--   between Template Haskell and Haddock.
module Data.Singletons.Prelude.List

-- | The singleton kind-indexed data family.
type SList = (Sing :: [a_11] -> Type)
(%++) :: forall (t_a1JqI :: [a_a1JlG]) (t_a1JqJ :: [a_a1JlG]). Sing t_a1JqI -> Sing t_a1JqJ -> Sing (Apply (Apply (++@#@$) t_a1JqI) t_a1JqJ :: [a_a1JlG])
infixr 5 %++
sHead :: forall (t_a1SrE :: [a_a1PeN]). Sing t_a1SrE -> Sing (Apply HeadSym0 t_a1SrE :: a_a1PeN)
sLast :: forall (t_a1SrD :: [a_a1PeM]). Sing t_a1SrD -> Sing (Apply LastSym0 t_a1SrD :: a_a1PeM)
sTail :: forall (t_a1SrC :: [a_a1PeL]). Sing t_a1SrC -> Sing (Apply TailSym0 t_a1SrC :: [a_a1PeL])
sInit :: forall (t_a1SrB :: [a_a1PeK]). Sing t_a1SrB -> Sing (Apply InitSym0 t_a1SrB :: [a_a1PeK])
sNull :: forall (t_a1Sry :: [a_a1PeJ]). Sing t_a1Sry -> Sing (Apply NullSym0 t_a1Sry :: Bool)
sLength :: forall (t_a1Sp6 :: [a_a1PcT]). Sing t_a1Sp6 -> Sing (Apply LengthSym0 t_a1Sp6 :: Nat)
sMap :: forall (t_a1JqK :: TyFun a_a1JlH b_a1JlI -> Type) (t_a1JqL :: [a_a1JlH]). Sing t_a1JqK -> Sing t_a1JqL -> Sing (Apply (Apply MapSym0 t_a1JqK) t_a1JqL :: [b_a1JlI])
sReverse :: forall (t_a1Srv :: [a_a1PeI]). Sing t_a1Srv -> Sing (Apply ReverseSym0 t_a1Srv :: [a_a1PeI])
sIntersperse :: forall (t_a1Srr :: a_a1PeH) (t_a1Srs :: [a_a1PeH]). Sing t_a1Srr -> Sing t_a1Srs -> Sing (Apply (Apply IntersperseSym0 t_a1Srr) t_a1Srs :: [a_a1PeH])
sIntercalate :: forall (t_a1Srt :: [a_a1PeG]) (t_a1Sru :: [[a_a1PeG]]). Sing t_a1Srt -> Sing t_a1Sru -> Sing (Apply (Apply IntercalateSym0 t_a1Srt) t_a1Sru :: [a_a1PeG])
sTranspose :: forall (t_a1SrF :: [[a_a1PcR]]). Sing t_a1SrF -> Sing (Apply TransposeSym0 t_a1SrF :: [[a_a1PcR]])
sSubsequences :: forall (t_a1Srq :: [a_a1PeF]). Sing t_a1Srq -> Sing (Apply SubsequencesSym0 t_a1Srq :: [[a_a1PeF]])
sPermutations :: forall (t_a1Srm :: [a_a1PeC]). Sing t_a1Srm -> Sing (Apply PermutationsSym0 t_a1Srm :: [[a_a1PeC]])
sFoldl :: forall (t_a13u7 :: TyFun b_a13sL (TyFun a_a13sK b_a13sL -> Type) -> Type) (t_a13u8 :: b_a13sL) (t_a13u9 :: [a_a13sK]). Sing t_a13u7 -> Sing t_a13u8 -> Sing t_a13u9 -> Sing (Apply (Apply (Apply FoldlSym0 t_a13u7) t_a13u8) t_a13u9 :: b_a13sL)
sFoldl' :: forall (t_a1Srh :: TyFun b_a1PeB (TyFun a_a1PeA b_a1PeB -> Type) -> Type) (t_a1Sri :: b_a1PeB) (t_a1Srj :: [a_a1PeA]). Sing t_a1Srh -> Sing t_a1Sri -> Sing t_a1Srj -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a1Srh) t_a1Sri) t_a1Srj :: b_a1PeB)
sFoldl1 :: forall (t_a1Sr9 :: TyFun a_a1Pez (TyFun a_a1Pez a_a1Pez -> Type) -> Type) (t_a1Sra :: [a_a1Pez]). Sing t_a1Sr9 -> Sing t_a1Sra -> Sing (Apply (Apply Foldl1Sym0 t_a1Sr9) t_a1Sra :: a_a1Pez)
sFoldl1' :: forall (t_a1Srk :: TyFun a_a1Pey (TyFun a_a1Pey a_a1Pey -> Type) -> Type) (t_a1Srl :: [a_a1Pey]). Sing t_a1Srk -> Sing t_a1Srl -> Sing (Apply (Apply Foldl1'Sym0 t_a1Srk) t_a1Srl :: a_a1Pey)
sFoldr :: forall (t_a1JqM :: TyFun a_a1JlJ (TyFun b_a1JlK b_a1JlK -> Type) -> Type) (t_a1JqN :: b_a1JlK) (t_a1JqO :: [a_a1JlJ]). Sing t_a1JqM -> Sing t_a1JqN -> Sing t_a1JqO -> Sing (Apply (Apply (Apply FoldrSym0 t_a1JqM) t_a1JqN) t_a1JqO :: b_a1JlK)
sFoldr1 :: forall (t_a1Sr7 :: TyFun a_a1Pex (TyFun a_a1Pex a_a1Pex -> Type) -> Type) (t_a1Sr8 :: [a_a1Pex]). Sing t_a1Sr7 -> Sing t_a1Sr8 -> Sing (Apply (Apply Foldr1Sym0 t_a1Sr7) t_a1Sr8 :: a_a1Pex)
sConcat :: forall (t_a1Sr6 :: [[a_a1Pew]]). Sing t_a1Sr6 -> Sing (Apply ConcatSym0 t_a1Sr6 :: [a_a1Pew])
sConcatMap :: forall (t_a1Sr4 :: TyFun a_a1Peu [b_a1Pev] -> Type) (t_a1Sr5 :: [a_a1Peu]). Sing t_a1Sr4 -> Sing t_a1Sr5 -> Sing (Apply (Apply ConcatMapSym0 t_a1Sr4) t_a1Sr5 :: [b_a1Pev])
sAnd :: forall (t_a1Sr3 :: [Bool]). Sing t_a1Sr3 -> Sing (Apply AndSym0 t_a1Sr3 :: Bool)
sOr :: forall (t_a1Sr2 :: [Bool]). Sing t_a1Sr2 -> Sing (Apply OrSym0 t_a1Sr2 :: Bool)
sAny :: forall (t_a1SqR :: TyFun a_a1Pes Bool -> Type) (t_a1SqS :: [a_a1Pes]). Sing t_a1SqR -> Sing t_a1SqS -> Sing (Apply (Apply AnySym0 t_a1SqR) t_a1SqS :: Bool)
sAll :: forall (t_a1Sr0 :: TyFun a_a1Pet Bool -> Type) (t_a1Sr1 :: [a_a1Pet]). Sing t_a1Sr0 -> Sing t_a1Sr1 -> Sing (Apply (Apply AllSym0 t_a1Sr0) t_a1Sr1 :: Bool)
sSum :: forall (t_a1Sp8 :: [a_a1PcV]). SNum a_a1PcV => Sing t_a1Sp8 -> Sing (Apply SumSym0 t_a1Sp8 :: a_a1PcV)
sProduct :: forall (t_a1Sp7 :: [a_a1PcU]). SNum a_a1PcU => Sing t_a1Sp7 -> Sing (Apply ProductSym0 t_a1Sp7 :: a_a1PcU)
sMaximum :: forall (t_a1Srf :: [a_a1Pd4]). SOrd a_a1Pd4 => Sing t_a1Srf -> Sing (Apply MaximumSym0 t_a1Srf :: a_a1Pd4)
sMinimum :: forall (t_a1Srg :: [a_a1Pd3]). SOrd a_a1Pd3 => Sing t_a1Srg -> Sing (Apply MinimumSym0 t_a1Srg :: a_a1Pd3)
sScanl :: forall (t_a1SqM :: TyFun b_a1Peq (TyFun a_a1Per b_a1Peq -> Type) -> Type) (t_a1SqN :: b_a1Peq) (t_a1SqO :: [a_a1Per]). Sing t_a1SqM -> Sing t_a1SqN -> Sing t_a1SqO -> Sing (Apply (Apply (Apply ScanlSym0 t_a1SqM) t_a1SqN) t_a1SqO :: [b_a1Peq])
sScanl1 :: forall (t_a1SqP :: TyFun a_a1Pep (TyFun a_a1Pep a_a1Pep -> Type) -> Type) (t_a1SqQ :: [a_a1Pep]). Sing t_a1SqP -> Sing t_a1SqQ -> Sing (Apply (Apply Scanl1Sym0 t_a1SqP) t_a1SqQ :: [a_a1Pep])
sScanr :: forall (t_a1SqJ :: TyFun a_a1Pen (TyFun b_a1Peo b_a1Peo -> Type) -> Type) (t_a1SqK :: b_a1Peo) (t_a1SqL :: [a_a1Pen]). Sing t_a1SqJ -> Sing t_a1SqK -> Sing t_a1SqL -> Sing (Apply (Apply (Apply ScanrSym0 t_a1SqJ) t_a1SqK) t_a1SqL :: [b_a1Peo])
sScanr1 :: forall (t_a1SqH :: TyFun a_a1Pem (TyFun a_a1Pem a_a1Pem -> Type) -> Type) (t_a1SqI :: [a_a1Pem]). Sing t_a1SqH -> Sing t_a1SqI -> Sing (Apply (Apply Scanr1Sym0 t_a1SqH) t_a1SqI :: [a_a1Pem])
sMapAccumL :: forall (t_a1SqE :: TyFun acc_a1Pej (TyFun x_a1Pek (acc_a1Pej, y_a1Pel) -> Type) -> Type) (t_a1SqF :: acc_a1Pej) (t_a1SqG :: [x_a1Pek]). Sing t_a1SqE -> Sing t_a1SqF -> Sing t_a1SqG -> Sing (Apply (Apply (Apply MapAccumLSym0 t_a1SqE) t_a1SqF) t_a1SqG :: (acc_a1Pej, [y_a1Pel]))
sMapAccumR :: forall (t_a1SqB :: TyFun acc_a1Peg (TyFun x_a1Peh (acc_a1Peg, y_a1Pei) -> Type) -> Type) (t_a1SqC :: acc_a1Peg) (t_a1SqD :: [x_a1Peh]). Sing t_a1SqB -> Sing t_a1SqC -> Sing t_a1SqD -> Sing (Apply (Apply (Apply MapAccumRSym0 t_a1SqB) t_a1SqC) t_a1SqD :: (acc_a1Peg, [y_a1Pei]))
sReplicate :: forall (t_a1Sp4 :: Nat) (t_a1Sp5 :: a_a1PcS). Sing t_a1Sp4 -> Sing t_a1Sp5 -> Sing (Apply (Apply ReplicateSym0 t_a1Sp4) t_a1Sp5 :: [a_a1PcS])
sUnfoldr :: forall (t_a1Sqz :: TyFun b_a1Pee (Maybe (a_a1Pef, b_a1Pee)) -> Type) (t_a1SqA :: b_a1Pee). Sing t_a1Sqz -> Sing t_a1SqA -> Sing (Apply (Apply UnfoldrSym0 t_a1Sqz) t_a1SqA :: [a_a1Pef])
sTake :: forall (t_a1Spi :: Nat) (t_a1Spj :: [a_a1Pd8]). Sing t_a1Spi -> Sing t_a1Spj -> Sing (Apply (Apply TakeSym0 t_a1Spi) t_a1Spj :: [a_a1Pd8])
sDrop :: forall (t_a1Spg :: Nat) (t_a1Sph :: [a_a1Pd7]). Sing t_a1Spg -> Sing t_a1Sph -> Sing (Apply (Apply DropSym0 t_a1Spg) t_a1Sph :: [a_a1Pd7])
sSplitAt :: forall (t_a1Spk :: Nat) (t_a1Spl :: [a_a1Pd6]). Sing t_a1Spk -> Sing t_a1Spl -> Sing (Apply (Apply SplitAtSym0 t_a1Spk) t_a1Spl :: ([a_a1Pd6], [a_a1Pd6]))
sTakeWhile :: forall (t_a1Spv :: TyFun a_a1Pdd Bool -> Type) (t_a1Spw :: [a_a1Pdd]). Sing t_a1Spv -> Sing t_a1Spw -> Sing (Apply (Apply TakeWhileSym0 t_a1Spv) t_a1Spw :: [a_a1Pdd])
sDropWhile :: forall (t_a1Spt :: TyFun a_a1Pdc Bool -> Type) (t_a1Spu :: [a_a1Pdc]). Sing t_a1Spt -> Sing t_a1Spu -> Sing (Apply (Apply DropWhileSym0 t_a1Spt) t_a1Spu :: [a_a1Pdc])
sDropWhileEnd :: forall (t_a1Srz :: TyFun a_a1Pdb Bool -> Type) (t_a1SrA :: [a_a1Pdb]). Sing t_a1Srz -> Sing t_a1SrA -> Sing (Apply (Apply DropWhileEndSym0 t_a1Srz) t_a1SrA :: [a_a1Pdb])
sSpan :: forall (t_a1Spo :: TyFun a_a1Pda Bool -> Type) (t_a1Spp :: [a_a1Pda]). Sing t_a1Spo -> Sing t_a1Spp -> Sing (Apply (Apply SpanSym0 t_a1Spo) t_a1Spp :: ([a_a1Pda], [a_a1Pda]))
sBreak :: forall (t_a1Spm :: TyFun a_a1Pd9 Bool -> Type) (t_a1Spn :: [a_a1Pd9]). Sing t_a1Spm -> Sing t_a1Spn -> Sing (Apply (Apply BreakSym0 t_a1Spm) t_a1Spn :: ([a_a1Pd9], [a_a1Pd9]))
sGroup :: forall (t_a1Sps :: [a_a1Pd5]). SEq a_a1Pd5 => Sing t_a1Sps -> Sing (Apply GroupSym0 t_a1Sps :: [[a_a1Pd5]])
sInits :: forall (t_a1Sqy :: [a_a1Ped]). Sing t_a1Sqy -> Sing (Apply InitsSym0 t_a1Sqy :: [[a_a1Ped]])
sTails :: forall (t_a1Sqx :: [a_a1Pec]). Sing t_a1Sqx -> Sing (Apply TailsSym0 t_a1Sqx :: [[a_a1Pec]])
sIsPrefixOf :: forall (t_a1Sqv :: [a_a1Peb]) (t_a1Sqw :: [a_a1Peb]). SEq a_a1Peb => Sing t_a1Sqv -> Sing t_a1Sqw -> Sing (Apply (Apply IsPrefixOfSym0 t_a1Sqv) t_a1Sqw :: Bool)
sIsSuffixOf :: forall (t_a1Srw :: [a_a1Pea]) (t_a1Srx :: [a_a1Pea]). SEq a_a1Pea => Sing t_a1Srw -> Sing t_a1Srx -> Sing (Apply (Apply IsSuffixOfSym0 t_a1Srw) t_a1Srx :: Bool)
sIsInfixOf :: forall (t_a1SqT :: [a_a1Pe9]) (t_a1SqU :: [a_a1Pe9]). SEq a_a1Pe9 => Sing t_a1SqT -> Sing t_a1SqU -> Sing (Apply (Apply IsInfixOfSym0 t_a1SqT) t_a1SqU :: Bool)
sElem :: forall (t_a1Sqs :: a_a1Pe8) (t_a1Sqt :: [a_a1Pe8]). SEq a_a1Pe8 => Sing t_a1Sqs -> Sing t_a1Sqt -> Sing (Apply (Apply ElemSym0 t_a1Sqs) t_a1Sqt :: Bool)
infix 4 `sElem`
sNotElem :: forall (t_a1Sqq :: a_a1Pe7) (t_a1Sqr :: [a_a1Pe7]). SEq a_a1Pe7 => Sing t_a1Sqq -> Sing t_a1Sqr -> Sing (Apply (Apply NotElemSym0 t_a1Sqq) t_a1Sqr :: Bool)
infix 4 `sNotElem`
sLookup :: forall (t_a1Spe :: a_a1PcY) (t_a1Spf :: [(a_a1PcY, b_a1PcZ)]). SEq a_a1PcY => Sing t_a1Spe -> Sing t_a1Spf -> Sing (Apply (Apply LookupSym0 t_a1Spe) t_a1Spf :: Maybe b_a1PcZ)
sFind :: forall (t_a1Spz :: TyFun a_a1Pdk Bool -> Type) (t_a1SpA :: [a_a1Pdk]). Sing t_a1Spz -> Sing t_a1SpA -> Sing (Apply (Apply FindSym0 t_a1Spz) t_a1SpA :: Maybe a_a1Pdk)
sFilter :: forall (t_a1Spx :: TyFun a_a1Pdl Bool -> Type) (t_a1Spy :: [a_a1Pdl]). Sing t_a1Spx -> Sing t_a1Spy -> Sing (Apply (Apply FilterSym0 t_a1Spx) t_a1Spy :: [a_a1Pdl])
sPartition :: forall (t_a1Spc :: TyFun a_a1PcX Bool -> Type) (t_a1Spd :: [a_a1PcX]). Sing t_a1Spc -> Sing t_a1Spd -> Sing (Apply (Apply PartitionSym0 t_a1Spc) t_a1Spd :: ([a_a1PcX], [a_a1PcX]))
(%!!) :: forall (t_a1Sp2 :: [a_a1PcQ]) (t_a1Sp3 :: Nat). Sing t_a1Sp2 -> Sing t_a1Sp3 -> Sing (Apply (Apply (!!@#@$) t_a1Sp2) t_a1Sp3 :: a_a1PcQ)
infixl 9 %!!
sElemIndex :: forall (t_a1Sqo :: a_a1Pdj) (t_a1Sqp :: [a_a1Pdj]). SEq a_a1Pdj => Sing t_a1Sqo -> Sing t_a1Sqp -> Sing (Apply (Apply ElemIndexSym0 t_a1Sqo) t_a1Sqp :: Maybe Nat)
sElemIndices :: forall (t_a1Sqk :: a_a1Pdi) (t_a1Sql :: [a_a1Pdi]). SEq a_a1Pdi => Sing t_a1Sqk -> Sing t_a1Sql -> Sing (Apply (Apply ElemIndicesSym0 t_a1Sqk) t_a1Sql :: [Nat])
sFindIndex :: forall (t_a1Sqm :: TyFun a_a1Pdh Bool -> Type) (t_a1Sqn :: [a_a1Pdh]). Sing t_a1Sqm -> Sing t_a1Sqn -> Sing (Apply (Apply FindIndexSym0 t_a1Sqm) t_a1Sqn :: Maybe Nat)
sFindIndices :: forall (t_a1Sqi :: TyFun a_a1Pdg Bool -> Type) (t_a1Sqj :: [a_a1Pdg]). Sing t_a1Sqi -> Sing t_a1Sqj -> Sing (Apply (Apply FindIndicesSym0 t_a1Sqi) t_a1Sqj :: [Nat])
sZip :: forall (t_a1Sqg :: [a_a1Pe5]) (t_a1Sqh :: [b_a1Pe6]). Sing t_a1Sqg -> Sing t_a1Sqh -> Sing (Apply (Apply ZipSym0 t_a1Sqg) t_a1Sqh :: [(a_a1Pe5, b_a1Pe6)])
sZip3 :: forall (t_a1Sqd :: [a_a1Pe2]) (t_a1Sqe :: [b_a1Pe3]) (t_a1Sqf :: [c_a1Pe4]). Sing t_a1Sqd -> Sing t_a1Sqe -> Sing t_a1Sqf -> Sing (Apply (Apply (Apply Zip3Sym0 t_a1Sqd) t_a1Sqe) t_a1Sqf :: [(a_a1Pe2, b_a1Pe3, c_a1Pe4)])
sZipWith :: forall (t_a1Sqa :: TyFun a_a1PdZ (TyFun b_a1Pe0 c_a1Pe1 -> Type) -> Type) (t_a1Sqb :: [a_a1PdZ]) (t_a1Sqc :: [b_a1Pe0]). Sing t_a1Sqa -> Sing t_a1Sqb -> Sing t_a1Sqc -> Sing (Apply (Apply (Apply ZipWithSym0 t_a1Sqa) t_a1Sqb) t_a1Sqc :: [c_a1Pe1])
sZipWith3 :: forall (t_a1Sq6 :: TyFun a_a1PdV (TyFun b_a1PdW (TyFun c_a1PdX d_a1PdY -> Type) -> Type) -> Type) (t_a1Sq7 :: [a_a1PdV]) (t_a1Sq8 :: [b_a1PdW]) (t_a1Sq9 :: [c_a1PdX]). Sing t_a1Sq6 -> Sing t_a1Sq7 -> Sing t_a1Sq8 -> Sing t_a1Sq9 -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a1Sq6) t_a1Sq7) t_a1Sq8) t_a1Sq9 :: [d_a1PdY])
sUnzip :: forall (t_a1Sq5 :: [(a_a1PdT, b_a1PdU)]). Sing t_a1Sq5 -> Sing (Apply UnzipSym0 t_a1Sq5 :: ([a_a1PdT], [b_a1PdU]))
sUnzip3 :: forall (t_a1Sq4 :: [(a_a1PdQ, b_a1PdR, c_a1PdS)]). Sing t_a1Sq4 -> Sing (Apply Unzip3Sym0 t_a1Sq4 :: ([a_a1PdQ], [b_a1PdR], [c_a1PdS]))
sUnzip4 :: forall (t_a1Sq3 :: [(a_a1PdM, b_a1PdN, c_a1PdO, d_a1PdP)]). Sing t_a1Sq3 -> Sing (Apply Unzip4Sym0 t_a1Sq3 :: ([a_a1PdM], [b_a1PdN], [c_a1PdO], [d_a1PdP]))
sUnzip5 :: forall (t_a1Sq2 :: [(a_a1PdH, b_a1PdI, c_a1PdJ, d_a1PdK, e_a1PdL)]). Sing t_a1Sq2 -> Sing (Apply Unzip5Sym0 t_a1Sq2 :: ([a_a1PdH], [b_a1PdI], [c_a1PdJ], [d_a1PdK], [e_a1PdL]))
sUnzip6 :: forall (t_a1Sq1 :: [(a_a1PdB, b_a1PdC, c_a1PdD, d_a1PdE, e_a1PdF, f_a1PdG)]). Sing t_a1Sq1 -> Sing (Apply Unzip6Sym0 t_a1Sq1 :: ([a_a1PdB], [b_a1PdC], [c_a1PdD], [d_a1PdE], [e_a1PdF], [f_a1PdG]))
sUnzip7 :: forall (t_a1Sq0 :: [(a_a1Pdu, b_a1Pdv, c_a1Pdw, d_a1Pdx, e_a1Pdy, f_a1Pdz, g_a1PdA)]). Sing t_a1Sq0 -> Sing (Apply Unzip7Sym0 t_a1Sq0 :: ([a_a1Pdu], [b_a1Pdv], [c_a1Pdw], [d_a1Pdx], [e_a1Pdy], [f_a1Pdz], [g_a1PdA]))
sUnlines :: forall (t_a1SpZ :: [Symbol]). Sing t_a1SpZ -> Sing (Apply UnlinesSym0 t_a1SpZ :: Symbol)
sUnwords :: forall (t_a1SpY :: [Symbol]). Sing t_a1SpY -> Sing (Apply UnwordsSym0 t_a1SpY :: Symbol)
sNub :: forall (t_a1Squ :: [a_a1PcP]). SEq a_a1PcP => Sing t_a1Squ -> Sing (Apply NubSym0 t_a1Squ :: [a_a1PcP])
sDelete :: forall (t_a1SpU :: a_a1Pdt) (t_a1SpV :: [a_a1Pdt]). SEq a_a1Pdt => Sing t_a1SpU -> Sing t_a1SpV -> Sing (Apply (Apply DeleteSym0 t_a1SpU) t_a1SpV :: [a_a1Pdt])
(%\\) :: forall (t_a1SpW :: [a_a1Pds]) (t_a1SpX :: [a_a1Pds]). SEq a_a1Pds => Sing t_a1SpW -> Sing t_a1SpX -> Sing (Apply (Apply (\\@#@$) t_a1SpW) t_a1SpX :: [a_a1Pds])
infix 5 %\\
sUnion :: forall (t_a1SpS :: [a_a1PcL]) (t_a1SpT :: [a_a1PcL]). SEq a_a1PcL => Sing t_a1SpS -> Sing t_a1SpT -> Sing (Apply (Apply UnionSym0 t_a1SpS) t_a1SpT :: [a_a1PcL])
sIntersect :: forall (t_a1SqY :: [a_a1Pdf]) (t_a1SqZ :: [a_a1Pdf]). SEq a_a1Pdf => Sing t_a1SqY -> Sing t_a1SqZ -> Sing (Apply (Apply IntersectSym0 t_a1SqY) t_a1SqZ :: [a_a1Pdf])
sInsert :: forall (t_a1SpE :: a_a1Pd2) (t_a1SpF :: [a_a1Pd2]). SOrd a_a1Pd2 => Sing t_a1SpE -> Sing t_a1SpF -> Sing (Apply (Apply InsertSym0 t_a1SpE) t_a1SpF :: [a_a1Pd2])
sSort :: forall (t_a1SpI :: [a_a1Pd1]). SOrd a_a1Pd1 => Sing t_a1SpI -> Sing (Apply SortSym0 t_a1SpI :: [a_a1Pd1])
sNubBy :: forall (t_a1Sp0 :: TyFun a_a1PcO (TyFun a_a1PcO Bool -> Type) -> Type) (t_a1Sp1 :: [a_a1PcO]). Sing t_a1Sp0 -> Sing t_a1Sp1 -> Sing (Apply (Apply NubBySym0 t_a1Sp0) t_a1Sp1 :: [a_a1PcO])
sDeleteBy :: forall (t_a1SpJ :: TyFun a_a1Pdr (TyFun a_a1Pdr Bool -> Type) -> Type) (t_a1SpK :: a_a1Pdr) (t_a1SpL :: [a_a1Pdr]). Sing t_a1SpJ -> Sing t_a1SpK -> Sing t_a1SpL -> Sing (Apply (Apply (Apply DeleteBySym0 t_a1SpJ) t_a1SpK) t_a1SpL :: [a_a1Pdr])
sDeleteFirstsBy :: forall (t_a1SpM :: TyFun a_a1Pdq (TyFun a_a1Pdq Bool -> Type) -> Type) (t_a1SpN :: [a_a1Pdq]) (t_a1SpO :: [a_a1Pdq]). Sing t_a1SpM -> Sing t_a1SpN -> Sing t_a1SpO -> Sing (Apply (Apply (Apply DeleteFirstsBySym0 t_a1SpM) t_a1SpN) t_a1SpO :: [a_a1Pdq])
sUnionBy :: forall (t_a1SpP :: TyFun a_a1PcM (TyFun a_a1PcM Bool -> Type) -> Type) (t_a1SpQ :: [a_a1PcM]) (t_a1SpR :: [a_a1PcM]). Sing t_a1SpP -> Sing t_a1SpQ -> Sing t_a1SpR -> Sing (Apply (Apply (Apply UnionBySym0 t_a1SpP) t_a1SpQ) t_a1SpR :: [a_a1PcM])
sIntersectBy :: forall (t_a1SqV :: TyFun a_a1Pde (TyFun a_a1Pde Bool -> Type) -> Type) (t_a1SqW :: [a_a1Pde]) (t_a1SqX :: [a_a1Pde]). Sing t_a1SqV -> Sing t_a1SqW -> Sing t_a1SqX -> Sing (Apply (Apply (Apply IntersectBySym0 t_a1SqV) t_a1SqW) t_a1SqX :: [a_a1Pde])
sGroupBy :: forall (t_a1Spq :: TyFun a_a1Pd0 (TyFun a_a1Pd0 Bool -> Type) -> Type) (t_a1Spr :: [a_a1Pd0]). Sing t_a1Spq -> Sing t_a1Spr -> Sing (Apply (Apply GroupBySym0 t_a1Spq) t_a1Spr :: [[a_a1Pd0]])
sSortBy :: forall (t_a1SpG :: TyFun a_a1Pdp (TyFun a_a1Pdp Ordering -> Type) -> Type) (t_a1SpH :: [a_a1Pdp]). Sing t_a1SpG -> Sing t_a1SpH -> Sing (Apply (Apply SortBySym0 t_a1SpG) t_a1SpH :: [a_a1Pdp])
sInsertBy :: forall (t_a1SpB :: TyFun a_a1Pdo (TyFun a_a1Pdo Ordering -> Type) -> Type) (t_a1SpC :: a_a1Pdo) (t_a1SpD :: [a_a1Pdo]). Sing t_a1SpB -> Sing t_a1SpC -> Sing t_a1SpD -> Sing (Apply (Apply (Apply InsertBySym0 t_a1SpB) t_a1SpC) t_a1SpD :: [a_a1Pdo])
sMaximumBy :: forall (t_a1Srb :: TyFun a_a1Pdn (TyFun a_a1Pdn Ordering -> Type) -> Type) (t_a1Src :: [a_a1Pdn]). Sing t_a1Srb -> Sing t_a1Src -> Sing (Apply (Apply MaximumBySym0 t_a1Srb) t_a1Src :: a_a1Pdn)
sMinimumBy :: forall (t_a1Srd :: TyFun a_a1Pdm (TyFun a_a1Pdm Ordering -> Type) -> Type) (t_a1Sre :: [a_a1Pdm]). Sing t_a1Srd -> Sing t_a1Sre -> Sing (Apply (Apply MinimumBySym0 t_a1Srd) t_a1Sre :: a_a1Pdm)
sGenericLength :: forall (t_a1SoW :: [a_a1PcK]). SNum i_a1PcJ => Sing t_a1SoW -> Sing (Apply GenericLengthSym0 t_a1SoW :: i_a1PcJ)
type NilSym0 = '[]
data (:@#@$) (l_a10uS :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:@#@$$) (l_a10uQ :: a3530822107858468865) (l_a10uP :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:@#@$$$) (t_a10uN :: a3530822107858468865) (t_a10uO :: [a3530822107858468865]) = (:) t_a10uN t_a10uO
type (++@#@$$$) (t_a1Jpm :: [a6989586621679422444]) (t_a1Jpn :: [a6989586621679422444]) = (++) t_a1Jpm t_a1Jpn
data (++@#@$$) (l_a1Jpp :: [a6989586621679422444]) (l_a1Jpo :: TyFun [a6989586621679422444] [a6989586621679422444])
data (++@#@$) (l_a1Jpr :: TyFun [a6989586621679422444] (TyFun [a6989586621679422444] [a6989586621679422444] -> Type))
data HeadSym0 (l_a1SoK :: TyFun [a6989586621679445081] a6989586621679445081)
type HeadSym1 (t_a1SoJ :: [a6989586621679445081]) = Head t_a1SoJ
data LastSym0 (l_a1SoD :: TyFun [a6989586621679445080] a6989586621679445080)
type LastSym1 (t_a1SoC :: [a6989586621679445080]) = Last t_a1SoC
data TailSym0 (l_a1Soy :: TyFun [a6989586621679445079] [a6989586621679445079])
type TailSym1 (t_a1Sox :: [a6989586621679445079]) = Tail t_a1Sox
data InitSym0 (l_a1So4 :: TyFun [a6989586621679445078] [a6989586621679445078])
type InitSym1 (t_a1So3 :: [a6989586621679445078]) = Init t_a1So3
data NullSym0 (l_a1Sn3 :: TyFun [a6989586621679445077] Bool)
type NullSym1 (t_a1Sn2 :: [a6989586621679445077]) = Null t_a1Sn2
data LengthSym0 (l_a1REp :: TyFun [a6989586621679444963] Nat)
type LengthSym1 (t_a1REo :: [a6989586621679444963]) = Length t_a1REo
data MapSym0 (l_a1JpE :: TyFun (TyFun a6989586621679422445 b6989586621679422446 -> Type) (TyFun [a6989586621679422445] [b6989586621679422446] -> Type))
data MapSym1 (l_a1JpC :: TyFun a6989586621679422445 b6989586621679422446 -> Type) (l_a1JpB :: TyFun [a6989586621679422445] [b6989586621679422446])
type MapSym2 (t_a1Jpz :: TyFun a6989586621679422445 b6989586621679422446 -> Type) (t_a1JpA :: [a6989586621679422445]) = Map t_a1Jpz t_a1JpA
data ReverseSym0 (l_a1Smu :: TyFun [a6989586621679445076] [a6989586621679445076])
type ReverseSym1 (t_a1Smt :: [a6989586621679445076]) = Reverse t_a1Smt
data IntersperseSym0 (l_a1Smb :: TyFun a6989586621679445075 (TyFun [a6989586621679445075] [a6989586621679445075] -> Type))
data IntersperseSym1 (l_a1Sm9 :: a6989586621679445075) (l_a1Sm8 :: TyFun [a6989586621679445075] [a6989586621679445075])
type IntersperseSym2 (t_a1Sm6 :: a6989586621679445075) (t_a1Sm7 :: [a6989586621679445075]) = Intersperse t_a1Sm6 t_a1Sm7
data IntercalateSym0 (l_a1Smn :: TyFun [a6989586621679445074] (TyFun [[a6989586621679445074]] [a6989586621679445074] -> Type))
data IntercalateSym1 (l_a1Sml :: [a6989586621679445074]) (l_a1Smk :: TyFun [[a6989586621679445074]] [a6989586621679445074])
type IntercalateSym2 (t_a1Smi :: [a6989586621679445074]) (t_a1Smj :: [[a6989586621679445074]]) = Intercalate t_a1Smi t_a1Smj
data TransposeSym0 (l_a1SoP :: TyFun [[a6989586621679444961]] [[a6989586621679444961]])
type TransposeSym1 (t_a1SoO :: [[a6989586621679444961]]) = Transpose t_a1SoO
data SubsequencesSym0 (l_a1Sm2 :: TyFun [a6989586621679445073] [[a6989586621679445073]])
type SubsequencesSym1 (t_a1Sm1 :: [a6989586621679445073]) = Subsequences t_a1Sm1
data PermutationsSym0 (l_a1SfC :: TyFun [a6989586621679445070] [[a6989586621679445070]])
type PermutationsSym1 (t_a1SfB :: [a6989586621679445070]) = Permutations t_a1SfB
data FoldlSym0 (l_a13tt :: TyFun (TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (TyFun b6989586621679261435 (TyFun [a6989586621679261434] b6989586621679261435 -> Type) -> Type))
data FoldlSym1 (l_a13tr :: TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (l_a13tq :: TyFun b6989586621679261435 (TyFun [a6989586621679261434] b6989586621679261435 -> Type))
data FoldlSym2 (l_a13tn :: TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (l_a13to :: b6989586621679261435) (l_a13tm :: TyFun [a6989586621679261434] b6989586621679261435)
type FoldlSym3 (t_a13tj :: TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (t_a13tk :: b6989586621679261435) (t_a13tl :: [a6989586621679261434]) = Foldl t_a13tj t_a13tk t_a13tl
data Foldl'Sym0 (l_a1Sed :: TyFun (TyFun b6989586621679445069 (TyFun a6989586621679445068 b6989586621679445069 -> Type) -> Type) (TyFun b6989586621679445069 (TyFun [a6989586621679445068] b6989586621679445069 -> Type) -> Type))
data Foldl'Sym1 (l_a1Seb :: TyFun b6989586621679445069 (TyFun a6989586621679445068 b6989586621679445069 -> Type) -> Type) (l_a1Sea :: TyFun b6989586621679445069 (TyFun [a6989586621679445068] b6989586621679445069 -> Type))
data Foldl'Sym2 (l_a1Se7 :: TyFun b6989586621679445069 (TyFun a6989586621679445068 b6989586621679445069 -> Type) -> Type) (l_a1Se8 :: b6989586621679445069) (l_a1Se6 :: TyFun [a6989586621679445068] b6989586621679445069)
type Foldl'Sym3 (t_a1Se3 :: TyFun b6989586621679445069 (TyFun a6989586621679445068 b6989586621679445069 -> Type) -> Type) (t_a1Se4 :: b6989586621679445069) (t_a1Se5 :: [a6989586621679445068]) = Foldl' t_a1Se3 t_a1Se4 t_a1Se5
data Foldl1Sym0 (l_a1SaM :: TyFun (TyFun a6989586621679445067 (TyFun a6989586621679445067 a6989586621679445067 -> Type) -> Type) (TyFun [a6989586621679445067] a6989586621679445067 -> Type))
data Foldl1Sym1 (l_a1SaK :: TyFun a6989586621679445067 (TyFun a6989586621679445067 a6989586621679445067 -> Type) -> Type) (l_a1SaJ :: TyFun [a6989586621679445067] a6989586621679445067)
type Foldl1Sym2 (t_a1SaH :: TyFun a6989586621679445067 (TyFun a6989586621679445067 a6989586621679445067 -> Type) -> Type) (t_a1SaI :: [a6989586621679445067]) = Foldl1 t_a1SaH t_a1SaI
data Foldl1'Sym0 (l_a1Sfu :: TyFun (TyFun a6989586621679445066 (TyFun a6989586621679445066 a6989586621679445066 -> Type) -> Type) (TyFun [a6989586621679445066] a6989586621679445066 -> Type))
data Foldl1'Sym1 (l_a1Sfs :: TyFun a6989586621679445066 (TyFun a6989586621679445066 a6989586621679445066 -> Type) -> Type) (l_a1Sfr :: TyFun [a6989586621679445066] a6989586621679445066)
type Foldl1'Sym2 (t_a1Sfp :: TyFun a6989586621679445066 (TyFun a6989586621679445066 a6989586621679445066 -> Type) -> Type) (t_a1Sfq :: [a6989586621679445066]) = Foldl1' t_a1Sfp t_a1Sfq
data FoldrSym0 (l_a1JpV :: TyFun (TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (TyFun b6989586621679422448 (TyFun [a6989586621679422447] b6989586621679422448 -> Type) -> Type))
data FoldrSym1 (l_a1JpT :: TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (l_a1JpS :: TyFun b6989586621679422448 (TyFun [a6989586621679422447] b6989586621679422448 -> Type))
data FoldrSym2 (l_a1JpP :: TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (l_a1JpQ :: b6989586621679422448) (l_a1JpO :: TyFun [a6989586621679422447] b6989586621679422448)
type FoldrSym3 (t_a1JpL :: TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (t_a1JpM :: b6989586621679422448) (t_a1JpN :: [a6989586621679422447]) = Foldr t_a1JpL t_a1JpM t_a1JpN
data Foldr1Sym0 (l_a1Saf :: TyFun (TyFun a6989586621679445065 (TyFun a6989586621679445065 a6989586621679445065 -> Type) -> Type) (TyFun [a6989586621679445065] a6989586621679445065 -> Type))
data Foldr1Sym1 (l_a1Sad :: TyFun a6989586621679445065 (TyFun a6989586621679445065 a6989586621679445065 -> Type) -> Type) (l_a1Sac :: TyFun [a6989586621679445065] a6989586621679445065)
type Foldr1Sym2 (t_a1Saa :: TyFun a6989586621679445065 (TyFun a6989586621679445065 a6989586621679445065 -> Type) -> Type) (t_a1Sab :: [a6989586621679445065]) = Foldr1 t_a1Saa t_a1Sab
data ConcatSym0 (l_a1Sa6 :: TyFun [[a6989586621679445064]] [a6989586621679445064])
type ConcatSym1 (t_a1Sa5 :: [[a6989586621679445064]]) = Concat t_a1Sa5
data ConcatMapSym0 (l_a1S9V :: TyFun (TyFun a6989586621679445062 [b6989586621679445063] -> Type) (TyFun [a6989586621679445062] [b6989586621679445063] -> Type))
data ConcatMapSym1 (l_a1S9T :: TyFun a6989586621679445062 [b6989586621679445063] -> Type) (l_a1S9S :: TyFun [a6989586621679445062] [b6989586621679445063])
type ConcatMapSym2 (t_a1S9Q :: TyFun a6989586621679445062 [b6989586621679445063] -> Type) (t_a1S9R :: [a6989586621679445062]) = ConcatMap t_a1S9Q t_a1S9R
data AndSym0 (l_a1S9L :: TyFun [Bool] Bool)
type AndSym1 (t_a1S9K :: [Bool]) = And t_a1S9K
data OrSym0 (l_a1S9F :: TyFun [Bool] Bool)
type OrSym1 (t_a1S9E :: [Bool]) = Or t_a1S9E
data AnySym0 (l_a1S7b :: TyFun (TyFun a6989586621679445060 Bool -> Type) (TyFun [a6989586621679445060] Bool -> Type))
data AnySym1 (l_a1S79 :: TyFun a6989586621679445060 Bool -> Type) (l_a1S78 :: TyFun [a6989586621679445060] Bool)
type AnySym2 (t_a1S76 :: TyFun a6989586621679445060 Bool -> Type) (t_a1S77 :: [a6989586621679445060]) = Any t_a1S76 t_a1S77
data AllSym0 (l_a1S9x :: TyFun (TyFun a6989586621679445061 Bool -> Type) (TyFun [a6989586621679445061] Bool -> Type))
data AllSym1 (l_a1S9v :: TyFun a6989586621679445061 Bool -> Type) (l_a1S9u :: TyFun [a6989586621679445061] Bool)
type AllSym2 (t_a1S9s :: TyFun a6989586621679445061 Bool -> Type) (t_a1S9t :: [a6989586621679445061]) = All t_a1S9s t_a1S9t
data SumSym0 (l_a1RES :: TyFun [a6989586621679444965] a6989586621679444965)
type SumSym1 (t_a1RER :: [a6989586621679444965]) = Sum t_a1RER
data ProductSym0 (l_a1REu :: TyFun [a6989586621679444964] a6989586621679444964)
type ProductSym1 (t_a1REt :: [a6989586621679444964]) = Product t_a1REt
data MaximumSym0 (l_a1SdC :: TyFun [a6989586621679444974] a6989586621679444974)
type MaximumSym1 (t_a1SdB :: [a6989586621679444974]) = Maximum t_a1SdB
data MinimumSym0 (l_a1SdQ :: TyFun [a6989586621679444973] a6989586621679444973)
type MinimumSym1 (t_a1SdP :: [a6989586621679444973]) = Minimum t_a1SdP
data ScanlSym0 (l_a1S6H :: TyFun (TyFun b6989586621679445058 (TyFun a6989586621679445059 b6989586621679445058 -> Type) -> Type) (TyFun b6989586621679445058 (TyFun [a6989586621679445059] [b6989586621679445058] -> Type) -> Type))
data ScanlSym1 (l_a1S6F :: TyFun b6989586621679445058 (TyFun a6989586621679445059 b6989586621679445058 -> Type) -> Type) (l_a1S6E :: TyFun b6989586621679445058 (TyFun [a6989586621679445059] [b6989586621679445058] -> Type))
data ScanlSym2 (l_a1S6B :: TyFun b6989586621679445058 (TyFun a6989586621679445059 b6989586621679445058 -> Type) -> Type) (l_a1S6C :: b6989586621679445058) (l_a1S6A :: TyFun [a6989586621679445059] [b6989586621679445058])
type ScanlSym3 (t_a1S6x :: TyFun b6989586621679445058 (TyFun a6989586621679445059 b6989586621679445058 -> Type) -> Type) (t_a1S6y :: b6989586621679445058) (t_a1S6z :: [a6989586621679445059]) = Scanl t_a1S6x t_a1S6y t_a1S6z
data Scanl1Sym0 (l_a1S6Z :: TyFun (TyFun a6989586621679445057 (TyFun a6989586621679445057 a6989586621679445057 -> Type) -> Type) (TyFun [a6989586621679445057] [a6989586621679445057] -> Type))
data Scanl1Sym1 (l_a1S6X :: TyFun a6989586621679445057 (TyFun a6989586621679445057 a6989586621679445057 -> Type) -> Type) (l_a1S6W :: TyFun [a6989586621679445057] [a6989586621679445057])
type Scanl1Sym2 (t_a1S6U :: TyFun a6989586621679445057 (TyFun a6989586621679445057 a6989586621679445057 -> Type) -> Type) (t_a1S6V :: [a6989586621679445057]) = Scanl1 t_a1S6U t_a1S6V
data ScanrSym0 (l_a1S5Z :: TyFun (TyFun a6989586621679445055 (TyFun b6989586621679445056 b6989586621679445056 -> Type) -> Type) (TyFun b6989586621679445056 (TyFun [a6989586621679445055] [b6989586621679445056] -> Type) -> Type))
data ScanrSym1 (l_a1S5X :: TyFun a6989586621679445055 (TyFun b6989586621679445056 b6989586621679445056 -> Type) -> Type) (l_a1S5W :: TyFun b6989586621679445056 (TyFun [a6989586621679445055] [b6989586621679445056] -> Type))
data ScanrSym2 (l_a1S5T :: TyFun a6989586621679445055 (TyFun b6989586621679445056 b6989586621679445056 -> Type) -> Type) (l_a1S5U :: b6989586621679445056) (l_a1S5S :: TyFun [a6989586621679445055] [b6989586621679445056])
type ScanrSym3 (t_a1S5P :: TyFun a6989586621679445055 (TyFun b6989586621679445056 b6989586621679445056 -> Type) -> Type) (t_a1S5Q :: b6989586621679445056) (t_a1S5R :: [a6989586621679445055]) = Scanr t_a1S5P t_a1S5Q t_a1S5R
data Scanr1Sym0 (l_a1S4Z :: TyFun (TyFun a6989586621679445054 (TyFun a6989586621679445054 a6989586621679445054 -> Type) -> Type) (TyFun [a6989586621679445054] [a6989586621679445054] -> Type))
data Scanr1Sym1 (l_a1S4X :: TyFun a6989586621679445054 (TyFun a6989586621679445054 a6989586621679445054 -> Type) -> Type) (l_a1S4W :: TyFun [a6989586621679445054] [a6989586621679445054])
type Scanr1Sym2 (t_a1S4U :: TyFun a6989586621679445054 (TyFun a6989586621679445054 a6989586621679445054 -> Type) -> Type) (t_a1S4V :: [a6989586621679445054]) = Scanr1 t_a1S4U t_a1S4V
data MapAccumLSym0 (l_a1S2x :: TyFun (TyFun acc6989586621679445051 (TyFun x6989586621679445052 (acc6989586621679445051, y6989586621679445053) -> Type) -> Type) (TyFun acc6989586621679445051 (TyFun [x6989586621679445052] (acc6989586621679445051, [y6989586621679445053]) -> Type) -> Type))
data MapAccumLSym1 (l_a1S2v :: TyFun acc6989586621679445051 (TyFun x6989586621679445052 (acc6989586621679445051, y6989586621679445053) -> Type) -> Type) (l_a1S2u :: TyFun acc6989586621679445051 (TyFun [x6989586621679445052] (acc6989586621679445051, [y6989586621679445053]) -> Type))
data MapAccumLSym2 (l_a1S2r :: TyFun acc6989586621679445051 (TyFun x6989586621679445052 (acc6989586621679445051, y6989586621679445053) -> Type) -> Type) (l_a1S2s :: acc6989586621679445051) (l_a1S2q :: TyFun [x6989586621679445052] (acc6989586621679445051, [y6989586621679445053]))
type MapAccumLSym3 (t_a1S2n :: TyFun acc6989586621679445051 (TyFun x6989586621679445052 (acc6989586621679445051, y6989586621679445053) -> Type) -> Type) (t_a1S2o :: acc6989586621679445051) (t_a1S2p :: [x6989586621679445052]) = MapAccumL t_a1S2n t_a1S2o t_a1S2p
data MapAccumRSym0 (l_a1S00 :: TyFun (TyFun acc6989586621679445048 (TyFun x6989586621679445049 (acc6989586621679445048, y6989586621679445050) -> Type) -> Type) (TyFun acc6989586621679445048 (TyFun [x6989586621679445049] (acc6989586621679445048, [y6989586621679445050]) -> Type) -> Type))
data MapAccumRSym1 (l_a1RZY :: TyFun acc6989586621679445048 (TyFun x6989586621679445049 (acc6989586621679445048, y6989586621679445050) -> Type) -> Type) (l_a1RZX :: TyFun acc6989586621679445048 (TyFun [x6989586621679445049] (acc6989586621679445048, [y6989586621679445050]) -> Type))
data MapAccumRSym2 (l_a1RZU :: TyFun acc6989586621679445048 (TyFun x6989586621679445049 (acc6989586621679445048, y6989586621679445050) -> Type) -> Type) (l_a1RZV :: acc6989586621679445048) (l_a1RZT :: TyFun [x6989586621679445049] (acc6989586621679445048, [y6989586621679445050]))
type MapAccumRSym3 (t_a1RZQ :: TyFun acc6989586621679445048 (TyFun x6989586621679445049 (acc6989586621679445048, y6989586621679445050) -> Type) -> Type) (t_a1RZR :: acc6989586621679445048) (t_a1RZS :: [x6989586621679445049]) = MapAccumR t_a1RZQ t_a1RZR t_a1RZS
data ReplicateSym0 (l_a1RE7 :: TyFun Nat (TyFun a6989586621679444962 [a6989586621679444962] -> Type))
data ReplicateSym1 (l_a1RE5 :: Nat) (l_a1RE4 :: TyFun a6989586621679444962 [a6989586621679444962])
type ReplicateSym2 (t_a1RE2 :: Nat) (t_a1RE3 :: a6989586621679444962) = Replicate t_a1RE2 t_a1RE3
data UnfoldrSym0 (l_a1RZx :: TyFun (TyFun b6989586621679445046 (Maybe (a6989586621679445047, b6989586621679445046)) -> Type) (TyFun b6989586621679445046 [a6989586621679445047] -> Type))
data UnfoldrSym1 (l_a1RZv :: TyFun b6989586621679445046 (Maybe (a6989586621679445047, b6989586621679445046)) -> Type) (l_a1RZu :: TyFun b6989586621679445046 [a6989586621679445047])
type UnfoldrSym2 (t_a1RZs :: TyFun b6989586621679445046 (Maybe (a6989586621679445047, b6989586621679445046)) -> Type) (t_a1RZt :: b6989586621679445046) = Unfoldr t_a1RZs t_a1RZt
data TakeSym0 (l_a1RHc :: TyFun Nat (TyFun [a6989586621679444978] [a6989586621679444978] -> Type))
data TakeSym1 (l_a1RHa :: Nat) (l_a1RH9 :: TyFun [a6989586621679444978] [a6989586621679444978])
type TakeSym2 (t_a1RH7 :: Nat) (t_a1RH8 :: [a6989586621679444978]) = Take t_a1RH7 t_a1RH8
data DropSym0 (l_a1RGK :: TyFun Nat (TyFun [a6989586621679444977] [a6989586621679444977] -> Type))
data DropSym1 (l_a1RGI :: Nat) (l_a1RGH :: TyFun [a6989586621679444977] [a6989586621679444977])
type DropSym2 (t_a1RGF :: Nat) (t_a1RGG :: [a6989586621679444977]) = Drop t_a1RGF t_a1RGG
data SplitAtSym0 (l_a1RHE :: TyFun Nat (TyFun [a6989586621679444976] ([a6989586621679444976], [a6989586621679444976]) -> Type))
data SplitAtSym1 (l_a1RHC :: Nat) (l_a1RHB :: TyFun [a6989586621679444976] ([a6989586621679444976], [a6989586621679444976]))
type SplitAtSym2 (t_a1RHz :: Nat) (t_a1RHA :: [a6989586621679444976]) = SplitAt t_a1RHz t_a1RHA
data TakeWhileSym0 (l_a1RMA :: TyFun (TyFun a6989586621679444983 Bool -> Type) (TyFun [a6989586621679444983] [a6989586621679444983] -> Type))
data TakeWhileSym1 (l_a1RMy :: TyFun a6989586621679444983 Bool -> Type) (l_a1RMx :: TyFun [a6989586621679444983] [a6989586621679444983])
type TakeWhileSym2 (t_a1RMv :: TyFun a6989586621679444983 Bool -> Type) (t_a1RMw :: [a6989586621679444983]) = TakeWhile t_a1RMv t_a1RMw
data DropWhileSym0 (l_a1RLV :: TyFun (TyFun a6989586621679444982 Bool -> Type) (TyFun [a6989586621679444982] [a6989586621679444982] -> Type))
data DropWhileSym1 (l_a1RLT :: TyFun a6989586621679444982 Bool -> Type) (l_a1RLS :: TyFun [a6989586621679444982] [a6989586621679444982])
type DropWhileSym2 (t_a1RLQ :: TyFun a6989586621679444982 Bool -> Type) (t_a1RLR :: [a6989586621679444982]) = DropWhile t_a1RLQ t_a1RLR
data DropWhileEndSym0 (l_a1Snb :: TyFun (TyFun a6989586621679444981 Bool -> Type) (TyFun [a6989586621679444981] [a6989586621679444981] -> Type))
data DropWhileEndSym1 (l_a1Sn9 :: TyFun a6989586621679444981 Bool -> Type) (l_a1Sn8 :: TyFun [a6989586621679444981] [a6989586621679444981])
type DropWhileEndSym2 (t_a1Sn6 :: TyFun a6989586621679444981 Bool -> Type) (t_a1Sn7 :: [a6989586621679444981]) = DropWhileEnd t_a1Sn6 t_a1Sn7
data SpanSym0 (l_a1RJk :: TyFun (TyFun a6989586621679444980 Bool -> Type) (TyFun [a6989586621679444980] ([a6989586621679444980], [a6989586621679444980]) -> Type))
data SpanSym1 (l_a1RJi :: TyFun a6989586621679444980 Bool -> Type) (l_a1RJh :: TyFun [a6989586621679444980] ([a6989586621679444980], [a6989586621679444980]))
type SpanSym2 (t_a1RJf :: TyFun a6989586621679444980 Bool -> Type) (t_a1RJg :: [a6989586621679444980]) = Span t_a1RJf t_a1RJg
data BreakSym0 (l_a1RHP :: TyFun (TyFun a6989586621679444979 Bool -> Type) (TyFun [a6989586621679444979] ([a6989586621679444979], [a6989586621679444979]) -> Type))
data BreakSym1 (l_a1RHN :: TyFun a6989586621679444979 Bool -> Type) (l_a1RHM :: TyFun [a6989586621679444979] ([a6989586621679444979], [a6989586621679444979]))
type BreakSym2 (t_a1RHK :: TyFun a6989586621679444979 Bool -> Type) (t_a1RHL :: [a6989586621679444979]) = Break t_a1RHK t_a1RHL
data GroupSym0 (l_a1RLM :: TyFun [a6989586621679444975] [[a6989586621679444975]])
type GroupSym1 (t_a1RLL :: [a6989586621679444975]) = Group t_a1RLL
data InitsSym0 (l_a1RZj :: TyFun [a6989586621679445045] [[a6989586621679445045]])
type InitsSym1 (t_a1RZi :: [a6989586621679445045]) = Inits t_a1RZi
data TailsSym0 (l_a1RZa :: TyFun [a6989586621679445044] [[a6989586621679445044]])
type TailsSym1 (t_a1RZ9 :: [a6989586621679445044]) = Tails t_a1RZ9
data IsPrefixOfSym0 (l_a1RZ1 :: TyFun [a6989586621679445043] (TyFun [a6989586621679445043] Bool -> Type))
data IsPrefixOfSym1 (l_a1RYZ :: [a6989586621679445043]) (l_a1RYY :: TyFun [a6989586621679445043] Bool)
type IsPrefixOfSym2 (t_a1RYW :: [a6989586621679445043]) (t_a1RYX :: [a6989586621679445043]) = IsPrefixOf t_a1RYW t_a1RYX
data IsSuffixOfSym0 (l_a1SmW :: TyFun [a6989586621679445042] (TyFun [a6989586621679445042] Bool -> Type))
data IsSuffixOfSym1 (l_a1SmU :: [a6989586621679445042]) (l_a1SmT :: TyFun [a6989586621679445042] Bool)
type IsSuffixOfSym2 (t_a1SmR :: [a6989586621679445042]) (t_a1SmS :: [a6989586621679445042]) = IsSuffixOf t_a1SmR t_a1SmS
data IsInfixOfSym0 (l_a1S7n :: TyFun [a6989586621679445041] (TyFun [a6989586621679445041] Bool -> Type))
data IsInfixOfSym1 (l_a1S7l :: [a6989586621679445041]) (l_a1S7k :: TyFun [a6989586621679445041] Bool)
type IsInfixOfSym2 (t_a1S7i :: [a6989586621679445041]) (t_a1S7j :: [a6989586621679445041]) = IsInfixOf t_a1S7i t_a1S7j
data ElemSym0 (l_a1RY6 :: TyFun a6989586621679445040 (TyFun [a6989586621679445040] Bool -> Type))
data ElemSym1 (l_a1RY4 :: a6989586621679445040) (l_a1RY3 :: TyFun [a6989586621679445040] Bool)
type ElemSym2 (t_a1RY1 :: a6989586621679445040) (t_a1RY2 :: [a6989586621679445040]) = Elem t_a1RY1 t_a1RY2
data NotElemSym0 (l_a1RXU :: TyFun a6989586621679445039 (TyFun [a6989586621679445039] Bool -> Type))
data NotElemSym1 (l_a1RXS :: a6989586621679445039) (l_a1RXR :: TyFun [a6989586621679445039] Bool)
type NotElemSym2 (t_a1RXP :: a6989586621679445039) (t_a1RXQ :: [a6989586621679445039]) = NotElem t_a1RXP t_a1RXQ
data LookupSym0 (l_a1RGa :: TyFun a6989586621679444968 (TyFun [(a6989586621679444968, b6989586621679444969)] (Maybe b6989586621679444969) -> Type))
data LookupSym1 (l_a1RG8 :: a6989586621679444968) (l_a1RG7 :: TyFun [(a6989586621679444968, b6989586621679444969)] (Maybe b6989586621679444969))
type LookupSym2 (t_a1RG5 :: a6989586621679444968) (t_a1RG6 :: [(a6989586621679444968, b6989586621679444969)]) = Lookup t_a1RG5 t_a1RG6
data FindSym0 (l_a1RNv :: TyFun (TyFun a6989586621679444990 Bool -> Type) (TyFun [a6989586621679444990] (Maybe a6989586621679444990) -> Type))
data FindSym1 (l_a1RNt :: TyFun a6989586621679444990 Bool -> Type) (l_a1RNs :: TyFun [a6989586621679444990] (Maybe a6989586621679444990))
type FindSym2 (t_a1RNq :: TyFun a6989586621679444990 Bool -> Type) (t_a1RNr :: [a6989586621679444990]) = Find t_a1RNq t_a1RNr
data FilterSym0 (l_a1RN2 :: TyFun (TyFun a6989586621679444991 Bool -> Type) (TyFun [a6989586621679444991] [a6989586621679444991] -> Type))
data FilterSym1 (l_a1RN0 :: TyFun a6989586621679444991 Bool -> Type) (l_a1RMZ :: TyFun [a6989586621679444991] [a6989586621679444991])
type FilterSym2 (t_a1RMX :: TyFun a6989586621679444991 Bool -> Type) (t_a1RMY :: [a6989586621679444991]) = Filter t_a1RMX t_a1RMY
data PartitionSym0 (l_a1RFZ :: TyFun (TyFun a6989586621679444967 Bool -> Type) (TyFun [a6989586621679444967] ([a6989586621679444967], [a6989586621679444967]) -> Type))
data PartitionSym1 (l_a1RFX :: TyFun a6989586621679444967 Bool -> Type) (l_a1RFW :: TyFun [a6989586621679444967] ([a6989586621679444967], [a6989586621679444967]))
type PartitionSym2 (t_a1RFU :: TyFun a6989586621679444967 Bool -> Type) (t_a1RFV :: [a6989586621679444967]) = Partition t_a1RFU t_a1RFV
data (!!@#@$) (l_a1RDF :: TyFun [a6989586621679444960] (TyFun Nat a6989586621679444960 -> Type))
data (!!@#@$$) (l_a1RDD :: [a6989586621679444960]) (l_a1RDC :: TyFun Nat a6989586621679444960)
type (!!@#@$$$) (t_a1RDA :: [a6989586621679444960]) (t_a1RDB :: Nat) = (!!) t_a1RDA t_a1RDB
data ElemIndexSym0 (l_a1RXH :: TyFun a6989586621679444989 (TyFun [a6989586621679444989] (Maybe Nat) -> Type))
data ElemIndexSym1 (l_a1RXF :: a6989586621679444989) (l_a1RXE :: TyFun [a6989586621679444989] (Maybe Nat))
type ElemIndexSym2 (t_a1RXC :: a6989586621679444989) (t_a1RXD :: [a6989586621679444989]) = ElemIndex t_a1RXC t_a1RXD
data ElemIndicesSym0 (l_a1RXh :: TyFun a6989586621679444988 (TyFun [a6989586621679444988] [Nat] -> Type))
data ElemIndicesSym1 (l_a1RXf :: a6989586621679444988) (l_a1RXe :: TyFun [a6989586621679444988] [Nat])
type ElemIndicesSym2 (t_a1RXc :: a6989586621679444988) (t_a1RXd :: [a6989586621679444988]) = ElemIndices t_a1RXc t_a1RXd
data FindIndexSym0 (l_a1RXu :: TyFun (TyFun a6989586621679444987 Bool -> Type) (TyFun [a6989586621679444987] (Maybe Nat) -> Type))
data FindIndexSym1 (l_a1RXs :: TyFun a6989586621679444987 Bool -> Type) (l_a1RXr :: TyFun [a6989586621679444987] (Maybe Nat))
type FindIndexSym2 (t_a1RXp :: TyFun a6989586621679444987 Bool -> Type) (t_a1RXq :: [a6989586621679444987]) = FindIndex t_a1RXp t_a1RXq
data FindIndicesSym0 (l_a1RWp :: TyFun (TyFun a6989586621679444986 Bool -> Type) (TyFun [a6989586621679444986] [Nat] -> Type))
data FindIndicesSym1 (l_a1RWn :: TyFun a6989586621679444986 Bool -> Type) (l_a1RWm :: TyFun [a6989586621679444986] [Nat])
type FindIndicesSym2 (t_a1RWk :: TyFun a6989586621679444986 Bool -> Type) (t_a1RWl :: [a6989586621679444986]) = FindIndices t_a1RWk t_a1RWl
data ZipSym0 (l_a1RWc :: TyFun [a6989586621679445037] (TyFun [b6989586621679445038] [(a6989586621679445037, b6989586621679445038)] -> Type))
data ZipSym1 (l_a1RWa :: [a6989586621679445037]) (l_a1RW9 :: TyFun [b6989586621679445038] [(a6989586621679445037, b6989586621679445038)])
type ZipSym2 (t_a1RW7 :: [a6989586621679445037]) (t_a1RW8 :: [b6989586621679445038]) = Zip t_a1RW7 t_a1RW8
data Zip3Sym0 (l_a1RVW :: TyFun [a6989586621679445034] (TyFun [b6989586621679445035] (TyFun [c6989586621679445036] [(a6989586621679445034, b6989586621679445035, c6989586621679445036)] -> Type) -> Type))
data Zip3Sym1 (l_a1RVU :: [a6989586621679445034]) (l_a1RVT :: TyFun [b6989586621679445035] (TyFun [c6989586621679445036] [(a6989586621679445034, b6989586621679445035, c6989586621679445036)] -> Type))
data Zip3Sym2 (l_a1RVQ :: [a6989586621679445034]) (l_a1RVR :: [b6989586621679445035]) (l_a1RVP :: TyFun [c6989586621679445036] [(a6989586621679445034, b6989586621679445035, c6989586621679445036)])
type Zip3Sym3 (t_a1RVM :: [a6989586621679445034]) (t_a1RVN :: [b6989586621679445035]) (t_a1RVO :: [c6989586621679445036]) = Zip3 t_a1RVM t_a1RVN t_a1RVO
data ZipWithSym0 (l_a1RVC :: TyFun (TyFun a6989586621679445031 (TyFun b6989586621679445032 c6989586621679445033 -> Type) -> Type) (TyFun [a6989586621679445031] (TyFun [b6989586621679445032] [c6989586621679445033] -> Type) -> Type))
data ZipWithSym1 (l_a1RVA :: TyFun a6989586621679445031 (TyFun b6989586621679445032 c6989586621679445033 -> Type) -> Type) (l_a1RVz :: TyFun [a6989586621679445031] (TyFun [b6989586621679445032] [c6989586621679445033] -> Type))
data ZipWithSym2 (l_a1RVw :: TyFun a6989586621679445031 (TyFun b6989586621679445032 c6989586621679445033 -> Type) -> Type) (l_a1RVx :: [a6989586621679445031]) (l_a1RVv :: TyFun [b6989586621679445032] [c6989586621679445033])
type ZipWithSym3 (t_a1RVs :: TyFun a6989586621679445031 (TyFun b6989586621679445032 c6989586621679445033 -> Type) -> Type) (t_a1RVt :: [a6989586621679445031]) (t_a1RVu :: [b6989586621679445032]) = ZipWith t_a1RVs t_a1RVt t_a1RVu
data ZipWith3Sym0 (l_a1RVf :: TyFun (TyFun a6989586621679445027 (TyFun b6989586621679445028 (TyFun c6989586621679445029 d6989586621679445030 -> Type) -> Type) -> Type) (TyFun [a6989586621679445027] (TyFun [b6989586621679445028] (TyFun [c6989586621679445029] [d6989586621679445030] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1RVd :: TyFun a6989586621679445027 (TyFun b6989586621679445028 (TyFun c6989586621679445029 d6989586621679445030 -> Type) -> Type) -> Type) (l_a1RVc :: TyFun [a6989586621679445027] (TyFun [b6989586621679445028] (TyFun [c6989586621679445029] [d6989586621679445030] -> Type) -> Type))
data ZipWith3Sym2 (l_a1RV9 :: TyFun a6989586621679445027 (TyFun b6989586621679445028 (TyFun c6989586621679445029 d6989586621679445030 -> Type) -> Type) -> Type) (l_a1RVa :: [a6989586621679445027]) (l_a1RV8 :: TyFun [b6989586621679445028] (TyFun [c6989586621679445029] [d6989586621679445030] -> Type))
data ZipWith3Sym3 (l_a1RV4 :: TyFun a6989586621679445027 (TyFun b6989586621679445028 (TyFun c6989586621679445029 d6989586621679445030 -> Type) -> Type) -> Type) (l_a1RV5 :: [a6989586621679445027]) (l_a1RV6 :: [b6989586621679445028]) (l_a1RV3 :: TyFun [c6989586621679445029] [d6989586621679445030])
type ZipWith3Sym4 (t_a1RUZ :: TyFun a6989586621679445027 (TyFun b6989586621679445028 (TyFun c6989586621679445029 d6989586621679445030 -> Type) -> Type) -> Type) (t_a1RV0 :: [a6989586621679445027]) (t_a1RV1 :: [b6989586621679445028]) (t_a1RV2 :: [c6989586621679445029]) = ZipWith3 t_a1RUZ t_a1RV0 t_a1RV1 t_a1RV2
data UnzipSym0 (l_a1RUw :: TyFun [(a6989586621679445025, b6989586621679445026)] ([a6989586621679445025], [b6989586621679445026]))
type UnzipSym1 (t_a1RUv :: [(a6989586621679445025, b6989586621679445026)]) = Unzip t_a1RUv
data Unzip3Sym0 (l_a1RU0 :: TyFun [(a6989586621679445022, b6989586621679445023, c6989586621679445024)] ([a6989586621679445022], [b6989586621679445023], [c6989586621679445024]))
type Unzip3Sym1 (t_a1RTZ :: [(a6989586621679445022, b6989586621679445023, c6989586621679445024)]) = Unzip3 t_a1RTZ
data Unzip4Sym0 (l_a1RTs :: TyFun [(a6989586621679445018, b6989586621679445019, c6989586621679445020, d6989586621679445021)] ([a6989586621679445018], [b6989586621679445019], [c6989586621679445020], [d6989586621679445021]))
type Unzip4Sym1 (t_a1RTr :: [(a6989586621679445018, b6989586621679445019, c6989586621679445020, d6989586621679445021)]) = Unzip4 t_a1RTr
data Unzip5Sym0 (l_a1RSS :: TyFun [(a6989586621679445013, b6989586621679445014, c6989586621679445015, d6989586621679445016, e6989586621679445017)] ([a6989586621679445013], [b6989586621679445014], [c6989586621679445015], [d6989586621679445016], [e6989586621679445017]))
type Unzip5Sym1 (t_a1RSR :: [(a6989586621679445013, b6989586621679445014, c6989586621679445015, d6989586621679445016, e6989586621679445017)]) = Unzip5 t_a1RSR
data Unzip6Sym0 (l_a1RSg :: TyFun [(a6989586621679445007, b6989586621679445008, c6989586621679445009, d6989586621679445010, e6989586621679445011, f6989586621679445012)] ([a6989586621679445007], [b6989586621679445008], [c6989586621679445009], [d6989586621679445010], [e6989586621679445011], [f6989586621679445012]))
type Unzip6Sym1 (t_a1RSf :: [(a6989586621679445007, b6989586621679445008, c6989586621679445009, d6989586621679445010, e6989586621679445011, f6989586621679445012)]) = Unzip6 t_a1RSf
data Unzip7Sym0 (l_a1RRC :: TyFun [(a6989586621679445000, b6989586621679445001, c6989586621679445002, d6989586621679445003, e6989586621679445004, f6989586621679445005, g6989586621679445006)] ([a6989586621679445000], [b6989586621679445001], [c6989586621679445002], [d6989586621679445003], [e6989586621679445004], [f6989586621679445005], [g6989586621679445006]))
type Unzip7Sym1 (t_a1RRB :: [(a6989586621679445000, b6989586621679445001, c6989586621679445002, d6989586621679445003, e6989586621679445004, f6989586621679445005, g6989586621679445006)]) = Unzip7 t_a1RRB
data UnlinesSym0 (l_a1RRw :: TyFun [Symbol] Symbol)
type UnlinesSym1 (t_a1RRv :: [Symbol]) = Unlines t_a1RRv
data UnwordsSym0 (l_a1RRa :: TyFun [Symbol] Symbol)
type UnwordsSym1 (t_a1RR9 :: [Symbol]) = Unwords t_a1RR9
data NubSym0 (l_a1RYe :: TyFun [a6989586621679444959] [a6989586621679444959])
type NubSym1 (t_a1RYd :: [a6989586621679444959]) = Nub t_a1RYd
data DeleteSym0 (l_a1RQO :: TyFun a6989586621679444999 (TyFun [a6989586621679444999] [a6989586621679444999] -> Type))
data DeleteSym1 (l_a1RQM :: a6989586621679444999) (l_a1RQL :: TyFun [a6989586621679444999] [a6989586621679444999])
type DeleteSym2 (t_a1RQJ :: a6989586621679444999) (t_a1RQK :: [a6989586621679444999]) = Delete t_a1RQJ t_a1RQK
data (\\@#@$) (l_a1RR3 :: TyFun [a6989586621679444998] (TyFun [a6989586621679444998] [a6989586621679444998] -> Type))
data (\\@#@$$) (l_a1RR1 :: [a6989586621679444998]) (l_a1RR0 :: TyFun [a6989586621679444998] [a6989586621679444998])
type (\\@#@$$$) (t_a1RQY :: [a6989586621679444998]) (t_a1RQZ :: [a6989586621679444998]) = (\\) t_a1RQY t_a1RQZ
data UnionSym0 (l_a1RQz :: TyFun [a6989586621679444955] (TyFun [a6989586621679444955] [a6989586621679444955] -> Type))
data UnionSym1 (l_a1RQx :: [a6989586621679444955]) (l_a1RQw :: TyFun [a6989586621679444955] [a6989586621679444955])
type UnionSym2 (t_a1RQu :: [a6989586621679444955]) (t_a1RQv :: [a6989586621679444955]) = Union t_a1RQu t_a1RQv
data IntersectSym0 (l_a1S9m :: TyFun [a6989586621679444985] (TyFun [a6989586621679444985] [a6989586621679444985] -> Type))
data IntersectSym1 (l_a1S9k :: [a6989586621679444985]) (l_a1S9j :: TyFun [a6989586621679444985] [a6989586621679444985])
type IntersectSym2 (t_a1S9h :: [a6989586621679444985]) (t_a1S9i :: [a6989586621679444985]) = Intersect t_a1S9h t_a1S9i
data InsertSym0 (l_a1ROH :: TyFun a6989586621679444972 (TyFun [a6989586621679444972] [a6989586621679444972] -> Type))
data InsertSym1 (l_a1ROF :: a6989586621679444972) (l_a1ROE :: TyFun [a6989586621679444972] [a6989586621679444972])
type InsertSym2 (t_a1ROC :: a6989586621679444972) (t_a1ROD :: [a6989586621679444972]) = Insert t_a1ROC t_a1ROD
data SortSym0 (l_a1RP3 :: TyFun [a6989586621679444971] [a6989586621679444971])
type SortSym1 (t_a1RP2 :: [a6989586621679444971]) = Sort t_a1RP2
data NubBySym0 (l_a1RCD :: TyFun (TyFun a6989586621679444958 (TyFun a6989586621679444958 Bool -> Type) -> Type) (TyFun [a6989586621679444958] [a6989586621679444958] -> Type))
data NubBySym1 (l_a1RCB :: TyFun a6989586621679444958 (TyFun a6989586621679444958 Bool -> Type) -> Type) (l_a1RCA :: TyFun [a6989586621679444958] [a6989586621679444958])
type NubBySym2 (t_a1RCy :: TyFun a6989586621679444958 (TyFun a6989586621679444958 Bool -> Type) -> Type) (t_a1RCz :: [a6989586621679444958]) = NubBy t_a1RCy t_a1RCz
data DeleteBySym0 (l_a1RPh :: TyFun (TyFun a6989586621679444997 (TyFun a6989586621679444997 Bool -> Type) -> Type) (TyFun a6989586621679444997 (TyFun [a6989586621679444997] [a6989586621679444997] -> Type) -> Type))
data DeleteBySym1 (l_a1RPf :: TyFun a6989586621679444997 (TyFun a6989586621679444997 Bool -> Type) -> Type) (l_a1RPe :: TyFun a6989586621679444997 (TyFun [a6989586621679444997] [a6989586621679444997] -> Type))
data DeleteBySym2 (l_a1RPb :: TyFun a6989586621679444997 (TyFun a6989586621679444997 Bool -> Type) -> Type) (l_a1RPc :: a6989586621679444997) (l_a1RPa :: TyFun [a6989586621679444997] [a6989586621679444997])
type DeleteBySym3 (t_a1RP7 :: TyFun a6989586621679444997 (TyFun a6989586621679444997 Bool -> Type) -> Type) (t_a1RP8 :: a6989586621679444997) (t_a1RP9 :: [a6989586621679444997]) = DeleteBy t_a1RP7 t_a1RP8 t_a1RP9
data DeleteFirstsBySym0 (l_a1RPW :: TyFun (TyFun a6989586621679444996 (TyFun a6989586621679444996 Bool -> Type) -> Type) (TyFun [a6989586621679444996] (TyFun [a6989586621679444996] [a6989586621679444996] -> Type) -> Type))
data DeleteFirstsBySym1 (l_a1RPU :: TyFun a6989586621679444996 (TyFun a6989586621679444996 Bool -> Type) -> Type) (l_a1RPT :: TyFun [a6989586621679444996] (TyFun [a6989586621679444996] [a6989586621679444996] -> Type))
data DeleteFirstsBySym2 (l_a1RPQ :: TyFun a6989586621679444996 (TyFun a6989586621679444996 Bool -> Type) -> Type) (l_a1RPR :: [a6989586621679444996]) (l_a1RPP :: TyFun [a6989586621679444996] [a6989586621679444996])
type DeleteFirstsBySym3 (t_a1RPM :: TyFun a6989586621679444996 (TyFun a6989586621679444996 Bool -> Type) -> Type) (t_a1RPN :: [a6989586621679444996]) (t_a1RPO :: [a6989586621679444996]) = DeleteFirstsBy t_a1RPM t_a1RPN t_a1RPO
data UnionBySym0 (l_a1RQi :: TyFun (TyFun a6989586621679444956 (TyFun a6989586621679444956 Bool -> Type) -> Type) (TyFun [a6989586621679444956] (TyFun [a6989586621679444956] [a6989586621679444956] -> Type) -> Type))
data UnionBySym1 (l_a1RQg :: TyFun a6989586621679444956 (TyFun a6989586621679444956 Bool -> Type) -> Type) (l_a1RQf :: TyFun [a6989586621679444956] (TyFun [a6989586621679444956] [a6989586621679444956] -> Type))
data UnionBySym2 (l_a1RQc :: TyFun a6989586621679444956 (TyFun a6989586621679444956 Bool -> Type) -> Type) (l_a1RQd :: [a6989586621679444956]) (l_a1RQb :: TyFun [a6989586621679444956] [a6989586621679444956])
type UnionBySym3 (t_a1RQ8 :: TyFun a6989586621679444956 (TyFun a6989586621679444956 Bool -> Type) -> Type) (t_a1RQ9 :: [a6989586621679444956]) (t_a1RQa :: [a6989586621679444956]) = UnionBy t_a1RQ8 t_a1RQ9 t_a1RQa
data IntersectBySym0 (l_a1S7D :: TyFun (TyFun a6989586621679444984 (TyFun a6989586621679444984 Bool -> Type) -> Type) (TyFun [a6989586621679444984] (TyFun [a6989586621679444984] [a6989586621679444984] -> Type) -> Type))
data IntersectBySym1 (l_a1S7B :: TyFun a6989586621679444984 (TyFun a6989586621679444984 Bool -> Type) -> Type) (l_a1S7A :: TyFun [a6989586621679444984] (TyFun [a6989586621679444984] [a6989586621679444984] -> Type))
data IntersectBySym2 (l_a1S7x :: TyFun a6989586621679444984 (TyFun a6989586621679444984 Bool -> Type) -> Type) (l_a1S7y :: [a6989586621679444984]) (l_a1S7w :: TyFun [a6989586621679444984] [a6989586621679444984])
type IntersectBySym3 (t_a1S7t :: TyFun a6989586621679444984 (TyFun a6989586621679444984 Bool -> Type) -> Type) (t_a1S7u :: [a6989586621679444984]) (t_a1S7v :: [a6989586621679444984]) = IntersectBy t_a1S7t t_a1S7u t_a1S7v
data GroupBySym0 (l_a1RKP :: TyFun (TyFun a6989586621679444970 (TyFun a6989586621679444970 Bool -> Type) -> Type) (TyFun [a6989586621679444970] [[a6989586621679444970]] -> Type))
data GroupBySym1 (l_a1RKN :: TyFun a6989586621679444970 (TyFun a6989586621679444970 Bool -> Type) -> Type) (l_a1RKM :: TyFun [a6989586621679444970] [[a6989586621679444970]])
type GroupBySym2 (t_a1RKK :: TyFun a6989586621679444970 (TyFun a6989586621679444970 Bool -> Type) -> Type) (t_a1RKL :: [a6989586621679444970]) = GroupBy t_a1RKK t_a1RKL
data SortBySym0 (l_a1ROS :: TyFun (TyFun a6989586621679444995 (TyFun a6989586621679444995 Ordering -> Type) -> Type) (TyFun [a6989586621679444995] [a6989586621679444995] -> Type))
data SortBySym1 (l_a1ROQ :: TyFun a6989586621679444995 (TyFun a6989586621679444995 Ordering -> Type) -> Type) (l_a1ROP :: TyFun [a6989586621679444995] [a6989586621679444995])
type SortBySym2 (t_a1RON :: TyFun a6989586621679444995 (TyFun a6989586621679444995 Ordering -> Type) -> Type) (t_a1ROO :: [a6989586621679444995]) = SortBy t_a1RON t_a1ROO
data InsertBySym0 (l_a1RNN :: TyFun (TyFun a6989586621679444994 (TyFun a6989586621679444994 Ordering -> Type) -> Type) (TyFun a6989586621679444994 (TyFun [a6989586621679444994] [a6989586621679444994] -> Type) -> Type))
data InsertBySym1 (l_a1RNL :: TyFun a6989586621679444994 (TyFun a6989586621679444994 Ordering -> Type) -> Type) (l_a1RNK :: TyFun a6989586621679444994 (TyFun [a6989586621679444994] [a6989586621679444994] -> Type))
data InsertBySym2 (l_a1RNH :: TyFun a6989586621679444994 (TyFun a6989586621679444994 Ordering -> Type) -> Type) (l_a1RNI :: a6989586621679444994) (l_a1RNG :: TyFun [a6989586621679444994] [a6989586621679444994])
type InsertBySym3 (t_a1RND :: TyFun a6989586621679444994 (TyFun a6989586621679444994 Ordering -> Type) -> Type) (t_a1RNE :: a6989586621679444994) (t_a1RNF :: [a6989586621679444994]) = InsertBy t_a1RND t_a1RNE t_a1RNF
data MaximumBySym0 (l_a1SaY :: TyFun (TyFun a6989586621679444993 (TyFun a6989586621679444993 Ordering -> Type) -> Type) (TyFun [a6989586621679444993] a6989586621679444993 -> Type))
data MaximumBySym1 (l_a1SaW :: TyFun a6989586621679444993 (TyFun a6989586621679444993 Ordering -> Type) -> Type) (l_a1SaV :: TyFun [a6989586621679444993] a6989586621679444993)
type MaximumBySym2 (t_a1SaT :: TyFun a6989586621679444993 (TyFun a6989586621679444993 Ordering -> Type) -> Type) (t_a1SaU :: [a6989586621679444993]) = MaximumBy t_a1SaT t_a1SaU
data MinimumBySym0 (l_a1Sck :: TyFun (TyFun a6989586621679444992 (TyFun a6989586621679444992 Ordering -> Type) -> Type) (TyFun [a6989586621679444992] a6989586621679444992 -> Type))
data MinimumBySym1 (l_a1Sci :: TyFun a6989586621679444992 (TyFun a6989586621679444992 Ordering -> Type) -> Type) (l_a1Sch :: TyFun [a6989586621679444992] a6989586621679444992)
type MinimumBySym2 (t_a1Scf :: TyFun a6989586621679444992 (TyFun a6989586621679444992 Ordering -> Type) -> Type) (t_a1Scg :: [a6989586621679444992]) = MinimumBy t_a1Scf t_a1Scg
data GenericLengthSym0 (l_a1RCb :: TyFun [a6989586621679444954] i6989586621679444953)
type GenericLengthSym1 (t_a1RCa :: [a6989586621679444954]) = GenericLength t_a1RCa
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.TransposeSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.HeadSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.LastSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.TailSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.InitSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.DropWhileEndSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.DropWhileEndSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679457145Scrutinee_6989586621679445636Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679457145Scrutinee_6989586621679445636Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679457145Scrutinee_6989586621679445636Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679457145Scrutinee_6989586621679445636Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679457141Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679457141Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679457141Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679457141Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NullSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.IsSuffixOfSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.IsSuffixOfSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ReverseSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.IntercalateSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.IntercalateSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.IntersperseSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.IntersperseSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.SubsequencesSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmptySubsequencesSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.PrependToAllSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.PrependToAllSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456668PermsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456668PermsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456668PermsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.PermutationsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Foldl1'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Foldl1'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Foldl'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Foldl'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Foldl'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.MinimumSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.MaximumSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.MinimumBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.MinimumBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.MaximumBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.MaximumBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Foldl1Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Foldl1Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Foldr1Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Foldr1Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ConcatSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ConcatMapSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ConcatMapSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.AndSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.OrSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.AllSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.AllSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.IntersectSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.IntersectSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.IntersectBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.IntersectBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.IntersectBySym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.IsInfixOfSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.IsInfixOfSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679456230Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679456230Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679456230Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679456230Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679456230Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679456230Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.AnySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.AnySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Scanl1Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Scanl1Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ScanlSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ScanlSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ScanlSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456077Scrutinee_6989586621679445550Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456077Scrutinee_6989586621679445550Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456077Scrutinee_6989586621679445550Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456077Scrutinee_6989586621679445550Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ScanrSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ScanrSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ScanrSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456033Scrutinee_6989586621679445556Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456033Scrutinee_6989586621679445556Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456033Scrutinee_6989586621679445556Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456033Scrutinee_6989586621679445556Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Scanr1Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Scanr1Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863X_6989586621679455870Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863X_6989586621679455870Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863X_6989586621679455870Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863X_6989586621679455870Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863S''Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863S''Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863S''Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863S''Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863YsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.MapAccumLSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.MapAccumLSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.MapAccumLSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706X_6989586621679455713Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706X_6989586621679455713Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706X_6989586621679455713Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706X_6989586621679455713Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706S'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706S'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706S'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706S'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706X_6989586621679455707Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706X_6989586621679455707Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706X_6989586621679455707Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706X_6989586621679455707Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706S''Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706S''Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706S''Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706S''Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706YSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706YSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706YSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706YSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455706YsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.MapAccumRSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.MapAccumRSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.MapAccumRSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.UnfoldrSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.UnfoldrSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.InitsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.TailsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.IsPrefixOfSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.IsPrefixOfSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NubSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455608Scrutinee_6989586621679445662Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455608Scrutinee_6989586621679445662Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455608Scrutinee_6989586621679445662Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455608Scrutinee_6989586621679445662Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455590Nub'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455590Nub'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455590Nub'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ElemSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ElemSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NotElemSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NotElemSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ElemIndexSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ElemIndexSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.FindIndexSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.FindIndexSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ElemIndicesSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ElemIndicesSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.FindIndicesSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.FindIndicesSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ZipSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ZipSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Zip3Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Zip3Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Zip3Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ZipWithSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ZipWithSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ZipWithSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ZipWith3Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ZipWith3Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ZipWith3Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ZipWith3Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.UnzipSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Unzip3Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Unzip4Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Unzip5Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Unzip6Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Unzip7Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.UnlinesSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.UnwordsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.\\@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.\\@#@$$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.DeleteSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.DeleteSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.UnionSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.UnionSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.UnionBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.UnionBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.UnionBySym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.DeleteFirstsBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.DeleteFirstsBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.DeleteFirstsBySym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.DeleteBySym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.DeleteBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.DeleteBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.SortSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.SortBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.SortBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.InsertSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.InsertSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.InsertBySym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.InsertBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.InsertBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.FindSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.FindSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.FilterSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.FilterSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.TakeWhileSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.TakeWhileSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.DropWhileSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.DropWhileSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.GroupSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.GroupBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.GroupBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454698X_6989586621679454699Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454698X_6989586621679454699Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454698X_6989586621679454699Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454698YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454698YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454698YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454698ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454698ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454698ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454762X_6989586621679454763Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454762X_6989586621679454763Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454762X_6989586621679454763Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454762YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454762YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454762YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454762ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454762ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454762ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.SpanSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.SpanSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454605X_6989586621679454606Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454605X_6989586621679454606Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454605X_6989586621679454606Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454605YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454605YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454605YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454605ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454605ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454605ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.BreakSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.BreakSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.SplitAtSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.SplitAtSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.TakeSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.TakeSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.DropSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.DropSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.LookupSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.LookupSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.PartitionSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.PartitionSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.SelectSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.SelectSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.SelectSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.SumSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ProductSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.LengthSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ReplicateSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.ReplicateSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.!!@#@$$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.!!@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NubBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NubBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454277Scrutinee_6989586621679445664Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454277Scrutinee_6989586621679445664Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454277Scrutinee_6989586621679445664Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454277Scrutinee_6989586621679445664Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454277Scrutinee_6989586621679445664Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454253NubBy'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454253NubBy'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454253NubBy'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454253NubBy'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Elem_bySym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Elem_bySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Elem_bySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.GenericLengthSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679457193Init'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679457193Init'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679457193Init'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679457193Init'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679457094RevSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679457094RevSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679457094RevSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679457038FSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679457038FSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679457038FSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679457038FSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456686InterleaveSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456686InterleaveSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456686InterleaveSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456686InterleaveSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456686InterleaveSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456686InterleaveSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737X_6989586621679456738Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737X_6989586621679456738Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737X_6989586621679456738Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737X_6989586621679456738Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737X_6989586621679456738Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737X_6989586621679456738Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737X_6989586621679456738Sym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737X_6989586621679456738Sym7
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737UsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737UsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737UsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737UsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737UsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737UsSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737UsSym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737UsSym7
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737ZsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737ZsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737ZsSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737ZsSym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456737ZsSym7
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456945X_6989586621679456946Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456945X_6989586621679456946Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456945X_6989586621679456946Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456945X_6989586621679456946Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456945X_6989586621679456946Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456945X_6989586621679456946Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456945ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456945ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456945ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456945ZsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456945ZsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456945ZsSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456686Interleave'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456686Interleave'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456686Interleave'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456686Interleave'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456686Interleave'Sym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456686Interleave'Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456686Interleave'Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456585LgoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456585LgoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456585LgoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456585LgoSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456585LgoSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456617Z'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456617Z'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456617Z'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456617Z'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456617Z'Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456617Z'Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456559XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456559XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456545XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456545XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456480MinBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456480MinBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456480MinBySym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456480MinBySym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456480MinBySym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456510Scrutinee_6989586621679445614Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456510Scrutinee_6989586621679445614Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456510Scrutinee_6989586621679445614Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456510Scrutinee_6989586621679445614Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456510Scrutinee_6989586621679445614Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456467XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456467XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456467XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456396MaxBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456396MaxBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456396MaxBySym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456396MaxBySym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456396MaxBySym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456426Scrutinee_6989586621679445608Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456426Scrutinee_6989586621679445608Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456426Scrutinee_6989586621679445608Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456426Scrutinee_6989586621679445608Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456426Scrutinee_6989586621679445608Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456383XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456383XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456383XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456340XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456340XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456340XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456340XsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456179YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456179YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456179YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456179YsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456179YsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456179XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456179XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456179XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456179XsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456179XsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456014XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456014XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456014XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679456014XsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863X_6989586621679455864Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863X_6989586621679455864Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863X_6989586621679455864Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863X_6989586621679455864Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863S'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863S'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863S'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863S'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863YSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863YSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863YSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455863YSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455673Scrutinee_6989586621679445566Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455673Scrutinee_6989586621679445566Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455502Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455502Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455502Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455479BuildListSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455479BuildListSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455479BuildListSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455479BuildListSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455360Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455360Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455360Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455328Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455328Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455328Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455294Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455294Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455294Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455258Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455258Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455258Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455220Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455220Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455220Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455180Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455180Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679455180Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455153GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455153GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455153GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455040Scrutinee_6989586621679445604Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455040Scrutinee_6989586621679445604Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455040Scrutinee_6989586621679445604Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679455040Scrutinee_6989586621679445604Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454968Scrutinee_6989586621679445606Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454968Scrutinee_6989586621679445606Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454968Scrutinee_6989586621679445606Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454968Scrutinee_6989586621679445606Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454949YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454949YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454949YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454949YsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454900Scrutinee_6989586621679445620Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454900Scrutinee_6989586621679445620Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454900Scrutinee_6989586621679445620Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454871Scrutinee_6989586621679445632Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454871Scrutinee_6989586621679445632Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454871Scrutinee_6989586621679445632Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454843Scrutinee_6989586621679445634Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454843Scrutinee_6989586621679445634Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454843Scrutinee_6989586621679445634Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454830XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454830XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454830XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454683Scrutinee_6989586621679445638Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454683Scrutinee_6989586621679445638Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454683Scrutinee_6989586621679445638Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454670XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454670XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454670XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454590Scrutinee_6989586621679445640Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454590Scrutinee_6989586621679445640Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454590Scrutinee_6989586621679445640Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454577XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454577XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454577XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454537Scrutinee_6989586621679445642Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454537Scrutinee_6989586621679445642Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454537Scrutinee_6989586621679445642Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454509Scrutinee_6989586621679445644Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454509Scrutinee_6989586621679445644Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454509Scrutinee_6989586621679445644Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454475Scrutinee_6989586621679445654Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454475Scrutinee_6989586621679445654Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454475Scrutinee_6989586621679445654Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454475Scrutinee_6989586621679445654Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454428Scrutinee_6989586621679445656Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454428Scrutinee_6989586621679445656Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454428Scrutinee_6989586621679445656Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454428Scrutinee_6989586621679445656Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454390Sum'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454390Sum'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454390Sum'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454366ProdSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454366ProdSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454366ProdSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454345Scrutinee_6989586621679445658Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454345Scrutinee_6989586621679445658Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454318Scrutinee_6989586621679445660Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454318Scrutinee_6989586621679445660Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679454318Scrutinee_6989586621679445660Sym2


-- | Defines the SShow singleton version of the Show type class.
module Data.Singletons.Prelude.Show
class PShow (a_a2N1c :: Type) where {
    type family ShowsPrec (arg_a2NxQ :: Nat) (arg_a2NxR :: a_a2N1c) (arg_a2NxS :: Symbol) :: Symbol;
    type family Show_ (arg_a2Ny5 :: a_a2N1c) :: Symbol;
    type family ShowList (arg_a2Ny9 :: [a_a2N1c]) (arg_a2Nya :: Symbol) :: Symbol;
    type ShowsPrec a_a2Nyz a_a2NyA a_a2NyB =
        Apply (Apply (Apply ShowsPrec_6989586621679676950Sym0 a_a2Nyz) a_a2NyA) a_a2NyB;
    type Show_ a_a2NyV = Apply Show__6989586621679676970Sym0 a_a2NyV;
    type ShowList a_a2Nzc a_a2Nzd =
        Apply (Apply ShowList_6989586621679676988Sym0 a_a2Nzc) a_a2Nzd;
}
class SShow a_a2N1c
sShowsPrec :: forall (t_a2NEO :: Nat) (t_a2NEP :: a_a2N1c) (t_a2NEQ :: Symbol). SShow a_a2N1c => Sing t_a2NEO -> Sing t_a2NEP -> Sing t_a2NEQ -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a2NEO) t_a2NEP) t_a2NEQ :: Symbol)
sShow_ :: forall (t_a2NER :: a_a2N1c). SShow a_a2N1c => Sing t_a2NER -> Sing (Apply Show_Sym0 t_a2NER :: Symbol)
sShowList :: forall (t_a2NES :: [a_a2N1c]) (t_a2NET :: Symbol). SShow a_a2N1c => Sing t_a2NES -> Sing t_a2NET -> Sing (Apply (Apply ShowListSym0 t_a2NES) t_a2NET :: Symbol)
sShowsPrec :: forall (t_a2NEO :: Nat) (t_a2NEP :: a_a2N1c) (t_a2NEQ :: Symbol). (SShow a_a2N1c, (Apply (Apply (Apply ShowsPrecSym0 t_a2NEO) t_a2NEP) t_a2NEQ :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621679676950Sym0 t_a2NEO) t_a2NEP) t_a2NEQ) => Sing t_a2NEO -> Sing t_a2NEP -> Sing t_a2NEQ -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a2NEO) t_a2NEP) t_a2NEQ :: Symbol)
sShow_ :: forall (t_a2NER :: a_a2N1c). (SShow a_a2N1c, (Apply Show_Sym0 t_a2NER :: Symbol) ~ Apply Show__6989586621679676970Sym0 t_a2NER) => Sing t_a2NER -> Sing (Apply Show_Sym0 t_a2NER :: Symbol)
sShowList :: forall (t_a2NES :: [a_a2N1c]) (t_a2NET :: Symbol). (SShow a_a2N1c, (Apply (Apply ShowListSym0 t_a2NES) t_a2NET :: Symbol) ~ Apply (Apply ShowList_6989586621679676988Sym0 t_a2NES) t_a2NET) => Sing t_a2NES -> Sing t_a2NET -> Sing (Apply (Apply ShowListSym0 t_a2NES) t_a2NET :: Symbol)

-- | The <tt>shows</tt> functions return a function that prepends the
--   output <a>Symbol</a> to an existing <a>Symbol</a>. This allows
--   constant-time concatenation of results using function composition.
type SymbolS = Symbol -> Symbol

-- | GHC currently has no notion of type-level <a>Char</a>s, so we fake
--   them with single-character <a>Symbol</a>s.
type SChar = Symbol

-- | <a>show</a>, but with an extra underscore so that its promoted
--   counterpart (<a>Show_</a>) will not clash with the <tt>Show</tt>
--   class.
show_ :: Show a => a -> String

-- | The promoted analogue of '(&lt;&gt;)' for <a>Symbol</a>s. This uses
--   the special <a>AppendSymbol</a> type family from <a>GHC.TypeLits</a>.
type a <> b = AppendSymbol a b

-- | The singleton analogue of '(&lt;&gt;)' for <a>Symbol</a>s.
(%<>) :: Sing a -> Sing b -> Sing (a <> b)
infixr 6 %<>
sShows :: forall (t_a2NEs :: a_a2N0X) (t_a2NEt :: Symbol). SShow a_a2N0X => Sing t_a2NEs -> Sing t_a2NEt -> Sing (Apply (Apply ShowsSym0 t_a2NEs) t_a2NEt :: Symbol)
sShowListWith :: forall (t_a2NEp :: TyFun a_a2N0W (TyFun Symbol Symbol -> Type) -> Type) (t_a2NEq :: [a_a2N0W]) (t_a2NEr :: Symbol). Sing t_a2NEp -> Sing t_a2NEq -> Sing t_a2NEr -> Sing (Apply (Apply (Apply ShowListWithSym0 t_a2NEp) t_a2NEq) t_a2NEr :: Symbol)
sShowChar :: forall (t_a2NEi :: Symbol) (t_a2NEj :: Symbol). Sing t_a2NEi -> Sing t_a2NEj -> Sing (Apply (Apply ShowCharSym0 t_a2NEi) t_a2NEj :: Symbol)
sShowString :: forall (t_a2NEf :: Symbol) (t_a2NEg :: Symbol). Sing t_a2NEf -> Sing t_a2NEg -> Sing (Apply (Apply ShowStringSym0 t_a2NEf) t_a2NEg :: Symbol)
sShowParen :: forall (t_a2NEk :: Bool) (t_a2NEl :: TyFun Symbol Symbol -> Type) (t_a2NEm :: Symbol). Sing t_a2NEk -> Sing t_a2NEl -> Sing t_a2NEm -> Sing (Apply (Apply (Apply ShowParenSym0 t_a2NEk) t_a2NEl) t_a2NEm :: Symbol)
sShowSpace :: forall (t_a2NEe :: Symbol). Sing t_a2NEe -> Sing (Apply ShowSpaceSym0 t_a2NEe :: Symbol)
sShowCommaSpace :: forall (t_a2NEh :: Symbol). Sing t_a2NEh -> Sing (Apply ShowCommaSpaceSym0 t_a2NEh :: Symbol)
sAppPrec :: Sing (AppPrecSym0 :: Nat)
sAppPrec1 :: Sing (AppPrec1Sym0 :: Nat)
data ShowsPrecSym0 (l_a2Ny3 :: TyFun Nat (TyFun a6989586621679674878 (TyFun Symbol Symbol -> Type) -> Type))
data ShowsPrecSym1 (l_a2Ny1 :: Nat) (l_a2Ny0 :: TyFun a6989586621679674878 (TyFun Symbol Symbol -> Type))
data ShowsPrecSym2 (l_a2NxX :: Nat) (l_a2NxY :: a6989586621679674878) (l_a2NxW :: TyFun Symbol Symbol)
type ShowsPrecSym3 (t_a2NxT :: Nat) (t_a2NxU :: a6989586621679674878) (t_a2NxV :: Symbol) = ShowsPrec t_a2NxT t_a2NxU t_a2NxV
data Show_Sym0 (l_a2Ny7 :: TyFun a6989586621679674878 Symbol)
type Show_Sym1 (t_a2Ny6 :: a6989586621679674878) = Show_ t_a2Ny6
data ShowListSym0 (l_a2Nyg :: TyFun [a6989586621679674878] (TyFun Symbol Symbol -> Type))
data ShowListSym1 (l_a2Nye :: [a6989586621679674878]) (l_a2Nyd :: TyFun Symbol Symbol)
type ShowListSym2 (t_a2Nyb :: [a6989586621679674878]) (t_a2Nyc :: Symbol) = ShowList t_a2Nyb t_a2Nyc
data (<>@#@$) l_a1z0l
data (<>@#@$$) (l_a1z0j :: Symbol) l_a1z0i
type (<>@#@$$$) (t_a1z0g :: Symbol) (t_a1z0h :: Symbol) = (<>) t_a1z0g t_a1z0h
data ShowsSym0 (l_a2NxI :: TyFun a6989586621679674863 (TyFun Symbol Symbol -> Type))
data ShowsSym1 (l_a2NxG :: a6989586621679674863) (l_a2NxF :: TyFun Symbol Symbol)
type ShowsSym2 (t_a2NxD :: a6989586621679674863) (t_a2NxE :: Symbol) = Shows t_a2NxD t_a2NxE
data ShowListWithSym0 (l_a2Nx0 :: TyFun (TyFun a6989586621679674862 (TyFun Symbol Symbol -> Type) -> Type) (TyFun [a6989586621679674862] (TyFun Symbol Symbol -> Type) -> Type))
data ShowListWithSym1 (l_a2NwY :: TyFun a6989586621679674862 (TyFun Symbol Symbol -> Type) -> Type) (l_a2NwX :: TyFun [a6989586621679674862] (TyFun Symbol Symbol -> Type))
data ShowListWithSym2 (l_a2NwU :: TyFun a6989586621679674862 (TyFun Symbol Symbol -> Type) -> Type) (l_a2NwV :: [a6989586621679674862]) (l_a2NwT :: TyFun Symbol Symbol)
type ShowListWithSym3 (t_a2NwQ :: TyFun a6989586621679674862 (TyFun Symbol Symbol -> Type) -> Type) (t_a2NwR :: [a6989586621679674862]) (t_a2NwS :: Symbol) = ShowListWith t_a2NwQ t_a2NwR t_a2NwS
data ShowCharSym0 (l_a2NvM :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowCharSym1 (l_a2NvK :: Symbol) (l_a2NvJ :: TyFun Symbol Symbol)
type ShowCharSym2 (t_a2NvH :: Symbol) (t_a2NvI :: Symbol) = ShowChar t_a2NvH t_a2NvI
data ShowStringSym0 (l_a2Nvq :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowStringSym1 (l_a2Nvo :: Symbol) (l_a2Nvn :: TyFun Symbol Symbol)
type ShowStringSym2 (t_a2Nvl :: Symbol) (t_a2Nvm :: Symbol) = ShowString t_a2Nvl t_a2Nvm
data ShowParenSym0 (l_a2Nw2 :: TyFun Bool (TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type) -> Type))
data ShowParenSym1 (l_a2Nw0 :: Bool) (l_a2NvZ :: TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type))
data ShowParenSym2 (l_a2NvW :: Bool) (l_a2NvX :: TyFun Symbol Symbol -> Type) (l_a2NvV :: TyFun Symbol Symbol)
data ShowSpaceSym0 (l_a2Nv2 :: TyFun Symbol Symbol)
type ShowSpaceSym1 (t_a2Nv1 :: Symbol) = ShowSpace t_a2Nv1
data ShowCommaSpaceSym0 (l_a2Nvz :: TyFun Symbol Symbol)
type ShowCommaSpaceSym1 (t_a2Nvy :: Symbol) = ShowCommaSpace t_a2Nvy
type AppPrecSym0 = AppPrec
type AppPrec1Sym0 = AppPrec1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679692279Sym0
instance Data.Singletons.Prelude.Show.PShow Data.Void.Void
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679692279Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679692279Sym2
instance Data.Singletons.Prelude.Show.SShow Data.Void.Void
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679692233Sym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679692233Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679692233Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679692188Sym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679692188Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679692188Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679692144Sym0
instance Data.Singletons.Prelude.Show.PShow (GHC.Base.NonEmpty a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679692144Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679692144Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679692094Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Either.Either a b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679692094Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679692094Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679692038Sym0
instance Data.Singletons.Prelude.Show.PShow (GHC.Base.Maybe a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679692038Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679692038Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679691991Sym0
instance Data.Singletons.Prelude.Show.PShow ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679691991Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679691991Sym2
instance Data.Singletons.Prelude.Show.SShow ()
instance Data.Singletons.Prelude.Show.SShow a => Data.Singletons.Prelude.Show.SShow (GHC.Base.Maybe a)
instance (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Prelude.Show.SShow b) => Data.Singletons.Prelude.Show.SShow (Data.Either.Either a b)
instance (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Prelude.Show.SShow [a]) => Data.Singletons.Prelude.Show.SShow (GHC.Base.NonEmpty a)
instance Data.Singletons.Prelude.Show.SShow GHC.Types.Bool
instance Data.Singletons.Prelude.Show.SShow GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsNatSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsNatSym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Nat
instance Data.Singletons.Prelude.Show.SShow GHC.Types.Nat
instance Data.Singletons.Prelude.Show.SShow a => Data.Singletons.Prelude.Show.SShow [a]
instance Data.Singletons.Prelude.Show.SShow GHC.Types.Symbol
instance (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Prelude.Show.SShow b) => Data.Singletons.Prelude.Show.SShow (a, b)
instance (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Prelude.Show.SShow b, Data.Singletons.Prelude.Show.SShow c) => Data.Singletons.Prelude.Show.SShow (a, b, c)
instance (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Prelude.Show.SShow b, Data.Singletons.Prelude.Show.SShow c, Data.Singletons.Prelude.Show.SShow d) => Data.Singletons.Prelude.Show.SShow (a, b, c, d)
instance (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Prelude.Show.SShow b, Data.Singletons.Prelude.Show.SShow c, Data.Singletons.Prelude.Show.SShow d, Data.Singletons.Prelude.Show.SShow e) => Data.Singletons.Prelude.Show.SShow (a, b, c, d, e)
instance (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Prelude.Show.SShow b, Data.Singletons.Prelude.Show.SShow c, Data.Singletons.Prelude.Show.SShow d, Data.Singletons.Prelude.Show.SShow e, Data.Singletons.Prelude.Show.SShow f) => Data.Singletons.Prelude.Show.SShow (a, b, c, d, e, f)
instance (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Prelude.Show.SShow b, Data.Singletons.Prelude.Show.SShow c, Data.Singletons.Prelude.Show.SShow d, Data.Singletons.Prelude.Show.SShow e, Data.Singletons.Prelude.Show.SShow f, Data.Singletons.Prelude.Show.SShow g) => Data.Singletons.Prelude.Show.SShow (a, b, c, d, e, f, g)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677284Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d, e, f, g)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677284Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677284Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677244Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d, e, f)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677244Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677244Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677205Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d, e)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677205Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677205Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677167Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677167Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677167Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677130Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677130Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677130Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677094Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677094Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677094Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677059Sym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Symbol
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677059Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677059Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677021Sym0
instance Data.Singletons.Prelude.Show.PShow [a]
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677021Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679677021Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowListSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowListSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrecSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrecSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrecSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Show_Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679676950Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679676950Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621679676950Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Show__6989586621679676970Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowList_6989586621679676988Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowList_6989586621679676988Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowListWithSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowListWithSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowListWithSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Show_tupleSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Show_tupleSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowParenSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowParenSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowParenSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Lambda_6989586621679676816Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Lambda_6989586621679676816Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Lambda_6989586621679676816Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Lambda_6989586621679676816Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowCharSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowCharSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowCommaSpaceSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowStringSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowStringSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowSpaceSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Let6989586621679676860ShowlSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Let6989586621679676860ShowlSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Let6989586621679676860ShowlSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Let6989586621679676860ShowlSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Let6989586621679676860ShowlSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Lambda_6989586621679676732Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Lambda_6989586621679676732Sym1


-- | Exports a promoted version of <a>Show</a>
module Data.Promotion.Prelude.Show
class PShow (a_a2N1c :: Type) where {
    type family ShowsPrec (arg_a2NxQ :: Nat) (arg_a2NxR :: a_a2N1c) (arg_a2NxS :: Symbol) :: Symbol;
    type family Show_ (arg_a2Ny5 :: a_a2N1c) :: Symbol;
    type family ShowList (arg_a2Ny9 :: [a_a2N1c]) (arg_a2Nya :: Symbol) :: Symbol;
    type ShowsPrec a_a2Nyz a_a2NyA a_a2NyB =
        Apply (Apply (Apply ShowsPrec_6989586621679676950Sym0 a_a2Nyz) a_a2NyA) a_a2NyB;
    type Show_ a_a2NyV = Apply Show__6989586621679676970Sym0 a_a2NyV;
    type ShowList a_a2Nzc a_a2Nzd =
        Apply (Apply ShowList_6989586621679676988Sym0 a_a2Nzc) a_a2Nzd;
}

-- | The <tt>shows</tt> functions return a function that prepends the
--   output <a>Symbol</a> to an existing <a>Symbol</a>. This allows
--   constant-time concatenation of results using function composition.
type SymbolS = Symbol -> Symbol

-- | GHC currently has no notion of type-level <a>Char</a>s, so we fake
--   them with single-character <a>Symbol</a>s.
type SChar = Symbol

-- | <a>show</a>, but with an extra underscore so that its promoted
--   counterpart (<a>Show_</a>) will not clash with the <tt>Show</tt>
--   class.
show_ :: Show a => a -> String

-- | The promoted analogue of '(&lt;&gt;)' for <a>Symbol</a>s. This uses
--   the special <a>AppendSymbol</a> type family from <a>GHC.TypeLits</a>.
type a <> b = AppendSymbol a b
data ShowsPrecSym0 (l_a2Ny3 :: TyFun Nat (TyFun a6989586621679674878 (TyFun Symbol Symbol -> Type) -> Type))
data ShowsPrecSym1 (l_a2Ny1 :: Nat) (l_a2Ny0 :: TyFun a6989586621679674878 (TyFun Symbol Symbol -> Type))
data ShowsPrecSym2 (l_a2NxX :: Nat) (l_a2NxY :: a6989586621679674878) (l_a2NxW :: TyFun Symbol Symbol)
type ShowsPrecSym3 (t_a2NxT :: Nat) (t_a2NxU :: a6989586621679674878) (t_a2NxV :: Symbol) = ShowsPrec t_a2NxT t_a2NxU t_a2NxV
data Show_Sym0 (l_a2Ny7 :: TyFun a6989586621679674878 Symbol)
type Show_Sym1 (t_a2Ny6 :: a6989586621679674878) = Show_ t_a2Ny6
data ShowListSym0 (l_a2Nyg :: TyFun [a6989586621679674878] (TyFun Symbol Symbol -> Type))
data ShowListSym1 (l_a2Nye :: [a6989586621679674878]) (l_a2Nyd :: TyFun Symbol Symbol)
type ShowListSym2 (t_a2Nyb :: [a6989586621679674878]) (t_a2Nyc :: Symbol) = ShowList t_a2Nyb t_a2Nyc
data (<>@#@$) l_a1z0l
data (<>@#@$$) (l_a1z0j :: Symbol) l_a1z0i
type (<>@#@$$$) (t_a1z0g :: Symbol) (t_a1z0h :: Symbol) = (<>) t_a1z0g t_a1z0h
data ShowsSym0 (l_a2NxI :: TyFun a6989586621679674863 (TyFun Symbol Symbol -> Type))
data ShowsSym1 (l_a2NxG :: a6989586621679674863) (l_a2NxF :: TyFun Symbol Symbol)
type ShowsSym2 (t_a2NxD :: a6989586621679674863) (t_a2NxE :: Symbol) = Shows t_a2NxD t_a2NxE
data ShowListWithSym0 (l_a2Nx0 :: TyFun (TyFun a6989586621679674862 (TyFun Symbol Symbol -> Type) -> Type) (TyFun [a6989586621679674862] (TyFun Symbol Symbol -> Type) -> Type))
data ShowListWithSym1 (l_a2NwY :: TyFun a6989586621679674862 (TyFun Symbol Symbol -> Type) -> Type) (l_a2NwX :: TyFun [a6989586621679674862] (TyFun Symbol Symbol -> Type))
data ShowListWithSym2 (l_a2NwU :: TyFun a6989586621679674862 (TyFun Symbol Symbol -> Type) -> Type) (l_a2NwV :: [a6989586621679674862]) (l_a2NwT :: TyFun Symbol Symbol)
type ShowListWithSym3 (t_a2NwQ :: TyFun a6989586621679674862 (TyFun Symbol Symbol -> Type) -> Type) (t_a2NwR :: [a6989586621679674862]) (t_a2NwS :: Symbol) = ShowListWith t_a2NwQ t_a2NwR t_a2NwS
data ShowCharSym0 (l_a2NvM :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowCharSym1 (l_a2NvK :: Symbol) (l_a2NvJ :: TyFun Symbol Symbol)
type ShowCharSym2 (t_a2NvH :: Symbol) (t_a2NvI :: Symbol) = ShowChar t_a2NvH t_a2NvI
data ShowStringSym0 (l_a2Nvq :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowStringSym1 (l_a2Nvo :: Symbol) (l_a2Nvn :: TyFun Symbol Symbol)
type ShowStringSym2 (t_a2Nvl :: Symbol) (t_a2Nvm :: Symbol) = ShowString t_a2Nvl t_a2Nvm
data ShowParenSym0 (l_a2Nw2 :: TyFun Bool (TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type) -> Type))
data ShowParenSym1 (l_a2Nw0 :: Bool) (l_a2NvZ :: TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type))
data ShowParenSym2 (l_a2NvW :: Bool) (l_a2NvX :: TyFun Symbol Symbol -> Type) (l_a2NvV :: TyFun Symbol Symbol)
data ShowSpaceSym0 (l_a2Nv2 :: TyFun Symbol Symbol)
type ShowSpaceSym1 (t_a2Nv1 :: Symbol) = ShowSpace t_a2Nv1
data ShowCommaSpaceSym0 (l_a2Nvz :: TyFun Symbol Symbol)
type ShowCommaSpaceSym1 (t_a2Nvy :: Symbol) = ShowCommaSpace t_a2Nvy
type AppPrecSym0 = AppPrec
type AppPrec1Sym0 = AppPrec1


-- | Defines singleton versions of the definitions in
--   <tt>Data.Function</tt>.
--   
--   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 <tt>Data.Function</tt>. Also, please
--   excuse the apparent repeated variable names. This is due to an
--   interaction between Template Haskell and Haddock.
module Data.Singletons.Prelude.Function
sId :: forall (t_a1JqH :: a_a1JlF). Sing t_a1JqH -> Sing (Apply IdSym0 t_a1JqH :: a_a1JlF)
sConst :: forall (t_a1JqD :: a_a1JlD) (t_a1JqE :: b_a1JlE). Sing t_a1JqD -> Sing t_a1JqE -> Sing (Apply (Apply ConstSym0 t_a1JqD) t_a1JqE :: a_a1JlD)
(%.) :: forall (t_a1JqA :: TyFun b_a1JlA c_a1JlB -> Type) (t_a1JqB :: TyFun a_a1JlC b_a1JlA -> Type) (t_a1JqC :: a_a1JlC). Sing t_a1JqA -> Sing t_a1JqB -> Sing t_a1JqC -> Sing (Apply (Apply (Apply (.@#@$) t_a1JqA) t_a1JqB) t_a1JqC :: c_a1JlB)
infixr 9 %.
sFlip :: forall (t_a1Jqx :: TyFun a_a1Jlx (TyFun b_a1Jly c_a1Jlz -> Type) -> Type) (t_a1Jqy :: b_a1Jly) (t_a1Jqz :: a_a1Jlx). Sing t_a1Jqx -> Sing t_a1Jqy -> Sing t_a1Jqz -> Sing (Apply (Apply (Apply FlipSym0 t_a1Jqx) t_a1Jqy) t_a1Jqz :: c_a1Jlz)
(%$) :: forall (t_a1Jqv :: TyFun a_a1Jlu b_a1Jlv -> Type) (t_a1Jqw :: a_a1Jlu). Sing t_a1Jqv -> Sing t_a1Jqw -> Sing (Apply (Apply ($@#@$) t_a1Jqv) t_a1Jqw :: b_a1Jlv)
infixr 0 %$
(%&) :: forall (t_a39D1 :: a_a39Bw) (t_a39D2 :: TyFun a_a39Bw b_a39Bx -> Type). Sing t_a39D1 -> Sing t_a39D2 -> Sing (Apply (Apply (&@#@$) t_a39D1) t_a39D2 :: b_a39Bx)
infixl 1 %&
sOn :: forall (t_a39D3 :: TyFun b_a39By (TyFun b_a39By c_a39Bz -> Type) -> Type) (t_a39D4 :: TyFun a_a39BA b_a39By -> Type) (t_a39D5 :: a_a39BA) (t_a39D6 :: a_a39BA). Sing t_a39D3 -> Sing t_a39D4 -> Sing t_a39D5 -> Sing t_a39D6 -> Sing (Apply (Apply (Apply (Apply OnSym0 t_a39D3) t_a39D4) t_a39D5) t_a39D6 :: c_a39Bz)
infixl 0 `sOn`
data IdSym0 (l_a1Jpi :: TyFun a6989586621679422443 a6989586621679422443)
type IdSym1 (t_a1Jph :: a6989586621679422443) = Id t_a1Jph
data ConstSym0 (l_a1JoX :: TyFun a6989586621679422441 (TyFun b6989586621679422442 a6989586621679422441 -> Type))
data ConstSym1 (l_a1JoV :: a6989586621679422441) (l_a1JoU :: TyFun b6989586621679422442 a6989586621679422441)
type ConstSym2 (t_a1JoS :: a6989586621679422441) (t_a1JoT :: b6989586621679422442) = Const t_a1JoS t_a1JoT
data (.@#@$) (l_a1Jom :: TyFun (TyFun b6989586621679422438 c6989586621679422439 -> Type) (TyFun (TyFun a6989586621679422440 b6989586621679422438 -> Type) (TyFun a6989586621679422440 c6989586621679422439 -> Type) -> Type))
data (.@#@$$) (l_a1Jok :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (l_a1Joj :: TyFun (TyFun a6989586621679422440 b6989586621679422438 -> Type) (TyFun a6989586621679422440 c6989586621679422439 -> Type))
data (.@#@$$$) (l_a1Jog :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (l_a1Joh :: TyFun a6989586621679422440 b6989586621679422438 -> Type) (l_a1Jof :: TyFun a6989586621679422440 c6989586621679422439)
type (.@#@$$$$) (t_a1Joc :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (t_a1Jod :: TyFun a6989586621679422440 b6989586621679422438 -> Type) (t_a1Joe :: a6989586621679422440) = (:.) t_a1Joc t_a1Jod t_a1Joe
data FlipSym0 (l_a1Jo4 :: TyFun (TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (TyFun b6989586621679422436 (TyFun a6989586621679422435 c6989586621679422437 -> Type) -> Type))
data FlipSym1 (l_a1Jo2 :: TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (l_a1Jo1 :: TyFun b6989586621679422436 (TyFun a6989586621679422435 c6989586621679422437 -> Type))
data FlipSym2 (l_a1JnY :: TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (l_a1JnZ :: b6989586621679422436) (l_a1JnX :: TyFun a6989586621679422435 c6989586621679422437)
type FlipSym3 (t_a1JnU :: TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (t_a1JnV :: b6989586621679422436) (t_a1JnW :: a6989586621679422435) = Flip t_a1JnU t_a1JnV t_a1JnW
data ($@#@$) (l_a1JnO :: TyFun (TyFun a6989586621679422432 b6989586621679422433 -> Type) (TyFun a6989586621679422432 b6989586621679422433 -> Type))
data ($@#@$$) (l_a1JnM :: TyFun a6989586621679422432 b6989586621679422433 -> Type) (l_a1JnL :: TyFun a6989586621679422432 b6989586621679422433)
type ($@#@$$$) (t_a1JnJ :: TyFun a6989586621679422432 b6989586621679422433 -> Type) (t_a1JnK :: a6989586621679422432) = ($) t_a1JnJ t_a1JnK
data (&@#@$) (l_a39BO :: TyFun a6989586621679761698 (TyFun (TyFun a6989586621679761698 b6989586621679761699 -> Type) b6989586621679761699 -> Type))
data (&@#@$$) (l_a39BM :: a6989586621679761698) (l_a39BL :: TyFun (TyFun a6989586621679761698 b6989586621679761699 -> Type) b6989586621679761699)
type (&@#@$$$) (t_a39BJ :: a6989586621679761698) (t_a39BK :: TyFun a6989586621679761698 b6989586621679761699 -> Type) = (&) t_a39BJ t_a39BK
data OnSym0 (l_a39Ca :: TyFun (TyFun b6989586621679761700 (TyFun b6989586621679761700 c6989586621679761701 -> Type) -> Type) (TyFun (TyFun a6989586621679761702 b6989586621679761700 -> Type) (TyFun a6989586621679761702 (TyFun a6989586621679761702 c6989586621679761701 -> Type) -> Type) -> Type))
data OnSym1 (l_a39C8 :: TyFun b6989586621679761700 (TyFun b6989586621679761700 c6989586621679761701 -> Type) -> Type) (l_a39C7 :: TyFun (TyFun a6989586621679761702 b6989586621679761700 -> Type) (TyFun a6989586621679761702 (TyFun a6989586621679761702 c6989586621679761701 -> Type) -> Type))
data OnSym2 (l_a39C4 :: TyFun b6989586621679761700 (TyFun b6989586621679761700 c6989586621679761701 -> Type) -> Type) (l_a39C5 :: TyFun a6989586621679761702 b6989586621679761700 -> Type) (l_a39C3 :: TyFun a6989586621679761702 (TyFun a6989586621679761702 c6989586621679761701 -> Type))
data OnSym3 (l_a39BZ :: TyFun b6989586621679761700 (TyFun b6989586621679761700 c6989586621679761701 -> Type) -> Type) (l_a39C0 :: TyFun a6989586621679761702 b6989586621679761700 -> Type) (l_a39C1 :: a6989586621679761702) (l_a39BY :: TyFun a6989586621679761702 c6989586621679761701)
type OnSym4 (t_a39BU :: TyFun b6989586621679761700 (TyFun b6989586621679761700 c6989586621679761701 -> Type) -> Type) (t_a39BV :: TyFun a6989586621679761702 b6989586621679761700 -> Type) (t_a39BW :: a6989586621679761702) (t_a39BX :: a6989586621679761702) = On t_a39BU t_a39BV t_a39BW t_a39BX
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.OnSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.OnSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.OnSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.OnSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.&@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.&@#@$$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679761752Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679761752Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679761752Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679761752Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679761752Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679761752Sym5


-- | Defines functions and datatypes relating to the singleton for
--   <a>NonEmpty</a>, including a singletons version of all the definitions
--   in <tt>Data.List.NonEmpty</tt>.
--   
--   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 <tt>Data.List.NonEmpty</tt>. Also,
--   please excuse the apparent repeated variable names. This is due to an
--   interaction between Template Haskell and Haddock.
module Data.Singletons.Prelude.List.NonEmpty

-- | The singleton kind-indexed data family.
type SNonEmpty = (Sing :: NonEmpty a_aeCL -> Type)
sMap :: forall (t_a3czb :: TyFun a_a3bXb b_a3bXc -> Type) (t_a3czc :: NonEmpty a_a3bXb). Sing t_a3czb -> Sing t_a3czc -> Sing (Apply (Apply MapSym0 t_a3czb) t_a3czc :: NonEmpty b_a3bXc)
sIntersperse :: forall (t_a3cz9 :: a_a3bX1) (t_a3cza :: NonEmpty a_a3bX1). Sing t_a3cz9 -> Sing t_a3cza -> Sing (Apply (Apply IntersperseSym0 t_a3cz9) t_a3cza :: NonEmpty a_a3bX1)
sScanl :: forall (t_a3czK :: TyFun b_a3bX6 (TyFun a_a3bX7 b_a3bX6 -> Type) -> Type) (t_a3czL :: b_a3bX6) (t_a3czM :: [a_a3bX7]). Sing t_a3czK -> Sing t_a3czL -> Sing t_a3czM -> Sing (Apply (Apply (Apply ScanlSym0 t_a3czK) t_a3czL) t_a3czM :: NonEmpty b_a3bX6)
sScanr :: forall (t_a3czN :: TyFun a_a3bX4 (TyFun b_a3bX5 b_a3bX5 -> Type) -> Type) (t_a3czO :: b_a3bX5) (t_a3czP :: [a_a3bX4]). Sing t_a3czN -> Sing t_a3czO -> Sing t_a3czP -> Sing (Apply (Apply (Apply ScanrSym0 t_a3czN) t_a3czO) t_a3czP :: NonEmpty b_a3bX5)
sScanl1 :: forall (t_a3czQ :: TyFun a_a3bX3 (TyFun a_a3bX3 a_a3bX3 -> Type) -> Type) (t_a3czR :: NonEmpty a_a3bX3). Sing t_a3czQ -> Sing t_a3czR -> Sing (Apply (Apply Scanl1Sym0 t_a3czQ) t_a3czR :: NonEmpty a_a3bX3)
sScanr1 :: forall (t_a3czS :: TyFun a_a3bX2 (TyFun a_a3bX2 a_a3bX2 -> Type) -> Type) (t_a3czT :: NonEmpty a_a3bX2). Sing t_a3czS -> Sing t_a3czT -> Sing (Apply (Apply Scanr1Sym0 t_a3czS) t_a3czT :: NonEmpty a_a3bX2)
sTranspose :: forall (t_a3cAd :: NonEmpty (NonEmpty a_a3bWt)). Sing t_a3cAd -> Sing (Apply TransposeSym0 t_a3cAd :: NonEmpty (NonEmpty a_a3bWt))
sSortBy :: forall (t_a3czA :: TyFun a_a3bWs (TyFun a_a3bWs Ordering -> Type) -> Type) (t_a3czB :: NonEmpty a_a3bWs). Sing t_a3czA -> Sing t_a3czB -> Sing (Apply (Apply SortBySym0 t_a3czA) t_a3czB :: NonEmpty a_a3bWs)
sSortWith :: forall (t_a3czC :: TyFun a_a3bWr o_a3bWq -> Type) (t_a3czD :: NonEmpty a_a3bWr). SOrd o_a3bWq => Sing t_a3czC -> Sing t_a3czD -> Sing (Apply (Apply SortWithSym0 t_a3czC) t_a3czD :: NonEmpty a_a3bWr)
sLength :: forall (t_a3cAa :: NonEmpty a_a3bXu). Sing t_a3cAa -> Sing (Apply LengthSym0 t_a3cAa :: Nat)
sHead :: forall (t_a3cA2 :: NonEmpty a_a3bXn). Sing t_a3cA2 -> Sing (Apply HeadSym0 t_a3cA2 :: a_a3bXn)
sTail :: forall (t_a3cA1 :: NonEmpty a_a3bXm). Sing t_a3cA1 -> Sing (Apply TailSym0 t_a3cA1 :: [a_a3bXm])
sLast :: forall (t_a3cA0 :: NonEmpty a_a3bXl). Sing t_a3cA0 -> Sing (Apply LastSym0 t_a3cA0 :: a_a3bXl)
sInit :: forall (t_a3czZ :: NonEmpty a_a3bXk). Sing t_a3czZ -> Sing (Apply InitSym0 t_a3czZ :: [a_a3bXk])
(%<|) :: forall (t_a3czV :: a_a3bXj) (t_a3czW :: NonEmpty a_a3bXj). Sing t_a3czV -> Sing t_a3czW -> Sing (Apply (Apply (<|@#@$) t_a3czV) t_a3czW :: NonEmpty a_a3bXj)
sCons :: forall (t_a3czX :: a_a3bXi) (t_a3czY :: NonEmpty a_a3bXi). Sing t_a3czX -> Sing t_a3czY -> Sing (Apply (Apply ConsSym0 t_a3czX) t_a3czY :: NonEmpty a_a3bXi)
sUncons :: forall (t_a3cA6 :: NonEmpty a_a3bXq). Sing t_a3cA6 -> Sing (Apply UnconsSym0 t_a3cA6 :: (a_a3bXq, Maybe (NonEmpty a_a3bXq)))
sUnfoldr :: forall (t_a3cA3 :: TyFun a_a3bXo (b_a3bXp, Maybe a_a3bXo) -> Type) (t_a3cA4 :: a_a3bXo). Sing t_a3cA3 -> Sing t_a3cA4 -> Sing (Apply (Apply UnfoldrSym0 t_a3cA3) t_a3cA4 :: NonEmpty b_a3bXp)
sSort :: forall (t_a3czU :: NonEmpty a_a3bXh). SOrd a_a3bXh => Sing t_a3czU -> Sing (Apply SortSym0 t_a3czU :: NonEmpty a_a3bXh)
sReverse :: forall (t_a3czz :: NonEmpty a_a3bX0). Sing t_a3czz -> Sing (Apply ReverseSym0 t_a3czz :: NonEmpty a_a3bX0)
sInits :: forall (t_a3czG :: [a_a3bXa]). Sing t_a3czG -> Sing (Apply InitsSym0 t_a3czG :: NonEmpty [a_a3bXa])
sTails :: forall (t_a3czH :: [a_a3bX9]). Sing t_a3czH -> Sing (Apply TailsSym0 t_a3czH :: NonEmpty [a_a3bX9])
sUnfold :: forall (t_a3cA7 :: TyFun a_a3bXs (b_a3bXt, Maybe a_a3bXs) -> Type) (t_a3cA8 :: a_a3bXs). Sing t_a3cA7 -> Sing t_a3cA8 -> Sing (Apply (Apply UnfoldSym0 t_a3cA7) t_a3cA8 :: NonEmpty b_a3bXt)
sInsert :: forall (t_a3czI :: a_a3bX8) (t_a3czJ :: [a_a3bX8]). SOrd a_a3bX8 => Sing t_a3czI -> Sing t_a3czJ -> Sing (Apply (Apply InsertSym0 t_a3czI) t_a3czJ :: NonEmpty a_a3bX8)
sTake :: forall (t_a3cze :: Nat) (t_a3czf :: NonEmpty a_a3bWZ). Sing t_a3cze -> Sing t_a3czf -> Sing (Apply (Apply TakeSym0 t_a3cze) t_a3czf :: [a_a3bWZ])
sDrop :: forall (t_a3czg :: Nat) (t_a3czh :: NonEmpty a_a3bWY). Sing t_a3czg -> Sing t_a3czh -> Sing (Apply (Apply DropSym0 t_a3czg) t_a3czh :: [a_a3bWY])
sSplitAt :: forall (t_a3czi :: Nat) (t_a3czj :: NonEmpty a_a3bWX). Sing t_a3czi -> Sing t_a3czj -> Sing (Apply (Apply SplitAtSym0 t_a3czi) t_a3czj :: ([a_a3bWX], [a_a3bWX]))
sTakeWhile :: forall (t_a3czk :: TyFun a_a3bWW Bool -> Type) (t_a3czl :: NonEmpty a_a3bWW). Sing t_a3czk -> Sing t_a3czl -> Sing (Apply (Apply TakeWhileSym0 t_a3czk) t_a3czl :: [a_a3bWW])
sDropWhile :: forall (t_a3czm :: TyFun a_a3bWV Bool -> Type) (t_a3czn :: NonEmpty a_a3bWV). Sing t_a3czm -> Sing t_a3czn -> Sing (Apply (Apply DropWhileSym0 t_a3czm) t_a3czn :: [a_a3bWV])
sSpan :: forall (t_a3czo :: TyFun a_a3bWU Bool -> Type) (t_a3czp :: NonEmpty a_a3bWU). Sing t_a3czo -> Sing t_a3czp -> Sing (Apply (Apply SpanSym0 t_a3czo) t_a3czp :: ([a_a3bWU], [a_a3bWU]))
sBreak :: forall (t_a3czq :: TyFun a_a3bWT Bool -> Type) (t_a3czr :: NonEmpty a_a3bWT). Sing t_a3czq -> Sing t_a3czr -> Sing (Apply (Apply BreakSym0 t_a3czq) t_a3czr :: ([a_a3bWT], [a_a3bWT]))
sFilter :: forall (t_a3czs :: TyFun a_a3bWS Bool -> Type) (t_a3czt :: NonEmpty a_a3bWS). Sing t_a3czs -> Sing t_a3czt -> Sing (Apply (Apply FilterSym0 t_a3czs) t_a3czt :: [a_a3bWS])
sPartition :: forall (t_a3czu :: TyFun a_a3bWR Bool -> Type) (t_a3czv :: NonEmpty a_a3bWR). Sing t_a3czu -> Sing t_a3czv -> Sing (Apply (Apply PartitionSym0 t_a3czu) t_a3czv :: ([a_a3bWR], [a_a3bWR]))
sGroup :: forall (t_a3cz8 :: [a_a3bWQ]). SEq a_a3bWQ => Sing t_a3cz8 -> Sing (Apply GroupSym0 t_a3cz8 :: [NonEmpty a_a3bWQ])
sGroupBy :: forall (t_a3cyX :: TyFun a_a3bWP (TyFun a_a3bWP Bool -> Type) -> Type) (t_a3cyY :: [a_a3bWP]). Sing t_a3cyX -> Sing t_a3cyY -> Sing (Apply (Apply GroupBySym0 t_a3cyX) t_a3cyY :: [NonEmpty a_a3bWP])
sGroupWith :: forall (t_a3cyZ :: TyFun a_a3bWO b_a3bWN -> Type) (t_a3cz0 :: [a_a3bWO]). SEq b_a3bWN => Sing t_a3cyZ -> Sing t_a3cz0 -> Sing (Apply (Apply GroupWithSym0 t_a3cyZ) t_a3cz0 :: [NonEmpty a_a3bWO])
sGroupAllWith :: forall (t_a3cz1 :: TyFun a_a3bWM b_a3bWL -> Type) (t_a3cz2 :: [a_a3bWM]). SOrd b_a3bWL => Sing t_a3cz1 -> Sing t_a3cz2 -> Sing (Apply (Apply GroupAllWithSym0 t_a3cz1) t_a3cz2 :: [NonEmpty a_a3bWM])
sGroup1 :: forall (t_a3cz5 :: NonEmpty a_a3bWK). SEq a_a3bWK => Sing t_a3cz5 -> Sing (Apply Group1Sym0 t_a3cz5 :: NonEmpty (NonEmpty a_a3bWK))
sGroupBy1 :: forall (t_a3cz3 :: TyFun a_a3bWJ (TyFun a_a3bWJ Bool -> Type) -> Type) (t_a3cz4 :: NonEmpty a_a3bWJ). Sing t_a3cz3 -> Sing t_a3cz4 -> Sing (Apply (Apply GroupBy1Sym0 t_a3cz3) t_a3cz4 :: NonEmpty (NonEmpty a_a3bWJ))
sGroupWith1 :: forall (t_a3cz6 :: TyFun a_a3bWI b_a3bWH -> Type) (t_a3cz7 :: NonEmpty a_a3bWI). SEq b_a3bWH => Sing t_a3cz6 -> Sing t_a3cz7 -> Sing (Apply (Apply GroupWith1Sym0 t_a3cz6) t_a3cz7 :: NonEmpty (NonEmpty a_a3bWI))
sGroupAllWith1 :: forall (t_a3czE :: TyFun a_a3bWG b_a3bWF -> Type) (t_a3czF :: NonEmpty a_a3bWG). SOrd b_a3bWF => Sing t_a3czE -> Sing t_a3czF -> Sing (Apply (Apply GroupAllWith1Sym0 t_a3czE) t_a3czF :: NonEmpty (NonEmpty a_a3bWG))
sIsPrefixOf :: forall (t_a3cyV :: [a_a3bWE]) (t_a3cyW :: NonEmpty a_a3bWE). SEq a_a3bWE => Sing t_a3cyV -> Sing t_a3cyW -> Sing (Apply (Apply IsPrefixOfSym0 t_a3cyV) t_a3cyW :: Bool)
sNub :: forall (t_a3cyM :: NonEmpty a_a3bWv). SEq a_a3bWv => Sing t_a3cyM -> Sing (Apply NubSym0 t_a3cyM :: NonEmpty a_a3bWv)
sNubBy :: forall (t_a3cyK :: TyFun a_a3bWu (TyFun a_a3bWu Bool -> Type) -> Type) (t_a3cyL :: NonEmpty a_a3bWu). Sing t_a3cyK -> Sing t_a3cyL -> Sing (Apply (Apply NubBySym0 t_a3cyK) t_a3cyL :: NonEmpty a_a3bWu)
(%!!) :: forall (t_a3cyT :: NonEmpty a_a3bWD) (t_a3cyU :: Nat). Sing t_a3cyT -> Sing t_a3cyU -> Sing (Apply (Apply (!!@#@$) t_a3cyT) t_a3cyU :: a_a3bWD)
sZip :: forall (t_a3cyR :: NonEmpty a_a3bWB) (t_a3cyS :: NonEmpty b_a3bWC). Sing t_a3cyR -> Sing t_a3cyS -> Sing (Apply (Apply ZipSym0 t_a3cyR) t_a3cyS :: NonEmpty (a_a3bWB, b_a3bWC))
sZipWith :: forall (t_a3cyO :: TyFun a_a3bWy (TyFun b_a3bWz c_a3bWA -> Type) -> Type) (t_a3cyP :: NonEmpty a_a3bWy) (t_a3cyQ :: NonEmpty b_a3bWz). Sing t_a3cyO -> Sing t_a3cyP -> Sing t_a3cyQ -> Sing (Apply (Apply (Apply ZipWithSym0 t_a3cyO) t_a3cyP) t_a3cyQ :: NonEmpty c_a3bWA)
sUnzip :: forall (t_a3cyN :: NonEmpty (a_a3bWw, b_a3bWx)). Sing t_a3cyN -> Sing (Apply UnzipSym0 t_a3cyN :: (NonEmpty a_a3bWw, NonEmpty b_a3bWx))
sFromList :: forall (t_a3czw :: [a_a3bXg]). Sing t_a3czw -> Sing (Apply FromListSym0 t_a3czw :: NonEmpty a_a3bXg)
sToList :: forall (t_a3czd :: NonEmpty a_a3bXf). Sing t_a3czd -> Sing (Apply ToListSym0 t_a3czd :: [a_a3bXf])
sNonEmpty_ :: forall (t_a3cA5 :: [a_a3bXr]). Sing t_a3cA5 -> Sing (Apply NonEmpty_Sym0 t_a3cA5 :: Maybe (NonEmpty a_a3bXr))
sXor :: forall (t_a3cA9 :: NonEmpty Bool). Sing t_a3cA9 -> Sing (Apply XorSym0 t_a3cA9 :: Bool)
data (:|@#@$) (l_a10vA :: TyFun a6989586621679066011 (TyFun [a6989586621679066011] (NonEmpty a6989586621679066011) -> Type))
data (:|@#@$$) (l_a10vy :: a6989586621679066011) (l_a10vx :: TyFun [a6989586621679066011] (NonEmpty a6989586621679066011))
type (:|@#@$$$) (t_a10vv :: a6989586621679066011) (t_a10vw :: [a6989586621679066011]) = (:|) t_a10vv t_a10vw
data MapSym0 (l_a3cqP :: TyFun (TyFun a6989586621679770729 b6989586621679770730 -> Type) (TyFun (NonEmpty a6989586621679770729) (NonEmpty b6989586621679770730) -> Type))
data MapSym1 (l_a3cqN :: TyFun a6989586621679770729 b6989586621679770730 -> Type) (l_a3cqM :: TyFun (NonEmpty a6989586621679770729) (NonEmpty b6989586621679770730))
type MapSym2 (t_a3cqK :: TyFun a6989586621679770729 b6989586621679770730 -> Type) (t_a3cqL :: NonEmpty a6989586621679770729) = Map t_a3cqK t_a3cqL
data IntersperseSym0 (l_a3cqA :: TyFun a6989586621679770719 (TyFun (NonEmpty a6989586621679770719) (NonEmpty a6989586621679770719) -> Type))
data IntersperseSym1 (l_a3cqy :: a6989586621679770719) (l_a3cqx :: TyFun (NonEmpty a6989586621679770719) (NonEmpty a6989586621679770719))
type IntersperseSym2 (t_a3cqv :: a6989586621679770719) (t_a3cqw :: NonEmpty a6989586621679770719) = Intersperse t_a3cqv t_a3cqw
data ScanlSym0 (l_a3cuB :: TyFun (TyFun b6989586621679770724 (TyFun a6989586621679770725 b6989586621679770724 -> Type) -> Type) (TyFun b6989586621679770724 (TyFun [a6989586621679770725] (NonEmpty b6989586621679770724) -> Type) -> Type))
data ScanlSym1 (l_a3cuz :: TyFun b6989586621679770724 (TyFun a6989586621679770725 b6989586621679770724 -> Type) -> Type) (l_a3cuy :: TyFun b6989586621679770724 (TyFun [a6989586621679770725] (NonEmpty b6989586621679770724) -> Type))
data ScanlSym2 (l_a3cuv :: TyFun b6989586621679770724 (TyFun a6989586621679770725 b6989586621679770724 -> Type) -> Type) (l_a3cuw :: b6989586621679770724) (l_a3cuu :: TyFun [a6989586621679770725] (NonEmpty b6989586621679770724))
type ScanlSym3 (t_a3cur :: TyFun b6989586621679770724 (TyFun a6989586621679770725 b6989586621679770724 -> Type) -> Type) (t_a3cus :: b6989586621679770724) (t_a3cut :: [a6989586621679770725]) = Scanl t_a3cur t_a3cus t_a3cut
data ScanrSym0 (l_a3cuV :: TyFun (TyFun a6989586621679770722 (TyFun b6989586621679770723 b6989586621679770723 -> Type) -> Type) (TyFun b6989586621679770723 (TyFun [a6989586621679770722] (NonEmpty b6989586621679770723) -> Type) -> Type))
data ScanrSym1 (l_a3cuT :: TyFun a6989586621679770722 (TyFun b6989586621679770723 b6989586621679770723 -> Type) -> Type) (l_a3cuS :: TyFun b6989586621679770723 (TyFun [a6989586621679770722] (NonEmpty b6989586621679770723) -> Type))
data ScanrSym2 (l_a3cuP :: TyFun a6989586621679770722 (TyFun b6989586621679770723 b6989586621679770723 -> Type) -> Type) (l_a3cuQ :: b6989586621679770723) (l_a3cuO :: TyFun [a6989586621679770722] (NonEmpty b6989586621679770723))
type ScanrSym3 (t_a3cuL :: TyFun a6989586621679770722 (TyFun b6989586621679770723 b6989586621679770723 -> Type) -> Type) (t_a3cuM :: b6989586621679770723) (t_a3cuN :: [a6989586621679770722]) = Scanr t_a3cuL t_a3cuM t_a3cuN
data Scanl1Sym0 (l_a3cva :: TyFun (TyFun a6989586621679770721 (TyFun a6989586621679770721 a6989586621679770721 -> Type) -> Type) (TyFun (NonEmpty a6989586621679770721) (NonEmpty a6989586621679770721) -> Type))
data Scanl1Sym1 (l_a3cv8 :: TyFun a6989586621679770721 (TyFun a6989586621679770721 a6989586621679770721 -> Type) -> Type) (l_a3cv7 :: TyFun (NonEmpty a6989586621679770721) (NonEmpty a6989586621679770721))
type Scanl1Sym2 (t_a3cv5 :: TyFun a6989586621679770721 (TyFun a6989586621679770721 a6989586621679770721 -> Type) -> Type) (t_a3cv6 :: NonEmpty a6989586621679770721) = Scanl1 t_a3cv5 t_a3cv6
data Scanr1Sym0 (l_a3cvm :: TyFun (TyFun a6989586621679770720 (TyFun a6989586621679770720 a6989586621679770720 -> Type) -> Type) (TyFun (NonEmpty a6989586621679770720) (NonEmpty a6989586621679770720) -> Type))
data Scanr1Sym1 (l_a3cvk :: TyFun a6989586621679770720 (TyFun a6989586621679770720 a6989586621679770720 -> Type) -> Type) (l_a3cvj :: TyFun (NonEmpty a6989586621679770720) (NonEmpty a6989586621679770720))
type Scanr1Sym2 (t_a3cvh :: TyFun a6989586621679770720 (TyFun a6989586621679770720 a6989586621679770720 -> Type) -> Type) (t_a3cvi :: NonEmpty a6989586621679770720) = Scanr1 t_a3cvh t_a3cvi
data TransposeSym0 (l_a3cyG :: TyFun (NonEmpty (NonEmpty a6989586621679770685)) (NonEmpty (NonEmpty a6989586621679770685)))
type TransposeSym1 (t_a3cyF :: NonEmpty (NonEmpty a6989586621679770685)) = Transpose t_a3cyF
data SortBySym0 (l_a3ctq :: TyFun (TyFun a6989586621679770684 (TyFun a6989586621679770684 Ordering -> Type) -> Type) (TyFun (NonEmpty a6989586621679770684) (NonEmpty a6989586621679770684) -> Type))
data SortBySym1 (l_a3cto :: TyFun a6989586621679770684 (TyFun a6989586621679770684 Ordering -> Type) -> Type) (l_a3ctn :: TyFun (NonEmpty a6989586621679770684) (NonEmpty a6989586621679770684))
type SortBySym2 (t_a3ctl :: TyFun a6989586621679770684 (TyFun a6989586621679770684 Ordering -> Type) -> Type) (t_a3ctm :: NonEmpty a6989586621679770684) = SortBy t_a3ctl t_a3ctm
data SortWithSym0 (l_a3ctH :: TyFun (TyFun a6989586621679770683 o6989586621679770682 -> Type) (TyFun (NonEmpty a6989586621679770683) (NonEmpty a6989586621679770683) -> Type))
data SortWithSym1 (l_a3ctF :: TyFun a6989586621679770683 o6989586621679770682 -> Type) (l_a3ctE :: TyFun (NonEmpty a6989586621679770683) (NonEmpty a6989586621679770683))
type SortWithSym2 (t_a3ctC :: TyFun a6989586621679770683 o6989586621679770682 -> Type) (t_a3ctD :: NonEmpty a6989586621679770683) = SortWith t_a3ctC t_a3ctD
data LengthSym0 (l_a3cyn :: TyFun (NonEmpty a6989586621679770748) Nat)
type LengthSym1 (t_a3cym :: NonEmpty a6989586621679770748) = Length t_a3cym
data HeadSym0 (l_a3cwj :: TyFun (NonEmpty a6989586621679770741) a6989586621679770741)
type HeadSym1 (t_a3cwi :: NonEmpty a6989586621679770741) = Head t_a3cwi
data TailSym0 (l_a3cwe :: TyFun (NonEmpty a6989586621679770740) [a6989586621679770740])
type TailSym1 (t_a3cwd :: NonEmpty a6989586621679770740) = Tail t_a3cwd
data LastSym0 (l_a3cw8 :: TyFun (NonEmpty a6989586621679770739) a6989586621679770739)
type LastSym1 (t_a3cw7 :: NonEmpty a6989586621679770739) = Last t_a3cw7
data InitSym0 (l_a3cw2 :: TyFun (NonEmpty a6989586621679770738) [a6989586621679770738])
type InitSym1 (t_a3cw1 :: NonEmpty a6989586621679770738) = Init t_a3cw1
data (<|@#@$) (l_a3cvF :: TyFun a6989586621679770737 (TyFun (NonEmpty a6989586621679770737) (NonEmpty a6989586621679770737) -> Type))
data (<|@#@$$) (l_a3cvD :: a6989586621679770737) (l_a3cvC :: TyFun (NonEmpty a6989586621679770737) (NonEmpty a6989586621679770737))
type (<|@#@$$$) (t_a3cvA :: a6989586621679770737) (t_a3cvB :: NonEmpty a6989586621679770737) = (<|) t_a3cvA t_a3cvB
data ConsSym0 (l_a3cvV :: TyFun a6989586621679770736 (TyFun (NonEmpty a6989586621679770736) (NonEmpty a6989586621679770736) -> Type))
data ConsSym1 (l_a3cvT :: a6989586621679770736) (l_a3cvS :: TyFun (NonEmpty a6989586621679770736) (NonEmpty a6989586621679770736))
type ConsSym2 (t_a3cvQ :: a6989586621679770736) (t_a3cvR :: NonEmpty a6989586621679770736) = Cons t_a3cvQ t_a3cvR
data UnconsSym0 (l_a3cxp :: TyFun (NonEmpty a6989586621679770744) (a6989586621679770744, Maybe (NonEmpty a6989586621679770744)))
type UnconsSym1 (t_a3cxo :: NonEmpty a6989586621679770744) = Uncons t_a3cxo
data UnfoldrSym0 (l_a3cws :: TyFun (TyFun a6989586621679770742 (b6989586621679770743, Maybe a6989586621679770742) -> Type) (TyFun a6989586621679770742 (NonEmpty b6989586621679770743) -> Type))
data UnfoldrSym1 (l_a3cwq :: TyFun a6989586621679770742 (b6989586621679770743, Maybe a6989586621679770742) -> Type) (l_a3cwp :: TyFun a6989586621679770742 (NonEmpty b6989586621679770743))
type UnfoldrSym2 (t_a3cwn :: TyFun a6989586621679770742 (b6989586621679770743, Maybe a6989586621679770742) -> Type) (t_a3cwo :: a6989586621679770742) = Unfoldr t_a3cwn t_a3cwo
data SortSym0 (l_a3cvw :: TyFun (NonEmpty a6989586621679770735) (NonEmpty a6989586621679770735))
type SortSym1 (t_a3cvv :: NonEmpty a6989586621679770735) = Sort t_a3cvv
data ReverseSym0 (l_a3cth :: TyFun (NonEmpty a6989586621679770718) (NonEmpty a6989586621679770718))
type ReverseSym1 (t_a3ctg :: NonEmpty a6989586621679770718) = Reverse t_a3ctg
data InitsSym0 (l_a3cu3 :: TyFun [a6989586621679770728] (NonEmpty [a6989586621679770728]))
type InitsSym1 (t_a3cu2 :: [a6989586621679770728]) = Inits t_a3cu2
data TailsSym0 (l_a3cua :: TyFun [a6989586621679770727] (NonEmpty [a6989586621679770727]))
type TailsSym1 (t_a3cu9 :: [a6989586621679770727]) = Tails t_a3cu9
data UnfoldSym0 (l_a3cxz :: TyFun (TyFun a6989586621679770746 (b6989586621679770747, Maybe a6989586621679770746) -> Type) (TyFun a6989586621679770746 (NonEmpty b6989586621679770747) -> Type))
data UnfoldSym1 (l_a3cxx :: TyFun a6989586621679770746 (b6989586621679770747, Maybe a6989586621679770746) -> Type) (l_a3cxw :: TyFun a6989586621679770746 (NonEmpty b6989586621679770747))
data InsertSym0 (l_a3cuj :: TyFun a6989586621679770726 (TyFun [a6989586621679770726] (NonEmpty a6989586621679770726) -> Type))
data InsertSym1 (l_a3cuh :: a6989586621679770726) (l_a3cug :: TyFun [a6989586621679770726] (NonEmpty a6989586621679770726))
type InsertSym2 (t_a3cue :: a6989586621679770726) (t_a3cuf :: [a6989586621679770726]) = Insert t_a3cue t_a3cuf
data TakeSym0 (l_a3cr7 :: TyFun Nat (TyFun (NonEmpty a6989586621679770717) [a6989586621679770717] -> Type))
data TakeSym1 (l_a3cr5 :: Nat) (l_a3cr4 :: TyFun (NonEmpty a6989586621679770717) [a6989586621679770717])
type TakeSym2 (t_a3cr2 :: Nat) (t_a3cr3 :: NonEmpty a6989586621679770717) = Take t_a3cr2 t_a3cr3
data DropSym0 (l_a3crk :: TyFun Nat (TyFun (NonEmpty a6989586621679770716) [a6989586621679770716] -> Type))
data DropSym1 (l_a3cri :: Nat) (l_a3crh :: TyFun (NonEmpty a6989586621679770716) [a6989586621679770716])
type DropSym2 (t_a3crf :: Nat) (t_a3crg :: NonEmpty a6989586621679770716) = Drop t_a3crf t_a3crg
data SplitAtSym0 (l_a3crx :: TyFun Nat (TyFun (NonEmpty a6989586621679770715) ([a6989586621679770715], [a6989586621679770715]) -> Type))
data SplitAtSym1 (l_a3crv :: Nat) (l_a3cru :: TyFun (NonEmpty a6989586621679770715) ([a6989586621679770715], [a6989586621679770715]))
type SplitAtSym2 (t_a3crs :: Nat) (t_a3crt :: NonEmpty a6989586621679770715) = SplitAt t_a3crs t_a3crt
data TakeWhileSym0 (l_a3crK :: TyFun (TyFun a6989586621679770714 Bool -> Type) (TyFun (NonEmpty a6989586621679770714) [a6989586621679770714] -> Type))
data TakeWhileSym1 (l_a3crI :: TyFun a6989586621679770714 Bool -> Type) (l_a3crH :: TyFun (NonEmpty a6989586621679770714) [a6989586621679770714])
type TakeWhileSym2 (t_a3crF :: TyFun a6989586621679770714 Bool -> Type) (t_a3crG :: NonEmpty a6989586621679770714) = TakeWhile t_a3crF t_a3crG
data DropWhileSym0 (l_a3crX :: TyFun (TyFun a6989586621679770713 Bool -> Type) (TyFun (NonEmpty a6989586621679770713) [a6989586621679770713] -> Type))
data DropWhileSym1 (l_a3crV :: TyFun a6989586621679770713 Bool -> Type) (l_a3crU :: TyFun (NonEmpty a6989586621679770713) [a6989586621679770713])
type DropWhileSym2 (t_a3crS :: TyFun a6989586621679770713 Bool -> Type) (t_a3crT :: NonEmpty a6989586621679770713) = DropWhile t_a3crS t_a3crT
data SpanSym0 (l_a3csa :: TyFun (TyFun a6989586621679770712 Bool -> Type) (TyFun (NonEmpty a6989586621679770712) ([a6989586621679770712], [a6989586621679770712]) -> Type))
data SpanSym1 (l_a3cs8 :: TyFun a6989586621679770712 Bool -> Type) (l_a3cs7 :: TyFun (NonEmpty a6989586621679770712) ([a6989586621679770712], [a6989586621679770712]))
type SpanSym2 (t_a3cs5 :: TyFun a6989586621679770712 Bool -> Type) (t_a3cs6 :: NonEmpty a6989586621679770712) = Span t_a3cs5 t_a3cs6
data BreakSym0 (l_a3csn :: TyFun (TyFun a6989586621679770711 Bool -> Type) (TyFun (NonEmpty a6989586621679770711) ([a6989586621679770711], [a6989586621679770711]) -> Type))
data BreakSym1 (l_a3csl :: TyFun a6989586621679770711 Bool -> Type) (l_a3csk :: TyFun (NonEmpty a6989586621679770711) ([a6989586621679770711], [a6989586621679770711]))
type BreakSym2 (t_a3csi :: TyFun a6989586621679770711 Bool -> Type) (t_a3csj :: NonEmpty a6989586621679770711) = Break t_a3csi t_a3csj
data FilterSym0 (l_a3csA :: TyFun (TyFun a6989586621679770710 Bool -> Type) (TyFun (NonEmpty a6989586621679770710) [a6989586621679770710] -> Type))
data FilterSym1 (l_a3csy :: TyFun a6989586621679770710 Bool -> Type) (l_a3csx :: TyFun (NonEmpty a6989586621679770710) [a6989586621679770710])
type FilterSym2 (t_a3csv :: TyFun a6989586621679770710 Bool -> Type) (t_a3csw :: NonEmpty a6989586621679770710) = Filter t_a3csv t_a3csw
data PartitionSym0 (l_a3csN :: TyFun (TyFun a6989586621679770709 Bool -> Type) (TyFun (NonEmpty a6989586621679770709) ([a6989586621679770709], [a6989586621679770709]) -> Type))
data PartitionSym1 (l_a3csL :: TyFun a6989586621679770709 Bool -> Type) (l_a3csK :: TyFun (NonEmpty a6989586621679770709) ([a6989586621679770709], [a6989586621679770709]))
type PartitionSym2 (t_a3csI :: TyFun a6989586621679770709 Bool -> Type) (t_a3csJ :: NonEmpty a6989586621679770709) = Partition t_a3csI t_a3csJ
data GroupSym0 (l_a3cqr :: TyFun [a6989586621679770708] [NonEmpty a6989586621679770708])
type GroupSym1 (t_a3cqq :: [a6989586621679770708]) = Group t_a3cqq
data GroupBySym0 (l_a3cmF :: TyFun (TyFun a6989586621679770707 (TyFun a6989586621679770707 Bool -> Type) -> Type) (TyFun [a6989586621679770707] [NonEmpty a6989586621679770707] -> Type))
data GroupBySym1 (l_a3cmD :: TyFun a6989586621679770707 (TyFun a6989586621679770707 Bool -> Type) -> Type) (l_a3cmC :: TyFun [a6989586621679770707] [NonEmpty a6989586621679770707])
type GroupBySym2 (t_a3cmA :: TyFun a6989586621679770707 (TyFun a6989586621679770707 Bool -> Type) -> Type) (t_a3cmB :: [a6989586621679770707]) = GroupBy t_a3cmA t_a3cmB
data GroupWithSym0 (l_a3coI :: TyFun (TyFun a6989586621679770706 b6989586621679770705 -> Type) (TyFun [a6989586621679770706] [NonEmpty a6989586621679770706] -> Type))
data GroupWithSym1 (l_a3coG :: TyFun a6989586621679770706 b6989586621679770705 -> Type) (l_a3coF :: TyFun [a6989586621679770706] [NonEmpty a6989586621679770706])
type GroupWithSym2 (t_a3coD :: TyFun a6989586621679770706 b6989586621679770705 -> Type) (t_a3coE :: [a6989586621679770706]) = GroupWith t_a3coD t_a3coE
data GroupAllWithSym0 (l_a3coV :: TyFun (TyFun a6989586621679770704 b6989586621679770703 -> Type) (TyFun [a6989586621679770704] [NonEmpty a6989586621679770704] -> Type))
data GroupAllWithSym1 (l_a3coT :: TyFun a6989586621679770704 b6989586621679770703 -> Type) (l_a3coS :: TyFun [a6989586621679770704] [NonEmpty a6989586621679770704])
type GroupAllWithSym2 (t_a3coQ :: TyFun a6989586621679770704 b6989586621679770703 -> Type) (t_a3coR :: [a6989586621679770704]) = GroupAllWith t_a3coQ t_a3coR
data Group1Sym0 (l_a3cq7 :: TyFun (NonEmpty a6989586621679770702) (NonEmpty (NonEmpty a6989586621679770702)))
type Group1Sym1 (t_a3cq6 :: NonEmpty a6989586621679770702) = Group1 t_a3cq6
data GroupBy1Sym0 (l_a3cp8 :: TyFun (TyFun a6989586621679770701 (TyFun a6989586621679770701 Bool -> Type) -> Type) (TyFun (NonEmpty a6989586621679770701) (NonEmpty (NonEmpty a6989586621679770701)) -> Type))
data GroupBy1Sym1 (l_a3cp6 :: TyFun a6989586621679770701 (TyFun a6989586621679770701 Bool -> Type) -> Type) (l_a3cp5 :: TyFun (NonEmpty a6989586621679770701) (NonEmpty (NonEmpty a6989586621679770701)))
type GroupBy1Sym2 (t_a3cp3 :: TyFun a6989586621679770701 (TyFun a6989586621679770701 Bool -> Type) -> Type) (t_a3cp4 :: NonEmpty a6989586621679770701) = GroupBy1 t_a3cp3 t_a3cp4
data GroupWith1Sym0 (l_a3cqg :: TyFun (TyFun a6989586621679770700 b6989586621679770699 -> Type) (TyFun (NonEmpty a6989586621679770700) (NonEmpty (NonEmpty a6989586621679770700)) -> Type))
data GroupWith1Sym1 (l_a3cqe :: TyFun a6989586621679770700 b6989586621679770699 -> Type) (l_a3cqd :: TyFun (NonEmpty a6989586621679770700) (NonEmpty (NonEmpty a6989586621679770700)))
type GroupWith1Sym2 (t_a3cqb :: TyFun a6989586621679770700 b6989586621679770699 -> Type) (t_a3cqc :: NonEmpty a6989586621679770700) = GroupWith1 t_a3cqb t_a3cqc
data GroupAllWith1Sym0 (l_a3ctS :: TyFun (TyFun a6989586621679770698 b6989586621679770697 -> Type) (TyFun (NonEmpty a6989586621679770698) (NonEmpty (NonEmpty a6989586621679770698)) -> Type))
data GroupAllWith1Sym1 (l_a3ctQ :: TyFun a6989586621679770698 b6989586621679770697 -> Type) (l_a3ctP :: TyFun (NonEmpty a6989586621679770698) (NonEmpty (NonEmpty a6989586621679770698)))
type GroupAllWith1Sym2 (t_a3ctN :: TyFun a6989586621679770698 b6989586621679770697 -> Type) (t_a3ctO :: NonEmpty a6989586621679770698) = GroupAllWith1 t_a3ctN t_a3ctO
data IsPrefixOfSym0 (l_a3cms :: TyFun [a6989586621679770696] (TyFun (NonEmpty a6989586621679770696) Bool -> Type))
data IsPrefixOfSym1 (l_a3cmq :: [a6989586621679770696]) (l_a3cmp :: TyFun (NonEmpty a6989586621679770696) Bool)
type IsPrefixOfSym2 (t_a3cmn :: [a6989586621679770696]) (t_a3cmo :: NonEmpty a6989586621679770696) = IsPrefixOf t_a3cmn t_a3cmo
data NubSym0 (l_a3ckt :: TyFun (NonEmpty a6989586621679770687) (NonEmpty a6989586621679770687))
type NubSym1 (t_a3cks :: NonEmpty a6989586621679770687) = Nub t_a3cks
data NubBySym0 (l_a3cjX :: TyFun (TyFun a6989586621679770686 (TyFun a6989586621679770686 Bool -> Type) -> Type) (TyFun (NonEmpty a6989586621679770686) (NonEmpty a6989586621679770686) -> Type))
data NubBySym1 (l_a3cjV :: TyFun a6989586621679770686 (TyFun a6989586621679770686 Bool -> Type) -> Type) (l_a3cjU :: TyFun (NonEmpty a6989586621679770686) (NonEmpty a6989586621679770686))
type NubBySym2 (t_a3cjS :: TyFun a6989586621679770686 (TyFun a6989586621679770686 Bool -> Type) -> Type) (t_a3cjT :: NonEmpty a6989586621679770686) = NubBy t_a3cjS t_a3cjT
data (!!@#@$) (l_a3cm5 :: TyFun (NonEmpty a6989586621679770695) (TyFun Nat a6989586621679770695 -> Type))
data (!!@#@$$) (l_a3cm3 :: NonEmpty a6989586621679770695) (l_a3cm2 :: TyFun Nat a6989586621679770695)
type (!!@#@$$$) (t_a3cm0 :: NonEmpty a6989586621679770695) (t_a3cm1 :: Nat) = (!!) t_a3cm0 t_a3cm1
data ZipSym0 (l_a3clS :: TyFun (NonEmpty a6989586621679770693) (TyFun (NonEmpty b6989586621679770694) (NonEmpty (a6989586621679770693, b6989586621679770694)) -> Type))
data ZipSym1 (l_a3clQ :: NonEmpty a6989586621679770693) (l_a3clP :: TyFun (NonEmpty b6989586621679770694) (NonEmpty (a6989586621679770693, b6989586621679770694)))
type ZipSym2 (t_a3clN :: NonEmpty a6989586621679770693) (t_a3clO :: NonEmpty b6989586621679770694) = Zip t_a3clN t_a3clO
data ZipWithSym0 (l_a3clD :: TyFun (TyFun a6989586621679770690 (TyFun b6989586621679770691 c6989586621679770692 -> Type) -> Type) (TyFun (NonEmpty a6989586621679770690) (TyFun (NonEmpty b6989586621679770691) (NonEmpty c6989586621679770692) -> Type) -> Type))
data ZipWithSym1 (l_a3clB :: TyFun a6989586621679770690 (TyFun b6989586621679770691 c6989586621679770692 -> Type) -> Type) (l_a3clA :: TyFun (NonEmpty a6989586621679770690) (TyFun (NonEmpty b6989586621679770691) (NonEmpty c6989586621679770692) -> Type))
data ZipWithSym2 (l_a3clx :: TyFun a6989586621679770690 (TyFun b6989586621679770691 c6989586621679770692 -> Type) -> Type) (l_a3cly :: NonEmpty a6989586621679770690) (l_a3clw :: TyFun (NonEmpty b6989586621679770691) (NonEmpty c6989586621679770692))
type ZipWithSym3 (t_a3clt :: TyFun a6989586621679770690 (TyFun b6989586621679770691 c6989586621679770692 -> Type) -> Type) (t_a3clu :: NonEmpty a6989586621679770690) (t_a3clv :: NonEmpty b6989586621679770691) = ZipWith t_a3clt t_a3clu t_a3clv
data UnzipSym0 (l_a3cky :: TyFun (NonEmpty (a6989586621679770688, b6989586621679770689)) (NonEmpty a6989586621679770688, NonEmpty b6989586621679770689))
type UnzipSym1 (t_a3ckx :: NonEmpty (a6989586621679770688, b6989586621679770689)) = Unzip t_a3ckx
data FromListSym0 (l_a3csW :: TyFun [a6989586621679770734] (NonEmpty a6989586621679770734))
type FromListSym1 (t_a3csV :: [a6989586621679770734]) = FromList t_a3csV
data ToListSym0 (l_a3cqX :: TyFun (NonEmpty a6989586621679770733) [a6989586621679770733])
type ToListSym1 (t_a3cqW :: NonEmpty a6989586621679770733) = ToList t_a3cqW
data NonEmpty_Sym0 (l_a3cxj :: TyFun [a6989586621679770745] (Maybe (NonEmpty a6989586621679770745)))
type NonEmpty_Sym1 (t_a3cxi :: [a6989586621679770745]) = NonEmpty_ t_a3cxi
data XorSym0 (l_a3cxU :: TyFun (NonEmpty Bool) Bool)
type XorSym1 (t_a3cxT :: NonEmpty Bool) = Xor t_a3cxT
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.TransposeSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.FmapSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.FmapSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.LengthSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.XorSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.UnfoldSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.UnfoldSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.UnconsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.NonEmpty_Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.UnfoldrSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.UnfoldrSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.HeadSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.TailSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.LastSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.InitSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ConsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ConsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.<|@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.<|@#@$$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.SortSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Scanr1Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Scanr1Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Scanl1Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Scanl1Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ScanrSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ScanrSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ScanrSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ScanlSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ScanlSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ScanlSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.InsertSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.InsertSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.TailsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.InitsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupAllWith1Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupAllWith1Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.SortWithSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.SortWithSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.SortBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.SortBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ReverseSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.LiftSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.LiftSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.FromListSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.PartitionSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.PartitionSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.FilterSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.FilterSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.BreakSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.BreakSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.SpanSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.SpanSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.DropWhileSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.DropWhileSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.TakeWhileSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.TakeWhileSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.SplitAtSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.SplitAtSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.DropSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.DropSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.TakeSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.TakeSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ToListSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.MapSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.MapSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.IntersperseSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.IntersperseSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupWith1Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupWith1Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Group1Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupBy1Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupBy1Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupAllWithSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupAllWithSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupWithSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupWithSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772317GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772317GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772317GoSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772317GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.IsPrefixOfSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.IsPrefixOfSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.!!@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.!!@#@$$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ZipSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ZipSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ZipWithSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ZipWithSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ZipWithSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.UnzipSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.NubSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.NubBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.NubBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679773011Xor'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679773011Xor'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679773011Xor'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679773011Xor'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772991Scrutinee_6989586621679770913Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772991Scrutinee_6989586621679770913Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772955Scrutinee_6989586621679770923Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772955Scrutinee_6989586621679770923Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772922GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772922GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772922GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772937Scrutinee_6989586621679770927Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772937Scrutinee_6989586621679770927Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772937Scrutinee_6989586621679770927Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772469X_6989586621679772470Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772469X_6989586621679772470Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772469X_6989586621679772470Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772469YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772469YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772469YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772469ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772469ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772469ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772341X_6989586621679772342Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772341X_6989586621679772342Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772341X_6989586621679772342Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772341X_6989586621679772342Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772341X_6989586621679772342Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772341YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772341YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772341YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772341YsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772341YsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772341ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772341ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772341ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772341ZsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772341ZsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772184X_6989586621679772185Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772184X_6989586621679772185Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772184X_6989586621679772185Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772184AsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772184AsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772184AsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772184BsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772184BsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679772184BsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621679772148Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621679772148Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621679772148Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621679772148Sym3


-- | Defines functions and datatypes relating to promoting
--   <tt>NonEmpty</tt>, including promoted versions of many of the
--   definitions in <tt>Data.List.NonEmpty</tt>.
module Data.Promotion.Prelude.List.NonEmpty
data (:|@#@$) (l_a10vA :: TyFun a6989586621679066011 (TyFun [a6989586621679066011] (NonEmpty a6989586621679066011) -> Type))
data (:|@#@$$) (l_a10vy :: a6989586621679066011) (l_a10vx :: TyFun [a6989586621679066011] (NonEmpty a6989586621679066011))
type (:|@#@$$$) (t_a10vv :: a6989586621679066011) (t_a10vw :: [a6989586621679066011]) = (:|) t_a10vv t_a10vw
data MapSym0 (l_a3cqP :: TyFun (TyFun a6989586621679770729 b6989586621679770730 -> Type) (TyFun (NonEmpty a6989586621679770729) (NonEmpty b6989586621679770730) -> Type))
data MapSym1 (l_a3cqN :: TyFun a6989586621679770729 b6989586621679770730 -> Type) (l_a3cqM :: TyFun (NonEmpty a6989586621679770729) (NonEmpty b6989586621679770730))
type MapSym2 (t_a3cqK :: TyFun a6989586621679770729 b6989586621679770730 -> Type) (t_a3cqL :: NonEmpty a6989586621679770729) = Map t_a3cqK t_a3cqL
data IntersperseSym0 (l_a3cqA :: TyFun a6989586621679770719 (TyFun (NonEmpty a6989586621679770719) (NonEmpty a6989586621679770719) -> Type))
data IntersperseSym1 (l_a3cqy :: a6989586621679770719) (l_a3cqx :: TyFun (NonEmpty a6989586621679770719) (NonEmpty a6989586621679770719))
type IntersperseSym2 (t_a3cqv :: a6989586621679770719) (t_a3cqw :: NonEmpty a6989586621679770719) = Intersperse t_a3cqv t_a3cqw
data ScanlSym0 (l_a3cuB :: TyFun (TyFun b6989586621679770724 (TyFun a6989586621679770725 b6989586621679770724 -> Type) -> Type) (TyFun b6989586621679770724 (TyFun [a6989586621679770725] (NonEmpty b6989586621679770724) -> Type) -> Type))
data ScanlSym1 (l_a3cuz :: TyFun b6989586621679770724 (TyFun a6989586621679770725 b6989586621679770724 -> Type) -> Type) (l_a3cuy :: TyFun b6989586621679770724 (TyFun [a6989586621679770725] (NonEmpty b6989586621679770724) -> Type))
data ScanlSym2 (l_a3cuv :: TyFun b6989586621679770724 (TyFun a6989586621679770725 b6989586621679770724 -> Type) -> Type) (l_a3cuw :: b6989586621679770724) (l_a3cuu :: TyFun [a6989586621679770725] (NonEmpty b6989586621679770724))
type ScanlSym3 (t_a3cur :: TyFun b6989586621679770724 (TyFun a6989586621679770725 b6989586621679770724 -> Type) -> Type) (t_a3cus :: b6989586621679770724) (t_a3cut :: [a6989586621679770725]) = Scanl t_a3cur t_a3cus t_a3cut
data ScanrSym0 (l_a3cuV :: TyFun (TyFun a6989586621679770722 (TyFun b6989586621679770723 b6989586621679770723 -> Type) -> Type) (TyFun b6989586621679770723 (TyFun [a6989586621679770722] (NonEmpty b6989586621679770723) -> Type) -> Type))
data ScanrSym1 (l_a3cuT :: TyFun a6989586621679770722 (TyFun b6989586621679770723 b6989586621679770723 -> Type) -> Type) (l_a3cuS :: TyFun b6989586621679770723 (TyFun [a6989586621679770722] (NonEmpty b6989586621679770723) -> Type))
data ScanrSym2 (l_a3cuP :: TyFun a6989586621679770722 (TyFun b6989586621679770723 b6989586621679770723 -> Type) -> Type) (l_a3cuQ :: b6989586621679770723) (l_a3cuO :: TyFun [a6989586621679770722] (NonEmpty b6989586621679770723))
type ScanrSym3 (t_a3cuL :: TyFun a6989586621679770722 (TyFun b6989586621679770723 b6989586621679770723 -> Type) -> Type) (t_a3cuM :: b6989586621679770723) (t_a3cuN :: [a6989586621679770722]) = Scanr t_a3cuL t_a3cuM t_a3cuN
data Scanl1Sym0 (l_a3cva :: TyFun (TyFun a6989586621679770721 (TyFun a6989586621679770721 a6989586621679770721 -> Type) -> Type) (TyFun (NonEmpty a6989586621679770721) (NonEmpty a6989586621679770721) -> Type))
data Scanl1Sym1 (l_a3cv8 :: TyFun a6989586621679770721 (TyFun a6989586621679770721 a6989586621679770721 -> Type) -> Type) (l_a3cv7 :: TyFun (NonEmpty a6989586621679770721) (NonEmpty a6989586621679770721))
type Scanl1Sym2 (t_a3cv5 :: TyFun a6989586621679770721 (TyFun a6989586621679770721 a6989586621679770721 -> Type) -> Type) (t_a3cv6 :: NonEmpty a6989586621679770721) = Scanl1 t_a3cv5 t_a3cv6
data Scanr1Sym0 (l_a3cvm :: TyFun (TyFun a6989586621679770720 (TyFun a6989586621679770720 a6989586621679770720 -> Type) -> Type) (TyFun (NonEmpty a6989586621679770720) (NonEmpty a6989586621679770720) -> Type))
data Scanr1Sym1 (l_a3cvk :: TyFun a6989586621679770720 (TyFun a6989586621679770720 a6989586621679770720 -> Type) -> Type) (l_a3cvj :: TyFun (NonEmpty a6989586621679770720) (NonEmpty a6989586621679770720))
type Scanr1Sym2 (t_a3cvh :: TyFun a6989586621679770720 (TyFun a6989586621679770720 a6989586621679770720 -> Type) -> Type) (t_a3cvi :: NonEmpty a6989586621679770720) = Scanr1 t_a3cvh t_a3cvi
data TransposeSym0 (l_a3cyG :: TyFun (NonEmpty (NonEmpty a6989586621679770685)) (NonEmpty (NonEmpty a6989586621679770685)))
type TransposeSym1 (t_a3cyF :: NonEmpty (NonEmpty a6989586621679770685)) = Transpose t_a3cyF
data SortBySym0 (l_a3ctq :: TyFun (TyFun a6989586621679770684 (TyFun a6989586621679770684 Ordering -> Type) -> Type) (TyFun (NonEmpty a6989586621679770684) (NonEmpty a6989586621679770684) -> Type))
data SortBySym1 (l_a3cto :: TyFun a6989586621679770684 (TyFun a6989586621679770684 Ordering -> Type) -> Type) (l_a3ctn :: TyFun (NonEmpty a6989586621679770684) (NonEmpty a6989586621679770684))
type SortBySym2 (t_a3ctl :: TyFun a6989586621679770684 (TyFun a6989586621679770684 Ordering -> Type) -> Type) (t_a3ctm :: NonEmpty a6989586621679770684) = SortBy t_a3ctl t_a3ctm
data SortWithSym0 (l_a3ctH :: TyFun (TyFun a6989586621679770683 o6989586621679770682 -> Type) (TyFun (NonEmpty a6989586621679770683) (NonEmpty a6989586621679770683) -> Type))
data SortWithSym1 (l_a3ctF :: TyFun a6989586621679770683 o6989586621679770682 -> Type) (l_a3ctE :: TyFun (NonEmpty a6989586621679770683) (NonEmpty a6989586621679770683))
type SortWithSym2 (t_a3ctC :: TyFun a6989586621679770683 o6989586621679770682 -> Type) (t_a3ctD :: NonEmpty a6989586621679770683) = SortWith t_a3ctC t_a3ctD
data LengthSym0 (l_a3cyn :: TyFun (NonEmpty a6989586621679770748) Nat)
type LengthSym1 (t_a3cym :: NonEmpty a6989586621679770748) = Length t_a3cym
data HeadSym0 (l_a3cwj :: TyFun (NonEmpty a6989586621679770741) a6989586621679770741)
type HeadSym1 (t_a3cwi :: NonEmpty a6989586621679770741) = Head t_a3cwi
data TailSym0 (l_a3cwe :: TyFun (NonEmpty a6989586621679770740) [a6989586621679770740])
type TailSym1 (t_a3cwd :: NonEmpty a6989586621679770740) = Tail t_a3cwd
data LastSym0 (l_a3cw8 :: TyFun (NonEmpty a6989586621679770739) a6989586621679770739)
type LastSym1 (t_a3cw7 :: NonEmpty a6989586621679770739) = Last t_a3cw7
data InitSym0 (l_a3cw2 :: TyFun (NonEmpty a6989586621679770738) [a6989586621679770738])
type InitSym1 (t_a3cw1 :: NonEmpty a6989586621679770738) = Init t_a3cw1
data (<|@#@$) (l_a3cvF :: TyFun a6989586621679770737 (TyFun (NonEmpty a6989586621679770737) (NonEmpty a6989586621679770737) -> Type))
data (<|@#@$$) (l_a3cvD :: a6989586621679770737) (l_a3cvC :: TyFun (NonEmpty a6989586621679770737) (NonEmpty a6989586621679770737))
type (<|@#@$$$) (t_a3cvA :: a6989586621679770737) (t_a3cvB :: NonEmpty a6989586621679770737) = (<|) t_a3cvA t_a3cvB
data ConsSym0 (l_a3cvV :: TyFun a6989586621679770736 (TyFun (NonEmpty a6989586621679770736) (NonEmpty a6989586621679770736) -> Type))
data ConsSym1 (l_a3cvT :: a6989586621679770736) (l_a3cvS :: TyFun (NonEmpty a6989586621679770736) (NonEmpty a6989586621679770736))
type ConsSym2 (t_a3cvQ :: a6989586621679770736) (t_a3cvR :: NonEmpty a6989586621679770736) = Cons t_a3cvQ t_a3cvR
data UnconsSym0 (l_a3cxp :: TyFun (NonEmpty a6989586621679770744) (a6989586621679770744, Maybe (NonEmpty a6989586621679770744)))
type UnconsSym1 (t_a3cxo :: NonEmpty a6989586621679770744) = Uncons t_a3cxo
data UnfoldrSym0 (l_a3cws :: TyFun (TyFun a6989586621679770742 (b6989586621679770743, Maybe a6989586621679770742) -> Type) (TyFun a6989586621679770742 (NonEmpty b6989586621679770743) -> Type))
data UnfoldrSym1 (l_a3cwq :: TyFun a6989586621679770742 (b6989586621679770743, Maybe a6989586621679770742) -> Type) (l_a3cwp :: TyFun a6989586621679770742 (NonEmpty b6989586621679770743))
type UnfoldrSym2 (t_a3cwn :: TyFun a6989586621679770742 (b6989586621679770743, Maybe a6989586621679770742) -> Type) (t_a3cwo :: a6989586621679770742) = Unfoldr t_a3cwn t_a3cwo
data SortSym0 (l_a3cvw :: TyFun (NonEmpty a6989586621679770735) (NonEmpty a6989586621679770735))
type SortSym1 (t_a3cvv :: NonEmpty a6989586621679770735) = Sort t_a3cvv
data ReverseSym0 (l_a3cth :: TyFun (NonEmpty a6989586621679770718) (NonEmpty a6989586621679770718))
type ReverseSym1 (t_a3ctg :: NonEmpty a6989586621679770718) = Reverse t_a3ctg
data InitsSym0 (l_a3cu3 :: TyFun [a6989586621679770728] (NonEmpty [a6989586621679770728]))
type InitsSym1 (t_a3cu2 :: [a6989586621679770728]) = Inits t_a3cu2
data TailsSym0 (l_a3cua :: TyFun [a6989586621679770727] (NonEmpty [a6989586621679770727]))
type TailsSym1 (t_a3cu9 :: [a6989586621679770727]) = Tails t_a3cu9
data UnfoldSym0 (l_a3cxz :: TyFun (TyFun a6989586621679770746 (b6989586621679770747, Maybe a6989586621679770746) -> Type) (TyFun a6989586621679770746 (NonEmpty b6989586621679770747) -> Type))
data UnfoldSym1 (l_a3cxx :: TyFun a6989586621679770746 (b6989586621679770747, Maybe a6989586621679770746) -> Type) (l_a3cxw :: TyFun a6989586621679770746 (NonEmpty b6989586621679770747))
data InsertSym0 (l_a3cuj :: TyFun a6989586621679770726 (TyFun [a6989586621679770726] (NonEmpty a6989586621679770726) -> Type))
data InsertSym1 (l_a3cuh :: a6989586621679770726) (l_a3cug :: TyFun [a6989586621679770726] (NonEmpty a6989586621679770726))
type InsertSym2 (t_a3cue :: a6989586621679770726) (t_a3cuf :: [a6989586621679770726]) = Insert t_a3cue t_a3cuf
data TakeSym0 (l_a3cr7 :: TyFun Nat (TyFun (NonEmpty a6989586621679770717) [a6989586621679770717] -> Type))
data TakeSym1 (l_a3cr5 :: Nat) (l_a3cr4 :: TyFun (NonEmpty a6989586621679770717) [a6989586621679770717])
type TakeSym2 (t_a3cr2 :: Nat) (t_a3cr3 :: NonEmpty a6989586621679770717) = Take t_a3cr2 t_a3cr3
data DropSym0 (l_a3crk :: TyFun Nat (TyFun (NonEmpty a6989586621679770716) [a6989586621679770716] -> Type))
data DropSym1 (l_a3cri :: Nat) (l_a3crh :: TyFun (NonEmpty a6989586621679770716) [a6989586621679770716])
type DropSym2 (t_a3crf :: Nat) (t_a3crg :: NonEmpty a6989586621679770716) = Drop t_a3crf t_a3crg
data SplitAtSym0 (l_a3crx :: TyFun Nat (TyFun (NonEmpty a6989586621679770715) ([a6989586621679770715], [a6989586621679770715]) -> Type))
data SplitAtSym1 (l_a3crv :: Nat) (l_a3cru :: TyFun (NonEmpty a6989586621679770715) ([a6989586621679770715], [a6989586621679770715]))
type SplitAtSym2 (t_a3crs :: Nat) (t_a3crt :: NonEmpty a6989586621679770715) = SplitAt t_a3crs t_a3crt
data TakeWhileSym0 (l_a3crK :: TyFun (TyFun a6989586621679770714 Bool -> Type) (TyFun (NonEmpty a6989586621679770714) [a6989586621679770714] -> Type))
data TakeWhileSym1 (l_a3crI :: TyFun a6989586621679770714 Bool -> Type) (l_a3crH :: TyFun (NonEmpty a6989586621679770714) [a6989586621679770714])
type TakeWhileSym2 (t_a3crF :: TyFun a6989586621679770714 Bool -> Type) (t_a3crG :: NonEmpty a6989586621679770714) = TakeWhile t_a3crF t_a3crG
data DropWhileSym0 (l_a3crX :: TyFun (TyFun a6989586621679770713 Bool -> Type) (TyFun (NonEmpty a6989586621679770713) [a6989586621679770713] -> Type))
data DropWhileSym1 (l_a3crV :: TyFun a6989586621679770713 Bool -> Type) (l_a3crU :: TyFun (NonEmpty a6989586621679770713) [a6989586621679770713])
type DropWhileSym2 (t_a3crS :: TyFun a6989586621679770713 Bool -> Type) (t_a3crT :: NonEmpty a6989586621679770713) = DropWhile t_a3crS t_a3crT
data SpanSym0 (l_a3csa :: TyFun (TyFun a6989586621679770712 Bool -> Type) (TyFun (NonEmpty a6989586621679770712) ([a6989586621679770712], [a6989586621679770712]) -> Type))
data SpanSym1 (l_a3cs8 :: TyFun a6989586621679770712 Bool -> Type) (l_a3cs7 :: TyFun (NonEmpty a6989586621679770712) ([a6989586621679770712], [a6989586621679770712]))
type SpanSym2 (t_a3cs5 :: TyFun a6989586621679770712 Bool -> Type) (t_a3cs6 :: NonEmpty a6989586621679770712) = Span t_a3cs5 t_a3cs6
data BreakSym0 (l_a3csn :: TyFun (TyFun a6989586621679770711 Bool -> Type) (TyFun (NonEmpty a6989586621679770711) ([a6989586621679770711], [a6989586621679770711]) -> Type))
data BreakSym1 (l_a3csl :: TyFun a6989586621679770711 Bool -> Type) (l_a3csk :: TyFun (NonEmpty a6989586621679770711) ([a6989586621679770711], [a6989586621679770711]))
type BreakSym2 (t_a3csi :: TyFun a6989586621679770711 Bool -> Type) (t_a3csj :: NonEmpty a6989586621679770711) = Break t_a3csi t_a3csj
data FilterSym0 (l_a3csA :: TyFun (TyFun a6989586621679770710 Bool -> Type) (TyFun (NonEmpty a6989586621679770710) [a6989586621679770710] -> Type))
data FilterSym1 (l_a3csy :: TyFun a6989586621679770710 Bool -> Type) (l_a3csx :: TyFun (NonEmpty a6989586621679770710) [a6989586621679770710])
type FilterSym2 (t_a3csv :: TyFun a6989586621679770710 Bool -> Type) (t_a3csw :: NonEmpty a6989586621679770710) = Filter t_a3csv t_a3csw
data PartitionSym0 (l_a3csN :: TyFun (TyFun a6989586621679770709 Bool -> Type) (TyFun (NonEmpty a6989586621679770709) ([a6989586621679770709], [a6989586621679770709]) -> Type))
data PartitionSym1 (l_a3csL :: TyFun a6989586621679770709 Bool -> Type) (l_a3csK :: TyFun (NonEmpty a6989586621679770709) ([a6989586621679770709], [a6989586621679770709]))
type PartitionSym2 (t_a3csI :: TyFun a6989586621679770709 Bool -> Type) (t_a3csJ :: NonEmpty a6989586621679770709) = Partition t_a3csI t_a3csJ
data GroupSym0 (l_a3cqr :: TyFun [a6989586621679770708] [NonEmpty a6989586621679770708])
type GroupSym1 (t_a3cqq :: [a6989586621679770708]) = Group t_a3cqq
data GroupBySym0 (l_a3cmF :: TyFun (TyFun a6989586621679770707 (TyFun a6989586621679770707 Bool -> Type) -> Type) (TyFun [a6989586621679770707] [NonEmpty a6989586621679770707] -> Type))
data GroupBySym1 (l_a3cmD :: TyFun a6989586621679770707 (TyFun a6989586621679770707 Bool -> Type) -> Type) (l_a3cmC :: TyFun [a6989586621679770707] [NonEmpty a6989586621679770707])
type GroupBySym2 (t_a3cmA :: TyFun a6989586621679770707 (TyFun a6989586621679770707 Bool -> Type) -> Type) (t_a3cmB :: [a6989586621679770707]) = GroupBy t_a3cmA t_a3cmB
data GroupWithSym0 (l_a3coI :: TyFun (TyFun a6989586621679770706 b6989586621679770705 -> Type) (TyFun [a6989586621679770706] [NonEmpty a6989586621679770706] -> Type))
data GroupWithSym1 (l_a3coG :: TyFun a6989586621679770706 b6989586621679770705 -> Type) (l_a3coF :: TyFun [a6989586621679770706] [NonEmpty a6989586621679770706])
type GroupWithSym2 (t_a3coD :: TyFun a6989586621679770706 b6989586621679770705 -> Type) (t_a3coE :: [a6989586621679770706]) = GroupWith t_a3coD t_a3coE
data GroupAllWithSym0 (l_a3coV :: TyFun (TyFun a6989586621679770704 b6989586621679770703 -> Type) (TyFun [a6989586621679770704] [NonEmpty a6989586621679770704] -> Type))
data GroupAllWithSym1 (l_a3coT :: TyFun a6989586621679770704 b6989586621679770703 -> Type) (l_a3coS :: TyFun [a6989586621679770704] [NonEmpty a6989586621679770704])
type GroupAllWithSym2 (t_a3coQ :: TyFun a6989586621679770704 b6989586621679770703 -> Type) (t_a3coR :: [a6989586621679770704]) = GroupAllWith t_a3coQ t_a3coR
data Group1Sym0 (l_a3cq7 :: TyFun (NonEmpty a6989586621679770702) (NonEmpty (NonEmpty a6989586621679770702)))
type Group1Sym1 (t_a3cq6 :: NonEmpty a6989586621679770702) = Group1 t_a3cq6
data GroupBy1Sym0 (l_a3cp8 :: TyFun (TyFun a6989586621679770701 (TyFun a6989586621679770701 Bool -> Type) -> Type) (TyFun (NonEmpty a6989586621679770701) (NonEmpty (NonEmpty a6989586621679770701)) -> Type))
data GroupBy1Sym1 (l_a3cp6 :: TyFun a6989586621679770701 (TyFun a6989586621679770701 Bool -> Type) -> Type) (l_a3cp5 :: TyFun (NonEmpty a6989586621679770701) (NonEmpty (NonEmpty a6989586621679770701)))
type GroupBy1Sym2 (t_a3cp3 :: TyFun a6989586621679770701 (TyFun a6989586621679770701 Bool -> Type) -> Type) (t_a3cp4 :: NonEmpty a6989586621679770701) = GroupBy1 t_a3cp3 t_a3cp4
data GroupWith1Sym0 (l_a3cqg :: TyFun (TyFun a6989586621679770700 b6989586621679770699 -> Type) (TyFun (NonEmpty a6989586621679770700) (NonEmpty (NonEmpty a6989586621679770700)) -> Type))
data GroupWith1Sym1 (l_a3cqe :: TyFun a6989586621679770700 b6989586621679770699 -> Type) (l_a3cqd :: TyFun (NonEmpty a6989586621679770700) (NonEmpty (NonEmpty a6989586621679770700)))
type GroupWith1Sym2 (t_a3cqb :: TyFun a6989586621679770700 b6989586621679770699 -> Type) (t_a3cqc :: NonEmpty a6989586621679770700) = GroupWith1 t_a3cqb t_a3cqc
data GroupAllWith1Sym0 (l_a3ctS :: TyFun (TyFun a6989586621679770698 b6989586621679770697 -> Type) (TyFun (NonEmpty a6989586621679770698) (NonEmpty (NonEmpty a6989586621679770698)) -> Type))
data GroupAllWith1Sym1 (l_a3ctQ :: TyFun a6989586621679770698 b6989586621679770697 -> Type) (l_a3ctP :: TyFun (NonEmpty a6989586621679770698) (NonEmpty (NonEmpty a6989586621679770698)))
type GroupAllWith1Sym2 (t_a3ctN :: TyFun a6989586621679770698 b6989586621679770697 -> Type) (t_a3ctO :: NonEmpty a6989586621679770698) = GroupAllWith1 t_a3ctN t_a3ctO
data IsPrefixOfSym0 (l_a3cms :: TyFun [a6989586621679770696] (TyFun (NonEmpty a6989586621679770696) Bool -> Type))
data IsPrefixOfSym1 (l_a3cmq :: [a6989586621679770696]) (l_a3cmp :: TyFun (NonEmpty a6989586621679770696) Bool)
type IsPrefixOfSym2 (t_a3cmn :: [a6989586621679770696]) (t_a3cmo :: NonEmpty a6989586621679770696) = IsPrefixOf t_a3cmn t_a3cmo
data NubSym0 (l_a3ckt :: TyFun (NonEmpty a6989586621679770687) (NonEmpty a6989586621679770687))
type NubSym1 (t_a3cks :: NonEmpty a6989586621679770687) = Nub t_a3cks
data NubBySym0 (l_a3cjX :: TyFun (TyFun a6989586621679770686 (TyFun a6989586621679770686 Bool -> Type) -> Type) (TyFun (NonEmpty a6989586621679770686) (NonEmpty a6989586621679770686) -> Type))
data NubBySym1 (l_a3cjV :: TyFun a6989586621679770686 (TyFun a6989586621679770686 Bool -> Type) -> Type) (l_a3cjU :: TyFun (NonEmpty a6989586621679770686) (NonEmpty a6989586621679770686))
type NubBySym2 (t_a3cjS :: TyFun a6989586621679770686 (TyFun a6989586621679770686 Bool -> Type) -> Type) (t_a3cjT :: NonEmpty a6989586621679770686) = NubBy t_a3cjS t_a3cjT
data (!!@#@$) (l_a3cm5 :: TyFun (NonEmpty a6989586621679770695) (TyFun Nat a6989586621679770695 -> Type))
data (!!@#@$$) (l_a3cm3 :: NonEmpty a6989586621679770695) (l_a3cm2 :: TyFun Nat a6989586621679770695)
type (!!@#@$$$) (t_a3cm0 :: NonEmpty a6989586621679770695) (t_a3cm1 :: Nat) = (!!) t_a3cm0 t_a3cm1
data ZipSym0 (l_a3clS :: TyFun (NonEmpty a6989586621679770693) (TyFun (NonEmpty b6989586621679770694) (NonEmpty (a6989586621679770693, b6989586621679770694)) -> Type))
data ZipSym1 (l_a3clQ :: NonEmpty a6989586621679770693) (l_a3clP :: TyFun (NonEmpty b6989586621679770694) (NonEmpty (a6989586621679770693, b6989586621679770694)))
type ZipSym2 (t_a3clN :: NonEmpty a6989586621679770693) (t_a3clO :: NonEmpty b6989586621679770694) = Zip t_a3clN t_a3clO
data ZipWithSym0 (l_a3clD :: TyFun (TyFun a6989586621679770690 (TyFun b6989586621679770691 c6989586621679770692 -> Type) -> Type) (TyFun (NonEmpty a6989586621679770690) (TyFun (NonEmpty b6989586621679770691) (NonEmpty c6989586621679770692) -> Type) -> Type))
data ZipWithSym1 (l_a3clB :: TyFun a6989586621679770690 (TyFun b6989586621679770691 c6989586621679770692 -> Type) -> Type) (l_a3clA :: TyFun (NonEmpty a6989586621679770690) (TyFun (NonEmpty b6989586621679770691) (NonEmpty c6989586621679770692) -> Type))
data ZipWithSym2 (l_a3clx :: TyFun a6989586621679770690 (TyFun b6989586621679770691 c6989586621679770692 -> Type) -> Type) (l_a3cly :: NonEmpty a6989586621679770690) (l_a3clw :: TyFun (NonEmpty b6989586621679770691) (NonEmpty c6989586621679770692))
type ZipWithSym3 (t_a3clt :: TyFun a6989586621679770690 (TyFun b6989586621679770691 c6989586621679770692 -> Type) -> Type) (t_a3clu :: NonEmpty a6989586621679770690) (t_a3clv :: NonEmpty b6989586621679770691) = ZipWith t_a3clt t_a3clu t_a3clv
data UnzipSym0 (l_a3cky :: TyFun (NonEmpty (a6989586621679770688, b6989586621679770689)) (NonEmpty a6989586621679770688, NonEmpty b6989586621679770689))
type UnzipSym1 (t_a3ckx :: NonEmpty (a6989586621679770688, b6989586621679770689)) = Unzip t_a3ckx
data FromListSym0 (l_a3csW :: TyFun [a6989586621679770734] (NonEmpty a6989586621679770734))
type FromListSym1 (t_a3csV :: [a6989586621679770734]) = FromList t_a3csV
data ToListSym0 (l_a3cqX :: TyFun (NonEmpty a6989586621679770733) [a6989586621679770733])
type ToListSym1 (t_a3cqW :: NonEmpty a6989586621679770733) = ToList t_a3cqW
data NonEmpty_Sym0 (l_a3cxj :: TyFun [a6989586621679770745] (Maybe (NonEmpty a6989586621679770745)))
type NonEmpty_Sym1 (t_a3cxi :: [a6989586621679770745]) = NonEmpty_ t_a3cxi
data XorSym0 (l_a3cxU :: TyFun (NonEmpty Bool) Bool)
type XorSym1 (t_a3cxT :: NonEmpty Bool) = Xor t_a3cxT


-- | Defines promoted functions from <tt>Data.Function</tt>.
--   
--   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 <tt>Data.Function</tt>. Also, please
--   excuse the apparent repeated variable names. This is due to an
--   interaction between Template Haskell and Haddock.
module Data.Promotion.Prelude.Function
data IdSym0 (l_a1Jpi :: TyFun a6989586621679422443 a6989586621679422443)
type IdSym1 (t_a1Jph :: a6989586621679422443) = Id t_a1Jph
data ConstSym0 (l_a1JoX :: TyFun a6989586621679422441 (TyFun b6989586621679422442 a6989586621679422441 -> Type))
data ConstSym1 (l_a1JoV :: a6989586621679422441) (l_a1JoU :: TyFun b6989586621679422442 a6989586621679422441)
type ConstSym2 (t_a1JoS :: a6989586621679422441) (t_a1JoT :: b6989586621679422442) = Const t_a1JoS t_a1JoT
data (.@#@$) (l_a1Jom :: TyFun (TyFun b6989586621679422438 c6989586621679422439 -> Type) (TyFun (TyFun a6989586621679422440 b6989586621679422438 -> Type) (TyFun a6989586621679422440 c6989586621679422439 -> Type) -> Type))
data (.@#@$$) (l_a1Jok :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (l_a1Joj :: TyFun (TyFun a6989586621679422440 b6989586621679422438 -> Type) (TyFun a6989586621679422440 c6989586621679422439 -> Type))
data (.@#@$$$) (l_a1Jog :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (l_a1Joh :: TyFun a6989586621679422440 b6989586621679422438 -> Type) (l_a1Jof :: TyFun a6989586621679422440 c6989586621679422439)
type (.@#@$$$$) (t_a1Joc :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (t_a1Jod :: TyFun a6989586621679422440 b6989586621679422438 -> Type) (t_a1Joe :: a6989586621679422440) = (:.) t_a1Joc t_a1Jod t_a1Joe
data FlipSym0 (l_a1Jo4 :: TyFun (TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (TyFun b6989586621679422436 (TyFun a6989586621679422435 c6989586621679422437 -> Type) -> Type))
data FlipSym1 (l_a1Jo2 :: TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (l_a1Jo1 :: TyFun b6989586621679422436 (TyFun a6989586621679422435 c6989586621679422437 -> Type))
data FlipSym2 (l_a1JnY :: TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (l_a1JnZ :: b6989586621679422436) (l_a1JnX :: TyFun a6989586621679422435 c6989586621679422437)
type FlipSym3 (t_a1JnU :: TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (t_a1JnV :: b6989586621679422436) (t_a1JnW :: a6989586621679422435) = Flip t_a1JnU t_a1JnV t_a1JnW
data ($@#@$) (l_a1JnO :: TyFun (TyFun a6989586621679422432 b6989586621679422433 -> Type) (TyFun a6989586621679422432 b6989586621679422433 -> Type))
data ($@#@$$) (l_a1JnM :: TyFun a6989586621679422432 b6989586621679422433 -> Type) (l_a1JnL :: TyFun a6989586621679422432 b6989586621679422433)
type ($@#@$$$) (t_a1JnJ :: TyFun a6989586621679422432 b6989586621679422433 -> Type) (t_a1JnK :: a6989586621679422432) = ($) t_a1JnJ t_a1JnK
data (&@#@$) (l_a39BO :: TyFun a6989586621679761698 (TyFun (TyFun a6989586621679761698 b6989586621679761699 -> Type) b6989586621679761699 -> Type))
data (&@#@$$) (l_a39BM :: a6989586621679761698) (l_a39BL :: TyFun (TyFun a6989586621679761698 b6989586621679761699 -> Type) b6989586621679761699)
type (&@#@$$$) (t_a39BJ :: a6989586621679761698) (t_a39BK :: TyFun a6989586621679761698 b6989586621679761699 -> Type) = (&) t_a39BJ t_a39BK
data OnSym0 (l_a39Ca :: TyFun (TyFun b6989586621679761700 (TyFun b6989586621679761700 c6989586621679761701 -> Type) -> Type) (TyFun (TyFun a6989586621679761702 b6989586621679761700 -> Type) (TyFun a6989586621679761702 (TyFun a6989586621679761702 c6989586621679761701 -> Type) -> Type) -> Type))
data OnSym1 (l_a39C8 :: TyFun b6989586621679761700 (TyFun b6989586621679761700 c6989586621679761701 -> Type) -> Type) (l_a39C7 :: TyFun (TyFun a6989586621679761702 b6989586621679761700 -> Type) (TyFun a6989586621679761702 (TyFun a6989586621679761702 c6989586621679761701 -> Type) -> Type))
data OnSym2 (l_a39C4 :: TyFun b6989586621679761700 (TyFun b6989586621679761700 c6989586621679761701 -> Type) -> Type) (l_a39C5 :: TyFun a6989586621679761702 b6989586621679761700 -> Type) (l_a39C3 :: TyFun a6989586621679761702 (TyFun a6989586621679761702 c6989586621679761701 -> Type))
data OnSym3 (l_a39BZ :: TyFun b6989586621679761700 (TyFun b6989586621679761700 c6989586621679761701 -> Type) -> Type) (l_a39C0 :: TyFun a6989586621679761702 b6989586621679761700 -> Type) (l_a39C1 :: a6989586621679761702) (l_a39BY :: TyFun a6989586621679761702 c6989586621679761701)
type OnSym4 (t_a39BU :: TyFun b6989586621679761700 (TyFun b6989586621679761700 c6989586621679761701 -> Type) -> Type) (t_a39BV :: TyFun a6989586621679761702 b6989586621679761700 -> Type) (t_a39BW :: a6989586621679761702) (t_a39BX :: a6989586621679761702) = On t_a39BU t_a39BV t_a39BW t_a39BX


-- | Defines the promoted and singleton version of Bounded, <a>PBounded</a>
--   and <a>SBounded</a>
module Data.Singletons.Prelude.Enum
class PBounded (a_a3uqO :: Type) where {
    type family MinBound :: a_a3uqO;
    type family MaxBound :: a_a3uqO;
}
class SBounded a_a3uqO
sMinBound :: SBounded a_a3uqO => Sing (MinBoundSym0 :: a_a3uqO)
sMaxBound :: SBounded a_a3uqO => Sing (MaxBoundSym0 :: a_a3uqO)
class PEnum (a_a3vtn :: Type) where {
    type family Succ (arg_a3vCR :: a_a3vtn) :: a_a3vtn;
    type family Pred (arg_a3vCV :: a_a3vtn) :: a_a3vtn;
    type family ToEnum (arg_a3vCZ :: Nat) :: a_a3vtn;
    type family FromEnum (arg_a3vD3 :: a_a3vtn) :: Nat;
    type family EnumFromTo (arg_a3vD7 :: a_a3vtn) (arg_a3vD8 :: a_a3vtn) :: [a_a3vtn];
    type family EnumFromThenTo (arg_a3vDg :: a_a3vtn) (arg_a3vDh :: a_a3vtn) (arg_a3vDi :: a_a3vtn) :: [a_a3vtn];
    type Succ a_a3vDN = Apply Succ_6989586621679846408Sym0 a_a3vDN;
    type Pred a_a3vE0 = Apply Pred_6989586621679846421Sym0 a_a3vE0;
    type EnumFromTo a_a3vEh a_a3vEi =
        Apply (Apply EnumFromTo_6989586621679846439Sym0 a_a3vEh) a_a3vEi;
    type EnumFromThenTo a_a3vEK a_a3vEL a_a3vEM =
        Apply (Apply (Apply EnumFromThenTo_6989586621679846469Sym0 a_a3vEK) a_a3vEL) a_a3vEM;
}
class SEnum a_a3vtn
sSucc :: forall (t_a3vHk :: a_a3vtn). SEnum a_a3vtn => Sing t_a3vHk -> Sing (Apply SuccSym0 t_a3vHk :: a_a3vtn)
sPred :: forall (t_a3vHl :: a_a3vtn). SEnum a_a3vtn => Sing t_a3vHl -> Sing (Apply PredSym0 t_a3vHl :: a_a3vtn)
sToEnum :: forall (t_a3vHm :: Nat). SEnum a_a3vtn => Sing t_a3vHm -> Sing (Apply ToEnumSym0 t_a3vHm :: a_a3vtn)
sFromEnum :: forall (t_a3vHn :: a_a3vtn). SEnum a_a3vtn => Sing t_a3vHn -> Sing (Apply FromEnumSym0 t_a3vHn :: Nat)
sEnumFromTo :: forall (t_a3vHo :: a_a3vtn) (t_a3vHp :: a_a3vtn). SEnum a_a3vtn => Sing t_a3vHo -> Sing t_a3vHp -> Sing (Apply (Apply EnumFromToSym0 t_a3vHo) t_a3vHp :: [a_a3vtn])
sEnumFromThenTo :: forall (t_a3vHq :: a_a3vtn) (t_a3vHr :: a_a3vtn) (t_a3vHs :: a_a3vtn). SEnum a_a3vtn => Sing t_a3vHq -> Sing t_a3vHr -> Sing t_a3vHs -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3vHq) t_a3vHr) t_a3vHs :: [a_a3vtn])
sSucc :: forall (t_a3vHk :: a_a3vtn). (SEnum a_a3vtn, (Apply SuccSym0 t_a3vHk :: a_a3vtn) ~ Apply Succ_6989586621679846408Sym0 t_a3vHk) => Sing t_a3vHk -> Sing (Apply SuccSym0 t_a3vHk :: a_a3vtn)
sPred :: forall (t_a3vHl :: a_a3vtn). (SEnum a_a3vtn, (Apply PredSym0 t_a3vHl :: a_a3vtn) ~ Apply Pred_6989586621679846421Sym0 t_a3vHl) => Sing t_a3vHl -> Sing (Apply PredSym0 t_a3vHl :: a_a3vtn)
sEnumFromTo :: forall (t_a3vHo :: a_a3vtn) (t_a3vHp :: a_a3vtn). (SEnum a_a3vtn, (Apply (Apply EnumFromToSym0 t_a3vHo) t_a3vHp :: [a_a3vtn]) ~ Apply (Apply EnumFromTo_6989586621679846439Sym0 t_a3vHo) t_a3vHp) => Sing t_a3vHo -> Sing t_a3vHp -> Sing (Apply (Apply EnumFromToSym0 t_a3vHo) t_a3vHp :: [a_a3vtn])
sEnumFromThenTo :: forall (t_a3vHq :: a_a3vtn) (t_a3vHr :: a_a3vtn) (t_a3vHs :: a_a3vtn). (SEnum a_a3vtn, (Apply (Apply (Apply EnumFromThenToSym0 t_a3vHq) t_a3vHr) t_a3vHs :: [a_a3vtn]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679846469Sym0 t_a3vHq) t_a3vHr) t_a3vHs) => Sing t_a3vHq -> Sing t_a3vHr -> Sing t_a3vHs -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3vHq) t_a3vHr) t_a3vHs :: [a_a3vtn])
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data SuccSym0 (l_a3vCT :: TyFun a6989586621679845761 a6989586621679845761)
type SuccSym1 (t_a3vCS :: a6989586621679845761) = Succ t_a3vCS
data PredSym0 (l_a3vCX :: TyFun a6989586621679845761 a6989586621679845761)
type PredSym1 (t_a3vCW :: a6989586621679845761) = Pred t_a3vCW
data ToEnumSym0 (l_a3vD1 :: TyFun Nat a6989586621679845761)
type ToEnumSym1 (t_a3vD0 :: Nat) = ToEnum t_a3vD0
data FromEnumSym0 (l_a3vD5 :: TyFun a6989586621679845761 Nat)
type FromEnumSym1 (t_a3vD4 :: a6989586621679845761) = FromEnum t_a3vD4
data EnumFromToSym0 (l_a3vDe :: TyFun a6989586621679845761 (TyFun a6989586621679845761 [a6989586621679845761] -> Type))
data EnumFromToSym1 (l_a3vDc :: a6989586621679845761) (l_a3vDb :: TyFun a6989586621679845761 [a6989586621679845761])
type EnumFromToSym2 (t_a3vD9 :: a6989586621679845761) (t_a3vDa :: a6989586621679845761) = EnumFromTo t_a3vD9 t_a3vDa
data EnumFromThenToSym0 (l_a3vDt :: TyFun a6989586621679845761 (TyFun a6989586621679845761 (TyFun a6989586621679845761 [a6989586621679845761] -> Type) -> Type))
data EnumFromThenToSym1 (l_a3vDr :: a6989586621679845761) (l_a3vDq :: TyFun a6989586621679845761 (TyFun a6989586621679845761 [a6989586621679845761] -> Type))
data EnumFromThenToSym2 (l_a3vDn :: a6989586621679845761) (l_a3vDo :: a6989586621679845761) (l_a3vDm :: TyFun a6989586621679845761 [a6989586621679845761])
type EnumFromThenToSym3 (t_a3vDj :: a6989586621679845761) (t_a3vDk :: a6989586621679845761) (t_a3vDl :: a6989586621679845761) = EnumFromThenTo t_a3vDj t_a3vDk t_a3vDl
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679865018Sym0
instance Data.Singletons.Prelude.Enum.PEnum ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679865008Sym0
instance Data.Singletons.Prelude.Enum.SEnum ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679864993Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679864983Sym0
instance Data.Singletons.Prelude.Enum.SEnum GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679864961Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679864951Sym0
instance Data.Singletons.Prelude.Enum.SEnum GHC.Types.Bool
instance Data.Singletons.Prelude.Enum.SEnum GHC.Types.Nat
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679846580Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Nat
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679846580Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679846580Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679846544Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679846544Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679846522Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679846511Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Pred_6989586621679846500Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Succ_6989586621679846489Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.SuccSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.PredSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnumSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnumSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromToSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromToSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenToSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenToSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenToSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Succ_6989586621679846408Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Pred_6989586621679846421Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679846439Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679846439Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679846469Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679846469Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679846469Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Lambda_6989586621679846396Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Lambda_6989586621679846396Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EftNatSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EftNatSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EfdtNatSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EfdtNatSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EfdtNatSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EfdtNatUpSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EfdtNatUpSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EfdtNatUpSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EfdtNatDnSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EfdtNatDnSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EfdtNatDnSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846288GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846288GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846288GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846288GoSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846288GoSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846316Scrutinee_6989586621679845798Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846316Scrutinee_6989586621679845798Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846316Scrutinee_6989586621679845798Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846316Scrutinee_6989586621679845798Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846316Scrutinee_6989586621679845798Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846126Go_upSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846126Go_upSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846126Go_upSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846126Go_upSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846126Go_upSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846126Go_upSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846126Go_upSym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846126Y'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846126Y'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846126Y'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846126Y'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846126Y'Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846126Y'Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846126DeltaSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846126DeltaSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846126DeltaSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846126DeltaSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846126DeltaSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846126DeltaSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846089Scrutinee_6989586621679845812Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846089Scrutinee_6989586621679845812Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846089Scrutinee_6989586621679845812Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846089Scrutinee_6989586621679845812Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846089Scrutinee_6989586621679845812Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679846089Scrutinee_6989586621679845812Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845944Go_dnSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845944Go_dnSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845944Go_dnSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845944Go_dnSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845944Go_dnSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845944Go_dnSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845944Go_dnSym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845944Y'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845944Y'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845944Y'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845944Y'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845944Y'Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845944Y'Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845944DeltaSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845944DeltaSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845944DeltaSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845944DeltaSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845944DeltaSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845944DeltaSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845907Scrutinee_6989586621679845822Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845907Scrutinee_6989586621679845822Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845907Scrutinee_6989586621679845822Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845907Scrutinee_6989586621679845822Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845907Scrutinee_6989586621679845822Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679845907Scrutinee_6989586621679845822Sym5
instance Data.Singletons.Prelude.Enum.PBounded ()
instance Data.Singletons.Prelude.Enum.PBounded GHC.Types.Ordering
instance Data.Singletons.Prelude.Enum.PBounded GHC.Types.Bool
instance Data.Singletons.Prelude.Enum.PBounded (a, b, c, d, e, f, g)
instance Data.Singletons.Prelude.Enum.PBounded (a, b, c, d, e, f)
instance Data.Singletons.Prelude.Enum.PBounded (a, b, c, d, e)
instance Data.Singletons.Prelude.Enum.PBounded (a, b, c, d)
instance Data.Singletons.Prelude.Enum.PBounded (a, b, c)
instance Data.Singletons.Prelude.Enum.PBounded (a, b)
instance (Data.Singletons.Prelude.Enum.SBounded a, Data.Singletons.Prelude.Enum.SBounded b) => Data.Singletons.Prelude.Enum.SBounded (a, b)
instance (Data.Singletons.Prelude.Enum.SBounded a, Data.Singletons.Prelude.Enum.SBounded b, Data.Singletons.Prelude.Enum.SBounded c) => Data.Singletons.Prelude.Enum.SBounded (a, b, c)
instance (Data.Singletons.Prelude.Enum.SBounded a, Data.Singletons.Prelude.Enum.SBounded b, Data.Singletons.Prelude.Enum.SBounded c, Data.Singletons.Prelude.Enum.SBounded d) => Data.Singletons.Prelude.Enum.SBounded (a, b, c, d)
instance (Data.Singletons.Prelude.Enum.SBounded a, Data.Singletons.Prelude.Enum.SBounded b, Data.Singletons.Prelude.Enum.SBounded c, Data.Singletons.Prelude.Enum.SBounded d, Data.Singletons.Prelude.Enum.SBounded e) => Data.Singletons.Prelude.Enum.SBounded (a, b, c, d, e)
instance (Data.Singletons.Prelude.Enum.SBounded a, Data.Singletons.Prelude.Enum.SBounded b, Data.Singletons.Prelude.Enum.SBounded c, Data.Singletons.Prelude.Enum.SBounded d, Data.Singletons.Prelude.Enum.SBounded e, Data.Singletons.Prelude.Enum.SBounded f) => Data.Singletons.Prelude.Enum.SBounded (a, b, c, d, e, f)
instance (Data.Singletons.Prelude.Enum.SBounded a, Data.Singletons.Prelude.Enum.SBounded b, Data.Singletons.Prelude.Enum.SBounded c, Data.Singletons.Prelude.Enum.SBounded d, Data.Singletons.Prelude.Enum.SBounded e, Data.Singletons.Prelude.Enum.SBounded f, Data.Singletons.Prelude.Enum.SBounded g) => Data.Singletons.Prelude.Enum.SBounded (a, b, c, d, e, f, g)
instance Data.Singletons.Prelude.Enum.SBounded GHC.Types.Bool
instance Data.Singletons.Prelude.Enum.SBounded GHC.Types.Ordering
instance Data.Singletons.Prelude.Enum.SBounded ()


-- | Exports promoted versions of <a>Enum</a> and <a>Bounded</a>
module Data.Promotion.Prelude.Enum
class PBounded (a_a3uqO :: Type) where {
    type family MinBound :: a_a3uqO;
    type family MaxBound :: a_a3uqO;
}
class PEnum (a_a3vtn :: Type) where {
    type family Succ (arg_a3vCR :: a_a3vtn) :: a_a3vtn;
    type family Pred (arg_a3vCV :: a_a3vtn) :: a_a3vtn;
    type family ToEnum (arg_a3vCZ :: Nat) :: a_a3vtn;
    type family FromEnum (arg_a3vD3 :: a_a3vtn) :: Nat;
    type family EnumFromTo (arg_a3vD7 :: a_a3vtn) (arg_a3vD8 :: a_a3vtn) :: [a_a3vtn];
    type family EnumFromThenTo (arg_a3vDg :: a_a3vtn) (arg_a3vDh :: a_a3vtn) (arg_a3vDi :: a_a3vtn) :: [a_a3vtn];
    type Succ a_a3vDN = Apply Succ_6989586621679846408Sym0 a_a3vDN;
    type Pred a_a3vE0 = Apply Pred_6989586621679846421Sym0 a_a3vE0;
    type EnumFromTo a_a3vEh a_a3vEi =
        Apply (Apply EnumFromTo_6989586621679846439Sym0 a_a3vEh) a_a3vEi;
    type EnumFromThenTo a_a3vEK a_a3vEL a_a3vEM =
        Apply (Apply (Apply EnumFromThenTo_6989586621679846469Sym0 a_a3vEK) a_a3vEL) a_a3vEM;
}
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data SuccSym0 (l_a3vCT :: TyFun a6989586621679845761 a6989586621679845761)
type SuccSym1 (t_a3vCS :: a6989586621679845761) = Succ t_a3vCS
data PredSym0 (l_a3vCX :: TyFun a6989586621679845761 a6989586621679845761)
type PredSym1 (t_a3vCW :: a6989586621679845761) = Pred t_a3vCW
data ToEnumSym0 (l_a3vD1 :: TyFun Nat a6989586621679845761)
type ToEnumSym1 (t_a3vD0 :: Nat) = ToEnum t_a3vD0
data FromEnumSym0 (l_a3vD5 :: TyFun a6989586621679845761 Nat)
type FromEnumSym1 (t_a3vD4 :: a6989586621679845761) = FromEnum t_a3vD4
data EnumFromToSym0 (l_a3vDe :: TyFun a6989586621679845761 (TyFun a6989586621679845761 [a6989586621679845761] -> Type))
data EnumFromToSym1 (l_a3vDc :: a6989586621679845761) (l_a3vDb :: TyFun a6989586621679845761 [a6989586621679845761])
type EnumFromToSym2 (t_a3vD9 :: a6989586621679845761) (t_a3vDa :: a6989586621679845761) = EnumFromTo t_a3vD9 t_a3vDa
data EnumFromThenToSym0 (l_a3vDt :: TyFun a6989586621679845761 (TyFun a6989586621679845761 (TyFun a6989586621679845761 [a6989586621679845761] -> Type) -> Type))
data EnumFromThenToSym1 (l_a3vDr :: a6989586621679845761) (l_a3vDq :: TyFun a6989586621679845761 (TyFun a6989586621679845761 [a6989586621679845761] -> Type))
data EnumFromThenToSym2 (l_a3vDn :: a6989586621679845761) (l_a3vDo :: a6989586621679845761) (l_a3vDm :: TyFun a6989586621679845761 [a6989586621679845761])
type EnumFromThenToSym3 (t_a3vDj :: a6989586621679845761) (t_a3vDk :: a6989586621679845761) (t_a3vDl :: a6989586621679845761) = EnumFromThenTo t_a3vDj t_a3vDk t_a3vDl


-- | Defines promoted functions and datatypes relating to <a>Bool</a>,
--   including a promoted version of all the definitions in
--   <tt>Data.Bool</tt>.
--   
--   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 <tt>Data.Bool</tt>. Also, please excuse
--   the apparent repeated variable names. This is due to an interaction
--   between Template Haskell and Haddock.
module Data.Promotion.Prelude.Bool

-- | Type-level <a>If</a>. <tt>If True a b</tt> ==&gt; <tt>a</tt>; <tt>If
--   False a b</tt> ==&gt; <tt>b</tt>
bool_ :: a_a1bns -> a_a1bns -> Bool -> a_a1bns

-- | Type-level "not". An injective type family since <tt>4.10.0.0</tt>.

-- | Type-level "and"

-- | Type-level "or"
type TrueSym0 = True
type FalseSym0 = False
data NotSym0 (l_a1bC3 :: TyFun Bool Bool)
type NotSym1 (t_a1bC2 :: Bool) = Not t_a1bC2
data (&&@#@$) (l_a1bvX :: TyFun Bool (TyFun Bool Bool -> Type))
data (&&@#@$$) (l_a1bvV :: Bool) (l_a1bvU :: TyFun Bool Bool)
type (&&@#@$$$) (t_a1bvS :: Bool) (t_a1bvT :: Bool) = (&&) t_a1bvS t_a1bvT
data (||@#@$) (l_a1bz9 :: TyFun Bool (TyFun Bool Bool -> Type))
data (||@#@$$) (l_a1bz7 :: Bool) (l_a1bz6 :: TyFun Bool Bool)
type (||@#@$$$) (t_a1bz4 :: Bool) (t_a1bz5 :: Bool) = (||) t_a1bz4 t_a1bz5
data Bool_Sym0 (l_a1bnI :: TyFun a6989586621679291858 (TyFun a6989586621679291858 (TyFun Bool a6989586621679291858 -> Type) -> Type))
data Bool_Sym1 (l_a1bnG :: a6989586621679291858) (l_a1bnF :: TyFun a6989586621679291858 (TyFun Bool a6989586621679291858 -> Type))
data Bool_Sym2 (l_a1bnC :: a6989586621679291858) (l_a1bnD :: a6989586621679291858) (l_a1bnB :: TyFun Bool a6989586621679291858)
type Bool_Sym3 (t_a1bny :: a6989586621679291858) (t_a1bnz :: a6989586621679291858) (t_a1bnA :: Bool) = Bool_ t_a1bny t_a1bnz t_a1bnA
type OtherwiseSym0 = Otherwise


-- | This module exports the basic definitions to use singletons. For
--   routine use, consider importing <a>Prelude</a>, which exports
--   constructors for singletons based on types in the <tt>Prelude</tt>.
--   
--   You may also want to read the original papers presenting this library,
--   available at
--   <a>http://cs.brynmawr.edu/~rae/papers/2012/singletons/paper.pdf</a>
--   and
--   <a>http://cs.brynmawr.edu/~rae/papers/2014/promotion/promotion.pdf</a>.
module Data.Singletons

-- | The singleton kind-indexed data family.

-- | An infix synonym for <a>applySing</a>
(@@) :: forall (f :: k1 ~> k2) (t :: k1). Sing f -> Sing t -> Sing (f @@ t)
infixl 9 @@

-- | A <a>SingI</a> constraint is essentially an implicitly-passed
--   singleton. If you need to satisfy this constraint with an explicit
--   singleton, please see <a>withSingI</a> or the <a>Sing</a> pattern
--   synonym.
class SingI (a :: k)

-- | Produce the singleton explicitly. You will likely need the
--   <tt>ScopedTypeVariables</tt> extension to use this method the way you
--   want.
sing :: SingI a => Sing a

-- | The <a>SingKind</a> class is a <i>kind</i> class. It classifies all
--   kinds for which singletons are defined. The class supports converting
--   between a singleton type and the base (unrefined) type which it is
--   built from.
--   
--   For a <a>SingKind</a> instance to be well behaved, it should obey the
--   following laws:
--   
--   <pre>
--   <a>toSing</a> . <a>fromSing</a> ≡ <a>SomeSing</a>
--   (\x -&gt; <a>withSomeSing</a> x <a>fromSing</a>) ≡ <a>id</a>
--   </pre>
--   
--   The final law can also be expressed in terms of the <a>FromSing</a>
--   pattern synonym:
--   
--   <pre>
--   (\(<a>FromSing</a> sing) -&gt; <a>FromSing</a> sing) ≡ <a>id</a>
--   </pre>
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: <tt>type
--   KindOf (a :: k) = k</tt>
type KindOf (a :: k) = k

-- | Force GHC to unify the kinds of <tt>a</tt> and <tt>b</tt>. Note that
--   <tt>SameKind a b</tt> is different from <tt>KindOf a ~ KindOf b</tt>
--   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 <a>SingInstance</a> wraps up a <a>SingI</a> instance for explicit
--   handling.
data SingInstance (a :: k)
[SingInstance] :: SingI a => SingInstance a

-- | An <i>existentially-quantified</i> 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:
--   
--   <pre>
--   foo :: Bool -&gt; ...
--   foo b = case toSing b of
--             SomeSing sb -&gt; {- fancy dependently-typed code with sb -}
--   </pre>
--   
--   An example like the one above may be easier to write using
--   <a>withSomeSing</a>.
data SomeSing k
[SomeSing] :: Sing (a :: k) -> SomeSing k

-- | Get an implicit singleton (a <a>SingI</a> instance) from an explicit
--   one.
singInstance :: forall (a :: k). Sing a -> SingInstance a

-- | An explicitly bidirectional pattern synonym for implicit singletons.
--   
--   As an <b>expression</b>: Constructs a singleton <tt>Sing a</tt> given
--   a implicit singleton constraint <tt>SingI a</tt>.
--   
--   As a <b>pattern</b>: Matches on an explicit <tt>Sing a</tt> witness
--   bringing an implicit <tt>SingI a</tt> 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 <a>Bool</a>) 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 <b>expression</b>: this takes a singleton to its demoted (base)
--   type.
--   
--   <pre>
--   &gt;&gt;&gt; :t FromSing \@Bool
--   FromSing \@Bool :: Sing a -&gt; Bool
--   
--   &gt;&gt;&gt; FromSing SFalse
--   False
--   </pre>
--   
--   As a <b>pattern</b>: It extracts a singleton from its demoted (base)
--   type.
--   
--   <pre>
--   singAnd :: <a>Bool</a> -&gt; <a>Bool</a> -&gt; <a>SomeSing</a> <a>Bool</a>
--   singAnd (<a>FromSing</a> singBool1) (<a>FromSing</a> singBool2) =
--     <a>SomeSing</a> (singBool1 %&amp;&amp; singBool2)
--   </pre>
--   
--   instead of writing it with <a>withSomeSing</a>:
--   
--   <pre>
--   singAnd bool1 bool2 =
--     <a>withSomeSing</a> bool1 $ singBool1 -&gt;
--       <a>withSomeSing</a> bool2 $ singBool2 -&gt;
--         <a>SomeSing</a> (singBool1 %&amp;&amp; singBool2)
--   </pre>

-- | 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 <a>SingKind</a> and
--   <a>SingI</a> behind the scenes, so <tt><a>demote</a> = <a>fromSing</a>
--   <a>sing</a></tt>.
--   
--   This function is intended to be used with <tt>TypeApplications</tt>.
--   For example:
--   
--   <pre>
--   &gt;&gt;&gt; demote @True
--   True
--   </pre>
--   
--   <pre>
--   &gt;&gt;&gt; demote @(Nothing :: Maybe Ordering)
--   Nothing
--   </pre>
demote :: forall a. (SingKind (KindOf a), SingI a) => Demote (KindOf a)

-- | Allows creation of a singleton when a <tt>proxy#</tt> 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 <a>sing</a> could
--   potentially refer to a different singleton, and one has to use type
--   signatures (often with <tt>ScopedTypeVariables</tt>) 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 <a>Nothing</a>. 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 ~&gt; 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
--   <a>~&gt;</a>. For example, given:
--   
--   <pre>
--   data Nat = Zero | Succ Nat
--   type family Map (a :: a ~&gt; b) (a :: [a]) :: [b]
--     Map f '[] = '[]
--     Map f (x ': xs) = Apply f x ': Map f xs
--   </pre>
--   
--   We can write:
--   
--   <pre>
--   Map (TyCon1 Succ) [Zero, Succ Zero]
--   </pre>
type TyCon1 = (TyCon :: (k1 -> k2) -> (k1 ~> k2))

-- | Similar to <a>TyCon1</a>, 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 <a>TyCon1</a>, etc., types. This can be used
--   directly in place of any of the <tt>TyConN</tt> types, but it will
--   work only with <i>monomorphic</i> types. When GHC#14645 is fixed, this
--   should fully supersede the <tt>TyConN</tt> types.

-- | Type level function application

-- | An infix synonym for <a>Apply</a>
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:
--   
--   <pre>
--   falses = sMap (singFun1 @NotSym0 sNot)
--                 (STrue `SCons` STrue `SCons` SNil)
--   </pre>
--   
--   There are a family of <tt>singFun...</tt> 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 <a>singFun1</a>, and likewise for the other
--   <tt>unSingFun...</tt> 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)

-- | <a>Proxy</a> 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, <tt><a>Proxy</a> :: <a>Proxy</a> a</tt> is a safer
--   alternative to the <tt>'undefined :: a'</tt> idiom.
--   
--   <pre>
--   &gt;&gt;&gt; Proxy :: Proxy (Void, Int -&gt; Int)
--   Proxy
--   </pre>
--   
--   Proxy can even hold types of higher kinds,
--   
--   <pre>
--   &gt;&gt;&gt; Proxy :: Proxy Either
--   Proxy
--   </pre>
--   
--   <pre>
--   &gt;&gt;&gt; Proxy :: Proxy Functor
--   Proxy
--   </pre>
--   
--   <pre>
--   &gt;&gt;&gt; Proxy :: Proxy complicatedStructure
--   Proxy
--   </pre>
data Proxy (t :: k) :: forall k. () => k -> *
Proxy :: Proxy
data DemoteSym0 (l_a3Lh1 :: TyFun Type Type)
type DemoteSym1 (t_a3Lh0 :: Type) = Demote t_a3Lh0
data SameKindSym0 l_a3Lh8
data SameKindSym1 (l_a3Lh6 :: k6989586621679024562) l_a3Lh5
type SameKindSym2 (t_a3Lh3 :: k6989586621679024562) (t_a3Lh4 :: k6989586621679024562) = SameKind t_a3Lh3 t_a3Lh4
data KindOfSym0 l_a3Lhb
type KindOfSym1 (t_a3Lha :: k6989586621679024565) = KindOf t_a3Lha
data (~>@#@$) l_a3Lhi
data (~>@#@$$) (l_a3Lhg :: Type) l_a3Lhf
type (~>@#@$$$) (t_a3Lhd :: Type) (t_a3Lhe :: Type) = (~>) t_a3Lhd t_a3Lhe
data ApplySym0 (l_a3Lhp :: TyFun ((~>) k16989586621679022701 k26989586621679022702) (TyFun k16989586621679022701 k26989586621679022702 -> Type))
data ApplySym1 (l_a3Lhn :: (~>) k16989586621679022701 k26989586621679022702) (l_a3Lhm :: TyFun k16989586621679022701 k26989586621679022702)
type ApplySym2 (t_a3Lhk :: (~>) k16989586621679022701 k26989586621679022702) (t_a3Lhl :: k16989586621679022701) = Apply t_a3Lhk t_a3Lhl
data (@@@#@$) l_a3Lhw
data (@@@#@$$) (l_a3Lhu :: (~>) k16989586621679028796 k6989586621679028795) l_a3Lht
type (@@@#@$$$) (t_a3Lhr :: (~>) k16989586621679028796 k6989586621679028795) (t_a3Lhs :: k16989586621679028796) = (@@) t_a3Lhr t_a3Lhs
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 <tt>-XScopedTypeVariables</tt> 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
--   <a>https://github.com/goldfirere/singletons/blob/master/README.md</a>
--   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
--   
--   <pre>
--   $(genSingletons [''Bool, ''Maybe, ''Either, ''[]])
--   </pre>
--   
--   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 <tt>(==)</tt> (type-level equality) from the
--   given types
promoteEqInstances :: DsMonad q => [Name] -> q [Dec]

-- | Produce an instance for <tt>(==)</tt> (type-level equality) from the
--   given type
promoteEqInstance :: DsMonad q => Name -> q [Dec]

-- | Create instances of <tt>SEq</tt> and type-level <tt>(==)</tt> for each
--   type in the list
singEqInstances :: DsMonad q => [Name] -> q [Dec]

-- | Create instance of <tt>SEq</tt> and type-level <tt>(==)</tt> for the
--   given type
singEqInstance :: DsMonad q => Name -> q [Dec]

-- | Create instances of <tt>SEq</tt> (only -- no instance for
--   <tt>(==)</tt>, which <tt>SEq</tt> generally relies on) for each type
--   in the list
singEqInstancesOnly :: DsMonad q => [Name] -> q [Dec]

-- | Create instances of <tt>SEq</tt> (only -- no instance for
--   <tt>(==)</tt>, which <tt>SEq</tt> generally relies on) for the given
--   type
singEqInstanceOnly :: DsMonad q => Name -> q [Dec]

-- | Create instances of <tt>SDecide</tt> for each type in the list.
singDecideInstances :: DsMonad q => [Name] -> q [Dec]

-- | Create instance of <tt>SDecide</tt> for the given type.
singDecideInstance :: DsMonad q => Name -> q [Dec]

-- | Produce instances for <tt>POrd</tt> from the given types
promoteOrdInstances :: DsMonad q => [Name] -> q [Dec]

-- | Produce an instance for <tt>POrd</tt> from the given type
promoteOrdInstance :: DsMonad q => Name -> q [Dec]

-- | Create instances of <tt>SOrd</tt> for the given types
singOrdInstances :: DsMonad q => [Name] -> q [Dec]

-- | Create instance of <tt>SOrd</tt> for the given type
singOrdInstance :: DsMonad q => Name -> q [Dec]

-- | Produce instances for <tt>PBounded</tt> from the given types
promoteBoundedInstances :: DsMonad q => [Name] -> q [Dec]

-- | Produce an instance for <tt>PBounded</tt> from the given type
promoteBoundedInstance :: DsMonad q => Name -> q [Dec]

-- | Create instances of <tt>SBounded</tt> for the given types
singBoundedInstances :: DsMonad q => [Name] -> q [Dec]

-- | Create instance of <tt>SBounded</tt> for the given type
singBoundedInstance :: DsMonad q => Name -> q [Dec]

-- | Produce instances for <tt>PEnum</tt> from the given types
promoteEnumInstances :: DsMonad q => [Name] -> q [Dec]

-- | Produce an instance for <tt>PEnum</tt> from the given type
promoteEnumInstance :: DsMonad q => Name -> q [Dec]

-- | Create instances of <tt>SEnum</tt> for the given types
singEnumInstances :: DsMonad q => [Name] -> q [Dec]

-- | Create instance of <tt>SEnum</tt> for the given type
singEnumInstance :: DsMonad q => Name -> q [Dec]

-- | Produce instances for <tt>PShow</tt> from the given types
promoteShowInstances :: DsMonad q => [Name] -> q [Dec]

-- | Produce an instance for <tt>PShow</tt> from the given type
promoteShowInstance :: DsMonad q => Name -> q [Dec]

-- | Create instances of <tt>SShow</tt> for the given types
--   
--   (Not to be confused with <a>showSingInstances</a>.)
singShowInstances :: DsMonad q => [Name] -> q [Dec]

-- | Create instance of <tt>SShow</tt> for the given type
--   
--   (Not to be confused with <tt>showShowInstance</tt>.)
singShowInstance :: DsMonad q => Name -> q [Dec]

-- | The function <a>cases</a> 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 <a>sCases</a> 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 <a>sCases</a>, unlike <a>cases</a>, the scrutinee is a
--   singleton. But make sure to pass in the name of the <i>original</i>
--   datatype, preferring <tt>''Maybe</tt> over <tt>''SMaybe</tt>.
sCases :: DsMonad q => Name -> q Exp -> q Exp -> q Exp

-- | The singleton kind-indexed data family.

-- | The promoted analogue of <a>Eq</a>. If you supply no definition for
--   '(==)', then it defaults to a use of '(DTE.==)', from
--   <a>Data.Type.Equality</a>.
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 <a>If</a>. <tt>If True a b</tt> ==&gt; <tt>a</tt>; <tt>If
--   False a b</tt> ==&gt; <tt>b</tt>

-- | 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 <a>Eq</a>. Unlike the definition for
--   <a>Eq</a>, 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_a1eUq => POrd (a_a1eUq :: Type) where {
    type family Compare (arg_a1flu :: a_a1eUq) (arg_a1flv :: a_a1eUq) :: Ordering;
    type family (<) (arg_a1flD :: a_a1eUq) (arg_a1flE :: a_a1eUq) :: Bool;
    type family (<=) (arg_a1flM :: a_a1eUq) (arg_a1flN :: a_a1eUq) :: Bool;
    type family (>) (arg_a1flV :: a_a1eUq) (arg_a1flW :: a_a1eUq) :: Bool;
    type family (>=) (arg_a1fm4 :: a_a1eUq) (arg_a1fm5 :: a_a1eUq) :: Bool;
    type family Max (arg_a1fmd :: a_a1eUq) (arg_a1fme :: a_a1eUq) :: a_a1eUq;
    type family Min (arg_a1fmm :: a_a1eUq) (arg_a1fmn :: a_a1eUq) :: a_a1eUq;
    type Compare a_a1fn2 a_a1fn3 =
        Apply (Apply Compare_6989586621679307210Sym0 a_a1fn2) a_a1fn3;
    type (<) a_a1fnz a_a1fnA =
        Apply (Apply TFHelper_6989586621679307243Sym0 a_a1fnz) a_a1fnA;
    type (<=) a_a1fo6 a_a1fo7 =
        Apply (Apply TFHelper_6989586621679307276Sym0 a_a1fo6) a_a1fo7;
    type (>) a_a1foD a_a1foE =
        Apply (Apply TFHelper_6989586621679307309Sym0 a_a1foD) a_a1foE;
    type (>=) a_a1fpa a_a1fpb =
        Apply (Apply TFHelper_6989586621679307342Sym0 a_a1fpa) a_a1fpb;
    type Max a_a1fpH a_a1fpI =
        Apply (Apply Max_6989586621679307375Sym0 a_a1fpH) a_a1fpI;
    type Min a_a1fqe a_a1fqf =
        Apply (Apply Min_6989586621679307408Sym0 a_a1fqe) a_a1fqf;
}
class SEq a_a1eUq => SOrd a_a1eUq
sCompare :: forall (t_a1fqv :: a_a1eUq) (t_a1fqw :: a_a1eUq). SOrd a_a1eUq => Sing t_a1fqv -> Sing t_a1fqw -> Sing (Apply (Apply CompareSym0 t_a1fqv) t_a1fqw :: Ordering)
(%<) :: forall (t_a1fqx :: a_a1eUq) (t_a1fqy :: a_a1eUq). SOrd a_a1eUq => Sing t_a1fqx -> Sing t_a1fqy -> Sing (Apply (Apply (<@#@$) t_a1fqx) t_a1fqy :: Bool)
(%<=) :: forall (t_a1fqz :: a_a1eUq) (t_a1fqA :: a_a1eUq). SOrd a_a1eUq => Sing t_a1fqz -> Sing t_a1fqA -> Sing (Apply (Apply (<=@#@$) t_a1fqz) t_a1fqA :: Bool)
(%>) :: forall (t_a1fqB :: a_a1eUq) (t_a1fqC :: a_a1eUq). SOrd a_a1eUq => Sing t_a1fqB -> Sing t_a1fqC -> Sing (Apply (Apply (>@#@$) t_a1fqB) t_a1fqC :: Bool)
(%>=) :: forall (t_a1fqD :: a_a1eUq) (t_a1fqE :: a_a1eUq). SOrd a_a1eUq => Sing t_a1fqD -> Sing t_a1fqE -> Sing (Apply (Apply (>=@#@$) t_a1fqD) t_a1fqE :: Bool)
sMax :: forall (t_a1fqF :: a_a1eUq) (t_a1fqG :: a_a1eUq). SOrd a_a1eUq => Sing t_a1fqF -> Sing t_a1fqG -> Sing (Apply (Apply MaxSym0 t_a1fqF) t_a1fqG :: a_a1eUq)
sMin :: forall (t_a1fqH :: a_a1eUq) (t_a1fqI :: a_a1eUq). SOrd a_a1eUq => Sing t_a1fqH -> Sing t_a1fqI -> Sing (Apply (Apply MinSym0 t_a1fqH) t_a1fqI :: a_a1eUq)
sCompare :: forall (t_a1fqv :: a_a1eUq) (t_a1fqw :: a_a1eUq). (SOrd a_a1eUq, (Apply (Apply CompareSym0 t_a1fqv) t_a1fqw :: Ordering) ~ Apply (Apply Compare_6989586621679307210Sym0 t_a1fqv) t_a1fqw) => Sing t_a1fqv -> Sing t_a1fqw -> Sing (Apply (Apply CompareSym0 t_a1fqv) t_a1fqw :: Ordering)
(%<) :: forall (t_a1fqx :: a_a1eUq) (t_a1fqy :: a_a1eUq). (SOrd a_a1eUq, (Apply (Apply (<@#@$) t_a1fqx) t_a1fqy :: Bool) ~ Apply (Apply TFHelper_6989586621679307243Sym0 t_a1fqx) t_a1fqy) => Sing t_a1fqx -> Sing t_a1fqy -> Sing (Apply (Apply (<@#@$) t_a1fqx) t_a1fqy :: Bool)
(%<=) :: forall (t_a1fqz :: a_a1eUq) (t_a1fqA :: a_a1eUq). (SOrd a_a1eUq, (Apply (Apply (<=@#@$) t_a1fqz) t_a1fqA :: Bool) ~ Apply (Apply TFHelper_6989586621679307276Sym0 t_a1fqz) t_a1fqA) => Sing t_a1fqz -> Sing t_a1fqA -> Sing (Apply (Apply (<=@#@$) t_a1fqz) t_a1fqA :: Bool)
(%>) :: forall (t_a1fqB :: a_a1eUq) (t_a1fqC :: a_a1eUq). (SOrd a_a1eUq, (Apply (Apply (>@#@$) t_a1fqB) t_a1fqC :: Bool) ~ Apply (Apply TFHelper_6989586621679307309Sym0 t_a1fqB) t_a1fqC) => Sing t_a1fqB -> Sing t_a1fqC -> Sing (Apply (Apply (>@#@$) t_a1fqB) t_a1fqC :: Bool)
(%>=) :: forall (t_a1fqD :: a_a1eUq) (t_a1fqE :: a_a1eUq). (SOrd a_a1eUq, (Apply (Apply (>=@#@$) t_a1fqD) t_a1fqE :: Bool) ~ Apply (Apply TFHelper_6989586621679307342Sym0 t_a1fqD) t_a1fqE) => Sing t_a1fqD -> Sing t_a1fqE -> Sing (Apply (Apply (>=@#@$) t_a1fqD) t_a1fqE :: Bool)
sMax :: forall (t_a1fqF :: a_a1eUq) (t_a1fqG :: a_a1eUq). (SOrd a_a1eUq, (Apply (Apply MaxSym0 t_a1fqF) t_a1fqG :: a_a1eUq) ~ Apply (Apply Max_6989586621679307375Sym0 t_a1fqF) t_a1fqG) => Sing t_a1fqF -> Sing t_a1fqG -> Sing (Apply (Apply MaxSym0 t_a1fqF) t_a1fqG :: a_a1eUq)
sMin :: forall (t_a1fqH :: a_a1eUq) (t_a1fqI :: a_a1eUq). (SOrd a_a1eUq, (Apply (Apply MinSym0 t_a1fqH) t_a1fqI :: a_a1eUq) ~ Apply (Apply Min_6989586621679307408Sym0 t_a1fqH) t_a1fqI) => Sing t_a1fqH -> Sing t_a1fqI -> Sing (Apply (Apply MinSym0 t_a1fqH) t_a1fqI :: a_a1eUq)
sThenCmp :: forall (t_a1h9h :: Ordering) (t_a1h9i :: Ordering). Sing t_a1h9h -> Sing t_a1h9i -> Sing (Apply (Apply ThenCmpSym0 t_a1h9h) t_a1h9i :: Ordering)
sFoldl :: forall (t_a13u7 :: TyFun b_a13sL (TyFun a_a13sK b_a13sL -> Type) -> Type) (t_a13u8 :: b_a13sL) (t_a13u9 :: [a_a13sK]). Sing t_a13u7 -> Sing t_a13u8 -> Sing t_a13u9 -> Sing (Apply (Apply (Apply FoldlSym0 t_a13u7) t_a13u8) t_a13u9 :: b_a13sL)

-- | Members of the <a>SDecide</a> "kind" class support decidable equality.
--   Instances of this class are generated alongside singleton definitions
--   for datatypes that derive an <a>Eq</a> 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 <tt>a :~: b</tt> is inhabited by some
--   terminating value, then the type <tt>a</tt> is the same as the type
--   <tt>b</tt>. To use this equality in practice, pattern-match on the
--   <tt>a :~: b</tt> to get out the <tt>Refl</tt> constructor; in the body
--   of the pattern-match, the compiler knows that <tt>a ~ b</tt>.
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 <a>Void</a>, a function
--   that type-checks at <tt>a -&gt; Void</tt> shows that objects of type
--   <tt>a</tt> can never exist. Thus, we say that <tt>a</tt> is
--   <a>Refuted</a>
type Refuted a = (a -> Void)

-- | A <a>Decision</a> about a type <tt>a</tt> is either a proof of
--   existence or a proof that <tt>a</tt> cannot exist.
data Decision a

-- | Witness for <tt>a</tt>
Proved :: a -> Decision a

-- | Proof that no <tt>a</tt> exists
Disproved :: (Refuted a) -> Decision a
class PBounded (a_a3uqO :: Type) where {
    type family MinBound :: a_a3uqO;
    type family MaxBound :: a_a3uqO;
}
class SBounded a_a3uqO
sMinBound :: SBounded a_a3uqO => Sing (MinBoundSym0 :: a_a3uqO)
sMaxBound :: SBounded a_a3uqO => Sing (MaxBoundSym0 :: a_a3uqO)
class PEnum (a_a3vtn :: Type) where {
    type family ToEnum (arg_a3vCZ :: Nat) :: a_a3vtn;
    type family FromEnum (arg_a3vD3 :: a_a3vtn) :: Nat;
    type Succ a_a3vDN = Apply Succ_6989586621679846408Sym0 a_a3vDN;
    type Pred a_a3vE0 = Apply Pred_6989586621679846421Sym0 a_a3vE0;
    type EnumFromTo a_a3vEh a_a3vEi =
        Apply (Apply EnumFromTo_6989586621679846439Sym0 a_a3vEh) a_a3vEi;
    type EnumFromThenTo a_a3vEK a_a3vEL a_a3vEM =
        Apply (Apply (Apply EnumFromThenTo_6989586621679846469Sym0 a_a3vEK) a_a3vEL) a_a3vEM;
}
class SEnum a_a3vtn
sToEnum :: forall (t_a3vHm :: Nat). SEnum a_a3vtn => Sing t_a3vHm -> Sing (Apply ToEnumSym0 t_a3vHm :: a_a3vtn)
sFromEnum :: forall (t_a3vHn :: a_a3vtn). SEnum a_a3vtn => Sing t_a3vHn -> Sing (Apply FromEnumSym0 t_a3vHn :: Nat)
class PShow (a_a2N1c :: Type) where {
    type family ShowsPrec (arg_a2NxQ :: Nat) (arg_a2NxR :: a_a2N1c) (arg_a2NxS :: Symbol) :: Symbol;
    type family Show_ (arg_a2Ny5 :: a_a2N1c) :: Symbol;
    type family ShowList (arg_a2Ny9 :: [a_a2N1c]) (arg_a2Nya :: Symbol) :: Symbol;
    type ShowsPrec a_a2Nyz a_a2NyA a_a2NyB =
        Apply (Apply (Apply ShowsPrec_6989586621679676950Sym0 a_a2Nyz) a_a2NyA) a_a2NyB;
    type Show_ a_a2NyV = Apply Show__6989586621679676970Sym0 a_a2NyV;
    type ShowList a_a2Nzc a_a2Nzd =
        Apply (Apply ShowList_6989586621679676988Sym0 a_a2Nzc) a_a2Nzd;
}
class SShow a_a2N1c
sShowsPrec :: forall (t_a2NEO :: Nat) (t_a2NEP :: a_a2N1c) (t_a2NEQ :: Symbol). SShow a_a2N1c => Sing t_a2NEO -> Sing t_a2NEP -> Sing t_a2NEQ -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a2NEO) t_a2NEP) t_a2NEQ :: Symbol)
sShow_ :: forall (t_a2NER :: a_a2N1c). SShow a_a2N1c => Sing t_a2NER -> Sing (Apply Show_Sym0 t_a2NER :: Symbol)
sShowList :: forall (t_a2NES :: [a_a2N1c]) (t_a2NET :: Symbol). SShow a_a2N1c => Sing t_a2NES -> Sing t_a2NET -> Sing (Apply (Apply ShowListSym0 t_a2NES) t_a2NET :: Symbol)
sShowsPrec :: forall (t_a2NEO :: Nat) (t_a2NEP :: a_a2N1c) (t_a2NEQ :: Symbol). (SShow a_a2N1c, (Apply (Apply (Apply ShowsPrecSym0 t_a2NEO) t_a2NEP) t_a2NEQ :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621679676950Sym0 t_a2NEO) t_a2NEP) t_a2NEQ) => Sing t_a2NEO -> Sing t_a2NEP -> Sing t_a2NEQ -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a2NEO) t_a2NEP) t_a2NEQ :: Symbol)
sShow_ :: forall (t_a2NER :: a_a2N1c). (SShow a_a2N1c, (Apply Show_Sym0 t_a2NER :: Symbol) ~ Apply Show__6989586621679676970Sym0 t_a2NER) => Sing t_a2NER -> Sing (Apply Show_Sym0 t_a2NER :: Symbol)
sShowList :: forall (t_a2NES :: [a_a2N1c]) (t_a2NET :: Symbol). (SShow a_a2N1c, (Apply (Apply ShowListSym0 t_a2NES) t_a2NET :: Symbol) ~ Apply (Apply ShowList_6989586621679676988Sym0 t_a2NES) t_a2NET) => Sing t_a2NES -> Sing t_a2NET -> Sing (Apply (Apply ShowListSym0 t_a2NES) t_a2NET :: Symbol)
sShowString :: forall (t_a2NEf :: Symbol) (t_a2NEg :: Symbol). Sing t_a2NEf -> Sing t_a2NEg -> Sing (Apply (Apply ShowStringSym0 t_a2NEf) t_a2NEg :: Symbol)
sShowParen :: forall (t_a2NEk :: Bool) (t_a2NEl :: TyFun Symbol Symbol -> Type) (t_a2NEm :: Symbol). Sing t_a2NEk -> Sing t_a2NEl -> Sing t_a2NEm -> Sing (Apply (Apply (Apply ShowParenSym0 t_a2NEk) t_a2NEl) t_a2NEm :: Symbol)
sShowSpace :: forall (t_a2NEe :: Symbol). Sing t_a2NEe -> Sing (Apply ShowSpaceSym0 t_a2NEe :: Symbol)
sShowChar :: forall (t_a2NEi :: Symbol) (t_a2NEj :: Symbol). Sing t_a2NEi -> Sing t_a2NEj -> Sing (Apply (Apply ShowCharSym0 t_a2NEi) t_a2NEj :: Symbol)
sShowCommaSpace :: forall (t_a2NEh :: Symbol). Sing t_a2NEh -> Sing (Apply ShowCommaSpaceSym0 t_a2NEh :: Symbol)
(%.) :: forall (t_a1JqA :: TyFun b_a1JlA c_a1JlB -> Type) (t_a1JqB :: TyFun a_a1JlC b_a1JlA -> Type) (t_a1JqC :: a_a1JlC). Sing t_a1JqA -> Sing t_a1JqB -> Sing t_a1JqC -> Sing (Apply (Apply (Apply (.@#@$) t_a1JqA) t_a1JqB) t_a1JqC :: c_a1JlB)
infixr 9 %.

-- | An <i>existentially-quantified</i> 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:
--   
--   <pre>
--   foo :: Bool -&gt; ...
--   foo b = case toSing b of
--             SomeSing sb -&gt; {- fancy dependently-typed code with sb -}
--   </pre>
--   
--   An example like the one above may be easier to write using
--   <a>withSomeSing</a>.
data SomeSing k
[SomeSing] :: Sing (a :: k) -> SomeSing k

-- | The promotion of <a>error</a>. This version is more poly-kinded for
--   easier use.

-- | The singleton for <a>error</a>
sError :: Sing (str :: Symbol) -> a
data ErrorSym0 (l_a1yRO :: TyFun k06989586621679381217 k6989586621679381218)
type ErrorSym1 (t_a1yRN :: k06989586621679381217) = Error t_a1yRN

-- | The promotion of <a>undefined</a>.

-- | The singleton for <a>undefined</a>.
sUndefined :: a
type UndefinedSym0 = Undefined
type TrueSym0 = True
type FalseSym0 = False
data (==@#@$) (l_a1c3n :: TyFun a6989586621679294390 (TyFun a6989586621679294390 Bool -> Type))
data (==@#@$$) (l_a1c3l :: a6989586621679294390) (l_a1c3k :: TyFun a6989586621679294390 Bool)
type (==@#@$$$) (t_a1c3i :: a6989586621679294390) (t_a1c3j :: a6989586621679294390) = (==) t_a1c3i t_a1c3j
data (>@#@$) (l_a1fm2 :: TyFun a6989586621679305434 (TyFun a6989586621679305434 Bool -> Type))
data (>@#@$$) (l_a1fm0 :: a6989586621679305434) (l_a1flZ :: TyFun a6989586621679305434 Bool)
type (>@#@$$$) (t_a1flX :: a6989586621679305434) (t_a1flY :: a6989586621679305434) = (>) t_a1flX t_a1flY
type LTSym0 = LT
type EQSym0 = EQ
type GTSym0 = GT
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_a10vX :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_a10vV :: a3530822107858468865) (l_a10vU :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_a10vS :: a3530822107858468865) (t_a10vT :: b3530822107858468866) = '(t_a10vS, t_a10vT)
data Tuple3Sym0 (l_a10wn :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_a10wl :: a3530822107858468865) (l_a10wk :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_a10wh :: a3530822107858468865) (l_a10wi :: b3530822107858468866) (l_a10wg :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_a10wd :: a3530822107858468865) (t_a10we :: b3530822107858468866) (t_a10wf :: c3530822107858468867) = '(t_a10wd, t_a10we, t_a10wf)
data Tuple4Sym0 (l_a10wY :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_a10wW :: a3530822107858468865) (l_a10wV :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_a10wS :: a3530822107858468865) (l_a10wT :: b3530822107858468866) (l_a10wR :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_a10wN :: a3530822107858468865) (l_a10wO :: b3530822107858468866) (l_a10wP :: c3530822107858468867) (l_a10wM :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_a10wI :: a3530822107858468865) (t_a10wJ :: b3530822107858468866) (t_a10wK :: c3530822107858468867) (t_a10wL :: d3530822107858468868) = '(t_a10wI, t_a10wJ, t_a10wK, t_a10wL)
data Tuple5Sym0 (l_a10xL :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_a10xJ :: a3530822107858468865) (l_a10xI :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_a10xF :: a3530822107858468865) (l_a10xG :: b3530822107858468866) (l_a10xE :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_a10xA :: a3530822107858468865) (l_a10xB :: b3530822107858468866) (l_a10xC :: c3530822107858468867) (l_a10xz :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_a10xu :: a3530822107858468865) (l_a10xv :: b3530822107858468866) (l_a10xw :: c3530822107858468867) (l_a10xx :: d3530822107858468868) (l_a10xt :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_a10xo :: a3530822107858468865) (t_a10xp :: b3530822107858468866) (t_a10xq :: c3530822107858468867) (t_a10xr :: d3530822107858468868) (t_a10xs :: e3530822107858468869) = '(t_a10xo, t_a10xp, t_a10xq, t_a10xr, t_a10xs)
data Tuple6Sym0 (l_a10yL :: 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_a10yJ :: a3530822107858468865) (l_a10yI :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_a10yF :: a3530822107858468865) (l_a10yG :: b3530822107858468866) (l_a10yE :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_a10yA :: a3530822107858468865) (l_a10yB :: b3530822107858468866) (l_a10yC :: c3530822107858468867) (l_a10yz :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_a10yu :: a3530822107858468865) (l_a10yv :: b3530822107858468866) (l_a10yw :: c3530822107858468867) (l_a10yx :: d3530822107858468868) (l_a10yt :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_a10yn :: a3530822107858468865) (l_a10yo :: b3530822107858468866) (l_a10yp :: c3530822107858468867) (l_a10yq :: d3530822107858468868) (l_a10yr :: e3530822107858468869) (l_a10ym :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_a10yg :: a3530822107858468865) (t_a10yh :: b3530822107858468866) (t_a10yi :: c3530822107858468867) (t_a10yj :: d3530822107858468868) (t_a10yk :: e3530822107858468869) (t_a10yl :: f3530822107858468870) = '(t_a10yg, t_a10yh, t_a10yi, t_a10yj, t_a10yk, t_a10yl)
data Tuple7Sym0 (l_a10zZ :: 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_a10zX :: a3530822107858468865) (l_a10zW :: 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_a10zT :: a3530822107858468865) (l_a10zU :: b3530822107858468866) (l_a10zS :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_a10zO :: a3530822107858468865) (l_a10zP :: b3530822107858468866) (l_a10zQ :: c3530822107858468867) (l_a10zN :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_a10zI :: a3530822107858468865) (l_a10zJ :: b3530822107858468866) (l_a10zK :: c3530822107858468867) (l_a10zL :: d3530822107858468868) (l_a10zH :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_a10zB :: a3530822107858468865) (l_a10zC :: b3530822107858468866) (l_a10zD :: c3530822107858468867) (l_a10zE :: d3530822107858468868) (l_a10zF :: e3530822107858468869) (l_a10zA :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_a10zt :: a3530822107858468865) (l_a10zu :: b3530822107858468866) (l_a10zv :: c3530822107858468867) (l_a10zw :: d3530822107858468868) (l_a10zx :: e3530822107858468869) (l_a10zy :: f3530822107858468870) (l_a10zs :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_a10zl :: a3530822107858468865) (t_a10zm :: b3530822107858468866) (t_a10zn :: c3530822107858468867) (t_a10zo :: d3530822107858468868) (t_a10zp :: e3530822107858468869) (t_a10zq :: f3530822107858468870) (t_a10zr :: g3530822107858468871) = '(t_a10zl, t_a10zm, t_a10zn, t_a10zo, t_a10zp, t_a10zq, t_a10zr)
data CompareSym0 (l_a1flB :: TyFun a6989586621679305434 (TyFun a6989586621679305434 Ordering -> Type))
data CompareSym1 (l_a1flz :: a6989586621679305434) (l_a1fly :: TyFun a6989586621679305434 Ordering)
type CompareSym2 (t_a1flw :: a6989586621679305434) (t_a1flx :: a6989586621679305434) = Compare t_a1flw t_a1flx
data ThenCmpSym0 (l_a1h9c :: TyFun Ordering (TyFun Ordering Ordering -> Type))
data ThenCmpSym1 (l_a1h9a :: Ordering) (l_a1h99 :: TyFun Ordering Ordering)
type ThenCmpSym2 (t_a1h97 :: Ordering) (t_a1h98 :: Ordering) = ThenCmp t_a1h97 t_a1h98
data FoldlSym0 (l_a13tt :: TyFun (TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (TyFun b6989586621679261435 (TyFun [a6989586621679261434] b6989586621679261435 -> Type) -> Type))
data FoldlSym1 (l_a13tr :: TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (l_a13tq :: TyFun b6989586621679261435 (TyFun [a6989586621679261434] b6989586621679261435 -> Type))
data FoldlSym2 (l_a13tn :: TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (l_a13to :: b6989586621679261435) (l_a13tm :: TyFun [a6989586621679261434] b6989586621679261435)
type FoldlSym3 (t_a13tj :: TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (t_a13tk :: b6989586621679261435) (t_a13tl :: [a6989586621679261434]) = Foldl t_a13tj t_a13tk t_a13tl
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data ShowsPrecSym0 (l_a2Ny3 :: TyFun Nat (TyFun a6989586621679674878 (TyFun Symbol Symbol -> Type) -> Type))
data ShowsPrecSym1 (l_a2Ny1 :: Nat) (l_a2Ny0 :: TyFun a6989586621679674878 (TyFun Symbol Symbol -> Type))
data ShowsPrecSym2 (l_a2NxX :: Nat) (l_a2NxY :: a6989586621679674878) (l_a2NxW :: TyFun Symbol Symbol)
type ShowsPrecSym3 (t_a2NxT :: Nat) (t_a2NxU :: a6989586621679674878) (t_a2NxV :: Symbol) = ShowsPrec t_a2NxT t_a2NxU t_a2NxV
data ShowStringSym0 (l_a2Nvq :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowStringSym1 (l_a2Nvo :: Symbol) (l_a2Nvn :: TyFun Symbol Symbol)
type ShowStringSym2 (t_a2Nvl :: Symbol) (t_a2Nvm :: Symbol) = ShowString t_a2Nvl t_a2Nvm
data ShowParenSym0 (l_a2Nw2 :: TyFun Bool (TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type) -> Type))
data ShowParenSym1 (l_a2Nw0 :: Bool) (l_a2NvZ :: TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type))
data ShowParenSym2 (l_a2NvW :: Bool) (l_a2NvX :: TyFun Symbol Symbol -> Type) (l_a2NvV :: TyFun Symbol Symbol)
data ShowSpaceSym0 (l_a2Nv2 :: TyFun Symbol Symbol)
type ShowSpaceSym1 (t_a2Nv1 :: Symbol) = ShowSpace t_a2Nv1
data ShowCharSym0 (l_a2NvM :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowCharSym1 (l_a2NvK :: Symbol) (l_a2NvJ :: TyFun Symbol Symbol)
type ShowCharSym2 (t_a2NvH :: Symbol) (t_a2NvI :: Symbol) = ShowChar t_a2NvH t_a2NvI
data ShowCommaSpaceSym0 (l_a2Nvz :: TyFun Symbol Symbol)
type ShowCommaSpaceSym1 (t_a2Nvy :: Symbol) = ShowCommaSpace t_a2Nvy
data (.@#@$) (l_a1Jom :: TyFun (TyFun b6989586621679422438 c6989586621679422439 -> Type) (TyFun (TyFun a6989586621679422440 b6989586621679422438 -> Type) (TyFun a6989586621679422440 c6989586621679422439 -> Type) -> Type))
data (.@#@$$) (l_a1Jok :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (l_a1Joj :: TyFun (TyFun a6989586621679422440 b6989586621679422438 -> Type) (TyFun a6989586621679422440 c6989586621679422439 -> Type))
data (.@#@$$$) (l_a1Jog :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (l_a1Joh :: TyFun a6989586621679422440 b6989586621679422438 -> Type) (l_a1Jof :: TyFun a6989586621679422440 c6989586621679422439)
type (.@#@$$$$) (t_a1Joc :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (t_a1Jod :: TyFun a6989586621679422440 b6989586621679422438 -> Type) (t_a1Joe :: a6989586621679422440) = (:.) t_a1Joc t_a1Jod t_a1Joe
data (:@#@$) (l_a10uS :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:@#@$$) (l_a10uQ :: a3530822107858468865) (l_a10uP :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:@#@$$$) (t_a10uN :: a3530822107858468865) (t_a10uO :: [a3530822107858468865]) = (:) t_a10uN t_a10uO

-- | 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
--   <a>Either</a>, including a singletons version of all the definitions
--   in <tt>Data.Either</tt>.
--   
--   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 <tt>Data.Either</tt>. 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_aiA1 b_aiA2 -> Type)
either_ :: (a_a3Np5 -> c_a3Np6) -> (b_a3Np7 -> c_a3Np6) -> Either a_a3Np5 b_a3Np7 -> c_a3Np6
sEither_ :: forall (t_a3NpY :: TyFun a_a3Np5 c_a3Np6 -> Type) (t_a3NpZ :: TyFun b_a3Np7 c_a3Np6 -> Type) (t_a3Nq0 :: Either a_a3Np5 b_a3Np7). Sing t_a3NpY -> Sing t_a3NpZ -> Sing t_a3Nq0 -> Sing (Apply (Apply (Apply Either_Sym0 t_a3NpY) t_a3NpZ) t_a3Nq0 :: c_a3Np6)
sLefts :: forall (t_a3NOi :: [Either a_a3NHp b_a3NHq]). Sing t_a3NOi -> Sing (Apply LeftsSym0 t_a3NOi :: [a_a3NHp])
sRights :: forall (t_a3NOh :: [Either a_a3NHn b_a3NHo]). Sing t_a3NOh -> Sing (Apply RightsSym0 t_a3NOh :: [b_a3NHo])
sPartitionEithers :: forall (t_a3NOg :: [Either a_a3NHl b_a3NHm]). Sing t_a3NOg -> Sing (Apply PartitionEithersSym0 t_a3NOg :: ([a_a3NHl], [b_a3NHm]))
sIsLeft :: forall (t_a3NOf :: Either a_a3NHj b_a3NHk). Sing t_a3NOf -> Sing (Apply IsLeftSym0 t_a3NOf :: Bool)
sIsRight :: forall (t_a3NOe :: Either a_a3NHh b_a3NHi). Sing t_a3NOe -> Sing (Apply IsRightSym0 t_a3NOe :: Bool)
data LeftSym0 (l_a10va :: TyFun a6989586621679081217 (Either a6989586621679081217 b6989586621679081218))
type LeftSym1 (t_a10v9 :: a6989586621679081217) = Left t_a10v9
data RightSym0 (l_a10vd :: TyFun b6989586621679081218 (Either a6989586621679081217 b6989586621679081218))
type RightSym1 (t_a10vc :: b6989586621679081218) = Right t_a10vc
data Either_Sym0 (l_a3NpP :: TyFun (TyFun a6989586621679914687 c6989586621679914688 -> Type) (TyFun (TyFun b6989586621679914689 c6989586621679914688 -> Type) (TyFun (Either a6989586621679914687 b6989586621679914689) c6989586621679914688 -> Type) -> Type))
data Either_Sym1 (l_a3NpN :: TyFun a6989586621679914687 c6989586621679914688 -> Type) (l_a3NpM :: TyFun (TyFun b6989586621679914689 c6989586621679914688 -> Type) (TyFun (Either a6989586621679914687 b6989586621679914689) c6989586621679914688 -> Type))
data Either_Sym2 (l_a3NpJ :: TyFun a6989586621679914687 c6989586621679914688 -> Type) (l_a3NpK :: TyFun b6989586621679914689 c6989586621679914688 -> Type) (l_a3NpI :: TyFun (Either a6989586621679914687 b6989586621679914689) c6989586621679914688)
type Either_Sym3 (t_a3NpF :: TyFun a6989586621679914687 c6989586621679914688 -> Type) (t_a3NpG :: TyFun b6989586621679914689 c6989586621679914688 -> Type) (t_a3NpH :: Either a6989586621679914687 b6989586621679914689) = Either_ t_a3NpF t_a3NpG t_a3NpH
data LeftsSym0 (l_a3NO8 :: TyFun [Either a6989586621679915823 b6989586621679915824] [a6989586621679915823])
type LeftsSym1 (t_a3NO7 :: [Either a6989586621679915823 b6989586621679915824]) = Lefts t_a3NO7
data RightsSym0 (l_a3NO1 :: TyFun [Either a6989586621679915821 b6989586621679915822] [b6989586621679915822])
type RightsSym1 (t_a3NO0 :: [Either a6989586621679915821 b6989586621679915822]) = Rights t_a3NO0
data IsLeftSym0 (l_a3NNh :: TyFun (Either a6989586621679915817 b6989586621679915818) Bool)
type IsLeftSym1 (t_a3NNg :: Either a6989586621679915817 b6989586621679915818) = IsLeft t_a3NNg
data IsRightSym0 (l_a3NNd :: TyFun (Either a6989586621679915815 b6989586621679915816) Bool)
type IsRightSym1 (t_a3NNc :: Either a6989586621679915815 b6989586621679915816) = IsRight t_a3NNc
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.Let6989586621679916197LeftSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679916197LeftSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679916197LeftSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679916197RightSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679916197RightSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679916197RightSym2
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 <a>Either</a>,
--   including a promoted version of all the definitions in
--   <tt>Data.Either</tt>.
--   
--   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 <tt>Data.Either</tt>. 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_a3Np5 -> c_a3Np6) -> (b_a3Np7 -> c_a3Np6) -> Either a_a3Np5 b_a3Np7 -> c_a3Np6
data LeftSym0 (l_a10va :: TyFun a6989586621679081217 (Either a6989586621679081217 b6989586621679081218))
type LeftSym1 (t_a10v9 :: a6989586621679081217) = Left t_a10v9
data RightSym0 (l_a10vd :: TyFun b6989586621679081218 (Either a6989586621679081217 b6989586621679081218))
type RightSym1 (t_a10vc :: b6989586621679081218) = Right t_a10vc
data Either_Sym0 (l_a3NpP :: TyFun (TyFun a6989586621679914687 c6989586621679914688 -> Type) (TyFun (TyFun b6989586621679914689 c6989586621679914688 -> Type) (TyFun (Either a6989586621679914687 b6989586621679914689) c6989586621679914688 -> Type) -> Type))
data Either_Sym1 (l_a3NpN :: TyFun a6989586621679914687 c6989586621679914688 -> Type) (l_a3NpM :: TyFun (TyFun b6989586621679914689 c6989586621679914688 -> Type) (TyFun (Either a6989586621679914687 b6989586621679914689) c6989586621679914688 -> Type))
data Either_Sym2 (l_a3NpJ :: TyFun a6989586621679914687 c6989586621679914688 -> Type) (l_a3NpK :: TyFun b6989586621679914689 c6989586621679914688 -> Type) (l_a3NpI :: TyFun (Either a6989586621679914687 b6989586621679914689) c6989586621679914688)
type Either_Sym3 (t_a3NpF :: TyFun a6989586621679914687 c6989586621679914688 -> Type) (t_a3NpG :: TyFun b6989586621679914689 c6989586621679914688 -> Type) (t_a3NpH :: Either a6989586621679914687 b6989586621679914689) = Either_ t_a3NpF t_a3NpG t_a3NpH
data LeftsSym0 (l_a3NO8 :: TyFun [Either a6989586621679915823 b6989586621679915824] [a6989586621679915823])
type LeftsSym1 (t_a3NO7 :: [Either a6989586621679915823 b6989586621679915824]) = Lefts t_a3NO7
data RightsSym0 (l_a3NO1 :: TyFun [Either a6989586621679915821 b6989586621679915822] [b6989586621679915822])
type RightsSym1 (t_a3NO0 :: [Either a6989586621679915821 b6989586621679915822]) = Rights t_a3NO0
data IsLeftSym0 (l_a3NNh :: TyFun (Either a6989586621679915817 b6989586621679915818) Bool)
type IsLeftSym1 (t_a3NNg :: Either a6989586621679915817 b6989586621679915818) = IsLeft t_a3NNg
data IsRightSym0 (l_a3NNd :: TyFun (Either a6989586621679915815 b6989586621679915816) Bool)
type IsRightSym1 (t_a3NNc :: Either a6989586621679915815 b6989586621679915816) = IsRight t_a3NNc


-- | Defines promoted functions and datatypes relating to <tt>List</tt>,
--   including a promoted version of all the definitions in
--   <tt>Data.List</tt>.
--   
--   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 <tt>Data.List</tt>. 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_a10uS :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:@#@$$) (l_a10uQ :: a3530822107858468865) (l_a10uP :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:@#@$$$) (t_a10uN :: a3530822107858468865) (t_a10uO :: [a3530822107858468865]) = (:) t_a10uN t_a10uO
type (++@#@$$$) (t_a1Jpm :: [a6989586621679422444]) (t_a1Jpn :: [a6989586621679422444]) = (++) t_a1Jpm t_a1Jpn
data (++@#@$$) (l_a1Jpp :: [a6989586621679422444]) (l_a1Jpo :: TyFun [a6989586621679422444] [a6989586621679422444])
data (++@#@$) (l_a1Jpr :: TyFun [a6989586621679422444] (TyFun [a6989586621679422444] [a6989586621679422444] -> Type))
data HeadSym0 (l_a1SoK :: TyFun [a6989586621679445081] a6989586621679445081)
type HeadSym1 (t_a1SoJ :: [a6989586621679445081]) = Head t_a1SoJ
data LastSym0 (l_a1SoD :: TyFun [a6989586621679445080] a6989586621679445080)
type LastSym1 (t_a1SoC :: [a6989586621679445080]) = Last t_a1SoC
data TailSym0 (l_a1Soy :: TyFun [a6989586621679445079] [a6989586621679445079])
type TailSym1 (t_a1Sox :: [a6989586621679445079]) = Tail t_a1Sox
data InitSym0 (l_a1So4 :: TyFun [a6989586621679445078] [a6989586621679445078])
type InitSym1 (t_a1So3 :: [a6989586621679445078]) = Init t_a1So3
data NullSym0 (l_a1Sn3 :: TyFun [a6989586621679445077] Bool)
type NullSym1 (t_a1Sn2 :: [a6989586621679445077]) = Null t_a1Sn2
data MapSym0 (l_a1JpE :: TyFun (TyFun a6989586621679422445 b6989586621679422446 -> Type) (TyFun [a6989586621679422445] [b6989586621679422446] -> Type))
data MapSym1 (l_a1JpC :: TyFun a6989586621679422445 b6989586621679422446 -> Type) (l_a1JpB :: TyFun [a6989586621679422445] [b6989586621679422446])
type MapSym2 (t_a1Jpz :: TyFun a6989586621679422445 b6989586621679422446 -> Type) (t_a1JpA :: [a6989586621679422445]) = Map t_a1Jpz t_a1JpA
data ReverseSym0 (l_a1Smu :: TyFun [a6989586621679445076] [a6989586621679445076])
type ReverseSym1 (t_a1Smt :: [a6989586621679445076]) = Reverse t_a1Smt
data IntersperseSym0 (l_a1Smb :: TyFun a6989586621679445075 (TyFun [a6989586621679445075] [a6989586621679445075] -> Type))
data IntersperseSym1 (l_a1Sm9 :: a6989586621679445075) (l_a1Sm8 :: TyFun [a6989586621679445075] [a6989586621679445075])
type IntersperseSym2 (t_a1Sm6 :: a6989586621679445075) (t_a1Sm7 :: [a6989586621679445075]) = Intersperse t_a1Sm6 t_a1Sm7
data IntercalateSym0 (l_a1Smn :: TyFun [a6989586621679445074] (TyFun [[a6989586621679445074]] [a6989586621679445074] -> Type))
data IntercalateSym1 (l_a1Sml :: [a6989586621679445074]) (l_a1Smk :: TyFun [[a6989586621679445074]] [a6989586621679445074])
type IntercalateSym2 (t_a1Smi :: [a6989586621679445074]) (t_a1Smj :: [[a6989586621679445074]]) = Intercalate t_a1Smi t_a1Smj
data SubsequencesSym0 (l_a1Sm2 :: TyFun [a6989586621679445073] [[a6989586621679445073]])
type SubsequencesSym1 (t_a1Sm1 :: [a6989586621679445073]) = Subsequences t_a1Sm1
data PermutationsSym0 (l_a1SfC :: TyFun [a6989586621679445070] [[a6989586621679445070]])
type PermutationsSym1 (t_a1SfB :: [a6989586621679445070]) = Permutations t_a1SfB
data FoldlSym0 (l_a13tt :: TyFun (TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (TyFun b6989586621679261435 (TyFun [a6989586621679261434] b6989586621679261435 -> Type) -> Type))
data FoldlSym1 (l_a13tr :: TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (l_a13tq :: TyFun b6989586621679261435 (TyFun [a6989586621679261434] b6989586621679261435 -> Type))
data FoldlSym2 (l_a13tn :: TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (l_a13to :: b6989586621679261435) (l_a13tm :: TyFun [a6989586621679261434] b6989586621679261435)
type FoldlSym3 (t_a13tj :: TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (t_a13tk :: b6989586621679261435) (t_a13tl :: [a6989586621679261434]) = Foldl t_a13tj t_a13tk t_a13tl
data Foldl'Sym0 (l_a1Sed :: TyFun (TyFun b6989586621679445069 (TyFun a6989586621679445068 b6989586621679445069 -> Type) -> Type) (TyFun b6989586621679445069 (TyFun [a6989586621679445068] b6989586621679445069 -> Type) -> Type))
data Foldl'Sym1 (l_a1Seb :: TyFun b6989586621679445069 (TyFun a6989586621679445068 b6989586621679445069 -> Type) -> Type) (l_a1Sea :: TyFun b6989586621679445069 (TyFun [a6989586621679445068] b6989586621679445069 -> Type))
data Foldl'Sym2 (l_a1Se7 :: TyFun b6989586621679445069 (TyFun a6989586621679445068 b6989586621679445069 -> Type) -> Type) (l_a1Se8 :: b6989586621679445069) (l_a1Se6 :: TyFun [a6989586621679445068] b6989586621679445069)
type Foldl'Sym3 (t_a1Se3 :: TyFun b6989586621679445069 (TyFun a6989586621679445068 b6989586621679445069 -> Type) -> Type) (t_a1Se4 :: b6989586621679445069) (t_a1Se5 :: [a6989586621679445068]) = Foldl' t_a1Se3 t_a1Se4 t_a1Se5
data Foldl1Sym0 (l_a1SaM :: TyFun (TyFun a6989586621679445067 (TyFun a6989586621679445067 a6989586621679445067 -> Type) -> Type) (TyFun [a6989586621679445067] a6989586621679445067 -> Type))
data Foldl1Sym1 (l_a1SaK :: TyFun a6989586621679445067 (TyFun a6989586621679445067 a6989586621679445067 -> Type) -> Type) (l_a1SaJ :: TyFun [a6989586621679445067] a6989586621679445067)
type Foldl1Sym2 (t_a1SaH :: TyFun a6989586621679445067 (TyFun a6989586621679445067 a6989586621679445067 -> Type) -> Type) (t_a1SaI :: [a6989586621679445067]) = Foldl1 t_a1SaH t_a1SaI
data Foldl1'Sym0 (l_a1Sfu :: TyFun (TyFun a6989586621679445066 (TyFun a6989586621679445066 a6989586621679445066 -> Type) -> Type) (TyFun [a6989586621679445066] a6989586621679445066 -> Type))
data Foldl1'Sym1 (l_a1Sfs :: TyFun a6989586621679445066 (TyFun a6989586621679445066 a6989586621679445066 -> Type) -> Type) (l_a1Sfr :: TyFun [a6989586621679445066] a6989586621679445066)
type Foldl1'Sym2 (t_a1Sfp :: TyFun a6989586621679445066 (TyFun a6989586621679445066 a6989586621679445066 -> Type) -> Type) (t_a1Sfq :: [a6989586621679445066]) = Foldl1' t_a1Sfp t_a1Sfq
data FoldrSym0 (l_a1JpV :: TyFun (TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (TyFun b6989586621679422448 (TyFun [a6989586621679422447] b6989586621679422448 -> Type) -> Type))
data FoldrSym1 (l_a1JpT :: TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (l_a1JpS :: TyFun b6989586621679422448 (TyFun [a6989586621679422447] b6989586621679422448 -> Type))
data FoldrSym2 (l_a1JpP :: TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (l_a1JpQ :: b6989586621679422448) (l_a1JpO :: TyFun [a6989586621679422447] b6989586621679422448)
type FoldrSym3 (t_a1JpL :: TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (t_a1JpM :: b6989586621679422448) (t_a1JpN :: [a6989586621679422447]) = Foldr t_a1JpL t_a1JpM t_a1JpN
data Foldr1Sym0 (l_a1Saf :: TyFun (TyFun a6989586621679445065 (TyFun a6989586621679445065 a6989586621679445065 -> Type) -> Type) (TyFun [a6989586621679445065] a6989586621679445065 -> Type))
data Foldr1Sym1 (l_a1Sad :: TyFun a6989586621679445065 (TyFun a6989586621679445065 a6989586621679445065 -> Type) -> Type) (l_a1Sac :: TyFun [a6989586621679445065] a6989586621679445065)
type Foldr1Sym2 (t_a1Saa :: TyFun a6989586621679445065 (TyFun a6989586621679445065 a6989586621679445065 -> Type) -> Type) (t_a1Sab :: [a6989586621679445065]) = Foldr1 t_a1Saa t_a1Sab
data ConcatSym0 (l_a1Sa6 :: TyFun [[a6989586621679445064]] [a6989586621679445064])
type ConcatSym1 (t_a1Sa5 :: [[a6989586621679445064]]) = Concat t_a1Sa5
data ConcatMapSym0 (l_a1S9V :: TyFun (TyFun a6989586621679445062 [b6989586621679445063] -> Type) (TyFun [a6989586621679445062] [b6989586621679445063] -> Type))
data ConcatMapSym1 (l_a1S9T :: TyFun a6989586621679445062 [b6989586621679445063] -> Type) (l_a1S9S :: TyFun [a6989586621679445062] [b6989586621679445063])
type ConcatMapSym2 (t_a1S9Q :: TyFun a6989586621679445062 [b6989586621679445063] -> Type) (t_a1S9R :: [a6989586621679445062]) = ConcatMap t_a1S9Q t_a1S9R
data AndSym0 (l_a1S9L :: TyFun [Bool] Bool)
type AndSym1 (t_a1S9K :: [Bool]) = And t_a1S9K
data OrSym0 (l_a1S9F :: TyFun [Bool] Bool)
type OrSym1 (t_a1S9E :: [Bool]) = Or t_a1S9E
data AnySym0 (l_a1S7b :: TyFun (TyFun a6989586621679445060 Bool -> Type) (TyFun [a6989586621679445060] Bool -> Type))
data AnySym1 (l_a1S79 :: TyFun a6989586621679445060 Bool -> Type) (l_a1S78 :: TyFun [a6989586621679445060] Bool)
type AnySym2 (t_a1S76 :: TyFun a6989586621679445060 Bool -> Type) (t_a1S77 :: [a6989586621679445060]) = Any t_a1S76 t_a1S77
data AllSym0 (l_a1S9x :: TyFun (TyFun a6989586621679445061 Bool -> Type) (TyFun [a6989586621679445061] Bool -> Type))
data AllSym1 (l_a1S9v :: TyFun a6989586621679445061 Bool -> Type) (l_a1S9u :: TyFun [a6989586621679445061] Bool)
type AllSym2 (t_a1S9s :: TyFun a6989586621679445061 Bool -> Type) (t_a1S9t :: [a6989586621679445061]) = All t_a1S9s t_a1S9t
data ScanlSym0 (l_a1S6H :: TyFun (TyFun b6989586621679445058 (TyFun a6989586621679445059 b6989586621679445058 -> Type) -> Type) (TyFun b6989586621679445058 (TyFun [a6989586621679445059] [b6989586621679445058] -> Type) -> Type))
data ScanlSym1 (l_a1S6F :: TyFun b6989586621679445058 (TyFun a6989586621679445059 b6989586621679445058 -> Type) -> Type) (l_a1S6E :: TyFun b6989586621679445058 (TyFun [a6989586621679445059] [b6989586621679445058] -> Type))
data ScanlSym2 (l_a1S6B :: TyFun b6989586621679445058 (TyFun a6989586621679445059 b6989586621679445058 -> Type) -> Type) (l_a1S6C :: b6989586621679445058) (l_a1S6A :: TyFun [a6989586621679445059] [b6989586621679445058])
type ScanlSym3 (t_a1S6x :: TyFun b6989586621679445058 (TyFun a6989586621679445059 b6989586621679445058 -> Type) -> Type) (t_a1S6y :: b6989586621679445058) (t_a1S6z :: [a6989586621679445059]) = Scanl t_a1S6x t_a1S6y t_a1S6z
data Scanl1Sym0 (l_a1S6Z :: TyFun (TyFun a6989586621679445057 (TyFun a6989586621679445057 a6989586621679445057 -> Type) -> Type) (TyFun [a6989586621679445057] [a6989586621679445057] -> Type))
data Scanl1Sym1 (l_a1S6X :: TyFun a6989586621679445057 (TyFun a6989586621679445057 a6989586621679445057 -> Type) -> Type) (l_a1S6W :: TyFun [a6989586621679445057] [a6989586621679445057])
type Scanl1Sym2 (t_a1S6U :: TyFun a6989586621679445057 (TyFun a6989586621679445057 a6989586621679445057 -> Type) -> Type) (t_a1S6V :: [a6989586621679445057]) = Scanl1 t_a1S6U t_a1S6V
data ScanrSym0 (l_a1S5Z :: TyFun (TyFun a6989586621679445055 (TyFun b6989586621679445056 b6989586621679445056 -> Type) -> Type) (TyFun b6989586621679445056 (TyFun [a6989586621679445055] [b6989586621679445056] -> Type) -> Type))
data ScanrSym1 (l_a1S5X :: TyFun a6989586621679445055 (TyFun b6989586621679445056 b6989586621679445056 -> Type) -> Type) (l_a1S5W :: TyFun b6989586621679445056 (TyFun [a6989586621679445055] [b6989586621679445056] -> Type))
data ScanrSym2 (l_a1S5T :: TyFun a6989586621679445055 (TyFun b6989586621679445056 b6989586621679445056 -> Type) -> Type) (l_a1S5U :: b6989586621679445056) (l_a1S5S :: TyFun [a6989586621679445055] [b6989586621679445056])
type ScanrSym3 (t_a1S5P :: TyFun a6989586621679445055 (TyFun b6989586621679445056 b6989586621679445056 -> Type) -> Type) (t_a1S5Q :: b6989586621679445056) (t_a1S5R :: [a6989586621679445055]) = Scanr t_a1S5P t_a1S5Q t_a1S5R
data Scanr1Sym0 (l_a1S4Z :: TyFun (TyFun a6989586621679445054 (TyFun a6989586621679445054 a6989586621679445054 -> Type) -> Type) (TyFun [a6989586621679445054] [a6989586621679445054] -> Type))
data Scanr1Sym1 (l_a1S4X :: TyFun a6989586621679445054 (TyFun a6989586621679445054 a6989586621679445054 -> Type) -> Type) (l_a1S4W :: TyFun [a6989586621679445054] [a6989586621679445054])
type Scanr1Sym2 (t_a1S4U :: TyFun a6989586621679445054 (TyFun a6989586621679445054 a6989586621679445054 -> Type) -> Type) (t_a1S4V :: [a6989586621679445054]) = Scanr1 t_a1S4U t_a1S4V
data MapAccumLSym0 (l_a1S2x :: TyFun (TyFun acc6989586621679445051 (TyFun x6989586621679445052 (acc6989586621679445051, y6989586621679445053) -> Type) -> Type) (TyFun acc6989586621679445051 (TyFun [x6989586621679445052] (acc6989586621679445051, [y6989586621679445053]) -> Type) -> Type))
data MapAccumLSym1 (l_a1S2v :: TyFun acc6989586621679445051 (TyFun x6989586621679445052 (acc6989586621679445051, y6989586621679445053) -> Type) -> Type) (l_a1S2u :: TyFun acc6989586621679445051 (TyFun [x6989586621679445052] (acc6989586621679445051, [y6989586621679445053]) -> Type))
data MapAccumLSym2 (l_a1S2r :: TyFun acc6989586621679445051 (TyFun x6989586621679445052 (acc6989586621679445051, y6989586621679445053) -> Type) -> Type) (l_a1S2s :: acc6989586621679445051) (l_a1S2q :: TyFun [x6989586621679445052] (acc6989586621679445051, [y6989586621679445053]))
type MapAccumLSym3 (t_a1S2n :: TyFun acc6989586621679445051 (TyFun x6989586621679445052 (acc6989586621679445051, y6989586621679445053) -> Type) -> Type) (t_a1S2o :: acc6989586621679445051) (t_a1S2p :: [x6989586621679445052]) = MapAccumL t_a1S2n t_a1S2o t_a1S2p
data MapAccumRSym0 (l_a1S00 :: TyFun (TyFun acc6989586621679445048 (TyFun x6989586621679445049 (acc6989586621679445048, y6989586621679445050) -> Type) -> Type) (TyFun acc6989586621679445048 (TyFun [x6989586621679445049] (acc6989586621679445048, [y6989586621679445050]) -> Type) -> Type))
data MapAccumRSym1 (l_a1RZY :: TyFun acc6989586621679445048 (TyFun x6989586621679445049 (acc6989586621679445048, y6989586621679445050) -> Type) -> Type) (l_a1RZX :: TyFun acc6989586621679445048 (TyFun [x6989586621679445049] (acc6989586621679445048, [y6989586621679445050]) -> Type))
data MapAccumRSym2 (l_a1RZU :: TyFun acc6989586621679445048 (TyFun x6989586621679445049 (acc6989586621679445048, y6989586621679445050) -> Type) -> Type) (l_a1RZV :: acc6989586621679445048) (l_a1RZT :: TyFun [x6989586621679445049] (acc6989586621679445048, [y6989586621679445050]))
type MapAccumRSym3 (t_a1RZQ :: TyFun acc6989586621679445048 (TyFun x6989586621679445049 (acc6989586621679445048, y6989586621679445050) -> Type) -> Type) (t_a1RZR :: acc6989586621679445048) (t_a1RZS :: [x6989586621679445049]) = MapAccumR t_a1RZQ t_a1RZR t_a1RZS
data UnfoldrSym0 (l_a1RZx :: TyFun (TyFun b6989586621679445046 (Maybe (a6989586621679445047, b6989586621679445046)) -> Type) (TyFun b6989586621679445046 [a6989586621679445047] -> Type))
data UnfoldrSym1 (l_a1RZv :: TyFun b6989586621679445046 (Maybe (a6989586621679445047, b6989586621679445046)) -> Type) (l_a1RZu :: TyFun b6989586621679445046 [a6989586621679445047])
type UnfoldrSym2 (t_a1RZs :: TyFun b6989586621679445046 (Maybe (a6989586621679445047, b6989586621679445046)) -> Type) (t_a1RZt :: b6989586621679445046) = Unfoldr t_a1RZs t_a1RZt
data InitsSym0 (l_a1RZj :: TyFun [a6989586621679445045] [[a6989586621679445045]])
type InitsSym1 (t_a1RZi :: [a6989586621679445045]) = Inits t_a1RZi
data TailsSym0 (l_a1RZa :: TyFun [a6989586621679445044] [[a6989586621679445044]])
type TailsSym1 (t_a1RZ9 :: [a6989586621679445044]) = Tails t_a1RZ9
data IsPrefixOfSym0 (l_a1RZ1 :: TyFun [a6989586621679445043] (TyFun [a6989586621679445043] Bool -> Type))
data IsPrefixOfSym1 (l_a1RYZ :: [a6989586621679445043]) (l_a1RYY :: TyFun [a6989586621679445043] Bool)
type IsPrefixOfSym2 (t_a1RYW :: [a6989586621679445043]) (t_a1RYX :: [a6989586621679445043]) = IsPrefixOf t_a1RYW t_a1RYX
data IsSuffixOfSym0 (l_a1SmW :: TyFun [a6989586621679445042] (TyFun [a6989586621679445042] Bool -> Type))
data IsSuffixOfSym1 (l_a1SmU :: [a6989586621679445042]) (l_a1SmT :: TyFun [a6989586621679445042] Bool)
type IsSuffixOfSym2 (t_a1SmR :: [a6989586621679445042]) (t_a1SmS :: [a6989586621679445042]) = IsSuffixOf t_a1SmR t_a1SmS
data IsInfixOfSym0 (l_a1S7n :: TyFun [a6989586621679445041] (TyFun [a6989586621679445041] Bool -> Type))
data IsInfixOfSym1 (l_a1S7l :: [a6989586621679445041]) (l_a1S7k :: TyFun [a6989586621679445041] Bool)
type IsInfixOfSym2 (t_a1S7i :: [a6989586621679445041]) (t_a1S7j :: [a6989586621679445041]) = IsInfixOf t_a1S7i t_a1S7j
data ElemSym0 (l_a1RY6 :: TyFun a6989586621679445040 (TyFun [a6989586621679445040] Bool -> Type))
data ElemSym1 (l_a1RY4 :: a6989586621679445040) (l_a1RY3 :: TyFun [a6989586621679445040] Bool)
type ElemSym2 (t_a1RY1 :: a6989586621679445040) (t_a1RY2 :: [a6989586621679445040]) = Elem t_a1RY1 t_a1RY2
data NotElemSym0 (l_a1RXU :: TyFun a6989586621679445039 (TyFun [a6989586621679445039] Bool -> Type))
data NotElemSym1 (l_a1RXS :: a6989586621679445039) (l_a1RXR :: TyFun [a6989586621679445039] Bool)
type NotElemSym2 (t_a1RXP :: a6989586621679445039) (t_a1RXQ :: [a6989586621679445039]) = NotElem t_a1RXP t_a1RXQ
data ZipSym0 (l_a1RWc :: TyFun [a6989586621679445037] (TyFun [b6989586621679445038] [(a6989586621679445037, b6989586621679445038)] -> Type))
data ZipSym1 (l_a1RWa :: [a6989586621679445037]) (l_a1RW9 :: TyFun [b6989586621679445038] [(a6989586621679445037, b6989586621679445038)])
type ZipSym2 (t_a1RW7 :: [a6989586621679445037]) (t_a1RW8 :: [b6989586621679445038]) = Zip t_a1RW7 t_a1RW8
data Zip3Sym0 (l_a1RVW :: TyFun [a6989586621679445034] (TyFun [b6989586621679445035] (TyFun [c6989586621679445036] [(a6989586621679445034, b6989586621679445035, c6989586621679445036)] -> Type) -> Type))
data Zip3Sym1 (l_a1RVU :: [a6989586621679445034]) (l_a1RVT :: TyFun [b6989586621679445035] (TyFun [c6989586621679445036] [(a6989586621679445034, b6989586621679445035, c6989586621679445036)] -> Type))
data Zip3Sym2 (l_a1RVQ :: [a6989586621679445034]) (l_a1RVR :: [b6989586621679445035]) (l_a1RVP :: TyFun [c6989586621679445036] [(a6989586621679445034, b6989586621679445035, c6989586621679445036)])
type Zip3Sym3 (t_a1RVM :: [a6989586621679445034]) (t_a1RVN :: [b6989586621679445035]) (t_a1RVO :: [c6989586621679445036]) = Zip3 t_a1RVM t_a1RVN t_a1RVO
data ZipWithSym0 (l_a1RVC :: TyFun (TyFun a6989586621679445031 (TyFun b6989586621679445032 c6989586621679445033 -> Type) -> Type) (TyFun [a6989586621679445031] (TyFun [b6989586621679445032] [c6989586621679445033] -> Type) -> Type))
data ZipWithSym1 (l_a1RVA :: TyFun a6989586621679445031 (TyFun b6989586621679445032 c6989586621679445033 -> Type) -> Type) (l_a1RVz :: TyFun [a6989586621679445031] (TyFun [b6989586621679445032] [c6989586621679445033] -> Type))
data ZipWithSym2 (l_a1RVw :: TyFun a6989586621679445031 (TyFun b6989586621679445032 c6989586621679445033 -> Type) -> Type) (l_a1RVx :: [a6989586621679445031]) (l_a1RVv :: TyFun [b6989586621679445032] [c6989586621679445033])
type ZipWithSym3 (t_a1RVs :: TyFun a6989586621679445031 (TyFun b6989586621679445032 c6989586621679445033 -> Type) -> Type) (t_a1RVt :: [a6989586621679445031]) (t_a1RVu :: [b6989586621679445032]) = ZipWith t_a1RVs t_a1RVt t_a1RVu
data ZipWith3Sym0 (l_a1RVf :: TyFun (TyFun a6989586621679445027 (TyFun b6989586621679445028 (TyFun c6989586621679445029 d6989586621679445030 -> Type) -> Type) -> Type) (TyFun [a6989586621679445027] (TyFun [b6989586621679445028] (TyFun [c6989586621679445029] [d6989586621679445030] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1RVd :: TyFun a6989586621679445027 (TyFun b6989586621679445028 (TyFun c6989586621679445029 d6989586621679445030 -> Type) -> Type) -> Type) (l_a1RVc :: TyFun [a6989586621679445027] (TyFun [b6989586621679445028] (TyFun [c6989586621679445029] [d6989586621679445030] -> Type) -> Type))
data ZipWith3Sym2 (l_a1RV9 :: TyFun a6989586621679445027 (TyFun b6989586621679445028 (TyFun c6989586621679445029 d6989586621679445030 -> Type) -> Type) -> Type) (l_a1RVa :: [a6989586621679445027]) (l_a1RV8 :: TyFun [b6989586621679445028] (TyFun [c6989586621679445029] [d6989586621679445030] -> Type))
data ZipWith3Sym3 (l_a1RV4 :: TyFun a6989586621679445027 (TyFun b6989586621679445028 (TyFun c6989586621679445029 d6989586621679445030 -> Type) -> Type) -> Type) (l_a1RV5 :: [a6989586621679445027]) (l_a1RV6 :: [b6989586621679445028]) (l_a1RV3 :: TyFun [c6989586621679445029] [d6989586621679445030])
type ZipWith3Sym4 (t_a1RUZ :: TyFun a6989586621679445027 (TyFun b6989586621679445028 (TyFun c6989586621679445029 d6989586621679445030 -> Type) -> Type) -> Type) (t_a1RV0 :: [a6989586621679445027]) (t_a1RV1 :: [b6989586621679445028]) (t_a1RV2 :: [c6989586621679445029]) = ZipWith3 t_a1RUZ t_a1RV0 t_a1RV1 t_a1RV2
data UnzipSym0 (l_a1RUw :: TyFun [(a6989586621679445025, b6989586621679445026)] ([a6989586621679445025], [b6989586621679445026]))
type UnzipSym1 (t_a1RUv :: [(a6989586621679445025, b6989586621679445026)]) = Unzip t_a1RUv
data Unzip3Sym0 (l_a1RU0 :: TyFun [(a6989586621679445022, b6989586621679445023, c6989586621679445024)] ([a6989586621679445022], [b6989586621679445023], [c6989586621679445024]))
type Unzip3Sym1 (t_a1RTZ :: [(a6989586621679445022, b6989586621679445023, c6989586621679445024)]) = Unzip3 t_a1RTZ
data Unzip4Sym0 (l_a1RTs :: TyFun [(a6989586621679445018, b6989586621679445019, c6989586621679445020, d6989586621679445021)] ([a6989586621679445018], [b6989586621679445019], [c6989586621679445020], [d6989586621679445021]))
type Unzip4Sym1 (t_a1RTr :: [(a6989586621679445018, b6989586621679445019, c6989586621679445020, d6989586621679445021)]) = Unzip4 t_a1RTr
data Unzip5Sym0 (l_a1RSS :: TyFun [(a6989586621679445013, b6989586621679445014, c6989586621679445015, d6989586621679445016, e6989586621679445017)] ([a6989586621679445013], [b6989586621679445014], [c6989586621679445015], [d6989586621679445016], [e6989586621679445017]))
type Unzip5Sym1 (t_a1RSR :: [(a6989586621679445013, b6989586621679445014, c6989586621679445015, d6989586621679445016, e6989586621679445017)]) = Unzip5 t_a1RSR
data Unzip6Sym0 (l_a1RSg :: TyFun [(a6989586621679445007, b6989586621679445008, c6989586621679445009, d6989586621679445010, e6989586621679445011, f6989586621679445012)] ([a6989586621679445007], [b6989586621679445008], [c6989586621679445009], [d6989586621679445010], [e6989586621679445011], [f6989586621679445012]))
type Unzip6Sym1 (t_a1RSf :: [(a6989586621679445007, b6989586621679445008, c6989586621679445009, d6989586621679445010, e6989586621679445011, f6989586621679445012)]) = Unzip6 t_a1RSf
data Unzip7Sym0 (l_a1RRC :: TyFun [(a6989586621679445000, b6989586621679445001, c6989586621679445002, d6989586621679445003, e6989586621679445004, f6989586621679445005, g6989586621679445006)] ([a6989586621679445000], [b6989586621679445001], [c6989586621679445002], [d6989586621679445003], [e6989586621679445004], [f6989586621679445005], [g6989586621679445006]))
type Unzip7Sym1 (t_a1RRB :: [(a6989586621679445000, b6989586621679445001, c6989586621679445002, d6989586621679445003, e6989586621679445004, f6989586621679445005, g6989586621679445006)]) = Unzip7 t_a1RRB
data DeleteSym0 (l_a1RQO :: TyFun a6989586621679444999 (TyFun [a6989586621679444999] [a6989586621679444999] -> Type))
data DeleteSym1 (l_a1RQM :: a6989586621679444999) (l_a1RQL :: TyFun [a6989586621679444999] [a6989586621679444999])
type DeleteSym2 (t_a1RQJ :: a6989586621679444999) (t_a1RQK :: [a6989586621679444999]) = Delete t_a1RQJ t_a1RQK
data (\\@#@$) (l_a1RR3 :: TyFun [a6989586621679444998] (TyFun [a6989586621679444998] [a6989586621679444998] -> Type))
data (\\@#@$$) (l_a1RR1 :: [a6989586621679444998]) (l_a1RR0 :: TyFun [a6989586621679444998] [a6989586621679444998])
type (\\@#@$$$) (t_a1RQY :: [a6989586621679444998]) (t_a1RQZ :: [a6989586621679444998]) = (\\) t_a1RQY t_a1RQZ
data IntersectSym0 (l_a1S9m :: TyFun [a6989586621679444985] (TyFun [a6989586621679444985] [a6989586621679444985] -> Type))
data IntersectSym1 (l_a1S9k :: [a6989586621679444985]) (l_a1S9j :: TyFun [a6989586621679444985] [a6989586621679444985])
type IntersectSym2 (t_a1S9h :: [a6989586621679444985]) (t_a1S9i :: [a6989586621679444985]) = Intersect t_a1S9h t_a1S9i
data InsertSym0 (l_a1ROH :: TyFun a6989586621679444972 (TyFun [a6989586621679444972] [a6989586621679444972] -> Type))
data InsertSym1 (l_a1ROF :: a6989586621679444972) (l_a1ROE :: TyFun [a6989586621679444972] [a6989586621679444972])
type InsertSym2 (t_a1ROC :: a6989586621679444972) (t_a1ROD :: [a6989586621679444972]) = Insert t_a1ROC t_a1ROD
data SortSym0 (l_a1RP3 :: TyFun [a6989586621679444971] [a6989586621679444971])
type SortSym1 (t_a1RP2 :: [a6989586621679444971]) = Sort t_a1RP2
data DeleteBySym0 (l_a1RPh :: TyFun (TyFun a6989586621679444997 (TyFun a6989586621679444997 Bool -> Type) -> Type) (TyFun a6989586621679444997 (TyFun [a6989586621679444997] [a6989586621679444997] -> Type) -> Type))
data DeleteBySym1 (l_a1RPf :: TyFun a6989586621679444997 (TyFun a6989586621679444997 Bool -> Type) -> Type) (l_a1RPe :: TyFun a6989586621679444997 (TyFun [a6989586621679444997] [a6989586621679444997] -> Type))
data DeleteBySym2 (l_a1RPb :: TyFun a6989586621679444997 (TyFun a6989586621679444997 Bool -> Type) -> Type) (l_a1RPc :: a6989586621679444997) (l_a1RPa :: TyFun [a6989586621679444997] [a6989586621679444997])
type DeleteBySym3 (t_a1RP7 :: TyFun a6989586621679444997 (TyFun a6989586621679444997 Bool -> Type) -> Type) (t_a1RP8 :: a6989586621679444997) (t_a1RP9 :: [a6989586621679444997]) = DeleteBy t_a1RP7 t_a1RP8 t_a1RP9
data DeleteFirstsBySym0 (l_a1RPW :: TyFun (TyFun a6989586621679444996 (TyFun a6989586621679444996 Bool -> Type) -> Type) (TyFun [a6989586621679444996] (TyFun [a6989586621679444996] [a6989586621679444996] -> Type) -> Type))
data DeleteFirstsBySym1 (l_a1RPU :: TyFun a6989586621679444996 (TyFun a6989586621679444996 Bool -> Type) -> Type) (l_a1RPT :: TyFun [a6989586621679444996] (TyFun [a6989586621679444996] [a6989586621679444996] -> Type))
data DeleteFirstsBySym2 (l_a1RPQ :: TyFun a6989586621679444996 (TyFun a6989586621679444996 Bool -> Type) -> Type) (l_a1RPR :: [a6989586621679444996]) (l_a1RPP :: TyFun [a6989586621679444996] [a6989586621679444996])
type DeleteFirstsBySym3 (t_a1RPM :: TyFun a6989586621679444996 (TyFun a6989586621679444996 Bool -> Type) -> Type) (t_a1RPN :: [a6989586621679444996]) (t_a1RPO :: [a6989586621679444996]) = DeleteFirstsBy t_a1RPM t_a1RPN t_a1RPO
data IntersectBySym0 (l_a1S7D :: TyFun (TyFun a6989586621679444984 (TyFun a6989586621679444984 Bool -> Type) -> Type) (TyFun [a6989586621679444984] (TyFun [a6989586621679444984] [a6989586621679444984] -> Type) -> Type))
data IntersectBySym1 (l_a1S7B :: TyFun a6989586621679444984 (TyFun a6989586621679444984 Bool -> Type) -> Type) (l_a1S7A :: TyFun [a6989586621679444984] (TyFun [a6989586621679444984] [a6989586621679444984] -> Type))
data IntersectBySym2 (l_a1S7x :: TyFun a6989586621679444984 (TyFun a6989586621679444984 Bool -> Type) -> Type) (l_a1S7y :: [a6989586621679444984]) (l_a1S7w :: TyFun [a6989586621679444984] [a6989586621679444984])
data SortBySym0 (l_a1ROS :: TyFun (TyFun a6989586621679444995 (TyFun a6989586621679444995 Ordering -> Type) -> Type) (TyFun [a6989586621679444995] [a6989586621679444995] -> Type))
data SortBySym1 (l_a1ROQ :: TyFun a6989586621679444995 (TyFun a6989586621679444995 Ordering -> Type) -> Type) (l_a1ROP :: TyFun [a6989586621679444995] [a6989586621679444995])
type SortBySym2 (t_a1RON :: TyFun a6989586621679444995 (TyFun a6989586621679444995 Ordering -> Type) -> Type) (t_a1ROO :: [a6989586621679444995]) = SortBy t_a1RON t_a1ROO
data InsertBySym0 (l_a1RNN :: TyFun (TyFun a6989586621679444994 (TyFun a6989586621679444994 Ordering -> Type) -> Type) (TyFun a6989586621679444994 (TyFun [a6989586621679444994] [a6989586621679444994] -> Type) -> Type))
data InsertBySym1 (l_a1RNL :: TyFun a6989586621679444994 (TyFun a6989586621679444994 Ordering -> Type) -> Type) (l_a1RNK :: TyFun a6989586621679444994 (TyFun [a6989586621679444994] [a6989586621679444994] -> Type))
data InsertBySym2 (l_a1RNH :: TyFun a6989586621679444994 (TyFun a6989586621679444994 Ordering -> Type) -> Type) (l_a1RNI :: a6989586621679444994) (l_a1RNG :: TyFun [a6989586621679444994] [a6989586621679444994])
type InsertBySym3 (t_a1RND :: TyFun a6989586621679444994 (TyFun a6989586621679444994 Ordering -> Type) -> Type) (t_a1RNE :: a6989586621679444994) (t_a1RNF :: [a6989586621679444994]) = InsertBy t_a1RND t_a1RNE t_a1RNF
data MaximumBySym0 (l_a1SaY :: TyFun (TyFun a6989586621679444993 (TyFun a6989586621679444993 Ordering -> Type) -> Type) (TyFun [a6989586621679444993] a6989586621679444993 -> Type))
data MaximumBySym1 (l_a1SaW :: TyFun a6989586621679444993 (TyFun a6989586621679444993 Ordering -> Type) -> Type) (l_a1SaV :: TyFun [a6989586621679444993] a6989586621679444993)
type MaximumBySym2 (t_a1SaT :: TyFun a6989586621679444993 (TyFun a6989586621679444993 Ordering -> Type) -> Type) (t_a1SaU :: [a6989586621679444993]) = MaximumBy t_a1SaT t_a1SaU
data MinimumBySym0 (l_a1Sck :: TyFun (TyFun a6989586621679444992 (TyFun a6989586621679444992 Ordering -> Type) -> Type) (TyFun [a6989586621679444992] a6989586621679444992 -> Type))
data MinimumBySym1 (l_a1Sci :: TyFun a6989586621679444992 (TyFun a6989586621679444992 Ordering -> Type) -> Type) (l_a1Sch :: TyFun [a6989586621679444992] a6989586621679444992)
type MinimumBySym2 (t_a1Scf :: TyFun a6989586621679444992 (TyFun a6989586621679444992 Ordering -> Type) -> Type) (t_a1Scg :: [a6989586621679444992]) = MinimumBy t_a1Scf t_a1Scg
data LengthSym0 (l_a1REp :: TyFun [a6989586621679444963] Nat)
type LengthSym1 (t_a1REo :: [a6989586621679444963]) = Length t_a1REo
data SumSym0 (l_a1RES :: TyFun [a6989586621679444965] a6989586621679444965)
type SumSym1 (t_a1RER :: [a6989586621679444965]) = Sum t_a1RER
data ProductSym0 (l_a1REu :: TyFun [a6989586621679444964] a6989586621679444964)
type ProductSym1 (t_a1REt :: [a6989586621679444964]) = Product t_a1REt
data ReplicateSym0 (l_a1RE7 :: TyFun Nat (TyFun a6989586621679444962 [a6989586621679444962] -> Type))
data ReplicateSym1 (l_a1RE5 :: Nat) (l_a1RE4 :: TyFun a6989586621679444962 [a6989586621679444962])
type ReplicateSym2 (t_a1RE2 :: Nat) (t_a1RE3 :: a6989586621679444962) = Replicate t_a1RE2 t_a1RE3
data TransposeSym0 (l_a1SoP :: TyFun [[a6989586621679444961]] [[a6989586621679444961]])
type TransposeSym1 (t_a1SoO :: [[a6989586621679444961]]) = Transpose t_a1SoO
data TakeSym0 (l_a1RHc :: TyFun Nat (TyFun [a6989586621679444978] [a6989586621679444978] -> Type))
data TakeSym1 (l_a1RHa :: Nat) (l_a1RH9 :: TyFun [a6989586621679444978] [a6989586621679444978])
type TakeSym2 (t_a1RH7 :: Nat) (t_a1RH8 :: [a6989586621679444978]) = Take t_a1RH7 t_a1RH8
data DropSym0 (l_a1RGK :: TyFun Nat (TyFun [a6989586621679444977] [a6989586621679444977] -> Type))
data DropSym1 (l_a1RGI :: Nat) (l_a1RGH :: TyFun [a6989586621679444977] [a6989586621679444977])
type DropSym2 (t_a1RGF :: Nat) (t_a1RGG :: [a6989586621679444977]) = Drop t_a1RGF t_a1RGG
data SplitAtSym0 (l_a1RHE :: TyFun Nat (TyFun [a6989586621679444976] ([a6989586621679444976], [a6989586621679444976]) -> Type))
data SplitAtSym1 (l_a1RHC :: Nat) (l_a1RHB :: TyFun [a6989586621679444976] ([a6989586621679444976], [a6989586621679444976]))
type SplitAtSym2 (t_a1RHz :: Nat) (t_a1RHA :: [a6989586621679444976]) = SplitAt t_a1RHz t_a1RHA
data TakeWhileSym0 (l_a1RMA :: TyFun (TyFun a6989586621679444983 Bool -> Type) (TyFun [a6989586621679444983] [a6989586621679444983] -> Type))
data TakeWhileSym1 (l_a1RMy :: TyFun a6989586621679444983 Bool -> Type) (l_a1RMx :: TyFun [a6989586621679444983] [a6989586621679444983])
type TakeWhileSym2 (t_a1RMv :: TyFun a6989586621679444983 Bool -> Type) (t_a1RMw :: [a6989586621679444983]) = TakeWhile t_a1RMv t_a1RMw
data DropWhileSym0 (l_a1RLV :: TyFun (TyFun a6989586621679444982 Bool -> Type) (TyFun [a6989586621679444982] [a6989586621679444982] -> Type))
data DropWhileSym1 (l_a1RLT :: TyFun a6989586621679444982 Bool -> Type) (l_a1RLS :: TyFun [a6989586621679444982] [a6989586621679444982])
type DropWhileSym2 (t_a1RLQ :: TyFun a6989586621679444982 Bool -> Type) (t_a1RLR :: [a6989586621679444982]) = DropWhile t_a1RLQ t_a1RLR
data DropWhileEndSym0 (l_a1Snb :: TyFun (TyFun a6989586621679444981 Bool -> Type) (TyFun [a6989586621679444981] [a6989586621679444981] -> Type))
data DropWhileEndSym1 (l_a1Sn9 :: TyFun a6989586621679444981 Bool -> Type) (l_a1Sn8 :: TyFun [a6989586621679444981] [a6989586621679444981])
type DropWhileEndSym2 (t_a1Sn6 :: TyFun a6989586621679444981 Bool -> Type) (t_a1Sn7 :: [a6989586621679444981]) = DropWhileEnd t_a1Sn6 t_a1Sn7
data SpanSym0 (l_a1RJk :: TyFun (TyFun a6989586621679444980 Bool -> Type) (TyFun [a6989586621679444980] ([a6989586621679444980], [a6989586621679444980]) -> Type))
data SpanSym1 (l_a1RJi :: TyFun a6989586621679444980 Bool -> Type) (l_a1RJh :: TyFun [a6989586621679444980] ([a6989586621679444980], [a6989586621679444980]))
type SpanSym2 (t_a1RJf :: TyFun a6989586621679444980 Bool -> Type) (t_a1RJg :: [a6989586621679444980]) = Span t_a1RJf t_a1RJg
data BreakSym0 (l_a1RHP :: TyFun (TyFun a6989586621679444979 Bool -> Type) (TyFun [a6989586621679444979] ([a6989586621679444979], [a6989586621679444979]) -> Type))
data BreakSym1 (l_a1RHN :: TyFun a6989586621679444979 Bool -> Type) (l_a1RHM :: TyFun [a6989586621679444979] ([a6989586621679444979], [a6989586621679444979]))
type BreakSym2 (t_a1RHK :: TyFun a6989586621679444979 Bool -> Type) (t_a1RHL :: [a6989586621679444979]) = Break t_a1RHK t_a1RHL
data StripPrefixSym0 (l_a3Tqh :: TyFun [a6989586621679924863] (TyFun [a6989586621679924863] (Maybe [a6989586621679924863]) -> Type))
data StripPrefixSym1 (l_a3Tqf :: [a6989586621679924863]) (l_a3Tqe :: TyFun [a6989586621679924863] (Maybe [a6989586621679924863]))
type StripPrefixSym2 (t_a3Tqc :: [a6989586621679924863]) (t_a3Tqd :: [a6989586621679924863]) = StripPrefix t_a3Tqc t_a3Tqd
data MaximumSym0 (l_a1SdC :: TyFun [a6989586621679444974] a6989586621679444974)
type MaximumSym1 (t_a1SdB :: [a6989586621679444974]) = Maximum t_a1SdB
data MinimumSym0 (l_a1SdQ :: TyFun [a6989586621679444973] a6989586621679444973)
type MinimumSym1 (t_a1SdP :: [a6989586621679444973]) = Minimum t_a1SdP
data GroupSym0 (l_a1RLM :: TyFun [a6989586621679444975] [[a6989586621679444975]])
type GroupSym1 (t_a1RLL :: [a6989586621679444975]) = Group t_a1RLL
data GroupBySym0 (l_a1RKP :: TyFun (TyFun a6989586621679444970 (TyFun a6989586621679444970 Bool -> Type) -> Type) (TyFun [a6989586621679444970] [[a6989586621679444970]] -> Type))
data GroupBySym1 (l_a1RKN :: TyFun a6989586621679444970 (TyFun a6989586621679444970 Bool -> Type) -> Type) (l_a1RKM :: TyFun [a6989586621679444970] [[a6989586621679444970]])
type GroupBySym2 (t_a1RKK :: TyFun a6989586621679444970 (TyFun a6989586621679444970 Bool -> Type) -> Type) (t_a1RKL :: [a6989586621679444970]) = GroupBy t_a1RKK t_a1RKL
data LookupSym0 (l_a1RGa :: TyFun a6989586621679444968 (TyFun [(a6989586621679444968, b6989586621679444969)] (Maybe b6989586621679444969) -> Type))
data LookupSym1 (l_a1RG8 :: a6989586621679444968) (l_a1RG7 :: TyFun [(a6989586621679444968, b6989586621679444969)] (Maybe b6989586621679444969))
type LookupSym2 (t_a1RG5 :: a6989586621679444968) (t_a1RG6 :: [(a6989586621679444968, b6989586621679444969)]) = Lookup t_a1RG5 t_a1RG6
data FindSym0 (l_a1RNv :: TyFun (TyFun a6989586621679444990 Bool -> Type) (TyFun [a6989586621679444990] (Maybe a6989586621679444990) -> Type))
data FindSym1 (l_a1RNt :: TyFun a6989586621679444990 Bool -> Type) (l_a1RNs :: TyFun [a6989586621679444990] (Maybe a6989586621679444990))
type FindSym2 (t_a1RNq :: TyFun a6989586621679444990 Bool -> Type) (t_a1RNr :: [a6989586621679444990]) = Find t_a1RNq t_a1RNr
data FilterSym0 (l_a1RN2 :: TyFun (TyFun a6989586621679444991 Bool -> Type) (TyFun [a6989586621679444991] [a6989586621679444991] -> Type))
data FilterSym1 (l_a1RN0 :: TyFun a6989586621679444991 Bool -> Type) (l_a1RMZ :: TyFun [a6989586621679444991] [a6989586621679444991])
type FilterSym2 (t_a1RMX :: TyFun a6989586621679444991 Bool -> Type) (t_a1RMY :: [a6989586621679444991]) = Filter t_a1RMX t_a1RMY
data PartitionSym0 (l_a1RFZ :: TyFun (TyFun a6989586621679444967 Bool -> Type) (TyFun [a6989586621679444967] ([a6989586621679444967], [a6989586621679444967]) -> Type))
data PartitionSym1 (l_a1RFX :: TyFun a6989586621679444967 Bool -> Type) (l_a1RFW :: TyFun [a6989586621679444967] ([a6989586621679444967], [a6989586621679444967]))
type PartitionSym2 (t_a1RFU :: TyFun a6989586621679444967 Bool -> Type) (t_a1RFV :: [a6989586621679444967]) = Partition t_a1RFU t_a1RFV
data (!!@#@$) (l_a1RDF :: TyFun [a6989586621679444960] (TyFun Nat a6989586621679444960 -> Type))
data (!!@#@$$) (l_a1RDD :: [a6989586621679444960]) (l_a1RDC :: TyFun Nat a6989586621679444960)
type (!!@#@$$$) (t_a1RDA :: [a6989586621679444960]) (t_a1RDB :: Nat) = (!!) t_a1RDA t_a1RDB
data ElemIndexSym0 (l_a1RXH :: TyFun a6989586621679444989 (TyFun [a6989586621679444989] (Maybe Nat) -> Type))
data ElemIndexSym1 (l_a1RXF :: a6989586621679444989) (l_a1RXE :: TyFun [a6989586621679444989] (Maybe Nat))
type ElemIndexSym2 (t_a1RXC :: a6989586621679444989) (t_a1RXD :: [a6989586621679444989]) = ElemIndex t_a1RXC t_a1RXD
data ElemIndicesSym0 (l_a1RXh :: TyFun a6989586621679444988 (TyFun [a6989586621679444988] [Nat] -> Type))
data ElemIndicesSym1 (l_a1RXf :: a6989586621679444988) (l_a1RXe :: TyFun [a6989586621679444988] [Nat])
type ElemIndicesSym2 (t_a1RXc :: a6989586621679444988) (t_a1RXd :: [a6989586621679444988]) = ElemIndices t_a1RXc t_a1RXd
data FindIndexSym0 (l_a1RXu :: TyFun (TyFun a6989586621679444987 Bool -> Type) (TyFun [a6989586621679444987] (Maybe Nat) -> Type))
data FindIndexSym1 (l_a1RXs :: TyFun a6989586621679444987 Bool -> Type) (l_a1RXr :: TyFun [a6989586621679444987] (Maybe Nat))
type FindIndexSym2 (t_a1RXp :: TyFun a6989586621679444987 Bool -> Type) (t_a1RXq :: [a6989586621679444987]) = FindIndex t_a1RXp t_a1RXq
data FindIndicesSym0 (l_a1RWp :: TyFun (TyFun a6989586621679444986 Bool -> Type) (TyFun [a6989586621679444986] [Nat] -> Type))
data FindIndicesSym1 (l_a1RWn :: TyFun a6989586621679444986 Bool -> Type) (l_a1RWm :: TyFun [a6989586621679444986] [Nat])
type FindIndicesSym2 (t_a1RWk :: TyFun a6989586621679444986 Bool -> Type) (t_a1RWl :: [a6989586621679444986]) = FindIndices t_a1RWk t_a1RWl
data Zip4Sym0 (l_a3Tq2 :: TyFun [a6989586621679924859] (TyFun [b6989586621679924860] (TyFun [c6989586621679924861] (TyFun [d6989586621679924862] [(a6989586621679924859, b6989586621679924860, c6989586621679924861, d6989586621679924862)] -> Type) -> Type) -> Type))
data Zip4Sym1 (l_a3Tq0 :: [a6989586621679924859]) (l_a3TpZ :: TyFun [b6989586621679924860] (TyFun [c6989586621679924861] (TyFun [d6989586621679924862] [(a6989586621679924859, b6989586621679924860, c6989586621679924861, d6989586621679924862)] -> Type) -> Type))
data Zip4Sym2 (l_a3TpW :: [a6989586621679924859]) (l_a3TpX :: [b6989586621679924860]) (l_a3TpV :: TyFun [c6989586621679924861] (TyFun [d6989586621679924862] [(a6989586621679924859, b6989586621679924860, c6989586621679924861, d6989586621679924862)] -> Type))
data Zip4Sym3 (l_a3TpR :: [a6989586621679924859]) (l_a3TpS :: [b6989586621679924860]) (l_a3TpT :: [c6989586621679924861]) (l_a3TpQ :: TyFun [d6989586621679924862] [(a6989586621679924859, b6989586621679924860, c6989586621679924861, d6989586621679924862)])
type Zip4Sym4 (t_a3TpM :: [a6989586621679924859]) (t_a3TpN :: [b6989586621679924860]) (t_a3TpO :: [c6989586621679924861]) (t_a3TpP :: [d6989586621679924862]) = Zip4 t_a3TpM t_a3TpN t_a3TpO t_a3TpP
data Zip5Sym0 (l_a3Tps :: TyFun [a6989586621679924854] (TyFun [b6989586621679924855] (TyFun [c6989586621679924856] (TyFun [d6989586621679924857] (TyFun [e6989586621679924858] [(a6989586621679924854, b6989586621679924855, c6989586621679924856, d6989586621679924857, e6989586621679924858)] -> Type) -> Type) -> Type) -> Type))
data Zip5Sym1 (l_a3Tpq :: [a6989586621679924854]) (l_a3Tpp :: TyFun [b6989586621679924855] (TyFun [c6989586621679924856] (TyFun [d6989586621679924857] (TyFun [e6989586621679924858] [(a6989586621679924854, b6989586621679924855, c6989586621679924856, d6989586621679924857, e6989586621679924858)] -> Type) -> Type) -> Type))
data Zip5Sym2 (l_a3Tpm :: [a6989586621679924854]) (l_a3Tpn :: [b6989586621679924855]) (l_a3Tpl :: TyFun [c6989586621679924856] (TyFun [d6989586621679924857] (TyFun [e6989586621679924858] [(a6989586621679924854, b6989586621679924855, c6989586621679924856, d6989586621679924857, e6989586621679924858)] -> Type) -> Type))
data Zip5Sym3 (l_a3Tph :: [a6989586621679924854]) (l_a3Tpi :: [b6989586621679924855]) (l_a3Tpj :: [c6989586621679924856]) (l_a3Tpg :: TyFun [d6989586621679924857] (TyFun [e6989586621679924858] [(a6989586621679924854, b6989586621679924855, c6989586621679924856, d6989586621679924857, e6989586621679924858)] -> Type))
data Zip5Sym4 (l_a3Tpb :: [a6989586621679924854]) (l_a3Tpc :: [b6989586621679924855]) (l_a3Tpd :: [c6989586621679924856]) (l_a3Tpe :: [d6989586621679924857]) (l_a3Tpa :: TyFun [e6989586621679924858] [(a6989586621679924854, b6989586621679924855, c6989586621679924856, d6989586621679924857, e6989586621679924858)])
type Zip5Sym5 (t_a3Tp5 :: [a6989586621679924854]) (t_a3Tp6 :: [b6989586621679924855]) (t_a3Tp7 :: [c6989586621679924856]) (t_a3Tp8 :: [d6989586621679924857]) (t_a3Tp9 :: [e6989586621679924858]) = Zip5 t_a3Tp5 t_a3Tp6 t_a3Tp7 t_a3Tp8 t_a3Tp9
data Zip6Sym0 (l_a3ToH :: TyFun [a6989586621679924848] (TyFun [b6989586621679924849] (TyFun [c6989586621679924850] (TyFun [d6989586621679924851] (TyFun [e6989586621679924852] (TyFun [f6989586621679924853] [(a6989586621679924848, b6989586621679924849, c6989586621679924850, d6989586621679924851, e6989586621679924852, f6989586621679924853)] -> Type) -> Type) -> Type) -> Type) -> Type))
data Zip6Sym1 (l_a3ToF :: [a6989586621679924848]) (l_a3ToE :: TyFun [b6989586621679924849] (TyFun [c6989586621679924850] (TyFun [d6989586621679924851] (TyFun [e6989586621679924852] (TyFun [f6989586621679924853] [(a6989586621679924848, b6989586621679924849, c6989586621679924850, d6989586621679924851, e6989586621679924852, f6989586621679924853)] -> Type) -> Type) -> Type) -> Type))
data Zip6Sym2 (l_a3ToB :: [a6989586621679924848]) (l_a3ToC :: [b6989586621679924849]) (l_a3ToA :: TyFun [c6989586621679924850] (TyFun [d6989586621679924851] (TyFun [e6989586621679924852] (TyFun [f6989586621679924853] [(a6989586621679924848, b6989586621679924849, c6989586621679924850, d6989586621679924851, e6989586621679924852, f6989586621679924853)] -> Type) -> Type) -> Type))
data Zip6Sym3 (l_a3Tow :: [a6989586621679924848]) (l_a3Tox :: [b6989586621679924849]) (l_a3Toy :: [c6989586621679924850]) (l_a3Tov :: TyFun [d6989586621679924851] (TyFun [e6989586621679924852] (TyFun [f6989586621679924853] [(a6989586621679924848, b6989586621679924849, c6989586621679924850, d6989586621679924851, e6989586621679924852, f6989586621679924853)] -> Type) -> Type))
data Zip6Sym4 (l_a3Toq :: [a6989586621679924848]) (l_a3Tor :: [b6989586621679924849]) (l_a3Tos :: [c6989586621679924850]) (l_a3Tot :: [d6989586621679924851]) (l_a3Top :: TyFun [e6989586621679924852] (TyFun [f6989586621679924853] [(a6989586621679924848, b6989586621679924849, c6989586621679924850, d6989586621679924851, e6989586621679924852, f6989586621679924853)] -> Type))
data Zip6Sym5 (l_a3Toj :: [a6989586621679924848]) (l_a3Tok :: [b6989586621679924849]) (l_a3Tol :: [c6989586621679924850]) (l_a3Tom :: [d6989586621679924851]) (l_a3Ton :: [e6989586621679924852]) (l_a3Toi :: TyFun [f6989586621679924853] [(a6989586621679924848, b6989586621679924849, c6989586621679924850, d6989586621679924851, e6989586621679924852, f6989586621679924853)])
type Zip6Sym6 (t_a3Toc :: [a6989586621679924848]) (t_a3Tod :: [b6989586621679924849]) (t_a3Toe :: [c6989586621679924850]) (t_a3Tof :: [d6989586621679924851]) (t_a3Tog :: [e6989586621679924852]) (t_a3Toh :: [f6989586621679924853]) = Zip6 t_a3Toc t_a3Tod t_a3Toe t_a3Tof t_a3Tog t_a3Toh
data Zip7Sym0 (l_a3TnK :: TyFun [a6989586621679924841] (TyFun [b6989586621679924842] (TyFun [c6989586621679924843] (TyFun [d6989586621679924844] (TyFun [e6989586621679924845] (TyFun [f6989586621679924846] (TyFun [g6989586621679924847] [(a6989586621679924841, b6989586621679924842, c6989586621679924843, d6989586621679924844, e6989586621679924845, f6989586621679924846, g6989586621679924847)] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data Zip7Sym1 (l_a3TnI :: [a6989586621679924841]) (l_a3TnH :: TyFun [b6989586621679924842] (TyFun [c6989586621679924843] (TyFun [d6989586621679924844] (TyFun [e6989586621679924845] (TyFun [f6989586621679924846] (TyFun [g6989586621679924847] [(a6989586621679924841, b6989586621679924842, c6989586621679924843, d6989586621679924844, e6989586621679924845, f6989586621679924846, g6989586621679924847)] -> Type) -> Type) -> Type) -> Type) -> Type))
data Zip7Sym2 (l_a3TnE :: [a6989586621679924841]) (l_a3TnF :: [b6989586621679924842]) (l_a3TnD :: TyFun [c6989586621679924843] (TyFun [d6989586621679924844] (TyFun [e6989586621679924845] (TyFun [f6989586621679924846] (TyFun [g6989586621679924847] [(a6989586621679924841, b6989586621679924842, c6989586621679924843, d6989586621679924844, e6989586621679924845, f6989586621679924846, g6989586621679924847)] -> Type) -> Type) -> Type) -> Type))
data Zip7Sym3 (l_a3Tnz :: [a6989586621679924841]) (l_a3TnA :: [b6989586621679924842]) (l_a3TnB :: [c6989586621679924843]) (l_a3Tny :: TyFun [d6989586621679924844] (TyFun [e6989586621679924845] (TyFun [f6989586621679924846] (TyFun [g6989586621679924847] [(a6989586621679924841, b6989586621679924842, c6989586621679924843, d6989586621679924844, e6989586621679924845, f6989586621679924846, g6989586621679924847)] -> Type) -> Type) -> Type))
data Zip7Sym4 (l_a3Tnt :: [a6989586621679924841]) (l_a3Tnu :: [b6989586621679924842]) (l_a3Tnv :: [c6989586621679924843]) (l_a3Tnw :: [d6989586621679924844]) (l_a3Tns :: TyFun [e6989586621679924845] (TyFun [f6989586621679924846] (TyFun [g6989586621679924847] [(a6989586621679924841, b6989586621679924842, c6989586621679924843, d6989586621679924844, e6989586621679924845, f6989586621679924846, g6989586621679924847)] -> Type) -> Type))
data Zip7Sym5 (l_a3Tnm :: [a6989586621679924841]) (l_a3Tnn :: [b6989586621679924842]) (l_a3Tno :: [c6989586621679924843]) (l_a3Tnp :: [d6989586621679924844]) (l_a3Tnq :: [e6989586621679924845]) (l_a3Tnl :: TyFun [f6989586621679924846] (TyFun [g6989586621679924847] [(a6989586621679924841, b6989586621679924842, c6989586621679924843, d6989586621679924844, e6989586621679924845, f6989586621679924846, g6989586621679924847)] -> Type))
data Zip7Sym6 (l_a3Tne :: [a6989586621679924841]) (l_a3Tnf :: [b6989586621679924842]) (l_a3Tng :: [c6989586621679924843]) (l_a3Tnh :: [d6989586621679924844]) (l_a3Tni :: [e6989586621679924845]) (l_a3Tnj :: [f6989586621679924846]) (l_a3Tnd :: TyFun [g6989586621679924847] [(a6989586621679924841, b6989586621679924842, c6989586621679924843, d6989586621679924844, e6989586621679924845, f6989586621679924846, g6989586621679924847)])
type Zip7Sym7 (t_a3Tn6 :: [a6989586621679924841]) (t_a3Tn7 :: [b6989586621679924842]) (t_a3Tn8 :: [c6989586621679924843]) (t_a3Tn9 :: [d6989586621679924844]) (t_a3Tna :: [e6989586621679924845]) (t_a3Tnb :: [f6989586621679924846]) (t_a3Tnc :: [g6989586621679924847]) = Zip7 t_a3Tn6 t_a3Tn7 t_a3Tn8 t_a3Tn9 t_a3Tna t_a3Tnb t_a3Tnc
data ZipWith4Sym0 (l_a3TmC :: TyFun (TyFun a6989586621679924836 (TyFun b6989586621679924837 (TyFun c6989586621679924838 (TyFun d6989586621679924839 e6989586621679924840 -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679924836] (TyFun [b6989586621679924837] (TyFun [c6989586621679924838] (TyFun [d6989586621679924839] [e6989586621679924840] -> Type) -> Type) -> Type) -> Type))
data ZipWith4Sym1 (l_a3TmA :: TyFun a6989586621679924836 (TyFun b6989586621679924837 (TyFun c6989586621679924838 (TyFun d6989586621679924839 e6989586621679924840 -> Type) -> Type) -> Type) -> Type) (l_a3Tmz :: TyFun [a6989586621679924836] (TyFun [b6989586621679924837] (TyFun [c6989586621679924838] (TyFun [d6989586621679924839] [e6989586621679924840] -> Type) -> Type) -> Type))
data ZipWith4Sym2 (l_a3Tmw :: TyFun a6989586621679924836 (TyFun b6989586621679924837 (TyFun c6989586621679924838 (TyFun d6989586621679924839 e6989586621679924840 -> Type) -> Type) -> Type) -> Type) (l_a3Tmx :: [a6989586621679924836]) (l_a3Tmv :: TyFun [b6989586621679924837] (TyFun [c6989586621679924838] (TyFun [d6989586621679924839] [e6989586621679924840] -> Type) -> Type))
data ZipWith4Sym3 (l_a3Tmr :: TyFun a6989586621679924836 (TyFun b6989586621679924837 (TyFun c6989586621679924838 (TyFun d6989586621679924839 e6989586621679924840 -> Type) -> Type) -> Type) -> Type) (l_a3Tms :: [a6989586621679924836]) (l_a3Tmt :: [b6989586621679924837]) (l_a3Tmq :: TyFun [c6989586621679924838] (TyFun [d6989586621679924839] [e6989586621679924840] -> Type))
data ZipWith4Sym4 (l_a3Tml :: TyFun a6989586621679924836 (TyFun b6989586621679924837 (TyFun c6989586621679924838 (TyFun d6989586621679924839 e6989586621679924840 -> Type) -> Type) -> Type) -> Type) (l_a3Tmm :: [a6989586621679924836]) (l_a3Tmn :: [b6989586621679924837]) (l_a3Tmo :: [c6989586621679924838]) (l_a3Tmk :: TyFun [d6989586621679924839] [e6989586621679924840])
type ZipWith4Sym5 (t_a3Tmf :: TyFun a6989586621679924836 (TyFun b6989586621679924837 (TyFun c6989586621679924838 (TyFun d6989586621679924839 e6989586621679924840 -> Type) -> Type) -> Type) -> Type) (t_a3Tmg :: [a6989586621679924836]) (t_a3Tmh :: [b6989586621679924837]) (t_a3Tmi :: [c6989586621679924838]) (t_a3Tmj :: [d6989586621679924839]) = ZipWith4 t_a3Tmf t_a3Tmg t_a3Tmh t_a3Tmi t_a3Tmj
data ZipWith5Sym0 (l_a3TlW :: TyFun (TyFun a6989586621679924830 (TyFun b6989586621679924831 (TyFun c6989586621679924832 (TyFun d6989586621679924833 (TyFun e6989586621679924834 f6989586621679924835 -> Type) -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679924830] (TyFun [b6989586621679924831] (TyFun [c6989586621679924832] (TyFun [d6989586621679924833] (TyFun [e6989586621679924834] [f6989586621679924835] -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith5Sym1 (l_a3TlU :: TyFun a6989586621679924830 (TyFun b6989586621679924831 (TyFun c6989586621679924832 (TyFun d6989586621679924833 (TyFun e6989586621679924834 f6989586621679924835 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3TlT :: TyFun [a6989586621679924830] (TyFun [b6989586621679924831] (TyFun [c6989586621679924832] (TyFun [d6989586621679924833] (TyFun [e6989586621679924834] [f6989586621679924835] -> Type) -> Type) -> Type) -> Type))
data ZipWith5Sym2 (l_a3TlQ :: TyFun a6989586621679924830 (TyFun b6989586621679924831 (TyFun c6989586621679924832 (TyFun d6989586621679924833 (TyFun e6989586621679924834 f6989586621679924835 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3TlR :: [a6989586621679924830]) (l_a3TlP :: TyFun [b6989586621679924831] (TyFun [c6989586621679924832] (TyFun [d6989586621679924833] (TyFun [e6989586621679924834] [f6989586621679924835] -> Type) -> Type) -> Type))
data ZipWith5Sym3 (l_a3TlL :: TyFun a6989586621679924830 (TyFun b6989586621679924831 (TyFun c6989586621679924832 (TyFun d6989586621679924833 (TyFun e6989586621679924834 f6989586621679924835 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3TlM :: [a6989586621679924830]) (l_a3TlN :: [b6989586621679924831]) (l_a3TlK :: TyFun [c6989586621679924832] (TyFun [d6989586621679924833] (TyFun [e6989586621679924834] [f6989586621679924835] -> Type) -> Type))
data ZipWith5Sym4 (l_a3TlF :: TyFun a6989586621679924830 (TyFun b6989586621679924831 (TyFun c6989586621679924832 (TyFun d6989586621679924833 (TyFun e6989586621679924834 f6989586621679924835 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3TlG :: [a6989586621679924830]) (l_a3TlH :: [b6989586621679924831]) (l_a3TlI :: [c6989586621679924832]) (l_a3TlE :: TyFun [d6989586621679924833] (TyFun [e6989586621679924834] [f6989586621679924835] -> Type))
data ZipWith5Sym5 (l_a3Tly :: TyFun a6989586621679924830 (TyFun b6989586621679924831 (TyFun c6989586621679924832 (TyFun d6989586621679924833 (TyFun e6989586621679924834 f6989586621679924835 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3Tlz :: [a6989586621679924830]) (l_a3TlA :: [b6989586621679924831]) (l_a3TlB :: [c6989586621679924832]) (l_a3TlC :: [d6989586621679924833]) (l_a3Tlx :: TyFun [e6989586621679924834] [f6989586621679924835])
type ZipWith5Sym6 (t_a3Tlr :: TyFun a6989586621679924830 (TyFun b6989586621679924831 (TyFun c6989586621679924832 (TyFun d6989586621679924833 (TyFun e6989586621679924834 f6989586621679924835 -> Type) -> Type) -> Type) -> Type) -> Type) (t_a3Tls :: [a6989586621679924830]) (t_a3Tlt :: [b6989586621679924831]) (t_a3Tlu :: [c6989586621679924832]) (t_a3Tlv :: [d6989586621679924833]) (t_a3Tlw :: [e6989586621679924834]) = ZipWith5 t_a3Tlr t_a3Tls t_a3Tlt t_a3Tlu t_a3Tlv t_a3Tlw
data ZipWith6Sym0 (l_a3Tl5 :: TyFun (TyFun a6989586621679924823 (TyFun b6989586621679924824 (TyFun c6989586621679924825 (TyFun d6989586621679924826 (TyFun e6989586621679924827 (TyFun f6989586621679924828 g6989586621679924829 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679924823] (TyFun [b6989586621679924824] (TyFun [c6989586621679924825] (TyFun [d6989586621679924826] (TyFun [e6989586621679924827] (TyFun [f6989586621679924828] [g6989586621679924829] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith6Sym1 (l_a3Tl3 :: TyFun a6989586621679924823 (TyFun b6989586621679924824 (TyFun c6989586621679924825 (TyFun d6989586621679924826 (TyFun e6989586621679924827 (TyFun f6989586621679924828 g6989586621679924829 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3Tl2 :: TyFun [a6989586621679924823] (TyFun [b6989586621679924824] (TyFun [c6989586621679924825] (TyFun [d6989586621679924826] (TyFun [e6989586621679924827] (TyFun [f6989586621679924828] [g6989586621679924829] -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith6Sym2 (l_a3TkZ :: TyFun a6989586621679924823 (TyFun b6989586621679924824 (TyFun c6989586621679924825 (TyFun d6989586621679924826 (TyFun e6989586621679924827 (TyFun f6989586621679924828 g6989586621679924829 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3Tl0 :: [a6989586621679924823]) (l_a3TkY :: TyFun [b6989586621679924824] (TyFun [c6989586621679924825] (TyFun [d6989586621679924826] (TyFun [e6989586621679924827] (TyFun [f6989586621679924828] [g6989586621679924829] -> Type) -> Type) -> Type) -> Type))
data ZipWith6Sym3 (l_a3TkU :: TyFun a6989586621679924823 (TyFun b6989586621679924824 (TyFun c6989586621679924825 (TyFun d6989586621679924826 (TyFun e6989586621679924827 (TyFun f6989586621679924828 g6989586621679924829 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3TkV :: [a6989586621679924823]) (l_a3TkW :: [b6989586621679924824]) (l_a3TkT :: TyFun [c6989586621679924825] (TyFun [d6989586621679924826] (TyFun [e6989586621679924827] (TyFun [f6989586621679924828] [g6989586621679924829] -> Type) -> Type) -> Type))
data ZipWith6Sym4 (l_a3TkO :: TyFun a6989586621679924823 (TyFun b6989586621679924824 (TyFun c6989586621679924825 (TyFun d6989586621679924826 (TyFun e6989586621679924827 (TyFun f6989586621679924828 g6989586621679924829 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3TkP :: [a6989586621679924823]) (l_a3TkQ :: [b6989586621679924824]) (l_a3TkR :: [c6989586621679924825]) (l_a3TkN :: TyFun [d6989586621679924826] (TyFun [e6989586621679924827] (TyFun [f6989586621679924828] [g6989586621679924829] -> Type) -> Type))
data ZipWith6Sym5 (l_a3TkH :: TyFun a6989586621679924823 (TyFun b6989586621679924824 (TyFun c6989586621679924825 (TyFun d6989586621679924826 (TyFun e6989586621679924827 (TyFun f6989586621679924828 g6989586621679924829 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3TkI :: [a6989586621679924823]) (l_a3TkJ :: [b6989586621679924824]) (l_a3TkK :: [c6989586621679924825]) (l_a3TkL :: [d6989586621679924826]) (l_a3TkG :: TyFun [e6989586621679924827] (TyFun [f6989586621679924828] [g6989586621679924829] -> Type))
data ZipWith6Sym6 (l_a3Tkz :: TyFun a6989586621679924823 (TyFun b6989586621679924824 (TyFun c6989586621679924825 (TyFun d6989586621679924826 (TyFun e6989586621679924827 (TyFun f6989586621679924828 g6989586621679924829 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3TkA :: [a6989586621679924823]) (l_a3TkB :: [b6989586621679924824]) (l_a3TkC :: [c6989586621679924825]) (l_a3TkD :: [d6989586621679924826]) (l_a3TkE :: [e6989586621679924827]) (l_a3Tky :: TyFun [f6989586621679924828] [g6989586621679924829])
type ZipWith6Sym7 (t_a3Tkr :: TyFun a6989586621679924823 (TyFun b6989586621679924824 (TyFun c6989586621679924825 (TyFun d6989586621679924826 (TyFun e6989586621679924827 (TyFun f6989586621679924828 g6989586621679924829 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (t_a3Tks :: [a6989586621679924823]) (t_a3Tkt :: [b6989586621679924824]) (t_a3Tku :: [c6989586621679924825]) (t_a3Tkv :: [d6989586621679924826]) (t_a3Tkw :: [e6989586621679924827]) (t_a3Tkx :: [f6989586621679924828]) = ZipWith6 t_a3Tkr t_a3Tks t_a3Tkt t_a3Tku t_a3Tkv t_a3Tkw t_a3Tkx
data ZipWith7Sym0 (l_a3Tk2 :: TyFun (TyFun a6989586621679924815 (TyFun b6989586621679924816 (TyFun c6989586621679924817 (TyFun d6989586621679924818 (TyFun e6989586621679924819 (TyFun f6989586621679924820 (TyFun g6989586621679924821 h6989586621679924822 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679924815] (TyFun [b6989586621679924816] (TyFun [c6989586621679924817] (TyFun [d6989586621679924818] (TyFun [e6989586621679924819] (TyFun [f6989586621679924820] (TyFun [g6989586621679924821] [h6989586621679924822] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym1 (l_a3Tk0 :: TyFun a6989586621679924815 (TyFun b6989586621679924816 (TyFun c6989586621679924817 (TyFun d6989586621679924818 (TyFun e6989586621679924819 (TyFun f6989586621679924820 (TyFun g6989586621679924821 h6989586621679924822 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3TjZ :: TyFun [a6989586621679924815] (TyFun [b6989586621679924816] (TyFun [c6989586621679924817] (TyFun [d6989586621679924818] (TyFun [e6989586621679924819] (TyFun [f6989586621679924820] (TyFun [g6989586621679924821] [h6989586621679924822] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym2 (l_a3TjW :: TyFun a6989586621679924815 (TyFun b6989586621679924816 (TyFun c6989586621679924817 (TyFun d6989586621679924818 (TyFun e6989586621679924819 (TyFun f6989586621679924820 (TyFun g6989586621679924821 h6989586621679924822 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3TjX :: [a6989586621679924815]) (l_a3TjV :: TyFun [b6989586621679924816] (TyFun [c6989586621679924817] (TyFun [d6989586621679924818] (TyFun [e6989586621679924819] (TyFun [f6989586621679924820] (TyFun [g6989586621679924821] [h6989586621679924822] -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym3 (l_a3TjR :: TyFun a6989586621679924815 (TyFun b6989586621679924816 (TyFun c6989586621679924817 (TyFun d6989586621679924818 (TyFun e6989586621679924819 (TyFun f6989586621679924820 (TyFun g6989586621679924821 h6989586621679924822 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3TjS :: [a6989586621679924815]) (l_a3TjT :: [b6989586621679924816]) (l_a3TjQ :: TyFun [c6989586621679924817] (TyFun [d6989586621679924818] (TyFun [e6989586621679924819] (TyFun [f6989586621679924820] (TyFun [g6989586621679924821] [h6989586621679924822] -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym4 (l_a3TjL :: TyFun a6989586621679924815 (TyFun b6989586621679924816 (TyFun c6989586621679924817 (TyFun d6989586621679924818 (TyFun e6989586621679924819 (TyFun f6989586621679924820 (TyFun g6989586621679924821 h6989586621679924822 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3TjM :: [a6989586621679924815]) (l_a3TjN :: [b6989586621679924816]) (l_a3TjO :: [c6989586621679924817]) (l_a3TjK :: TyFun [d6989586621679924818] (TyFun [e6989586621679924819] (TyFun [f6989586621679924820] (TyFun [g6989586621679924821] [h6989586621679924822] -> Type) -> Type) -> Type))
data ZipWith7Sym5 (l_a3TjE :: TyFun a6989586621679924815 (TyFun b6989586621679924816 (TyFun c6989586621679924817 (TyFun d6989586621679924818 (TyFun e6989586621679924819 (TyFun f6989586621679924820 (TyFun g6989586621679924821 h6989586621679924822 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3TjF :: [a6989586621679924815]) (l_a3TjG :: [b6989586621679924816]) (l_a3TjH :: [c6989586621679924817]) (l_a3TjI :: [d6989586621679924818]) (l_a3TjD :: TyFun [e6989586621679924819] (TyFun [f6989586621679924820] (TyFun [g6989586621679924821] [h6989586621679924822] -> Type) -> Type))
data ZipWith7Sym6 (l_a3Tjw :: TyFun a6989586621679924815 (TyFun b6989586621679924816 (TyFun c6989586621679924817 (TyFun d6989586621679924818 (TyFun e6989586621679924819 (TyFun f6989586621679924820 (TyFun g6989586621679924821 h6989586621679924822 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3Tjx :: [a6989586621679924815]) (l_a3Tjy :: [b6989586621679924816]) (l_a3Tjz :: [c6989586621679924817]) (l_a3TjA :: [d6989586621679924818]) (l_a3TjB :: [e6989586621679924819]) (l_a3Tjv :: TyFun [f6989586621679924820] (TyFun [g6989586621679924821] [h6989586621679924822] -> Type))
data ZipWith7Sym7 (l_a3Tjn :: TyFun a6989586621679924815 (TyFun b6989586621679924816 (TyFun c6989586621679924817 (TyFun d6989586621679924818 (TyFun e6989586621679924819 (TyFun f6989586621679924820 (TyFun g6989586621679924821 h6989586621679924822 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3Tjo :: [a6989586621679924815]) (l_a3Tjp :: [b6989586621679924816]) (l_a3Tjq :: [c6989586621679924817]) (l_a3Tjr :: [d6989586621679924818]) (l_a3Tjs :: [e6989586621679924819]) (l_a3Tjt :: [f6989586621679924820]) (l_a3Tjm :: TyFun [g6989586621679924821] [h6989586621679924822])
type ZipWith7Sym8 (t_a3Tje :: TyFun a6989586621679924815 (TyFun b6989586621679924816 (TyFun c6989586621679924817 (TyFun d6989586621679924818 (TyFun e6989586621679924819 (TyFun f6989586621679924820 (TyFun g6989586621679924821 h6989586621679924822 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (t_a3Tjf :: [a6989586621679924815]) (t_a3Tjg :: [b6989586621679924816]) (t_a3Tjh :: [c6989586621679924817]) (t_a3Tji :: [d6989586621679924818]) (t_a3Tjj :: [e6989586621679924819]) (t_a3Tjk :: [f6989586621679924820]) (t_a3Tjl :: [g6989586621679924821]) = ZipWith7 t_a3Tje t_a3Tjf t_a3Tjg t_a3Tjh t_a3Tji t_a3Tjj t_a3Tjk t_a3Tjl
data UnlinesSym0 (l_a1RRw :: TyFun [Symbol] Symbol)
type UnlinesSym1 (t_a1RRv :: [Symbol]) = Unlines t_a1RRv
data UnwordsSym0 (l_a1RRa :: TyFun [Symbol] Symbol)
type UnwordsSym1 (t_a1RR9 :: [Symbol]) = Unwords t_a1RR9
data NubSym0 (l_a1RYe :: TyFun [a6989586621679444959] [a6989586621679444959])
type NubSym1 (t_a1RYd :: [a6989586621679444959]) = Nub t_a1RYd
data NubBySym0 (l_a1RCD :: TyFun (TyFun a6989586621679444958 (TyFun a6989586621679444958 Bool -> Type) -> Type) (TyFun [a6989586621679444958] [a6989586621679444958] -> Type))
data NubBySym1 (l_a1RCB :: TyFun a6989586621679444958 (TyFun a6989586621679444958 Bool -> Type) -> Type) (l_a1RCA :: TyFun [a6989586621679444958] [a6989586621679444958])
type NubBySym2 (t_a1RCy :: TyFun a6989586621679444958 (TyFun a6989586621679444958 Bool -> Type) -> Type) (t_a1RCz :: [a6989586621679444958]) = NubBy t_a1RCy t_a1RCz
data UnionSym0 (l_a1RQz :: TyFun [a6989586621679444955] (TyFun [a6989586621679444955] [a6989586621679444955] -> Type))
data UnionSym1 (l_a1RQx :: [a6989586621679444955]) (l_a1RQw :: TyFun [a6989586621679444955] [a6989586621679444955])
type UnionSym2 (t_a1RQu :: [a6989586621679444955]) (t_a1RQv :: [a6989586621679444955]) = Union t_a1RQu t_a1RQv
data UnionBySym0 (l_a1RQi :: TyFun (TyFun a6989586621679444956 (TyFun a6989586621679444956 Bool -> Type) -> Type) (TyFun [a6989586621679444956] (TyFun [a6989586621679444956] [a6989586621679444956] -> Type) -> Type))
data UnionBySym1 (l_a1RQg :: TyFun a6989586621679444956 (TyFun a6989586621679444956 Bool -> Type) -> Type) (l_a1RQf :: TyFun [a6989586621679444956] (TyFun [a6989586621679444956] [a6989586621679444956] -> Type))
data UnionBySym2 (l_a1RQc :: TyFun a6989586621679444956 (TyFun a6989586621679444956 Bool -> Type) -> Type) (l_a1RQd :: [a6989586621679444956]) (l_a1RQb :: TyFun [a6989586621679444956] [a6989586621679444956])
type UnionBySym3 (t_a1RQ8 :: TyFun a6989586621679444956 (TyFun a6989586621679444956 Bool -> Type) -> Type) (t_a1RQ9 :: [a6989586621679444956]) (t_a1RQa :: [a6989586621679444956]) = UnionBy t_a1RQ8 t_a1RQ9 t_a1RQa
data GenericLengthSym0 (l_a1RCb :: TyFun [a6989586621679444954] i6989586621679444953)
type GenericLengthSym1 (t_a1RCa :: [a6989586621679444954]) = GenericLength t_a1RCa
data GenericTakeSym0 (l_a3Tj8 :: TyFun i6989586621679924813 (TyFun [a6989586621679924814] [a6989586621679924814] -> Type))
data GenericTakeSym1 (l_a3Tj6 :: i6989586621679924813) (l_a3Tj5 :: TyFun [a6989586621679924814] [a6989586621679924814])
type GenericTakeSym2 (t_a3Tj3 :: i6989586621679924813) (t_a3Tj4 :: [a6989586621679924814]) = GenericTake t_a3Tj3 t_a3Tj4
data GenericDropSym0 (l_a3TiT :: TyFun i6989586621679924811 (TyFun [a6989586621679924812] [a6989586621679924812] -> Type))
data GenericDropSym1 (l_a3TiR :: i6989586621679924811) (l_a3TiQ :: TyFun [a6989586621679924812] [a6989586621679924812])
type GenericDropSym2 (t_a3TiO :: i6989586621679924811) (t_a3TiP :: [a6989586621679924812]) = GenericDrop t_a3TiO t_a3TiP
data GenericSplitAtSym0 (l_a3TiE :: TyFun i6989586621679924809 (TyFun [a6989586621679924810] ([a6989586621679924810], [a6989586621679924810]) -> Type))
data GenericSplitAtSym1 (l_a3TiC :: i6989586621679924809) (l_a3TiB :: TyFun [a6989586621679924810] ([a6989586621679924810], [a6989586621679924810]))
type GenericSplitAtSym2 (t_a3Tiz :: i6989586621679924809) (t_a3TiA :: [a6989586621679924810]) = GenericSplitAt t_a3Tiz t_a3TiA
data GenericIndexSym0 (l_a3Tip :: TyFun [a6989586621679924808] (TyFun i6989586621679924807 a6989586621679924808 -> Type))
data GenericIndexSym1 (l_a3Tin :: [a6989586621679924808]) (l_a3Tim :: TyFun i6989586621679924807 a6989586621679924808)
type GenericIndexSym2 (t_a3Tik :: [a6989586621679924808]) (t_a3Til :: i6989586621679924807) = GenericIndex t_a3Tik t_a3Til
data GenericReplicateSym0 (l_a3Tia :: TyFun i6989586621679924805 (TyFun a6989586621679924806 [a6989586621679924806] -> Type))
data GenericReplicateSym1 (l_a3Ti8 :: i6989586621679924805) (l_a3Ti7 :: TyFun a6989586621679924806 [a6989586621679924806])
type GenericReplicateSym2 (t_a3Ti5 :: i6989586621679924805) (t_a3Ti6 :: a6989586621679924806) = GenericReplicate t_a3Ti5 t_a3Ti6
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 <tt>Prelude</tt>. 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_a1JpV :: TyFun (TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (TyFun b6989586621679422448 (TyFun [a6989586621679422447] b6989586621679422448 -> Type) -> Type))
data FoldrSym1 (l_a1JpT :: TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (l_a1JpS :: TyFun b6989586621679422448 (TyFun [a6989586621679422447] b6989586621679422448 -> Type))
data FoldrSym2 (l_a1JpP :: TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (l_a1JpQ :: b6989586621679422448) (l_a1JpO :: TyFun [a6989586621679422447] b6989586621679422448)
type FoldrSym3 (t_a1JpL :: TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (t_a1JpM :: b6989586621679422448) (t_a1JpN :: [a6989586621679422447]) = Foldr t_a1JpL t_a1JpM t_a1JpN
data MapSym0 (l_a1JpE :: TyFun (TyFun a6989586621679422445 b6989586621679422446 -> Type) (TyFun [a6989586621679422445] [b6989586621679422446] -> Type))
data MapSym1 (l_a1JpC :: TyFun a6989586621679422445 b6989586621679422446 -> Type) (l_a1JpB :: TyFun [a6989586621679422445] [b6989586621679422446])
type MapSym2 (t_a1Jpz :: TyFun a6989586621679422445 b6989586621679422446 -> Type) (t_a1JpA :: [a6989586621679422445]) = Map t_a1Jpz t_a1JpA
data (++@#@$) (l_a1Jpr :: TyFun [a6989586621679422444] (TyFun [a6989586621679422444] [a6989586621679422444] -> Type))
data (++@#@$$) (l_a1Jpp :: [a6989586621679422444]) (l_a1Jpo :: TyFun [a6989586621679422444] [a6989586621679422444])
type (++@#@$$$) (t_a1Jpm :: [a6989586621679422444]) (t_a1Jpn :: [a6989586621679422444]) = (++) t_a1Jpm t_a1Jpn
type OtherwiseSym0 = Otherwise
data IdSym0 (l_a1Jpi :: TyFun a6989586621679422443 a6989586621679422443)
type IdSym1 (t_a1Jph :: a6989586621679422443) = Id t_a1Jph
data ConstSym0 (l_a1JoX :: TyFun a6989586621679422441 (TyFun b6989586621679422442 a6989586621679422441 -> Type))
data ConstSym1 (l_a1JoV :: a6989586621679422441) (l_a1JoU :: TyFun b6989586621679422442 a6989586621679422441)
type ConstSym2 (t_a1JoS :: a6989586621679422441) (t_a1JoT :: b6989586621679422442) = Const t_a1JoS t_a1JoT
data (.@#@$) (l_a1Jom :: TyFun (TyFun b6989586621679422438 c6989586621679422439 -> Type) (TyFun (TyFun a6989586621679422440 b6989586621679422438 -> Type) (TyFun a6989586621679422440 c6989586621679422439 -> Type) -> Type))
data (.@#@$$) (l_a1Jok :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (l_a1Joj :: TyFun (TyFun a6989586621679422440 b6989586621679422438 -> Type) (TyFun a6989586621679422440 c6989586621679422439 -> Type))
data (.@#@$$$) (l_a1Jog :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (l_a1Joh :: TyFun a6989586621679422440 b6989586621679422438 -> Type) (l_a1Jof :: TyFun a6989586621679422440 c6989586621679422439)
type (.@#@$$$$) (t_a1Joc :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (t_a1Jod :: TyFun a6989586621679422440 b6989586621679422438 -> Type) (t_a1Joe :: a6989586621679422440) = (:.) t_a1Joc t_a1Jod t_a1Joe
data ($@#@$) (l_a1JnO :: TyFun (TyFun a6989586621679422432 b6989586621679422433 -> Type) (TyFun a6989586621679422432 b6989586621679422433 -> Type))
data ($@#@$$) (l_a1JnM :: TyFun a6989586621679422432 b6989586621679422433 -> Type) (l_a1JnL :: TyFun a6989586621679422432 b6989586621679422433)
type ($@#@$$$) (t_a1JnJ :: TyFun a6989586621679422432 b6989586621679422433 -> Type) (t_a1JnK :: a6989586621679422432) = ($) t_a1JnJ t_a1JnK
data ($!@#@$) (l_a1Jnv :: TyFun (TyFun a6989586621679422430 b6989586621679422431 -> Type) (TyFun a6989586621679422430 b6989586621679422431 -> Type))
data ($!@#@$$) (l_a1Jnt :: TyFun a6989586621679422430 b6989586621679422431 -> Type) (l_a1Jns :: TyFun a6989586621679422430 b6989586621679422431)
type ($!@#@$$$) (t_a1Jnq :: TyFun a6989586621679422430 b6989586621679422431 -> Type) (t_a1Jnr :: a6989586621679422430) = ($!) t_a1Jnq t_a1Jnr
data FlipSym0 (l_a1Jo4 :: TyFun (TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (TyFun b6989586621679422436 (TyFun a6989586621679422435 c6989586621679422437 -> Type) -> Type))
data FlipSym1 (l_a1Jo2 :: TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (l_a1Jo1 :: TyFun b6989586621679422436 (TyFun a6989586621679422435 c6989586621679422437 -> Type))
data FlipSym2 (l_a1JnY :: TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (l_a1JnZ :: b6989586621679422436) (l_a1JnX :: TyFun a6989586621679422435 c6989586621679422437)
type FlipSym3 (t_a1JnU :: TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (t_a1JnV :: b6989586621679422436) (t_a1JnW :: a6989586621679422435) = Flip t_a1JnU t_a1JnV t_a1JnW
data UntilSym0 (l_a3ZzY :: TyFun (TyFun a6989586621679961472 Bool -> Type) (TyFun (TyFun a6989586621679961472 a6989586621679961472 -> Type) (TyFun a6989586621679961472 a6989586621679961472 -> Type) -> Type))
data UntilSym1 (l_a3ZzW :: TyFun a6989586621679961472 Bool -> Type) (l_a3ZzV :: TyFun (TyFun a6989586621679961472 a6989586621679961472 -> Type) (TyFun a6989586621679961472 a6989586621679961472 -> Type))
data UntilSym2 (l_a3ZzS :: TyFun a6989586621679961472 Bool -> Type) (l_a3ZzT :: TyFun a6989586621679961472 a6989586621679961472 -> Type) (l_a3ZzR :: TyFun a6989586621679961472 a6989586621679961472)
type UntilSym3 (t_a3ZzO :: TyFun a6989586621679961472 Bool -> Type) (t_a3ZzP :: TyFun a6989586621679961472 a6989586621679961472 -> Type) (t_a3ZzQ :: a6989586621679961472) = Until t_a3ZzO t_a3ZzP t_a3ZzQ
data AsTypeOfSym0 (l_a1Jpb :: TyFun a6989586621679422434 (TyFun a6989586621679422434 a6989586621679422434 -> Type))
data AsTypeOfSym1 (l_a1Jp9 :: a6989586621679422434) (l_a1Jp8 :: TyFun a6989586621679422434 a6989586621679422434)
type AsTypeOfSym2 (t_a1Jp6 :: a6989586621679422434) (t_a1Jp7 :: a6989586621679422434) = AsTypeOf t_a1Jp6 t_a1Jp7
data SeqSym0 (l_a1Jnl :: TyFun a6989586621679422428 (TyFun b6989586621679422429 b6989586621679422429 -> Type))
data SeqSym1 (l_a1Jnj :: a6989586621679422428) (l_a1Jni :: TyFun b6989586621679422429 b6989586621679422429)
type SeqSym2 (t_a1Jng :: a6989586621679422428) (t_a1Jnh :: b6989586621679422429) = Seq t_a1Jng t_a1Jnh
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.Let6989586621679961500GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.Let6989586621679961500GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.Let6989586621679961500GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.Let6989586621679961500GoSym3


-- | Mimics the Haskell Prelude, but with promoted types.
module Data.Promotion.Prelude

-- | Type-level <a>If</a>. <tt>If True a b</tt> ==&gt; <tt>a</tt>; <tt>If
--   False a b</tt> ==&gt; <tt>b</tt>

-- | Type-level "not". An injective type family since <tt>4.10.0.0</tt>.

-- | Type-level "and"

-- | Type-level "or"
maybe_ :: b_a1F21 -> (a_a1F22 -> b_a1F21) -> Maybe a_a1F22 -> b_a1F21
either_ :: (a_a3Np5 -> c_a3Np6) -> (b_a3Np7 -> c_a3Np6) -> Either a_a3Np5 b_a3Np7 -> c_a3Np6

-- | (Kind) This is the kind of type-level symbols. Declared here because
--   class IP needs it
data Symbol

-- | The promotion of <a>error</a>. This version is more poly-kinded for
--   easier use.

-- | The promotion of <a>undefined</a>.
class PBounded (a_a3uqO :: Type) where {
    type family MinBound :: a_a3uqO;
    type family MaxBound :: a_a3uqO;
}
type MaxBoundSym0 = MaxBound
type MinBoundSym0 = MinBound
class PEnum (a_a3vtn :: Type) where {
    type family ToEnum (arg_a3vCZ :: Nat) :: a_a3vtn;
    type family FromEnum (arg_a3vD3 :: a_a3vtn) :: Nat;
    type family EnumFromTo (arg_a3vD7 :: a_a3vtn) (arg_a3vD8 :: a_a3vtn) :: [a_a3vtn];
    type family EnumFromThenTo (arg_a3vDg :: a_a3vtn) (arg_a3vDh :: a_a3vtn) (arg_a3vDi :: a_a3vtn) :: [a_a3vtn];
    type Succ a_a3vDN = Apply Succ_6989586621679846408Sym0 a_a3vDN;
    type Pred a_a3vE0 = Apply Pred_6989586621679846421Sym0 a_a3vE0;
    type EnumFromTo a_a3vEh a_a3vEi =
        Apply (Apply EnumFromTo_6989586621679846439Sym0 a_a3vEh) a_a3vEi;
    type EnumFromThenTo a_a3vEK a_a3vEL a_a3vEM =
        Apply (Apply (Apply EnumFromThenTo_6989586621679846469Sym0 a_a3vEK) a_a3vEL) a_a3vEM;
}
data EnumFromThenToSym0 (l_a3vDt :: TyFun a6989586621679845761 (TyFun a6989586621679845761 (TyFun a6989586621679845761 [a6989586621679845761] -> Type) -> Type))
data EnumFromThenToSym1 (l_a3vDr :: a6989586621679845761) (l_a3vDq :: TyFun a6989586621679845761 (TyFun a6989586621679845761 [a6989586621679845761] -> Type))
data EnumFromThenToSym2 (l_a3vDn :: a6989586621679845761) (l_a3vDo :: a6989586621679845761) (l_a3vDm :: TyFun a6989586621679845761 [a6989586621679845761])
type EnumFromThenToSym3 (t_a3vDj :: a6989586621679845761) (t_a3vDk :: a6989586621679845761) (t_a3vDl :: a6989586621679845761) = EnumFromThenTo t_a3vDj t_a3vDk t_a3vDl
data EnumFromToSym0 (l_a3vDe :: TyFun a6989586621679845761 (TyFun a6989586621679845761 [a6989586621679845761] -> Type))
data EnumFromToSym1 (l_a3vDc :: a6989586621679845761) (l_a3vDb :: TyFun a6989586621679845761 [a6989586621679845761])
type EnumFromToSym2 (t_a3vD9 :: a6989586621679845761) (t_a3vDa :: a6989586621679845761) = EnumFromTo t_a3vD9 t_a3vDa
data FromEnumSym0 (l_a3vD5 :: TyFun a6989586621679845761 Nat)
type FromEnumSym1 (t_a3vD4 :: a6989586621679845761) = FromEnum t_a3vD4
data ToEnumSym0 (l_a3vD1 :: TyFun Nat a6989586621679845761)
type ToEnumSym1 (t_a3vD0 :: Nat) = ToEnum t_a3vD0

-- | Exponentiation of type-level naturals.
class PShow (a_a2N1c :: Type) where {
    type family ShowsPrec (arg_a2NxQ :: Nat) (arg_a2NxR :: a_a2N1c) (arg_a2NxS :: Symbol) :: Symbol;
    type family Show_ (arg_a2Ny5 :: a_a2N1c) :: Symbol;
    type family ShowList (arg_a2Ny9 :: [a_a2N1c]) (arg_a2Nya :: Symbol) :: Symbol;
    type ShowsPrec a_a2Nyz a_a2NyA a_a2NyB =
        Apply (Apply (Apply ShowsPrec_6989586621679676950Sym0 a_a2Nyz) a_a2NyA) a_a2NyB;
    type Show_ a_a2NyV = Apply Show__6989586621679676970Sym0 a_a2NyV;
    type ShowList a_a2Nzc a_a2Nzd =
        Apply (Apply ShowList_6989586621679676988Sym0 a_a2Nzc) a_a2Nzd;
}

-- | The <tt>shows</tt> functions return a function that prepends the
--   output <a>String</a> to an existing <a>String</a>. This allows
--   constant-time concatenation of results using function composition.
type ShowS = String -> String

-- | GHC currently has no notion of type-level <a>Char</a>s, so we fake
--   them with single-character <a>Symbol</a>s.
type SChar = Symbol

-- | <a>show</a>, but with an extra underscore so that its promoted
--   counterpart (<a>Show_</a>) will not clash with the <tt>Show</tt>
--   class.
show_ :: Show a => a -> String

-- | The promoted analogue of '(&lt;&gt;)' for <a>Symbol</a>s. This uses
--   the special <a>AppendSymbol</a> type family from <a>GHC.TypeLits</a>.
type a <> b = AppendSymbol a b
type FalseSym0 = False
type TrueSym0 = True
data NotSym0 (l_a1bC3 :: TyFun Bool Bool)
type NotSym1 (t_a1bC2 :: Bool) = Not t_a1bC2
data (&&@#@$) (l_a1bvX :: TyFun Bool (TyFun Bool Bool -> Type))
data (&&@#@$$) (l_a1bvV :: Bool) (l_a1bvU :: TyFun Bool Bool)
type (&&@#@$$$) (t_a1bvS :: Bool) (t_a1bvT :: Bool) = (&&) t_a1bvS t_a1bvT
data (||@#@$) (l_a1bz9 :: TyFun Bool (TyFun Bool Bool -> Type))
data (||@#@$$) (l_a1bz7 :: Bool) (l_a1bz6 :: TyFun Bool Bool)
type (||@#@$$$) (t_a1bz4 :: Bool) (t_a1bz5 :: Bool) = (||) t_a1bz4 t_a1bz5
type OtherwiseSym0 = Otherwise
type NothingSym0 = Nothing
data JustSym0 (l_a10uy :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_a10ux :: a3530822107858468865) = Just t_a10ux
data Maybe_Sym0 (l_a1F2t :: TyFun b6989586621679405849 (TyFun (TyFun a6989586621679405850 b6989586621679405849 -> Type) (TyFun (Maybe a6989586621679405850) b6989586621679405849 -> Type) -> Type))
data Maybe_Sym1 (l_a1F2r :: b6989586621679405849) (l_a1F2q :: TyFun (TyFun a6989586621679405850 b6989586621679405849 -> Type) (TyFun (Maybe a6989586621679405850) b6989586621679405849 -> Type))
data Maybe_Sym2 (l_a1F2n :: b6989586621679405849) (l_a1F2o :: TyFun a6989586621679405850 b6989586621679405849 -> Type) (l_a1F2m :: TyFun (Maybe a6989586621679405850) b6989586621679405849)
type Maybe_Sym3 (t_a1F2j :: b6989586621679405849) (t_a1F2k :: TyFun a6989586621679405850 b6989586621679405849 -> Type) (t_a1F2l :: Maybe a6989586621679405850) = Maybe_ t_a1F2j t_a1F2k t_a1F2l
data LeftSym0 (l_a10va :: TyFun a6989586621679081217 (Either a6989586621679081217 b6989586621679081218))
type LeftSym1 (t_a10v9 :: a6989586621679081217) = Left t_a10v9
data RightSym0 (l_a10vd :: TyFun b6989586621679081218 (Either a6989586621679081217 b6989586621679081218))
type RightSym1 (t_a10vc :: b6989586621679081218) = Right t_a10vc
data Either_Sym0 (l_a3NpP :: TyFun (TyFun a6989586621679914687 c6989586621679914688 -> Type) (TyFun (TyFun b6989586621679914689 c6989586621679914688 -> Type) (TyFun (Either a6989586621679914687 b6989586621679914689) c6989586621679914688 -> Type) -> Type))
data Either_Sym1 (l_a3NpN :: TyFun a6989586621679914687 c6989586621679914688 -> Type) (l_a3NpM :: TyFun (TyFun b6989586621679914689 c6989586621679914688 -> Type) (TyFun (Either a6989586621679914687 b6989586621679914689) c6989586621679914688 -> Type))
data Either_Sym2 (l_a3NpJ :: TyFun a6989586621679914687 c6989586621679914688 -> Type) (l_a3NpK :: TyFun b6989586621679914689 c6989586621679914688 -> Type) (l_a3NpI :: TyFun (Either a6989586621679914687 b6989586621679914689) c6989586621679914688)
type Either_Sym3 (t_a3NpF :: TyFun a6989586621679914687 c6989586621679914688 -> Type) (t_a3NpG :: TyFun b6989586621679914689 c6989586621679914688 -> Type) (t_a3NpH :: Either a6989586621679914687 b6989586621679914689) = Either_ t_a3NpF t_a3NpG t_a3NpH
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_a10vX :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_a10vV :: a3530822107858468865) (l_a10vU :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_a10vS :: a3530822107858468865) (t_a10vT :: b3530822107858468866) = '(t_a10vS, t_a10vT)
data Tuple3Sym0 (l_a10wn :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_a10wl :: a3530822107858468865) (l_a10wk :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_a10wh :: a3530822107858468865) (l_a10wi :: b3530822107858468866) (l_a10wg :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_a10wd :: a3530822107858468865) (t_a10we :: b3530822107858468866) (t_a10wf :: c3530822107858468867) = '(t_a10wd, t_a10we, t_a10wf)
data Tuple4Sym0 (l_a10wY :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_a10wW :: a3530822107858468865) (l_a10wV :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_a10wS :: a3530822107858468865) (l_a10wT :: b3530822107858468866) (l_a10wR :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_a10wN :: a3530822107858468865) (l_a10wO :: b3530822107858468866) (l_a10wP :: c3530822107858468867) (l_a10wM :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_a10wI :: a3530822107858468865) (t_a10wJ :: b3530822107858468866) (t_a10wK :: c3530822107858468867) (t_a10wL :: d3530822107858468868) = '(t_a10wI, t_a10wJ, t_a10wK, t_a10wL)
data Tuple5Sym0 (l_a10xL :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_a10xJ :: a3530822107858468865) (l_a10xI :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_a10xF :: a3530822107858468865) (l_a10xG :: b3530822107858468866) (l_a10xE :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_a10xA :: a3530822107858468865) (l_a10xB :: b3530822107858468866) (l_a10xC :: c3530822107858468867) (l_a10xz :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_a10xu :: a3530822107858468865) (l_a10xv :: b3530822107858468866) (l_a10xw :: c3530822107858468867) (l_a10xx :: d3530822107858468868) (l_a10xt :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_a10xo :: a3530822107858468865) (t_a10xp :: b3530822107858468866) (t_a10xq :: c3530822107858468867) (t_a10xr :: d3530822107858468868) (t_a10xs :: e3530822107858468869) = '(t_a10xo, t_a10xp, t_a10xq, t_a10xr, t_a10xs)
data Tuple6Sym0 (l_a10yL :: 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_a10yJ :: a3530822107858468865) (l_a10yI :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_a10yF :: a3530822107858468865) (l_a10yG :: b3530822107858468866) (l_a10yE :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_a10yA :: a3530822107858468865) (l_a10yB :: b3530822107858468866) (l_a10yC :: c3530822107858468867) (l_a10yz :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_a10yu :: a3530822107858468865) (l_a10yv :: b3530822107858468866) (l_a10yw :: c3530822107858468867) (l_a10yx :: d3530822107858468868) (l_a10yt :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_a10yn :: a3530822107858468865) (l_a10yo :: b3530822107858468866) (l_a10yp :: c3530822107858468867) (l_a10yq :: d3530822107858468868) (l_a10yr :: e3530822107858468869) (l_a10ym :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_a10yg :: a3530822107858468865) (t_a10yh :: b3530822107858468866) (t_a10yi :: c3530822107858468867) (t_a10yj :: d3530822107858468868) (t_a10yk :: e3530822107858468869) (t_a10yl :: f3530822107858468870) = '(t_a10yg, t_a10yh, t_a10yi, t_a10yj, t_a10yk, t_a10yl)
data Tuple7Sym0 (l_a10zZ :: 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_a10zX :: a3530822107858468865) (l_a10zW :: 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_a10zT :: a3530822107858468865) (l_a10zU :: b3530822107858468866) (l_a10zS :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_a10zO :: a3530822107858468865) (l_a10zP :: b3530822107858468866) (l_a10zQ :: c3530822107858468867) (l_a10zN :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_a10zI :: a3530822107858468865) (l_a10zJ :: b3530822107858468866) (l_a10zK :: c3530822107858468867) (l_a10zL :: d3530822107858468868) (l_a10zH :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_a10zB :: a3530822107858468865) (l_a10zC :: b3530822107858468866) (l_a10zD :: c3530822107858468867) (l_a10zE :: d3530822107858468868) (l_a10zF :: e3530822107858468869) (l_a10zA :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_a10zt :: a3530822107858468865) (l_a10zu :: b3530822107858468866) (l_a10zv :: c3530822107858468867) (l_a10zw :: d3530822107858468868) (l_a10zx :: e3530822107858468869) (l_a10zy :: f3530822107858468870) (l_a10zs :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_a10zl :: a3530822107858468865) (t_a10zm :: b3530822107858468866) (t_a10zn :: c3530822107858468867) (t_a10zo :: d3530822107858468868) (t_a10zp :: e3530822107858468869) (t_a10zq :: f3530822107858468870) (t_a10zr :: g3530822107858468871) = '(t_a10zl, t_a10zm, t_a10zn, t_a10zo, t_a10zp, t_a10zq, t_a10zr)
data FstSym0 (l_a1aqE :: TyFun (a6989586621679288102, b6989586621679288103) a6989586621679288102)
type FstSym1 (t_a1aqD :: (a6989586621679288102, b6989586621679288103)) = Fst t_a1aqD
data SndSym0 (l_a1aqz :: TyFun (a6989586621679288100, b6989586621679288101) b6989586621679288101)
type SndSym1 (t_a1aqy :: (a6989586621679288100, b6989586621679288101)) = Snd t_a1aqy
data CurrySym0 (l_a1aqq :: TyFun (TyFun (a6989586621679288097, b6989586621679288098) c6989586621679288099 -> Type) (TyFun a6989586621679288097 (TyFun b6989586621679288098 c6989586621679288099 -> Type) -> Type))
data CurrySym1 (l_a1aqo :: TyFun (a6989586621679288097, b6989586621679288098) c6989586621679288099 -> Type) (l_a1aqn :: TyFun a6989586621679288097 (TyFun b6989586621679288098 c6989586621679288099 -> Type))
data CurrySym2 (l_a1aqk :: TyFun (a6989586621679288097, b6989586621679288098) c6989586621679288099 -> Type) (l_a1aql :: a6989586621679288097) (l_a1aqj :: TyFun b6989586621679288098 c6989586621679288099)
type CurrySym3 (t_a1aqg :: TyFun (a6989586621679288097, b6989586621679288098) c6989586621679288099 -> Type) (t_a1aqh :: a6989586621679288097) (t_a1aqi :: b6989586621679288098) = Curry t_a1aqg t_a1aqh t_a1aqi
data UncurrySym0 (l_a1aqN :: TyFun (TyFun a6989586621679288094 (TyFun b6989586621679288095 c6989586621679288096 -> Type) -> Type) (TyFun (a6989586621679288094, b6989586621679288095) c6989586621679288096 -> Type))
data UncurrySym1 (l_a1aqL :: TyFun a6989586621679288094 (TyFun b6989586621679288095 c6989586621679288096 -> Type) -> Type) (l_a1aqK :: TyFun (a6989586621679288094, b6989586621679288095) c6989586621679288096)
type UncurrySym2 (t_a1aqI :: TyFun a6989586621679288094 (TyFun b6989586621679288095 c6989586621679288096 -> Type) -> Type) (t_a1aqJ :: (a6989586621679288094, b6989586621679288095)) = Uncurry t_a1aqI t_a1aqJ
data ErrorSym0 (l_a1yRO :: TyFun k06989586621679381217 k6989586621679381218)
type ErrorSym1 (t_a1yRN :: k06989586621679381217) = Error t_a1yRN
type UndefinedSym0 = Undefined
data (^@#@$) (l_a1yWs :: TyFun Nat (TyFun Nat Nat -> Type))
data (^@#@$$) (l_a1yWq :: Nat) (l_a1yWp :: TyFun Nat Nat)
type (^@#@$$$) (t_a1yWn :: Nat) (t_a1yWo :: Nat) = (^) t_a1yWn t_a1yWo
data ShowsPrecSym0 (l_a2Ny3 :: TyFun Nat (TyFun a6989586621679674878 (TyFun Symbol Symbol -> Type) -> Type))
data ShowsPrecSym1 (l_a2Ny1 :: Nat) (l_a2Ny0 :: TyFun a6989586621679674878 (TyFun Symbol Symbol -> Type))
data ShowsPrecSym2 (l_a2NxX :: Nat) (l_a2NxY :: a6989586621679674878) (l_a2NxW :: TyFun Symbol Symbol)
type ShowsPrecSym3 (t_a2NxT :: Nat) (t_a2NxU :: a6989586621679674878) (t_a2NxV :: Symbol) = ShowsPrec t_a2NxT t_a2NxU t_a2NxV
data Show_Sym0 (l_a2Ny7 :: TyFun a6989586621679674878 Symbol)
type Show_Sym1 (t_a2Ny6 :: a6989586621679674878) = Show_ t_a2Ny6
data ShowListSym0 (l_a2Nyg :: TyFun [a6989586621679674878] (TyFun Symbol Symbol -> Type))
data ShowListSym1 (l_a2Nye :: [a6989586621679674878]) (l_a2Nyd :: TyFun Symbol Symbol)
type ShowListSym2 (t_a2Nyb :: [a6989586621679674878]) (t_a2Nyc :: Symbol) = ShowList t_a2Nyb t_a2Nyc
data (<>@#@$) l_a1z0l
data (<>@#@$$) (l_a1z0j :: Symbol) l_a1z0i
type (<>@#@$$$) (t_a1z0g :: Symbol) (t_a1z0h :: Symbol) = (<>) t_a1z0g t_a1z0h
data ShowsSym0 (l_a2NxI :: TyFun a6989586621679674863 (TyFun Symbol Symbol -> Type))
data ShowsSym1 (l_a2NxG :: a6989586621679674863) (l_a2NxF :: TyFun Symbol Symbol)
type ShowsSym2 (t_a2NxD :: a6989586621679674863) (t_a2NxE :: Symbol) = Shows t_a2NxD t_a2NxE
data ShowCharSym0 (l_a2NvM :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowCharSym1 (l_a2NvK :: Symbol) (l_a2NvJ :: TyFun Symbol Symbol)
type ShowCharSym2 (t_a2NvH :: Symbol) (t_a2NvI :: Symbol) = ShowChar t_a2NvH t_a2NvI
data ShowStringSym0 (l_a2Nvq :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowStringSym1 (l_a2Nvo :: Symbol) (l_a2Nvn :: TyFun Symbol Symbol)
type ShowStringSym2 (t_a2Nvl :: Symbol) (t_a2Nvm :: Symbol) = ShowString t_a2Nvl t_a2Nvm
data ShowParenSym0 (l_a2Nw2 :: TyFun Bool (TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type) -> Type))
data ShowParenSym1 (l_a2Nw0 :: Bool) (l_a2NvZ :: TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type))
data ShowParenSym2 (l_a2NvW :: Bool) (l_a2NvX :: TyFun Symbol Symbol -> Type) (l_a2NvV :: TyFun Symbol Symbol)
data IdSym0 (l_a1Jpi :: TyFun a6989586621679422443 a6989586621679422443)
type IdSym1 (t_a1Jph :: a6989586621679422443) = Id t_a1Jph
data ConstSym0 (l_a1JoX :: TyFun a6989586621679422441 (TyFun b6989586621679422442 a6989586621679422441 -> Type))
data ConstSym1 (l_a1JoV :: a6989586621679422441) (l_a1JoU :: TyFun b6989586621679422442 a6989586621679422441)
type ConstSym2 (t_a1JoS :: a6989586621679422441) (t_a1JoT :: b6989586621679422442) = Const t_a1JoS t_a1JoT
data (.@#@$) (l_a1Jom :: TyFun (TyFun b6989586621679422438 c6989586621679422439 -> Type) (TyFun (TyFun a6989586621679422440 b6989586621679422438 -> Type) (TyFun a6989586621679422440 c6989586621679422439 -> Type) -> Type))
data (.@#@$$) (l_a1Jok :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (l_a1Joj :: TyFun (TyFun a6989586621679422440 b6989586621679422438 -> Type) (TyFun a6989586621679422440 c6989586621679422439 -> Type))
data (.@#@$$$) (l_a1Jog :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (l_a1Joh :: TyFun a6989586621679422440 b6989586621679422438 -> Type) (l_a1Jof :: TyFun a6989586621679422440 c6989586621679422439)
data ($@#@$) (l_a1JnO :: TyFun (TyFun a6989586621679422432 b6989586621679422433 -> Type) (TyFun a6989586621679422432 b6989586621679422433 -> Type))
data ($@#@$$) (l_a1JnM :: TyFun a6989586621679422432 b6989586621679422433 -> Type) (l_a1JnL :: TyFun a6989586621679422432 b6989586621679422433)
type ($@#@$$$) (t_a1JnJ :: TyFun a6989586621679422432 b6989586621679422433 -> Type) (t_a1JnK :: a6989586621679422432) = ($) t_a1JnJ t_a1JnK
data ($!@#@$) (l_a1Jnv :: TyFun (TyFun a6989586621679422430 b6989586621679422431 -> Type) (TyFun a6989586621679422430 b6989586621679422431 -> Type))
data ($!@#@$$) (l_a1Jnt :: TyFun a6989586621679422430 b6989586621679422431 -> Type) (l_a1Jns :: TyFun a6989586621679422430 b6989586621679422431)
type ($!@#@$$$) (t_a1Jnq :: TyFun a6989586621679422430 b6989586621679422431 -> Type) (t_a1Jnr :: a6989586621679422430) = ($!) t_a1Jnq t_a1Jnr
data FlipSym0 (l_a1Jo4 :: TyFun (TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (TyFun b6989586621679422436 (TyFun a6989586621679422435 c6989586621679422437 -> Type) -> Type))
data FlipSym1 (l_a1Jo2 :: TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (l_a1Jo1 :: TyFun b6989586621679422436 (TyFun a6989586621679422435 c6989586621679422437 -> Type))
data FlipSym2 (l_a1JnY :: TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (l_a1JnZ :: b6989586621679422436) (l_a1JnX :: TyFun a6989586621679422435 c6989586621679422437)
data AsTypeOfSym0 (l_a1Jpb :: TyFun a6989586621679422434 (TyFun a6989586621679422434 a6989586621679422434 -> Type))
data AsTypeOfSym1 (l_a1Jp9 :: a6989586621679422434) (l_a1Jp8 :: TyFun a6989586621679422434 a6989586621679422434)
type AsTypeOfSym2 (t_a1Jp6 :: a6989586621679422434) (t_a1Jp7 :: a6989586621679422434) = AsTypeOf t_a1Jp6 t_a1Jp7
data SeqSym0 (l_a1Jnl :: TyFun a6989586621679422428 (TyFun b6989586621679422429 b6989586621679422429 -> Type))
data SeqSym1 (l_a1Jnj :: a6989586621679422428) (l_a1Jni :: TyFun b6989586621679422429 b6989586621679422429)
type SeqSym2 (t_a1Jng :: a6989586621679422428) (t_a1Jnh :: b6989586621679422429) = Seq t_a1Jng t_a1Jnh
data (:@#@$) (l_a10uS :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:@#@$$) (l_a10uQ :: a3530822107858468865) (l_a10uP :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:@#@$$$) (t_a10uN :: a3530822107858468865) (t_a10uO :: [a3530822107858468865]) = (:) t_a10uN t_a10uO
type NilSym0 = '[]
data MapSym0 (l_a1JpE :: TyFun (TyFun a6989586621679422445 b6989586621679422446 -> Type) (TyFun [a6989586621679422445] [b6989586621679422446] -> Type))
data MapSym1 (l_a1JpC :: TyFun a6989586621679422445 b6989586621679422446 -> Type) (l_a1JpB :: TyFun [a6989586621679422445] [b6989586621679422446])
type MapSym2 (t_a1Jpz :: TyFun a6989586621679422445 b6989586621679422446 -> Type) (t_a1JpA :: [a6989586621679422445]) = Map t_a1Jpz t_a1JpA
data ReverseSym0 (l_a1Smu :: TyFun [a6989586621679445076] [a6989586621679445076])
type ReverseSym1 (t_a1Smt :: [a6989586621679445076]) = Reverse t_a1Smt
data (++@#@$$) (l_a1Jpp :: [a6989586621679422444]) (l_a1Jpo :: TyFun [a6989586621679422444] [a6989586621679422444])
data (++@#@$) (l_a1Jpr :: TyFun [a6989586621679422444] (TyFun [a6989586621679422444] [a6989586621679422444] -> Type))
data HeadSym0 (l_a1SoK :: TyFun [a6989586621679445081] a6989586621679445081)
type HeadSym1 (t_a1SoJ :: [a6989586621679445081]) = Head t_a1SoJ
data LastSym0 (l_a1SoD :: TyFun [a6989586621679445080] a6989586621679445080)
type LastSym1 (t_a1SoC :: [a6989586621679445080]) = Last t_a1SoC
data TailSym0 (l_a1Soy :: TyFun [a6989586621679445079] [a6989586621679445079])
type TailSym1 (t_a1Sox :: [a6989586621679445079]) = Tail t_a1Sox
data InitSym0 (l_a1So4 :: TyFun [a6989586621679445078] [a6989586621679445078])
type InitSym1 (t_a1So3 :: [a6989586621679445078]) = Init t_a1So3
data NullSym0 (l_a1Sn3 :: TyFun [a6989586621679445077] Bool)
type NullSym1 (t_a1Sn2 :: [a6989586621679445077]) = Null t_a1Sn2
data FoldlSym0 (l_a13tt :: TyFun (TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (TyFun b6989586621679261435 (TyFun [a6989586621679261434] b6989586621679261435 -> Type) -> Type))
data FoldlSym1 (l_a13tr :: TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (l_a13tq :: TyFun b6989586621679261435 (TyFun [a6989586621679261434] b6989586621679261435 -> Type))
data FoldlSym2 (l_a13tn :: TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (l_a13to :: b6989586621679261435) (l_a13tm :: TyFun [a6989586621679261434] b6989586621679261435)
type FoldlSym3 (t_a13tj :: TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (t_a13tk :: b6989586621679261435) (t_a13tl :: [a6989586621679261434]) = Foldl t_a13tj t_a13tk t_a13tl
data Foldl1Sym0 (l_a1SaM :: TyFun (TyFun a6989586621679445067 (TyFun a6989586621679445067 a6989586621679445067 -> Type) -> Type) (TyFun [a6989586621679445067] a6989586621679445067 -> Type))
data Foldl1Sym1 (l_a1SaK :: TyFun a6989586621679445067 (TyFun a6989586621679445067 a6989586621679445067 -> Type) -> Type) (l_a1SaJ :: TyFun [a6989586621679445067] a6989586621679445067)
type Foldl1Sym2 (t_a1SaH :: TyFun a6989586621679445067 (TyFun a6989586621679445067 a6989586621679445067 -> Type) -> Type) (t_a1SaI :: [a6989586621679445067]) = Foldl1 t_a1SaH t_a1SaI
data FoldrSym0 (l_a1JpV :: TyFun (TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (TyFun b6989586621679422448 (TyFun [a6989586621679422447] b6989586621679422448 -> Type) -> Type))
data FoldrSym1 (l_a1JpT :: TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (l_a1JpS :: TyFun b6989586621679422448 (TyFun [a6989586621679422447] b6989586621679422448 -> Type))
data FoldrSym2 (l_a1JpP :: TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (l_a1JpQ :: b6989586621679422448) (l_a1JpO :: TyFun [a6989586621679422447] b6989586621679422448)
type FoldrSym3 (t_a1JpL :: TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (t_a1JpM :: b6989586621679422448) (t_a1JpN :: [a6989586621679422447]) = Foldr t_a1JpL t_a1JpM t_a1JpN
data Foldr1Sym0 (l_a1Saf :: TyFun (TyFun a6989586621679445065 (TyFun a6989586621679445065 a6989586621679445065 -> Type) -> Type) (TyFun [a6989586621679445065] a6989586621679445065 -> Type))
data Foldr1Sym1 (l_a1Sad :: TyFun a6989586621679445065 (TyFun a6989586621679445065 a6989586621679445065 -> Type) -> Type) (l_a1Sac :: TyFun [a6989586621679445065] a6989586621679445065)
type Foldr1Sym2 (t_a1Saa :: TyFun a6989586621679445065 (TyFun a6989586621679445065 a6989586621679445065 -> Type) -> Type) (t_a1Sab :: [a6989586621679445065]) = Foldr1 t_a1Saa t_a1Sab
data ConcatSym0 (l_a1Sa6 :: TyFun [[a6989586621679445064]] [a6989586621679445064])
type ConcatSym1 (t_a1Sa5 :: [[a6989586621679445064]]) = Concat t_a1Sa5
data ConcatMapSym0 (l_a1S9V :: TyFun (TyFun a6989586621679445062 [b6989586621679445063] -> Type) (TyFun [a6989586621679445062] [b6989586621679445063] -> Type))
data ConcatMapSym1 (l_a1S9T :: TyFun a6989586621679445062 [b6989586621679445063] -> Type) (l_a1S9S :: TyFun [a6989586621679445062] [b6989586621679445063])
type ConcatMapSym2 (t_a1S9Q :: TyFun a6989586621679445062 [b6989586621679445063] -> Type) (t_a1S9R :: [a6989586621679445062]) = ConcatMap t_a1S9Q t_a1S9R
data MaximumBySym0 (l_a1SaY :: TyFun (TyFun a6989586621679444993 (TyFun a6989586621679444993 Ordering -> Type) -> Type) (TyFun [a6989586621679444993] a6989586621679444993 -> Type))
data MaximumBySym1 (l_a1SaW :: TyFun a6989586621679444993 (TyFun a6989586621679444993 Ordering -> Type) -> Type) (l_a1SaV :: TyFun [a6989586621679444993] a6989586621679444993)
type MaximumBySym2 (t_a1SaT :: TyFun a6989586621679444993 (TyFun a6989586621679444993 Ordering -> Type) -> Type) (t_a1SaU :: [a6989586621679444993]) = MaximumBy t_a1SaT t_a1SaU
data MinimumBySym0 (l_a1Sck :: TyFun (TyFun a6989586621679444992 (TyFun a6989586621679444992 Ordering -> Type) -> Type) (TyFun [a6989586621679444992] a6989586621679444992 -> Type))
data MinimumBySym1 (l_a1Sci :: TyFun a6989586621679444992 (TyFun a6989586621679444992 Ordering -> Type) -> Type) (l_a1Sch :: TyFun [a6989586621679444992] a6989586621679444992)
type MinimumBySym2 (t_a1Scf :: TyFun a6989586621679444992 (TyFun a6989586621679444992 Ordering -> Type) -> Type) (t_a1Scg :: [a6989586621679444992]) = MinimumBy t_a1Scf t_a1Scg
data AndSym0 (l_a1S9L :: TyFun [Bool] Bool)
type AndSym1 (t_a1S9K :: [Bool]) = And t_a1S9K
data OrSym0 (l_a1S9F :: TyFun [Bool] Bool)
type OrSym1 (t_a1S9E :: [Bool]) = Or t_a1S9E
data AnySym0 (l_a1S7b :: TyFun (TyFun a6989586621679445060 Bool -> Type) (TyFun [a6989586621679445060] Bool -> Type))
data AnySym1 (l_a1S79 :: TyFun a6989586621679445060 Bool -> Type) (l_a1S78 :: TyFun [a6989586621679445060] Bool)
type AnySym2 (t_a1S76 :: TyFun a6989586621679445060 Bool -> Type) (t_a1S77 :: [a6989586621679445060]) = Any t_a1S76 t_a1S77
data AllSym0 (l_a1S9x :: TyFun (TyFun a6989586621679445061 Bool -> Type) (TyFun [a6989586621679445061] Bool -> Type))
data AllSym1 (l_a1S9v :: TyFun a6989586621679445061 Bool -> Type) (l_a1S9u :: TyFun [a6989586621679445061] Bool)
type AllSym2 (t_a1S9s :: TyFun a6989586621679445061 Bool -> Type) (t_a1S9t :: [a6989586621679445061]) = All t_a1S9s t_a1S9t
data ScanlSym0 (l_a1S6H :: TyFun (TyFun b6989586621679445058 (TyFun a6989586621679445059 b6989586621679445058 -> Type) -> Type) (TyFun b6989586621679445058 (TyFun [a6989586621679445059] [b6989586621679445058] -> Type) -> Type))
data ScanlSym1 (l_a1S6F :: TyFun b6989586621679445058 (TyFun a6989586621679445059 b6989586621679445058 -> Type) -> Type) (l_a1S6E :: TyFun b6989586621679445058 (TyFun [a6989586621679445059] [b6989586621679445058] -> Type))
data ScanlSym2 (l_a1S6B :: TyFun b6989586621679445058 (TyFun a6989586621679445059 b6989586621679445058 -> Type) -> Type) (l_a1S6C :: b6989586621679445058) (l_a1S6A :: TyFun [a6989586621679445059] [b6989586621679445058])
type ScanlSym3 (t_a1S6x :: TyFun b6989586621679445058 (TyFun a6989586621679445059 b6989586621679445058 -> Type) -> Type) (t_a1S6y :: b6989586621679445058) (t_a1S6z :: [a6989586621679445059]) = Scanl t_a1S6x t_a1S6y t_a1S6z
data Scanl1Sym0 (l_a1S6Z :: TyFun (TyFun a6989586621679445057 (TyFun a6989586621679445057 a6989586621679445057 -> Type) -> Type) (TyFun [a6989586621679445057] [a6989586621679445057] -> Type))
data Scanl1Sym1 (l_a1S6X :: TyFun a6989586621679445057 (TyFun a6989586621679445057 a6989586621679445057 -> Type) -> Type) (l_a1S6W :: TyFun [a6989586621679445057] [a6989586621679445057])
type Scanl1Sym2 (t_a1S6U :: TyFun a6989586621679445057 (TyFun a6989586621679445057 a6989586621679445057 -> Type) -> Type) (t_a1S6V :: [a6989586621679445057]) = Scanl1 t_a1S6U t_a1S6V
data ScanrSym0 (l_a1S5Z :: TyFun (TyFun a6989586621679445055 (TyFun b6989586621679445056 b6989586621679445056 -> Type) -> Type) (TyFun b6989586621679445056 (TyFun [a6989586621679445055] [b6989586621679445056] -> Type) -> Type))
data ScanrSym1 (l_a1S5X :: TyFun a6989586621679445055 (TyFun b6989586621679445056 b6989586621679445056 -> Type) -> Type) (l_a1S5W :: TyFun b6989586621679445056 (TyFun [a6989586621679445055] [b6989586621679445056] -> Type))
data ScanrSym2 (l_a1S5T :: TyFun a6989586621679445055 (TyFun b6989586621679445056 b6989586621679445056 -> Type) -> Type) (l_a1S5U :: b6989586621679445056) (l_a1S5S :: TyFun [a6989586621679445055] [b6989586621679445056])
type ScanrSym3 (t_a1S5P :: TyFun a6989586621679445055 (TyFun b6989586621679445056 b6989586621679445056 -> Type) -> Type) (t_a1S5Q :: b6989586621679445056) (t_a1S5R :: [a6989586621679445055]) = Scanr t_a1S5P t_a1S5Q t_a1S5R
data Scanr1Sym0 (l_a1S4Z :: TyFun (TyFun a6989586621679445054 (TyFun a6989586621679445054 a6989586621679445054 -> Type) -> Type) (TyFun [a6989586621679445054] [a6989586621679445054] -> Type))
data Scanr1Sym1 (l_a1S4X :: TyFun a6989586621679445054 (TyFun a6989586621679445054 a6989586621679445054 -> Type) -> Type) (l_a1S4W :: TyFun [a6989586621679445054] [a6989586621679445054])
type Scanr1Sym2 (t_a1S4U :: TyFun a6989586621679445054 (TyFun a6989586621679445054 a6989586621679445054 -> Type) -> Type) (t_a1S4V :: [a6989586621679445054]) = Scanr1 t_a1S4U t_a1S4V
data ElemSym0 (l_a1RY6 :: TyFun a6989586621679445040 (TyFun [a6989586621679445040] Bool -> Type))
data ElemSym1 (l_a1RY4 :: a6989586621679445040) (l_a1RY3 :: TyFun [a6989586621679445040] Bool)
type ElemSym2 (t_a1RY1 :: a6989586621679445040) (t_a1RY2 :: [a6989586621679445040]) = Elem t_a1RY1 t_a1RY2
data NotElemSym0 (l_a1RXU :: TyFun a6989586621679445039 (TyFun [a6989586621679445039] Bool -> Type))
data NotElemSym1 (l_a1RXS :: a6989586621679445039) (l_a1RXR :: TyFun [a6989586621679445039] Bool)
type NotElemSym2 (t_a1RXP :: a6989586621679445039) (t_a1RXQ :: [a6989586621679445039]) = NotElem t_a1RXP t_a1RXQ
data ZipSym0 (l_a1RWc :: TyFun [a6989586621679445037] (TyFun [b6989586621679445038] [(a6989586621679445037, b6989586621679445038)] -> Type))
data ZipSym1 (l_a1RWa :: [a6989586621679445037]) (l_a1RW9 :: TyFun [b6989586621679445038] [(a6989586621679445037, b6989586621679445038)])
type ZipSym2 (t_a1RW7 :: [a6989586621679445037]) (t_a1RW8 :: [b6989586621679445038]) = Zip t_a1RW7 t_a1RW8
data Zip3Sym0 (l_a1RVW :: TyFun [a6989586621679445034] (TyFun [b6989586621679445035] (TyFun [c6989586621679445036] [(a6989586621679445034, b6989586621679445035, c6989586621679445036)] -> Type) -> Type))
data Zip3Sym1 (l_a1RVU :: [a6989586621679445034]) (l_a1RVT :: TyFun [b6989586621679445035] (TyFun [c6989586621679445036] [(a6989586621679445034, b6989586621679445035, c6989586621679445036)] -> Type))
data Zip3Sym2 (l_a1RVQ :: [a6989586621679445034]) (l_a1RVR :: [b6989586621679445035]) (l_a1RVP :: TyFun [c6989586621679445036] [(a6989586621679445034, b6989586621679445035, c6989586621679445036)])
type Zip3Sym3 (t_a1RVM :: [a6989586621679445034]) (t_a1RVN :: [b6989586621679445035]) (t_a1RVO :: [c6989586621679445036]) = Zip3 t_a1RVM t_a1RVN t_a1RVO
data ZipWithSym0 (l_a1RVC :: TyFun (TyFun a6989586621679445031 (TyFun b6989586621679445032 c6989586621679445033 -> Type) -> Type) (TyFun [a6989586621679445031] (TyFun [b6989586621679445032] [c6989586621679445033] -> Type) -> Type))
data ZipWithSym1 (l_a1RVA :: TyFun a6989586621679445031 (TyFun b6989586621679445032 c6989586621679445033 -> Type) -> Type) (l_a1RVz :: TyFun [a6989586621679445031] (TyFun [b6989586621679445032] [c6989586621679445033] -> Type))
data ZipWithSym2 (l_a1RVw :: TyFun a6989586621679445031 (TyFun b6989586621679445032 c6989586621679445033 -> Type) -> Type) (l_a1RVx :: [a6989586621679445031]) (l_a1RVv :: TyFun [b6989586621679445032] [c6989586621679445033])
type ZipWithSym3 (t_a1RVs :: TyFun a6989586621679445031 (TyFun b6989586621679445032 c6989586621679445033 -> Type) -> Type) (t_a1RVt :: [a6989586621679445031]) (t_a1RVu :: [b6989586621679445032]) = ZipWith t_a1RVs t_a1RVt t_a1RVu
data ZipWith3Sym0 (l_a1RVf :: TyFun (TyFun a6989586621679445027 (TyFun b6989586621679445028 (TyFun c6989586621679445029 d6989586621679445030 -> Type) -> Type) -> Type) (TyFun [a6989586621679445027] (TyFun [b6989586621679445028] (TyFun [c6989586621679445029] [d6989586621679445030] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1RVd :: TyFun a6989586621679445027 (TyFun b6989586621679445028 (TyFun c6989586621679445029 d6989586621679445030 -> Type) -> Type) -> Type) (l_a1RVc :: TyFun [a6989586621679445027] (TyFun [b6989586621679445028] (TyFun [c6989586621679445029] [d6989586621679445030] -> Type) -> Type))
data ZipWith3Sym2 (l_a1RV9 :: TyFun a6989586621679445027 (TyFun b6989586621679445028 (TyFun c6989586621679445029 d6989586621679445030 -> Type) -> Type) -> Type) (l_a1RVa :: [a6989586621679445027]) (l_a1RV8 :: TyFun [b6989586621679445028] (TyFun [c6989586621679445029] [d6989586621679445030] -> Type))
data ZipWith3Sym3 (l_a1RV4 :: TyFun a6989586621679445027 (TyFun b6989586621679445028 (TyFun c6989586621679445029 d6989586621679445030 -> Type) -> Type) -> Type) (l_a1RV5 :: [a6989586621679445027]) (l_a1RV6 :: [b6989586621679445028]) (l_a1RV3 :: TyFun [c6989586621679445029] [d6989586621679445030])
data UnzipSym0 (l_a1RUw :: TyFun [(a6989586621679445025, b6989586621679445026)] ([a6989586621679445025], [b6989586621679445026]))
type UnzipSym1 (t_a1RUv :: [(a6989586621679445025, b6989586621679445026)]) = Unzip t_a1RUv
data UnlinesSym0 (l_a1RRw :: TyFun [Symbol] Symbol)
type UnlinesSym1 (t_a1RRv :: [Symbol]) = Unlines t_a1RRv
data UnwordsSym0 (l_a1RRa :: TyFun [Symbol] Symbol)
type UnwordsSym1 (t_a1RR9 :: [Symbol]) = Unwords t_a1RR9
data UntilSym0 (l_a3ZzY :: TyFun (TyFun a6989586621679961472 Bool -> Type) (TyFun (TyFun a6989586621679961472 a6989586621679961472 -> Type) (TyFun a6989586621679961472 a6989586621679961472 -> Type) -> Type))
data UntilSym1 (l_a3ZzW :: TyFun a6989586621679961472 Bool -> Type) (l_a3ZzV :: TyFun (TyFun a6989586621679961472 a6989586621679961472 -> Type) (TyFun a6989586621679961472 a6989586621679961472 -> Type))
data UntilSym2 (l_a3ZzS :: TyFun a6989586621679961472 Bool -> Type) (l_a3ZzT :: TyFun a6989586621679961472 a6989586621679961472 -> Type) (l_a3ZzR :: TyFun a6989586621679961472 a6989586621679961472)
type UntilSym3 (t_a3ZzO :: TyFun a6989586621679961472 Bool -> Type) (t_a3ZzP :: TyFun a6989586621679961472 a6989586621679961472 -> Type) (t_a3ZzQ :: a6989586621679961472) = Until t_a3ZzO t_a3ZzP t_a3ZzQ
data LengthSym0 (l_a1REp :: TyFun [a6989586621679444963] Nat)
type LengthSym1 (t_a1REo :: [a6989586621679444963]) = Length t_a1REo
data SumSym0 (l_a1RES :: TyFun [a6989586621679444965] a6989586621679444965)
type SumSym1 (t_a1RER :: [a6989586621679444965]) = Sum t_a1RER
data ProductSym0 (l_a1REu :: TyFun [a6989586621679444964] a6989586621679444964)
type ProductSym1 (t_a1REt :: [a6989586621679444964]) = Product t_a1REt
data ReplicateSym0 (l_a1RE7 :: TyFun Nat (TyFun a6989586621679444962 [a6989586621679444962] -> Type))
data ReplicateSym1 (l_a1RE5 :: Nat) (l_a1RE4 :: TyFun a6989586621679444962 [a6989586621679444962])
type ReplicateSym2 (t_a1RE2 :: Nat) (t_a1RE3 :: a6989586621679444962) = Replicate t_a1RE2 t_a1RE3
data TakeSym0 (l_a1RHc :: TyFun Nat (TyFun [a6989586621679444978] [a6989586621679444978] -> Type))
data TakeSym1 (l_a1RHa :: Nat) (l_a1RH9 :: TyFun [a6989586621679444978] [a6989586621679444978])
type TakeSym2 (t_a1RH7 :: Nat) (t_a1RH8 :: [a6989586621679444978]) = Take t_a1RH7 t_a1RH8
data DropSym0 (l_a1RGK :: TyFun Nat (TyFun [a6989586621679444977] [a6989586621679444977] -> Type))
data DropSym1 (l_a1RGI :: Nat) (l_a1RGH :: TyFun [a6989586621679444977] [a6989586621679444977])
type DropSym2 (t_a1RGF :: Nat) (t_a1RGG :: [a6989586621679444977]) = Drop t_a1RGF t_a1RGG
data SplitAtSym0 (l_a1RHE :: TyFun Nat (TyFun [a6989586621679444976] ([a6989586621679444976], [a6989586621679444976]) -> Type))
data SplitAtSym1 (l_a1RHC :: Nat) (l_a1RHB :: TyFun [a6989586621679444976] ([a6989586621679444976], [a6989586621679444976]))
type SplitAtSym2 (t_a1RHz :: Nat) (t_a1RHA :: [a6989586621679444976]) = SplitAt t_a1RHz t_a1RHA
data TakeWhileSym0 (l_a1RMA :: TyFun (TyFun a6989586621679444983 Bool -> Type) (TyFun [a6989586621679444983] [a6989586621679444983] -> Type))
data TakeWhileSym1 (l_a1RMy :: TyFun a6989586621679444983 Bool -> Type) (l_a1RMx :: TyFun [a6989586621679444983] [a6989586621679444983])
type TakeWhileSym2 (t_a1RMv :: TyFun a6989586621679444983 Bool -> Type) (t_a1RMw :: [a6989586621679444983]) = TakeWhile t_a1RMv t_a1RMw
data DropWhileSym0 (l_a1RLV :: TyFun (TyFun a6989586621679444982 Bool -> Type) (TyFun [a6989586621679444982] [a6989586621679444982] -> Type))
data DropWhileSym1 (l_a1RLT :: TyFun a6989586621679444982 Bool -> Type) (l_a1RLS :: TyFun [a6989586621679444982] [a6989586621679444982])
type DropWhileSym2 (t_a1RLQ :: TyFun a6989586621679444982 Bool -> Type) (t_a1RLR :: [a6989586621679444982]) = DropWhile t_a1RLQ t_a1RLR
data SpanSym0 (l_a1RJk :: TyFun (TyFun a6989586621679444980 Bool -> Type) (TyFun [a6989586621679444980] ([a6989586621679444980], [a6989586621679444980]) -> Type))
data SpanSym1 (l_a1RJi :: TyFun a6989586621679444980 Bool -> Type) (l_a1RJh :: TyFun [a6989586621679444980] ([a6989586621679444980], [a6989586621679444980]))
type SpanSym2 (t_a1RJf :: TyFun a6989586621679444980 Bool -> Type) (t_a1RJg :: [a6989586621679444980]) = Span t_a1RJf t_a1RJg
data BreakSym0 (l_a1RHP :: TyFun (TyFun a6989586621679444979 Bool -> Type) (TyFun [a6989586621679444979] ([a6989586621679444979], [a6989586621679444979]) -> Type))
data BreakSym1 (l_a1RHN :: TyFun a6989586621679444979 Bool -> Type) (l_a1RHM :: TyFun [a6989586621679444979] ([a6989586621679444979], [a6989586621679444979]))
type BreakSym2 (t_a1RHK :: TyFun a6989586621679444979 Bool -> Type) (t_a1RHL :: [a6989586621679444979]) = Break t_a1RHK t_a1RHL
data LookupSym0 (l_a1RGa :: TyFun a6989586621679444968 (TyFun [(a6989586621679444968, b6989586621679444969)] (Maybe b6989586621679444969) -> Type))
data LookupSym1 (l_a1RG8 :: a6989586621679444968) (l_a1RG7 :: TyFun [(a6989586621679444968, b6989586621679444969)] (Maybe b6989586621679444969))
type LookupSym2 (t_a1RG5 :: a6989586621679444968) (t_a1RG6 :: [(a6989586621679444968, b6989586621679444969)]) = Lookup t_a1RG5 t_a1RG6
data FilterSym0 (l_a1RN2 :: TyFun (TyFun a6989586621679444991 Bool -> Type) (TyFun [a6989586621679444991] [a6989586621679444991] -> Type))
data FilterSym1 (l_a1RN0 :: TyFun a6989586621679444991 Bool -> Type) (l_a1RMZ :: TyFun [a6989586621679444991] [a6989586621679444991])
type FilterSym2 (t_a1RMX :: TyFun a6989586621679444991 Bool -> Type) (t_a1RMY :: [a6989586621679444991]) = Filter t_a1RMX t_a1RMY
data (!!@#@$) (l_a1RDF :: TyFun [a6989586621679444960] (TyFun Nat a6989586621679444960 -> Type))
data (!!@#@$$) (l_a1RDD :: [a6989586621679444960]) (l_a1RDC :: TyFun Nat a6989586621679444960)
type (!!@#@$$$) (t_a1RDA :: [a6989586621679444960]) (t_a1RDB :: Nat) = (!!) t_a1RDA t_a1RDB


-- | 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_aiA1 b_aiA2 -> 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 <a>If</a>. <tt>If True a b</tt> ==&gt; <tt>a</tt>; <tt>If
--   False a b</tt> ==&gt; <tt>b</tt>

-- | Conditional over singletons
sIf :: Sing a -> Sing b -> Sing c -> Sing (If a b c)

-- | Type-level "not". An injective type family since <tt>4.10.0.0</tt>.

-- | 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 <a>error</a>. This version is more poly-kinded for
--   easier use.

-- | The singleton for <a>error</a>
sError :: Sing (str :: Symbol) -> a

-- | The promotion of <a>undefined</a>.

-- | The singleton for <a>undefined</a>.
sUndefined :: a
class SBounded a_a3uqO
sMinBound :: SBounded a_a3uqO => Sing (MinBoundSym0 :: a_a3uqO)
sMaxBound :: SBounded a_a3uqO => Sing (MaxBoundSym0 :: a_a3uqO)
class PBounded (a_a3uqO :: Type) where {
    type family MinBound :: a_a3uqO;
    type family MaxBound :: a_a3uqO;
}
type MaxBoundSym0 = MaxBound
type MinBoundSym0 = MinBound
class SEnum a_a3vtn
sToEnum :: forall (t_a3vHm :: Nat). SEnum a_a3vtn => Sing t_a3vHm -> Sing (Apply ToEnumSym0 t_a3vHm :: a_a3vtn)
sFromEnum :: forall (t_a3vHn :: a_a3vtn). SEnum a_a3vtn => Sing t_a3vHn -> Sing (Apply FromEnumSym0 t_a3vHn :: Nat)
sEnumFromTo :: forall (t_a3vHo :: a_a3vtn) (t_a3vHp :: a_a3vtn). SEnum a_a3vtn => Sing t_a3vHo -> Sing t_a3vHp -> Sing (Apply (Apply EnumFromToSym0 t_a3vHo) t_a3vHp :: [a_a3vtn])
sEnumFromThenTo :: forall (t_a3vHq :: a_a3vtn) (t_a3vHr :: a_a3vtn) (t_a3vHs :: a_a3vtn). SEnum a_a3vtn => Sing t_a3vHq -> Sing t_a3vHr -> Sing t_a3vHs -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3vHq) t_a3vHr) t_a3vHs :: [a_a3vtn])
sEnumFromTo :: forall (t_a3vHo :: a_a3vtn) (t_a3vHp :: a_a3vtn). (SEnum a_a3vtn, (Apply (Apply EnumFromToSym0 t_a3vHo) t_a3vHp :: [a_a3vtn]) ~ Apply (Apply EnumFromTo_6989586621679846439Sym0 t_a3vHo) t_a3vHp) => Sing t_a3vHo -> Sing t_a3vHp -> Sing (Apply (Apply EnumFromToSym0 t_a3vHo) t_a3vHp :: [a_a3vtn])
sEnumFromThenTo :: forall (t_a3vHq :: a_a3vtn) (t_a3vHr :: a_a3vtn) (t_a3vHs :: a_a3vtn). (SEnum a_a3vtn, (Apply (Apply (Apply EnumFromThenToSym0 t_a3vHq) t_a3vHr) t_a3vHs :: [a_a3vtn]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679846469Sym0 t_a3vHq) t_a3vHr) t_a3vHs) => Sing t_a3vHq -> Sing t_a3vHr -> Sing t_a3vHs -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3vHq) t_a3vHr) t_a3vHs :: [a_a3vtn])
class PEnum (a_a3vtn :: Type) where {
    type family ToEnum (arg_a3vCZ :: Nat) :: a_a3vtn;
    type family FromEnum (arg_a3vD3 :: a_a3vtn) :: Nat;
    type family EnumFromTo (arg_a3vD7 :: a_a3vtn) (arg_a3vD8 :: a_a3vtn) :: [a_a3vtn];
    type family EnumFromThenTo (arg_a3vDg :: a_a3vtn) (arg_a3vDh :: a_a3vtn) (arg_a3vDi :: a_a3vtn) :: [a_a3vtn];
    type Succ a_a3vDN = Apply Succ_6989586621679846408Sym0 a_a3vDN;
    type Pred a_a3vE0 = Apply Pred_6989586621679846421Sym0 a_a3vE0;
    type EnumFromTo a_a3vEh a_a3vEi =
        Apply (Apply EnumFromTo_6989586621679846439Sym0 a_a3vEh) a_a3vEi;
    type EnumFromThenTo a_a3vEK a_a3vEL a_a3vEM =
        Apply (Apply (Apply EnumFromThenTo_6989586621679846469Sym0 a_a3vEK) a_a3vEL) a_a3vEM;
}
data EnumFromThenToSym0 (l_a3vDt :: TyFun a6989586621679845761 (TyFun a6989586621679845761 (TyFun a6989586621679845761 [a6989586621679845761] -> Type) -> Type))
data EnumFromThenToSym1 (l_a3vDr :: a6989586621679845761) (l_a3vDq :: TyFun a6989586621679845761 (TyFun a6989586621679845761 [a6989586621679845761] -> Type))
data EnumFromThenToSym2 (l_a3vDn :: a6989586621679845761) (l_a3vDo :: a6989586621679845761) (l_a3vDm :: TyFun a6989586621679845761 [a6989586621679845761])
type EnumFromThenToSym3 (t_a3vDj :: a6989586621679845761) (t_a3vDk :: a6989586621679845761) (t_a3vDl :: a6989586621679845761) = EnumFromThenTo t_a3vDj t_a3vDk t_a3vDl
data EnumFromToSym0 (l_a3vDe :: TyFun a6989586621679845761 (TyFun a6989586621679845761 [a6989586621679845761] -> Type))
data EnumFromToSym1 (l_a3vDc :: a6989586621679845761) (l_a3vDb :: TyFun a6989586621679845761 [a6989586621679845761])
type EnumFromToSym2 (t_a3vD9 :: a6989586621679845761) (t_a3vDa :: a6989586621679845761) = EnumFromTo t_a3vD9 t_a3vDa
data FromEnumSym0 (l_a3vD5 :: TyFun a6989586621679845761 Nat)
type FromEnumSym1 (t_a3vD4 :: a6989586621679845761) = FromEnum t_a3vD4
data ToEnumSym0 (l_a3vD1 :: TyFun Nat a6989586621679845761)
type ToEnumSym1 (t_a3vD0 :: Nat) = ToEnum t_a3vD0

-- | Exponentiation of type-level naturals.

-- | The singleton analogue of '(TL.^)' for <a>Nat</a>s.
(%^) :: Sing a -> Sing b -> Sing (a ^ b)
infixr 8 %^
class PShow (a_a2N1c :: Type) where {
    type family ShowsPrec (arg_a2NxQ :: Nat) (arg_a2NxR :: a_a2N1c) (arg_a2NxS :: Symbol) :: Symbol;
    type family Show_ (arg_a2Ny5 :: a_a2N1c) :: Symbol;
    type family ShowList (arg_a2Ny9 :: [a_a2N1c]) (arg_a2Nya :: Symbol) :: Symbol;
    type ShowsPrec a_a2Nyz a_a2NyA a_a2NyB =
        Apply (Apply (Apply ShowsPrec_6989586621679676950Sym0 a_a2Nyz) a_a2NyA) a_a2NyB;
    type Show_ a_a2NyV = Apply Show__6989586621679676970Sym0 a_a2NyV;
    type ShowList a_a2Nzc a_a2Nzd =
        Apply (Apply ShowList_6989586621679676988Sym0 a_a2Nzc) a_a2Nzd;
}
class SShow a_a2N1c
sShowsPrec :: forall (t_a2NEO :: Nat) (t_a2NEP :: a_a2N1c) (t_a2NEQ :: Symbol). SShow a_a2N1c => Sing t_a2NEO -> Sing t_a2NEP -> Sing t_a2NEQ -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a2NEO) t_a2NEP) t_a2NEQ :: Symbol)
sShow_ :: forall (t_a2NER :: a_a2N1c). SShow a_a2N1c => Sing t_a2NER -> Sing (Apply Show_Sym0 t_a2NER :: Symbol)
sShowList :: forall (t_a2NES :: [a_a2N1c]) (t_a2NET :: Symbol). SShow a_a2N1c => Sing t_a2NES -> Sing t_a2NET -> Sing (Apply (Apply ShowListSym0 t_a2NES) t_a2NET :: Symbol)
sShowsPrec :: forall (t_a2NEO :: Nat) (t_a2NEP :: a_a2N1c) (t_a2NEQ :: Symbol). (SShow a_a2N1c, (Apply (Apply (Apply ShowsPrecSym0 t_a2NEO) t_a2NEP) t_a2NEQ :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621679676950Sym0 t_a2NEO) t_a2NEP) t_a2NEQ) => Sing t_a2NEO -> Sing t_a2NEP -> Sing t_a2NEQ -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a2NEO) t_a2NEP) t_a2NEQ :: Symbol)
sShow_ :: forall (t_a2NER :: a_a2N1c). (SShow a_a2N1c, (Apply Show_Sym0 t_a2NER :: Symbol) ~ Apply Show__6989586621679676970Sym0 t_a2NER) => Sing t_a2NER -> Sing (Apply Show_Sym0 t_a2NER :: Symbol)
sShowList :: forall (t_a2NES :: [a_a2N1c]) (t_a2NET :: Symbol). (SShow a_a2N1c, (Apply (Apply ShowListSym0 t_a2NES) t_a2NET :: Symbol) ~ Apply (Apply ShowList_6989586621679676988Sym0 t_a2NES) t_a2NET) => Sing t_a2NES -> Sing t_a2NET -> Sing (Apply (Apply ShowListSym0 t_a2NES) t_a2NET :: Symbol)

-- | The <tt>shows</tt> functions return a function that prepends the
--   output <a>String</a> to an existing <a>String</a>. This allows
--   constant-time concatenation of results using function composition.
type ShowS = String -> String

-- | GHC currently has no notion of type-level <a>Char</a>s, so we fake
--   them with single-character <a>Symbol</a>s.
type SChar = Symbol

-- | The promoted analogue of '(&lt;&gt;)' for <a>Symbol</a>s. This uses
--   the special <a>AppendSymbol</a> type family from <a>GHC.TypeLits</a>.
type a <> b = AppendSymbol a b

-- | The singleton analogue of '(&lt;&gt;)' for <a>Symbol</a>s.
(%<>) :: Sing a -> Sing b -> Sing (a <> b)
infixr 6 %<>
sShows :: forall (t_a2NEs :: a_a2N0X) (t_a2NEt :: Symbol). SShow a_a2N0X => Sing t_a2NEs -> Sing t_a2NEt -> Sing (Apply (Apply ShowsSym0 t_a2NEs) t_a2NEt :: Symbol)
sShowChar :: forall (t_a2NEi :: Symbol) (t_a2NEj :: Symbol). Sing t_a2NEi -> Sing t_a2NEj -> Sing (Apply (Apply ShowCharSym0 t_a2NEi) t_a2NEj :: Symbol)
sShowString :: forall (t_a2NEf :: Symbol) (t_a2NEg :: Symbol). Sing t_a2NEf -> Sing t_a2NEg -> Sing (Apply (Apply ShowStringSym0 t_a2NEf) t_a2NEg :: Symbol)
sShowParen :: forall (t_a2NEk :: Bool) (t_a2NEl :: TyFun Symbol Symbol -> Type) (t_a2NEm :: Symbol). Sing t_a2NEk -> Sing t_a2NEl -> Sing t_a2NEm -> Sing (Apply (Apply (Apply ShowParenSym0 t_a2NEk) t_a2NEl) t_a2NEm :: Symbol)
sId :: forall (t_a1JqH :: a_a1JlF). Sing t_a1JqH -> Sing (Apply IdSym0 t_a1JqH :: a_a1JlF)
sConst :: forall (t_a1JqD :: a_a1JlD) (t_a1JqE :: b_a1JlE). Sing t_a1JqD -> Sing t_a1JqE -> Sing (Apply (Apply ConstSym0 t_a1JqD) t_a1JqE :: a_a1JlD)
(%.) :: forall (t_a1JqA :: TyFun b_a1JlA c_a1JlB -> Type) (t_a1JqB :: TyFun a_a1JlC b_a1JlA -> Type) (t_a1JqC :: a_a1JlC). Sing t_a1JqA -> Sing t_a1JqB -> Sing t_a1JqC -> Sing (Apply (Apply (Apply (.@#@$) t_a1JqA) t_a1JqB) t_a1JqC :: c_a1JlB)
infixr 9 %.
(%$) :: forall (t_a1Jqv :: TyFun a_a1Jlu b_a1Jlv -> Type) (t_a1Jqw :: a_a1Jlu). Sing t_a1Jqv -> Sing t_a1Jqw -> Sing (Apply (Apply ($@#@$) t_a1Jqv) t_a1Jqw :: b_a1Jlv)
infixr 0 %$
(%$!) :: forall (t_a1Jqt :: TyFun a_a1Jls b_a1Jlt -> Type) (t_a1Jqu :: a_a1Jls). Sing t_a1Jqt -> Sing t_a1Jqu -> Sing (Apply (Apply ($!@#@$) t_a1Jqt) t_a1Jqu :: b_a1Jlt)
infixr 0 %$!
sFlip :: forall (t_a1Jqx :: TyFun a_a1Jlx (TyFun b_a1Jly c_a1Jlz -> Type) -> Type) (t_a1Jqy :: b_a1Jly) (t_a1Jqz :: a_a1Jlx). Sing t_a1Jqx -> Sing t_a1Jqy -> Sing t_a1Jqz -> Sing (Apply (Apply (Apply FlipSym0 t_a1Jqx) t_a1Jqy) t_a1Jqz :: c_a1Jlz)
sAsTypeOf :: forall (t_a1JqF :: a_a1Jlw) (t_a1JqG :: a_a1Jlw). Sing t_a1JqF -> Sing t_a1JqG -> Sing (Apply (Apply AsTypeOfSym0 t_a1JqF) t_a1JqG :: a_a1Jlw)
sSeq :: forall (t_a1Jqr :: a_a1Jlq) (t_a1Jqs :: b_a1Jlr). Sing t_a1Jqr -> Sing t_a1Jqs -> Sing (Apply (Apply SeqSym0 t_a1Jqr) t_a1Jqs :: b_a1Jlr)
infixr 0 `sSeq`
sMap :: forall (t_a1JqK :: TyFun a_a1JlH b_a1JlI -> Type) (t_a1JqL :: [a_a1JlH]). Sing t_a1JqK -> Sing t_a1JqL -> Sing (Apply (Apply MapSym0 t_a1JqK) t_a1JqL :: [b_a1JlI])
(%++) :: forall (t_a1JqI :: [a_a1JlG]) (t_a1JqJ :: [a_a1JlG]). Sing t_a1JqI -> Sing t_a1JqJ -> Sing (Apply (Apply (++@#@$) t_a1JqI) t_a1JqJ :: [a_a1JlG])
infixr 5 %++
sHead :: forall (t_a1SrE :: [a_a1PeN]). Sing t_a1SrE -> Sing (Apply HeadSym0 t_a1SrE :: a_a1PeN)
sLast :: forall (t_a1SrD :: [a_a1PeM]). Sing t_a1SrD -> Sing (Apply LastSym0 t_a1SrD :: a_a1PeM)
sTail :: forall (t_a1SrC :: [a_a1PeL]). Sing t_a1SrC -> Sing (Apply TailSym0 t_a1SrC :: [a_a1PeL])
sInit :: forall (t_a1SrB :: [a_a1PeK]). Sing t_a1SrB -> Sing (Apply InitSym0 t_a1SrB :: [a_a1PeK])
sNull :: forall (t_a1Sry :: [a_a1PeJ]). Sing t_a1Sry -> Sing (Apply NullSym0 t_a1Sry :: Bool)
sReverse :: forall (t_a1Srv :: [a_a1PeI]). Sing t_a1Srv -> Sing (Apply ReverseSym0 t_a1Srv :: [a_a1PeI])
sFoldl :: forall (t_a13u7 :: TyFun b_a13sL (TyFun a_a13sK b_a13sL -> Type) -> Type) (t_a13u8 :: b_a13sL) (t_a13u9 :: [a_a13sK]). Sing t_a13u7 -> Sing t_a13u8 -> Sing t_a13u9 -> Sing (Apply (Apply (Apply FoldlSym0 t_a13u7) t_a13u8) t_a13u9 :: b_a13sL)
sFoldl1 :: forall (t_a1Sr9 :: TyFun a_a1Pez (TyFun a_a1Pez a_a1Pez -> Type) -> Type) (t_a1Sra :: [a_a1Pez]). Sing t_a1Sr9 -> Sing t_a1Sra -> Sing (Apply (Apply Foldl1Sym0 t_a1Sr9) t_a1Sra :: a_a1Pez)
sFoldr :: forall (t_a1JqM :: TyFun a_a1JlJ (TyFun b_a1JlK b_a1JlK -> Type) -> Type) (t_a1JqN :: b_a1JlK) (t_a1JqO :: [a_a1JlJ]). Sing t_a1JqM -> Sing t_a1JqN -> Sing t_a1JqO -> Sing (Apply (Apply (Apply FoldrSym0 t_a1JqM) t_a1JqN) t_a1JqO :: b_a1JlK)
sFoldr1 :: forall (t_a1Sr7 :: TyFun a_a1Pex (TyFun a_a1Pex a_a1Pex -> Type) -> Type) (t_a1Sr8 :: [a_a1Pex]). Sing t_a1Sr7 -> Sing t_a1Sr8 -> Sing (Apply (Apply Foldr1Sym0 t_a1Sr7) t_a1Sr8 :: a_a1Pex)
sAnd :: forall (t_a1Sr3 :: [Bool]). Sing t_a1Sr3 -> Sing (Apply AndSym0 t_a1Sr3 :: Bool)
sOr :: forall (t_a1Sr2 :: [Bool]). Sing t_a1Sr2 -> Sing (Apply OrSym0 t_a1Sr2 :: Bool)
sAny :: forall (t_a1SqR :: TyFun a_a1Pes Bool -> Type) (t_a1SqS :: [a_a1Pes]). Sing t_a1SqR -> Sing t_a1SqS -> Sing (Apply (Apply AnySym0 t_a1SqR) t_a1SqS :: Bool)
sAll :: forall (t_a1Sr0 :: TyFun a_a1Pet Bool -> Type) (t_a1Sr1 :: [a_a1Pet]). Sing t_a1Sr0 -> Sing t_a1Sr1 -> Sing (Apply (Apply AllSym0 t_a1Sr0) t_a1Sr1 :: Bool)
sConcat :: forall (t_a1Sr6 :: [[a_a1Pew]]). Sing t_a1Sr6 -> Sing (Apply ConcatSym0 t_a1Sr6 :: [a_a1Pew])
sConcatMap :: forall (t_a1Sr4 :: TyFun a_a1Peu [b_a1Pev] -> Type) (t_a1Sr5 :: [a_a1Peu]). Sing t_a1Sr4 -> Sing t_a1Sr5 -> Sing (Apply (Apply ConcatMapSym0 t_a1Sr4) t_a1Sr5 :: [b_a1Pev])
sScanl :: forall (t_a1SqM :: TyFun b_a1Peq (TyFun a_a1Per b_a1Peq -> Type) -> Type) (t_a1SqN :: b_a1Peq) (t_a1SqO :: [a_a1Per]). Sing t_a1SqM -> Sing t_a1SqN -> Sing t_a1SqO -> Sing (Apply (Apply (Apply ScanlSym0 t_a1SqM) t_a1SqN) t_a1SqO :: [b_a1Peq])
sScanl1 :: forall (t_a1SqP :: TyFun a_a1Pep (TyFun a_a1Pep a_a1Pep -> Type) -> Type) (t_a1SqQ :: [a_a1Pep]). Sing t_a1SqP -> Sing t_a1SqQ -> Sing (Apply (Apply Scanl1Sym0 t_a1SqP) t_a1SqQ :: [a_a1Pep])
sScanr :: forall (t_a1SqJ :: TyFun a_a1Pen (TyFun b_a1Peo b_a1Peo -> Type) -> Type) (t_a1SqK :: b_a1Peo) (t_a1SqL :: [a_a1Pen]). Sing t_a1SqJ -> Sing t_a1SqK -> Sing t_a1SqL -> Sing (Apply (Apply (Apply ScanrSym0 t_a1SqJ) t_a1SqK) t_a1SqL :: [b_a1Peo])
sScanr1 :: forall (t_a1SqH :: TyFun a_a1Pem (TyFun a_a1Pem a_a1Pem -> Type) -> Type) (t_a1SqI :: [a_a1Pem]). Sing t_a1SqH -> Sing t_a1SqI -> Sing (Apply (Apply Scanr1Sym0 t_a1SqH) t_a1SqI :: [a_a1Pem])
sReplicate :: forall (t_a1Sp4 :: Nat) (t_a1Sp5 :: a_a1PcS). Sing t_a1Sp4 -> Sing t_a1Sp5 -> Sing (Apply (Apply ReplicateSym0 t_a1Sp4) t_a1Sp5 :: [a_a1PcS])
sTake :: forall (t_a1Spi :: Nat) (t_a1Spj :: [a_a1Pd8]). Sing t_a1Spi -> Sing t_a1Spj -> Sing (Apply (Apply TakeSym0 t_a1Spi) t_a1Spj :: [a_a1Pd8])
sDrop :: forall (t_a1Spg :: Nat) (t_a1Sph :: [a_a1Pd7]). Sing t_a1Spg -> Sing t_a1Sph -> Sing (Apply (Apply DropSym0 t_a1Spg) t_a1Sph :: [a_a1Pd7])
sSplitAt :: forall (t_a1Spk :: Nat) (t_a1Spl :: [a_a1Pd6]). Sing t_a1Spk -> Sing t_a1Spl -> Sing (Apply (Apply SplitAtSym0 t_a1Spk) t_a1Spl :: ([a_a1Pd6], [a_a1Pd6]))
sTakeWhile :: forall (t_a1Spv :: TyFun a_a1Pdd Bool -> Type) (t_a1Spw :: [a_a1Pdd]). Sing t_a1Spv -> Sing t_a1Spw -> Sing (Apply (Apply TakeWhileSym0 t_a1Spv) t_a1Spw :: [a_a1Pdd])
sSpan :: forall (t_a1Spo :: TyFun a_a1Pda Bool -> Type) (t_a1Spp :: [a_a1Pda]). Sing t_a1Spo -> Sing t_a1Spp -> Sing (Apply (Apply SpanSym0 t_a1Spo) t_a1Spp :: ([a_a1Pda], [a_a1Pda]))
sBreak :: forall (t_a1Spm :: TyFun a_a1Pd9 Bool -> Type) (t_a1Spn :: [a_a1Pd9]). Sing t_a1Spm -> Sing t_a1Spn -> Sing (Apply (Apply BreakSym0 t_a1Spm) t_a1Spn :: ([a_a1Pd9], [a_a1Pd9]))
sElem :: forall (t_a1Sqs :: a_a1Pe8) (t_a1Sqt :: [a_a1Pe8]). SEq a_a1Pe8 => Sing t_a1Sqs -> Sing t_a1Sqt -> Sing (Apply (Apply ElemSym0 t_a1Sqs) t_a1Sqt :: Bool)
infix 4 `sElem`
sNotElem :: forall (t_a1Sqq :: a_a1Pe7) (t_a1Sqr :: [a_a1Pe7]). SEq a_a1Pe7 => Sing t_a1Sqq -> Sing t_a1Sqr -> Sing (Apply (Apply NotElemSym0 t_a1Sqq) t_a1Sqr :: Bool)
infix 4 `sNotElem`
sLookup :: forall (t_a1Spe :: a_a1PcY) (t_a1Spf :: [(a_a1PcY, b_a1PcZ)]). SEq a_a1PcY => Sing t_a1Spe -> Sing t_a1Spf -> Sing (Apply (Apply LookupSym0 t_a1Spe) t_a1Spf :: Maybe b_a1PcZ)
sZip :: forall (t_a1Sqg :: [a_a1Pe5]) (t_a1Sqh :: [b_a1Pe6]). Sing t_a1Sqg -> Sing t_a1Sqh -> Sing (Apply (Apply ZipSym0 t_a1Sqg) t_a1Sqh :: [(a_a1Pe5, b_a1Pe6)])
sZip3 :: forall (t_a1Sqd :: [a_a1Pe2]) (t_a1Sqe :: [b_a1Pe3]) (t_a1Sqf :: [c_a1Pe4]). Sing t_a1Sqd -> Sing t_a1Sqe -> Sing t_a1Sqf -> Sing (Apply (Apply (Apply Zip3Sym0 t_a1Sqd) t_a1Sqe) t_a1Sqf :: [(a_a1Pe2, b_a1Pe3, c_a1Pe4)])
sZipWith :: forall (t_a1Sqa :: TyFun a_a1PdZ (TyFun b_a1Pe0 c_a1Pe1 -> Type) -> Type) (t_a1Sqb :: [a_a1PdZ]) (t_a1Sqc :: [b_a1Pe0]). Sing t_a1Sqa -> Sing t_a1Sqb -> Sing t_a1Sqc -> Sing (Apply (Apply (Apply ZipWithSym0 t_a1Sqa) t_a1Sqb) t_a1Sqc :: [c_a1Pe1])
sZipWith3 :: forall (t_a1Sq6 :: TyFun a_a1PdV (TyFun b_a1PdW (TyFun c_a1PdX d_a1PdY -> Type) -> Type) -> Type) (t_a1Sq7 :: [a_a1PdV]) (t_a1Sq8 :: [b_a1PdW]) (t_a1Sq9 :: [c_a1PdX]). Sing t_a1Sq6 -> Sing t_a1Sq7 -> Sing t_a1Sq8 -> Sing t_a1Sq9 -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a1Sq6) t_a1Sq7) t_a1Sq8) t_a1Sq9 :: [d_a1PdY])
sUnzip :: forall (t_a1Sq5 :: [(a_a1PdT, b_a1PdU)]). Sing t_a1Sq5 -> Sing (Apply UnzipSym0 t_a1Sq5 :: ([a_a1PdT], [b_a1PdU]))
sUnzip3 :: forall (t_a1Sq4 :: [(a_a1PdQ, b_a1PdR, c_a1PdS)]). Sing t_a1Sq4 -> Sing (Apply Unzip3Sym0 t_a1Sq4 :: ([a_a1PdQ], [b_a1PdR], [c_a1PdS]))
sUnlines :: forall (t_a1SpZ :: [Symbol]). Sing t_a1SpZ -> Sing (Apply UnlinesSym0 t_a1SpZ :: Symbol)
sUnwords :: forall (t_a1SpY :: [Symbol]). Sing t_a1SpY -> Sing (Apply UnwordsSym0 t_a1SpY :: Symbol)
sMaybe_ :: forall (t_a1F2B :: b_a1F21) (t_a1F2C :: TyFun a_a1F22 b_a1F21 -> Type) (t_a1F2D :: Maybe a_a1F22). Sing t_a1F2B -> Sing t_a1F2C -> Sing t_a1F2D -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a1F2B) t_a1F2C) t_a1F2D :: b_a1F21)
sEither_ :: forall (t_a3NpY :: TyFun a_a3Np5 c_a3Np6 -> Type) (t_a3NpZ :: TyFun b_a3Np7 c_a3Np6 -> Type) (t_a3Nq0 :: Either a_a3Np5 b_a3Np7). Sing t_a3NpY -> Sing t_a3NpZ -> Sing t_a3Nq0 -> Sing (Apply (Apply (Apply Either_Sym0 t_a3NpY) t_a3NpZ) t_a3Nq0 :: c_a3Np6)
sFst :: forall (t_a1aqY :: (a_a1aoS, b_a1aoT)). Sing t_a1aqY -> Sing (Apply FstSym0 t_a1aqY :: a_a1aoS)
sSnd :: forall (t_a1aqX :: (a_a1aoQ, b_a1aoR)). Sing t_a1aqX -> Sing (Apply SndSym0 t_a1aqX :: b_a1aoR)
sCurry :: forall (t_a1aqU :: TyFun (a_a1aoN, b_a1aoO) c_a1aoP -> Type) (t_a1aqV :: a_a1aoN) (t_a1aqW :: b_a1aoO). Sing t_a1aqU -> Sing t_a1aqV -> Sing t_a1aqW -> Sing (Apply (Apply (Apply CurrySym0 t_a1aqU) t_a1aqV) t_a1aqW :: c_a1aoP)
sUncurry :: forall (t_a1aqZ :: TyFun a_a1aoK (TyFun b_a1aoL c_a1aoM -> Type) -> Type) (t_a1ar0 :: (a_a1aoK, b_a1aoL)). Sing t_a1aqZ -> Sing t_a1ar0 -> Sing (Apply (Apply UncurrySym0 t_a1aqZ) t_a1ar0 :: c_a1aoM)

-- | (Kind) This is the kind of type-level symbols. Declared here because
--   class IP needs it
data Symbol
either_ :: (a_a3Np5 -> c_a3Np6) -> (b_a3Np7 -> c_a3Np6) -> Either a_a3Np5 b_a3Np7 -> c_a3Np6
maybe_ :: b_a1F21 -> (a_a1F22 -> b_a1F21) -> Maybe a_a1F22 -> b_a1F21
bool_ :: a_a1bns -> a_a1bns -> Bool -> a_a1bns

-- | <a>show</a>, but with an extra underscore so that its promoted
--   counterpart (<a>Show_</a>) will not clash with the <tt>Show</tt>
--   class.
show_ :: Show a => a -> String
type FalseSym0 = False
type TrueSym0 = True
data NotSym0 (l_a1bC3 :: TyFun Bool Bool)
type NotSym1 (t_a1bC2 :: Bool) = Not t_a1bC2
data (&&@#@$) (l_a1bvX :: TyFun Bool (TyFun Bool Bool -> Type))
data (&&@#@$$) (l_a1bvV :: Bool) (l_a1bvU :: TyFun Bool Bool)
type (&&@#@$$$) (t_a1bvS :: Bool) (t_a1bvT :: Bool) = (&&) t_a1bvS t_a1bvT
data (||@#@$) (l_a1bz9 :: TyFun Bool (TyFun Bool Bool -> Type))
data (||@#@$$) (l_a1bz7 :: Bool) (l_a1bz6 :: TyFun Bool Bool)
type (||@#@$$$) (t_a1bz4 :: Bool) (t_a1bz5 :: Bool) = (||) t_a1bz4 t_a1bz5
type OtherwiseSym0 = Otherwise
type NothingSym0 = Nothing
data JustSym0 (l_a10uy :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_a10ux :: a3530822107858468865) = Just t_a10ux
data Maybe_Sym0 (l_a1F2t :: TyFun b6989586621679405849 (TyFun (TyFun a6989586621679405850 b6989586621679405849 -> Type) (TyFun (Maybe a6989586621679405850) b6989586621679405849 -> Type) -> Type))
data Maybe_Sym1 (l_a1F2r :: b6989586621679405849) (l_a1F2q :: TyFun (TyFun a6989586621679405850 b6989586621679405849 -> Type) (TyFun (Maybe a6989586621679405850) b6989586621679405849 -> Type))
data Maybe_Sym2 (l_a1F2n :: b6989586621679405849) (l_a1F2o :: TyFun a6989586621679405850 b6989586621679405849 -> Type) (l_a1F2m :: TyFun (Maybe a6989586621679405850) b6989586621679405849)
type Maybe_Sym3 (t_a1F2j :: b6989586621679405849) (t_a1F2k :: TyFun a6989586621679405850 b6989586621679405849 -> Type) (t_a1F2l :: Maybe a6989586621679405850) = Maybe_ t_a1F2j t_a1F2k t_a1F2l
data LeftSym0 (l_a10va :: TyFun a6989586621679081217 (Either a6989586621679081217 b6989586621679081218))
type LeftSym1 (t_a10v9 :: a6989586621679081217) = Left t_a10v9
data RightSym0 (l_a10vd :: TyFun b6989586621679081218 (Either a6989586621679081217 b6989586621679081218))
type RightSym1 (t_a10vc :: b6989586621679081218) = Right t_a10vc
data Either_Sym0 (l_a3NpP :: TyFun (TyFun a6989586621679914687 c6989586621679914688 -> Type) (TyFun (TyFun b6989586621679914689 c6989586621679914688 -> Type) (TyFun (Either a6989586621679914687 b6989586621679914689) c6989586621679914688 -> Type) -> Type))
data Either_Sym1 (l_a3NpN :: TyFun a6989586621679914687 c6989586621679914688 -> Type) (l_a3NpM :: TyFun (TyFun b6989586621679914689 c6989586621679914688 -> Type) (TyFun (Either a6989586621679914687 b6989586621679914689) c6989586621679914688 -> Type))
data Either_Sym2 (l_a3NpJ :: TyFun a6989586621679914687 c6989586621679914688 -> Type) (l_a3NpK :: TyFun b6989586621679914689 c6989586621679914688 -> Type) (l_a3NpI :: TyFun (Either a6989586621679914687 b6989586621679914689) c6989586621679914688)
type Either_Sym3 (t_a3NpF :: TyFun a6989586621679914687 c6989586621679914688 -> Type) (t_a3NpG :: TyFun b6989586621679914689 c6989586621679914688 -> Type) (t_a3NpH :: Either a6989586621679914687 b6989586621679914689) = Either_ t_a3NpF t_a3NpG t_a3NpH
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_a10vX :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_a10vV :: a3530822107858468865) (l_a10vU :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_a10vS :: a3530822107858468865) (t_a10vT :: b3530822107858468866) = '(t_a10vS, t_a10vT)
data Tuple3Sym0 (l_a10wn :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_a10wl :: a3530822107858468865) (l_a10wk :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_a10wh :: a3530822107858468865) (l_a10wi :: b3530822107858468866) (l_a10wg :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_a10wd :: a3530822107858468865) (t_a10we :: b3530822107858468866) (t_a10wf :: c3530822107858468867) = '(t_a10wd, t_a10we, t_a10wf)
data Tuple4Sym0 (l_a10wY :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_a10wW :: a3530822107858468865) (l_a10wV :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_a10wS :: a3530822107858468865) (l_a10wT :: b3530822107858468866) (l_a10wR :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_a10wN :: a3530822107858468865) (l_a10wO :: b3530822107858468866) (l_a10wP :: c3530822107858468867) (l_a10wM :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_a10wI :: a3530822107858468865) (t_a10wJ :: b3530822107858468866) (t_a10wK :: c3530822107858468867) (t_a10wL :: d3530822107858468868) = '(t_a10wI, t_a10wJ, t_a10wK, t_a10wL)
data Tuple5Sym0 (l_a10xL :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_a10xJ :: a3530822107858468865) (l_a10xI :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_a10xF :: a3530822107858468865) (l_a10xG :: b3530822107858468866) (l_a10xE :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_a10xA :: a3530822107858468865) (l_a10xB :: b3530822107858468866) (l_a10xC :: c3530822107858468867) (l_a10xz :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_a10xu :: a3530822107858468865) (l_a10xv :: b3530822107858468866) (l_a10xw :: c3530822107858468867) (l_a10xx :: d3530822107858468868) (l_a10xt :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_a10xo :: a3530822107858468865) (t_a10xp :: b3530822107858468866) (t_a10xq :: c3530822107858468867) (t_a10xr :: d3530822107858468868) (t_a10xs :: e3530822107858468869) = '(t_a10xo, t_a10xp, t_a10xq, t_a10xr, t_a10xs)
data Tuple6Sym0 (l_a10yL :: 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_a10yJ :: a3530822107858468865) (l_a10yI :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_a10yF :: a3530822107858468865) (l_a10yG :: b3530822107858468866) (l_a10yE :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_a10yA :: a3530822107858468865) (l_a10yB :: b3530822107858468866) (l_a10yC :: c3530822107858468867) (l_a10yz :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_a10yu :: a3530822107858468865) (l_a10yv :: b3530822107858468866) (l_a10yw :: c3530822107858468867) (l_a10yx :: d3530822107858468868) (l_a10yt :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_a10yn :: a3530822107858468865) (l_a10yo :: b3530822107858468866) (l_a10yp :: c3530822107858468867) (l_a10yq :: d3530822107858468868) (l_a10yr :: e3530822107858468869) (l_a10ym :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_a10yg :: a3530822107858468865) (t_a10yh :: b3530822107858468866) (t_a10yi :: c3530822107858468867) (t_a10yj :: d3530822107858468868) (t_a10yk :: e3530822107858468869) (t_a10yl :: f3530822107858468870) = '(t_a10yg, t_a10yh, t_a10yi, t_a10yj, t_a10yk, t_a10yl)
data Tuple7Sym0 (l_a10zZ :: 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_a10zX :: a3530822107858468865) (l_a10zW :: 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_a10zT :: a3530822107858468865) (l_a10zU :: b3530822107858468866) (l_a10zS :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_a10zO :: a3530822107858468865) (l_a10zP :: b3530822107858468866) (l_a10zQ :: c3530822107858468867) (l_a10zN :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_a10zI :: a3530822107858468865) (l_a10zJ :: b3530822107858468866) (l_a10zK :: c3530822107858468867) (l_a10zL :: d3530822107858468868) (l_a10zH :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_a10zB :: a3530822107858468865) (l_a10zC :: b3530822107858468866) (l_a10zD :: c3530822107858468867) (l_a10zE :: d3530822107858468868) (l_a10zF :: e3530822107858468869) (l_a10zA :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_a10zt :: a3530822107858468865) (l_a10zu :: b3530822107858468866) (l_a10zv :: c3530822107858468867) (l_a10zw :: d3530822107858468868) (l_a10zx :: e3530822107858468869) (l_a10zy :: f3530822107858468870) (l_a10zs :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_a10zl :: a3530822107858468865) (t_a10zm :: b3530822107858468866) (t_a10zn :: c3530822107858468867) (t_a10zo :: d3530822107858468868) (t_a10zp :: e3530822107858468869) (t_a10zq :: f3530822107858468870) (t_a10zr :: g3530822107858468871) = '(t_a10zl, t_a10zm, t_a10zn, t_a10zo, t_a10zp, t_a10zq, t_a10zr)
data FstSym0 (l_a1aqE :: TyFun (a6989586621679288102, b6989586621679288103) a6989586621679288102)
type FstSym1 (t_a1aqD :: (a6989586621679288102, b6989586621679288103)) = Fst t_a1aqD
data SndSym0 (l_a1aqz :: TyFun (a6989586621679288100, b6989586621679288101) b6989586621679288101)
type SndSym1 (t_a1aqy :: (a6989586621679288100, b6989586621679288101)) = Snd t_a1aqy
data CurrySym0 (l_a1aqq :: TyFun (TyFun (a6989586621679288097, b6989586621679288098) c6989586621679288099 -> Type) (TyFun a6989586621679288097 (TyFun b6989586621679288098 c6989586621679288099 -> Type) -> Type))
data CurrySym1 (l_a1aqo :: TyFun (a6989586621679288097, b6989586621679288098) c6989586621679288099 -> Type) (l_a1aqn :: TyFun a6989586621679288097 (TyFun b6989586621679288098 c6989586621679288099 -> Type))
data CurrySym2 (l_a1aqk :: TyFun (a6989586621679288097, b6989586621679288098) c6989586621679288099 -> Type) (l_a1aql :: a6989586621679288097) (l_a1aqj :: TyFun b6989586621679288098 c6989586621679288099)
type CurrySym3 (t_a1aqg :: TyFun (a6989586621679288097, b6989586621679288098) c6989586621679288099 -> Type) (t_a1aqh :: a6989586621679288097) (t_a1aqi :: b6989586621679288098) = Curry t_a1aqg t_a1aqh t_a1aqi
data UncurrySym0 (l_a1aqN :: TyFun (TyFun a6989586621679288094 (TyFun b6989586621679288095 c6989586621679288096 -> Type) -> Type) (TyFun (a6989586621679288094, b6989586621679288095) c6989586621679288096 -> Type))
data UncurrySym1 (l_a1aqL :: TyFun a6989586621679288094 (TyFun b6989586621679288095 c6989586621679288096 -> Type) -> Type) (l_a1aqK :: TyFun (a6989586621679288094, b6989586621679288095) c6989586621679288096)
type UncurrySym2 (t_a1aqI :: TyFun a6989586621679288094 (TyFun b6989586621679288095 c6989586621679288096 -> Type) -> Type) (t_a1aqJ :: (a6989586621679288094, b6989586621679288095)) = Uncurry t_a1aqI t_a1aqJ
data ErrorSym0 (l_a1yRO :: TyFun k06989586621679381217 k6989586621679381218)
type ErrorSym1 (t_a1yRN :: k06989586621679381217) = Error t_a1yRN
type UndefinedSym0 = Undefined
data (^@#@$) (l_a1yWs :: TyFun Nat (TyFun Nat Nat -> Type))
data (^@#@$$) (l_a1yWq :: Nat) (l_a1yWp :: TyFun Nat Nat)
type (^@#@$$$) (t_a1yWn :: Nat) (t_a1yWo :: Nat) = (^) t_a1yWn t_a1yWo
data ShowsPrecSym0 (l_a2Ny3 :: TyFun Nat (TyFun a6989586621679674878 (TyFun Symbol Symbol -> Type) -> Type))
data ShowsPrecSym1 (l_a2Ny1 :: Nat) (l_a2Ny0 :: TyFun a6989586621679674878 (TyFun Symbol Symbol -> Type))
data ShowsPrecSym2 (l_a2NxX :: Nat) (l_a2NxY :: a6989586621679674878) (l_a2NxW :: TyFun Symbol Symbol)
type ShowsPrecSym3 (t_a2NxT :: Nat) (t_a2NxU :: a6989586621679674878) (t_a2NxV :: Symbol) = ShowsPrec t_a2NxT t_a2NxU t_a2NxV
data Show_Sym0 (l_a2Ny7 :: TyFun a6989586621679674878 Symbol)
type Show_Sym1 (t_a2Ny6 :: a6989586621679674878) = Show_ t_a2Ny6
data ShowListSym0 (l_a2Nyg :: TyFun [a6989586621679674878] (TyFun Symbol Symbol -> Type))
data ShowListSym1 (l_a2Nye :: [a6989586621679674878]) (l_a2Nyd :: TyFun Symbol Symbol)
type ShowListSym2 (t_a2Nyb :: [a6989586621679674878]) (t_a2Nyc :: Symbol) = ShowList t_a2Nyb t_a2Nyc
data (<>@#@$) l_a1z0l
data (<>@#@$$) (l_a1z0j :: Symbol) l_a1z0i
type (<>@#@$$$) (t_a1z0g :: Symbol) (t_a1z0h :: Symbol) = (<>) t_a1z0g t_a1z0h
data ShowsSym0 (l_a2NxI :: TyFun a6989586621679674863 (TyFun Symbol Symbol -> Type))
data ShowsSym1 (l_a2NxG :: a6989586621679674863) (l_a2NxF :: TyFun Symbol Symbol)
type ShowsSym2 (t_a2NxD :: a6989586621679674863) (t_a2NxE :: Symbol) = Shows t_a2NxD t_a2NxE
data ShowCharSym0 (l_a2NvM :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowCharSym1 (l_a2NvK :: Symbol) (l_a2NvJ :: TyFun Symbol Symbol)
type ShowCharSym2 (t_a2NvH :: Symbol) (t_a2NvI :: Symbol) = ShowChar t_a2NvH t_a2NvI
data ShowStringSym0 (l_a2Nvq :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowStringSym1 (l_a2Nvo :: Symbol) (l_a2Nvn :: TyFun Symbol Symbol)
type ShowStringSym2 (t_a2Nvl :: Symbol) (t_a2Nvm :: Symbol) = ShowString t_a2Nvl t_a2Nvm
data ShowParenSym0 (l_a2Nw2 :: TyFun Bool (TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type) -> Type))
data ShowParenSym1 (l_a2Nw0 :: Bool) (l_a2NvZ :: TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type))
data ShowParenSym2 (l_a2NvW :: Bool) (l_a2NvX :: TyFun Symbol Symbol -> Type) (l_a2NvV :: TyFun Symbol Symbol)
data IdSym0 (l_a1Jpi :: TyFun a6989586621679422443 a6989586621679422443)
type IdSym1 (t_a1Jph :: a6989586621679422443) = Id t_a1Jph
data ConstSym0 (l_a1JoX :: TyFun a6989586621679422441 (TyFun b6989586621679422442 a6989586621679422441 -> Type))
data ConstSym1 (l_a1JoV :: a6989586621679422441) (l_a1JoU :: TyFun b6989586621679422442 a6989586621679422441)
type ConstSym2 (t_a1JoS :: a6989586621679422441) (t_a1JoT :: b6989586621679422442) = Const t_a1JoS t_a1JoT
data (.@#@$) (l_a1Jom :: TyFun (TyFun b6989586621679422438 c6989586621679422439 -> Type) (TyFun (TyFun a6989586621679422440 b6989586621679422438 -> Type) (TyFun a6989586621679422440 c6989586621679422439 -> Type) -> Type))
data (.@#@$$) (l_a1Jok :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (l_a1Joj :: TyFun (TyFun a6989586621679422440 b6989586621679422438 -> Type) (TyFun a6989586621679422440 c6989586621679422439 -> Type))
data (.@#@$$$) (l_a1Jog :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (l_a1Joh :: TyFun a6989586621679422440 b6989586621679422438 -> Type) (l_a1Jof :: TyFun a6989586621679422440 c6989586621679422439)
data ($@#@$) (l_a1JnO :: TyFun (TyFun a6989586621679422432 b6989586621679422433 -> Type) (TyFun a6989586621679422432 b6989586621679422433 -> Type))
data ($@#@$$) (l_a1JnM :: TyFun a6989586621679422432 b6989586621679422433 -> Type) (l_a1JnL :: TyFun a6989586621679422432 b6989586621679422433)
type ($@#@$$$) (t_a1JnJ :: TyFun a6989586621679422432 b6989586621679422433 -> Type) (t_a1JnK :: a6989586621679422432) = ($) t_a1JnJ t_a1JnK
data ($!@#@$) (l_a1Jnv :: TyFun (TyFun a6989586621679422430 b6989586621679422431 -> Type) (TyFun a6989586621679422430 b6989586621679422431 -> Type))
data ($!@#@$$) (l_a1Jnt :: TyFun a6989586621679422430 b6989586621679422431 -> Type) (l_a1Jns :: TyFun a6989586621679422430 b6989586621679422431)
type ($!@#@$$$) (t_a1Jnq :: TyFun a6989586621679422430 b6989586621679422431 -> Type) (t_a1Jnr :: a6989586621679422430) = ($!) t_a1Jnq t_a1Jnr
data FlipSym0 (l_a1Jo4 :: TyFun (TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (TyFun b6989586621679422436 (TyFun a6989586621679422435 c6989586621679422437 -> Type) -> Type))
data FlipSym1 (l_a1Jo2 :: TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (l_a1Jo1 :: TyFun b6989586621679422436 (TyFun a6989586621679422435 c6989586621679422437 -> Type))
data FlipSym2 (l_a1JnY :: TyFun a6989586621679422435 (TyFun b6989586621679422436 c6989586621679422437 -> Type) -> Type) (l_a1JnZ :: b6989586621679422436) (l_a1JnX :: TyFun a6989586621679422435 c6989586621679422437)
data AsTypeOfSym0 (l_a1Jpb :: TyFun a6989586621679422434 (TyFun a6989586621679422434 a6989586621679422434 -> Type))
data AsTypeOfSym1 (l_a1Jp9 :: a6989586621679422434) (l_a1Jp8 :: TyFun a6989586621679422434 a6989586621679422434)
type AsTypeOfSym2 (t_a1Jp6 :: a6989586621679422434) (t_a1Jp7 :: a6989586621679422434) = AsTypeOf t_a1Jp6 t_a1Jp7
data SeqSym0 (l_a1Jnl :: TyFun a6989586621679422428 (TyFun b6989586621679422429 b6989586621679422429 -> Type))
data SeqSym1 (l_a1Jnj :: a6989586621679422428) (l_a1Jni :: TyFun b6989586621679422429 b6989586621679422429)
type SeqSym2 (t_a1Jng :: a6989586621679422428) (t_a1Jnh :: b6989586621679422429) = Seq t_a1Jng t_a1Jnh
data (:@#@$) (l_a10uS :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:@#@$$) (l_a10uQ :: a3530822107858468865) (l_a10uP :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:@#@$$$) (t_a10uN :: a3530822107858468865) (t_a10uO :: [a3530822107858468865]) = (:) t_a10uN t_a10uO
type NilSym0 = '[]
data MapSym0 (l_a1JpE :: TyFun (TyFun a6989586621679422445 b6989586621679422446 -> Type) (TyFun [a6989586621679422445] [b6989586621679422446] -> Type))
data MapSym1 (l_a1JpC :: TyFun a6989586621679422445 b6989586621679422446 -> Type) (l_a1JpB :: TyFun [a6989586621679422445] [b6989586621679422446])
type MapSym2 (t_a1Jpz :: TyFun a6989586621679422445 b6989586621679422446 -> Type) (t_a1JpA :: [a6989586621679422445]) = Map t_a1Jpz t_a1JpA
data ReverseSym0 (l_a1Smu :: TyFun [a6989586621679445076] [a6989586621679445076])
type ReverseSym1 (t_a1Smt :: [a6989586621679445076]) = Reverse t_a1Smt
data (++@#@$$) (l_a1Jpp :: [a6989586621679422444]) (l_a1Jpo :: TyFun [a6989586621679422444] [a6989586621679422444])
data (++@#@$) (l_a1Jpr :: TyFun [a6989586621679422444] (TyFun [a6989586621679422444] [a6989586621679422444] -> Type))
data HeadSym0 (l_a1SoK :: TyFun [a6989586621679445081] a6989586621679445081)
type HeadSym1 (t_a1SoJ :: [a6989586621679445081]) = Head t_a1SoJ
data LastSym0 (l_a1SoD :: TyFun [a6989586621679445080] a6989586621679445080)
type LastSym1 (t_a1SoC :: [a6989586621679445080]) = Last t_a1SoC
data TailSym0 (l_a1Soy :: TyFun [a6989586621679445079] [a6989586621679445079])
type TailSym1 (t_a1Sox :: [a6989586621679445079]) = Tail t_a1Sox
data InitSym0 (l_a1So4 :: TyFun [a6989586621679445078] [a6989586621679445078])
type InitSym1 (t_a1So3 :: [a6989586621679445078]) = Init t_a1So3
data NullSym0 (l_a1Sn3 :: TyFun [a6989586621679445077] Bool)
type NullSym1 (t_a1Sn2 :: [a6989586621679445077]) = Null t_a1Sn2
data FoldlSym0 (l_a13tt :: TyFun (TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (TyFun b6989586621679261435 (TyFun [a6989586621679261434] b6989586621679261435 -> Type) -> Type))
data FoldlSym1 (l_a13tr :: TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (l_a13tq :: TyFun b6989586621679261435 (TyFun [a6989586621679261434] b6989586621679261435 -> Type))
data FoldlSym2 (l_a13tn :: TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (l_a13to :: b6989586621679261435) (l_a13tm :: TyFun [a6989586621679261434] b6989586621679261435)
type FoldlSym3 (t_a13tj :: TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (t_a13tk :: b6989586621679261435) (t_a13tl :: [a6989586621679261434]) = Foldl t_a13tj t_a13tk t_a13tl
data Foldl1Sym0 (l_a1SaM :: TyFun (TyFun a6989586621679445067 (TyFun a6989586621679445067 a6989586621679445067 -> Type) -> Type) (TyFun [a6989586621679445067] a6989586621679445067 -> Type))
data Foldl1Sym1 (l_a1SaK :: TyFun a6989586621679445067 (TyFun a6989586621679445067 a6989586621679445067 -> Type) -> Type) (l_a1SaJ :: TyFun [a6989586621679445067] a6989586621679445067)
type Foldl1Sym2 (t_a1SaH :: TyFun a6989586621679445067 (TyFun a6989586621679445067 a6989586621679445067 -> Type) -> Type) (t_a1SaI :: [a6989586621679445067]) = Foldl1 t_a1SaH t_a1SaI
data FoldrSym0 (l_a1JpV :: TyFun (TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (TyFun b6989586621679422448 (TyFun [a6989586621679422447] b6989586621679422448 -> Type) -> Type))
data FoldrSym1 (l_a1JpT :: TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (l_a1JpS :: TyFun b6989586621679422448 (TyFun [a6989586621679422447] b6989586621679422448 -> Type))
data FoldrSym2 (l_a1JpP :: TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (l_a1JpQ :: b6989586621679422448) (l_a1JpO :: TyFun [a6989586621679422447] b6989586621679422448)
type FoldrSym3 (t_a1JpL :: TyFun a6989586621679422447 (TyFun b6989586621679422448 b6989586621679422448 -> Type) -> Type) (t_a1JpM :: b6989586621679422448) (t_a1JpN :: [a6989586621679422447]) = Foldr t_a1JpL t_a1JpM t_a1JpN
data Foldr1Sym0 (l_a1Saf :: TyFun (TyFun a6989586621679445065 (TyFun a6989586621679445065 a6989586621679445065 -> Type) -> Type) (TyFun [a6989586621679445065] a6989586621679445065 -> Type))
data Foldr1Sym1 (l_a1Sad :: TyFun a6989586621679445065 (TyFun a6989586621679445065 a6989586621679445065 -> Type) -> Type) (l_a1Sac :: TyFun [a6989586621679445065] a6989586621679445065)
type Foldr1Sym2 (t_a1Saa :: TyFun a6989586621679445065 (TyFun a6989586621679445065 a6989586621679445065 -> Type) -> Type) (t_a1Sab :: [a6989586621679445065]) = Foldr1 t_a1Saa t_a1Sab
data ConcatSym0 (l_a1Sa6 :: TyFun [[a6989586621679445064]] [a6989586621679445064])
type ConcatSym1 (t_a1Sa5 :: [[a6989586621679445064]]) = Concat t_a1Sa5
data ConcatMapSym0 (l_a1S9V :: TyFun (TyFun a6989586621679445062 [b6989586621679445063] -> Type) (TyFun [a6989586621679445062] [b6989586621679445063] -> Type))
data ConcatMapSym1 (l_a1S9T :: TyFun a6989586621679445062 [b6989586621679445063] -> Type) (l_a1S9S :: TyFun [a6989586621679445062] [b6989586621679445063])
type ConcatMapSym2 (t_a1S9Q :: TyFun a6989586621679445062 [b6989586621679445063] -> Type) (t_a1S9R :: [a6989586621679445062]) = ConcatMap t_a1S9Q t_a1S9R
data AndSym0 (l_a1S9L :: TyFun [Bool] Bool)
type AndSym1 (t_a1S9K :: [Bool]) = And t_a1S9K
data OrSym0 (l_a1S9F :: TyFun [Bool] Bool)
type OrSym1 (t_a1S9E :: [Bool]) = Or t_a1S9E
data AnySym0 (l_a1S7b :: TyFun (TyFun a6989586621679445060 Bool -> Type) (TyFun [a6989586621679445060] Bool -> Type))
data AnySym1 (l_a1S79 :: TyFun a6989586621679445060 Bool -> Type) (l_a1S78 :: TyFun [a6989586621679445060] Bool)
type AnySym2 (t_a1S76 :: TyFun a6989586621679445060 Bool -> Type) (t_a1S77 :: [a6989586621679445060]) = Any t_a1S76 t_a1S77
data AllSym0 (l_a1S9x :: TyFun (TyFun a6989586621679445061 Bool -> Type) (TyFun [a6989586621679445061] Bool -> Type))
data AllSym1 (l_a1S9v :: TyFun a6989586621679445061 Bool -> Type) (l_a1S9u :: TyFun [a6989586621679445061] Bool)
type AllSym2 (t_a1S9s :: TyFun a6989586621679445061 Bool -> Type) (t_a1S9t :: [a6989586621679445061]) = All t_a1S9s t_a1S9t
data ScanlSym0 (l_a1S6H :: TyFun (TyFun b6989586621679445058 (TyFun a6989586621679445059 b6989586621679445058 -> Type) -> Type) (TyFun b6989586621679445058 (TyFun [a6989586621679445059] [b6989586621679445058] -> Type) -> Type))
data ScanlSym1 (l_a1S6F :: TyFun b6989586621679445058 (TyFun a6989586621679445059 b6989586621679445058 -> Type) -> Type) (l_a1S6E :: TyFun b6989586621679445058 (TyFun [a6989586621679445059] [b6989586621679445058] -> Type))
data ScanlSym2 (l_a1S6B :: TyFun b6989586621679445058 (TyFun a6989586621679445059 b6989586621679445058 -> Type) -> Type) (l_a1S6C :: b6989586621679445058) (l_a1S6A :: TyFun [a6989586621679445059] [b6989586621679445058])
type ScanlSym3 (t_a1S6x :: TyFun b6989586621679445058 (TyFun a6989586621679445059 b6989586621679445058 -> Type) -> Type) (t_a1S6y :: b6989586621679445058) (t_a1S6z :: [a6989586621679445059]) = Scanl t_a1S6x t_a1S6y t_a1S6z
data Scanl1Sym0 (l_a1S6Z :: TyFun (TyFun a6989586621679445057 (TyFun a6989586621679445057 a6989586621679445057 -> Type) -> Type) (TyFun [a6989586621679445057] [a6989586621679445057] -> Type))
data Scanl1Sym1 (l_a1S6X :: TyFun a6989586621679445057 (TyFun a6989586621679445057 a6989586621679445057 -> Type) -> Type) (l_a1S6W :: TyFun [a6989586621679445057] [a6989586621679445057])
type Scanl1Sym2 (t_a1S6U :: TyFun a6989586621679445057 (TyFun a6989586621679445057 a6989586621679445057 -> Type) -> Type) (t_a1S6V :: [a6989586621679445057]) = Scanl1 t_a1S6U t_a1S6V
data ScanrSym0 (l_a1S5Z :: TyFun (TyFun a6989586621679445055 (TyFun b6989586621679445056 b6989586621679445056 -> Type) -> Type) (TyFun b6989586621679445056 (TyFun [a6989586621679445055] [b6989586621679445056] -> Type) -> Type))
data ScanrSym1 (l_a1S5X :: TyFun a6989586621679445055 (TyFun b6989586621679445056 b6989586621679445056 -> Type) -> Type) (l_a1S5W :: TyFun b6989586621679445056 (TyFun [a6989586621679445055] [b6989586621679445056] -> Type))
data ScanrSym2 (l_a1S5T :: TyFun a6989586621679445055 (TyFun b6989586621679445056 b6989586621679445056 -> Type) -> Type) (l_a1S5U :: b6989586621679445056) (l_a1S5S :: TyFun [a6989586621679445055] [b6989586621679445056])
type ScanrSym3 (t_a1S5P :: TyFun a6989586621679445055 (TyFun b6989586621679445056 b6989586621679445056 -> Type) -> Type) (t_a1S5Q :: b6989586621679445056) (t_a1S5R :: [a6989586621679445055]) = Scanr t_a1S5P t_a1S5Q t_a1S5R
data Scanr1Sym0 (l_a1S4Z :: TyFun (TyFun a6989586621679445054 (TyFun a6989586621679445054 a6989586621679445054 -> Type) -> Type) (TyFun [a6989586621679445054] [a6989586621679445054] -> Type))
data Scanr1Sym1 (l_a1S4X :: TyFun a6989586621679445054 (TyFun a6989586621679445054 a6989586621679445054 -> Type) -> Type) (l_a1S4W :: TyFun [a6989586621679445054] [a6989586621679445054])
type Scanr1Sym2 (t_a1S4U :: TyFun a6989586621679445054 (TyFun a6989586621679445054 a6989586621679445054 -> Type) -> Type) (t_a1S4V :: [a6989586621679445054]) = Scanr1 t_a1S4U t_a1S4V
data ReplicateSym0 (l_a1RE7 :: TyFun Nat (TyFun a6989586621679444962 [a6989586621679444962] -> Type))
data ReplicateSym1 (l_a1RE5 :: Nat) (l_a1RE4 :: TyFun a6989586621679444962 [a6989586621679444962])
type ReplicateSym2 (t_a1RE2 :: Nat) (t_a1RE3 :: a6989586621679444962) = Replicate t_a1RE2 t_a1RE3
data TakeSym0 (l_a1RHc :: TyFun Nat (TyFun [a6989586621679444978] [a6989586621679444978] -> Type))
data TakeSym1 (l_a1RHa :: Nat) (l_a1RH9 :: TyFun [a6989586621679444978] [a6989586621679444978])
type TakeSym2 (t_a1RH7 :: Nat) (t_a1RH8 :: [a6989586621679444978]) = Take t_a1RH7 t_a1RH8
data DropSym0 (l_a1RGK :: TyFun Nat (TyFun [a6989586621679444977] [a6989586621679444977] -> Type))
data DropSym1 (l_a1RGI :: Nat) (l_a1RGH :: TyFun [a6989586621679444977] [a6989586621679444977])
type DropSym2 (t_a1RGF :: Nat) (t_a1RGG :: [a6989586621679444977]) = Drop t_a1RGF t_a1RGG
data SplitAtSym0 (l_a1RHE :: TyFun Nat (TyFun [a6989586621679444976] ([a6989586621679444976], [a6989586621679444976]) -> Type))
data SplitAtSym1 (l_a1RHC :: Nat) (l_a1RHB :: TyFun [a6989586621679444976] ([a6989586621679444976], [a6989586621679444976]))
type SplitAtSym2 (t_a1RHz :: Nat) (t_a1RHA :: [a6989586621679444976]) = SplitAt t_a1RHz t_a1RHA
data TakeWhileSym0 (l_a1RMA :: TyFun (TyFun a6989586621679444983 Bool -> Type) (TyFun [a6989586621679444983] [a6989586621679444983] -> Type))
data TakeWhileSym1 (l_a1RMy :: TyFun a6989586621679444983 Bool -> Type) (l_a1RMx :: TyFun [a6989586621679444983] [a6989586621679444983])
type TakeWhileSym2 (t_a1RMv :: TyFun a6989586621679444983 Bool -> Type) (t_a1RMw :: [a6989586621679444983]) = TakeWhile t_a1RMv t_a1RMw
data DropWhileSym0 (l_a1RLV :: TyFun (TyFun a6989586621679444982 Bool -> Type) (TyFun [a6989586621679444982] [a6989586621679444982] -> Type))
data DropWhileSym1 (l_a1RLT :: TyFun a6989586621679444982 Bool -> Type) (l_a1RLS :: TyFun [a6989586621679444982] [a6989586621679444982])
type DropWhileSym2 (t_a1RLQ :: TyFun a6989586621679444982 Bool -> Type) (t_a1RLR :: [a6989586621679444982]) = DropWhile t_a1RLQ t_a1RLR
data DropWhileEndSym0 (l_a1Snb :: TyFun (TyFun a6989586621679444981 Bool -> Type) (TyFun [a6989586621679444981] [a6989586621679444981] -> Type))
data DropWhileEndSym1 (l_a1Sn9 :: TyFun a6989586621679444981 Bool -> Type) (l_a1Sn8 :: TyFun [a6989586621679444981] [a6989586621679444981])
type DropWhileEndSym2 (t_a1Sn6 :: TyFun a6989586621679444981 Bool -> Type) (t_a1Sn7 :: [a6989586621679444981]) = DropWhileEnd t_a1Sn6 t_a1Sn7
data SpanSym0 (l_a1RJk :: TyFun (TyFun a6989586621679444980 Bool -> Type) (TyFun [a6989586621679444980] ([a6989586621679444980], [a6989586621679444980]) -> Type))
data SpanSym1 (l_a1RJi :: TyFun a6989586621679444980 Bool -> Type) (l_a1RJh :: TyFun [a6989586621679444980] ([a6989586621679444980], [a6989586621679444980]))
type SpanSym2 (t_a1RJf :: TyFun a6989586621679444980 Bool -> Type) (t_a1RJg :: [a6989586621679444980]) = Span t_a1RJf t_a1RJg
data BreakSym0 (l_a1RHP :: TyFun (TyFun a6989586621679444979 Bool -> Type) (TyFun [a6989586621679444979] ([a6989586621679444979], [a6989586621679444979]) -> Type))
data BreakSym1 (l_a1RHN :: TyFun a6989586621679444979 Bool -> Type) (l_a1RHM :: TyFun [a6989586621679444979] ([a6989586621679444979], [a6989586621679444979]))
type BreakSym2 (t_a1RHK :: TyFun a6989586621679444979 Bool -> Type) (t_a1RHL :: [a6989586621679444979]) = Break t_a1RHK t_a1RHL
data ElemSym0 (l_a1RY6 :: TyFun a6989586621679445040 (TyFun [a6989586621679445040] Bool -> Type))
data ElemSym1 (l_a1RY4 :: a6989586621679445040) (l_a1RY3 :: TyFun [a6989586621679445040] Bool)
type ElemSym2 (t_a1RY1 :: a6989586621679445040) (t_a1RY2 :: [a6989586621679445040]) = Elem t_a1RY1 t_a1RY2
data NotElemSym0 (l_a1RXU :: TyFun a6989586621679445039 (TyFun [a6989586621679445039] Bool -> Type))
data NotElemSym1 (l_a1RXS :: a6989586621679445039) (l_a1RXR :: TyFun [a6989586621679445039] Bool)
type NotElemSym2 (t_a1RXP :: a6989586621679445039) (t_a1RXQ :: [a6989586621679445039]) = NotElem t_a1RXP t_a1RXQ
data ZipSym0 (l_a1RWc :: TyFun [a6989586621679445037] (TyFun [b6989586621679445038] [(a6989586621679445037, b6989586621679445038)] -> Type))
data ZipSym1 (l_a1RWa :: [a6989586621679445037]) (l_a1RW9 :: TyFun [b6989586621679445038] [(a6989586621679445037, b6989586621679445038)])
type ZipSym2 (t_a1RW7 :: [a6989586621679445037]) (t_a1RW8 :: [b6989586621679445038]) = Zip t_a1RW7 t_a1RW8
data Zip3Sym0 (l_a1RVW :: TyFun [a6989586621679445034] (TyFun [b6989586621679445035] (TyFun [c6989586621679445036] [(a6989586621679445034, b6989586621679445035, c6989586621679445036)] -> Type) -> Type))
data Zip3Sym1 (l_a1RVU :: [a6989586621679445034]) (l_a1RVT :: TyFun [b6989586621679445035] (TyFun [c6989586621679445036] [(a6989586621679445034, b6989586621679445035, c6989586621679445036)] -> Type))
data Zip3Sym2 (l_a1RVQ :: [a6989586621679445034]) (l_a1RVR :: [b6989586621679445035]) (l_a1RVP :: TyFun [c6989586621679445036] [(a6989586621679445034, b6989586621679445035, c6989586621679445036)])
type Zip3Sym3 (t_a1RVM :: [a6989586621679445034]) (t_a1RVN :: [b6989586621679445035]) (t_a1RVO :: [c6989586621679445036]) = Zip3 t_a1RVM t_a1RVN t_a1RVO
data ZipWithSym0 (l_a1RVC :: TyFun (TyFun a6989586621679445031 (TyFun b6989586621679445032 c6989586621679445033 -> Type) -> Type) (TyFun [a6989586621679445031] (TyFun [b6989586621679445032] [c6989586621679445033] -> Type) -> Type))
data ZipWithSym1 (l_a1RVA :: TyFun a6989586621679445031 (TyFun b6989586621679445032 c6989586621679445033 -> Type) -> Type) (l_a1RVz :: TyFun [a6989586621679445031] (TyFun [b6989586621679445032] [c6989586621679445033] -> Type))
data ZipWithSym2 (l_a1RVw :: TyFun a6989586621679445031 (TyFun b6989586621679445032 c6989586621679445033 -> Type) -> Type) (l_a1RVx :: [a6989586621679445031]) (l_a1RVv :: TyFun [b6989586621679445032] [c6989586621679445033])
type ZipWithSym3 (t_a1RVs :: TyFun a6989586621679445031 (TyFun b6989586621679445032 c6989586621679445033 -> Type) -> Type) (t_a1RVt :: [a6989586621679445031]) (t_a1RVu :: [b6989586621679445032]) = ZipWith t_a1RVs t_a1RVt t_a1RVu
data ZipWith3Sym0 (l_a1RVf :: TyFun (TyFun a6989586621679445027 (TyFun b6989586621679445028 (TyFun c6989586621679445029 d6989586621679445030 -> Type) -> Type) -> Type) (TyFun [a6989586621679445027] (TyFun [b6989586621679445028] (TyFun [c6989586621679445029] [d6989586621679445030] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1RVd :: TyFun a6989586621679445027 (TyFun b6989586621679445028 (TyFun c6989586621679445029 d6989586621679445030 -> Type) -> Type) -> Type) (l_a1RVc :: TyFun [a6989586621679445027] (TyFun [b6989586621679445028] (TyFun [c6989586621679445029] [d6989586621679445030] -> Type) -> Type))
data ZipWith3Sym2 (l_a1RV9 :: TyFun a6989586621679445027 (TyFun b6989586621679445028 (TyFun c6989586621679445029 d6989586621679445030 -> Type) -> Type) -> Type) (l_a1RVa :: [a6989586621679445027]) (l_a1RV8 :: TyFun [b6989586621679445028] (TyFun [c6989586621679445029] [d6989586621679445030] -> Type))
data ZipWith3Sym3 (l_a1RV4 :: TyFun a6989586621679445027 (TyFun b6989586621679445028 (TyFun c6989586621679445029 d6989586621679445030 -> Type) -> Type) -> Type) (l_a1RV5 :: [a6989586621679445027]) (l_a1RV6 :: [b6989586621679445028]) (l_a1RV3 :: TyFun [c6989586621679445029] [d6989586621679445030])
data UnzipSym0 (l_a1RUw :: TyFun [(a6989586621679445025, b6989586621679445026)] ([a6989586621679445025], [b6989586621679445026]))
type UnzipSym1 (t_a1RUv :: [(a6989586621679445025, b6989586621679445026)]) = Unzip t_a1RUv
data UnlinesSym0 (l_a1RRw :: TyFun [Symbol] Symbol)
type UnlinesSym1 (t_a1RRv :: [Symbol]) = Unlines t_a1RRv
data UnwordsSym0 (l_a1RRa :: TyFun [Symbol] Symbol)
type UnwordsSym1 (t_a1RR9 :: [Symbol]) = Unwords t_a1RR9


-- | 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 <tt>(==)</tt> (type-level equality) from the
--   given types
promoteEqInstances :: DsMonad q => [Name] -> q [Dec]

-- | Produce an instance for <tt>(==)</tt> (type-level equality) from the
--   given type
promoteEqInstance :: DsMonad q => Name -> q [Dec]

-- | Produce instances for <tt>POrd</tt> from the given types
promoteOrdInstances :: DsMonad q => [Name] -> q [Dec]

-- | Produce an instance for <tt>POrd</tt> from the given type
promoteOrdInstance :: DsMonad q => Name -> q [Dec]

-- | Produce instances for <tt>PBounded</tt> from the given types
promoteBoundedInstances :: DsMonad q => [Name] -> q [Dec]

-- | Produce an instance for <tt>PBounded</tt> from the given type
promoteBoundedInstance :: DsMonad q => Name -> q [Dec]

-- | Produce instances for <tt>PEnum</tt> from the given types
promoteEnumInstances :: DsMonad q => [Name] -> q [Dec]

-- | Produce an instance for <tt>PEnum</tt> from the given type
promoteEnumInstance :: DsMonad q => Name -> q [Dec]

-- | Produce instances for <tt>PShow</tt> from the given types
promoteShowInstances :: DsMonad q => [Name] -> q [Dec]

-- | Produce an instance for <tt>PShow</tt> 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 <a>Apply</a>
type a @@ b = Apply a b

-- | The promoted analogue of <a>Eq</a>. If you supply no definition for
--   '(==)', then it defaults to a use of '(DTE.==)', from
--   <a>Data.Type.Equality</a>.
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 <a>If</a>. <tt>If True a b</tt> ==&gt; <tt>a</tt>; <tt>If
--   False a b</tt> ==&gt; <tt>b</tt>

-- | Type-level "and"
class PEq a_a1eUq => POrd (a_a1eUq :: Type) where {
    type family Compare (arg_a1flu :: a_a1eUq) (arg_a1flv :: a_a1eUq) :: Ordering;
    type family (<) (arg_a1flD :: a_a1eUq) (arg_a1flE :: a_a1eUq) :: Bool;
    type family (<=) (arg_a1flM :: a_a1eUq) (arg_a1flN :: a_a1eUq) :: Bool;
    type family (>) (arg_a1flV :: a_a1eUq) (arg_a1flW :: a_a1eUq) :: Bool;
    type family (>=) (arg_a1fm4 :: a_a1eUq) (arg_a1fm5 :: a_a1eUq) :: Bool;
    type family Max (arg_a1fmd :: a_a1eUq) (arg_a1fme :: a_a1eUq) :: a_a1eUq;
    type family Min (arg_a1fmm :: a_a1eUq) (arg_a1fmn :: a_a1eUq) :: a_a1eUq;
    type Compare a_a1fn2 a_a1fn3 =
        Apply (Apply Compare_6989586621679307210Sym0 a_a1fn2) a_a1fn3;
    type (<) a_a1fnz a_a1fnA =
        Apply (Apply TFHelper_6989586621679307243Sym0 a_a1fnz) a_a1fnA;
    type (<=) a_a1fo6 a_a1fo7 =
        Apply (Apply TFHelper_6989586621679307276Sym0 a_a1fo6) a_a1fo7;
    type (>) a_a1foD a_a1foE =
        Apply (Apply TFHelper_6989586621679307309Sym0 a_a1foD) a_a1foE;
    type (>=) a_a1fpa a_a1fpb =
        Apply (Apply TFHelper_6989586621679307342Sym0 a_a1fpa) a_a1fpb;
    type Max a_a1fpH a_a1fpI =
        Apply (Apply Max_6989586621679307375Sym0 a_a1fpH) a_a1fpI;
    type Min a_a1fqe a_a1fqf =
        Apply (Apply Min_6989586621679307408Sym0 a_a1fqe) a_a1fqf;
}
class PBounded (a_a3uqO :: Type) where {
    type family MinBound :: a_a3uqO;
    type family MaxBound :: a_a3uqO;
}
class PEnum (a_a3vtn :: Type) where {
    type family ToEnum (arg_a3vCZ :: Nat) :: a_a3vtn;
    type family FromEnum (arg_a3vD3 :: a_a3vtn) :: Nat;
    type Succ a_a3vDN = Apply Succ_6989586621679846408Sym0 a_a3vDN;
    type Pred a_a3vE0 = Apply Pred_6989586621679846421Sym0 a_a3vE0;
    type EnumFromTo a_a3vEh a_a3vEi =
        Apply (Apply EnumFromTo_6989586621679846439Sym0 a_a3vEh) a_a3vEi;
    type EnumFromThenTo a_a3vEK a_a3vEL a_a3vEM =
        Apply (Apply (Apply EnumFromThenTo_6989586621679846469Sym0 a_a3vEK) a_a3vEL) a_a3vEM;
}
class PShow (a_a2N1c :: Type) where {
    type family ShowsPrec (arg_a2NxQ :: Nat) (arg_a2NxR :: a_a2N1c) (arg_a2NxS :: Symbol) :: Symbol;
    type family Show_ (arg_a2Ny5 :: a_a2N1c) :: Symbol;
    type family ShowList (arg_a2Ny9 :: [a_a2N1c]) (arg_a2Nya :: Symbol) :: Symbol;
    type ShowsPrec a_a2Nyz a_a2NyA a_a2NyB =
        Apply (Apply (Apply ShowsPrec_6989586621679676950Sym0 a_a2Nyz) a_a2NyA) a_a2NyB;
    type Show_ a_a2NyV = Apply Show__6989586621679676970Sym0 a_a2NyV;
    type ShowList a_a2Nzc a_a2Nzd =
        Apply (Apply ShowList_6989586621679676988Sym0 a_a2Nzc) a_a2Nzd;
}

-- | <a>Proxy</a> 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, <tt><a>Proxy</a> :: <a>Proxy</a> a</tt> is a safer
--   alternative to the <tt>'undefined :: a'</tt> idiom.
--   
--   <pre>
--   &gt;&gt;&gt; Proxy :: Proxy (Void, Int -&gt; Int)
--   Proxy
--   </pre>
--   
--   Proxy can even hold types of higher kinds,
--   
--   <pre>
--   &gt;&gt;&gt; Proxy :: Proxy Either
--   Proxy
--   </pre>
--   
--   <pre>
--   &gt;&gt;&gt; Proxy :: Proxy Functor
--   Proxy
--   </pre>
--   
--   <pre>
--   &gt;&gt;&gt; Proxy :: Proxy complicatedStructure
--   Proxy
--   </pre>
data Proxy (t :: k) :: forall k. () => k -> *
Proxy :: Proxy

-- | The promotion of <a>error</a>. This version is more poly-kinded for
--   easier use.
data ErrorSym0 (l_a1yRO :: TyFun k06989586621679381217 k6989586621679381218)
type ErrorSym1 (t_a1yRN :: k06989586621679381217) = Error t_a1yRN

-- | The promotion of <a>undefined</a>.
type UndefinedSym0 = Undefined
type TrueSym0 = True
type FalseSym0 = False
data (==@#@$) (l_a1c3n :: TyFun a6989586621679294390 (TyFun a6989586621679294390 Bool -> Type))
data (==@#@$$) (l_a1c3l :: a6989586621679294390) (l_a1c3k :: TyFun a6989586621679294390 Bool)
type (==@#@$$$) (t_a1c3i :: a6989586621679294390) (t_a1c3j :: a6989586621679294390) = (==) t_a1c3i t_a1c3j
data (>@#@$) (l_a1fm2 :: TyFun a6989586621679305434 (TyFun a6989586621679305434 Bool -> Type))
data (>@#@$$) (l_a1fm0 :: a6989586621679305434) (l_a1flZ :: TyFun a6989586621679305434 Bool)
type (>@#@$$$) (t_a1flX :: a6989586621679305434) (t_a1flY :: a6989586621679305434) = (>) t_a1flX t_a1flY
type LTSym0 = LT
type EQSym0 = EQ
type GTSym0 = GT
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_a10vX :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_a10vV :: a3530822107858468865) (l_a10vU :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_a10vS :: a3530822107858468865) (t_a10vT :: b3530822107858468866) = '(t_a10vS, t_a10vT)
data Tuple3Sym0 (l_a10wn :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_a10wl :: a3530822107858468865) (l_a10wk :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_a10wh :: a3530822107858468865) (l_a10wi :: b3530822107858468866) (l_a10wg :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_a10wd :: a3530822107858468865) (t_a10we :: b3530822107858468866) (t_a10wf :: c3530822107858468867) = '(t_a10wd, t_a10we, t_a10wf)
data Tuple4Sym0 (l_a10wY :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_a10wW :: a3530822107858468865) (l_a10wV :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_a10wS :: a3530822107858468865) (l_a10wT :: b3530822107858468866) (l_a10wR :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_a10wN :: a3530822107858468865) (l_a10wO :: b3530822107858468866) (l_a10wP :: c3530822107858468867) (l_a10wM :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_a10wI :: a3530822107858468865) (t_a10wJ :: b3530822107858468866) (t_a10wK :: c3530822107858468867) (t_a10wL :: d3530822107858468868) = '(t_a10wI, t_a10wJ, t_a10wK, t_a10wL)
data Tuple5Sym0 (l_a10xL :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_a10xJ :: a3530822107858468865) (l_a10xI :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_a10xF :: a3530822107858468865) (l_a10xG :: b3530822107858468866) (l_a10xE :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_a10xA :: a3530822107858468865) (l_a10xB :: b3530822107858468866) (l_a10xC :: c3530822107858468867) (l_a10xz :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_a10xu :: a3530822107858468865) (l_a10xv :: b3530822107858468866) (l_a10xw :: c3530822107858468867) (l_a10xx :: d3530822107858468868) (l_a10xt :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_a10xo :: a3530822107858468865) (t_a10xp :: b3530822107858468866) (t_a10xq :: c3530822107858468867) (t_a10xr :: d3530822107858468868) (t_a10xs :: e3530822107858468869) = '(t_a10xo, t_a10xp, t_a10xq, t_a10xr, t_a10xs)
data Tuple6Sym0 (l_a10yL :: 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_a10yJ :: a3530822107858468865) (l_a10yI :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_a10yF :: a3530822107858468865) (l_a10yG :: b3530822107858468866) (l_a10yE :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_a10yA :: a3530822107858468865) (l_a10yB :: b3530822107858468866) (l_a10yC :: c3530822107858468867) (l_a10yz :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_a10yu :: a3530822107858468865) (l_a10yv :: b3530822107858468866) (l_a10yw :: c3530822107858468867) (l_a10yx :: d3530822107858468868) (l_a10yt :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_a10yn :: a3530822107858468865) (l_a10yo :: b3530822107858468866) (l_a10yp :: c3530822107858468867) (l_a10yq :: d3530822107858468868) (l_a10yr :: e3530822107858468869) (l_a10ym :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_a10yg :: a3530822107858468865) (t_a10yh :: b3530822107858468866) (t_a10yi :: c3530822107858468867) (t_a10yj :: d3530822107858468868) (t_a10yk :: e3530822107858468869) (t_a10yl :: f3530822107858468870) = '(t_a10yg, t_a10yh, t_a10yi, t_a10yj, t_a10yk, t_a10yl)
data Tuple7Sym0 (l_a10zZ :: 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_a10zX :: a3530822107858468865) (l_a10zW :: 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_a10zT :: a3530822107858468865) (l_a10zU :: b3530822107858468866) (l_a10zS :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_a10zO :: a3530822107858468865) (l_a10zP :: b3530822107858468866) (l_a10zQ :: c3530822107858468867) (l_a10zN :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_a10zI :: a3530822107858468865) (l_a10zJ :: b3530822107858468866) (l_a10zK :: c3530822107858468867) (l_a10zL :: d3530822107858468868) (l_a10zH :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_a10zB :: a3530822107858468865) (l_a10zC :: b3530822107858468866) (l_a10zD :: c3530822107858468867) (l_a10zE :: d3530822107858468868) (l_a10zF :: e3530822107858468869) (l_a10zA :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_a10zt :: a3530822107858468865) (l_a10zu :: b3530822107858468866) (l_a10zv :: c3530822107858468867) (l_a10zw :: d3530822107858468868) (l_a10zx :: e3530822107858468869) (l_a10zy :: f3530822107858468870) (l_a10zs :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_a10zl :: a3530822107858468865) (t_a10zm :: b3530822107858468866) (t_a10zn :: c3530822107858468867) (t_a10zo :: d3530822107858468868) (t_a10zp :: e3530822107858468869) (t_a10zq :: f3530822107858468870) (t_a10zr :: g3530822107858468871) = '(t_a10zl, t_a10zm, t_a10zn, t_a10zo, t_a10zp, t_a10zq, t_a10zr)
data CompareSym0 (l_a1flB :: TyFun a6989586621679305434 (TyFun a6989586621679305434 Ordering -> Type))
data CompareSym1 (l_a1flz :: a6989586621679305434) (l_a1fly :: TyFun a6989586621679305434 Ordering)
type CompareSym2 (t_a1flw :: a6989586621679305434) (t_a1flx :: a6989586621679305434) = Compare t_a1flw t_a1flx
data ThenCmpSym0 (l_a1h9c :: TyFun Ordering (TyFun Ordering Ordering -> Type))
data ThenCmpSym1 (l_a1h9a :: Ordering) (l_a1h99 :: TyFun Ordering Ordering)
type ThenCmpSym2 (t_a1h97 :: Ordering) (t_a1h98 :: Ordering) = ThenCmp t_a1h97 t_a1h98
data FoldlSym0 (l_a13tt :: TyFun (TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (TyFun b6989586621679261435 (TyFun [a6989586621679261434] b6989586621679261435 -> Type) -> Type))
data FoldlSym1 (l_a13tr :: TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (l_a13tq :: TyFun b6989586621679261435 (TyFun [a6989586621679261434] b6989586621679261435 -> Type))
data FoldlSym2 (l_a13tn :: TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (l_a13to :: b6989586621679261435) (l_a13tm :: TyFun [a6989586621679261434] b6989586621679261435)
type FoldlSym3 (t_a13tj :: TyFun b6989586621679261435 (TyFun a6989586621679261434 b6989586621679261435 -> Type) -> Type) (t_a13tk :: b6989586621679261435) (t_a13tl :: [a6989586621679261434]) = Foldl t_a13tj t_a13tk t_a13tl
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data ShowsPrecSym0 (l_a2Ny3 :: TyFun Nat (TyFun a6989586621679674878 (TyFun Symbol Symbol -> Type) -> Type))
data ShowsPrecSym1 (l_a2Ny1 :: Nat) (l_a2Ny0 :: TyFun a6989586621679674878 (TyFun Symbol Symbol -> Type))
data ShowsPrecSym2 (l_a2NxX :: Nat) (l_a2NxY :: a6989586621679674878) (l_a2NxW :: TyFun Symbol Symbol)
type ShowsPrecSym3 (t_a2NxT :: Nat) (t_a2NxU :: a6989586621679674878) (t_a2NxV :: Symbol) = ShowsPrec t_a2NxT t_a2NxU t_a2NxV
data ShowStringSym0 (l_a2Nvq :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowStringSym1 (l_a2Nvo :: Symbol) (l_a2Nvn :: TyFun Symbol Symbol)
type ShowStringSym2 (t_a2Nvl :: Symbol) (t_a2Nvm :: Symbol) = ShowString t_a2Nvl t_a2Nvm
data ShowParenSym0 (l_a2Nw2 :: TyFun Bool (TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type) -> Type))
data ShowParenSym1 (l_a2Nw0 :: Bool) (l_a2NvZ :: TyFun (TyFun Symbol Symbol -> Type) (TyFun Symbol Symbol -> Type))
data ShowParenSym2 (l_a2NvW :: Bool) (l_a2NvX :: TyFun Symbol Symbol -> Type) (l_a2NvV :: TyFun Symbol Symbol)
data ShowSpaceSym0 (l_a2Nv2 :: TyFun Symbol Symbol)
type ShowSpaceSym1 (t_a2Nv1 :: Symbol) = ShowSpace t_a2Nv1
data ShowCharSym0 (l_a2NvM :: TyFun Symbol (TyFun Symbol Symbol -> Type))
data ShowCharSym1 (l_a2NvK :: Symbol) (l_a2NvJ :: TyFun Symbol Symbol)
type ShowCharSym2 (t_a2NvH :: Symbol) (t_a2NvI :: Symbol) = ShowChar t_a2NvH t_a2NvI
data ShowCommaSpaceSym0 (l_a2Nvz :: TyFun Symbol Symbol)
type ShowCommaSpaceSym1 (t_a2Nvy :: Symbol) = ShowCommaSpace t_a2Nvy
data (.@#@$) (l_a1Jom :: TyFun (TyFun b6989586621679422438 c6989586621679422439 -> Type) (TyFun (TyFun a6989586621679422440 b6989586621679422438 -> Type) (TyFun a6989586621679422440 c6989586621679422439 -> Type) -> Type))
data (.@#@$$) (l_a1Jok :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (l_a1Joj :: TyFun (TyFun a6989586621679422440 b6989586621679422438 -> Type) (TyFun a6989586621679422440 c6989586621679422439 -> Type))
data (.@#@$$$) (l_a1Jog :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (l_a1Joh :: TyFun a6989586621679422440 b6989586621679422438 -> Type) (l_a1Jof :: TyFun a6989586621679422440 c6989586621679422439)
type (.@#@$$$$) (t_a1Joc :: TyFun b6989586621679422438 c6989586621679422439 -> Type) (t_a1Jod :: TyFun a6989586621679422440 b6989586621679422438 -> Type) (t_a1Joe :: a6989586621679422440) = (:.) t_a1Joc t_a1Jod t_a1Joe
data (:@#@$) (l_a10uS :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:@#@$$) (l_a10uQ :: a3530822107858468865) (l_a10uP :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:@#@$$$) (t_a10uN :: a3530822107858468865) (t_a10uO :: [a3530822107858468865]) = (:) t_a10uN t_a10uO

-- | 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 <a>singletonStar</a>, which generates a datatype
--   <tt>Rep</tt> and associated singleton from a list of types. The
--   promoted version of <tt>Rep</tt> is kind <tt>*</tt> 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 <tt>Rep</tt> 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 <tt>*</tt>, not just
--   promoted data constructors.
--   
--   For example,
--   
--   <pre>
--   $(singletonStar [''Nat, ''Bool, ''Maybe])
--   </pre>
--   
--   generates the following:
--   
--   <pre>
--   data Rep = Nat | Bool | Maybe Rep deriving (Eq, Ord, Read, Show)
--   </pre>
--   
--   and its singleton. However, because <tt>Rep</tt> is promoted to
--   <tt>*</tt>, the singleton is perhaps slightly unexpected:
--   
--   <pre>
--   data instance Sing (a :: *) where
--     SNat :: Sing Nat
--     SBool :: Sing Bool
--     SMaybe :: Sing a -&gt; Sing (Maybe a)
--   </pre>
--   
--   The unexpected part is that <tt>Nat</tt>, <tt>Bool</tt>, and
--   <tt>Maybe</tt> above are the real <tt>Nat</tt>, <tt>Bool</tt>, and
--   <tt>Maybe</tt>, not just promoted data constructors.
--   
--   Please note that this function is <i>very</i> experimental. Use at
--   your own risk.
singletonStar :: DsMonad q => [Name] -> q [Dec]
