-- 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>http://www.cis.upenn.edu/~eir/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>http://www.cis.upenn.edu/~eir/papers/2014/promotion/promotion.pdf</a>.
@package singletons
@version 2.3.1


-- | 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.

-- | 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>.
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.
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

-- | 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

-- | Allows creation of a singleton when a proxy is at hand.
singByProxy :: SingI a => proxy a -> Sing a

-- | Allows creation of a singleton when a <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>
data TyCon1 :: (k1 -> k2) -> (k1 ~> k2)

-- | Similar to <a>TyCon1</a>, but for two-parameter type constructors.
data TyCon2 :: (k1 -> k2 -> k3) -> (k1 ~> (k2 ~> k3))
data TyCon3 :: (k1 -> k2 -> k3 -> k4) -> (k1 ~> (k2 ~> (k3 ~> k4)))
data TyCon4 :: (k1 -> k2 -> k3 -> k4 -> k5) -> (k1 ~> (k2 ~> (k3 ~> (k4 ~> k5))))
data TyCon5 :: (k1 -> k2 -> k3 -> k4 -> k5 -> k6) -> (k1 ~> (k2 ~> (k3 ~> (k4 ~> (k5 ~> k6)))))
data TyCon6 :: (k1 -> k2 -> k3 -> k4 -> k5 -> k6 -> k7) -> (k1 ~> (k2 ~> (k3 ~> (k4 ~> (k5 ~> (k6 ~> k7))))))
data TyCon7 :: (k1 -> k2 -> k3 -> k4 -> k5 -> k6 -> k7 -> k8) -> (k1 ~> (k2 ~> (k3 ~> (k4 ~> (k5 ~> (k6 ~> (k7 ~> k8)))))))
data TyCon8 :: (k1 -> k2 -> k3 -> k4 -> k5 -> k6 -> k7 -> k8 -> k9) -> (k1 ~> (k2 ~> (k3 ~> (k4 ~> (k5 ~> (k6 ~> (k7 ~> (k8 ~> k9))))))))

-- | 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 concrete, poly-kinded proxy type
data Proxy k (t :: k) :: forall k. () => k -> *
Proxy :: Proxy k
instance (Data.Singletons.SingKind k1, Data.Singletons.SingKind k2) => Data.Singletons.SingKind (k1 Data.Singletons.~> k2)


-- | 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 (:~:) k (a :: k) (b :: k) :: forall k. () => k -> k -> *
[Refl] :: (:~:) k 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 forall k1 (k2 :: k1) k3. Data.Singletons.Decide.SDecide k3 => Data.Type.Equality.TestEquality Data.Singletons.Sing

module Data.Singletons.SuppressUnusedWarnings

-- | This class (which users should never see) is to be instantiated in
--   order to use an otherwise-unused data constructor, such as the
--   "kind-inference" data constructor for defunctionalization symbols.
class SuppressUnusedWarnings (t :: k)
suppressUnusedWarnings :: SuppressUnusedWarnings t => Proxy t -> ()


-- | 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)
sNot :: forall (t_a1aGI :: Bool). Sing t_a1aGI -> Sing (Apply NotSym0 t_a1aGI :: Bool)
(%:&&) :: forall (t_a1aGL :: Bool) (t_a1aGM :: Bool). Sing t_a1aGL -> Sing t_a1aGM -> Sing (Apply (Apply (:&&$) t_a1aGL) t_a1aGM :: Bool)
infixr 3 %:&&
(%:||) :: forall (t_a1aGJ :: Bool) (t_a1aGK :: Bool). Sing t_a1aGJ -> Sing t_a1aGK -> Sing (Apply (Apply (:||$) t_a1aGJ) t_a1aGK :: Bool)
infixr 2 %:||
bool_ :: a_a1awd -> a_a1awd -> Bool -> a_a1awd
sBool_ :: forall (t_a1awC :: a_a1awd) (t_a1awD :: a_a1awd) (t_a1awE :: Bool). Sing t_a1awC -> Sing t_a1awD -> Sing t_a1awE -> Sing (Apply (Apply (Apply Bool_Sym0 t_a1awC) t_a1awD) t_a1awE :: a_a1awd)
sOtherwise :: Sing (OtherwiseSym0 :: Bool)
type TrueSym0 = True
type FalseSym0 = False
data NotSym0 (l_a1aGf :: TyFun Bool Bool)
type NotSym1 (t_a1aGe :: Bool) = Not t_a1aGe
data (:&&$) (l_a1aGA :: TyFun Bool (TyFun Bool Bool -> Type))
data (:&&$$) (l_a1aGy :: Bool) (l_a1aGx :: TyFun Bool Bool)
type (:&&$$$) (t_a1aGv :: Bool) (t_a1aGw :: Bool) = (:&&) t_a1aGv t_a1aGw
data (:||$) (l_a1aGn :: TyFun Bool (TyFun Bool Bool -> Type))
data (:||$$) (l_a1aGl :: Bool) (l_a1aGk :: TyFun Bool Bool)
type (:||$$$) (t_a1aGi :: Bool) (t_a1aGj :: Bool) = (:||) t_a1aGi t_a1aGj
data Bool_Sym0 (l_a1awt :: TyFun a6989586621679288557 (TyFun a6989586621679288557 (TyFun Bool a6989586621679288557 -> Type) -> Type))
data Bool_Sym1 (l_a1awr :: a6989586621679288557) (l_a1awq :: TyFun a6989586621679288557 (TyFun Bool a6989586621679288557 -> Type))
data Bool_Sym2 (l_a1awn :: a6989586621679288557) (l_a1awo :: a6989586621679288557) (l_a1awm :: TyFun Bool a6989586621679288557)
type Bool_Sym3 (t_a1awj :: a6989586621679288557) (t_a1awk :: a6989586621679288557) (t_a1awl :: Bool) = Bool_ t_a1awj t_a1awk t_a1awl
type OtherwiseSym0 = Otherwise
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.NotSym0
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 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_a1awd -> a_a1awd -> Bool -> a_a1awd
type TrueSym0 = True
type FalseSym0 = False
data NotSym0 (l_a1aGf :: TyFun Bool Bool)
type NotSym1 (t_a1aGe :: Bool) = Not t_a1aGe
data (:&&$) (l_a1aGA :: TyFun Bool (TyFun Bool Bool -> Type))
data (:&&$$) (l_a1aGy :: Bool) (l_a1aGx :: TyFun Bool Bool)
type (:&&$$$) (t_a1aGv :: Bool) (t_a1aGw :: Bool) = (:&&) t_a1aGv t_a1aGw
data (:||$) (l_a1aGn :: TyFun Bool (TyFun Bool Bool -> Type))
data (:||$$) (l_a1aGl :: Bool) (l_a1aGk :: TyFun Bool Bool)
type (:||$$$) (t_a1aGi :: Bool) (t_a1aGj :: Bool) = (:||) t_a1aGi t_a1aGj
data Bool_Sym0 (l_a1awt :: TyFun a6989586621679288557 (TyFun a6989586621679288557 (TyFun Bool a6989586621679288557 -> Type) -> Type))
data Bool_Sym1 (l_a1awr :: a6989586621679288557) (l_a1awq :: TyFun a6989586621679288557 (TyFun Bool a6989586621679288557 -> Type))
data Bool_Sym2 (l_a1awn :: a6989586621679288557) (l_a1awo :: a6989586621679288557) (l_a1awm :: TyFun Bool a6989586621679288557)
type Bool_Sym3 (t_a1awj :: a6989586621679288557) (t_a1awk :: a6989586621679288557) (t_a1awl :: Bool) = Bool_ t_a1awj t_a1awk t_a1awl
type OtherwiseSym0 = Otherwise


-- | 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_a1bBI :: TyFun a_a1by5 (TyFun b_a1by6 b_a1by6 -> Type) -> Type) (t_a1bBJ :: b_a1by6) (t_a1bBK :: [a_a1by5]). Sing t_a1bBI -> Sing t_a1bBJ -> Sing t_a1bBK -> Sing (Apply (Apply (Apply FoldrSym0 t_a1bBI) t_a1bBJ) t_a1bBK :: b_a1by6)
sMap :: forall (t_a1bBG :: TyFun a_a1by3 b_a1by4 -> Type) (t_a1bBH :: [a_a1by3]). Sing t_a1bBG -> Sing t_a1bBH -> Sing (Apply (Apply MapSym0 t_a1bBG) t_a1bBH :: [b_a1by4])
(%:++) :: forall (t_a1bBE :: [a_a1by2]) (t_a1bBF :: [a_a1by2]). Sing t_a1bBE -> Sing t_a1bBF -> Sing (Apply (Apply (:++$) t_a1bBE) t_a1bBF :: [a_a1by2])
infixr 5 %:++
sOtherwise :: Sing (OtherwiseSym0 :: Bool)
sId :: forall (t_a1bBD :: a_a1by1). Sing t_a1bBD -> Sing (Apply IdSym0 t_a1bBD :: a_a1by1)
sConst :: forall (t_a1bBz :: a_a1bxZ) (t_a1bBA :: b_a1by0). Sing t_a1bBz -> Sing t_a1bBA -> Sing (Apply (Apply ConstSym0 t_a1bBz) t_a1bBA :: a_a1bxZ)
(%:.) :: forall (t_a1bBw :: TyFun b_a1bxW c_a1bxX -> Type) (t_a1bBx :: TyFun a_a1bxY b_a1bxW -> Type) (t_a1bBy :: a_a1bxY). Sing t_a1bBw -> Sing t_a1bBx -> Sing t_a1bBy -> Sing (Apply (Apply (Apply (:.$) t_a1bBw) t_a1bBx) t_a1bBy :: c_a1bxX)
infixr 9 %:.
(%$) :: forall (f :: TyFun a b -> *) (x :: a). Sing f -> Sing x -> Sing ((($$) @@ f) @@ x)
infixr 0 %$
(%$!) :: forall (f :: TyFun a b -> *) (x :: a). Sing f -> Sing x -> Sing ((($!$) @@ f) @@ x)
infixr 0 %$!
sFlip :: forall (t_a1bBt :: TyFun a_a1bxT (TyFun b_a1bxU c_a1bxV -> Type) -> Type) (t_a1bBu :: b_a1bxU) (t_a1bBv :: a_a1bxT). Sing t_a1bBt -> Sing t_a1bBu -> Sing t_a1bBv -> Sing (Apply (Apply (Apply FlipSym0 t_a1bBt) t_a1bBu) t_a1bBv :: c_a1bxV)
sAsTypeOf :: forall (t_a1bBB :: a_a1bxS) (t_a1bBC :: a_a1bxS). Sing t_a1bBB -> Sing t_a1bBC -> Sing (Apply (Apply AsTypeOfSym0 t_a1bBB) t_a1bBC :: a_a1bxS)
sSeq :: forall (t_a1bBr :: a_a1bxQ) (t_a1bBs :: b_a1bxR). Sing t_a1bBr -> Sing t_a1bBs -> Sing (Apply (Apply SeqSym0 t_a1bBr) t_a1bBs :: b_a1bxR)
infixr 0 `sSeq`
data FoldrSym0 (l_a1bAV :: TyFun (TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (TyFun b6989586621679292518 (TyFun [a6989586621679292517] b6989586621679292518 -> Type) -> Type))
data FoldrSym1 (l_a1bAT :: TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (l_a1bAS :: TyFun b6989586621679292518 (TyFun [a6989586621679292517] b6989586621679292518 -> Type))
data FoldrSym2 (l_a1bAP :: TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (l_a1bAQ :: b6989586621679292518) (l_a1bAO :: TyFun [a6989586621679292517] b6989586621679292518)
type FoldrSym3 (t_a1bAL :: TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (t_a1bAM :: b6989586621679292518) (t_a1bAN :: [a6989586621679292517]) = Foldr t_a1bAL t_a1bAM t_a1bAN
data MapSym0 (l_a1bAB :: TyFun (TyFun a6989586621679292515 b6989586621679292516 -> Type) (TyFun [a6989586621679292515] [b6989586621679292516] -> Type))
data MapSym1 (l_a1bAz :: TyFun a6989586621679292515 b6989586621679292516 -> Type) (l_a1bAy :: TyFun [a6989586621679292515] [b6989586621679292516])
type MapSym2 (t_a1bAw :: TyFun a6989586621679292515 b6989586621679292516 -> Type) (t_a1bAx :: [a6989586621679292515]) = Map t_a1bAw t_a1bAx
data (:++$) (l_a1bAo :: TyFun [a6989586621679292514] (TyFun [a6989586621679292514] [a6989586621679292514] -> Type))
data (:++$$) (l_a1bAm :: [a6989586621679292514]) (l_a1bAl :: TyFun [a6989586621679292514] [a6989586621679292514])
type (:++$$$) (t_a1bAj :: [a6989586621679292514]) (t_a1bAk :: [a6989586621679292514]) = (:++) t_a1bAj t_a1bAk
type OtherwiseSym0 = Otherwise
data IdSym0 (l_a1bAf :: TyFun a6989586621679292513 a6989586621679292513)
type IdSym1 (t_a1bAe :: a6989586621679292513) = Id t_a1bAe
data ConstSym0 (l_a1bzR :: TyFun a6989586621679292511 (TyFun b6989586621679292512 a6989586621679292511 -> Type))
data ConstSym1 (l_a1bzP :: a6989586621679292511) (l_a1bzO :: TyFun b6989586621679292512 a6989586621679292511)
type ConstSym2 (t_a1bzM :: a6989586621679292511) (t_a1bzN :: b6989586621679292512) = Const t_a1bzM t_a1bzN
data (:.$) (l_a1bzg :: TyFun (TyFun b6989586621679292508 c6989586621679292509 -> Type) (TyFun (TyFun a6989586621679292510 b6989586621679292508 -> Type) (TyFun a6989586621679292510 c6989586621679292509 -> Type) -> Type))
data (:.$$) (l_a1bze :: TyFun b6989586621679292508 c6989586621679292509 -> Type) (l_a1bzd :: TyFun (TyFun a6989586621679292510 b6989586621679292508 -> Type) (TyFun a6989586621679292510 c6989586621679292509 -> Type))
data (:.$$$) (l_a1bza :: TyFun b6989586621679292508 c6989586621679292509 -> Type) (l_a1bzb :: TyFun a6989586621679292510 b6989586621679292508 -> Type) (l_a1bz9 :: TyFun a6989586621679292510 c6989586621679292509)
type (:.$$$$) (t_a1bz6 :: TyFun b6989586621679292508 c6989586621679292509 -> Type) (t_a1bz7 :: TyFun a6989586621679292510 b6989586621679292508 -> Type) (t_a1bz8 :: a6989586621679292510) = (:.) t_a1bz6 t_a1bz7 t_a1bz8
data ($$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> *
data ($$$) :: (TyFun a b -> *) -> TyFun a b -> *
type ($$$$) a b = ($) a b
data ($!$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> *
data ($!$$) :: (TyFun a b -> *) -> TyFun a b -> *
type ($!$$$) a b = ($!) a b
data FlipSym0 (l_a1byY :: TyFun (TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (TyFun b6989586621679292506 (TyFun a6989586621679292505 c6989586621679292507 -> Type) -> Type))
data FlipSym1 (l_a1byW :: TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (l_a1byV :: TyFun b6989586621679292506 (TyFun a6989586621679292505 c6989586621679292507 -> Type))
data FlipSym2 (l_a1byS :: TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (l_a1byT :: b6989586621679292506) (l_a1byR :: TyFun a6989586621679292505 c6989586621679292507)
type FlipSym3 (t_a1byO :: TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (t_a1byP :: b6989586621679292506) (t_a1byQ :: a6989586621679292505) = Flip t_a1byO t_a1byP t_a1byQ
data AsTypeOfSym0 (l_a1bA8 :: TyFun a6989586621679292504 (TyFun a6989586621679292504 a6989586621679292504 -> Type))
data AsTypeOfSym1 (l_a1bA6 :: a6989586621679292504) (l_a1bA5 :: TyFun a6989586621679292504 a6989586621679292504)
type AsTypeOfSym2 (t_a1bA3 :: a6989586621679292504) (t_a1bA4 :: a6989586621679292504) = AsTypeOf t_a1bA3 t_a1bA4
data SeqSym0 (l_a1byG :: TyFun a6989586621679292502 (TyFun b6989586621679292503 b6989586621679292503 -> Type))
data SeqSym1 (l_a1byE :: a6989586621679292502) (l_a1byD :: TyFun b6989586621679292503 b6989586621679292503)
type SeqSym2 (t_a1byB :: a6989586621679292502) (t_a1byC :: b6989586621679292503) = Seq t_a1byB t_a1byC
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.SeqSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.SeqSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679292703GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679292703GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679292703GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679292703GoSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679292600Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679292600Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679292600Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679292600Sym3


-- | 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_a1bBD :: a_a1by1). Sing t_a1bBD -> Sing (Apply IdSym0 t_a1bBD :: a_a1by1)
sConst :: forall (t_a1bBz :: a_a1bxZ) (t_a1bBA :: b_a1by0). Sing t_a1bBz -> Sing t_a1bBA -> Sing (Apply (Apply ConstSym0 t_a1bBz) t_a1bBA :: a_a1bxZ)
(%:.) :: forall (t_a1bBw :: TyFun b_a1bxW c_a1bxX -> Type) (t_a1bBx :: TyFun a_a1bxY b_a1bxW -> Type) (t_a1bBy :: a_a1bxY). Sing t_a1bBw -> Sing t_a1bBx -> Sing t_a1bBy -> Sing (Apply (Apply (Apply (:.$) t_a1bBw) t_a1bBx) t_a1bBy :: c_a1bxX)
infixr 9 %:.
sFlip :: forall (t_a1bBt :: TyFun a_a1bxT (TyFun b_a1bxU c_a1bxV -> Type) -> Type) (t_a1bBu :: b_a1bxU) (t_a1bBv :: a_a1bxT). Sing t_a1bBt -> Sing t_a1bBu -> Sing t_a1bBv -> Sing (Apply (Apply (Apply FlipSym0 t_a1bBt) t_a1bBu) t_a1bBv :: c_a1bxV)
(%$) :: forall (f :: TyFun a b -> *) (x :: a). Sing f -> Sing x -> Sing ((($$) @@ f) @@ x)
infixr 0 %$
(%:&) :: forall (t_a1eI5 :: a_a1eGA) (t_a1eI6 :: TyFun a_a1eGA b_a1eGB -> Type). Sing t_a1eI5 -> Sing t_a1eI6 -> Sing (Apply (Apply (:&$) t_a1eI5) t_a1eI6 :: b_a1eGB)
sOn :: forall (t_a1eI7 :: TyFun b_a1eGC (TyFun b_a1eGC c_a1eGD -> Type) -> Type) (t_a1eI8 :: TyFun a_a1eGE b_a1eGC -> Type) (t_a1eI9 :: a_a1eGE) (t_a1eIa :: a_a1eGE). Sing t_a1eI7 -> Sing t_a1eI8 -> Sing t_a1eI9 -> Sing t_a1eIa -> Sing (Apply (Apply (Apply (Apply OnSym0 t_a1eI7) t_a1eI8) t_a1eI9) t_a1eIa :: c_a1eGD)
data IdSym0 (l_a1bAf :: TyFun a6989586621679292513 a6989586621679292513)
type IdSym1 (t_a1bAe :: a6989586621679292513) = Id t_a1bAe
data ConstSym0 (l_a1bzR :: TyFun a6989586621679292511 (TyFun b6989586621679292512 a6989586621679292511 -> Type))
data ConstSym1 (l_a1bzP :: a6989586621679292511) (l_a1bzO :: TyFun b6989586621679292512 a6989586621679292511)
type ConstSym2 (t_a1bzM :: a6989586621679292511) (t_a1bzN :: b6989586621679292512) = Const t_a1bzM t_a1bzN
data (:.$) (l_a1bzg :: TyFun (TyFun b6989586621679292508 c6989586621679292509 -> Type) (TyFun (TyFun a6989586621679292510 b6989586621679292508 -> Type) (TyFun a6989586621679292510 c6989586621679292509 -> Type) -> Type))
data (:.$$) (l_a1bze :: TyFun b6989586621679292508 c6989586621679292509 -> Type) (l_a1bzd :: TyFun (TyFun a6989586621679292510 b6989586621679292508 -> Type) (TyFun a6989586621679292510 c6989586621679292509 -> Type))
data (:.$$$) (l_a1bza :: TyFun b6989586621679292508 c6989586621679292509 -> Type) (l_a1bzb :: TyFun a6989586621679292510 b6989586621679292508 -> Type) (l_a1bz9 :: TyFun a6989586621679292510 c6989586621679292509)
type (:.$$$$) (t_a1bz6 :: TyFun b6989586621679292508 c6989586621679292509 -> Type) (t_a1bz7 :: TyFun a6989586621679292510 b6989586621679292508 -> Type) (t_a1bz8 :: a6989586621679292510) = (:.) t_a1bz6 t_a1bz7 t_a1bz8
data FlipSym0 (l_a1byY :: TyFun (TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (TyFun b6989586621679292506 (TyFun a6989586621679292505 c6989586621679292507 -> Type) -> Type))
data FlipSym1 (l_a1byW :: TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (l_a1byV :: TyFun b6989586621679292506 (TyFun a6989586621679292505 c6989586621679292507 -> Type))
data FlipSym2 (l_a1byS :: TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (l_a1byT :: b6989586621679292506) (l_a1byR :: TyFun a6989586621679292505 c6989586621679292507)
type FlipSym3 (t_a1byO :: TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (t_a1byP :: b6989586621679292506) (t_a1byQ :: a6989586621679292505) = Flip t_a1byO t_a1byP t_a1byQ
data ($$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> *
data ($$$) :: (TyFun a b -> *) -> TyFun a b -> *
type ($$$$) a b = ($) a b
data (:&$) (l_a1eGS :: TyFun a6989586621679304576 (TyFun (TyFun a6989586621679304576 b6989586621679304577 -> Type) b6989586621679304577 -> Type))
data (:&$$) (l_a1eGQ :: a6989586621679304576) (l_a1eGP :: TyFun (TyFun a6989586621679304576 b6989586621679304577 -> Type) b6989586621679304577)
type (:&$$$) (t_a1eGN :: a6989586621679304576) (t_a1eGO :: TyFun a6989586621679304576 b6989586621679304577 -> Type) = (:&) t_a1eGN t_a1eGO
data OnSym0 (l_a1eHe :: TyFun (TyFun b6989586621679304578 (TyFun b6989586621679304578 c6989586621679304579 -> Type) -> Type) (TyFun (TyFun a6989586621679304580 b6989586621679304578 -> Type) (TyFun a6989586621679304580 (TyFun a6989586621679304580 c6989586621679304579 -> Type) -> Type) -> Type))
data OnSym1 (l_a1eHc :: TyFun b6989586621679304578 (TyFun b6989586621679304578 c6989586621679304579 -> Type) -> Type) (l_a1eHb :: TyFun (TyFun a6989586621679304580 b6989586621679304578 -> Type) (TyFun a6989586621679304580 (TyFun a6989586621679304580 c6989586621679304579 -> Type) -> Type))
data OnSym2 (l_a1eH8 :: TyFun b6989586621679304578 (TyFun b6989586621679304578 c6989586621679304579 -> Type) -> Type) (l_a1eH9 :: TyFun a6989586621679304580 b6989586621679304578 -> Type) (l_a1eH7 :: TyFun a6989586621679304580 (TyFun a6989586621679304580 c6989586621679304579 -> Type))
data OnSym3 (l_a1eH3 :: TyFun b6989586621679304578 (TyFun b6989586621679304578 c6989586621679304579 -> Type) -> Type) (l_a1eH4 :: TyFun a6989586621679304580 b6989586621679304578 -> Type) (l_a1eH5 :: a6989586621679304580) (l_a1eH2 :: TyFun a6989586621679304580 c6989586621679304579)
type OnSym4 (t_a1eGY :: TyFun b6989586621679304578 (TyFun b6989586621679304578 c6989586621679304579 -> Type) -> Type) (t_a1eGZ :: TyFun a6989586621679304580 b6989586621679304578 -> Type) (t_a1eH0 :: a6989586621679304580) (t_a1eH1 :: a6989586621679304580) = On t_a1eGY t_a1eGZ t_a1eH0 t_a1eH1
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_6989586621679304630Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679304630Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679304630Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679304630Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679304630Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679304630Sym5


-- | 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_a1bAf :: TyFun a6989586621679292513 a6989586621679292513)
type IdSym1 (t_a1bAe :: a6989586621679292513) = Id t_a1bAe
data ConstSym0 (l_a1bzR :: TyFun a6989586621679292511 (TyFun b6989586621679292512 a6989586621679292511 -> Type))
data ConstSym1 (l_a1bzP :: a6989586621679292511) (l_a1bzO :: TyFun b6989586621679292512 a6989586621679292511)
type ConstSym2 (t_a1bzM :: a6989586621679292511) (t_a1bzN :: b6989586621679292512) = Const t_a1bzM t_a1bzN
data (:.$) (l_a1bzg :: TyFun (TyFun b6989586621679292508 c6989586621679292509 -> Type) (TyFun (TyFun a6989586621679292510 b6989586621679292508 -> Type) (TyFun a6989586621679292510 c6989586621679292509 -> Type) -> Type))
data (:.$$) (l_a1bze :: TyFun b6989586621679292508 c6989586621679292509 -> Type) (l_a1bzd :: TyFun (TyFun a6989586621679292510 b6989586621679292508 -> Type) (TyFun a6989586621679292510 c6989586621679292509 -> Type))
data (:.$$$) (l_a1bza :: TyFun b6989586621679292508 c6989586621679292509 -> Type) (l_a1bzb :: TyFun a6989586621679292510 b6989586621679292508 -> Type) (l_a1bz9 :: TyFun a6989586621679292510 c6989586621679292509)
type (:.$$$$) (t_a1bz6 :: TyFun b6989586621679292508 c6989586621679292509 -> Type) (t_a1bz7 :: TyFun a6989586621679292510 b6989586621679292508 -> Type) (t_a1bz8 :: a6989586621679292510) = (:.) t_a1bz6 t_a1bz7 t_a1bz8
data FlipSym0 (l_a1byY :: TyFun (TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (TyFun b6989586621679292506 (TyFun a6989586621679292505 c6989586621679292507 -> Type) -> Type))
data FlipSym1 (l_a1byW :: TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (l_a1byV :: TyFun b6989586621679292506 (TyFun a6989586621679292505 c6989586621679292507 -> Type))
data FlipSym2 (l_a1byS :: TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (l_a1byT :: b6989586621679292506) (l_a1byR :: TyFun a6989586621679292505 c6989586621679292507)
type FlipSym3 (t_a1byO :: TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (t_a1byP :: b6989586621679292506) (t_a1byQ :: a6989586621679292505) = Flip t_a1byO t_a1byP t_a1byQ
data ($$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> *
data ($$$) :: (TyFun a b -> *) -> TyFun a b -> *
type ($$$$) a b = ($) a b
data (:&$) (l_a1eGS :: TyFun a6989586621679304576 (TyFun (TyFun a6989586621679304576 b6989586621679304577 -> Type) b6989586621679304577 -> Type))
data (:&$$) (l_a1eGQ :: a6989586621679304576) (l_a1eGP :: TyFun (TyFun a6989586621679304576 b6989586621679304577 -> Type) b6989586621679304577)
type (:&$$$) (t_a1eGN :: a6989586621679304576) (t_a1eGO :: TyFun a6989586621679304576 b6989586621679304577 -> Type) = (:&) t_a1eGN t_a1eGO
data OnSym0 (l_a1eHe :: TyFun (TyFun b6989586621679304578 (TyFun b6989586621679304578 c6989586621679304579 -> Type) -> Type) (TyFun (TyFun a6989586621679304580 b6989586621679304578 -> Type) (TyFun a6989586621679304580 (TyFun a6989586621679304580 c6989586621679304579 -> Type) -> Type) -> Type))
data OnSym1 (l_a1eHc :: TyFun b6989586621679304578 (TyFun b6989586621679304578 c6989586621679304579 -> Type) -> Type) (l_a1eHb :: TyFun (TyFun a6989586621679304580 b6989586621679304578 -> Type) (TyFun a6989586621679304580 (TyFun a6989586621679304580 c6989586621679304579 -> Type) -> Type))
data OnSym2 (l_a1eH8 :: TyFun b6989586621679304578 (TyFun b6989586621679304578 c6989586621679304579 -> Type) -> Type) (l_a1eH9 :: TyFun a6989586621679304580 b6989586621679304578 -> Type) (l_a1eH7 :: TyFun a6989586621679304580 (TyFun a6989586621679304580 c6989586621679304579 -> Type))
data OnSym3 (l_a1eH3 :: TyFun b6989586621679304578 (TyFun b6989586621679304578 c6989586621679304579 -> Type) -> Type) (l_a1eH4 :: TyFun a6989586621679304580 b6989586621679304578 -> Type) (l_a1eH5 :: a6989586621679304580) (l_a1eH2 :: TyFun a6989586621679304580 c6989586621679304579)
type OnSym4 (t_a1eGY :: TyFun b6989586621679304578 (TyFun b6989586621679304578 c6989586621679304579 -> Type) -> Type) (t_a1eGZ :: TyFun a6989586621679304580 b6989586621679304578 -> Type) (t_a1eH0 :: a6989586621679304580) (t_a1eH1 :: a6989586621679304580) = On t_a1eGY t_a1eGZ t_a1eH0 t_a1eH1


-- | 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 '(==)', from
--   <tt>Data.Type.Equality</tt>.
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_a1g0b :: TyFun a6989586621679309568 (TyFun a6989586621679309568 Bool -> Type))
data (:==$$) (l_a1g09 :: a6989586621679309568) (l_a1g08 :: TyFun a6989586621679309568 Bool)
type (:==$$$) (t_a1g06 :: a6989586621679309568) (t_a1g07 :: a6989586621679309568) = (:==) t_a1g06 t_a1g07
data (:/=$) (l_a1g0i :: TyFun a6989586621679309568 (TyFun a6989586621679309568 Bool -> Type))
data (:/=$$) (l_a1g0g :: a6989586621679309568) (l_a1g0f :: TyFun a6989586621679309568 Bool)
type (:/=$$$) (t_a1g0d :: a6989586621679309568) (t_a1g0e :: a6989586621679309568) = (:/=) t_a1g0d t_a1g0e
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 (k1, k2, k3, k4, k5, k6, k7)
instance Data.Singletons.Prelude.Eq.PEq (k1, k2, k3, k4, k5, k6)
instance Data.Singletons.Prelude.Eq.PEq (k1, k2, k3, k4, k5)
instance Data.Singletons.Prelude.Eq.PEq (k1, k2, k3, k4)
instance Data.Singletons.Prelude.Eq.PEq (k1, k2, k3)
instance Data.Singletons.Prelude.Eq.PEq (k1, k2)
instance Data.Singletons.Prelude.Eq.PEq (Data.List.NonEmpty.NonEmpty k)
instance Data.Singletons.Prelude.Eq.PEq (Data.Either.Either k1 k2)
instance Data.Singletons.Prelude.Eq.PEq [k]
instance Data.Singletons.Prelude.Eq.PEq (GHC.Base.Maybe k)
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]
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 (Data.List.NonEmpty.NonEmpty a)
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.:==$$)


-- | This module defines singleton instances making <a>Typeable</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.
instance Data.Typeable.Internal.Typeable a => Data.Singletons.SingI a
instance Data.Singletons.SingKind *
instance Data.Singletons.Prelude.Eq.PEq *
instance Data.Singletons.Prelude.Eq.SEq *
instance Data.Singletons.Decide.SDecide *
instance Data.Type.Coercion.TestCoercion Data.Singletons.Sing


-- | Defines the promoted version of Ord, <a>POrd</a>, and the singleton
--   version, <a>SOrd</a>.
module Data.Singletons.Prelude.Ord
class PEq a_a1jXC => POrd (a_a1jXC :: Type) where {
    type family Compare (arg_a1kny :: a_a1jXC) (arg_a1knz :: a_a1jXC) :: Ordering;
    type family (:<) (arg_a1knH :: a_a1jXC) (arg_a1knI :: a_a1jXC) :: Bool;
    type family (:<=) (arg_a1knQ :: a_a1jXC) (arg_a1knR :: a_a1jXC) :: Bool;
    type family (:>) (arg_a1knZ :: a_a1jXC) (arg_a1ko0 :: a_a1jXC) :: Bool;
    type family (:>=) (arg_a1ko8 :: a_a1jXC) (arg_a1ko9 :: a_a1jXC) :: Bool;
    type family Max (arg_a1koh :: a_a1jXC) (arg_a1koi :: a_a1jXC) :: a_a1jXC;
    type family Min (arg_a1koq :: a_a1jXC) (arg_a1kor :: a_a1jXC) :: a_a1jXC;
    type Compare a_a1kp6 a_a1kp7 =
        Apply (Apply Compare_6989586621679326558Sym0 a_a1kp6) a_a1kp7;
    type (:<) a_a1kpD a_a1kpE =
        Apply (Apply TFHelper_6989586621679326591Sym0 a_a1kpD) a_a1kpE;
    type (:<=) a_a1kqa a_a1kqb =
        Apply (Apply TFHelper_6989586621679326624Sym0 a_a1kqa) a_a1kqb;
    type (:>) a_a1kqH a_a1kqI =
        Apply (Apply TFHelper_6989586621679326657Sym0 a_a1kqH) a_a1kqI;
    type (:>=) a_a1kre a_a1krf =
        Apply (Apply TFHelper_6989586621679326690Sym0 a_a1kre) a_a1krf;
    type Max a_a1krL a_a1krM =
        Apply (Apply Max_6989586621679326723Sym0 a_a1krL) a_a1krM;
    type Min a_a1ksi a_a1ksj =
        Apply (Apply Min_6989586621679326756Sym0 a_a1ksi) a_a1ksj;
}
class SEq a_a1jXC => SOrd a_a1jXC
sCompare :: forall (t_a1ksz :: a_a1jXC) (t_a1ksA :: a_a1jXC). SOrd a_a1jXC => Sing t_a1ksz -> Sing t_a1ksA -> Sing (Apply (Apply CompareSym0 t_a1ksz) t_a1ksA :: Ordering)
(%:<) :: forall (t_a1ksB :: a_a1jXC) (t_a1ksC :: a_a1jXC). SOrd a_a1jXC => Sing t_a1ksB -> Sing t_a1ksC -> Sing (Apply (Apply (:<$) t_a1ksB) t_a1ksC :: Bool)
(%:<=) :: forall (t_a1ksD :: a_a1jXC) (t_a1ksE :: a_a1jXC). SOrd a_a1jXC => Sing t_a1ksD -> Sing t_a1ksE -> Sing (Apply (Apply (:<=$) t_a1ksD) t_a1ksE :: Bool)
(%:>) :: forall (t_a1ksF :: a_a1jXC) (t_a1ksG :: a_a1jXC). SOrd a_a1jXC => Sing t_a1ksF -> Sing t_a1ksG -> Sing (Apply (Apply (:>$) t_a1ksF) t_a1ksG :: Bool)
(%:>=) :: forall (t_a1ksH :: a_a1jXC) (t_a1ksI :: a_a1jXC). SOrd a_a1jXC => Sing t_a1ksH -> Sing t_a1ksI -> Sing (Apply (Apply (:>=$) t_a1ksH) t_a1ksI :: Bool)
sMax :: forall (t_a1ksJ :: a_a1jXC) (t_a1ksK :: a_a1jXC). SOrd a_a1jXC => Sing t_a1ksJ -> Sing t_a1ksK -> Sing (Apply (Apply MaxSym0 t_a1ksJ) t_a1ksK :: a_a1jXC)
sMin :: forall (t_a1ksL :: a_a1jXC) (t_a1ksM :: a_a1jXC). SOrd a_a1jXC => Sing t_a1ksL -> Sing t_a1ksM -> Sing (Apply (Apply MinSym0 t_a1ksL) t_a1ksM :: a_a1jXC)
sCompare :: forall (t_a1ksz :: a_a1jXC) (t_a1ksA :: a_a1jXC). (SOrd a_a1jXC, (Apply (Apply CompareSym0 t_a1ksz) t_a1ksA :: Ordering) ~ Apply (Apply Compare_6989586621679326558Sym0 t_a1ksz) t_a1ksA) => Sing t_a1ksz -> Sing t_a1ksA -> Sing (Apply (Apply CompareSym0 t_a1ksz) t_a1ksA :: Ordering)
(%:<) :: forall (t_a1ksB :: a_a1jXC) (t_a1ksC :: a_a1jXC). (SOrd a_a1jXC, (Apply (Apply (:<$) t_a1ksB) t_a1ksC :: Bool) ~ Apply (Apply TFHelper_6989586621679326591Sym0 t_a1ksB) t_a1ksC) => Sing t_a1ksB -> Sing t_a1ksC -> Sing (Apply (Apply (:<$) t_a1ksB) t_a1ksC :: Bool)
(%:<=) :: forall (t_a1ksD :: a_a1jXC) (t_a1ksE :: a_a1jXC). (SOrd a_a1jXC, (Apply (Apply (:<=$) t_a1ksD) t_a1ksE :: Bool) ~ Apply (Apply TFHelper_6989586621679326624Sym0 t_a1ksD) t_a1ksE) => Sing t_a1ksD -> Sing t_a1ksE -> Sing (Apply (Apply (:<=$) t_a1ksD) t_a1ksE :: Bool)
(%:>) :: forall (t_a1ksF :: a_a1jXC) (t_a1ksG :: a_a1jXC). (SOrd a_a1jXC, (Apply (Apply (:>$) t_a1ksF) t_a1ksG :: Bool) ~ Apply (Apply TFHelper_6989586621679326657Sym0 t_a1ksF) t_a1ksG) => Sing t_a1ksF -> Sing t_a1ksG -> Sing (Apply (Apply (:>$) t_a1ksF) t_a1ksG :: Bool)
(%:>=) :: forall (t_a1ksH :: a_a1jXC) (t_a1ksI :: a_a1jXC). (SOrd a_a1jXC, (Apply (Apply (:>=$) t_a1ksH) t_a1ksI :: Bool) ~ Apply (Apply TFHelper_6989586621679326690Sym0 t_a1ksH) t_a1ksI) => Sing t_a1ksH -> Sing t_a1ksI -> Sing (Apply (Apply (:>=$) t_a1ksH) t_a1ksI :: Bool)
sMax :: forall (t_a1ksJ :: a_a1jXC) (t_a1ksK :: a_a1jXC). (SOrd a_a1jXC, (Apply (Apply MaxSym0 t_a1ksJ) t_a1ksK :: a_a1jXC) ~ Apply (Apply Max_6989586621679326723Sym0 t_a1ksJ) t_a1ksK) => Sing t_a1ksJ -> Sing t_a1ksK -> Sing (Apply (Apply MaxSym0 t_a1ksJ) t_a1ksK :: a_a1jXC)
sMin :: forall (t_a1ksL :: a_a1jXC) (t_a1ksM :: a_a1jXC). (SOrd a_a1jXC, (Apply (Apply MinSym0 t_a1ksL) t_a1ksM :: a_a1jXC) ~ Apply (Apply Min_6989586621679326756Sym0 t_a1ksL) t_a1ksM) => Sing t_a1ksL -> Sing t_a1ksM -> Sing (Apply (Apply MinSym0 t_a1ksL) t_a1ksM :: a_a1jXC)
sComparing :: forall (t_a1kst :: TyFun b_a1jXs a_a1jXr -> Type) (t_a1ksu :: b_a1jXs) (t_a1ksv :: b_a1jXs). SOrd a_a1jXr => Sing t_a1kst -> Sing t_a1ksu -> Sing t_a1ksv -> Sing (Apply (Apply (Apply ComparingSym0 t_a1kst) t_a1ksu) t_a1ksv :: Ordering)
thenCmp :: Ordering -> Ordering -> Ordering
sThenCmp :: forall (t_a1mcd :: Ordering) (t_a1mce :: Ordering). Sing t_a1mcd -> Sing t_a1mce -> Sing (Apply (Apply ThenCmpSym0 t_a1mcd) t_a1mce :: Ordering)

-- | The singleton kind-indexed data family.
data ThenCmpSym0 (l_a1mc2 :: TyFun Ordering (TyFun Ordering Ordering -> Type))
data ThenCmpSym1 (l_a1mc0 :: Ordering) (l_a1mbZ :: TyFun Ordering Ordering)
type ThenCmpSym2 (t_a1mbX :: Ordering) (t_a1mbY :: Ordering) = ThenCmp t_a1mbX t_a1mbY
type LTSym0 = LT
type EQSym0 = EQ
type GTSym0 = GT
data CompareSym0 (l_a1knF :: TyFun a6989586621679324852 (TyFun a6989586621679324852 Ordering -> Type))
data CompareSym1 (l_a1knD :: a6989586621679324852) (l_a1knC :: TyFun a6989586621679324852 Ordering)
type CompareSym2 (t_a1knA :: a6989586621679324852) (t_a1knB :: a6989586621679324852) = Compare t_a1knA t_a1knB
data (:<$) (l_a1knO :: TyFun a6989586621679324852 (TyFun a6989586621679324852 Bool -> Type))
data (:<$$) (l_a1knM :: a6989586621679324852) (l_a1knL :: TyFun a6989586621679324852 Bool)
type (:<$$$) (t_a1knJ :: a6989586621679324852) (t_a1knK :: a6989586621679324852) = (:<) t_a1knJ t_a1knK
data (:<=$) (l_a1knX :: TyFun a6989586621679324852 (TyFun a6989586621679324852 Bool -> Type))
data (:<=$$) (l_a1knV :: a6989586621679324852) (l_a1knU :: TyFun a6989586621679324852 Bool)
type (:<=$$$) (t_a1knS :: a6989586621679324852) (t_a1knT :: a6989586621679324852) = (:<=) t_a1knS t_a1knT
data (:>$) (l_a1ko6 :: TyFun a6989586621679324852 (TyFun a6989586621679324852 Bool -> Type))
data (:>$$) (l_a1ko4 :: a6989586621679324852) (l_a1ko3 :: TyFun a6989586621679324852 Bool)
type (:>$$$) (t_a1ko1 :: a6989586621679324852) (t_a1ko2 :: a6989586621679324852) = (:>) t_a1ko1 t_a1ko2
data (:>=$) (l_a1kof :: TyFun a6989586621679324852 (TyFun a6989586621679324852 Bool -> Type))
data (:>=$$) (l_a1kod :: a6989586621679324852) (l_a1koc :: TyFun a6989586621679324852 Bool)
type (:>=$$$) (t_a1koa :: a6989586621679324852) (t_a1kob :: a6989586621679324852) = (:>=) t_a1koa t_a1kob
data MaxSym0 (l_a1koo :: TyFun a6989586621679324852 (TyFun a6989586621679324852 a6989586621679324852 -> Type))
data MaxSym1 (l_a1kom :: a6989586621679324852) (l_a1kol :: TyFun a6989586621679324852 a6989586621679324852)
type MaxSym2 (t_a1koj :: a6989586621679324852) (t_a1kok :: a6989586621679324852) = Max t_a1koj t_a1kok
data MinSym0 (l_a1kox :: TyFun a6989586621679324852 (TyFun a6989586621679324852 a6989586621679324852 -> Type))
data MinSym1 (l_a1kov :: a6989586621679324852) (l_a1kou :: TyFun a6989586621679324852 a6989586621679324852)
type MinSym2 (t_a1kos :: a6989586621679324852) (t_a1kot :: a6989586621679324852) = Min t_a1kos t_a1kot
data ComparingSym0 (l_a1knq :: TyFun (TyFun b6989586621679324842 a6989586621679324841 -> Type) (TyFun b6989586621679324842 (TyFun b6989586621679324842 Ordering -> Type) -> Type))
data ComparingSym1 (l_a1kno :: TyFun b6989586621679324842 a6989586621679324841 -> Type) (l_a1knn :: TyFun b6989586621679324842 (TyFun b6989586621679324842 Ordering -> Type))
data ComparingSym2 (l_a1knk :: TyFun b6989586621679324842 a6989586621679324841 -> Type) (l_a1knl :: b6989586621679324842) (l_a1knj :: TyFun b6989586621679324842 Ordering)
type ComparingSym3 (t_a1kng :: TyFun b6989586621679324842 a6989586621679324841 -> Type) (t_a1knh :: b6989586621679324842) (t_a1kni :: b6989586621679324842) = Comparing t_a1kng t_a1knh t_a1kni
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679334224Sym0
instance Data.Singletons.Prelude.Ord.POrd ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679334224Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679334204Sym0
instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679334204Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679334184Sym0
instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679334184Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679334150Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f, g)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679334150Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679334076Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679334076Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679334010Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679334010Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679333952Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679333952Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679333902Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679333902Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679333860Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679333860Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679333824Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.List.NonEmpty.NonEmpty a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679333824Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679333788Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Either.Either a b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679333788Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679333740Sym0
instance Data.Singletons.Prelude.Ord.POrd [a]
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679333740Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679333694Sym0
instance Data.Singletons.Prelude.Ord.POrd (GHC.Base.Maybe a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679333694Sym1
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 (Data.List.NonEmpty.NonEmpty a)
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.Let6989586621679326578Scrutinee_6989586621679324874Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679326578Scrutinee_6989586621679324874Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679326611Scrutinee_6989586621679324876Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679326611Scrutinee_6989586621679324876Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679326644Scrutinee_6989586621679324878Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679326644Scrutinee_6989586621679324878Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679326677Scrutinee_6989586621679324880Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679326677Scrutinee_6989586621679324880Sym1
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.Let6989586621679326544Scrutinee_6989586621679324872Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679326544Scrutinee_6989586621679324872Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679326710Scrutinee_6989586621679324882Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679326710Scrutinee_6989586621679324882Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679326743Scrutinee_6989586621679324884Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679326743Scrutinee_6989586621679324884Sym1
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_6989586621679326558Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679326558Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679326591Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679326591Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679326624Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679326624Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679326657Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679326657Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679326690Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679326690Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Max_6989586621679326723Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Max_6989586621679326723Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Min_6989586621679326756Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Min_6989586621679326756Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679326534Scrutinee_6989586621679324870Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679326534Scrutinee_6989586621679324870Sym1


-- | Defines and exports promoted and singleton versions of definitions
--   from GHC.Num.
module Data.Singletons.Prelude.Num
class PNum (a_a1Kyb :: Type) where {
    type family (:+) (arg_a1Kyf :: a_a1Kyb) (arg_a1Kyg :: a_a1Kyb) :: a_a1Kyb;
    type family (:-) (arg_a1Kyo :: a_a1Kyb) (arg_a1Kyp :: a_a1Kyb) :: a_a1Kyb;
    type family (:*) (arg_a1Kyx :: a_a1Kyb) (arg_a1Kyy :: a_a1Kyb) :: a_a1Kyb;
    type family Negate (arg_a1KyG :: a_a1Kyb) :: a_a1Kyb;
    type family Abs (arg_a1KyK :: a_a1Kyb) :: a_a1Kyb;
    type family Signum (arg_a1KyO :: a_a1Kyb) :: a_a1Kyb;
    type family FromInteger (arg_a1KyS :: Nat) :: a_a1Kyb;
    type (:-) a_a1Kz7 a_a1Kz8 =
        Apply (Apply TFHelper_6989586621679427123Sym0 a_a1Kz7) a_a1Kz8;
    type Negate a_a1Kzn = Apply Negate_6989586621679427138Sym0 a_a1Kzn;
}
class SNum a_a1Kyb
(%:+) :: forall (t_a1Kzt :: a_a1Kyb) (t_a1Kzu :: a_a1Kyb). SNum a_a1Kyb => Sing t_a1Kzt -> Sing t_a1Kzu -> Sing (Apply (Apply (:+$) t_a1Kzt) t_a1Kzu :: a_a1Kyb)
(%:-) :: forall (t_a1Kzv :: a_a1Kyb) (t_a1Kzw :: a_a1Kyb). SNum a_a1Kyb => Sing t_a1Kzv -> Sing t_a1Kzw -> Sing (Apply (Apply (:-$) t_a1Kzv) t_a1Kzw :: a_a1Kyb)
(%:*) :: forall (t_a1Kzx :: a_a1Kyb) (t_a1Kzy :: a_a1Kyb). SNum a_a1Kyb => Sing t_a1Kzx -> Sing t_a1Kzy -> Sing (Apply (Apply (:*$) t_a1Kzx) t_a1Kzy :: a_a1Kyb)
sNegate :: forall (t_a1Kzz :: a_a1Kyb). SNum a_a1Kyb => Sing t_a1Kzz -> Sing (Apply NegateSym0 t_a1Kzz :: a_a1Kyb)
sAbs :: forall (t_a1KzA :: a_a1Kyb). SNum a_a1Kyb => Sing t_a1KzA -> Sing (Apply AbsSym0 t_a1KzA :: a_a1Kyb)
sSignum :: forall (t_a1KzB :: a_a1Kyb). SNum a_a1Kyb => Sing t_a1KzB -> Sing (Apply SignumSym0 t_a1KzB :: a_a1Kyb)
sFromInteger :: forall (t_a1KzC :: Nat). SNum a_a1Kyb => Sing t_a1KzC -> Sing (Apply FromIntegerSym0 t_a1KzC :: a_a1Kyb)
(%:-) :: forall (t_a1Kzv :: a_a1Kyb) (t_a1Kzw :: a_a1Kyb). (SNum a_a1Kyb, (Apply (Apply (:-$) t_a1Kzv) t_a1Kzw :: a_a1Kyb) ~ Apply (Apply TFHelper_6989586621679427123Sym0 t_a1Kzv) t_a1Kzw) => Sing t_a1Kzv -> Sing t_a1Kzw -> Sing (Apply (Apply (:-$) t_a1Kzv) t_a1Kzw :: a_a1Kyb)
sNegate :: forall (t_a1Kzz :: a_a1Kyb). (SNum a_a1Kyb, (Apply NegateSym0 t_a1Kzz :: a_a1Kyb) ~ Apply Negate_6989586621679427138Sym0 t_a1Kzz) => Sing t_a1Kzz -> Sing (Apply NegateSym0 t_a1Kzz :: a_a1Kyb)
sSubtract :: forall (t_a1L9S :: a_a1L98) (t_a1L9T :: a_a1L98). SNum a_a1L98 => Sing t_a1L9S -> Sing t_a1L9T -> Sing (Apply (Apply SubtractSym0 t_a1L9S) t_a1L9T :: a_a1L98)
data (:+$) (l_a1Kym :: TyFun a6989586621679427063 (TyFun a6989586621679427063 a6989586621679427063 -> Type))
data (:+$$) (l_a1Kyk :: a6989586621679427063) (l_a1Kyj :: TyFun a6989586621679427063 a6989586621679427063)
type (:+$$$) (t_a1Kyh :: a6989586621679427063) (t_a1Kyi :: a6989586621679427063) = (:+) t_a1Kyh t_a1Kyi
data (:-$) (l_a1Kyv :: TyFun a6989586621679427063 (TyFun a6989586621679427063 a6989586621679427063 -> Type))
data (:-$$) (l_a1Kyt :: a6989586621679427063) (l_a1Kys :: TyFun a6989586621679427063 a6989586621679427063)
type (:-$$$) (t_a1Kyq :: a6989586621679427063) (t_a1Kyr :: a6989586621679427063) = (:-) t_a1Kyq t_a1Kyr
data (:*$) (l_a1KyE :: TyFun a6989586621679427063 (TyFun a6989586621679427063 a6989586621679427063 -> Type))
data (:*$$) (l_a1KyC :: a6989586621679427063) (l_a1KyB :: TyFun a6989586621679427063 a6989586621679427063)
type (:*$$$) (t_a1Kyz :: a6989586621679427063) (t_a1KyA :: a6989586621679427063) = (:*) t_a1Kyz t_a1KyA
data NegateSym0 (l_a1KyI :: TyFun a6989586621679427063 a6989586621679427063)
type NegateSym1 (t_a1KyH :: a6989586621679427063) = Negate t_a1KyH
data AbsSym0 (l_a1KyM :: TyFun a6989586621679427063 a6989586621679427063)
type AbsSym1 (t_a1KyL :: a6989586621679427063) = Abs t_a1KyL
data SignumSym0 (l_a1KyQ :: TyFun a6989586621679427063 a6989586621679427063)
type SignumSym1 (t_a1KyP :: a6989586621679427063) = Signum t_a1KyP
data FromIntegerSym0 (l_a1KyU :: TyFun Nat a6989586621679427063)
type FromIntegerSym1 (t_a1KyT :: Nat) = FromInteger t_a1KyT
data SubtractSym0 (l_a1L9M :: TyFun a6989586621679429354 (TyFun a6989586621679429354 a6989586621679429354 -> Type))
data SubtractSym1 (l_a1L9K :: a6989586621679429354) (l_a1L9J :: TyFun a6989586621679429354 a6989586621679429354)
type SubtractSym2 (t_a1L9H :: a6989586621679429354) (t_a1L9I :: a6989586621679429354) = Subtract t_a1L9H t_a1L9I
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_6989586621679427123Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679427123Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Negate_6989586621679427138Sym0


-- | 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.
data ErrorSym0 (l_a1IFR :: TyFun k06989586621679418718 k6989586621679418720)
type ErrorSym1 (t_a1IFQ :: k06989586621679418718) = Error t_a1IFQ

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

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

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

-- | 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)
data KnownSymbolSym0 (l_a1MGN :: TyFun Symbol Constraint)
type KnownSymbolSym1 (t_a1MGM :: Symbol) = KnownSymbol t_a1MGM

symbolVal :: KnownSymbol n => proxy n -> String
type a :^ b = a ^ b
data (:^$) l_a1IIF
data (:^$$) (l_a1IID :: Nat) l_a1IIC
type (:^$$$) (t_a1IIA :: Nat) (t_a1IIB :: Nat) = (:^) t_a1IIA t_a1IIB
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


-- | Defines and exports promoted and singleton versions of definitions
--   from GHC.Num.
module Data.Promotion.Prelude.Num
class PNum (a_a1Kyb :: Type) where {
    type family (:+) (arg_a1Kyf :: a_a1Kyb) (arg_a1Kyg :: a_a1Kyb) :: a_a1Kyb;
    type family (:-) (arg_a1Kyo :: a_a1Kyb) (arg_a1Kyp :: a_a1Kyb) :: a_a1Kyb;
    type family (:*) (arg_a1Kyx :: a_a1Kyb) (arg_a1Kyy :: a_a1Kyb) :: a_a1Kyb;
    type family Negate (arg_a1KyG :: a_a1Kyb) :: a_a1Kyb;
    type family Abs (arg_a1KyK :: a_a1Kyb) :: a_a1Kyb;
    type family Signum (arg_a1KyO :: a_a1Kyb) :: a_a1Kyb;
    type family FromInteger (arg_a1KyS :: Nat) :: a_a1Kyb;
    type (:-) a_a1Kz7 a_a1Kz8 =
        Apply (Apply TFHelper_6989586621679427123Sym0 a_a1Kz7) a_a1Kz8;
    type Negate a_a1Kzn = Apply Negate_6989586621679427138Sym0 a_a1Kzn;
}
data (:+$) (l_a1Kym :: TyFun a6989586621679427063 (TyFun a6989586621679427063 a6989586621679427063 -> Type))
data (:+$$) (l_a1Kyk :: a6989586621679427063) (l_a1Kyj :: TyFun a6989586621679427063 a6989586621679427063)
type (:+$$$) (t_a1Kyh :: a6989586621679427063) (t_a1Kyi :: a6989586621679427063) = (:+) t_a1Kyh t_a1Kyi
data (:-$) (l_a1Kyv :: TyFun a6989586621679427063 (TyFun a6989586621679427063 a6989586621679427063 -> Type))
data (:-$$) (l_a1Kyt :: a6989586621679427063) (l_a1Kys :: TyFun a6989586621679427063 a6989586621679427063)
type (:-$$$) (t_a1Kyq :: a6989586621679427063) (t_a1Kyr :: a6989586621679427063) = (:-) t_a1Kyq t_a1Kyr
data (:*$) (l_a1KyE :: TyFun a6989586621679427063 (TyFun a6989586621679427063 a6989586621679427063 -> Type))
data (:*$$) (l_a1KyC :: a6989586621679427063) (l_a1KyB :: TyFun a6989586621679427063 a6989586621679427063)
type (:*$$$) (t_a1Kyz :: a6989586621679427063) (t_a1KyA :: a6989586621679427063) = (:*) t_a1Kyz t_a1KyA
data NegateSym0 (l_a1KyI :: TyFun a6989586621679427063 a6989586621679427063)
type NegateSym1 (t_a1KyH :: a6989586621679427063) = Negate t_a1KyH
data AbsSym0 (l_a1KyM :: TyFun a6989586621679427063 a6989586621679427063)
type AbsSym1 (t_a1KyL :: a6989586621679427063) = Abs t_a1KyL
data SignumSym0 (l_a1KyQ :: TyFun a6989586621679427063 a6989586621679427063)
type SignumSym1 (t_a1KyP :: a6989586621679427063) = Signum t_a1KyP
data FromIntegerSym0 (l_a1KyU :: TyFun Nat a6989586621679427063)
type FromIntegerSym1 (t_a1KyT :: Nat) = FromInteger t_a1KyT
data SubtractSym0 (l_a1L9M :: TyFun a6989586621679429354 (TyFun a6989586621679429354 a6989586621679429354 -> Type))
data SubtractSym1 (l_a1L9K :: a6989586621679429354) (l_a1L9J :: TyFun a6989586621679429354 a6989586621679429354)
type SubtractSym2 (t_a1L9H :: a6989586621679429354) (t_a1L9I :: a6989586621679429354) = Subtract t_a1L9H t_a1L9I


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

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

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

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

-- | Create instances of <tt>SEq</tt> (only -- no instance for '(:==)',
--   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 '(:==)',
--   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]

-- | 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 '(==)', from
--   <tt>Data.Type.Equality</tt>.
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)

-- | 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_a1jXC => POrd (a_a1jXC :: Type) where {
    type family Compare (arg_a1kny :: a_a1jXC) (arg_a1knz :: a_a1jXC) :: Ordering;
    type family (:<) (arg_a1knH :: a_a1jXC) (arg_a1knI :: a_a1jXC) :: Bool;
    type family (:<=) (arg_a1knQ :: a_a1jXC) (arg_a1knR :: a_a1jXC) :: Bool;
    type family (:>) (arg_a1knZ :: a_a1jXC) (arg_a1ko0 :: a_a1jXC) :: Bool;
    type family (:>=) (arg_a1ko8 :: a_a1jXC) (arg_a1ko9 :: a_a1jXC) :: Bool;
    type family Max (arg_a1koh :: a_a1jXC) (arg_a1koi :: a_a1jXC) :: a_a1jXC;
    type family Min (arg_a1koq :: a_a1jXC) (arg_a1kor :: a_a1jXC) :: a_a1jXC;
    type Compare a_a1kp6 a_a1kp7 =
        Apply (Apply Compare_6989586621679326558Sym0 a_a1kp6) a_a1kp7;
    type (:<) a_a1kpD a_a1kpE =
        Apply (Apply TFHelper_6989586621679326591Sym0 a_a1kpD) a_a1kpE;
    type (:<=) a_a1kqa a_a1kqb =
        Apply (Apply TFHelper_6989586621679326624Sym0 a_a1kqa) a_a1kqb;
    type (:>) a_a1kqH a_a1kqI =
        Apply (Apply TFHelper_6989586621679326657Sym0 a_a1kqH) a_a1kqI;
    type (:>=) a_a1kre a_a1krf =
        Apply (Apply TFHelper_6989586621679326690Sym0 a_a1kre) a_a1krf;
    type Max a_a1krL a_a1krM =
        Apply (Apply Max_6989586621679326723Sym0 a_a1krL) a_a1krM;
    type Min a_a1ksi a_a1ksj =
        Apply (Apply Min_6989586621679326756Sym0 a_a1ksi) a_a1ksj;
}
class SEq a_a1jXC => SOrd a_a1jXC
sCompare :: forall (t_a1ksz :: a_a1jXC) (t_a1ksA :: a_a1jXC). SOrd a_a1jXC => Sing t_a1ksz -> Sing t_a1ksA -> Sing (Apply (Apply CompareSym0 t_a1ksz) t_a1ksA :: Ordering)
(%:<) :: forall (t_a1ksB :: a_a1jXC) (t_a1ksC :: a_a1jXC). SOrd a_a1jXC => Sing t_a1ksB -> Sing t_a1ksC -> Sing (Apply (Apply (:<$) t_a1ksB) t_a1ksC :: Bool)
(%:<=) :: forall (t_a1ksD :: a_a1jXC) (t_a1ksE :: a_a1jXC). SOrd a_a1jXC => Sing t_a1ksD -> Sing t_a1ksE -> Sing (Apply (Apply (:<=$) t_a1ksD) t_a1ksE :: Bool)
(%:>) :: forall (t_a1ksF :: a_a1jXC) (t_a1ksG :: a_a1jXC). SOrd a_a1jXC => Sing t_a1ksF -> Sing t_a1ksG -> Sing (Apply (Apply (:>$) t_a1ksF) t_a1ksG :: Bool)
(%:>=) :: forall (t_a1ksH :: a_a1jXC) (t_a1ksI :: a_a1jXC). SOrd a_a1jXC => Sing t_a1ksH -> Sing t_a1ksI -> Sing (Apply (Apply (:>=$) t_a1ksH) t_a1ksI :: Bool)
sMax :: forall (t_a1ksJ :: a_a1jXC) (t_a1ksK :: a_a1jXC). SOrd a_a1jXC => Sing t_a1ksJ -> Sing t_a1ksK -> Sing (Apply (Apply MaxSym0 t_a1ksJ) t_a1ksK :: a_a1jXC)
sMin :: forall (t_a1ksL :: a_a1jXC) (t_a1ksM :: a_a1jXC). SOrd a_a1jXC => Sing t_a1ksL -> Sing t_a1ksM -> Sing (Apply (Apply MinSym0 t_a1ksL) t_a1ksM :: a_a1jXC)
sCompare :: forall (t_a1ksz :: a_a1jXC) (t_a1ksA :: a_a1jXC). (SOrd a_a1jXC, (Apply (Apply CompareSym0 t_a1ksz) t_a1ksA :: Ordering) ~ Apply (Apply Compare_6989586621679326558Sym0 t_a1ksz) t_a1ksA) => Sing t_a1ksz -> Sing t_a1ksA -> Sing (Apply (Apply CompareSym0 t_a1ksz) t_a1ksA :: Ordering)
(%:<) :: forall (t_a1ksB :: a_a1jXC) (t_a1ksC :: a_a1jXC). (SOrd a_a1jXC, (Apply (Apply (:<$) t_a1ksB) t_a1ksC :: Bool) ~ Apply (Apply TFHelper_6989586621679326591Sym0 t_a1ksB) t_a1ksC) => Sing t_a1ksB -> Sing t_a1ksC -> Sing (Apply (Apply (:<$) t_a1ksB) t_a1ksC :: Bool)
(%:<=) :: forall (t_a1ksD :: a_a1jXC) (t_a1ksE :: a_a1jXC). (SOrd a_a1jXC, (Apply (Apply (:<=$) t_a1ksD) t_a1ksE :: Bool) ~ Apply (Apply TFHelper_6989586621679326624Sym0 t_a1ksD) t_a1ksE) => Sing t_a1ksD -> Sing t_a1ksE -> Sing (Apply (Apply (:<=$) t_a1ksD) t_a1ksE :: Bool)
(%:>) :: forall (t_a1ksF :: a_a1jXC) (t_a1ksG :: a_a1jXC). (SOrd a_a1jXC, (Apply (Apply (:>$) t_a1ksF) t_a1ksG :: Bool) ~ Apply (Apply TFHelper_6989586621679326657Sym0 t_a1ksF) t_a1ksG) => Sing t_a1ksF -> Sing t_a1ksG -> Sing (Apply (Apply (:>$) t_a1ksF) t_a1ksG :: Bool)
(%:>=) :: forall (t_a1ksH :: a_a1jXC) (t_a1ksI :: a_a1jXC). (SOrd a_a1jXC, (Apply (Apply (:>=$) t_a1ksH) t_a1ksI :: Bool) ~ Apply (Apply TFHelper_6989586621679326690Sym0 t_a1ksH) t_a1ksI) => Sing t_a1ksH -> Sing t_a1ksI -> Sing (Apply (Apply (:>=$) t_a1ksH) t_a1ksI :: Bool)
sMax :: forall (t_a1ksJ :: a_a1jXC) (t_a1ksK :: a_a1jXC). (SOrd a_a1jXC, (Apply (Apply MaxSym0 t_a1ksJ) t_a1ksK :: a_a1jXC) ~ Apply (Apply Max_6989586621679326723Sym0 t_a1ksJ) t_a1ksK) => Sing t_a1ksJ -> Sing t_a1ksK -> Sing (Apply (Apply MaxSym0 t_a1ksJ) t_a1ksK :: a_a1jXC)
sMin :: forall (t_a1ksL :: a_a1jXC) (t_a1ksM :: a_a1jXC). (SOrd a_a1jXC, (Apply (Apply MinSym0 t_a1ksL) t_a1ksM :: a_a1jXC) ~ Apply (Apply Min_6989586621679326756Sym0 t_a1ksL) t_a1ksM) => Sing t_a1ksL -> Sing t_a1ksM -> Sing (Apply (Apply MinSym0 t_a1ksL) t_a1ksM :: a_a1jXC)
sThenCmp :: forall (t_a1mcd :: Ordering) (t_a1mce :: Ordering). Sing t_a1mcd -> Sing t_a1mce -> Sing (Apply (Apply ThenCmpSym0 t_a1mcd) t_a1mce :: Ordering)
sFoldl :: forall (t_a116Q :: TyFun b_a115S (TyFun a_a115R b_a115S -> Type) -> Type) (t_a116R :: b_a115S) (t_a116S :: [a_a115R]). Sing t_a116Q -> Sing t_a116R -> Sing t_a116S -> Sing (Apply (Apply (Apply FoldlSym0 t_a116Q) t_a116R) t_a116S :: b_a115S)

-- | The type constructor <a>Any</a> is type to which you can unsafely
--   coerce any lifted type, and back. More concretely, for a lifted type
--   <tt>t</tt> and value <tt>x :: t</tt>, -- <tt>unsafeCoerce
--   (unsafeCoerce x :: Any) :: t</tt> is equivalent to <tt>x</tt>.

-- | 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 (:~:) k (a :: k) (b :: k) :: forall k. () => k -> k -> *
[Refl] :: (:~:) k 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

-- | 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.
data ErrorSym0 (l_a1IFR :: TyFun k06989586621679418718 k6989586621679418720)
type TrueSym0 = True
type FalseSym0 = False
type LTSym0 = LT
type EQSym0 = EQ
type GTSym0 = GT
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_aY7f :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aY7d :: a3530822107858468865) (l_aY7c :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aY7a :: a3530822107858468865) (t_aY7b :: b3530822107858468866) = '(t_aY7a, t_aY7b)
data Tuple3Sym0 (l_aY7D :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aY7B :: a3530822107858468865) (l_aY7A :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aY7x :: a3530822107858468865) (l_aY7y :: b3530822107858468866) (l_aY7w :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aY7t :: a3530822107858468865) (t_aY7u :: b3530822107858468866) (t_aY7v :: c3530822107858468867) = '(t_aY7t, t_aY7u, t_aY7v)
data Tuple4Sym0 (l_aY8c :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aY8a :: a3530822107858468865) (l_aY89 :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aY86 :: a3530822107858468865) (l_aY87 :: b3530822107858468866) (l_aY85 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aY81 :: a3530822107858468865) (l_aY82 :: b3530822107858468866) (l_aY83 :: c3530822107858468867) (l_aY80 :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aY7W :: a3530822107858468865) (t_aY7X :: b3530822107858468866) (t_aY7Y :: c3530822107858468867) (t_aY7Z :: d3530822107858468868) = '(t_aY7W, t_aY7X, t_aY7Y, t_aY7Z)
data Tuple5Sym0 (l_aY8X :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aY8V :: a3530822107858468865) (l_aY8U :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aY8R :: a3530822107858468865) (l_aY8S :: b3530822107858468866) (l_aY8Q :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aY8M :: a3530822107858468865) (l_aY8N :: b3530822107858468866) (l_aY8O :: c3530822107858468867) (l_aY8L :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aY8G :: a3530822107858468865) (l_aY8H :: b3530822107858468866) (l_aY8I :: c3530822107858468867) (l_aY8J :: d3530822107858468868) (l_aY8F :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aY8A :: a3530822107858468865) (t_aY8B :: b3530822107858468866) (t_aY8C :: c3530822107858468867) (t_aY8D :: d3530822107858468868) (t_aY8E :: e3530822107858468869) = '(t_aY8A, t_aY8B, t_aY8C, t_aY8D, t_aY8E)
data Tuple6Sym0 (l_aY9V :: 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_aY9T :: a3530822107858468865) (l_aY9S :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aY9P :: a3530822107858468865) (l_aY9Q :: b3530822107858468866) (l_aY9O :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aY9K :: a3530822107858468865) (l_aY9L :: b3530822107858468866) (l_aY9M :: c3530822107858468867) (l_aY9J :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aY9E :: a3530822107858468865) (l_aY9F :: b3530822107858468866) (l_aY9G :: c3530822107858468867) (l_aY9H :: d3530822107858468868) (l_aY9D :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aY9x :: a3530822107858468865) (l_aY9y :: b3530822107858468866) (l_aY9z :: c3530822107858468867) (l_aY9A :: d3530822107858468868) (l_aY9B :: e3530822107858468869) (l_aY9w :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aY9q :: a3530822107858468865) (t_aY9r :: b3530822107858468866) (t_aY9s :: c3530822107858468867) (t_aY9t :: d3530822107858468868) (t_aY9u :: e3530822107858468869) (t_aY9v :: f3530822107858468870) = '(t_aY9q, t_aY9r, t_aY9s, t_aY9t, t_aY9u, t_aY9v)
data Tuple7Sym0 (l_aYb7 :: 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_aYb5 :: a3530822107858468865) (l_aYb4 :: 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_aYb1 :: a3530822107858468865) (l_aYb2 :: b3530822107858468866) (l_aYb0 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_aYaW :: a3530822107858468865) (l_aYaX :: b3530822107858468866) (l_aYaY :: c3530822107858468867) (l_aYaV :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_aYaQ :: a3530822107858468865) (l_aYaR :: b3530822107858468866) (l_aYaS :: c3530822107858468867) (l_aYaT :: d3530822107858468868) (l_aYaP :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_aYaJ :: a3530822107858468865) (l_aYaK :: b3530822107858468866) (l_aYaL :: c3530822107858468867) (l_aYaM :: d3530822107858468868) (l_aYaN :: e3530822107858468869) (l_aYaI :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_aYaB :: a3530822107858468865) (l_aYaC :: b3530822107858468866) (l_aYaD :: c3530822107858468867) (l_aYaE :: d3530822107858468868) (l_aYaF :: e3530822107858468869) (l_aYaG :: f3530822107858468870) (l_aYaA :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_aYat :: a3530822107858468865) (t_aYau :: b3530822107858468866) (t_aYav :: c3530822107858468867) (t_aYaw :: d3530822107858468868) (t_aYax :: e3530822107858468869) (t_aYay :: f3530822107858468870) (t_aYaz :: g3530822107858468871) = '(t_aYat, t_aYau, t_aYav, t_aYaw, t_aYax, t_aYay, t_aYaz)
data CompareSym0 (l_a1knF :: TyFun a6989586621679324852 (TyFun a6989586621679324852 Ordering -> Type))
data ThenCmpSym0 (l_a1mc2 :: TyFun Ordering (TyFun Ordering Ordering -> Type))
data FoldlSym0 (l_a116c :: TyFun (TyFun b6989586621679252328 (TyFun a6989586621679252327 b6989586621679252328 -> Type) -> Type) (TyFun b6989586621679252328 (TyFun [a6989586621679252327] b6989586621679252328 -> Type) -> Type))

-- | This class (which users should never see) is to be instantiated in
--   order to use an otherwise-unused data constructor, such as the
--   "kind-inference" data constructor for defunctionalization symbols.
class SuppressUnusedWarnings (t :: k)
suppressUnusedWarnings :: SuppressUnusedWarnings t => Proxy t -> ()


-- | 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_a1NML :: (a_a1NLB, b_a1NLC)). Sing t_a1NML -> Sing (Apply FstSym0 t_a1NML :: a_a1NLB)
sSnd :: forall (t_a1NMK :: (a_a1NLz, b_a1NLA)). Sing t_a1NMK -> Sing (Apply SndSym0 t_a1NMK :: b_a1NLA)
sCurry :: forall (t_a1NMH :: TyFun (a_a1NLw, b_a1NLx) c_a1NLy -> Type) (t_a1NMI :: a_a1NLw) (t_a1NMJ :: b_a1NLx). Sing t_a1NMH -> Sing t_a1NMI -> Sing t_a1NMJ -> Sing (Apply (Apply (Apply CurrySym0 t_a1NMH) t_a1NMI) t_a1NMJ :: c_a1NLy)
sUncurry :: forall (t_a1NMM :: TyFun a_a1NLt (TyFun b_a1NLu c_a1NLv -> Type) -> Type) (t_a1NMN :: (a_a1NLt, b_a1NLu)). Sing t_a1NMM -> Sing t_a1NMN -> Sing (Apply (Apply UncurrySym0 t_a1NMM) t_a1NMN :: c_a1NLv)
sSwap :: forall (t_a1NMG :: (a_a1NLr, b_a1NLs)). Sing t_a1NMG -> Sing (Apply SwapSym0 t_a1NMG :: (b_a1NLs, a_a1NLr))
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_aY7f :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aY7d :: a3530822107858468865) (l_aY7c :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aY7a :: a3530822107858468865) (t_aY7b :: b3530822107858468866) = '(t_aY7a, t_aY7b)
data Tuple3Sym0 (l_aY7D :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aY7B :: a3530822107858468865) (l_aY7A :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aY7x :: a3530822107858468865) (l_aY7y :: b3530822107858468866) (l_aY7w :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aY7t :: a3530822107858468865) (t_aY7u :: b3530822107858468866) (t_aY7v :: c3530822107858468867) = '(t_aY7t, t_aY7u, t_aY7v)
data Tuple4Sym0 (l_aY8c :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aY8a :: a3530822107858468865) (l_aY89 :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aY86 :: a3530822107858468865) (l_aY87 :: b3530822107858468866) (l_aY85 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aY81 :: a3530822107858468865) (l_aY82 :: b3530822107858468866) (l_aY83 :: c3530822107858468867) (l_aY80 :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aY7W :: a3530822107858468865) (t_aY7X :: b3530822107858468866) (t_aY7Y :: c3530822107858468867) (t_aY7Z :: d3530822107858468868) = '(t_aY7W, t_aY7X, t_aY7Y, t_aY7Z)
data Tuple5Sym0 (l_aY8X :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aY8V :: a3530822107858468865) (l_aY8U :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aY8R :: a3530822107858468865) (l_aY8S :: b3530822107858468866) (l_aY8Q :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aY8M :: a3530822107858468865) (l_aY8N :: b3530822107858468866) (l_aY8O :: c3530822107858468867) (l_aY8L :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aY8G :: a3530822107858468865) (l_aY8H :: b3530822107858468866) (l_aY8I :: c3530822107858468867) (l_aY8J :: d3530822107858468868) (l_aY8F :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aY8A :: a3530822107858468865) (t_aY8B :: b3530822107858468866) (t_aY8C :: c3530822107858468867) (t_aY8D :: d3530822107858468868) (t_aY8E :: e3530822107858468869) = '(t_aY8A, t_aY8B, t_aY8C, t_aY8D, t_aY8E)
data Tuple6Sym0 (l_aY9V :: 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_aY9T :: a3530822107858468865) (l_aY9S :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aY9P :: a3530822107858468865) (l_aY9Q :: b3530822107858468866) (l_aY9O :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aY9K :: a3530822107858468865) (l_aY9L :: b3530822107858468866) (l_aY9M :: c3530822107858468867) (l_aY9J :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aY9E :: a3530822107858468865) (l_aY9F :: b3530822107858468866) (l_aY9G :: c3530822107858468867) (l_aY9H :: d3530822107858468868) (l_aY9D :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aY9x :: a3530822107858468865) (l_aY9y :: b3530822107858468866) (l_aY9z :: c3530822107858468867) (l_aY9A :: d3530822107858468868) (l_aY9B :: e3530822107858468869) (l_aY9w :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aY9q :: a3530822107858468865) (t_aY9r :: b3530822107858468866) (t_aY9s :: c3530822107858468867) (t_aY9t :: d3530822107858468868) (t_aY9u :: e3530822107858468869) (t_aY9v :: f3530822107858468870) = '(t_aY9q, t_aY9r, t_aY9s, t_aY9t, t_aY9u, t_aY9v)
data Tuple7Sym0 (l_aYb7 :: 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_aYb5 :: a3530822107858468865) (l_aYb4 :: 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_aYb1 :: a3530822107858468865) (l_aYb2 :: b3530822107858468866) (l_aYb0 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_aYaW :: a3530822107858468865) (l_aYaX :: b3530822107858468866) (l_aYaY :: c3530822107858468867) (l_aYaV :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_aYaQ :: a3530822107858468865) (l_aYaR :: b3530822107858468866) (l_aYaS :: c3530822107858468867) (l_aYaT :: d3530822107858468868) (l_aYaP :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_aYaJ :: a3530822107858468865) (l_aYaK :: b3530822107858468866) (l_aYaL :: c3530822107858468867) (l_aYaM :: d3530822107858468868) (l_aYaN :: e3530822107858468869) (l_aYaI :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_aYaB :: a3530822107858468865) (l_aYaC :: b3530822107858468866) (l_aYaD :: c3530822107858468867) (l_aYaE :: d3530822107858468868) (l_aYaF :: e3530822107858468869) (l_aYaG :: f3530822107858468870) (l_aYaA :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_aYat :: a3530822107858468865) (t_aYau :: b3530822107858468866) (t_aYav :: c3530822107858468867) (t_aYaw :: d3530822107858468868) (t_aYax :: e3530822107858468869) (t_aYay :: f3530822107858468870) (t_aYaz :: g3530822107858468871) = '(t_aYat, t_aYau, t_aYav, t_aYaw, t_aYax, t_aYay, t_aYaz)
data FstSym0 (l_a1NMo :: TyFun (a6989586621679439427, b6989586621679439428) a6989586621679439427)
type FstSym1 (t_a1NMn :: (a6989586621679439427, b6989586621679439428)) = Fst t_a1NMn
data SndSym0 (l_a1NMg :: TyFun (a6989586621679439425, b6989586621679439426) b6989586621679439426)
type SndSym1 (t_a1NMf :: (a6989586621679439425, b6989586621679439426)) = Snd t_a1NMf
data CurrySym0 (l_a1NM7 :: TyFun (TyFun (a6989586621679439422, b6989586621679439423) c6989586621679439424 -> Type) (TyFun a6989586621679439422 (TyFun b6989586621679439423 c6989586621679439424 -> Type) -> Type))
data CurrySym1 (l_a1NM5 :: TyFun (a6989586621679439422, b6989586621679439423) c6989586621679439424 -> Type) (l_a1NM4 :: TyFun a6989586621679439422 (TyFun b6989586621679439423 c6989586621679439424 -> Type))
data CurrySym2 (l_a1NM1 :: TyFun (a6989586621679439422, b6989586621679439423) c6989586621679439424 -> Type) (l_a1NM2 :: a6989586621679439422) (l_a1NM0 :: TyFun b6989586621679439423 c6989586621679439424)
type CurrySym3 (t_a1NLX :: TyFun (a6989586621679439422, b6989586621679439423) c6989586621679439424 -> Type) (t_a1NLY :: a6989586621679439422) (t_a1NLZ :: b6989586621679439423) = Curry t_a1NLX t_a1NLY t_a1NLZ
data UncurrySym0 (l_a1NMA :: TyFun (TyFun a6989586621679439419 (TyFun b6989586621679439420 c6989586621679439421 -> Type) -> Type) (TyFun (a6989586621679439419, b6989586621679439420) c6989586621679439421 -> Type))
data UncurrySym1 (l_a1NMy :: TyFun a6989586621679439419 (TyFun b6989586621679439420 c6989586621679439421 -> Type) -> Type) (l_a1NMx :: TyFun (a6989586621679439419, b6989586621679439420) c6989586621679439421)
type UncurrySym2 (t_a1NMv :: TyFun a6989586621679439419 (TyFun b6989586621679439420 c6989586621679439421 -> Type) -> Type) (t_a1NMw :: (a6989586621679439419, b6989586621679439420)) = Uncurry t_a1NMv t_a1NMw
data SwapSym0 (l_a1NLS :: TyFun (a6989586621679439417, b6989586621679439418) (b6989586621679439418, a6989586621679439417))
type SwapSym1 (t_a1NLR :: (a6989586621679439417, b6989586621679439418)) = Swap t_a1NLR
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_aY7f :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aY7d :: a3530822107858468865) (l_aY7c :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aY7a :: a3530822107858468865) (t_aY7b :: b3530822107858468866) = '(t_aY7a, t_aY7b)
data Tuple3Sym0 (l_aY7D :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aY7B :: a3530822107858468865) (l_aY7A :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aY7x :: a3530822107858468865) (l_aY7y :: b3530822107858468866) (l_aY7w :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aY7t :: a3530822107858468865) (t_aY7u :: b3530822107858468866) (t_aY7v :: c3530822107858468867) = '(t_aY7t, t_aY7u, t_aY7v)
data Tuple4Sym0 (l_aY8c :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aY8a :: a3530822107858468865) (l_aY89 :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aY86 :: a3530822107858468865) (l_aY87 :: b3530822107858468866) (l_aY85 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aY81 :: a3530822107858468865) (l_aY82 :: b3530822107858468866) (l_aY83 :: c3530822107858468867) (l_aY80 :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aY7W :: a3530822107858468865) (t_aY7X :: b3530822107858468866) (t_aY7Y :: c3530822107858468867) (t_aY7Z :: d3530822107858468868) = '(t_aY7W, t_aY7X, t_aY7Y, t_aY7Z)
data Tuple5Sym0 (l_aY8X :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aY8V :: a3530822107858468865) (l_aY8U :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aY8R :: a3530822107858468865) (l_aY8S :: b3530822107858468866) (l_aY8Q :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aY8M :: a3530822107858468865) (l_aY8N :: b3530822107858468866) (l_aY8O :: c3530822107858468867) (l_aY8L :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aY8G :: a3530822107858468865) (l_aY8H :: b3530822107858468866) (l_aY8I :: c3530822107858468867) (l_aY8J :: d3530822107858468868) (l_aY8F :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aY8A :: a3530822107858468865) (t_aY8B :: b3530822107858468866) (t_aY8C :: c3530822107858468867) (t_aY8D :: d3530822107858468868) (t_aY8E :: e3530822107858468869) = '(t_aY8A, t_aY8B, t_aY8C, t_aY8D, t_aY8E)
data Tuple6Sym0 (l_aY9V :: 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_aY9T :: a3530822107858468865) (l_aY9S :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aY9P :: a3530822107858468865) (l_aY9Q :: b3530822107858468866) (l_aY9O :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aY9K :: a3530822107858468865) (l_aY9L :: b3530822107858468866) (l_aY9M :: c3530822107858468867) (l_aY9J :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aY9E :: a3530822107858468865) (l_aY9F :: b3530822107858468866) (l_aY9G :: c3530822107858468867) (l_aY9H :: d3530822107858468868) (l_aY9D :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aY9x :: a3530822107858468865) (l_aY9y :: b3530822107858468866) (l_aY9z :: c3530822107858468867) (l_aY9A :: d3530822107858468868) (l_aY9B :: e3530822107858468869) (l_aY9w :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aY9q :: a3530822107858468865) (t_aY9r :: b3530822107858468866) (t_aY9s :: c3530822107858468867) (t_aY9t :: d3530822107858468868) (t_aY9u :: e3530822107858468869) (t_aY9v :: f3530822107858468870) = '(t_aY9q, t_aY9r, t_aY9s, t_aY9t, t_aY9u, t_aY9v)
data Tuple7Sym0 (l_aYb7 :: 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_aYb5 :: a3530822107858468865) (l_aYb4 :: 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_aYb1 :: a3530822107858468865) (l_aYb2 :: b3530822107858468866) (l_aYb0 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_aYaW :: a3530822107858468865) (l_aYaX :: b3530822107858468866) (l_aYaY :: c3530822107858468867) (l_aYaV :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_aYaQ :: a3530822107858468865) (l_aYaR :: b3530822107858468866) (l_aYaS :: c3530822107858468867) (l_aYaT :: d3530822107858468868) (l_aYaP :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_aYaJ :: a3530822107858468865) (l_aYaK :: b3530822107858468866) (l_aYaL :: c3530822107858468867) (l_aYaM :: d3530822107858468868) (l_aYaN :: e3530822107858468869) (l_aYaI :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_aYaB :: a3530822107858468865) (l_aYaC :: b3530822107858468866) (l_aYaD :: c3530822107858468867) (l_aYaE :: d3530822107858468868) (l_aYaF :: e3530822107858468869) (l_aYaG :: f3530822107858468870) (l_aYaA :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_aYat :: a3530822107858468865) (t_aYau :: b3530822107858468866) (t_aYav :: c3530822107858468867) (t_aYaw :: d3530822107858468868) (t_aYax :: e3530822107858468869) (t_aYay :: f3530822107858468870) (t_aYaz :: g3530822107858468871) = '(t_aYat, t_aYau, t_aYav, t_aYaw, t_aYax, t_aYay, t_aYaz)
data FstSym0 (l_a1NMo :: TyFun (a6989586621679439427, b6989586621679439428) a6989586621679439427)
type FstSym1 (t_a1NMn :: (a6989586621679439427, b6989586621679439428)) = Fst t_a1NMn
data SndSym0 (l_a1NMg :: TyFun (a6989586621679439425, b6989586621679439426) b6989586621679439426)
type SndSym1 (t_a1NMf :: (a6989586621679439425, b6989586621679439426)) = Snd t_a1NMf
data CurrySym0 (l_a1NM7 :: TyFun (TyFun (a6989586621679439422, b6989586621679439423) c6989586621679439424 -> Type) (TyFun a6989586621679439422 (TyFun b6989586621679439423 c6989586621679439424 -> Type) -> Type))
data CurrySym1 (l_a1NM5 :: TyFun (a6989586621679439422, b6989586621679439423) c6989586621679439424 -> Type) (l_a1NM4 :: TyFun a6989586621679439422 (TyFun b6989586621679439423 c6989586621679439424 -> Type))
data CurrySym2 (l_a1NM1 :: TyFun (a6989586621679439422, b6989586621679439423) c6989586621679439424 -> Type) (l_a1NM2 :: a6989586621679439422) (l_a1NM0 :: TyFun b6989586621679439423 c6989586621679439424)
type CurrySym3 (t_a1NLX :: TyFun (a6989586621679439422, b6989586621679439423) c6989586621679439424 -> Type) (t_a1NLY :: a6989586621679439422) (t_a1NLZ :: b6989586621679439423) = Curry t_a1NLX t_a1NLY t_a1NLZ
data UncurrySym0 (l_a1NMA :: TyFun (TyFun a6989586621679439419 (TyFun b6989586621679439420 c6989586621679439421 -> Type) -> Type) (TyFun (a6989586621679439419, b6989586621679439420) c6989586621679439421 -> Type))
data UncurrySym1 (l_a1NMy :: TyFun a6989586621679439419 (TyFun b6989586621679439420 c6989586621679439421 -> Type) -> Type) (l_a1NMx :: TyFun (a6989586621679439419, b6989586621679439420) c6989586621679439421)
type UncurrySym2 (t_a1NMv :: TyFun a6989586621679439419 (TyFun b6989586621679439420 c6989586621679439421 -> Type) -> Type) (t_a1NMw :: (a6989586621679439419, b6989586621679439420)) = Uncurry t_a1NMv t_a1NMw
data SwapSym0 (l_a1NLS :: TyFun (a6989586621679439417, b6989586621679439418) (b6989586621679439418, a6989586621679439417))
type SwapSym1 (t_a1NLR :: (a6989586621679439417, b6989586621679439418)) = Swap t_a1NLR


-- | 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_a1OOh -> (a_a1OOi -> b_a1OOh) -> Maybe a_a1OOi -> b_a1OOh
sMaybe_ :: forall (t_a1OOL :: b_a1OOh) (t_a1OOM :: TyFun a_a1OOi b_a1OOh -> Type) (t_a1OON :: Maybe a_a1OOi). Sing t_a1OOL -> Sing t_a1OOM -> Sing t_a1OON -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a1OOL) t_a1OOM) t_a1OON :: b_a1OOh)
sIsJust :: forall (t_a1P8n :: Maybe a_a1P6e). Sing t_a1P8n -> Sing (Apply IsJustSym0 t_a1P8n :: Bool)
sIsNothing :: forall (t_a1P8m :: Maybe a_a1P6d). Sing t_a1P8m -> Sing (Apply IsNothingSym0 t_a1P8m :: Bool)
sFromJust :: forall (t_a1P8l :: Maybe a_a1P6c). Sing t_a1P8l -> Sing (Apply FromJustSym0 t_a1P8l :: a_a1P6c)
sFromMaybe :: forall (t_a1P8j :: a_a1P6b) (t_a1P8k :: Maybe a_a1P6b). Sing t_a1P8j -> Sing t_a1P8k -> Sing (Apply (Apply FromMaybeSym0 t_a1P8j) t_a1P8k :: a_a1P6b)
sListToMaybe :: forall (t_a1P8h :: [a_a1P69]). Sing t_a1P8h -> Sing (Apply ListToMaybeSym0 t_a1P8h :: Maybe a_a1P69)
sMaybeToList :: forall (t_a1P8i :: Maybe a_a1P6a). Sing t_a1P8i -> Sing (Apply MaybeToListSym0 t_a1P8i :: [a_a1P6a])
sCatMaybes :: forall (t_a1P8g :: [Maybe a_a1P68]). Sing t_a1P8g -> Sing (Apply CatMaybesSym0 t_a1P8g :: [a_a1P68])
sMapMaybe :: forall (t_a1P8e :: TyFun a_a1P66 (Maybe b_a1P67) -> Type) (t_a1P8f :: [a_a1P66]). Sing t_a1P8e -> Sing t_a1P8f -> Sing (Apply (Apply MapMaybeSym0 t_a1P8e) t_a1P8f :: [b_a1P67])
type NothingSym0 = Nothing
data JustSym0 (l_aY6c :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_aY6b :: a3530822107858468865) = Just t_aY6b
data Maybe_Sym0 (l_a1OOx :: TyFun b6989586621679443437 (TyFun (TyFun a6989586621679443438 b6989586621679443437 -> Type) (TyFun (Maybe a6989586621679443438) b6989586621679443437 -> Type) -> Type))
data Maybe_Sym1 (l_a1OOv :: b6989586621679443437) (l_a1OOu :: TyFun (TyFun a6989586621679443438 b6989586621679443437 -> Type) (TyFun (Maybe a6989586621679443438) b6989586621679443437 -> Type))
data Maybe_Sym2 (l_a1OOr :: b6989586621679443437) (l_a1OOs :: TyFun a6989586621679443438 b6989586621679443437 -> Type) (l_a1OOq :: TyFun (Maybe a6989586621679443438) b6989586621679443437)
type Maybe_Sym3 (t_a1OOn :: b6989586621679443437) (t_a1OOo :: TyFun a6989586621679443438 b6989586621679443437 -> Type) (t_a1OOp :: Maybe a6989586621679443438) = Maybe_ t_a1OOn t_a1OOo t_a1OOp
data IsJustSym0 (l_a1P88 :: TyFun (Maybe a6989586621679444550) Bool)
type IsJustSym1 (t_a1P87 :: Maybe a6989586621679444550) = IsJust t_a1P87
data IsNothingSym0 (l_a1P81 :: TyFun (Maybe a6989586621679444549) Bool)
type IsNothingSym1 (t_a1P80 :: Maybe a6989586621679444549) = IsNothing t_a1P80
data FromJustSym0 (l_a1P7W :: TyFun (Maybe a6989586621679444548) a6989586621679444548)
type FromJustSym1 (t_a1P7V :: Maybe a6989586621679444548) = FromJust t_a1P7V
data FromMaybeSym0 (l_a1P7L :: TyFun a6989586621679444547 (TyFun (Maybe a6989586621679444547) a6989586621679444547 -> Type))
data FromMaybeSym1 (l_a1P7J :: a6989586621679444547) (l_a1P7I :: TyFun (Maybe a6989586621679444547) a6989586621679444547)
type FromMaybeSym2 (t_a1P7G :: a6989586621679444547) (t_a1P7H :: Maybe a6989586621679444547) = FromMaybe t_a1P7G t_a1P7H
data ListToMaybeSym0 (l_a1P7u :: TyFun [a6989586621679444545] (Maybe a6989586621679444545))
type ListToMaybeSym1 (t_a1P7t :: [a6989586621679444545]) = ListToMaybe t_a1P7t
data MaybeToListSym0 (l_a1P7C :: TyFun (Maybe a6989586621679444546) [a6989586621679444546])
type MaybeToListSym1 (t_a1P7B :: Maybe a6989586621679444546) = MaybeToList t_a1P7B
data CatMaybesSym0 (l_a1P7n :: TyFun [Maybe a6989586621679444544] [a6989586621679444544])
type CatMaybesSym1 (t_a1P7m :: [Maybe a6989586621679444544]) = CatMaybes t_a1P7m
data MapMaybeSym0 (l_a1P6I :: TyFun (TyFun a6989586621679444542 (Maybe b6989586621679444543) -> Type) (TyFun [a6989586621679444542] [b6989586621679444543] -> Type))
data MapMaybeSym1 (l_a1P6G :: TyFun a6989586621679444542 (Maybe b6989586621679444543) -> Type) (l_a1P6F :: TyFun [a6989586621679444542] [b6989586621679444543])
type MapMaybeSym2 (t_a1P6D :: TyFun a6989586621679444542 (Maybe b6989586621679444543) -> Type) (t_a1P6E :: [a6989586621679444542]) = MapMaybe t_a1P6D t_a1P6E
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.Let6989586621679444590RsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679444590RsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679444590RsSym2
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.Let6989586621679444603Scrutinee_6989586621679444573Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679444603Scrutinee_6989586621679444573Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679444603Scrutinee_6989586621679444573Sym2
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_a1OOh -> (a_a1OOi -> b_a1OOh) -> Maybe a_a1OOi -> b_a1OOh
type NothingSym0 = Nothing
data JustSym0 (l_aY6c :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_aY6b :: a3530822107858468865) = Just t_aY6b
data Maybe_Sym0 (l_a1OOx :: TyFun b6989586621679443437 (TyFun (TyFun a6989586621679443438 b6989586621679443437 -> Type) (TyFun (Maybe a6989586621679443438) b6989586621679443437 -> Type) -> Type))
data Maybe_Sym1 (l_a1OOv :: b6989586621679443437) (l_a1OOu :: TyFun (TyFun a6989586621679443438 b6989586621679443437 -> Type) (TyFun (Maybe a6989586621679443438) b6989586621679443437 -> Type))
data Maybe_Sym2 (l_a1OOr :: b6989586621679443437) (l_a1OOs :: TyFun a6989586621679443438 b6989586621679443437 -> Type) (l_a1OOq :: TyFun (Maybe a6989586621679443438) b6989586621679443437)
type Maybe_Sym3 (t_a1OOn :: b6989586621679443437) (t_a1OOo :: TyFun a6989586621679443438 b6989586621679443437 -> Type) (t_a1OOp :: Maybe a6989586621679443438) = Maybe_ t_a1OOn t_a1OOo t_a1OOp
data IsJustSym0 (l_a1P88 :: TyFun (Maybe a6989586621679444550) Bool)
type IsJustSym1 (t_a1P87 :: Maybe a6989586621679444550) = IsJust t_a1P87
data IsNothingSym0 (l_a1P81 :: TyFun (Maybe a6989586621679444549) Bool)
type IsNothingSym1 (t_a1P80 :: Maybe a6989586621679444549) = IsNothing t_a1P80
data FromJustSym0 (l_a1P7W :: TyFun (Maybe a6989586621679444548) a6989586621679444548)
type FromJustSym1 (t_a1P7V :: Maybe a6989586621679444548) = FromJust t_a1P7V
data FromMaybeSym0 (l_a1P7L :: TyFun a6989586621679444547 (TyFun (Maybe a6989586621679444547) a6989586621679444547 -> Type))
data FromMaybeSym1 (l_a1P7J :: a6989586621679444547) (l_a1P7I :: TyFun (Maybe a6989586621679444547) a6989586621679444547)
type FromMaybeSym2 (t_a1P7G :: a6989586621679444547) (t_a1P7H :: Maybe a6989586621679444547) = FromMaybe t_a1P7G t_a1P7H
data MaybeToListSym0 (l_a1P7C :: TyFun (Maybe a6989586621679444546) [a6989586621679444546])
type MaybeToListSym1 (t_a1P7B :: Maybe a6989586621679444546) = MaybeToList t_a1P7B
data ListToMaybeSym0 (l_a1P7u :: TyFun [a6989586621679444545] (Maybe a6989586621679444545))
type ListToMaybeSym1 (t_a1P7t :: [a6989586621679444545]) = ListToMaybe t_a1P7t
data CatMaybesSym0 (l_a1P7n :: TyFun [Maybe a6989586621679444544] [a6989586621679444544])
type CatMaybesSym1 (t_a1P7m :: [Maybe a6989586621679444544]) = CatMaybes t_a1P7m
data MapMaybeSym0 (l_a1P6I :: TyFun (TyFun a6989586621679444542 (Maybe b6989586621679444543) -> Type) (TyFun [a6989586621679444542] [b6989586621679444543] -> Type))
data MapMaybeSym1 (l_a1P6G :: TyFun a6989586621679444542 (Maybe b6989586621679444543) -> Type) (l_a1P6F :: TyFun [a6989586621679444542] [b6989586621679444543])
type MapMaybeSym2 (t_a1P6D :: TyFun a6989586621679444542 (Maybe b6989586621679444543) -> Type) (t_a1P6E :: [a6989586621679444542]) = MapMaybe t_a1P6D t_a1P6E


-- | 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_ahd0 b_ahd1 -> Type)
either_ :: (a_a1Rqx -> c_a1Rqy) -> (b_a1Rqz -> c_a1Rqy) -> Either a_a1Rqx b_a1Rqz -> c_a1Rqy
sEither_ :: forall (t_a1Rr4 :: TyFun a_a1Rqx c_a1Rqy -> Type) (t_a1Rr5 :: TyFun b_a1Rqz c_a1Rqy -> Type) (t_a1Rr6 :: Either a_a1Rqx b_a1Rqz). Sing t_a1Rr4 -> Sing t_a1Rr5 -> Sing t_a1Rr6 -> Sing (Apply (Apply (Apply Either_Sym0 t_a1Rr4) t_a1Rr5) t_a1Rr6 :: c_a1Rqy)
sLefts :: forall (t_a1RKc :: [Either a_a1RIt b_a1RIu]). Sing t_a1RKc -> Sing (Apply LeftsSym0 t_a1RKc :: [a_a1RIt])
sRights :: forall (t_a1RKb :: [Either a_a1RIr b_a1RIs]). Sing t_a1RKb -> Sing (Apply RightsSym0 t_a1RKb :: [b_a1RIs])
sPartitionEithers :: forall (t_a1RKa :: [Either a_a1RIp b_a1RIq]). Sing t_a1RKa -> Sing (Apply PartitionEithersSym0 t_a1RKa :: ([a_a1RIp], [b_a1RIq]))
sIsLeft :: forall (t_a1RK9 :: Either a_a1RIn b_a1RIo). Sing t_a1RK9 -> Sing (Apply IsLeftSym0 t_a1RK9 :: Bool)
sIsRight :: forall (t_a1RK8 :: Either a_a1RIl b_a1RIm). Sing t_a1RK8 -> Sing (Apply IsRightSym0 t_a1RK8 :: Bool)
data LeftSym0 (l_aY6D :: TyFun a6989586621679075946 (Either a6989586621679075946 b6989586621679075947))
type LeftSym1 (t_aY6C :: a6989586621679075946) = Left t_aY6C
data RightSym0 (l_aY6G :: TyFun b6989586621679075947 (Either a6989586621679075946 b6989586621679075947))
type RightSym1 (t_aY6F :: b6989586621679075947) = Right t_aY6F
data Either_Sym0 (l_a1RqP :: TyFun (TyFun a6989586621679453497 c6989586621679453498 -> Type) (TyFun (TyFun b6989586621679453499 c6989586621679453498 -> Type) (TyFun (Either a6989586621679453497 b6989586621679453499) c6989586621679453498 -> Type) -> Type))
data Either_Sym1 (l_a1RqN :: TyFun a6989586621679453497 c6989586621679453498 -> Type) (l_a1RqM :: TyFun (TyFun b6989586621679453499 c6989586621679453498 -> Type) (TyFun (Either a6989586621679453497 b6989586621679453499) c6989586621679453498 -> Type))
data Either_Sym2 (l_a1RqJ :: TyFun a6989586621679453497 c6989586621679453498 -> Type) (l_a1RqK :: TyFun b6989586621679453499 c6989586621679453498 -> Type) (l_a1RqI :: TyFun (Either a6989586621679453497 b6989586621679453499) c6989586621679453498)
type Either_Sym3 (t_a1RqF :: TyFun a6989586621679453497 c6989586621679453498 -> Type) (t_a1RqG :: TyFun b6989586621679453499 c6989586621679453498 -> Type) (t_a1RqH :: Either a6989586621679453497 b6989586621679453499) = Either_ t_a1RqF t_a1RqG t_a1RqH
data LeftsSym0 (l_a1RJZ :: TyFun [Either a6989586621679454609 b6989586621679454610] [a6989586621679454609])
type LeftsSym1 (t_a1RJY :: [Either a6989586621679454609 b6989586621679454610]) = Lefts t_a1RJY
data RightsSym0 (l_a1RJP :: TyFun [Either a6989586621679454607 b6989586621679454608] [b6989586621679454608])
type RightsSym1 (t_a1RJO :: [Either a6989586621679454607 b6989586621679454608]) = Rights t_a1RJO
data IsLeftSym0 (l_a1RIZ :: TyFun (Either a6989586621679454603 b6989586621679454604) Bool)
type IsLeftSym1 (t_a1RIY :: Either a6989586621679454603 b6989586621679454604) = IsLeft t_a1RIY
data IsRightSym0 (l_a1RIP :: TyFun (Either a6989586621679454601 b6989586621679454602) Bool)
type IsRightSym1 (t_a1RIO :: Either a6989586621679454601 b6989586621679454602) = IsRight t_a1RIO
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.Let6989586621679454657LeftSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679454657LeftSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679454657LeftSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679454657RightSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679454657RightSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679454657RightSym2
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_a1Rqx -> c_a1Rqy) -> (b_a1Rqz -> c_a1Rqy) -> Either a_a1Rqx b_a1Rqz -> c_a1Rqy
data LeftSym0 (l_aY6D :: TyFun a6989586621679075946 (Either a6989586621679075946 b6989586621679075947))
type LeftSym1 (t_aY6C :: a6989586621679075946) = Left t_aY6C
data RightSym0 (l_aY6G :: TyFun b6989586621679075947 (Either a6989586621679075946 b6989586621679075947))
type RightSym1 (t_aY6F :: b6989586621679075947) = Right t_aY6F
data Either_Sym0 (l_a1RqP :: TyFun (TyFun a6989586621679453497 c6989586621679453498 -> Type) (TyFun (TyFun b6989586621679453499 c6989586621679453498 -> Type) (TyFun (Either a6989586621679453497 b6989586621679453499) c6989586621679453498 -> Type) -> Type))
data Either_Sym1 (l_a1RqN :: TyFun a6989586621679453497 c6989586621679453498 -> Type) (l_a1RqM :: TyFun (TyFun b6989586621679453499 c6989586621679453498 -> Type) (TyFun (Either a6989586621679453497 b6989586621679453499) c6989586621679453498 -> Type))
data Either_Sym2 (l_a1RqJ :: TyFun a6989586621679453497 c6989586621679453498 -> Type) (l_a1RqK :: TyFun b6989586621679453499 c6989586621679453498 -> Type) (l_a1RqI :: TyFun (Either a6989586621679453497 b6989586621679453499) c6989586621679453498)
type Either_Sym3 (t_a1RqF :: TyFun a6989586621679453497 c6989586621679453498 -> Type) (t_a1RqG :: TyFun b6989586621679453499 c6989586621679453498 -> Type) (t_a1RqH :: Either a6989586621679453497 b6989586621679453499) = Either_ t_a1RqF t_a1RqG t_a1RqH
data LeftsSym0 (l_a1RJZ :: TyFun [Either a6989586621679454609 b6989586621679454610] [a6989586621679454609])
type LeftsSym1 (t_a1RJY :: [Either a6989586621679454609 b6989586621679454610]) = Lefts t_a1RJY
data RightsSym0 (l_a1RJP :: TyFun [Either a6989586621679454607 b6989586621679454608] [b6989586621679454608])
type RightsSym1 (t_a1RJO :: [Either a6989586621679454607 b6989586621679454608]) = Rights t_a1RJO
data IsLeftSym0 (l_a1RIZ :: TyFun (Either a6989586621679454603 b6989586621679454604) Bool)
type IsLeftSym1 (t_a1RIY :: Either a6989586621679454603 b6989586621679454604) = IsLeft t_a1RIY
data IsRightSym0 (l_a1RIP :: TyFun (Either a6989586621679454601 b6989586621679454602) Bool)
type IsRightSym1 (t_a1RIO :: Either a6989586621679454601 b6989586621679454602) = IsRight t_a1RIO


-- | 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_a1bAV :: TyFun (TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (TyFun b6989586621679292518 (TyFun [a6989586621679292517] b6989586621679292518 -> Type) -> Type))
data FoldrSym1 (l_a1bAT :: TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (l_a1bAS :: TyFun b6989586621679292518 (TyFun [a6989586621679292517] b6989586621679292518 -> Type))
data FoldrSym2 (l_a1bAP :: TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (l_a1bAQ :: b6989586621679292518) (l_a1bAO :: TyFun [a6989586621679292517] b6989586621679292518)
type FoldrSym3 (t_a1bAL :: TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (t_a1bAM :: b6989586621679292518) (t_a1bAN :: [a6989586621679292517]) = Foldr t_a1bAL t_a1bAM t_a1bAN
data MapSym0 (l_a1bAB :: TyFun (TyFun a6989586621679292515 b6989586621679292516 -> Type) (TyFun [a6989586621679292515] [b6989586621679292516] -> Type))
data MapSym1 (l_a1bAz :: TyFun a6989586621679292515 b6989586621679292516 -> Type) (l_a1bAy :: TyFun [a6989586621679292515] [b6989586621679292516])
type MapSym2 (t_a1bAw :: TyFun a6989586621679292515 b6989586621679292516 -> Type) (t_a1bAx :: [a6989586621679292515]) = Map t_a1bAw t_a1bAx
data (:++$) (l_a1bAo :: TyFun [a6989586621679292514] (TyFun [a6989586621679292514] [a6989586621679292514] -> Type))
data (:++$$) (l_a1bAm :: [a6989586621679292514]) (l_a1bAl :: TyFun [a6989586621679292514] [a6989586621679292514])
type (:++$$$) (t_a1bAj :: [a6989586621679292514]) (t_a1bAk :: [a6989586621679292514]) = (:++) t_a1bAj t_a1bAk
type OtherwiseSym0 = Otherwise
data IdSym0 (l_a1bAf :: TyFun a6989586621679292513 a6989586621679292513)
type IdSym1 (t_a1bAe :: a6989586621679292513) = Id t_a1bAe
data ConstSym0 (l_a1bzR :: TyFun a6989586621679292511 (TyFun b6989586621679292512 a6989586621679292511 -> Type))
data ConstSym1 (l_a1bzP :: a6989586621679292511) (l_a1bzO :: TyFun b6989586621679292512 a6989586621679292511)
type ConstSym2 (t_a1bzM :: a6989586621679292511) (t_a1bzN :: b6989586621679292512) = Const t_a1bzM t_a1bzN
data (:.$) (l_a1bzg :: TyFun (TyFun b6989586621679292508 c6989586621679292509 -> Type) (TyFun (TyFun a6989586621679292510 b6989586621679292508 -> Type) (TyFun a6989586621679292510 c6989586621679292509 -> Type) -> Type))
data (:.$$) (l_a1bze :: TyFun b6989586621679292508 c6989586621679292509 -> Type) (l_a1bzd :: TyFun (TyFun a6989586621679292510 b6989586621679292508 -> Type) (TyFun a6989586621679292510 c6989586621679292509 -> Type))
data (:.$$$) (l_a1bza :: TyFun b6989586621679292508 c6989586621679292509 -> Type) (l_a1bzb :: TyFun a6989586621679292510 b6989586621679292508 -> Type) (l_a1bz9 :: TyFun a6989586621679292510 c6989586621679292509)
type (:.$$$$) (t_a1bz6 :: TyFun b6989586621679292508 c6989586621679292509 -> Type) (t_a1bz7 :: TyFun a6989586621679292510 b6989586621679292508 -> Type) (t_a1bz8 :: a6989586621679292510) = (:.) t_a1bz6 t_a1bz7 t_a1bz8
data ($$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> *
data ($$$) :: (TyFun a b -> *) -> TyFun a b -> *
type ($$$$) a b = ($) a b
data ($!$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> *
data ($!$$) :: (TyFun a b -> *) -> TyFun a b -> *
type ($!$$$) a b = ($!) a b
data FlipSym0 (l_a1byY :: TyFun (TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (TyFun b6989586621679292506 (TyFun a6989586621679292505 c6989586621679292507 -> Type) -> Type))
data FlipSym1 (l_a1byW :: TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (l_a1byV :: TyFun b6989586621679292506 (TyFun a6989586621679292505 c6989586621679292507 -> Type))
data FlipSym2 (l_a1byS :: TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (l_a1byT :: b6989586621679292506) (l_a1byR :: TyFun a6989586621679292505 c6989586621679292507)
type FlipSym3 (t_a1byO :: TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (t_a1byP :: b6989586621679292506) (t_a1byQ :: a6989586621679292505) = Flip t_a1byO t_a1byP t_a1byQ
data UntilSym0 (l_a1TVO :: TyFun (TyFun a6989586621679463106 Bool -> Type) (TyFun (TyFun a6989586621679463106 a6989586621679463106 -> Type) (TyFun a6989586621679463106 a6989586621679463106 -> Type) -> Type))
data UntilSym1 (l_a1TVM :: TyFun a6989586621679463106 Bool -> Type) (l_a1TVL :: TyFun (TyFun a6989586621679463106 a6989586621679463106 -> Type) (TyFun a6989586621679463106 a6989586621679463106 -> Type))
data UntilSym2 (l_a1TVI :: TyFun a6989586621679463106 Bool -> Type) (l_a1TVJ :: TyFun a6989586621679463106 a6989586621679463106 -> Type) (l_a1TVH :: TyFun a6989586621679463106 a6989586621679463106)
type UntilSym3 (t_a1TVE :: TyFun a6989586621679463106 Bool -> Type) (t_a1TVF :: TyFun a6989586621679463106 a6989586621679463106 -> Type) (t_a1TVG :: a6989586621679463106) = Until t_a1TVE t_a1TVF t_a1TVG
data AsTypeOfSym0 (l_a1bA8 :: TyFun a6989586621679292504 (TyFun a6989586621679292504 a6989586621679292504 -> Type))
data AsTypeOfSym1 (l_a1bA6 :: a6989586621679292504) (l_a1bA5 :: TyFun a6989586621679292504 a6989586621679292504)
type AsTypeOfSym2 (t_a1bA3 :: a6989586621679292504) (t_a1bA4 :: a6989586621679292504) = AsTypeOf t_a1bA3 t_a1bA4
data SeqSym0 (l_a1byG :: TyFun a6989586621679292502 (TyFun b6989586621679292503 b6989586621679292503 -> Type))
data SeqSym1 (l_a1byE :: a6989586621679292502) (l_a1byD :: TyFun b6989586621679292503 b6989586621679292503)
type SeqSym2 (t_a1byB :: a6989586621679292502) (t_a1byC :: b6989586621679292503) = Seq t_a1byB t_a1byC
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.Let6989586621679463134GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.Let6989586621679463134GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.Let6989586621679463134GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.Let6989586621679463134GoSym3


-- | Provides promoted definitions related to type-level comparisons.
module Data.Promotion.Prelude.Ord
class PEq a_a1jXC => POrd (a_a1jXC :: Type) where {
    type family Compare (arg_a1kny :: a_a1jXC) (arg_a1knz :: a_a1jXC) :: Ordering;
    type family (:<) (arg_a1knH :: a_a1jXC) (arg_a1knI :: a_a1jXC) :: Bool;
    type family (:<=) (arg_a1knQ :: a_a1jXC) (arg_a1knR :: a_a1jXC) :: Bool;
    type family (:>) (arg_a1knZ :: a_a1jXC) (arg_a1ko0 :: a_a1jXC) :: Bool;
    type family (:>=) (arg_a1ko8 :: a_a1jXC) (arg_a1ko9 :: a_a1jXC) :: Bool;
    type family Max (arg_a1koh :: a_a1jXC) (arg_a1koi :: a_a1jXC) :: a_a1jXC;
    type family Min (arg_a1koq :: a_a1jXC) (arg_a1kor :: a_a1jXC) :: a_a1jXC;
    type Compare a_a1kp6 a_a1kp7 =
        Apply (Apply Compare_6989586621679326558Sym0 a_a1kp6) a_a1kp7;
    type (:<) a_a1kpD a_a1kpE =
        Apply (Apply TFHelper_6989586621679326591Sym0 a_a1kpD) a_a1kpE;
    type (:<=) a_a1kqa a_a1kqb =
        Apply (Apply TFHelper_6989586621679326624Sym0 a_a1kqa) a_a1kqb;
    type (:>) a_a1kqH a_a1kqI =
        Apply (Apply TFHelper_6989586621679326657Sym0 a_a1kqH) a_a1kqI;
    type (:>=) a_a1kre a_a1krf =
        Apply (Apply TFHelper_6989586621679326690Sym0 a_a1kre) a_a1krf;
    type Max a_a1krL a_a1krM =
        Apply (Apply Max_6989586621679326723Sym0 a_a1krL) a_a1krM;
    type Min a_a1ksi a_a1ksj =
        Apply (Apply Min_6989586621679326756Sym0 a_a1ksi) a_a1ksj;
}
type LTSym0 = LT
type EQSym0 = EQ
type GTSym0 = GT
data CompareSym0 (l_a1knF :: TyFun a6989586621679324852 (TyFun a6989586621679324852 Ordering -> Type))
data CompareSym1 (l_a1knD :: a6989586621679324852) (l_a1knC :: TyFun a6989586621679324852 Ordering)
type CompareSym2 (t_a1knA :: a6989586621679324852) (t_a1knB :: a6989586621679324852) = Compare t_a1knA t_a1knB
data (:<$) (l_a1knO :: TyFun a6989586621679324852 (TyFun a6989586621679324852 Bool -> Type))
data (:<$$) (l_a1knM :: a6989586621679324852) (l_a1knL :: TyFun a6989586621679324852 Bool)
type (:<$$$) (t_a1knJ :: a6989586621679324852) (t_a1knK :: a6989586621679324852) = (:<) t_a1knJ t_a1knK
data (:<=$) (l_a1knX :: TyFun a6989586621679324852 (TyFun a6989586621679324852 Bool -> Type))
data (:<=$$) (l_a1knV :: a6989586621679324852) (l_a1knU :: TyFun a6989586621679324852 Bool)
type (:<=$$$) (t_a1knS :: a6989586621679324852) (t_a1knT :: a6989586621679324852) = (:<=) t_a1knS t_a1knT
data (:>$) (l_a1ko6 :: TyFun a6989586621679324852 (TyFun a6989586621679324852 Bool -> Type))
data (:>$$) (l_a1ko4 :: a6989586621679324852) (l_a1ko3 :: TyFun a6989586621679324852 Bool)
type (:>$$$) (t_a1ko1 :: a6989586621679324852) (t_a1ko2 :: a6989586621679324852) = (:>) t_a1ko1 t_a1ko2
data (:>=$) (l_a1kof :: TyFun a6989586621679324852 (TyFun a6989586621679324852 Bool -> Type))
data (:>=$$) (l_a1kod :: a6989586621679324852) (l_a1koc :: TyFun a6989586621679324852 Bool)
type (:>=$$$) (t_a1koa :: a6989586621679324852) (t_a1kob :: a6989586621679324852) = (:>=) t_a1koa t_a1kob
data MaxSym0 (l_a1koo :: TyFun a6989586621679324852 (TyFun a6989586621679324852 a6989586621679324852 -> Type))
data MaxSym1 (l_a1kom :: a6989586621679324852) (l_a1kol :: TyFun a6989586621679324852 a6989586621679324852)
type MaxSym2 (t_a1koj :: a6989586621679324852) (t_a1kok :: a6989586621679324852) = Max t_a1koj t_a1kok
data MinSym0 (l_a1kox :: TyFun a6989586621679324852 (TyFun a6989586621679324852 a6989586621679324852 -> Type))
data MinSym1 (l_a1kov :: a6989586621679324852) (l_a1kou :: TyFun a6989586621679324852 a6989586621679324852)
type MinSym2 (t_a1kos :: a6989586621679324852) (t_a1kot :: a6989586621679324852) = Min t_a1kos t_a1kot


-- | 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_a1bBE :: [a_a1by2]) (t_a1bBF :: [a_a1by2]). Sing t_a1bBE -> Sing t_a1bBF -> Sing (Apply (Apply (:++$) t_a1bBE) t_a1bBF :: [a_a1by2])
infixr 5 %:++
sHead :: forall (t_a1Ygx :: [a_a1Xc3]). Sing t_a1Ygx -> Sing (Apply HeadSym0 t_a1Ygx :: a_a1Xc3)
sLast :: forall (t_a1Ygw :: [a_a1Xc2]). Sing t_a1Ygw -> Sing (Apply LastSym0 t_a1Ygw :: a_a1Xc2)
sTail :: forall (t_a1Ygv :: [a_a1Xc1]). Sing t_a1Ygv -> Sing (Apply TailSym0 t_a1Ygv :: [a_a1Xc1])
sInit :: forall (t_a1Ygu :: [a_a1Xc0]). Sing t_a1Ygu -> Sing (Apply InitSym0 t_a1Ygu :: [a_a1Xc0])
sNull :: forall (t_a1Ygr :: [a_a1XbZ]). Sing t_a1Ygr -> Sing (Apply NullSym0 t_a1Ygr :: Bool)
sLength :: forall (t_a1Ye3 :: [a_a1Xaa]). Sing t_a1Ye3 -> Sing (Apply LengthSym0 t_a1Ye3 :: Nat)
sMap :: forall (t_a1bBG :: TyFun a_a1by3 b_a1by4 -> Type) (t_a1bBH :: [a_a1by3]). Sing t_a1bBG -> Sing t_a1bBH -> Sing (Apply (Apply MapSym0 t_a1bBG) t_a1bBH :: [b_a1by4])
sReverse :: forall (t_a1Ygo :: [a_a1XbY]). Sing t_a1Ygo -> Sing (Apply ReverseSym0 t_a1Ygo :: [a_a1XbY])
sIntersperse :: forall (t_a1Ygk :: a_a1XbX) (t_a1Ygl :: [a_a1XbX]). Sing t_a1Ygk -> Sing t_a1Ygl -> Sing (Apply (Apply IntersperseSym0 t_a1Ygk) t_a1Ygl :: [a_a1XbX])
sIntercalate :: forall (t_a1Ygm :: [a_a1XbW]) (t_a1Ygn :: [[a_a1XbW]]). Sing t_a1Ygm -> Sing t_a1Ygn -> Sing (Apply (Apply IntercalateSym0 t_a1Ygm) t_a1Ygn :: [a_a1XbW])
sTranspose :: forall (t_a1Ygy :: [[a_a1Xa8]]). Sing t_a1Ygy -> Sing (Apply TransposeSym0 t_a1Ygy :: [[a_a1Xa8]])
sSubsequences :: forall (t_a1Ygj :: [a_a1XbV]). Sing t_a1Ygj -> Sing (Apply SubsequencesSym0 t_a1Ygj :: [[a_a1XbV]])
sPermutations :: forall (t_a1Ygf :: [a_a1XbS]). Sing t_a1Ygf -> Sing (Apply PermutationsSym0 t_a1Ygf :: [[a_a1XbS]])
sFoldl :: forall (t_a116Q :: TyFun b_a115S (TyFun a_a115R b_a115S -> Type) -> Type) (t_a116R :: b_a115S) (t_a116S :: [a_a115R]). Sing t_a116Q -> Sing t_a116R -> Sing t_a116S -> Sing (Apply (Apply (Apply FoldlSym0 t_a116Q) t_a116R) t_a116S :: b_a115S)
sFoldl' :: forall (t_a1Yga :: TyFun b_a1XbR (TyFun a_a1XbQ b_a1XbR -> Type) -> Type) (t_a1Ygb :: b_a1XbR) (t_a1Ygc :: [a_a1XbQ]). Sing t_a1Yga -> Sing t_a1Ygb -> Sing t_a1Ygc -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a1Yga) t_a1Ygb) t_a1Ygc :: b_a1XbR)
sFoldl1 :: forall (t_a1Yg2 :: TyFun a_a1XbP (TyFun a_a1XbP a_a1XbP -> Type) -> Type) (t_a1Yg3 :: [a_a1XbP]). Sing t_a1Yg2 -> Sing t_a1Yg3 -> Sing (Apply (Apply Foldl1Sym0 t_a1Yg2) t_a1Yg3 :: a_a1XbP)
sFoldl1' :: forall (t_a1Ygd :: TyFun a_a1XbO (TyFun a_a1XbO a_a1XbO -> Type) -> Type) (t_a1Yge :: [a_a1XbO]). Sing t_a1Ygd -> Sing t_a1Yge -> Sing (Apply (Apply Foldl1'Sym0 t_a1Ygd) t_a1Yge :: a_a1XbO)
sFoldr :: forall (t_a1bBI :: TyFun a_a1by5 (TyFun b_a1by6 b_a1by6 -> Type) -> Type) (t_a1bBJ :: b_a1by6) (t_a1bBK :: [a_a1by5]). Sing t_a1bBI -> Sing t_a1bBJ -> Sing t_a1bBK -> Sing (Apply (Apply (Apply FoldrSym0 t_a1bBI) t_a1bBJ) t_a1bBK :: b_a1by6)
sFoldr1 :: forall (t_a1Yg0 :: TyFun a_a1XbN (TyFun a_a1XbN a_a1XbN -> Type) -> Type) (t_a1Yg1 :: [a_a1XbN]). Sing t_a1Yg0 -> Sing t_a1Yg1 -> Sing (Apply (Apply Foldr1Sym0 t_a1Yg0) t_a1Yg1 :: a_a1XbN)
sConcat :: forall (t_a1YfZ :: [[a_a1XbM]]). Sing t_a1YfZ -> Sing (Apply ConcatSym0 t_a1YfZ :: [a_a1XbM])
sConcatMap :: forall (t_a1YfX :: TyFun a_a1XbK [b_a1XbL] -> Type) (t_a1YfY :: [a_a1XbK]). Sing t_a1YfX -> Sing t_a1YfY -> Sing (Apply (Apply ConcatMapSym0 t_a1YfX) t_a1YfY :: [b_a1XbL])
sAnd :: forall (t_a1YfW :: [Bool]). Sing t_a1YfW -> Sing (Apply AndSym0 t_a1YfW :: Bool)
sOr :: forall (t_a1YfV :: [Bool]). Sing t_a1YfV -> Sing (Apply OrSym0 t_a1YfV :: Bool)
sAny_ :: forall (t_a1Uxh :: TyFun a_a1UwX Bool -> Type) (t_a1Uxi :: [a_a1UwX]). Sing t_a1Uxh -> Sing t_a1Uxi -> Sing (Apply (Apply Any_Sym0 t_a1Uxh) t_a1Uxi :: Bool)
sAll :: forall (t_a1YfT :: TyFun a_a1XbJ Bool -> Type) (t_a1YfU :: [a_a1XbJ]). Sing t_a1YfT -> Sing t_a1YfU -> Sing (Apply (Apply AllSym0 t_a1YfT) t_a1YfU :: Bool)
sSum :: forall (t_a1Ye5 :: [a_a1Xac]). SNum a_a1Xac => Sing t_a1Ye5 -> Sing (Apply SumSym0 t_a1Ye5 :: a_a1Xac)
sProduct :: forall (t_a1Ye4 :: [a_a1Xab]). SNum a_a1Xab => Sing t_a1Ye4 -> Sing (Apply ProductSym0 t_a1Ye4 :: a_a1Xab)
sMaximum :: forall (t_a1Yg8 :: [a_a1Xal]). SOrd a_a1Xal => Sing t_a1Yg8 -> Sing (Apply MaximumSym0 t_a1Yg8 :: a_a1Xal)
sMinimum :: forall (t_a1Yg9 :: [a_a1Xak]). SOrd a_a1Xak => Sing t_a1Yg9 -> Sing (Apply MinimumSym0 t_a1Yg9 :: a_a1Xak)
any_ :: (a_a1UwX -> Bool) -> [a_a1UwX] -> Bool
sScanl :: forall (t_a1YfO :: TyFun b_a1XbH (TyFun a_a1XbI b_a1XbH -> Type) -> Type) (t_a1YfP :: b_a1XbH) (t_a1YfQ :: [a_a1XbI]). Sing t_a1YfO -> Sing t_a1YfP -> Sing t_a1YfQ -> Sing (Apply (Apply (Apply ScanlSym0 t_a1YfO) t_a1YfP) t_a1YfQ :: [b_a1XbH])
sScanl1 :: forall (t_a1YfR :: TyFun a_a1XbG (TyFun a_a1XbG a_a1XbG -> Type) -> Type) (t_a1YfS :: [a_a1XbG]). Sing t_a1YfR -> Sing t_a1YfS -> Sing (Apply (Apply Scanl1Sym0 t_a1YfR) t_a1YfS :: [a_a1XbG])
sScanr :: forall (t_a1YfL :: TyFun a_a1XbE (TyFun b_a1XbF b_a1XbF -> Type) -> Type) (t_a1YfM :: b_a1XbF) (t_a1YfN :: [a_a1XbE]). Sing t_a1YfL -> Sing t_a1YfM -> Sing t_a1YfN -> Sing (Apply (Apply (Apply ScanrSym0 t_a1YfL) t_a1YfM) t_a1YfN :: [b_a1XbF])
sScanr1 :: forall (t_a1YfJ :: TyFun a_a1XbD (TyFun a_a1XbD a_a1XbD -> Type) -> Type) (t_a1YfK :: [a_a1XbD]). Sing t_a1YfJ -> Sing t_a1YfK -> Sing (Apply (Apply Scanr1Sym0 t_a1YfJ) t_a1YfK :: [a_a1XbD])
sMapAccumL :: forall (t_a1YfG :: TyFun acc_a1XbA (TyFun x_a1XbB (acc_a1XbA, y_a1XbC) -> Type) -> Type) (t_a1YfH :: acc_a1XbA) (t_a1YfI :: [x_a1XbB]). Sing t_a1YfG -> Sing t_a1YfH -> Sing t_a1YfI -> Sing (Apply (Apply (Apply MapAccumLSym0 t_a1YfG) t_a1YfH) t_a1YfI :: (acc_a1XbA, [y_a1XbC]))
sMapAccumR :: forall (t_a1YfD :: TyFun acc_a1Xbx (TyFun x_a1Xby (acc_a1Xbx, y_a1Xbz) -> Type) -> Type) (t_a1YfE :: acc_a1Xbx) (t_a1YfF :: [x_a1Xby]). Sing t_a1YfD -> Sing t_a1YfE -> Sing t_a1YfF -> Sing (Apply (Apply (Apply MapAccumRSym0 t_a1YfD) t_a1YfE) t_a1YfF :: (acc_a1Xbx, [y_a1Xbz]))
sReplicate :: forall (t_a1Ye1 :: Nat) (t_a1Ye2 :: a_a1Xa9). Sing t_a1Ye1 -> Sing t_a1Ye2 -> Sing (Apply (Apply ReplicateSym0 t_a1Ye1) t_a1Ye2 :: [a_a1Xa9])
sUnfoldr :: forall (t_a1YfB :: TyFun b_a1Xbv (Maybe (a_a1Xbw, b_a1Xbv)) -> Type) (t_a1YfC :: b_a1Xbv). Sing t_a1YfB -> Sing t_a1YfC -> Sing (Apply (Apply UnfoldrSym0 t_a1YfB) t_a1YfC :: [a_a1Xbw])
sTake :: forall (t_a1Yef :: Nat) (t_a1Yeg :: [a_a1Xap]). Sing t_a1Yef -> Sing t_a1Yeg -> Sing (Apply (Apply TakeSym0 t_a1Yef) t_a1Yeg :: [a_a1Xap])
sDrop :: forall (t_a1Yed :: Nat) (t_a1Yee :: [a_a1Xao]). Sing t_a1Yed -> Sing t_a1Yee -> Sing (Apply (Apply DropSym0 t_a1Yed) t_a1Yee :: [a_a1Xao])
sSplitAt :: forall (t_a1Yeh :: Nat) (t_a1Yei :: [a_a1Xan]). Sing t_a1Yeh -> Sing t_a1Yei -> Sing (Apply (Apply SplitAtSym0 t_a1Yeh) t_a1Yei :: ([a_a1Xan], [a_a1Xan]))
sTakeWhile :: forall (t_a1Yes :: TyFun a_a1Xau Bool -> Type) (t_a1Yet :: [a_a1Xau]). Sing t_a1Yes -> Sing t_a1Yet -> Sing (Apply (Apply TakeWhileSym0 t_a1Yes) t_a1Yet :: [a_a1Xau])
sDropWhile :: forall (t_a1Yeq :: TyFun a_a1Xat Bool -> Type) (t_a1Yer :: [a_a1Xat]). Sing t_a1Yeq -> Sing t_a1Yer -> Sing (Apply (Apply DropWhileSym0 t_a1Yeq) t_a1Yer :: [a_a1Xat])
sDropWhileEnd :: forall (t_a1Ygs :: TyFun a_a1Xas Bool -> Type) (t_a1Ygt :: [a_a1Xas]). Sing t_a1Ygs -> Sing t_a1Ygt -> Sing (Apply (Apply DropWhileEndSym0 t_a1Ygs) t_a1Ygt :: [a_a1Xas])
sSpan :: forall (t_a1Yel :: TyFun a_a1Xar Bool -> Type) (t_a1Yem :: [a_a1Xar]). Sing t_a1Yel -> Sing t_a1Yem -> Sing (Apply (Apply SpanSym0 t_a1Yel) t_a1Yem :: ([a_a1Xar], [a_a1Xar]))
sBreak :: forall (t_a1Yej :: TyFun a_a1Xaq Bool -> Type) (t_a1Yek :: [a_a1Xaq]). Sing t_a1Yej -> Sing t_a1Yek -> Sing (Apply (Apply BreakSym0 t_a1Yej) t_a1Yek :: ([a_a1Xaq], [a_a1Xaq]))
sGroup :: forall (t_a1Yep :: [a_a1Xam]). SEq a_a1Xam => Sing t_a1Yep -> Sing (Apply GroupSym0 t_a1Yep :: [[a_a1Xam]])
sInits :: forall (t_a1YfA :: [a_a1Xbu]). Sing t_a1YfA -> Sing (Apply InitsSym0 t_a1YfA :: [[a_a1Xbu]])
sTails :: forall (t_a1Yfx :: [a_a1Xbt]). Sing t_a1Yfx -> Sing (Apply TailsSym0 t_a1Yfx :: [[a_a1Xbt]])
sIsPrefixOf :: forall (t_a1Yfv :: [a_a1Xbs]) (t_a1Yfw :: [a_a1Xbs]). SEq a_a1Xbs => Sing t_a1Yfv -> Sing t_a1Yfw -> Sing (Apply (Apply IsPrefixOfSym0 t_a1Yfv) t_a1Yfw :: Bool)
sIsSuffixOf :: forall (t_a1Ygp :: [a_a1Xbr]) (t_a1Ygq :: [a_a1Xbr]). SEq a_a1Xbr => Sing t_a1Ygp -> Sing t_a1Ygq -> Sing (Apply (Apply IsSuffixOfSym0 t_a1Ygp) t_a1Ygq :: Bool)
sIsInfixOf :: forall (t_a1Yfy :: [a_a1Xbq]) (t_a1Yfz :: [a_a1Xbq]). SEq a_a1Xbq => Sing t_a1Yfy -> Sing t_a1Yfz -> Sing (Apply (Apply IsInfixOfSym0 t_a1Yfy) t_a1Yfz :: Bool)
sElem :: forall (t_a1Yfs :: a_a1Xbp) (t_a1Yft :: [a_a1Xbp]). SEq a_a1Xbp => Sing t_a1Yfs -> Sing t_a1Yft -> Sing (Apply (Apply ElemSym0 t_a1Yfs) t_a1Yft :: Bool)
sNotElem :: forall (t_a1Yfq :: a_a1Xbo) (t_a1Yfr :: [a_a1Xbo]). SEq a_a1Xbo => Sing t_a1Yfq -> Sing t_a1Yfr -> Sing (Apply (Apply NotElemSym0 t_a1Yfq) t_a1Yfr :: Bool)
sLookup :: forall (t_a1Yeb :: a_a1Xaf) (t_a1Yec :: [(a_a1Xaf, b_a1Xag)]). SEq a_a1Xaf => Sing t_a1Yeb -> Sing t_a1Yec -> Sing (Apply (Apply LookupSym0 t_a1Yeb) t_a1Yec :: Maybe b_a1Xag)
sFind :: forall (t_a1Yew :: TyFun a_a1XaB Bool -> Type) (t_a1Yex :: [a_a1XaB]). Sing t_a1Yew -> Sing t_a1Yex -> Sing (Apply (Apply FindSym0 t_a1Yew) t_a1Yex :: Maybe a_a1XaB)
sFilter :: forall (t_a1Yeu :: TyFun a_a1XaC Bool -> Type) (t_a1Yev :: [a_a1XaC]). Sing t_a1Yeu -> Sing t_a1Yev -> Sing (Apply (Apply FilterSym0 t_a1Yeu) t_a1Yev :: [a_a1XaC])
sPartition :: forall (t_a1Ye9 :: TyFun a_a1Xae Bool -> Type) (t_a1Yea :: [a_a1Xae]). Sing t_a1Ye9 -> Sing t_a1Yea -> Sing (Apply (Apply PartitionSym0 t_a1Ye9) t_a1Yea :: ([a_a1Xae], [a_a1Xae]))
(%:!!) :: forall (t_a1YdZ :: [a_a1Xa7]) (t_a1Ye0 :: Nat). Sing t_a1YdZ -> Sing t_a1Ye0 -> Sing (Apply (Apply (:!!$) t_a1YdZ) t_a1Ye0 :: a_a1Xa7)
sElemIndex :: forall (t_a1Yfo :: a_a1XaA) (t_a1Yfp :: [a_a1XaA]). SEq a_a1XaA => Sing t_a1Yfo -> Sing t_a1Yfp -> Sing (Apply (Apply ElemIndexSym0 t_a1Yfo) t_a1Yfp :: Maybe Nat)
sElemIndices :: forall (t_a1Yfk :: a_a1Xaz) (t_a1Yfl :: [a_a1Xaz]). SEq a_a1Xaz => Sing t_a1Yfk -> Sing t_a1Yfl -> Sing (Apply (Apply ElemIndicesSym0 t_a1Yfk) t_a1Yfl :: [Nat])
sFindIndex :: forall (t_a1Yfm :: TyFun a_a1Xay Bool -> Type) (t_a1Yfn :: [a_a1Xay]). Sing t_a1Yfm -> Sing t_a1Yfn -> Sing (Apply (Apply FindIndexSym0 t_a1Yfm) t_a1Yfn :: Maybe Nat)
sFindIndices :: forall (t_a1Yfi :: TyFun a_a1Xax Bool -> Type) (t_a1Yfj :: [a_a1Xax]). Sing t_a1Yfi -> Sing t_a1Yfj -> Sing (Apply (Apply FindIndicesSym0 t_a1Yfi) t_a1Yfj :: [Nat])
sZip :: forall (t_a1Yfg :: [a_a1Xbm]) (t_a1Yfh :: [b_a1Xbn]). Sing t_a1Yfg -> Sing t_a1Yfh -> Sing (Apply (Apply ZipSym0 t_a1Yfg) t_a1Yfh :: [(a_a1Xbm, b_a1Xbn)])
sZip3 :: forall (t_a1Yfd :: [a_a1Xbj]) (t_a1Yfe :: [b_a1Xbk]) (t_a1Yff :: [c_a1Xbl]). Sing t_a1Yfd -> Sing t_a1Yfe -> Sing t_a1Yff -> Sing (Apply (Apply (Apply Zip3Sym0 t_a1Yfd) t_a1Yfe) t_a1Yff :: [(a_a1Xbj, b_a1Xbk, c_a1Xbl)])
sZipWith :: forall (t_a1Yfa :: TyFun a_a1Xbg (TyFun b_a1Xbh c_a1Xbi -> Type) -> Type) (t_a1Yfb :: [a_a1Xbg]) (t_a1Yfc :: [b_a1Xbh]). Sing t_a1Yfa -> Sing t_a1Yfb -> Sing t_a1Yfc -> Sing (Apply (Apply (Apply ZipWithSym0 t_a1Yfa) t_a1Yfb) t_a1Yfc :: [c_a1Xbi])
sZipWith3 :: forall (t_a1Yf6 :: TyFun a_a1Xbc (TyFun b_a1Xbd (TyFun c_a1Xbe d_a1Xbf -> Type) -> Type) -> Type) (t_a1Yf7 :: [a_a1Xbc]) (t_a1Yf8 :: [b_a1Xbd]) (t_a1Yf9 :: [c_a1Xbe]). Sing t_a1Yf6 -> Sing t_a1Yf7 -> Sing t_a1Yf8 -> Sing t_a1Yf9 -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a1Yf6) t_a1Yf7) t_a1Yf8) t_a1Yf9 :: [d_a1Xbf])
sUnzip :: forall (t_a1Yf5 :: [(a_a1Xba, b_a1Xbb)]). Sing t_a1Yf5 -> Sing (Apply UnzipSym0 t_a1Yf5 :: ([a_a1Xba], [b_a1Xbb]))
sUnzip3 :: forall (t_a1Yf4 :: [(a_a1Xb7, b_a1Xb8, c_a1Xb9)]). Sing t_a1Yf4 -> Sing (Apply Unzip3Sym0 t_a1Yf4 :: ([a_a1Xb7], [b_a1Xb8], [c_a1Xb9]))
sUnzip4 :: forall (t_a1Yf3 :: [(a_a1Xb3, b_a1Xb4, c_a1Xb5, d_a1Xb6)]). Sing t_a1Yf3 -> Sing (Apply Unzip4Sym0 t_a1Yf3 :: ([a_a1Xb3], [b_a1Xb4], [c_a1Xb5], [d_a1Xb6]))
sUnzip5 :: forall (t_a1Yf2 :: [(a_a1XaY, b_a1XaZ, c_a1Xb0, d_a1Xb1, e_a1Xb2)]). Sing t_a1Yf2 -> Sing (Apply Unzip5Sym0 t_a1Yf2 :: ([a_a1XaY], [b_a1XaZ], [c_a1Xb0], [d_a1Xb1], [e_a1Xb2]))
sUnzip6 :: forall (t_a1Yf1 :: [(a_a1XaS, b_a1XaT, c_a1XaU, d_a1XaV, e_a1XaW, f_a1XaX)]). Sing t_a1Yf1 -> Sing (Apply Unzip6Sym0 t_a1Yf1 :: ([a_a1XaS], [b_a1XaT], [c_a1XaU], [d_a1XaV], [e_a1XaW], [f_a1XaX]))
sUnzip7 :: forall (t_a1Yf0 :: [(a_a1XaL, b_a1XaM, c_a1XaN, d_a1XaO, e_a1XaP, f_a1XaQ, g_a1XaR)]). Sing t_a1Yf0 -> Sing (Apply Unzip7Sym0 t_a1Yf0 :: ([a_a1XaL], [b_a1XaM], [c_a1XaN], [d_a1XaO], [e_a1XaP], [f_a1XaQ], [g_a1XaR]))
sNub :: forall (t_a1Yfu :: [a_a1Xa6]). SEq a_a1Xa6 => Sing t_a1Yfu -> Sing (Apply NubSym0 t_a1Yfu :: [a_a1Xa6])
sDelete :: forall (t_a1YeW :: a_a1XaK) (t_a1YeX :: [a_a1XaK]). SEq a_a1XaK => Sing t_a1YeW -> Sing t_a1YeX -> Sing (Apply (Apply DeleteSym0 t_a1YeW) t_a1YeX :: [a_a1XaK])
(%:\\) :: forall (t_a1YeY :: [a_a1XaJ]) (t_a1YeZ :: [a_a1XaJ]). SEq a_a1XaJ => Sing t_a1YeY -> Sing t_a1YeZ -> Sing (Apply (Apply (:\\$) t_a1YeY) t_a1YeZ :: [a_a1XaJ])
infix 5 %:\\
sUnion :: forall (t_a1YeU :: [a_a1Xa2]) (t_a1YeV :: [a_a1Xa2]). SEq a_a1Xa2 => Sing t_a1YeU -> Sing t_a1YeV -> Sing (Apply (Apply UnionSym0 t_a1YeU) t_a1YeV :: [a_a1Xa2])
sIntersect :: forall (t_a1YeB :: [a_a1Xaw]) (t_a1YeC :: [a_a1Xaw]). SEq a_a1Xaw => Sing t_a1YeB -> Sing t_a1YeC -> Sing (Apply (Apply IntersectSym0 t_a1YeB) t_a1YeC :: [a_a1Xaw])
sInsert :: forall (t_a1YeG :: a_a1Xaj) (t_a1YeH :: [a_a1Xaj]). SOrd a_a1Xaj => Sing t_a1YeG -> Sing t_a1YeH -> Sing (Apply (Apply InsertSym0 t_a1YeG) t_a1YeH :: [a_a1Xaj])
sSort :: forall (t_a1YeK :: [a_a1Xai]). SOrd a_a1Xai => Sing t_a1YeK -> Sing (Apply SortSym0 t_a1YeK :: [a_a1Xai])
sNubBy :: forall (t_a1YdX :: TyFun a_a1Xa5 (TyFun a_a1Xa5 Bool -> Type) -> Type) (t_a1YdY :: [a_a1Xa5]). Sing t_a1YdX -> Sing t_a1YdY -> Sing (Apply (Apply NubBySym0 t_a1YdX) t_a1YdY :: [a_a1Xa5])
sDeleteBy :: forall (t_a1YeL :: TyFun a_a1XaI (TyFun a_a1XaI Bool -> Type) -> Type) (t_a1YeM :: a_a1XaI) (t_a1YeN :: [a_a1XaI]). Sing t_a1YeL -> Sing t_a1YeM -> Sing t_a1YeN -> Sing (Apply (Apply (Apply DeleteBySym0 t_a1YeL) t_a1YeM) t_a1YeN :: [a_a1XaI])
sDeleteFirstsBy :: forall (t_a1YeO :: TyFun a_a1XaH (TyFun a_a1XaH Bool -> Type) -> Type) (t_a1YeP :: [a_a1XaH]) (t_a1YeQ :: [a_a1XaH]). Sing t_a1YeO -> Sing t_a1YeP -> Sing t_a1YeQ -> Sing (Apply (Apply (Apply DeleteFirstsBySym0 t_a1YeO) t_a1YeP) t_a1YeQ :: [a_a1XaH])
sUnionBy :: forall (t_a1YeR :: TyFun a_a1Xa3 (TyFun a_a1Xa3 Bool -> Type) -> Type) (t_a1YeS :: [a_a1Xa3]) (t_a1YeT :: [a_a1Xa3]). Sing t_a1YeR -> Sing t_a1YeS -> Sing t_a1YeT -> Sing (Apply (Apply (Apply UnionBySym0 t_a1YeR) t_a1YeS) t_a1YeT :: [a_a1Xa3])
sIntersectBy :: forall (t_a1Yey :: TyFun a_a1Xav (TyFun a_a1Xav Bool -> Type) -> Type) (t_a1Yez :: [a_a1Xav]) (t_a1YeA :: [a_a1Xav]). Sing t_a1Yey -> Sing t_a1Yez -> Sing t_a1YeA -> Sing (Apply (Apply (Apply IntersectBySym0 t_a1Yey) t_a1Yez) t_a1YeA :: [a_a1Xav])
sGroupBy :: forall (t_a1Yen :: TyFun a_a1Xah (TyFun a_a1Xah Bool -> Type) -> Type) (t_a1Yeo :: [a_a1Xah]). Sing t_a1Yen -> Sing t_a1Yeo -> Sing (Apply (Apply GroupBySym0 t_a1Yen) t_a1Yeo :: [[a_a1Xah]])
sSortBy :: forall (t_a1YeI :: TyFun a_a1XaG (TyFun a_a1XaG Ordering -> Type) -> Type) (t_a1YeJ :: [a_a1XaG]). Sing t_a1YeI -> Sing t_a1YeJ -> Sing (Apply (Apply SortBySym0 t_a1YeI) t_a1YeJ :: [a_a1XaG])
sInsertBy :: forall (t_a1YeD :: TyFun a_a1XaF (TyFun a_a1XaF Ordering -> Type) -> Type) (t_a1YeE :: a_a1XaF) (t_a1YeF :: [a_a1XaF]). Sing t_a1YeD -> Sing t_a1YeE -> Sing t_a1YeF -> Sing (Apply (Apply (Apply InsertBySym0 t_a1YeD) t_a1YeE) t_a1YeF :: [a_a1XaF])
sMaximumBy :: forall (t_a1Yg4 :: TyFun a_a1XaE (TyFun a_a1XaE Ordering -> Type) -> Type) (t_a1Yg5 :: [a_a1XaE]). Sing t_a1Yg4 -> Sing t_a1Yg5 -> Sing (Apply (Apply MaximumBySym0 t_a1Yg4) t_a1Yg5 :: a_a1XaE)
sMinimumBy :: forall (t_a1Yg6 :: TyFun a_a1XaD (TyFun a_a1XaD Ordering -> Type) -> Type) (t_a1Yg7 :: [a_a1XaD]). Sing t_a1Yg6 -> Sing t_a1Yg7 -> Sing (Apply (Apply MinimumBySym0 t_a1Yg6) t_a1Yg7 :: a_a1XaD)
sGenericLength :: forall (t_a1YdT :: [a_a1Xa1]). SNum i_a1Xa0 => Sing t_a1YdT -> Sing (Apply GenericLengthSym0 t_a1YdT :: i_a1Xa0)
type NilSym0 = '[]
data (:$) (l_aY6p :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:$$) (l_aY6n :: a3530822107858468865) (l_aY6m :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:$$$) (t_aY6k :: a3530822107858468865) (t_aY6l :: [a3530822107858468865]) = (:) t_aY6k t_aY6l
type (:++$$$) (t_a1bAj :: [a6989586621679292514]) (t_a1bAk :: [a6989586621679292514]) = (:++) t_a1bAj t_a1bAk
data (:++$$) (l_a1bAm :: [a6989586621679292514]) (l_a1bAl :: TyFun [a6989586621679292514] [a6989586621679292514])
data (:++$) (l_a1bAo :: TyFun [a6989586621679292514] (TyFun [a6989586621679292514] [a6989586621679292514] -> Type))
data HeadSym0 (l_a1YdE :: TyFun [a6989586621679475663] a6989586621679475663)
type HeadSym1 (t_a1YdD :: [a6989586621679475663]) = Head t_a1YdD
data LastSym0 (l_a1Ydu :: TyFun [a6989586621679475662] a6989586621679475662)
type LastSym1 (t_a1Ydt :: [a6989586621679475662]) = Last t_a1Ydt
data TailSym0 (l_a1Ydm :: TyFun [a6989586621679475661] [a6989586621679475661])
type TailSym1 (t_a1Ydl :: [a6989586621679475661]) = Tail t_a1Ydl
data InitSym0 (l_a1YcP :: TyFun [a6989586621679475660] [a6989586621679475660])
type InitSym1 (t_a1YcO :: [a6989586621679475660]) = Init t_a1YcO
data NullSym0 (l_a1YbI :: TyFun [a6989586621679475659] Bool)
type NullSym1 (t_a1YbH :: [a6989586621679475659]) = Null t_a1YbH
data LengthSym0 (l_a1Xo3 :: TyFun [a6989586621679475546] Nat)
type LengthSym1 (t_a1Xo2 :: [a6989586621679475546]) = Length t_a1Xo2
data MapSym0 (l_a1bAB :: TyFun (TyFun a6989586621679292515 b6989586621679292516 -> Type) (TyFun [a6989586621679292515] [b6989586621679292516] -> Type))
data MapSym1 (l_a1bAz :: TyFun a6989586621679292515 b6989586621679292516 -> Type) (l_a1bAy :: TyFun [a6989586621679292515] [b6989586621679292516])
type MapSym2 (t_a1bAw :: TyFun a6989586621679292515 b6989586621679292516 -> Type) (t_a1bAx :: [a6989586621679292515]) = Map t_a1bAw t_a1bAx
data ReverseSym0 (l_a1Yb9 :: TyFun [a6989586621679475658] [a6989586621679475658])
type ReverseSym1 (t_a1Yb8 :: [a6989586621679475658]) = Reverse t_a1Yb8
data IntersperseSym0 (l_a1YaN :: TyFun a6989586621679475657 (TyFun [a6989586621679475657] [a6989586621679475657] -> Type))
data IntersperseSym1 (l_a1YaL :: a6989586621679475657) (l_a1YaK :: TyFun [a6989586621679475657] [a6989586621679475657])
type IntersperseSym2 (t_a1YaI :: a6989586621679475657) (t_a1YaJ :: [a6989586621679475657]) = Intersperse t_a1YaI t_a1YaJ
data IntercalateSym0 (l_a1Yb2 :: TyFun [a6989586621679475656] (TyFun [[a6989586621679475656]] [a6989586621679475656] -> Type))
data IntercalateSym1 (l_a1Yb0 :: [a6989586621679475656]) (l_a1YaZ :: TyFun [[a6989586621679475656]] [a6989586621679475656])
type IntercalateSym2 (t_a1YaX :: [a6989586621679475656]) (t_a1YaY :: [[a6989586621679475656]]) = Intercalate t_a1YaX t_a1YaY
data TransposeSym0 (l_a1YdM :: TyFun [[a6989586621679475544]] [[a6989586621679475544]])
type TransposeSym1 (t_a1YdL :: [[a6989586621679475544]]) = Transpose t_a1YdL
data SubsequencesSym0 (l_a1YaE :: TyFun [a6989586621679475655] [[a6989586621679475655]])
type SubsequencesSym1 (t_a1YaD :: [a6989586621679475655]) = Subsequences t_a1YaD
data PermutationsSym0 (l_a1Y3W :: TyFun [a6989586621679475652] [[a6989586621679475652]])
type PermutationsSym1 (t_a1Y3V :: [a6989586621679475652]) = Permutations t_a1Y3V
data FoldlSym0 (l_a116c :: TyFun (TyFun b6989586621679252328 (TyFun a6989586621679252327 b6989586621679252328 -> Type) -> Type) (TyFun b6989586621679252328 (TyFun [a6989586621679252327] b6989586621679252328 -> Type) -> Type))
data FoldlSym1 (l_a116a :: TyFun b6989586621679252328 (TyFun a6989586621679252327 b6989586621679252328 -> Type) -> Type) (l_a1169 :: TyFun b6989586621679252328 (TyFun [a6989586621679252327] b6989586621679252328 -> Type))
data FoldlSym2 (l_a1166 :: TyFun b6989586621679252328 (TyFun a6989586621679252327 b6989586621679252328 -> Type) -> Type) (l_a1167 :: b6989586621679252328) (l_a1165 :: TyFun [a6989586621679252327] b6989586621679252328)
type FoldlSym3 (t_a1162 :: TyFun b6989586621679252328 (TyFun a6989586621679252327 b6989586621679252328 -> Type) -> Type) (t_a1163 :: b6989586621679252328) (t_a1164 :: [a6989586621679252327]) = Foldl t_a1162 t_a1163 t_a1164
data Foldl'Sym0 (l_a1Y2u :: TyFun (TyFun b6989586621679475651 (TyFun a6989586621679475650 b6989586621679475651 -> Type) -> Type) (TyFun b6989586621679475651 (TyFun [a6989586621679475650] b6989586621679475651 -> Type) -> Type))
data Foldl'Sym1 (l_a1Y2s :: TyFun b6989586621679475651 (TyFun a6989586621679475650 b6989586621679475651 -> Type) -> Type) (l_a1Y2r :: TyFun b6989586621679475651 (TyFun [a6989586621679475650] b6989586621679475651 -> Type))
data Foldl'Sym2 (l_a1Y2o :: TyFun b6989586621679475651 (TyFun a6989586621679475650 b6989586621679475651 -> Type) -> Type) (l_a1Y2p :: b6989586621679475651) (l_a1Y2n :: TyFun [a6989586621679475650] b6989586621679475651)
type Foldl'Sym3 (t_a1Y2k :: TyFun b6989586621679475651 (TyFun a6989586621679475650 b6989586621679475651 -> Type) -> Type) (t_a1Y2l :: b6989586621679475651) (t_a1Y2m :: [a6989586621679475650]) = Foldl' t_a1Y2k t_a1Y2l t_a1Y2m
data Foldl1Sym0 (l_a1XYU :: TyFun (TyFun a6989586621679475649 (TyFun a6989586621679475649 a6989586621679475649 -> Type) -> Type) (TyFun [a6989586621679475649] a6989586621679475649 -> Type))
data Foldl1Sym1 (l_a1XYS :: TyFun a6989586621679475649 (TyFun a6989586621679475649 a6989586621679475649 -> Type) -> Type) (l_a1XYR :: TyFun [a6989586621679475649] a6989586621679475649)
type Foldl1Sym2 (t_a1XYP :: TyFun a6989586621679475649 (TyFun a6989586621679475649 a6989586621679475649 -> Type) -> Type) (t_a1XYQ :: [a6989586621679475649]) = Foldl1 t_a1XYP t_a1XYQ
data Foldl1'Sym0 (l_a1Y3L :: TyFun (TyFun a6989586621679475648 (TyFun a6989586621679475648 a6989586621679475648 -> Type) -> Type) (TyFun [a6989586621679475648] a6989586621679475648 -> Type))
data Foldl1'Sym1 (l_a1Y3J :: TyFun a6989586621679475648 (TyFun a6989586621679475648 a6989586621679475648 -> Type) -> Type) (l_a1Y3I :: TyFun [a6989586621679475648] a6989586621679475648)
type Foldl1'Sym2 (t_a1Y3G :: TyFun a6989586621679475648 (TyFun a6989586621679475648 a6989586621679475648 -> Type) -> Type) (t_a1Y3H :: [a6989586621679475648]) = Foldl1' t_a1Y3G t_a1Y3H
data FoldrSym0 (l_a1bAV :: TyFun (TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (TyFun b6989586621679292518 (TyFun [a6989586621679292517] b6989586621679292518 -> Type) -> Type))
data FoldrSym1 (l_a1bAT :: TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (l_a1bAS :: TyFun b6989586621679292518 (TyFun [a6989586621679292517] b6989586621679292518 -> Type))
data FoldrSym2 (l_a1bAP :: TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (l_a1bAQ :: b6989586621679292518) (l_a1bAO :: TyFun [a6989586621679292517] b6989586621679292518)
type FoldrSym3 (t_a1bAL :: TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (t_a1bAM :: b6989586621679292518) (t_a1bAN :: [a6989586621679292517]) = Foldr t_a1bAL t_a1bAM t_a1bAN
data Foldr1Sym0 (l_a1XYh :: TyFun (TyFun a6989586621679475647 (TyFun a6989586621679475647 a6989586621679475647 -> Type) -> Type) (TyFun [a6989586621679475647] a6989586621679475647 -> Type))
data Foldr1Sym1 (l_a1XYf :: TyFun a6989586621679475647 (TyFun a6989586621679475647 a6989586621679475647 -> Type) -> Type) (l_a1XYe :: TyFun [a6989586621679475647] a6989586621679475647)
type Foldr1Sym2 (t_a1XYc :: TyFun a6989586621679475647 (TyFun a6989586621679475647 a6989586621679475647 -> Type) -> Type) (t_a1XYd :: [a6989586621679475647]) = Foldr1 t_a1XYc t_a1XYd
data ConcatSym0 (l_a1XY8 :: TyFun [[a6989586621679475646]] [a6989586621679475646])
type ConcatSym1 (t_a1XY7 :: [[a6989586621679475646]]) = Concat t_a1XY7
data ConcatMapSym0 (l_a1XXX :: TyFun (TyFun a6989586621679475644 [b6989586621679475645] -> Type) (TyFun [a6989586621679475644] [b6989586621679475645] -> Type))
data ConcatMapSym1 (l_a1XXV :: TyFun a6989586621679475644 [b6989586621679475645] -> Type) (l_a1XXU :: TyFun [a6989586621679475644] [b6989586621679475645])
type ConcatMapSym2 (t_a1XXS :: TyFun a6989586621679475644 [b6989586621679475645] -> Type) (t_a1XXT :: [a6989586621679475644]) = ConcatMap t_a1XXS t_a1XXT
data AndSym0 (l_a1XXN :: TyFun [Bool] Bool)
type AndSym1 (t_a1XXM :: [Bool]) = And t_a1XXM
data OrSym0 (l_a1XXH :: TyFun [Bool] Bool)
type OrSym1 (t_a1XXG :: [Bool]) = Or t_a1XXG
data Any_Sym0 (l_a1Ux7 :: TyFun (TyFun a6989586621679465427 Bool -> Type) (TyFun [a6989586621679465427] Bool -> Type))
data Any_Sym1 (l_a1Ux5 :: TyFun a6989586621679465427 Bool -> Type) (l_a1Ux4 :: TyFun [a6989586621679465427] Bool)
type Any_Sym2 (t_a1Ux2 :: TyFun a6989586621679465427 Bool -> Type) (t_a1Ux3 :: [a6989586621679465427]) = Any_ t_a1Ux2 t_a1Ux3
data AllSym0 (l_a1XXw :: TyFun (TyFun a6989586621679475643 Bool -> Type) (TyFun [a6989586621679475643] Bool -> Type))
data AllSym1 (l_a1XXu :: TyFun a6989586621679475643 Bool -> Type) (l_a1XXt :: TyFun [a6989586621679475643] Bool)
type AllSym2 (t_a1XXr :: TyFun a6989586621679475643 Bool -> Type) (t_a1XXs :: [a6989586621679475643]) = All t_a1XXr t_a1XXs
data SumSym0 (l_a1Xoz :: TyFun [a6989586621679475548] a6989586621679475548)
type SumSym1 (t_a1Xoy :: [a6989586621679475548]) = Sum t_a1Xoy
data ProductSym0 (l_a1Xob :: TyFun [a6989586621679475547] a6989586621679475547)
type ProductSym1 (t_a1Xoa :: [a6989586621679475547]) = Product t_a1Xoa
data MaximumSym0 (l_a1Y1T :: TyFun [a6989586621679475557] a6989586621679475557)
type MaximumSym1 (t_a1Y1S :: [a6989586621679475557]) = Maximum t_a1Y1S
data MinimumSym0 (l_a1Y27 :: TyFun [a6989586621679475556] a6989586621679475556)
type MinimumSym1 (t_a1Y26 :: [a6989586621679475556]) = Minimum t_a1Y26
data ScanlSym0 (l_a1XWZ :: TyFun (TyFun b6989586621679475641 (TyFun a6989586621679475642 b6989586621679475641 -> Type) -> Type) (TyFun b6989586621679475641 (TyFun [a6989586621679475642] [b6989586621679475641] -> Type) -> Type))
data ScanlSym1 (l_a1XWX :: TyFun b6989586621679475641 (TyFun a6989586621679475642 b6989586621679475641 -> Type) -> Type) (l_a1XWW :: TyFun b6989586621679475641 (TyFun [a6989586621679475642] [b6989586621679475641] -> Type))
data ScanlSym2 (l_a1XWT :: TyFun b6989586621679475641 (TyFun a6989586621679475642 b6989586621679475641 -> Type) -> Type) (l_a1XWU :: b6989586621679475641) (l_a1XWS :: TyFun [a6989586621679475642] [b6989586621679475641])
type ScanlSym3 (t_a1XWP :: TyFun b6989586621679475641 (TyFun a6989586621679475642 b6989586621679475641 -> Type) -> Type) (t_a1XWQ :: b6989586621679475641) (t_a1XWR :: [a6989586621679475642]) = Scanl t_a1XWP t_a1XWQ t_a1XWR
data Scanl1Sym0 (l_a1XXh :: TyFun (TyFun a6989586621679475640 (TyFun a6989586621679475640 a6989586621679475640 -> Type) -> Type) (TyFun [a6989586621679475640] [a6989586621679475640] -> Type))
data Scanl1Sym1 (l_a1XXf :: TyFun a6989586621679475640 (TyFun a6989586621679475640 a6989586621679475640 -> Type) -> Type) (l_a1XXe :: TyFun [a6989586621679475640] [a6989586621679475640])
type Scanl1Sym2 (t_a1XXc :: TyFun a6989586621679475640 (TyFun a6989586621679475640 a6989586621679475640 -> Type) -> Type) (t_a1XXd :: [a6989586621679475640]) = Scanl1 t_a1XXc t_a1XXd
data ScanrSym0 (l_a1XWe :: TyFun (TyFun a6989586621679475638 (TyFun b6989586621679475639 b6989586621679475639 -> Type) -> Type) (TyFun b6989586621679475639 (TyFun [a6989586621679475638] [b6989586621679475639] -> Type) -> Type))
data ScanrSym1 (l_a1XWc :: TyFun a6989586621679475638 (TyFun b6989586621679475639 b6989586621679475639 -> Type) -> Type) (l_a1XWb :: TyFun b6989586621679475639 (TyFun [a6989586621679475638] [b6989586621679475639] -> Type))
data ScanrSym2 (l_a1XW8 :: TyFun a6989586621679475638 (TyFun b6989586621679475639 b6989586621679475639 -> Type) -> Type) (l_a1XW9 :: b6989586621679475639) (l_a1XW7 :: TyFun [a6989586621679475638] [b6989586621679475639])
type ScanrSym3 (t_a1XW4 :: TyFun a6989586621679475638 (TyFun b6989586621679475639 b6989586621679475639 -> Type) -> Type) (t_a1XW5 :: b6989586621679475639) (t_a1XW6 :: [a6989586621679475638]) = Scanr t_a1XW4 t_a1XW5 t_a1XW6
data Scanr1Sym0 (l_a1XV8 :: TyFun (TyFun a6989586621679475637 (TyFun a6989586621679475637 a6989586621679475637 -> Type) -> Type) (TyFun [a6989586621679475637] [a6989586621679475637] -> Type))
data Scanr1Sym1 (l_a1XV6 :: TyFun a6989586621679475637 (TyFun a6989586621679475637 a6989586621679475637 -> Type) -> Type) (l_a1XV5 :: TyFun [a6989586621679475637] [a6989586621679475637])
type Scanr1Sym2 (t_a1XV3 :: TyFun a6989586621679475637 (TyFun a6989586621679475637 a6989586621679475637 -> Type) -> Type) (t_a1XV4 :: [a6989586621679475637]) = Scanr1 t_a1XV3 t_a1XV4
data MapAccumLSym0 (l_a1XSr :: TyFun (TyFun acc6989586621679475634 (TyFun x6989586621679475635 (acc6989586621679475634, y6989586621679475636) -> Type) -> Type) (TyFun acc6989586621679475634 (TyFun [x6989586621679475635] (acc6989586621679475634, [y6989586621679475636]) -> Type) -> Type))
data MapAccumLSym1 (l_a1XSp :: TyFun acc6989586621679475634 (TyFun x6989586621679475635 (acc6989586621679475634, y6989586621679475636) -> Type) -> Type) (l_a1XSo :: TyFun acc6989586621679475634 (TyFun [x6989586621679475635] (acc6989586621679475634, [y6989586621679475636]) -> Type))
data MapAccumLSym2 (l_a1XSl :: TyFun acc6989586621679475634 (TyFun x6989586621679475635 (acc6989586621679475634, y6989586621679475636) -> Type) -> Type) (l_a1XSm :: acc6989586621679475634) (l_a1XSk :: TyFun [x6989586621679475635] (acc6989586621679475634, [y6989586621679475636]))
type MapAccumLSym3 (t_a1XSh :: TyFun acc6989586621679475634 (TyFun x6989586621679475635 (acc6989586621679475634, y6989586621679475636) -> Type) -> Type) (t_a1XSi :: acc6989586621679475634) (t_a1XSj :: [x6989586621679475635]) = MapAccumL t_a1XSh t_a1XSi t_a1XSj
data MapAccumRSym0 (l_a1XPF :: TyFun (TyFun acc6989586621679475631 (TyFun x6989586621679475632 (acc6989586621679475631, y6989586621679475633) -> Type) -> Type) (TyFun acc6989586621679475631 (TyFun [x6989586621679475632] (acc6989586621679475631, [y6989586621679475633]) -> Type) -> Type))
data MapAccumRSym1 (l_a1XPD :: TyFun acc6989586621679475631 (TyFun x6989586621679475632 (acc6989586621679475631, y6989586621679475633) -> Type) -> Type) (l_a1XPC :: TyFun acc6989586621679475631 (TyFun [x6989586621679475632] (acc6989586621679475631, [y6989586621679475633]) -> Type))
data MapAccumRSym2 (l_a1XPz :: TyFun acc6989586621679475631 (TyFun x6989586621679475632 (acc6989586621679475631, y6989586621679475633) -> Type) -> Type) (l_a1XPA :: acc6989586621679475631) (l_a1XPy :: TyFun [x6989586621679475632] (acc6989586621679475631, [y6989586621679475633]))
type MapAccumRSym3 (t_a1XPv :: TyFun acc6989586621679475631 (TyFun x6989586621679475632 (acc6989586621679475631, y6989586621679475633) -> Type) -> Type) (t_a1XPw :: acc6989586621679475631) (t_a1XPx :: [x6989586621679475632]) = MapAccumR t_a1XPv t_a1XPw t_a1XPx
data ReplicateSym0 (l_a1XnL :: TyFun Nat (TyFun a6989586621679475545 [a6989586621679475545] -> Type))
data ReplicateSym1 (l_a1XnJ :: Nat) (l_a1XnI :: TyFun a6989586621679475545 [a6989586621679475545])
type ReplicateSym2 (t_a1XnG :: Nat) (t_a1XnH :: a6989586621679475545) = Replicate t_a1XnG t_a1XnH
data UnfoldrSym0 (l_a1XPc :: TyFun (TyFun b6989586621679475629 (Maybe (a6989586621679475630, b6989586621679475629)) -> Type) (TyFun b6989586621679475629 [a6989586621679475630] -> Type))
data UnfoldrSym1 (l_a1XPa :: TyFun b6989586621679475629 (Maybe (a6989586621679475630, b6989586621679475629)) -> Type) (l_a1XP9 :: TyFun b6989586621679475629 [a6989586621679475630])
type UnfoldrSym2 (t_a1XP7 :: TyFun b6989586621679475629 (Maybe (a6989586621679475630, b6989586621679475629)) -> Type) (t_a1XP8 :: b6989586621679475629) = Unfoldr t_a1XP7 t_a1XP8
data TakeSym0 (l_a1XqW :: TyFun Nat (TyFun [a6989586621679475561] [a6989586621679475561] -> Type))
data TakeSym1 (l_a1XqU :: Nat) (l_a1XqT :: TyFun [a6989586621679475561] [a6989586621679475561])
type TakeSym2 (t_a1XqR :: Nat) (t_a1XqS :: [a6989586621679475561]) = Take t_a1XqR t_a1XqS
data DropSym0 (l_a1Xqr :: TyFun Nat (TyFun [a6989586621679475560] [a6989586621679475560] -> Type))
data DropSym1 (l_a1Xqp :: Nat) (l_a1Xqo :: TyFun [a6989586621679475560] [a6989586621679475560])
type DropSym2 (t_a1Xqm :: Nat) (t_a1Xqn :: [a6989586621679475560]) = Drop t_a1Xqm t_a1Xqn
data SplitAtSym0 (l_a1Xrr :: TyFun Nat (TyFun [a6989586621679475559] ([a6989586621679475559], [a6989586621679475559]) -> Type))
data SplitAtSym1 (l_a1Xrp :: Nat) (l_a1Xro :: TyFun [a6989586621679475559] ([a6989586621679475559], [a6989586621679475559]))
type SplitAtSym2 (t_a1Xrm :: Nat) (t_a1Xrn :: [a6989586621679475559]) = SplitAt t_a1Xrm t_a1Xrn
data TakeWhileSym0 (l_a1XwR :: TyFun (TyFun a6989586621679475566 Bool -> Type) (TyFun [a6989586621679475566] [a6989586621679475566] -> Type))
data TakeWhileSym1 (l_a1XwP :: TyFun a6989586621679475566 Bool -> Type) (l_a1XwO :: TyFun [a6989586621679475566] [a6989586621679475566])
type TakeWhileSym2 (t_a1XwM :: TyFun a6989586621679475566 Bool -> Type) (t_a1XwN :: [a6989586621679475566]) = TakeWhile t_a1XwM t_a1XwN
data DropWhileSym0 (l_a1Xw9 :: TyFun (TyFun a6989586621679475565 Bool -> Type) (TyFun [a6989586621679475565] [a6989586621679475565] -> Type))
data DropWhileSym1 (l_a1Xw7 :: TyFun a6989586621679475565 Bool -> Type) (l_a1Xw6 :: TyFun [a6989586621679475565] [a6989586621679475565])
type DropWhileSym2 (t_a1Xw4 :: TyFun a6989586621679475565 Bool -> Type) (t_a1Xw5 :: [a6989586621679475565]) = DropWhile t_a1Xw4 t_a1Xw5
data DropWhileEndSym0 (l_a1YbW :: TyFun (TyFun a6989586621679475564 Bool -> Type) (TyFun [a6989586621679475564] [a6989586621679475564] -> Type))
data DropWhileEndSym1 (l_a1YbU :: TyFun a6989586621679475564 Bool -> Type) (l_a1YbT :: TyFun [a6989586621679475564] [a6989586621679475564])
type DropWhileEndSym2 (t_a1YbR :: TyFun a6989586621679475564 Bool -> Type) (t_a1YbS :: [a6989586621679475564]) = DropWhileEnd t_a1YbR t_a1YbS
data SpanSym0 (l_a1Xtg :: TyFun (TyFun a6989586621679475563 Bool -> Type) (TyFun [a6989586621679475563] ([a6989586621679475563], [a6989586621679475563]) -> Type))
data SpanSym1 (l_a1Xte :: TyFun a6989586621679475563 Bool -> Type) (l_a1Xtd :: TyFun [a6989586621679475563] ([a6989586621679475563], [a6989586621679475563]))
type SpanSym2 (t_a1Xtb :: TyFun a6989586621679475563 Bool -> Type) (t_a1Xtc :: [a6989586621679475563]) = Span t_a1Xtb t_a1Xtc
data BreakSym0 (l_a1XrC :: TyFun (TyFun a6989586621679475562 Bool -> Type) (TyFun [a6989586621679475562] ([a6989586621679475562], [a6989586621679475562]) -> Type))
data BreakSym1 (l_a1XrA :: TyFun a6989586621679475562 Bool -> Type) (l_a1Xrz :: TyFun [a6989586621679475562] ([a6989586621679475562], [a6989586621679475562]))
type BreakSym2 (t_a1Xrx :: TyFun a6989586621679475562 Bool -> Type) (t_a1Xry :: [a6989586621679475562]) = Break t_a1Xrx t_a1Xry
data GroupSym0 (l_a1Xw0 :: TyFun [a6989586621679475558] [[a6989586621679475558]])
type GroupSym1 (t_a1XvZ :: [a6989586621679475558]) = Group t_a1XvZ
data InitsSym0 (l_a1XOY :: TyFun [a6989586621679475628] [[a6989586621679475628]])
type InitsSym1 (t_a1XOX :: [a6989586621679475628]) = Inits t_a1XOX
data TailsSym0 (l_a1XOB :: TyFun [a6989586621679475627] [[a6989586621679475627]])
type TailsSym1 (t_a1XOA :: [a6989586621679475627]) = Tails t_a1XOA
data IsPrefixOfSym0 (l_a1XOg :: TyFun [a6989586621679475626] (TyFun [a6989586621679475626] Bool -> Type))
data IsPrefixOfSym1 (l_a1XOe :: [a6989586621679475626]) (l_a1XOd :: TyFun [a6989586621679475626] Bool)
type IsPrefixOfSym2 (t_a1XOb :: [a6989586621679475626]) (t_a1XOc :: [a6989586621679475626]) = IsPrefixOf t_a1XOb t_a1XOc
data IsSuffixOfSym0 (l_a1YbB :: TyFun [a6989586621679475625] (TyFun [a6989586621679475625] Bool -> Type))
data IsSuffixOfSym1 (l_a1Ybz :: [a6989586621679475625]) (l_a1Yby :: TyFun [a6989586621679475625] Bool)
type IsSuffixOfSym2 (t_a1Ybw :: [a6989586621679475625]) (t_a1Ybx :: [a6989586621679475625]) = IsSuffixOf t_a1Ybw t_a1Ybx
data IsInfixOfSym0 (l_a1XOR :: TyFun [a6989586621679475624] (TyFun [a6989586621679475624] Bool -> Type))
data IsInfixOfSym1 (l_a1XOP :: [a6989586621679475624]) (l_a1XOO :: TyFun [a6989586621679475624] Bool)
type IsInfixOfSym2 (t_a1XOM :: [a6989586621679475624]) (t_a1XON :: [a6989586621679475624]) = IsInfixOf t_a1XOM t_a1XON
data ElemSym0 (l_a1XNf :: TyFun a6989586621679475623 (TyFun [a6989586621679475623] Bool -> Type))
data ElemSym1 (l_a1XNd :: a6989586621679475623) (l_a1XNc :: TyFun [a6989586621679475623] Bool)
type ElemSym2 (t_a1XNa :: a6989586621679475623) (t_a1XNb :: [a6989586621679475623]) = Elem t_a1XNa t_a1XNb
data NotElemSym0 (l_a1XN0 :: TyFun a6989586621679475622 (TyFun [a6989586621679475622] Bool -> Type))
data NotElemSym1 (l_a1XMY :: a6989586621679475622) (l_a1XMX :: TyFun [a6989586621679475622] Bool)
type NotElemSym2 (t_a1XMV :: a6989586621679475622) (t_a1XMW :: [a6989586621679475622]) = NotElem t_a1XMV t_a1XMW
data LookupSym0 (l_a1XpR :: TyFun a6989586621679475551 (TyFun [(a6989586621679475551, b6989586621679475552)] (Maybe b6989586621679475552) -> Type))
data LookupSym1 (l_a1XpP :: a6989586621679475551) (l_a1XpO :: TyFun [(a6989586621679475551, b6989586621679475552)] (Maybe b6989586621679475552))
type LookupSym2 (t_a1XpM :: a6989586621679475551) (t_a1XpN :: [(a6989586621679475551, b6989586621679475552)]) = Lookup t_a1XpM t_a1XpN
data FindSym0 (l_a1XxP :: TyFun (TyFun a6989586621679475573 Bool -> Type) (TyFun [a6989586621679475573] (Maybe a6989586621679475573) -> Type))
data FindSym1 (l_a1XxN :: TyFun a6989586621679475573 Bool -> Type) (l_a1XxM :: TyFun [a6989586621679475573] (Maybe a6989586621679475573))
type FindSym2 (t_a1XxK :: TyFun a6989586621679475573 Bool -> Type) (t_a1XxL :: [a6989586621679475573]) = Find t_a1XxK t_a1XxL
data FilterSym0 (l_a1Xxm :: TyFun (TyFun a6989586621679475574 Bool -> Type) (TyFun [a6989586621679475574] [a6989586621679475574] -> Type))
data FilterSym1 (l_a1Xxk :: TyFun a6989586621679475574 Bool -> Type) (l_a1Xxj :: TyFun [a6989586621679475574] [a6989586621679475574])
type FilterSym2 (t_a1Xxh :: TyFun a6989586621679475574 Bool -> Type) (t_a1Xxi :: [a6989586621679475574]) = Filter t_a1Xxh t_a1Xxi
data PartitionSym0 (l_a1XpG :: TyFun (TyFun a6989586621679475550 Bool -> Type) (TyFun [a6989586621679475550] ([a6989586621679475550], [a6989586621679475550]) -> Type))
data PartitionSym1 (l_a1XpE :: TyFun a6989586621679475550 Bool -> Type) (l_a1XpD :: TyFun [a6989586621679475550] ([a6989586621679475550], [a6989586621679475550]))
type PartitionSym2 (t_a1XpB :: TyFun a6989586621679475550 Bool -> Type) (t_a1XpC :: [a6989586621679475550]) = Partition t_a1XpB t_a1XpC
data (:!!$) (l_a1Xng :: TyFun [a6989586621679475543] (TyFun Nat a6989586621679475543 -> Type))
data (:!!$$) (l_a1Xne :: [a6989586621679475543]) (l_a1Xnd :: TyFun Nat a6989586621679475543)
type (:!!$$$) (t_a1Xnb :: [a6989586621679475543]) (t_a1Xnc :: Nat) = (:!!) t_a1Xnb t_a1Xnc
data ElemIndexSym0 (l_a1XMN :: TyFun a6989586621679475572 (TyFun [a6989586621679475572] (Maybe Nat) -> Type))
data ElemIndexSym1 (l_a1XML :: a6989586621679475572) (l_a1XMK :: TyFun [a6989586621679475572] (Maybe Nat))
type ElemIndexSym2 (t_a1XMI :: a6989586621679475572) (t_a1XMJ :: [a6989586621679475572]) = ElemIndex t_a1XMI t_a1XMJ
data ElemIndicesSym0 (l_a1XMn :: TyFun a6989586621679475571 (TyFun [a6989586621679475571] [Nat] -> Type))
data ElemIndicesSym1 (l_a1XMl :: a6989586621679475571) (l_a1XMk :: TyFun [a6989586621679475571] [Nat])
type ElemIndicesSym2 (t_a1XMi :: a6989586621679475571) (t_a1XMj :: [a6989586621679475571]) = ElemIndices t_a1XMi t_a1XMj
data FindIndexSym0 (l_a1XMA :: TyFun (TyFun a6989586621679475570 Bool -> Type) (TyFun [a6989586621679475570] (Maybe Nat) -> Type))
data FindIndexSym1 (l_a1XMy :: TyFun a6989586621679475570 Bool -> Type) (l_a1XMx :: TyFun [a6989586621679475570] (Maybe Nat))
type FindIndexSym2 (t_a1XMv :: TyFun a6989586621679475570 Bool -> Type) (t_a1XMw :: [a6989586621679475570]) = FindIndex t_a1XMv t_a1XMw
data FindIndicesSym0 (l_a1XLm :: TyFun (TyFun a6989586621679475569 Bool -> Type) (TyFun [a6989586621679475569] [Nat] -> Type))
data FindIndicesSym1 (l_a1XLk :: TyFun a6989586621679475569 Bool -> Type) (l_a1XLj :: TyFun [a6989586621679475569] [Nat])
type FindIndicesSym2 (t_a1XLh :: TyFun a6989586621679475569 Bool -> Type) (t_a1XLi :: [a6989586621679475569]) = FindIndices t_a1XLh t_a1XLi
data ZipSym0 (l_a1XKX :: TyFun [a6989586621679475620] (TyFun [b6989586621679475621] [(a6989586621679475620, b6989586621679475621)] -> Type))
data ZipSym1 (l_a1XKV :: [a6989586621679475620]) (l_a1XKU :: TyFun [b6989586621679475621] [(a6989586621679475620, b6989586621679475621)])
type ZipSym2 (t_a1XKS :: [a6989586621679475620]) (t_a1XKT :: [b6989586621679475621]) = Zip t_a1XKS t_a1XKT
data Zip3Sym0 (l_a1XJP :: TyFun [a6989586621679475617] (TyFun [b6989586621679475618] (TyFun [c6989586621679475619] [(a6989586621679475617, b6989586621679475618, c6989586621679475619)] -> Type) -> Type))
data Zip3Sym1 (l_a1XJN :: [a6989586621679475617]) (l_a1XJM :: TyFun [b6989586621679475618] (TyFun [c6989586621679475619] [(a6989586621679475617, b6989586621679475618, c6989586621679475619)] -> Type))
data Zip3Sym2 (l_a1XJJ :: [a6989586621679475617]) (l_a1XJK :: [b6989586621679475618]) (l_a1XJI :: TyFun [c6989586621679475619] [(a6989586621679475617, b6989586621679475618, c6989586621679475619)])
type Zip3Sym3 (t_a1XJF :: [a6989586621679475617]) (t_a1XJG :: [b6989586621679475618]) (t_a1XJH :: [c6989586621679475619]) = Zip3 t_a1XJF t_a1XJG t_a1XJH
data ZipWithSym0 (l_a1XJa :: TyFun (TyFun a6989586621679475614 (TyFun b6989586621679475615 c6989586621679475616 -> Type) -> Type) (TyFun [a6989586621679475614] (TyFun [b6989586621679475615] [c6989586621679475616] -> Type) -> Type))
data ZipWithSym1 (l_a1XJ8 :: TyFun a6989586621679475614 (TyFun b6989586621679475615 c6989586621679475616 -> Type) -> Type) (l_a1XJ7 :: TyFun [a6989586621679475614] (TyFun [b6989586621679475615] [c6989586621679475616] -> Type))
data ZipWithSym2 (l_a1XJ4 :: TyFun a6989586621679475614 (TyFun b6989586621679475615 c6989586621679475616 -> Type) -> Type) (l_a1XJ5 :: [a6989586621679475614]) (l_a1XJ3 :: TyFun [b6989586621679475615] [c6989586621679475616])
type ZipWithSym3 (t_a1XJ0 :: TyFun a6989586621679475614 (TyFun b6989586621679475615 c6989586621679475616 -> Type) -> Type) (t_a1XJ1 :: [a6989586621679475614]) (t_a1XJ2 :: [b6989586621679475615]) = ZipWith t_a1XJ0 t_a1XJ1 t_a1XJ2
data ZipWith3Sym0 (l_a1XHA :: TyFun (TyFun a6989586621679475610 (TyFun b6989586621679475611 (TyFun c6989586621679475612 d6989586621679475613 -> Type) -> Type) -> Type) (TyFun [a6989586621679475610] (TyFun [b6989586621679475611] (TyFun [c6989586621679475612] [d6989586621679475613] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1XHy :: TyFun a6989586621679475610 (TyFun b6989586621679475611 (TyFun c6989586621679475612 d6989586621679475613 -> Type) -> Type) -> Type) (l_a1XHx :: TyFun [a6989586621679475610] (TyFun [b6989586621679475611] (TyFun [c6989586621679475612] [d6989586621679475613] -> Type) -> Type))
data ZipWith3Sym2 (l_a1XHu :: TyFun a6989586621679475610 (TyFun b6989586621679475611 (TyFun c6989586621679475612 d6989586621679475613 -> Type) -> Type) -> Type) (l_a1XHv :: [a6989586621679475610]) (l_a1XHt :: TyFun [b6989586621679475611] (TyFun [c6989586621679475612] [d6989586621679475613] -> Type))
data ZipWith3Sym3 (l_a1XHp :: TyFun a6989586621679475610 (TyFun b6989586621679475611 (TyFun c6989586621679475612 d6989586621679475613 -> Type) -> Type) -> Type) (l_a1XHq :: [a6989586621679475610]) (l_a1XHr :: [b6989586621679475611]) (l_a1XHo :: TyFun [c6989586621679475612] [d6989586621679475613])
type ZipWith3Sym4 (t_a1XHk :: TyFun a6989586621679475610 (TyFun b6989586621679475611 (TyFun c6989586621679475612 d6989586621679475613 -> Type) -> Type) -> Type) (t_a1XHl :: [a6989586621679475610]) (t_a1XHm :: [b6989586621679475611]) (t_a1XHn :: [c6989586621679475612]) = ZipWith3 t_a1XHk t_a1XHl t_a1XHm t_a1XHn
data UnzipSym0 (l_a1XGR :: TyFun [(a6989586621679475608, b6989586621679475609)] ([a6989586621679475608], [b6989586621679475609]))
type UnzipSym1 (t_a1XGQ :: [(a6989586621679475608, b6989586621679475609)]) = Unzip t_a1XGQ
data Unzip3Sym0 (l_a1XGl :: TyFun [(a6989586621679475605, b6989586621679475606, c6989586621679475607)] ([a6989586621679475605], [b6989586621679475606], [c6989586621679475607]))
type Unzip3Sym1 (t_a1XGk :: [(a6989586621679475605, b6989586621679475606, c6989586621679475607)]) = Unzip3 t_a1XGk
data Unzip4Sym0 (l_a1XFN :: TyFun [(a6989586621679475601, b6989586621679475602, c6989586621679475603, d6989586621679475604)] ([a6989586621679475601], [b6989586621679475602], [c6989586621679475603], [d6989586621679475604]))
type Unzip4Sym1 (t_a1XFM :: [(a6989586621679475601, b6989586621679475602, c6989586621679475603, d6989586621679475604)]) = Unzip4 t_a1XFM
data Unzip5Sym0 (l_a1XFd :: TyFun [(a6989586621679475596, b6989586621679475597, c6989586621679475598, d6989586621679475599, e6989586621679475600)] ([a6989586621679475596], [b6989586621679475597], [c6989586621679475598], [d6989586621679475599], [e6989586621679475600]))
type Unzip5Sym1 (t_a1XFc :: [(a6989586621679475596, b6989586621679475597, c6989586621679475598, d6989586621679475599, e6989586621679475600)]) = Unzip5 t_a1XFc
data Unzip6Sym0 (l_a1XEB :: TyFun [(a6989586621679475590, b6989586621679475591, c6989586621679475592, d6989586621679475593, e6989586621679475594, f6989586621679475595)] ([a6989586621679475590], [b6989586621679475591], [c6989586621679475592], [d6989586621679475593], [e6989586621679475594], [f6989586621679475595]))
type Unzip6Sym1 (t_a1XEA :: [(a6989586621679475590, b6989586621679475591, c6989586621679475592, d6989586621679475593, e6989586621679475594, f6989586621679475595)]) = Unzip6 t_a1XEA
data Unzip7Sym0 (l_a1XDX :: TyFun [(a6989586621679475583, b6989586621679475584, c6989586621679475585, d6989586621679475586, e6989586621679475587, f6989586621679475588, g6989586621679475589)] ([a6989586621679475583], [b6989586621679475584], [c6989586621679475585], [d6989586621679475586], [e6989586621679475587], [f6989586621679475588], [g6989586621679475589]))
type Unzip7Sym1 (t_a1XDW :: [(a6989586621679475583, b6989586621679475584, c6989586621679475585, d6989586621679475586, e6989586621679475587, f6989586621679475588, g6989586621679475589)]) = Unzip7 t_a1XDW
data NubSym0 (l_a1XNq :: TyFun [a6989586621679475542] [a6989586621679475542])
type NubSym1 (t_a1XNp :: [a6989586621679475542]) = Nub t_a1XNp
data DeleteSym0 (l_a1XDB :: TyFun a6989586621679475582 (TyFun [a6989586621679475582] [a6989586621679475582] -> Type))
data DeleteSym1 (l_a1XDz :: a6989586621679475582) (l_a1XDy :: TyFun [a6989586621679475582] [a6989586621679475582])
type DeleteSym2 (t_a1XDw :: a6989586621679475582) (t_a1XDx :: [a6989586621679475582]) = Delete t_a1XDw t_a1XDx
data (:\\$) (l_a1XDQ :: TyFun [a6989586621679475581] (TyFun [a6989586621679475581] [a6989586621679475581] -> Type))
data (:\\$$) (l_a1XDO :: [a6989586621679475581]) (l_a1XDN :: TyFun [a6989586621679475581] [a6989586621679475581])
type (:\\$$$) (t_a1XDL :: [a6989586621679475581]) (t_a1XDM :: [a6989586621679475581]) = (:\\) t_a1XDL t_a1XDM
data UnionSym0 (l_a1XDm :: TyFun [a6989586621679475538] (TyFun [a6989586621679475538] [a6989586621679475538] -> Type))
data UnionSym1 (l_a1XDk :: [a6989586621679475538]) (l_a1XDj :: TyFun [a6989586621679475538] [a6989586621679475538])
type UnionSym2 (t_a1XDh :: [a6989586621679475538]) (t_a1XDi :: [a6989586621679475538]) = Union t_a1XDh t_a1XDi
data IntersectSym0 (l_a1XAb :: TyFun [a6989586621679475568] (TyFun [a6989586621679475568] [a6989586621679475568] -> Type))
data IntersectSym1 (l_a1XA9 :: [a6989586621679475568]) (l_a1XA8 :: TyFun [a6989586621679475568] [a6989586621679475568])
type IntersectSym2 (t_a1XA6 :: [a6989586621679475568]) (t_a1XA7 :: [a6989586621679475568]) = Intersect t_a1XA6 t_a1XA7
data InsertSym0 (l_a1XBo :: TyFun a6989586621679475555 (TyFun [a6989586621679475555] [a6989586621679475555] -> Type))
data InsertSym1 (l_a1XBm :: a6989586621679475555) (l_a1XBl :: TyFun [a6989586621679475555] [a6989586621679475555])
type InsertSym2 (t_a1XBj :: a6989586621679475555) (t_a1XBk :: [a6989586621679475555]) = Insert t_a1XBj t_a1XBk
data SortSym0 (l_a1XBK :: TyFun [a6989586621679475554] [a6989586621679475554])
type SortSym1 (t_a1XBJ :: [a6989586621679475554]) = Sort t_a1XBJ
data NubBySym0 (l_a1Xmb :: TyFun (TyFun a6989586621679475541 (TyFun a6989586621679475541 Bool -> Type) -> Type) (TyFun [a6989586621679475541] [a6989586621679475541] -> Type))
data NubBySym1 (l_a1Xm9 :: TyFun a6989586621679475541 (TyFun a6989586621679475541 Bool -> Type) -> Type) (l_a1Xm8 :: TyFun [a6989586621679475541] [a6989586621679475541])
type NubBySym2 (t_a1Xm6 :: TyFun a6989586621679475541 (TyFun a6989586621679475541 Bool -> Type) -> Type) (t_a1Xm7 :: [a6989586621679475541]) = NubBy t_a1Xm6 t_a1Xm7
data DeleteBySym0 (l_a1XBY :: TyFun (TyFun a6989586621679475580 (TyFun a6989586621679475580 Bool -> Type) -> Type) (TyFun a6989586621679475580 (TyFun [a6989586621679475580] [a6989586621679475580] -> Type) -> Type))
data DeleteBySym1 (l_a1XBW :: TyFun a6989586621679475580 (TyFun a6989586621679475580 Bool -> Type) -> Type) (l_a1XBV :: TyFun a6989586621679475580 (TyFun [a6989586621679475580] [a6989586621679475580] -> Type))
data DeleteBySym2 (l_a1XBS :: TyFun a6989586621679475580 (TyFun a6989586621679475580 Bool -> Type) -> Type) (l_a1XBT :: a6989586621679475580) (l_a1XBR :: TyFun [a6989586621679475580] [a6989586621679475580])
type DeleteBySym3 (t_a1XBO :: TyFun a6989586621679475580 (TyFun a6989586621679475580 Bool -> Type) -> Type) (t_a1XBP :: a6989586621679475580) (t_a1XBQ :: [a6989586621679475580]) = DeleteBy t_a1XBO t_a1XBP t_a1XBQ
data DeleteFirstsBySym0 (l_a1XCJ :: TyFun (TyFun a6989586621679475579 (TyFun a6989586621679475579 Bool -> Type) -> Type) (TyFun [a6989586621679475579] (TyFun [a6989586621679475579] [a6989586621679475579] -> Type) -> Type))
data DeleteFirstsBySym1 (l_a1XCH :: TyFun a6989586621679475579 (TyFun a6989586621679475579 Bool -> Type) -> Type) (l_a1XCG :: TyFun [a6989586621679475579] (TyFun [a6989586621679475579] [a6989586621679475579] -> Type))
data DeleteFirstsBySym2 (l_a1XCD :: TyFun a6989586621679475579 (TyFun a6989586621679475579 Bool -> Type) -> Type) (l_a1XCE :: [a6989586621679475579]) (l_a1XCC :: TyFun [a6989586621679475579] [a6989586621679475579])
type DeleteFirstsBySym3 (t_a1XCz :: TyFun a6989586621679475579 (TyFun a6989586621679475579 Bool -> Type) -> Type) (t_a1XCA :: [a6989586621679475579]) (t_a1XCB :: [a6989586621679475579]) = DeleteFirstsBy t_a1XCz t_a1XCA t_a1XCB
data UnionBySym0 (l_a1XD5 :: TyFun (TyFun a6989586621679475539 (TyFun a6989586621679475539 Bool -> Type) -> Type) (TyFun [a6989586621679475539] (TyFun [a6989586621679475539] [a6989586621679475539] -> Type) -> Type))
data UnionBySym1 (l_a1XD3 :: TyFun a6989586621679475539 (TyFun a6989586621679475539 Bool -> Type) -> Type) (l_a1XD2 :: TyFun [a6989586621679475539] (TyFun [a6989586621679475539] [a6989586621679475539] -> Type))
data UnionBySym2 (l_a1XCZ :: TyFun a6989586621679475539 (TyFun a6989586621679475539 Bool -> Type) -> Type) (l_a1XD0 :: [a6989586621679475539]) (l_a1XCY :: TyFun [a6989586621679475539] [a6989586621679475539])
type UnionBySym3 (t_a1XCV :: TyFun a6989586621679475539 (TyFun a6989586621679475539 Bool -> Type) -> Type) (t_a1XCW :: [a6989586621679475539]) (t_a1XCX :: [a6989586621679475539]) = UnionBy t_a1XCV t_a1XCW t_a1XCX
data IntersectBySym0 (l_a1Xy7 :: TyFun (TyFun a6989586621679475567 (TyFun a6989586621679475567 Bool -> Type) -> Type) (TyFun [a6989586621679475567] (TyFun [a6989586621679475567] [a6989586621679475567] -> Type) -> Type))
data IntersectBySym1 (l_a1Xy5 :: TyFun a6989586621679475567 (TyFun a6989586621679475567 Bool -> Type) -> Type) (l_a1Xy4 :: TyFun [a6989586621679475567] (TyFun [a6989586621679475567] [a6989586621679475567] -> Type))
data IntersectBySym2 (l_a1Xy1 :: TyFun a6989586621679475567 (TyFun a6989586621679475567 Bool -> Type) -> Type) (l_a1Xy2 :: [a6989586621679475567]) (l_a1Xy0 :: TyFun [a6989586621679475567] [a6989586621679475567])
type IntersectBySym3 (t_a1XxX :: TyFun a6989586621679475567 (TyFun a6989586621679475567 Bool -> Type) -> Type) (t_a1XxY :: [a6989586621679475567]) (t_a1XxZ :: [a6989586621679475567]) = IntersectBy t_a1XxX t_a1XxY t_a1XxZ
data GroupBySym0 (l_a1XuU :: TyFun (TyFun a6989586621679475553 (TyFun a6989586621679475553 Bool -> Type) -> Type) (TyFun [a6989586621679475553] [[a6989586621679475553]] -> Type))
data GroupBySym1 (l_a1XuS :: TyFun a6989586621679475553 (TyFun a6989586621679475553 Bool -> Type) -> Type) (l_a1XuR :: TyFun [a6989586621679475553] [[a6989586621679475553]])
type GroupBySym2 (t_a1XuP :: TyFun a6989586621679475553 (TyFun a6989586621679475553 Bool -> Type) -> Type) (t_a1XuQ :: [a6989586621679475553]) = GroupBy t_a1XuP t_a1XuQ
data SortBySym0 (l_a1XBz :: TyFun (TyFun a6989586621679475578 (TyFun a6989586621679475578 Ordering -> Type) -> Type) (TyFun [a6989586621679475578] [a6989586621679475578] -> Type))
data SortBySym1 (l_a1XBx :: TyFun a6989586621679475578 (TyFun a6989586621679475578 Ordering -> Type) -> Type) (l_a1XBw :: TyFun [a6989586621679475578] [a6989586621679475578])
type SortBySym2 (t_a1XBu :: TyFun a6989586621679475578 (TyFun a6989586621679475578 Ordering -> Type) -> Type) (t_a1XBv :: [a6989586621679475578]) = SortBy t_a1XBu t_a1XBv
data InsertBySym0 (l_a1XAr :: TyFun (TyFun a6989586621679475577 (TyFun a6989586621679475577 Ordering -> Type) -> Type) (TyFun a6989586621679475577 (TyFun [a6989586621679475577] [a6989586621679475577] -> Type) -> Type))
data InsertBySym1 (l_a1XAp :: TyFun a6989586621679475577 (TyFun a6989586621679475577 Ordering -> Type) -> Type) (l_a1XAo :: TyFun a6989586621679475577 (TyFun [a6989586621679475577] [a6989586621679475577] -> Type))
data InsertBySym2 (l_a1XAl :: TyFun a6989586621679475577 (TyFun a6989586621679475577 Ordering -> Type) -> Type) (l_a1XAm :: a6989586621679475577) (l_a1XAk :: TyFun [a6989586621679475577] [a6989586621679475577])
type InsertBySym3 (t_a1XAh :: TyFun a6989586621679475577 (TyFun a6989586621679475577 Ordering -> Type) -> Type) (t_a1XAi :: a6989586621679475577) (t_a1XAj :: [a6989586621679475577]) = InsertBy t_a1XAh t_a1XAi t_a1XAj
data MaximumBySym0 (l_a1XZ9 :: TyFun (TyFun a6989586621679475576 (TyFun a6989586621679475576 Ordering -> Type) -> Type) (TyFun [a6989586621679475576] a6989586621679475576 -> Type))
data MaximumBySym1 (l_a1XZ7 :: TyFun a6989586621679475576 (TyFun a6989586621679475576 Ordering -> Type) -> Type) (l_a1XZ6 :: TyFun [a6989586621679475576] a6989586621679475576)
type MaximumBySym2 (t_a1XZ4 :: TyFun a6989586621679475576 (TyFun a6989586621679475576 Ordering -> Type) -> Type) (t_a1XZ5 :: [a6989586621679475576]) = MaximumBy t_a1XZ4 t_a1XZ5
data MinimumBySym0 (l_a1Y0y :: TyFun (TyFun a6989586621679475575 (TyFun a6989586621679475575 Ordering -> Type) -> Type) (TyFun [a6989586621679475575] a6989586621679475575 -> Type))
data MinimumBySym1 (l_a1Y0w :: TyFun a6989586621679475575 (TyFun a6989586621679475575 Ordering -> Type) -> Type) (l_a1Y0v :: TyFun [a6989586621679475575] a6989586621679475575)
type MinimumBySym2 (t_a1Y0t :: TyFun a6989586621679475575 (TyFun a6989586621679475575 Ordering -> Type) -> Type) (t_a1Y0u :: [a6989586621679475575]) = MinimumBy t_a1Y0t t_a1Y0u
data GenericLengthSym0 (l_a1XlA :: TyFun [a6989586621679475537] i6989586621679475536)
type GenericLengthSym1 (t_a1Xlz :: [a6989586621679475537]) = GenericLength t_a1Xlz
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.Let6989586621679479512Scrutinee_6989586621679476181Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479512Scrutinee_6989586621679476181Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479512Scrutinee_6989586621679476181Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479512Scrutinee_6989586621679476181Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679479508Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679479508Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679479508Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679479508Sym3
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.Let6989586621679479008PermsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479008PermsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479008PermsSym1
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.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.Let6989586621679478539Scrutinee_6989586621679476115Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478539Scrutinee_6989586621679476115Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478539Scrutinee_6989586621679476115Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478539Scrutinee_6989586621679476115Sym3
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.Let6989586621679478492Scrutinee_6989586621679476117Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478492Scrutinee_6989586621679476117Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478492Scrutinee_6989586621679476117Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478492Scrutinee_6989586621679476117Sym3
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.Let6989586621679478304X_6989586621679478311Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304X_6989586621679478311Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304X_6989586621679478311Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304X_6989586621679478311Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304S''Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304S''Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304S''Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304S''Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304YsSym3
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.Let6989586621679478132X_6989586621679478139Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132X_6989586621679478139Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132X_6989586621679478139Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132X_6989586621679478139Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132S'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132S'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132S'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132S'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132X_6989586621679478133Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132X_6989586621679478133Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132X_6989586621679478133Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132X_6989586621679478133Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132S''Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132S''Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132S''Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132S''Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132YSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132YSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132YSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132YSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478132YsSym3
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.IsInfixOfSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.IsInfixOfSym1
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.Let6989586621679478005Scrutinee_6989586621679476207Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478005Scrutinee_6989586621679476207Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478005Scrutinee_6989586621679476207Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478005Scrutinee_6989586621679476207Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477984Nub'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477984Nub'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477984Nub'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.:\\$)
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.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.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.Let6989586621679476769X_6989586621679476770Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476769X_6989586621679476770Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476769X_6989586621679476770Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476769YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476769YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476769YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476769ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476769ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476769ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476842X_6989586621679476843Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476842X_6989586621679476843Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476842X_6989586621679476843Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476842YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476842YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476842YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476842ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476842ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476842ZsSym2
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.Let6989586621679476667X_6989586621679476668Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476667X_6989586621679476668Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476667X_6989586621679476668Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476667YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476667YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476667YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476667ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476667ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476667ZsSym2
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.Let6989586621679476324Scrutinee_6989586621679476209Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476324Scrutinee_6989586621679476209Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476324Scrutinee_6989586621679476209Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476324Scrutinee_6989586621679476209Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476324Scrutinee_6989586621679476209Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476297NubBy'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476297NubBy'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476297NubBy'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476297NubBy'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.Let6989586621679479560Init'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479560Init'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479560Init'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479560Init'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479455RevSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479455RevSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479455RevSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479396FSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479396FSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479396FSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479396FSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479029InterleaveSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479029InterleaveSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479029InterleaveSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479029InterleaveSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479029InterleaveSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479029InterleaveSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083X_6989586621679479084Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083X_6989586621679479084Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083X_6989586621679479084Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083X_6989586621679479084Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083X_6989586621679479084Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083X_6989586621679479084Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083X_6989586621679479084Sym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083X_6989586621679479084Sym7
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083UsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083UsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083UsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083UsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083UsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083UsSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083UsSym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083UsSym7
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083ZsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083ZsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083ZsSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083ZsSym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479083ZsSym7
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479297X_6989586621679479298Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479297X_6989586621679479298Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479297X_6989586621679479298Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479297X_6989586621679479298Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479297X_6989586621679479298Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479297X_6989586621679479298Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479297ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479297ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479297ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479297ZsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479297ZsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479297ZsSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479029Interleave'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479029Interleave'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479029Interleave'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479029Interleave'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479029Interleave'Sym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479029Interleave'Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679479029Interleave'Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478922LgoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478922LgoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478922LgoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478922LgoSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478922LgoSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478954Z'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478954Z'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478954Z'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478954Z'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478954Z'Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478954Z'Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478896XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478896XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478882XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478882XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478817MinBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478817MinBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478817MinBySym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478817MinBySym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478817MinBySym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478847Scrutinee_6989586621679476159Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478847Scrutinee_6989586621679476159Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478847Scrutinee_6989586621679476159Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478847Scrutinee_6989586621679476159Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478847Scrutinee_6989586621679476159Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478804XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478804XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478804XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478730MaxBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478730MaxBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478730MaxBySym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478730MaxBySym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478730MaxBySym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478760Scrutinee_6989586621679476153Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478760Scrutinee_6989586621679476153Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478760Scrutinee_6989586621679476153Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478760Scrutinee_6989586621679476153Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478760Scrutinee_6989586621679476153Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478717XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478717XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478717XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478665XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478665XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478665XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478665XsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478473XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478473XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478473XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478473XsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304X_6989586621679478305Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304X_6989586621679478305Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304X_6989586621679478305Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304X_6989586621679478305Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304S'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304S'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304S'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304S'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304YSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304YSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304YSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478304YSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478096Scrutinee_6989586621679476123Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679478096Scrutinee_6989586621679476123Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477887Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477887Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477887Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477858BuildListSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477858BuildListSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477858BuildListSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477858BuildListSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477577Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477577Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477577Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477545Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477545Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477545Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477511Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477511Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477511Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477475Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477475Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477475Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477437Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477437Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477437Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477397Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477397Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477397Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477285Scrutinee_6989586621679476149Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477285Scrutinee_6989586621679476149Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477285Scrutinee_6989586621679476149Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477285Scrutinee_6989586621679476149Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477207Scrutinee_6989586621679476151Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477207Scrutinee_6989586621679476151Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477207Scrutinee_6989586621679476151Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477207Scrutinee_6989586621679476151Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477188YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477188YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477188YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477188YsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477113Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477113Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477113Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477113Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477113Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679477113Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477062YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477062YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477062YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477062YsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477062YsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477062XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477062XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477062XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477062XsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679477062XsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476992Scrutinee_6989586621679476165Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476992Scrutinee_6989586621679476165Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476992Scrutinee_6989586621679476165Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476963Scrutinee_6989586621679476177Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476963Scrutinee_6989586621679476177Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476963Scrutinee_6989586621679476177Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476932Scrutinee_6989586621679476179Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476932Scrutinee_6989586621679476179Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476932Scrutinee_6989586621679476179Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476919XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476919XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476919XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476754Scrutinee_6989586621679476183Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476754Scrutinee_6989586621679476183Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476754Scrutinee_6989586621679476183Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476741XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476741XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476741XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476652Scrutinee_6989586621679476185Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476652Scrutinee_6989586621679476185Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476652Scrutinee_6989586621679476185Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476639XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476639XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476639XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476596Scrutinee_6989586621679476187Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476596Scrutinee_6989586621679476187Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476596Scrutinee_6989586621679476187Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476565Scrutinee_6989586621679476189Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476565Scrutinee_6989586621679476189Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476565Scrutinee_6989586621679476189Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476528Scrutinee_6989586621679476199Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476528Scrutinee_6989586621679476199Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476528Scrutinee_6989586621679476199Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476528Scrutinee_6989586621679476199Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476481Scrutinee_6989586621679476201Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476481Scrutinee_6989586621679476201Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476481Scrutinee_6989586621679476201Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476481Scrutinee_6989586621679476201Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476443Sum'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476443Sum'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476443Sum'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476419ProdSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476419ProdSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476419ProdSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476395Scrutinee_6989586621679476203Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476395Scrutinee_6989586621679476203Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476368Scrutinee_6989586621679476205Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476368Scrutinee_6989586621679476205Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476368Scrutinee_6989586621679476205Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Any_Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Any_Sym0


-- | 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_ahd9 -> Type)
sMap :: forall (t_a37MO :: TyFun a_a37tE b_a37tF -> Type) (t_a37MP :: NonEmpty a_a37tE). Sing t_a37MO -> Sing t_a37MP -> Sing (Apply (Apply MapSym0 t_a37MO) t_a37MP :: NonEmpty b_a37tF)
sIntersperse :: forall (t_a37MM :: a_a37tu) (t_a37MN :: NonEmpty a_a37tu). Sing t_a37MM -> Sing t_a37MN -> Sing (Apply (Apply IntersperseSym0 t_a37MM) t_a37MN :: NonEmpty a_a37tu)
sScanl :: forall (t_a37Nn :: TyFun b_a37tz (TyFun a_a37tA b_a37tz -> Type) -> Type) (t_a37No :: b_a37tz) (t_a37Np :: [a_a37tA]). Sing t_a37Nn -> Sing t_a37No -> Sing t_a37Np -> Sing (Apply (Apply (Apply ScanlSym0 t_a37Nn) t_a37No) t_a37Np :: NonEmpty b_a37tz)
sScanr :: forall (t_a37Nq :: TyFun a_a37tx (TyFun b_a37ty b_a37ty -> Type) -> Type) (t_a37Nr :: b_a37ty) (t_a37Ns :: [a_a37tx]). Sing t_a37Nq -> Sing t_a37Nr -> Sing t_a37Ns -> Sing (Apply (Apply (Apply ScanrSym0 t_a37Nq) t_a37Nr) t_a37Ns :: NonEmpty b_a37ty)
sScanl1 :: forall (t_a37Nt :: TyFun a_a37tw (TyFun a_a37tw a_a37tw -> Type) -> Type) (t_a37Nu :: NonEmpty a_a37tw). Sing t_a37Nt -> Sing t_a37Nu -> Sing (Apply (Apply Scanl1Sym0 t_a37Nt) t_a37Nu :: NonEmpty a_a37tw)
sScanr1 :: forall (t_a37Nv :: TyFun a_a37tv (TyFun a_a37tv a_a37tv -> Type) -> Type) (t_a37Nw :: NonEmpty a_a37tv). Sing t_a37Nv -> Sing t_a37Nw -> Sing (Apply (Apply Scanr1Sym0 t_a37Nv) t_a37Nw :: NonEmpty a_a37tv)
sTranspose :: forall (t_a37NQ :: NonEmpty (NonEmpty a_a37sW)). Sing t_a37NQ -> Sing (Apply TransposeSym0 t_a37NQ :: NonEmpty (NonEmpty a_a37sW))
sSortBy :: forall (t_a37Nd :: TyFun a_a37sV (TyFun a_a37sV Ordering -> Type) -> Type) (t_a37Ne :: NonEmpty a_a37sV). Sing t_a37Nd -> Sing t_a37Ne -> Sing (Apply (Apply SortBySym0 t_a37Nd) t_a37Ne :: NonEmpty a_a37sV)
sSortWith :: forall (t_a37Nf :: TyFun a_a37sU o_a37sT -> Type) (t_a37Ng :: NonEmpty a_a37sU). SOrd o_a37sT => Sing t_a37Nf -> Sing t_a37Ng -> Sing (Apply (Apply SortWithSym0 t_a37Nf) t_a37Ng :: NonEmpty a_a37sU)
sLength :: forall (t_a37NN :: NonEmpty a_a37tX). Sing t_a37NN -> Sing (Apply LengthSym0 t_a37NN :: Nat)
sHead :: forall (t_a37NF :: NonEmpty a_a37tQ). Sing t_a37NF -> Sing (Apply HeadSym0 t_a37NF :: a_a37tQ)
sTail :: forall (t_a37NE :: NonEmpty a_a37tP). Sing t_a37NE -> Sing (Apply TailSym0 t_a37NE :: [a_a37tP])
sLast :: forall (t_a37ND :: NonEmpty a_a37tO). Sing t_a37ND -> Sing (Apply LastSym0 t_a37ND :: a_a37tO)
sInit :: forall (t_a37NC :: NonEmpty a_a37tN). Sing t_a37NC -> Sing (Apply InitSym0 t_a37NC :: [a_a37tN])
(%:<|) :: forall (t_a37Ny :: a_a37tM) (t_a37Nz :: NonEmpty a_a37tM). Sing t_a37Ny -> Sing t_a37Nz -> Sing (Apply (Apply (:<|$) t_a37Ny) t_a37Nz :: NonEmpty a_a37tM)
sCons :: forall (t_a37NA :: a_a37tL) (t_a37NB :: NonEmpty a_a37tL). Sing t_a37NA -> Sing t_a37NB -> Sing (Apply (Apply ConsSym0 t_a37NA) t_a37NB :: NonEmpty a_a37tL)
sUncons :: forall (t_a37NJ :: NonEmpty a_a37tT). Sing t_a37NJ -> Sing (Apply UnconsSym0 t_a37NJ :: (a_a37tT, Maybe (NonEmpty a_a37tT)))
sUnfoldr :: forall (t_a37NG :: TyFun a_a37tR (b_a37tS, Maybe a_a37tR) -> Type) (t_a37NH :: a_a37tR). Sing t_a37NG -> Sing t_a37NH -> Sing (Apply (Apply UnfoldrSym0 t_a37NG) t_a37NH :: NonEmpty b_a37tS)
sSort :: forall (t_a37Nx :: NonEmpty a_a37tK). SOrd a_a37tK => Sing t_a37Nx -> Sing (Apply SortSym0 t_a37Nx :: NonEmpty a_a37tK)
sReverse :: forall (t_a37Nc :: NonEmpty a_a37tt). Sing t_a37Nc -> Sing (Apply ReverseSym0 t_a37Nc :: NonEmpty a_a37tt)
sInits :: forall (t_a37Nj :: [a_a37tD]). Sing t_a37Nj -> Sing (Apply InitsSym0 t_a37Nj :: NonEmpty [a_a37tD])
sTails :: forall (t_a37Nk :: [a_a37tC]). Sing t_a37Nk -> Sing (Apply TailsSym0 t_a37Nk :: NonEmpty [a_a37tC])
sUnfold :: forall (t_a37NK :: TyFun a_a37tV (b_a37tW, Maybe a_a37tV) -> Type) (t_a37NL :: a_a37tV). Sing t_a37NK -> Sing t_a37NL -> Sing (Apply (Apply UnfoldSym0 t_a37NK) t_a37NL :: NonEmpty b_a37tW)
sInsert :: forall (t_a37Nl :: a_a37tB) (t_a37Nm :: [a_a37tB]). SOrd a_a37tB => Sing t_a37Nl -> Sing t_a37Nm -> Sing (Apply (Apply InsertSym0 t_a37Nl) t_a37Nm :: NonEmpty a_a37tB)
sTake :: forall (t_a37MR :: Nat) (t_a37MS :: NonEmpty a_a37ts). Sing t_a37MR -> Sing t_a37MS -> Sing (Apply (Apply TakeSym0 t_a37MR) t_a37MS :: [a_a37ts])
sDrop :: forall (t_a37MT :: Nat) (t_a37MU :: NonEmpty a_a37tr). Sing t_a37MT -> Sing t_a37MU -> Sing (Apply (Apply DropSym0 t_a37MT) t_a37MU :: [a_a37tr])
sSplitAt :: forall (t_a37MV :: Nat) (t_a37MW :: NonEmpty a_a37tq). Sing t_a37MV -> Sing t_a37MW -> Sing (Apply (Apply SplitAtSym0 t_a37MV) t_a37MW :: ([a_a37tq], [a_a37tq]))
sTakeWhile :: forall (t_a37MX :: TyFun a_a37tp Bool -> Type) (t_a37MY :: NonEmpty a_a37tp). Sing t_a37MX -> Sing t_a37MY -> Sing (Apply (Apply TakeWhileSym0 t_a37MX) t_a37MY :: [a_a37tp])
sDropWhile :: forall (t_a37MZ :: TyFun a_a37to Bool -> Type) (t_a37N0 :: NonEmpty a_a37to). Sing t_a37MZ -> Sing t_a37N0 -> Sing (Apply (Apply DropWhileSym0 t_a37MZ) t_a37N0 :: [a_a37to])
sSpan :: forall (t_a37N1 :: TyFun a_a37tn Bool -> Type) (t_a37N2 :: NonEmpty a_a37tn). Sing t_a37N1 -> Sing t_a37N2 -> Sing (Apply (Apply SpanSym0 t_a37N1) t_a37N2 :: ([a_a37tn], [a_a37tn]))
sBreak :: forall (t_a37N3 :: TyFun a_a37tm Bool -> Type) (t_a37N4 :: NonEmpty a_a37tm). Sing t_a37N3 -> Sing t_a37N4 -> Sing (Apply (Apply BreakSym0 t_a37N3) t_a37N4 :: ([a_a37tm], [a_a37tm]))
sFilter :: forall (t_a37N5 :: TyFun a_a37tl Bool -> Type) (t_a37N6 :: NonEmpty a_a37tl). Sing t_a37N5 -> Sing t_a37N6 -> Sing (Apply (Apply FilterSym0 t_a37N5) t_a37N6 :: [a_a37tl])
sPartition :: forall (t_a37N7 :: TyFun a_a37tk Bool -> Type) (t_a37N8 :: NonEmpty a_a37tk). Sing t_a37N7 -> Sing t_a37N8 -> Sing (Apply (Apply PartitionSym0 t_a37N7) t_a37N8 :: ([a_a37tk], [a_a37tk]))
sGroup :: forall (t_a37ML :: [a_a37tj]). SEq a_a37tj => Sing t_a37ML -> Sing (Apply GroupSym0 t_a37ML :: [NonEmpty a_a37tj])
sGroupBy :: forall (t_a37MA :: TyFun a_a37ti (TyFun a_a37ti Bool -> Type) -> Type) (t_a37MB :: [a_a37ti]). Sing t_a37MA -> Sing t_a37MB -> Sing (Apply (Apply GroupBySym0 t_a37MA) t_a37MB :: [NonEmpty a_a37ti])
sGroupWith :: forall (t_a37MC :: TyFun a_a37th b_a37tg -> Type) (t_a37MD :: [a_a37th]). SEq b_a37tg => Sing t_a37MC -> Sing t_a37MD -> Sing (Apply (Apply GroupWithSym0 t_a37MC) t_a37MD :: [NonEmpty a_a37th])
sGroupAllWith :: forall (t_a37ME :: TyFun a_a37tf b_a37te -> Type) (t_a37MF :: [a_a37tf]). SOrd b_a37te => Sing t_a37ME -> Sing t_a37MF -> Sing (Apply (Apply GroupAllWithSym0 t_a37ME) t_a37MF :: [NonEmpty a_a37tf])
sGroup1 :: forall (t_a37MI :: NonEmpty a_a37td). SEq a_a37td => Sing t_a37MI -> Sing (Apply Group1Sym0 t_a37MI :: NonEmpty (NonEmpty a_a37td))
sGroupBy1 :: forall (t_a37MG :: TyFun a_a37tc (TyFun a_a37tc Bool -> Type) -> Type) (t_a37MH :: NonEmpty a_a37tc). Sing t_a37MG -> Sing t_a37MH -> Sing (Apply (Apply GroupBy1Sym0 t_a37MG) t_a37MH :: NonEmpty (NonEmpty a_a37tc))
sGroupWith1 :: forall (t_a37MJ :: TyFun a_a37tb b_a37ta -> Type) (t_a37MK :: NonEmpty a_a37tb). SEq b_a37ta => Sing t_a37MJ -> Sing t_a37MK -> Sing (Apply (Apply GroupWith1Sym0 t_a37MJ) t_a37MK :: NonEmpty (NonEmpty a_a37tb))
sGroupAllWith1 :: forall (t_a37Nh :: TyFun a_a37t9 b_a37t8 -> Type) (t_a37Ni :: NonEmpty a_a37t9). SOrd b_a37t8 => Sing t_a37Nh -> Sing t_a37Ni -> Sing (Apply (Apply GroupAllWith1Sym0 t_a37Nh) t_a37Ni :: NonEmpty (NonEmpty a_a37t9))
sIsPrefixOf :: forall (t_a37My :: [a_a37t7]) (t_a37Mz :: NonEmpty a_a37t7). SEq a_a37t7 => Sing t_a37My -> Sing t_a37Mz -> Sing (Apply (Apply IsPrefixOfSym0 t_a37My) t_a37Mz :: Bool)
sNub :: forall (t_a37Mp :: NonEmpty a_a37sY). SEq a_a37sY => Sing t_a37Mp -> Sing (Apply NubSym0 t_a37Mp :: NonEmpty a_a37sY)
sNubBy :: forall (t_a37Mn :: TyFun a_a37sX (TyFun a_a37sX Bool -> Type) -> Type) (t_a37Mo :: NonEmpty a_a37sX). Sing t_a37Mn -> Sing t_a37Mo -> Sing (Apply (Apply NubBySym0 t_a37Mn) t_a37Mo :: NonEmpty a_a37sX)
(%:!!) :: forall (t_a37Mw :: NonEmpty a_a37t6) (t_a37Mx :: Nat). Sing t_a37Mw -> Sing t_a37Mx -> Sing (Apply (Apply (:!!$) t_a37Mw) t_a37Mx :: a_a37t6)
sZip :: forall (t_a37Mu :: NonEmpty a_a37t4) (t_a37Mv :: NonEmpty b_a37t5). Sing t_a37Mu -> Sing t_a37Mv -> Sing (Apply (Apply ZipSym0 t_a37Mu) t_a37Mv :: NonEmpty (a_a37t4, b_a37t5))
sZipWith :: forall (t_a37Mr :: TyFun a_a37t1 (TyFun b_a37t2 c_a37t3 -> Type) -> Type) (t_a37Ms :: NonEmpty a_a37t1) (t_a37Mt :: NonEmpty b_a37t2). Sing t_a37Mr -> Sing t_a37Ms -> Sing t_a37Mt -> Sing (Apply (Apply (Apply ZipWithSym0 t_a37Mr) t_a37Ms) t_a37Mt :: NonEmpty c_a37t3)
sUnzip :: forall (t_a37Mq :: NonEmpty (a_a37sZ, b_a37t0)). Sing t_a37Mq -> Sing (Apply UnzipSym0 t_a37Mq :: (NonEmpty a_a37sZ, NonEmpty b_a37t0))
sFromList :: forall (t_a37N9 :: [a_a37tJ]). Sing t_a37N9 -> Sing (Apply FromListSym0 t_a37N9 :: NonEmpty a_a37tJ)
sToList :: forall (t_a37MQ :: NonEmpty a_a37tI). Sing t_a37MQ -> Sing (Apply ToListSym0 t_a37MQ :: [a_a37tI])
sNonEmpty_ :: forall (t_a37NI :: [a_a37tU]). Sing t_a37NI -> Sing (Apply NonEmpty_Sym0 t_a37NI :: Maybe (NonEmpty a_a37tU))
sXor :: forall (t_a37NM :: NonEmpty Bool). Sing t_a37NM -> Sing (Apply XorSym0 t_a37NM :: Bool)
data (:|$) (l_aY6X :: TyFun a6989586621679075955 (TyFun [a6989586621679075955] (NonEmpty a6989586621679075955) -> Type))
data (:|$$) (l_aY6V :: a6989586621679075955) (l_aY6U :: TyFun [a6989586621679075955] (NonEmpty a6989586621679075955))
type (:|$$$) (t_aY6S :: a6989586621679075955) (t_aY6T :: [a6989586621679075955]) = (:|) t_aY6S t_aY6T
data MapSym0 (l_a37Ej :: TyFun (TyFun a6989586621679753522 b6989586621679753523 -> Type) (TyFun (NonEmpty a6989586621679753522) (NonEmpty b6989586621679753523) -> Type))
data MapSym1 (l_a37Eh :: TyFun a6989586621679753522 b6989586621679753523 -> Type) (l_a37Eg :: TyFun (NonEmpty a6989586621679753522) (NonEmpty b6989586621679753523))
type MapSym2 (t_a37Ee :: TyFun a6989586621679753522 b6989586621679753523 -> Type) (t_a37Ef :: NonEmpty a6989586621679753522) = Map t_a37Ee t_a37Ef
data IntersperseSym0 (l_a37DY :: TyFun a6989586621679753512 (TyFun (NonEmpty a6989586621679753512) (NonEmpty a6989586621679753512) -> Type))
data IntersperseSym1 (l_a37DW :: a6989586621679753512) (l_a37DV :: TyFun (NonEmpty a6989586621679753512) (NonEmpty a6989586621679753512))
type IntersperseSym2 (t_a37DT :: a6989586621679753512) (t_a37DU :: NonEmpty a6989586621679753512) = Intersperse t_a37DT t_a37DU
data ScanlSym0 (l_a37I5 :: TyFun (TyFun b6989586621679753517 (TyFun a6989586621679753518 b6989586621679753517 -> Type) -> Type) (TyFun b6989586621679753517 (TyFun [a6989586621679753518] (NonEmpty b6989586621679753517) -> Type) -> Type))
data ScanlSym1 (l_a37I3 :: TyFun b6989586621679753517 (TyFun a6989586621679753518 b6989586621679753517 -> Type) -> Type) (l_a37I2 :: TyFun b6989586621679753517 (TyFun [a6989586621679753518] (NonEmpty b6989586621679753517) -> Type))
data ScanlSym2 (l_a37HZ :: TyFun b6989586621679753517 (TyFun a6989586621679753518 b6989586621679753517 -> Type) -> Type) (l_a37I0 :: b6989586621679753517) (l_a37HY :: TyFun [a6989586621679753518] (NonEmpty b6989586621679753517))
type ScanlSym3 (t_a37HV :: TyFun b6989586621679753517 (TyFun a6989586621679753518 b6989586621679753517 -> Type) -> Type) (t_a37HW :: b6989586621679753517) (t_a37HX :: [a6989586621679753518]) = Scanl t_a37HV t_a37HW t_a37HX
data ScanrSym0 (l_a37Ip :: TyFun (TyFun a6989586621679753515 (TyFun b6989586621679753516 b6989586621679753516 -> Type) -> Type) (TyFun b6989586621679753516 (TyFun [a6989586621679753515] (NonEmpty b6989586621679753516) -> Type) -> Type))
data ScanrSym1 (l_a37In :: TyFun a6989586621679753515 (TyFun b6989586621679753516 b6989586621679753516 -> Type) -> Type) (l_a37Im :: TyFun b6989586621679753516 (TyFun [a6989586621679753515] (NonEmpty b6989586621679753516) -> Type))
data ScanrSym2 (l_a37Ij :: TyFun a6989586621679753515 (TyFun b6989586621679753516 b6989586621679753516 -> Type) -> Type) (l_a37Ik :: b6989586621679753516) (l_a37Ii :: TyFun [a6989586621679753515] (NonEmpty b6989586621679753516))
type ScanrSym3 (t_a37If :: TyFun a6989586621679753515 (TyFun b6989586621679753516 b6989586621679753516 -> Type) -> Type) (t_a37Ig :: b6989586621679753516) (t_a37Ih :: [a6989586621679753515]) = Scanr t_a37If t_a37Ig t_a37Ih
data Scanl1Sym0 (l_a37IE :: TyFun (TyFun a6989586621679753514 (TyFun a6989586621679753514 a6989586621679753514 -> Type) -> Type) (TyFun (NonEmpty a6989586621679753514) (NonEmpty a6989586621679753514) -> Type))
data Scanl1Sym1 (l_a37IC :: TyFun a6989586621679753514 (TyFun a6989586621679753514 a6989586621679753514 -> Type) -> Type) (l_a37IB :: TyFun (NonEmpty a6989586621679753514) (NonEmpty a6989586621679753514))
type Scanl1Sym2 (t_a37Iz :: TyFun a6989586621679753514 (TyFun a6989586621679753514 a6989586621679753514 -> Type) -> Type) (t_a37IA :: NonEmpty a6989586621679753514) = Scanl1 t_a37Iz t_a37IA
data Scanr1Sym0 (l_a37IQ :: TyFun (TyFun a6989586621679753513 (TyFun a6989586621679753513 a6989586621679753513 -> Type) -> Type) (TyFun (NonEmpty a6989586621679753513) (NonEmpty a6989586621679753513) -> Type))
data Scanr1Sym1 (l_a37IO :: TyFun a6989586621679753513 (TyFun a6989586621679753513 a6989586621679753513 -> Type) -> Type) (l_a37IN :: TyFun (NonEmpty a6989586621679753513) (NonEmpty a6989586621679753513))
type Scanr1Sym2 (t_a37IL :: TyFun a6989586621679753513 (TyFun a6989586621679753513 a6989586621679753513 -> Type) -> Type) (t_a37IM :: NonEmpty a6989586621679753513) = Scanr1 t_a37IL t_a37IM
data TransposeSym0 (l_a37Mj :: TyFun (NonEmpty (NonEmpty a6989586621679753478)) (NonEmpty (NonEmpty a6989586621679753478)))
type TransposeSym1 (t_a37Mi :: NonEmpty (NonEmpty a6989586621679753478)) = Transpose t_a37Mi
data SortBySym0 (l_a37GU :: TyFun (TyFun a6989586621679753477 (TyFun a6989586621679753477 Ordering -> Type) -> Type) (TyFun (NonEmpty a6989586621679753477) (NonEmpty a6989586621679753477) -> Type))
data SortBySym1 (l_a37GS :: TyFun a6989586621679753477 (TyFun a6989586621679753477 Ordering -> Type) -> Type) (l_a37GR :: TyFun (NonEmpty a6989586621679753477) (NonEmpty a6989586621679753477))
type SortBySym2 (t_a37GP :: TyFun a6989586621679753477 (TyFun a6989586621679753477 Ordering -> Type) -> Type) (t_a37GQ :: NonEmpty a6989586621679753477) = SortBy t_a37GP t_a37GQ
data SortWithSym0 (l_a37Hb :: TyFun (TyFun a6989586621679753476 o6989586621679753475 -> Type) (TyFun (NonEmpty a6989586621679753476) (NonEmpty a6989586621679753476) -> Type))
data SortWithSym1 (l_a37H9 :: TyFun a6989586621679753476 o6989586621679753475 -> Type) (l_a37H8 :: TyFun (NonEmpty a6989586621679753476) (NonEmpty a6989586621679753476))
type SortWithSym2 (t_a37H6 :: TyFun a6989586621679753476 o6989586621679753475 -> Type) (t_a37H7 :: NonEmpty a6989586621679753476) = SortWith t_a37H6 t_a37H7
data LengthSym0 (l_a37LX :: TyFun (NonEmpty a6989586621679753541) Nat)
type LengthSym1 (t_a37LW :: NonEmpty a6989586621679753541) = Length t_a37LW
data HeadSym0 (l_a37JQ :: TyFun (NonEmpty a6989586621679753534) a6989586621679753534)
type HeadSym1 (t_a37JP :: NonEmpty a6989586621679753534) = Head t_a37JP
data TailSym0 (l_a37JI :: TyFun (NonEmpty a6989586621679753533) [a6989586621679753533])
type TailSym1 (t_a37JH :: NonEmpty a6989586621679753533) = Tail t_a37JH
data LastSym0 (l_a37JC :: TyFun (NonEmpty a6989586621679753532) a6989586621679753532)
type LastSym1 (t_a37JB :: NonEmpty a6989586621679753532) = Last t_a37JB
data InitSym0 (l_a37Jw :: TyFun (NonEmpty a6989586621679753531) [a6989586621679753531])
type InitSym1 (t_a37Jv :: NonEmpty a6989586621679753531) = Init t_a37Jv
data (:<|$) (l_a37J9 :: TyFun a6989586621679753530 (TyFun (NonEmpty a6989586621679753530) (NonEmpty a6989586621679753530) -> Type))
data (:<|$$) (l_a37J7 :: a6989586621679753530) (l_a37J6 :: TyFun (NonEmpty a6989586621679753530) (NonEmpty a6989586621679753530))
type (:<|$$$) (t_a37J4 :: a6989586621679753530) (t_a37J5 :: NonEmpty a6989586621679753530) = (:<|) t_a37J4 t_a37J5
data ConsSym0 (l_a37Jp :: TyFun a6989586621679753529 (TyFun (NonEmpty a6989586621679753529) (NonEmpty a6989586621679753529) -> Type))
data ConsSym1 (l_a37Jn :: a6989586621679753529) (l_a37Jm :: TyFun (NonEmpty a6989586621679753529) (NonEmpty a6989586621679753529))
type ConsSym2 (t_a37Jk :: a6989586621679753529) (t_a37Jl :: NonEmpty a6989586621679753529) = Cons t_a37Jk t_a37Jl
data UnconsSym0 (l_a37KZ :: TyFun (NonEmpty a6989586621679753537) (a6989586621679753537, Maybe (NonEmpty a6989586621679753537)))
type UnconsSym1 (t_a37KY :: NonEmpty a6989586621679753537) = Uncons t_a37KY
data UnfoldrSym0 (l_a37K2 :: TyFun (TyFun a6989586621679753535 (b6989586621679753536, Maybe a6989586621679753535) -> Type) (TyFun a6989586621679753535 (NonEmpty b6989586621679753536) -> Type))
data UnfoldrSym1 (l_a37K0 :: TyFun a6989586621679753535 (b6989586621679753536, Maybe a6989586621679753535) -> Type) (l_a37JZ :: TyFun a6989586621679753535 (NonEmpty b6989586621679753536))
type UnfoldrSym2 (t_a37JX :: TyFun a6989586621679753535 (b6989586621679753536, Maybe a6989586621679753535) -> Type) (t_a37JY :: a6989586621679753535) = Unfoldr t_a37JX t_a37JY
data SortSym0 (l_a37J0 :: TyFun (NonEmpty a6989586621679753528) (NonEmpty a6989586621679753528))
type SortSym1 (t_a37IZ :: NonEmpty a6989586621679753528) = Sort t_a37IZ
data ReverseSym0 (l_a37GL :: TyFun (NonEmpty a6989586621679753511) (NonEmpty a6989586621679753511))
type ReverseSym1 (t_a37GK :: NonEmpty a6989586621679753511) = Reverse t_a37GK
data InitsSym0 (l_a37Hx :: TyFun [a6989586621679753521] (NonEmpty [a6989586621679753521]))
type InitsSym1 (t_a37Hw :: [a6989586621679753521]) = Inits t_a37Hw
data TailsSym0 (l_a37HE :: TyFun [a6989586621679753520] (NonEmpty [a6989586621679753520]))
type TailsSym1 (t_a37HD :: [a6989586621679753520]) = Tails t_a37HD
data UnfoldSym0 (l_a37L9 :: TyFun (TyFun a6989586621679753539 (b6989586621679753540, Maybe a6989586621679753539) -> Type) (TyFun a6989586621679753539 (NonEmpty b6989586621679753540) -> Type))
data UnfoldSym1 (l_a37L7 :: TyFun a6989586621679753539 (b6989586621679753540, Maybe a6989586621679753539) -> Type) (l_a37L6 :: TyFun a6989586621679753539 (NonEmpty b6989586621679753540))
data InsertSym0 (l_a37HN :: TyFun a6989586621679753519 (TyFun [a6989586621679753519] (NonEmpty a6989586621679753519) -> Type))
data InsertSym1 (l_a37HL :: a6989586621679753519) (l_a37HK :: TyFun [a6989586621679753519] (NonEmpty a6989586621679753519))
type InsertSym2 (t_a37HI :: a6989586621679753519) (t_a37HJ :: [a6989586621679753519]) = Insert t_a37HI t_a37HJ
data TakeSym0 (l_a37EB :: TyFun Nat (TyFun (NonEmpty a6989586621679753510) [a6989586621679753510] -> Type))
data TakeSym1 (l_a37Ez :: Nat) (l_a37Ey :: TyFun (NonEmpty a6989586621679753510) [a6989586621679753510])
type TakeSym2 (t_a37Ew :: Nat) (t_a37Ex :: NonEmpty a6989586621679753510) = Take t_a37Ew t_a37Ex
data DropSym0 (l_a37EO :: TyFun Nat (TyFun (NonEmpty a6989586621679753509) [a6989586621679753509] -> Type))
data DropSym1 (l_a37EM :: Nat) (l_a37EL :: TyFun (NonEmpty a6989586621679753509) [a6989586621679753509])
type DropSym2 (t_a37EJ :: Nat) (t_a37EK :: NonEmpty a6989586621679753509) = Drop t_a37EJ t_a37EK
data SplitAtSym0 (l_a37F1 :: TyFun Nat (TyFun (NonEmpty a6989586621679753508) ([a6989586621679753508], [a6989586621679753508]) -> Type))
data SplitAtSym1 (l_a37EZ :: Nat) (l_a37EY :: TyFun (NonEmpty a6989586621679753508) ([a6989586621679753508], [a6989586621679753508]))
type SplitAtSym2 (t_a37EW :: Nat) (t_a37EX :: NonEmpty a6989586621679753508) = SplitAt t_a37EW t_a37EX
data TakeWhileSym0 (l_a37Fe :: TyFun (TyFun a6989586621679753507 Bool -> Type) (TyFun (NonEmpty a6989586621679753507) [a6989586621679753507] -> Type))
data TakeWhileSym1 (l_a37Fc :: TyFun a6989586621679753507 Bool -> Type) (l_a37Fb :: TyFun (NonEmpty a6989586621679753507) [a6989586621679753507])
type TakeWhileSym2 (t_a37F9 :: TyFun a6989586621679753507 Bool -> Type) (t_a37Fa :: NonEmpty a6989586621679753507) = TakeWhile t_a37F9 t_a37Fa
data DropWhileSym0 (l_a37Fr :: TyFun (TyFun a6989586621679753506 Bool -> Type) (TyFun (NonEmpty a6989586621679753506) [a6989586621679753506] -> Type))
data DropWhileSym1 (l_a37Fp :: TyFun a6989586621679753506 Bool -> Type) (l_a37Fo :: TyFun (NonEmpty a6989586621679753506) [a6989586621679753506])
type DropWhileSym2 (t_a37Fm :: TyFun a6989586621679753506 Bool -> Type) (t_a37Fn :: NonEmpty a6989586621679753506) = DropWhile t_a37Fm t_a37Fn
data SpanSym0 (l_a37FE :: TyFun (TyFun a6989586621679753505 Bool -> Type) (TyFun (NonEmpty a6989586621679753505) ([a6989586621679753505], [a6989586621679753505]) -> Type))
data SpanSym1 (l_a37FC :: TyFun a6989586621679753505 Bool -> Type) (l_a37FB :: TyFun (NonEmpty a6989586621679753505) ([a6989586621679753505], [a6989586621679753505]))
type SpanSym2 (t_a37Fz :: TyFun a6989586621679753505 Bool -> Type) (t_a37FA :: NonEmpty a6989586621679753505) = Span t_a37Fz t_a37FA
data BreakSym0 (l_a37FR :: TyFun (TyFun a6989586621679753504 Bool -> Type) (TyFun (NonEmpty a6989586621679753504) ([a6989586621679753504], [a6989586621679753504]) -> Type))
data BreakSym1 (l_a37FP :: TyFun a6989586621679753504 Bool -> Type) (l_a37FO :: TyFun (NonEmpty a6989586621679753504) ([a6989586621679753504], [a6989586621679753504]))
type BreakSym2 (t_a37FM :: TyFun a6989586621679753504 Bool -> Type) (t_a37FN :: NonEmpty a6989586621679753504) = Break t_a37FM t_a37FN
data FilterSym0 (l_a37G4 :: TyFun (TyFun a6989586621679753503 Bool -> Type) (TyFun (NonEmpty a6989586621679753503) [a6989586621679753503] -> Type))
data FilterSym1 (l_a37G2 :: TyFun a6989586621679753503 Bool -> Type) (l_a37G1 :: TyFun (NonEmpty a6989586621679753503) [a6989586621679753503])
type FilterSym2 (t_a37FZ :: TyFun a6989586621679753503 Bool -> Type) (t_a37G0 :: NonEmpty a6989586621679753503) = Filter t_a37FZ t_a37G0
data PartitionSym0 (l_a37Gh :: TyFun (TyFun a6989586621679753502 Bool -> Type) (TyFun (NonEmpty a6989586621679753502) ([a6989586621679753502], [a6989586621679753502]) -> Type))
data PartitionSym1 (l_a37Gf :: TyFun a6989586621679753502 Bool -> Type) (l_a37Ge :: TyFun (NonEmpty a6989586621679753502) ([a6989586621679753502], [a6989586621679753502]))
type PartitionSym2 (t_a37Gc :: TyFun a6989586621679753502 Bool -> Type) (t_a37Gd :: NonEmpty a6989586621679753502) = Partition t_a37Gc t_a37Gd
data GroupSym0 (l_a37DP :: TyFun [a6989586621679753501] [NonEmpty a6989586621679753501])
type GroupSym1 (t_a37DO :: [a6989586621679753501]) = Group t_a37DO
data GroupBySym0 (l_a37zO :: TyFun (TyFun a6989586621679753500 (TyFun a6989586621679753500 Bool -> Type) -> Type) (TyFun [a6989586621679753500] [NonEmpty a6989586621679753500] -> Type))
data GroupBySym1 (l_a37zM :: TyFun a6989586621679753500 (TyFun a6989586621679753500 Bool -> Type) -> Type) (l_a37zL :: TyFun [a6989586621679753500] [NonEmpty a6989586621679753500])
type GroupBySym2 (t_a37zJ :: TyFun a6989586621679753500 (TyFun a6989586621679753500 Bool -> Type) -> Type) (t_a37zK :: [a6989586621679753500]) = GroupBy t_a37zJ t_a37zK
data GroupWithSym0 (l_a37C0 :: TyFun (TyFun a6989586621679753499 b6989586621679753498 -> Type) (TyFun [a6989586621679753499] [NonEmpty a6989586621679753499] -> Type))
data GroupWithSym1 (l_a37BY :: TyFun a6989586621679753499 b6989586621679753498 -> Type) (l_a37BX :: TyFun [a6989586621679753499] [NonEmpty a6989586621679753499])
type GroupWithSym2 (t_a37BV :: TyFun a6989586621679753499 b6989586621679753498 -> Type) (t_a37BW :: [a6989586621679753499]) = GroupWith t_a37BV t_a37BW
data GroupAllWithSym0 (l_a37Cd :: TyFun (TyFun a6989586621679753497 b6989586621679753496 -> Type) (TyFun [a6989586621679753497] [NonEmpty a6989586621679753497] -> Type))
data GroupAllWithSym1 (l_a37Cb :: TyFun a6989586621679753497 b6989586621679753496 -> Type) (l_a37Ca :: TyFun [a6989586621679753497] [NonEmpty a6989586621679753497])
type GroupAllWithSym2 (t_a37C8 :: TyFun a6989586621679753497 b6989586621679753496 -> Type) (t_a37C9 :: [a6989586621679753497]) = GroupAllWith t_a37C8 t_a37C9
data Group1Sym0 (l_a37Dv :: TyFun (NonEmpty a6989586621679753495) (NonEmpty (NonEmpty a6989586621679753495)))
type Group1Sym1 (t_a37Du :: NonEmpty a6989586621679753495) = Group1 t_a37Du
data GroupBy1Sym0 (l_a37Cq :: TyFun (TyFun a6989586621679753494 (TyFun a6989586621679753494 Bool -> Type) -> Type) (TyFun (NonEmpty a6989586621679753494) (NonEmpty (NonEmpty a6989586621679753494)) -> Type))
data GroupBy1Sym1 (l_a37Co :: TyFun a6989586621679753494 (TyFun a6989586621679753494 Bool -> Type) -> Type) (l_a37Cn :: TyFun (NonEmpty a6989586621679753494) (NonEmpty (NonEmpty a6989586621679753494)))
type GroupBy1Sym2 (t_a37Cl :: TyFun a6989586621679753494 (TyFun a6989586621679753494 Bool -> Type) -> Type) (t_a37Cm :: NonEmpty a6989586621679753494) = GroupBy1 t_a37Cl t_a37Cm
data GroupWith1Sym0 (l_a37DE :: TyFun (TyFun a6989586621679753493 b6989586621679753492 -> Type) (TyFun (NonEmpty a6989586621679753493) (NonEmpty (NonEmpty a6989586621679753493)) -> Type))
data GroupWith1Sym1 (l_a37DC :: TyFun a6989586621679753493 b6989586621679753492 -> Type) (l_a37DB :: TyFun (NonEmpty a6989586621679753493) (NonEmpty (NonEmpty a6989586621679753493)))
type GroupWith1Sym2 (t_a37Dz :: TyFun a6989586621679753493 b6989586621679753492 -> Type) (t_a37DA :: NonEmpty a6989586621679753493) = GroupWith1 t_a37Dz t_a37DA
data GroupAllWith1Sym0 (l_a37Hm :: TyFun (TyFun a6989586621679753491 b6989586621679753490 -> Type) (TyFun (NonEmpty a6989586621679753491) (NonEmpty (NonEmpty a6989586621679753491)) -> Type))
data GroupAllWith1Sym1 (l_a37Hk :: TyFun a6989586621679753491 b6989586621679753490 -> Type) (l_a37Hj :: TyFun (NonEmpty a6989586621679753491) (NonEmpty (NonEmpty a6989586621679753491)))
type GroupAllWith1Sym2 (t_a37Hh :: TyFun a6989586621679753491 b6989586621679753490 -> Type) (t_a37Hi :: NonEmpty a6989586621679753491) = GroupAllWith1 t_a37Hh t_a37Hi
data IsPrefixOfSym0 (l_a37zy :: TyFun [a6989586621679753489] (TyFun (NonEmpty a6989586621679753489) Bool -> Type))
data IsPrefixOfSym1 (l_a37zw :: [a6989586621679753489]) (l_a37zv :: TyFun (NonEmpty a6989586621679753489) Bool)
type IsPrefixOfSym2 (t_a37zt :: [a6989586621679753489]) (t_a37zu :: NonEmpty a6989586621679753489) = IsPrefixOf t_a37zt t_a37zu
data NubSym0 (l_a37xt :: TyFun (NonEmpty a6989586621679753480) (NonEmpty a6989586621679753480))
type NubSym1 (t_a37xs :: NonEmpty a6989586621679753480) = Nub t_a37xs
data NubBySym0 (l_a37wX :: TyFun (TyFun a6989586621679753479 (TyFun a6989586621679753479 Bool -> Type) -> Type) (TyFun (NonEmpty a6989586621679753479) (NonEmpty a6989586621679753479) -> Type))
data NubBySym1 (l_a37wV :: TyFun a6989586621679753479 (TyFun a6989586621679753479 Bool -> Type) -> Type) (l_a37wU :: TyFun (NonEmpty a6989586621679753479) (NonEmpty a6989586621679753479))
type NubBySym2 (t_a37wS :: TyFun a6989586621679753479 (TyFun a6989586621679753479 Bool -> Type) -> Type) (t_a37wT :: NonEmpty a6989586621679753479) = NubBy t_a37wS t_a37wT
data (:!!$) (l_a37zb :: TyFun (NonEmpty a6989586621679753488) (TyFun Nat a6989586621679753488 -> Type))
data (:!!$$) (l_a37z9 :: NonEmpty a6989586621679753488) (l_a37z8 :: TyFun Nat a6989586621679753488)
type (:!!$$$) (t_a37z6 :: NonEmpty a6989586621679753488) (t_a37z7 :: Nat) = (:!!) t_a37z6 t_a37z7
data ZipSym0 (l_a37yY :: TyFun (NonEmpty a6989586621679753486) (TyFun (NonEmpty b6989586621679753487) (NonEmpty (a6989586621679753486, b6989586621679753487)) -> Type))
data ZipSym1 (l_a37yW :: NonEmpty a6989586621679753486) (l_a37yV :: TyFun (NonEmpty b6989586621679753487) (NonEmpty (a6989586621679753486, b6989586621679753487)))
type ZipSym2 (t_a37yT :: NonEmpty a6989586621679753486) (t_a37yU :: NonEmpty b6989586621679753487) = Zip t_a37yT t_a37yU
data ZipWithSym0 (l_a37yJ :: TyFun (TyFun a6989586621679753483 (TyFun b6989586621679753484 c6989586621679753485 -> Type) -> Type) (TyFun (NonEmpty a6989586621679753483) (TyFun (NonEmpty b6989586621679753484) (NonEmpty c6989586621679753485) -> Type) -> Type))
data ZipWithSym1 (l_a37yH :: TyFun a6989586621679753483 (TyFun b6989586621679753484 c6989586621679753485 -> Type) -> Type) (l_a37yG :: TyFun (NonEmpty a6989586621679753483) (TyFun (NonEmpty b6989586621679753484) (NonEmpty c6989586621679753485) -> Type))
data ZipWithSym2 (l_a37yD :: TyFun a6989586621679753483 (TyFun b6989586621679753484 c6989586621679753485 -> Type) -> Type) (l_a37yE :: NonEmpty a6989586621679753483) (l_a37yC :: TyFun (NonEmpty b6989586621679753484) (NonEmpty c6989586621679753485))
type ZipWithSym3 (t_a37yz :: TyFun a6989586621679753483 (TyFun b6989586621679753484 c6989586621679753485 -> Type) -> Type) (t_a37yA :: NonEmpty a6989586621679753483) (t_a37yB :: NonEmpty b6989586621679753484) = ZipWith t_a37yz t_a37yA t_a37yB
data UnzipSym0 (l_a37xy :: TyFun (NonEmpty (a6989586621679753481, b6989586621679753482)) (NonEmpty a6989586621679753481, NonEmpty b6989586621679753482))
type UnzipSym1 (t_a37xx :: NonEmpty (a6989586621679753481, b6989586621679753482)) = Unzip t_a37xx
data FromListSym0 (l_a37Gq :: TyFun [a6989586621679753527] (NonEmpty a6989586621679753527))
type FromListSym1 (t_a37Gp :: [a6989586621679753527]) = FromList t_a37Gp
data ToListSym0 (l_a37Er :: TyFun (NonEmpty a6989586621679753526) [a6989586621679753526])
type ToListSym1 (t_a37Eq :: NonEmpty a6989586621679753526) = ToList t_a37Eq
data NonEmpty_Sym0 (l_a37KT :: TyFun [a6989586621679753538] (Maybe (NonEmpty a6989586621679753538)))
type NonEmpty_Sym1 (t_a37KS :: [a6989586621679753538]) = NonEmpty_ t_a37KS
data XorSym0 (l_a37Lu :: TyFun (NonEmpty Bool) Bool)
type XorSym1 (t_a37Lt :: NonEmpty Bool) = Xor t_a37Lt
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.Let6989586621679753912GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753912GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753912GoSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753912GoSym2
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.Let6989586621679754633Xor'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754633Xor'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754633Xor'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754633Xor'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754613Scrutinee_6989586621679753706Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754613Scrutinee_6989586621679753706Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754577Scrutinee_6989586621679753708Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754577Scrutinee_6989586621679753708Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754544GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754544GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754544GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754559Scrutinee_6989586621679753710Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754559Scrutinee_6989586621679753710Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754559Scrutinee_6989586621679753710Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754073X_6989586621679754074Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754073X_6989586621679754074Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754073X_6989586621679754074Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754073YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754073YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754073YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754073ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754073ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679754073ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753939X_6989586621679753940Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753939X_6989586621679753940Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753939X_6989586621679753940Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753939X_6989586621679753940Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753939X_6989586621679753940Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753939YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753939YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753939YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753939YsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753939YsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753939ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753939ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753939ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753939ZsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753939ZsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753770X_6989586621679753771Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753770X_6989586621679753771Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753770X_6989586621679753771Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753770AsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753770AsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753770AsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753770BsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753770BsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679753770BsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621679753734Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621679753734Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621679753734Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621679753734Sym3


-- | 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_aY6X :: TyFun a6989586621679075955 (TyFun [a6989586621679075955] (NonEmpty a6989586621679075955) -> Type))
data (:|$$) (l_aY6V :: a6989586621679075955) (l_aY6U :: TyFun [a6989586621679075955] (NonEmpty a6989586621679075955))
type (:|$$$) (t_aY6S :: a6989586621679075955) (t_aY6T :: [a6989586621679075955]) = (:|) t_aY6S t_aY6T
data MapSym0 (l_a37Ej :: TyFun (TyFun a6989586621679753522 b6989586621679753523 -> Type) (TyFun (NonEmpty a6989586621679753522) (NonEmpty b6989586621679753523) -> Type))
data MapSym1 (l_a37Eh :: TyFun a6989586621679753522 b6989586621679753523 -> Type) (l_a37Eg :: TyFun (NonEmpty a6989586621679753522) (NonEmpty b6989586621679753523))
type MapSym2 (t_a37Ee :: TyFun a6989586621679753522 b6989586621679753523 -> Type) (t_a37Ef :: NonEmpty a6989586621679753522) = Map t_a37Ee t_a37Ef
data IntersperseSym0 (l_a37DY :: TyFun a6989586621679753512 (TyFun (NonEmpty a6989586621679753512) (NonEmpty a6989586621679753512) -> Type))
data IntersperseSym1 (l_a37DW :: a6989586621679753512) (l_a37DV :: TyFun (NonEmpty a6989586621679753512) (NonEmpty a6989586621679753512))
type IntersperseSym2 (t_a37DT :: a6989586621679753512) (t_a37DU :: NonEmpty a6989586621679753512) = Intersperse t_a37DT t_a37DU
data ScanlSym0 (l_a37I5 :: TyFun (TyFun b6989586621679753517 (TyFun a6989586621679753518 b6989586621679753517 -> Type) -> Type) (TyFun b6989586621679753517 (TyFun [a6989586621679753518] (NonEmpty b6989586621679753517) -> Type) -> Type))
data ScanlSym1 (l_a37I3 :: TyFun b6989586621679753517 (TyFun a6989586621679753518 b6989586621679753517 -> Type) -> Type) (l_a37I2 :: TyFun b6989586621679753517 (TyFun [a6989586621679753518] (NonEmpty b6989586621679753517) -> Type))
data ScanlSym2 (l_a37HZ :: TyFun b6989586621679753517 (TyFun a6989586621679753518 b6989586621679753517 -> Type) -> Type) (l_a37I0 :: b6989586621679753517) (l_a37HY :: TyFun [a6989586621679753518] (NonEmpty b6989586621679753517))
type ScanlSym3 (t_a37HV :: TyFun b6989586621679753517 (TyFun a6989586621679753518 b6989586621679753517 -> Type) -> Type) (t_a37HW :: b6989586621679753517) (t_a37HX :: [a6989586621679753518]) = Scanl t_a37HV t_a37HW t_a37HX
data ScanrSym0 (l_a37Ip :: TyFun (TyFun a6989586621679753515 (TyFun b6989586621679753516 b6989586621679753516 -> Type) -> Type) (TyFun b6989586621679753516 (TyFun [a6989586621679753515] (NonEmpty b6989586621679753516) -> Type) -> Type))
data ScanrSym1 (l_a37In :: TyFun a6989586621679753515 (TyFun b6989586621679753516 b6989586621679753516 -> Type) -> Type) (l_a37Im :: TyFun b6989586621679753516 (TyFun [a6989586621679753515] (NonEmpty b6989586621679753516) -> Type))
data ScanrSym2 (l_a37Ij :: TyFun a6989586621679753515 (TyFun b6989586621679753516 b6989586621679753516 -> Type) -> Type) (l_a37Ik :: b6989586621679753516) (l_a37Ii :: TyFun [a6989586621679753515] (NonEmpty b6989586621679753516))
type ScanrSym3 (t_a37If :: TyFun a6989586621679753515 (TyFun b6989586621679753516 b6989586621679753516 -> Type) -> Type) (t_a37Ig :: b6989586621679753516) (t_a37Ih :: [a6989586621679753515]) = Scanr t_a37If t_a37Ig t_a37Ih
data Scanl1Sym0 (l_a37IE :: TyFun (TyFun a6989586621679753514 (TyFun a6989586621679753514 a6989586621679753514 -> Type) -> Type) (TyFun (NonEmpty a6989586621679753514) (NonEmpty a6989586621679753514) -> Type))
data Scanl1Sym1 (l_a37IC :: TyFun a6989586621679753514 (TyFun a6989586621679753514 a6989586621679753514 -> Type) -> Type) (l_a37IB :: TyFun (NonEmpty a6989586621679753514) (NonEmpty a6989586621679753514))
type Scanl1Sym2 (t_a37Iz :: TyFun a6989586621679753514 (TyFun a6989586621679753514 a6989586621679753514 -> Type) -> Type) (t_a37IA :: NonEmpty a6989586621679753514) = Scanl1 t_a37Iz t_a37IA
data Scanr1Sym0 (l_a37IQ :: TyFun (TyFun a6989586621679753513 (TyFun a6989586621679753513 a6989586621679753513 -> Type) -> Type) (TyFun (NonEmpty a6989586621679753513) (NonEmpty a6989586621679753513) -> Type))
data Scanr1Sym1 (l_a37IO :: TyFun a6989586621679753513 (TyFun a6989586621679753513 a6989586621679753513 -> Type) -> Type) (l_a37IN :: TyFun (NonEmpty a6989586621679753513) (NonEmpty a6989586621679753513))
type Scanr1Sym2 (t_a37IL :: TyFun a6989586621679753513 (TyFun a6989586621679753513 a6989586621679753513 -> Type) -> Type) (t_a37IM :: NonEmpty a6989586621679753513) = Scanr1 t_a37IL t_a37IM
data TransposeSym0 (l_a37Mj :: TyFun (NonEmpty (NonEmpty a6989586621679753478)) (NonEmpty (NonEmpty a6989586621679753478)))
type TransposeSym1 (t_a37Mi :: NonEmpty (NonEmpty a6989586621679753478)) = Transpose t_a37Mi
data SortBySym0 (l_a37GU :: TyFun (TyFun a6989586621679753477 (TyFun a6989586621679753477 Ordering -> Type) -> Type) (TyFun (NonEmpty a6989586621679753477) (NonEmpty a6989586621679753477) -> Type))
data SortBySym1 (l_a37GS :: TyFun a6989586621679753477 (TyFun a6989586621679753477 Ordering -> Type) -> Type) (l_a37GR :: TyFun (NonEmpty a6989586621679753477) (NonEmpty a6989586621679753477))
type SortBySym2 (t_a37GP :: TyFun a6989586621679753477 (TyFun a6989586621679753477 Ordering -> Type) -> Type) (t_a37GQ :: NonEmpty a6989586621679753477) = SortBy t_a37GP t_a37GQ
data SortWithSym0 (l_a37Hb :: TyFun (TyFun a6989586621679753476 o6989586621679753475 -> Type) (TyFun (NonEmpty a6989586621679753476) (NonEmpty a6989586621679753476) -> Type))
data SortWithSym1 (l_a37H9 :: TyFun a6989586621679753476 o6989586621679753475 -> Type) (l_a37H8 :: TyFun (NonEmpty a6989586621679753476) (NonEmpty a6989586621679753476))
type SortWithSym2 (t_a37H6 :: TyFun a6989586621679753476 o6989586621679753475 -> Type) (t_a37H7 :: NonEmpty a6989586621679753476) = SortWith t_a37H6 t_a37H7
data LengthSym0 (l_a37LX :: TyFun (NonEmpty a6989586621679753541) Nat)
type LengthSym1 (t_a37LW :: NonEmpty a6989586621679753541) = Length t_a37LW
data HeadSym0 (l_a37JQ :: TyFun (NonEmpty a6989586621679753534) a6989586621679753534)
type HeadSym1 (t_a37JP :: NonEmpty a6989586621679753534) = Head t_a37JP
data TailSym0 (l_a37JI :: TyFun (NonEmpty a6989586621679753533) [a6989586621679753533])
type TailSym1 (t_a37JH :: NonEmpty a6989586621679753533) = Tail t_a37JH
data LastSym0 (l_a37JC :: TyFun (NonEmpty a6989586621679753532) a6989586621679753532)
type LastSym1 (t_a37JB :: NonEmpty a6989586621679753532) = Last t_a37JB
data InitSym0 (l_a37Jw :: TyFun (NonEmpty a6989586621679753531) [a6989586621679753531])
type InitSym1 (t_a37Jv :: NonEmpty a6989586621679753531) = Init t_a37Jv
data (:<|$) (l_a37J9 :: TyFun a6989586621679753530 (TyFun (NonEmpty a6989586621679753530) (NonEmpty a6989586621679753530) -> Type))
data (:<|$$) (l_a37J7 :: a6989586621679753530) (l_a37J6 :: TyFun (NonEmpty a6989586621679753530) (NonEmpty a6989586621679753530))
type (:<|$$$) (t_a37J4 :: a6989586621679753530) (t_a37J5 :: NonEmpty a6989586621679753530) = (:<|) t_a37J4 t_a37J5
data ConsSym0 (l_a37Jp :: TyFun a6989586621679753529 (TyFun (NonEmpty a6989586621679753529) (NonEmpty a6989586621679753529) -> Type))
data ConsSym1 (l_a37Jn :: a6989586621679753529) (l_a37Jm :: TyFun (NonEmpty a6989586621679753529) (NonEmpty a6989586621679753529))
type ConsSym2 (t_a37Jk :: a6989586621679753529) (t_a37Jl :: NonEmpty a6989586621679753529) = Cons t_a37Jk t_a37Jl
data UnconsSym0 (l_a37KZ :: TyFun (NonEmpty a6989586621679753537) (a6989586621679753537, Maybe (NonEmpty a6989586621679753537)))
type UnconsSym1 (t_a37KY :: NonEmpty a6989586621679753537) = Uncons t_a37KY
data UnfoldrSym0 (l_a37K2 :: TyFun (TyFun a6989586621679753535 (b6989586621679753536, Maybe a6989586621679753535) -> Type) (TyFun a6989586621679753535 (NonEmpty b6989586621679753536) -> Type))
data UnfoldrSym1 (l_a37K0 :: TyFun a6989586621679753535 (b6989586621679753536, Maybe a6989586621679753535) -> Type) (l_a37JZ :: TyFun a6989586621679753535 (NonEmpty b6989586621679753536))
type UnfoldrSym2 (t_a37JX :: TyFun a6989586621679753535 (b6989586621679753536, Maybe a6989586621679753535) -> Type) (t_a37JY :: a6989586621679753535) = Unfoldr t_a37JX t_a37JY
data SortSym0 (l_a37J0 :: TyFun (NonEmpty a6989586621679753528) (NonEmpty a6989586621679753528))
type SortSym1 (t_a37IZ :: NonEmpty a6989586621679753528) = Sort t_a37IZ
data ReverseSym0 (l_a37GL :: TyFun (NonEmpty a6989586621679753511) (NonEmpty a6989586621679753511))
type ReverseSym1 (t_a37GK :: NonEmpty a6989586621679753511) = Reverse t_a37GK
data InitsSym0 (l_a37Hx :: TyFun [a6989586621679753521] (NonEmpty [a6989586621679753521]))
type InitsSym1 (t_a37Hw :: [a6989586621679753521]) = Inits t_a37Hw
data TailsSym0 (l_a37HE :: TyFun [a6989586621679753520] (NonEmpty [a6989586621679753520]))
type TailsSym1 (t_a37HD :: [a6989586621679753520]) = Tails t_a37HD
data UnfoldSym0 (l_a37L9 :: TyFun (TyFun a6989586621679753539 (b6989586621679753540, Maybe a6989586621679753539) -> Type) (TyFun a6989586621679753539 (NonEmpty b6989586621679753540) -> Type))
data UnfoldSym1 (l_a37L7 :: TyFun a6989586621679753539 (b6989586621679753540, Maybe a6989586621679753539) -> Type) (l_a37L6 :: TyFun a6989586621679753539 (NonEmpty b6989586621679753540))
data InsertSym0 (l_a37HN :: TyFun a6989586621679753519 (TyFun [a6989586621679753519] (NonEmpty a6989586621679753519) -> Type))
data InsertSym1 (l_a37HL :: a6989586621679753519) (l_a37HK :: TyFun [a6989586621679753519] (NonEmpty a6989586621679753519))
type InsertSym2 (t_a37HI :: a6989586621679753519) (t_a37HJ :: [a6989586621679753519]) = Insert t_a37HI t_a37HJ
data TakeSym0 (l_a37EB :: TyFun Nat (TyFun (NonEmpty a6989586621679753510) [a6989586621679753510] -> Type))
data TakeSym1 (l_a37Ez :: Nat) (l_a37Ey :: TyFun (NonEmpty a6989586621679753510) [a6989586621679753510])
type TakeSym2 (t_a37Ew :: Nat) (t_a37Ex :: NonEmpty a6989586621679753510) = Take t_a37Ew t_a37Ex
data DropSym0 (l_a37EO :: TyFun Nat (TyFun (NonEmpty a6989586621679753509) [a6989586621679753509] -> Type))
data DropSym1 (l_a37EM :: Nat) (l_a37EL :: TyFun (NonEmpty a6989586621679753509) [a6989586621679753509])
type DropSym2 (t_a37EJ :: Nat) (t_a37EK :: NonEmpty a6989586621679753509) = Drop t_a37EJ t_a37EK
data SplitAtSym0 (l_a37F1 :: TyFun Nat (TyFun (NonEmpty a6989586621679753508) ([a6989586621679753508], [a6989586621679753508]) -> Type))
data SplitAtSym1 (l_a37EZ :: Nat) (l_a37EY :: TyFun (NonEmpty a6989586621679753508) ([a6989586621679753508], [a6989586621679753508]))
type SplitAtSym2 (t_a37EW :: Nat) (t_a37EX :: NonEmpty a6989586621679753508) = SplitAt t_a37EW t_a37EX
data TakeWhileSym0 (l_a37Fe :: TyFun (TyFun a6989586621679753507 Bool -> Type) (TyFun (NonEmpty a6989586621679753507) [a6989586621679753507] -> Type))
data TakeWhileSym1 (l_a37Fc :: TyFun a6989586621679753507 Bool -> Type) (l_a37Fb :: TyFun (NonEmpty a6989586621679753507) [a6989586621679753507])
type TakeWhileSym2 (t_a37F9 :: TyFun a6989586621679753507 Bool -> Type) (t_a37Fa :: NonEmpty a6989586621679753507) = TakeWhile t_a37F9 t_a37Fa
data DropWhileSym0 (l_a37Fr :: TyFun (TyFun a6989586621679753506 Bool -> Type) (TyFun (NonEmpty a6989586621679753506) [a6989586621679753506] -> Type))
data DropWhileSym1 (l_a37Fp :: TyFun a6989586621679753506 Bool -> Type) (l_a37Fo :: TyFun (NonEmpty a6989586621679753506) [a6989586621679753506])
type DropWhileSym2 (t_a37Fm :: TyFun a6989586621679753506 Bool -> Type) (t_a37Fn :: NonEmpty a6989586621679753506) = DropWhile t_a37Fm t_a37Fn
data SpanSym0 (l_a37FE :: TyFun (TyFun a6989586621679753505 Bool -> Type) (TyFun (NonEmpty a6989586621679753505) ([a6989586621679753505], [a6989586621679753505]) -> Type))
data SpanSym1 (l_a37FC :: TyFun a6989586621679753505 Bool -> Type) (l_a37FB :: TyFun (NonEmpty a6989586621679753505) ([a6989586621679753505], [a6989586621679753505]))
type SpanSym2 (t_a37Fz :: TyFun a6989586621679753505 Bool -> Type) (t_a37FA :: NonEmpty a6989586621679753505) = Span t_a37Fz t_a37FA
data BreakSym0 (l_a37FR :: TyFun (TyFun a6989586621679753504 Bool -> Type) (TyFun (NonEmpty a6989586621679753504) ([a6989586621679753504], [a6989586621679753504]) -> Type))
data BreakSym1 (l_a37FP :: TyFun a6989586621679753504 Bool -> Type) (l_a37FO :: TyFun (NonEmpty a6989586621679753504) ([a6989586621679753504], [a6989586621679753504]))
type BreakSym2 (t_a37FM :: TyFun a6989586621679753504 Bool -> Type) (t_a37FN :: NonEmpty a6989586621679753504) = Break t_a37FM t_a37FN
data FilterSym0 (l_a37G4 :: TyFun (TyFun a6989586621679753503 Bool -> Type) (TyFun (NonEmpty a6989586621679753503) [a6989586621679753503] -> Type))
data FilterSym1 (l_a37G2 :: TyFun a6989586621679753503 Bool -> Type) (l_a37G1 :: TyFun (NonEmpty a6989586621679753503) [a6989586621679753503])
type FilterSym2 (t_a37FZ :: TyFun a6989586621679753503 Bool -> Type) (t_a37G0 :: NonEmpty a6989586621679753503) = Filter t_a37FZ t_a37G0
data PartitionSym0 (l_a37Gh :: TyFun (TyFun a6989586621679753502 Bool -> Type) (TyFun (NonEmpty a6989586621679753502) ([a6989586621679753502], [a6989586621679753502]) -> Type))
data PartitionSym1 (l_a37Gf :: TyFun a6989586621679753502 Bool -> Type) (l_a37Ge :: TyFun (NonEmpty a6989586621679753502) ([a6989586621679753502], [a6989586621679753502]))
type PartitionSym2 (t_a37Gc :: TyFun a6989586621679753502 Bool -> Type) (t_a37Gd :: NonEmpty a6989586621679753502) = Partition t_a37Gc t_a37Gd
data GroupSym0 (l_a37DP :: TyFun [a6989586621679753501] [NonEmpty a6989586621679753501])
type GroupSym1 (t_a37DO :: [a6989586621679753501]) = Group t_a37DO
data GroupBySym0 (l_a37zO :: TyFun (TyFun a6989586621679753500 (TyFun a6989586621679753500 Bool -> Type) -> Type) (TyFun [a6989586621679753500] [NonEmpty a6989586621679753500] -> Type))
data GroupBySym1 (l_a37zM :: TyFun a6989586621679753500 (TyFun a6989586621679753500 Bool -> Type) -> Type) (l_a37zL :: TyFun [a6989586621679753500] [NonEmpty a6989586621679753500])
type GroupBySym2 (t_a37zJ :: TyFun a6989586621679753500 (TyFun a6989586621679753500 Bool -> Type) -> Type) (t_a37zK :: [a6989586621679753500]) = GroupBy t_a37zJ t_a37zK
data GroupWithSym0 (l_a37C0 :: TyFun (TyFun a6989586621679753499 b6989586621679753498 -> Type) (TyFun [a6989586621679753499] [NonEmpty a6989586621679753499] -> Type))
data GroupWithSym1 (l_a37BY :: TyFun a6989586621679753499 b6989586621679753498 -> Type) (l_a37BX :: TyFun [a6989586621679753499] [NonEmpty a6989586621679753499])
type GroupWithSym2 (t_a37BV :: TyFun a6989586621679753499 b6989586621679753498 -> Type) (t_a37BW :: [a6989586621679753499]) = GroupWith t_a37BV t_a37BW
data GroupAllWithSym0 (l_a37Cd :: TyFun (TyFun a6989586621679753497 b6989586621679753496 -> Type) (TyFun [a6989586621679753497] [NonEmpty a6989586621679753497] -> Type))
data GroupAllWithSym1 (l_a37Cb :: TyFun a6989586621679753497 b6989586621679753496 -> Type) (l_a37Ca :: TyFun [a6989586621679753497] [NonEmpty a6989586621679753497])
type GroupAllWithSym2 (t_a37C8 :: TyFun a6989586621679753497 b6989586621679753496 -> Type) (t_a37C9 :: [a6989586621679753497]) = GroupAllWith t_a37C8 t_a37C9
data Group1Sym0 (l_a37Dv :: TyFun (NonEmpty a6989586621679753495) (NonEmpty (NonEmpty a6989586621679753495)))
type Group1Sym1 (t_a37Du :: NonEmpty a6989586621679753495) = Group1 t_a37Du
data GroupBy1Sym0 (l_a37Cq :: TyFun (TyFun a6989586621679753494 (TyFun a6989586621679753494 Bool -> Type) -> Type) (TyFun (NonEmpty a6989586621679753494) (NonEmpty (NonEmpty a6989586621679753494)) -> Type))
data GroupBy1Sym1 (l_a37Co :: TyFun a6989586621679753494 (TyFun a6989586621679753494 Bool -> Type) -> Type) (l_a37Cn :: TyFun (NonEmpty a6989586621679753494) (NonEmpty (NonEmpty a6989586621679753494)))
type GroupBy1Sym2 (t_a37Cl :: TyFun a6989586621679753494 (TyFun a6989586621679753494 Bool -> Type) -> Type) (t_a37Cm :: NonEmpty a6989586621679753494) = GroupBy1 t_a37Cl t_a37Cm
data GroupWith1Sym0 (l_a37DE :: TyFun (TyFun a6989586621679753493 b6989586621679753492 -> Type) (TyFun (NonEmpty a6989586621679753493) (NonEmpty (NonEmpty a6989586621679753493)) -> Type))
data GroupWith1Sym1 (l_a37DC :: TyFun a6989586621679753493 b6989586621679753492 -> Type) (l_a37DB :: TyFun (NonEmpty a6989586621679753493) (NonEmpty (NonEmpty a6989586621679753493)))
type GroupWith1Sym2 (t_a37Dz :: TyFun a6989586621679753493 b6989586621679753492 -> Type) (t_a37DA :: NonEmpty a6989586621679753493) = GroupWith1 t_a37Dz t_a37DA
data GroupAllWith1Sym0 (l_a37Hm :: TyFun (TyFun a6989586621679753491 b6989586621679753490 -> Type) (TyFun (NonEmpty a6989586621679753491) (NonEmpty (NonEmpty a6989586621679753491)) -> Type))
data GroupAllWith1Sym1 (l_a37Hk :: TyFun a6989586621679753491 b6989586621679753490 -> Type) (l_a37Hj :: TyFun (NonEmpty a6989586621679753491) (NonEmpty (NonEmpty a6989586621679753491)))
type GroupAllWith1Sym2 (t_a37Hh :: TyFun a6989586621679753491 b6989586621679753490 -> Type) (t_a37Hi :: NonEmpty a6989586621679753491) = GroupAllWith1 t_a37Hh t_a37Hi
data IsPrefixOfSym0 (l_a37zy :: TyFun [a6989586621679753489] (TyFun (NonEmpty a6989586621679753489) Bool -> Type))
data IsPrefixOfSym1 (l_a37zw :: [a6989586621679753489]) (l_a37zv :: TyFun (NonEmpty a6989586621679753489) Bool)
type IsPrefixOfSym2 (t_a37zt :: [a6989586621679753489]) (t_a37zu :: NonEmpty a6989586621679753489) = IsPrefixOf t_a37zt t_a37zu
data NubSym0 (l_a37xt :: TyFun (NonEmpty a6989586621679753480) (NonEmpty a6989586621679753480))
type NubSym1 (t_a37xs :: NonEmpty a6989586621679753480) = Nub t_a37xs
data NubBySym0 (l_a37wX :: TyFun (TyFun a6989586621679753479 (TyFun a6989586621679753479 Bool -> Type) -> Type) (TyFun (NonEmpty a6989586621679753479) (NonEmpty a6989586621679753479) -> Type))
data NubBySym1 (l_a37wV :: TyFun a6989586621679753479 (TyFun a6989586621679753479 Bool -> Type) -> Type) (l_a37wU :: TyFun (NonEmpty a6989586621679753479) (NonEmpty a6989586621679753479))
type NubBySym2 (t_a37wS :: TyFun a6989586621679753479 (TyFun a6989586621679753479 Bool -> Type) -> Type) (t_a37wT :: NonEmpty a6989586621679753479) = NubBy t_a37wS t_a37wT
data (:!!$) (l_a37zb :: TyFun (NonEmpty a6989586621679753488) (TyFun Nat a6989586621679753488 -> Type))
data (:!!$$) (l_a37z9 :: NonEmpty a6989586621679753488) (l_a37z8 :: TyFun Nat a6989586621679753488)
type (:!!$$$) (t_a37z6 :: NonEmpty a6989586621679753488) (t_a37z7 :: Nat) = (:!!) t_a37z6 t_a37z7
data ZipSym0 (l_a37yY :: TyFun (NonEmpty a6989586621679753486) (TyFun (NonEmpty b6989586621679753487) (NonEmpty (a6989586621679753486, b6989586621679753487)) -> Type))
data ZipSym1 (l_a37yW :: NonEmpty a6989586621679753486) (l_a37yV :: TyFun (NonEmpty b6989586621679753487) (NonEmpty (a6989586621679753486, b6989586621679753487)))
type ZipSym2 (t_a37yT :: NonEmpty a6989586621679753486) (t_a37yU :: NonEmpty b6989586621679753487) = Zip t_a37yT t_a37yU
data ZipWithSym0 (l_a37yJ :: TyFun (TyFun a6989586621679753483 (TyFun b6989586621679753484 c6989586621679753485 -> Type) -> Type) (TyFun (NonEmpty a6989586621679753483) (TyFun (NonEmpty b6989586621679753484) (NonEmpty c6989586621679753485) -> Type) -> Type))
data ZipWithSym1 (l_a37yH :: TyFun a6989586621679753483 (TyFun b6989586621679753484 c6989586621679753485 -> Type) -> Type) (l_a37yG :: TyFun (NonEmpty a6989586621679753483) (TyFun (NonEmpty b6989586621679753484) (NonEmpty c6989586621679753485) -> Type))
data ZipWithSym2 (l_a37yD :: TyFun a6989586621679753483 (TyFun b6989586621679753484 c6989586621679753485 -> Type) -> Type) (l_a37yE :: NonEmpty a6989586621679753483) (l_a37yC :: TyFun (NonEmpty b6989586621679753484) (NonEmpty c6989586621679753485))
type ZipWithSym3 (t_a37yz :: TyFun a6989586621679753483 (TyFun b6989586621679753484 c6989586621679753485 -> Type) -> Type) (t_a37yA :: NonEmpty a6989586621679753483) (t_a37yB :: NonEmpty b6989586621679753484) = ZipWith t_a37yz t_a37yA t_a37yB
data UnzipSym0 (l_a37xy :: TyFun (NonEmpty (a6989586621679753481, b6989586621679753482)) (NonEmpty a6989586621679753481, NonEmpty b6989586621679753482))
type UnzipSym1 (t_a37xx :: NonEmpty (a6989586621679753481, b6989586621679753482)) = Unzip t_a37xx
data FromListSym0 (l_a37Gq :: TyFun [a6989586621679753527] (NonEmpty a6989586621679753527))
type FromListSym1 (t_a37Gp :: [a6989586621679753527]) = FromList t_a37Gp
data ToListSym0 (l_a37Er :: TyFun (NonEmpty a6989586621679753526) [a6989586621679753526])
type ToListSym1 (t_a37Eq :: NonEmpty a6989586621679753526) = ToList t_a37Eq
data NonEmpty_Sym0 (l_a37KT :: TyFun [a6989586621679753538] (Maybe (NonEmpty a6989586621679753538)))
type NonEmpty_Sym1 (t_a37KS :: [a6989586621679753538]) = NonEmpty_ t_a37KS
data XorSym0 (l_a37Lu :: TyFun (NonEmpty Bool) Bool)
type XorSym1 (t_a37Lt :: NonEmpty Bool) = Xor t_a37Lt


-- | Defines the promoted and singleton version of Bounded, <a>PBounded</a>
--   and <a>SBounded</a>
module Data.Singletons.Prelude.Enum
class PBounded (a_a3rza :: Type) where {
    type family MinBound :: a_a3rza;
    type family MaxBound :: a_a3rza;
}
class SBounded a_a3rza
sMinBound :: SBounded a_a3rza => Sing (MinBoundSym0 :: a_a3rza)
sMaxBound :: SBounded a_a3rza => Sing (MaxBoundSym0 :: a_a3rza)
class PEnum (a_a3sCg :: Type) where {
    type family Succ (arg_a3sKQ :: a_a3sCg) :: a_a3sCg;
    type family Pred (arg_a3sKU :: a_a3sCg) :: a_a3sCg;
    type family ToEnum (arg_a3sKY :: Nat) :: a_a3sCg;
    type family FromEnum (arg_a3sL2 :: a_a3sCg) :: Nat;
    type family EnumFromTo (arg_a3sL6 :: a_a3sCg) (arg_a3sL7 :: a_a3sCg) :: [a_a3sCg];
    type family EnumFromThenTo (arg_a3sLf :: a_a3sCg) (arg_a3sLg :: a_a3sCg) (arg_a3sLh :: a_a3sCg) :: [a_a3sCg];
    type Succ a_a3sLM = Apply Succ_6989586621679835371Sym0 a_a3sLM;
    type Pred a_a3sLZ = Apply Pred_6989586621679835384Sym0 a_a3sLZ;
    type EnumFromTo a_a3sMg a_a3sMh =
        Apply (Apply EnumFromTo_6989586621679835402Sym0 a_a3sMg) a_a3sMh;
    type EnumFromThenTo a_a3sMJ a_a3sMK a_a3sML =
        Apply (Apply (Apply EnumFromThenTo_6989586621679835432Sym0 a_a3sMJ) a_a3sMK) a_a3sML;
}
class SEnum a_a3sCg
sSucc :: forall (t_a3sPj :: a_a3sCg). SEnum a_a3sCg => Sing t_a3sPj -> Sing (Apply SuccSym0 t_a3sPj :: a_a3sCg)
sPred :: forall (t_a3sPk :: a_a3sCg). SEnum a_a3sCg => Sing t_a3sPk -> Sing (Apply PredSym0 t_a3sPk :: a_a3sCg)
sToEnum :: forall (t_a3sPl :: Nat). SEnum a_a3sCg => Sing t_a3sPl -> Sing (Apply ToEnumSym0 t_a3sPl :: a_a3sCg)
sFromEnum :: forall (t_a3sPm :: a_a3sCg). SEnum a_a3sCg => Sing t_a3sPm -> Sing (Apply FromEnumSym0 t_a3sPm :: Nat)
sEnumFromTo :: forall (t_a3sPn :: a_a3sCg) (t_a3sPo :: a_a3sCg). SEnum a_a3sCg => Sing t_a3sPn -> Sing t_a3sPo -> Sing (Apply (Apply EnumFromToSym0 t_a3sPn) t_a3sPo :: [a_a3sCg])
sEnumFromThenTo :: forall (t_a3sPp :: a_a3sCg) (t_a3sPq :: a_a3sCg) (t_a3sPr :: a_a3sCg). SEnum a_a3sCg => Sing t_a3sPp -> Sing t_a3sPq -> Sing t_a3sPr -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3sPp) t_a3sPq) t_a3sPr :: [a_a3sCg])
sSucc :: forall (t_a3sPj :: a_a3sCg). (SEnum a_a3sCg, (Apply SuccSym0 t_a3sPj :: a_a3sCg) ~ Apply Succ_6989586621679835371Sym0 t_a3sPj) => Sing t_a3sPj -> Sing (Apply SuccSym0 t_a3sPj :: a_a3sCg)
sPred :: forall (t_a3sPk :: a_a3sCg). (SEnum a_a3sCg, (Apply PredSym0 t_a3sPk :: a_a3sCg) ~ Apply Pred_6989586621679835384Sym0 t_a3sPk) => Sing t_a3sPk -> Sing (Apply PredSym0 t_a3sPk :: a_a3sCg)
sEnumFromTo :: forall (t_a3sPn :: a_a3sCg) (t_a3sPo :: a_a3sCg). (SEnum a_a3sCg, (Apply (Apply EnumFromToSym0 t_a3sPn) t_a3sPo :: [a_a3sCg]) ~ Apply (Apply EnumFromTo_6989586621679835402Sym0 t_a3sPn) t_a3sPo) => Sing t_a3sPn -> Sing t_a3sPo -> Sing (Apply (Apply EnumFromToSym0 t_a3sPn) t_a3sPo :: [a_a3sCg])
sEnumFromThenTo :: forall (t_a3sPp :: a_a3sCg) (t_a3sPq :: a_a3sCg) (t_a3sPr :: a_a3sCg). (SEnum a_a3sCg, (Apply (Apply (Apply EnumFromThenToSym0 t_a3sPp) t_a3sPq) t_a3sPr :: [a_a3sCg]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679835432Sym0 t_a3sPp) t_a3sPq) t_a3sPr) => Sing t_a3sPp -> Sing t_a3sPq -> Sing t_a3sPr -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3sPp) t_a3sPq) t_a3sPr :: [a_a3sCg])
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data SuccSym0 (l_a3sKS :: TyFun a6989586621679834780 a6989586621679834780)
type SuccSym1 (t_a3sKR :: a6989586621679834780) = Succ t_a3sKR
data PredSym0 (l_a3sKW :: TyFun a6989586621679834780 a6989586621679834780)
type PredSym1 (t_a3sKV :: a6989586621679834780) = Pred t_a3sKV
data ToEnumSym0 (l_a3sL0 :: TyFun Nat a6989586621679834780)
type ToEnumSym1 (t_a3sKZ :: Nat) = ToEnum t_a3sKZ
data FromEnumSym0 (l_a3sL4 :: TyFun a6989586621679834780 Nat)
type FromEnumSym1 (t_a3sL3 :: a6989586621679834780) = FromEnum t_a3sL3
data EnumFromToSym0 (l_a3sLd :: TyFun a6989586621679834780 (TyFun a6989586621679834780 [a6989586621679834780] -> Type))
data EnumFromToSym1 (l_a3sLb :: a6989586621679834780) (l_a3sLa :: TyFun a6989586621679834780 [a6989586621679834780])
type EnumFromToSym2 (t_a3sL8 :: a6989586621679834780) (t_a3sL9 :: a6989586621679834780) = EnumFromTo t_a3sL8 t_a3sL9
data EnumFromThenToSym0 (l_a3sLs :: TyFun a6989586621679834780 (TyFun a6989586621679834780 (TyFun a6989586621679834780 [a6989586621679834780] -> Type) -> Type))
data EnumFromThenToSym1 (l_a3sLq :: a6989586621679834780) (l_a3sLp :: TyFun a6989586621679834780 (TyFun a6989586621679834780 [a6989586621679834780] -> Type))
data EnumFromThenToSym2 (l_a3sLm :: a6989586621679834780) (l_a3sLn :: a6989586621679834780) (l_a3sLl :: TyFun a6989586621679834780 [a6989586621679834780])
type EnumFromThenToSym3 (t_a3sLi :: a6989586621679834780) (t_a3sLj :: a6989586621679834780) (t_a3sLk :: a6989586621679834780) = EnumFromThenTo t_a3sLi t_a3sLj t_a3sLk
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679853890Sym0
instance Data.Singletons.Prelude.Enum.PEnum ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679853880Sym0
instance Data.Singletons.Prelude.Enum.SEnum ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679853865Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679853855Sym0
instance Data.Singletons.Prelude.Enum.SEnum GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679853833Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679853823Sym0
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_6989586621679835543Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Nat
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679835543Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679835543Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679835507Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679835507Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679835485Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679835474Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Pred_6989586621679835463Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Succ_6989586621679835452Sym0
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_6989586621679835371Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Pred_6989586621679835384Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679835402Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679835402Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679835432Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679835432Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679835432Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Lambda_6989586621679835359Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Lambda_6989586621679835359Sym1
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.Let6989586621679835251GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835251GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835251GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835251GoSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835251GoSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835279Scrutinee_6989586621679834817Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835279Scrutinee_6989586621679834817Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835279Scrutinee_6989586621679834817Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835279Scrutinee_6989586621679834817Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835279Scrutinee_6989586621679834817Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835089Go_upSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835089Go_upSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835089Go_upSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835089Go_upSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835089Go_upSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835089Go_upSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835089Go_upSym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835089Y'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835089Y'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835089Y'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835089Y'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835089Y'Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835089Y'Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835089DeltaSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835089DeltaSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835089DeltaSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835089DeltaSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835089DeltaSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835089DeltaSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835052Scrutinee_6989586621679834831Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835052Scrutinee_6989586621679834831Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835052Scrutinee_6989586621679834831Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835052Scrutinee_6989586621679834831Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835052Scrutinee_6989586621679834831Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679835052Scrutinee_6989586621679834831Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834907Go_dnSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834907Go_dnSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834907Go_dnSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834907Go_dnSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834907Go_dnSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834907Go_dnSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834907Go_dnSym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834907Y'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834907Y'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834907Y'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834907Y'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834907Y'Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834907Y'Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834907DeltaSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834907DeltaSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834907DeltaSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834907DeltaSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834907DeltaSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834907DeltaSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834870Scrutinee_6989586621679834841Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834870Scrutinee_6989586621679834841Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834870Scrutinee_6989586621679834841Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834870Scrutinee_6989586621679834841Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834870Scrutinee_6989586621679834841Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679834870Scrutinee_6989586621679834841Sym5
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_a3rza :: Type) where {
    type family MinBound :: a_a3rza;
    type family MaxBound :: a_a3rza;
}
class PEnum (a_a3sCg :: Type) where {
    type family Succ (arg_a3sKQ :: a_a3sCg) :: a_a3sCg;
    type family Pred (arg_a3sKU :: a_a3sCg) :: a_a3sCg;
    type family ToEnum (arg_a3sKY :: Nat) :: a_a3sCg;
    type family FromEnum (arg_a3sL2 :: a_a3sCg) :: Nat;
    type family EnumFromTo (arg_a3sL6 :: a_a3sCg) (arg_a3sL7 :: a_a3sCg) :: [a_a3sCg];
    type family EnumFromThenTo (arg_a3sLf :: a_a3sCg) (arg_a3sLg :: a_a3sCg) (arg_a3sLh :: a_a3sCg) :: [a_a3sCg];
    type Succ a_a3sLM = Apply Succ_6989586621679835371Sym0 a_a3sLM;
    type Pred a_a3sLZ = Apply Pred_6989586621679835384Sym0 a_a3sLZ;
    type EnumFromTo a_a3sMg a_a3sMh =
        Apply (Apply EnumFromTo_6989586621679835402Sym0 a_a3sMg) a_a3sMh;
    type EnumFromThenTo a_a3sMJ a_a3sMK a_a3sML =
        Apply (Apply (Apply EnumFromThenTo_6989586621679835432Sym0 a_a3sMJ) a_a3sMK) a_a3sML;
}
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data SuccSym0 (l_a3sKS :: TyFun a6989586621679834780 a6989586621679834780)
type SuccSym1 (t_a3sKR :: a6989586621679834780) = Succ t_a3sKR
data PredSym0 (l_a3sKW :: TyFun a6989586621679834780 a6989586621679834780)
type PredSym1 (t_a3sKV :: a6989586621679834780) = Pred t_a3sKV
data ToEnumSym0 (l_a3sL0 :: TyFun Nat a6989586621679834780)
type ToEnumSym1 (t_a3sKZ :: Nat) = ToEnum t_a3sKZ
data FromEnumSym0 (l_a3sL4 :: TyFun a6989586621679834780 Nat)
type FromEnumSym1 (t_a3sL3 :: a6989586621679834780) = FromEnum t_a3sL3
data EnumFromToSym0 (l_a3sLd :: TyFun a6989586621679834780 (TyFun a6989586621679834780 [a6989586621679834780] -> Type))
data EnumFromToSym1 (l_a3sLb :: a6989586621679834780) (l_a3sLa :: TyFun a6989586621679834780 [a6989586621679834780])
type EnumFromToSym2 (t_a3sL8 :: a6989586621679834780) (t_a3sL9 :: a6989586621679834780) = EnumFromTo t_a3sL8 t_a3sL9
data EnumFromThenToSym0 (l_a3sLs :: TyFun a6989586621679834780 (TyFun a6989586621679834780 (TyFun a6989586621679834780 [a6989586621679834780] -> Type) -> Type))
data EnumFromThenToSym1 (l_a3sLq :: a6989586621679834780) (l_a3sLp :: TyFun a6989586621679834780 (TyFun a6989586621679834780 [a6989586621679834780] -> Type))
data EnumFromThenToSym2 (l_a3sLm :: a6989586621679834780) (l_a3sLn :: a6989586621679834780) (l_a3sLl :: TyFun a6989586621679834780 [a6989586621679834780])
type EnumFromThenToSym3 (t_a3sLi :: a6989586621679834780) (t_a3sLj :: a6989586621679834780) (t_a3sLk :: a6989586621679834780) = EnumFromThenTo t_a3sLi t_a3sLj t_a3sLk


-- | 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_ahd0 b_ahd1 -> 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)
sNot :: forall (t_a1aGI :: Bool). Sing t_a1aGI -> Sing (Apply NotSym0 t_a1aGI :: Bool)
(%:&&) :: forall (t_a1aGL :: Bool) (t_a1aGM :: Bool). Sing t_a1aGL -> Sing t_a1aGM -> Sing (Apply (Apply (:&&$) t_a1aGL) t_a1aGM :: Bool)
infixr 3 %:&&
(%:||) :: forall (t_a1aGJ :: Bool) (t_a1aGK :: Bool). Sing t_a1aGJ -> Sing t_a1aGK -> Sing (Apply (Apply (:||$) t_a1aGJ) t_a1aGK :: Bool)
infixr 2 %:||
sOtherwise :: Sing (OtherwiseSym0 :: Bool)

-- | The promotion of <a>error</a>. This version is more poly-kinded for
--   easier use.
data ErrorSym0 (l_a1IFR :: TyFun k06989586621679418718 k6989586621679418720)

-- | The singleton for <a>error</a>
sError :: Sing (str :: Symbol) -> a
sId :: forall (t_a1bBD :: a_a1by1). Sing t_a1bBD -> Sing (Apply IdSym0 t_a1bBD :: a_a1by1)
sConst :: forall (t_a1bBz :: a_a1bxZ) (t_a1bBA :: b_a1by0). Sing t_a1bBz -> Sing t_a1bBA -> Sing (Apply (Apply ConstSym0 t_a1bBz) t_a1bBA :: a_a1bxZ)
(%:.) :: forall (t_a1bBw :: TyFun b_a1bxW c_a1bxX -> Type) (t_a1bBx :: TyFun a_a1bxY b_a1bxW -> Type) (t_a1bBy :: a_a1bxY). Sing t_a1bBw -> Sing t_a1bBx -> Sing t_a1bBy -> Sing (Apply (Apply (Apply (:.$) t_a1bBw) t_a1bBx) t_a1bBy :: c_a1bxX)
infixr 9 %:.
(%$) :: forall (f :: TyFun a b -> *) (x :: a). Sing f -> Sing x -> Sing ((($$) @@ f) @@ x)
infixr 0 %$
(%$!) :: forall (f :: TyFun a b -> *) (x :: a). Sing f -> Sing x -> Sing ((($!$) @@ f) @@ x)
infixr 0 %$!
sFlip :: forall (t_a1bBt :: TyFun a_a1bxT (TyFun b_a1bxU c_a1bxV -> Type) -> Type) (t_a1bBu :: b_a1bxU) (t_a1bBv :: a_a1bxT). Sing t_a1bBt -> Sing t_a1bBu -> Sing t_a1bBv -> Sing (Apply (Apply (Apply FlipSym0 t_a1bBt) t_a1bBu) t_a1bBv :: c_a1bxV)
sAsTypeOf :: forall (t_a1bBB :: a_a1bxS) (t_a1bBC :: a_a1bxS). Sing t_a1bBB -> Sing t_a1bBC -> Sing (Apply (Apply AsTypeOfSym0 t_a1bBB) t_a1bBC :: a_a1bxS)
sSeq :: forall (t_a1bBr :: a_a1bxQ) (t_a1bBs :: b_a1bxR). Sing t_a1bBr -> Sing t_a1bBs -> Sing (Apply (Apply SeqSym0 t_a1bBr) t_a1bBs :: b_a1bxR)
infixr 0 `sSeq`
sMap :: forall (t_a1bBG :: TyFun a_a1by3 b_a1by4 -> Type) (t_a1bBH :: [a_a1by3]). Sing t_a1bBG -> Sing t_a1bBH -> Sing (Apply (Apply MapSym0 t_a1bBG) t_a1bBH :: [b_a1by4])
(%:++) :: forall (t_a1bBE :: [a_a1by2]) (t_a1bBF :: [a_a1by2]). Sing t_a1bBE -> Sing t_a1bBF -> Sing (Apply (Apply (:++$) t_a1bBE) t_a1bBF :: [a_a1by2])
infixr 5 %:++
sHead :: forall (t_a1Ygx :: [a_a1Xc3]). Sing t_a1Ygx -> Sing (Apply HeadSym0 t_a1Ygx :: a_a1Xc3)
sLast :: forall (t_a1Ygw :: [a_a1Xc2]). Sing t_a1Ygw -> Sing (Apply LastSym0 t_a1Ygw :: a_a1Xc2)
sTail :: forall (t_a1Ygv :: [a_a1Xc1]). Sing t_a1Ygv -> Sing (Apply TailSym0 t_a1Ygv :: [a_a1Xc1])
sInit :: forall (t_a1Ygu :: [a_a1Xc0]). Sing t_a1Ygu -> Sing (Apply InitSym0 t_a1Ygu :: [a_a1Xc0])
sNull :: forall (t_a1Ygr :: [a_a1XbZ]). Sing t_a1Ygr -> Sing (Apply NullSym0 t_a1Ygr :: Bool)
sReverse :: forall (t_a1Ygo :: [a_a1XbY]). Sing t_a1Ygo -> Sing (Apply ReverseSym0 t_a1Ygo :: [a_a1XbY])
sFoldl :: forall (t_a116Q :: TyFun b_a115S (TyFun a_a115R b_a115S -> Type) -> Type) (t_a116R :: b_a115S) (t_a116S :: [a_a115R]). Sing t_a116Q -> Sing t_a116R -> Sing t_a116S -> Sing (Apply (Apply (Apply FoldlSym0 t_a116Q) t_a116R) t_a116S :: b_a115S)
sFoldl1 :: forall (t_a1Yg2 :: TyFun a_a1XbP (TyFun a_a1XbP a_a1XbP -> Type) -> Type) (t_a1Yg3 :: [a_a1XbP]). Sing t_a1Yg2 -> Sing t_a1Yg3 -> Sing (Apply (Apply Foldl1Sym0 t_a1Yg2) t_a1Yg3 :: a_a1XbP)
sFoldr :: forall (t_a1bBI :: TyFun a_a1by5 (TyFun b_a1by6 b_a1by6 -> Type) -> Type) (t_a1bBJ :: b_a1by6) (t_a1bBK :: [a_a1by5]). Sing t_a1bBI -> Sing t_a1bBJ -> Sing t_a1bBK -> Sing (Apply (Apply (Apply FoldrSym0 t_a1bBI) t_a1bBJ) t_a1bBK :: b_a1by6)
sFoldr1 :: forall (t_a1Yg0 :: TyFun a_a1XbN (TyFun a_a1XbN a_a1XbN -> Type) -> Type) (t_a1Yg1 :: [a_a1XbN]). Sing t_a1Yg0 -> Sing t_a1Yg1 -> Sing (Apply (Apply Foldr1Sym0 t_a1Yg0) t_a1Yg1 :: a_a1XbN)
sAnd :: forall (t_a1YfW :: [Bool]). Sing t_a1YfW -> Sing (Apply AndSym0 t_a1YfW :: Bool)
sOr :: forall (t_a1YfV :: [Bool]). Sing t_a1YfV -> Sing (Apply OrSym0 t_a1YfV :: Bool)
sAny_ :: forall (t_a1Uxh :: TyFun a_a1UwX Bool -> Type) (t_a1Uxi :: [a_a1UwX]). Sing t_a1Uxh -> Sing t_a1Uxi -> Sing (Apply (Apply Any_Sym0 t_a1Uxh) t_a1Uxi :: Bool)
sAll :: forall (t_a1YfT :: TyFun a_a1XbJ Bool -> Type) (t_a1YfU :: [a_a1XbJ]). Sing t_a1YfT -> Sing t_a1YfU -> Sing (Apply (Apply AllSym0 t_a1YfT) t_a1YfU :: Bool)
sConcat :: forall (t_a1YfZ :: [[a_a1XbM]]). Sing t_a1YfZ -> Sing (Apply ConcatSym0 t_a1YfZ :: [a_a1XbM])
sConcatMap :: forall (t_a1YfX :: TyFun a_a1XbK [b_a1XbL] -> Type) (t_a1YfY :: [a_a1XbK]). Sing t_a1YfX -> Sing t_a1YfY -> Sing (Apply (Apply ConcatMapSym0 t_a1YfX) t_a1YfY :: [b_a1XbL])
sScanl :: forall (t_a1YfO :: TyFun b_a1XbH (TyFun a_a1XbI b_a1XbH -> Type) -> Type) (t_a1YfP :: b_a1XbH) (t_a1YfQ :: [a_a1XbI]). Sing t_a1YfO -> Sing t_a1YfP -> Sing t_a1YfQ -> Sing (Apply (Apply (Apply ScanlSym0 t_a1YfO) t_a1YfP) t_a1YfQ :: [b_a1XbH])
sScanl1 :: forall (t_a1YfR :: TyFun a_a1XbG (TyFun a_a1XbG a_a1XbG -> Type) -> Type) (t_a1YfS :: [a_a1XbG]). Sing t_a1YfR -> Sing t_a1YfS -> Sing (Apply (Apply Scanl1Sym0 t_a1YfR) t_a1YfS :: [a_a1XbG])
sScanr :: forall (t_a1YfL :: TyFun a_a1XbE (TyFun b_a1XbF b_a1XbF -> Type) -> Type) (t_a1YfM :: b_a1XbF) (t_a1YfN :: [a_a1XbE]). Sing t_a1YfL -> Sing t_a1YfM -> Sing t_a1YfN -> Sing (Apply (Apply (Apply ScanrSym0 t_a1YfL) t_a1YfM) t_a1YfN :: [b_a1XbF])
sScanr1 :: forall (t_a1YfJ :: TyFun a_a1XbD (TyFun a_a1XbD a_a1XbD -> Type) -> Type) (t_a1YfK :: [a_a1XbD]). Sing t_a1YfJ -> Sing t_a1YfK -> Sing (Apply (Apply Scanr1Sym0 t_a1YfJ) t_a1YfK :: [a_a1XbD])
sElem :: forall (t_a1Yfs :: a_a1Xbp) (t_a1Yft :: [a_a1Xbp]). SEq a_a1Xbp => Sing t_a1Yfs -> Sing t_a1Yft -> Sing (Apply (Apply ElemSym0 t_a1Yfs) t_a1Yft :: Bool)
sNotElem :: forall (t_a1Yfq :: a_a1Xbo) (t_a1Yfr :: [a_a1Xbo]). SEq a_a1Xbo => Sing t_a1Yfq -> Sing t_a1Yfr -> Sing (Apply (Apply NotElemSym0 t_a1Yfq) t_a1Yfr :: Bool)
sLookup :: forall (t_a1Yeb :: a_a1Xaf) (t_a1Yec :: [(a_a1Xaf, b_a1Xag)]). SEq a_a1Xaf => Sing t_a1Yeb -> Sing t_a1Yec -> Sing (Apply (Apply LookupSym0 t_a1Yeb) t_a1Yec :: Maybe b_a1Xag)
sZip :: forall (t_a1Yfg :: [a_a1Xbm]) (t_a1Yfh :: [b_a1Xbn]). Sing t_a1Yfg -> Sing t_a1Yfh -> Sing (Apply (Apply ZipSym0 t_a1Yfg) t_a1Yfh :: [(a_a1Xbm, b_a1Xbn)])
sZip3 :: forall (t_a1Yfd :: [a_a1Xbj]) (t_a1Yfe :: [b_a1Xbk]) (t_a1Yff :: [c_a1Xbl]). Sing t_a1Yfd -> Sing t_a1Yfe -> Sing t_a1Yff -> Sing (Apply (Apply (Apply Zip3Sym0 t_a1Yfd) t_a1Yfe) t_a1Yff :: [(a_a1Xbj, b_a1Xbk, c_a1Xbl)])
sZipWith :: forall (t_a1Yfa :: TyFun a_a1Xbg (TyFun b_a1Xbh c_a1Xbi -> Type) -> Type) (t_a1Yfb :: [a_a1Xbg]) (t_a1Yfc :: [b_a1Xbh]). Sing t_a1Yfa -> Sing t_a1Yfb -> Sing t_a1Yfc -> Sing (Apply (Apply (Apply ZipWithSym0 t_a1Yfa) t_a1Yfb) t_a1Yfc :: [c_a1Xbi])
sZipWith3 :: forall (t_a1Yf6 :: TyFun a_a1Xbc (TyFun b_a1Xbd (TyFun c_a1Xbe d_a1Xbf -> Type) -> Type) -> Type) (t_a1Yf7 :: [a_a1Xbc]) (t_a1Yf8 :: [b_a1Xbd]) (t_a1Yf9 :: [c_a1Xbe]). Sing t_a1Yf6 -> Sing t_a1Yf7 -> Sing t_a1Yf8 -> Sing t_a1Yf9 -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a1Yf6) t_a1Yf7) t_a1Yf8) t_a1Yf9 :: [d_a1Xbf])
sUnzip :: forall (t_a1Yf5 :: [(a_a1Xba, b_a1Xbb)]). Sing t_a1Yf5 -> Sing (Apply UnzipSym0 t_a1Yf5 :: ([a_a1Xba], [b_a1Xbb]))
sUnzip3 :: forall (t_a1Yf4 :: [(a_a1Xb7, b_a1Xb8, c_a1Xb9)]). Sing t_a1Yf4 -> Sing (Apply Unzip3Sym0 t_a1Yf4 :: ([a_a1Xb7], [b_a1Xb8], [c_a1Xb9]))
sMaybe_ :: forall (t_a1OOL :: b_a1OOh) (t_a1OOM :: TyFun a_a1OOi b_a1OOh -> Type) (t_a1OON :: Maybe a_a1OOi). Sing t_a1OOL -> Sing t_a1OOM -> Sing t_a1OON -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a1OOL) t_a1OOM) t_a1OON :: b_a1OOh)
sEither_ :: forall (t_a1Rr4 :: TyFun a_a1Rqx c_a1Rqy -> Type) (t_a1Rr5 :: TyFun b_a1Rqz c_a1Rqy -> Type) (t_a1Rr6 :: Either a_a1Rqx b_a1Rqz). Sing t_a1Rr4 -> Sing t_a1Rr5 -> Sing t_a1Rr6 -> Sing (Apply (Apply (Apply Either_Sym0 t_a1Rr4) t_a1Rr5) t_a1Rr6 :: c_a1Rqy)
sFst :: forall (t_a1NML :: (a_a1NLB, b_a1NLC)). Sing t_a1NML -> Sing (Apply FstSym0 t_a1NML :: a_a1NLB)
sSnd :: forall (t_a1NMK :: (a_a1NLz, b_a1NLA)). Sing t_a1NMK -> Sing (Apply SndSym0 t_a1NMK :: b_a1NLA)
sCurry :: forall (t_a1NMH :: TyFun (a_a1NLw, b_a1NLx) c_a1NLy -> Type) (t_a1NMI :: a_a1NLw) (t_a1NMJ :: b_a1NLx). Sing t_a1NMH -> Sing t_a1NMI -> Sing t_a1NMJ -> Sing (Apply (Apply (Apply CurrySym0 t_a1NMH) t_a1NMI) t_a1NMJ :: c_a1NLy)
sUncurry :: forall (t_a1NMM :: TyFun a_a1NLt (TyFun b_a1NLu c_a1NLv -> Type) -> Type) (t_a1NMN :: (a_a1NLt, b_a1NLu)). Sing t_a1NMM -> Sing t_a1NMN -> Sing (Apply (Apply UncurrySym0 t_a1NMM) t_a1NMN :: c_a1NLv)

-- | (Kind) This is the kind of type-level symbols. Declared here because
--   class IP needs it
data Symbol :: *
either_ :: (a_a1Rqx -> c_a1Rqy) -> (b_a1Rqz -> c_a1Rqy) -> Either a_a1Rqx b_a1Rqz -> c_a1Rqy
maybe_ :: b_a1OOh -> (a_a1OOi -> b_a1OOh) -> Maybe a_a1OOi -> b_a1OOh
bool_ :: a_a1awd -> a_a1awd -> Bool -> a_a1awd
any_ :: (a_a1UwX -> Bool) -> [a_a1UwX] -> Bool
type FalseSym0 = False
type TrueSym0 = True
data NotSym0 (l_a1aGf :: TyFun Bool Bool)
type NotSym1 (t_a1aGe :: Bool) = Not t_a1aGe
data (:&&$) (l_a1aGA :: TyFun Bool (TyFun Bool Bool -> Type))
data (:&&$$) (l_a1aGy :: Bool) (l_a1aGx :: TyFun Bool Bool)
type (:&&$$$) (t_a1aGv :: Bool) (t_a1aGw :: Bool) = (:&&) t_a1aGv t_a1aGw
data (:||$) (l_a1aGn :: TyFun Bool (TyFun Bool Bool -> Type))
data (:||$$) (l_a1aGl :: Bool) (l_a1aGk :: TyFun Bool Bool)
type (:||$$$) (t_a1aGi :: Bool) (t_a1aGj :: Bool) = (:||) t_a1aGi t_a1aGj
type OtherwiseSym0 = Otherwise
type NothingSym0 = Nothing
data JustSym0 (l_aY6c :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_aY6b :: a3530822107858468865) = Just t_aY6b
data Maybe_Sym0 (l_a1OOx :: TyFun b6989586621679443437 (TyFun (TyFun a6989586621679443438 b6989586621679443437 -> Type) (TyFun (Maybe a6989586621679443438) b6989586621679443437 -> Type) -> Type))
data Maybe_Sym1 (l_a1OOv :: b6989586621679443437) (l_a1OOu :: TyFun (TyFun a6989586621679443438 b6989586621679443437 -> Type) (TyFun (Maybe a6989586621679443438) b6989586621679443437 -> Type))
data Maybe_Sym2 (l_a1OOr :: b6989586621679443437) (l_a1OOs :: TyFun a6989586621679443438 b6989586621679443437 -> Type) (l_a1OOq :: TyFun (Maybe a6989586621679443438) b6989586621679443437)
type Maybe_Sym3 (t_a1OOn :: b6989586621679443437) (t_a1OOo :: TyFun a6989586621679443438 b6989586621679443437 -> Type) (t_a1OOp :: Maybe a6989586621679443438) = Maybe_ t_a1OOn t_a1OOo t_a1OOp
data LeftSym0 (l_aY6D :: TyFun a6989586621679075946 (Either a6989586621679075946 b6989586621679075947))
type LeftSym1 (t_aY6C :: a6989586621679075946) = Left t_aY6C
data RightSym0 (l_aY6G :: TyFun b6989586621679075947 (Either a6989586621679075946 b6989586621679075947))
type RightSym1 (t_aY6F :: b6989586621679075947) = Right t_aY6F
data Either_Sym0 (l_a1RqP :: TyFun (TyFun a6989586621679453497 c6989586621679453498 -> Type) (TyFun (TyFun b6989586621679453499 c6989586621679453498 -> Type) (TyFun (Either a6989586621679453497 b6989586621679453499) c6989586621679453498 -> Type) -> Type))
data Either_Sym1 (l_a1RqN :: TyFun a6989586621679453497 c6989586621679453498 -> Type) (l_a1RqM :: TyFun (TyFun b6989586621679453499 c6989586621679453498 -> Type) (TyFun (Either a6989586621679453497 b6989586621679453499) c6989586621679453498 -> Type))
data Either_Sym2 (l_a1RqJ :: TyFun a6989586621679453497 c6989586621679453498 -> Type) (l_a1RqK :: TyFun b6989586621679453499 c6989586621679453498 -> Type) (l_a1RqI :: TyFun (Either a6989586621679453497 b6989586621679453499) c6989586621679453498)
type Either_Sym3 (t_a1RqF :: TyFun a6989586621679453497 c6989586621679453498 -> Type) (t_a1RqG :: TyFun b6989586621679453499 c6989586621679453498 -> Type) (t_a1RqH :: Either a6989586621679453497 b6989586621679453499) = Either_ t_a1RqF t_a1RqG t_a1RqH
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_aY7f :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aY7d :: a3530822107858468865) (l_aY7c :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aY7a :: a3530822107858468865) (t_aY7b :: b3530822107858468866) = '(t_aY7a, t_aY7b)
data Tuple3Sym0 (l_aY7D :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aY7B :: a3530822107858468865) (l_aY7A :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aY7x :: a3530822107858468865) (l_aY7y :: b3530822107858468866) (l_aY7w :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aY7t :: a3530822107858468865) (t_aY7u :: b3530822107858468866) (t_aY7v :: c3530822107858468867) = '(t_aY7t, t_aY7u, t_aY7v)
data Tuple4Sym0 (l_aY8c :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aY8a :: a3530822107858468865) (l_aY89 :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aY86 :: a3530822107858468865) (l_aY87 :: b3530822107858468866) (l_aY85 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aY81 :: a3530822107858468865) (l_aY82 :: b3530822107858468866) (l_aY83 :: c3530822107858468867) (l_aY80 :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aY7W :: a3530822107858468865) (t_aY7X :: b3530822107858468866) (t_aY7Y :: c3530822107858468867) (t_aY7Z :: d3530822107858468868) = '(t_aY7W, t_aY7X, t_aY7Y, t_aY7Z)
data Tuple5Sym0 (l_aY8X :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aY8V :: a3530822107858468865) (l_aY8U :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aY8R :: a3530822107858468865) (l_aY8S :: b3530822107858468866) (l_aY8Q :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aY8M :: a3530822107858468865) (l_aY8N :: b3530822107858468866) (l_aY8O :: c3530822107858468867) (l_aY8L :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aY8G :: a3530822107858468865) (l_aY8H :: b3530822107858468866) (l_aY8I :: c3530822107858468867) (l_aY8J :: d3530822107858468868) (l_aY8F :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aY8A :: a3530822107858468865) (t_aY8B :: b3530822107858468866) (t_aY8C :: c3530822107858468867) (t_aY8D :: d3530822107858468868) (t_aY8E :: e3530822107858468869) = '(t_aY8A, t_aY8B, t_aY8C, t_aY8D, t_aY8E)
data Tuple6Sym0 (l_aY9V :: 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_aY9T :: a3530822107858468865) (l_aY9S :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aY9P :: a3530822107858468865) (l_aY9Q :: b3530822107858468866) (l_aY9O :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aY9K :: a3530822107858468865) (l_aY9L :: b3530822107858468866) (l_aY9M :: c3530822107858468867) (l_aY9J :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aY9E :: a3530822107858468865) (l_aY9F :: b3530822107858468866) (l_aY9G :: c3530822107858468867) (l_aY9H :: d3530822107858468868) (l_aY9D :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aY9x :: a3530822107858468865) (l_aY9y :: b3530822107858468866) (l_aY9z :: c3530822107858468867) (l_aY9A :: d3530822107858468868) (l_aY9B :: e3530822107858468869) (l_aY9w :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aY9q :: a3530822107858468865) (t_aY9r :: b3530822107858468866) (t_aY9s :: c3530822107858468867) (t_aY9t :: d3530822107858468868) (t_aY9u :: e3530822107858468869) (t_aY9v :: f3530822107858468870) = '(t_aY9q, t_aY9r, t_aY9s, t_aY9t, t_aY9u, t_aY9v)
data Tuple7Sym0 (l_aYb7 :: 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_aYb5 :: a3530822107858468865) (l_aYb4 :: 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_aYb1 :: a3530822107858468865) (l_aYb2 :: b3530822107858468866) (l_aYb0 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_aYaW :: a3530822107858468865) (l_aYaX :: b3530822107858468866) (l_aYaY :: c3530822107858468867) (l_aYaV :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_aYaQ :: a3530822107858468865) (l_aYaR :: b3530822107858468866) (l_aYaS :: c3530822107858468867) (l_aYaT :: d3530822107858468868) (l_aYaP :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_aYaJ :: a3530822107858468865) (l_aYaK :: b3530822107858468866) (l_aYaL :: c3530822107858468867) (l_aYaM :: d3530822107858468868) (l_aYaN :: e3530822107858468869) (l_aYaI :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_aYaB :: a3530822107858468865) (l_aYaC :: b3530822107858468866) (l_aYaD :: c3530822107858468867) (l_aYaE :: d3530822107858468868) (l_aYaF :: e3530822107858468869) (l_aYaG :: f3530822107858468870) (l_aYaA :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_aYat :: a3530822107858468865) (t_aYau :: b3530822107858468866) (t_aYav :: c3530822107858468867) (t_aYaw :: d3530822107858468868) (t_aYax :: e3530822107858468869) (t_aYay :: f3530822107858468870) (t_aYaz :: g3530822107858468871) = '(t_aYat, t_aYau, t_aYav, t_aYaw, t_aYax, t_aYay, t_aYaz)
data FstSym0 (l_a1NMo :: TyFun (a6989586621679439427, b6989586621679439428) a6989586621679439427)
type FstSym1 (t_a1NMn :: (a6989586621679439427, b6989586621679439428)) = Fst t_a1NMn
data SndSym0 (l_a1NMg :: TyFun (a6989586621679439425, b6989586621679439426) b6989586621679439426)
type SndSym1 (t_a1NMf :: (a6989586621679439425, b6989586621679439426)) = Snd t_a1NMf
data CurrySym0 (l_a1NM7 :: TyFun (TyFun (a6989586621679439422, b6989586621679439423) c6989586621679439424 -> Type) (TyFun a6989586621679439422 (TyFun b6989586621679439423 c6989586621679439424 -> Type) -> Type))
data CurrySym1 (l_a1NM5 :: TyFun (a6989586621679439422, b6989586621679439423) c6989586621679439424 -> Type) (l_a1NM4 :: TyFun a6989586621679439422 (TyFun b6989586621679439423 c6989586621679439424 -> Type))
data CurrySym2 (l_a1NM1 :: TyFun (a6989586621679439422, b6989586621679439423) c6989586621679439424 -> Type) (l_a1NM2 :: a6989586621679439422) (l_a1NM0 :: TyFun b6989586621679439423 c6989586621679439424)
type CurrySym3 (t_a1NLX :: TyFun (a6989586621679439422, b6989586621679439423) c6989586621679439424 -> Type) (t_a1NLY :: a6989586621679439422) (t_a1NLZ :: b6989586621679439423) = Curry t_a1NLX t_a1NLY t_a1NLZ
data UncurrySym0 (l_a1NMA :: TyFun (TyFun a6989586621679439419 (TyFun b6989586621679439420 c6989586621679439421 -> Type) -> Type) (TyFun (a6989586621679439419, b6989586621679439420) c6989586621679439421 -> Type))
data UncurrySym1 (l_a1NMy :: TyFun a6989586621679439419 (TyFun b6989586621679439420 c6989586621679439421 -> Type) -> Type) (l_a1NMx :: TyFun (a6989586621679439419, b6989586621679439420) c6989586621679439421)
type UncurrySym2 (t_a1NMv :: TyFun a6989586621679439419 (TyFun b6989586621679439420 c6989586621679439421 -> Type) -> Type) (t_a1NMw :: (a6989586621679439419, b6989586621679439420)) = Uncurry t_a1NMv t_a1NMw
data IdSym0 (l_a1bAf :: TyFun a6989586621679292513 a6989586621679292513)
type IdSym1 (t_a1bAe :: a6989586621679292513) = Id t_a1bAe
data ConstSym0 (l_a1bzR :: TyFun a6989586621679292511 (TyFun b6989586621679292512 a6989586621679292511 -> Type))
data ConstSym1 (l_a1bzP :: a6989586621679292511) (l_a1bzO :: TyFun b6989586621679292512 a6989586621679292511)
type ConstSym2 (t_a1bzM :: a6989586621679292511) (t_a1bzN :: b6989586621679292512) = Const t_a1bzM t_a1bzN
data (:.$) (l_a1bzg :: TyFun (TyFun b6989586621679292508 c6989586621679292509 -> Type) (TyFun (TyFun a6989586621679292510 b6989586621679292508 -> Type) (TyFun a6989586621679292510 c6989586621679292509 -> Type) -> Type))
data (:.$$) (l_a1bze :: TyFun b6989586621679292508 c6989586621679292509 -> Type) (l_a1bzd :: TyFun (TyFun a6989586621679292510 b6989586621679292508 -> Type) (TyFun a6989586621679292510 c6989586621679292509 -> Type))
data (:.$$$) (l_a1bza :: TyFun b6989586621679292508 c6989586621679292509 -> Type) (l_a1bzb :: TyFun a6989586621679292510 b6989586621679292508 -> Type) (l_a1bz9 :: TyFun a6989586621679292510 c6989586621679292509)
data ($$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> *
data ($$$) :: (TyFun a b -> *) -> TyFun a b -> *
type ($$$$) a b = ($) a b
data ($!$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> *
data ($!$$) :: (TyFun a b -> *) -> TyFun a b -> *
type ($!$$$) a b = ($!) a b
data FlipSym0 (l_a1byY :: TyFun (TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (TyFun b6989586621679292506 (TyFun a6989586621679292505 c6989586621679292507 -> Type) -> Type))
data FlipSym1 (l_a1byW :: TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (l_a1byV :: TyFun b6989586621679292506 (TyFun a6989586621679292505 c6989586621679292507 -> Type))
data FlipSym2 (l_a1byS :: TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (l_a1byT :: b6989586621679292506) (l_a1byR :: TyFun a6989586621679292505 c6989586621679292507)
data AsTypeOfSym0 (l_a1bA8 :: TyFun a6989586621679292504 (TyFun a6989586621679292504 a6989586621679292504 -> Type))
data AsTypeOfSym1 (l_a1bA6 :: a6989586621679292504) (l_a1bA5 :: TyFun a6989586621679292504 a6989586621679292504)
type AsTypeOfSym2 (t_a1bA3 :: a6989586621679292504) (t_a1bA4 :: a6989586621679292504) = AsTypeOf t_a1bA3 t_a1bA4
data SeqSym0 (l_a1byG :: TyFun a6989586621679292502 (TyFun b6989586621679292503 b6989586621679292503 -> Type))
data SeqSym1 (l_a1byE :: a6989586621679292502) (l_a1byD :: TyFun b6989586621679292503 b6989586621679292503)
type SeqSym2 (t_a1byB :: a6989586621679292502) (t_a1byC :: b6989586621679292503) = Seq t_a1byB t_a1byC
data (:$) (l_aY6p :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:$$) (l_aY6n :: a3530822107858468865) (l_aY6m :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:$$$) (t_aY6k :: a3530822107858468865) (t_aY6l :: [a3530822107858468865]) = (:) t_aY6k t_aY6l
type NilSym0 = '[]
data MapSym0 (l_a1bAB :: TyFun (TyFun a6989586621679292515 b6989586621679292516 -> Type) (TyFun [a6989586621679292515] [b6989586621679292516] -> Type))
data MapSym1 (l_a1bAz :: TyFun a6989586621679292515 b6989586621679292516 -> Type) (l_a1bAy :: TyFun [a6989586621679292515] [b6989586621679292516])
type MapSym2 (t_a1bAw :: TyFun a6989586621679292515 b6989586621679292516 -> Type) (t_a1bAx :: [a6989586621679292515]) = Map t_a1bAw t_a1bAx
data ReverseSym0 (l_a1Yb9 :: TyFun [a6989586621679475658] [a6989586621679475658])
type ReverseSym1 (t_a1Yb8 :: [a6989586621679475658]) = Reverse t_a1Yb8
data (:++$$) (l_a1bAm :: [a6989586621679292514]) (l_a1bAl :: TyFun [a6989586621679292514] [a6989586621679292514])
data (:++$) (l_a1bAo :: TyFun [a6989586621679292514] (TyFun [a6989586621679292514] [a6989586621679292514] -> Type))
data HeadSym0 (l_a1YdE :: TyFun [a6989586621679475663] a6989586621679475663)
type HeadSym1 (t_a1YdD :: [a6989586621679475663]) = Head t_a1YdD
data LastSym0 (l_a1Ydu :: TyFun [a6989586621679475662] a6989586621679475662)
type LastSym1 (t_a1Ydt :: [a6989586621679475662]) = Last t_a1Ydt
data TailSym0 (l_a1Ydm :: TyFun [a6989586621679475661] [a6989586621679475661])
type TailSym1 (t_a1Ydl :: [a6989586621679475661]) = Tail t_a1Ydl
data InitSym0 (l_a1YcP :: TyFun [a6989586621679475660] [a6989586621679475660])
type InitSym1 (t_a1YcO :: [a6989586621679475660]) = Init t_a1YcO
data NullSym0 (l_a1YbI :: TyFun [a6989586621679475659] Bool)
type NullSym1 (t_a1YbH :: [a6989586621679475659]) = Null t_a1YbH
data FoldlSym0 (l_a116c :: TyFun (TyFun b6989586621679252328 (TyFun a6989586621679252327 b6989586621679252328 -> Type) -> Type) (TyFun b6989586621679252328 (TyFun [a6989586621679252327] b6989586621679252328 -> Type) -> Type))
data FoldlSym1 (l_a116a :: TyFun b6989586621679252328 (TyFun a6989586621679252327 b6989586621679252328 -> Type) -> Type) (l_a1169 :: TyFun b6989586621679252328 (TyFun [a6989586621679252327] b6989586621679252328 -> Type))
data FoldlSym2 (l_a1166 :: TyFun b6989586621679252328 (TyFun a6989586621679252327 b6989586621679252328 -> Type) -> Type) (l_a1167 :: b6989586621679252328) (l_a1165 :: TyFun [a6989586621679252327] b6989586621679252328)
type FoldlSym3 (t_a1162 :: TyFun b6989586621679252328 (TyFun a6989586621679252327 b6989586621679252328 -> Type) -> Type) (t_a1163 :: b6989586621679252328) (t_a1164 :: [a6989586621679252327]) = Foldl t_a1162 t_a1163 t_a1164
data Foldl1Sym0 (l_a1XYU :: TyFun (TyFun a6989586621679475649 (TyFun a6989586621679475649 a6989586621679475649 -> Type) -> Type) (TyFun [a6989586621679475649] a6989586621679475649 -> Type))
data Foldl1Sym1 (l_a1XYS :: TyFun a6989586621679475649 (TyFun a6989586621679475649 a6989586621679475649 -> Type) -> Type) (l_a1XYR :: TyFun [a6989586621679475649] a6989586621679475649)
type Foldl1Sym2 (t_a1XYP :: TyFun a6989586621679475649 (TyFun a6989586621679475649 a6989586621679475649 -> Type) -> Type) (t_a1XYQ :: [a6989586621679475649]) = Foldl1 t_a1XYP t_a1XYQ
data FoldrSym0 (l_a1bAV :: TyFun (TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (TyFun b6989586621679292518 (TyFun [a6989586621679292517] b6989586621679292518 -> Type) -> Type))
data FoldrSym1 (l_a1bAT :: TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (l_a1bAS :: TyFun b6989586621679292518 (TyFun [a6989586621679292517] b6989586621679292518 -> Type))
data FoldrSym2 (l_a1bAP :: TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (l_a1bAQ :: b6989586621679292518) (l_a1bAO :: TyFun [a6989586621679292517] b6989586621679292518)
type FoldrSym3 (t_a1bAL :: TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (t_a1bAM :: b6989586621679292518) (t_a1bAN :: [a6989586621679292517]) = Foldr t_a1bAL t_a1bAM t_a1bAN
data Foldr1Sym0 (l_a1XYh :: TyFun (TyFun a6989586621679475647 (TyFun a6989586621679475647 a6989586621679475647 -> Type) -> Type) (TyFun [a6989586621679475647] a6989586621679475647 -> Type))
data Foldr1Sym1 (l_a1XYf :: TyFun a6989586621679475647 (TyFun a6989586621679475647 a6989586621679475647 -> Type) -> Type) (l_a1XYe :: TyFun [a6989586621679475647] a6989586621679475647)
type Foldr1Sym2 (t_a1XYc :: TyFun a6989586621679475647 (TyFun a6989586621679475647 a6989586621679475647 -> Type) -> Type) (t_a1XYd :: [a6989586621679475647]) = Foldr1 t_a1XYc t_a1XYd
data ConcatSym0 (l_a1XY8 :: TyFun [[a6989586621679475646]] [a6989586621679475646])
type ConcatSym1 (t_a1XY7 :: [[a6989586621679475646]]) = Concat t_a1XY7
data ConcatMapSym0 (l_a1XXX :: TyFun (TyFun a6989586621679475644 [b6989586621679475645] -> Type) (TyFun [a6989586621679475644] [b6989586621679475645] -> Type))
data ConcatMapSym1 (l_a1XXV :: TyFun a6989586621679475644 [b6989586621679475645] -> Type) (l_a1XXU :: TyFun [a6989586621679475644] [b6989586621679475645])
type ConcatMapSym2 (t_a1XXS :: TyFun a6989586621679475644 [b6989586621679475645] -> Type) (t_a1XXT :: [a6989586621679475644]) = ConcatMap t_a1XXS t_a1XXT
data AndSym0 (l_a1XXN :: TyFun [Bool] Bool)
type AndSym1 (t_a1XXM :: [Bool]) = And t_a1XXM
data OrSym0 (l_a1XXH :: TyFun [Bool] Bool)
type OrSym1 (t_a1XXG :: [Bool]) = Or t_a1XXG
data Any_Sym0 (l_a1Ux7 :: TyFun (TyFun a6989586621679465427 Bool -> Type) (TyFun [a6989586621679465427] Bool -> Type))
data Any_Sym1 (l_a1Ux5 :: TyFun a6989586621679465427 Bool -> Type) (l_a1Ux4 :: TyFun [a6989586621679465427] Bool)
type Any_Sym2 (t_a1Ux2 :: TyFun a6989586621679465427 Bool -> Type) (t_a1Ux3 :: [a6989586621679465427]) = Any_ t_a1Ux2 t_a1Ux3
data AllSym0 (l_a1XXw :: TyFun (TyFun a6989586621679475643 Bool -> Type) (TyFun [a6989586621679475643] Bool -> Type))
data AllSym1 (l_a1XXu :: TyFun a6989586621679475643 Bool -> Type) (l_a1XXt :: TyFun [a6989586621679475643] Bool)
type AllSym2 (t_a1XXr :: TyFun a6989586621679475643 Bool -> Type) (t_a1XXs :: [a6989586621679475643]) = All t_a1XXr t_a1XXs
data ScanlSym0 (l_a1XWZ :: TyFun (TyFun b6989586621679475641 (TyFun a6989586621679475642 b6989586621679475641 -> Type) -> Type) (TyFun b6989586621679475641 (TyFun [a6989586621679475642] [b6989586621679475641] -> Type) -> Type))
data ScanlSym1 (l_a1XWX :: TyFun b6989586621679475641 (TyFun a6989586621679475642 b6989586621679475641 -> Type) -> Type) (l_a1XWW :: TyFun b6989586621679475641 (TyFun [a6989586621679475642] [b6989586621679475641] -> Type))
data ScanlSym2 (l_a1XWT :: TyFun b6989586621679475641 (TyFun a6989586621679475642 b6989586621679475641 -> Type) -> Type) (l_a1XWU :: b6989586621679475641) (l_a1XWS :: TyFun [a6989586621679475642] [b6989586621679475641])
type ScanlSym3 (t_a1XWP :: TyFun b6989586621679475641 (TyFun a6989586621679475642 b6989586621679475641 -> Type) -> Type) (t_a1XWQ :: b6989586621679475641) (t_a1XWR :: [a6989586621679475642]) = Scanl t_a1XWP t_a1XWQ t_a1XWR
data Scanl1Sym0 (l_a1XXh :: TyFun (TyFun a6989586621679475640 (TyFun a6989586621679475640 a6989586621679475640 -> Type) -> Type) (TyFun [a6989586621679475640] [a6989586621679475640] -> Type))
data Scanl1Sym1 (l_a1XXf :: TyFun a6989586621679475640 (TyFun a6989586621679475640 a6989586621679475640 -> Type) -> Type) (l_a1XXe :: TyFun [a6989586621679475640] [a6989586621679475640])
type Scanl1Sym2 (t_a1XXc :: TyFun a6989586621679475640 (TyFun a6989586621679475640 a6989586621679475640 -> Type) -> Type) (t_a1XXd :: [a6989586621679475640]) = Scanl1 t_a1XXc t_a1XXd
data ScanrSym0 (l_a1XWe :: TyFun (TyFun a6989586621679475638 (TyFun b6989586621679475639 b6989586621679475639 -> Type) -> Type) (TyFun b6989586621679475639 (TyFun [a6989586621679475638] [b6989586621679475639] -> Type) -> Type))
data ScanrSym1 (l_a1XWc :: TyFun a6989586621679475638 (TyFun b6989586621679475639 b6989586621679475639 -> Type) -> Type) (l_a1XWb :: TyFun b6989586621679475639 (TyFun [a6989586621679475638] [b6989586621679475639] -> Type))
data ScanrSym2 (l_a1XW8 :: TyFun a6989586621679475638 (TyFun b6989586621679475639 b6989586621679475639 -> Type) -> Type) (l_a1XW9 :: b6989586621679475639) (l_a1XW7 :: TyFun [a6989586621679475638] [b6989586621679475639])
type ScanrSym3 (t_a1XW4 :: TyFun a6989586621679475638 (TyFun b6989586621679475639 b6989586621679475639 -> Type) -> Type) (t_a1XW5 :: b6989586621679475639) (t_a1XW6 :: [a6989586621679475638]) = Scanr t_a1XW4 t_a1XW5 t_a1XW6
data Scanr1Sym0 (l_a1XV8 :: TyFun (TyFun a6989586621679475637 (TyFun a6989586621679475637 a6989586621679475637 -> Type) -> Type) (TyFun [a6989586621679475637] [a6989586621679475637] -> Type))
data Scanr1Sym1 (l_a1XV6 :: TyFun a6989586621679475637 (TyFun a6989586621679475637 a6989586621679475637 -> Type) -> Type) (l_a1XV5 :: TyFun [a6989586621679475637] [a6989586621679475637])
type Scanr1Sym2 (t_a1XV3 :: TyFun a6989586621679475637 (TyFun a6989586621679475637 a6989586621679475637 -> Type) -> Type) (t_a1XV4 :: [a6989586621679475637]) = Scanr1 t_a1XV3 t_a1XV4
data ElemSym0 (l_a1XNf :: TyFun a6989586621679475623 (TyFun [a6989586621679475623] Bool -> Type))
data ElemSym1 (l_a1XNd :: a6989586621679475623) (l_a1XNc :: TyFun [a6989586621679475623] Bool)
type ElemSym2 (t_a1XNa :: a6989586621679475623) (t_a1XNb :: [a6989586621679475623]) = Elem t_a1XNa t_a1XNb
data NotElemSym0 (l_a1XN0 :: TyFun a6989586621679475622 (TyFun [a6989586621679475622] Bool -> Type))
data NotElemSym1 (l_a1XMY :: a6989586621679475622) (l_a1XMX :: TyFun [a6989586621679475622] Bool)
type NotElemSym2 (t_a1XMV :: a6989586621679475622) (t_a1XMW :: [a6989586621679475622]) = NotElem t_a1XMV t_a1XMW
data ZipSym0 (l_a1XKX :: TyFun [a6989586621679475620] (TyFun [b6989586621679475621] [(a6989586621679475620, b6989586621679475621)] -> Type))
data ZipSym1 (l_a1XKV :: [a6989586621679475620]) (l_a1XKU :: TyFun [b6989586621679475621] [(a6989586621679475620, b6989586621679475621)])
type ZipSym2 (t_a1XKS :: [a6989586621679475620]) (t_a1XKT :: [b6989586621679475621]) = Zip t_a1XKS t_a1XKT
data Zip3Sym0 (l_a1XJP :: TyFun [a6989586621679475617] (TyFun [b6989586621679475618] (TyFun [c6989586621679475619] [(a6989586621679475617, b6989586621679475618, c6989586621679475619)] -> Type) -> Type))
data Zip3Sym1 (l_a1XJN :: [a6989586621679475617]) (l_a1XJM :: TyFun [b6989586621679475618] (TyFun [c6989586621679475619] [(a6989586621679475617, b6989586621679475618, c6989586621679475619)] -> Type))
data Zip3Sym2 (l_a1XJJ :: [a6989586621679475617]) (l_a1XJK :: [b6989586621679475618]) (l_a1XJI :: TyFun [c6989586621679475619] [(a6989586621679475617, b6989586621679475618, c6989586621679475619)])
type Zip3Sym3 (t_a1XJF :: [a6989586621679475617]) (t_a1XJG :: [b6989586621679475618]) (t_a1XJH :: [c6989586621679475619]) = Zip3 t_a1XJF t_a1XJG t_a1XJH
data ZipWithSym0 (l_a1XJa :: TyFun (TyFun a6989586621679475614 (TyFun b6989586621679475615 c6989586621679475616 -> Type) -> Type) (TyFun [a6989586621679475614] (TyFun [b6989586621679475615] [c6989586621679475616] -> Type) -> Type))
data ZipWithSym1 (l_a1XJ8 :: TyFun a6989586621679475614 (TyFun b6989586621679475615 c6989586621679475616 -> Type) -> Type) (l_a1XJ7 :: TyFun [a6989586621679475614] (TyFun [b6989586621679475615] [c6989586621679475616] -> Type))
data ZipWithSym2 (l_a1XJ4 :: TyFun a6989586621679475614 (TyFun b6989586621679475615 c6989586621679475616 -> Type) -> Type) (l_a1XJ5 :: [a6989586621679475614]) (l_a1XJ3 :: TyFun [b6989586621679475615] [c6989586621679475616])
type ZipWithSym3 (t_a1XJ0 :: TyFun a6989586621679475614 (TyFun b6989586621679475615 c6989586621679475616 -> Type) -> Type) (t_a1XJ1 :: [a6989586621679475614]) (t_a1XJ2 :: [b6989586621679475615]) = ZipWith t_a1XJ0 t_a1XJ1 t_a1XJ2
data ZipWith3Sym0 (l_a1XHA :: TyFun (TyFun a6989586621679475610 (TyFun b6989586621679475611 (TyFun c6989586621679475612 d6989586621679475613 -> Type) -> Type) -> Type) (TyFun [a6989586621679475610] (TyFun [b6989586621679475611] (TyFun [c6989586621679475612] [d6989586621679475613] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1XHy :: TyFun a6989586621679475610 (TyFun b6989586621679475611 (TyFun c6989586621679475612 d6989586621679475613 -> Type) -> Type) -> Type) (l_a1XHx :: TyFun [a6989586621679475610] (TyFun [b6989586621679475611] (TyFun [c6989586621679475612] [d6989586621679475613] -> Type) -> Type))
data ZipWith3Sym2 (l_a1XHu :: TyFun a6989586621679475610 (TyFun b6989586621679475611 (TyFun c6989586621679475612 d6989586621679475613 -> Type) -> Type) -> Type) (l_a1XHv :: [a6989586621679475610]) (l_a1XHt :: TyFun [b6989586621679475611] (TyFun [c6989586621679475612] [d6989586621679475613] -> Type))
data ZipWith3Sym3 (l_a1XHp :: TyFun a6989586621679475610 (TyFun b6989586621679475611 (TyFun c6989586621679475612 d6989586621679475613 -> Type) -> Type) -> Type) (l_a1XHq :: [a6989586621679475610]) (l_a1XHr :: [b6989586621679475611]) (l_a1XHo :: TyFun [c6989586621679475612] [d6989586621679475613])
data UnzipSym0 (l_a1XGR :: TyFun [(a6989586621679475608, b6989586621679475609)] ([a6989586621679475608], [b6989586621679475609]))
type UnzipSym1 (t_a1XGQ :: [(a6989586621679475608, b6989586621679475609)]) = Unzip t_a1XGQ


-- | 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
any_ :: (a_a1UwX -> Bool) -> [a_a1UwX] -> Bool
type NilSym0 = '[]
data (:$) (l_aY6p :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:$$) (l_aY6n :: a3530822107858468865) (l_aY6m :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:$$$) (t_aY6k :: a3530822107858468865) (t_aY6l :: [a3530822107858468865]) = (:) t_aY6k t_aY6l
type (:++$$$) (t_a1bAj :: [a6989586621679292514]) (t_a1bAk :: [a6989586621679292514]) = (:++) t_a1bAj t_a1bAk
data (:++$$) (l_a1bAm :: [a6989586621679292514]) (l_a1bAl :: TyFun [a6989586621679292514] [a6989586621679292514])
data (:++$) (l_a1bAo :: TyFun [a6989586621679292514] (TyFun [a6989586621679292514] [a6989586621679292514] -> Type))
data HeadSym0 (l_a1YdE :: TyFun [a6989586621679475663] a6989586621679475663)
type HeadSym1 (t_a1YdD :: [a6989586621679475663]) = Head t_a1YdD
data LastSym0 (l_a1Ydu :: TyFun [a6989586621679475662] a6989586621679475662)
type LastSym1 (t_a1Ydt :: [a6989586621679475662]) = Last t_a1Ydt
data TailSym0 (l_a1Ydm :: TyFun [a6989586621679475661] [a6989586621679475661])
type TailSym1 (t_a1Ydl :: [a6989586621679475661]) = Tail t_a1Ydl
data InitSym0 (l_a1YcP :: TyFun [a6989586621679475660] [a6989586621679475660])
type InitSym1 (t_a1YcO :: [a6989586621679475660]) = Init t_a1YcO
data NullSym0 (l_a1YbI :: TyFun [a6989586621679475659] Bool)
type NullSym1 (t_a1YbH :: [a6989586621679475659]) = Null t_a1YbH
data MapSym0 (l_a1bAB :: TyFun (TyFun a6989586621679292515 b6989586621679292516 -> Type) (TyFun [a6989586621679292515] [b6989586621679292516] -> Type))
data MapSym1 (l_a1bAz :: TyFun a6989586621679292515 b6989586621679292516 -> Type) (l_a1bAy :: TyFun [a6989586621679292515] [b6989586621679292516])
type MapSym2 (t_a1bAw :: TyFun a6989586621679292515 b6989586621679292516 -> Type) (t_a1bAx :: [a6989586621679292515]) = Map t_a1bAw t_a1bAx
data ReverseSym0 (l_a1Yb9 :: TyFun [a6989586621679475658] [a6989586621679475658])
type ReverseSym1 (t_a1Yb8 :: [a6989586621679475658]) = Reverse t_a1Yb8
data IntersperseSym0 (l_a1YaN :: TyFun a6989586621679475657 (TyFun [a6989586621679475657] [a6989586621679475657] -> Type))
data IntersperseSym1 (l_a1YaL :: a6989586621679475657) (l_a1YaK :: TyFun [a6989586621679475657] [a6989586621679475657])
type IntersperseSym2 (t_a1YaI :: a6989586621679475657) (t_a1YaJ :: [a6989586621679475657]) = Intersperse t_a1YaI t_a1YaJ
data IntercalateSym0 (l_a1Yb2 :: TyFun [a6989586621679475656] (TyFun [[a6989586621679475656]] [a6989586621679475656] -> Type))
data IntercalateSym1 (l_a1Yb0 :: [a6989586621679475656]) (l_a1YaZ :: TyFun [[a6989586621679475656]] [a6989586621679475656])
type IntercalateSym2 (t_a1YaX :: [a6989586621679475656]) (t_a1YaY :: [[a6989586621679475656]]) = Intercalate t_a1YaX t_a1YaY
data SubsequencesSym0 (l_a1YaE :: TyFun [a6989586621679475655] [[a6989586621679475655]])
type SubsequencesSym1 (t_a1YaD :: [a6989586621679475655]) = Subsequences t_a1YaD
data PermutationsSym0 (l_a1Y3W :: TyFun [a6989586621679475652] [[a6989586621679475652]])
type PermutationsSym1 (t_a1Y3V :: [a6989586621679475652]) = Permutations t_a1Y3V
data FoldlSym0 (l_a116c :: TyFun (TyFun b6989586621679252328 (TyFun a6989586621679252327 b6989586621679252328 -> Type) -> Type) (TyFun b6989586621679252328 (TyFun [a6989586621679252327] b6989586621679252328 -> Type) -> Type))
data FoldlSym1 (l_a116a :: TyFun b6989586621679252328 (TyFun a6989586621679252327 b6989586621679252328 -> Type) -> Type) (l_a1169 :: TyFun b6989586621679252328 (TyFun [a6989586621679252327] b6989586621679252328 -> Type))
data FoldlSym2 (l_a1166 :: TyFun b6989586621679252328 (TyFun a6989586621679252327 b6989586621679252328 -> Type) -> Type) (l_a1167 :: b6989586621679252328) (l_a1165 :: TyFun [a6989586621679252327] b6989586621679252328)
type FoldlSym3 (t_a1162 :: TyFun b6989586621679252328 (TyFun a6989586621679252327 b6989586621679252328 -> Type) -> Type) (t_a1163 :: b6989586621679252328) (t_a1164 :: [a6989586621679252327]) = Foldl t_a1162 t_a1163 t_a1164
data Foldl'Sym0 (l_a1Y2u :: TyFun (TyFun b6989586621679475651 (TyFun a6989586621679475650 b6989586621679475651 -> Type) -> Type) (TyFun b6989586621679475651 (TyFun [a6989586621679475650] b6989586621679475651 -> Type) -> Type))
data Foldl'Sym1 (l_a1Y2s :: TyFun b6989586621679475651 (TyFun a6989586621679475650 b6989586621679475651 -> Type) -> Type) (l_a1Y2r :: TyFun b6989586621679475651 (TyFun [a6989586621679475650] b6989586621679475651 -> Type))
data Foldl'Sym2 (l_a1Y2o :: TyFun b6989586621679475651 (TyFun a6989586621679475650 b6989586621679475651 -> Type) -> Type) (l_a1Y2p :: b6989586621679475651) (l_a1Y2n :: TyFun [a6989586621679475650] b6989586621679475651)
type Foldl'Sym3 (t_a1Y2k :: TyFun b6989586621679475651 (TyFun a6989586621679475650 b6989586621679475651 -> Type) -> Type) (t_a1Y2l :: b6989586621679475651) (t_a1Y2m :: [a6989586621679475650]) = Foldl' t_a1Y2k t_a1Y2l t_a1Y2m
data Foldl1Sym0 (l_a1XYU :: TyFun (TyFun a6989586621679475649 (TyFun a6989586621679475649 a6989586621679475649 -> Type) -> Type) (TyFun [a6989586621679475649] a6989586621679475649 -> Type))
data Foldl1Sym1 (l_a1XYS :: TyFun a6989586621679475649 (TyFun a6989586621679475649 a6989586621679475649 -> Type) -> Type) (l_a1XYR :: TyFun [a6989586621679475649] a6989586621679475649)
type Foldl1Sym2 (t_a1XYP :: TyFun a6989586621679475649 (TyFun a6989586621679475649 a6989586621679475649 -> Type) -> Type) (t_a1XYQ :: [a6989586621679475649]) = Foldl1 t_a1XYP t_a1XYQ
data Foldl1'Sym0 (l_a1Y3L :: TyFun (TyFun a6989586621679475648 (TyFun a6989586621679475648 a6989586621679475648 -> Type) -> Type) (TyFun [a6989586621679475648] a6989586621679475648 -> Type))
data Foldl1'Sym1 (l_a1Y3J :: TyFun a6989586621679475648 (TyFun a6989586621679475648 a6989586621679475648 -> Type) -> Type) (l_a1Y3I :: TyFun [a6989586621679475648] a6989586621679475648)
type Foldl1'Sym2 (t_a1Y3G :: TyFun a6989586621679475648 (TyFun a6989586621679475648 a6989586621679475648 -> Type) -> Type) (t_a1Y3H :: [a6989586621679475648]) = Foldl1' t_a1Y3G t_a1Y3H
data FoldrSym0 (l_a1bAV :: TyFun (TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (TyFun b6989586621679292518 (TyFun [a6989586621679292517] b6989586621679292518 -> Type) -> Type))
data FoldrSym1 (l_a1bAT :: TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (l_a1bAS :: TyFun b6989586621679292518 (TyFun [a6989586621679292517] b6989586621679292518 -> Type))
data FoldrSym2 (l_a1bAP :: TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (l_a1bAQ :: b6989586621679292518) (l_a1bAO :: TyFun [a6989586621679292517] b6989586621679292518)
type FoldrSym3 (t_a1bAL :: TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (t_a1bAM :: b6989586621679292518) (t_a1bAN :: [a6989586621679292517]) = Foldr t_a1bAL t_a1bAM t_a1bAN
data Foldr1Sym0 (l_a1XYh :: TyFun (TyFun a6989586621679475647 (TyFun a6989586621679475647 a6989586621679475647 -> Type) -> Type) (TyFun [a6989586621679475647] a6989586621679475647 -> Type))
data Foldr1Sym1 (l_a1XYf :: TyFun a6989586621679475647 (TyFun a6989586621679475647 a6989586621679475647 -> Type) -> Type) (l_a1XYe :: TyFun [a6989586621679475647] a6989586621679475647)
type Foldr1Sym2 (t_a1XYc :: TyFun a6989586621679475647 (TyFun a6989586621679475647 a6989586621679475647 -> Type) -> Type) (t_a1XYd :: [a6989586621679475647]) = Foldr1 t_a1XYc t_a1XYd
data ConcatSym0 (l_a1XY8 :: TyFun [[a6989586621679475646]] [a6989586621679475646])
type ConcatSym1 (t_a1XY7 :: [[a6989586621679475646]]) = Concat t_a1XY7
data ConcatMapSym0 (l_a1XXX :: TyFun (TyFun a6989586621679475644 [b6989586621679475645] -> Type) (TyFun [a6989586621679475644] [b6989586621679475645] -> Type))
data ConcatMapSym1 (l_a1XXV :: TyFun a6989586621679475644 [b6989586621679475645] -> Type) (l_a1XXU :: TyFun [a6989586621679475644] [b6989586621679475645])
type ConcatMapSym2 (t_a1XXS :: TyFun a6989586621679475644 [b6989586621679475645] -> Type) (t_a1XXT :: [a6989586621679475644]) = ConcatMap t_a1XXS t_a1XXT
data AndSym0 (l_a1XXN :: TyFun [Bool] Bool)
type AndSym1 (t_a1XXM :: [Bool]) = And t_a1XXM
data OrSym0 (l_a1XXH :: TyFun [Bool] Bool)
type OrSym1 (t_a1XXG :: [Bool]) = Or t_a1XXG
data Any_Sym0 (l_a1Ux7 :: TyFun (TyFun a6989586621679465427 Bool -> Type) (TyFun [a6989586621679465427] Bool -> Type))
data Any_Sym1 (l_a1Ux5 :: TyFun a6989586621679465427 Bool -> Type) (l_a1Ux4 :: TyFun [a6989586621679465427] Bool)
type Any_Sym2 (t_a1Ux2 :: TyFun a6989586621679465427 Bool -> Type) (t_a1Ux3 :: [a6989586621679465427]) = Any_ t_a1Ux2 t_a1Ux3
data AllSym0 (l_a1XXw :: TyFun (TyFun a6989586621679475643 Bool -> Type) (TyFun [a6989586621679475643] Bool -> Type))
data AllSym1 (l_a1XXu :: TyFun a6989586621679475643 Bool -> Type) (l_a1XXt :: TyFun [a6989586621679475643] Bool)
type AllSym2 (t_a1XXr :: TyFun a6989586621679475643 Bool -> Type) (t_a1XXs :: [a6989586621679475643]) = All t_a1XXr t_a1XXs
data ScanlSym0 (l_a1XWZ :: TyFun (TyFun b6989586621679475641 (TyFun a6989586621679475642 b6989586621679475641 -> Type) -> Type) (TyFun b6989586621679475641 (TyFun [a6989586621679475642] [b6989586621679475641] -> Type) -> Type))
data ScanlSym1 (l_a1XWX :: TyFun b6989586621679475641 (TyFun a6989586621679475642 b6989586621679475641 -> Type) -> Type) (l_a1XWW :: TyFun b6989586621679475641 (TyFun [a6989586621679475642] [b6989586621679475641] -> Type))
data ScanlSym2 (l_a1XWT :: TyFun b6989586621679475641 (TyFun a6989586621679475642 b6989586621679475641 -> Type) -> Type) (l_a1XWU :: b6989586621679475641) (l_a1XWS :: TyFun [a6989586621679475642] [b6989586621679475641])
type ScanlSym3 (t_a1XWP :: TyFun b6989586621679475641 (TyFun a6989586621679475642 b6989586621679475641 -> Type) -> Type) (t_a1XWQ :: b6989586621679475641) (t_a1XWR :: [a6989586621679475642]) = Scanl t_a1XWP t_a1XWQ t_a1XWR
data Scanl1Sym0 (l_a1XXh :: TyFun (TyFun a6989586621679475640 (TyFun a6989586621679475640 a6989586621679475640 -> Type) -> Type) (TyFun [a6989586621679475640] [a6989586621679475640] -> Type))
data Scanl1Sym1 (l_a1XXf :: TyFun a6989586621679475640 (TyFun a6989586621679475640 a6989586621679475640 -> Type) -> Type) (l_a1XXe :: TyFun [a6989586621679475640] [a6989586621679475640])
type Scanl1Sym2 (t_a1XXc :: TyFun a6989586621679475640 (TyFun a6989586621679475640 a6989586621679475640 -> Type) -> Type) (t_a1XXd :: [a6989586621679475640]) = Scanl1 t_a1XXc t_a1XXd
data ScanrSym0 (l_a1XWe :: TyFun (TyFun a6989586621679475638 (TyFun b6989586621679475639 b6989586621679475639 -> Type) -> Type) (TyFun b6989586621679475639 (TyFun [a6989586621679475638] [b6989586621679475639] -> Type) -> Type))
data ScanrSym1 (l_a1XWc :: TyFun a6989586621679475638 (TyFun b6989586621679475639 b6989586621679475639 -> Type) -> Type) (l_a1XWb :: TyFun b6989586621679475639 (TyFun [a6989586621679475638] [b6989586621679475639] -> Type))
data ScanrSym2 (l_a1XW8 :: TyFun a6989586621679475638 (TyFun b6989586621679475639 b6989586621679475639 -> Type) -> Type) (l_a1XW9 :: b6989586621679475639) (l_a1XW7 :: TyFun [a6989586621679475638] [b6989586621679475639])
type ScanrSym3 (t_a1XW4 :: TyFun a6989586621679475638 (TyFun b6989586621679475639 b6989586621679475639 -> Type) -> Type) (t_a1XW5 :: b6989586621679475639) (t_a1XW6 :: [a6989586621679475638]) = Scanr t_a1XW4 t_a1XW5 t_a1XW6
data Scanr1Sym0 (l_a1XV8 :: TyFun (TyFun a6989586621679475637 (TyFun a6989586621679475637 a6989586621679475637 -> Type) -> Type) (TyFun [a6989586621679475637] [a6989586621679475637] -> Type))
data Scanr1Sym1 (l_a1XV6 :: TyFun a6989586621679475637 (TyFun a6989586621679475637 a6989586621679475637 -> Type) -> Type) (l_a1XV5 :: TyFun [a6989586621679475637] [a6989586621679475637])
type Scanr1Sym2 (t_a1XV3 :: TyFun a6989586621679475637 (TyFun a6989586621679475637 a6989586621679475637 -> Type) -> Type) (t_a1XV4 :: [a6989586621679475637]) = Scanr1 t_a1XV3 t_a1XV4
data MapAccumLSym0 (l_a1XSr :: TyFun (TyFun acc6989586621679475634 (TyFun x6989586621679475635 (acc6989586621679475634, y6989586621679475636) -> Type) -> Type) (TyFun acc6989586621679475634 (TyFun [x6989586621679475635] (acc6989586621679475634, [y6989586621679475636]) -> Type) -> Type))
data MapAccumLSym1 (l_a1XSp :: TyFun acc6989586621679475634 (TyFun x6989586621679475635 (acc6989586621679475634, y6989586621679475636) -> Type) -> Type) (l_a1XSo :: TyFun acc6989586621679475634 (TyFun [x6989586621679475635] (acc6989586621679475634, [y6989586621679475636]) -> Type))
data MapAccumLSym2 (l_a1XSl :: TyFun acc6989586621679475634 (TyFun x6989586621679475635 (acc6989586621679475634, y6989586621679475636) -> Type) -> Type) (l_a1XSm :: acc6989586621679475634) (l_a1XSk :: TyFun [x6989586621679475635] (acc6989586621679475634, [y6989586621679475636]))
type MapAccumLSym3 (t_a1XSh :: TyFun acc6989586621679475634 (TyFun x6989586621679475635 (acc6989586621679475634, y6989586621679475636) -> Type) -> Type) (t_a1XSi :: acc6989586621679475634) (t_a1XSj :: [x6989586621679475635]) = MapAccumL t_a1XSh t_a1XSi t_a1XSj
data MapAccumRSym0 (l_a1XPF :: TyFun (TyFun acc6989586621679475631 (TyFun x6989586621679475632 (acc6989586621679475631, y6989586621679475633) -> Type) -> Type) (TyFun acc6989586621679475631 (TyFun [x6989586621679475632] (acc6989586621679475631, [y6989586621679475633]) -> Type) -> Type))
data MapAccumRSym1 (l_a1XPD :: TyFun acc6989586621679475631 (TyFun x6989586621679475632 (acc6989586621679475631, y6989586621679475633) -> Type) -> Type) (l_a1XPC :: TyFun acc6989586621679475631 (TyFun [x6989586621679475632] (acc6989586621679475631, [y6989586621679475633]) -> Type))
data MapAccumRSym2 (l_a1XPz :: TyFun acc6989586621679475631 (TyFun x6989586621679475632 (acc6989586621679475631, y6989586621679475633) -> Type) -> Type) (l_a1XPA :: acc6989586621679475631) (l_a1XPy :: TyFun [x6989586621679475632] (acc6989586621679475631, [y6989586621679475633]))
type MapAccumRSym3 (t_a1XPv :: TyFun acc6989586621679475631 (TyFun x6989586621679475632 (acc6989586621679475631, y6989586621679475633) -> Type) -> Type) (t_a1XPw :: acc6989586621679475631) (t_a1XPx :: [x6989586621679475632]) = MapAccumR t_a1XPv t_a1XPw t_a1XPx
data UnfoldrSym0 (l_a1XPc :: TyFun (TyFun b6989586621679475629 (Maybe (a6989586621679475630, b6989586621679475629)) -> Type) (TyFun b6989586621679475629 [a6989586621679475630] -> Type))
data UnfoldrSym1 (l_a1XPa :: TyFun b6989586621679475629 (Maybe (a6989586621679475630, b6989586621679475629)) -> Type) (l_a1XP9 :: TyFun b6989586621679475629 [a6989586621679475630])
type UnfoldrSym2 (t_a1XP7 :: TyFun b6989586621679475629 (Maybe (a6989586621679475630, b6989586621679475629)) -> Type) (t_a1XP8 :: b6989586621679475629) = Unfoldr t_a1XP7 t_a1XP8
data InitsSym0 (l_a1XOY :: TyFun [a6989586621679475628] [[a6989586621679475628]])
type InitsSym1 (t_a1XOX :: [a6989586621679475628]) = Inits t_a1XOX
data TailsSym0 (l_a1XOB :: TyFun [a6989586621679475627] [[a6989586621679475627]])
type TailsSym1 (t_a1XOA :: [a6989586621679475627]) = Tails t_a1XOA
data IsPrefixOfSym0 (l_a1XOg :: TyFun [a6989586621679475626] (TyFun [a6989586621679475626] Bool -> Type))
data IsPrefixOfSym1 (l_a1XOe :: [a6989586621679475626]) (l_a1XOd :: TyFun [a6989586621679475626] Bool)
type IsPrefixOfSym2 (t_a1XOb :: [a6989586621679475626]) (t_a1XOc :: [a6989586621679475626]) = IsPrefixOf t_a1XOb t_a1XOc
data IsSuffixOfSym0 (l_a1YbB :: TyFun [a6989586621679475625] (TyFun [a6989586621679475625] Bool -> Type))
data IsSuffixOfSym1 (l_a1Ybz :: [a6989586621679475625]) (l_a1Yby :: TyFun [a6989586621679475625] Bool)
type IsSuffixOfSym2 (t_a1Ybw :: [a6989586621679475625]) (t_a1Ybx :: [a6989586621679475625]) = IsSuffixOf t_a1Ybw t_a1Ybx
data IsInfixOfSym0 (l_a1XOR :: TyFun [a6989586621679475624] (TyFun [a6989586621679475624] Bool -> Type))
data IsInfixOfSym1 (l_a1XOP :: [a6989586621679475624]) (l_a1XOO :: TyFun [a6989586621679475624] Bool)
type IsInfixOfSym2 (t_a1XOM :: [a6989586621679475624]) (t_a1XON :: [a6989586621679475624]) = IsInfixOf t_a1XOM t_a1XON
data ElemSym0 (l_a1XNf :: TyFun a6989586621679475623 (TyFun [a6989586621679475623] Bool -> Type))
data ElemSym1 (l_a1XNd :: a6989586621679475623) (l_a1XNc :: TyFun [a6989586621679475623] Bool)
type ElemSym2 (t_a1XNa :: a6989586621679475623) (t_a1XNb :: [a6989586621679475623]) = Elem t_a1XNa t_a1XNb
data NotElemSym0 (l_a1XN0 :: TyFun a6989586621679475622 (TyFun [a6989586621679475622] Bool -> Type))
data NotElemSym1 (l_a1XMY :: a6989586621679475622) (l_a1XMX :: TyFun [a6989586621679475622] Bool)
type NotElemSym2 (t_a1XMV :: a6989586621679475622) (t_a1XMW :: [a6989586621679475622]) = NotElem t_a1XMV t_a1XMW
data ZipSym0 (l_a1XKX :: TyFun [a6989586621679475620] (TyFun [b6989586621679475621] [(a6989586621679475620, b6989586621679475621)] -> Type))
data ZipSym1 (l_a1XKV :: [a6989586621679475620]) (l_a1XKU :: TyFun [b6989586621679475621] [(a6989586621679475620, b6989586621679475621)])
type ZipSym2 (t_a1XKS :: [a6989586621679475620]) (t_a1XKT :: [b6989586621679475621]) = Zip t_a1XKS t_a1XKT
data Zip3Sym0 (l_a1XJP :: TyFun [a6989586621679475617] (TyFun [b6989586621679475618] (TyFun [c6989586621679475619] [(a6989586621679475617, b6989586621679475618, c6989586621679475619)] -> Type) -> Type))
data Zip3Sym1 (l_a1XJN :: [a6989586621679475617]) (l_a1XJM :: TyFun [b6989586621679475618] (TyFun [c6989586621679475619] [(a6989586621679475617, b6989586621679475618, c6989586621679475619)] -> Type))
data Zip3Sym2 (l_a1XJJ :: [a6989586621679475617]) (l_a1XJK :: [b6989586621679475618]) (l_a1XJI :: TyFun [c6989586621679475619] [(a6989586621679475617, b6989586621679475618, c6989586621679475619)])
type Zip3Sym3 (t_a1XJF :: [a6989586621679475617]) (t_a1XJG :: [b6989586621679475618]) (t_a1XJH :: [c6989586621679475619]) = Zip3 t_a1XJF t_a1XJG t_a1XJH
data ZipWithSym0 (l_a1XJa :: TyFun (TyFun a6989586621679475614 (TyFun b6989586621679475615 c6989586621679475616 -> Type) -> Type) (TyFun [a6989586621679475614] (TyFun [b6989586621679475615] [c6989586621679475616] -> Type) -> Type))
data ZipWithSym1 (l_a1XJ8 :: TyFun a6989586621679475614 (TyFun b6989586621679475615 c6989586621679475616 -> Type) -> Type) (l_a1XJ7 :: TyFun [a6989586621679475614] (TyFun [b6989586621679475615] [c6989586621679475616] -> Type))
data ZipWithSym2 (l_a1XJ4 :: TyFun a6989586621679475614 (TyFun b6989586621679475615 c6989586621679475616 -> Type) -> Type) (l_a1XJ5 :: [a6989586621679475614]) (l_a1XJ3 :: TyFun [b6989586621679475615] [c6989586621679475616])
type ZipWithSym3 (t_a1XJ0 :: TyFun a6989586621679475614 (TyFun b6989586621679475615 c6989586621679475616 -> Type) -> Type) (t_a1XJ1 :: [a6989586621679475614]) (t_a1XJ2 :: [b6989586621679475615]) = ZipWith t_a1XJ0 t_a1XJ1 t_a1XJ2
data ZipWith3Sym0 (l_a1XHA :: TyFun (TyFun a6989586621679475610 (TyFun b6989586621679475611 (TyFun c6989586621679475612 d6989586621679475613 -> Type) -> Type) -> Type) (TyFun [a6989586621679475610] (TyFun [b6989586621679475611] (TyFun [c6989586621679475612] [d6989586621679475613] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1XHy :: TyFun a6989586621679475610 (TyFun b6989586621679475611 (TyFun c6989586621679475612 d6989586621679475613 -> Type) -> Type) -> Type) (l_a1XHx :: TyFun [a6989586621679475610] (TyFun [b6989586621679475611] (TyFun [c6989586621679475612] [d6989586621679475613] -> Type) -> Type))
data ZipWith3Sym2 (l_a1XHu :: TyFun a6989586621679475610 (TyFun b6989586621679475611 (TyFun c6989586621679475612 d6989586621679475613 -> Type) -> Type) -> Type) (l_a1XHv :: [a6989586621679475610]) (l_a1XHt :: TyFun [b6989586621679475611] (TyFun [c6989586621679475612] [d6989586621679475613] -> Type))
data ZipWith3Sym3 (l_a1XHp :: TyFun a6989586621679475610 (TyFun b6989586621679475611 (TyFun c6989586621679475612 d6989586621679475613 -> Type) -> Type) -> Type) (l_a1XHq :: [a6989586621679475610]) (l_a1XHr :: [b6989586621679475611]) (l_a1XHo :: TyFun [c6989586621679475612] [d6989586621679475613])
type ZipWith3Sym4 (t_a1XHk :: TyFun a6989586621679475610 (TyFun b6989586621679475611 (TyFun c6989586621679475612 d6989586621679475613 -> Type) -> Type) -> Type) (t_a1XHl :: [a6989586621679475610]) (t_a1XHm :: [b6989586621679475611]) (t_a1XHn :: [c6989586621679475612]) = ZipWith3 t_a1XHk t_a1XHl t_a1XHm t_a1XHn
data UnzipSym0 (l_a1XGR :: TyFun [(a6989586621679475608, b6989586621679475609)] ([a6989586621679475608], [b6989586621679475609]))
type UnzipSym1 (t_a1XGQ :: [(a6989586621679475608, b6989586621679475609)]) = Unzip t_a1XGQ
data Unzip3Sym0 (l_a1XGl :: TyFun [(a6989586621679475605, b6989586621679475606, c6989586621679475607)] ([a6989586621679475605], [b6989586621679475606], [c6989586621679475607]))
type Unzip3Sym1 (t_a1XGk :: [(a6989586621679475605, b6989586621679475606, c6989586621679475607)]) = Unzip3 t_a1XGk
data Unzip4Sym0 (l_a1XFN :: TyFun [(a6989586621679475601, b6989586621679475602, c6989586621679475603, d6989586621679475604)] ([a6989586621679475601], [b6989586621679475602], [c6989586621679475603], [d6989586621679475604]))
type Unzip4Sym1 (t_a1XFM :: [(a6989586621679475601, b6989586621679475602, c6989586621679475603, d6989586621679475604)]) = Unzip4 t_a1XFM
data Unzip5Sym0 (l_a1XFd :: TyFun [(a6989586621679475596, b6989586621679475597, c6989586621679475598, d6989586621679475599, e6989586621679475600)] ([a6989586621679475596], [b6989586621679475597], [c6989586621679475598], [d6989586621679475599], [e6989586621679475600]))
type Unzip5Sym1 (t_a1XFc :: [(a6989586621679475596, b6989586621679475597, c6989586621679475598, d6989586621679475599, e6989586621679475600)]) = Unzip5 t_a1XFc
data Unzip6Sym0 (l_a1XEB :: TyFun [(a6989586621679475590, b6989586621679475591, c6989586621679475592, d6989586621679475593, e6989586621679475594, f6989586621679475595)] ([a6989586621679475590], [b6989586621679475591], [c6989586621679475592], [d6989586621679475593], [e6989586621679475594], [f6989586621679475595]))
type Unzip6Sym1 (t_a1XEA :: [(a6989586621679475590, b6989586621679475591, c6989586621679475592, d6989586621679475593, e6989586621679475594, f6989586621679475595)]) = Unzip6 t_a1XEA
data Unzip7Sym0 (l_a1XDX :: TyFun [(a6989586621679475583, b6989586621679475584, c6989586621679475585, d6989586621679475586, e6989586621679475587, f6989586621679475588, g6989586621679475589)] ([a6989586621679475583], [b6989586621679475584], [c6989586621679475585], [d6989586621679475586], [e6989586621679475587], [f6989586621679475588], [g6989586621679475589]))
type Unzip7Sym1 (t_a1XDW :: [(a6989586621679475583, b6989586621679475584, c6989586621679475585, d6989586621679475586, e6989586621679475587, f6989586621679475588, g6989586621679475589)]) = Unzip7 t_a1XDW
data DeleteSym0 (l_a1XDB :: TyFun a6989586621679475582 (TyFun [a6989586621679475582] [a6989586621679475582] -> Type))
data DeleteSym1 (l_a1XDz :: a6989586621679475582) (l_a1XDy :: TyFun [a6989586621679475582] [a6989586621679475582])
type DeleteSym2 (t_a1XDw :: a6989586621679475582) (t_a1XDx :: [a6989586621679475582]) = Delete t_a1XDw t_a1XDx
data (:\\$) (l_a1XDQ :: TyFun [a6989586621679475581] (TyFun [a6989586621679475581] [a6989586621679475581] -> Type))
data (:\\$$) (l_a1XDO :: [a6989586621679475581]) (l_a1XDN :: TyFun [a6989586621679475581] [a6989586621679475581])
type (:\\$$$) (t_a1XDL :: [a6989586621679475581]) (t_a1XDM :: [a6989586621679475581]) = (:\\) t_a1XDL t_a1XDM
data IntersectSym0 (l_a1XAb :: TyFun [a6989586621679475568] (TyFun [a6989586621679475568] [a6989586621679475568] -> Type))
data IntersectSym1 (l_a1XA9 :: [a6989586621679475568]) (l_a1XA8 :: TyFun [a6989586621679475568] [a6989586621679475568])
type IntersectSym2 (t_a1XA6 :: [a6989586621679475568]) (t_a1XA7 :: [a6989586621679475568]) = Intersect t_a1XA6 t_a1XA7
data InsertSym0 (l_a1XBo :: TyFun a6989586621679475555 (TyFun [a6989586621679475555] [a6989586621679475555] -> Type))
data InsertSym1 (l_a1XBm :: a6989586621679475555) (l_a1XBl :: TyFun [a6989586621679475555] [a6989586621679475555])
type InsertSym2 (t_a1XBj :: a6989586621679475555) (t_a1XBk :: [a6989586621679475555]) = Insert t_a1XBj t_a1XBk
data SortSym0 (l_a1XBK :: TyFun [a6989586621679475554] [a6989586621679475554])
type SortSym1 (t_a1XBJ :: [a6989586621679475554]) = Sort t_a1XBJ
data DeleteBySym0 (l_a1XBY :: TyFun (TyFun a6989586621679475580 (TyFun a6989586621679475580 Bool -> Type) -> Type) (TyFun a6989586621679475580 (TyFun [a6989586621679475580] [a6989586621679475580] -> Type) -> Type))
data DeleteBySym1 (l_a1XBW :: TyFun a6989586621679475580 (TyFun a6989586621679475580 Bool -> Type) -> Type) (l_a1XBV :: TyFun a6989586621679475580 (TyFun [a6989586621679475580] [a6989586621679475580] -> Type))
data DeleteBySym2 (l_a1XBS :: TyFun a6989586621679475580 (TyFun a6989586621679475580 Bool -> Type) -> Type) (l_a1XBT :: a6989586621679475580) (l_a1XBR :: TyFun [a6989586621679475580] [a6989586621679475580])
type DeleteBySym3 (t_a1XBO :: TyFun a6989586621679475580 (TyFun a6989586621679475580 Bool -> Type) -> Type) (t_a1XBP :: a6989586621679475580) (t_a1XBQ :: [a6989586621679475580]) = DeleteBy t_a1XBO t_a1XBP t_a1XBQ
data DeleteFirstsBySym0 (l_a1XCJ :: TyFun (TyFun a6989586621679475579 (TyFun a6989586621679475579 Bool -> Type) -> Type) (TyFun [a6989586621679475579] (TyFun [a6989586621679475579] [a6989586621679475579] -> Type) -> Type))
data DeleteFirstsBySym1 (l_a1XCH :: TyFun a6989586621679475579 (TyFun a6989586621679475579 Bool -> Type) -> Type) (l_a1XCG :: TyFun [a6989586621679475579] (TyFun [a6989586621679475579] [a6989586621679475579] -> Type))
data DeleteFirstsBySym2 (l_a1XCD :: TyFun a6989586621679475579 (TyFun a6989586621679475579 Bool -> Type) -> Type) (l_a1XCE :: [a6989586621679475579]) (l_a1XCC :: TyFun [a6989586621679475579] [a6989586621679475579])
type DeleteFirstsBySym3 (t_a1XCz :: TyFun a6989586621679475579 (TyFun a6989586621679475579 Bool -> Type) -> Type) (t_a1XCA :: [a6989586621679475579]) (t_a1XCB :: [a6989586621679475579]) = DeleteFirstsBy t_a1XCz t_a1XCA t_a1XCB
data IntersectBySym0 (l_a1Xy7 :: TyFun (TyFun a6989586621679475567 (TyFun a6989586621679475567 Bool -> Type) -> Type) (TyFun [a6989586621679475567] (TyFun [a6989586621679475567] [a6989586621679475567] -> Type) -> Type))
data IntersectBySym1 (l_a1Xy5 :: TyFun a6989586621679475567 (TyFun a6989586621679475567 Bool -> Type) -> Type) (l_a1Xy4 :: TyFun [a6989586621679475567] (TyFun [a6989586621679475567] [a6989586621679475567] -> Type))
data IntersectBySym2 (l_a1Xy1 :: TyFun a6989586621679475567 (TyFun a6989586621679475567 Bool -> Type) -> Type) (l_a1Xy2 :: [a6989586621679475567]) (l_a1Xy0 :: TyFun [a6989586621679475567] [a6989586621679475567])
data SortBySym0 (l_a1XBz :: TyFun (TyFun a6989586621679475578 (TyFun a6989586621679475578 Ordering -> Type) -> Type) (TyFun [a6989586621679475578] [a6989586621679475578] -> Type))
data SortBySym1 (l_a1XBx :: TyFun a6989586621679475578 (TyFun a6989586621679475578 Ordering -> Type) -> Type) (l_a1XBw :: TyFun [a6989586621679475578] [a6989586621679475578])
type SortBySym2 (t_a1XBu :: TyFun a6989586621679475578 (TyFun a6989586621679475578 Ordering -> Type) -> Type) (t_a1XBv :: [a6989586621679475578]) = SortBy t_a1XBu t_a1XBv
data InsertBySym0 (l_a1XAr :: TyFun (TyFun a6989586621679475577 (TyFun a6989586621679475577 Ordering -> Type) -> Type) (TyFun a6989586621679475577 (TyFun [a6989586621679475577] [a6989586621679475577] -> Type) -> Type))
data InsertBySym1 (l_a1XAp :: TyFun a6989586621679475577 (TyFun a6989586621679475577 Ordering -> Type) -> Type) (l_a1XAo :: TyFun a6989586621679475577 (TyFun [a6989586621679475577] [a6989586621679475577] -> Type))
data InsertBySym2 (l_a1XAl :: TyFun a6989586621679475577 (TyFun a6989586621679475577 Ordering -> Type) -> Type) (l_a1XAm :: a6989586621679475577) (l_a1XAk :: TyFun [a6989586621679475577] [a6989586621679475577])
type InsertBySym3 (t_a1XAh :: TyFun a6989586621679475577 (TyFun a6989586621679475577 Ordering -> Type) -> Type) (t_a1XAi :: a6989586621679475577) (t_a1XAj :: [a6989586621679475577]) = InsertBy t_a1XAh t_a1XAi t_a1XAj
data MaximumBySym0 (l_a1XZ9 :: TyFun (TyFun a6989586621679475576 (TyFun a6989586621679475576 Ordering -> Type) -> Type) (TyFun [a6989586621679475576] a6989586621679475576 -> Type))
data MaximumBySym1 (l_a1XZ7 :: TyFun a6989586621679475576 (TyFun a6989586621679475576 Ordering -> Type) -> Type) (l_a1XZ6 :: TyFun [a6989586621679475576] a6989586621679475576)
type MaximumBySym2 (t_a1XZ4 :: TyFun a6989586621679475576 (TyFun a6989586621679475576 Ordering -> Type) -> Type) (t_a1XZ5 :: [a6989586621679475576]) = MaximumBy t_a1XZ4 t_a1XZ5
data MinimumBySym0 (l_a1Y0y :: TyFun (TyFun a6989586621679475575 (TyFun a6989586621679475575 Ordering -> Type) -> Type) (TyFun [a6989586621679475575] a6989586621679475575 -> Type))
data MinimumBySym1 (l_a1Y0w :: TyFun a6989586621679475575 (TyFun a6989586621679475575 Ordering -> Type) -> Type) (l_a1Y0v :: TyFun [a6989586621679475575] a6989586621679475575)
type MinimumBySym2 (t_a1Y0t :: TyFun a6989586621679475575 (TyFun a6989586621679475575 Ordering -> Type) -> Type) (t_a1Y0u :: [a6989586621679475575]) = MinimumBy t_a1Y0t t_a1Y0u
data LengthSym0 (l_a1Xo3 :: TyFun [a6989586621679475546] Nat)
type LengthSym1 (t_a1Xo2 :: [a6989586621679475546]) = Length t_a1Xo2
data SumSym0 (l_a1Xoz :: TyFun [a6989586621679475548] a6989586621679475548)
type SumSym1 (t_a1Xoy :: [a6989586621679475548]) = Sum t_a1Xoy
data ProductSym0 (l_a1Xob :: TyFun [a6989586621679475547] a6989586621679475547)
type ProductSym1 (t_a1Xoa :: [a6989586621679475547]) = Product t_a1Xoa
data ReplicateSym0 (l_a1XnL :: TyFun Nat (TyFun a6989586621679475545 [a6989586621679475545] -> Type))
data ReplicateSym1 (l_a1XnJ :: Nat) (l_a1XnI :: TyFun a6989586621679475545 [a6989586621679475545])
type ReplicateSym2 (t_a1XnG :: Nat) (t_a1XnH :: a6989586621679475545) = Replicate t_a1XnG t_a1XnH
data TransposeSym0 (l_a1YdM :: TyFun [[a6989586621679475544]] [[a6989586621679475544]])
type TransposeSym1 (t_a1YdL :: [[a6989586621679475544]]) = Transpose t_a1YdL
data TakeSym0 (l_a1XqW :: TyFun Nat (TyFun [a6989586621679475561] [a6989586621679475561] -> Type))
data TakeSym1 (l_a1XqU :: Nat) (l_a1XqT :: TyFun [a6989586621679475561] [a6989586621679475561])
type TakeSym2 (t_a1XqR :: Nat) (t_a1XqS :: [a6989586621679475561]) = Take t_a1XqR t_a1XqS
data DropSym0 (l_a1Xqr :: TyFun Nat (TyFun [a6989586621679475560] [a6989586621679475560] -> Type))
data DropSym1 (l_a1Xqp :: Nat) (l_a1Xqo :: TyFun [a6989586621679475560] [a6989586621679475560])
type DropSym2 (t_a1Xqm :: Nat) (t_a1Xqn :: [a6989586621679475560]) = Drop t_a1Xqm t_a1Xqn
data SplitAtSym0 (l_a1Xrr :: TyFun Nat (TyFun [a6989586621679475559] ([a6989586621679475559], [a6989586621679475559]) -> Type))
data SplitAtSym1 (l_a1Xrp :: Nat) (l_a1Xro :: TyFun [a6989586621679475559] ([a6989586621679475559], [a6989586621679475559]))
type SplitAtSym2 (t_a1Xrm :: Nat) (t_a1Xrn :: [a6989586621679475559]) = SplitAt t_a1Xrm t_a1Xrn
data TakeWhileSym0 (l_a1XwR :: TyFun (TyFun a6989586621679475566 Bool -> Type) (TyFun [a6989586621679475566] [a6989586621679475566] -> Type))
data TakeWhileSym1 (l_a1XwP :: TyFun a6989586621679475566 Bool -> Type) (l_a1XwO :: TyFun [a6989586621679475566] [a6989586621679475566])
type TakeWhileSym2 (t_a1XwM :: TyFun a6989586621679475566 Bool -> Type) (t_a1XwN :: [a6989586621679475566]) = TakeWhile t_a1XwM t_a1XwN
data DropWhileSym0 (l_a1Xw9 :: TyFun (TyFun a6989586621679475565 Bool -> Type) (TyFun [a6989586621679475565] [a6989586621679475565] -> Type))
data DropWhileSym1 (l_a1Xw7 :: TyFun a6989586621679475565 Bool -> Type) (l_a1Xw6 :: TyFun [a6989586621679475565] [a6989586621679475565])
type DropWhileSym2 (t_a1Xw4 :: TyFun a6989586621679475565 Bool -> Type) (t_a1Xw5 :: [a6989586621679475565]) = DropWhile t_a1Xw4 t_a1Xw5
data DropWhileEndSym0 (l_a1YbW :: TyFun (TyFun a6989586621679475564 Bool -> Type) (TyFun [a6989586621679475564] [a6989586621679475564] -> Type))
data DropWhileEndSym1 (l_a1YbU :: TyFun a6989586621679475564 Bool -> Type) (l_a1YbT :: TyFun [a6989586621679475564] [a6989586621679475564])
type DropWhileEndSym2 (t_a1YbR :: TyFun a6989586621679475564 Bool -> Type) (t_a1YbS :: [a6989586621679475564]) = DropWhileEnd t_a1YbR t_a1YbS
data SpanSym0 (l_a1Xtg :: TyFun (TyFun a6989586621679475563 Bool -> Type) (TyFun [a6989586621679475563] ([a6989586621679475563], [a6989586621679475563]) -> Type))
data SpanSym1 (l_a1Xte :: TyFun a6989586621679475563 Bool -> Type) (l_a1Xtd :: TyFun [a6989586621679475563] ([a6989586621679475563], [a6989586621679475563]))
type SpanSym2 (t_a1Xtb :: TyFun a6989586621679475563 Bool -> Type) (t_a1Xtc :: [a6989586621679475563]) = Span t_a1Xtb t_a1Xtc
data BreakSym0 (l_a1XrC :: TyFun (TyFun a6989586621679475562 Bool -> Type) (TyFun [a6989586621679475562] ([a6989586621679475562], [a6989586621679475562]) -> Type))
data BreakSym1 (l_a1XrA :: TyFun a6989586621679475562 Bool -> Type) (l_a1Xrz :: TyFun [a6989586621679475562] ([a6989586621679475562], [a6989586621679475562]))
type BreakSym2 (t_a1Xrx :: TyFun a6989586621679475562 Bool -> Type) (t_a1Xry :: [a6989586621679475562]) = Break t_a1Xrx t_a1Xry
data StripPrefixSym0 (l_a3KSH :: TyFun [a6989586621679904319] (TyFun [a6989586621679904319] (Maybe [a6989586621679904319]) -> Type))
data StripPrefixSym1 (l_a3KSF :: [a6989586621679904319]) (l_a3KSE :: TyFun [a6989586621679904319] (Maybe [a6989586621679904319]))
type StripPrefixSym2 (t_a3KSC :: [a6989586621679904319]) (t_a3KSD :: [a6989586621679904319]) = StripPrefix t_a3KSC t_a3KSD
data MaximumSym0 (l_a1Y1T :: TyFun [a6989586621679475557] a6989586621679475557)
type MaximumSym1 (t_a1Y1S :: [a6989586621679475557]) = Maximum t_a1Y1S
data MinimumSym0 (l_a1Y27 :: TyFun [a6989586621679475556] a6989586621679475556)
type MinimumSym1 (t_a1Y26 :: [a6989586621679475556]) = Minimum t_a1Y26
data GroupSym0 (l_a1Xw0 :: TyFun [a6989586621679475558] [[a6989586621679475558]])
type GroupSym1 (t_a1XvZ :: [a6989586621679475558]) = Group t_a1XvZ
data GroupBySym0 (l_a1XuU :: TyFun (TyFun a6989586621679475553 (TyFun a6989586621679475553 Bool -> Type) -> Type) (TyFun [a6989586621679475553] [[a6989586621679475553]] -> Type))
data GroupBySym1 (l_a1XuS :: TyFun a6989586621679475553 (TyFun a6989586621679475553 Bool -> Type) -> Type) (l_a1XuR :: TyFun [a6989586621679475553] [[a6989586621679475553]])
type GroupBySym2 (t_a1XuP :: TyFun a6989586621679475553 (TyFun a6989586621679475553 Bool -> Type) -> Type) (t_a1XuQ :: [a6989586621679475553]) = GroupBy t_a1XuP t_a1XuQ
data LookupSym0 (l_a1XpR :: TyFun a6989586621679475551 (TyFun [(a6989586621679475551, b6989586621679475552)] (Maybe b6989586621679475552) -> Type))
data LookupSym1 (l_a1XpP :: a6989586621679475551) (l_a1XpO :: TyFun [(a6989586621679475551, b6989586621679475552)] (Maybe b6989586621679475552))
type LookupSym2 (t_a1XpM :: a6989586621679475551) (t_a1XpN :: [(a6989586621679475551, b6989586621679475552)]) = Lookup t_a1XpM t_a1XpN
data FindSym0 (l_a1XxP :: TyFun (TyFun a6989586621679475573 Bool -> Type) (TyFun [a6989586621679475573] (Maybe a6989586621679475573) -> Type))
data FindSym1 (l_a1XxN :: TyFun a6989586621679475573 Bool -> Type) (l_a1XxM :: TyFun [a6989586621679475573] (Maybe a6989586621679475573))
type FindSym2 (t_a1XxK :: TyFun a6989586621679475573 Bool -> Type) (t_a1XxL :: [a6989586621679475573]) = Find t_a1XxK t_a1XxL
data FilterSym0 (l_a1Xxm :: TyFun (TyFun a6989586621679475574 Bool -> Type) (TyFun [a6989586621679475574] [a6989586621679475574] -> Type))
data FilterSym1 (l_a1Xxk :: TyFun a6989586621679475574 Bool -> Type) (l_a1Xxj :: TyFun [a6989586621679475574] [a6989586621679475574])
type FilterSym2 (t_a1Xxh :: TyFun a6989586621679475574 Bool -> Type) (t_a1Xxi :: [a6989586621679475574]) = Filter t_a1Xxh t_a1Xxi
data PartitionSym0 (l_a1XpG :: TyFun (TyFun a6989586621679475550 Bool -> Type) (TyFun [a6989586621679475550] ([a6989586621679475550], [a6989586621679475550]) -> Type))
data PartitionSym1 (l_a1XpE :: TyFun a6989586621679475550 Bool -> Type) (l_a1XpD :: TyFun [a6989586621679475550] ([a6989586621679475550], [a6989586621679475550]))
type PartitionSym2 (t_a1XpB :: TyFun a6989586621679475550 Bool -> Type) (t_a1XpC :: [a6989586621679475550]) = Partition t_a1XpB t_a1XpC
data (:!!$) (l_a1Xng :: TyFun [a6989586621679475543] (TyFun Nat a6989586621679475543 -> Type))
data (:!!$$) (l_a1Xne :: [a6989586621679475543]) (l_a1Xnd :: TyFun Nat a6989586621679475543)
type (:!!$$$) (t_a1Xnb :: [a6989586621679475543]) (t_a1Xnc :: Nat) = (:!!) t_a1Xnb t_a1Xnc
data ElemIndexSym0 (l_a1XMN :: TyFun a6989586621679475572 (TyFun [a6989586621679475572] (Maybe Nat) -> Type))
data ElemIndexSym1 (l_a1XML :: a6989586621679475572) (l_a1XMK :: TyFun [a6989586621679475572] (Maybe Nat))
type ElemIndexSym2 (t_a1XMI :: a6989586621679475572) (t_a1XMJ :: [a6989586621679475572]) = ElemIndex t_a1XMI t_a1XMJ
data ElemIndicesSym0 (l_a1XMn :: TyFun a6989586621679475571 (TyFun [a6989586621679475571] [Nat] -> Type))
data ElemIndicesSym1 (l_a1XMl :: a6989586621679475571) (l_a1XMk :: TyFun [a6989586621679475571] [Nat])
type ElemIndicesSym2 (t_a1XMi :: a6989586621679475571) (t_a1XMj :: [a6989586621679475571]) = ElemIndices t_a1XMi t_a1XMj
data FindIndexSym0 (l_a1XMA :: TyFun (TyFun a6989586621679475570 Bool -> Type) (TyFun [a6989586621679475570] (Maybe Nat) -> Type))
data FindIndexSym1 (l_a1XMy :: TyFun a6989586621679475570 Bool -> Type) (l_a1XMx :: TyFun [a6989586621679475570] (Maybe Nat))
type FindIndexSym2 (t_a1XMv :: TyFun a6989586621679475570 Bool -> Type) (t_a1XMw :: [a6989586621679475570]) = FindIndex t_a1XMv t_a1XMw
data FindIndicesSym0 (l_a1XLm :: TyFun (TyFun a6989586621679475569 Bool -> Type) (TyFun [a6989586621679475569] [Nat] -> Type))
data FindIndicesSym1 (l_a1XLk :: TyFun a6989586621679475569 Bool -> Type) (l_a1XLj :: TyFun [a6989586621679475569] [Nat])
type FindIndicesSym2 (t_a1XLh :: TyFun a6989586621679475569 Bool -> Type) (t_a1XLi :: [a6989586621679475569]) = FindIndices t_a1XLh t_a1XLi
data Zip4Sym0 (l_a3KSs :: TyFun [a6989586621679904315] (TyFun [b6989586621679904316] (TyFun [c6989586621679904317] (TyFun [d6989586621679904318] [(a6989586621679904315, b6989586621679904316, c6989586621679904317, d6989586621679904318)] -> Type) -> Type) -> Type))
data Zip4Sym1 (l_a3KSq :: [a6989586621679904315]) (l_a3KSp :: TyFun [b6989586621679904316] (TyFun [c6989586621679904317] (TyFun [d6989586621679904318] [(a6989586621679904315, b6989586621679904316, c6989586621679904317, d6989586621679904318)] -> Type) -> Type))
data Zip4Sym2 (l_a3KSm :: [a6989586621679904315]) (l_a3KSn :: [b6989586621679904316]) (l_a3KSl :: TyFun [c6989586621679904317] (TyFun [d6989586621679904318] [(a6989586621679904315, b6989586621679904316, c6989586621679904317, d6989586621679904318)] -> Type))
data Zip4Sym3 (l_a3KSh :: [a6989586621679904315]) (l_a3KSi :: [b6989586621679904316]) (l_a3KSj :: [c6989586621679904317]) (l_a3KSg :: TyFun [d6989586621679904318] [(a6989586621679904315, b6989586621679904316, c6989586621679904317, d6989586621679904318)])
type Zip4Sym4 (t_a3KSc :: [a6989586621679904315]) (t_a3KSd :: [b6989586621679904316]) (t_a3KSe :: [c6989586621679904317]) (t_a3KSf :: [d6989586621679904318]) = Zip4 t_a3KSc t_a3KSd t_a3KSe t_a3KSf
data Zip5Sym0 (l_a3KRS :: TyFun [a6989586621679904310] (TyFun [b6989586621679904311] (TyFun [c6989586621679904312] (TyFun [d6989586621679904313] (TyFun [e6989586621679904314] [(a6989586621679904310, b6989586621679904311, c6989586621679904312, d6989586621679904313, e6989586621679904314)] -> Type) -> Type) -> Type) -> Type))
data Zip5Sym1 (l_a3KRQ :: [a6989586621679904310]) (l_a3KRP :: TyFun [b6989586621679904311] (TyFun [c6989586621679904312] (TyFun [d6989586621679904313] (TyFun [e6989586621679904314] [(a6989586621679904310, b6989586621679904311, c6989586621679904312, d6989586621679904313, e6989586621679904314)] -> Type) -> Type) -> Type))
data Zip5Sym2 (l_a3KRM :: [a6989586621679904310]) (l_a3KRN :: [b6989586621679904311]) (l_a3KRL :: TyFun [c6989586621679904312] (TyFun [d6989586621679904313] (TyFun [e6989586621679904314] [(a6989586621679904310, b6989586621679904311, c6989586621679904312, d6989586621679904313, e6989586621679904314)] -> Type) -> Type))
data Zip5Sym3 (l_a3KRH :: [a6989586621679904310]) (l_a3KRI :: [b6989586621679904311]) (l_a3KRJ :: [c6989586621679904312]) (l_a3KRG :: TyFun [d6989586621679904313] (TyFun [e6989586621679904314] [(a6989586621679904310, b6989586621679904311, c6989586621679904312, d6989586621679904313, e6989586621679904314)] -> Type))
data Zip5Sym4 (l_a3KRB :: [a6989586621679904310]) (l_a3KRC :: [b6989586621679904311]) (l_a3KRD :: [c6989586621679904312]) (l_a3KRE :: [d6989586621679904313]) (l_a3KRA :: TyFun [e6989586621679904314] [(a6989586621679904310, b6989586621679904311, c6989586621679904312, d6989586621679904313, e6989586621679904314)])
type Zip5Sym5 (t_a3KRv :: [a6989586621679904310]) (t_a3KRw :: [b6989586621679904311]) (t_a3KRx :: [c6989586621679904312]) (t_a3KRy :: [d6989586621679904313]) (t_a3KRz :: [e6989586621679904314]) = Zip5 t_a3KRv t_a3KRw t_a3KRx t_a3KRy t_a3KRz
data Zip6Sym0 (l_a3KR7 :: TyFun [a6989586621679904304] (TyFun [b6989586621679904305] (TyFun [c6989586621679904306] (TyFun [d6989586621679904307] (TyFun [e6989586621679904308] (TyFun [f6989586621679904309] [(a6989586621679904304, b6989586621679904305, c6989586621679904306, d6989586621679904307, e6989586621679904308, f6989586621679904309)] -> Type) -> Type) -> Type) -> Type) -> Type))
data Zip6Sym1 (l_a3KR5 :: [a6989586621679904304]) (l_a3KR4 :: TyFun [b6989586621679904305] (TyFun [c6989586621679904306] (TyFun [d6989586621679904307] (TyFun [e6989586621679904308] (TyFun [f6989586621679904309] [(a6989586621679904304, b6989586621679904305, c6989586621679904306, d6989586621679904307, e6989586621679904308, f6989586621679904309)] -> Type) -> Type) -> Type) -> Type))
data Zip6Sym2 (l_a3KR1 :: [a6989586621679904304]) (l_a3KR2 :: [b6989586621679904305]) (l_a3KR0 :: TyFun [c6989586621679904306] (TyFun [d6989586621679904307] (TyFun [e6989586621679904308] (TyFun [f6989586621679904309] [(a6989586621679904304, b6989586621679904305, c6989586621679904306, d6989586621679904307, e6989586621679904308, f6989586621679904309)] -> Type) -> Type) -> Type))
data Zip6Sym3 (l_a3KQW :: [a6989586621679904304]) (l_a3KQX :: [b6989586621679904305]) (l_a3KQY :: [c6989586621679904306]) (l_a3KQV :: TyFun [d6989586621679904307] (TyFun [e6989586621679904308] (TyFun [f6989586621679904309] [(a6989586621679904304, b6989586621679904305, c6989586621679904306, d6989586621679904307, e6989586621679904308, f6989586621679904309)] -> Type) -> Type))
data Zip6Sym4 (l_a3KQQ :: [a6989586621679904304]) (l_a3KQR :: [b6989586621679904305]) (l_a3KQS :: [c6989586621679904306]) (l_a3KQT :: [d6989586621679904307]) (l_a3KQP :: TyFun [e6989586621679904308] (TyFun [f6989586621679904309] [(a6989586621679904304, b6989586621679904305, c6989586621679904306, d6989586621679904307, e6989586621679904308, f6989586621679904309)] -> Type))
data Zip6Sym5 (l_a3KQJ :: [a6989586621679904304]) (l_a3KQK :: [b6989586621679904305]) (l_a3KQL :: [c6989586621679904306]) (l_a3KQM :: [d6989586621679904307]) (l_a3KQN :: [e6989586621679904308]) (l_a3KQI :: TyFun [f6989586621679904309] [(a6989586621679904304, b6989586621679904305, c6989586621679904306, d6989586621679904307, e6989586621679904308, f6989586621679904309)])
type Zip6Sym6 (t_a3KQC :: [a6989586621679904304]) (t_a3KQD :: [b6989586621679904305]) (t_a3KQE :: [c6989586621679904306]) (t_a3KQF :: [d6989586621679904307]) (t_a3KQG :: [e6989586621679904308]) (t_a3KQH :: [f6989586621679904309]) = Zip6 t_a3KQC t_a3KQD t_a3KQE t_a3KQF t_a3KQG t_a3KQH
data Zip7Sym0 (l_a3KQa :: TyFun [a6989586621679904297] (TyFun [b6989586621679904298] (TyFun [c6989586621679904299] (TyFun [d6989586621679904300] (TyFun [e6989586621679904301] (TyFun [f6989586621679904302] (TyFun [g6989586621679904303] [(a6989586621679904297, b6989586621679904298, c6989586621679904299, d6989586621679904300, e6989586621679904301, f6989586621679904302, g6989586621679904303)] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data Zip7Sym1 (l_a3KQ8 :: [a6989586621679904297]) (l_a3KQ7 :: TyFun [b6989586621679904298] (TyFun [c6989586621679904299] (TyFun [d6989586621679904300] (TyFun [e6989586621679904301] (TyFun [f6989586621679904302] (TyFun [g6989586621679904303] [(a6989586621679904297, b6989586621679904298, c6989586621679904299, d6989586621679904300, e6989586621679904301, f6989586621679904302, g6989586621679904303)] -> Type) -> Type) -> Type) -> Type) -> Type))
data Zip7Sym2 (l_a3KQ4 :: [a6989586621679904297]) (l_a3KQ5 :: [b6989586621679904298]) (l_a3KQ3 :: TyFun [c6989586621679904299] (TyFun [d6989586621679904300] (TyFun [e6989586621679904301] (TyFun [f6989586621679904302] (TyFun [g6989586621679904303] [(a6989586621679904297, b6989586621679904298, c6989586621679904299, d6989586621679904300, e6989586621679904301, f6989586621679904302, g6989586621679904303)] -> Type) -> Type) -> Type) -> Type))
data Zip7Sym3 (l_a3KPZ :: [a6989586621679904297]) (l_a3KQ0 :: [b6989586621679904298]) (l_a3KQ1 :: [c6989586621679904299]) (l_a3KPY :: TyFun [d6989586621679904300] (TyFun [e6989586621679904301] (TyFun [f6989586621679904302] (TyFun [g6989586621679904303] [(a6989586621679904297, b6989586621679904298, c6989586621679904299, d6989586621679904300, e6989586621679904301, f6989586621679904302, g6989586621679904303)] -> Type) -> Type) -> Type))
data Zip7Sym4 (l_a3KPT :: [a6989586621679904297]) (l_a3KPU :: [b6989586621679904298]) (l_a3KPV :: [c6989586621679904299]) (l_a3KPW :: [d6989586621679904300]) (l_a3KPS :: TyFun [e6989586621679904301] (TyFun [f6989586621679904302] (TyFun [g6989586621679904303] [(a6989586621679904297, b6989586621679904298, c6989586621679904299, d6989586621679904300, e6989586621679904301, f6989586621679904302, g6989586621679904303)] -> Type) -> Type))
data Zip7Sym5 (l_a3KPM :: [a6989586621679904297]) (l_a3KPN :: [b6989586621679904298]) (l_a3KPO :: [c6989586621679904299]) (l_a3KPP :: [d6989586621679904300]) (l_a3KPQ :: [e6989586621679904301]) (l_a3KPL :: TyFun [f6989586621679904302] (TyFun [g6989586621679904303] [(a6989586621679904297, b6989586621679904298, c6989586621679904299, d6989586621679904300, e6989586621679904301, f6989586621679904302, g6989586621679904303)] -> Type))
data Zip7Sym6 (l_a3KPE :: [a6989586621679904297]) (l_a3KPF :: [b6989586621679904298]) (l_a3KPG :: [c6989586621679904299]) (l_a3KPH :: [d6989586621679904300]) (l_a3KPI :: [e6989586621679904301]) (l_a3KPJ :: [f6989586621679904302]) (l_a3KPD :: TyFun [g6989586621679904303] [(a6989586621679904297, b6989586621679904298, c6989586621679904299, d6989586621679904300, e6989586621679904301, f6989586621679904302, g6989586621679904303)])
type Zip7Sym7 (t_a3KPw :: [a6989586621679904297]) (t_a3KPx :: [b6989586621679904298]) (t_a3KPy :: [c6989586621679904299]) (t_a3KPz :: [d6989586621679904300]) (t_a3KPA :: [e6989586621679904301]) (t_a3KPB :: [f6989586621679904302]) (t_a3KPC :: [g6989586621679904303]) = Zip7 t_a3KPw t_a3KPx t_a3KPy t_a3KPz t_a3KPA t_a3KPB t_a3KPC
data ZipWith4Sym0 (l_a3KON :: TyFun (TyFun a6989586621679904292 (TyFun b6989586621679904293 (TyFun c6989586621679904294 (TyFun d6989586621679904295 e6989586621679904296 -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679904292] (TyFun [b6989586621679904293] (TyFun [c6989586621679904294] (TyFun [d6989586621679904295] [e6989586621679904296] -> Type) -> Type) -> Type) -> Type))
data ZipWith4Sym1 (l_a3KOL :: TyFun a6989586621679904292 (TyFun b6989586621679904293 (TyFun c6989586621679904294 (TyFun d6989586621679904295 e6989586621679904296 -> Type) -> Type) -> Type) -> Type) (l_a3KOK :: TyFun [a6989586621679904292] (TyFun [b6989586621679904293] (TyFun [c6989586621679904294] (TyFun [d6989586621679904295] [e6989586621679904296] -> Type) -> Type) -> Type))
data ZipWith4Sym2 (l_a3KOH :: TyFun a6989586621679904292 (TyFun b6989586621679904293 (TyFun c6989586621679904294 (TyFun d6989586621679904295 e6989586621679904296 -> Type) -> Type) -> Type) -> Type) (l_a3KOI :: [a6989586621679904292]) (l_a3KOG :: TyFun [b6989586621679904293] (TyFun [c6989586621679904294] (TyFun [d6989586621679904295] [e6989586621679904296] -> Type) -> Type))
data ZipWith4Sym3 (l_a3KOC :: TyFun a6989586621679904292 (TyFun b6989586621679904293 (TyFun c6989586621679904294 (TyFun d6989586621679904295 e6989586621679904296 -> Type) -> Type) -> Type) -> Type) (l_a3KOD :: [a6989586621679904292]) (l_a3KOE :: [b6989586621679904293]) (l_a3KOB :: TyFun [c6989586621679904294] (TyFun [d6989586621679904295] [e6989586621679904296] -> Type))
data ZipWith4Sym4 (l_a3KOw :: TyFun a6989586621679904292 (TyFun b6989586621679904293 (TyFun c6989586621679904294 (TyFun d6989586621679904295 e6989586621679904296 -> Type) -> Type) -> Type) -> Type) (l_a3KOx :: [a6989586621679904292]) (l_a3KOy :: [b6989586621679904293]) (l_a3KOz :: [c6989586621679904294]) (l_a3KOv :: TyFun [d6989586621679904295] [e6989586621679904296])
type ZipWith4Sym5 (t_a3KOq :: TyFun a6989586621679904292 (TyFun b6989586621679904293 (TyFun c6989586621679904294 (TyFun d6989586621679904295 e6989586621679904296 -> Type) -> Type) -> Type) -> Type) (t_a3KOr :: [a6989586621679904292]) (t_a3KOs :: [b6989586621679904293]) (t_a3KOt :: [c6989586621679904294]) (t_a3KOu :: [d6989586621679904295]) = ZipWith4 t_a3KOq t_a3KOr t_a3KOs t_a3KOt t_a3KOu
data ZipWith5Sym0 (l_a3KNP :: TyFun (TyFun a6989586621679904286 (TyFun b6989586621679904287 (TyFun c6989586621679904288 (TyFun d6989586621679904289 (TyFun e6989586621679904290 f6989586621679904291 -> Type) -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679904286] (TyFun [b6989586621679904287] (TyFun [c6989586621679904288] (TyFun [d6989586621679904289] (TyFun [e6989586621679904290] [f6989586621679904291] -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith5Sym1 (l_a3KNN :: TyFun a6989586621679904286 (TyFun b6989586621679904287 (TyFun c6989586621679904288 (TyFun d6989586621679904289 (TyFun e6989586621679904290 f6989586621679904291 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3KNM :: TyFun [a6989586621679904286] (TyFun [b6989586621679904287] (TyFun [c6989586621679904288] (TyFun [d6989586621679904289] (TyFun [e6989586621679904290] [f6989586621679904291] -> Type) -> Type) -> Type) -> Type))
data ZipWith5Sym2 (l_a3KNJ :: TyFun a6989586621679904286 (TyFun b6989586621679904287 (TyFun c6989586621679904288 (TyFun d6989586621679904289 (TyFun e6989586621679904290 f6989586621679904291 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3KNK :: [a6989586621679904286]) (l_a3KNI :: TyFun [b6989586621679904287] (TyFun [c6989586621679904288] (TyFun [d6989586621679904289] (TyFun [e6989586621679904290] [f6989586621679904291] -> Type) -> Type) -> Type))
data ZipWith5Sym3 (l_a3KNE :: TyFun a6989586621679904286 (TyFun b6989586621679904287 (TyFun c6989586621679904288 (TyFun d6989586621679904289 (TyFun e6989586621679904290 f6989586621679904291 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3KNF :: [a6989586621679904286]) (l_a3KNG :: [b6989586621679904287]) (l_a3KND :: TyFun [c6989586621679904288] (TyFun [d6989586621679904289] (TyFun [e6989586621679904290] [f6989586621679904291] -> Type) -> Type))
data ZipWith5Sym4 (l_a3KNy :: TyFun a6989586621679904286 (TyFun b6989586621679904287 (TyFun c6989586621679904288 (TyFun d6989586621679904289 (TyFun e6989586621679904290 f6989586621679904291 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3KNz :: [a6989586621679904286]) (l_a3KNA :: [b6989586621679904287]) (l_a3KNB :: [c6989586621679904288]) (l_a3KNx :: TyFun [d6989586621679904289] (TyFun [e6989586621679904290] [f6989586621679904291] -> Type))
data ZipWith5Sym5 (l_a3KNr :: TyFun a6989586621679904286 (TyFun b6989586621679904287 (TyFun c6989586621679904288 (TyFun d6989586621679904289 (TyFun e6989586621679904290 f6989586621679904291 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3KNs :: [a6989586621679904286]) (l_a3KNt :: [b6989586621679904287]) (l_a3KNu :: [c6989586621679904288]) (l_a3KNv :: [d6989586621679904289]) (l_a3KNq :: TyFun [e6989586621679904290] [f6989586621679904291])
type ZipWith5Sym6 (t_a3KNk :: TyFun a6989586621679904286 (TyFun b6989586621679904287 (TyFun c6989586621679904288 (TyFun d6989586621679904289 (TyFun e6989586621679904290 f6989586621679904291 -> Type) -> Type) -> Type) -> Type) -> Type) (t_a3KNl :: [a6989586621679904286]) (t_a3KNm :: [b6989586621679904287]) (t_a3KNn :: [c6989586621679904288]) (t_a3KNo :: [d6989586621679904289]) (t_a3KNp :: [e6989586621679904290]) = ZipWith5 t_a3KNk t_a3KNl t_a3KNm t_a3KNn t_a3KNo t_a3KNp
data ZipWith6Sym0 (l_a3KMD :: TyFun (TyFun a6989586621679904279 (TyFun b6989586621679904280 (TyFun c6989586621679904281 (TyFun d6989586621679904282 (TyFun e6989586621679904283 (TyFun f6989586621679904284 g6989586621679904285 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679904279] (TyFun [b6989586621679904280] (TyFun [c6989586621679904281] (TyFun [d6989586621679904282] (TyFun [e6989586621679904283] (TyFun [f6989586621679904284] [g6989586621679904285] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith6Sym1 (l_a3KMB :: TyFun a6989586621679904279 (TyFun b6989586621679904280 (TyFun c6989586621679904281 (TyFun d6989586621679904282 (TyFun e6989586621679904283 (TyFun f6989586621679904284 g6989586621679904285 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3KMA :: TyFun [a6989586621679904279] (TyFun [b6989586621679904280] (TyFun [c6989586621679904281] (TyFun [d6989586621679904282] (TyFun [e6989586621679904283] (TyFun [f6989586621679904284] [g6989586621679904285] -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith6Sym2 (l_a3KMx :: TyFun a6989586621679904279 (TyFun b6989586621679904280 (TyFun c6989586621679904281 (TyFun d6989586621679904282 (TyFun e6989586621679904283 (TyFun f6989586621679904284 g6989586621679904285 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3KMy :: [a6989586621679904279]) (l_a3KMw :: TyFun [b6989586621679904280] (TyFun [c6989586621679904281] (TyFun [d6989586621679904282] (TyFun [e6989586621679904283] (TyFun [f6989586621679904284] [g6989586621679904285] -> Type) -> Type) -> Type) -> Type))
data ZipWith6Sym3 (l_a3KMs :: TyFun a6989586621679904279 (TyFun b6989586621679904280 (TyFun c6989586621679904281 (TyFun d6989586621679904282 (TyFun e6989586621679904283 (TyFun f6989586621679904284 g6989586621679904285 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3KMt :: [a6989586621679904279]) (l_a3KMu :: [b6989586621679904280]) (l_a3KMr :: TyFun [c6989586621679904281] (TyFun [d6989586621679904282] (TyFun [e6989586621679904283] (TyFun [f6989586621679904284] [g6989586621679904285] -> Type) -> Type) -> Type))
data ZipWith6Sym4 (l_a3KMm :: TyFun a6989586621679904279 (TyFun b6989586621679904280 (TyFun c6989586621679904281 (TyFun d6989586621679904282 (TyFun e6989586621679904283 (TyFun f6989586621679904284 g6989586621679904285 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3KMn :: [a6989586621679904279]) (l_a3KMo :: [b6989586621679904280]) (l_a3KMp :: [c6989586621679904281]) (l_a3KMl :: TyFun [d6989586621679904282] (TyFun [e6989586621679904283] (TyFun [f6989586621679904284] [g6989586621679904285] -> Type) -> Type))
data ZipWith6Sym5 (l_a3KMf :: TyFun a6989586621679904279 (TyFun b6989586621679904280 (TyFun c6989586621679904281 (TyFun d6989586621679904282 (TyFun e6989586621679904283 (TyFun f6989586621679904284 g6989586621679904285 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3KMg :: [a6989586621679904279]) (l_a3KMh :: [b6989586621679904280]) (l_a3KMi :: [c6989586621679904281]) (l_a3KMj :: [d6989586621679904282]) (l_a3KMe :: TyFun [e6989586621679904283] (TyFun [f6989586621679904284] [g6989586621679904285] -> Type))
data ZipWith6Sym6 (l_a3KM7 :: TyFun a6989586621679904279 (TyFun b6989586621679904280 (TyFun c6989586621679904281 (TyFun d6989586621679904282 (TyFun e6989586621679904283 (TyFun f6989586621679904284 g6989586621679904285 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3KM8 :: [a6989586621679904279]) (l_a3KM9 :: [b6989586621679904280]) (l_a3KMa :: [c6989586621679904281]) (l_a3KMb :: [d6989586621679904282]) (l_a3KMc :: [e6989586621679904283]) (l_a3KM6 :: TyFun [f6989586621679904284] [g6989586621679904285])
type ZipWith6Sym7 (t_a3KLZ :: TyFun a6989586621679904279 (TyFun b6989586621679904280 (TyFun c6989586621679904281 (TyFun d6989586621679904282 (TyFun e6989586621679904283 (TyFun f6989586621679904284 g6989586621679904285 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (t_a3KM0 :: [a6989586621679904279]) (t_a3KM1 :: [b6989586621679904280]) (t_a3KM2 :: [c6989586621679904281]) (t_a3KM3 :: [d6989586621679904282]) (t_a3KM4 :: [e6989586621679904283]) (t_a3KM5 :: [f6989586621679904284]) = ZipWith6 t_a3KLZ t_a3KM0 t_a3KM1 t_a3KM2 t_a3KM3 t_a3KM4 t_a3KM5
data ZipWith7Sym0 (l_a3KLc :: TyFun (TyFun a6989586621679904271 (TyFun b6989586621679904272 (TyFun c6989586621679904273 (TyFun d6989586621679904274 (TyFun e6989586621679904275 (TyFun f6989586621679904276 (TyFun g6989586621679904277 h6989586621679904278 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679904271] (TyFun [b6989586621679904272] (TyFun [c6989586621679904273] (TyFun [d6989586621679904274] (TyFun [e6989586621679904275] (TyFun [f6989586621679904276] (TyFun [g6989586621679904277] [h6989586621679904278] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym1 (l_a3KLa :: TyFun a6989586621679904271 (TyFun b6989586621679904272 (TyFun c6989586621679904273 (TyFun d6989586621679904274 (TyFun e6989586621679904275 (TyFun f6989586621679904276 (TyFun g6989586621679904277 h6989586621679904278 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3KL9 :: TyFun [a6989586621679904271] (TyFun [b6989586621679904272] (TyFun [c6989586621679904273] (TyFun [d6989586621679904274] (TyFun [e6989586621679904275] (TyFun [f6989586621679904276] (TyFun [g6989586621679904277] [h6989586621679904278] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym2 (l_a3KL6 :: TyFun a6989586621679904271 (TyFun b6989586621679904272 (TyFun c6989586621679904273 (TyFun d6989586621679904274 (TyFun e6989586621679904275 (TyFun f6989586621679904276 (TyFun g6989586621679904277 h6989586621679904278 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3KL7 :: [a6989586621679904271]) (l_a3KL5 :: TyFun [b6989586621679904272] (TyFun [c6989586621679904273] (TyFun [d6989586621679904274] (TyFun [e6989586621679904275] (TyFun [f6989586621679904276] (TyFun [g6989586621679904277] [h6989586621679904278] -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym3 (l_a3KL1 :: TyFun a6989586621679904271 (TyFun b6989586621679904272 (TyFun c6989586621679904273 (TyFun d6989586621679904274 (TyFun e6989586621679904275 (TyFun f6989586621679904276 (TyFun g6989586621679904277 h6989586621679904278 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3KL2 :: [a6989586621679904271]) (l_a3KL3 :: [b6989586621679904272]) (l_a3KL0 :: TyFun [c6989586621679904273] (TyFun [d6989586621679904274] (TyFun [e6989586621679904275] (TyFun [f6989586621679904276] (TyFun [g6989586621679904277] [h6989586621679904278] -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym4 (l_a3KKV :: TyFun a6989586621679904271 (TyFun b6989586621679904272 (TyFun c6989586621679904273 (TyFun d6989586621679904274 (TyFun e6989586621679904275 (TyFun f6989586621679904276 (TyFun g6989586621679904277 h6989586621679904278 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3KKW :: [a6989586621679904271]) (l_a3KKX :: [b6989586621679904272]) (l_a3KKY :: [c6989586621679904273]) (l_a3KKU :: TyFun [d6989586621679904274] (TyFun [e6989586621679904275] (TyFun [f6989586621679904276] (TyFun [g6989586621679904277] [h6989586621679904278] -> Type) -> Type) -> Type))
data ZipWith7Sym5 (l_a3KKO :: TyFun a6989586621679904271 (TyFun b6989586621679904272 (TyFun c6989586621679904273 (TyFun d6989586621679904274 (TyFun e6989586621679904275 (TyFun f6989586621679904276 (TyFun g6989586621679904277 h6989586621679904278 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3KKP :: [a6989586621679904271]) (l_a3KKQ :: [b6989586621679904272]) (l_a3KKR :: [c6989586621679904273]) (l_a3KKS :: [d6989586621679904274]) (l_a3KKN :: TyFun [e6989586621679904275] (TyFun [f6989586621679904276] (TyFun [g6989586621679904277] [h6989586621679904278] -> Type) -> Type))
data ZipWith7Sym6 (l_a3KKG :: TyFun a6989586621679904271 (TyFun b6989586621679904272 (TyFun c6989586621679904273 (TyFun d6989586621679904274 (TyFun e6989586621679904275 (TyFun f6989586621679904276 (TyFun g6989586621679904277 h6989586621679904278 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3KKH :: [a6989586621679904271]) (l_a3KKI :: [b6989586621679904272]) (l_a3KKJ :: [c6989586621679904273]) (l_a3KKK :: [d6989586621679904274]) (l_a3KKL :: [e6989586621679904275]) (l_a3KKF :: TyFun [f6989586621679904276] (TyFun [g6989586621679904277] [h6989586621679904278] -> Type))
data ZipWith7Sym7 (l_a3KKx :: TyFun a6989586621679904271 (TyFun b6989586621679904272 (TyFun c6989586621679904273 (TyFun d6989586621679904274 (TyFun e6989586621679904275 (TyFun f6989586621679904276 (TyFun g6989586621679904277 h6989586621679904278 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3KKy :: [a6989586621679904271]) (l_a3KKz :: [b6989586621679904272]) (l_a3KKA :: [c6989586621679904273]) (l_a3KKB :: [d6989586621679904274]) (l_a3KKC :: [e6989586621679904275]) (l_a3KKD :: [f6989586621679904276]) (l_a3KKw :: TyFun [g6989586621679904277] [h6989586621679904278])
type ZipWith7Sym8 (t_a3KKo :: TyFun a6989586621679904271 (TyFun b6989586621679904272 (TyFun c6989586621679904273 (TyFun d6989586621679904274 (TyFun e6989586621679904275 (TyFun f6989586621679904276 (TyFun g6989586621679904277 h6989586621679904278 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (t_a3KKp :: [a6989586621679904271]) (t_a3KKq :: [b6989586621679904272]) (t_a3KKr :: [c6989586621679904273]) (t_a3KKs :: [d6989586621679904274]) (t_a3KKt :: [e6989586621679904275]) (t_a3KKu :: [f6989586621679904276]) (t_a3KKv :: [g6989586621679904277]) = ZipWith7 t_a3KKo t_a3KKp t_a3KKq t_a3KKr t_a3KKs t_a3KKt t_a3KKu t_a3KKv
data NubSym0 (l_a1XNq :: TyFun [a6989586621679475542] [a6989586621679475542])
type NubSym1 (t_a1XNp :: [a6989586621679475542]) = Nub t_a1XNp
data NubBySym0 (l_a1Xmb :: TyFun (TyFun a6989586621679475541 (TyFun a6989586621679475541 Bool -> Type) -> Type) (TyFun [a6989586621679475541] [a6989586621679475541] -> Type))
data NubBySym1 (l_a1Xm9 :: TyFun a6989586621679475541 (TyFun a6989586621679475541 Bool -> Type) -> Type) (l_a1Xm8 :: TyFun [a6989586621679475541] [a6989586621679475541])
type NubBySym2 (t_a1Xm6 :: TyFun a6989586621679475541 (TyFun a6989586621679475541 Bool -> Type) -> Type) (t_a1Xm7 :: [a6989586621679475541]) = NubBy t_a1Xm6 t_a1Xm7
data UnionSym0 (l_a1XDm :: TyFun [a6989586621679475538] (TyFun [a6989586621679475538] [a6989586621679475538] -> Type))
data UnionSym1 (l_a1XDk :: [a6989586621679475538]) (l_a1XDj :: TyFun [a6989586621679475538] [a6989586621679475538])
type UnionSym2 (t_a1XDh :: [a6989586621679475538]) (t_a1XDi :: [a6989586621679475538]) = Union t_a1XDh t_a1XDi
data UnionBySym0 (l_a1XD5 :: TyFun (TyFun a6989586621679475539 (TyFun a6989586621679475539 Bool -> Type) -> Type) (TyFun [a6989586621679475539] (TyFun [a6989586621679475539] [a6989586621679475539] -> Type) -> Type))
data UnionBySym1 (l_a1XD3 :: TyFun a6989586621679475539 (TyFun a6989586621679475539 Bool -> Type) -> Type) (l_a1XD2 :: TyFun [a6989586621679475539] (TyFun [a6989586621679475539] [a6989586621679475539] -> Type))
data UnionBySym2 (l_a1XCZ :: TyFun a6989586621679475539 (TyFun a6989586621679475539 Bool -> Type) -> Type) (l_a1XD0 :: [a6989586621679475539]) (l_a1XCY :: TyFun [a6989586621679475539] [a6989586621679475539])
type UnionBySym3 (t_a1XCV :: TyFun a6989586621679475539 (TyFun a6989586621679475539 Bool -> Type) -> Type) (t_a1XCW :: [a6989586621679475539]) (t_a1XCX :: [a6989586621679475539]) = UnionBy t_a1XCV t_a1XCW t_a1XCX
data GenericLengthSym0 (l_a1XlA :: TyFun [a6989586621679475537] i6989586621679475536)
type GenericLengthSym1 (t_a1Xlz :: [a6989586621679475537]) = GenericLength t_a1Xlz
data GenericTakeSym0 (l_a3KKi :: TyFun i6989586621679904269 (TyFun [a6989586621679904270] [a6989586621679904270] -> Type))
data GenericTakeSym1 (l_a3KKg :: i6989586621679904269) (l_a3KKf :: TyFun [a6989586621679904270] [a6989586621679904270])
type GenericTakeSym2 (t_a3KKd :: i6989586621679904269) (t_a3KKe :: [a6989586621679904270]) = GenericTake t_a3KKd t_a3KKe
data GenericDropSym0 (l_a3KK3 :: TyFun i6989586621679904267 (TyFun [a6989586621679904268] [a6989586621679904268] -> Type))
data GenericDropSym1 (l_a3KK1 :: i6989586621679904267) (l_a3KK0 :: TyFun [a6989586621679904268] [a6989586621679904268])
type GenericDropSym2 (t_a3KJY :: i6989586621679904267) (t_a3KJZ :: [a6989586621679904268]) = GenericDrop t_a3KJY t_a3KJZ
data GenericSplitAtSym0 (l_a3KJO :: TyFun i6989586621679904265 (TyFun [a6989586621679904266] ([a6989586621679904266], [a6989586621679904266]) -> Type))
data GenericSplitAtSym1 (l_a3KJM :: i6989586621679904265) (l_a3KJL :: TyFun [a6989586621679904266] ([a6989586621679904266], [a6989586621679904266]))
type GenericSplitAtSym2 (t_a3KJJ :: i6989586621679904265) (t_a3KJK :: [a6989586621679904266]) = GenericSplitAt t_a3KJJ t_a3KJK
data GenericIndexSym0 (l_a3KJz :: TyFun [a6989586621679904264] (TyFun i6989586621679904263 a6989586621679904264 -> Type))
data GenericIndexSym1 (l_a3KJx :: [a6989586621679904264]) (l_a3KJw :: TyFun i6989586621679904263 a6989586621679904264)
type GenericIndexSym2 (t_a3KJu :: [a6989586621679904264]) (t_a3KJv :: i6989586621679904263) = GenericIndex t_a3KJu t_a3KJv
data GenericReplicateSym0 (l_a3KJk :: TyFun i6989586621679904261 (TyFun a6989586621679904262 [a6989586621679904262] -> Type))
data GenericReplicateSym1 (l_a3KJi :: i6989586621679904261) (l_a3KJh :: TyFun a6989586621679904262 [a6989586621679904262])
type GenericReplicateSym2 (t_a3KJf :: i6989586621679904261) (t_a3KJg :: a6989586621679904262) = GenericReplicate t_a3KJf t_a3KJg
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


-- | 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 '(==)', from
--   <tt>Data.Type.Equality</tt>.
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_a1g0b :: TyFun a6989586621679309568 (TyFun a6989586621679309568 Bool -> Type))
data (:==$$) (l_a1g09 :: a6989586621679309568) (l_a1g08 :: TyFun a6989586621679309568 Bool)
type (:==$$$) (t_a1g06 :: a6989586621679309568) (t_a1g07 :: a6989586621679309568) = (:==) t_a1g06 t_a1g07
data (:/=$) (l_a1g0i :: TyFun a6989586621679309568 (TyFun a6989586621679309568 Bool -> Type))
data (:/=$$) (l_a1g0g :: a6989586621679309568) (l_a1g0f :: TyFun a6989586621679309568 Bool)
type (:/=$$$) (t_a1g0d :: a6989586621679309568) (t_a1g0e :: a6989586621679309568) = (:/=) t_a1g0d t_a1g0e


-- | 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>
maybe_ :: b_a1OOh -> (a_a1OOi -> b_a1OOh) -> Maybe a_a1OOi -> b_a1OOh
either_ :: (a_a1Rqx -> c_a1Rqy) -> (b_a1Rqz -> c_a1Rqy) -> Either a_a1Rqx b_a1Rqz -> c_a1Rqy

-- | (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.
data ErrorSym0 (l_a1IFR :: TyFun k06989586621679418718 k6989586621679418720)
any_ :: (a_a1UwX -> Bool) -> [a_a1UwX] -> Bool
type FalseSym0 = False
type TrueSym0 = True
data NotSym0 (l_a1aGf :: TyFun Bool Bool)
type NotSym1 (t_a1aGe :: Bool) = Not t_a1aGe
data (:&&$) (l_a1aGA :: TyFun Bool (TyFun Bool Bool -> Type))
data (:&&$$) (l_a1aGy :: Bool) (l_a1aGx :: TyFun Bool Bool)
type (:&&$$$) (t_a1aGv :: Bool) (t_a1aGw :: Bool) = (:&&) t_a1aGv t_a1aGw
data (:||$) (l_a1aGn :: TyFun Bool (TyFun Bool Bool -> Type))
data (:||$$) (l_a1aGl :: Bool) (l_a1aGk :: TyFun Bool Bool)
type (:||$$$) (t_a1aGi :: Bool) (t_a1aGj :: Bool) = (:||) t_a1aGi t_a1aGj
type OtherwiseSym0 = Otherwise
type NothingSym0 = Nothing
data JustSym0 (l_aY6c :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_aY6b :: a3530822107858468865) = Just t_aY6b
data Maybe_Sym0 (l_a1OOx :: TyFun b6989586621679443437 (TyFun (TyFun a6989586621679443438 b6989586621679443437 -> Type) (TyFun (Maybe a6989586621679443438) b6989586621679443437 -> Type) -> Type))
data Maybe_Sym1 (l_a1OOv :: b6989586621679443437) (l_a1OOu :: TyFun (TyFun a6989586621679443438 b6989586621679443437 -> Type) (TyFun (Maybe a6989586621679443438) b6989586621679443437 -> Type))
data Maybe_Sym2 (l_a1OOr :: b6989586621679443437) (l_a1OOs :: TyFun a6989586621679443438 b6989586621679443437 -> Type) (l_a1OOq :: TyFun (Maybe a6989586621679443438) b6989586621679443437)
type Maybe_Sym3 (t_a1OOn :: b6989586621679443437) (t_a1OOo :: TyFun a6989586621679443438 b6989586621679443437 -> Type) (t_a1OOp :: Maybe a6989586621679443438) = Maybe_ t_a1OOn t_a1OOo t_a1OOp
data LeftSym0 (l_aY6D :: TyFun a6989586621679075946 (Either a6989586621679075946 b6989586621679075947))
type LeftSym1 (t_aY6C :: a6989586621679075946) = Left t_aY6C
data RightSym0 (l_aY6G :: TyFun b6989586621679075947 (Either a6989586621679075946 b6989586621679075947))
type RightSym1 (t_aY6F :: b6989586621679075947) = Right t_aY6F
data Either_Sym0 (l_a1RqP :: TyFun (TyFun a6989586621679453497 c6989586621679453498 -> Type) (TyFun (TyFun b6989586621679453499 c6989586621679453498 -> Type) (TyFun (Either a6989586621679453497 b6989586621679453499) c6989586621679453498 -> Type) -> Type))
data Either_Sym1 (l_a1RqN :: TyFun a6989586621679453497 c6989586621679453498 -> Type) (l_a1RqM :: TyFun (TyFun b6989586621679453499 c6989586621679453498 -> Type) (TyFun (Either a6989586621679453497 b6989586621679453499) c6989586621679453498 -> Type))
data Either_Sym2 (l_a1RqJ :: TyFun a6989586621679453497 c6989586621679453498 -> Type) (l_a1RqK :: TyFun b6989586621679453499 c6989586621679453498 -> Type) (l_a1RqI :: TyFun (Either a6989586621679453497 b6989586621679453499) c6989586621679453498)
type Either_Sym3 (t_a1RqF :: TyFun a6989586621679453497 c6989586621679453498 -> Type) (t_a1RqG :: TyFun b6989586621679453499 c6989586621679453498 -> Type) (t_a1RqH :: Either a6989586621679453497 b6989586621679453499) = Either_ t_a1RqF t_a1RqG t_a1RqH
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_aY7f :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aY7d :: a3530822107858468865) (l_aY7c :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aY7a :: a3530822107858468865) (t_aY7b :: b3530822107858468866) = '(t_aY7a, t_aY7b)
data Tuple3Sym0 (l_aY7D :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aY7B :: a3530822107858468865) (l_aY7A :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aY7x :: a3530822107858468865) (l_aY7y :: b3530822107858468866) (l_aY7w :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aY7t :: a3530822107858468865) (t_aY7u :: b3530822107858468866) (t_aY7v :: c3530822107858468867) = '(t_aY7t, t_aY7u, t_aY7v)
data Tuple4Sym0 (l_aY8c :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aY8a :: a3530822107858468865) (l_aY89 :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aY86 :: a3530822107858468865) (l_aY87 :: b3530822107858468866) (l_aY85 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aY81 :: a3530822107858468865) (l_aY82 :: b3530822107858468866) (l_aY83 :: c3530822107858468867) (l_aY80 :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aY7W :: a3530822107858468865) (t_aY7X :: b3530822107858468866) (t_aY7Y :: c3530822107858468867) (t_aY7Z :: d3530822107858468868) = '(t_aY7W, t_aY7X, t_aY7Y, t_aY7Z)
data Tuple5Sym0 (l_aY8X :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aY8V :: a3530822107858468865) (l_aY8U :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aY8R :: a3530822107858468865) (l_aY8S :: b3530822107858468866) (l_aY8Q :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aY8M :: a3530822107858468865) (l_aY8N :: b3530822107858468866) (l_aY8O :: c3530822107858468867) (l_aY8L :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aY8G :: a3530822107858468865) (l_aY8H :: b3530822107858468866) (l_aY8I :: c3530822107858468867) (l_aY8J :: d3530822107858468868) (l_aY8F :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aY8A :: a3530822107858468865) (t_aY8B :: b3530822107858468866) (t_aY8C :: c3530822107858468867) (t_aY8D :: d3530822107858468868) (t_aY8E :: e3530822107858468869) = '(t_aY8A, t_aY8B, t_aY8C, t_aY8D, t_aY8E)
data Tuple6Sym0 (l_aY9V :: 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_aY9T :: a3530822107858468865) (l_aY9S :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aY9P :: a3530822107858468865) (l_aY9Q :: b3530822107858468866) (l_aY9O :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aY9K :: a3530822107858468865) (l_aY9L :: b3530822107858468866) (l_aY9M :: c3530822107858468867) (l_aY9J :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aY9E :: a3530822107858468865) (l_aY9F :: b3530822107858468866) (l_aY9G :: c3530822107858468867) (l_aY9H :: d3530822107858468868) (l_aY9D :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aY9x :: a3530822107858468865) (l_aY9y :: b3530822107858468866) (l_aY9z :: c3530822107858468867) (l_aY9A :: d3530822107858468868) (l_aY9B :: e3530822107858468869) (l_aY9w :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aY9q :: a3530822107858468865) (t_aY9r :: b3530822107858468866) (t_aY9s :: c3530822107858468867) (t_aY9t :: d3530822107858468868) (t_aY9u :: e3530822107858468869) (t_aY9v :: f3530822107858468870) = '(t_aY9q, t_aY9r, t_aY9s, t_aY9t, t_aY9u, t_aY9v)
data Tuple7Sym0 (l_aYb7 :: 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_aYb5 :: a3530822107858468865) (l_aYb4 :: 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_aYb1 :: a3530822107858468865) (l_aYb2 :: b3530822107858468866) (l_aYb0 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_aYaW :: a3530822107858468865) (l_aYaX :: b3530822107858468866) (l_aYaY :: c3530822107858468867) (l_aYaV :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_aYaQ :: a3530822107858468865) (l_aYaR :: b3530822107858468866) (l_aYaS :: c3530822107858468867) (l_aYaT :: d3530822107858468868) (l_aYaP :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_aYaJ :: a3530822107858468865) (l_aYaK :: b3530822107858468866) (l_aYaL :: c3530822107858468867) (l_aYaM :: d3530822107858468868) (l_aYaN :: e3530822107858468869) (l_aYaI :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_aYaB :: a3530822107858468865) (l_aYaC :: b3530822107858468866) (l_aYaD :: c3530822107858468867) (l_aYaE :: d3530822107858468868) (l_aYaF :: e3530822107858468869) (l_aYaG :: f3530822107858468870) (l_aYaA :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_aYat :: a3530822107858468865) (t_aYau :: b3530822107858468866) (t_aYav :: c3530822107858468867) (t_aYaw :: d3530822107858468868) (t_aYax :: e3530822107858468869) (t_aYay :: f3530822107858468870) (t_aYaz :: g3530822107858468871) = '(t_aYat, t_aYau, t_aYav, t_aYaw, t_aYax, t_aYay, t_aYaz)
data FstSym0 (l_a1NMo :: TyFun (a6989586621679439427, b6989586621679439428) a6989586621679439427)
type FstSym1 (t_a1NMn :: (a6989586621679439427, b6989586621679439428)) = Fst t_a1NMn
data SndSym0 (l_a1NMg :: TyFun (a6989586621679439425, b6989586621679439426) b6989586621679439426)
type SndSym1 (t_a1NMf :: (a6989586621679439425, b6989586621679439426)) = Snd t_a1NMf
data CurrySym0 (l_a1NM7 :: TyFun (TyFun (a6989586621679439422, b6989586621679439423) c6989586621679439424 -> Type) (TyFun a6989586621679439422 (TyFun b6989586621679439423 c6989586621679439424 -> Type) -> Type))
data CurrySym1 (l_a1NM5 :: TyFun (a6989586621679439422, b6989586621679439423) c6989586621679439424 -> Type) (l_a1NM4 :: TyFun a6989586621679439422 (TyFun b6989586621679439423 c6989586621679439424 -> Type))
data CurrySym2 (l_a1NM1 :: TyFun (a6989586621679439422, b6989586621679439423) c6989586621679439424 -> Type) (l_a1NM2 :: a6989586621679439422) (l_a1NM0 :: TyFun b6989586621679439423 c6989586621679439424)
type CurrySym3 (t_a1NLX :: TyFun (a6989586621679439422, b6989586621679439423) c6989586621679439424 -> Type) (t_a1NLY :: a6989586621679439422) (t_a1NLZ :: b6989586621679439423) = Curry t_a1NLX t_a1NLY t_a1NLZ
data UncurrySym0 (l_a1NMA :: TyFun (TyFun a6989586621679439419 (TyFun b6989586621679439420 c6989586621679439421 -> Type) -> Type) (TyFun (a6989586621679439419, b6989586621679439420) c6989586621679439421 -> Type))
data UncurrySym1 (l_a1NMy :: TyFun a6989586621679439419 (TyFun b6989586621679439420 c6989586621679439421 -> Type) -> Type) (l_a1NMx :: TyFun (a6989586621679439419, b6989586621679439420) c6989586621679439421)
type UncurrySym2 (t_a1NMv :: TyFun a6989586621679439419 (TyFun b6989586621679439420 c6989586621679439421 -> Type) -> Type) (t_a1NMw :: (a6989586621679439419, b6989586621679439420)) = Uncurry t_a1NMv t_a1NMw
data (:^$) l_a1IIF
data (:^$$) (l_a1IID :: Nat) l_a1IIC
data IdSym0 (l_a1bAf :: TyFun a6989586621679292513 a6989586621679292513)
type IdSym1 (t_a1bAe :: a6989586621679292513) = Id t_a1bAe
data ConstSym0 (l_a1bzR :: TyFun a6989586621679292511 (TyFun b6989586621679292512 a6989586621679292511 -> Type))
data ConstSym1 (l_a1bzP :: a6989586621679292511) (l_a1bzO :: TyFun b6989586621679292512 a6989586621679292511)
type ConstSym2 (t_a1bzM :: a6989586621679292511) (t_a1bzN :: b6989586621679292512) = Const t_a1bzM t_a1bzN
data (:.$) (l_a1bzg :: TyFun (TyFun b6989586621679292508 c6989586621679292509 -> Type) (TyFun (TyFun a6989586621679292510 b6989586621679292508 -> Type) (TyFun a6989586621679292510 c6989586621679292509 -> Type) -> Type))
data (:.$$) (l_a1bze :: TyFun b6989586621679292508 c6989586621679292509 -> Type) (l_a1bzd :: TyFun (TyFun a6989586621679292510 b6989586621679292508 -> Type) (TyFun a6989586621679292510 c6989586621679292509 -> Type))
data (:.$$$) (l_a1bza :: TyFun b6989586621679292508 c6989586621679292509 -> Type) (l_a1bzb :: TyFun a6989586621679292510 b6989586621679292508 -> Type) (l_a1bz9 :: TyFun a6989586621679292510 c6989586621679292509)
data ($$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> *
data ($$$) :: (TyFun a b -> *) -> TyFun a b -> *
type ($$$$) a b = ($) a b
data ($!$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> *
data ($!$$) :: (TyFun a b -> *) -> TyFun a b -> *
type ($!$$$) a b = ($!) a b
data FlipSym0 (l_a1byY :: TyFun (TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (TyFun b6989586621679292506 (TyFun a6989586621679292505 c6989586621679292507 -> Type) -> Type))
data FlipSym1 (l_a1byW :: TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (l_a1byV :: TyFun b6989586621679292506 (TyFun a6989586621679292505 c6989586621679292507 -> Type))
data FlipSym2 (l_a1byS :: TyFun a6989586621679292505 (TyFun b6989586621679292506 c6989586621679292507 -> Type) -> Type) (l_a1byT :: b6989586621679292506) (l_a1byR :: TyFun a6989586621679292505 c6989586621679292507)
data AsTypeOfSym0 (l_a1bA8 :: TyFun a6989586621679292504 (TyFun a6989586621679292504 a6989586621679292504 -> Type))
data AsTypeOfSym1 (l_a1bA6 :: a6989586621679292504) (l_a1bA5 :: TyFun a6989586621679292504 a6989586621679292504)
type AsTypeOfSym2 (t_a1bA3 :: a6989586621679292504) (t_a1bA4 :: a6989586621679292504) = AsTypeOf t_a1bA3 t_a1bA4
data SeqSym0 (l_a1byG :: TyFun a6989586621679292502 (TyFun b6989586621679292503 b6989586621679292503 -> Type))
data SeqSym1 (l_a1byE :: a6989586621679292502) (l_a1byD :: TyFun b6989586621679292503 b6989586621679292503)
type SeqSym2 (t_a1byB :: a6989586621679292502) (t_a1byC :: b6989586621679292503) = Seq t_a1byB t_a1byC
data (:$) (l_aY6p :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:$$) (l_aY6n :: a3530822107858468865) (l_aY6m :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:$$$) (t_aY6k :: a3530822107858468865) (t_aY6l :: [a3530822107858468865]) = (:) t_aY6k t_aY6l
type NilSym0 = '[]
data MapSym0 (l_a1bAB :: TyFun (TyFun a6989586621679292515 b6989586621679292516 -> Type) (TyFun [a6989586621679292515] [b6989586621679292516] -> Type))
data MapSym1 (l_a1bAz :: TyFun a6989586621679292515 b6989586621679292516 -> Type) (l_a1bAy :: TyFun [a6989586621679292515] [b6989586621679292516])
type MapSym2 (t_a1bAw :: TyFun a6989586621679292515 b6989586621679292516 -> Type) (t_a1bAx :: [a6989586621679292515]) = Map t_a1bAw t_a1bAx
data ReverseSym0 (l_a1Yb9 :: TyFun [a6989586621679475658] [a6989586621679475658])
type ReverseSym1 (t_a1Yb8 :: [a6989586621679475658]) = Reverse t_a1Yb8
data (:++$$) (l_a1bAm :: [a6989586621679292514]) (l_a1bAl :: TyFun [a6989586621679292514] [a6989586621679292514])
data (:++$) (l_a1bAo :: TyFun [a6989586621679292514] (TyFun [a6989586621679292514] [a6989586621679292514] -> Type))
data HeadSym0 (l_a1YdE :: TyFun [a6989586621679475663] a6989586621679475663)
type HeadSym1 (t_a1YdD :: [a6989586621679475663]) = Head t_a1YdD
data LastSym0 (l_a1Ydu :: TyFun [a6989586621679475662] a6989586621679475662)
type LastSym1 (t_a1Ydt :: [a6989586621679475662]) = Last t_a1Ydt
data TailSym0 (l_a1Ydm :: TyFun [a6989586621679475661] [a6989586621679475661])
type TailSym1 (t_a1Ydl :: [a6989586621679475661]) = Tail t_a1Ydl
data InitSym0 (l_a1YcP :: TyFun [a6989586621679475660] [a6989586621679475660])
type InitSym1 (t_a1YcO :: [a6989586621679475660]) = Init t_a1YcO
data NullSym0 (l_a1YbI :: TyFun [a6989586621679475659] Bool)
type NullSym1 (t_a1YbH :: [a6989586621679475659]) = Null t_a1YbH
data FoldlSym0 (l_a116c :: TyFun (TyFun b6989586621679252328 (TyFun a6989586621679252327 b6989586621679252328 -> Type) -> Type) (TyFun b6989586621679252328 (TyFun [a6989586621679252327] b6989586621679252328 -> Type) -> Type))
data FoldlSym1 (l_a116a :: TyFun b6989586621679252328 (TyFun a6989586621679252327 b6989586621679252328 -> Type) -> Type) (l_a1169 :: TyFun b6989586621679252328 (TyFun [a6989586621679252327] b6989586621679252328 -> Type))
data FoldlSym2 (l_a1166 :: TyFun b6989586621679252328 (TyFun a6989586621679252327 b6989586621679252328 -> Type) -> Type) (l_a1167 :: b6989586621679252328) (l_a1165 :: TyFun [a6989586621679252327] b6989586621679252328)
type FoldlSym3 (t_a1162 :: TyFun b6989586621679252328 (TyFun a6989586621679252327 b6989586621679252328 -> Type) -> Type) (t_a1163 :: b6989586621679252328) (t_a1164 :: [a6989586621679252327]) = Foldl t_a1162 t_a1163 t_a1164
data Foldl1Sym0 (l_a1XYU :: TyFun (TyFun a6989586621679475649 (TyFun a6989586621679475649 a6989586621679475649 -> Type) -> Type) (TyFun [a6989586621679475649] a6989586621679475649 -> Type))
data Foldl1Sym1 (l_a1XYS :: TyFun a6989586621679475649 (TyFun a6989586621679475649 a6989586621679475649 -> Type) -> Type) (l_a1XYR :: TyFun [a6989586621679475649] a6989586621679475649)
type Foldl1Sym2 (t_a1XYP :: TyFun a6989586621679475649 (TyFun a6989586621679475649 a6989586621679475649 -> Type) -> Type) (t_a1XYQ :: [a6989586621679475649]) = Foldl1 t_a1XYP t_a1XYQ
data FoldrSym0 (l_a1bAV :: TyFun (TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (TyFun b6989586621679292518 (TyFun [a6989586621679292517] b6989586621679292518 -> Type) -> Type))
data FoldrSym1 (l_a1bAT :: TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (l_a1bAS :: TyFun b6989586621679292518 (TyFun [a6989586621679292517] b6989586621679292518 -> Type))
data FoldrSym2 (l_a1bAP :: TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (l_a1bAQ :: b6989586621679292518) (l_a1bAO :: TyFun [a6989586621679292517] b6989586621679292518)
type FoldrSym3 (t_a1bAL :: TyFun a6989586621679292517 (TyFun b6989586621679292518 b6989586621679292518 -> Type) -> Type) (t_a1bAM :: b6989586621679292518) (t_a1bAN :: [a6989586621679292517]) = Foldr t_a1bAL t_a1bAM t_a1bAN
data Foldr1Sym0 (l_a1XYh :: TyFun (TyFun a6989586621679475647 (TyFun a6989586621679475647 a6989586621679475647 -> Type) -> Type) (TyFun [a6989586621679475647] a6989586621679475647 -> Type))
data Foldr1Sym1 (l_a1XYf :: TyFun a6989586621679475647 (TyFun a6989586621679475647 a6989586621679475647 -> Type) -> Type) (l_a1XYe :: TyFun [a6989586621679475647] a6989586621679475647)
type Foldr1Sym2 (t_a1XYc :: TyFun a6989586621679475647 (TyFun a6989586621679475647 a6989586621679475647 -> Type) -> Type) (t_a1XYd :: [a6989586621679475647]) = Foldr1 t_a1XYc t_a1XYd
data ConcatSym0 (l_a1XY8 :: TyFun [[a6989586621679475646]] [a6989586621679475646])
type ConcatSym1 (t_a1XY7 :: [[a6989586621679475646]]) = Concat t_a1XY7
data ConcatMapSym0 (l_a1XXX :: TyFun (TyFun a6989586621679475644 [b6989586621679475645] -> Type) (TyFun [a6989586621679475644] [b6989586621679475645] -> Type))
data ConcatMapSym1 (l_a1XXV :: TyFun a6989586621679475644 [b6989586621679475645] -> Type) (l_a1XXU :: TyFun [a6989586621679475644] [b6989586621679475645])
type ConcatMapSym2 (t_a1XXS :: TyFun a6989586621679475644 [b6989586621679475645] -> Type) (t_a1XXT :: [a6989586621679475644]) = ConcatMap t_a1XXS t_a1XXT
data MaximumBySym0 (l_a1XZ9 :: TyFun (TyFun a6989586621679475576 (TyFun a6989586621679475576 Ordering -> Type) -> Type) (TyFun [a6989586621679475576] a6989586621679475576 -> Type))
data MaximumBySym1 (l_a1XZ7 :: TyFun a6989586621679475576 (TyFun a6989586621679475576 Ordering -> Type) -> Type) (l_a1XZ6 :: TyFun [a6989586621679475576] a6989586621679475576)
type MaximumBySym2 (t_a1XZ4 :: TyFun a6989586621679475576 (TyFun a6989586621679475576 Ordering -> Type) -> Type) (t_a1XZ5 :: [a6989586621679475576]) = MaximumBy t_a1XZ4 t_a1XZ5
data MinimumBySym0 (l_a1Y0y :: TyFun (TyFun a6989586621679475575 (TyFun a6989586621679475575 Ordering -> Type) -> Type) (TyFun [a6989586621679475575] a6989586621679475575 -> Type))
data MinimumBySym1 (l_a1Y0w :: TyFun a6989586621679475575 (TyFun a6989586621679475575 Ordering -> Type) -> Type) (l_a1Y0v :: TyFun [a6989586621679475575] a6989586621679475575)
type MinimumBySym2 (t_a1Y0t :: TyFun a6989586621679475575 (TyFun a6989586621679475575 Ordering -> Type) -> Type) (t_a1Y0u :: [a6989586621679475575]) = MinimumBy t_a1Y0t t_a1Y0u
data AndSym0 (l_a1XXN :: TyFun [Bool] Bool)
type AndSym1 (t_a1XXM :: [Bool]) = And t_a1XXM
data OrSym0 (l_a1XXH :: TyFun [Bool] Bool)
type OrSym1 (t_a1XXG :: [Bool]) = Or t_a1XXG
data Any_Sym0 (l_a1Ux7 :: TyFun (TyFun a6989586621679465427 Bool -> Type) (TyFun [a6989586621679465427] Bool -> Type))
data Any_Sym1 (l_a1Ux5 :: TyFun a6989586621679465427 Bool -> Type) (l_a1Ux4 :: TyFun [a6989586621679465427] Bool)
type Any_Sym2 (t_a1Ux2 :: TyFun a6989586621679465427 Bool -> Type) (t_a1Ux3 :: [a6989586621679465427]) = Any_ t_a1Ux2 t_a1Ux3
data AllSym0 (l_a1XXw :: TyFun (TyFun a6989586621679475643 Bool -> Type) (TyFun [a6989586621679475643] Bool -> Type))
data AllSym1 (l_a1XXu :: TyFun a6989586621679475643 Bool -> Type) (l_a1XXt :: TyFun [a6989586621679475643] Bool)
type AllSym2 (t_a1XXr :: TyFun a6989586621679475643 Bool -> Type) (t_a1XXs :: [a6989586621679475643]) = All t_a1XXr t_a1XXs
data ScanlSym0 (l_a1XWZ :: TyFun (TyFun b6989586621679475641 (TyFun a6989586621679475642 b6989586621679475641 -> Type) -> Type) (TyFun b6989586621679475641 (TyFun [a6989586621679475642] [b6989586621679475641] -> Type) -> Type))
data ScanlSym1 (l_a1XWX :: TyFun b6989586621679475641 (TyFun a6989586621679475642 b6989586621679475641 -> Type) -> Type) (l_a1XWW :: TyFun b6989586621679475641 (TyFun [a6989586621679475642] [b6989586621679475641] -> Type))
data ScanlSym2 (l_a1XWT :: TyFun b6989586621679475641 (TyFun a6989586621679475642 b6989586621679475641 -> Type) -> Type) (l_a1XWU :: b6989586621679475641) (l_a1XWS :: TyFun [a6989586621679475642] [b6989586621679475641])
type ScanlSym3 (t_a1XWP :: TyFun b6989586621679475641 (TyFun a6989586621679475642 b6989586621679475641 -> Type) -> Type) (t_a1XWQ :: b6989586621679475641) (t_a1XWR :: [a6989586621679475642]) = Scanl t_a1XWP t_a1XWQ t_a1XWR
data Scanl1Sym0 (l_a1XXh :: TyFun (TyFun a6989586621679475640 (TyFun a6989586621679475640 a6989586621679475640 -> Type) -> Type) (TyFun [a6989586621679475640] [a6989586621679475640] -> Type))
data Scanl1Sym1 (l_a1XXf :: TyFun a6989586621679475640 (TyFun a6989586621679475640 a6989586621679475640 -> Type) -> Type) (l_a1XXe :: TyFun [a6989586621679475640] [a6989586621679475640])
type Scanl1Sym2 (t_a1XXc :: TyFun a6989586621679475640 (TyFun a6989586621679475640 a6989586621679475640 -> Type) -> Type) (t_a1XXd :: [a6989586621679475640]) = Scanl1 t_a1XXc t_a1XXd
data ScanrSym0 (l_a1XWe :: TyFun (TyFun a6989586621679475638 (TyFun b6989586621679475639 b6989586621679475639 -> Type) -> Type) (TyFun b6989586621679475639 (TyFun [a6989586621679475638] [b6989586621679475639] -> Type) -> Type))
data ScanrSym1 (l_a1XWc :: TyFun a6989586621679475638 (TyFun b6989586621679475639 b6989586621679475639 -> Type) -> Type) (l_a1XWb :: TyFun b6989586621679475639 (TyFun [a6989586621679475638] [b6989586621679475639] -> Type))
data ScanrSym2 (l_a1XW8 :: TyFun a6989586621679475638 (TyFun b6989586621679475639 b6989586621679475639 -> Type) -> Type) (l_a1XW9 :: b6989586621679475639) (l_a1XW7 :: TyFun [a6989586621679475638] [b6989586621679475639])
type ScanrSym3 (t_a1XW4 :: TyFun a6989586621679475638 (TyFun b6989586621679475639 b6989586621679475639 -> Type) -> Type) (t_a1XW5 :: b6989586621679475639) (t_a1XW6 :: [a6989586621679475638]) = Scanr t_a1XW4 t_a1XW5 t_a1XW6
data Scanr1Sym0 (l_a1XV8 :: TyFun (TyFun a6989586621679475637 (TyFun a6989586621679475637 a6989586621679475637 -> Type) -> Type) (TyFun [a6989586621679475637] [a6989586621679475637] -> Type))
data Scanr1Sym1 (l_a1XV6 :: TyFun a6989586621679475637 (TyFun a6989586621679475637 a6989586621679475637 -> Type) -> Type) (l_a1XV5 :: TyFun [a6989586621679475637] [a6989586621679475637])
type Scanr1Sym2 (t_a1XV3 :: TyFun a6989586621679475637 (TyFun a6989586621679475637 a6989586621679475637 -> Type) -> Type) (t_a1XV4 :: [a6989586621679475637]) = Scanr1 t_a1XV3 t_a1XV4
data ElemSym0 (l_a1XNf :: TyFun a6989586621679475623 (TyFun [a6989586621679475623] Bool -> Type))
data ElemSym1 (l_a1XNd :: a6989586621679475623) (l_a1XNc :: TyFun [a6989586621679475623] Bool)
type ElemSym2 (t_a1XNa :: a6989586621679475623) (t_a1XNb :: [a6989586621679475623]) = Elem t_a1XNa t_a1XNb
data NotElemSym0 (l_a1XN0 :: TyFun a6989586621679475622 (TyFun [a6989586621679475622] Bool -> Type))
data NotElemSym1 (l_a1XMY :: a6989586621679475622) (l_a1XMX :: TyFun [a6989586621679475622] Bool)
type NotElemSym2 (t_a1XMV :: a6989586621679475622) (t_a1XMW :: [a6989586621679475622]) = NotElem t_a1XMV t_a1XMW
data ZipSym0 (l_a1XKX :: TyFun [a6989586621679475620] (TyFun [b6989586621679475621] [(a6989586621679475620, b6989586621679475621)] -> Type))
data ZipSym1 (l_a1XKV :: [a6989586621679475620]) (l_a1XKU :: TyFun [b6989586621679475621] [(a6989586621679475620, b6989586621679475621)])
type ZipSym2 (t_a1XKS :: [a6989586621679475620]) (t_a1XKT :: [b6989586621679475621]) = Zip t_a1XKS t_a1XKT
data Zip3Sym0 (l_a1XJP :: TyFun [a6989586621679475617] (TyFun [b6989586621679475618] (TyFun [c6989586621679475619] [(a6989586621679475617, b6989586621679475618, c6989586621679475619)] -> Type) -> Type))
data Zip3Sym1 (l_a1XJN :: [a6989586621679475617]) (l_a1XJM :: TyFun [b6989586621679475618] (TyFun [c6989586621679475619] [(a6989586621679475617, b6989586621679475618, c6989586621679475619)] -> Type))
data Zip3Sym2 (l_a1XJJ :: [a6989586621679475617]) (l_a1XJK :: [b6989586621679475618]) (l_a1XJI :: TyFun [c6989586621679475619] [(a6989586621679475617, b6989586621679475618, c6989586621679475619)])
type Zip3Sym3 (t_a1XJF :: [a6989586621679475617]) (t_a1XJG :: [b6989586621679475618]) (t_a1XJH :: [c6989586621679475619]) = Zip3 t_a1XJF t_a1XJG t_a1XJH
data ZipWithSym0 (l_a1XJa :: TyFun (TyFun a6989586621679475614 (TyFun b6989586621679475615 c6989586621679475616 -> Type) -> Type) (TyFun [a6989586621679475614] (TyFun [b6989586621679475615] [c6989586621679475616] -> Type) -> Type))
data ZipWithSym1 (l_a1XJ8 :: TyFun a6989586621679475614 (TyFun b6989586621679475615 c6989586621679475616 -> Type) -> Type) (l_a1XJ7 :: TyFun [a6989586621679475614] (TyFun [b6989586621679475615] [c6989586621679475616] -> Type))
data ZipWithSym2 (l_a1XJ4 :: TyFun a6989586621679475614 (TyFun b6989586621679475615 c6989586621679475616 -> Type) -> Type) (l_a1XJ5 :: [a6989586621679475614]) (l_a1XJ3 :: TyFun [b6989586621679475615] [c6989586621679475616])
type ZipWithSym3 (t_a1XJ0 :: TyFun a6989586621679475614 (TyFun b6989586621679475615 c6989586621679475616 -> Type) -> Type) (t_a1XJ1 :: [a6989586621679475614]) (t_a1XJ2 :: [b6989586621679475615]) = ZipWith t_a1XJ0 t_a1XJ1 t_a1XJ2
data ZipWith3Sym0 (l_a1XHA :: TyFun (TyFun a6989586621679475610 (TyFun b6989586621679475611 (TyFun c6989586621679475612 d6989586621679475613 -> Type) -> Type) -> Type) (TyFun [a6989586621679475610] (TyFun [b6989586621679475611] (TyFun [c6989586621679475612] [d6989586621679475613] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1XHy :: TyFun a6989586621679475610 (TyFun b6989586621679475611 (TyFun c6989586621679475612 d6989586621679475613 -> Type) -> Type) -> Type) (l_a1XHx :: TyFun [a6989586621679475610] (TyFun [b6989586621679475611] (TyFun [c6989586621679475612] [d6989586621679475613] -> Type) -> Type))
data ZipWith3Sym2 (l_a1XHu :: TyFun a6989586621679475610 (TyFun b6989586621679475611 (TyFun c6989586621679475612 d6989586621679475613 -> Type) -> Type) -> Type) (l_a1XHv :: [a6989586621679475610]) (l_a1XHt :: TyFun [b6989586621679475611] (TyFun [c6989586621679475612] [d6989586621679475613] -> Type))
data ZipWith3Sym3 (l_a1XHp :: TyFun a6989586621679475610 (TyFun b6989586621679475611 (TyFun c6989586621679475612 d6989586621679475613 -> Type) -> Type) -> Type) (l_a1XHq :: [a6989586621679475610]) (l_a1XHr :: [b6989586621679475611]) (l_a1XHo :: TyFun [c6989586621679475612] [d6989586621679475613])
data UnzipSym0 (l_a1XGR :: TyFun [(a6989586621679475608, b6989586621679475609)] ([a6989586621679475608], [b6989586621679475609]))
type UnzipSym1 (t_a1XGQ :: [(a6989586621679475608, b6989586621679475609)]) = Unzip t_a1XGQ
data UntilSym0 (l_a1TVO :: TyFun (TyFun a6989586621679463106 Bool -> Type) (TyFun (TyFun a6989586621679463106 a6989586621679463106 -> Type) (TyFun a6989586621679463106 a6989586621679463106 -> Type) -> Type))
data UntilSym1 (l_a1TVM :: TyFun a6989586621679463106 Bool -> Type) (l_a1TVL :: TyFun (TyFun a6989586621679463106 a6989586621679463106 -> Type) (TyFun a6989586621679463106 a6989586621679463106 -> Type))
data UntilSym2 (l_a1TVI :: TyFun a6989586621679463106 Bool -> Type) (l_a1TVJ :: TyFun a6989586621679463106 a6989586621679463106 -> Type) (l_a1TVH :: TyFun a6989586621679463106 a6989586621679463106)
type UntilSym3 (t_a1TVE :: TyFun a6989586621679463106 Bool -> Type) (t_a1TVF :: TyFun a6989586621679463106 a6989586621679463106 -> Type) (t_a1TVG :: a6989586621679463106) = Until t_a1TVE t_a1TVF t_a1TVG
data LengthSym0 (l_a1Xo3 :: TyFun [a6989586621679475546] Nat)
type LengthSym1 (t_a1Xo2 :: [a6989586621679475546]) = Length t_a1Xo2
data SumSym0 (l_a1Xoz :: TyFun [a6989586621679475548] a6989586621679475548)
type SumSym1 (t_a1Xoy :: [a6989586621679475548]) = Sum t_a1Xoy
data ProductSym0 (l_a1Xob :: TyFun [a6989586621679475547] a6989586621679475547)
type ProductSym1 (t_a1Xoa :: [a6989586621679475547]) = Product t_a1Xoa
data ReplicateSym0 (l_a1XnL :: TyFun Nat (TyFun a6989586621679475545 [a6989586621679475545] -> Type))
data ReplicateSym1 (l_a1XnJ :: Nat) (l_a1XnI :: TyFun a6989586621679475545 [a6989586621679475545])
type ReplicateSym2 (t_a1XnG :: Nat) (t_a1XnH :: a6989586621679475545) = Replicate t_a1XnG t_a1XnH
data TakeSym0 (l_a1XqW :: TyFun Nat (TyFun [a6989586621679475561] [a6989586621679475561] -> Type))
data TakeSym1 (l_a1XqU :: Nat) (l_a1XqT :: TyFun [a6989586621679475561] [a6989586621679475561])
type TakeSym2 (t_a1XqR :: Nat) (t_a1XqS :: [a6989586621679475561]) = Take t_a1XqR t_a1XqS
data DropSym0 (l_a1Xqr :: TyFun Nat (TyFun [a6989586621679475560] [a6989586621679475560] -> Type))
data DropSym1 (l_a1Xqp :: Nat) (l_a1Xqo :: TyFun [a6989586621679475560] [a6989586621679475560])
type DropSym2 (t_a1Xqm :: Nat) (t_a1Xqn :: [a6989586621679475560]) = Drop t_a1Xqm t_a1Xqn
data SplitAtSym0 (l_a1Xrr :: TyFun Nat (TyFun [a6989586621679475559] ([a6989586621679475559], [a6989586621679475559]) -> Type))
data SplitAtSym1 (l_a1Xrp :: Nat) (l_a1Xro :: TyFun [a6989586621679475559] ([a6989586621679475559], [a6989586621679475559]))
type SplitAtSym2 (t_a1Xrm :: Nat) (t_a1Xrn :: [a6989586621679475559]) = SplitAt t_a1Xrm t_a1Xrn
data TakeWhileSym0 (l_a1XwR :: TyFun (TyFun a6989586621679475566 Bool -> Type) (TyFun [a6989586621679475566] [a6989586621679475566] -> Type))
data TakeWhileSym1 (l_a1XwP :: TyFun a6989586621679475566 Bool -> Type) (l_a1XwO :: TyFun [a6989586621679475566] [a6989586621679475566])
type TakeWhileSym2 (t_a1XwM :: TyFun a6989586621679475566 Bool -> Type) (t_a1XwN :: [a6989586621679475566]) = TakeWhile t_a1XwM t_a1XwN
data DropWhileSym0 (l_a1Xw9 :: TyFun (TyFun a6989586621679475565 Bool -> Type) (TyFun [a6989586621679475565] [a6989586621679475565] -> Type))
data DropWhileSym1 (l_a1Xw7 :: TyFun a6989586621679475565 Bool -> Type) (l_a1Xw6 :: TyFun [a6989586621679475565] [a6989586621679475565])
type DropWhileSym2 (t_a1Xw4 :: TyFun a6989586621679475565 Bool -> Type) (t_a1Xw5 :: [a6989586621679475565]) = DropWhile t_a1Xw4 t_a1Xw5
data SpanSym0 (l_a1Xtg :: TyFun (TyFun a6989586621679475563 Bool -> Type) (TyFun [a6989586621679475563] ([a6989586621679475563], [a6989586621679475563]) -> Type))
data SpanSym1 (l_a1Xte :: TyFun a6989586621679475563 Bool -> Type) (l_a1Xtd :: TyFun [a6989586621679475563] ([a6989586621679475563], [a6989586621679475563]))
type SpanSym2 (t_a1Xtb :: TyFun a6989586621679475563 Bool -> Type) (t_a1Xtc :: [a6989586621679475563]) = Span t_a1Xtb t_a1Xtc
data BreakSym0 (l_a1XrC :: TyFun (TyFun a6989586621679475562 Bool -> Type) (TyFun [a6989586621679475562] ([a6989586621679475562], [a6989586621679475562]) -> Type))
data BreakSym1 (l_a1XrA :: TyFun a6989586621679475562 Bool -> Type) (l_a1Xrz :: TyFun [a6989586621679475562] ([a6989586621679475562], [a6989586621679475562]))
type BreakSym2 (t_a1Xrx :: TyFun a6989586621679475562 Bool -> Type) (t_a1Xry :: [a6989586621679475562]) = Break t_a1Xrx t_a1Xry
data LookupSym0 (l_a1XpR :: TyFun a6989586621679475551 (TyFun [(a6989586621679475551, b6989586621679475552)] (Maybe b6989586621679475552) -> Type))
data LookupSym1 (l_a1XpP :: a6989586621679475551) (l_a1XpO :: TyFun [(a6989586621679475551, b6989586621679475552)] (Maybe b6989586621679475552))
type LookupSym2 (t_a1XpM :: a6989586621679475551) (t_a1XpN :: [(a6989586621679475551, b6989586621679475552)]) = Lookup t_a1XpM t_a1XpN
data FilterSym0 (l_a1Xxm :: TyFun (TyFun a6989586621679475574 Bool -> Type) (TyFun [a6989586621679475574] [a6989586621679475574] -> Type))
data FilterSym1 (l_a1Xxk :: TyFun a6989586621679475574 Bool -> Type) (l_a1Xxj :: TyFun [a6989586621679475574] [a6989586621679475574])
type FilterSym2 (t_a1Xxh :: TyFun a6989586621679475574 Bool -> Type) (t_a1Xxi :: [a6989586621679475574]) = Filter t_a1Xxh t_a1Xxi
data (:!!$) (l_a1Xng :: TyFun [a6989586621679475543] (TyFun Nat a6989586621679475543 -> Type))
data (:!!$$) (l_a1Xne :: [a6989586621679475543]) (l_a1Xnd :: TyFun Nat a6989586621679475543)
type (:!!$$$) (t_a1Xnb :: [a6989586621679475543]) (t_a1Xnc :: Nat) = (:!!) t_a1Xnb t_a1Xnc


-- | This module contains everything you need to promote your own functions
--   via Template Haskell.
module Data.Promotion.TH

-- | Promote every declaration given to the type level, retaining the
--   originals.
promote :: DsMonad q => q [Dec] -> q [Dec]

-- | Promote each declaration, discarding the originals. Note that a
--   promoted datatype uses the same definition as an original datatype, so
--   this will not work with datatypes. Classes, instances, and functions
--   are all fine.
promoteOnly :: DsMonad q => q [Dec] -> q [Dec]

-- | Generate defunctionalization symbols for existing type family
genDefunSymbols :: DsMonad q => [Name] -> q [Dec]

-- | Generate promoted definitions from a type that is already defined.
--   This is generally only useful with classes.
genPromotions :: DsMonad q => [Name] -> q [Dec]

-- | Produce instances for '(:==)' (type-level equality) from the given
--   types
promoteEqInstances :: DsMonad q => [Name] -> q [Dec]

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

-- | Produce instances for <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]

-- | 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 '(==)', from
--   <tt>Data.Type.Equality</tt>.
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>
class PEq a_a1jXC => POrd (a_a1jXC :: Type) where {
    type family Compare (arg_a1kny :: a_a1jXC) (arg_a1knz :: a_a1jXC) :: Ordering;
    type family (:<) (arg_a1knH :: a_a1jXC) (arg_a1knI :: a_a1jXC) :: Bool;
    type family (:<=) (arg_a1knQ :: a_a1jXC) (arg_a1knR :: a_a1jXC) :: Bool;
    type family (:>) (arg_a1knZ :: a_a1jXC) (arg_a1ko0 :: a_a1jXC) :: Bool;
    type family (:>=) (arg_a1ko8 :: a_a1jXC) (arg_a1ko9 :: a_a1jXC) :: Bool;
    type family Max (arg_a1koh :: a_a1jXC) (arg_a1koi :: a_a1jXC) :: a_a1jXC;
    type family Min (arg_a1koq :: a_a1jXC) (arg_a1kor :: a_a1jXC) :: a_a1jXC;
    type Compare a_a1kp6 a_a1kp7 =
        Apply (Apply Compare_6989586621679326558Sym0 a_a1kp6) a_a1kp7;
    type (:<) a_a1kpD a_a1kpE =
        Apply (Apply TFHelper_6989586621679326591Sym0 a_a1kpD) a_a1kpE;
    type (:<=) a_a1kqa a_a1kqb =
        Apply (Apply TFHelper_6989586621679326624Sym0 a_a1kqa) a_a1kqb;
    type (:>) a_a1kqH a_a1kqI =
        Apply (Apply TFHelper_6989586621679326657Sym0 a_a1kqH) a_a1kqI;
    type (:>=) a_a1kre a_a1krf =
        Apply (Apply TFHelper_6989586621679326690Sym0 a_a1kre) a_a1krf;
    type Max a_a1krL a_a1krM =
        Apply (Apply Max_6989586621679326723Sym0 a_a1krL) a_a1krM;
    type Min a_a1ksi a_a1ksj =
        Apply (Apply Min_6989586621679326756Sym0 a_a1ksi) a_a1ksj;
}

-- | The type constructor <a>Any</a> is type to which you can unsafely
--   coerce any lifted type, and back. More concretely, for a lifted type
--   <tt>t</tt> and value <tt>x :: t</tt>, -- <tt>unsafeCoerce
--   (unsafeCoerce x :: Any) :: t</tt> is equivalent to <tt>x</tt>.

-- | A concrete, poly-kinded proxy type
data Proxy k (t :: k) :: forall k. () => k -> *
Proxy :: Proxy k

-- | The promotion of <a>error</a>. This version is more poly-kinded for
--   easier use.
data ErrorSym0 (l_a1IFR :: TyFun k06989586621679418718 k6989586621679418720)
type TrueSym0 = True
type FalseSym0 = False
type LTSym0 = LT
type EQSym0 = EQ
type GTSym0 = GT
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_aY7f :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aY7d :: a3530822107858468865) (l_aY7c :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aY7a :: a3530822107858468865) (t_aY7b :: b3530822107858468866) = '(t_aY7a, t_aY7b)
data Tuple3Sym0 (l_aY7D :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aY7B :: a3530822107858468865) (l_aY7A :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aY7x :: a3530822107858468865) (l_aY7y :: b3530822107858468866) (l_aY7w :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aY7t :: a3530822107858468865) (t_aY7u :: b3530822107858468866) (t_aY7v :: c3530822107858468867) = '(t_aY7t, t_aY7u, t_aY7v)
data Tuple4Sym0 (l_aY8c :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aY8a :: a3530822107858468865) (l_aY89 :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aY86 :: a3530822107858468865) (l_aY87 :: b3530822107858468866) (l_aY85 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aY81 :: a3530822107858468865) (l_aY82 :: b3530822107858468866) (l_aY83 :: c3530822107858468867) (l_aY80 :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aY7W :: a3530822107858468865) (t_aY7X :: b3530822107858468866) (t_aY7Y :: c3530822107858468867) (t_aY7Z :: d3530822107858468868) = '(t_aY7W, t_aY7X, t_aY7Y, t_aY7Z)
data Tuple5Sym0 (l_aY8X :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aY8V :: a3530822107858468865) (l_aY8U :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aY8R :: a3530822107858468865) (l_aY8S :: b3530822107858468866) (l_aY8Q :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aY8M :: a3530822107858468865) (l_aY8N :: b3530822107858468866) (l_aY8O :: c3530822107858468867) (l_aY8L :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aY8G :: a3530822107858468865) (l_aY8H :: b3530822107858468866) (l_aY8I :: c3530822107858468867) (l_aY8J :: d3530822107858468868) (l_aY8F :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aY8A :: a3530822107858468865) (t_aY8B :: b3530822107858468866) (t_aY8C :: c3530822107858468867) (t_aY8D :: d3530822107858468868) (t_aY8E :: e3530822107858468869) = '(t_aY8A, t_aY8B, t_aY8C, t_aY8D, t_aY8E)
data Tuple6Sym0 (l_aY9V :: 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_aY9T :: a3530822107858468865) (l_aY9S :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aY9P :: a3530822107858468865) (l_aY9Q :: b3530822107858468866) (l_aY9O :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aY9K :: a3530822107858468865) (l_aY9L :: b3530822107858468866) (l_aY9M :: c3530822107858468867) (l_aY9J :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aY9E :: a3530822107858468865) (l_aY9F :: b3530822107858468866) (l_aY9G :: c3530822107858468867) (l_aY9H :: d3530822107858468868) (l_aY9D :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aY9x :: a3530822107858468865) (l_aY9y :: b3530822107858468866) (l_aY9z :: c3530822107858468867) (l_aY9A :: d3530822107858468868) (l_aY9B :: e3530822107858468869) (l_aY9w :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aY9q :: a3530822107858468865) (t_aY9r :: b3530822107858468866) (t_aY9s :: c3530822107858468867) (t_aY9t :: d3530822107858468868) (t_aY9u :: e3530822107858468869) (t_aY9v :: f3530822107858468870) = '(t_aY9q, t_aY9r, t_aY9s, t_aY9t, t_aY9u, t_aY9v)
data Tuple7Sym0 (l_aYb7 :: 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_aYb5 :: a3530822107858468865) (l_aYb4 :: 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_aYb1 :: a3530822107858468865) (l_aYb2 :: b3530822107858468866) (l_aYb0 :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_aYaW :: a3530822107858468865) (l_aYaX :: b3530822107858468866) (l_aYaY :: c3530822107858468867) (l_aYaV :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_aYaQ :: a3530822107858468865) (l_aYaR :: b3530822107858468866) (l_aYaS :: c3530822107858468867) (l_aYaT :: d3530822107858468868) (l_aYaP :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_aYaJ :: a3530822107858468865) (l_aYaK :: b3530822107858468866) (l_aYaL :: c3530822107858468867) (l_aYaM :: d3530822107858468868) (l_aYaN :: e3530822107858468869) (l_aYaI :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_aYaB :: a3530822107858468865) (l_aYaC :: b3530822107858468866) (l_aYaD :: c3530822107858468867) (l_aYaE :: d3530822107858468868) (l_aYaF :: e3530822107858468869) (l_aYaG :: f3530822107858468870) (l_aYaA :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_aYat :: a3530822107858468865) (t_aYau :: b3530822107858468866) (t_aYav :: c3530822107858468867) (t_aYaw :: d3530822107858468868) (t_aYax :: e3530822107858468869) (t_aYay :: f3530822107858468870) (t_aYaz :: g3530822107858468871) = '(t_aYat, t_aYau, t_aYav, t_aYaw, t_aYax, t_aYay, t_aYaz)
data ThenCmpSym0 (l_a1mc2 :: TyFun Ordering (TyFun Ordering Ordering -> Type))
data FoldlSym0 (l_a116c :: TyFun (TyFun b6989586621679252328 (TyFun a6989586621679252327 b6989586621679252328 -> Type) -> Type) (TyFun b6989586621679252328 (TyFun [a6989586621679252327] b6989586621679252328 -> Type) -> Type))

-- | This class (which users should never see) is to be instantiated in
--   order to use an otherwise-unused data constructor, such as the
--   "kind-inference" data constructor for defunctionalization symbols.
class SuppressUnusedWarnings (t :: k)
suppressUnusedWarnings :: SuppressUnusedWarnings t => Proxy t -> ()


-- | This 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, Show, Read)
--   </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 :: SingRep a =&gt; 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]
