-- 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_a19Yt :: Bool). Sing t_a19Yt -> Sing (Apply NotSym0 t_a19Yt :: Bool)
(%:&&) :: forall (t_a19Yw :: Bool) (t_a19Yx :: Bool). Sing t_a19Yw -> Sing t_a19Yx -> Sing (Apply (Apply (:&&$) t_a19Yw) t_a19Yx :: Bool)
infixr 3 %:&&
(%:||) :: forall (t_a19Yu :: Bool) (t_a19Yv :: Bool). Sing t_a19Yu -> Sing t_a19Yv -> Sing (Apply (Apply (:||$) t_a19Yu) t_a19Yv :: Bool)
infixr 2 %:||
bool_ :: a_a19NY -> a_a19NY -> Bool -> a_a19NY
sBool_ :: forall (t_a19On :: a_a19NY) (t_a19Oo :: a_a19NY) (t_a19Op :: Bool). Sing t_a19On -> Sing t_a19Oo -> Sing t_a19Op -> Sing (Apply (Apply (Apply Bool_Sym0 t_a19On) t_a19Oo) t_a19Op :: a_a19NY)
sOtherwise :: Sing (OtherwiseSym0 :: Bool)
type TrueSym0 = True
type FalseSym0 = False
data NotSym0 (l_a19Y0 :: TyFun Bool Bool)
type NotSym1 (t_a19XZ :: Bool) = Not t_a19XZ
data (:&&$) (l_a19Yl :: TyFun Bool (TyFun Bool Bool -> Type))
data (:&&$$) (l_a19Yj :: Bool) (l_a19Yi :: TyFun Bool Bool)
type (:&&$$$) (t_a19Yg :: Bool) (t_a19Yh :: Bool) = (:&&) t_a19Yg t_a19Yh
data (:||$) (l_a19Y8 :: TyFun Bool (TyFun Bool Bool -> Type))
data (:||$$) (l_a19Y6 :: Bool) (l_a19Y5 :: TyFun Bool Bool)
type (:||$$$) (t_a19Y3 :: Bool) (t_a19Y4 :: Bool) = (:||) t_a19Y3 t_a19Y4
data Bool_Sym0 (l_a19Oe :: TyFun a6989586621679285814 (TyFun a6989586621679285814 (TyFun Bool a6989586621679285814 -> Type) -> Type))
data Bool_Sym1 (l_a19Oc :: a6989586621679285814) (l_a19Ob :: TyFun a6989586621679285814 (TyFun Bool a6989586621679285814 -> Type))
data Bool_Sym2 (l_a19O8 :: a6989586621679285814) (l_a19O9 :: a6989586621679285814) (l_a19O7 :: TyFun Bool a6989586621679285814)
type Bool_Sym3 (t_a19O4 :: a6989586621679285814) (t_a19O5 :: a6989586621679285814) (t_a19O6 :: Bool) = Bool_ t_a19O4 t_a19O5 t_a19O6
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_a19NY -> a_a19NY -> Bool -> a_a19NY
type TrueSym0 = True
type FalseSym0 = False
data NotSym0 (l_a19Y0 :: TyFun Bool Bool)
type NotSym1 (t_a19XZ :: Bool) = Not t_a19XZ
data (:&&$) (l_a19Yl :: TyFun Bool (TyFun Bool Bool -> Type))
data (:&&$$) (l_a19Yj :: Bool) (l_a19Yi :: TyFun Bool Bool)
type (:&&$$$) (t_a19Yg :: Bool) (t_a19Yh :: Bool) = (:&&) t_a19Yg t_a19Yh
data (:||$) (l_a19Y8 :: TyFun Bool (TyFun Bool Bool -> Type))
data (:||$$) (l_a19Y6 :: Bool) (l_a19Y5 :: TyFun Bool Bool)
type (:||$$$) (t_a19Y3 :: Bool) (t_a19Y4 :: Bool) = (:||) t_a19Y3 t_a19Y4
data Bool_Sym0 (l_a19Oe :: TyFun a6989586621679285814 (TyFun a6989586621679285814 (TyFun Bool a6989586621679285814 -> Type) -> Type))
data Bool_Sym1 (l_a19Oc :: a6989586621679285814) (l_a19Ob :: TyFun a6989586621679285814 (TyFun Bool a6989586621679285814 -> Type))
data Bool_Sym2 (l_a19O8 :: a6989586621679285814) (l_a19O9 :: a6989586621679285814) (l_a19O7 :: TyFun Bool a6989586621679285814)
type Bool_Sym3 (t_a19O4 :: a6989586621679285814) (t_a19O5 :: a6989586621679285814) (t_a19O6 :: Bool) = Bool_ t_a19O4 t_a19O5 t_a19O6
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_a1aTt :: TyFun a_a1aPQ (TyFun b_a1aPR b_a1aPR -> Type) -> Type) (t_a1aTu :: b_a1aPR) (t_a1aTv :: [a_a1aPQ]). Sing t_a1aTt -> Sing t_a1aTu -> Sing t_a1aTv -> Sing (Apply (Apply (Apply FoldrSym0 t_a1aTt) t_a1aTu) t_a1aTv :: b_a1aPR)
sMap :: forall (t_a1aTr :: TyFun a_a1aPO b_a1aPP -> Type) (t_a1aTs :: [a_a1aPO]). Sing t_a1aTr -> Sing t_a1aTs -> Sing (Apply (Apply MapSym0 t_a1aTr) t_a1aTs :: [b_a1aPP])
(%:++) :: forall (t_a1aTp :: [a_a1aPN]) (t_a1aTq :: [a_a1aPN]). Sing t_a1aTp -> Sing t_a1aTq -> Sing (Apply (Apply (:++$) t_a1aTp) t_a1aTq :: [a_a1aPN])
infixr 5 %:++
sOtherwise :: Sing (OtherwiseSym0 :: Bool)
sId :: forall (t_a1aTo :: a_a1aPM). Sing t_a1aTo -> Sing (Apply IdSym0 t_a1aTo :: a_a1aPM)
sConst :: forall (t_a1aTk :: a_a1aPK) (t_a1aTl :: b_a1aPL). Sing t_a1aTk -> Sing t_a1aTl -> Sing (Apply (Apply ConstSym0 t_a1aTk) t_a1aTl :: a_a1aPK)
(%:.) :: forall (t_a1aTh :: TyFun b_a1aPH c_a1aPI -> Type) (t_a1aTi :: TyFun a_a1aPJ b_a1aPH -> Type) (t_a1aTj :: a_a1aPJ). Sing t_a1aTh -> Sing t_a1aTi -> Sing t_a1aTj -> Sing (Apply (Apply (Apply (:.$) t_a1aTh) t_a1aTi) t_a1aTj :: c_a1aPI)
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_a1aTe :: TyFun a_a1aPE (TyFun b_a1aPF c_a1aPG -> Type) -> Type) (t_a1aTf :: b_a1aPF) (t_a1aTg :: a_a1aPE). Sing t_a1aTe -> Sing t_a1aTf -> Sing t_a1aTg -> Sing (Apply (Apply (Apply FlipSym0 t_a1aTe) t_a1aTf) t_a1aTg :: c_a1aPG)
sAsTypeOf :: forall (t_a1aTm :: a_a1aPD) (t_a1aTn :: a_a1aPD). Sing t_a1aTm -> Sing t_a1aTn -> Sing (Apply (Apply AsTypeOfSym0 t_a1aTm) t_a1aTn :: a_a1aPD)
sSeq :: forall (t_a1aTc :: a_a1aPB) (t_a1aTd :: b_a1aPC). Sing t_a1aTc -> Sing t_a1aTd -> Sing (Apply (Apply SeqSym0 t_a1aTc) t_a1aTd :: b_a1aPC)
infixr 0 `sSeq`
data FoldrSym0 (l_a1aSG :: TyFun (TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (TyFun b6989586621679289775 (TyFun [a6989586621679289774] b6989586621679289775 -> Type) -> Type))
data FoldrSym1 (l_a1aSE :: TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (l_a1aSD :: TyFun b6989586621679289775 (TyFun [a6989586621679289774] b6989586621679289775 -> Type))
data FoldrSym2 (l_a1aSA :: TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (l_a1aSB :: b6989586621679289775) (l_a1aSz :: TyFun [a6989586621679289774] b6989586621679289775)
type FoldrSym3 (t_a1aSw :: TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (t_a1aSx :: b6989586621679289775) (t_a1aSy :: [a6989586621679289774]) = Foldr t_a1aSw t_a1aSx t_a1aSy
data MapSym0 (l_a1aSm :: TyFun (TyFun a6989586621679289772 b6989586621679289773 -> Type) (TyFun [a6989586621679289772] [b6989586621679289773] -> Type))
data MapSym1 (l_a1aSk :: TyFun a6989586621679289772 b6989586621679289773 -> Type) (l_a1aSj :: TyFun [a6989586621679289772] [b6989586621679289773])
type MapSym2 (t_a1aSh :: TyFun a6989586621679289772 b6989586621679289773 -> Type) (t_a1aSi :: [a6989586621679289772]) = Map t_a1aSh t_a1aSi
data (:++$) (l_a1aS9 :: TyFun [a6989586621679289771] (TyFun [a6989586621679289771] [a6989586621679289771] -> Type))
data (:++$$) (l_a1aS7 :: [a6989586621679289771]) (l_a1aS6 :: TyFun [a6989586621679289771] [a6989586621679289771])
type (:++$$$) (t_a1aS4 :: [a6989586621679289771]) (t_a1aS5 :: [a6989586621679289771]) = (:++) t_a1aS4 t_a1aS5
type OtherwiseSym0 = Otherwise
data IdSym0 (l_a1aS0 :: TyFun a6989586621679289770 a6989586621679289770)
type IdSym1 (t_a1aRZ :: a6989586621679289770) = Id t_a1aRZ
data ConstSym0 (l_a1aRC :: TyFun a6989586621679289768 (TyFun b6989586621679289769 a6989586621679289768 -> Type))
data ConstSym1 (l_a1aRA :: a6989586621679289768) (l_a1aRz :: TyFun b6989586621679289769 a6989586621679289768)
type ConstSym2 (t_a1aRx :: a6989586621679289768) (t_a1aRy :: b6989586621679289769) = Const t_a1aRx t_a1aRy
data (:.$) (l_a1aR1 :: TyFun (TyFun b6989586621679289765 c6989586621679289766 -> Type) (TyFun (TyFun a6989586621679289767 b6989586621679289765 -> Type) (TyFun a6989586621679289767 c6989586621679289766 -> Type) -> Type))
data (:.$$) (l_a1aQZ :: TyFun b6989586621679289765 c6989586621679289766 -> Type) (l_a1aQY :: TyFun (TyFun a6989586621679289767 b6989586621679289765 -> Type) (TyFun a6989586621679289767 c6989586621679289766 -> Type))
data (:.$$$) (l_a1aQV :: TyFun b6989586621679289765 c6989586621679289766 -> Type) (l_a1aQW :: TyFun a6989586621679289767 b6989586621679289765 -> Type) (l_a1aQU :: TyFun a6989586621679289767 c6989586621679289766)
type (:.$$$$) (t_a1aQR :: TyFun b6989586621679289765 c6989586621679289766 -> Type) (t_a1aQS :: TyFun a6989586621679289767 b6989586621679289765 -> Type) (t_a1aQT :: a6989586621679289767) = (:.) t_a1aQR t_a1aQS t_a1aQT
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_a1aQJ :: TyFun (TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (TyFun b6989586621679289763 (TyFun a6989586621679289762 c6989586621679289764 -> Type) -> Type))
data FlipSym1 (l_a1aQH :: TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (l_a1aQG :: TyFun b6989586621679289763 (TyFun a6989586621679289762 c6989586621679289764 -> Type))
data FlipSym2 (l_a1aQD :: TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (l_a1aQE :: b6989586621679289763) (l_a1aQC :: TyFun a6989586621679289762 c6989586621679289764)
type FlipSym3 (t_a1aQz :: TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (t_a1aQA :: b6989586621679289763) (t_a1aQB :: a6989586621679289762) = Flip t_a1aQz t_a1aQA t_a1aQB
data AsTypeOfSym0 (l_a1aRT :: TyFun a6989586621679289761 (TyFun a6989586621679289761 a6989586621679289761 -> Type))
data AsTypeOfSym1 (l_a1aRR :: a6989586621679289761) (l_a1aRQ :: TyFun a6989586621679289761 a6989586621679289761)
type AsTypeOfSym2 (t_a1aRO :: a6989586621679289761) (t_a1aRP :: a6989586621679289761) = AsTypeOf t_a1aRO t_a1aRP
data SeqSym0 (l_a1aQr :: TyFun a6989586621679289759 (TyFun b6989586621679289760 b6989586621679289760 -> Type))
data SeqSym1 (l_a1aQp :: a6989586621679289759) (l_a1aQo :: TyFun b6989586621679289760 b6989586621679289760)
type SeqSym2 (t_a1aQm :: a6989586621679289759) (t_a1aQn :: b6989586621679289760) = Seq t_a1aQm t_a1aQn
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.Let6989586621679289960GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679289960GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679289960GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679289960GoSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679289857Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679289857Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679289857Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679289857Sym3


-- | 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_a1aTo :: a_a1aPM). Sing t_a1aTo -> Sing (Apply IdSym0 t_a1aTo :: a_a1aPM)
sConst :: forall (t_a1aTk :: a_a1aPK) (t_a1aTl :: b_a1aPL). Sing t_a1aTk -> Sing t_a1aTl -> Sing (Apply (Apply ConstSym0 t_a1aTk) t_a1aTl :: a_a1aPK)
(%:.) :: forall (t_a1aTh :: TyFun b_a1aPH c_a1aPI -> Type) (t_a1aTi :: TyFun a_a1aPJ b_a1aPH -> Type) (t_a1aTj :: a_a1aPJ). Sing t_a1aTh -> Sing t_a1aTi -> Sing t_a1aTj -> Sing (Apply (Apply (Apply (:.$) t_a1aTh) t_a1aTi) t_a1aTj :: c_a1aPI)
infixr 9 %:.
sFlip :: forall (t_a1aTe :: TyFun a_a1aPE (TyFun b_a1aPF c_a1aPG -> Type) -> Type) (t_a1aTf :: b_a1aPF) (t_a1aTg :: a_a1aPE). Sing t_a1aTe -> Sing t_a1aTf -> Sing t_a1aTg -> Sing (Apply (Apply (Apply FlipSym0 t_a1aTe) t_a1aTf) t_a1aTg :: c_a1aPG)
(%$) :: forall (f :: TyFun a b -> *) (x :: a). Sing f -> Sing x -> Sing ((($$) @@ f) @@ x)
infixr 0 %$
(%:&) :: forall (t_a1dZQ :: a_a1dYl) (t_a1dZR :: TyFun a_a1dYl b_a1dYm -> Type). Sing t_a1dZQ -> Sing t_a1dZR -> Sing (Apply (Apply (:&$) t_a1dZQ) t_a1dZR :: b_a1dYm)
sOn :: forall (t_a1dZS :: TyFun b_a1dYn (TyFun b_a1dYn c_a1dYo -> Type) -> Type) (t_a1dZT :: TyFun a_a1dYp b_a1dYn -> Type) (t_a1dZU :: a_a1dYp) (t_a1dZV :: a_a1dYp). Sing t_a1dZS -> Sing t_a1dZT -> Sing t_a1dZU -> Sing t_a1dZV -> Sing (Apply (Apply (Apply (Apply OnSym0 t_a1dZS) t_a1dZT) t_a1dZU) t_a1dZV :: c_a1dYo)
data IdSym0 (l_a1aS0 :: TyFun a6989586621679289770 a6989586621679289770)
type IdSym1 (t_a1aRZ :: a6989586621679289770) = Id t_a1aRZ
data ConstSym0 (l_a1aRC :: TyFun a6989586621679289768 (TyFun b6989586621679289769 a6989586621679289768 -> Type))
data ConstSym1 (l_a1aRA :: a6989586621679289768) (l_a1aRz :: TyFun b6989586621679289769 a6989586621679289768)
type ConstSym2 (t_a1aRx :: a6989586621679289768) (t_a1aRy :: b6989586621679289769) = Const t_a1aRx t_a1aRy
data (:.$) (l_a1aR1 :: TyFun (TyFun b6989586621679289765 c6989586621679289766 -> Type) (TyFun (TyFun a6989586621679289767 b6989586621679289765 -> Type) (TyFun a6989586621679289767 c6989586621679289766 -> Type) -> Type))
data (:.$$) (l_a1aQZ :: TyFun b6989586621679289765 c6989586621679289766 -> Type) (l_a1aQY :: TyFun (TyFun a6989586621679289767 b6989586621679289765 -> Type) (TyFun a6989586621679289767 c6989586621679289766 -> Type))
data (:.$$$) (l_a1aQV :: TyFun b6989586621679289765 c6989586621679289766 -> Type) (l_a1aQW :: TyFun a6989586621679289767 b6989586621679289765 -> Type) (l_a1aQU :: TyFun a6989586621679289767 c6989586621679289766)
type (:.$$$$) (t_a1aQR :: TyFun b6989586621679289765 c6989586621679289766 -> Type) (t_a1aQS :: TyFun a6989586621679289767 b6989586621679289765 -> Type) (t_a1aQT :: a6989586621679289767) = (:.) t_a1aQR t_a1aQS t_a1aQT
data FlipSym0 (l_a1aQJ :: TyFun (TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (TyFun b6989586621679289763 (TyFun a6989586621679289762 c6989586621679289764 -> Type) -> Type))
data FlipSym1 (l_a1aQH :: TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (l_a1aQG :: TyFun b6989586621679289763 (TyFun a6989586621679289762 c6989586621679289764 -> Type))
data FlipSym2 (l_a1aQD :: TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (l_a1aQE :: b6989586621679289763) (l_a1aQC :: TyFun a6989586621679289762 c6989586621679289764)
type FlipSym3 (t_a1aQz :: TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (t_a1aQA :: b6989586621679289763) (t_a1aQB :: a6989586621679289762) = Flip t_a1aQz t_a1aQA t_a1aQB
data ($$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> *
data ($$$) :: (TyFun a b -> *) -> TyFun a b -> *
type ($$$$) a b = ($) a b
data (:&$) (l_a1dYD :: TyFun a6989586621679301833 (TyFun (TyFun a6989586621679301833 b6989586621679301834 -> Type) b6989586621679301834 -> Type))
data (:&$$) (l_a1dYB :: a6989586621679301833) (l_a1dYA :: TyFun (TyFun a6989586621679301833 b6989586621679301834 -> Type) b6989586621679301834)
type (:&$$$) (t_a1dYy :: a6989586621679301833) (t_a1dYz :: TyFun a6989586621679301833 b6989586621679301834 -> Type) = (:&) t_a1dYy t_a1dYz
data OnSym0 (l_a1dYZ :: TyFun (TyFun b6989586621679301835 (TyFun b6989586621679301835 c6989586621679301836 -> Type) -> Type) (TyFun (TyFun a6989586621679301837 b6989586621679301835 -> Type) (TyFun a6989586621679301837 (TyFun a6989586621679301837 c6989586621679301836 -> Type) -> Type) -> Type))
data OnSym1 (l_a1dYX :: TyFun b6989586621679301835 (TyFun b6989586621679301835 c6989586621679301836 -> Type) -> Type) (l_a1dYW :: TyFun (TyFun a6989586621679301837 b6989586621679301835 -> Type) (TyFun a6989586621679301837 (TyFun a6989586621679301837 c6989586621679301836 -> Type) -> Type))
data OnSym2 (l_a1dYT :: TyFun b6989586621679301835 (TyFun b6989586621679301835 c6989586621679301836 -> Type) -> Type) (l_a1dYU :: TyFun a6989586621679301837 b6989586621679301835 -> Type) (l_a1dYS :: TyFun a6989586621679301837 (TyFun a6989586621679301837 c6989586621679301836 -> Type))
data OnSym3 (l_a1dYO :: TyFun b6989586621679301835 (TyFun b6989586621679301835 c6989586621679301836 -> Type) -> Type) (l_a1dYP :: TyFun a6989586621679301837 b6989586621679301835 -> Type) (l_a1dYQ :: a6989586621679301837) (l_a1dYN :: TyFun a6989586621679301837 c6989586621679301836)
type OnSym4 (t_a1dYJ :: TyFun b6989586621679301835 (TyFun b6989586621679301835 c6989586621679301836 -> Type) -> Type) (t_a1dYK :: TyFun a6989586621679301837 b6989586621679301835 -> Type) (t_a1dYL :: a6989586621679301837) (t_a1dYM :: a6989586621679301837) = On t_a1dYJ t_a1dYK t_a1dYL t_a1dYM
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_6989586621679301887Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679301887Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679301887Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679301887Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679301887Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679301887Sym5


-- | 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_a1aS0 :: TyFun a6989586621679289770 a6989586621679289770)
type IdSym1 (t_a1aRZ :: a6989586621679289770) = Id t_a1aRZ
data ConstSym0 (l_a1aRC :: TyFun a6989586621679289768 (TyFun b6989586621679289769 a6989586621679289768 -> Type))
data ConstSym1 (l_a1aRA :: a6989586621679289768) (l_a1aRz :: TyFun b6989586621679289769 a6989586621679289768)
type ConstSym2 (t_a1aRx :: a6989586621679289768) (t_a1aRy :: b6989586621679289769) = Const t_a1aRx t_a1aRy
data (:.$) (l_a1aR1 :: TyFun (TyFun b6989586621679289765 c6989586621679289766 -> Type) (TyFun (TyFun a6989586621679289767 b6989586621679289765 -> Type) (TyFun a6989586621679289767 c6989586621679289766 -> Type) -> Type))
data (:.$$) (l_a1aQZ :: TyFun b6989586621679289765 c6989586621679289766 -> Type) (l_a1aQY :: TyFun (TyFun a6989586621679289767 b6989586621679289765 -> Type) (TyFun a6989586621679289767 c6989586621679289766 -> Type))
data (:.$$$) (l_a1aQV :: TyFun b6989586621679289765 c6989586621679289766 -> Type) (l_a1aQW :: TyFun a6989586621679289767 b6989586621679289765 -> Type) (l_a1aQU :: TyFun a6989586621679289767 c6989586621679289766)
type (:.$$$$) (t_a1aQR :: TyFun b6989586621679289765 c6989586621679289766 -> Type) (t_a1aQS :: TyFun a6989586621679289767 b6989586621679289765 -> Type) (t_a1aQT :: a6989586621679289767) = (:.) t_a1aQR t_a1aQS t_a1aQT
data FlipSym0 (l_a1aQJ :: TyFun (TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (TyFun b6989586621679289763 (TyFun a6989586621679289762 c6989586621679289764 -> Type) -> Type))
data FlipSym1 (l_a1aQH :: TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (l_a1aQG :: TyFun b6989586621679289763 (TyFun a6989586621679289762 c6989586621679289764 -> Type))
data FlipSym2 (l_a1aQD :: TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (l_a1aQE :: b6989586621679289763) (l_a1aQC :: TyFun a6989586621679289762 c6989586621679289764)
type FlipSym3 (t_a1aQz :: TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (t_a1aQA :: b6989586621679289763) (t_a1aQB :: a6989586621679289762) = Flip t_a1aQz t_a1aQA t_a1aQB
data ($$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> *
data ($$$) :: (TyFun a b -> *) -> TyFun a b -> *
type ($$$$) a b = ($) a b
data (:&$) (l_a1dYD :: TyFun a6989586621679301833 (TyFun (TyFun a6989586621679301833 b6989586621679301834 -> Type) b6989586621679301834 -> Type))
data (:&$$) (l_a1dYB :: a6989586621679301833) (l_a1dYA :: TyFun (TyFun a6989586621679301833 b6989586621679301834 -> Type) b6989586621679301834)
type (:&$$$) (t_a1dYy :: a6989586621679301833) (t_a1dYz :: TyFun a6989586621679301833 b6989586621679301834 -> Type) = (:&) t_a1dYy t_a1dYz
data OnSym0 (l_a1dYZ :: TyFun (TyFun b6989586621679301835 (TyFun b6989586621679301835 c6989586621679301836 -> Type) -> Type) (TyFun (TyFun a6989586621679301837 b6989586621679301835 -> Type) (TyFun a6989586621679301837 (TyFun a6989586621679301837 c6989586621679301836 -> Type) -> Type) -> Type))
data OnSym1 (l_a1dYX :: TyFun b6989586621679301835 (TyFun b6989586621679301835 c6989586621679301836 -> Type) -> Type) (l_a1dYW :: TyFun (TyFun a6989586621679301837 b6989586621679301835 -> Type) (TyFun a6989586621679301837 (TyFun a6989586621679301837 c6989586621679301836 -> Type) -> Type))
data OnSym2 (l_a1dYT :: TyFun b6989586621679301835 (TyFun b6989586621679301835 c6989586621679301836 -> Type) -> Type) (l_a1dYU :: TyFun a6989586621679301837 b6989586621679301835 -> Type) (l_a1dYS :: TyFun a6989586621679301837 (TyFun a6989586621679301837 c6989586621679301836 -> Type))
data OnSym3 (l_a1dYO :: TyFun b6989586621679301835 (TyFun b6989586621679301835 c6989586621679301836 -> Type) -> Type) (l_a1dYP :: TyFun a6989586621679301837 b6989586621679301835 -> Type) (l_a1dYQ :: a6989586621679301837) (l_a1dYN :: TyFun a6989586621679301837 c6989586621679301836)
type OnSym4 (t_a1dYJ :: TyFun b6989586621679301835 (TyFun b6989586621679301835 c6989586621679301836 -> Type) -> Type) (t_a1dYK :: TyFun a6989586621679301837 b6989586621679301835 -> Type) (t_a1dYL :: a6989586621679301837) (t_a1dYM :: a6989586621679301837) = On t_a1dYJ t_a1dYK t_a1dYL t_a1dYM


-- | 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_a1fhW :: TyFun a6989586621679306825 (TyFun a6989586621679306825 Bool -> Type))
data (:==$$) (l_a1fhU :: a6989586621679306825) (l_a1fhT :: TyFun a6989586621679306825 Bool)
type (:==$$$) (t_a1fhR :: a6989586621679306825) (t_a1fhS :: a6989586621679306825) = (:==) t_a1fhR t_a1fhS
data (:/=$) (l_a1fi3 :: TyFun a6989586621679306825 (TyFun a6989586621679306825 Bool -> Type))
data (:/=$$) (l_a1fi1 :: a6989586621679306825) (l_a1fi0 :: TyFun a6989586621679306825 Bool)
type (:/=$$$) (t_a1fhY :: a6989586621679306825) (t_a1fhZ :: a6989586621679306825) = (:/=) t_a1fhY t_a1fhZ
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_a1jfn => POrd (a_a1jfn :: Type) where {
    type family Compare (arg_a1jAI :: a_a1jfn) (arg_a1jAJ :: a_a1jfn) :: Ordering;
    type family (:<) (arg_a1jAR :: a_a1jfn) (arg_a1jAS :: a_a1jfn) :: Bool;
    type family (:<=) (arg_a1jB0 :: a_a1jfn) (arg_a1jB1 :: a_a1jfn) :: Bool;
    type family (:>) (arg_a1jB9 :: a_a1jfn) (arg_a1jBa :: a_a1jfn) :: Bool;
    type family (:>=) (arg_a1jBi :: a_a1jfn) (arg_a1jBj :: a_a1jfn) :: Bool;
    type family Max (arg_a1jBr :: a_a1jfn) (arg_a1jBs :: a_a1jfn) :: a_a1jfn;
    type family Min (arg_a1jBA :: a_a1jfn) (arg_a1jBB :: a_a1jfn) :: a_a1jfn;
    type Compare a_a1jCg a_a1jCh =
        Apply (Apply Compare_6989586621679323530Sym0 a_a1jCg) a_a1jCh;
    type (:<) a_a1jCN a_a1jCO =
        Apply (Apply TFHelper_6989586621679323563Sym0 a_a1jCN) a_a1jCO;
    type (:<=) a_a1jDk a_a1jDl =
        Apply (Apply TFHelper_6989586621679323596Sym0 a_a1jDk) a_a1jDl;
    type (:>) a_a1jDR a_a1jDS =
        Apply (Apply TFHelper_6989586621679323629Sym0 a_a1jDR) a_a1jDS;
    type (:>=) a_a1jEo a_a1jEp =
        Apply (Apply TFHelper_6989586621679323662Sym0 a_a1jEo) a_a1jEp;
    type Max a_a1jEV a_a1jEW =
        Apply (Apply Max_6989586621679323695Sym0 a_a1jEV) a_a1jEW;
    type Min a_a1jFs a_a1jFt =
        Apply (Apply Min_6989586621679323728Sym0 a_a1jFs) a_a1jFt;
}
class SEq a_a1jfn => SOrd a_a1jfn
sCompare :: forall (t_a1jFJ :: a_a1jfn) (t_a1jFK :: a_a1jfn). SOrd a_a1jfn => Sing t_a1jFJ -> Sing t_a1jFK -> Sing (Apply (Apply CompareSym0 t_a1jFJ) t_a1jFK :: Ordering)
(%:<) :: forall (t_a1jFL :: a_a1jfn) (t_a1jFM :: a_a1jfn). SOrd a_a1jfn => Sing t_a1jFL -> Sing t_a1jFM -> Sing (Apply (Apply (:<$) t_a1jFL) t_a1jFM :: Bool)
(%:<=) :: forall (t_a1jFN :: a_a1jfn) (t_a1jFO :: a_a1jfn). SOrd a_a1jfn => Sing t_a1jFN -> Sing t_a1jFO -> Sing (Apply (Apply (:<=$) t_a1jFN) t_a1jFO :: Bool)
(%:>) :: forall (t_a1jFP :: a_a1jfn) (t_a1jFQ :: a_a1jfn). SOrd a_a1jfn => Sing t_a1jFP -> Sing t_a1jFQ -> Sing (Apply (Apply (:>$) t_a1jFP) t_a1jFQ :: Bool)
(%:>=) :: forall (t_a1jFR :: a_a1jfn) (t_a1jFS :: a_a1jfn). SOrd a_a1jfn => Sing t_a1jFR -> Sing t_a1jFS -> Sing (Apply (Apply (:>=$) t_a1jFR) t_a1jFS :: Bool)
sMax :: forall (t_a1jFT :: a_a1jfn) (t_a1jFU :: a_a1jfn). SOrd a_a1jfn => Sing t_a1jFT -> Sing t_a1jFU -> Sing (Apply (Apply MaxSym0 t_a1jFT) t_a1jFU :: a_a1jfn)
sMin :: forall (t_a1jFV :: a_a1jfn) (t_a1jFW :: a_a1jfn). SOrd a_a1jfn => Sing t_a1jFV -> Sing t_a1jFW -> Sing (Apply (Apply MinSym0 t_a1jFV) t_a1jFW :: a_a1jfn)
sCompare :: forall (t_a1jFJ :: a_a1jfn) (t_a1jFK :: a_a1jfn). (SOrd a_a1jfn, (Apply (Apply CompareSym0 t_a1jFJ) t_a1jFK :: Ordering) ~ Apply (Apply Compare_6989586621679323530Sym0 t_a1jFJ) t_a1jFK) => Sing t_a1jFJ -> Sing t_a1jFK -> Sing (Apply (Apply CompareSym0 t_a1jFJ) t_a1jFK :: Ordering)
(%:<) :: forall (t_a1jFL :: a_a1jfn) (t_a1jFM :: a_a1jfn). (SOrd a_a1jfn, (Apply (Apply (:<$) t_a1jFL) t_a1jFM :: Bool) ~ Apply (Apply TFHelper_6989586621679323563Sym0 t_a1jFL) t_a1jFM) => Sing t_a1jFL -> Sing t_a1jFM -> Sing (Apply (Apply (:<$) t_a1jFL) t_a1jFM :: Bool)
(%:<=) :: forall (t_a1jFN :: a_a1jfn) (t_a1jFO :: a_a1jfn). (SOrd a_a1jfn, (Apply (Apply (:<=$) t_a1jFN) t_a1jFO :: Bool) ~ Apply (Apply TFHelper_6989586621679323596Sym0 t_a1jFN) t_a1jFO) => Sing t_a1jFN -> Sing t_a1jFO -> Sing (Apply (Apply (:<=$) t_a1jFN) t_a1jFO :: Bool)
(%:>) :: forall (t_a1jFP :: a_a1jfn) (t_a1jFQ :: a_a1jfn). (SOrd a_a1jfn, (Apply (Apply (:>$) t_a1jFP) t_a1jFQ :: Bool) ~ Apply (Apply TFHelper_6989586621679323629Sym0 t_a1jFP) t_a1jFQ) => Sing t_a1jFP -> Sing t_a1jFQ -> Sing (Apply (Apply (:>$) t_a1jFP) t_a1jFQ :: Bool)
(%:>=) :: forall (t_a1jFR :: a_a1jfn) (t_a1jFS :: a_a1jfn). (SOrd a_a1jfn, (Apply (Apply (:>=$) t_a1jFR) t_a1jFS :: Bool) ~ Apply (Apply TFHelper_6989586621679323662Sym0 t_a1jFR) t_a1jFS) => Sing t_a1jFR -> Sing t_a1jFS -> Sing (Apply (Apply (:>=$) t_a1jFR) t_a1jFS :: Bool)
sMax :: forall (t_a1jFT :: a_a1jfn) (t_a1jFU :: a_a1jfn). (SOrd a_a1jfn, (Apply (Apply MaxSym0 t_a1jFT) t_a1jFU :: a_a1jfn) ~ Apply (Apply Max_6989586621679323695Sym0 t_a1jFT) t_a1jFU) => Sing t_a1jFT -> Sing t_a1jFU -> Sing (Apply (Apply MaxSym0 t_a1jFT) t_a1jFU :: a_a1jfn)
sMin :: forall (t_a1jFV :: a_a1jfn) (t_a1jFW :: a_a1jfn). (SOrd a_a1jfn, (Apply (Apply MinSym0 t_a1jFV) t_a1jFW :: a_a1jfn) ~ Apply (Apply Min_6989586621679323728Sym0 t_a1jFV) t_a1jFW) => Sing t_a1jFV -> Sing t_a1jFW -> Sing (Apply (Apply MinSym0 t_a1jFV) t_a1jFW :: a_a1jfn)
sComparing :: forall (t_a1jFD :: TyFun b_a1jfd a_a1jfc -> Type) (t_a1jFE :: b_a1jfd) (t_a1jFF :: b_a1jfd). SOrd a_a1jfc => Sing t_a1jFD -> Sing t_a1jFE -> Sing t_a1jFF -> Sing (Apply (Apply (Apply ComparingSym0 t_a1jFD) t_a1jFE) t_a1jFF :: Ordering)
thenCmp :: Ordering -> Ordering -> Ordering
sThenCmp :: forall (t_a1lpn :: Ordering) (t_a1lpo :: Ordering). Sing t_a1lpn -> Sing t_a1lpo -> Sing (Apply (Apply ThenCmpSym0 t_a1lpn) t_a1lpo :: Ordering)

-- | The singleton kind-indexed data family.
data ThenCmpSym0 (l_a1lpc :: TyFun Ordering (TyFun Ordering Ordering -> Type))
data ThenCmpSym1 (l_a1lpa :: Ordering) (l_a1lp9 :: TyFun Ordering Ordering)
type ThenCmpSym2 (t_a1lp7 :: Ordering) (t_a1lp8 :: Ordering) = ThenCmp t_a1lp7 t_a1lp8
type LTSym0 = LT
type EQSym0 = EQ
type GTSym0 = GT
data CompareSym0 (l_a1jAP :: TyFun a6989586621679322109 (TyFun a6989586621679322109 Ordering -> Type))
data CompareSym1 (l_a1jAN :: a6989586621679322109) (l_a1jAM :: TyFun a6989586621679322109 Ordering)
type CompareSym2 (t_a1jAK :: a6989586621679322109) (t_a1jAL :: a6989586621679322109) = Compare t_a1jAK t_a1jAL
data (:<$) (l_a1jAY :: TyFun a6989586621679322109 (TyFun a6989586621679322109 Bool -> Type))
data (:<$$) (l_a1jAW :: a6989586621679322109) (l_a1jAV :: TyFun a6989586621679322109 Bool)
type (:<$$$) (t_a1jAT :: a6989586621679322109) (t_a1jAU :: a6989586621679322109) = (:<) t_a1jAT t_a1jAU
data (:<=$) (l_a1jB7 :: TyFun a6989586621679322109 (TyFun a6989586621679322109 Bool -> Type))
data (:<=$$) (l_a1jB5 :: a6989586621679322109) (l_a1jB4 :: TyFun a6989586621679322109 Bool)
type (:<=$$$) (t_a1jB2 :: a6989586621679322109) (t_a1jB3 :: a6989586621679322109) = (:<=) t_a1jB2 t_a1jB3
data (:>$) (l_a1jBg :: TyFun a6989586621679322109 (TyFun a6989586621679322109 Bool -> Type))
data (:>$$) (l_a1jBe :: a6989586621679322109) (l_a1jBd :: TyFun a6989586621679322109 Bool)
type (:>$$$) (t_a1jBb :: a6989586621679322109) (t_a1jBc :: a6989586621679322109) = (:>) t_a1jBb t_a1jBc
data (:>=$) (l_a1jBp :: TyFun a6989586621679322109 (TyFun a6989586621679322109 Bool -> Type))
data (:>=$$) (l_a1jBn :: a6989586621679322109) (l_a1jBm :: TyFun a6989586621679322109 Bool)
type (:>=$$$) (t_a1jBk :: a6989586621679322109) (t_a1jBl :: a6989586621679322109) = (:>=) t_a1jBk t_a1jBl
data MaxSym0 (l_a1jBy :: TyFun a6989586621679322109 (TyFun a6989586621679322109 a6989586621679322109 -> Type))
data MaxSym1 (l_a1jBw :: a6989586621679322109) (l_a1jBv :: TyFun a6989586621679322109 a6989586621679322109)
type MaxSym2 (t_a1jBt :: a6989586621679322109) (t_a1jBu :: a6989586621679322109) = Max t_a1jBt t_a1jBu
data MinSym0 (l_a1jBH :: TyFun a6989586621679322109 (TyFun a6989586621679322109 a6989586621679322109 -> Type))
data MinSym1 (l_a1jBF :: a6989586621679322109) (l_a1jBE :: TyFun a6989586621679322109 a6989586621679322109)
type MinSym2 (t_a1jBC :: a6989586621679322109) (t_a1jBD :: a6989586621679322109) = Min t_a1jBC t_a1jBD
data ComparingSym0 (l_a1jAA :: TyFun (TyFun b6989586621679322099 a6989586621679322098 -> Type) (TyFun b6989586621679322099 (TyFun b6989586621679322099 Ordering -> Type) -> Type))
data ComparingSym1 (l_a1jAy :: TyFun b6989586621679322099 a6989586621679322098 -> Type) (l_a1jAx :: TyFun b6989586621679322099 (TyFun b6989586621679322099 Ordering -> Type))
data ComparingSym2 (l_a1jAu :: TyFun b6989586621679322099 a6989586621679322098 -> Type) (l_a1jAv :: b6989586621679322099) (l_a1jAt :: TyFun b6989586621679322099 Ordering)
type ComparingSym3 (t_a1jAq :: TyFun b6989586621679322099 a6989586621679322098 -> Type) (t_a1jAr :: b6989586621679322099) (t_a1jAs :: b6989586621679322099) = Comparing t_a1jAq t_a1jAr t_a1jAs
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679331196Sym0
instance Data.Singletons.Prelude.Ord.POrd ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679331196Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679331176Sym0
instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679331176Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679331156Sym0
instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679331156Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679331122Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f, g)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679331122Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679331048Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679331048Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679330982Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679330982Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679330924Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679330924Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679330874Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679330874Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679330832Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679330832Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679330796Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.List.NonEmpty.NonEmpty a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679330796Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679330760Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Either.Either a b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679330760Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679330712Sym0
instance Data.Singletons.Prelude.Ord.POrd [a]
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679330712Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679330666Sym0
instance Data.Singletons.Prelude.Ord.POrd (GHC.Base.Maybe a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679330666Sym1
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.Let6989586621679323550Scrutinee_6989586621679322131Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679323550Scrutinee_6989586621679322131Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679323583Scrutinee_6989586621679322133Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679323583Scrutinee_6989586621679322133Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679323616Scrutinee_6989586621679322135Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679323616Scrutinee_6989586621679322135Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679323649Scrutinee_6989586621679322137Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679323649Scrutinee_6989586621679322137Sym1
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.Let6989586621679323516Scrutinee_6989586621679322129Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679323516Scrutinee_6989586621679322129Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679323682Scrutinee_6989586621679322139Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679323682Scrutinee_6989586621679322139Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679323715Scrutinee_6989586621679322141Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679323715Scrutinee_6989586621679322141Sym1
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_6989586621679323530Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679323530Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679323563Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679323563Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679323596Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679323596Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679323629Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679323629Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679323662Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679323662Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Max_6989586621679323695Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Max_6989586621679323695Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Min_6989586621679323728Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Min_6989586621679323728Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679323506Scrutinee_6989586621679322127Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679323506Scrutinee_6989586621679322127Sym1


-- | Defines and exports promoted and singleton versions of definitions
--   from GHC.Num.
module Data.Singletons.Prelude.Num
class PNum (a_a1JLl :: Type) where {
    type family (:+) (arg_a1JLp :: a_a1JLl) (arg_a1JLq :: a_a1JLl) :: a_a1JLl;
    type family (:-) (arg_a1JLy :: a_a1JLl) (arg_a1JLz :: a_a1JLl) :: a_a1JLl;
    type family (:*) (arg_a1JLH :: a_a1JLl) (arg_a1JLI :: a_a1JLl) :: a_a1JLl;
    type family Negate (arg_a1JLQ :: a_a1JLl) :: a_a1JLl;
    type family Abs (arg_a1JLU :: a_a1JLl) :: a_a1JLl;
    type family Signum (arg_a1JLY :: a_a1JLl) :: a_a1JLl;
    type family FromInteger (arg_a1JM2 :: Nat) :: a_a1JLl;
    type (:-) a_a1JMh a_a1JMi =
        Apply (Apply TFHelper_6989586621679424095Sym0 a_a1JMh) a_a1JMi;
    type Negate a_a1JMx = Apply Negate_6989586621679424110Sym0 a_a1JMx;
}
class SNum a_a1JLl
(%:+) :: forall (t_a1JMD :: a_a1JLl) (t_a1JME :: a_a1JLl). SNum a_a1JLl => Sing t_a1JMD -> Sing t_a1JME -> Sing (Apply (Apply (:+$) t_a1JMD) t_a1JME :: a_a1JLl)
(%:-) :: forall (t_a1JMF :: a_a1JLl) (t_a1JMG :: a_a1JLl). SNum a_a1JLl => Sing t_a1JMF -> Sing t_a1JMG -> Sing (Apply (Apply (:-$) t_a1JMF) t_a1JMG :: a_a1JLl)
(%:*) :: forall (t_a1JMH :: a_a1JLl) (t_a1JMI :: a_a1JLl). SNum a_a1JLl => Sing t_a1JMH -> Sing t_a1JMI -> Sing (Apply (Apply (:*$) t_a1JMH) t_a1JMI :: a_a1JLl)
sNegate :: forall (t_a1JMJ :: a_a1JLl). SNum a_a1JLl => Sing t_a1JMJ -> Sing (Apply NegateSym0 t_a1JMJ :: a_a1JLl)
sAbs :: forall (t_a1JMK :: a_a1JLl). SNum a_a1JLl => Sing t_a1JMK -> Sing (Apply AbsSym0 t_a1JMK :: a_a1JLl)
sSignum :: forall (t_a1JML :: a_a1JLl). SNum a_a1JLl => Sing t_a1JML -> Sing (Apply SignumSym0 t_a1JML :: a_a1JLl)
sFromInteger :: forall (t_a1JMM :: Nat). SNum a_a1JLl => Sing t_a1JMM -> Sing (Apply FromIntegerSym0 t_a1JMM :: a_a1JLl)
(%:-) :: forall (t_a1JMF :: a_a1JLl) (t_a1JMG :: a_a1JLl). (SNum a_a1JLl, (Apply (Apply (:-$) t_a1JMF) t_a1JMG :: a_a1JLl) ~ Apply (Apply TFHelper_6989586621679424095Sym0 t_a1JMF) t_a1JMG) => Sing t_a1JMF -> Sing t_a1JMG -> Sing (Apply (Apply (:-$) t_a1JMF) t_a1JMG :: a_a1JLl)
sNegate :: forall (t_a1JMJ :: a_a1JLl). (SNum a_a1JLl, (Apply NegateSym0 t_a1JMJ :: a_a1JLl) ~ Apply Negate_6989586621679424110Sym0 t_a1JMJ) => Sing t_a1JMJ -> Sing (Apply NegateSym0 t_a1JMJ :: a_a1JLl)
sSubtract :: forall (t_a1Kn2 :: a_a1Kmi) (t_a1Kn3 :: a_a1Kmi). SNum a_a1Kmi => Sing t_a1Kn2 -> Sing t_a1Kn3 -> Sing (Apply (Apply SubtractSym0 t_a1Kn2) t_a1Kn3 :: a_a1Kmi)
data (:+$) (l_a1JLw :: TyFun a6989586621679424035 (TyFun a6989586621679424035 a6989586621679424035 -> Type))
data (:+$$) (l_a1JLu :: a6989586621679424035) (l_a1JLt :: TyFun a6989586621679424035 a6989586621679424035)
type (:+$$$) (t_a1JLr :: a6989586621679424035) (t_a1JLs :: a6989586621679424035) = (:+) t_a1JLr t_a1JLs
data (:-$) (l_a1JLF :: TyFun a6989586621679424035 (TyFun a6989586621679424035 a6989586621679424035 -> Type))
data (:-$$) (l_a1JLD :: a6989586621679424035) (l_a1JLC :: TyFun a6989586621679424035 a6989586621679424035)
type (:-$$$) (t_a1JLA :: a6989586621679424035) (t_a1JLB :: a6989586621679424035) = (:-) t_a1JLA t_a1JLB
data (:*$) (l_a1JLO :: TyFun a6989586621679424035 (TyFun a6989586621679424035 a6989586621679424035 -> Type))
data (:*$$) (l_a1JLM :: a6989586621679424035) (l_a1JLL :: TyFun a6989586621679424035 a6989586621679424035)
type (:*$$$) (t_a1JLJ :: a6989586621679424035) (t_a1JLK :: a6989586621679424035) = (:*) t_a1JLJ t_a1JLK
data NegateSym0 (l_a1JLS :: TyFun a6989586621679424035 a6989586621679424035)
type NegateSym1 (t_a1JLR :: a6989586621679424035) = Negate t_a1JLR
data AbsSym0 (l_a1JLW :: TyFun a6989586621679424035 a6989586621679424035)
type AbsSym1 (t_a1JLV :: a6989586621679424035) = Abs t_a1JLV
data SignumSym0 (l_a1JM0 :: TyFun a6989586621679424035 a6989586621679424035)
type SignumSym1 (t_a1JLZ :: a6989586621679424035) = Signum t_a1JLZ
data FromIntegerSym0 (l_a1JM4 :: TyFun Nat a6989586621679424035)
type FromIntegerSym1 (t_a1JM3 :: Nat) = FromInteger t_a1JM3
data SubtractSym0 (l_a1KmW :: TyFun a6989586621679426326 (TyFun a6989586621679426326 a6989586621679426326 -> Type))
data SubtractSym1 (l_a1KmU :: a6989586621679426326) (l_a1KmT :: TyFun a6989586621679426326 a6989586621679426326)
type SubtractSym2 (t_a1KmR :: a6989586621679426326) (t_a1KmS :: a6989586621679426326) = Subtract t_a1KmR t_a1KmS
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_6989586621679424095Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679424095Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Negate_6989586621679424110Sym0


-- | 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_a1HT1 :: TyFun k06989586621679415690 k6989586621679415692)
type ErrorSym1 (t_a1HT0 :: k06989586621679415690) = Error t_a1HT0

-- | 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_a1LTU :: TyFun Nat Constraint)
type KnownNatSym1 (t_a1LTT :: Nat) = KnownNat t_a1LTT

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_a1LTX :: TyFun Symbol Constraint)
type KnownSymbolSym1 (t_a1LTW :: Symbol) = KnownSymbol t_a1LTW

symbolVal :: KnownSymbol n => proxy n -> String
type a :^ b = a ^ b
data (:^$) l_a1HVP
data (:^$$) (l_a1HVN :: Nat) l_a1HVM
type (:^$$$) (t_a1HVK :: Nat) (t_a1HVL :: Nat) = (:^) t_a1HVK t_a1HVL
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_a1JLl :: Type) where {
    type family (:+) (arg_a1JLp :: a_a1JLl) (arg_a1JLq :: a_a1JLl) :: a_a1JLl;
    type family (:-) (arg_a1JLy :: a_a1JLl) (arg_a1JLz :: a_a1JLl) :: a_a1JLl;
    type family (:*) (arg_a1JLH :: a_a1JLl) (arg_a1JLI :: a_a1JLl) :: a_a1JLl;
    type family Negate (arg_a1JLQ :: a_a1JLl) :: a_a1JLl;
    type family Abs (arg_a1JLU :: a_a1JLl) :: a_a1JLl;
    type family Signum (arg_a1JLY :: a_a1JLl) :: a_a1JLl;
    type family FromInteger (arg_a1JM2 :: Nat) :: a_a1JLl;
    type (:-) a_a1JMh a_a1JMi =
        Apply (Apply TFHelper_6989586621679424095Sym0 a_a1JMh) a_a1JMi;
    type Negate a_a1JMx = Apply Negate_6989586621679424110Sym0 a_a1JMx;
}
data (:+$) (l_a1JLw :: TyFun a6989586621679424035 (TyFun a6989586621679424035 a6989586621679424035 -> Type))
data (:+$$) (l_a1JLu :: a6989586621679424035) (l_a1JLt :: TyFun a6989586621679424035 a6989586621679424035)
type (:+$$$) (t_a1JLr :: a6989586621679424035) (t_a1JLs :: a6989586621679424035) = (:+) t_a1JLr t_a1JLs
data (:-$) (l_a1JLF :: TyFun a6989586621679424035 (TyFun a6989586621679424035 a6989586621679424035 -> Type))
data (:-$$) (l_a1JLD :: a6989586621679424035) (l_a1JLC :: TyFun a6989586621679424035 a6989586621679424035)
type (:-$$$) (t_a1JLA :: a6989586621679424035) (t_a1JLB :: a6989586621679424035) = (:-) t_a1JLA t_a1JLB
data (:*$) (l_a1JLO :: TyFun a6989586621679424035 (TyFun a6989586621679424035 a6989586621679424035 -> Type))
data (:*$$) (l_a1JLM :: a6989586621679424035) (l_a1JLL :: TyFun a6989586621679424035 a6989586621679424035)
type (:*$$$) (t_a1JLJ :: a6989586621679424035) (t_a1JLK :: a6989586621679424035) = (:*) t_a1JLJ t_a1JLK
data NegateSym0 (l_a1JLS :: TyFun a6989586621679424035 a6989586621679424035)
type NegateSym1 (t_a1JLR :: a6989586621679424035) = Negate t_a1JLR
data AbsSym0 (l_a1JLW :: TyFun a6989586621679424035 a6989586621679424035)
type AbsSym1 (t_a1JLV :: a6989586621679424035) = Abs t_a1JLV
data SignumSym0 (l_a1JM0 :: TyFun a6989586621679424035 a6989586621679424035)
type SignumSym1 (t_a1JLZ :: a6989586621679424035) = Signum t_a1JLZ
data FromIntegerSym0 (l_a1JM4 :: TyFun Nat a6989586621679424035)
type FromIntegerSym1 (t_a1JM3 :: Nat) = FromInteger t_a1JM3
data SubtractSym0 (l_a1KmW :: TyFun a6989586621679426326 (TyFun a6989586621679426326 a6989586621679426326 -> Type))
data SubtractSym1 (l_a1KmU :: a6989586621679426326) (l_a1KmT :: TyFun a6989586621679426326 a6989586621679426326)
type SubtractSym2 (t_a1KmR :: a6989586621679426326) (t_a1KmS :: a6989586621679426326) = Subtract t_a1KmR t_a1KmS


-- | 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_a1jfn => POrd (a_a1jfn :: Type) where {
    type family Compare (arg_a1jAI :: a_a1jfn) (arg_a1jAJ :: a_a1jfn) :: Ordering;
    type family (:<) (arg_a1jAR :: a_a1jfn) (arg_a1jAS :: a_a1jfn) :: Bool;
    type family (:<=) (arg_a1jB0 :: a_a1jfn) (arg_a1jB1 :: a_a1jfn) :: Bool;
    type family (:>) (arg_a1jB9 :: a_a1jfn) (arg_a1jBa :: a_a1jfn) :: Bool;
    type family (:>=) (arg_a1jBi :: a_a1jfn) (arg_a1jBj :: a_a1jfn) :: Bool;
    type family Max (arg_a1jBr :: a_a1jfn) (arg_a1jBs :: a_a1jfn) :: a_a1jfn;
    type family Min (arg_a1jBA :: a_a1jfn) (arg_a1jBB :: a_a1jfn) :: a_a1jfn;
    type Compare a_a1jCg a_a1jCh =
        Apply (Apply Compare_6989586621679323530Sym0 a_a1jCg) a_a1jCh;
    type (:<) a_a1jCN a_a1jCO =
        Apply (Apply TFHelper_6989586621679323563Sym0 a_a1jCN) a_a1jCO;
    type (:<=) a_a1jDk a_a1jDl =
        Apply (Apply TFHelper_6989586621679323596Sym0 a_a1jDk) a_a1jDl;
    type (:>) a_a1jDR a_a1jDS =
        Apply (Apply TFHelper_6989586621679323629Sym0 a_a1jDR) a_a1jDS;
    type (:>=) a_a1jEo a_a1jEp =
        Apply (Apply TFHelper_6989586621679323662Sym0 a_a1jEo) a_a1jEp;
    type Max a_a1jEV a_a1jEW =
        Apply (Apply Max_6989586621679323695Sym0 a_a1jEV) a_a1jEW;
    type Min a_a1jFs a_a1jFt =
        Apply (Apply Min_6989586621679323728Sym0 a_a1jFs) a_a1jFt;
}
class SEq a_a1jfn => SOrd a_a1jfn
sCompare :: forall (t_a1jFJ :: a_a1jfn) (t_a1jFK :: a_a1jfn). SOrd a_a1jfn => Sing t_a1jFJ -> Sing t_a1jFK -> Sing (Apply (Apply CompareSym0 t_a1jFJ) t_a1jFK :: Ordering)
(%:<) :: forall (t_a1jFL :: a_a1jfn) (t_a1jFM :: a_a1jfn). SOrd a_a1jfn => Sing t_a1jFL -> Sing t_a1jFM -> Sing (Apply (Apply (:<$) t_a1jFL) t_a1jFM :: Bool)
(%:<=) :: forall (t_a1jFN :: a_a1jfn) (t_a1jFO :: a_a1jfn). SOrd a_a1jfn => Sing t_a1jFN -> Sing t_a1jFO -> Sing (Apply (Apply (:<=$) t_a1jFN) t_a1jFO :: Bool)
(%:>) :: forall (t_a1jFP :: a_a1jfn) (t_a1jFQ :: a_a1jfn). SOrd a_a1jfn => Sing t_a1jFP -> Sing t_a1jFQ -> Sing (Apply (Apply (:>$) t_a1jFP) t_a1jFQ :: Bool)
(%:>=) :: forall (t_a1jFR :: a_a1jfn) (t_a1jFS :: a_a1jfn). SOrd a_a1jfn => Sing t_a1jFR -> Sing t_a1jFS -> Sing (Apply (Apply (:>=$) t_a1jFR) t_a1jFS :: Bool)
sMax :: forall (t_a1jFT :: a_a1jfn) (t_a1jFU :: a_a1jfn). SOrd a_a1jfn => Sing t_a1jFT -> Sing t_a1jFU -> Sing (Apply (Apply MaxSym0 t_a1jFT) t_a1jFU :: a_a1jfn)
sMin :: forall (t_a1jFV :: a_a1jfn) (t_a1jFW :: a_a1jfn). SOrd a_a1jfn => Sing t_a1jFV -> Sing t_a1jFW -> Sing (Apply (Apply MinSym0 t_a1jFV) t_a1jFW :: a_a1jfn)
sCompare :: forall (t_a1jFJ :: a_a1jfn) (t_a1jFK :: a_a1jfn). (SOrd a_a1jfn, (Apply (Apply CompareSym0 t_a1jFJ) t_a1jFK :: Ordering) ~ Apply (Apply Compare_6989586621679323530Sym0 t_a1jFJ) t_a1jFK) => Sing t_a1jFJ -> Sing t_a1jFK -> Sing (Apply (Apply CompareSym0 t_a1jFJ) t_a1jFK :: Ordering)
(%:<) :: forall (t_a1jFL :: a_a1jfn) (t_a1jFM :: a_a1jfn). (SOrd a_a1jfn, (Apply (Apply (:<$) t_a1jFL) t_a1jFM :: Bool) ~ Apply (Apply TFHelper_6989586621679323563Sym0 t_a1jFL) t_a1jFM) => Sing t_a1jFL -> Sing t_a1jFM -> Sing (Apply (Apply (:<$) t_a1jFL) t_a1jFM :: Bool)
(%:<=) :: forall (t_a1jFN :: a_a1jfn) (t_a1jFO :: a_a1jfn). (SOrd a_a1jfn, (Apply (Apply (:<=$) t_a1jFN) t_a1jFO :: Bool) ~ Apply (Apply TFHelper_6989586621679323596Sym0 t_a1jFN) t_a1jFO) => Sing t_a1jFN -> Sing t_a1jFO -> Sing (Apply (Apply (:<=$) t_a1jFN) t_a1jFO :: Bool)
(%:>) :: forall (t_a1jFP :: a_a1jfn) (t_a1jFQ :: a_a1jfn). (SOrd a_a1jfn, (Apply (Apply (:>$) t_a1jFP) t_a1jFQ :: Bool) ~ Apply (Apply TFHelper_6989586621679323629Sym0 t_a1jFP) t_a1jFQ) => Sing t_a1jFP -> Sing t_a1jFQ -> Sing (Apply (Apply (:>$) t_a1jFP) t_a1jFQ :: Bool)
(%:>=) :: forall (t_a1jFR :: a_a1jfn) (t_a1jFS :: a_a1jfn). (SOrd a_a1jfn, (Apply (Apply (:>=$) t_a1jFR) t_a1jFS :: Bool) ~ Apply (Apply TFHelper_6989586621679323662Sym0 t_a1jFR) t_a1jFS) => Sing t_a1jFR -> Sing t_a1jFS -> Sing (Apply (Apply (:>=$) t_a1jFR) t_a1jFS :: Bool)
sMax :: forall (t_a1jFT :: a_a1jfn) (t_a1jFU :: a_a1jfn). (SOrd a_a1jfn, (Apply (Apply MaxSym0 t_a1jFT) t_a1jFU :: a_a1jfn) ~ Apply (Apply Max_6989586621679323695Sym0 t_a1jFT) t_a1jFU) => Sing t_a1jFT -> Sing t_a1jFU -> Sing (Apply (Apply MaxSym0 t_a1jFT) t_a1jFU :: a_a1jfn)
sMin :: forall (t_a1jFV :: a_a1jfn) (t_a1jFW :: a_a1jfn). (SOrd a_a1jfn, (Apply (Apply MinSym0 t_a1jFV) t_a1jFW :: a_a1jfn) ~ Apply (Apply Min_6989586621679323728Sym0 t_a1jFV) t_a1jFW) => Sing t_a1jFV -> Sing t_a1jFW -> Sing (Apply (Apply MinSym0 t_a1jFV) t_a1jFW :: a_a1jfn)
sThenCmp :: forall (t_a1lpn :: Ordering) (t_a1lpo :: Ordering). Sing t_a1lpn -> Sing t_a1lpo -> Sing (Apply (Apply ThenCmpSym0 t_a1lpn) t_a1lpo :: Ordering)
sFoldl :: forall (t_a10oB :: TyFun b_a10nD (TyFun a_a10nC b_a10nD -> Type) -> Type) (t_a10oC :: b_a10nD) (t_a10oD :: [a_a10nC]). Sing t_a10oB -> Sing t_a10oC -> Sing t_a10oD -> Sing (Apply (Apply (Apply FoldlSym0 t_a10oB) t_a10oC) t_a10oD :: b_a10nD)

-- | 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_a1HT1 :: TyFun k06989586621679415690 k6989586621679415692)
type TrueSym0 = True
type FalseSym0 = False
type LTSym0 = LT
type EQSym0 = EQ
type GTSym0 = GT
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_aXp0 :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aXoY :: a3530822107858468865) (l_aXoX :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aXoV :: a3530822107858468865) (t_aXoW :: b3530822107858468866) = '(t_aXoV, t_aXoW)
data Tuple3Sym0 (l_aXpo :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aXpm :: a3530822107858468865) (l_aXpl :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aXpi :: a3530822107858468865) (l_aXpj :: b3530822107858468866) (l_aXph :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aXpe :: a3530822107858468865) (t_aXpf :: b3530822107858468866) (t_aXpg :: c3530822107858468867) = '(t_aXpe, t_aXpf, t_aXpg)
data Tuple4Sym0 (l_aXpX :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aXpV :: a3530822107858468865) (l_aXpU :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aXpR :: a3530822107858468865) (l_aXpS :: b3530822107858468866) (l_aXpQ :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aXpM :: a3530822107858468865) (l_aXpN :: b3530822107858468866) (l_aXpO :: c3530822107858468867) (l_aXpL :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aXpH :: a3530822107858468865) (t_aXpI :: b3530822107858468866) (t_aXpJ :: c3530822107858468867) (t_aXpK :: d3530822107858468868) = '(t_aXpH, t_aXpI, t_aXpJ, t_aXpK)
data Tuple5Sym0 (l_aXqI :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aXqG :: a3530822107858468865) (l_aXqF :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aXqC :: a3530822107858468865) (l_aXqD :: b3530822107858468866) (l_aXqB :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aXqx :: a3530822107858468865) (l_aXqy :: b3530822107858468866) (l_aXqz :: c3530822107858468867) (l_aXqw :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aXqr :: a3530822107858468865) (l_aXqs :: b3530822107858468866) (l_aXqt :: c3530822107858468867) (l_aXqu :: d3530822107858468868) (l_aXqq :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aXql :: a3530822107858468865) (t_aXqm :: b3530822107858468866) (t_aXqn :: c3530822107858468867) (t_aXqo :: d3530822107858468868) (t_aXqp :: e3530822107858468869) = '(t_aXql, t_aXqm, t_aXqn, t_aXqo, t_aXqp)
data Tuple6Sym0 (l_aXrG :: 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_aXrE :: a3530822107858468865) (l_aXrD :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aXrA :: a3530822107858468865) (l_aXrB :: b3530822107858468866) (l_aXrz :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aXrv :: a3530822107858468865) (l_aXrw :: b3530822107858468866) (l_aXrx :: c3530822107858468867) (l_aXru :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aXrp :: a3530822107858468865) (l_aXrq :: b3530822107858468866) (l_aXrr :: c3530822107858468867) (l_aXrs :: d3530822107858468868) (l_aXro :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aXri :: a3530822107858468865) (l_aXrj :: b3530822107858468866) (l_aXrk :: c3530822107858468867) (l_aXrl :: d3530822107858468868) (l_aXrm :: e3530822107858468869) (l_aXrh :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aXrb :: a3530822107858468865) (t_aXrc :: b3530822107858468866) (t_aXrd :: c3530822107858468867) (t_aXre :: d3530822107858468868) (t_aXrf :: e3530822107858468869) (t_aXrg :: f3530822107858468870) = '(t_aXrb, t_aXrc, t_aXrd, t_aXre, t_aXrf, t_aXrg)
data Tuple7Sym0 (l_aXsS :: 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_aXsQ :: a3530822107858468865) (l_aXsP :: 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_aXsM :: a3530822107858468865) (l_aXsN :: b3530822107858468866) (l_aXsL :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_aXsH :: a3530822107858468865) (l_aXsI :: b3530822107858468866) (l_aXsJ :: c3530822107858468867) (l_aXsG :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_aXsB :: a3530822107858468865) (l_aXsC :: b3530822107858468866) (l_aXsD :: c3530822107858468867) (l_aXsE :: d3530822107858468868) (l_aXsA :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_aXsu :: a3530822107858468865) (l_aXsv :: b3530822107858468866) (l_aXsw :: c3530822107858468867) (l_aXsx :: d3530822107858468868) (l_aXsy :: e3530822107858468869) (l_aXst :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_aXsm :: a3530822107858468865) (l_aXsn :: b3530822107858468866) (l_aXso :: c3530822107858468867) (l_aXsp :: d3530822107858468868) (l_aXsq :: e3530822107858468869) (l_aXsr :: f3530822107858468870) (l_aXsl :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_aXse :: a3530822107858468865) (t_aXsf :: b3530822107858468866) (t_aXsg :: c3530822107858468867) (t_aXsh :: d3530822107858468868) (t_aXsi :: e3530822107858468869) (t_aXsj :: f3530822107858468870) (t_aXsk :: g3530822107858468871) = '(t_aXse, t_aXsf, t_aXsg, t_aXsh, t_aXsi, t_aXsj, t_aXsk)
data CompareSym0 (l_a1jAP :: TyFun a6989586621679322109 (TyFun a6989586621679322109 Ordering -> Type))
data ThenCmpSym0 (l_a1lpc :: TyFun Ordering (TyFun Ordering Ordering -> Type))
data FoldlSym0 (l_a10nX :: TyFun (TyFun b6989586621679249585 (TyFun a6989586621679249584 b6989586621679249585 -> Type) -> Type) (TyFun b6989586621679249585 (TyFun [a6989586621679249584] b6989586621679249585 -> 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_a1MZV :: (a_a1MYL, b_a1MYM)). Sing t_a1MZV -> Sing (Apply FstSym0 t_a1MZV :: a_a1MYL)
sSnd :: forall (t_a1MZU :: (a_a1MYJ, b_a1MYK)). Sing t_a1MZU -> Sing (Apply SndSym0 t_a1MZU :: b_a1MYK)
sCurry :: forall (t_a1MZR :: TyFun (a_a1MYG, b_a1MYH) c_a1MYI -> Type) (t_a1MZS :: a_a1MYG) (t_a1MZT :: b_a1MYH). Sing t_a1MZR -> Sing t_a1MZS -> Sing t_a1MZT -> Sing (Apply (Apply (Apply CurrySym0 t_a1MZR) t_a1MZS) t_a1MZT :: c_a1MYI)
sUncurry :: forall (t_a1MZW :: TyFun a_a1MYD (TyFun b_a1MYE c_a1MYF -> Type) -> Type) (t_a1MZX :: (a_a1MYD, b_a1MYE)). Sing t_a1MZW -> Sing t_a1MZX -> Sing (Apply (Apply UncurrySym0 t_a1MZW) t_a1MZX :: c_a1MYF)
sSwap :: forall (t_a1MZQ :: (a_a1MYB, b_a1MYC)). Sing t_a1MZQ -> Sing (Apply SwapSym0 t_a1MZQ :: (b_a1MYC, a_a1MYB))
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_aXp0 :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aXoY :: a3530822107858468865) (l_aXoX :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aXoV :: a3530822107858468865) (t_aXoW :: b3530822107858468866) = '(t_aXoV, t_aXoW)
data Tuple3Sym0 (l_aXpo :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aXpm :: a3530822107858468865) (l_aXpl :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aXpi :: a3530822107858468865) (l_aXpj :: b3530822107858468866) (l_aXph :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aXpe :: a3530822107858468865) (t_aXpf :: b3530822107858468866) (t_aXpg :: c3530822107858468867) = '(t_aXpe, t_aXpf, t_aXpg)
data Tuple4Sym0 (l_aXpX :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aXpV :: a3530822107858468865) (l_aXpU :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aXpR :: a3530822107858468865) (l_aXpS :: b3530822107858468866) (l_aXpQ :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aXpM :: a3530822107858468865) (l_aXpN :: b3530822107858468866) (l_aXpO :: c3530822107858468867) (l_aXpL :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aXpH :: a3530822107858468865) (t_aXpI :: b3530822107858468866) (t_aXpJ :: c3530822107858468867) (t_aXpK :: d3530822107858468868) = '(t_aXpH, t_aXpI, t_aXpJ, t_aXpK)
data Tuple5Sym0 (l_aXqI :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aXqG :: a3530822107858468865) (l_aXqF :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aXqC :: a3530822107858468865) (l_aXqD :: b3530822107858468866) (l_aXqB :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aXqx :: a3530822107858468865) (l_aXqy :: b3530822107858468866) (l_aXqz :: c3530822107858468867) (l_aXqw :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aXqr :: a3530822107858468865) (l_aXqs :: b3530822107858468866) (l_aXqt :: c3530822107858468867) (l_aXqu :: d3530822107858468868) (l_aXqq :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aXql :: a3530822107858468865) (t_aXqm :: b3530822107858468866) (t_aXqn :: c3530822107858468867) (t_aXqo :: d3530822107858468868) (t_aXqp :: e3530822107858468869) = '(t_aXql, t_aXqm, t_aXqn, t_aXqo, t_aXqp)
data Tuple6Sym0 (l_aXrG :: 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_aXrE :: a3530822107858468865) (l_aXrD :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aXrA :: a3530822107858468865) (l_aXrB :: b3530822107858468866) (l_aXrz :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aXrv :: a3530822107858468865) (l_aXrw :: b3530822107858468866) (l_aXrx :: c3530822107858468867) (l_aXru :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aXrp :: a3530822107858468865) (l_aXrq :: b3530822107858468866) (l_aXrr :: c3530822107858468867) (l_aXrs :: d3530822107858468868) (l_aXro :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aXri :: a3530822107858468865) (l_aXrj :: b3530822107858468866) (l_aXrk :: c3530822107858468867) (l_aXrl :: d3530822107858468868) (l_aXrm :: e3530822107858468869) (l_aXrh :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aXrb :: a3530822107858468865) (t_aXrc :: b3530822107858468866) (t_aXrd :: c3530822107858468867) (t_aXre :: d3530822107858468868) (t_aXrf :: e3530822107858468869) (t_aXrg :: f3530822107858468870) = '(t_aXrb, t_aXrc, t_aXrd, t_aXre, t_aXrf, t_aXrg)
data Tuple7Sym0 (l_aXsS :: 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_aXsQ :: a3530822107858468865) (l_aXsP :: 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_aXsM :: a3530822107858468865) (l_aXsN :: b3530822107858468866) (l_aXsL :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_aXsH :: a3530822107858468865) (l_aXsI :: b3530822107858468866) (l_aXsJ :: c3530822107858468867) (l_aXsG :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_aXsB :: a3530822107858468865) (l_aXsC :: b3530822107858468866) (l_aXsD :: c3530822107858468867) (l_aXsE :: d3530822107858468868) (l_aXsA :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_aXsu :: a3530822107858468865) (l_aXsv :: b3530822107858468866) (l_aXsw :: c3530822107858468867) (l_aXsx :: d3530822107858468868) (l_aXsy :: e3530822107858468869) (l_aXst :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_aXsm :: a3530822107858468865) (l_aXsn :: b3530822107858468866) (l_aXso :: c3530822107858468867) (l_aXsp :: d3530822107858468868) (l_aXsq :: e3530822107858468869) (l_aXsr :: f3530822107858468870) (l_aXsl :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_aXse :: a3530822107858468865) (t_aXsf :: b3530822107858468866) (t_aXsg :: c3530822107858468867) (t_aXsh :: d3530822107858468868) (t_aXsi :: e3530822107858468869) (t_aXsj :: f3530822107858468870) (t_aXsk :: g3530822107858468871) = '(t_aXse, t_aXsf, t_aXsg, t_aXsh, t_aXsi, t_aXsj, t_aXsk)
data FstSym0 (l_a1MZy :: TyFun (a6989586621679436399, b6989586621679436400) a6989586621679436399)
type FstSym1 (t_a1MZx :: (a6989586621679436399, b6989586621679436400)) = Fst t_a1MZx
data SndSym0 (l_a1MZq :: TyFun (a6989586621679436397, b6989586621679436398) b6989586621679436398)
type SndSym1 (t_a1MZp :: (a6989586621679436397, b6989586621679436398)) = Snd t_a1MZp
data CurrySym0 (l_a1MZh :: TyFun (TyFun (a6989586621679436394, b6989586621679436395) c6989586621679436396 -> Type) (TyFun a6989586621679436394 (TyFun b6989586621679436395 c6989586621679436396 -> Type) -> Type))
data CurrySym1 (l_a1MZf :: TyFun (a6989586621679436394, b6989586621679436395) c6989586621679436396 -> Type) (l_a1MZe :: TyFun a6989586621679436394 (TyFun b6989586621679436395 c6989586621679436396 -> Type))
data CurrySym2 (l_a1MZb :: TyFun (a6989586621679436394, b6989586621679436395) c6989586621679436396 -> Type) (l_a1MZc :: a6989586621679436394) (l_a1MZa :: TyFun b6989586621679436395 c6989586621679436396)
type CurrySym3 (t_a1MZ7 :: TyFun (a6989586621679436394, b6989586621679436395) c6989586621679436396 -> Type) (t_a1MZ8 :: a6989586621679436394) (t_a1MZ9 :: b6989586621679436395) = Curry t_a1MZ7 t_a1MZ8 t_a1MZ9
data UncurrySym0 (l_a1MZK :: TyFun (TyFun a6989586621679436391 (TyFun b6989586621679436392 c6989586621679436393 -> Type) -> Type) (TyFun (a6989586621679436391, b6989586621679436392) c6989586621679436393 -> Type))
data UncurrySym1 (l_a1MZI :: TyFun a6989586621679436391 (TyFun b6989586621679436392 c6989586621679436393 -> Type) -> Type) (l_a1MZH :: TyFun (a6989586621679436391, b6989586621679436392) c6989586621679436393)
type UncurrySym2 (t_a1MZF :: TyFun a6989586621679436391 (TyFun b6989586621679436392 c6989586621679436393 -> Type) -> Type) (t_a1MZG :: (a6989586621679436391, b6989586621679436392)) = Uncurry t_a1MZF t_a1MZG
data SwapSym0 (l_a1MZ2 :: TyFun (a6989586621679436389, b6989586621679436390) (b6989586621679436390, a6989586621679436389))
type SwapSym1 (t_a1MZ1 :: (a6989586621679436389, b6989586621679436390)) = Swap t_a1MZ1
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_aXp0 :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aXoY :: a3530822107858468865) (l_aXoX :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aXoV :: a3530822107858468865) (t_aXoW :: b3530822107858468866) = '(t_aXoV, t_aXoW)
data Tuple3Sym0 (l_aXpo :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aXpm :: a3530822107858468865) (l_aXpl :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aXpi :: a3530822107858468865) (l_aXpj :: b3530822107858468866) (l_aXph :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aXpe :: a3530822107858468865) (t_aXpf :: b3530822107858468866) (t_aXpg :: c3530822107858468867) = '(t_aXpe, t_aXpf, t_aXpg)
data Tuple4Sym0 (l_aXpX :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aXpV :: a3530822107858468865) (l_aXpU :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aXpR :: a3530822107858468865) (l_aXpS :: b3530822107858468866) (l_aXpQ :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aXpM :: a3530822107858468865) (l_aXpN :: b3530822107858468866) (l_aXpO :: c3530822107858468867) (l_aXpL :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aXpH :: a3530822107858468865) (t_aXpI :: b3530822107858468866) (t_aXpJ :: c3530822107858468867) (t_aXpK :: d3530822107858468868) = '(t_aXpH, t_aXpI, t_aXpJ, t_aXpK)
data Tuple5Sym0 (l_aXqI :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aXqG :: a3530822107858468865) (l_aXqF :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aXqC :: a3530822107858468865) (l_aXqD :: b3530822107858468866) (l_aXqB :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aXqx :: a3530822107858468865) (l_aXqy :: b3530822107858468866) (l_aXqz :: c3530822107858468867) (l_aXqw :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aXqr :: a3530822107858468865) (l_aXqs :: b3530822107858468866) (l_aXqt :: c3530822107858468867) (l_aXqu :: d3530822107858468868) (l_aXqq :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aXql :: a3530822107858468865) (t_aXqm :: b3530822107858468866) (t_aXqn :: c3530822107858468867) (t_aXqo :: d3530822107858468868) (t_aXqp :: e3530822107858468869) = '(t_aXql, t_aXqm, t_aXqn, t_aXqo, t_aXqp)
data Tuple6Sym0 (l_aXrG :: 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_aXrE :: a3530822107858468865) (l_aXrD :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aXrA :: a3530822107858468865) (l_aXrB :: b3530822107858468866) (l_aXrz :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aXrv :: a3530822107858468865) (l_aXrw :: b3530822107858468866) (l_aXrx :: c3530822107858468867) (l_aXru :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aXrp :: a3530822107858468865) (l_aXrq :: b3530822107858468866) (l_aXrr :: c3530822107858468867) (l_aXrs :: d3530822107858468868) (l_aXro :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aXri :: a3530822107858468865) (l_aXrj :: b3530822107858468866) (l_aXrk :: c3530822107858468867) (l_aXrl :: d3530822107858468868) (l_aXrm :: e3530822107858468869) (l_aXrh :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aXrb :: a3530822107858468865) (t_aXrc :: b3530822107858468866) (t_aXrd :: c3530822107858468867) (t_aXre :: d3530822107858468868) (t_aXrf :: e3530822107858468869) (t_aXrg :: f3530822107858468870) = '(t_aXrb, t_aXrc, t_aXrd, t_aXre, t_aXrf, t_aXrg)
data Tuple7Sym0 (l_aXsS :: 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_aXsQ :: a3530822107858468865) (l_aXsP :: 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_aXsM :: a3530822107858468865) (l_aXsN :: b3530822107858468866) (l_aXsL :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_aXsH :: a3530822107858468865) (l_aXsI :: b3530822107858468866) (l_aXsJ :: c3530822107858468867) (l_aXsG :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_aXsB :: a3530822107858468865) (l_aXsC :: b3530822107858468866) (l_aXsD :: c3530822107858468867) (l_aXsE :: d3530822107858468868) (l_aXsA :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_aXsu :: a3530822107858468865) (l_aXsv :: b3530822107858468866) (l_aXsw :: c3530822107858468867) (l_aXsx :: d3530822107858468868) (l_aXsy :: e3530822107858468869) (l_aXst :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_aXsm :: a3530822107858468865) (l_aXsn :: b3530822107858468866) (l_aXso :: c3530822107858468867) (l_aXsp :: d3530822107858468868) (l_aXsq :: e3530822107858468869) (l_aXsr :: f3530822107858468870) (l_aXsl :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_aXse :: a3530822107858468865) (t_aXsf :: b3530822107858468866) (t_aXsg :: c3530822107858468867) (t_aXsh :: d3530822107858468868) (t_aXsi :: e3530822107858468869) (t_aXsj :: f3530822107858468870) (t_aXsk :: g3530822107858468871) = '(t_aXse, t_aXsf, t_aXsg, t_aXsh, t_aXsi, t_aXsj, t_aXsk)
data FstSym0 (l_a1MZy :: TyFun (a6989586621679436399, b6989586621679436400) a6989586621679436399)
type FstSym1 (t_a1MZx :: (a6989586621679436399, b6989586621679436400)) = Fst t_a1MZx
data SndSym0 (l_a1MZq :: TyFun (a6989586621679436397, b6989586621679436398) b6989586621679436398)
type SndSym1 (t_a1MZp :: (a6989586621679436397, b6989586621679436398)) = Snd t_a1MZp
data CurrySym0 (l_a1MZh :: TyFun (TyFun (a6989586621679436394, b6989586621679436395) c6989586621679436396 -> Type) (TyFun a6989586621679436394 (TyFun b6989586621679436395 c6989586621679436396 -> Type) -> Type))
data CurrySym1 (l_a1MZf :: TyFun (a6989586621679436394, b6989586621679436395) c6989586621679436396 -> Type) (l_a1MZe :: TyFun a6989586621679436394 (TyFun b6989586621679436395 c6989586621679436396 -> Type))
data CurrySym2 (l_a1MZb :: TyFun (a6989586621679436394, b6989586621679436395) c6989586621679436396 -> Type) (l_a1MZc :: a6989586621679436394) (l_a1MZa :: TyFun b6989586621679436395 c6989586621679436396)
type CurrySym3 (t_a1MZ7 :: TyFun (a6989586621679436394, b6989586621679436395) c6989586621679436396 -> Type) (t_a1MZ8 :: a6989586621679436394) (t_a1MZ9 :: b6989586621679436395) = Curry t_a1MZ7 t_a1MZ8 t_a1MZ9
data UncurrySym0 (l_a1MZK :: TyFun (TyFun a6989586621679436391 (TyFun b6989586621679436392 c6989586621679436393 -> Type) -> Type) (TyFun (a6989586621679436391, b6989586621679436392) c6989586621679436393 -> Type))
data UncurrySym1 (l_a1MZI :: TyFun a6989586621679436391 (TyFun b6989586621679436392 c6989586621679436393 -> Type) -> Type) (l_a1MZH :: TyFun (a6989586621679436391, b6989586621679436392) c6989586621679436393)
type UncurrySym2 (t_a1MZF :: TyFun a6989586621679436391 (TyFun b6989586621679436392 c6989586621679436393 -> Type) -> Type) (t_a1MZG :: (a6989586621679436391, b6989586621679436392)) = Uncurry t_a1MZF t_a1MZG
data SwapSym0 (l_a1MZ2 :: TyFun (a6989586621679436389, b6989586621679436390) (b6989586621679436390, a6989586621679436389))
type SwapSym1 (t_a1MZ1 :: (a6989586621679436389, b6989586621679436390)) = Swap t_a1MZ1


-- | 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_a1O1r -> (a_a1O1s -> b_a1O1r) -> Maybe a_a1O1s -> b_a1O1r
sMaybe_ :: forall (t_a1O1V :: b_a1O1r) (t_a1O1W :: TyFun a_a1O1s b_a1O1r -> Type) (t_a1O1X :: Maybe a_a1O1s). Sing t_a1O1V -> Sing t_a1O1W -> Sing t_a1O1X -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a1O1V) t_a1O1W) t_a1O1X :: b_a1O1r)
sIsJust :: forall (t_a1Olx :: Maybe a_a1Ojo). Sing t_a1Olx -> Sing (Apply IsJustSym0 t_a1Olx :: Bool)
sIsNothing :: forall (t_a1Olw :: Maybe a_a1Ojn). Sing t_a1Olw -> Sing (Apply IsNothingSym0 t_a1Olw :: Bool)
sFromJust :: forall (t_a1Olv :: Maybe a_a1Ojm). Sing t_a1Olv -> Sing (Apply FromJustSym0 t_a1Olv :: a_a1Ojm)
sFromMaybe :: forall (t_a1Olt :: a_a1Ojl) (t_a1Olu :: Maybe a_a1Ojl). Sing t_a1Olt -> Sing t_a1Olu -> Sing (Apply (Apply FromMaybeSym0 t_a1Olt) t_a1Olu :: a_a1Ojl)
sListToMaybe :: forall (t_a1Olr :: [a_a1Ojj]). Sing t_a1Olr -> Sing (Apply ListToMaybeSym0 t_a1Olr :: Maybe a_a1Ojj)
sMaybeToList :: forall (t_a1Ols :: Maybe a_a1Ojk). Sing t_a1Ols -> Sing (Apply MaybeToListSym0 t_a1Ols :: [a_a1Ojk])
sCatMaybes :: forall (t_a1Olq :: [Maybe a_a1Oji]). Sing t_a1Olq -> Sing (Apply CatMaybesSym0 t_a1Olq :: [a_a1Oji])
sMapMaybe :: forall (t_a1Olo :: TyFun a_a1Ojg (Maybe b_a1Ojh) -> Type) (t_a1Olp :: [a_a1Ojg]). Sing t_a1Olo -> Sing t_a1Olp -> Sing (Apply (Apply MapMaybeSym0 t_a1Olo) t_a1Olp :: [b_a1Ojh])
type NothingSym0 = Nothing
data JustSym0 (l_aXnX :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_aXnW :: a3530822107858468865) = Just t_aXnW
data Maybe_Sym0 (l_a1O1H :: TyFun b6989586621679440409 (TyFun (TyFun a6989586621679440410 b6989586621679440409 -> Type) (TyFun (Maybe a6989586621679440410) b6989586621679440409 -> Type) -> Type))
data Maybe_Sym1 (l_a1O1F :: b6989586621679440409) (l_a1O1E :: TyFun (TyFun a6989586621679440410 b6989586621679440409 -> Type) (TyFun (Maybe a6989586621679440410) b6989586621679440409 -> Type))
data Maybe_Sym2 (l_a1O1B :: b6989586621679440409) (l_a1O1C :: TyFun a6989586621679440410 b6989586621679440409 -> Type) (l_a1O1A :: TyFun (Maybe a6989586621679440410) b6989586621679440409)
type Maybe_Sym3 (t_a1O1x :: b6989586621679440409) (t_a1O1y :: TyFun a6989586621679440410 b6989586621679440409 -> Type) (t_a1O1z :: Maybe a6989586621679440410) = Maybe_ t_a1O1x t_a1O1y t_a1O1z
data IsJustSym0 (l_a1Oli :: TyFun (Maybe a6989586621679441522) Bool)
type IsJustSym1 (t_a1Olh :: Maybe a6989586621679441522) = IsJust t_a1Olh
data IsNothingSym0 (l_a1Olb :: TyFun (Maybe a6989586621679441521) Bool)
type IsNothingSym1 (t_a1Ola :: Maybe a6989586621679441521) = IsNothing t_a1Ola
data FromJustSym0 (l_a1Ol6 :: TyFun (Maybe a6989586621679441520) a6989586621679441520)
type FromJustSym1 (t_a1Ol5 :: Maybe a6989586621679441520) = FromJust t_a1Ol5
data FromMaybeSym0 (l_a1OkV :: TyFun a6989586621679441519 (TyFun (Maybe a6989586621679441519) a6989586621679441519 -> Type))
data FromMaybeSym1 (l_a1OkT :: a6989586621679441519) (l_a1OkS :: TyFun (Maybe a6989586621679441519) a6989586621679441519)
type FromMaybeSym2 (t_a1OkQ :: a6989586621679441519) (t_a1OkR :: Maybe a6989586621679441519) = FromMaybe t_a1OkQ t_a1OkR
data ListToMaybeSym0 (l_a1OkE :: TyFun [a6989586621679441517] (Maybe a6989586621679441517))
type ListToMaybeSym1 (t_a1OkD :: [a6989586621679441517]) = ListToMaybe t_a1OkD
data MaybeToListSym0 (l_a1OkM :: TyFun (Maybe a6989586621679441518) [a6989586621679441518])
type MaybeToListSym1 (t_a1OkL :: Maybe a6989586621679441518) = MaybeToList t_a1OkL
data CatMaybesSym0 (l_a1Okx :: TyFun [Maybe a6989586621679441516] [a6989586621679441516])
type CatMaybesSym1 (t_a1Okw :: [Maybe a6989586621679441516]) = CatMaybes t_a1Okw
data MapMaybeSym0 (l_a1OjS :: TyFun (TyFun a6989586621679441514 (Maybe b6989586621679441515) -> Type) (TyFun [a6989586621679441514] [b6989586621679441515] -> Type))
data MapMaybeSym1 (l_a1OjQ :: TyFun a6989586621679441514 (Maybe b6989586621679441515) -> Type) (l_a1OjP :: TyFun [a6989586621679441514] [b6989586621679441515])
type MapMaybeSym2 (t_a1OjN :: TyFun a6989586621679441514 (Maybe b6989586621679441515) -> Type) (t_a1OjO :: [a6989586621679441514]) = MapMaybe t_a1OjN t_a1OjO
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.Let6989586621679441562RsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679441562RsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679441562RsSym2
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.Let6989586621679441575Scrutinee_6989586621679441545Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679441575Scrutinee_6989586621679441545Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679441575Scrutinee_6989586621679441545Sym2
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_a1O1r -> (a_a1O1s -> b_a1O1r) -> Maybe a_a1O1s -> b_a1O1r
type NothingSym0 = Nothing
data JustSym0 (l_aXnX :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_aXnW :: a3530822107858468865) = Just t_aXnW
data Maybe_Sym0 (l_a1O1H :: TyFun b6989586621679440409 (TyFun (TyFun a6989586621679440410 b6989586621679440409 -> Type) (TyFun (Maybe a6989586621679440410) b6989586621679440409 -> Type) -> Type))
data Maybe_Sym1 (l_a1O1F :: b6989586621679440409) (l_a1O1E :: TyFun (TyFun a6989586621679440410 b6989586621679440409 -> Type) (TyFun (Maybe a6989586621679440410) b6989586621679440409 -> Type))
data Maybe_Sym2 (l_a1O1B :: b6989586621679440409) (l_a1O1C :: TyFun a6989586621679440410 b6989586621679440409 -> Type) (l_a1O1A :: TyFun (Maybe a6989586621679440410) b6989586621679440409)
type Maybe_Sym3 (t_a1O1x :: b6989586621679440409) (t_a1O1y :: TyFun a6989586621679440410 b6989586621679440409 -> Type) (t_a1O1z :: Maybe a6989586621679440410) = Maybe_ t_a1O1x t_a1O1y t_a1O1z
data IsJustSym0 (l_a1Oli :: TyFun (Maybe a6989586621679441522) Bool)
type IsJustSym1 (t_a1Olh :: Maybe a6989586621679441522) = IsJust t_a1Olh
data IsNothingSym0 (l_a1Olb :: TyFun (Maybe a6989586621679441521) Bool)
type IsNothingSym1 (t_a1Ola :: Maybe a6989586621679441521) = IsNothing t_a1Ola
data FromJustSym0 (l_a1Ol6 :: TyFun (Maybe a6989586621679441520) a6989586621679441520)
type FromJustSym1 (t_a1Ol5 :: Maybe a6989586621679441520) = FromJust t_a1Ol5
data FromMaybeSym0 (l_a1OkV :: TyFun a6989586621679441519 (TyFun (Maybe a6989586621679441519) a6989586621679441519 -> Type))
data FromMaybeSym1 (l_a1OkT :: a6989586621679441519) (l_a1OkS :: TyFun (Maybe a6989586621679441519) a6989586621679441519)
type FromMaybeSym2 (t_a1OkQ :: a6989586621679441519) (t_a1OkR :: Maybe a6989586621679441519) = FromMaybe t_a1OkQ t_a1OkR
data MaybeToListSym0 (l_a1OkM :: TyFun (Maybe a6989586621679441518) [a6989586621679441518])
type MaybeToListSym1 (t_a1OkL :: Maybe a6989586621679441518) = MaybeToList t_a1OkL
data ListToMaybeSym0 (l_a1OkE :: TyFun [a6989586621679441517] (Maybe a6989586621679441517))
type ListToMaybeSym1 (t_a1OkD :: [a6989586621679441517]) = ListToMaybe t_a1OkD
data CatMaybesSym0 (l_a1Okx :: TyFun [Maybe a6989586621679441516] [a6989586621679441516])
type CatMaybesSym1 (t_a1Okw :: [Maybe a6989586621679441516]) = CatMaybes t_a1Okw
data MapMaybeSym0 (l_a1OjS :: TyFun (TyFun a6989586621679441514 (Maybe b6989586621679441515) -> Type) (TyFun [a6989586621679441514] [b6989586621679441515] -> Type))
data MapMaybeSym1 (l_a1OjQ :: TyFun a6989586621679441514 (Maybe b6989586621679441515) -> Type) (l_a1OjP :: TyFun [a6989586621679441514] [b6989586621679441515])
type MapMaybeSym2 (t_a1OjN :: TyFun a6989586621679441514 (Maybe b6989586621679441515) -> Type) (t_a1OjO :: [a6989586621679441514]) = MapMaybe t_a1OjN t_a1OjO


-- | 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_ah74 b_ah75 -> Type)
either_ :: (a_a1QDH -> c_a1QDI) -> (b_a1QDJ -> c_a1QDI) -> Either a_a1QDH b_a1QDJ -> c_a1QDI
sEither_ :: forall (t_a1QEe :: TyFun a_a1QDH c_a1QDI -> Type) (t_a1QEf :: TyFun b_a1QDJ c_a1QDI -> Type) (t_a1QEg :: Either a_a1QDH b_a1QDJ). Sing t_a1QEe -> Sing t_a1QEf -> Sing t_a1QEg -> Sing (Apply (Apply (Apply Either_Sym0 t_a1QEe) t_a1QEf) t_a1QEg :: c_a1QDI)
sLefts :: forall (t_a1QXm :: [Either a_a1QVD b_a1QVE]). Sing t_a1QXm -> Sing (Apply LeftsSym0 t_a1QXm :: [a_a1QVD])
sRights :: forall (t_a1QXl :: [Either a_a1QVB b_a1QVC]). Sing t_a1QXl -> Sing (Apply RightsSym0 t_a1QXl :: [b_a1QVC])
sPartitionEithers :: forall (t_a1QXk :: [Either a_a1QVz b_a1QVA]). Sing t_a1QXk -> Sing (Apply PartitionEithersSym0 t_a1QXk :: ([a_a1QVz], [b_a1QVA]))
sIsLeft :: forall (t_a1QXj :: Either a_a1QVx b_a1QVy). Sing t_a1QXj -> Sing (Apply IsLeftSym0 t_a1QXj :: Bool)
sIsRight :: forall (t_a1QXi :: Either a_a1QVv b_a1QVw). Sing t_a1QXi -> Sing (Apply IsRightSym0 t_a1QXi :: Bool)
data LeftSym0 (l_aXoo :: TyFun a6989586621679075578 (Either a6989586621679075578 b6989586621679075579))
type LeftSym1 (t_aXon :: a6989586621679075578) = Left t_aXon
data RightSym0 (l_aXor :: TyFun b6989586621679075579 (Either a6989586621679075578 b6989586621679075579))
type RightSym1 (t_aXoq :: b6989586621679075579) = Right t_aXoq
data Either_Sym0 (l_a1QDZ :: TyFun (TyFun a6989586621679450469 c6989586621679450470 -> Type) (TyFun (TyFun b6989586621679450471 c6989586621679450470 -> Type) (TyFun (Either a6989586621679450469 b6989586621679450471) c6989586621679450470 -> Type) -> Type))
data Either_Sym1 (l_a1QDX :: TyFun a6989586621679450469 c6989586621679450470 -> Type) (l_a1QDW :: TyFun (TyFun b6989586621679450471 c6989586621679450470 -> Type) (TyFun (Either a6989586621679450469 b6989586621679450471) c6989586621679450470 -> Type))
data Either_Sym2 (l_a1QDT :: TyFun a6989586621679450469 c6989586621679450470 -> Type) (l_a1QDU :: TyFun b6989586621679450471 c6989586621679450470 -> Type) (l_a1QDS :: TyFun (Either a6989586621679450469 b6989586621679450471) c6989586621679450470)
type Either_Sym3 (t_a1QDP :: TyFun a6989586621679450469 c6989586621679450470 -> Type) (t_a1QDQ :: TyFun b6989586621679450471 c6989586621679450470 -> Type) (t_a1QDR :: Either a6989586621679450469 b6989586621679450471) = Either_ t_a1QDP t_a1QDQ t_a1QDR
data LeftsSym0 (l_a1QX9 :: TyFun [Either a6989586621679451581 b6989586621679451582] [a6989586621679451581])
type LeftsSym1 (t_a1QX8 :: [Either a6989586621679451581 b6989586621679451582]) = Lefts t_a1QX8
data RightsSym0 (l_a1QWZ :: TyFun [Either a6989586621679451579 b6989586621679451580] [b6989586621679451580])
type RightsSym1 (t_a1QWY :: [Either a6989586621679451579 b6989586621679451580]) = Rights t_a1QWY
data IsLeftSym0 (l_a1QW9 :: TyFun (Either a6989586621679451575 b6989586621679451576) Bool)
type IsLeftSym1 (t_a1QW8 :: Either a6989586621679451575 b6989586621679451576) = IsLeft t_a1QW8
data IsRightSym0 (l_a1QVZ :: TyFun (Either a6989586621679451573 b6989586621679451574) Bool)
type IsRightSym1 (t_a1QVY :: Either a6989586621679451573 b6989586621679451574) = IsRight t_a1QVY
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.Let6989586621679451629LeftSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679451629LeftSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679451629LeftSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679451629RightSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679451629RightSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679451629RightSym2
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_a1QDH -> c_a1QDI) -> (b_a1QDJ -> c_a1QDI) -> Either a_a1QDH b_a1QDJ -> c_a1QDI
data LeftSym0 (l_aXoo :: TyFun a6989586621679075578 (Either a6989586621679075578 b6989586621679075579))
type LeftSym1 (t_aXon :: a6989586621679075578) = Left t_aXon
data RightSym0 (l_aXor :: TyFun b6989586621679075579 (Either a6989586621679075578 b6989586621679075579))
type RightSym1 (t_aXoq :: b6989586621679075579) = Right t_aXoq
data Either_Sym0 (l_a1QDZ :: TyFun (TyFun a6989586621679450469 c6989586621679450470 -> Type) (TyFun (TyFun b6989586621679450471 c6989586621679450470 -> Type) (TyFun (Either a6989586621679450469 b6989586621679450471) c6989586621679450470 -> Type) -> Type))
data Either_Sym1 (l_a1QDX :: TyFun a6989586621679450469 c6989586621679450470 -> Type) (l_a1QDW :: TyFun (TyFun b6989586621679450471 c6989586621679450470 -> Type) (TyFun (Either a6989586621679450469 b6989586621679450471) c6989586621679450470 -> Type))
data Either_Sym2 (l_a1QDT :: TyFun a6989586621679450469 c6989586621679450470 -> Type) (l_a1QDU :: TyFun b6989586621679450471 c6989586621679450470 -> Type) (l_a1QDS :: TyFun (Either a6989586621679450469 b6989586621679450471) c6989586621679450470)
type Either_Sym3 (t_a1QDP :: TyFun a6989586621679450469 c6989586621679450470 -> Type) (t_a1QDQ :: TyFun b6989586621679450471 c6989586621679450470 -> Type) (t_a1QDR :: Either a6989586621679450469 b6989586621679450471) = Either_ t_a1QDP t_a1QDQ t_a1QDR
data LeftsSym0 (l_a1QX9 :: TyFun [Either a6989586621679451581 b6989586621679451582] [a6989586621679451581])
type LeftsSym1 (t_a1QX8 :: [Either a6989586621679451581 b6989586621679451582]) = Lefts t_a1QX8
data RightsSym0 (l_a1QWZ :: TyFun [Either a6989586621679451579 b6989586621679451580] [b6989586621679451580])
type RightsSym1 (t_a1QWY :: [Either a6989586621679451579 b6989586621679451580]) = Rights t_a1QWY
data IsLeftSym0 (l_a1QW9 :: TyFun (Either a6989586621679451575 b6989586621679451576) Bool)
type IsLeftSym1 (t_a1QW8 :: Either a6989586621679451575 b6989586621679451576) = IsLeft t_a1QW8
data IsRightSym0 (l_a1QVZ :: TyFun (Either a6989586621679451573 b6989586621679451574) Bool)
type IsRightSym1 (t_a1QVY :: Either a6989586621679451573 b6989586621679451574) = IsRight t_a1QVY


-- | 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_a1aSG :: TyFun (TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (TyFun b6989586621679289775 (TyFun [a6989586621679289774] b6989586621679289775 -> Type) -> Type))
data FoldrSym1 (l_a1aSE :: TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (l_a1aSD :: TyFun b6989586621679289775 (TyFun [a6989586621679289774] b6989586621679289775 -> Type))
data FoldrSym2 (l_a1aSA :: TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (l_a1aSB :: b6989586621679289775) (l_a1aSz :: TyFun [a6989586621679289774] b6989586621679289775)
type FoldrSym3 (t_a1aSw :: TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (t_a1aSx :: b6989586621679289775) (t_a1aSy :: [a6989586621679289774]) = Foldr t_a1aSw t_a1aSx t_a1aSy
data MapSym0 (l_a1aSm :: TyFun (TyFun a6989586621679289772 b6989586621679289773 -> Type) (TyFun [a6989586621679289772] [b6989586621679289773] -> Type))
data MapSym1 (l_a1aSk :: TyFun a6989586621679289772 b6989586621679289773 -> Type) (l_a1aSj :: TyFun [a6989586621679289772] [b6989586621679289773])
type MapSym2 (t_a1aSh :: TyFun a6989586621679289772 b6989586621679289773 -> Type) (t_a1aSi :: [a6989586621679289772]) = Map t_a1aSh t_a1aSi
data (:++$) (l_a1aS9 :: TyFun [a6989586621679289771] (TyFun [a6989586621679289771] [a6989586621679289771] -> Type))
data (:++$$) (l_a1aS7 :: [a6989586621679289771]) (l_a1aS6 :: TyFun [a6989586621679289771] [a6989586621679289771])
type (:++$$$) (t_a1aS4 :: [a6989586621679289771]) (t_a1aS5 :: [a6989586621679289771]) = (:++) t_a1aS4 t_a1aS5
type OtherwiseSym0 = Otherwise
data IdSym0 (l_a1aS0 :: TyFun a6989586621679289770 a6989586621679289770)
type IdSym1 (t_a1aRZ :: a6989586621679289770) = Id t_a1aRZ
data ConstSym0 (l_a1aRC :: TyFun a6989586621679289768 (TyFun b6989586621679289769 a6989586621679289768 -> Type))
data ConstSym1 (l_a1aRA :: a6989586621679289768) (l_a1aRz :: TyFun b6989586621679289769 a6989586621679289768)
type ConstSym2 (t_a1aRx :: a6989586621679289768) (t_a1aRy :: b6989586621679289769) = Const t_a1aRx t_a1aRy
data (:.$) (l_a1aR1 :: TyFun (TyFun b6989586621679289765 c6989586621679289766 -> Type) (TyFun (TyFun a6989586621679289767 b6989586621679289765 -> Type) (TyFun a6989586621679289767 c6989586621679289766 -> Type) -> Type))
data (:.$$) (l_a1aQZ :: TyFun b6989586621679289765 c6989586621679289766 -> Type) (l_a1aQY :: TyFun (TyFun a6989586621679289767 b6989586621679289765 -> Type) (TyFun a6989586621679289767 c6989586621679289766 -> Type))
data (:.$$$) (l_a1aQV :: TyFun b6989586621679289765 c6989586621679289766 -> Type) (l_a1aQW :: TyFun a6989586621679289767 b6989586621679289765 -> Type) (l_a1aQU :: TyFun a6989586621679289767 c6989586621679289766)
type (:.$$$$) (t_a1aQR :: TyFun b6989586621679289765 c6989586621679289766 -> Type) (t_a1aQS :: TyFun a6989586621679289767 b6989586621679289765 -> Type) (t_a1aQT :: a6989586621679289767) = (:.) t_a1aQR t_a1aQS t_a1aQT
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_a1aQJ :: TyFun (TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (TyFun b6989586621679289763 (TyFun a6989586621679289762 c6989586621679289764 -> Type) -> Type))
data FlipSym1 (l_a1aQH :: TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (l_a1aQG :: TyFun b6989586621679289763 (TyFun a6989586621679289762 c6989586621679289764 -> Type))
data FlipSym2 (l_a1aQD :: TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (l_a1aQE :: b6989586621679289763) (l_a1aQC :: TyFun a6989586621679289762 c6989586621679289764)
type FlipSym3 (t_a1aQz :: TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (t_a1aQA :: b6989586621679289763) (t_a1aQB :: a6989586621679289762) = Flip t_a1aQz t_a1aQA t_a1aQB
data UntilSym0 (l_a1T8Y :: TyFun (TyFun a6989586621679460078 Bool -> Type) (TyFun (TyFun a6989586621679460078 a6989586621679460078 -> Type) (TyFun a6989586621679460078 a6989586621679460078 -> Type) -> Type))
data UntilSym1 (l_a1T8W :: TyFun a6989586621679460078 Bool -> Type) (l_a1T8V :: TyFun (TyFun a6989586621679460078 a6989586621679460078 -> Type) (TyFun a6989586621679460078 a6989586621679460078 -> Type))
data UntilSym2 (l_a1T8S :: TyFun a6989586621679460078 Bool -> Type) (l_a1T8T :: TyFun a6989586621679460078 a6989586621679460078 -> Type) (l_a1T8R :: TyFun a6989586621679460078 a6989586621679460078)
type UntilSym3 (t_a1T8O :: TyFun a6989586621679460078 Bool -> Type) (t_a1T8P :: TyFun a6989586621679460078 a6989586621679460078 -> Type) (t_a1T8Q :: a6989586621679460078) = Until t_a1T8O t_a1T8P t_a1T8Q
data AsTypeOfSym0 (l_a1aRT :: TyFun a6989586621679289761 (TyFun a6989586621679289761 a6989586621679289761 -> Type))
data AsTypeOfSym1 (l_a1aRR :: a6989586621679289761) (l_a1aRQ :: TyFun a6989586621679289761 a6989586621679289761)
type AsTypeOfSym2 (t_a1aRO :: a6989586621679289761) (t_a1aRP :: a6989586621679289761) = AsTypeOf t_a1aRO t_a1aRP
data SeqSym0 (l_a1aQr :: TyFun a6989586621679289759 (TyFun b6989586621679289760 b6989586621679289760 -> Type))
data SeqSym1 (l_a1aQp :: a6989586621679289759) (l_a1aQo :: TyFun b6989586621679289760 b6989586621679289760)
type SeqSym2 (t_a1aQm :: a6989586621679289759) (t_a1aQn :: b6989586621679289760) = Seq t_a1aQm t_a1aQn
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.Let6989586621679460106GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.Let6989586621679460106GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.Let6989586621679460106GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.Let6989586621679460106GoSym3


-- | Provides promoted definitions related to type-level comparisons.
module Data.Promotion.Prelude.Ord
class PEq a_a1jfn => POrd (a_a1jfn :: Type) where {
    type family Compare (arg_a1jAI :: a_a1jfn) (arg_a1jAJ :: a_a1jfn) :: Ordering;
    type family (:<) (arg_a1jAR :: a_a1jfn) (arg_a1jAS :: a_a1jfn) :: Bool;
    type family (:<=) (arg_a1jB0 :: a_a1jfn) (arg_a1jB1 :: a_a1jfn) :: Bool;
    type family (:>) (arg_a1jB9 :: a_a1jfn) (arg_a1jBa :: a_a1jfn) :: Bool;
    type family (:>=) (arg_a1jBi :: a_a1jfn) (arg_a1jBj :: a_a1jfn) :: Bool;
    type family Max (arg_a1jBr :: a_a1jfn) (arg_a1jBs :: a_a1jfn) :: a_a1jfn;
    type family Min (arg_a1jBA :: a_a1jfn) (arg_a1jBB :: a_a1jfn) :: a_a1jfn;
    type Compare a_a1jCg a_a1jCh =
        Apply (Apply Compare_6989586621679323530Sym0 a_a1jCg) a_a1jCh;
    type (:<) a_a1jCN a_a1jCO =
        Apply (Apply TFHelper_6989586621679323563Sym0 a_a1jCN) a_a1jCO;
    type (:<=) a_a1jDk a_a1jDl =
        Apply (Apply TFHelper_6989586621679323596Sym0 a_a1jDk) a_a1jDl;
    type (:>) a_a1jDR a_a1jDS =
        Apply (Apply TFHelper_6989586621679323629Sym0 a_a1jDR) a_a1jDS;
    type (:>=) a_a1jEo a_a1jEp =
        Apply (Apply TFHelper_6989586621679323662Sym0 a_a1jEo) a_a1jEp;
    type Max a_a1jEV a_a1jEW =
        Apply (Apply Max_6989586621679323695Sym0 a_a1jEV) a_a1jEW;
    type Min a_a1jFs a_a1jFt =
        Apply (Apply Min_6989586621679323728Sym0 a_a1jFs) a_a1jFt;
}
type LTSym0 = LT
type EQSym0 = EQ
type GTSym0 = GT
data CompareSym0 (l_a1jAP :: TyFun a6989586621679322109 (TyFun a6989586621679322109 Ordering -> Type))
data CompareSym1 (l_a1jAN :: a6989586621679322109) (l_a1jAM :: TyFun a6989586621679322109 Ordering)
type CompareSym2 (t_a1jAK :: a6989586621679322109) (t_a1jAL :: a6989586621679322109) = Compare t_a1jAK t_a1jAL
data (:<$) (l_a1jAY :: TyFun a6989586621679322109 (TyFun a6989586621679322109 Bool -> Type))
data (:<$$) (l_a1jAW :: a6989586621679322109) (l_a1jAV :: TyFun a6989586621679322109 Bool)
type (:<$$$) (t_a1jAT :: a6989586621679322109) (t_a1jAU :: a6989586621679322109) = (:<) t_a1jAT t_a1jAU
data (:<=$) (l_a1jB7 :: TyFun a6989586621679322109 (TyFun a6989586621679322109 Bool -> Type))
data (:<=$$) (l_a1jB5 :: a6989586621679322109) (l_a1jB4 :: TyFun a6989586621679322109 Bool)
type (:<=$$$) (t_a1jB2 :: a6989586621679322109) (t_a1jB3 :: a6989586621679322109) = (:<=) t_a1jB2 t_a1jB3
data (:>$) (l_a1jBg :: TyFun a6989586621679322109 (TyFun a6989586621679322109 Bool -> Type))
data (:>$$) (l_a1jBe :: a6989586621679322109) (l_a1jBd :: TyFun a6989586621679322109 Bool)
type (:>$$$) (t_a1jBb :: a6989586621679322109) (t_a1jBc :: a6989586621679322109) = (:>) t_a1jBb t_a1jBc
data (:>=$) (l_a1jBp :: TyFun a6989586621679322109 (TyFun a6989586621679322109 Bool -> Type))
data (:>=$$) (l_a1jBn :: a6989586621679322109) (l_a1jBm :: TyFun a6989586621679322109 Bool)
type (:>=$$$) (t_a1jBk :: a6989586621679322109) (t_a1jBl :: a6989586621679322109) = (:>=) t_a1jBk t_a1jBl
data MaxSym0 (l_a1jBy :: TyFun a6989586621679322109 (TyFun a6989586621679322109 a6989586621679322109 -> Type))
data MaxSym1 (l_a1jBw :: a6989586621679322109) (l_a1jBv :: TyFun a6989586621679322109 a6989586621679322109)
type MaxSym2 (t_a1jBt :: a6989586621679322109) (t_a1jBu :: a6989586621679322109) = Max t_a1jBt t_a1jBu
data MinSym0 (l_a1jBH :: TyFun a6989586621679322109 (TyFun a6989586621679322109 a6989586621679322109 -> Type))
data MinSym1 (l_a1jBF :: a6989586621679322109) (l_a1jBE :: TyFun a6989586621679322109 a6989586621679322109)
type MinSym2 (t_a1jBC :: a6989586621679322109) (t_a1jBD :: a6989586621679322109) = Min t_a1jBC t_a1jBD


-- | 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_a1aTp :: [a_a1aPN]) (t_a1aTq :: [a_a1aPN]). Sing t_a1aTp -> Sing t_a1aTq -> Sing (Apply (Apply (:++$) t_a1aTp) t_a1aTq :: [a_a1aPN])
infixr 5 %:++
sHead :: forall (t_a1XtE :: [a_a1Wpd]). Sing t_a1XtE -> Sing (Apply HeadSym0 t_a1XtE :: a_a1Wpd)
sLast :: forall (t_a1XtD :: [a_a1Wpc]). Sing t_a1XtD -> Sing (Apply LastSym0 t_a1XtD :: a_a1Wpc)
sTail :: forall (t_a1XtC :: [a_a1Wpb]). Sing t_a1XtC -> Sing (Apply TailSym0 t_a1XtC :: [a_a1Wpb])
sInit :: forall (t_a1XtB :: [a_a1Wpa]). Sing t_a1XtB -> Sing (Apply InitSym0 t_a1XtB :: [a_a1Wpa])
sNull :: forall (t_a1Xty :: [a_a1Wp9]). Sing t_a1Xty -> Sing (Apply NullSym0 t_a1Xty :: Bool)
sLength :: forall (t_a1Xra :: [a_a1Wnk]). Sing t_a1Xra -> Sing (Apply LengthSym0 t_a1Xra :: Nat)
sMap :: forall (t_a1aTr :: TyFun a_a1aPO b_a1aPP -> Type) (t_a1aTs :: [a_a1aPO]). Sing t_a1aTr -> Sing t_a1aTs -> Sing (Apply (Apply MapSym0 t_a1aTr) t_a1aTs :: [b_a1aPP])
sReverse :: forall (t_a1Xtv :: [a_a1Wp8]). Sing t_a1Xtv -> Sing (Apply ReverseSym0 t_a1Xtv :: [a_a1Wp8])
sIntersperse :: forall (t_a1Xtr :: a_a1Wp7) (t_a1Xts :: [a_a1Wp7]). Sing t_a1Xtr -> Sing t_a1Xts -> Sing (Apply (Apply IntersperseSym0 t_a1Xtr) t_a1Xts :: [a_a1Wp7])
sIntercalate :: forall (t_a1Xtt :: [a_a1Wp6]) (t_a1Xtu :: [[a_a1Wp6]]). Sing t_a1Xtt -> Sing t_a1Xtu -> Sing (Apply (Apply IntercalateSym0 t_a1Xtt) t_a1Xtu :: [a_a1Wp6])
sTranspose :: forall (t_a1XtF :: [[a_a1Wni]]). Sing t_a1XtF -> Sing (Apply TransposeSym0 t_a1XtF :: [[a_a1Wni]])
sSubsequences :: forall (t_a1Xtq :: [a_a1Wp5]). Sing t_a1Xtq -> Sing (Apply SubsequencesSym0 t_a1Xtq :: [[a_a1Wp5]])
sPermutations :: forall (t_a1Xtm :: [a_a1Wp2]). Sing t_a1Xtm -> Sing (Apply PermutationsSym0 t_a1Xtm :: [[a_a1Wp2]])
sFoldl :: forall (t_a10oB :: TyFun b_a10nD (TyFun a_a10nC b_a10nD -> Type) -> Type) (t_a10oC :: b_a10nD) (t_a10oD :: [a_a10nC]). Sing t_a10oB -> Sing t_a10oC -> Sing t_a10oD -> Sing (Apply (Apply (Apply FoldlSym0 t_a10oB) t_a10oC) t_a10oD :: b_a10nD)
sFoldl' :: forall (t_a1Xth :: TyFun b_a1Wp1 (TyFun a_a1Wp0 b_a1Wp1 -> Type) -> Type) (t_a1Xti :: b_a1Wp1) (t_a1Xtj :: [a_a1Wp0]). Sing t_a1Xth -> Sing t_a1Xti -> Sing t_a1Xtj -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a1Xth) t_a1Xti) t_a1Xtj :: b_a1Wp1)
sFoldl1 :: forall (t_a1Xt9 :: TyFun a_a1WoZ (TyFun a_a1WoZ a_a1WoZ -> Type) -> Type) (t_a1Xta :: [a_a1WoZ]). Sing t_a1Xt9 -> Sing t_a1Xta -> Sing (Apply (Apply Foldl1Sym0 t_a1Xt9) t_a1Xta :: a_a1WoZ)
sFoldl1' :: forall (t_a1Xtk :: TyFun a_a1WoY (TyFun a_a1WoY a_a1WoY -> Type) -> Type) (t_a1Xtl :: [a_a1WoY]). Sing t_a1Xtk -> Sing t_a1Xtl -> Sing (Apply (Apply Foldl1'Sym0 t_a1Xtk) t_a1Xtl :: a_a1WoY)
sFoldr :: forall (t_a1aTt :: TyFun a_a1aPQ (TyFun b_a1aPR b_a1aPR -> Type) -> Type) (t_a1aTu :: b_a1aPR) (t_a1aTv :: [a_a1aPQ]). Sing t_a1aTt -> Sing t_a1aTu -> Sing t_a1aTv -> Sing (Apply (Apply (Apply FoldrSym0 t_a1aTt) t_a1aTu) t_a1aTv :: b_a1aPR)
sFoldr1 :: forall (t_a1Xt7 :: TyFun a_a1WoX (TyFun a_a1WoX a_a1WoX -> Type) -> Type) (t_a1Xt8 :: [a_a1WoX]). Sing t_a1Xt7 -> Sing t_a1Xt8 -> Sing (Apply (Apply Foldr1Sym0 t_a1Xt7) t_a1Xt8 :: a_a1WoX)
sConcat :: forall (t_a1Xt6 :: [[a_a1WoW]]). Sing t_a1Xt6 -> Sing (Apply ConcatSym0 t_a1Xt6 :: [a_a1WoW])
sConcatMap :: forall (t_a1Xt4 :: TyFun a_a1WoU [b_a1WoV] -> Type) (t_a1Xt5 :: [a_a1WoU]). Sing t_a1Xt4 -> Sing t_a1Xt5 -> Sing (Apply (Apply ConcatMapSym0 t_a1Xt4) t_a1Xt5 :: [b_a1WoV])
sAnd :: forall (t_a1Xt3 :: [Bool]). Sing t_a1Xt3 -> Sing (Apply AndSym0 t_a1Xt3 :: Bool)
sOr :: forall (t_a1Xt2 :: [Bool]). Sing t_a1Xt2 -> Sing (Apply OrSym0 t_a1Xt2 :: Bool)
sAny_ :: forall (t_a1TKr :: TyFun a_a1TK7 Bool -> Type) (t_a1TKs :: [a_a1TK7]). Sing t_a1TKr -> Sing t_a1TKs -> Sing (Apply (Apply Any_Sym0 t_a1TKr) t_a1TKs :: Bool)
sAll :: forall (t_a1Xt0 :: TyFun a_a1WoT Bool -> Type) (t_a1Xt1 :: [a_a1WoT]). Sing t_a1Xt0 -> Sing t_a1Xt1 -> Sing (Apply (Apply AllSym0 t_a1Xt0) t_a1Xt1 :: Bool)
sSum :: forall (t_a1Xrc :: [a_a1Wnm]). SNum a_a1Wnm => Sing t_a1Xrc -> Sing (Apply SumSym0 t_a1Xrc :: a_a1Wnm)
sProduct :: forall (t_a1Xrb :: [a_a1Wnl]). SNum a_a1Wnl => Sing t_a1Xrb -> Sing (Apply ProductSym0 t_a1Xrb :: a_a1Wnl)
sMaximum :: forall (t_a1Xtf :: [a_a1Wnv]). SOrd a_a1Wnv => Sing t_a1Xtf -> Sing (Apply MaximumSym0 t_a1Xtf :: a_a1Wnv)
sMinimum :: forall (t_a1Xtg :: [a_a1Wnu]). SOrd a_a1Wnu => Sing t_a1Xtg -> Sing (Apply MinimumSym0 t_a1Xtg :: a_a1Wnu)
any_ :: (a_a1TK7 -> Bool) -> [a_a1TK7] -> Bool
sScanl :: forall (t_a1XsV :: TyFun b_a1WoR (TyFun a_a1WoS b_a1WoR -> Type) -> Type) (t_a1XsW :: b_a1WoR) (t_a1XsX :: [a_a1WoS]). Sing t_a1XsV -> Sing t_a1XsW -> Sing t_a1XsX -> Sing (Apply (Apply (Apply ScanlSym0 t_a1XsV) t_a1XsW) t_a1XsX :: [b_a1WoR])
sScanl1 :: forall (t_a1XsY :: TyFun a_a1WoQ (TyFun a_a1WoQ a_a1WoQ -> Type) -> Type) (t_a1XsZ :: [a_a1WoQ]). Sing t_a1XsY -> Sing t_a1XsZ -> Sing (Apply (Apply Scanl1Sym0 t_a1XsY) t_a1XsZ :: [a_a1WoQ])
sScanr :: forall (t_a1XsS :: TyFun a_a1WoO (TyFun b_a1WoP b_a1WoP -> Type) -> Type) (t_a1XsT :: b_a1WoP) (t_a1XsU :: [a_a1WoO]). Sing t_a1XsS -> Sing t_a1XsT -> Sing t_a1XsU -> Sing (Apply (Apply (Apply ScanrSym0 t_a1XsS) t_a1XsT) t_a1XsU :: [b_a1WoP])
sScanr1 :: forall (t_a1XsQ :: TyFun a_a1WoN (TyFun a_a1WoN a_a1WoN -> Type) -> Type) (t_a1XsR :: [a_a1WoN]). Sing t_a1XsQ -> Sing t_a1XsR -> Sing (Apply (Apply Scanr1Sym0 t_a1XsQ) t_a1XsR :: [a_a1WoN])
sMapAccumL :: forall (t_a1XsN :: TyFun acc_a1WoK (TyFun x_a1WoL (acc_a1WoK, y_a1WoM) -> Type) -> Type) (t_a1XsO :: acc_a1WoK) (t_a1XsP :: [x_a1WoL]). Sing t_a1XsN -> Sing t_a1XsO -> Sing t_a1XsP -> Sing (Apply (Apply (Apply MapAccumLSym0 t_a1XsN) t_a1XsO) t_a1XsP :: (acc_a1WoK, [y_a1WoM]))
sMapAccumR :: forall (t_a1XsK :: TyFun acc_a1WoH (TyFun x_a1WoI (acc_a1WoH, y_a1WoJ) -> Type) -> Type) (t_a1XsL :: acc_a1WoH) (t_a1XsM :: [x_a1WoI]). Sing t_a1XsK -> Sing t_a1XsL -> Sing t_a1XsM -> Sing (Apply (Apply (Apply MapAccumRSym0 t_a1XsK) t_a1XsL) t_a1XsM :: (acc_a1WoH, [y_a1WoJ]))
sReplicate :: forall (t_a1Xr8 :: Nat) (t_a1Xr9 :: a_a1Wnj). Sing t_a1Xr8 -> Sing t_a1Xr9 -> Sing (Apply (Apply ReplicateSym0 t_a1Xr8) t_a1Xr9 :: [a_a1Wnj])
sUnfoldr :: forall (t_a1XsI :: TyFun b_a1WoF (Maybe (a_a1WoG, b_a1WoF)) -> Type) (t_a1XsJ :: b_a1WoF). Sing t_a1XsI -> Sing t_a1XsJ -> Sing (Apply (Apply UnfoldrSym0 t_a1XsI) t_a1XsJ :: [a_a1WoG])
sTake :: forall (t_a1Xrm :: Nat) (t_a1Xrn :: [a_a1Wnz]). Sing t_a1Xrm -> Sing t_a1Xrn -> Sing (Apply (Apply TakeSym0 t_a1Xrm) t_a1Xrn :: [a_a1Wnz])
sDrop :: forall (t_a1Xrk :: Nat) (t_a1Xrl :: [a_a1Wny]). Sing t_a1Xrk -> Sing t_a1Xrl -> Sing (Apply (Apply DropSym0 t_a1Xrk) t_a1Xrl :: [a_a1Wny])
sSplitAt :: forall (t_a1Xro :: Nat) (t_a1Xrp :: [a_a1Wnx]). Sing t_a1Xro -> Sing t_a1Xrp -> Sing (Apply (Apply SplitAtSym0 t_a1Xro) t_a1Xrp :: ([a_a1Wnx], [a_a1Wnx]))
sTakeWhile :: forall (t_a1Xrz :: TyFun a_a1WnE Bool -> Type) (t_a1XrA :: [a_a1WnE]). Sing t_a1Xrz -> Sing t_a1XrA -> Sing (Apply (Apply TakeWhileSym0 t_a1Xrz) t_a1XrA :: [a_a1WnE])
sDropWhile :: forall (t_a1Xrx :: TyFun a_a1WnD Bool -> Type) (t_a1Xry :: [a_a1WnD]). Sing t_a1Xrx -> Sing t_a1Xry -> Sing (Apply (Apply DropWhileSym0 t_a1Xrx) t_a1Xry :: [a_a1WnD])
sDropWhileEnd :: forall (t_a1Xtz :: TyFun a_a1WnC Bool -> Type) (t_a1XtA :: [a_a1WnC]). Sing t_a1Xtz -> Sing t_a1XtA -> Sing (Apply (Apply DropWhileEndSym0 t_a1Xtz) t_a1XtA :: [a_a1WnC])
sSpan :: forall (t_a1Xrs :: TyFun a_a1WnB Bool -> Type) (t_a1Xrt :: [a_a1WnB]). Sing t_a1Xrs -> Sing t_a1Xrt -> Sing (Apply (Apply SpanSym0 t_a1Xrs) t_a1Xrt :: ([a_a1WnB], [a_a1WnB]))
sBreak :: forall (t_a1Xrq :: TyFun a_a1WnA Bool -> Type) (t_a1Xrr :: [a_a1WnA]). Sing t_a1Xrq -> Sing t_a1Xrr -> Sing (Apply (Apply BreakSym0 t_a1Xrq) t_a1Xrr :: ([a_a1WnA], [a_a1WnA]))
sGroup :: forall (t_a1Xrw :: [a_a1Wnw]). SEq a_a1Wnw => Sing t_a1Xrw -> Sing (Apply GroupSym0 t_a1Xrw :: [[a_a1Wnw]])
sInits :: forall (t_a1XsH :: [a_a1WoE]). Sing t_a1XsH -> Sing (Apply InitsSym0 t_a1XsH :: [[a_a1WoE]])
sTails :: forall (t_a1XsE :: [a_a1WoD]). Sing t_a1XsE -> Sing (Apply TailsSym0 t_a1XsE :: [[a_a1WoD]])
sIsPrefixOf :: forall (t_a1XsC :: [a_a1WoC]) (t_a1XsD :: [a_a1WoC]). SEq a_a1WoC => Sing t_a1XsC -> Sing t_a1XsD -> Sing (Apply (Apply IsPrefixOfSym0 t_a1XsC) t_a1XsD :: Bool)
sIsSuffixOf :: forall (t_a1Xtw :: [a_a1WoB]) (t_a1Xtx :: [a_a1WoB]). SEq a_a1WoB => Sing t_a1Xtw -> Sing t_a1Xtx -> Sing (Apply (Apply IsSuffixOfSym0 t_a1Xtw) t_a1Xtx :: Bool)
sIsInfixOf :: forall (t_a1XsF :: [a_a1WoA]) (t_a1XsG :: [a_a1WoA]). SEq a_a1WoA => Sing t_a1XsF -> Sing t_a1XsG -> Sing (Apply (Apply IsInfixOfSym0 t_a1XsF) t_a1XsG :: Bool)
sElem :: forall (t_a1Xsz :: a_a1Woz) (t_a1XsA :: [a_a1Woz]). SEq a_a1Woz => Sing t_a1Xsz -> Sing t_a1XsA -> Sing (Apply (Apply ElemSym0 t_a1Xsz) t_a1XsA :: Bool)
sNotElem :: forall (t_a1Xsx :: a_a1Woy) (t_a1Xsy :: [a_a1Woy]). SEq a_a1Woy => Sing t_a1Xsx -> Sing t_a1Xsy -> Sing (Apply (Apply NotElemSym0 t_a1Xsx) t_a1Xsy :: Bool)
sLookup :: forall (t_a1Xri :: a_a1Wnp) (t_a1Xrj :: [(a_a1Wnp, b_a1Wnq)]). SEq a_a1Wnp => Sing t_a1Xri -> Sing t_a1Xrj -> Sing (Apply (Apply LookupSym0 t_a1Xri) t_a1Xrj :: Maybe b_a1Wnq)
sFind :: forall (t_a1XrD :: TyFun a_a1WnL Bool -> Type) (t_a1XrE :: [a_a1WnL]). Sing t_a1XrD -> Sing t_a1XrE -> Sing (Apply (Apply FindSym0 t_a1XrD) t_a1XrE :: Maybe a_a1WnL)
sFilter :: forall (t_a1XrB :: TyFun a_a1WnM Bool -> Type) (t_a1XrC :: [a_a1WnM]). Sing t_a1XrB -> Sing t_a1XrC -> Sing (Apply (Apply FilterSym0 t_a1XrB) t_a1XrC :: [a_a1WnM])
sPartition :: forall (t_a1Xrg :: TyFun a_a1Wno Bool -> Type) (t_a1Xrh :: [a_a1Wno]). Sing t_a1Xrg -> Sing t_a1Xrh -> Sing (Apply (Apply PartitionSym0 t_a1Xrg) t_a1Xrh :: ([a_a1Wno], [a_a1Wno]))
(%:!!) :: forall (t_a1Xr6 :: [a_a1Wnh]) (t_a1Xr7 :: Nat). Sing t_a1Xr6 -> Sing t_a1Xr7 -> Sing (Apply (Apply (:!!$) t_a1Xr6) t_a1Xr7 :: a_a1Wnh)
sElemIndex :: forall (t_a1Xsv :: a_a1WnK) (t_a1Xsw :: [a_a1WnK]). SEq a_a1WnK => Sing t_a1Xsv -> Sing t_a1Xsw -> Sing (Apply (Apply ElemIndexSym0 t_a1Xsv) t_a1Xsw :: Maybe Nat)
sElemIndices :: forall (t_a1Xsr :: a_a1WnJ) (t_a1Xss :: [a_a1WnJ]). SEq a_a1WnJ => Sing t_a1Xsr -> Sing t_a1Xss -> Sing (Apply (Apply ElemIndicesSym0 t_a1Xsr) t_a1Xss :: [Nat])
sFindIndex :: forall (t_a1Xst :: TyFun a_a1WnI Bool -> Type) (t_a1Xsu :: [a_a1WnI]). Sing t_a1Xst -> Sing t_a1Xsu -> Sing (Apply (Apply FindIndexSym0 t_a1Xst) t_a1Xsu :: Maybe Nat)
sFindIndices :: forall (t_a1Xsp :: TyFun a_a1WnH Bool -> Type) (t_a1Xsq :: [a_a1WnH]). Sing t_a1Xsp -> Sing t_a1Xsq -> Sing (Apply (Apply FindIndicesSym0 t_a1Xsp) t_a1Xsq :: [Nat])
sZip :: forall (t_a1Xsn :: [a_a1Wow]) (t_a1Xso :: [b_a1Wox]). Sing t_a1Xsn -> Sing t_a1Xso -> Sing (Apply (Apply ZipSym0 t_a1Xsn) t_a1Xso :: [(a_a1Wow, b_a1Wox)])
sZip3 :: forall (t_a1Xsk :: [a_a1Wot]) (t_a1Xsl :: [b_a1Wou]) (t_a1Xsm :: [c_a1Wov]). Sing t_a1Xsk -> Sing t_a1Xsl -> Sing t_a1Xsm -> Sing (Apply (Apply (Apply Zip3Sym0 t_a1Xsk) t_a1Xsl) t_a1Xsm :: [(a_a1Wot, b_a1Wou, c_a1Wov)])
sZipWith :: forall (t_a1Xsh :: TyFun a_a1Woq (TyFun b_a1Wor c_a1Wos -> Type) -> Type) (t_a1Xsi :: [a_a1Woq]) (t_a1Xsj :: [b_a1Wor]). Sing t_a1Xsh -> Sing t_a1Xsi -> Sing t_a1Xsj -> Sing (Apply (Apply (Apply ZipWithSym0 t_a1Xsh) t_a1Xsi) t_a1Xsj :: [c_a1Wos])
sZipWith3 :: forall (t_a1Xsd :: TyFun a_a1Wom (TyFun b_a1Won (TyFun c_a1Woo d_a1Wop -> Type) -> Type) -> Type) (t_a1Xse :: [a_a1Wom]) (t_a1Xsf :: [b_a1Won]) (t_a1Xsg :: [c_a1Woo]). Sing t_a1Xsd -> Sing t_a1Xse -> Sing t_a1Xsf -> Sing t_a1Xsg -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a1Xsd) t_a1Xse) t_a1Xsf) t_a1Xsg :: [d_a1Wop])
sUnzip :: forall (t_a1Xsc :: [(a_a1Wok, b_a1Wol)]). Sing t_a1Xsc -> Sing (Apply UnzipSym0 t_a1Xsc :: ([a_a1Wok], [b_a1Wol]))
sUnzip3 :: forall (t_a1Xsb :: [(a_a1Woh, b_a1Woi, c_a1Woj)]). Sing t_a1Xsb -> Sing (Apply Unzip3Sym0 t_a1Xsb :: ([a_a1Woh], [b_a1Woi], [c_a1Woj]))
sUnzip4 :: forall (t_a1Xsa :: [(a_a1Wod, b_a1Woe, c_a1Wof, d_a1Wog)]). Sing t_a1Xsa -> Sing (Apply Unzip4Sym0 t_a1Xsa :: ([a_a1Wod], [b_a1Woe], [c_a1Wof], [d_a1Wog]))
sUnzip5 :: forall (t_a1Xs9 :: [(a_a1Wo8, b_a1Wo9, c_a1Woa, d_a1Wob, e_a1Woc)]). Sing t_a1Xs9 -> Sing (Apply Unzip5Sym0 t_a1Xs9 :: ([a_a1Wo8], [b_a1Wo9], [c_a1Woa], [d_a1Wob], [e_a1Woc]))
sUnzip6 :: forall (t_a1Xs8 :: [(a_a1Wo2, b_a1Wo3, c_a1Wo4, d_a1Wo5, e_a1Wo6, f_a1Wo7)]). Sing t_a1Xs8 -> Sing (Apply Unzip6Sym0 t_a1Xs8 :: ([a_a1Wo2], [b_a1Wo3], [c_a1Wo4], [d_a1Wo5], [e_a1Wo6], [f_a1Wo7]))
sUnzip7 :: forall (t_a1Xs7 :: [(a_a1WnV, b_a1WnW, c_a1WnX, d_a1WnY, e_a1WnZ, f_a1Wo0, g_a1Wo1)]). Sing t_a1Xs7 -> Sing (Apply Unzip7Sym0 t_a1Xs7 :: ([a_a1WnV], [b_a1WnW], [c_a1WnX], [d_a1WnY], [e_a1WnZ], [f_a1Wo0], [g_a1Wo1]))
sNub :: forall (t_a1XsB :: [a_a1Wng]). SEq a_a1Wng => Sing t_a1XsB -> Sing (Apply NubSym0 t_a1XsB :: [a_a1Wng])
sDelete :: forall (t_a1Xs3 :: a_a1WnU) (t_a1Xs4 :: [a_a1WnU]). SEq a_a1WnU => Sing t_a1Xs3 -> Sing t_a1Xs4 -> Sing (Apply (Apply DeleteSym0 t_a1Xs3) t_a1Xs4 :: [a_a1WnU])
(%:\\) :: forall (t_a1Xs5 :: [a_a1WnT]) (t_a1Xs6 :: [a_a1WnT]). SEq a_a1WnT => Sing t_a1Xs5 -> Sing t_a1Xs6 -> Sing (Apply (Apply (:\\$) t_a1Xs5) t_a1Xs6 :: [a_a1WnT])
infix 5 %:\\
sUnion :: forall (t_a1Xs1 :: [a_a1Wnc]) (t_a1Xs2 :: [a_a1Wnc]). SEq a_a1Wnc => Sing t_a1Xs1 -> Sing t_a1Xs2 -> Sing (Apply (Apply UnionSym0 t_a1Xs1) t_a1Xs2 :: [a_a1Wnc])
sIntersect :: forall (t_a1XrI :: [a_a1WnG]) (t_a1XrJ :: [a_a1WnG]). SEq a_a1WnG => Sing t_a1XrI -> Sing t_a1XrJ -> Sing (Apply (Apply IntersectSym0 t_a1XrI) t_a1XrJ :: [a_a1WnG])
sInsert :: forall (t_a1XrN :: a_a1Wnt) (t_a1XrO :: [a_a1Wnt]). SOrd a_a1Wnt => Sing t_a1XrN -> Sing t_a1XrO -> Sing (Apply (Apply InsertSym0 t_a1XrN) t_a1XrO :: [a_a1Wnt])
sSort :: forall (t_a1XrR :: [a_a1Wns]). SOrd a_a1Wns => Sing t_a1XrR -> Sing (Apply SortSym0 t_a1XrR :: [a_a1Wns])
sNubBy :: forall (t_a1Xr4 :: TyFun a_a1Wnf (TyFun a_a1Wnf Bool -> Type) -> Type) (t_a1Xr5 :: [a_a1Wnf]). Sing t_a1Xr4 -> Sing t_a1Xr5 -> Sing (Apply (Apply NubBySym0 t_a1Xr4) t_a1Xr5 :: [a_a1Wnf])
sDeleteBy :: forall (t_a1XrS :: TyFun a_a1WnS (TyFun a_a1WnS Bool -> Type) -> Type) (t_a1XrT :: a_a1WnS) (t_a1XrU :: [a_a1WnS]). Sing t_a1XrS -> Sing t_a1XrT -> Sing t_a1XrU -> Sing (Apply (Apply (Apply DeleteBySym0 t_a1XrS) t_a1XrT) t_a1XrU :: [a_a1WnS])
sDeleteFirstsBy :: forall (t_a1XrV :: TyFun a_a1WnR (TyFun a_a1WnR Bool -> Type) -> Type) (t_a1XrW :: [a_a1WnR]) (t_a1XrX :: [a_a1WnR]). Sing t_a1XrV -> Sing t_a1XrW -> Sing t_a1XrX -> Sing (Apply (Apply (Apply DeleteFirstsBySym0 t_a1XrV) t_a1XrW) t_a1XrX :: [a_a1WnR])
sUnionBy :: forall (t_a1XrY :: TyFun a_a1Wnd (TyFun a_a1Wnd Bool -> Type) -> Type) (t_a1XrZ :: [a_a1Wnd]) (t_a1Xs0 :: [a_a1Wnd]). Sing t_a1XrY -> Sing t_a1XrZ -> Sing t_a1Xs0 -> Sing (Apply (Apply (Apply UnionBySym0 t_a1XrY) t_a1XrZ) t_a1Xs0 :: [a_a1Wnd])
sIntersectBy :: forall (t_a1XrF :: TyFun a_a1WnF (TyFun a_a1WnF Bool -> Type) -> Type) (t_a1XrG :: [a_a1WnF]) (t_a1XrH :: [a_a1WnF]). Sing t_a1XrF -> Sing t_a1XrG -> Sing t_a1XrH -> Sing (Apply (Apply (Apply IntersectBySym0 t_a1XrF) t_a1XrG) t_a1XrH :: [a_a1WnF])
sGroupBy :: forall (t_a1Xru :: TyFun a_a1Wnr (TyFun a_a1Wnr Bool -> Type) -> Type) (t_a1Xrv :: [a_a1Wnr]). Sing t_a1Xru -> Sing t_a1Xrv -> Sing (Apply (Apply GroupBySym0 t_a1Xru) t_a1Xrv :: [[a_a1Wnr]])
sSortBy :: forall (t_a1XrP :: TyFun a_a1WnQ (TyFun a_a1WnQ Ordering -> Type) -> Type) (t_a1XrQ :: [a_a1WnQ]). Sing t_a1XrP -> Sing t_a1XrQ -> Sing (Apply (Apply SortBySym0 t_a1XrP) t_a1XrQ :: [a_a1WnQ])
sInsertBy :: forall (t_a1XrK :: TyFun a_a1WnP (TyFun a_a1WnP Ordering -> Type) -> Type) (t_a1XrL :: a_a1WnP) (t_a1XrM :: [a_a1WnP]). Sing t_a1XrK -> Sing t_a1XrL -> Sing t_a1XrM -> Sing (Apply (Apply (Apply InsertBySym0 t_a1XrK) t_a1XrL) t_a1XrM :: [a_a1WnP])
sMaximumBy :: forall (t_a1Xtb :: TyFun a_a1WnO (TyFun a_a1WnO Ordering -> Type) -> Type) (t_a1Xtc :: [a_a1WnO]). Sing t_a1Xtb -> Sing t_a1Xtc -> Sing (Apply (Apply MaximumBySym0 t_a1Xtb) t_a1Xtc :: a_a1WnO)
sMinimumBy :: forall (t_a1Xtd :: TyFun a_a1WnN (TyFun a_a1WnN Ordering -> Type) -> Type) (t_a1Xte :: [a_a1WnN]). Sing t_a1Xtd -> Sing t_a1Xte -> Sing (Apply (Apply MinimumBySym0 t_a1Xtd) t_a1Xte :: a_a1WnN)
sGenericLength :: forall (t_a1Xr0 :: [a_a1Wnb]). SNum i_a1Wna => Sing t_a1Xr0 -> Sing (Apply GenericLengthSym0 t_a1Xr0 :: i_a1Wna)
type NilSym0 = '[]
data (:$) (l_aXoa :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:$$) (l_aXo8 :: a3530822107858468865) (l_aXo7 :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:$$$) (t_aXo5 :: a3530822107858468865) (t_aXo6 :: [a3530822107858468865]) = (:) t_aXo5 t_aXo6
type (:++$$$) (t_a1aS4 :: [a6989586621679289771]) (t_a1aS5 :: [a6989586621679289771]) = (:++) t_a1aS4 t_a1aS5
data (:++$$) (l_a1aS7 :: [a6989586621679289771]) (l_a1aS6 :: TyFun [a6989586621679289771] [a6989586621679289771])
data (:++$) (l_a1aS9 :: TyFun [a6989586621679289771] (TyFun [a6989586621679289771] [a6989586621679289771] -> Type))
data HeadSym0 (l_a1XqL :: TyFun [a6989586621679472635] a6989586621679472635)
type HeadSym1 (t_a1XqK :: [a6989586621679472635]) = Head t_a1XqK
data LastSym0 (l_a1XqB :: TyFun [a6989586621679472634] a6989586621679472634)
type LastSym1 (t_a1XqA :: [a6989586621679472634]) = Last t_a1XqA
data TailSym0 (l_a1Xqt :: TyFun [a6989586621679472633] [a6989586621679472633])
type TailSym1 (t_a1Xqs :: [a6989586621679472633]) = Tail t_a1Xqs
data InitSym0 (l_a1XpW :: TyFun [a6989586621679472632] [a6989586621679472632])
type InitSym1 (t_a1XpV :: [a6989586621679472632]) = Init t_a1XpV
data NullSym0 (l_a1XoP :: TyFun [a6989586621679472631] Bool)
type NullSym1 (t_a1XoO :: [a6989586621679472631]) = Null t_a1XoO
data LengthSym0 (l_a1WBa :: TyFun [a6989586621679472518] Nat)
type LengthSym1 (t_a1WB9 :: [a6989586621679472518]) = Length t_a1WB9
data MapSym0 (l_a1aSm :: TyFun (TyFun a6989586621679289772 b6989586621679289773 -> Type) (TyFun [a6989586621679289772] [b6989586621679289773] -> Type))
data MapSym1 (l_a1aSk :: TyFun a6989586621679289772 b6989586621679289773 -> Type) (l_a1aSj :: TyFun [a6989586621679289772] [b6989586621679289773])
type MapSym2 (t_a1aSh :: TyFun a6989586621679289772 b6989586621679289773 -> Type) (t_a1aSi :: [a6989586621679289772]) = Map t_a1aSh t_a1aSi
data ReverseSym0 (l_a1Xog :: TyFun [a6989586621679472630] [a6989586621679472630])
type ReverseSym1 (t_a1Xof :: [a6989586621679472630]) = Reverse t_a1Xof
data IntersperseSym0 (l_a1XnU :: TyFun a6989586621679472629 (TyFun [a6989586621679472629] [a6989586621679472629] -> Type))
data IntersperseSym1 (l_a1XnS :: a6989586621679472629) (l_a1XnR :: TyFun [a6989586621679472629] [a6989586621679472629])
type IntersperseSym2 (t_a1XnP :: a6989586621679472629) (t_a1XnQ :: [a6989586621679472629]) = Intersperse t_a1XnP t_a1XnQ
data IntercalateSym0 (l_a1Xo9 :: TyFun [a6989586621679472628] (TyFun [[a6989586621679472628]] [a6989586621679472628] -> Type))
data IntercalateSym1 (l_a1Xo7 :: [a6989586621679472628]) (l_a1Xo6 :: TyFun [[a6989586621679472628]] [a6989586621679472628])
type IntercalateSym2 (t_a1Xo4 :: [a6989586621679472628]) (t_a1Xo5 :: [[a6989586621679472628]]) = Intercalate t_a1Xo4 t_a1Xo5
data TransposeSym0 (l_a1XqT :: TyFun [[a6989586621679472516]] [[a6989586621679472516]])
type TransposeSym1 (t_a1XqS :: [[a6989586621679472516]]) = Transpose t_a1XqS
data SubsequencesSym0 (l_a1XnL :: TyFun [a6989586621679472627] [[a6989586621679472627]])
type SubsequencesSym1 (t_a1XnK :: [a6989586621679472627]) = Subsequences t_a1XnK
data PermutationsSym0 (l_a1Xh3 :: TyFun [a6989586621679472624] [[a6989586621679472624]])
type PermutationsSym1 (t_a1Xh2 :: [a6989586621679472624]) = Permutations t_a1Xh2
data FoldlSym0 (l_a10nX :: TyFun (TyFun b6989586621679249585 (TyFun a6989586621679249584 b6989586621679249585 -> Type) -> Type) (TyFun b6989586621679249585 (TyFun [a6989586621679249584] b6989586621679249585 -> Type) -> Type))
data FoldlSym1 (l_a10nV :: TyFun b6989586621679249585 (TyFun a6989586621679249584 b6989586621679249585 -> Type) -> Type) (l_a10nU :: TyFun b6989586621679249585 (TyFun [a6989586621679249584] b6989586621679249585 -> Type))
data FoldlSym2 (l_a10nR :: TyFun b6989586621679249585 (TyFun a6989586621679249584 b6989586621679249585 -> Type) -> Type) (l_a10nS :: b6989586621679249585) (l_a10nQ :: TyFun [a6989586621679249584] b6989586621679249585)
type FoldlSym3 (t_a10nN :: TyFun b6989586621679249585 (TyFun a6989586621679249584 b6989586621679249585 -> Type) -> Type) (t_a10nO :: b6989586621679249585) (t_a10nP :: [a6989586621679249584]) = Foldl t_a10nN t_a10nO t_a10nP
data Foldl'Sym0 (l_a1XfB :: TyFun (TyFun b6989586621679472623 (TyFun a6989586621679472622 b6989586621679472623 -> Type) -> Type) (TyFun b6989586621679472623 (TyFun [a6989586621679472622] b6989586621679472623 -> Type) -> Type))
data Foldl'Sym1 (l_a1Xfz :: TyFun b6989586621679472623 (TyFun a6989586621679472622 b6989586621679472623 -> Type) -> Type) (l_a1Xfy :: TyFun b6989586621679472623 (TyFun [a6989586621679472622] b6989586621679472623 -> Type))
data Foldl'Sym2 (l_a1Xfv :: TyFun b6989586621679472623 (TyFun a6989586621679472622 b6989586621679472623 -> Type) -> Type) (l_a1Xfw :: b6989586621679472623) (l_a1Xfu :: TyFun [a6989586621679472622] b6989586621679472623)
type Foldl'Sym3 (t_a1Xfr :: TyFun b6989586621679472623 (TyFun a6989586621679472622 b6989586621679472623 -> Type) -> Type) (t_a1Xfs :: b6989586621679472623) (t_a1Xft :: [a6989586621679472622]) = Foldl' t_a1Xfr t_a1Xfs t_a1Xft
data Foldl1Sym0 (l_a1Xc1 :: TyFun (TyFun a6989586621679472621 (TyFun a6989586621679472621 a6989586621679472621 -> Type) -> Type) (TyFun [a6989586621679472621] a6989586621679472621 -> Type))
data Foldl1Sym1 (l_a1XbZ :: TyFun a6989586621679472621 (TyFun a6989586621679472621 a6989586621679472621 -> Type) -> Type) (l_a1XbY :: TyFun [a6989586621679472621] a6989586621679472621)
type Foldl1Sym2 (t_a1XbW :: TyFun a6989586621679472621 (TyFun a6989586621679472621 a6989586621679472621 -> Type) -> Type) (t_a1XbX :: [a6989586621679472621]) = Foldl1 t_a1XbW t_a1XbX
data Foldl1'Sym0 (l_a1XgS :: TyFun (TyFun a6989586621679472620 (TyFun a6989586621679472620 a6989586621679472620 -> Type) -> Type) (TyFun [a6989586621679472620] a6989586621679472620 -> Type))
data Foldl1'Sym1 (l_a1XgQ :: TyFun a6989586621679472620 (TyFun a6989586621679472620 a6989586621679472620 -> Type) -> Type) (l_a1XgP :: TyFun [a6989586621679472620] a6989586621679472620)
type Foldl1'Sym2 (t_a1XgN :: TyFun a6989586621679472620 (TyFun a6989586621679472620 a6989586621679472620 -> Type) -> Type) (t_a1XgO :: [a6989586621679472620]) = Foldl1' t_a1XgN t_a1XgO
data FoldrSym0 (l_a1aSG :: TyFun (TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (TyFun b6989586621679289775 (TyFun [a6989586621679289774] b6989586621679289775 -> Type) -> Type))
data FoldrSym1 (l_a1aSE :: TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (l_a1aSD :: TyFun b6989586621679289775 (TyFun [a6989586621679289774] b6989586621679289775 -> Type))
data FoldrSym2 (l_a1aSA :: TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (l_a1aSB :: b6989586621679289775) (l_a1aSz :: TyFun [a6989586621679289774] b6989586621679289775)
type FoldrSym3 (t_a1aSw :: TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (t_a1aSx :: b6989586621679289775) (t_a1aSy :: [a6989586621679289774]) = Foldr t_a1aSw t_a1aSx t_a1aSy
data Foldr1Sym0 (l_a1Xbo :: TyFun (TyFun a6989586621679472619 (TyFun a6989586621679472619 a6989586621679472619 -> Type) -> Type) (TyFun [a6989586621679472619] a6989586621679472619 -> Type))
data Foldr1Sym1 (l_a1Xbm :: TyFun a6989586621679472619 (TyFun a6989586621679472619 a6989586621679472619 -> Type) -> Type) (l_a1Xbl :: TyFun [a6989586621679472619] a6989586621679472619)
type Foldr1Sym2 (t_a1Xbj :: TyFun a6989586621679472619 (TyFun a6989586621679472619 a6989586621679472619 -> Type) -> Type) (t_a1Xbk :: [a6989586621679472619]) = Foldr1 t_a1Xbj t_a1Xbk
data ConcatSym0 (l_a1Xbf :: TyFun [[a6989586621679472618]] [a6989586621679472618])
type ConcatSym1 (t_a1Xbe :: [[a6989586621679472618]]) = Concat t_a1Xbe
data ConcatMapSym0 (l_a1Xb4 :: TyFun (TyFun a6989586621679472616 [b6989586621679472617] -> Type) (TyFun [a6989586621679472616] [b6989586621679472617] -> Type))
data ConcatMapSym1 (l_a1Xb2 :: TyFun a6989586621679472616 [b6989586621679472617] -> Type) (l_a1Xb1 :: TyFun [a6989586621679472616] [b6989586621679472617])
type ConcatMapSym2 (t_a1XaZ :: TyFun a6989586621679472616 [b6989586621679472617] -> Type) (t_a1Xb0 :: [a6989586621679472616]) = ConcatMap t_a1XaZ t_a1Xb0
data AndSym0 (l_a1XaU :: TyFun [Bool] Bool)
type AndSym1 (t_a1XaT :: [Bool]) = And t_a1XaT
data OrSym0 (l_a1XaO :: TyFun [Bool] Bool)
type OrSym1 (t_a1XaN :: [Bool]) = Or t_a1XaN
data Any_Sym0 (l_a1TKh :: TyFun (TyFun a6989586621679462399 Bool -> Type) (TyFun [a6989586621679462399] Bool -> Type))
data Any_Sym1 (l_a1TKf :: TyFun a6989586621679462399 Bool -> Type) (l_a1TKe :: TyFun [a6989586621679462399] Bool)
type Any_Sym2 (t_a1TKc :: TyFun a6989586621679462399 Bool -> Type) (t_a1TKd :: [a6989586621679462399]) = Any_ t_a1TKc t_a1TKd
data AllSym0 (l_a1XaD :: TyFun (TyFun a6989586621679472615 Bool -> Type) (TyFun [a6989586621679472615] Bool -> Type))
data AllSym1 (l_a1XaB :: TyFun a6989586621679472615 Bool -> Type) (l_a1XaA :: TyFun [a6989586621679472615] Bool)
type AllSym2 (t_a1Xay :: TyFun a6989586621679472615 Bool -> Type) (t_a1Xaz :: [a6989586621679472615]) = All t_a1Xay t_a1Xaz
data SumSym0 (l_a1WBG :: TyFun [a6989586621679472520] a6989586621679472520)
type SumSym1 (t_a1WBF :: [a6989586621679472520]) = Sum t_a1WBF
data ProductSym0 (l_a1WBi :: TyFun [a6989586621679472519] a6989586621679472519)
type ProductSym1 (t_a1WBh :: [a6989586621679472519]) = Product t_a1WBh
data MaximumSym0 (l_a1Xf0 :: TyFun [a6989586621679472529] a6989586621679472529)
type MaximumSym1 (t_a1XeZ :: [a6989586621679472529]) = Maximum t_a1XeZ
data MinimumSym0 (l_a1Xfe :: TyFun [a6989586621679472528] a6989586621679472528)
type MinimumSym1 (t_a1Xfd :: [a6989586621679472528]) = Minimum t_a1Xfd
data ScanlSym0 (l_a1Xa6 :: TyFun (TyFun b6989586621679472613 (TyFun a6989586621679472614 b6989586621679472613 -> Type) -> Type) (TyFun b6989586621679472613 (TyFun [a6989586621679472614] [b6989586621679472613] -> Type) -> Type))
data ScanlSym1 (l_a1Xa4 :: TyFun b6989586621679472613 (TyFun a6989586621679472614 b6989586621679472613 -> Type) -> Type) (l_a1Xa3 :: TyFun b6989586621679472613 (TyFun [a6989586621679472614] [b6989586621679472613] -> Type))
data ScanlSym2 (l_a1Xa0 :: TyFun b6989586621679472613 (TyFun a6989586621679472614 b6989586621679472613 -> Type) -> Type) (l_a1Xa1 :: b6989586621679472613) (l_a1X9Z :: TyFun [a6989586621679472614] [b6989586621679472613])
type ScanlSym3 (t_a1X9W :: TyFun b6989586621679472613 (TyFun a6989586621679472614 b6989586621679472613 -> Type) -> Type) (t_a1X9X :: b6989586621679472613) (t_a1X9Y :: [a6989586621679472614]) = Scanl t_a1X9W t_a1X9X t_a1X9Y
data Scanl1Sym0 (l_a1Xao :: TyFun (TyFun a6989586621679472612 (TyFun a6989586621679472612 a6989586621679472612 -> Type) -> Type) (TyFun [a6989586621679472612] [a6989586621679472612] -> Type))
data Scanl1Sym1 (l_a1Xam :: TyFun a6989586621679472612 (TyFun a6989586621679472612 a6989586621679472612 -> Type) -> Type) (l_a1Xal :: TyFun [a6989586621679472612] [a6989586621679472612])
type Scanl1Sym2 (t_a1Xaj :: TyFun a6989586621679472612 (TyFun a6989586621679472612 a6989586621679472612 -> Type) -> Type) (t_a1Xak :: [a6989586621679472612]) = Scanl1 t_a1Xaj t_a1Xak
data ScanrSym0 (l_a1X9l :: TyFun (TyFun a6989586621679472610 (TyFun b6989586621679472611 b6989586621679472611 -> Type) -> Type) (TyFun b6989586621679472611 (TyFun [a6989586621679472610] [b6989586621679472611] -> Type) -> Type))
data ScanrSym1 (l_a1X9j :: TyFun a6989586621679472610 (TyFun b6989586621679472611 b6989586621679472611 -> Type) -> Type) (l_a1X9i :: TyFun b6989586621679472611 (TyFun [a6989586621679472610] [b6989586621679472611] -> Type))
data ScanrSym2 (l_a1X9f :: TyFun a6989586621679472610 (TyFun b6989586621679472611 b6989586621679472611 -> Type) -> Type) (l_a1X9g :: b6989586621679472611) (l_a1X9e :: TyFun [a6989586621679472610] [b6989586621679472611])
type ScanrSym3 (t_a1X9b :: TyFun a6989586621679472610 (TyFun b6989586621679472611 b6989586621679472611 -> Type) -> Type) (t_a1X9c :: b6989586621679472611) (t_a1X9d :: [a6989586621679472610]) = Scanr t_a1X9b t_a1X9c t_a1X9d
data Scanr1Sym0 (l_a1X8f :: TyFun (TyFun a6989586621679472609 (TyFun a6989586621679472609 a6989586621679472609 -> Type) -> Type) (TyFun [a6989586621679472609] [a6989586621679472609] -> Type))
data Scanr1Sym1 (l_a1X8d :: TyFun a6989586621679472609 (TyFun a6989586621679472609 a6989586621679472609 -> Type) -> Type) (l_a1X8c :: TyFun [a6989586621679472609] [a6989586621679472609])
type Scanr1Sym2 (t_a1X8a :: TyFun a6989586621679472609 (TyFun a6989586621679472609 a6989586621679472609 -> Type) -> Type) (t_a1X8b :: [a6989586621679472609]) = Scanr1 t_a1X8a t_a1X8b
data MapAccumLSym0 (l_a1X5y :: TyFun (TyFun acc6989586621679472606 (TyFun x6989586621679472607 (acc6989586621679472606, y6989586621679472608) -> Type) -> Type) (TyFun acc6989586621679472606 (TyFun [x6989586621679472607] (acc6989586621679472606, [y6989586621679472608]) -> Type) -> Type))
data MapAccumLSym1 (l_a1X5w :: TyFun acc6989586621679472606 (TyFun x6989586621679472607 (acc6989586621679472606, y6989586621679472608) -> Type) -> Type) (l_a1X5v :: TyFun acc6989586621679472606 (TyFun [x6989586621679472607] (acc6989586621679472606, [y6989586621679472608]) -> Type))
data MapAccumLSym2 (l_a1X5s :: TyFun acc6989586621679472606 (TyFun x6989586621679472607 (acc6989586621679472606, y6989586621679472608) -> Type) -> Type) (l_a1X5t :: acc6989586621679472606) (l_a1X5r :: TyFun [x6989586621679472607] (acc6989586621679472606, [y6989586621679472608]))
type MapAccumLSym3 (t_a1X5o :: TyFun acc6989586621679472606 (TyFun x6989586621679472607 (acc6989586621679472606, y6989586621679472608) -> Type) -> Type) (t_a1X5p :: acc6989586621679472606) (t_a1X5q :: [x6989586621679472607]) = MapAccumL t_a1X5o t_a1X5p t_a1X5q
data MapAccumRSym0 (l_a1X2M :: TyFun (TyFun acc6989586621679472603 (TyFun x6989586621679472604 (acc6989586621679472603, y6989586621679472605) -> Type) -> Type) (TyFun acc6989586621679472603 (TyFun [x6989586621679472604] (acc6989586621679472603, [y6989586621679472605]) -> Type) -> Type))
data MapAccumRSym1 (l_a1X2K :: TyFun acc6989586621679472603 (TyFun x6989586621679472604 (acc6989586621679472603, y6989586621679472605) -> Type) -> Type) (l_a1X2J :: TyFun acc6989586621679472603 (TyFun [x6989586621679472604] (acc6989586621679472603, [y6989586621679472605]) -> Type))
data MapAccumRSym2 (l_a1X2G :: TyFun acc6989586621679472603 (TyFun x6989586621679472604 (acc6989586621679472603, y6989586621679472605) -> Type) -> Type) (l_a1X2H :: acc6989586621679472603) (l_a1X2F :: TyFun [x6989586621679472604] (acc6989586621679472603, [y6989586621679472605]))
type MapAccumRSym3 (t_a1X2C :: TyFun acc6989586621679472603 (TyFun x6989586621679472604 (acc6989586621679472603, y6989586621679472605) -> Type) -> Type) (t_a1X2D :: acc6989586621679472603) (t_a1X2E :: [x6989586621679472604]) = MapAccumR t_a1X2C t_a1X2D t_a1X2E
data ReplicateSym0 (l_a1WAS :: TyFun Nat (TyFun a6989586621679472517 [a6989586621679472517] -> Type))
data ReplicateSym1 (l_a1WAQ :: Nat) (l_a1WAP :: TyFun a6989586621679472517 [a6989586621679472517])
type ReplicateSym2 (t_a1WAN :: Nat) (t_a1WAO :: a6989586621679472517) = Replicate t_a1WAN t_a1WAO
data UnfoldrSym0 (l_a1X2j :: TyFun (TyFun b6989586621679472601 (Maybe (a6989586621679472602, b6989586621679472601)) -> Type) (TyFun b6989586621679472601 [a6989586621679472602] -> Type))
data UnfoldrSym1 (l_a1X2h :: TyFun b6989586621679472601 (Maybe (a6989586621679472602, b6989586621679472601)) -> Type) (l_a1X2g :: TyFun b6989586621679472601 [a6989586621679472602])
type UnfoldrSym2 (t_a1X2e :: TyFun b6989586621679472601 (Maybe (a6989586621679472602, b6989586621679472601)) -> Type) (t_a1X2f :: b6989586621679472601) = Unfoldr t_a1X2e t_a1X2f
data TakeSym0 (l_a1WE3 :: TyFun Nat (TyFun [a6989586621679472533] [a6989586621679472533] -> Type))
data TakeSym1 (l_a1WE1 :: Nat) (l_a1WE0 :: TyFun [a6989586621679472533] [a6989586621679472533])
type TakeSym2 (t_a1WDY :: Nat) (t_a1WDZ :: [a6989586621679472533]) = Take t_a1WDY t_a1WDZ
data DropSym0 (l_a1WDy :: TyFun Nat (TyFun [a6989586621679472532] [a6989586621679472532] -> Type))
data DropSym1 (l_a1WDw :: Nat) (l_a1WDv :: TyFun [a6989586621679472532] [a6989586621679472532])
type DropSym2 (t_a1WDt :: Nat) (t_a1WDu :: [a6989586621679472532]) = Drop t_a1WDt t_a1WDu
data SplitAtSym0 (l_a1WEy :: TyFun Nat (TyFun [a6989586621679472531] ([a6989586621679472531], [a6989586621679472531]) -> Type))
data SplitAtSym1 (l_a1WEw :: Nat) (l_a1WEv :: TyFun [a6989586621679472531] ([a6989586621679472531], [a6989586621679472531]))
type SplitAtSym2 (t_a1WEt :: Nat) (t_a1WEu :: [a6989586621679472531]) = SplitAt t_a1WEt t_a1WEu
data TakeWhileSym0 (l_a1WJY :: TyFun (TyFun a6989586621679472538 Bool -> Type) (TyFun [a6989586621679472538] [a6989586621679472538] -> Type))
data TakeWhileSym1 (l_a1WJW :: TyFun a6989586621679472538 Bool -> Type) (l_a1WJV :: TyFun [a6989586621679472538] [a6989586621679472538])
type TakeWhileSym2 (t_a1WJT :: TyFun a6989586621679472538 Bool -> Type) (t_a1WJU :: [a6989586621679472538]) = TakeWhile t_a1WJT t_a1WJU
data DropWhileSym0 (l_a1WJg :: TyFun (TyFun a6989586621679472537 Bool -> Type) (TyFun [a6989586621679472537] [a6989586621679472537] -> Type))
data DropWhileSym1 (l_a1WJe :: TyFun a6989586621679472537 Bool -> Type) (l_a1WJd :: TyFun [a6989586621679472537] [a6989586621679472537])
type DropWhileSym2 (t_a1WJb :: TyFun a6989586621679472537 Bool -> Type) (t_a1WJc :: [a6989586621679472537]) = DropWhile t_a1WJb t_a1WJc
data DropWhileEndSym0 (l_a1Xp3 :: TyFun (TyFun a6989586621679472536 Bool -> Type) (TyFun [a6989586621679472536] [a6989586621679472536] -> Type))
data DropWhileEndSym1 (l_a1Xp1 :: TyFun a6989586621679472536 Bool -> Type) (l_a1Xp0 :: TyFun [a6989586621679472536] [a6989586621679472536])
type DropWhileEndSym2 (t_a1XoY :: TyFun a6989586621679472536 Bool -> Type) (t_a1XoZ :: [a6989586621679472536]) = DropWhileEnd t_a1XoY t_a1XoZ
data SpanSym0 (l_a1WGn :: TyFun (TyFun a6989586621679472535 Bool -> Type) (TyFun [a6989586621679472535] ([a6989586621679472535], [a6989586621679472535]) -> Type))
data SpanSym1 (l_a1WGl :: TyFun a6989586621679472535 Bool -> Type) (l_a1WGk :: TyFun [a6989586621679472535] ([a6989586621679472535], [a6989586621679472535]))
type SpanSym2 (t_a1WGi :: TyFun a6989586621679472535 Bool -> Type) (t_a1WGj :: [a6989586621679472535]) = Span t_a1WGi t_a1WGj
data BreakSym0 (l_a1WEJ :: TyFun (TyFun a6989586621679472534 Bool -> Type) (TyFun [a6989586621679472534] ([a6989586621679472534], [a6989586621679472534]) -> Type))
data BreakSym1 (l_a1WEH :: TyFun a6989586621679472534 Bool -> Type) (l_a1WEG :: TyFun [a6989586621679472534] ([a6989586621679472534], [a6989586621679472534]))
type BreakSym2 (t_a1WEE :: TyFun a6989586621679472534 Bool -> Type) (t_a1WEF :: [a6989586621679472534]) = Break t_a1WEE t_a1WEF
data GroupSym0 (l_a1WJ7 :: TyFun [a6989586621679472530] [[a6989586621679472530]])
type GroupSym1 (t_a1WJ6 :: [a6989586621679472530]) = Group t_a1WJ6
data InitsSym0 (l_a1X25 :: TyFun [a6989586621679472600] [[a6989586621679472600]])
type InitsSym1 (t_a1X24 :: [a6989586621679472600]) = Inits t_a1X24
data TailsSym0 (l_a1X1I :: TyFun [a6989586621679472599] [[a6989586621679472599]])
type TailsSym1 (t_a1X1H :: [a6989586621679472599]) = Tails t_a1X1H
data IsPrefixOfSym0 (l_a1X1n :: TyFun [a6989586621679472598] (TyFun [a6989586621679472598] Bool -> Type))
data IsPrefixOfSym1 (l_a1X1l :: [a6989586621679472598]) (l_a1X1k :: TyFun [a6989586621679472598] Bool)
type IsPrefixOfSym2 (t_a1X1i :: [a6989586621679472598]) (t_a1X1j :: [a6989586621679472598]) = IsPrefixOf t_a1X1i t_a1X1j
data IsSuffixOfSym0 (l_a1XoI :: TyFun [a6989586621679472597] (TyFun [a6989586621679472597] Bool -> Type))
data IsSuffixOfSym1 (l_a1XoG :: [a6989586621679472597]) (l_a1XoF :: TyFun [a6989586621679472597] Bool)
type IsSuffixOfSym2 (t_a1XoD :: [a6989586621679472597]) (t_a1XoE :: [a6989586621679472597]) = IsSuffixOf t_a1XoD t_a1XoE
data IsInfixOfSym0 (l_a1X1Y :: TyFun [a6989586621679472596] (TyFun [a6989586621679472596] Bool -> Type))
data IsInfixOfSym1 (l_a1X1W :: [a6989586621679472596]) (l_a1X1V :: TyFun [a6989586621679472596] Bool)
type IsInfixOfSym2 (t_a1X1T :: [a6989586621679472596]) (t_a1X1U :: [a6989586621679472596]) = IsInfixOf t_a1X1T t_a1X1U
data ElemSym0 (l_a1X0m :: TyFun a6989586621679472595 (TyFun [a6989586621679472595] Bool -> Type))
data ElemSym1 (l_a1X0k :: a6989586621679472595) (l_a1X0j :: TyFun [a6989586621679472595] Bool)
type ElemSym2 (t_a1X0h :: a6989586621679472595) (t_a1X0i :: [a6989586621679472595]) = Elem t_a1X0h t_a1X0i
data NotElemSym0 (l_a1X07 :: TyFun a6989586621679472594 (TyFun [a6989586621679472594] Bool -> Type))
data NotElemSym1 (l_a1X05 :: a6989586621679472594) (l_a1X04 :: TyFun [a6989586621679472594] Bool)
type NotElemSym2 (t_a1X02 :: a6989586621679472594) (t_a1X03 :: [a6989586621679472594]) = NotElem t_a1X02 t_a1X03
data LookupSym0 (l_a1WCY :: TyFun a6989586621679472523 (TyFun [(a6989586621679472523, b6989586621679472524)] (Maybe b6989586621679472524) -> Type))
data LookupSym1 (l_a1WCW :: a6989586621679472523) (l_a1WCV :: TyFun [(a6989586621679472523, b6989586621679472524)] (Maybe b6989586621679472524))
type LookupSym2 (t_a1WCT :: a6989586621679472523) (t_a1WCU :: [(a6989586621679472523, b6989586621679472524)]) = Lookup t_a1WCT t_a1WCU
data FindSym0 (l_a1WKW :: TyFun (TyFun a6989586621679472545 Bool -> Type) (TyFun [a6989586621679472545] (Maybe a6989586621679472545) -> Type))
data FindSym1 (l_a1WKU :: TyFun a6989586621679472545 Bool -> Type) (l_a1WKT :: TyFun [a6989586621679472545] (Maybe a6989586621679472545))
type FindSym2 (t_a1WKR :: TyFun a6989586621679472545 Bool -> Type) (t_a1WKS :: [a6989586621679472545]) = Find t_a1WKR t_a1WKS
data FilterSym0 (l_a1WKt :: TyFun (TyFun a6989586621679472546 Bool -> Type) (TyFun [a6989586621679472546] [a6989586621679472546] -> Type))
data FilterSym1 (l_a1WKr :: TyFun a6989586621679472546 Bool -> Type) (l_a1WKq :: TyFun [a6989586621679472546] [a6989586621679472546])
type FilterSym2 (t_a1WKo :: TyFun a6989586621679472546 Bool -> Type) (t_a1WKp :: [a6989586621679472546]) = Filter t_a1WKo t_a1WKp
data PartitionSym0 (l_a1WCN :: TyFun (TyFun a6989586621679472522 Bool -> Type) (TyFun [a6989586621679472522] ([a6989586621679472522], [a6989586621679472522]) -> Type))
data PartitionSym1 (l_a1WCL :: TyFun a6989586621679472522 Bool -> Type) (l_a1WCK :: TyFun [a6989586621679472522] ([a6989586621679472522], [a6989586621679472522]))
type PartitionSym2 (t_a1WCI :: TyFun a6989586621679472522 Bool -> Type) (t_a1WCJ :: [a6989586621679472522]) = Partition t_a1WCI t_a1WCJ
data (:!!$) (l_a1WAn :: TyFun [a6989586621679472515] (TyFun Nat a6989586621679472515 -> Type))
data (:!!$$) (l_a1WAl :: [a6989586621679472515]) (l_a1WAk :: TyFun Nat a6989586621679472515)
type (:!!$$$) (t_a1WAi :: [a6989586621679472515]) (t_a1WAj :: Nat) = (:!!) t_a1WAi t_a1WAj
data ElemIndexSym0 (l_a1WZU :: TyFun a6989586621679472544 (TyFun [a6989586621679472544] (Maybe Nat) -> Type))
data ElemIndexSym1 (l_a1WZS :: a6989586621679472544) (l_a1WZR :: TyFun [a6989586621679472544] (Maybe Nat))
type ElemIndexSym2 (t_a1WZP :: a6989586621679472544) (t_a1WZQ :: [a6989586621679472544]) = ElemIndex t_a1WZP t_a1WZQ
data ElemIndicesSym0 (l_a1WZu :: TyFun a6989586621679472543 (TyFun [a6989586621679472543] [Nat] -> Type))
data ElemIndicesSym1 (l_a1WZs :: a6989586621679472543) (l_a1WZr :: TyFun [a6989586621679472543] [Nat])
type ElemIndicesSym2 (t_a1WZp :: a6989586621679472543) (t_a1WZq :: [a6989586621679472543]) = ElemIndices t_a1WZp t_a1WZq
data FindIndexSym0 (l_a1WZH :: TyFun (TyFun a6989586621679472542 Bool -> Type) (TyFun [a6989586621679472542] (Maybe Nat) -> Type))
data FindIndexSym1 (l_a1WZF :: TyFun a6989586621679472542 Bool -> Type) (l_a1WZE :: TyFun [a6989586621679472542] (Maybe Nat))
type FindIndexSym2 (t_a1WZC :: TyFun a6989586621679472542 Bool -> Type) (t_a1WZD :: [a6989586621679472542]) = FindIndex t_a1WZC t_a1WZD
data FindIndicesSym0 (l_a1WYt :: TyFun (TyFun a6989586621679472541 Bool -> Type) (TyFun [a6989586621679472541] [Nat] -> Type))
data FindIndicesSym1 (l_a1WYr :: TyFun a6989586621679472541 Bool -> Type) (l_a1WYq :: TyFun [a6989586621679472541] [Nat])
type FindIndicesSym2 (t_a1WYo :: TyFun a6989586621679472541 Bool -> Type) (t_a1WYp :: [a6989586621679472541]) = FindIndices t_a1WYo t_a1WYp
data ZipSym0 (l_a1WY4 :: TyFun [a6989586621679472592] (TyFun [b6989586621679472593] [(a6989586621679472592, b6989586621679472593)] -> Type))
data ZipSym1 (l_a1WY2 :: [a6989586621679472592]) (l_a1WY1 :: TyFun [b6989586621679472593] [(a6989586621679472592, b6989586621679472593)])
type ZipSym2 (t_a1WXZ :: [a6989586621679472592]) (t_a1WY0 :: [b6989586621679472593]) = Zip t_a1WXZ t_a1WY0
data Zip3Sym0 (l_a1WWW :: TyFun [a6989586621679472589] (TyFun [b6989586621679472590] (TyFun [c6989586621679472591] [(a6989586621679472589, b6989586621679472590, c6989586621679472591)] -> Type) -> Type))
data Zip3Sym1 (l_a1WWU :: [a6989586621679472589]) (l_a1WWT :: TyFun [b6989586621679472590] (TyFun [c6989586621679472591] [(a6989586621679472589, b6989586621679472590, c6989586621679472591)] -> Type))
data Zip3Sym2 (l_a1WWQ :: [a6989586621679472589]) (l_a1WWR :: [b6989586621679472590]) (l_a1WWP :: TyFun [c6989586621679472591] [(a6989586621679472589, b6989586621679472590, c6989586621679472591)])
type Zip3Sym3 (t_a1WWM :: [a6989586621679472589]) (t_a1WWN :: [b6989586621679472590]) (t_a1WWO :: [c6989586621679472591]) = Zip3 t_a1WWM t_a1WWN t_a1WWO
data ZipWithSym0 (l_a1WWh :: TyFun (TyFun a6989586621679472586 (TyFun b6989586621679472587 c6989586621679472588 -> Type) -> Type) (TyFun [a6989586621679472586] (TyFun [b6989586621679472587] [c6989586621679472588] -> Type) -> Type))
data ZipWithSym1 (l_a1WWf :: TyFun a6989586621679472586 (TyFun b6989586621679472587 c6989586621679472588 -> Type) -> Type) (l_a1WWe :: TyFun [a6989586621679472586] (TyFun [b6989586621679472587] [c6989586621679472588] -> Type))
data ZipWithSym2 (l_a1WWb :: TyFun a6989586621679472586 (TyFun b6989586621679472587 c6989586621679472588 -> Type) -> Type) (l_a1WWc :: [a6989586621679472586]) (l_a1WWa :: TyFun [b6989586621679472587] [c6989586621679472588])
type ZipWithSym3 (t_a1WW7 :: TyFun a6989586621679472586 (TyFun b6989586621679472587 c6989586621679472588 -> Type) -> Type) (t_a1WW8 :: [a6989586621679472586]) (t_a1WW9 :: [b6989586621679472587]) = ZipWith t_a1WW7 t_a1WW8 t_a1WW9
data ZipWith3Sym0 (l_a1WUH :: TyFun (TyFun a6989586621679472582 (TyFun b6989586621679472583 (TyFun c6989586621679472584 d6989586621679472585 -> Type) -> Type) -> Type) (TyFun [a6989586621679472582] (TyFun [b6989586621679472583] (TyFun [c6989586621679472584] [d6989586621679472585] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1WUF :: TyFun a6989586621679472582 (TyFun b6989586621679472583 (TyFun c6989586621679472584 d6989586621679472585 -> Type) -> Type) -> Type) (l_a1WUE :: TyFun [a6989586621679472582] (TyFun [b6989586621679472583] (TyFun [c6989586621679472584] [d6989586621679472585] -> Type) -> Type))
data ZipWith3Sym2 (l_a1WUB :: TyFun a6989586621679472582 (TyFun b6989586621679472583 (TyFun c6989586621679472584 d6989586621679472585 -> Type) -> Type) -> Type) (l_a1WUC :: [a6989586621679472582]) (l_a1WUA :: TyFun [b6989586621679472583] (TyFun [c6989586621679472584] [d6989586621679472585] -> Type))
data ZipWith3Sym3 (l_a1WUw :: TyFun a6989586621679472582 (TyFun b6989586621679472583 (TyFun c6989586621679472584 d6989586621679472585 -> Type) -> Type) -> Type) (l_a1WUx :: [a6989586621679472582]) (l_a1WUy :: [b6989586621679472583]) (l_a1WUv :: TyFun [c6989586621679472584] [d6989586621679472585])
type ZipWith3Sym4 (t_a1WUr :: TyFun a6989586621679472582 (TyFun b6989586621679472583 (TyFun c6989586621679472584 d6989586621679472585 -> Type) -> Type) -> Type) (t_a1WUs :: [a6989586621679472582]) (t_a1WUt :: [b6989586621679472583]) (t_a1WUu :: [c6989586621679472584]) = ZipWith3 t_a1WUr t_a1WUs t_a1WUt t_a1WUu
data UnzipSym0 (l_a1WTY :: TyFun [(a6989586621679472580, b6989586621679472581)] ([a6989586621679472580], [b6989586621679472581]))
type UnzipSym1 (t_a1WTX :: [(a6989586621679472580, b6989586621679472581)]) = Unzip t_a1WTX
data Unzip3Sym0 (l_a1WTs :: TyFun [(a6989586621679472577, b6989586621679472578, c6989586621679472579)] ([a6989586621679472577], [b6989586621679472578], [c6989586621679472579]))
type Unzip3Sym1 (t_a1WTr :: [(a6989586621679472577, b6989586621679472578, c6989586621679472579)]) = Unzip3 t_a1WTr
data Unzip4Sym0 (l_a1WSU :: TyFun [(a6989586621679472573, b6989586621679472574, c6989586621679472575, d6989586621679472576)] ([a6989586621679472573], [b6989586621679472574], [c6989586621679472575], [d6989586621679472576]))
type Unzip4Sym1 (t_a1WST :: [(a6989586621679472573, b6989586621679472574, c6989586621679472575, d6989586621679472576)]) = Unzip4 t_a1WST
data Unzip5Sym0 (l_a1WSk :: TyFun [(a6989586621679472568, b6989586621679472569, c6989586621679472570, d6989586621679472571, e6989586621679472572)] ([a6989586621679472568], [b6989586621679472569], [c6989586621679472570], [d6989586621679472571], [e6989586621679472572]))
type Unzip5Sym1 (t_a1WSj :: [(a6989586621679472568, b6989586621679472569, c6989586621679472570, d6989586621679472571, e6989586621679472572)]) = Unzip5 t_a1WSj
data Unzip6Sym0 (l_a1WRI :: TyFun [(a6989586621679472562, b6989586621679472563, c6989586621679472564, d6989586621679472565, e6989586621679472566, f6989586621679472567)] ([a6989586621679472562], [b6989586621679472563], [c6989586621679472564], [d6989586621679472565], [e6989586621679472566], [f6989586621679472567]))
type Unzip6Sym1 (t_a1WRH :: [(a6989586621679472562, b6989586621679472563, c6989586621679472564, d6989586621679472565, e6989586621679472566, f6989586621679472567)]) = Unzip6 t_a1WRH
data Unzip7Sym0 (l_a1WR4 :: TyFun [(a6989586621679472555, b6989586621679472556, c6989586621679472557, d6989586621679472558, e6989586621679472559, f6989586621679472560, g6989586621679472561)] ([a6989586621679472555], [b6989586621679472556], [c6989586621679472557], [d6989586621679472558], [e6989586621679472559], [f6989586621679472560], [g6989586621679472561]))
type Unzip7Sym1 (t_a1WR3 :: [(a6989586621679472555, b6989586621679472556, c6989586621679472557, d6989586621679472558, e6989586621679472559, f6989586621679472560, g6989586621679472561)]) = Unzip7 t_a1WR3
data NubSym0 (l_a1X0x :: TyFun [a6989586621679472514] [a6989586621679472514])
type NubSym1 (t_a1X0w :: [a6989586621679472514]) = Nub t_a1X0w
data DeleteSym0 (l_a1WQI :: TyFun a6989586621679472554 (TyFun [a6989586621679472554] [a6989586621679472554] -> Type))
data DeleteSym1 (l_a1WQG :: a6989586621679472554) (l_a1WQF :: TyFun [a6989586621679472554] [a6989586621679472554])
type DeleteSym2 (t_a1WQD :: a6989586621679472554) (t_a1WQE :: [a6989586621679472554]) = Delete t_a1WQD t_a1WQE
data (:\\$) (l_a1WQX :: TyFun [a6989586621679472553] (TyFun [a6989586621679472553] [a6989586621679472553] -> Type))
data (:\\$$) (l_a1WQV :: [a6989586621679472553]) (l_a1WQU :: TyFun [a6989586621679472553] [a6989586621679472553])
type (:\\$$$) (t_a1WQS :: [a6989586621679472553]) (t_a1WQT :: [a6989586621679472553]) = (:\\) t_a1WQS t_a1WQT
data UnionSym0 (l_a1WQt :: TyFun [a6989586621679472510] (TyFun [a6989586621679472510] [a6989586621679472510] -> Type))
data UnionSym1 (l_a1WQr :: [a6989586621679472510]) (l_a1WQq :: TyFun [a6989586621679472510] [a6989586621679472510])
type UnionSym2 (t_a1WQo :: [a6989586621679472510]) (t_a1WQp :: [a6989586621679472510]) = Union t_a1WQo t_a1WQp
data IntersectSym0 (l_a1WNi :: TyFun [a6989586621679472540] (TyFun [a6989586621679472540] [a6989586621679472540] -> Type))
data IntersectSym1 (l_a1WNg :: [a6989586621679472540]) (l_a1WNf :: TyFun [a6989586621679472540] [a6989586621679472540])
type IntersectSym2 (t_a1WNd :: [a6989586621679472540]) (t_a1WNe :: [a6989586621679472540]) = Intersect t_a1WNd t_a1WNe
data InsertSym0 (l_a1WOv :: TyFun a6989586621679472527 (TyFun [a6989586621679472527] [a6989586621679472527] -> Type))
data InsertSym1 (l_a1WOt :: a6989586621679472527) (l_a1WOs :: TyFun [a6989586621679472527] [a6989586621679472527])
type InsertSym2 (t_a1WOq :: a6989586621679472527) (t_a1WOr :: [a6989586621679472527]) = Insert t_a1WOq t_a1WOr
data SortSym0 (l_a1WOR :: TyFun [a6989586621679472526] [a6989586621679472526])
type SortSym1 (t_a1WOQ :: [a6989586621679472526]) = Sort t_a1WOQ
data NubBySym0 (l_a1Wzi :: TyFun (TyFun a6989586621679472513 (TyFun a6989586621679472513 Bool -> Type) -> Type) (TyFun [a6989586621679472513] [a6989586621679472513] -> Type))
data NubBySym1 (l_a1Wzg :: TyFun a6989586621679472513 (TyFun a6989586621679472513 Bool -> Type) -> Type) (l_a1Wzf :: TyFun [a6989586621679472513] [a6989586621679472513])
type NubBySym2 (t_a1Wzd :: TyFun a6989586621679472513 (TyFun a6989586621679472513 Bool -> Type) -> Type) (t_a1Wze :: [a6989586621679472513]) = NubBy t_a1Wzd t_a1Wze
data DeleteBySym0 (l_a1WP5 :: TyFun (TyFun a6989586621679472552 (TyFun a6989586621679472552 Bool -> Type) -> Type) (TyFun a6989586621679472552 (TyFun [a6989586621679472552] [a6989586621679472552] -> Type) -> Type))
data DeleteBySym1 (l_a1WP3 :: TyFun a6989586621679472552 (TyFun a6989586621679472552 Bool -> Type) -> Type) (l_a1WP2 :: TyFun a6989586621679472552 (TyFun [a6989586621679472552] [a6989586621679472552] -> Type))
data DeleteBySym2 (l_a1WOZ :: TyFun a6989586621679472552 (TyFun a6989586621679472552 Bool -> Type) -> Type) (l_a1WP0 :: a6989586621679472552) (l_a1WOY :: TyFun [a6989586621679472552] [a6989586621679472552])
type DeleteBySym3 (t_a1WOV :: TyFun a6989586621679472552 (TyFun a6989586621679472552 Bool -> Type) -> Type) (t_a1WOW :: a6989586621679472552) (t_a1WOX :: [a6989586621679472552]) = DeleteBy t_a1WOV t_a1WOW t_a1WOX
data DeleteFirstsBySym0 (l_a1WPQ :: TyFun (TyFun a6989586621679472551 (TyFun a6989586621679472551 Bool -> Type) -> Type) (TyFun [a6989586621679472551] (TyFun [a6989586621679472551] [a6989586621679472551] -> Type) -> Type))
data DeleteFirstsBySym1 (l_a1WPO :: TyFun a6989586621679472551 (TyFun a6989586621679472551 Bool -> Type) -> Type) (l_a1WPN :: TyFun [a6989586621679472551] (TyFun [a6989586621679472551] [a6989586621679472551] -> Type))
data DeleteFirstsBySym2 (l_a1WPK :: TyFun a6989586621679472551 (TyFun a6989586621679472551 Bool -> Type) -> Type) (l_a1WPL :: [a6989586621679472551]) (l_a1WPJ :: TyFun [a6989586621679472551] [a6989586621679472551])
type DeleteFirstsBySym3 (t_a1WPG :: TyFun a6989586621679472551 (TyFun a6989586621679472551 Bool -> Type) -> Type) (t_a1WPH :: [a6989586621679472551]) (t_a1WPI :: [a6989586621679472551]) = DeleteFirstsBy t_a1WPG t_a1WPH t_a1WPI
data UnionBySym0 (l_a1WQc :: TyFun (TyFun a6989586621679472511 (TyFun a6989586621679472511 Bool -> Type) -> Type) (TyFun [a6989586621679472511] (TyFun [a6989586621679472511] [a6989586621679472511] -> Type) -> Type))
data UnionBySym1 (l_a1WQa :: TyFun a6989586621679472511 (TyFun a6989586621679472511 Bool -> Type) -> Type) (l_a1WQ9 :: TyFun [a6989586621679472511] (TyFun [a6989586621679472511] [a6989586621679472511] -> Type))
data UnionBySym2 (l_a1WQ6 :: TyFun a6989586621679472511 (TyFun a6989586621679472511 Bool -> Type) -> Type) (l_a1WQ7 :: [a6989586621679472511]) (l_a1WQ5 :: TyFun [a6989586621679472511] [a6989586621679472511])
type UnionBySym3 (t_a1WQ2 :: TyFun a6989586621679472511 (TyFun a6989586621679472511 Bool -> Type) -> Type) (t_a1WQ3 :: [a6989586621679472511]) (t_a1WQ4 :: [a6989586621679472511]) = UnionBy t_a1WQ2 t_a1WQ3 t_a1WQ4
data IntersectBySym0 (l_a1WLe :: TyFun (TyFun a6989586621679472539 (TyFun a6989586621679472539 Bool -> Type) -> Type) (TyFun [a6989586621679472539] (TyFun [a6989586621679472539] [a6989586621679472539] -> Type) -> Type))
data IntersectBySym1 (l_a1WLc :: TyFun a6989586621679472539 (TyFun a6989586621679472539 Bool -> Type) -> Type) (l_a1WLb :: TyFun [a6989586621679472539] (TyFun [a6989586621679472539] [a6989586621679472539] -> Type))
data IntersectBySym2 (l_a1WL8 :: TyFun a6989586621679472539 (TyFun a6989586621679472539 Bool -> Type) -> Type) (l_a1WL9 :: [a6989586621679472539]) (l_a1WL7 :: TyFun [a6989586621679472539] [a6989586621679472539])
type IntersectBySym3 (t_a1WL4 :: TyFun a6989586621679472539 (TyFun a6989586621679472539 Bool -> Type) -> Type) (t_a1WL5 :: [a6989586621679472539]) (t_a1WL6 :: [a6989586621679472539]) = IntersectBy t_a1WL4 t_a1WL5 t_a1WL6
data GroupBySym0 (l_a1WI1 :: TyFun (TyFun a6989586621679472525 (TyFun a6989586621679472525 Bool -> Type) -> Type) (TyFun [a6989586621679472525] [[a6989586621679472525]] -> Type))
data GroupBySym1 (l_a1WHZ :: TyFun a6989586621679472525 (TyFun a6989586621679472525 Bool -> Type) -> Type) (l_a1WHY :: TyFun [a6989586621679472525] [[a6989586621679472525]])
type GroupBySym2 (t_a1WHW :: TyFun a6989586621679472525 (TyFun a6989586621679472525 Bool -> Type) -> Type) (t_a1WHX :: [a6989586621679472525]) = GroupBy t_a1WHW t_a1WHX
data SortBySym0 (l_a1WOG :: TyFun (TyFun a6989586621679472550 (TyFun a6989586621679472550 Ordering -> Type) -> Type) (TyFun [a6989586621679472550] [a6989586621679472550] -> Type))
data SortBySym1 (l_a1WOE :: TyFun a6989586621679472550 (TyFun a6989586621679472550 Ordering -> Type) -> Type) (l_a1WOD :: TyFun [a6989586621679472550] [a6989586621679472550])
type SortBySym2 (t_a1WOB :: TyFun a6989586621679472550 (TyFun a6989586621679472550 Ordering -> Type) -> Type) (t_a1WOC :: [a6989586621679472550]) = SortBy t_a1WOB t_a1WOC
data InsertBySym0 (l_a1WNy :: TyFun (TyFun a6989586621679472549 (TyFun a6989586621679472549 Ordering -> Type) -> Type) (TyFun a6989586621679472549 (TyFun [a6989586621679472549] [a6989586621679472549] -> Type) -> Type))
data InsertBySym1 (l_a1WNw :: TyFun a6989586621679472549 (TyFun a6989586621679472549 Ordering -> Type) -> Type) (l_a1WNv :: TyFun a6989586621679472549 (TyFun [a6989586621679472549] [a6989586621679472549] -> Type))
data InsertBySym2 (l_a1WNs :: TyFun a6989586621679472549 (TyFun a6989586621679472549 Ordering -> Type) -> Type) (l_a1WNt :: a6989586621679472549) (l_a1WNr :: TyFun [a6989586621679472549] [a6989586621679472549])
type InsertBySym3 (t_a1WNo :: TyFun a6989586621679472549 (TyFun a6989586621679472549 Ordering -> Type) -> Type) (t_a1WNp :: a6989586621679472549) (t_a1WNq :: [a6989586621679472549]) = InsertBy t_a1WNo t_a1WNp t_a1WNq
data MaximumBySym0 (l_a1Xcg :: TyFun (TyFun a6989586621679472548 (TyFun a6989586621679472548 Ordering -> Type) -> Type) (TyFun [a6989586621679472548] a6989586621679472548 -> Type))
data MaximumBySym1 (l_a1Xce :: TyFun a6989586621679472548 (TyFun a6989586621679472548 Ordering -> Type) -> Type) (l_a1Xcd :: TyFun [a6989586621679472548] a6989586621679472548)
type MaximumBySym2 (t_a1Xcb :: TyFun a6989586621679472548 (TyFun a6989586621679472548 Ordering -> Type) -> Type) (t_a1Xcc :: [a6989586621679472548]) = MaximumBy t_a1Xcb t_a1Xcc
data MinimumBySym0 (l_a1XdF :: TyFun (TyFun a6989586621679472547 (TyFun a6989586621679472547 Ordering -> Type) -> Type) (TyFun [a6989586621679472547] a6989586621679472547 -> Type))
data MinimumBySym1 (l_a1XdD :: TyFun a6989586621679472547 (TyFun a6989586621679472547 Ordering -> Type) -> Type) (l_a1XdC :: TyFun [a6989586621679472547] a6989586621679472547)
type MinimumBySym2 (t_a1XdA :: TyFun a6989586621679472547 (TyFun a6989586621679472547 Ordering -> Type) -> Type) (t_a1XdB :: [a6989586621679472547]) = MinimumBy t_a1XdA t_a1XdB
data GenericLengthSym0 (l_a1WyH :: TyFun [a6989586621679472509] i6989586621679472508)
type GenericLengthSym1 (t_a1WyG :: [a6989586621679472509]) = GenericLength t_a1WyG
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.Let6989586621679476481Scrutinee_6989586621679473153Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476481Scrutinee_6989586621679473153Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476481Scrutinee_6989586621679473153Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476481Scrutinee_6989586621679473153Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679476477Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679476477Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679476477Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679476477Sym3
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.Let6989586621679475977PermsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475977PermsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475977PermsSym1
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.Let6989586621679475508Scrutinee_6989586621679473087Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475508Scrutinee_6989586621679473087Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475508Scrutinee_6989586621679473087Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475508Scrutinee_6989586621679473087Sym3
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.Let6989586621679475461Scrutinee_6989586621679473089Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475461Scrutinee_6989586621679473089Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475461Scrutinee_6989586621679473089Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475461Scrutinee_6989586621679473089Sym3
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.Let6989586621679475273X_6989586621679475280Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273X_6989586621679475280Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273X_6989586621679475280Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273X_6989586621679475280Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273S''Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273S''Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273S''Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273S''Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273YsSym3
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.Let6989586621679475101X_6989586621679475108Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101X_6989586621679475108Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101X_6989586621679475108Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101X_6989586621679475108Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101S'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101S'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101S'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101S'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101X_6989586621679475102Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101X_6989586621679475102Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101X_6989586621679475102Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101X_6989586621679475102Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101S''Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101S''Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101S''Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101S''Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101YSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101YSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101YSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101YSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475101YsSym3
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.Let6989586621679474974Scrutinee_6989586621679473179Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474974Scrutinee_6989586621679473179Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474974Scrutinee_6989586621679473179Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474974Scrutinee_6989586621679473179Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474953Nub'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474953Nub'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474953Nub'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.Let6989586621679473738X_6989586621679473739Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473738X_6989586621679473739Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473738X_6989586621679473739Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473738YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473738YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473738YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473738ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473738ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473738ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473811X_6989586621679473812Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473811X_6989586621679473812Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473811X_6989586621679473812Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473811YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473811YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473811YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473811ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473811ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473811ZsSym2
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.Let6989586621679473636X_6989586621679473637Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473636X_6989586621679473637Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473636X_6989586621679473637Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473636YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473636YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473636YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473636ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473636ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473636ZsSym2
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.Let6989586621679473293Scrutinee_6989586621679473181Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473293Scrutinee_6989586621679473181Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473293Scrutinee_6989586621679473181Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473293Scrutinee_6989586621679473181Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473293Scrutinee_6989586621679473181Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473266NubBy'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473266NubBy'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473266NubBy'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473266NubBy'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.Let6989586621679476529Init'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476529Init'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476529Init'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476529Init'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476424RevSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476424RevSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476424RevSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476365FSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476365FSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476365FSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476365FSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475998InterleaveSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475998InterleaveSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475998InterleaveSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475998InterleaveSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475998InterleaveSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475998InterleaveSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052X_6989586621679476053Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052X_6989586621679476053Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052X_6989586621679476053Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052X_6989586621679476053Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052X_6989586621679476053Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052X_6989586621679476053Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052X_6989586621679476053Sym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052X_6989586621679476053Sym7
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052UsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052UsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052UsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052UsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052UsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052UsSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052UsSym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052UsSym7
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052ZsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052ZsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052ZsSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052ZsSym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476052ZsSym7
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476266X_6989586621679476267Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476266X_6989586621679476267Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476266X_6989586621679476267Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476266X_6989586621679476267Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476266X_6989586621679476267Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476266X_6989586621679476267Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476266ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476266ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476266ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476266ZsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476266ZsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679476266ZsSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475998Interleave'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475998Interleave'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475998Interleave'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475998Interleave'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475998Interleave'Sym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475998Interleave'Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475998Interleave'Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475891LgoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475891LgoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475891LgoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475891LgoSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475891LgoSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475923Z'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475923Z'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475923Z'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475923Z'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475923Z'Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475923Z'Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475865XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475865XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475851XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475851XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475786MinBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475786MinBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475786MinBySym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475786MinBySym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475786MinBySym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475816Scrutinee_6989586621679473131Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475816Scrutinee_6989586621679473131Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475816Scrutinee_6989586621679473131Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475816Scrutinee_6989586621679473131Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475816Scrutinee_6989586621679473131Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475773XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475773XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475773XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475699MaxBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475699MaxBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475699MaxBySym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475699MaxBySym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475699MaxBySym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475729Scrutinee_6989586621679473125Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475729Scrutinee_6989586621679473125Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475729Scrutinee_6989586621679473125Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475729Scrutinee_6989586621679473125Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475729Scrutinee_6989586621679473125Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475686XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475686XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475686XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475634XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475634XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475634XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475634XsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475442XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475442XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475442XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475442XsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273X_6989586621679475274Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273X_6989586621679475274Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273X_6989586621679475274Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273X_6989586621679475274Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273S'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273S'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273S'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273S'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273YSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273YSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273YSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475273YSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475065Scrutinee_6989586621679473095Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679475065Scrutinee_6989586621679473095Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474856Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474856Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474856Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474827BuildListSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474827BuildListSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474827BuildListSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474827BuildListSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474546Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474546Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474546Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474514Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474514Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474514Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474480Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474480Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474480Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474444Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474444Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474444Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474406Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474406Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474406Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474366Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474366Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474366Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474254Scrutinee_6989586621679473121Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474254Scrutinee_6989586621679473121Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474254Scrutinee_6989586621679473121Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474254Scrutinee_6989586621679473121Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474176Scrutinee_6989586621679473123Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474176Scrutinee_6989586621679473123Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474176Scrutinee_6989586621679473123Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474176Scrutinee_6989586621679473123Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474157YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474157YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474157YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474157YsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474082Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474082Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474082Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474082Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474082Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679474082Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474031YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474031YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474031YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474031YsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474031YsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474031XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474031XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474031XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474031XsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679474031XsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473961Scrutinee_6989586621679473137Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473961Scrutinee_6989586621679473137Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473961Scrutinee_6989586621679473137Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473932Scrutinee_6989586621679473149Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473932Scrutinee_6989586621679473149Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473932Scrutinee_6989586621679473149Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473901Scrutinee_6989586621679473151Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473901Scrutinee_6989586621679473151Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473901Scrutinee_6989586621679473151Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473888XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473888XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473888XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473723Scrutinee_6989586621679473155Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473723Scrutinee_6989586621679473155Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473723Scrutinee_6989586621679473155Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473710XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473710XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473710XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473621Scrutinee_6989586621679473157Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473621Scrutinee_6989586621679473157Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473621Scrutinee_6989586621679473157Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473608XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473608XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473608XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473565Scrutinee_6989586621679473159Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473565Scrutinee_6989586621679473159Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473565Scrutinee_6989586621679473159Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473534Scrutinee_6989586621679473161Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473534Scrutinee_6989586621679473161Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473534Scrutinee_6989586621679473161Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473497Scrutinee_6989586621679473171Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473497Scrutinee_6989586621679473171Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473497Scrutinee_6989586621679473171Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473497Scrutinee_6989586621679473171Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473450Scrutinee_6989586621679473173Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473450Scrutinee_6989586621679473173Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473450Scrutinee_6989586621679473173Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473450Scrutinee_6989586621679473173Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473412Sum'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473412Sum'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473412Sum'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473388ProdSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473388ProdSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473388ProdSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473364Scrutinee_6989586621679473175Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473364Scrutinee_6989586621679473175Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473337Scrutinee_6989586621679473177Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473337Scrutinee_6989586621679473177Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679473337Scrutinee_6989586621679473177Sym2
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_ah7d -> Type)
sMap :: forall (t_a36ZV :: TyFun a_a36GL b_a36GM -> Type) (t_a36ZW :: NonEmpty a_a36GL). Sing t_a36ZV -> Sing t_a36ZW -> Sing (Apply (Apply MapSym0 t_a36ZV) t_a36ZW :: NonEmpty b_a36GM)
sIntersperse :: forall (t_a36ZT :: a_a36GB) (t_a36ZU :: NonEmpty a_a36GB). Sing t_a36ZT -> Sing t_a36ZU -> Sing (Apply (Apply IntersperseSym0 t_a36ZT) t_a36ZU :: NonEmpty a_a36GB)
sScanl :: forall (t_a370u :: TyFun b_a36GG (TyFun a_a36GH b_a36GG -> Type) -> Type) (t_a370v :: b_a36GG) (t_a370w :: [a_a36GH]). Sing t_a370u -> Sing t_a370v -> Sing t_a370w -> Sing (Apply (Apply (Apply ScanlSym0 t_a370u) t_a370v) t_a370w :: NonEmpty b_a36GG)
sScanr :: forall (t_a370x :: TyFun a_a36GE (TyFun b_a36GF b_a36GF -> Type) -> Type) (t_a370y :: b_a36GF) (t_a370z :: [a_a36GE]). Sing t_a370x -> Sing t_a370y -> Sing t_a370z -> Sing (Apply (Apply (Apply ScanrSym0 t_a370x) t_a370y) t_a370z :: NonEmpty b_a36GF)
sScanl1 :: forall (t_a370A :: TyFun a_a36GD (TyFun a_a36GD a_a36GD -> Type) -> Type) (t_a370B :: NonEmpty a_a36GD). Sing t_a370A -> Sing t_a370B -> Sing (Apply (Apply Scanl1Sym0 t_a370A) t_a370B :: NonEmpty a_a36GD)
sScanr1 :: forall (t_a370C :: TyFun a_a36GC (TyFun a_a36GC a_a36GC -> Type) -> Type) (t_a370D :: NonEmpty a_a36GC). Sing t_a370C -> Sing t_a370D -> Sing (Apply (Apply Scanr1Sym0 t_a370C) t_a370D :: NonEmpty a_a36GC)
sTranspose :: forall (t_a370X :: NonEmpty (NonEmpty a_a36G3)). Sing t_a370X -> Sing (Apply TransposeSym0 t_a370X :: NonEmpty (NonEmpty a_a36G3))
sSortBy :: forall (t_a370k :: TyFun a_a36G2 (TyFun a_a36G2 Ordering -> Type) -> Type) (t_a370l :: NonEmpty a_a36G2). Sing t_a370k -> Sing t_a370l -> Sing (Apply (Apply SortBySym0 t_a370k) t_a370l :: NonEmpty a_a36G2)
sSortWith :: forall (t_a370m :: TyFun a_a36G1 o_a36G0 -> Type) (t_a370n :: NonEmpty a_a36G1). SOrd o_a36G0 => Sing t_a370m -> Sing t_a370n -> Sing (Apply (Apply SortWithSym0 t_a370m) t_a370n :: NonEmpty a_a36G1)
sLength :: forall (t_a370U :: NonEmpty a_a36H4). Sing t_a370U -> Sing (Apply LengthSym0 t_a370U :: Nat)
sHead :: forall (t_a370M :: NonEmpty a_a36GX). Sing t_a370M -> Sing (Apply HeadSym0 t_a370M :: a_a36GX)
sTail :: forall (t_a370L :: NonEmpty a_a36GW). Sing t_a370L -> Sing (Apply TailSym0 t_a370L :: [a_a36GW])
sLast :: forall (t_a370K :: NonEmpty a_a36GV). Sing t_a370K -> Sing (Apply LastSym0 t_a370K :: a_a36GV)
sInit :: forall (t_a370J :: NonEmpty a_a36GU). Sing t_a370J -> Sing (Apply InitSym0 t_a370J :: [a_a36GU])
(%:<|) :: forall (t_a370F :: a_a36GT) (t_a370G :: NonEmpty a_a36GT). Sing t_a370F -> Sing t_a370G -> Sing (Apply (Apply (:<|$) t_a370F) t_a370G :: NonEmpty a_a36GT)
sCons :: forall (t_a370H :: a_a36GS) (t_a370I :: NonEmpty a_a36GS). Sing t_a370H -> Sing t_a370I -> Sing (Apply (Apply ConsSym0 t_a370H) t_a370I :: NonEmpty a_a36GS)
sUncons :: forall (t_a370Q :: NonEmpty a_a36H0). Sing t_a370Q -> Sing (Apply UnconsSym0 t_a370Q :: (a_a36H0, Maybe (NonEmpty a_a36H0)))
sUnfoldr :: forall (t_a370N :: TyFun a_a36GY (b_a36GZ, Maybe a_a36GY) -> Type) (t_a370O :: a_a36GY). Sing t_a370N -> Sing t_a370O -> Sing (Apply (Apply UnfoldrSym0 t_a370N) t_a370O :: NonEmpty b_a36GZ)
sSort :: forall (t_a370E :: NonEmpty a_a36GR). SOrd a_a36GR => Sing t_a370E -> Sing (Apply SortSym0 t_a370E :: NonEmpty a_a36GR)
sReverse :: forall (t_a370j :: NonEmpty a_a36GA). Sing t_a370j -> Sing (Apply ReverseSym0 t_a370j :: NonEmpty a_a36GA)
sInits :: forall (t_a370q :: [a_a36GK]). Sing t_a370q -> Sing (Apply InitsSym0 t_a370q :: NonEmpty [a_a36GK])
sTails :: forall (t_a370r :: [a_a36GJ]). Sing t_a370r -> Sing (Apply TailsSym0 t_a370r :: NonEmpty [a_a36GJ])
sUnfold :: forall (t_a370R :: TyFun a_a36H2 (b_a36H3, Maybe a_a36H2) -> Type) (t_a370S :: a_a36H2). Sing t_a370R -> Sing t_a370S -> Sing (Apply (Apply UnfoldSym0 t_a370R) t_a370S :: NonEmpty b_a36H3)
sInsert :: forall (t_a370s :: a_a36GI) (t_a370t :: [a_a36GI]). SOrd a_a36GI => Sing t_a370s -> Sing t_a370t -> Sing (Apply (Apply InsertSym0 t_a370s) t_a370t :: NonEmpty a_a36GI)
sTake :: forall (t_a36ZY :: Nat) (t_a36ZZ :: NonEmpty a_a36Gz). Sing t_a36ZY -> Sing t_a36ZZ -> Sing (Apply (Apply TakeSym0 t_a36ZY) t_a36ZZ :: [a_a36Gz])
sDrop :: forall (t_a3700 :: Nat) (t_a3701 :: NonEmpty a_a36Gy). Sing t_a3700 -> Sing t_a3701 -> Sing (Apply (Apply DropSym0 t_a3700) t_a3701 :: [a_a36Gy])
sSplitAt :: forall (t_a3702 :: Nat) (t_a3703 :: NonEmpty a_a36Gx). Sing t_a3702 -> Sing t_a3703 -> Sing (Apply (Apply SplitAtSym0 t_a3702) t_a3703 :: ([a_a36Gx], [a_a36Gx]))
sTakeWhile :: forall (t_a3704 :: TyFun a_a36Gw Bool -> Type) (t_a3705 :: NonEmpty a_a36Gw). Sing t_a3704 -> Sing t_a3705 -> Sing (Apply (Apply TakeWhileSym0 t_a3704) t_a3705 :: [a_a36Gw])
sDropWhile :: forall (t_a3706 :: TyFun a_a36Gv Bool -> Type) (t_a3707 :: NonEmpty a_a36Gv). Sing t_a3706 -> Sing t_a3707 -> Sing (Apply (Apply DropWhileSym0 t_a3706) t_a3707 :: [a_a36Gv])
sSpan :: forall (t_a3708 :: TyFun a_a36Gu Bool -> Type) (t_a3709 :: NonEmpty a_a36Gu). Sing t_a3708 -> Sing t_a3709 -> Sing (Apply (Apply SpanSym0 t_a3708) t_a3709 :: ([a_a36Gu], [a_a36Gu]))
sBreak :: forall (t_a370a :: TyFun a_a36Gt Bool -> Type) (t_a370b :: NonEmpty a_a36Gt). Sing t_a370a -> Sing t_a370b -> Sing (Apply (Apply BreakSym0 t_a370a) t_a370b :: ([a_a36Gt], [a_a36Gt]))
sFilter :: forall (t_a370c :: TyFun a_a36Gs Bool -> Type) (t_a370d :: NonEmpty a_a36Gs). Sing t_a370c -> Sing t_a370d -> Sing (Apply (Apply FilterSym0 t_a370c) t_a370d :: [a_a36Gs])
sPartition :: forall (t_a370e :: TyFun a_a36Gr Bool -> Type) (t_a370f :: NonEmpty a_a36Gr). Sing t_a370e -> Sing t_a370f -> Sing (Apply (Apply PartitionSym0 t_a370e) t_a370f :: ([a_a36Gr], [a_a36Gr]))
sGroup :: forall (t_a36ZS :: [a_a36Gq]). SEq a_a36Gq => Sing t_a36ZS -> Sing (Apply GroupSym0 t_a36ZS :: [NonEmpty a_a36Gq])
sGroupBy :: forall (t_a36ZH :: TyFun a_a36Gp (TyFun a_a36Gp Bool -> Type) -> Type) (t_a36ZI :: [a_a36Gp]). Sing t_a36ZH -> Sing t_a36ZI -> Sing (Apply (Apply GroupBySym0 t_a36ZH) t_a36ZI :: [NonEmpty a_a36Gp])
sGroupWith :: forall (t_a36ZJ :: TyFun a_a36Go b_a36Gn -> Type) (t_a36ZK :: [a_a36Go]). SEq b_a36Gn => Sing t_a36ZJ -> Sing t_a36ZK -> Sing (Apply (Apply GroupWithSym0 t_a36ZJ) t_a36ZK :: [NonEmpty a_a36Go])
sGroupAllWith :: forall (t_a36ZL :: TyFun a_a36Gm b_a36Gl -> Type) (t_a36ZM :: [a_a36Gm]). SOrd b_a36Gl => Sing t_a36ZL -> Sing t_a36ZM -> Sing (Apply (Apply GroupAllWithSym0 t_a36ZL) t_a36ZM :: [NonEmpty a_a36Gm])
sGroup1 :: forall (t_a36ZP :: NonEmpty a_a36Gk). SEq a_a36Gk => Sing t_a36ZP -> Sing (Apply Group1Sym0 t_a36ZP :: NonEmpty (NonEmpty a_a36Gk))
sGroupBy1 :: forall (t_a36ZN :: TyFun a_a36Gj (TyFun a_a36Gj Bool -> Type) -> Type) (t_a36ZO :: NonEmpty a_a36Gj). Sing t_a36ZN -> Sing t_a36ZO -> Sing (Apply (Apply GroupBy1Sym0 t_a36ZN) t_a36ZO :: NonEmpty (NonEmpty a_a36Gj))
sGroupWith1 :: forall (t_a36ZQ :: TyFun a_a36Gi b_a36Gh -> Type) (t_a36ZR :: NonEmpty a_a36Gi). SEq b_a36Gh => Sing t_a36ZQ -> Sing t_a36ZR -> Sing (Apply (Apply GroupWith1Sym0 t_a36ZQ) t_a36ZR :: NonEmpty (NonEmpty a_a36Gi))
sGroupAllWith1 :: forall (t_a370o :: TyFun a_a36Gg b_a36Gf -> Type) (t_a370p :: NonEmpty a_a36Gg). SOrd b_a36Gf => Sing t_a370o -> Sing t_a370p -> Sing (Apply (Apply GroupAllWith1Sym0 t_a370o) t_a370p :: NonEmpty (NonEmpty a_a36Gg))
sIsPrefixOf :: forall (t_a36ZF :: [a_a36Ge]) (t_a36ZG :: NonEmpty a_a36Ge). SEq a_a36Ge => Sing t_a36ZF -> Sing t_a36ZG -> Sing (Apply (Apply IsPrefixOfSym0 t_a36ZF) t_a36ZG :: Bool)
sNub :: forall (t_a36Zw :: NonEmpty a_a36G5). SEq a_a36G5 => Sing t_a36Zw -> Sing (Apply NubSym0 t_a36Zw :: NonEmpty a_a36G5)
sNubBy :: forall (t_a36Zu :: TyFun a_a36G4 (TyFun a_a36G4 Bool -> Type) -> Type) (t_a36Zv :: NonEmpty a_a36G4). Sing t_a36Zu -> Sing t_a36Zv -> Sing (Apply (Apply NubBySym0 t_a36Zu) t_a36Zv :: NonEmpty a_a36G4)
(%:!!) :: forall (t_a36ZD :: NonEmpty a_a36Gd) (t_a36ZE :: Nat). Sing t_a36ZD -> Sing t_a36ZE -> Sing (Apply (Apply (:!!$) t_a36ZD) t_a36ZE :: a_a36Gd)
sZip :: forall (t_a36ZB :: NonEmpty a_a36Gb) (t_a36ZC :: NonEmpty b_a36Gc). Sing t_a36ZB -> Sing t_a36ZC -> Sing (Apply (Apply ZipSym0 t_a36ZB) t_a36ZC :: NonEmpty (a_a36Gb, b_a36Gc))
sZipWith :: forall (t_a36Zy :: TyFun a_a36G8 (TyFun b_a36G9 c_a36Ga -> Type) -> Type) (t_a36Zz :: NonEmpty a_a36G8) (t_a36ZA :: NonEmpty b_a36G9). Sing t_a36Zy -> Sing t_a36Zz -> Sing t_a36ZA -> Sing (Apply (Apply (Apply ZipWithSym0 t_a36Zy) t_a36Zz) t_a36ZA :: NonEmpty c_a36Ga)
sUnzip :: forall (t_a36Zx :: NonEmpty (a_a36G6, b_a36G7)). Sing t_a36Zx -> Sing (Apply UnzipSym0 t_a36Zx :: (NonEmpty a_a36G6, NonEmpty b_a36G7))
sFromList :: forall (t_a370g :: [a_a36GQ]). Sing t_a370g -> Sing (Apply FromListSym0 t_a370g :: NonEmpty a_a36GQ)
sToList :: forall (t_a36ZX :: NonEmpty a_a36GP). Sing t_a36ZX -> Sing (Apply ToListSym0 t_a36ZX :: [a_a36GP])
sNonEmpty_ :: forall (t_a370P :: [a_a36H1]). Sing t_a370P -> Sing (Apply NonEmpty_Sym0 t_a370P :: Maybe (NonEmpty a_a36H1))
sXor :: forall (t_a370T :: NonEmpty Bool). Sing t_a370T -> Sing (Apply XorSym0 t_a370T :: Bool)
data (:|$) (l_aXoI :: TyFun a6989586621679075587 (TyFun [a6989586621679075587] (NonEmpty a6989586621679075587) -> Type))
data (:|$$) (l_aXoG :: a6989586621679075587) (l_aXoF :: TyFun [a6989586621679075587] (NonEmpty a6989586621679075587))
type (:|$$$) (t_aXoD :: a6989586621679075587) (t_aXoE :: [a6989586621679075587]) = (:|) t_aXoD t_aXoE
data MapSym0 (l_a36Rq :: TyFun (TyFun a6989586621679750491 b6989586621679750492 -> Type) (TyFun (NonEmpty a6989586621679750491) (NonEmpty b6989586621679750492) -> Type))
data MapSym1 (l_a36Ro :: TyFun a6989586621679750491 b6989586621679750492 -> Type) (l_a36Rn :: TyFun (NonEmpty a6989586621679750491) (NonEmpty b6989586621679750492))
type MapSym2 (t_a36Rl :: TyFun a6989586621679750491 b6989586621679750492 -> Type) (t_a36Rm :: NonEmpty a6989586621679750491) = Map t_a36Rl t_a36Rm
data IntersperseSym0 (l_a36R5 :: TyFun a6989586621679750481 (TyFun (NonEmpty a6989586621679750481) (NonEmpty a6989586621679750481) -> Type))
data IntersperseSym1 (l_a36R3 :: a6989586621679750481) (l_a36R2 :: TyFun (NonEmpty a6989586621679750481) (NonEmpty a6989586621679750481))
type IntersperseSym2 (t_a36R0 :: a6989586621679750481) (t_a36R1 :: NonEmpty a6989586621679750481) = Intersperse t_a36R0 t_a36R1
data ScanlSym0 (l_a36Vc :: TyFun (TyFun b6989586621679750486 (TyFun a6989586621679750487 b6989586621679750486 -> Type) -> Type) (TyFun b6989586621679750486 (TyFun [a6989586621679750487] (NonEmpty b6989586621679750486) -> Type) -> Type))
data ScanlSym1 (l_a36Va :: TyFun b6989586621679750486 (TyFun a6989586621679750487 b6989586621679750486 -> Type) -> Type) (l_a36V9 :: TyFun b6989586621679750486 (TyFun [a6989586621679750487] (NonEmpty b6989586621679750486) -> Type))
data ScanlSym2 (l_a36V6 :: TyFun b6989586621679750486 (TyFun a6989586621679750487 b6989586621679750486 -> Type) -> Type) (l_a36V7 :: b6989586621679750486) (l_a36V5 :: TyFun [a6989586621679750487] (NonEmpty b6989586621679750486))
type ScanlSym3 (t_a36V2 :: TyFun b6989586621679750486 (TyFun a6989586621679750487 b6989586621679750486 -> Type) -> Type) (t_a36V3 :: b6989586621679750486) (t_a36V4 :: [a6989586621679750487]) = Scanl t_a36V2 t_a36V3 t_a36V4
data ScanrSym0 (l_a36Vw :: TyFun (TyFun a6989586621679750484 (TyFun b6989586621679750485 b6989586621679750485 -> Type) -> Type) (TyFun b6989586621679750485 (TyFun [a6989586621679750484] (NonEmpty b6989586621679750485) -> Type) -> Type))
data ScanrSym1 (l_a36Vu :: TyFun a6989586621679750484 (TyFun b6989586621679750485 b6989586621679750485 -> Type) -> Type) (l_a36Vt :: TyFun b6989586621679750485 (TyFun [a6989586621679750484] (NonEmpty b6989586621679750485) -> Type))
data ScanrSym2 (l_a36Vq :: TyFun a6989586621679750484 (TyFun b6989586621679750485 b6989586621679750485 -> Type) -> Type) (l_a36Vr :: b6989586621679750485) (l_a36Vp :: TyFun [a6989586621679750484] (NonEmpty b6989586621679750485))
type ScanrSym3 (t_a36Vm :: TyFun a6989586621679750484 (TyFun b6989586621679750485 b6989586621679750485 -> Type) -> Type) (t_a36Vn :: b6989586621679750485) (t_a36Vo :: [a6989586621679750484]) = Scanr t_a36Vm t_a36Vn t_a36Vo
data Scanl1Sym0 (l_a36VL :: TyFun (TyFun a6989586621679750483 (TyFun a6989586621679750483 a6989586621679750483 -> Type) -> Type) (TyFun (NonEmpty a6989586621679750483) (NonEmpty a6989586621679750483) -> Type))
data Scanl1Sym1 (l_a36VJ :: TyFun a6989586621679750483 (TyFun a6989586621679750483 a6989586621679750483 -> Type) -> Type) (l_a36VI :: TyFun (NonEmpty a6989586621679750483) (NonEmpty a6989586621679750483))
type Scanl1Sym2 (t_a36VG :: TyFun a6989586621679750483 (TyFun a6989586621679750483 a6989586621679750483 -> Type) -> Type) (t_a36VH :: NonEmpty a6989586621679750483) = Scanl1 t_a36VG t_a36VH
data Scanr1Sym0 (l_a36VX :: TyFun (TyFun a6989586621679750482 (TyFun a6989586621679750482 a6989586621679750482 -> Type) -> Type) (TyFun (NonEmpty a6989586621679750482) (NonEmpty a6989586621679750482) -> Type))
data Scanr1Sym1 (l_a36VV :: TyFun a6989586621679750482 (TyFun a6989586621679750482 a6989586621679750482 -> Type) -> Type) (l_a36VU :: TyFun (NonEmpty a6989586621679750482) (NonEmpty a6989586621679750482))
type Scanr1Sym2 (t_a36VS :: TyFun a6989586621679750482 (TyFun a6989586621679750482 a6989586621679750482 -> Type) -> Type) (t_a36VT :: NonEmpty a6989586621679750482) = Scanr1 t_a36VS t_a36VT
data TransposeSym0 (l_a36Zq :: TyFun (NonEmpty (NonEmpty a6989586621679750447)) (NonEmpty (NonEmpty a6989586621679750447)))
type TransposeSym1 (t_a36Zp :: NonEmpty (NonEmpty a6989586621679750447)) = Transpose t_a36Zp
data SortBySym0 (l_a36U1 :: TyFun (TyFun a6989586621679750446 (TyFun a6989586621679750446 Ordering -> Type) -> Type) (TyFun (NonEmpty a6989586621679750446) (NonEmpty a6989586621679750446) -> Type))
data SortBySym1 (l_a36TZ :: TyFun a6989586621679750446 (TyFun a6989586621679750446 Ordering -> Type) -> Type) (l_a36TY :: TyFun (NonEmpty a6989586621679750446) (NonEmpty a6989586621679750446))
type SortBySym2 (t_a36TW :: TyFun a6989586621679750446 (TyFun a6989586621679750446 Ordering -> Type) -> Type) (t_a36TX :: NonEmpty a6989586621679750446) = SortBy t_a36TW t_a36TX
data SortWithSym0 (l_a36Ui :: TyFun (TyFun a6989586621679750445 o6989586621679750444 -> Type) (TyFun (NonEmpty a6989586621679750445) (NonEmpty a6989586621679750445) -> Type))
data SortWithSym1 (l_a36Ug :: TyFun a6989586621679750445 o6989586621679750444 -> Type) (l_a36Uf :: TyFun (NonEmpty a6989586621679750445) (NonEmpty a6989586621679750445))
type SortWithSym2 (t_a36Ud :: TyFun a6989586621679750445 o6989586621679750444 -> Type) (t_a36Ue :: NonEmpty a6989586621679750445) = SortWith t_a36Ud t_a36Ue
data LengthSym0 (l_a36Z4 :: TyFun (NonEmpty a6989586621679750510) Nat)
type LengthSym1 (t_a36Z3 :: NonEmpty a6989586621679750510) = Length t_a36Z3
data HeadSym0 (l_a36WX :: TyFun (NonEmpty a6989586621679750503) a6989586621679750503)
type HeadSym1 (t_a36WW :: NonEmpty a6989586621679750503) = Head t_a36WW
data TailSym0 (l_a36WP :: TyFun (NonEmpty a6989586621679750502) [a6989586621679750502])
type TailSym1 (t_a36WO :: NonEmpty a6989586621679750502) = Tail t_a36WO
data LastSym0 (l_a36WJ :: TyFun (NonEmpty a6989586621679750501) a6989586621679750501)
type LastSym1 (t_a36WI :: NonEmpty a6989586621679750501) = Last t_a36WI
data InitSym0 (l_a36WD :: TyFun (NonEmpty a6989586621679750500) [a6989586621679750500])
type InitSym1 (t_a36WC :: NonEmpty a6989586621679750500) = Init t_a36WC
data (:<|$) (l_a36Wg :: TyFun a6989586621679750499 (TyFun (NonEmpty a6989586621679750499) (NonEmpty a6989586621679750499) -> Type))
data (:<|$$) (l_a36We :: a6989586621679750499) (l_a36Wd :: TyFun (NonEmpty a6989586621679750499) (NonEmpty a6989586621679750499))
type (:<|$$$) (t_a36Wb :: a6989586621679750499) (t_a36Wc :: NonEmpty a6989586621679750499) = (:<|) t_a36Wb t_a36Wc
data ConsSym0 (l_a36Ww :: TyFun a6989586621679750498 (TyFun (NonEmpty a6989586621679750498) (NonEmpty a6989586621679750498) -> Type))
data ConsSym1 (l_a36Wu :: a6989586621679750498) (l_a36Wt :: TyFun (NonEmpty a6989586621679750498) (NonEmpty a6989586621679750498))
type ConsSym2 (t_a36Wr :: a6989586621679750498) (t_a36Ws :: NonEmpty a6989586621679750498) = Cons t_a36Wr t_a36Ws
data UnconsSym0 (l_a36Y6 :: TyFun (NonEmpty a6989586621679750506) (a6989586621679750506, Maybe (NonEmpty a6989586621679750506)))
type UnconsSym1 (t_a36Y5 :: NonEmpty a6989586621679750506) = Uncons t_a36Y5
data UnfoldrSym0 (l_a36X9 :: TyFun (TyFun a6989586621679750504 (b6989586621679750505, Maybe a6989586621679750504) -> Type) (TyFun a6989586621679750504 (NonEmpty b6989586621679750505) -> Type))
data UnfoldrSym1 (l_a36X7 :: TyFun a6989586621679750504 (b6989586621679750505, Maybe a6989586621679750504) -> Type) (l_a36X6 :: TyFun a6989586621679750504 (NonEmpty b6989586621679750505))
type UnfoldrSym2 (t_a36X4 :: TyFun a6989586621679750504 (b6989586621679750505, Maybe a6989586621679750504) -> Type) (t_a36X5 :: a6989586621679750504) = Unfoldr t_a36X4 t_a36X5
data SortSym0 (l_a36W7 :: TyFun (NonEmpty a6989586621679750497) (NonEmpty a6989586621679750497))
type SortSym1 (t_a36W6 :: NonEmpty a6989586621679750497) = Sort t_a36W6
data ReverseSym0 (l_a36TS :: TyFun (NonEmpty a6989586621679750480) (NonEmpty a6989586621679750480))
type ReverseSym1 (t_a36TR :: NonEmpty a6989586621679750480) = Reverse t_a36TR
data InitsSym0 (l_a36UE :: TyFun [a6989586621679750490] (NonEmpty [a6989586621679750490]))
type InitsSym1 (t_a36UD :: [a6989586621679750490]) = Inits t_a36UD
data TailsSym0 (l_a36UL :: TyFun [a6989586621679750489] (NonEmpty [a6989586621679750489]))
type TailsSym1 (t_a36UK :: [a6989586621679750489]) = Tails t_a36UK
data UnfoldSym0 (l_a36Yg :: TyFun (TyFun a6989586621679750508 (b6989586621679750509, Maybe a6989586621679750508) -> Type) (TyFun a6989586621679750508 (NonEmpty b6989586621679750509) -> Type))
data UnfoldSym1 (l_a36Ye :: TyFun a6989586621679750508 (b6989586621679750509, Maybe a6989586621679750508) -> Type) (l_a36Yd :: TyFun a6989586621679750508 (NonEmpty b6989586621679750509))
data InsertSym0 (l_a36UU :: TyFun a6989586621679750488 (TyFun [a6989586621679750488] (NonEmpty a6989586621679750488) -> Type))
data InsertSym1 (l_a36US :: a6989586621679750488) (l_a36UR :: TyFun [a6989586621679750488] (NonEmpty a6989586621679750488))
type InsertSym2 (t_a36UP :: a6989586621679750488) (t_a36UQ :: [a6989586621679750488]) = Insert t_a36UP t_a36UQ
data TakeSym0 (l_a36RI :: TyFun Nat (TyFun (NonEmpty a6989586621679750479) [a6989586621679750479] -> Type))
data TakeSym1 (l_a36RG :: Nat) (l_a36RF :: TyFun (NonEmpty a6989586621679750479) [a6989586621679750479])
type TakeSym2 (t_a36RD :: Nat) (t_a36RE :: NonEmpty a6989586621679750479) = Take t_a36RD t_a36RE
data DropSym0 (l_a36RV :: TyFun Nat (TyFun (NonEmpty a6989586621679750478) [a6989586621679750478] -> Type))
data DropSym1 (l_a36RT :: Nat) (l_a36RS :: TyFun (NonEmpty a6989586621679750478) [a6989586621679750478])
type DropSym2 (t_a36RQ :: Nat) (t_a36RR :: NonEmpty a6989586621679750478) = Drop t_a36RQ t_a36RR
data SplitAtSym0 (l_a36S8 :: TyFun Nat (TyFun (NonEmpty a6989586621679750477) ([a6989586621679750477], [a6989586621679750477]) -> Type))
data SplitAtSym1 (l_a36S6 :: Nat) (l_a36S5 :: TyFun (NonEmpty a6989586621679750477) ([a6989586621679750477], [a6989586621679750477]))
type SplitAtSym2 (t_a36S3 :: Nat) (t_a36S4 :: NonEmpty a6989586621679750477) = SplitAt t_a36S3 t_a36S4
data TakeWhileSym0 (l_a36Sl :: TyFun (TyFun a6989586621679750476 Bool -> Type) (TyFun (NonEmpty a6989586621679750476) [a6989586621679750476] -> Type))
data TakeWhileSym1 (l_a36Sj :: TyFun a6989586621679750476 Bool -> Type) (l_a36Si :: TyFun (NonEmpty a6989586621679750476) [a6989586621679750476])
type TakeWhileSym2 (t_a36Sg :: TyFun a6989586621679750476 Bool -> Type) (t_a36Sh :: NonEmpty a6989586621679750476) = TakeWhile t_a36Sg t_a36Sh
data DropWhileSym0 (l_a36Sy :: TyFun (TyFun a6989586621679750475 Bool -> Type) (TyFun (NonEmpty a6989586621679750475) [a6989586621679750475] -> Type))
data DropWhileSym1 (l_a36Sw :: TyFun a6989586621679750475 Bool -> Type) (l_a36Sv :: TyFun (NonEmpty a6989586621679750475) [a6989586621679750475])
type DropWhileSym2 (t_a36St :: TyFun a6989586621679750475 Bool -> Type) (t_a36Su :: NonEmpty a6989586621679750475) = DropWhile t_a36St t_a36Su
data SpanSym0 (l_a36SL :: TyFun (TyFun a6989586621679750474 Bool -> Type) (TyFun (NonEmpty a6989586621679750474) ([a6989586621679750474], [a6989586621679750474]) -> Type))
data SpanSym1 (l_a36SJ :: TyFun a6989586621679750474 Bool -> Type) (l_a36SI :: TyFun (NonEmpty a6989586621679750474) ([a6989586621679750474], [a6989586621679750474]))
type SpanSym2 (t_a36SG :: TyFun a6989586621679750474 Bool -> Type) (t_a36SH :: NonEmpty a6989586621679750474) = Span t_a36SG t_a36SH
data BreakSym0 (l_a36SY :: TyFun (TyFun a6989586621679750473 Bool -> Type) (TyFun (NonEmpty a6989586621679750473) ([a6989586621679750473], [a6989586621679750473]) -> Type))
data BreakSym1 (l_a36SW :: TyFun a6989586621679750473 Bool -> Type) (l_a36SV :: TyFun (NonEmpty a6989586621679750473) ([a6989586621679750473], [a6989586621679750473]))
type BreakSym2 (t_a36ST :: TyFun a6989586621679750473 Bool -> Type) (t_a36SU :: NonEmpty a6989586621679750473) = Break t_a36ST t_a36SU
data FilterSym0 (l_a36Tb :: TyFun (TyFun a6989586621679750472 Bool -> Type) (TyFun (NonEmpty a6989586621679750472) [a6989586621679750472] -> Type))
data FilterSym1 (l_a36T9 :: TyFun a6989586621679750472 Bool -> Type) (l_a36T8 :: TyFun (NonEmpty a6989586621679750472) [a6989586621679750472])
type FilterSym2 (t_a36T6 :: TyFun a6989586621679750472 Bool -> Type) (t_a36T7 :: NonEmpty a6989586621679750472) = Filter t_a36T6 t_a36T7
data PartitionSym0 (l_a36To :: TyFun (TyFun a6989586621679750471 Bool -> Type) (TyFun (NonEmpty a6989586621679750471) ([a6989586621679750471], [a6989586621679750471]) -> Type))
data PartitionSym1 (l_a36Tm :: TyFun a6989586621679750471 Bool -> Type) (l_a36Tl :: TyFun (NonEmpty a6989586621679750471) ([a6989586621679750471], [a6989586621679750471]))
type PartitionSym2 (t_a36Tj :: TyFun a6989586621679750471 Bool -> Type) (t_a36Tk :: NonEmpty a6989586621679750471) = Partition t_a36Tj t_a36Tk
data GroupSym0 (l_a36QW :: TyFun [a6989586621679750470] [NonEmpty a6989586621679750470])
type GroupSym1 (t_a36QV :: [a6989586621679750470]) = Group t_a36QV
data GroupBySym0 (l_a36MV :: TyFun (TyFun a6989586621679750469 (TyFun a6989586621679750469 Bool -> Type) -> Type) (TyFun [a6989586621679750469] [NonEmpty a6989586621679750469] -> Type))
data GroupBySym1 (l_a36MT :: TyFun a6989586621679750469 (TyFun a6989586621679750469 Bool -> Type) -> Type) (l_a36MS :: TyFun [a6989586621679750469] [NonEmpty a6989586621679750469])
type GroupBySym2 (t_a36MQ :: TyFun a6989586621679750469 (TyFun a6989586621679750469 Bool -> Type) -> Type) (t_a36MR :: [a6989586621679750469]) = GroupBy t_a36MQ t_a36MR
data GroupWithSym0 (l_a36P7 :: TyFun (TyFun a6989586621679750468 b6989586621679750467 -> Type) (TyFun [a6989586621679750468] [NonEmpty a6989586621679750468] -> Type))
data GroupWithSym1 (l_a36P5 :: TyFun a6989586621679750468 b6989586621679750467 -> Type) (l_a36P4 :: TyFun [a6989586621679750468] [NonEmpty a6989586621679750468])
type GroupWithSym2 (t_a36P2 :: TyFun a6989586621679750468 b6989586621679750467 -> Type) (t_a36P3 :: [a6989586621679750468]) = GroupWith t_a36P2 t_a36P3
data GroupAllWithSym0 (l_a36Pk :: TyFun (TyFun a6989586621679750466 b6989586621679750465 -> Type) (TyFun [a6989586621679750466] [NonEmpty a6989586621679750466] -> Type))
data GroupAllWithSym1 (l_a36Pi :: TyFun a6989586621679750466 b6989586621679750465 -> Type) (l_a36Ph :: TyFun [a6989586621679750466] [NonEmpty a6989586621679750466])
type GroupAllWithSym2 (t_a36Pf :: TyFun a6989586621679750466 b6989586621679750465 -> Type) (t_a36Pg :: [a6989586621679750466]) = GroupAllWith t_a36Pf t_a36Pg
data Group1Sym0 (l_a36QC :: TyFun (NonEmpty a6989586621679750464) (NonEmpty (NonEmpty a6989586621679750464)))
type Group1Sym1 (t_a36QB :: NonEmpty a6989586621679750464) = Group1 t_a36QB
data GroupBy1Sym0 (l_a36Px :: TyFun (TyFun a6989586621679750463 (TyFun a6989586621679750463 Bool -> Type) -> Type) (TyFun (NonEmpty a6989586621679750463) (NonEmpty (NonEmpty a6989586621679750463)) -> Type))
data GroupBy1Sym1 (l_a36Pv :: TyFun a6989586621679750463 (TyFun a6989586621679750463 Bool -> Type) -> Type) (l_a36Pu :: TyFun (NonEmpty a6989586621679750463) (NonEmpty (NonEmpty a6989586621679750463)))
type GroupBy1Sym2 (t_a36Ps :: TyFun a6989586621679750463 (TyFun a6989586621679750463 Bool -> Type) -> Type) (t_a36Pt :: NonEmpty a6989586621679750463) = GroupBy1 t_a36Ps t_a36Pt
data GroupWith1Sym0 (l_a36QL :: TyFun (TyFun a6989586621679750462 b6989586621679750461 -> Type) (TyFun (NonEmpty a6989586621679750462) (NonEmpty (NonEmpty a6989586621679750462)) -> Type))
data GroupWith1Sym1 (l_a36QJ :: TyFun a6989586621679750462 b6989586621679750461 -> Type) (l_a36QI :: TyFun (NonEmpty a6989586621679750462) (NonEmpty (NonEmpty a6989586621679750462)))
type GroupWith1Sym2 (t_a36QG :: TyFun a6989586621679750462 b6989586621679750461 -> Type) (t_a36QH :: NonEmpty a6989586621679750462) = GroupWith1 t_a36QG t_a36QH
data GroupAllWith1Sym0 (l_a36Ut :: TyFun (TyFun a6989586621679750460 b6989586621679750459 -> Type) (TyFun (NonEmpty a6989586621679750460) (NonEmpty (NonEmpty a6989586621679750460)) -> Type))
data GroupAllWith1Sym1 (l_a36Ur :: TyFun a6989586621679750460 b6989586621679750459 -> Type) (l_a36Uq :: TyFun (NonEmpty a6989586621679750460) (NonEmpty (NonEmpty a6989586621679750460)))
type GroupAllWith1Sym2 (t_a36Uo :: TyFun a6989586621679750460 b6989586621679750459 -> Type) (t_a36Up :: NonEmpty a6989586621679750460) = GroupAllWith1 t_a36Uo t_a36Up
data IsPrefixOfSym0 (l_a36MF :: TyFun [a6989586621679750458] (TyFun (NonEmpty a6989586621679750458) Bool -> Type))
data IsPrefixOfSym1 (l_a36MD :: [a6989586621679750458]) (l_a36MC :: TyFun (NonEmpty a6989586621679750458) Bool)
type IsPrefixOfSym2 (t_a36MA :: [a6989586621679750458]) (t_a36MB :: NonEmpty a6989586621679750458) = IsPrefixOf t_a36MA t_a36MB
data NubSym0 (l_a36KA :: TyFun (NonEmpty a6989586621679750449) (NonEmpty a6989586621679750449))
type NubSym1 (t_a36Kz :: NonEmpty a6989586621679750449) = Nub t_a36Kz
data NubBySym0 (l_a36K4 :: TyFun (TyFun a6989586621679750448 (TyFun a6989586621679750448 Bool -> Type) -> Type) (TyFun (NonEmpty a6989586621679750448) (NonEmpty a6989586621679750448) -> Type))
data NubBySym1 (l_a36K2 :: TyFun a6989586621679750448 (TyFun a6989586621679750448 Bool -> Type) -> Type) (l_a36K1 :: TyFun (NonEmpty a6989586621679750448) (NonEmpty a6989586621679750448))
type NubBySym2 (t_a36JZ :: TyFun a6989586621679750448 (TyFun a6989586621679750448 Bool -> Type) -> Type) (t_a36K0 :: NonEmpty a6989586621679750448) = NubBy t_a36JZ t_a36K0
data (:!!$) (l_a36Mi :: TyFun (NonEmpty a6989586621679750457) (TyFun Nat a6989586621679750457 -> Type))
data (:!!$$) (l_a36Mg :: NonEmpty a6989586621679750457) (l_a36Mf :: TyFun Nat a6989586621679750457)
type (:!!$$$) (t_a36Md :: NonEmpty a6989586621679750457) (t_a36Me :: Nat) = (:!!) t_a36Md t_a36Me
data ZipSym0 (l_a36M5 :: TyFun (NonEmpty a6989586621679750455) (TyFun (NonEmpty b6989586621679750456) (NonEmpty (a6989586621679750455, b6989586621679750456)) -> Type))
data ZipSym1 (l_a36M3 :: NonEmpty a6989586621679750455) (l_a36M2 :: TyFun (NonEmpty b6989586621679750456) (NonEmpty (a6989586621679750455, b6989586621679750456)))
type ZipSym2 (t_a36M0 :: NonEmpty a6989586621679750455) (t_a36M1 :: NonEmpty b6989586621679750456) = Zip t_a36M0 t_a36M1
data ZipWithSym0 (l_a36LQ :: TyFun (TyFun a6989586621679750452 (TyFun b6989586621679750453 c6989586621679750454 -> Type) -> Type) (TyFun (NonEmpty a6989586621679750452) (TyFun (NonEmpty b6989586621679750453) (NonEmpty c6989586621679750454) -> Type) -> Type))
data ZipWithSym1 (l_a36LO :: TyFun a6989586621679750452 (TyFun b6989586621679750453 c6989586621679750454 -> Type) -> Type) (l_a36LN :: TyFun (NonEmpty a6989586621679750452) (TyFun (NonEmpty b6989586621679750453) (NonEmpty c6989586621679750454) -> Type))
data ZipWithSym2 (l_a36LK :: TyFun a6989586621679750452 (TyFun b6989586621679750453 c6989586621679750454 -> Type) -> Type) (l_a36LL :: NonEmpty a6989586621679750452) (l_a36LJ :: TyFun (NonEmpty b6989586621679750453) (NonEmpty c6989586621679750454))
type ZipWithSym3 (t_a36LG :: TyFun a6989586621679750452 (TyFun b6989586621679750453 c6989586621679750454 -> Type) -> Type) (t_a36LH :: NonEmpty a6989586621679750452) (t_a36LI :: NonEmpty b6989586621679750453) = ZipWith t_a36LG t_a36LH t_a36LI
data UnzipSym0 (l_a36KF :: TyFun (NonEmpty (a6989586621679750450, b6989586621679750451)) (NonEmpty a6989586621679750450, NonEmpty b6989586621679750451))
type UnzipSym1 (t_a36KE :: NonEmpty (a6989586621679750450, b6989586621679750451)) = Unzip t_a36KE
data FromListSym0 (l_a36Tx :: TyFun [a6989586621679750496] (NonEmpty a6989586621679750496))
type FromListSym1 (t_a36Tw :: [a6989586621679750496]) = FromList t_a36Tw
data ToListSym0 (l_a36Ry :: TyFun (NonEmpty a6989586621679750495) [a6989586621679750495])
type ToListSym1 (t_a36Rx :: NonEmpty a6989586621679750495) = ToList t_a36Rx
data NonEmpty_Sym0 (l_a36Y0 :: TyFun [a6989586621679750507] (Maybe (NonEmpty a6989586621679750507)))
type NonEmpty_Sym1 (t_a36XZ :: [a6989586621679750507]) = NonEmpty_ t_a36XZ
data XorSym0 (l_a36YB :: TyFun (NonEmpty Bool) Bool)
type XorSym1 (t_a36YA :: NonEmpty Bool) = Xor t_a36YA
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.Let6989586621679750881GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750881GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750881GoSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750881GoSym2
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.Let6989586621679751602Xor'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751602Xor'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751602Xor'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751602Xor'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751582Scrutinee_6989586621679750675Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751582Scrutinee_6989586621679750675Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751546Scrutinee_6989586621679750677Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751546Scrutinee_6989586621679750677Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751513GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751513GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751513GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751528Scrutinee_6989586621679750679Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751528Scrutinee_6989586621679750679Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751528Scrutinee_6989586621679750679Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751042X_6989586621679751043Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751042X_6989586621679751043Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751042X_6989586621679751043Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751042YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751042YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751042YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751042ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751042ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679751042ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750908X_6989586621679750909Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750908X_6989586621679750909Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750908X_6989586621679750909Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750908X_6989586621679750909Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750908X_6989586621679750909Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750908YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750908YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750908YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750908YsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750908YsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750908ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750908ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750908ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750908ZsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750908ZsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750739X_6989586621679750740Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750739X_6989586621679750740Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750739X_6989586621679750740Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750739AsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750739AsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750739AsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750739BsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750739BsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679750739BsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621679750703Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621679750703Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621679750703Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621679750703Sym3


-- | 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_aXoI :: TyFun a6989586621679075587 (TyFun [a6989586621679075587] (NonEmpty a6989586621679075587) -> Type))
data (:|$$) (l_aXoG :: a6989586621679075587) (l_aXoF :: TyFun [a6989586621679075587] (NonEmpty a6989586621679075587))
type (:|$$$) (t_aXoD :: a6989586621679075587) (t_aXoE :: [a6989586621679075587]) = (:|) t_aXoD t_aXoE
data MapSym0 (l_a36Rq :: TyFun (TyFun a6989586621679750491 b6989586621679750492 -> Type) (TyFun (NonEmpty a6989586621679750491) (NonEmpty b6989586621679750492) -> Type))
data MapSym1 (l_a36Ro :: TyFun a6989586621679750491 b6989586621679750492 -> Type) (l_a36Rn :: TyFun (NonEmpty a6989586621679750491) (NonEmpty b6989586621679750492))
type MapSym2 (t_a36Rl :: TyFun a6989586621679750491 b6989586621679750492 -> Type) (t_a36Rm :: NonEmpty a6989586621679750491) = Map t_a36Rl t_a36Rm
data IntersperseSym0 (l_a36R5 :: TyFun a6989586621679750481 (TyFun (NonEmpty a6989586621679750481) (NonEmpty a6989586621679750481) -> Type))
data IntersperseSym1 (l_a36R3 :: a6989586621679750481) (l_a36R2 :: TyFun (NonEmpty a6989586621679750481) (NonEmpty a6989586621679750481))
type IntersperseSym2 (t_a36R0 :: a6989586621679750481) (t_a36R1 :: NonEmpty a6989586621679750481) = Intersperse t_a36R0 t_a36R1
data ScanlSym0 (l_a36Vc :: TyFun (TyFun b6989586621679750486 (TyFun a6989586621679750487 b6989586621679750486 -> Type) -> Type) (TyFun b6989586621679750486 (TyFun [a6989586621679750487] (NonEmpty b6989586621679750486) -> Type) -> Type))
data ScanlSym1 (l_a36Va :: TyFun b6989586621679750486 (TyFun a6989586621679750487 b6989586621679750486 -> Type) -> Type) (l_a36V9 :: TyFun b6989586621679750486 (TyFun [a6989586621679750487] (NonEmpty b6989586621679750486) -> Type))
data ScanlSym2 (l_a36V6 :: TyFun b6989586621679750486 (TyFun a6989586621679750487 b6989586621679750486 -> Type) -> Type) (l_a36V7 :: b6989586621679750486) (l_a36V5 :: TyFun [a6989586621679750487] (NonEmpty b6989586621679750486))
type ScanlSym3 (t_a36V2 :: TyFun b6989586621679750486 (TyFun a6989586621679750487 b6989586621679750486 -> Type) -> Type) (t_a36V3 :: b6989586621679750486) (t_a36V4 :: [a6989586621679750487]) = Scanl t_a36V2 t_a36V3 t_a36V4
data ScanrSym0 (l_a36Vw :: TyFun (TyFun a6989586621679750484 (TyFun b6989586621679750485 b6989586621679750485 -> Type) -> Type) (TyFun b6989586621679750485 (TyFun [a6989586621679750484] (NonEmpty b6989586621679750485) -> Type) -> Type))
data ScanrSym1 (l_a36Vu :: TyFun a6989586621679750484 (TyFun b6989586621679750485 b6989586621679750485 -> Type) -> Type) (l_a36Vt :: TyFun b6989586621679750485 (TyFun [a6989586621679750484] (NonEmpty b6989586621679750485) -> Type))
data ScanrSym2 (l_a36Vq :: TyFun a6989586621679750484 (TyFun b6989586621679750485 b6989586621679750485 -> Type) -> Type) (l_a36Vr :: b6989586621679750485) (l_a36Vp :: TyFun [a6989586621679750484] (NonEmpty b6989586621679750485))
type ScanrSym3 (t_a36Vm :: TyFun a6989586621679750484 (TyFun b6989586621679750485 b6989586621679750485 -> Type) -> Type) (t_a36Vn :: b6989586621679750485) (t_a36Vo :: [a6989586621679750484]) = Scanr t_a36Vm t_a36Vn t_a36Vo
data Scanl1Sym0 (l_a36VL :: TyFun (TyFun a6989586621679750483 (TyFun a6989586621679750483 a6989586621679750483 -> Type) -> Type) (TyFun (NonEmpty a6989586621679750483) (NonEmpty a6989586621679750483) -> Type))
data Scanl1Sym1 (l_a36VJ :: TyFun a6989586621679750483 (TyFun a6989586621679750483 a6989586621679750483 -> Type) -> Type) (l_a36VI :: TyFun (NonEmpty a6989586621679750483) (NonEmpty a6989586621679750483))
type Scanl1Sym2 (t_a36VG :: TyFun a6989586621679750483 (TyFun a6989586621679750483 a6989586621679750483 -> Type) -> Type) (t_a36VH :: NonEmpty a6989586621679750483) = Scanl1 t_a36VG t_a36VH
data Scanr1Sym0 (l_a36VX :: TyFun (TyFun a6989586621679750482 (TyFun a6989586621679750482 a6989586621679750482 -> Type) -> Type) (TyFun (NonEmpty a6989586621679750482) (NonEmpty a6989586621679750482) -> Type))
data Scanr1Sym1 (l_a36VV :: TyFun a6989586621679750482 (TyFun a6989586621679750482 a6989586621679750482 -> Type) -> Type) (l_a36VU :: TyFun (NonEmpty a6989586621679750482) (NonEmpty a6989586621679750482))
type Scanr1Sym2 (t_a36VS :: TyFun a6989586621679750482 (TyFun a6989586621679750482 a6989586621679750482 -> Type) -> Type) (t_a36VT :: NonEmpty a6989586621679750482) = Scanr1 t_a36VS t_a36VT
data TransposeSym0 (l_a36Zq :: TyFun (NonEmpty (NonEmpty a6989586621679750447)) (NonEmpty (NonEmpty a6989586621679750447)))
type TransposeSym1 (t_a36Zp :: NonEmpty (NonEmpty a6989586621679750447)) = Transpose t_a36Zp
data SortBySym0 (l_a36U1 :: TyFun (TyFun a6989586621679750446 (TyFun a6989586621679750446 Ordering -> Type) -> Type) (TyFun (NonEmpty a6989586621679750446) (NonEmpty a6989586621679750446) -> Type))
data SortBySym1 (l_a36TZ :: TyFun a6989586621679750446 (TyFun a6989586621679750446 Ordering -> Type) -> Type) (l_a36TY :: TyFun (NonEmpty a6989586621679750446) (NonEmpty a6989586621679750446))
type SortBySym2 (t_a36TW :: TyFun a6989586621679750446 (TyFun a6989586621679750446 Ordering -> Type) -> Type) (t_a36TX :: NonEmpty a6989586621679750446) = SortBy t_a36TW t_a36TX
data SortWithSym0 (l_a36Ui :: TyFun (TyFun a6989586621679750445 o6989586621679750444 -> Type) (TyFun (NonEmpty a6989586621679750445) (NonEmpty a6989586621679750445) -> Type))
data SortWithSym1 (l_a36Ug :: TyFun a6989586621679750445 o6989586621679750444 -> Type) (l_a36Uf :: TyFun (NonEmpty a6989586621679750445) (NonEmpty a6989586621679750445))
type SortWithSym2 (t_a36Ud :: TyFun a6989586621679750445 o6989586621679750444 -> Type) (t_a36Ue :: NonEmpty a6989586621679750445) = SortWith t_a36Ud t_a36Ue
data LengthSym0 (l_a36Z4 :: TyFun (NonEmpty a6989586621679750510) Nat)
type LengthSym1 (t_a36Z3 :: NonEmpty a6989586621679750510) = Length t_a36Z3
data HeadSym0 (l_a36WX :: TyFun (NonEmpty a6989586621679750503) a6989586621679750503)
type HeadSym1 (t_a36WW :: NonEmpty a6989586621679750503) = Head t_a36WW
data TailSym0 (l_a36WP :: TyFun (NonEmpty a6989586621679750502) [a6989586621679750502])
type TailSym1 (t_a36WO :: NonEmpty a6989586621679750502) = Tail t_a36WO
data LastSym0 (l_a36WJ :: TyFun (NonEmpty a6989586621679750501) a6989586621679750501)
type LastSym1 (t_a36WI :: NonEmpty a6989586621679750501) = Last t_a36WI
data InitSym0 (l_a36WD :: TyFun (NonEmpty a6989586621679750500) [a6989586621679750500])
type InitSym1 (t_a36WC :: NonEmpty a6989586621679750500) = Init t_a36WC
data (:<|$) (l_a36Wg :: TyFun a6989586621679750499 (TyFun (NonEmpty a6989586621679750499) (NonEmpty a6989586621679750499) -> Type))
data (:<|$$) (l_a36We :: a6989586621679750499) (l_a36Wd :: TyFun (NonEmpty a6989586621679750499) (NonEmpty a6989586621679750499))
type (:<|$$$) (t_a36Wb :: a6989586621679750499) (t_a36Wc :: NonEmpty a6989586621679750499) = (:<|) t_a36Wb t_a36Wc
data ConsSym0 (l_a36Ww :: TyFun a6989586621679750498 (TyFun (NonEmpty a6989586621679750498) (NonEmpty a6989586621679750498) -> Type))
data ConsSym1 (l_a36Wu :: a6989586621679750498) (l_a36Wt :: TyFun (NonEmpty a6989586621679750498) (NonEmpty a6989586621679750498))
type ConsSym2 (t_a36Wr :: a6989586621679750498) (t_a36Ws :: NonEmpty a6989586621679750498) = Cons t_a36Wr t_a36Ws
data UnconsSym0 (l_a36Y6 :: TyFun (NonEmpty a6989586621679750506) (a6989586621679750506, Maybe (NonEmpty a6989586621679750506)))
type UnconsSym1 (t_a36Y5 :: NonEmpty a6989586621679750506) = Uncons t_a36Y5
data UnfoldrSym0 (l_a36X9 :: TyFun (TyFun a6989586621679750504 (b6989586621679750505, Maybe a6989586621679750504) -> Type) (TyFun a6989586621679750504 (NonEmpty b6989586621679750505) -> Type))
data UnfoldrSym1 (l_a36X7 :: TyFun a6989586621679750504 (b6989586621679750505, Maybe a6989586621679750504) -> Type) (l_a36X6 :: TyFun a6989586621679750504 (NonEmpty b6989586621679750505))
type UnfoldrSym2 (t_a36X4 :: TyFun a6989586621679750504 (b6989586621679750505, Maybe a6989586621679750504) -> Type) (t_a36X5 :: a6989586621679750504) = Unfoldr t_a36X4 t_a36X5
data SortSym0 (l_a36W7 :: TyFun (NonEmpty a6989586621679750497) (NonEmpty a6989586621679750497))
type SortSym1 (t_a36W6 :: NonEmpty a6989586621679750497) = Sort t_a36W6
data ReverseSym0 (l_a36TS :: TyFun (NonEmpty a6989586621679750480) (NonEmpty a6989586621679750480))
type ReverseSym1 (t_a36TR :: NonEmpty a6989586621679750480) = Reverse t_a36TR
data InitsSym0 (l_a36UE :: TyFun [a6989586621679750490] (NonEmpty [a6989586621679750490]))
type InitsSym1 (t_a36UD :: [a6989586621679750490]) = Inits t_a36UD
data TailsSym0 (l_a36UL :: TyFun [a6989586621679750489] (NonEmpty [a6989586621679750489]))
type TailsSym1 (t_a36UK :: [a6989586621679750489]) = Tails t_a36UK
data UnfoldSym0 (l_a36Yg :: TyFun (TyFun a6989586621679750508 (b6989586621679750509, Maybe a6989586621679750508) -> Type) (TyFun a6989586621679750508 (NonEmpty b6989586621679750509) -> Type))
data UnfoldSym1 (l_a36Ye :: TyFun a6989586621679750508 (b6989586621679750509, Maybe a6989586621679750508) -> Type) (l_a36Yd :: TyFun a6989586621679750508 (NonEmpty b6989586621679750509))
data InsertSym0 (l_a36UU :: TyFun a6989586621679750488 (TyFun [a6989586621679750488] (NonEmpty a6989586621679750488) -> Type))
data InsertSym1 (l_a36US :: a6989586621679750488) (l_a36UR :: TyFun [a6989586621679750488] (NonEmpty a6989586621679750488))
type InsertSym2 (t_a36UP :: a6989586621679750488) (t_a36UQ :: [a6989586621679750488]) = Insert t_a36UP t_a36UQ
data TakeSym0 (l_a36RI :: TyFun Nat (TyFun (NonEmpty a6989586621679750479) [a6989586621679750479] -> Type))
data TakeSym1 (l_a36RG :: Nat) (l_a36RF :: TyFun (NonEmpty a6989586621679750479) [a6989586621679750479])
type TakeSym2 (t_a36RD :: Nat) (t_a36RE :: NonEmpty a6989586621679750479) = Take t_a36RD t_a36RE
data DropSym0 (l_a36RV :: TyFun Nat (TyFun (NonEmpty a6989586621679750478) [a6989586621679750478] -> Type))
data DropSym1 (l_a36RT :: Nat) (l_a36RS :: TyFun (NonEmpty a6989586621679750478) [a6989586621679750478])
type DropSym2 (t_a36RQ :: Nat) (t_a36RR :: NonEmpty a6989586621679750478) = Drop t_a36RQ t_a36RR
data SplitAtSym0 (l_a36S8 :: TyFun Nat (TyFun (NonEmpty a6989586621679750477) ([a6989586621679750477], [a6989586621679750477]) -> Type))
data SplitAtSym1 (l_a36S6 :: Nat) (l_a36S5 :: TyFun (NonEmpty a6989586621679750477) ([a6989586621679750477], [a6989586621679750477]))
type SplitAtSym2 (t_a36S3 :: Nat) (t_a36S4 :: NonEmpty a6989586621679750477) = SplitAt t_a36S3 t_a36S4
data TakeWhileSym0 (l_a36Sl :: TyFun (TyFun a6989586621679750476 Bool -> Type) (TyFun (NonEmpty a6989586621679750476) [a6989586621679750476] -> Type))
data TakeWhileSym1 (l_a36Sj :: TyFun a6989586621679750476 Bool -> Type) (l_a36Si :: TyFun (NonEmpty a6989586621679750476) [a6989586621679750476])
type TakeWhileSym2 (t_a36Sg :: TyFun a6989586621679750476 Bool -> Type) (t_a36Sh :: NonEmpty a6989586621679750476) = TakeWhile t_a36Sg t_a36Sh
data DropWhileSym0 (l_a36Sy :: TyFun (TyFun a6989586621679750475 Bool -> Type) (TyFun (NonEmpty a6989586621679750475) [a6989586621679750475] -> Type))
data DropWhileSym1 (l_a36Sw :: TyFun a6989586621679750475 Bool -> Type) (l_a36Sv :: TyFun (NonEmpty a6989586621679750475) [a6989586621679750475])
type DropWhileSym2 (t_a36St :: TyFun a6989586621679750475 Bool -> Type) (t_a36Su :: NonEmpty a6989586621679750475) = DropWhile t_a36St t_a36Su
data SpanSym0 (l_a36SL :: TyFun (TyFun a6989586621679750474 Bool -> Type) (TyFun (NonEmpty a6989586621679750474) ([a6989586621679750474], [a6989586621679750474]) -> Type))
data SpanSym1 (l_a36SJ :: TyFun a6989586621679750474 Bool -> Type) (l_a36SI :: TyFun (NonEmpty a6989586621679750474) ([a6989586621679750474], [a6989586621679750474]))
type SpanSym2 (t_a36SG :: TyFun a6989586621679750474 Bool -> Type) (t_a36SH :: NonEmpty a6989586621679750474) = Span t_a36SG t_a36SH
data BreakSym0 (l_a36SY :: TyFun (TyFun a6989586621679750473 Bool -> Type) (TyFun (NonEmpty a6989586621679750473) ([a6989586621679750473], [a6989586621679750473]) -> Type))
data BreakSym1 (l_a36SW :: TyFun a6989586621679750473 Bool -> Type) (l_a36SV :: TyFun (NonEmpty a6989586621679750473) ([a6989586621679750473], [a6989586621679750473]))
type BreakSym2 (t_a36ST :: TyFun a6989586621679750473 Bool -> Type) (t_a36SU :: NonEmpty a6989586621679750473) = Break t_a36ST t_a36SU
data FilterSym0 (l_a36Tb :: TyFun (TyFun a6989586621679750472 Bool -> Type) (TyFun (NonEmpty a6989586621679750472) [a6989586621679750472] -> Type))
data FilterSym1 (l_a36T9 :: TyFun a6989586621679750472 Bool -> Type) (l_a36T8 :: TyFun (NonEmpty a6989586621679750472) [a6989586621679750472])
type FilterSym2 (t_a36T6 :: TyFun a6989586621679750472 Bool -> Type) (t_a36T7 :: NonEmpty a6989586621679750472) = Filter t_a36T6 t_a36T7
data PartitionSym0 (l_a36To :: TyFun (TyFun a6989586621679750471 Bool -> Type) (TyFun (NonEmpty a6989586621679750471) ([a6989586621679750471], [a6989586621679750471]) -> Type))
data PartitionSym1 (l_a36Tm :: TyFun a6989586621679750471 Bool -> Type) (l_a36Tl :: TyFun (NonEmpty a6989586621679750471) ([a6989586621679750471], [a6989586621679750471]))
type PartitionSym2 (t_a36Tj :: TyFun a6989586621679750471 Bool -> Type) (t_a36Tk :: NonEmpty a6989586621679750471) = Partition t_a36Tj t_a36Tk
data GroupSym0 (l_a36QW :: TyFun [a6989586621679750470] [NonEmpty a6989586621679750470])
type GroupSym1 (t_a36QV :: [a6989586621679750470]) = Group t_a36QV
data GroupBySym0 (l_a36MV :: TyFun (TyFun a6989586621679750469 (TyFun a6989586621679750469 Bool -> Type) -> Type) (TyFun [a6989586621679750469] [NonEmpty a6989586621679750469] -> Type))
data GroupBySym1 (l_a36MT :: TyFun a6989586621679750469 (TyFun a6989586621679750469 Bool -> Type) -> Type) (l_a36MS :: TyFun [a6989586621679750469] [NonEmpty a6989586621679750469])
type GroupBySym2 (t_a36MQ :: TyFun a6989586621679750469 (TyFun a6989586621679750469 Bool -> Type) -> Type) (t_a36MR :: [a6989586621679750469]) = GroupBy t_a36MQ t_a36MR
data GroupWithSym0 (l_a36P7 :: TyFun (TyFun a6989586621679750468 b6989586621679750467 -> Type) (TyFun [a6989586621679750468] [NonEmpty a6989586621679750468] -> Type))
data GroupWithSym1 (l_a36P5 :: TyFun a6989586621679750468 b6989586621679750467 -> Type) (l_a36P4 :: TyFun [a6989586621679750468] [NonEmpty a6989586621679750468])
type GroupWithSym2 (t_a36P2 :: TyFun a6989586621679750468 b6989586621679750467 -> Type) (t_a36P3 :: [a6989586621679750468]) = GroupWith t_a36P2 t_a36P3
data GroupAllWithSym0 (l_a36Pk :: TyFun (TyFun a6989586621679750466 b6989586621679750465 -> Type) (TyFun [a6989586621679750466] [NonEmpty a6989586621679750466] -> Type))
data GroupAllWithSym1 (l_a36Pi :: TyFun a6989586621679750466 b6989586621679750465 -> Type) (l_a36Ph :: TyFun [a6989586621679750466] [NonEmpty a6989586621679750466])
type GroupAllWithSym2 (t_a36Pf :: TyFun a6989586621679750466 b6989586621679750465 -> Type) (t_a36Pg :: [a6989586621679750466]) = GroupAllWith t_a36Pf t_a36Pg
data Group1Sym0 (l_a36QC :: TyFun (NonEmpty a6989586621679750464) (NonEmpty (NonEmpty a6989586621679750464)))
type Group1Sym1 (t_a36QB :: NonEmpty a6989586621679750464) = Group1 t_a36QB
data GroupBy1Sym0 (l_a36Px :: TyFun (TyFun a6989586621679750463 (TyFun a6989586621679750463 Bool -> Type) -> Type) (TyFun (NonEmpty a6989586621679750463) (NonEmpty (NonEmpty a6989586621679750463)) -> Type))
data GroupBy1Sym1 (l_a36Pv :: TyFun a6989586621679750463 (TyFun a6989586621679750463 Bool -> Type) -> Type) (l_a36Pu :: TyFun (NonEmpty a6989586621679750463) (NonEmpty (NonEmpty a6989586621679750463)))
type GroupBy1Sym2 (t_a36Ps :: TyFun a6989586621679750463 (TyFun a6989586621679750463 Bool -> Type) -> Type) (t_a36Pt :: NonEmpty a6989586621679750463) = GroupBy1 t_a36Ps t_a36Pt
data GroupWith1Sym0 (l_a36QL :: TyFun (TyFun a6989586621679750462 b6989586621679750461 -> Type) (TyFun (NonEmpty a6989586621679750462) (NonEmpty (NonEmpty a6989586621679750462)) -> Type))
data GroupWith1Sym1 (l_a36QJ :: TyFun a6989586621679750462 b6989586621679750461 -> Type) (l_a36QI :: TyFun (NonEmpty a6989586621679750462) (NonEmpty (NonEmpty a6989586621679750462)))
type GroupWith1Sym2 (t_a36QG :: TyFun a6989586621679750462 b6989586621679750461 -> Type) (t_a36QH :: NonEmpty a6989586621679750462) = GroupWith1 t_a36QG t_a36QH
data GroupAllWith1Sym0 (l_a36Ut :: TyFun (TyFun a6989586621679750460 b6989586621679750459 -> Type) (TyFun (NonEmpty a6989586621679750460) (NonEmpty (NonEmpty a6989586621679750460)) -> Type))
data GroupAllWith1Sym1 (l_a36Ur :: TyFun a6989586621679750460 b6989586621679750459 -> Type) (l_a36Uq :: TyFun (NonEmpty a6989586621679750460) (NonEmpty (NonEmpty a6989586621679750460)))
type GroupAllWith1Sym2 (t_a36Uo :: TyFun a6989586621679750460 b6989586621679750459 -> Type) (t_a36Up :: NonEmpty a6989586621679750460) = GroupAllWith1 t_a36Uo t_a36Up
data IsPrefixOfSym0 (l_a36MF :: TyFun [a6989586621679750458] (TyFun (NonEmpty a6989586621679750458) Bool -> Type))
data IsPrefixOfSym1 (l_a36MD :: [a6989586621679750458]) (l_a36MC :: TyFun (NonEmpty a6989586621679750458) Bool)
type IsPrefixOfSym2 (t_a36MA :: [a6989586621679750458]) (t_a36MB :: NonEmpty a6989586621679750458) = IsPrefixOf t_a36MA t_a36MB
data NubSym0 (l_a36KA :: TyFun (NonEmpty a6989586621679750449) (NonEmpty a6989586621679750449))
type NubSym1 (t_a36Kz :: NonEmpty a6989586621679750449) = Nub t_a36Kz
data NubBySym0 (l_a36K4 :: TyFun (TyFun a6989586621679750448 (TyFun a6989586621679750448 Bool -> Type) -> Type) (TyFun (NonEmpty a6989586621679750448) (NonEmpty a6989586621679750448) -> Type))
data NubBySym1 (l_a36K2 :: TyFun a6989586621679750448 (TyFun a6989586621679750448 Bool -> Type) -> Type) (l_a36K1 :: TyFun (NonEmpty a6989586621679750448) (NonEmpty a6989586621679750448))
type NubBySym2 (t_a36JZ :: TyFun a6989586621679750448 (TyFun a6989586621679750448 Bool -> Type) -> Type) (t_a36K0 :: NonEmpty a6989586621679750448) = NubBy t_a36JZ t_a36K0
data (:!!$) (l_a36Mi :: TyFun (NonEmpty a6989586621679750457) (TyFun Nat a6989586621679750457 -> Type))
data (:!!$$) (l_a36Mg :: NonEmpty a6989586621679750457) (l_a36Mf :: TyFun Nat a6989586621679750457)
type (:!!$$$) (t_a36Md :: NonEmpty a6989586621679750457) (t_a36Me :: Nat) = (:!!) t_a36Md t_a36Me
data ZipSym0 (l_a36M5 :: TyFun (NonEmpty a6989586621679750455) (TyFun (NonEmpty b6989586621679750456) (NonEmpty (a6989586621679750455, b6989586621679750456)) -> Type))
data ZipSym1 (l_a36M3 :: NonEmpty a6989586621679750455) (l_a36M2 :: TyFun (NonEmpty b6989586621679750456) (NonEmpty (a6989586621679750455, b6989586621679750456)))
type ZipSym2 (t_a36M0 :: NonEmpty a6989586621679750455) (t_a36M1 :: NonEmpty b6989586621679750456) = Zip t_a36M0 t_a36M1
data ZipWithSym0 (l_a36LQ :: TyFun (TyFun a6989586621679750452 (TyFun b6989586621679750453 c6989586621679750454 -> Type) -> Type) (TyFun (NonEmpty a6989586621679750452) (TyFun (NonEmpty b6989586621679750453) (NonEmpty c6989586621679750454) -> Type) -> Type))
data ZipWithSym1 (l_a36LO :: TyFun a6989586621679750452 (TyFun b6989586621679750453 c6989586621679750454 -> Type) -> Type) (l_a36LN :: TyFun (NonEmpty a6989586621679750452) (TyFun (NonEmpty b6989586621679750453) (NonEmpty c6989586621679750454) -> Type))
data ZipWithSym2 (l_a36LK :: TyFun a6989586621679750452 (TyFun b6989586621679750453 c6989586621679750454 -> Type) -> Type) (l_a36LL :: NonEmpty a6989586621679750452) (l_a36LJ :: TyFun (NonEmpty b6989586621679750453) (NonEmpty c6989586621679750454))
type ZipWithSym3 (t_a36LG :: TyFun a6989586621679750452 (TyFun b6989586621679750453 c6989586621679750454 -> Type) -> Type) (t_a36LH :: NonEmpty a6989586621679750452) (t_a36LI :: NonEmpty b6989586621679750453) = ZipWith t_a36LG t_a36LH t_a36LI
data UnzipSym0 (l_a36KF :: TyFun (NonEmpty (a6989586621679750450, b6989586621679750451)) (NonEmpty a6989586621679750450, NonEmpty b6989586621679750451))
type UnzipSym1 (t_a36KE :: NonEmpty (a6989586621679750450, b6989586621679750451)) = Unzip t_a36KE
data FromListSym0 (l_a36Tx :: TyFun [a6989586621679750496] (NonEmpty a6989586621679750496))
type FromListSym1 (t_a36Tw :: [a6989586621679750496]) = FromList t_a36Tw
data ToListSym0 (l_a36Ry :: TyFun (NonEmpty a6989586621679750495) [a6989586621679750495])
type ToListSym1 (t_a36Rx :: NonEmpty a6989586621679750495) = ToList t_a36Rx
data NonEmpty_Sym0 (l_a36Y0 :: TyFun [a6989586621679750507] (Maybe (NonEmpty a6989586621679750507)))
type NonEmpty_Sym1 (t_a36XZ :: [a6989586621679750507]) = NonEmpty_ t_a36XZ
data XorSym0 (l_a36YB :: TyFun (NonEmpty Bool) Bool)
type XorSym1 (t_a36YA :: NonEmpty Bool) = Xor t_a36YA


-- | Defines the promoted and singleton version of Bounded, <a>PBounded</a>
--   and <a>SBounded</a>
module Data.Singletons.Prelude.Enum
class PBounded (a_a3qMh :: Type) where {
    type family MinBound :: a_a3qMh;
    type family MaxBound :: a_a3qMh;
}
class SBounded a_a3qMh
sMinBound :: SBounded a_a3qMh => Sing (MinBoundSym0 :: a_a3qMh)
sMaxBound :: SBounded a_a3qMh => Sing (MaxBoundSym0 :: a_a3qMh)
class PEnum (a_a3rPn :: Type) where {
    type family Succ (arg_a3rXX :: a_a3rPn) :: a_a3rPn;
    type family Pred (arg_a3rY1 :: a_a3rPn) :: a_a3rPn;
    type family ToEnum (arg_a3rY5 :: Nat) :: a_a3rPn;
    type family FromEnum (arg_a3rY9 :: a_a3rPn) :: Nat;
    type family EnumFromTo (arg_a3rYd :: a_a3rPn) (arg_a3rYe :: a_a3rPn) :: [a_a3rPn];
    type family EnumFromThenTo (arg_a3rYm :: a_a3rPn) (arg_a3rYn :: a_a3rPn) (arg_a3rYo :: a_a3rPn) :: [a_a3rPn];
    type Succ a_a3rYT = Apply Succ_6989586621679832340Sym0 a_a3rYT;
    type Pred a_a3rZ6 = Apply Pred_6989586621679832353Sym0 a_a3rZ6;
    type EnumFromTo a_a3rZn a_a3rZo =
        Apply (Apply EnumFromTo_6989586621679832371Sym0 a_a3rZn) a_a3rZo;
    type EnumFromThenTo a_a3rZQ a_a3rZR a_a3rZS =
        Apply (Apply (Apply EnumFromThenTo_6989586621679832401Sym0 a_a3rZQ) a_a3rZR) a_a3rZS;
}
class SEnum a_a3rPn
sSucc :: forall (t_a3s2q :: a_a3rPn). SEnum a_a3rPn => Sing t_a3s2q -> Sing (Apply SuccSym0 t_a3s2q :: a_a3rPn)
sPred :: forall (t_a3s2r :: a_a3rPn). SEnum a_a3rPn => Sing t_a3s2r -> Sing (Apply PredSym0 t_a3s2r :: a_a3rPn)
sToEnum :: forall (t_a3s2s :: Nat). SEnum a_a3rPn => Sing t_a3s2s -> Sing (Apply ToEnumSym0 t_a3s2s :: a_a3rPn)
sFromEnum :: forall (t_a3s2t :: a_a3rPn). SEnum a_a3rPn => Sing t_a3s2t -> Sing (Apply FromEnumSym0 t_a3s2t :: Nat)
sEnumFromTo :: forall (t_a3s2u :: a_a3rPn) (t_a3s2v :: a_a3rPn). SEnum a_a3rPn => Sing t_a3s2u -> Sing t_a3s2v -> Sing (Apply (Apply EnumFromToSym0 t_a3s2u) t_a3s2v :: [a_a3rPn])
sEnumFromThenTo :: forall (t_a3s2w :: a_a3rPn) (t_a3s2x :: a_a3rPn) (t_a3s2y :: a_a3rPn). SEnum a_a3rPn => Sing t_a3s2w -> Sing t_a3s2x -> Sing t_a3s2y -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3s2w) t_a3s2x) t_a3s2y :: [a_a3rPn])
sSucc :: forall (t_a3s2q :: a_a3rPn). (SEnum a_a3rPn, (Apply SuccSym0 t_a3s2q :: a_a3rPn) ~ Apply Succ_6989586621679832340Sym0 t_a3s2q) => Sing t_a3s2q -> Sing (Apply SuccSym0 t_a3s2q :: a_a3rPn)
sPred :: forall (t_a3s2r :: a_a3rPn). (SEnum a_a3rPn, (Apply PredSym0 t_a3s2r :: a_a3rPn) ~ Apply Pred_6989586621679832353Sym0 t_a3s2r) => Sing t_a3s2r -> Sing (Apply PredSym0 t_a3s2r :: a_a3rPn)
sEnumFromTo :: forall (t_a3s2u :: a_a3rPn) (t_a3s2v :: a_a3rPn). (SEnum a_a3rPn, (Apply (Apply EnumFromToSym0 t_a3s2u) t_a3s2v :: [a_a3rPn]) ~ Apply (Apply EnumFromTo_6989586621679832371Sym0 t_a3s2u) t_a3s2v) => Sing t_a3s2u -> Sing t_a3s2v -> Sing (Apply (Apply EnumFromToSym0 t_a3s2u) t_a3s2v :: [a_a3rPn])
sEnumFromThenTo :: forall (t_a3s2w :: a_a3rPn) (t_a3s2x :: a_a3rPn) (t_a3s2y :: a_a3rPn). (SEnum a_a3rPn, (Apply (Apply (Apply EnumFromThenToSym0 t_a3s2w) t_a3s2x) t_a3s2y :: [a_a3rPn]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679832401Sym0 t_a3s2w) t_a3s2x) t_a3s2y) => Sing t_a3s2w -> Sing t_a3s2x -> Sing t_a3s2y -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3s2w) t_a3s2x) t_a3s2y :: [a_a3rPn])
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data SuccSym0 (l_a3rXZ :: TyFun a6989586621679831749 a6989586621679831749)
type SuccSym1 (t_a3rXY :: a6989586621679831749) = Succ t_a3rXY
data PredSym0 (l_a3rY3 :: TyFun a6989586621679831749 a6989586621679831749)
type PredSym1 (t_a3rY2 :: a6989586621679831749) = Pred t_a3rY2
data ToEnumSym0 (l_a3rY7 :: TyFun Nat a6989586621679831749)
type ToEnumSym1 (t_a3rY6 :: Nat) = ToEnum t_a3rY6
data FromEnumSym0 (l_a3rYb :: TyFun a6989586621679831749 Nat)
type FromEnumSym1 (t_a3rYa :: a6989586621679831749) = FromEnum t_a3rYa
data EnumFromToSym0 (l_a3rYk :: TyFun a6989586621679831749 (TyFun a6989586621679831749 [a6989586621679831749] -> Type))
data EnumFromToSym1 (l_a3rYi :: a6989586621679831749) (l_a3rYh :: TyFun a6989586621679831749 [a6989586621679831749])
type EnumFromToSym2 (t_a3rYf :: a6989586621679831749) (t_a3rYg :: a6989586621679831749) = EnumFromTo t_a3rYf t_a3rYg
data EnumFromThenToSym0 (l_a3rYz :: TyFun a6989586621679831749 (TyFun a6989586621679831749 (TyFun a6989586621679831749 [a6989586621679831749] -> Type) -> Type))
data EnumFromThenToSym1 (l_a3rYx :: a6989586621679831749) (l_a3rYw :: TyFun a6989586621679831749 (TyFun a6989586621679831749 [a6989586621679831749] -> Type))
data EnumFromThenToSym2 (l_a3rYt :: a6989586621679831749) (l_a3rYu :: a6989586621679831749) (l_a3rYs :: TyFun a6989586621679831749 [a6989586621679831749])
type EnumFromThenToSym3 (t_a3rYp :: a6989586621679831749) (t_a3rYq :: a6989586621679831749) (t_a3rYr :: a6989586621679831749) = EnumFromThenTo t_a3rYp t_a3rYq t_a3rYr
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679850859Sym0
instance Data.Singletons.Prelude.Enum.PEnum ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679850849Sym0
instance Data.Singletons.Prelude.Enum.SEnum ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679850834Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679850824Sym0
instance Data.Singletons.Prelude.Enum.SEnum GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679850802Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679850792Sym0
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_6989586621679832512Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Nat
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679832512Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679832512Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679832476Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679832476Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679832454Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679832443Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Pred_6989586621679832432Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Succ_6989586621679832421Sym0
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_6989586621679832340Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Pred_6989586621679832353Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679832371Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679832371Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679832401Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679832401Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679832401Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Lambda_6989586621679832328Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Lambda_6989586621679832328Sym1
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.Let6989586621679832220GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832220GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832220GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832220GoSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832220GoSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832248Scrutinee_6989586621679831786Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832248Scrutinee_6989586621679831786Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832248Scrutinee_6989586621679831786Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832248Scrutinee_6989586621679831786Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832248Scrutinee_6989586621679831786Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832058Go_upSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832058Go_upSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832058Go_upSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832058Go_upSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832058Go_upSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832058Go_upSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832058Go_upSym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832058Y'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832058Y'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832058Y'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832058Y'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832058Y'Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832058Y'Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832058DeltaSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832058DeltaSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832058DeltaSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832058DeltaSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832058DeltaSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832058DeltaSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832021Scrutinee_6989586621679831800Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832021Scrutinee_6989586621679831800Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832021Scrutinee_6989586621679831800Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832021Scrutinee_6989586621679831800Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832021Scrutinee_6989586621679831800Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679832021Scrutinee_6989586621679831800Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831876Go_dnSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831876Go_dnSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831876Go_dnSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831876Go_dnSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831876Go_dnSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831876Go_dnSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831876Go_dnSym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831876Y'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831876Y'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831876Y'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831876Y'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831876Y'Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831876Y'Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831876DeltaSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831876DeltaSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831876DeltaSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831876DeltaSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831876DeltaSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831876DeltaSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831839Scrutinee_6989586621679831810Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831839Scrutinee_6989586621679831810Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831839Scrutinee_6989586621679831810Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831839Scrutinee_6989586621679831810Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831839Scrutinee_6989586621679831810Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679831839Scrutinee_6989586621679831810Sym5
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_a3qMh :: Type) where {
    type family MinBound :: a_a3qMh;
    type family MaxBound :: a_a3qMh;
}
class PEnum (a_a3rPn :: Type) where {
    type family Succ (arg_a3rXX :: a_a3rPn) :: a_a3rPn;
    type family Pred (arg_a3rY1 :: a_a3rPn) :: a_a3rPn;
    type family ToEnum (arg_a3rY5 :: Nat) :: a_a3rPn;
    type family FromEnum (arg_a3rY9 :: a_a3rPn) :: Nat;
    type family EnumFromTo (arg_a3rYd :: a_a3rPn) (arg_a3rYe :: a_a3rPn) :: [a_a3rPn];
    type family EnumFromThenTo (arg_a3rYm :: a_a3rPn) (arg_a3rYn :: a_a3rPn) (arg_a3rYo :: a_a3rPn) :: [a_a3rPn];
    type Succ a_a3rYT = Apply Succ_6989586621679832340Sym0 a_a3rYT;
    type Pred a_a3rZ6 = Apply Pred_6989586621679832353Sym0 a_a3rZ6;
    type EnumFromTo a_a3rZn a_a3rZo =
        Apply (Apply EnumFromTo_6989586621679832371Sym0 a_a3rZn) a_a3rZo;
    type EnumFromThenTo a_a3rZQ a_a3rZR a_a3rZS =
        Apply (Apply (Apply EnumFromThenTo_6989586621679832401Sym0 a_a3rZQ) a_a3rZR) a_a3rZS;
}
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data SuccSym0 (l_a3rXZ :: TyFun a6989586621679831749 a6989586621679831749)
type SuccSym1 (t_a3rXY :: a6989586621679831749) = Succ t_a3rXY
data PredSym0 (l_a3rY3 :: TyFun a6989586621679831749 a6989586621679831749)
type PredSym1 (t_a3rY2 :: a6989586621679831749) = Pred t_a3rY2
data ToEnumSym0 (l_a3rY7 :: TyFun Nat a6989586621679831749)
type ToEnumSym1 (t_a3rY6 :: Nat) = ToEnum t_a3rY6
data FromEnumSym0 (l_a3rYb :: TyFun a6989586621679831749 Nat)
type FromEnumSym1 (t_a3rYa :: a6989586621679831749) = FromEnum t_a3rYa
data EnumFromToSym0 (l_a3rYk :: TyFun a6989586621679831749 (TyFun a6989586621679831749 [a6989586621679831749] -> Type))
data EnumFromToSym1 (l_a3rYi :: a6989586621679831749) (l_a3rYh :: TyFun a6989586621679831749 [a6989586621679831749])
type EnumFromToSym2 (t_a3rYf :: a6989586621679831749) (t_a3rYg :: a6989586621679831749) = EnumFromTo t_a3rYf t_a3rYg
data EnumFromThenToSym0 (l_a3rYz :: TyFun a6989586621679831749 (TyFun a6989586621679831749 (TyFun a6989586621679831749 [a6989586621679831749] -> Type) -> Type))
data EnumFromThenToSym1 (l_a3rYx :: a6989586621679831749) (l_a3rYw :: TyFun a6989586621679831749 (TyFun a6989586621679831749 [a6989586621679831749] -> Type))
data EnumFromThenToSym2 (l_a3rYt :: a6989586621679831749) (l_a3rYu :: a6989586621679831749) (l_a3rYs :: TyFun a6989586621679831749 [a6989586621679831749])
type EnumFromThenToSym3 (t_a3rYp :: a6989586621679831749) (t_a3rYq :: a6989586621679831749) (t_a3rYr :: a6989586621679831749) = EnumFromThenTo t_a3rYp t_a3rYq t_a3rYr


-- | 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_ah74 b_ah75 -> 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_a19Yt :: Bool). Sing t_a19Yt -> Sing (Apply NotSym0 t_a19Yt :: Bool)
(%:&&) :: forall (t_a19Yw :: Bool) (t_a19Yx :: Bool). Sing t_a19Yw -> Sing t_a19Yx -> Sing (Apply (Apply (:&&$) t_a19Yw) t_a19Yx :: Bool)
infixr 3 %:&&
(%:||) :: forall (t_a19Yu :: Bool) (t_a19Yv :: Bool). Sing t_a19Yu -> Sing t_a19Yv -> Sing (Apply (Apply (:||$) t_a19Yu) t_a19Yv :: 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_a1HT1 :: TyFun k06989586621679415690 k6989586621679415692)

-- | The singleton for <a>error</a>
sError :: Sing (str :: Symbol) -> a
sId :: forall (t_a1aTo :: a_a1aPM). Sing t_a1aTo -> Sing (Apply IdSym0 t_a1aTo :: a_a1aPM)
sConst :: forall (t_a1aTk :: a_a1aPK) (t_a1aTl :: b_a1aPL). Sing t_a1aTk -> Sing t_a1aTl -> Sing (Apply (Apply ConstSym0 t_a1aTk) t_a1aTl :: a_a1aPK)
(%:.) :: forall (t_a1aTh :: TyFun b_a1aPH c_a1aPI -> Type) (t_a1aTi :: TyFun a_a1aPJ b_a1aPH -> Type) (t_a1aTj :: a_a1aPJ). Sing t_a1aTh -> Sing t_a1aTi -> Sing t_a1aTj -> Sing (Apply (Apply (Apply (:.$) t_a1aTh) t_a1aTi) t_a1aTj :: c_a1aPI)
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_a1aTe :: TyFun a_a1aPE (TyFun b_a1aPF c_a1aPG -> Type) -> Type) (t_a1aTf :: b_a1aPF) (t_a1aTg :: a_a1aPE). Sing t_a1aTe -> Sing t_a1aTf -> Sing t_a1aTg -> Sing (Apply (Apply (Apply FlipSym0 t_a1aTe) t_a1aTf) t_a1aTg :: c_a1aPG)
sAsTypeOf :: forall (t_a1aTm :: a_a1aPD) (t_a1aTn :: a_a1aPD). Sing t_a1aTm -> Sing t_a1aTn -> Sing (Apply (Apply AsTypeOfSym0 t_a1aTm) t_a1aTn :: a_a1aPD)
sSeq :: forall (t_a1aTc :: a_a1aPB) (t_a1aTd :: b_a1aPC). Sing t_a1aTc -> Sing t_a1aTd -> Sing (Apply (Apply SeqSym0 t_a1aTc) t_a1aTd :: b_a1aPC)
infixr 0 `sSeq`
sMap :: forall (t_a1aTr :: TyFun a_a1aPO b_a1aPP -> Type) (t_a1aTs :: [a_a1aPO]). Sing t_a1aTr -> Sing t_a1aTs -> Sing (Apply (Apply MapSym0 t_a1aTr) t_a1aTs :: [b_a1aPP])
(%:++) :: forall (t_a1aTp :: [a_a1aPN]) (t_a1aTq :: [a_a1aPN]). Sing t_a1aTp -> Sing t_a1aTq -> Sing (Apply (Apply (:++$) t_a1aTp) t_a1aTq :: [a_a1aPN])
infixr 5 %:++
sHead :: forall (t_a1XtE :: [a_a1Wpd]). Sing t_a1XtE -> Sing (Apply HeadSym0 t_a1XtE :: a_a1Wpd)
sLast :: forall (t_a1XtD :: [a_a1Wpc]). Sing t_a1XtD -> Sing (Apply LastSym0 t_a1XtD :: a_a1Wpc)
sTail :: forall (t_a1XtC :: [a_a1Wpb]). Sing t_a1XtC -> Sing (Apply TailSym0 t_a1XtC :: [a_a1Wpb])
sInit :: forall (t_a1XtB :: [a_a1Wpa]). Sing t_a1XtB -> Sing (Apply InitSym0 t_a1XtB :: [a_a1Wpa])
sNull :: forall (t_a1Xty :: [a_a1Wp9]). Sing t_a1Xty -> Sing (Apply NullSym0 t_a1Xty :: Bool)
sReverse :: forall (t_a1Xtv :: [a_a1Wp8]). Sing t_a1Xtv -> Sing (Apply ReverseSym0 t_a1Xtv :: [a_a1Wp8])
sFoldl :: forall (t_a10oB :: TyFun b_a10nD (TyFun a_a10nC b_a10nD -> Type) -> Type) (t_a10oC :: b_a10nD) (t_a10oD :: [a_a10nC]). Sing t_a10oB -> Sing t_a10oC -> Sing t_a10oD -> Sing (Apply (Apply (Apply FoldlSym0 t_a10oB) t_a10oC) t_a10oD :: b_a10nD)
sFoldl1 :: forall (t_a1Xt9 :: TyFun a_a1WoZ (TyFun a_a1WoZ a_a1WoZ -> Type) -> Type) (t_a1Xta :: [a_a1WoZ]). Sing t_a1Xt9 -> Sing t_a1Xta -> Sing (Apply (Apply Foldl1Sym0 t_a1Xt9) t_a1Xta :: a_a1WoZ)
sFoldr :: forall (t_a1aTt :: TyFun a_a1aPQ (TyFun b_a1aPR b_a1aPR -> Type) -> Type) (t_a1aTu :: b_a1aPR) (t_a1aTv :: [a_a1aPQ]). Sing t_a1aTt -> Sing t_a1aTu -> Sing t_a1aTv -> Sing (Apply (Apply (Apply FoldrSym0 t_a1aTt) t_a1aTu) t_a1aTv :: b_a1aPR)
sFoldr1 :: forall (t_a1Xt7 :: TyFun a_a1WoX (TyFun a_a1WoX a_a1WoX -> Type) -> Type) (t_a1Xt8 :: [a_a1WoX]). Sing t_a1Xt7 -> Sing t_a1Xt8 -> Sing (Apply (Apply Foldr1Sym0 t_a1Xt7) t_a1Xt8 :: a_a1WoX)
sAnd :: forall (t_a1Xt3 :: [Bool]). Sing t_a1Xt3 -> Sing (Apply AndSym0 t_a1Xt3 :: Bool)
sOr :: forall (t_a1Xt2 :: [Bool]). Sing t_a1Xt2 -> Sing (Apply OrSym0 t_a1Xt2 :: Bool)
sAny_ :: forall (t_a1TKr :: TyFun a_a1TK7 Bool -> Type) (t_a1TKs :: [a_a1TK7]). Sing t_a1TKr -> Sing t_a1TKs -> Sing (Apply (Apply Any_Sym0 t_a1TKr) t_a1TKs :: Bool)
sAll :: forall (t_a1Xt0 :: TyFun a_a1WoT Bool -> Type) (t_a1Xt1 :: [a_a1WoT]). Sing t_a1Xt0 -> Sing t_a1Xt1 -> Sing (Apply (Apply AllSym0 t_a1Xt0) t_a1Xt1 :: Bool)
sConcat :: forall (t_a1Xt6 :: [[a_a1WoW]]). Sing t_a1Xt6 -> Sing (Apply ConcatSym0 t_a1Xt6 :: [a_a1WoW])
sConcatMap :: forall (t_a1Xt4 :: TyFun a_a1WoU [b_a1WoV] -> Type) (t_a1Xt5 :: [a_a1WoU]). Sing t_a1Xt4 -> Sing t_a1Xt5 -> Sing (Apply (Apply ConcatMapSym0 t_a1Xt4) t_a1Xt5 :: [b_a1WoV])
sScanl :: forall (t_a1XsV :: TyFun b_a1WoR (TyFun a_a1WoS b_a1WoR -> Type) -> Type) (t_a1XsW :: b_a1WoR) (t_a1XsX :: [a_a1WoS]). Sing t_a1XsV -> Sing t_a1XsW -> Sing t_a1XsX -> Sing (Apply (Apply (Apply ScanlSym0 t_a1XsV) t_a1XsW) t_a1XsX :: [b_a1WoR])
sScanl1 :: forall (t_a1XsY :: TyFun a_a1WoQ (TyFun a_a1WoQ a_a1WoQ -> Type) -> Type) (t_a1XsZ :: [a_a1WoQ]). Sing t_a1XsY -> Sing t_a1XsZ -> Sing (Apply (Apply Scanl1Sym0 t_a1XsY) t_a1XsZ :: [a_a1WoQ])
sScanr :: forall (t_a1XsS :: TyFun a_a1WoO (TyFun b_a1WoP b_a1WoP -> Type) -> Type) (t_a1XsT :: b_a1WoP) (t_a1XsU :: [a_a1WoO]). Sing t_a1XsS -> Sing t_a1XsT -> Sing t_a1XsU -> Sing (Apply (Apply (Apply ScanrSym0 t_a1XsS) t_a1XsT) t_a1XsU :: [b_a1WoP])
sScanr1 :: forall (t_a1XsQ :: TyFun a_a1WoN (TyFun a_a1WoN a_a1WoN -> Type) -> Type) (t_a1XsR :: [a_a1WoN]). Sing t_a1XsQ -> Sing t_a1XsR -> Sing (Apply (Apply Scanr1Sym0 t_a1XsQ) t_a1XsR :: [a_a1WoN])
sElem :: forall (t_a1Xsz :: a_a1Woz) (t_a1XsA :: [a_a1Woz]). SEq a_a1Woz => Sing t_a1Xsz -> Sing t_a1XsA -> Sing (Apply (Apply ElemSym0 t_a1Xsz) t_a1XsA :: Bool)
sNotElem :: forall (t_a1Xsx :: a_a1Woy) (t_a1Xsy :: [a_a1Woy]). SEq a_a1Woy => Sing t_a1Xsx -> Sing t_a1Xsy -> Sing (Apply (Apply NotElemSym0 t_a1Xsx) t_a1Xsy :: Bool)
sLookup :: forall (t_a1Xri :: a_a1Wnp) (t_a1Xrj :: [(a_a1Wnp, b_a1Wnq)]). SEq a_a1Wnp => Sing t_a1Xri -> Sing t_a1Xrj -> Sing (Apply (Apply LookupSym0 t_a1Xri) t_a1Xrj :: Maybe b_a1Wnq)
sZip :: forall (t_a1Xsn :: [a_a1Wow]) (t_a1Xso :: [b_a1Wox]). Sing t_a1Xsn -> Sing t_a1Xso -> Sing (Apply (Apply ZipSym0 t_a1Xsn) t_a1Xso :: [(a_a1Wow, b_a1Wox)])
sZip3 :: forall (t_a1Xsk :: [a_a1Wot]) (t_a1Xsl :: [b_a1Wou]) (t_a1Xsm :: [c_a1Wov]). Sing t_a1Xsk -> Sing t_a1Xsl -> Sing t_a1Xsm -> Sing (Apply (Apply (Apply Zip3Sym0 t_a1Xsk) t_a1Xsl) t_a1Xsm :: [(a_a1Wot, b_a1Wou, c_a1Wov)])
sZipWith :: forall (t_a1Xsh :: TyFun a_a1Woq (TyFun b_a1Wor c_a1Wos -> Type) -> Type) (t_a1Xsi :: [a_a1Woq]) (t_a1Xsj :: [b_a1Wor]). Sing t_a1Xsh -> Sing t_a1Xsi -> Sing t_a1Xsj -> Sing (Apply (Apply (Apply ZipWithSym0 t_a1Xsh) t_a1Xsi) t_a1Xsj :: [c_a1Wos])
sZipWith3 :: forall (t_a1Xsd :: TyFun a_a1Wom (TyFun b_a1Won (TyFun c_a1Woo d_a1Wop -> Type) -> Type) -> Type) (t_a1Xse :: [a_a1Wom]) (t_a1Xsf :: [b_a1Won]) (t_a1Xsg :: [c_a1Woo]). Sing t_a1Xsd -> Sing t_a1Xse -> Sing t_a1Xsf -> Sing t_a1Xsg -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a1Xsd) t_a1Xse) t_a1Xsf) t_a1Xsg :: [d_a1Wop])
sUnzip :: forall (t_a1Xsc :: [(a_a1Wok, b_a1Wol)]). Sing t_a1Xsc -> Sing (Apply UnzipSym0 t_a1Xsc :: ([a_a1Wok], [b_a1Wol]))
sUnzip3 :: forall (t_a1Xsb :: [(a_a1Woh, b_a1Woi, c_a1Woj)]). Sing t_a1Xsb -> Sing (Apply Unzip3Sym0 t_a1Xsb :: ([a_a1Woh], [b_a1Woi], [c_a1Woj]))
sMaybe_ :: forall (t_a1O1V :: b_a1O1r) (t_a1O1W :: TyFun a_a1O1s b_a1O1r -> Type) (t_a1O1X :: Maybe a_a1O1s). Sing t_a1O1V -> Sing t_a1O1W -> Sing t_a1O1X -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a1O1V) t_a1O1W) t_a1O1X :: b_a1O1r)
sEither_ :: forall (t_a1QEe :: TyFun a_a1QDH c_a1QDI -> Type) (t_a1QEf :: TyFun b_a1QDJ c_a1QDI -> Type) (t_a1QEg :: Either a_a1QDH b_a1QDJ). Sing t_a1QEe -> Sing t_a1QEf -> Sing t_a1QEg -> Sing (Apply (Apply (Apply Either_Sym0 t_a1QEe) t_a1QEf) t_a1QEg :: c_a1QDI)
sFst :: forall (t_a1MZV :: (a_a1MYL, b_a1MYM)). Sing t_a1MZV -> Sing (Apply FstSym0 t_a1MZV :: a_a1MYL)
sSnd :: forall (t_a1MZU :: (a_a1MYJ, b_a1MYK)). Sing t_a1MZU -> Sing (Apply SndSym0 t_a1MZU :: b_a1MYK)
sCurry :: forall (t_a1MZR :: TyFun (a_a1MYG, b_a1MYH) c_a1MYI -> Type) (t_a1MZS :: a_a1MYG) (t_a1MZT :: b_a1MYH). Sing t_a1MZR -> Sing t_a1MZS -> Sing t_a1MZT -> Sing (Apply (Apply (Apply CurrySym0 t_a1MZR) t_a1MZS) t_a1MZT :: c_a1MYI)
sUncurry :: forall (t_a1MZW :: TyFun a_a1MYD (TyFun b_a1MYE c_a1MYF -> Type) -> Type) (t_a1MZX :: (a_a1MYD, b_a1MYE)). Sing t_a1MZW -> Sing t_a1MZX -> Sing (Apply (Apply UncurrySym0 t_a1MZW) t_a1MZX :: c_a1MYF)

-- | (Kind) This is the kind of type-level symbols. Declared here because
--   class IP needs it
data Symbol :: *
either_ :: (a_a1QDH -> c_a1QDI) -> (b_a1QDJ -> c_a1QDI) -> Either a_a1QDH b_a1QDJ -> c_a1QDI
maybe_ :: b_a1O1r -> (a_a1O1s -> b_a1O1r) -> Maybe a_a1O1s -> b_a1O1r
bool_ :: a_a19NY -> a_a19NY -> Bool -> a_a19NY
any_ :: (a_a1TK7 -> Bool) -> [a_a1TK7] -> Bool
type FalseSym0 = False
type TrueSym0 = True
data NotSym0 (l_a19Y0 :: TyFun Bool Bool)
type NotSym1 (t_a19XZ :: Bool) = Not t_a19XZ
data (:&&$) (l_a19Yl :: TyFun Bool (TyFun Bool Bool -> Type))
data (:&&$$) (l_a19Yj :: Bool) (l_a19Yi :: TyFun Bool Bool)
type (:&&$$$) (t_a19Yg :: Bool) (t_a19Yh :: Bool) = (:&&) t_a19Yg t_a19Yh
data (:||$) (l_a19Y8 :: TyFun Bool (TyFun Bool Bool -> Type))
data (:||$$) (l_a19Y6 :: Bool) (l_a19Y5 :: TyFun Bool Bool)
type (:||$$$) (t_a19Y3 :: Bool) (t_a19Y4 :: Bool) = (:||) t_a19Y3 t_a19Y4
type OtherwiseSym0 = Otherwise
type NothingSym0 = Nothing
data JustSym0 (l_aXnX :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_aXnW :: a3530822107858468865) = Just t_aXnW
data Maybe_Sym0 (l_a1O1H :: TyFun b6989586621679440409 (TyFun (TyFun a6989586621679440410 b6989586621679440409 -> Type) (TyFun (Maybe a6989586621679440410) b6989586621679440409 -> Type) -> Type))
data Maybe_Sym1 (l_a1O1F :: b6989586621679440409) (l_a1O1E :: TyFun (TyFun a6989586621679440410 b6989586621679440409 -> Type) (TyFun (Maybe a6989586621679440410) b6989586621679440409 -> Type))
data Maybe_Sym2 (l_a1O1B :: b6989586621679440409) (l_a1O1C :: TyFun a6989586621679440410 b6989586621679440409 -> Type) (l_a1O1A :: TyFun (Maybe a6989586621679440410) b6989586621679440409)
type Maybe_Sym3 (t_a1O1x :: b6989586621679440409) (t_a1O1y :: TyFun a6989586621679440410 b6989586621679440409 -> Type) (t_a1O1z :: Maybe a6989586621679440410) = Maybe_ t_a1O1x t_a1O1y t_a1O1z
data LeftSym0 (l_aXoo :: TyFun a6989586621679075578 (Either a6989586621679075578 b6989586621679075579))
type LeftSym1 (t_aXon :: a6989586621679075578) = Left t_aXon
data RightSym0 (l_aXor :: TyFun b6989586621679075579 (Either a6989586621679075578 b6989586621679075579))
type RightSym1 (t_aXoq :: b6989586621679075579) = Right t_aXoq
data Either_Sym0 (l_a1QDZ :: TyFun (TyFun a6989586621679450469 c6989586621679450470 -> Type) (TyFun (TyFun b6989586621679450471 c6989586621679450470 -> Type) (TyFun (Either a6989586621679450469 b6989586621679450471) c6989586621679450470 -> Type) -> Type))
data Either_Sym1 (l_a1QDX :: TyFun a6989586621679450469 c6989586621679450470 -> Type) (l_a1QDW :: TyFun (TyFun b6989586621679450471 c6989586621679450470 -> Type) (TyFun (Either a6989586621679450469 b6989586621679450471) c6989586621679450470 -> Type))
data Either_Sym2 (l_a1QDT :: TyFun a6989586621679450469 c6989586621679450470 -> Type) (l_a1QDU :: TyFun b6989586621679450471 c6989586621679450470 -> Type) (l_a1QDS :: TyFun (Either a6989586621679450469 b6989586621679450471) c6989586621679450470)
type Either_Sym3 (t_a1QDP :: TyFun a6989586621679450469 c6989586621679450470 -> Type) (t_a1QDQ :: TyFun b6989586621679450471 c6989586621679450470 -> Type) (t_a1QDR :: Either a6989586621679450469 b6989586621679450471) = Either_ t_a1QDP t_a1QDQ t_a1QDR
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_aXp0 :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aXoY :: a3530822107858468865) (l_aXoX :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aXoV :: a3530822107858468865) (t_aXoW :: b3530822107858468866) = '(t_aXoV, t_aXoW)
data Tuple3Sym0 (l_aXpo :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aXpm :: a3530822107858468865) (l_aXpl :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aXpi :: a3530822107858468865) (l_aXpj :: b3530822107858468866) (l_aXph :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aXpe :: a3530822107858468865) (t_aXpf :: b3530822107858468866) (t_aXpg :: c3530822107858468867) = '(t_aXpe, t_aXpf, t_aXpg)
data Tuple4Sym0 (l_aXpX :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aXpV :: a3530822107858468865) (l_aXpU :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aXpR :: a3530822107858468865) (l_aXpS :: b3530822107858468866) (l_aXpQ :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aXpM :: a3530822107858468865) (l_aXpN :: b3530822107858468866) (l_aXpO :: c3530822107858468867) (l_aXpL :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aXpH :: a3530822107858468865) (t_aXpI :: b3530822107858468866) (t_aXpJ :: c3530822107858468867) (t_aXpK :: d3530822107858468868) = '(t_aXpH, t_aXpI, t_aXpJ, t_aXpK)
data Tuple5Sym0 (l_aXqI :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aXqG :: a3530822107858468865) (l_aXqF :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aXqC :: a3530822107858468865) (l_aXqD :: b3530822107858468866) (l_aXqB :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aXqx :: a3530822107858468865) (l_aXqy :: b3530822107858468866) (l_aXqz :: c3530822107858468867) (l_aXqw :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aXqr :: a3530822107858468865) (l_aXqs :: b3530822107858468866) (l_aXqt :: c3530822107858468867) (l_aXqu :: d3530822107858468868) (l_aXqq :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aXql :: a3530822107858468865) (t_aXqm :: b3530822107858468866) (t_aXqn :: c3530822107858468867) (t_aXqo :: d3530822107858468868) (t_aXqp :: e3530822107858468869) = '(t_aXql, t_aXqm, t_aXqn, t_aXqo, t_aXqp)
data Tuple6Sym0 (l_aXrG :: 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_aXrE :: a3530822107858468865) (l_aXrD :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aXrA :: a3530822107858468865) (l_aXrB :: b3530822107858468866) (l_aXrz :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aXrv :: a3530822107858468865) (l_aXrw :: b3530822107858468866) (l_aXrx :: c3530822107858468867) (l_aXru :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aXrp :: a3530822107858468865) (l_aXrq :: b3530822107858468866) (l_aXrr :: c3530822107858468867) (l_aXrs :: d3530822107858468868) (l_aXro :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aXri :: a3530822107858468865) (l_aXrj :: b3530822107858468866) (l_aXrk :: c3530822107858468867) (l_aXrl :: d3530822107858468868) (l_aXrm :: e3530822107858468869) (l_aXrh :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aXrb :: a3530822107858468865) (t_aXrc :: b3530822107858468866) (t_aXrd :: c3530822107858468867) (t_aXre :: d3530822107858468868) (t_aXrf :: e3530822107858468869) (t_aXrg :: f3530822107858468870) = '(t_aXrb, t_aXrc, t_aXrd, t_aXre, t_aXrf, t_aXrg)
data Tuple7Sym0 (l_aXsS :: 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_aXsQ :: a3530822107858468865) (l_aXsP :: 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_aXsM :: a3530822107858468865) (l_aXsN :: b3530822107858468866) (l_aXsL :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_aXsH :: a3530822107858468865) (l_aXsI :: b3530822107858468866) (l_aXsJ :: c3530822107858468867) (l_aXsG :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_aXsB :: a3530822107858468865) (l_aXsC :: b3530822107858468866) (l_aXsD :: c3530822107858468867) (l_aXsE :: d3530822107858468868) (l_aXsA :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_aXsu :: a3530822107858468865) (l_aXsv :: b3530822107858468866) (l_aXsw :: c3530822107858468867) (l_aXsx :: d3530822107858468868) (l_aXsy :: e3530822107858468869) (l_aXst :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_aXsm :: a3530822107858468865) (l_aXsn :: b3530822107858468866) (l_aXso :: c3530822107858468867) (l_aXsp :: d3530822107858468868) (l_aXsq :: e3530822107858468869) (l_aXsr :: f3530822107858468870) (l_aXsl :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_aXse :: a3530822107858468865) (t_aXsf :: b3530822107858468866) (t_aXsg :: c3530822107858468867) (t_aXsh :: d3530822107858468868) (t_aXsi :: e3530822107858468869) (t_aXsj :: f3530822107858468870) (t_aXsk :: g3530822107858468871) = '(t_aXse, t_aXsf, t_aXsg, t_aXsh, t_aXsi, t_aXsj, t_aXsk)
data FstSym0 (l_a1MZy :: TyFun (a6989586621679436399, b6989586621679436400) a6989586621679436399)
type FstSym1 (t_a1MZx :: (a6989586621679436399, b6989586621679436400)) = Fst t_a1MZx
data SndSym0 (l_a1MZq :: TyFun (a6989586621679436397, b6989586621679436398) b6989586621679436398)
type SndSym1 (t_a1MZp :: (a6989586621679436397, b6989586621679436398)) = Snd t_a1MZp
data CurrySym0 (l_a1MZh :: TyFun (TyFun (a6989586621679436394, b6989586621679436395) c6989586621679436396 -> Type) (TyFun a6989586621679436394 (TyFun b6989586621679436395 c6989586621679436396 -> Type) -> Type))
data CurrySym1 (l_a1MZf :: TyFun (a6989586621679436394, b6989586621679436395) c6989586621679436396 -> Type) (l_a1MZe :: TyFun a6989586621679436394 (TyFun b6989586621679436395 c6989586621679436396 -> Type))
data CurrySym2 (l_a1MZb :: TyFun (a6989586621679436394, b6989586621679436395) c6989586621679436396 -> Type) (l_a1MZc :: a6989586621679436394) (l_a1MZa :: TyFun b6989586621679436395 c6989586621679436396)
type CurrySym3 (t_a1MZ7 :: TyFun (a6989586621679436394, b6989586621679436395) c6989586621679436396 -> Type) (t_a1MZ8 :: a6989586621679436394) (t_a1MZ9 :: b6989586621679436395) = Curry t_a1MZ7 t_a1MZ8 t_a1MZ9
data UncurrySym0 (l_a1MZK :: TyFun (TyFun a6989586621679436391 (TyFun b6989586621679436392 c6989586621679436393 -> Type) -> Type) (TyFun (a6989586621679436391, b6989586621679436392) c6989586621679436393 -> Type))
data UncurrySym1 (l_a1MZI :: TyFun a6989586621679436391 (TyFun b6989586621679436392 c6989586621679436393 -> Type) -> Type) (l_a1MZH :: TyFun (a6989586621679436391, b6989586621679436392) c6989586621679436393)
type UncurrySym2 (t_a1MZF :: TyFun a6989586621679436391 (TyFun b6989586621679436392 c6989586621679436393 -> Type) -> Type) (t_a1MZG :: (a6989586621679436391, b6989586621679436392)) = Uncurry t_a1MZF t_a1MZG
data IdSym0 (l_a1aS0 :: TyFun a6989586621679289770 a6989586621679289770)
type IdSym1 (t_a1aRZ :: a6989586621679289770) = Id t_a1aRZ
data ConstSym0 (l_a1aRC :: TyFun a6989586621679289768 (TyFun b6989586621679289769 a6989586621679289768 -> Type))
data ConstSym1 (l_a1aRA :: a6989586621679289768) (l_a1aRz :: TyFun b6989586621679289769 a6989586621679289768)
type ConstSym2 (t_a1aRx :: a6989586621679289768) (t_a1aRy :: b6989586621679289769) = Const t_a1aRx t_a1aRy
data (:.$) (l_a1aR1 :: TyFun (TyFun b6989586621679289765 c6989586621679289766 -> Type) (TyFun (TyFun a6989586621679289767 b6989586621679289765 -> Type) (TyFun a6989586621679289767 c6989586621679289766 -> Type) -> Type))
data (:.$$) (l_a1aQZ :: TyFun b6989586621679289765 c6989586621679289766 -> Type) (l_a1aQY :: TyFun (TyFun a6989586621679289767 b6989586621679289765 -> Type) (TyFun a6989586621679289767 c6989586621679289766 -> Type))
data (:.$$$) (l_a1aQV :: TyFun b6989586621679289765 c6989586621679289766 -> Type) (l_a1aQW :: TyFun a6989586621679289767 b6989586621679289765 -> Type) (l_a1aQU :: TyFun a6989586621679289767 c6989586621679289766)
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_a1aQJ :: TyFun (TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (TyFun b6989586621679289763 (TyFun a6989586621679289762 c6989586621679289764 -> Type) -> Type))
data FlipSym1 (l_a1aQH :: TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (l_a1aQG :: TyFun b6989586621679289763 (TyFun a6989586621679289762 c6989586621679289764 -> Type))
data FlipSym2 (l_a1aQD :: TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (l_a1aQE :: b6989586621679289763) (l_a1aQC :: TyFun a6989586621679289762 c6989586621679289764)
data AsTypeOfSym0 (l_a1aRT :: TyFun a6989586621679289761 (TyFun a6989586621679289761 a6989586621679289761 -> Type))
data AsTypeOfSym1 (l_a1aRR :: a6989586621679289761) (l_a1aRQ :: TyFun a6989586621679289761 a6989586621679289761)
type AsTypeOfSym2 (t_a1aRO :: a6989586621679289761) (t_a1aRP :: a6989586621679289761) = AsTypeOf t_a1aRO t_a1aRP
data SeqSym0 (l_a1aQr :: TyFun a6989586621679289759 (TyFun b6989586621679289760 b6989586621679289760 -> Type))
data SeqSym1 (l_a1aQp :: a6989586621679289759) (l_a1aQo :: TyFun b6989586621679289760 b6989586621679289760)
type SeqSym2 (t_a1aQm :: a6989586621679289759) (t_a1aQn :: b6989586621679289760) = Seq t_a1aQm t_a1aQn
data (:$) (l_aXoa :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:$$) (l_aXo8 :: a3530822107858468865) (l_aXo7 :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:$$$) (t_aXo5 :: a3530822107858468865) (t_aXo6 :: [a3530822107858468865]) = (:) t_aXo5 t_aXo6
type NilSym0 = '[]
data MapSym0 (l_a1aSm :: TyFun (TyFun a6989586621679289772 b6989586621679289773 -> Type) (TyFun [a6989586621679289772] [b6989586621679289773] -> Type))
data MapSym1 (l_a1aSk :: TyFun a6989586621679289772 b6989586621679289773 -> Type) (l_a1aSj :: TyFun [a6989586621679289772] [b6989586621679289773])
type MapSym2 (t_a1aSh :: TyFun a6989586621679289772 b6989586621679289773 -> Type) (t_a1aSi :: [a6989586621679289772]) = Map t_a1aSh t_a1aSi
data ReverseSym0 (l_a1Xog :: TyFun [a6989586621679472630] [a6989586621679472630])
type ReverseSym1 (t_a1Xof :: [a6989586621679472630]) = Reverse t_a1Xof
data (:++$$) (l_a1aS7 :: [a6989586621679289771]) (l_a1aS6 :: TyFun [a6989586621679289771] [a6989586621679289771])
data (:++$) (l_a1aS9 :: TyFun [a6989586621679289771] (TyFun [a6989586621679289771] [a6989586621679289771] -> Type))
data HeadSym0 (l_a1XqL :: TyFun [a6989586621679472635] a6989586621679472635)
type HeadSym1 (t_a1XqK :: [a6989586621679472635]) = Head t_a1XqK
data LastSym0 (l_a1XqB :: TyFun [a6989586621679472634] a6989586621679472634)
type LastSym1 (t_a1XqA :: [a6989586621679472634]) = Last t_a1XqA
data TailSym0 (l_a1Xqt :: TyFun [a6989586621679472633] [a6989586621679472633])
type TailSym1 (t_a1Xqs :: [a6989586621679472633]) = Tail t_a1Xqs
data InitSym0 (l_a1XpW :: TyFun [a6989586621679472632] [a6989586621679472632])
type InitSym1 (t_a1XpV :: [a6989586621679472632]) = Init t_a1XpV
data NullSym0 (l_a1XoP :: TyFun [a6989586621679472631] Bool)
type NullSym1 (t_a1XoO :: [a6989586621679472631]) = Null t_a1XoO
data FoldlSym0 (l_a10nX :: TyFun (TyFun b6989586621679249585 (TyFun a6989586621679249584 b6989586621679249585 -> Type) -> Type) (TyFun b6989586621679249585 (TyFun [a6989586621679249584] b6989586621679249585 -> Type) -> Type))
data FoldlSym1 (l_a10nV :: TyFun b6989586621679249585 (TyFun a6989586621679249584 b6989586621679249585 -> Type) -> Type) (l_a10nU :: TyFun b6989586621679249585 (TyFun [a6989586621679249584] b6989586621679249585 -> Type))
data FoldlSym2 (l_a10nR :: TyFun b6989586621679249585 (TyFun a6989586621679249584 b6989586621679249585 -> Type) -> Type) (l_a10nS :: b6989586621679249585) (l_a10nQ :: TyFun [a6989586621679249584] b6989586621679249585)
type FoldlSym3 (t_a10nN :: TyFun b6989586621679249585 (TyFun a6989586621679249584 b6989586621679249585 -> Type) -> Type) (t_a10nO :: b6989586621679249585) (t_a10nP :: [a6989586621679249584]) = Foldl t_a10nN t_a10nO t_a10nP
data Foldl1Sym0 (l_a1Xc1 :: TyFun (TyFun a6989586621679472621 (TyFun a6989586621679472621 a6989586621679472621 -> Type) -> Type) (TyFun [a6989586621679472621] a6989586621679472621 -> Type))
data Foldl1Sym1 (l_a1XbZ :: TyFun a6989586621679472621 (TyFun a6989586621679472621 a6989586621679472621 -> Type) -> Type) (l_a1XbY :: TyFun [a6989586621679472621] a6989586621679472621)
type Foldl1Sym2 (t_a1XbW :: TyFun a6989586621679472621 (TyFun a6989586621679472621 a6989586621679472621 -> Type) -> Type) (t_a1XbX :: [a6989586621679472621]) = Foldl1 t_a1XbW t_a1XbX
data FoldrSym0 (l_a1aSG :: TyFun (TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (TyFun b6989586621679289775 (TyFun [a6989586621679289774] b6989586621679289775 -> Type) -> Type))
data FoldrSym1 (l_a1aSE :: TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (l_a1aSD :: TyFun b6989586621679289775 (TyFun [a6989586621679289774] b6989586621679289775 -> Type))
data FoldrSym2 (l_a1aSA :: TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (l_a1aSB :: b6989586621679289775) (l_a1aSz :: TyFun [a6989586621679289774] b6989586621679289775)
type FoldrSym3 (t_a1aSw :: TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (t_a1aSx :: b6989586621679289775) (t_a1aSy :: [a6989586621679289774]) = Foldr t_a1aSw t_a1aSx t_a1aSy
data Foldr1Sym0 (l_a1Xbo :: TyFun (TyFun a6989586621679472619 (TyFun a6989586621679472619 a6989586621679472619 -> Type) -> Type) (TyFun [a6989586621679472619] a6989586621679472619 -> Type))
data Foldr1Sym1 (l_a1Xbm :: TyFun a6989586621679472619 (TyFun a6989586621679472619 a6989586621679472619 -> Type) -> Type) (l_a1Xbl :: TyFun [a6989586621679472619] a6989586621679472619)
type Foldr1Sym2 (t_a1Xbj :: TyFun a6989586621679472619 (TyFun a6989586621679472619 a6989586621679472619 -> Type) -> Type) (t_a1Xbk :: [a6989586621679472619]) = Foldr1 t_a1Xbj t_a1Xbk
data ConcatSym0 (l_a1Xbf :: TyFun [[a6989586621679472618]] [a6989586621679472618])
type ConcatSym1 (t_a1Xbe :: [[a6989586621679472618]]) = Concat t_a1Xbe
data ConcatMapSym0 (l_a1Xb4 :: TyFun (TyFun a6989586621679472616 [b6989586621679472617] -> Type) (TyFun [a6989586621679472616] [b6989586621679472617] -> Type))
data ConcatMapSym1 (l_a1Xb2 :: TyFun a6989586621679472616 [b6989586621679472617] -> Type) (l_a1Xb1 :: TyFun [a6989586621679472616] [b6989586621679472617])
type ConcatMapSym2 (t_a1XaZ :: TyFun a6989586621679472616 [b6989586621679472617] -> Type) (t_a1Xb0 :: [a6989586621679472616]) = ConcatMap t_a1XaZ t_a1Xb0
data AndSym0 (l_a1XaU :: TyFun [Bool] Bool)
type AndSym1 (t_a1XaT :: [Bool]) = And t_a1XaT
data OrSym0 (l_a1XaO :: TyFun [Bool] Bool)
type OrSym1 (t_a1XaN :: [Bool]) = Or t_a1XaN
data Any_Sym0 (l_a1TKh :: TyFun (TyFun a6989586621679462399 Bool -> Type) (TyFun [a6989586621679462399] Bool -> Type))
data Any_Sym1 (l_a1TKf :: TyFun a6989586621679462399 Bool -> Type) (l_a1TKe :: TyFun [a6989586621679462399] Bool)
type Any_Sym2 (t_a1TKc :: TyFun a6989586621679462399 Bool -> Type) (t_a1TKd :: [a6989586621679462399]) = Any_ t_a1TKc t_a1TKd
data AllSym0 (l_a1XaD :: TyFun (TyFun a6989586621679472615 Bool -> Type) (TyFun [a6989586621679472615] Bool -> Type))
data AllSym1 (l_a1XaB :: TyFun a6989586621679472615 Bool -> Type) (l_a1XaA :: TyFun [a6989586621679472615] Bool)
type AllSym2 (t_a1Xay :: TyFun a6989586621679472615 Bool -> Type) (t_a1Xaz :: [a6989586621679472615]) = All t_a1Xay t_a1Xaz
data ScanlSym0 (l_a1Xa6 :: TyFun (TyFun b6989586621679472613 (TyFun a6989586621679472614 b6989586621679472613 -> Type) -> Type) (TyFun b6989586621679472613 (TyFun [a6989586621679472614] [b6989586621679472613] -> Type) -> Type))
data ScanlSym1 (l_a1Xa4 :: TyFun b6989586621679472613 (TyFun a6989586621679472614 b6989586621679472613 -> Type) -> Type) (l_a1Xa3 :: TyFun b6989586621679472613 (TyFun [a6989586621679472614] [b6989586621679472613] -> Type))
data ScanlSym2 (l_a1Xa0 :: TyFun b6989586621679472613 (TyFun a6989586621679472614 b6989586621679472613 -> Type) -> Type) (l_a1Xa1 :: b6989586621679472613) (l_a1X9Z :: TyFun [a6989586621679472614] [b6989586621679472613])
type ScanlSym3 (t_a1X9W :: TyFun b6989586621679472613 (TyFun a6989586621679472614 b6989586621679472613 -> Type) -> Type) (t_a1X9X :: b6989586621679472613) (t_a1X9Y :: [a6989586621679472614]) = Scanl t_a1X9W t_a1X9X t_a1X9Y
data Scanl1Sym0 (l_a1Xao :: TyFun (TyFun a6989586621679472612 (TyFun a6989586621679472612 a6989586621679472612 -> Type) -> Type) (TyFun [a6989586621679472612] [a6989586621679472612] -> Type))
data Scanl1Sym1 (l_a1Xam :: TyFun a6989586621679472612 (TyFun a6989586621679472612 a6989586621679472612 -> Type) -> Type) (l_a1Xal :: TyFun [a6989586621679472612] [a6989586621679472612])
type Scanl1Sym2 (t_a1Xaj :: TyFun a6989586621679472612 (TyFun a6989586621679472612 a6989586621679472612 -> Type) -> Type) (t_a1Xak :: [a6989586621679472612]) = Scanl1 t_a1Xaj t_a1Xak
data ScanrSym0 (l_a1X9l :: TyFun (TyFun a6989586621679472610 (TyFun b6989586621679472611 b6989586621679472611 -> Type) -> Type) (TyFun b6989586621679472611 (TyFun [a6989586621679472610] [b6989586621679472611] -> Type) -> Type))
data ScanrSym1 (l_a1X9j :: TyFun a6989586621679472610 (TyFun b6989586621679472611 b6989586621679472611 -> Type) -> Type) (l_a1X9i :: TyFun b6989586621679472611 (TyFun [a6989586621679472610] [b6989586621679472611] -> Type))
data ScanrSym2 (l_a1X9f :: TyFun a6989586621679472610 (TyFun b6989586621679472611 b6989586621679472611 -> Type) -> Type) (l_a1X9g :: b6989586621679472611) (l_a1X9e :: TyFun [a6989586621679472610] [b6989586621679472611])
type ScanrSym3 (t_a1X9b :: TyFun a6989586621679472610 (TyFun b6989586621679472611 b6989586621679472611 -> Type) -> Type) (t_a1X9c :: b6989586621679472611) (t_a1X9d :: [a6989586621679472610]) = Scanr t_a1X9b t_a1X9c t_a1X9d
data Scanr1Sym0 (l_a1X8f :: TyFun (TyFun a6989586621679472609 (TyFun a6989586621679472609 a6989586621679472609 -> Type) -> Type) (TyFun [a6989586621679472609] [a6989586621679472609] -> Type))
data Scanr1Sym1 (l_a1X8d :: TyFun a6989586621679472609 (TyFun a6989586621679472609 a6989586621679472609 -> Type) -> Type) (l_a1X8c :: TyFun [a6989586621679472609] [a6989586621679472609])
type Scanr1Sym2 (t_a1X8a :: TyFun a6989586621679472609 (TyFun a6989586621679472609 a6989586621679472609 -> Type) -> Type) (t_a1X8b :: [a6989586621679472609]) = Scanr1 t_a1X8a t_a1X8b
data ElemSym0 (l_a1X0m :: TyFun a6989586621679472595 (TyFun [a6989586621679472595] Bool -> Type))
data ElemSym1 (l_a1X0k :: a6989586621679472595) (l_a1X0j :: TyFun [a6989586621679472595] Bool)
type ElemSym2 (t_a1X0h :: a6989586621679472595) (t_a1X0i :: [a6989586621679472595]) = Elem t_a1X0h t_a1X0i
data NotElemSym0 (l_a1X07 :: TyFun a6989586621679472594 (TyFun [a6989586621679472594] Bool -> Type))
data NotElemSym1 (l_a1X05 :: a6989586621679472594) (l_a1X04 :: TyFun [a6989586621679472594] Bool)
type NotElemSym2 (t_a1X02 :: a6989586621679472594) (t_a1X03 :: [a6989586621679472594]) = NotElem t_a1X02 t_a1X03
data ZipSym0 (l_a1WY4 :: TyFun [a6989586621679472592] (TyFun [b6989586621679472593] [(a6989586621679472592, b6989586621679472593)] -> Type))
data ZipSym1 (l_a1WY2 :: [a6989586621679472592]) (l_a1WY1 :: TyFun [b6989586621679472593] [(a6989586621679472592, b6989586621679472593)])
type ZipSym2 (t_a1WXZ :: [a6989586621679472592]) (t_a1WY0 :: [b6989586621679472593]) = Zip t_a1WXZ t_a1WY0
data Zip3Sym0 (l_a1WWW :: TyFun [a6989586621679472589] (TyFun [b6989586621679472590] (TyFun [c6989586621679472591] [(a6989586621679472589, b6989586621679472590, c6989586621679472591)] -> Type) -> Type))
data Zip3Sym1 (l_a1WWU :: [a6989586621679472589]) (l_a1WWT :: TyFun [b6989586621679472590] (TyFun [c6989586621679472591] [(a6989586621679472589, b6989586621679472590, c6989586621679472591)] -> Type))
data Zip3Sym2 (l_a1WWQ :: [a6989586621679472589]) (l_a1WWR :: [b6989586621679472590]) (l_a1WWP :: TyFun [c6989586621679472591] [(a6989586621679472589, b6989586621679472590, c6989586621679472591)])
type Zip3Sym3 (t_a1WWM :: [a6989586621679472589]) (t_a1WWN :: [b6989586621679472590]) (t_a1WWO :: [c6989586621679472591]) = Zip3 t_a1WWM t_a1WWN t_a1WWO
data ZipWithSym0 (l_a1WWh :: TyFun (TyFun a6989586621679472586 (TyFun b6989586621679472587 c6989586621679472588 -> Type) -> Type) (TyFun [a6989586621679472586] (TyFun [b6989586621679472587] [c6989586621679472588] -> Type) -> Type))
data ZipWithSym1 (l_a1WWf :: TyFun a6989586621679472586 (TyFun b6989586621679472587 c6989586621679472588 -> Type) -> Type) (l_a1WWe :: TyFun [a6989586621679472586] (TyFun [b6989586621679472587] [c6989586621679472588] -> Type))
data ZipWithSym2 (l_a1WWb :: TyFun a6989586621679472586 (TyFun b6989586621679472587 c6989586621679472588 -> Type) -> Type) (l_a1WWc :: [a6989586621679472586]) (l_a1WWa :: TyFun [b6989586621679472587] [c6989586621679472588])
type ZipWithSym3 (t_a1WW7 :: TyFun a6989586621679472586 (TyFun b6989586621679472587 c6989586621679472588 -> Type) -> Type) (t_a1WW8 :: [a6989586621679472586]) (t_a1WW9 :: [b6989586621679472587]) = ZipWith t_a1WW7 t_a1WW8 t_a1WW9
data ZipWith3Sym0 (l_a1WUH :: TyFun (TyFun a6989586621679472582 (TyFun b6989586621679472583 (TyFun c6989586621679472584 d6989586621679472585 -> Type) -> Type) -> Type) (TyFun [a6989586621679472582] (TyFun [b6989586621679472583] (TyFun [c6989586621679472584] [d6989586621679472585] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1WUF :: TyFun a6989586621679472582 (TyFun b6989586621679472583 (TyFun c6989586621679472584 d6989586621679472585 -> Type) -> Type) -> Type) (l_a1WUE :: TyFun [a6989586621679472582] (TyFun [b6989586621679472583] (TyFun [c6989586621679472584] [d6989586621679472585] -> Type) -> Type))
data ZipWith3Sym2 (l_a1WUB :: TyFun a6989586621679472582 (TyFun b6989586621679472583 (TyFun c6989586621679472584 d6989586621679472585 -> Type) -> Type) -> Type) (l_a1WUC :: [a6989586621679472582]) (l_a1WUA :: TyFun [b6989586621679472583] (TyFun [c6989586621679472584] [d6989586621679472585] -> Type))
data ZipWith3Sym3 (l_a1WUw :: TyFun a6989586621679472582 (TyFun b6989586621679472583 (TyFun c6989586621679472584 d6989586621679472585 -> Type) -> Type) -> Type) (l_a1WUx :: [a6989586621679472582]) (l_a1WUy :: [b6989586621679472583]) (l_a1WUv :: TyFun [c6989586621679472584] [d6989586621679472585])
data UnzipSym0 (l_a1WTY :: TyFun [(a6989586621679472580, b6989586621679472581)] ([a6989586621679472580], [b6989586621679472581]))
type UnzipSym1 (t_a1WTX :: [(a6989586621679472580, b6989586621679472581)]) = Unzip t_a1WTX


-- | 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_a1TK7 -> Bool) -> [a_a1TK7] -> Bool
type NilSym0 = '[]
data (:$) (l_aXoa :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:$$) (l_aXo8 :: a3530822107858468865) (l_aXo7 :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:$$$) (t_aXo5 :: a3530822107858468865) (t_aXo6 :: [a3530822107858468865]) = (:) t_aXo5 t_aXo6
type (:++$$$) (t_a1aS4 :: [a6989586621679289771]) (t_a1aS5 :: [a6989586621679289771]) = (:++) t_a1aS4 t_a1aS5
data (:++$$) (l_a1aS7 :: [a6989586621679289771]) (l_a1aS6 :: TyFun [a6989586621679289771] [a6989586621679289771])
data (:++$) (l_a1aS9 :: TyFun [a6989586621679289771] (TyFun [a6989586621679289771] [a6989586621679289771] -> Type))
data HeadSym0 (l_a1XqL :: TyFun [a6989586621679472635] a6989586621679472635)
type HeadSym1 (t_a1XqK :: [a6989586621679472635]) = Head t_a1XqK
data LastSym0 (l_a1XqB :: TyFun [a6989586621679472634] a6989586621679472634)
type LastSym1 (t_a1XqA :: [a6989586621679472634]) = Last t_a1XqA
data TailSym0 (l_a1Xqt :: TyFun [a6989586621679472633] [a6989586621679472633])
type TailSym1 (t_a1Xqs :: [a6989586621679472633]) = Tail t_a1Xqs
data InitSym0 (l_a1XpW :: TyFun [a6989586621679472632] [a6989586621679472632])
type InitSym1 (t_a1XpV :: [a6989586621679472632]) = Init t_a1XpV
data NullSym0 (l_a1XoP :: TyFun [a6989586621679472631] Bool)
type NullSym1 (t_a1XoO :: [a6989586621679472631]) = Null t_a1XoO
data MapSym0 (l_a1aSm :: TyFun (TyFun a6989586621679289772 b6989586621679289773 -> Type) (TyFun [a6989586621679289772] [b6989586621679289773] -> Type))
data MapSym1 (l_a1aSk :: TyFun a6989586621679289772 b6989586621679289773 -> Type) (l_a1aSj :: TyFun [a6989586621679289772] [b6989586621679289773])
type MapSym2 (t_a1aSh :: TyFun a6989586621679289772 b6989586621679289773 -> Type) (t_a1aSi :: [a6989586621679289772]) = Map t_a1aSh t_a1aSi
data ReverseSym0 (l_a1Xog :: TyFun [a6989586621679472630] [a6989586621679472630])
type ReverseSym1 (t_a1Xof :: [a6989586621679472630]) = Reverse t_a1Xof
data IntersperseSym0 (l_a1XnU :: TyFun a6989586621679472629 (TyFun [a6989586621679472629] [a6989586621679472629] -> Type))
data IntersperseSym1 (l_a1XnS :: a6989586621679472629) (l_a1XnR :: TyFun [a6989586621679472629] [a6989586621679472629])
type IntersperseSym2 (t_a1XnP :: a6989586621679472629) (t_a1XnQ :: [a6989586621679472629]) = Intersperse t_a1XnP t_a1XnQ
data IntercalateSym0 (l_a1Xo9 :: TyFun [a6989586621679472628] (TyFun [[a6989586621679472628]] [a6989586621679472628] -> Type))
data IntercalateSym1 (l_a1Xo7 :: [a6989586621679472628]) (l_a1Xo6 :: TyFun [[a6989586621679472628]] [a6989586621679472628])
type IntercalateSym2 (t_a1Xo4 :: [a6989586621679472628]) (t_a1Xo5 :: [[a6989586621679472628]]) = Intercalate t_a1Xo4 t_a1Xo5
data SubsequencesSym0 (l_a1XnL :: TyFun [a6989586621679472627] [[a6989586621679472627]])
type SubsequencesSym1 (t_a1XnK :: [a6989586621679472627]) = Subsequences t_a1XnK
data PermutationsSym0 (l_a1Xh3 :: TyFun [a6989586621679472624] [[a6989586621679472624]])
type PermutationsSym1 (t_a1Xh2 :: [a6989586621679472624]) = Permutations t_a1Xh2
data FoldlSym0 (l_a10nX :: TyFun (TyFun b6989586621679249585 (TyFun a6989586621679249584 b6989586621679249585 -> Type) -> Type) (TyFun b6989586621679249585 (TyFun [a6989586621679249584] b6989586621679249585 -> Type) -> Type))
data FoldlSym1 (l_a10nV :: TyFun b6989586621679249585 (TyFun a6989586621679249584 b6989586621679249585 -> Type) -> Type) (l_a10nU :: TyFun b6989586621679249585 (TyFun [a6989586621679249584] b6989586621679249585 -> Type))
data FoldlSym2 (l_a10nR :: TyFun b6989586621679249585 (TyFun a6989586621679249584 b6989586621679249585 -> Type) -> Type) (l_a10nS :: b6989586621679249585) (l_a10nQ :: TyFun [a6989586621679249584] b6989586621679249585)
type FoldlSym3 (t_a10nN :: TyFun b6989586621679249585 (TyFun a6989586621679249584 b6989586621679249585 -> Type) -> Type) (t_a10nO :: b6989586621679249585) (t_a10nP :: [a6989586621679249584]) = Foldl t_a10nN t_a10nO t_a10nP
data Foldl'Sym0 (l_a1XfB :: TyFun (TyFun b6989586621679472623 (TyFun a6989586621679472622 b6989586621679472623 -> Type) -> Type) (TyFun b6989586621679472623 (TyFun [a6989586621679472622] b6989586621679472623 -> Type) -> Type))
data Foldl'Sym1 (l_a1Xfz :: TyFun b6989586621679472623 (TyFun a6989586621679472622 b6989586621679472623 -> Type) -> Type) (l_a1Xfy :: TyFun b6989586621679472623 (TyFun [a6989586621679472622] b6989586621679472623 -> Type))
data Foldl'Sym2 (l_a1Xfv :: TyFun b6989586621679472623 (TyFun a6989586621679472622 b6989586621679472623 -> Type) -> Type) (l_a1Xfw :: b6989586621679472623) (l_a1Xfu :: TyFun [a6989586621679472622] b6989586621679472623)
type Foldl'Sym3 (t_a1Xfr :: TyFun b6989586621679472623 (TyFun a6989586621679472622 b6989586621679472623 -> Type) -> Type) (t_a1Xfs :: b6989586621679472623) (t_a1Xft :: [a6989586621679472622]) = Foldl' t_a1Xfr t_a1Xfs t_a1Xft
data Foldl1Sym0 (l_a1Xc1 :: TyFun (TyFun a6989586621679472621 (TyFun a6989586621679472621 a6989586621679472621 -> Type) -> Type) (TyFun [a6989586621679472621] a6989586621679472621 -> Type))
data Foldl1Sym1 (l_a1XbZ :: TyFun a6989586621679472621 (TyFun a6989586621679472621 a6989586621679472621 -> Type) -> Type) (l_a1XbY :: TyFun [a6989586621679472621] a6989586621679472621)
type Foldl1Sym2 (t_a1XbW :: TyFun a6989586621679472621 (TyFun a6989586621679472621 a6989586621679472621 -> Type) -> Type) (t_a1XbX :: [a6989586621679472621]) = Foldl1 t_a1XbW t_a1XbX
data Foldl1'Sym0 (l_a1XgS :: TyFun (TyFun a6989586621679472620 (TyFun a6989586621679472620 a6989586621679472620 -> Type) -> Type) (TyFun [a6989586621679472620] a6989586621679472620 -> Type))
data Foldl1'Sym1 (l_a1XgQ :: TyFun a6989586621679472620 (TyFun a6989586621679472620 a6989586621679472620 -> Type) -> Type) (l_a1XgP :: TyFun [a6989586621679472620] a6989586621679472620)
type Foldl1'Sym2 (t_a1XgN :: TyFun a6989586621679472620 (TyFun a6989586621679472620 a6989586621679472620 -> Type) -> Type) (t_a1XgO :: [a6989586621679472620]) = Foldl1' t_a1XgN t_a1XgO
data FoldrSym0 (l_a1aSG :: TyFun (TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (TyFun b6989586621679289775 (TyFun [a6989586621679289774] b6989586621679289775 -> Type) -> Type))
data FoldrSym1 (l_a1aSE :: TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (l_a1aSD :: TyFun b6989586621679289775 (TyFun [a6989586621679289774] b6989586621679289775 -> Type))
data FoldrSym2 (l_a1aSA :: TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (l_a1aSB :: b6989586621679289775) (l_a1aSz :: TyFun [a6989586621679289774] b6989586621679289775)
type FoldrSym3 (t_a1aSw :: TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (t_a1aSx :: b6989586621679289775) (t_a1aSy :: [a6989586621679289774]) = Foldr t_a1aSw t_a1aSx t_a1aSy
data Foldr1Sym0 (l_a1Xbo :: TyFun (TyFun a6989586621679472619 (TyFun a6989586621679472619 a6989586621679472619 -> Type) -> Type) (TyFun [a6989586621679472619] a6989586621679472619 -> Type))
data Foldr1Sym1 (l_a1Xbm :: TyFun a6989586621679472619 (TyFun a6989586621679472619 a6989586621679472619 -> Type) -> Type) (l_a1Xbl :: TyFun [a6989586621679472619] a6989586621679472619)
type Foldr1Sym2 (t_a1Xbj :: TyFun a6989586621679472619 (TyFun a6989586621679472619 a6989586621679472619 -> Type) -> Type) (t_a1Xbk :: [a6989586621679472619]) = Foldr1 t_a1Xbj t_a1Xbk
data ConcatSym0 (l_a1Xbf :: TyFun [[a6989586621679472618]] [a6989586621679472618])
type ConcatSym1 (t_a1Xbe :: [[a6989586621679472618]]) = Concat t_a1Xbe
data ConcatMapSym0 (l_a1Xb4 :: TyFun (TyFun a6989586621679472616 [b6989586621679472617] -> Type) (TyFun [a6989586621679472616] [b6989586621679472617] -> Type))
data ConcatMapSym1 (l_a1Xb2 :: TyFun a6989586621679472616 [b6989586621679472617] -> Type) (l_a1Xb1 :: TyFun [a6989586621679472616] [b6989586621679472617])
type ConcatMapSym2 (t_a1XaZ :: TyFun a6989586621679472616 [b6989586621679472617] -> Type) (t_a1Xb0 :: [a6989586621679472616]) = ConcatMap t_a1XaZ t_a1Xb0
data AndSym0 (l_a1XaU :: TyFun [Bool] Bool)
type AndSym1 (t_a1XaT :: [Bool]) = And t_a1XaT
data OrSym0 (l_a1XaO :: TyFun [Bool] Bool)
type OrSym1 (t_a1XaN :: [Bool]) = Or t_a1XaN
data Any_Sym0 (l_a1TKh :: TyFun (TyFun a6989586621679462399 Bool -> Type) (TyFun [a6989586621679462399] Bool -> Type))
data Any_Sym1 (l_a1TKf :: TyFun a6989586621679462399 Bool -> Type) (l_a1TKe :: TyFun [a6989586621679462399] Bool)
type Any_Sym2 (t_a1TKc :: TyFun a6989586621679462399 Bool -> Type) (t_a1TKd :: [a6989586621679462399]) = Any_ t_a1TKc t_a1TKd
data AllSym0 (l_a1XaD :: TyFun (TyFun a6989586621679472615 Bool -> Type) (TyFun [a6989586621679472615] Bool -> Type))
data AllSym1 (l_a1XaB :: TyFun a6989586621679472615 Bool -> Type) (l_a1XaA :: TyFun [a6989586621679472615] Bool)
type AllSym2 (t_a1Xay :: TyFun a6989586621679472615 Bool -> Type) (t_a1Xaz :: [a6989586621679472615]) = All t_a1Xay t_a1Xaz
data ScanlSym0 (l_a1Xa6 :: TyFun (TyFun b6989586621679472613 (TyFun a6989586621679472614 b6989586621679472613 -> Type) -> Type) (TyFun b6989586621679472613 (TyFun [a6989586621679472614] [b6989586621679472613] -> Type) -> Type))
data ScanlSym1 (l_a1Xa4 :: TyFun b6989586621679472613 (TyFun a6989586621679472614 b6989586621679472613 -> Type) -> Type) (l_a1Xa3 :: TyFun b6989586621679472613 (TyFun [a6989586621679472614] [b6989586621679472613] -> Type))
data ScanlSym2 (l_a1Xa0 :: TyFun b6989586621679472613 (TyFun a6989586621679472614 b6989586621679472613 -> Type) -> Type) (l_a1Xa1 :: b6989586621679472613) (l_a1X9Z :: TyFun [a6989586621679472614] [b6989586621679472613])
type ScanlSym3 (t_a1X9W :: TyFun b6989586621679472613 (TyFun a6989586621679472614 b6989586621679472613 -> Type) -> Type) (t_a1X9X :: b6989586621679472613) (t_a1X9Y :: [a6989586621679472614]) = Scanl t_a1X9W t_a1X9X t_a1X9Y
data Scanl1Sym0 (l_a1Xao :: TyFun (TyFun a6989586621679472612 (TyFun a6989586621679472612 a6989586621679472612 -> Type) -> Type) (TyFun [a6989586621679472612] [a6989586621679472612] -> Type))
data Scanl1Sym1 (l_a1Xam :: TyFun a6989586621679472612 (TyFun a6989586621679472612 a6989586621679472612 -> Type) -> Type) (l_a1Xal :: TyFun [a6989586621679472612] [a6989586621679472612])
type Scanl1Sym2 (t_a1Xaj :: TyFun a6989586621679472612 (TyFun a6989586621679472612 a6989586621679472612 -> Type) -> Type) (t_a1Xak :: [a6989586621679472612]) = Scanl1 t_a1Xaj t_a1Xak
data ScanrSym0 (l_a1X9l :: TyFun (TyFun a6989586621679472610 (TyFun b6989586621679472611 b6989586621679472611 -> Type) -> Type) (TyFun b6989586621679472611 (TyFun [a6989586621679472610] [b6989586621679472611] -> Type) -> Type))
data ScanrSym1 (l_a1X9j :: TyFun a6989586621679472610 (TyFun b6989586621679472611 b6989586621679472611 -> Type) -> Type) (l_a1X9i :: TyFun b6989586621679472611 (TyFun [a6989586621679472610] [b6989586621679472611] -> Type))
data ScanrSym2 (l_a1X9f :: TyFun a6989586621679472610 (TyFun b6989586621679472611 b6989586621679472611 -> Type) -> Type) (l_a1X9g :: b6989586621679472611) (l_a1X9e :: TyFun [a6989586621679472610] [b6989586621679472611])
type ScanrSym3 (t_a1X9b :: TyFun a6989586621679472610 (TyFun b6989586621679472611 b6989586621679472611 -> Type) -> Type) (t_a1X9c :: b6989586621679472611) (t_a1X9d :: [a6989586621679472610]) = Scanr t_a1X9b t_a1X9c t_a1X9d
data Scanr1Sym0 (l_a1X8f :: TyFun (TyFun a6989586621679472609 (TyFun a6989586621679472609 a6989586621679472609 -> Type) -> Type) (TyFun [a6989586621679472609] [a6989586621679472609] -> Type))
data Scanr1Sym1 (l_a1X8d :: TyFun a6989586621679472609 (TyFun a6989586621679472609 a6989586621679472609 -> Type) -> Type) (l_a1X8c :: TyFun [a6989586621679472609] [a6989586621679472609])
type Scanr1Sym2 (t_a1X8a :: TyFun a6989586621679472609 (TyFun a6989586621679472609 a6989586621679472609 -> Type) -> Type) (t_a1X8b :: [a6989586621679472609]) = Scanr1 t_a1X8a t_a1X8b
data MapAccumLSym0 (l_a1X5y :: TyFun (TyFun acc6989586621679472606 (TyFun x6989586621679472607 (acc6989586621679472606, y6989586621679472608) -> Type) -> Type) (TyFun acc6989586621679472606 (TyFun [x6989586621679472607] (acc6989586621679472606, [y6989586621679472608]) -> Type) -> Type))
data MapAccumLSym1 (l_a1X5w :: TyFun acc6989586621679472606 (TyFun x6989586621679472607 (acc6989586621679472606, y6989586621679472608) -> Type) -> Type) (l_a1X5v :: TyFun acc6989586621679472606 (TyFun [x6989586621679472607] (acc6989586621679472606, [y6989586621679472608]) -> Type))
data MapAccumLSym2 (l_a1X5s :: TyFun acc6989586621679472606 (TyFun x6989586621679472607 (acc6989586621679472606, y6989586621679472608) -> Type) -> Type) (l_a1X5t :: acc6989586621679472606) (l_a1X5r :: TyFun [x6989586621679472607] (acc6989586621679472606, [y6989586621679472608]))
type MapAccumLSym3 (t_a1X5o :: TyFun acc6989586621679472606 (TyFun x6989586621679472607 (acc6989586621679472606, y6989586621679472608) -> Type) -> Type) (t_a1X5p :: acc6989586621679472606) (t_a1X5q :: [x6989586621679472607]) = MapAccumL t_a1X5o t_a1X5p t_a1X5q
data MapAccumRSym0 (l_a1X2M :: TyFun (TyFun acc6989586621679472603 (TyFun x6989586621679472604 (acc6989586621679472603, y6989586621679472605) -> Type) -> Type) (TyFun acc6989586621679472603 (TyFun [x6989586621679472604] (acc6989586621679472603, [y6989586621679472605]) -> Type) -> Type))
data MapAccumRSym1 (l_a1X2K :: TyFun acc6989586621679472603 (TyFun x6989586621679472604 (acc6989586621679472603, y6989586621679472605) -> Type) -> Type) (l_a1X2J :: TyFun acc6989586621679472603 (TyFun [x6989586621679472604] (acc6989586621679472603, [y6989586621679472605]) -> Type))
data MapAccumRSym2 (l_a1X2G :: TyFun acc6989586621679472603 (TyFun x6989586621679472604 (acc6989586621679472603, y6989586621679472605) -> Type) -> Type) (l_a1X2H :: acc6989586621679472603) (l_a1X2F :: TyFun [x6989586621679472604] (acc6989586621679472603, [y6989586621679472605]))
type MapAccumRSym3 (t_a1X2C :: TyFun acc6989586621679472603 (TyFun x6989586621679472604 (acc6989586621679472603, y6989586621679472605) -> Type) -> Type) (t_a1X2D :: acc6989586621679472603) (t_a1X2E :: [x6989586621679472604]) = MapAccumR t_a1X2C t_a1X2D t_a1X2E
data UnfoldrSym0 (l_a1X2j :: TyFun (TyFun b6989586621679472601 (Maybe (a6989586621679472602, b6989586621679472601)) -> Type) (TyFun b6989586621679472601 [a6989586621679472602] -> Type))
data UnfoldrSym1 (l_a1X2h :: TyFun b6989586621679472601 (Maybe (a6989586621679472602, b6989586621679472601)) -> Type) (l_a1X2g :: TyFun b6989586621679472601 [a6989586621679472602])
type UnfoldrSym2 (t_a1X2e :: TyFun b6989586621679472601 (Maybe (a6989586621679472602, b6989586621679472601)) -> Type) (t_a1X2f :: b6989586621679472601) = Unfoldr t_a1X2e t_a1X2f
data InitsSym0 (l_a1X25 :: TyFun [a6989586621679472600] [[a6989586621679472600]])
type InitsSym1 (t_a1X24 :: [a6989586621679472600]) = Inits t_a1X24
data TailsSym0 (l_a1X1I :: TyFun [a6989586621679472599] [[a6989586621679472599]])
type TailsSym1 (t_a1X1H :: [a6989586621679472599]) = Tails t_a1X1H
data IsPrefixOfSym0 (l_a1X1n :: TyFun [a6989586621679472598] (TyFun [a6989586621679472598] Bool -> Type))
data IsPrefixOfSym1 (l_a1X1l :: [a6989586621679472598]) (l_a1X1k :: TyFun [a6989586621679472598] Bool)
type IsPrefixOfSym2 (t_a1X1i :: [a6989586621679472598]) (t_a1X1j :: [a6989586621679472598]) = IsPrefixOf t_a1X1i t_a1X1j
data IsSuffixOfSym0 (l_a1XoI :: TyFun [a6989586621679472597] (TyFun [a6989586621679472597] Bool -> Type))
data IsSuffixOfSym1 (l_a1XoG :: [a6989586621679472597]) (l_a1XoF :: TyFun [a6989586621679472597] Bool)
type IsSuffixOfSym2 (t_a1XoD :: [a6989586621679472597]) (t_a1XoE :: [a6989586621679472597]) = IsSuffixOf t_a1XoD t_a1XoE
data IsInfixOfSym0 (l_a1X1Y :: TyFun [a6989586621679472596] (TyFun [a6989586621679472596] Bool -> Type))
data IsInfixOfSym1 (l_a1X1W :: [a6989586621679472596]) (l_a1X1V :: TyFun [a6989586621679472596] Bool)
type IsInfixOfSym2 (t_a1X1T :: [a6989586621679472596]) (t_a1X1U :: [a6989586621679472596]) = IsInfixOf t_a1X1T t_a1X1U
data ElemSym0 (l_a1X0m :: TyFun a6989586621679472595 (TyFun [a6989586621679472595] Bool -> Type))
data ElemSym1 (l_a1X0k :: a6989586621679472595) (l_a1X0j :: TyFun [a6989586621679472595] Bool)
type ElemSym2 (t_a1X0h :: a6989586621679472595) (t_a1X0i :: [a6989586621679472595]) = Elem t_a1X0h t_a1X0i
data NotElemSym0 (l_a1X07 :: TyFun a6989586621679472594 (TyFun [a6989586621679472594] Bool -> Type))
data NotElemSym1 (l_a1X05 :: a6989586621679472594) (l_a1X04 :: TyFun [a6989586621679472594] Bool)
type NotElemSym2 (t_a1X02 :: a6989586621679472594) (t_a1X03 :: [a6989586621679472594]) = NotElem t_a1X02 t_a1X03
data ZipSym0 (l_a1WY4 :: TyFun [a6989586621679472592] (TyFun [b6989586621679472593] [(a6989586621679472592, b6989586621679472593)] -> Type))
data ZipSym1 (l_a1WY2 :: [a6989586621679472592]) (l_a1WY1 :: TyFun [b6989586621679472593] [(a6989586621679472592, b6989586621679472593)])
type ZipSym2 (t_a1WXZ :: [a6989586621679472592]) (t_a1WY0 :: [b6989586621679472593]) = Zip t_a1WXZ t_a1WY0
data Zip3Sym0 (l_a1WWW :: TyFun [a6989586621679472589] (TyFun [b6989586621679472590] (TyFun [c6989586621679472591] [(a6989586621679472589, b6989586621679472590, c6989586621679472591)] -> Type) -> Type))
data Zip3Sym1 (l_a1WWU :: [a6989586621679472589]) (l_a1WWT :: TyFun [b6989586621679472590] (TyFun [c6989586621679472591] [(a6989586621679472589, b6989586621679472590, c6989586621679472591)] -> Type))
data Zip3Sym2 (l_a1WWQ :: [a6989586621679472589]) (l_a1WWR :: [b6989586621679472590]) (l_a1WWP :: TyFun [c6989586621679472591] [(a6989586621679472589, b6989586621679472590, c6989586621679472591)])
type Zip3Sym3 (t_a1WWM :: [a6989586621679472589]) (t_a1WWN :: [b6989586621679472590]) (t_a1WWO :: [c6989586621679472591]) = Zip3 t_a1WWM t_a1WWN t_a1WWO
data ZipWithSym0 (l_a1WWh :: TyFun (TyFun a6989586621679472586 (TyFun b6989586621679472587 c6989586621679472588 -> Type) -> Type) (TyFun [a6989586621679472586] (TyFun [b6989586621679472587] [c6989586621679472588] -> Type) -> Type))
data ZipWithSym1 (l_a1WWf :: TyFun a6989586621679472586 (TyFun b6989586621679472587 c6989586621679472588 -> Type) -> Type) (l_a1WWe :: TyFun [a6989586621679472586] (TyFun [b6989586621679472587] [c6989586621679472588] -> Type))
data ZipWithSym2 (l_a1WWb :: TyFun a6989586621679472586 (TyFun b6989586621679472587 c6989586621679472588 -> Type) -> Type) (l_a1WWc :: [a6989586621679472586]) (l_a1WWa :: TyFun [b6989586621679472587] [c6989586621679472588])
type ZipWithSym3 (t_a1WW7 :: TyFun a6989586621679472586 (TyFun b6989586621679472587 c6989586621679472588 -> Type) -> Type) (t_a1WW8 :: [a6989586621679472586]) (t_a1WW9 :: [b6989586621679472587]) = ZipWith t_a1WW7 t_a1WW8 t_a1WW9
data ZipWith3Sym0 (l_a1WUH :: TyFun (TyFun a6989586621679472582 (TyFun b6989586621679472583 (TyFun c6989586621679472584 d6989586621679472585 -> Type) -> Type) -> Type) (TyFun [a6989586621679472582] (TyFun [b6989586621679472583] (TyFun [c6989586621679472584] [d6989586621679472585] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1WUF :: TyFun a6989586621679472582 (TyFun b6989586621679472583 (TyFun c6989586621679472584 d6989586621679472585 -> Type) -> Type) -> Type) (l_a1WUE :: TyFun [a6989586621679472582] (TyFun [b6989586621679472583] (TyFun [c6989586621679472584] [d6989586621679472585] -> Type) -> Type))
data ZipWith3Sym2 (l_a1WUB :: TyFun a6989586621679472582 (TyFun b6989586621679472583 (TyFun c6989586621679472584 d6989586621679472585 -> Type) -> Type) -> Type) (l_a1WUC :: [a6989586621679472582]) (l_a1WUA :: TyFun [b6989586621679472583] (TyFun [c6989586621679472584] [d6989586621679472585] -> Type))
data ZipWith3Sym3 (l_a1WUw :: TyFun a6989586621679472582 (TyFun b6989586621679472583 (TyFun c6989586621679472584 d6989586621679472585 -> Type) -> Type) -> Type) (l_a1WUx :: [a6989586621679472582]) (l_a1WUy :: [b6989586621679472583]) (l_a1WUv :: TyFun [c6989586621679472584] [d6989586621679472585])
type ZipWith3Sym4 (t_a1WUr :: TyFun a6989586621679472582 (TyFun b6989586621679472583 (TyFun c6989586621679472584 d6989586621679472585 -> Type) -> Type) -> Type) (t_a1WUs :: [a6989586621679472582]) (t_a1WUt :: [b6989586621679472583]) (t_a1WUu :: [c6989586621679472584]) = ZipWith3 t_a1WUr t_a1WUs t_a1WUt t_a1WUu
data UnzipSym0 (l_a1WTY :: TyFun [(a6989586621679472580, b6989586621679472581)] ([a6989586621679472580], [b6989586621679472581]))
type UnzipSym1 (t_a1WTX :: [(a6989586621679472580, b6989586621679472581)]) = Unzip t_a1WTX
data Unzip3Sym0 (l_a1WTs :: TyFun [(a6989586621679472577, b6989586621679472578, c6989586621679472579)] ([a6989586621679472577], [b6989586621679472578], [c6989586621679472579]))
type Unzip3Sym1 (t_a1WTr :: [(a6989586621679472577, b6989586621679472578, c6989586621679472579)]) = Unzip3 t_a1WTr
data Unzip4Sym0 (l_a1WSU :: TyFun [(a6989586621679472573, b6989586621679472574, c6989586621679472575, d6989586621679472576)] ([a6989586621679472573], [b6989586621679472574], [c6989586621679472575], [d6989586621679472576]))
type Unzip4Sym1 (t_a1WST :: [(a6989586621679472573, b6989586621679472574, c6989586621679472575, d6989586621679472576)]) = Unzip4 t_a1WST
data Unzip5Sym0 (l_a1WSk :: TyFun [(a6989586621679472568, b6989586621679472569, c6989586621679472570, d6989586621679472571, e6989586621679472572)] ([a6989586621679472568], [b6989586621679472569], [c6989586621679472570], [d6989586621679472571], [e6989586621679472572]))
type Unzip5Sym1 (t_a1WSj :: [(a6989586621679472568, b6989586621679472569, c6989586621679472570, d6989586621679472571, e6989586621679472572)]) = Unzip5 t_a1WSj
data Unzip6Sym0 (l_a1WRI :: TyFun [(a6989586621679472562, b6989586621679472563, c6989586621679472564, d6989586621679472565, e6989586621679472566, f6989586621679472567)] ([a6989586621679472562], [b6989586621679472563], [c6989586621679472564], [d6989586621679472565], [e6989586621679472566], [f6989586621679472567]))
type Unzip6Sym1 (t_a1WRH :: [(a6989586621679472562, b6989586621679472563, c6989586621679472564, d6989586621679472565, e6989586621679472566, f6989586621679472567)]) = Unzip6 t_a1WRH
data Unzip7Sym0 (l_a1WR4 :: TyFun [(a6989586621679472555, b6989586621679472556, c6989586621679472557, d6989586621679472558, e6989586621679472559, f6989586621679472560, g6989586621679472561)] ([a6989586621679472555], [b6989586621679472556], [c6989586621679472557], [d6989586621679472558], [e6989586621679472559], [f6989586621679472560], [g6989586621679472561]))
type Unzip7Sym1 (t_a1WR3 :: [(a6989586621679472555, b6989586621679472556, c6989586621679472557, d6989586621679472558, e6989586621679472559, f6989586621679472560, g6989586621679472561)]) = Unzip7 t_a1WR3
data DeleteSym0 (l_a1WQI :: TyFun a6989586621679472554 (TyFun [a6989586621679472554] [a6989586621679472554] -> Type))
data DeleteSym1 (l_a1WQG :: a6989586621679472554) (l_a1WQF :: TyFun [a6989586621679472554] [a6989586621679472554])
type DeleteSym2 (t_a1WQD :: a6989586621679472554) (t_a1WQE :: [a6989586621679472554]) = Delete t_a1WQD t_a1WQE
data (:\\$) (l_a1WQX :: TyFun [a6989586621679472553] (TyFun [a6989586621679472553] [a6989586621679472553] -> Type))
data (:\\$$) (l_a1WQV :: [a6989586621679472553]) (l_a1WQU :: TyFun [a6989586621679472553] [a6989586621679472553])
type (:\\$$$) (t_a1WQS :: [a6989586621679472553]) (t_a1WQT :: [a6989586621679472553]) = (:\\) t_a1WQS t_a1WQT
data IntersectSym0 (l_a1WNi :: TyFun [a6989586621679472540] (TyFun [a6989586621679472540] [a6989586621679472540] -> Type))
data IntersectSym1 (l_a1WNg :: [a6989586621679472540]) (l_a1WNf :: TyFun [a6989586621679472540] [a6989586621679472540])
type IntersectSym2 (t_a1WNd :: [a6989586621679472540]) (t_a1WNe :: [a6989586621679472540]) = Intersect t_a1WNd t_a1WNe
data InsertSym0 (l_a1WOv :: TyFun a6989586621679472527 (TyFun [a6989586621679472527] [a6989586621679472527] -> Type))
data InsertSym1 (l_a1WOt :: a6989586621679472527) (l_a1WOs :: TyFun [a6989586621679472527] [a6989586621679472527])
type InsertSym2 (t_a1WOq :: a6989586621679472527) (t_a1WOr :: [a6989586621679472527]) = Insert t_a1WOq t_a1WOr
data SortSym0 (l_a1WOR :: TyFun [a6989586621679472526] [a6989586621679472526])
type SortSym1 (t_a1WOQ :: [a6989586621679472526]) = Sort t_a1WOQ
data DeleteBySym0 (l_a1WP5 :: TyFun (TyFun a6989586621679472552 (TyFun a6989586621679472552 Bool -> Type) -> Type) (TyFun a6989586621679472552 (TyFun [a6989586621679472552] [a6989586621679472552] -> Type) -> Type))
data DeleteBySym1 (l_a1WP3 :: TyFun a6989586621679472552 (TyFun a6989586621679472552 Bool -> Type) -> Type) (l_a1WP2 :: TyFun a6989586621679472552 (TyFun [a6989586621679472552] [a6989586621679472552] -> Type))
data DeleteBySym2 (l_a1WOZ :: TyFun a6989586621679472552 (TyFun a6989586621679472552 Bool -> Type) -> Type) (l_a1WP0 :: a6989586621679472552) (l_a1WOY :: TyFun [a6989586621679472552] [a6989586621679472552])
type DeleteBySym3 (t_a1WOV :: TyFun a6989586621679472552 (TyFun a6989586621679472552 Bool -> Type) -> Type) (t_a1WOW :: a6989586621679472552) (t_a1WOX :: [a6989586621679472552]) = DeleteBy t_a1WOV t_a1WOW t_a1WOX
data DeleteFirstsBySym0 (l_a1WPQ :: TyFun (TyFun a6989586621679472551 (TyFun a6989586621679472551 Bool -> Type) -> Type) (TyFun [a6989586621679472551] (TyFun [a6989586621679472551] [a6989586621679472551] -> Type) -> Type))
data DeleteFirstsBySym1 (l_a1WPO :: TyFun a6989586621679472551 (TyFun a6989586621679472551 Bool -> Type) -> Type) (l_a1WPN :: TyFun [a6989586621679472551] (TyFun [a6989586621679472551] [a6989586621679472551] -> Type))
data DeleteFirstsBySym2 (l_a1WPK :: TyFun a6989586621679472551 (TyFun a6989586621679472551 Bool -> Type) -> Type) (l_a1WPL :: [a6989586621679472551]) (l_a1WPJ :: TyFun [a6989586621679472551] [a6989586621679472551])
type DeleteFirstsBySym3 (t_a1WPG :: TyFun a6989586621679472551 (TyFun a6989586621679472551 Bool -> Type) -> Type) (t_a1WPH :: [a6989586621679472551]) (t_a1WPI :: [a6989586621679472551]) = DeleteFirstsBy t_a1WPG t_a1WPH t_a1WPI
data IntersectBySym0 (l_a1WLe :: TyFun (TyFun a6989586621679472539 (TyFun a6989586621679472539 Bool -> Type) -> Type) (TyFun [a6989586621679472539] (TyFun [a6989586621679472539] [a6989586621679472539] -> Type) -> Type))
data IntersectBySym1 (l_a1WLc :: TyFun a6989586621679472539 (TyFun a6989586621679472539 Bool -> Type) -> Type) (l_a1WLb :: TyFun [a6989586621679472539] (TyFun [a6989586621679472539] [a6989586621679472539] -> Type))
data IntersectBySym2 (l_a1WL8 :: TyFun a6989586621679472539 (TyFun a6989586621679472539 Bool -> Type) -> Type) (l_a1WL9 :: [a6989586621679472539]) (l_a1WL7 :: TyFun [a6989586621679472539] [a6989586621679472539])
data SortBySym0 (l_a1WOG :: TyFun (TyFun a6989586621679472550 (TyFun a6989586621679472550 Ordering -> Type) -> Type) (TyFun [a6989586621679472550] [a6989586621679472550] -> Type))
data SortBySym1 (l_a1WOE :: TyFun a6989586621679472550 (TyFun a6989586621679472550 Ordering -> Type) -> Type) (l_a1WOD :: TyFun [a6989586621679472550] [a6989586621679472550])
type SortBySym2 (t_a1WOB :: TyFun a6989586621679472550 (TyFun a6989586621679472550 Ordering -> Type) -> Type) (t_a1WOC :: [a6989586621679472550]) = SortBy t_a1WOB t_a1WOC
data InsertBySym0 (l_a1WNy :: TyFun (TyFun a6989586621679472549 (TyFun a6989586621679472549 Ordering -> Type) -> Type) (TyFun a6989586621679472549 (TyFun [a6989586621679472549] [a6989586621679472549] -> Type) -> Type))
data InsertBySym1 (l_a1WNw :: TyFun a6989586621679472549 (TyFun a6989586621679472549 Ordering -> Type) -> Type) (l_a1WNv :: TyFun a6989586621679472549 (TyFun [a6989586621679472549] [a6989586621679472549] -> Type))
data InsertBySym2 (l_a1WNs :: TyFun a6989586621679472549 (TyFun a6989586621679472549 Ordering -> Type) -> Type) (l_a1WNt :: a6989586621679472549) (l_a1WNr :: TyFun [a6989586621679472549] [a6989586621679472549])
type InsertBySym3 (t_a1WNo :: TyFun a6989586621679472549 (TyFun a6989586621679472549 Ordering -> Type) -> Type) (t_a1WNp :: a6989586621679472549) (t_a1WNq :: [a6989586621679472549]) = InsertBy t_a1WNo t_a1WNp t_a1WNq
data MaximumBySym0 (l_a1Xcg :: TyFun (TyFun a6989586621679472548 (TyFun a6989586621679472548 Ordering -> Type) -> Type) (TyFun [a6989586621679472548] a6989586621679472548 -> Type))
data MaximumBySym1 (l_a1Xce :: TyFun a6989586621679472548 (TyFun a6989586621679472548 Ordering -> Type) -> Type) (l_a1Xcd :: TyFun [a6989586621679472548] a6989586621679472548)
type MaximumBySym2 (t_a1Xcb :: TyFun a6989586621679472548 (TyFun a6989586621679472548 Ordering -> Type) -> Type) (t_a1Xcc :: [a6989586621679472548]) = MaximumBy t_a1Xcb t_a1Xcc
data MinimumBySym0 (l_a1XdF :: TyFun (TyFun a6989586621679472547 (TyFun a6989586621679472547 Ordering -> Type) -> Type) (TyFun [a6989586621679472547] a6989586621679472547 -> Type))
data MinimumBySym1 (l_a1XdD :: TyFun a6989586621679472547 (TyFun a6989586621679472547 Ordering -> Type) -> Type) (l_a1XdC :: TyFun [a6989586621679472547] a6989586621679472547)
type MinimumBySym2 (t_a1XdA :: TyFun a6989586621679472547 (TyFun a6989586621679472547 Ordering -> Type) -> Type) (t_a1XdB :: [a6989586621679472547]) = MinimumBy t_a1XdA t_a1XdB
data LengthSym0 (l_a1WBa :: TyFun [a6989586621679472518] Nat)
type LengthSym1 (t_a1WB9 :: [a6989586621679472518]) = Length t_a1WB9
data SumSym0 (l_a1WBG :: TyFun [a6989586621679472520] a6989586621679472520)
type SumSym1 (t_a1WBF :: [a6989586621679472520]) = Sum t_a1WBF
data ProductSym0 (l_a1WBi :: TyFun [a6989586621679472519] a6989586621679472519)
type ProductSym1 (t_a1WBh :: [a6989586621679472519]) = Product t_a1WBh
data ReplicateSym0 (l_a1WAS :: TyFun Nat (TyFun a6989586621679472517 [a6989586621679472517] -> Type))
data ReplicateSym1 (l_a1WAQ :: Nat) (l_a1WAP :: TyFun a6989586621679472517 [a6989586621679472517])
type ReplicateSym2 (t_a1WAN :: Nat) (t_a1WAO :: a6989586621679472517) = Replicate t_a1WAN t_a1WAO
data TransposeSym0 (l_a1XqT :: TyFun [[a6989586621679472516]] [[a6989586621679472516]])
type TransposeSym1 (t_a1XqS :: [[a6989586621679472516]]) = Transpose t_a1XqS
data TakeSym0 (l_a1WE3 :: TyFun Nat (TyFun [a6989586621679472533] [a6989586621679472533] -> Type))
data TakeSym1 (l_a1WE1 :: Nat) (l_a1WE0 :: TyFun [a6989586621679472533] [a6989586621679472533])
type TakeSym2 (t_a1WDY :: Nat) (t_a1WDZ :: [a6989586621679472533]) = Take t_a1WDY t_a1WDZ
data DropSym0 (l_a1WDy :: TyFun Nat (TyFun [a6989586621679472532] [a6989586621679472532] -> Type))
data DropSym1 (l_a1WDw :: Nat) (l_a1WDv :: TyFun [a6989586621679472532] [a6989586621679472532])
type DropSym2 (t_a1WDt :: Nat) (t_a1WDu :: [a6989586621679472532]) = Drop t_a1WDt t_a1WDu
data SplitAtSym0 (l_a1WEy :: TyFun Nat (TyFun [a6989586621679472531] ([a6989586621679472531], [a6989586621679472531]) -> Type))
data SplitAtSym1 (l_a1WEw :: Nat) (l_a1WEv :: TyFun [a6989586621679472531] ([a6989586621679472531], [a6989586621679472531]))
type SplitAtSym2 (t_a1WEt :: Nat) (t_a1WEu :: [a6989586621679472531]) = SplitAt t_a1WEt t_a1WEu
data TakeWhileSym0 (l_a1WJY :: TyFun (TyFun a6989586621679472538 Bool -> Type) (TyFun [a6989586621679472538] [a6989586621679472538] -> Type))
data TakeWhileSym1 (l_a1WJW :: TyFun a6989586621679472538 Bool -> Type) (l_a1WJV :: TyFun [a6989586621679472538] [a6989586621679472538])
type TakeWhileSym2 (t_a1WJT :: TyFun a6989586621679472538 Bool -> Type) (t_a1WJU :: [a6989586621679472538]) = TakeWhile t_a1WJT t_a1WJU
data DropWhileSym0 (l_a1WJg :: TyFun (TyFun a6989586621679472537 Bool -> Type) (TyFun [a6989586621679472537] [a6989586621679472537] -> Type))
data DropWhileSym1 (l_a1WJe :: TyFun a6989586621679472537 Bool -> Type) (l_a1WJd :: TyFun [a6989586621679472537] [a6989586621679472537])
type DropWhileSym2 (t_a1WJb :: TyFun a6989586621679472537 Bool -> Type) (t_a1WJc :: [a6989586621679472537]) = DropWhile t_a1WJb t_a1WJc
data DropWhileEndSym0 (l_a1Xp3 :: TyFun (TyFun a6989586621679472536 Bool -> Type) (TyFun [a6989586621679472536] [a6989586621679472536] -> Type))
data DropWhileEndSym1 (l_a1Xp1 :: TyFun a6989586621679472536 Bool -> Type) (l_a1Xp0 :: TyFun [a6989586621679472536] [a6989586621679472536])
type DropWhileEndSym2 (t_a1XoY :: TyFun a6989586621679472536 Bool -> Type) (t_a1XoZ :: [a6989586621679472536]) = DropWhileEnd t_a1XoY t_a1XoZ
data SpanSym0 (l_a1WGn :: TyFun (TyFun a6989586621679472535 Bool -> Type) (TyFun [a6989586621679472535] ([a6989586621679472535], [a6989586621679472535]) -> Type))
data SpanSym1 (l_a1WGl :: TyFun a6989586621679472535 Bool -> Type) (l_a1WGk :: TyFun [a6989586621679472535] ([a6989586621679472535], [a6989586621679472535]))
type SpanSym2 (t_a1WGi :: TyFun a6989586621679472535 Bool -> Type) (t_a1WGj :: [a6989586621679472535]) = Span t_a1WGi t_a1WGj
data BreakSym0 (l_a1WEJ :: TyFun (TyFun a6989586621679472534 Bool -> Type) (TyFun [a6989586621679472534] ([a6989586621679472534], [a6989586621679472534]) -> Type))
data BreakSym1 (l_a1WEH :: TyFun a6989586621679472534 Bool -> Type) (l_a1WEG :: TyFun [a6989586621679472534] ([a6989586621679472534], [a6989586621679472534]))
type BreakSym2 (t_a1WEE :: TyFun a6989586621679472534 Bool -> Type) (t_a1WEF :: [a6989586621679472534]) = Break t_a1WEE t_a1WEF
data StripPrefixSym0 (l_a3K5O :: TyFun [a6989586621679901288] (TyFun [a6989586621679901288] (Maybe [a6989586621679901288]) -> Type))
data StripPrefixSym1 (l_a3K5M :: [a6989586621679901288]) (l_a3K5L :: TyFun [a6989586621679901288] (Maybe [a6989586621679901288]))
type StripPrefixSym2 (t_a3K5J :: [a6989586621679901288]) (t_a3K5K :: [a6989586621679901288]) = StripPrefix t_a3K5J t_a3K5K
data MaximumSym0 (l_a1Xf0 :: TyFun [a6989586621679472529] a6989586621679472529)
type MaximumSym1 (t_a1XeZ :: [a6989586621679472529]) = Maximum t_a1XeZ
data MinimumSym0 (l_a1Xfe :: TyFun [a6989586621679472528] a6989586621679472528)
type MinimumSym1 (t_a1Xfd :: [a6989586621679472528]) = Minimum t_a1Xfd
data GroupSym0 (l_a1WJ7 :: TyFun [a6989586621679472530] [[a6989586621679472530]])
type GroupSym1 (t_a1WJ6 :: [a6989586621679472530]) = Group t_a1WJ6
data GroupBySym0 (l_a1WI1 :: TyFun (TyFun a6989586621679472525 (TyFun a6989586621679472525 Bool -> Type) -> Type) (TyFun [a6989586621679472525] [[a6989586621679472525]] -> Type))
data GroupBySym1 (l_a1WHZ :: TyFun a6989586621679472525 (TyFun a6989586621679472525 Bool -> Type) -> Type) (l_a1WHY :: TyFun [a6989586621679472525] [[a6989586621679472525]])
type GroupBySym2 (t_a1WHW :: TyFun a6989586621679472525 (TyFun a6989586621679472525 Bool -> Type) -> Type) (t_a1WHX :: [a6989586621679472525]) = GroupBy t_a1WHW t_a1WHX
data LookupSym0 (l_a1WCY :: TyFun a6989586621679472523 (TyFun [(a6989586621679472523, b6989586621679472524)] (Maybe b6989586621679472524) -> Type))
data LookupSym1 (l_a1WCW :: a6989586621679472523) (l_a1WCV :: TyFun [(a6989586621679472523, b6989586621679472524)] (Maybe b6989586621679472524))
type LookupSym2 (t_a1WCT :: a6989586621679472523) (t_a1WCU :: [(a6989586621679472523, b6989586621679472524)]) = Lookup t_a1WCT t_a1WCU
data FindSym0 (l_a1WKW :: TyFun (TyFun a6989586621679472545 Bool -> Type) (TyFun [a6989586621679472545] (Maybe a6989586621679472545) -> Type))
data FindSym1 (l_a1WKU :: TyFun a6989586621679472545 Bool -> Type) (l_a1WKT :: TyFun [a6989586621679472545] (Maybe a6989586621679472545))
type FindSym2 (t_a1WKR :: TyFun a6989586621679472545 Bool -> Type) (t_a1WKS :: [a6989586621679472545]) = Find t_a1WKR t_a1WKS
data FilterSym0 (l_a1WKt :: TyFun (TyFun a6989586621679472546 Bool -> Type) (TyFun [a6989586621679472546] [a6989586621679472546] -> Type))
data FilterSym1 (l_a1WKr :: TyFun a6989586621679472546 Bool -> Type) (l_a1WKq :: TyFun [a6989586621679472546] [a6989586621679472546])
type FilterSym2 (t_a1WKo :: TyFun a6989586621679472546 Bool -> Type) (t_a1WKp :: [a6989586621679472546]) = Filter t_a1WKo t_a1WKp
data PartitionSym0 (l_a1WCN :: TyFun (TyFun a6989586621679472522 Bool -> Type) (TyFun [a6989586621679472522] ([a6989586621679472522], [a6989586621679472522]) -> Type))
data PartitionSym1 (l_a1WCL :: TyFun a6989586621679472522 Bool -> Type) (l_a1WCK :: TyFun [a6989586621679472522] ([a6989586621679472522], [a6989586621679472522]))
type PartitionSym2 (t_a1WCI :: TyFun a6989586621679472522 Bool -> Type) (t_a1WCJ :: [a6989586621679472522]) = Partition t_a1WCI t_a1WCJ
data (:!!$) (l_a1WAn :: TyFun [a6989586621679472515] (TyFun Nat a6989586621679472515 -> Type))
data (:!!$$) (l_a1WAl :: [a6989586621679472515]) (l_a1WAk :: TyFun Nat a6989586621679472515)
type (:!!$$$) (t_a1WAi :: [a6989586621679472515]) (t_a1WAj :: Nat) = (:!!) t_a1WAi t_a1WAj
data ElemIndexSym0 (l_a1WZU :: TyFun a6989586621679472544 (TyFun [a6989586621679472544] (Maybe Nat) -> Type))
data ElemIndexSym1 (l_a1WZS :: a6989586621679472544) (l_a1WZR :: TyFun [a6989586621679472544] (Maybe Nat))
type ElemIndexSym2 (t_a1WZP :: a6989586621679472544) (t_a1WZQ :: [a6989586621679472544]) = ElemIndex t_a1WZP t_a1WZQ
data ElemIndicesSym0 (l_a1WZu :: TyFun a6989586621679472543 (TyFun [a6989586621679472543] [Nat] -> Type))
data ElemIndicesSym1 (l_a1WZs :: a6989586621679472543) (l_a1WZr :: TyFun [a6989586621679472543] [Nat])
type ElemIndicesSym2 (t_a1WZp :: a6989586621679472543) (t_a1WZq :: [a6989586621679472543]) = ElemIndices t_a1WZp t_a1WZq
data FindIndexSym0 (l_a1WZH :: TyFun (TyFun a6989586621679472542 Bool -> Type) (TyFun [a6989586621679472542] (Maybe Nat) -> Type))
data FindIndexSym1 (l_a1WZF :: TyFun a6989586621679472542 Bool -> Type) (l_a1WZE :: TyFun [a6989586621679472542] (Maybe Nat))
type FindIndexSym2 (t_a1WZC :: TyFun a6989586621679472542 Bool -> Type) (t_a1WZD :: [a6989586621679472542]) = FindIndex t_a1WZC t_a1WZD
data FindIndicesSym0 (l_a1WYt :: TyFun (TyFun a6989586621679472541 Bool -> Type) (TyFun [a6989586621679472541] [Nat] -> Type))
data FindIndicesSym1 (l_a1WYr :: TyFun a6989586621679472541 Bool -> Type) (l_a1WYq :: TyFun [a6989586621679472541] [Nat])
type FindIndicesSym2 (t_a1WYo :: TyFun a6989586621679472541 Bool -> Type) (t_a1WYp :: [a6989586621679472541]) = FindIndices t_a1WYo t_a1WYp
data Zip4Sym0 (l_a3K5z :: TyFun [a6989586621679901284] (TyFun [b6989586621679901285] (TyFun [c6989586621679901286] (TyFun [d6989586621679901287] [(a6989586621679901284, b6989586621679901285, c6989586621679901286, d6989586621679901287)] -> Type) -> Type) -> Type))
data Zip4Sym1 (l_a3K5x :: [a6989586621679901284]) (l_a3K5w :: TyFun [b6989586621679901285] (TyFun [c6989586621679901286] (TyFun [d6989586621679901287] [(a6989586621679901284, b6989586621679901285, c6989586621679901286, d6989586621679901287)] -> Type) -> Type))
data Zip4Sym2 (l_a3K5t :: [a6989586621679901284]) (l_a3K5u :: [b6989586621679901285]) (l_a3K5s :: TyFun [c6989586621679901286] (TyFun [d6989586621679901287] [(a6989586621679901284, b6989586621679901285, c6989586621679901286, d6989586621679901287)] -> Type))
data Zip4Sym3 (l_a3K5o :: [a6989586621679901284]) (l_a3K5p :: [b6989586621679901285]) (l_a3K5q :: [c6989586621679901286]) (l_a3K5n :: TyFun [d6989586621679901287] [(a6989586621679901284, b6989586621679901285, c6989586621679901286, d6989586621679901287)])
type Zip4Sym4 (t_a3K5j :: [a6989586621679901284]) (t_a3K5k :: [b6989586621679901285]) (t_a3K5l :: [c6989586621679901286]) (t_a3K5m :: [d6989586621679901287]) = Zip4 t_a3K5j t_a3K5k t_a3K5l t_a3K5m
data Zip5Sym0 (l_a3K4Z :: TyFun [a6989586621679901279] (TyFun [b6989586621679901280] (TyFun [c6989586621679901281] (TyFun [d6989586621679901282] (TyFun [e6989586621679901283] [(a6989586621679901279, b6989586621679901280, c6989586621679901281, d6989586621679901282, e6989586621679901283)] -> Type) -> Type) -> Type) -> Type))
data Zip5Sym1 (l_a3K4X :: [a6989586621679901279]) (l_a3K4W :: TyFun [b6989586621679901280] (TyFun [c6989586621679901281] (TyFun [d6989586621679901282] (TyFun [e6989586621679901283] [(a6989586621679901279, b6989586621679901280, c6989586621679901281, d6989586621679901282, e6989586621679901283)] -> Type) -> Type) -> Type))
data Zip5Sym2 (l_a3K4T :: [a6989586621679901279]) (l_a3K4U :: [b6989586621679901280]) (l_a3K4S :: TyFun [c6989586621679901281] (TyFun [d6989586621679901282] (TyFun [e6989586621679901283] [(a6989586621679901279, b6989586621679901280, c6989586621679901281, d6989586621679901282, e6989586621679901283)] -> Type) -> Type))
data Zip5Sym3 (l_a3K4O :: [a6989586621679901279]) (l_a3K4P :: [b6989586621679901280]) (l_a3K4Q :: [c6989586621679901281]) (l_a3K4N :: TyFun [d6989586621679901282] (TyFun [e6989586621679901283] [(a6989586621679901279, b6989586621679901280, c6989586621679901281, d6989586621679901282, e6989586621679901283)] -> Type))
data Zip5Sym4 (l_a3K4I :: [a6989586621679901279]) (l_a3K4J :: [b6989586621679901280]) (l_a3K4K :: [c6989586621679901281]) (l_a3K4L :: [d6989586621679901282]) (l_a3K4H :: TyFun [e6989586621679901283] [(a6989586621679901279, b6989586621679901280, c6989586621679901281, d6989586621679901282, e6989586621679901283)])
type Zip5Sym5 (t_a3K4C :: [a6989586621679901279]) (t_a3K4D :: [b6989586621679901280]) (t_a3K4E :: [c6989586621679901281]) (t_a3K4F :: [d6989586621679901282]) (t_a3K4G :: [e6989586621679901283]) = Zip5 t_a3K4C t_a3K4D t_a3K4E t_a3K4F t_a3K4G
data Zip6Sym0 (l_a3K4e :: TyFun [a6989586621679901273] (TyFun [b6989586621679901274] (TyFun [c6989586621679901275] (TyFun [d6989586621679901276] (TyFun [e6989586621679901277] (TyFun [f6989586621679901278] [(a6989586621679901273, b6989586621679901274, c6989586621679901275, d6989586621679901276, e6989586621679901277, f6989586621679901278)] -> Type) -> Type) -> Type) -> Type) -> Type))
data Zip6Sym1 (l_a3K4c :: [a6989586621679901273]) (l_a3K4b :: TyFun [b6989586621679901274] (TyFun [c6989586621679901275] (TyFun [d6989586621679901276] (TyFun [e6989586621679901277] (TyFun [f6989586621679901278] [(a6989586621679901273, b6989586621679901274, c6989586621679901275, d6989586621679901276, e6989586621679901277, f6989586621679901278)] -> Type) -> Type) -> Type) -> Type))
data Zip6Sym2 (l_a3K48 :: [a6989586621679901273]) (l_a3K49 :: [b6989586621679901274]) (l_a3K47 :: TyFun [c6989586621679901275] (TyFun [d6989586621679901276] (TyFun [e6989586621679901277] (TyFun [f6989586621679901278] [(a6989586621679901273, b6989586621679901274, c6989586621679901275, d6989586621679901276, e6989586621679901277, f6989586621679901278)] -> Type) -> Type) -> Type))
data Zip6Sym3 (l_a3K43 :: [a6989586621679901273]) (l_a3K44 :: [b6989586621679901274]) (l_a3K45 :: [c6989586621679901275]) (l_a3K42 :: TyFun [d6989586621679901276] (TyFun [e6989586621679901277] (TyFun [f6989586621679901278] [(a6989586621679901273, b6989586621679901274, c6989586621679901275, d6989586621679901276, e6989586621679901277, f6989586621679901278)] -> Type) -> Type))
data Zip6Sym4 (l_a3K3X :: [a6989586621679901273]) (l_a3K3Y :: [b6989586621679901274]) (l_a3K3Z :: [c6989586621679901275]) (l_a3K40 :: [d6989586621679901276]) (l_a3K3W :: TyFun [e6989586621679901277] (TyFun [f6989586621679901278] [(a6989586621679901273, b6989586621679901274, c6989586621679901275, d6989586621679901276, e6989586621679901277, f6989586621679901278)] -> Type))
data Zip6Sym5 (l_a3K3Q :: [a6989586621679901273]) (l_a3K3R :: [b6989586621679901274]) (l_a3K3S :: [c6989586621679901275]) (l_a3K3T :: [d6989586621679901276]) (l_a3K3U :: [e6989586621679901277]) (l_a3K3P :: TyFun [f6989586621679901278] [(a6989586621679901273, b6989586621679901274, c6989586621679901275, d6989586621679901276, e6989586621679901277, f6989586621679901278)])
type Zip6Sym6 (t_a3K3J :: [a6989586621679901273]) (t_a3K3K :: [b6989586621679901274]) (t_a3K3L :: [c6989586621679901275]) (t_a3K3M :: [d6989586621679901276]) (t_a3K3N :: [e6989586621679901277]) (t_a3K3O :: [f6989586621679901278]) = Zip6 t_a3K3J t_a3K3K t_a3K3L t_a3K3M t_a3K3N t_a3K3O
data Zip7Sym0 (l_a3K3h :: TyFun [a6989586621679901266] (TyFun [b6989586621679901267] (TyFun [c6989586621679901268] (TyFun [d6989586621679901269] (TyFun [e6989586621679901270] (TyFun [f6989586621679901271] (TyFun [g6989586621679901272] [(a6989586621679901266, b6989586621679901267, c6989586621679901268, d6989586621679901269, e6989586621679901270, f6989586621679901271, g6989586621679901272)] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data Zip7Sym1 (l_a3K3f :: [a6989586621679901266]) (l_a3K3e :: TyFun [b6989586621679901267] (TyFun [c6989586621679901268] (TyFun [d6989586621679901269] (TyFun [e6989586621679901270] (TyFun [f6989586621679901271] (TyFun [g6989586621679901272] [(a6989586621679901266, b6989586621679901267, c6989586621679901268, d6989586621679901269, e6989586621679901270, f6989586621679901271, g6989586621679901272)] -> Type) -> Type) -> Type) -> Type) -> Type))
data Zip7Sym2 (l_a3K3b :: [a6989586621679901266]) (l_a3K3c :: [b6989586621679901267]) (l_a3K3a :: TyFun [c6989586621679901268] (TyFun [d6989586621679901269] (TyFun [e6989586621679901270] (TyFun [f6989586621679901271] (TyFun [g6989586621679901272] [(a6989586621679901266, b6989586621679901267, c6989586621679901268, d6989586621679901269, e6989586621679901270, f6989586621679901271, g6989586621679901272)] -> Type) -> Type) -> Type) -> Type))
data Zip7Sym3 (l_a3K36 :: [a6989586621679901266]) (l_a3K37 :: [b6989586621679901267]) (l_a3K38 :: [c6989586621679901268]) (l_a3K35 :: TyFun [d6989586621679901269] (TyFun [e6989586621679901270] (TyFun [f6989586621679901271] (TyFun [g6989586621679901272] [(a6989586621679901266, b6989586621679901267, c6989586621679901268, d6989586621679901269, e6989586621679901270, f6989586621679901271, g6989586621679901272)] -> Type) -> Type) -> Type))
data Zip7Sym4 (l_a3K30 :: [a6989586621679901266]) (l_a3K31 :: [b6989586621679901267]) (l_a3K32 :: [c6989586621679901268]) (l_a3K33 :: [d6989586621679901269]) (l_a3K2Z :: TyFun [e6989586621679901270] (TyFun [f6989586621679901271] (TyFun [g6989586621679901272] [(a6989586621679901266, b6989586621679901267, c6989586621679901268, d6989586621679901269, e6989586621679901270, f6989586621679901271, g6989586621679901272)] -> Type) -> Type))
data Zip7Sym5 (l_a3K2T :: [a6989586621679901266]) (l_a3K2U :: [b6989586621679901267]) (l_a3K2V :: [c6989586621679901268]) (l_a3K2W :: [d6989586621679901269]) (l_a3K2X :: [e6989586621679901270]) (l_a3K2S :: TyFun [f6989586621679901271] (TyFun [g6989586621679901272] [(a6989586621679901266, b6989586621679901267, c6989586621679901268, d6989586621679901269, e6989586621679901270, f6989586621679901271, g6989586621679901272)] -> Type))
data Zip7Sym6 (l_a3K2L :: [a6989586621679901266]) (l_a3K2M :: [b6989586621679901267]) (l_a3K2N :: [c6989586621679901268]) (l_a3K2O :: [d6989586621679901269]) (l_a3K2P :: [e6989586621679901270]) (l_a3K2Q :: [f6989586621679901271]) (l_a3K2K :: TyFun [g6989586621679901272] [(a6989586621679901266, b6989586621679901267, c6989586621679901268, d6989586621679901269, e6989586621679901270, f6989586621679901271, g6989586621679901272)])
type Zip7Sym7 (t_a3K2D :: [a6989586621679901266]) (t_a3K2E :: [b6989586621679901267]) (t_a3K2F :: [c6989586621679901268]) (t_a3K2G :: [d6989586621679901269]) (t_a3K2H :: [e6989586621679901270]) (t_a3K2I :: [f6989586621679901271]) (t_a3K2J :: [g6989586621679901272]) = Zip7 t_a3K2D t_a3K2E t_a3K2F t_a3K2G t_a3K2H t_a3K2I t_a3K2J
data ZipWith4Sym0 (l_a3K1U :: TyFun (TyFun a6989586621679901261 (TyFun b6989586621679901262 (TyFun c6989586621679901263 (TyFun d6989586621679901264 e6989586621679901265 -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679901261] (TyFun [b6989586621679901262] (TyFun [c6989586621679901263] (TyFun [d6989586621679901264] [e6989586621679901265] -> Type) -> Type) -> Type) -> Type))
data ZipWith4Sym1 (l_a3K1S :: TyFun a6989586621679901261 (TyFun b6989586621679901262 (TyFun c6989586621679901263 (TyFun d6989586621679901264 e6989586621679901265 -> Type) -> Type) -> Type) -> Type) (l_a3K1R :: TyFun [a6989586621679901261] (TyFun [b6989586621679901262] (TyFun [c6989586621679901263] (TyFun [d6989586621679901264] [e6989586621679901265] -> Type) -> Type) -> Type))
data ZipWith4Sym2 (l_a3K1O :: TyFun a6989586621679901261 (TyFun b6989586621679901262 (TyFun c6989586621679901263 (TyFun d6989586621679901264 e6989586621679901265 -> Type) -> Type) -> Type) -> Type) (l_a3K1P :: [a6989586621679901261]) (l_a3K1N :: TyFun [b6989586621679901262] (TyFun [c6989586621679901263] (TyFun [d6989586621679901264] [e6989586621679901265] -> Type) -> Type))
data ZipWith4Sym3 (l_a3K1J :: TyFun a6989586621679901261 (TyFun b6989586621679901262 (TyFun c6989586621679901263 (TyFun d6989586621679901264 e6989586621679901265 -> Type) -> Type) -> Type) -> Type) (l_a3K1K :: [a6989586621679901261]) (l_a3K1L :: [b6989586621679901262]) (l_a3K1I :: TyFun [c6989586621679901263] (TyFun [d6989586621679901264] [e6989586621679901265] -> Type))
data ZipWith4Sym4 (l_a3K1D :: TyFun a6989586621679901261 (TyFun b6989586621679901262 (TyFun c6989586621679901263 (TyFun d6989586621679901264 e6989586621679901265 -> Type) -> Type) -> Type) -> Type) (l_a3K1E :: [a6989586621679901261]) (l_a3K1F :: [b6989586621679901262]) (l_a3K1G :: [c6989586621679901263]) (l_a3K1C :: TyFun [d6989586621679901264] [e6989586621679901265])
type ZipWith4Sym5 (t_a3K1x :: TyFun a6989586621679901261 (TyFun b6989586621679901262 (TyFun c6989586621679901263 (TyFun d6989586621679901264 e6989586621679901265 -> Type) -> Type) -> Type) -> Type) (t_a3K1y :: [a6989586621679901261]) (t_a3K1z :: [b6989586621679901262]) (t_a3K1A :: [c6989586621679901263]) (t_a3K1B :: [d6989586621679901264]) = ZipWith4 t_a3K1x t_a3K1y t_a3K1z t_a3K1A t_a3K1B
data ZipWith5Sym0 (l_a3K0W :: TyFun (TyFun a6989586621679901255 (TyFun b6989586621679901256 (TyFun c6989586621679901257 (TyFun d6989586621679901258 (TyFun e6989586621679901259 f6989586621679901260 -> Type) -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679901255] (TyFun [b6989586621679901256] (TyFun [c6989586621679901257] (TyFun [d6989586621679901258] (TyFun [e6989586621679901259] [f6989586621679901260] -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith5Sym1 (l_a3K0U :: TyFun a6989586621679901255 (TyFun b6989586621679901256 (TyFun c6989586621679901257 (TyFun d6989586621679901258 (TyFun e6989586621679901259 f6989586621679901260 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3K0T :: TyFun [a6989586621679901255] (TyFun [b6989586621679901256] (TyFun [c6989586621679901257] (TyFun [d6989586621679901258] (TyFun [e6989586621679901259] [f6989586621679901260] -> Type) -> Type) -> Type) -> Type))
data ZipWith5Sym2 (l_a3K0Q :: TyFun a6989586621679901255 (TyFun b6989586621679901256 (TyFun c6989586621679901257 (TyFun d6989586621679901258 (TyFun e6989586621679901259 f6989586621679901260 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3K0R :: [a6989586621679901255]) (l_a3K0P :: TyFun [b6989586621679901256] (TyFun [c6989586621679901257] (TyFun [d6989586621679901258] (TyFun [e6989586621679901259] [f6989586621679901260] -> Type) -> Type) -> Type))
data ZipWith5Sym3 (l_a3K0L :: TyFun a6989586621679901255 (TyFun b6989586621679901256 (TyFun c6989586621679901257 (TyFun d6989586621679901258 (TyFun e6989586621679901259 f6989586621679901260 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3K0M :: [a6989586621679901255]) (l_a3K0N :: [b6989586621679901256]) (l_a3K0K :: TyFun [c6989586621679901257] (TyFun [d6989586621679901258] (TyFun [e6989586621679901259] [f6989586621679901260] -> Type) -> Type))
data ZipWith5Sym4 (l_a3K0F :: TyFun a6989586621679901255 (TyFun b6989586621679901256 (TyFun c6989586621679901257 (TyFun d6989586621679901258 (TyFun e6989586621679901259 f6989586621679901260 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3K0G :: [a6989586621679901255]) (l_a3K0H :: [b6989586621679901256]) (l_a3K0I :: [c6989586621679901257]) (l_a3K0E :: TyFun [d6989586621679901258] (TyFun [e6989586621679901259] [f6989586621679901260] -> Type))
data ZipWith5Sym5 (l_a3K0y :: TyFun a6989586621679901255 (TyFun b6989586621679901256 (TyFun c6989586621679901257 (TyFun d6989586621679901258 (TyFun e6989586621679901259 f6989586621679901260 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3K0z :: [a6989586621679901255]) (l_a3K0A :: [b6989586621679901256]) (l_a3K0B :: [c6989586621679901257]) (l_a3K0C :: [d6989586621679901258]) (l_a3K0x :: TyFun [e6989586621679901259] [f6989586621679901260])
type ZipWith5Sym6 (t_a3K0r :: TyFun a6989586621679901255 (TyFun b6989586621679901256 (TyFun c6989586621679901257 (TyFun d6989586621679901258 (TyFun e6989586621679901259 f6989586621679901260 -> Type) -> Type) -> Type) -> Type) -> Type) (t_a3K0s :: [a6989586621679901255]) (t_a3K0t :: [b6989586621679901256]) (t_a3K0u :: [c6989586621679901257]) (t_a3K0v :: [d6989586621679901258]) (t_a3K0w :: [e6989586621679901259]) = ZipWith5 t_a3K0r t_a3K0s t_a3K0t t_a3K0u t_a3K0v t_a3K0w
data ZipWith6Sym0 (l_a3JZK :: TyFun (TyFun a6989586621679901248 (TyFun b6989586621679901249 (TyFun c6989586621679901250 (TyFun d6989586621679901251 (TyFun e6989586621679901252 (TyFun f6989586621679901253 g6989586621679901254 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679901248] (TyFun [b6989586621679901249] (TyFun [c6989586621679901250] (TyFun [d6989586621679901251] (TyFun [e6989586621679901252] (TyFun [f6989586621679901253] [g6989586621679901254] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith6Sym1 (l_a3JZI :: TyFun a6989586621679901248 (TyFun b6989586621679901249 (TyFun c6989586621679901250 (TyFun d6989586621679901251 (TyFun e6989586621679901252 (TyFun f6989586621679901253 g6989586621679901254 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3JZH :: TyFun [a6989586621679901248] (TyFun [b6989586621679901249] (TyFun [c6989586621679901250] (TyFun [d6989586621679901251] (TyFun [e6989586621679901252] (TyFun [f6989586621679901253] [g6989586621679901254] -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith6Sym2 (l_a3JZE :: TyFun a6989586621679901248 (TyFun b6989586621679901249 (TyFun c6989586621679901250 (TyFun d6989586621679901251 (TyFun e6989586621679901252 (TyFun f6989586621679901253 g6989586621679901254 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3JZF :: [a6989586621679901248]) (l_a3JZD :: TyFun [b6989586621679901249] (TyFun [c6989586621679901250] (TyFun [d6989586621679901251] (TyFun [e6989586621679901252] (TyFun [f6989586621679901253] [g6989586621679901254] -> Type) -> Type) -> Type) -> Type))
data ZipWith6Sym3 (l_a3JZz :: TyFun a6989586621679901248 (TyFun b6989586621679901249 (TyFun c6989586621679901250 (TyFun d6989586621679901251 (TyFun e6989586621679901252 (TyFun f6989586621679901253 g6989586621679901254 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3JZA :: [a6989586621679901248]) (l_a3JZB :: [b6989586621679901249]) (l_a3JZy :: TyFun [c6989586621679901250] (TyFun [d6989586621679901251] (TyFun [e6989586621679901252] (TyFun [f6989586621679901253] [g6989586621679901254] -> Type) -> Type) -> Type))
data ZipWith6Sym4 (l_a3JZt :: TyFun a6989586621679901248 (TyFun b6989586621679901249 (TyFun c6989586621679901250 (TyFun d6989586621679901251 (TyFun e6989586621679901252 (TyFun f6989586621679901253 g6989586621679901254 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3JZu :: [a6989586621679901248]) (l_a3JZv :: [b6989586621679901249]) (l_a3JZw :: [c6989586621679901250]) (l_a3JZs :: TyFun [d6989586621679901251] (TyFun [e6989586621679901252] (TyFun [f6989586621679901253] [g6989586621679901254] -> Type) -> Type))
data ZipWith6Sym5 (l_a3JZm :: TyFun a6989586621679901248 (TyFun b6989586621679901249 (TyFun c6989586621679901250 (TyFun d6989586621679901251 (TyFun e6989586621679901252 (TyFun f6989586621679901253 g6989586621679901254 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3JZn :: [a6989586621679901248]) (l_a3JZo :: [b6989586621679901249]) (l_a3JZp :: [c6989586621679901250]) (l_a3JZq :: [d6989586621679901251]) (l_a3JZl :: TyFun [e6989586621679901252] (TyFun [f6989586621679901253] [g6989586621679901254] -> Type))
data ZipWith6Sym6 (l_a3JZe :: TyFun a6989586621679901248 (TyFun b6989586621679901249 (TyFun c6989586621679901250 (TyFun d6989586621679901251 (TyFun e6989586621679901252 (TyFun f6989586621679901253 g6989586621679901254 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3JZf :: [a6989586621679901248]) (l_a3JZg :: [b6989586621679901249]) (l_a3JZh :: [c6989586621679901250]) (l_a3JZi :: [d6989586621679901251]) (l_a3JZj :: [e6989586621679901252]) (l_a3JZd :: TyFun [f6989586621679901253] [g6989586621679901254])
type ZipWith6Sym7 (t_a3JZ6 :: TyFun a6989586621679901248 (TyFun b6989586621679901249 (TyFun c6989586621679901250 (TyFun d6989586621679901251 (TyFun e6989586621679901252 (TyFun f6989586621679901253 g6989586621679901254 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (t_a3JZ7 :: [a6989586621679901248]) (t_a3JZ8 :: [b6989586621679901249]) (t_a3JZ9 :: [c6989586621679901250]) (t_a3JZa :: [d6989586621679901251]) (t_a3JZb :: [e6989586621679901252]) (t_a3JZc :: [f6989586621679901253]) = ZipWith6 t_a3JZ6 t_a3JZ7 t_a3JZ8 t_a3JZ9 t_a3JZa t_a3JZb t_a3JZc
data ZipWith7Sym0 (l_a3JYj :: TyFun (TyFun a6989586621679901240 (TyFun b6989586621679901241 (TyFun c6989586621679901242 (TyFun d6989586621679901243 (TyFun e6989586621679901244 (TyFun f6989586621679901245 (TyFun g6989586621679901246 h6989586621679901247 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679901240] (TyFun [b6989586621679901241] (TyFun [c6989586621679901242] (TyFun [d6989586621679901243] (TyFun [e6989586621679901244] (TyFun [f6989586621679901245] (TyFun [g6989586621679901246] [h6989586621679901247] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym1 (l_a3JYh :: TyFun a6989586621679901240 (TyFun b6989586621679901241 (TyFun c6989586621679901242 (TyFun d6989586621679901243 (TyFun e6989586621679901244 (TyFun f6989586621679901245 (TyFun g6989586621679901246 h6989586621679901247 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3JYg :: TyFun [a6989586621679901240] (TyFun [b6989586621679901241] (TyFun [c6989586621679901242] (TyFun [d6989586621679901243] (TyFun [e6989586621679901244] (TyFun [f6989586621679901245] (TyFun [g6989586621679901246] [h6989586621679901247] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym2 (l_a3JYd :: TyFun a6989586621679901240 (TyFun b6989586621679901241 (TyFun c6989586621679901242 (TyFun d6989586621679901243 (TyFun e6989586621679901244 (TyFun f6989586621679901245 (TyFun g6989586621679901246 h6989586621679901247 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3JYe :: [a6989586621679901240]) (l_a3JYc :: TyFun [b6989586621679901241] (TyFun [c6989586621679901242] (TyFun [d6989586621679901243] (TyFun [e6989586621679901244] (TyFun [f6989586621679901245] (TyFun [g6989586621679901246] [h6989586621679901247] -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym3 (l_a3JY8 :: TyFun a6989586621679901240 (TyFun b6989586621679901241 (TyFun c6989586621679901242 (TyFun d6989586621679901243 (TyFun e6989586621679901244 (TyFun f6989586621679901245 (TyFun g6989586621679901246 h6989586621679901247 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3JY9 :: [a6989586621679901240]) (l_a3JYa :: [b6989586621679901241]) (l_a3JY7 :: TyFun [c6989586621679901242] (TyFun [d6989586621679901243] (TyFun [e6989586621679901244] (TyFun [f6989586621679901245] (TyFun [g6989586621679901246] [h6989586621679901247] -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym4 (l_a3JY2 :: TyFun a6989586621679901240 (TyFun b6989586621679901241 (TyFun c6989586621679901242 (TyFun d6989586621679901243 (TyFun e6989586621679901244 (TyFun f6989586621679901245 (TyFun g6989586621679901246 h6989586621679901247 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3JY3 :: [a6989586621679901240]) (l_a3JY4 :: [b6989586621679901241]) (l_a3JY5 :: [c6989586621679901242]) (l_a3JY1 :: TyFun [d6989586621679901243] (TyFun [e6989586621679901244] (TyFun [f6989586621679901245] (TyFun [g6989586621679901246] [h6989586621679901247] -> Type) -> Type) -> Type))
data ZipWith7Sym5 (l_a3JXV :: TyFun a6989586621679901240 (TyFun b6989586621679901241 (TyFun c6989586621679901242 (TyFun d6989586621679901243 (TyFun e6989586621679901244 (TyFun f6989586621679901245 (TyFun g6989586621679901246 h6989586621679901247 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3JXW :: [a6989586621679901240]) (l_a3JXX :: [b6989586621679901241]) (l_a3JXY :: [c6989586621679901242]) (l_a3JXZ :: [d6989586621679901243]) (l_a3JXU :: TyFun [e6989586621679901244] (TyFun [f6989586621679901245] (TyFun [g6989586621679901246] [h6989586621679901247] -> Type) -> Type))
data ZipWith7Sym6 (l_a3JXN :: TyFun a6989586621679901240 (TyFun b6989586621679901241 (TyFun c6989586621679901242 (TyFun d6989586621679901243 (TyFun e6989586621679901244 (TyFun f6989586621679901245 (TyFun g6989586621679901246 h6989586621679901247 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3JXO :: [a6989586621679901240]) (l_a3JXP :: [b6989586621679901241]) (l_a3JXQ :: [c6989586621679901242]) (l_a3JXR :: [d6989586621679901243]) (l_a3JXS :: [e6989586621679901244]) (l_a3JXM :: TyFun [f6989586621679901245] (TyFun [g6989586621679901246] [h6989586621679901247] -> Type))
data ZipWith7Sym7 (l_a3JXE :: TyFun a6989586621679901240 (TyFun b6989586621679901241 (TyFun c6989586621679901242 (TyFun d6989586621679901243 (TyFun e6989586621679901244 (TyFun f6989586621679901245 (TyFun g6989586621679901246 h6989586621679901247 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a3JXF :: [a6989586621679901240]) (l_a3JXG :: [b6989586621679901241]) (l_a3JXH :: [c6989586621679901242]) (l_a3JXI :: [d6989586621679901243]) (l_a3JXJ :: [e6989586621679901244]) (l_a3JXK :: [f6989586621679901245]) (l_a3JXD :: TyFun [g6989586621679901246] [h6989586621679901247])
type ZipWith7Sym8 (t_a3JXv :: TyFun a6989586621679901240 (TyFun b6989586621679901241 (TyFun c6989586621679901242 (TyFun d6989586621679901243 (TyFun e6989586621679901244 (TyFun f6989586621679901245 (TyFun g6989586621679901246 h6989586621679901247 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (t_a3JXw :: [a6989586621679901240]) (t_a3JXx :: [b6989586621679901241]) (t_a3JXy :: [c6989586621679901242]) (t_a3JXz :: [d6989586621679901243]) (t_a3JXA :: [e6989586621679901244]) (t_a3JXB :: [f6989586621679901245]) (t_a3JXC :: [g6989586621679901246]) = ZipWith7 t_a3JXv t_a3JXw t_a3JXx t_a3JXy t_a3JXz t_a3JXA t_a3JXB t_a3JXC
data NubSym0 (l_a1X0x :: TyFun [a6989586621679472514] [a6989586621679472514])
type NubSym1 (t_a1X0w :: [a6989586621679472514]) = Nub t_a1X0w
data NubBySym0 (l_a1Wzi :: TyFun (TyFun a6989586621679472513 (TyFun a6989586621679472513 Bool -> Type) -> Type) (TyFun [a6989586621679472513] [a6989586621679472513] -> Type))
data NubBySym1 (l_a1Wzg :: TyFun a6989586621679472513 (TyFun a6989586621679472513 Bool -> Type) -> Type) (l_a1Wzf :: TyFun [a6989586621679472513] [a6989586621679472513])
type NubBySym2 (t_a1Wzd :: TyFun a6989586621679472513 (TyFun a6989586621679472513 Bool -> Type) -> Type) (t_a1Wze :: [a6989586621679472513]) = NubBy t_a1Wzd t_a1Wze
data UnionSym0 (l_a1WQt :: TyFun [a6989586621679472510] (TyFun [a6989586621679472510] [a6989586621679472510] -> Type))
data UnionSym1 (l_a1WQr :: [a6989586621679472510]) (l_a1WQq :: TyFun [a6989586621679472510] [a6989586621679472510])
type UnionSym2 (t_a1WQo :: [a6989586621679472510]) (t_a1WQp :: [a6989586621679472510]) = Union t_a1WQo t_a1WQp
data UnionBySym0 (l_a1WQc :: TyFun (TyFun a6989586621679472511 (TyFun a6989586621679472511 Bool -> Type) -> Type) (TyFun [a6989586621679472511] (TyFun [a6989586621679472511] [a6989586621679472511] -> Type) -> Type))
data UnionBySym1 (l_a1WQa :: TyFun a6989586621679472511 (TyFun a6989586621679472511 Bool -> Type) -> Type) (l_a1WQ9 :: TyFun [a6989586621679472511] (TyFun [a6989586621679472511] [a6989586621679472511] -> Type))
data UnionBySym2 (l_a1WQ6 :: TyFun a6989586621679472511 (TyFun a6989586621679472511 Bool -> Type) -> Type) (l_a1WQ7 :: [a6989586621679472511]) (l_a1WQ5 :: TyFun [a6989586621679472511] [a6989586621679472511])
type UnionBySym3 (t_a1WQ2 :: TyFun a6989586621679472511 (TyFun a6989586621679472511 Bool -> Type) -> Type) (t_a1WQ3 :: [a6989586621679472511]) (t_a1WQ4 :: [a6989586621679472511]) = UnionBy t_a1WQ2 t_a1WQ3 t_a1WQ4
data GenericLengthSym0 (l_a1WyH :: TyFun [a6989586621679472509] i6989586621679472508)
type GenericLengthSym1 (t_a1WyG :: [a6989586621679472509]) = GenericLength t_a1WyG
data GenericTakeSym0 (l_a3JXp :: TyFun i6989586621679901238 (TyFun [a6989586621679901239] [a6989586621679901239] -> Type))
data GenericTakeSym1 (l_a3JXn :: i6989586621679901238) (l_a3JXm :: TyFun [a6989586621679901239] [a6989586621679901239])
type GenericTakeSym2 (t_a3JXk :: i6989586621679901238) (t_a3JXl :: [a6989586621679901239]) = GenericTake t_a3JXk t_a3JXl
data GenericDropSym0 (l_a3JXa :: TyFun i6989586621679901236 (TyFun [a6989586621679901237] [a6989586621679901237] -> Type))
data GenericDropSym1 (l_a3JX8 :: i6989586621679901236) (l_a3JX7 :: TyFun [a6989586621679901237] [a6989586621679901237])
type GenericDropSym2 (t_a3JX5 :: i6989586621679901236) (t_a3JX6 :: [a6989586621679901237]) = GenericDrop t_a3JX5 t_a3JX6
data GenericSplitAtSym0 (l_a3JWV :: TyFun i6989586621679901234 (TyFun [a6989586621679901235] ([a6989586621679901235], [a6989586621679901235]) -> Type))
data GenericSplitAtSym1 (l_a3JWT :: i6989586621679901234) (l_a3JWS :: TyFun [a6989586621679901235] ([a6989586621679901235], [a6989586621679901235]))
type GenericSplitAtSym2 (t_a3JWQ :: i6989586621679901234) (t_a3JWR :: [a6989586621679901235]) = GenericSplitAt t_a3JWQ t_a3JWR
data GenericIndexSym0 (l_a3JWG :: TyFun [a6989586621679901233] (TyFun i6989586621679901232 a6989586621679901233 -> Type))
data GenericIndexSym1 (l_a3JWE :: [a6989586621679901233]) (l_a3JWD :: TyFun i6989586621679901232 a6989586621679901233)
type GenericIndexSym2 (t_a3JWB :: [a6989586621679901233]) (t_a3JWC :: i6989586621679901232) = GenericIndex t_a3JWB t_a3JWC
data GenericReplicateSym0 (l_a3JWr :: TyFun i6989586621679901230 (TyFun a6989586621679901231 [a6989586621679901231] -> Type))
data GenericReplicateSym1 (l_a3JWp :: i6989586621679901230) (l_a3JWo :: TyFun a6989586621679901231 [a6989586621679901231])
type GenericReplicateSym2 (t_a3JWm :: i6989586621679901230) (t_a3JWn :: a6989586621679901231) = GenericReplicate t_a3JWm t_a3JWn
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_a1fhW :: TyFun a6989586621679306825 (TyFun a6989586621679306825 Bool -> Type))
data (:==$$) (l_a1fhU :: a6989586621679306825) (l_a1fhT :: TyFun a6989586621679306825 Bool)
type (:==$$$) (t_a1fhR :: a6989586621679306825) (t_a1fhS :: a6989586621679306825) = (:==) t_a1fhR t_a1fhS
data (:/=$) (l_a1fi3 :: TyFun a6989586621679306825 (TyFun a6989586621679306825 Bool -> Type))
data (:/=$$) (l_a1fi1 :: a6989586621679306825) (l_a1fi0 :: TyFun a6989586621679306825 Bool)
type (:/=$$$) (t_a1fhY :: a6989586621679306825) (t_a1fhZ :: a6989586621679306825) = (:/=) t_a1fhY t_a1fhZ


-- | 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_a1O1r -> (a_a1O1s -> b_a1O1r) -> Maybe a_a1O1s -> b_a1O1r
either_ :: (a_a1QDH -> c_a1QDI) -> (b_a1QDJ -> c_a1QDI) -> Either a_a1QDH b_a1QDJ -> c_a1QDI

-- | (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_a1HT1 :: TyFun k06989586621679415690 k6989586621679415692)
any_ :: (a_a1TK7 -> Bool) -> [a_a1TK7] -> Bool
type FalseSym0 = False
type TrueSym0 = True
data NotSym0 (l_a19Y0 :: TyFun Bool Bool)
type NotSym1 (t_a19XZ :: Bool) = Not t_a19XZ
data (:&&$) (l_a19Yl :: TyFun Bool (TyFun Bool Bool -> Type))
data (:&&$$) (l_a19Yj :: Bool) (l_a19Yi :: TyFun Bool Bool)
type (:&&$$$) (t_a19Yg :: Bool) (t_a19Yh :: Bool) = (:&&) t_a19Yg t_a19Yh
data (:||$) (l_a19Y8 :: TyFun Bool (TyFun Bool Bool -> Type))
data (:||$$) (l_a19Y6 :: Bool) (l_a19Y5 :: TyFun Bool Bool)
type (:||$$$) (t_a19Y3 :: Bool) (t_a19Y4 :: Bool) = (:||) t_a19Y3 t_a19Y4
type OtherwiseSym0 = Otherwise
type NothingSym0 = Nothing
data JustSym0 (l_aXnX :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_aXnW :: a3530822107858468865) = Just t_aXnW
data Maybe_Sym0 (l_a1O1H :: TyFun b6989586621679440409 (TyFun (TyFun a6989586621679440410 b6989586621679440409 -> Type) (TyFun (Maybe a6989586621679440410) b6989586621679440409 -> Type) -> Type))
data Maybe_Sym1 (l_a1O1F :: b6989586621679440409) (l_a1O1E :: TyFun (TyFun a6989586621679440410 b6989586621679440409 -> Type) (TyFun (Maybe a6989586621679440410) b6989586621679440409 -> Type))
data Maybe_Sym2 (l_a1O1B :: b6989586621679440409) (l_a1O1C :: TyFun a6989586621679440410 b6989586621679440409 -> Type) (l_a1O1A :: TyFun (Maybe a6989586621679440410) b6989586621679440409)
type Maybe_Sym3 (t_a1O1x :: b6989586621679440409) (t_a1O1y :: TyFun a6989586621679440410 b6989586621679440409 -> Type) (t_a1O1z :: Maybe a6989586621679440410) = Maybe_ t_a1O1x t_a1O1y t_a1O1z
data LeftSym0 (l_aXoo :: TyFun a6989586621679075578 (Either a6989586621679075578 b6989586621679075579))
type LeftSym1 (t_aXon :: a6989586621679075578) = Left t_aXon
data RightSym0 (l_aXor :: TyFun b6989586621679075579 (Either a6989586621679075578 b6989586621679075579))
type RightSym1 (t_aXoq :: b6989586621679075579) = Right t_aXoq
data Either_Sym0 (l_a1QDZ :: TyFun (TyFun a6989586621679450469 c6989586621679450470 -> Type) (TyFun (TyFun b6989586621679450471 c6989586621679450470 -> Type) (TyFun (Either a6989586621679450469 b6989586621679450471) c6989586621679450470 -> Type) -> Type))
data Either_Sym1 (l_a1QDX :: TyFun a6989586621679450469 c6989586621679450470 -> Type) (l_a1QDW :: TyFun (TyFun b6989586621679450471 c6989586621679450470 -> Type) (TyFun (Either a6989586621679450469 b6989586621679450471) c6989586621679450470 -> Type))
data Either_Sym2 (l_a1QDT :: TyFun a6989586621679450469 c6989586621679450470 -> Type) (l_a1QDU :: TyFun b6989586621679450471 c6989586621679450470 -> Type) (l_a1QDS :: TyFun (Either a6989586621679450469 b6989586621679450471) c6989586621679450470)
type Either_Sym3 (t_a1QDP :: TyFun a6989586621679450469 c6989586621679450470 -> Type) (t_a1QDQ :: TyFun b6989586621679450471 c6989586621679450470 -> Type) (t_a1QDR :: Either a6989586621679450469 b6989586621679450471) = Either_ t_a1QDP t_a1QDQ t_a1QDR
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_aXp0 :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aXoY :: a3530822107858468865) (l_aXoX :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aXoV :: a3530822107858468865) (t_aXoW :: b3530822107858468866) = '(t_aXoV, t_aXoW)
data Tuple3Sym0 (l_aXpo :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aXpm :: a3530822107858468865) (l_aXpl :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aXpi :: a3530822107858468865) (l_aXpj :: b3530822107858468866) (l_aXph :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aXpe :: a3530822107858468865) (t_aXpf :: b3530822107858468866) (t_aXpg :: c3530822107858468867) = '(t_aXpe, t_aXpf, t_aXpg)
data Tuple4Sym0 (l_aXpX :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aXpV :: a3530822107858468865) (l_aXpU :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aXpR :: a3530822107858468865) (l_aXpS :: b3530822107858468866) (l_aXpQ :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aXpM :: a3530822107858468865) (l_aXpN :: b3530822107858468866) (l_aXpO :: c3530822107858468867) (l_aXpL :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aXpH :: a3530822107858468865) (t_aXpI :: b3530822107858468866) (t_aXpJ :: c3530822107858468867) (t_aXpK :: d3530822107858468868) = '(t_aXpH, t_aXpI, t_aXpJ, t_aXpK)
data Tuple5Sym0 (l_aXqI :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aXqG :: a3530822107858468865) (l_aXqF :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aXqC :: a3530822107858468865) (l_aXqD :: b3530822107858468866) (l_aXqB :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aXqx :: a3530822107858468865) (l_aXqy :: b3530822107858468866) (l_aXqz :: c3530822107858468867) (l_aXqw :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aXqr :: a3530822107858468865) (l_aXqs :: b3530822107858468866) (l_aXqt :: c3530822107858468867) (l_aXqu :: d3530822107858468868) (l_aXqq :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aXql :: a3530822107858468865) (t_aXqm :: b3530822107858468866) (t_aXqn :: c3530822107858468867) (t_aXqo :: d3530822107858468868) (t_aXqp :: e3530822107858468869) = '(t_aXql, t_aXqm, t_aXqn, t_aXqo, t_aXqp)
data Tuple6Sym0 (l_aXrG :: 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_aXrE :: a3530822107858468865) (l_aXrD :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aXrA :: a3530822107858468865) (l_aXrB :: b3530822107858468866) (l_aXrz :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aXrv :: a3530822107858468865) (l_aXrw :: b3530822107858468866) (l_aXrx :: c3530822107858468867) (l_aXru :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aXrp :: a3530822107858468865) (l_aXrq :: b3530822107858468866) (l_aXrr :: c3530822107858468867) (l_aXrs :: d3530822107858468868) (l_aXro :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aXri :: a3530822107858468865) (l_aXrj :: b3530822107858468866) (l_aXrk :: c3530822107858468867) (l_aXrl :: d3530822107858468868) (l_aXrm :: e3530822107858468869) (l_aXrh :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aXrb :: a3530822107858468865) (t_aXrc :: b3530822107858468866) (t_aXrd :: c3530822107858468867) (t_aXre :: d3530822107858468868) (t_aXrf :: e3530822107858468869) (t_aXrg :: f3530822107858468870) = '(t_aXrb, t_aXrc, t_aXrd, t_aXre, t_aXrf, t_aXrg)
data Tuple7Sym0 (l_aXsS :: 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_aXsQ :: a3530822107858468865) (l_aXsP :: 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_aXsM :: a3530822107858468865) (l_aXsN :: b3530822107858468866) (l_aXsL :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_aXsH :: a3530822107858468865) (l_aXsI :: b3530822107858468866) (l_aXsJ :: c3530822107858468867) (l_aXsG :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_aXsB :: a3530822107858468865) (l_aXsC :: b3530822107858468866) (l_aXsD :: c3530822107858468867) (l_aXsE :: d3530822107858468868) (l_aXsA :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_aXsu :: a3530822107858468865) (l_aXsv :: b3530822107858468866) (l_aXsw :: c3530822107858468867) (l_aXsx :: d3530822107858468868) (l_aXsy :: e3530822107858468869) (l_aXst :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_aXsm :: a3530822107858468865) (l_aXsn :: b3530822107858468866) (l_aXso :: c3530822107858468867) (l_aXsp :: d3530822107858468868) (l_aXsq :: e3530822107858468869) (l_aXsr :: f3530822107858468870) (l_aXsl :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_aXse :: a3530822107858468865) (t_aXsf :: b3530822107858468866) (t_aXsg :: c3530822107858468867) (t_aXsh :: d3530822107858468868) (t_aXsi :: e3530822107858468869) (t_aXsj :: f3530822107858468870) (t_aXsk :: g3530822107858468871) = '(t_aXse, t_aXsf, t_aXsg, t_aXsh, t_aXsi, t_aXsj, t_aXsk)
data FstSym0 (l_a1MZy :: TyFun (a6989586621679436399, b6989586621679436400) a6989586621679436399)
type FstSym1 (t_a1MZx :: (a6989586621679436399, b6989586621679436400)) = Fst t_a1MZx
data SndSym0 (l_a1MZq :: TyFun (a6989586621679436397, b6989586621679436398) b6989586621679436398)
type SndSym1 (t_a1MZp :: (a6989586621679436397, b6989586621679436398)) = Snd t_a1MZp
data CurrySym0 (l_a1MZh :: TyFun (TyFun (a6989586621679436394, b6989586621679436395) c6989586621679436396 -> Type) (TyFun a6989586621679436394 (TyFun b6989586621679436395 c6989586621679436396 -> Type) -> Type))
data CurrySym1 (l_a1MZf :: TyFun (a6989586621679436394, b6989586621679436395) c6989586621679436396 -> Type) (l_a1MZe :: TyFun a6989586621679436394 (TyFun b6989586621679436395 c6989586621679436396 -> Type))
data CurrySym2 (l_a1MZb :: TyFun (a6989586621679436394, b6989586621679436395) c6989586621679436396 -> Type) (l_a1MZc :: a6989586621679436394) (l_a1MZa :: TyFun b6989586621679436395 c6989586621679436396)
type CurrySym3 (t_a1MZ7 :: TyFun (a6989586621679436394, b6989586621679436395) c6989586621679436396 -> Type) (t_a1MZ8 :: a6989586621679436394) (t_a1MZ9 :: b6989586621679436395) = Curry t_a1MZ7 t_a1MZ8 t_a1MZ9
data UncurrySym0 (l_a1MZK :: TyFun (TyFun a6989586621679436391 (TyFun b6989586621679436392 c6989586621679436393 -> Type) -> Type) (TyFun (a6989586621679436391, b6989586621679436392) c6989586621679436393 -> Type))
data UncurrySym1 (l_a1MZI :: TyFun a6989586621679436391 (TyFun b6989586621679436392 c6989586621679436393 -> Type) -> Type) (l_a1MZH :: TyFun (a6989586621679436391, b6989586621679436392) c6989586621679436393)
type UncurrySym2 (t_a1MZF :: TyFun a6989586621679436391 (TyFun b6989586621679436392 c6989586621679436393 -> Type) -> Type) (t_a1MZG :: (a6989586621679436391, b6989586621679436392)) = Uncurry t_a1MZF t_a1MZG
data (:^$) l_a1HVP
data (:^$$) (l_a1HVN :: Nat) l_a1HVM
data IdSym0 (l_a1aS0 :: TyFun a6989586621679289770 a6989586621679289770)
type IdSym1 (t_a1aRZ :: a6989586621679289770) = Id t_a1aRZ
data ConstSym0 (l_a1aRC :: TyFun a6989586621679289768 (TyFun b6989586621679289769 a6989586621679289768 -> Type))
data ConstSym1 (l_a1aRA :: a6989586621679289768) (l_a1aRz :: TyFun b6989586621679289769 a6989586621679289768)
type ConstSym2 (t_a1aRx :: a6989586621679289768) (t_a1aRy :: b6989586621679289769) = Const t_a1aRx t_a1aRy
data (:.$) (l_a1aR1 :: TyFun (TyFun b6989586621679289765 c6989586621679289766 -> Type) (TyFun (TyFun a6989586621679289767 b6989586621679289765 -> Type) (TyFun a6989586621679289767 c6989586621679289766 -> Type) -> Type))
data (:.$$) (l_a1aQZ :: TyFun b6989586621679289765 c6989586621679289766 -> Type) (l_a1aQY :: TyFun (TyFun a6989586621679289767 b6989586621679289765 -> Type) (TyFun a6989586621679289767 c6989586621679289766 -> Type))
data (:.$$$) (l_a1aQV :: TyFun b6989586621679289765 c6989586621679289766 -> Type) (l_a1aQW :: TyFun a6989586621679289767 b6989586621679289765 -> Type) (l_a1aQU :: TyFun a6989586621679289767 c6989586621679289766)
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_a1aQJ :: TyFun (TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (TyFun b6989586621679289763 (TyFun a6989586621679289762 c6989586621679289764 -> Type) -> Type))
data FlipSym1 (l_a1aQH :: TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (l_a1aQG :: TyFun b6989586621679289763 (TyFun a6989586621679289762 c6989586621679289764 -> Type))
data FlipSym2 (l_a1aQD :: TyFun a6989586621679289762 (TyFun b6989586621679289763 c6989586621679289764 -> Type) -> Type) (l_a1aQE :: b6989586621679289763) (l_a1aQC :: TyFun a6989586621679289762 c6989586621679289764)
data AsTypeOfSym0 (l_a1aRT :: TyFun a6989586621679289761 (TyFun a6989586621679289761 a6989586621679289761 -> Type))
data AsTypeOfSym1 (l_a1aRR :: a6989586621679289761) (l_a1aRQ :: TyFun a6989586621679289761 a6989586621679289761)
type AsTypeOfSym2 (t_a1aRO :: a6989586621679289761) (t_a1aRP :: a6989586621679289761) = AsTypeOf t_a1aRO t_a1aRP
data SeqSym0 (l_a1aQr :: TyFun a6989586621679289759 (TyFun b6989586621679289760 b6989586621679289760 -> Type))
data SeqSym1 (l_a1aQp :: a6989586621679289759) (l_a1aQo :: TyFun b6989586621679289760 b6989586621679289760)
type SeqSym2 (t_a1aQm :: a6989586621679289759) (t_a1aQn :: b6989586621679289760) = Seq t_a1aQm t_a1aQn
data (:$) (l_aXoa :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:$$) (l_aXo8 :: a3530822107858468865) (l_aXo7 :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:$$$) (t_aXo5 :: a3530822107858468865) (t_aXo6 :: [a3530822107858468865]) = (:) t_aXo5 t_aXo6
type NilSym0 = '[]
data MapSym0 (l_a1aSm :: TyFun (TyFun a6989586621679289772 b6989586621679289773 -> Type) (TyFun [a6989586621679289772] [b6989586621679289773] -> Type))
data MapSym1 (l_a1aSk :: TyFun a6989586621679289772 b6989586621679289773 -> Type) (l_a1aSj :: TyFun [a6989586621679289772] [b6989586621679289773])
type MapSym2 (t_a1aSh :: TyFun a6989586621679289772 b6989586621679289773 -> Type) (t_a1aSi :: [a6989586621679289772]) = Map t_a1aSh t_a1aSi
data ReverseSym0 (l_a1Xog :: TyFun [a6989586621679472630] [a6989586621679472630])
type ReverseSym1 (t_a1Xof :: [a6989586621679472630]) = Reverse t_a1Xof
data (:++$$) (l_a1aS7 :: [a6989586621679289771]) (l_a1aS6 :: TyFun [a6989586621679289771] [a6989586621679289771])
data (:++$) (l_a1aS9 :: TyFun [a6989586621679289771] (TyFun [a6989586621679289771] [a6989586621679289771] -> Type))
data HeadSym0 (l_a1XqL :: TyFun [a6989586621679472635] a6989586621679472635)
type HeadSym1 (t_a1XqK :: [a6989586621679472635]) = Head t_a1XqK
data LastSym0 (l_a1XqB :: TyFun [a6989586621679472634] a6989586621679472634)
type LastSym1 (t_a1XqA :: [a6989586621679472634]) = Last t_a1XqA
data TailSym0 (l_a1Xqt :: TyFun [a6989586621679472633] [a6989586621679472633])
type TailSym1 (t_a1Xqs :: [a6989586621679472633]) = Tail t_a1Xqs
data InitSym0 (l_a1XpW :: TyFun [a6989586621679472632] [a6989586621679472632])
type InitSym1 (t_a1XpV :: [a6989586621679472632]) = Init t_a1XpV
data NullSym0 (l_a1XoP :: TyFun [a6989586621679472631] Bool)
type NullSym1 (t_a1XoO :: [a6989586621679472631]) = Null t_a1XoO
data FoldlSym0 (l_a10nX :: TyFun (TyFun b6989586621679249585 (TyFun a6989586621679249584 b6989586621679249585 -> Type) -> Type) (TyFun b6989586621679249585 (TyFun [a6989586621679249584] b6989586621679249585 -> Type) -> Type))
data FoldlSym1 (l_a10nV :: TyFun b6989586621679249585 (TyFun a6989586621679249584 b6989586621679249585 -> Type) -> Type) (l_a10nU :: TyFun b6989586621679249585 (TyFun [a6989586621679249584] b6989586621679249585 -> Type))
data FoldlSym2 (l_a10nR :: TyFun b6989586621679249585 (TyFun a6989586621679249584 b6989586621679249585 -> Type) -> Type) (l_a10nS :: b6989586621679249585) (l_a10nQ :: TyFun [a6989586621679249584] b6989586621679249585)
type FoldlSym3 (t_a10nN :: TyFun b6989586621679249585 (TyFun a6989586621679249584 b6989586621679249585 -> Type) -> Type) (t_a10nO :: b6989586621679249585) (t_a10nP :: [a6989586621679249584]) = Foldl t_a10nN t_a10nO t_a10nP
data Foldl1Sym0 (l_a1Xc1 :: TyFun (TyFun a6989586621679472621 (TyFun a6989586621679472621 a6989586621679472621 -> Type) -> Type) (TyFun [a6989586621679472621] a6989586621679472621 -> Type))
data Foldl1Sym1 (l_a1XbZ :: TyFun a6989586621679472621 (TyFun a6989586621679472621 a6989586621679472621 -> Type) -> Type) (l_a1XbY :: TyFun [a6989586621679472621] a6989586621679472621)
type Foldl1Sym2 (t_a1XbW :: TyFun a6989586621679472621 (TyFun a6989586621679472621 a6989586621679472621 -> Type) -> Type) (t_a1XbX :: [a6989586621679472621]) = Foldl1 t_a1XbW t_a1XbX
data FoldrSym0 (l_a1aSG :: TyFun (TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (TyFun b6989586621679289775 (TyFun [a6989586621679289774] b6989586621679289775 -> Type) -> Type))
data FoldrSym1 (l_a1aSE :: TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (l_a1aSD :: TyFun b6989586621679289775 (TyFun [a6989586621679289774] b6989586621679289775 -> Type))
data FoldrSym2 (l_a1aSA :: TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (l_a1aSB :: b6989586621679289775) (l_a1aSz :: TyFun [a6989586621679289774] b6989586621679289775)
type FoldrSym3 (t_a1aSw :: TyFun a6989586621679289774 (TyFun b6989586621679289775 b6989586621679289775 -> Type) -> Type) (t_a1aSx :: b6989586621679289775) (t_a1aSy :: [a6989586621679289774]) = Foldr t_a1aSw t_a1aSx t_a1aSy
data Foldr1Sym0 (l_a1Xbo :: TyFun (TyFun a6989586621679472619 (TyFun a6989586621679472619 a6989586621679472619 -> Type) -> Type) (TyFun [a6989586621679472619] a6989586621679472619 -> Type))
data Foldr1Sym1 (l_a1Xbm :: TyFun a6989586621679472619 (TyFun a6989586621679472619 a6989586621679472619 -> Type) -> Type) (l_a1Xbl :: TyFun [a6989586621679472619] a6989586621679472619)
type Foldr1Sym2 (t_a1Xbj :: TyFun a6989586621679472619 (TyFun a6989586621679472619 a6989586621679472619 -> Type) -> Type) (t_a1Xbk :: [a6989586621679472619]) = Foldr1 t_a1Xbj t_a1Xbk
data ConcatSym0 (l_a1Xbf :: TyFun [[a6989586621679472618]] [a6989586621679472618])
type ConcatSym1 (t_a1Xbe :: [[a6989586621679472618]]) = Concat t_a1Xbe
data ConcatMapSym0 (l_a1Xb4 :: TyFun (TyFun a6989586621679472616 [b6989586621679472617] -> Type) (TyFun [a6989586621679472616] [b6989586621679472617] -> Type))
data ConcatMapSym1 (l_a1Xb2 :: TyFun a6989586621679472616 [b6989586621679472617] -> Type) (l_a1Xb1 :: TyFun [a6989586621679472616] [b6989586621679472617])
type ConcatMapSym2 (t_a1XaZ :: TyFun a6989586621679472616 [b6989586621679472617] -> Type) (t_a1Xb0 :: [a6989586621679472616]) = ConcatMap t_a1XaZ t_a1Xb0
data MaximumBySym0 (l_a1Xcg :: TyFun (TyFun a6989586621679472548 (TyFun a6989586621679472548 Ordering -> Type) -> Type) (TyFun [a6989586621679472548] a6989586621679472548 -> Type))
data MaximumBySym1 (l_a1Xce :: TyFun a6989586621679472548 (TyFun a6989586621679472548 Ordering -> Type) -> Type) (l_a1Xcd :: TyFun [a6989586621679472548] a6989586621679472548)
type MaximumBySym2 (t_a1Xcb :: TyFun a6989586621679472548 (TyFun a6989586621679472548 Ordering -> Type) -> Type) (t_a1Xcc :: [a6989586621679472548]) = MaximumBy t_a1Xcb t_a1Xcc
data MinimumBySym0 (l_a1XdF :: TyFun (TyFun a6989586621679472547 (TyFun a6989586621679472547 Ordering -> Type) -> Type) (TyFun [a6989586621679472547] a6989586621679472547 -> Type))
data MinimumBySym1 (l_a1XdD :: TyFun a6989586621679472547 (TyFun a6989586621679472547 Ordering -> Type) -> Type) (l_a1XdC :: TyFun [a6989586621679472547] a6989586621679472547)
type MinimumBySym2 (t_a1XdA :: TyFun a6989586621679472547 (TyFun a6989586621679472547 Ordering -> Type) -> Type) (t_a1XdB :: [a6989586621679472547]) = MinimumBy t_a1XdA t_a1XdB
data AndSym0 (l_a1XaU :: TyFun [Bool] Bool)
type AndSym1 (t_a1XaT :: [Bool]) = And t_a1XaT
data OrSym0 (l_a1XaO :: TyFun [Bool] Bool)
type OrSym1 (t_a1XaN :: [Bool]) = Or t_a1XaN
data Any_Sym0 (l_a1TKh :: TyFun (TyFun a6989586621679462399 Bool -> Type) (TyFun [a6989586621679462399] Bool -> Type))
data Any_Sym1 (l_a1TKf :: TyFun a6989586621679462399 Bool -> Type) (l_a1TKe :: TyFun [a6989586621679462399] Bool)
type Any_Sym2 (t_a1TKc :: TyFun a6989586621679462399 Bool -> Type) (t_a1TKd :: [a6989586621679462399]) = Any_ t_a1TKc t_a1TKd
data AllSym0 (l_a1XaD :: TyFun (TyFun a6989586621679472615 Bool -> Type) (TyFun [a6989586621679472615] Bool -> Type))
data AllSym1 (l_a1XaB :: TyFun a6989586621679472615 Bool -> Type) (l_a1XaA :: TyFun [a6989586621679472615] Bool)
type AllSym2 (t_a1Xay :: TyFun a6989586621679472615 Bool -> Type) (t_a1Xaz :: [a6989586621679472615]) = All t_a1Xay t_a1Xaz
data ScanlSym0 (l_a1Xa6 :: TyFun (TyFun b6989586621679472613 (TyFun a6989586621679472614 b6989586621679472613 -> Type) -> Type) (TyFun b6989586621679472613 (TyFun [a6989586621679472614] [b6989586621679472613] -> Type) -> Type))
data ScanlSym1 (l_a1Xa4 :: TyFun b6989586621679472613 (TyFun a6989586621679472614 b6989586621679472613 -> Type) -> Type) (l_a1Xa3 :: TyFun b6989586621679472613 (TyFun [a6989586621679472614] [b6989586621679472613] -> Type))
data ScanlSym2 (l_a1Xa0 :: TyFun b6989586621679472613 (TyFun a6989586621679472614 b6989586621679472613 -> Type) -> Type) (l_a1Xa1 :: b6989586621679472613) (l_a1X9Z :: TyFun [a6989586621679472614] [b6989586621679472613])
type ScanlSym3 (t_a1X9W :: TyFun b6989586621679472613 (TyFun a6989586621679472614 b6989586621679472613 -> Type) -> Type) (t_a1X9X :: b6989586621679472613) (t_a1X9Y :: [a6989586621679472614]) = Scanl t_a1X9W t_a1X9X t_a1X9Y
data Scanl1Sym0 (l_a1Xao :: TyFun (TyFun a6989586621679472612 (TyFun a6989586621679472612 a6989586621679472612 -> Type) -> Type) (TyFun [a6989586621679472612] [a6989586621679472612] -> Type))
data Scanl1Sym1 (l_a1Xam :: TyFun a6989586621679472612 (TyFun a6989586621679472612 a6989586621679472612 -> Type) -> Type) (l_a1Xal :: TyFun [a6989586621679472612] [a6989586621679472612])
type Scanl1Sym2 (t_a1Xaj :: TyFun a6989586621679472612 (TyFun a6989586621679472612 a6989586621679472612 -> Type) -> Type) (t_a1Xak :: [a6989586621679472612]) = Scanl1 t_a1Xaj t_a1Xak
data ScanrSym0 (l_a1X9l :: TyFun (TyFun a6989586621679472610 (TyFun b6989586621679472611 b6989586621679472611 -> Type) -> Type) (TyFun b6989586621679472611 (TyFun [a6989586621679472610] [b6989586621679472611] -> Type) -> Type))
data ScanrSym1 (l_a1X9j :: TyFun a6989586621679472610 (TyFun b6989586621679472611 b6989586621679472611 -> Type) -> Type) (l_a1X9i :: TyFun b6989586621679472611 (TyFun [a6989586621679472610] [b6989586621679472611] -> Type))
data ScanrSym2 (l_a1X9f :: TyFun a6989586621679472610 (TyFun b6989586621679472611 b6989586621679472611 -> Type) -> Type) (l_a1X9g :: b6989586621679472611) (l_a1X9e :: TyFun [a6989586621679472610] [b6989586621679472611])
type ScanrSym3 (t_a1X9b :: TyFun a6989586621679472610 (TyFun b6989586621679472611 b6989586621679472611 -> Type) -> Type) (t_a1X9c :: b6989586621679472611) (t_a1X9d :: [a6989586621679472610]) = Scanr t_a1X9b t_a1X9c t_a1X9d
data Scanr1Sym0 (l_a1X8f :: TyFun (TyFun a6989586621679472609 (TyFun a6989586621679472609 a6989586621679472609 -> Type) -> Type) (TyFun [a6989586621679472609] [a6989586621679472609] -> Type))
data Scanr1Sym1 (l_a1X8d :: TyFun a6989586621679472609 (TyFun a6989586621679472609 a6989586621679472609 -> Type) -> Type) (l_a1X8c :: TyFun [a6989586621679472609] [a6989586621679472609])
type Scanr1Sym2 (t_a1X8a :: TyFun a6989586621679472609 (TyFun a6989586621679472609 a6989586621679472609 -> Type) -> Type) (t_a1X8b :: [a6989586621679472609]) = Scanr1 t_a1X8a t_a1X8b
data ElemSym0 (l_a1X0m :: TyFun a6989586621679472595 (TyFun [a6989586621679472595] Bool -> Type))
data ElemSym1 (l_a1X0k :: a6989586621679472595) (l_a1X0j :: TyFun [a6989586621679472595] Bool)
type ElemSym2 (t_a1X0h :: a6989586621679472595) (t_a1X0i :: [a6989586621679472595]) = Elem t_a1X0h t_a1X0i
data NotElemSym0 (l_a1X07 :: TyFun a6989586621679472594 (TyFun [a6989586621679472594] Bool -> Type))
data NotElemSym1 (l_a1X05 :: a6989586621679472594) (l_a1X04 :: TyFun [a6989586621679472594] Bool)
type NotElemSym2 (t_a1X02 :: a6989586621679472594) (t_a1X03 :: [a6989586621679472594]) = NotElem t_a1X02 t_a1X03
data ZipSym0 (l_a1WY4 :: TyFun [a6989586621679472592] (TyFun [b6989586621679472593] [(a6989586621679472592, b6989586621679472593)] -> Type))
data ZipSym1 (l_a1WY2 :: [a6989586621679472592]) (l_a1WY1 :: TyFun [b6989586621679472593] [(a6989586621679472592, b6989586621679472593)])
type ZipSym2 (t_a1WXZ :: [a6989586621679472592]) (t_a1WY0 :: [b6989586621679472593]) = Zip t_a1WXZ t_a1WY0
data Zip3Sym0 (l_a1WWW :: TyFun [a6989586621679472589] (TyFun [b6989586621679472590] (TyFun [c6989586621679472591] [(a6989586621679472589, b6989586621679472590, c6989586621679472591)] -> Type) -> Type))
data Zip3Sym1 (l_a1WWU :: [a6989586621679472589]) (l_a1WWT :: TyFun [b6989586621679472590] (TyFun [c6989586621679472591] [(a6989586621679472589, b6989586621679472590, c6989586621679472591)] -> Type))
data Zip3Sym2 (l_a1WWQ :: [a6989586621679472589]) (l_a1WWR :: [b6989586621679472590]) (l_a1WWP :: TyFun [c6989586621679472591] [(a6989586621679472589, b6989586621679472590, c6989586621679472591)])
type Zip3Sym3 (t_a1WWM :: [a6989586621679472589]) (t_a1WWN :: [b6989586621679472590]) (t_a1WWO :: [c6989586621679472591]) = Zip3 t_a1WWM t_a1WWN t_a1WWO
data ZipWithSym0 (l_a1WWh :: TyFun (TyFun a6989586621679472586 (TyFun b6989586621679472587 c6989586621679472588 -> Type) -> Type) (TyFun [a6989586621679472586] (TyFun [b6989586621679472587] [c6989586621679472588] -> Type) -> Type))
data ZipWithSym1 (l_a1WWf :: TyFun a6989586621679472586 (TyFun b6989586621679472587 c6989586621679472588 -> Type) -> Type) (l_a1WWe :: TyFun [a6989586621679472586] (TyFun [b6989586621679472587] [c6989586621679472588] -> Type))
data ZipWithSym2 (l_a1WWb :: TyFun a6989586621679472586 (TyFun b6989586621679472587 c6989586621679472588 -> Type) -> Type) (l_a1WWc :: [a6989586621679472586]) (l_a1WWa :: TyFun [b6989586621679472587] [c6989586621679472588])
type ZipWithSym3 (t_a1WW7 :: TyFun a6989586621679472586 (TyFun b6989586621679472587 c6989586621679472588 -> Type) -> Type) (t_a1WW8 :: [a6989586621679472586]) (t_a1WW9 :: [b6989586621679472587]) = ZipWith t_a1WW7 t_a1WW8 t_a1WW9
data ZipWith3Sym0 (l_a1WUH :: TyFun (TyFun a6989586621679472582 (TyFun b6989586621679472583 (TyFun c6989586621679472584 d6989586621679472585 -> Type) -> Type) -> Type) (TyFun [a6989586621679472582] (TyFun [b6989586621679472583] (TyFun [c6989586621679472584] [d6989586621679472585] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1WUF :: TyFun a6989586621679472582 (TyFun b6989586621679472583 (TyFun c6989586621679472584 d6989586621679472585 -> Type) -> Type) -> Type) (l_a1WUE :: TyFun [a6989586621679472582] (TyFun [b6989586621679472583] (TyFun [c6989586621679472584] [d6989586621679472585] -> Type) -> Type))
data ZipWith3Sym2 (l_a1WUB :: TyFun a6989586621679472582 (TyFun b6989586621679472583 (TyFun c6989586621679472584 d6989586621679472585 -> Type) -> Type) -> Type) (l_a1WUC :: [a6989586621679472582]) (l_a1WUA :: TyFun [b6989586621679472583] (TyFun [c6989586621679472584] [d6989586621679472585] -> Type))
data ZipWith3Sym3 (l_a1WUw :: TyFun a6989586621679472582 (TyFun b6989586621679472583 (TyFun c6989586621679472584 d6989586621679472585 -> Type) -> Type) -> Type) (l_a1WUx :: [a6989586621679472582]) (l_a1WUy :: [b6989586621679472583]) (l_a1WUv :: TyFun [c6989586621679472584] [d6989586621679472585])
data UnzipSym0 (l_a1WTY :: TyFun [(a6989586621679472580, b6989586621679472581)] ([a6989586621679472580], [b6989586621679472581]))
type UnzipSym1 (t_a1WTX :: [(a6989586621679472580, b6989586621679472581)]) = Unzip t_a1WTX
data UntilSym0 (l_a1T8Y :: TyFun (TyFun a6989586621679460078 Bool -> Type) (TyFun (TyFun a6989586621679460078 a6989586621679460078 -> Type) (TyFun a6989586621679460078 a6989586621679460078 -> Type) -> Type))
data UntilSym1 (l_a1T8W :: TyFun a6989586621679460078 Bool -> Type) (l_a1T8V :: TyFun (TyFun a6989586621679460078 a6989586621679460078 -> Type) (TyFun a6989586621679460078 a6989586621679460078 -> Type))
data UntilSym2 (l_a1T8S :: TyFun a6989586621679460078 Bool -> Type) (l_a1T8T :: TyFun a6989586621679460078 a6989586621679460078 -> Type) (l_a1T8R :: TyFun a6989586621679460078 a6989586621679460078)
type UntilSym3 (t_a1T8O :: TyFun a6989586621679460078 Bool -> Type) (t_a1T8P :: TyFun a6989586621679460078 a6989586621679460078 -> Type) (t_a1T8Q :: a6989586621679460078) = Until t_a1T8O t_a1T8P t_a1T8Q
data LengthSym0 (l_a1WBa :: TyFun [a6989586621679472518] Nat)
type LengthSym1 (t_a1WB9 :: [a6989586621679472518]) = Length t_a1WB9
data SumSym0 (l_a1WBG :: TyFun [a6989586621679472520] a6989586621679472520)
type SumSym1 (t_a1WBF :: [a6989586621679472520]) = Sum t_a1WBF
data ProductSym0 (l_a1WBi :: TyFun [a6989586621679472519] a6989586621679472519)
type ProductSym1 (t_a1WBh :: [a6989586621679472519]) = Product t_a1WBh
data ReplicateSym0 (l_a1WAS :: TyFun Nat (TyFun a6989586621679472517 [a6989586621679472517] -> Type))
data ReplicateSym1 (l_a1WAQ :: Nat) (l_a1WAP :: TyFun a6989586621679472517 [a6989586621679472517])
type ReplicateSym2 (t_a1WAN :: Nat) (t_a1WAO :: a6989586621679472517) = Replicate t_a1WAN t_a1WAO
data TakeSym0 (l_a1WE3 :: TyFun Nat (TyFun [a6989586621679472533] [a6989586621679472533] -> Type))
data TakeSym1 (l_a1WE1 :: Nat) (l_a1WE0 :: TyFun [a6989586621679472533] [a6989586621679472533])
type TakeSym2 (t_a1WDY :: Nat) (t_a1WDZ :: [a6989586621679472533]) = Take t_a1WDY t_a1WDZ
data DropSym0 (l_a1WDy :: TyFun Nat (TyFun [a6989586621679472532] [a6989586621679472532] -> Type))
data DropSym1 (l_a1WDw :: Nat) (l_a1WDv :: TyFun [a6989586621679472532] [a6989586621679472532])
type DropSym2 (t_a1WDt :: Nat) (t_a1WDu :: [a6989586621679472532]) = Drop t_a1WDt t_a1WDu
data SplitAtSym0 (l_a1WEy :: TyFun Nat (TyFun [a6989586621679472531] ([a6989586621679472531], [a6989586621679472531]) -> Type))
data SplitAtSym1 (l_a1WEw :: Nat) (l_a1WEv :: TyFun [a6989586621679472531] ([a6989586621679472531], [a6989586621679472531]))
type SplitAtSym2 (t_a1WEt :: Nat) (t_a1WEu :: [a6989586621679472531]) = SplitAt t_a1WEt t_a1WEu
data TakeWhileSym0 (l_a1WJY :: TyFun (TyFun a6989586621679472538 Bool -> Type) (TyFun [a6989586621679472538] [a6989586621679472538] -> Type))
data TakeWhileSym1 (l_a1WJW :: TyFun a6989586621679472538 Bool -> Type) (l_a1WJV :: TyFun [a6989586621679472538] [a6989586621679472538])
type TakeWhileSym2 (t_a1WJT :: TyFun a6989586621679472538 Bool -> Type) (t_a1WJU :: [a6989586621679472538]) = TakeWhile t_a1WJT t_a1WJU
data DropWhileSym0 (l_a1WJg :: TyFun (TyFun a6989586621679472537 Bool -> Type) (TyFun [a6989586621679472537] [a6989586621679472537] -> Type))
data DropWhileSym1 (l_a1WJe :: TyFun a6989586621679472537 Bool -> Type) (l_a1WJd :: TyFun [a6989586621679472537] [a6989586621679472537])
type DropWhileSym2 (t_a1WJb :: TyFun a6989586621679472537 Bool -> Type) (t_a1WJc :: [a6989586621679472537]) = DropWhile t_a1WJb t_a1WJc
data SpanSym0 (l_a1WGn :: TyFun (TyFun a6989586621679472535 Bool -> Type) (TyFun [a6989586621679472535] ([a6989586621679472535], [a6989586621679472535]) -> Type))
data SpanSym1 (l_a1WGl :: TyFun a6989586621679472535 Bool -> Type) (l_a1WGk :: TyFun [a6989586621679472535] ([a6989586621679472535], [a6989586621679472535]))
type SpanSym2 (t_a1WGi :: TyFun a6989586621679472535 Bool -> Type) (t_a1WGj :: [a6989586621679472535]) = Span t_a1WGi t_a1WGj
data BreakSym0 (l_a1WEJ :: TyFun (TyFun a6989586621679472534 Bool -> Type) (TyFun [a6989586621679472534] ([a6989586621679472534], [a6989586621679472534]) -> Type))
data BreakSym1 (l_a1WEH :: TyFun a6989586621679472534 Bool -> Type) (l_a1WEG :: TyFun [a6989586621679472534] ([a6989586621679472534], [a6989586621679472534]))
type BreakSym2 (t_a1WEE :: TyFun a6989586621679472534 Bool -> Type) (t_a1WEF :: [a6989586621679472534]) = Break t_a1WEE t_a1WEF
data LookupSym0 (l_a1WCY :: TyFun a6989586621679472523 (TyFun [(a6989586621679472523, b6989586621679472524)] (Maybe b6989586621679472524) -> Type))
data LookupSym1 (l_a1WCW :: a6989586621679472523) (l_a1WCV :: TyFun [(a6989586621679472523, b6989586621679472524)] (Maybe b6989586621679472524))
type LookupSym2 (t_a1WCT :: a6989586621679472523) (t_a1WCU :: [(a6989586621679472523, b6989586621679472524)]) = Lookup t_a1WCT t_a1WCU
data FilterSym0 (l_a1WKt :: TyFun (TyFun a6989586621679472546 Bool -> Type) (TyFun [a6989586621679472546] [a6989586621679472546] -> Type))
data FilterSym1 (l_a1WKr :: TyFun a6989586621679472546 Bool -> Type) (l_a1WKq :: TyFun [a6989586621679472546] [a6989586621679472546])
type FilterSym2 (t_a1WKo :: TyFun a6989586621679472546 Bool -> Type) (t_a1WKp :: [a6989586621679472546]) = Filter t_a1WKo t_a1WKp
data (:!!$) (l_a1WAn :: TyFun [a6989586621679472515] (TyFun Nat a6989586621679472515 -> Type))
data (:!!$$) (l_a1WAl :: [a6989586621679472515]) (l_a1WAk :: TyFun Nat a6989586621679472515)
type (:!!$$$) (t_a1WAi :: [a6989586621679472515]) (t_a1WAj :: Nat) = (:!!) t_a1WAi t_a1WAj


-- | 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_a1jfn => POrd (a_a1jfn :: Type) where {
    type family Compare (arg_a1jAI :: a_a1jfn) (arg_a1jAJ :: a_a1jfn) :: Ordering;
    type family (:<) (arg_a1jAR :: a_a1jfn) (arg_a1jAS :: a_a1jfn) :: Bool;
    type family (:<=) (arg_a1jB0 :: a_a1jfn) (arg_a1jB1 :: a_a1jfn) :: Bool;
    type family (:>) (arg_a1jB9 :: a_a1jfn) (arg_a1jBa :: a_a1jfn) :: Bool;
    type family (:>=) (arg_a1jBi :: a_a1jfn) (arg_a1jBj :: a_a1jfn) :: Bool;
    type family Max (arg_a1jBr :: a_a1jfn) (arg_a1jBs :: a_a1jfn) :: a_a1jfn;
    type family Min (arg_a1jBA :: a_a1jfn) (arg_a1jBB :: a_a1jfn) :: a_a1jfn;
    type Compare a_a1jCg a_a1jCh =
        Apply (Apply Compare_6989586621679323530Sym0 a_a1jCg) a_a1jCh;
    type (:<) a_a1jCN a_a1jCO =
        Apply (Apply TFHelper_6989586621679323563Sym0 a_a1jCN) a_a1jCO;
    type (:<=) a_a1jDk a_a1jDl =
        Apply (Apply TFHelper_6989586621679323596Sym0 a_a1jDk) a_a1jDl;
    type (:>) a_a1jDR a_a1jDS =
        Apply (Apply TFHelper_6989586621679323629Sym0 a_a1jDR) a_a1jDS;
    type (:>=) a_a1jEo a_a1jEp =
        Apply (Apply TFHelper_6989586621679323662Sym0 a_a1jEo) a_a1jEp;
    type Max a_a1jEV a_a1jEW =
        Apply (Apply Max_6989586621679323695Sym0 a_a1jEV) a_a1jEW;
    type Min a_a1jFs a_a1jFt =
        Apply (Apply Min_6989586621679323728Sym0 a_a1jFs) a_a1jFt;
}

-- | 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_a1HT1 :: TyFun k06989586621679415690 k6989586621679415692)
type TrueSym0 = True
type FalseSym0 = False
type LTSym0 = LT
type EQSym0 = EQ
type GTSym0 = GT
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_aXp0 :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aXoY :: a3530822107858468865) (l_aXoX :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aXoV :: a3530822107858468865) (t_aXoW :: b3530822107858468866) = '(t_aXoV, t_aXoW)
data Tuple3Sym0 (l_aXpo :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aXpm :: a3530822107858468865) (l_aXpl :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aXpi :: a3530822107858468865) (l_aXpj :: b3530822107858468866) (l_aXph :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aXpe :: a3530822107858468865) (t_aXpf :: b3530822107858468866) (t_aXpg :: c3530822107858468867) = '(t_aXpe, t_aXpf, t_aXpg)
data Tuple4Sym0 (l_aXpX :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aXpV :: a3530822107858468865) (l_aXpU :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aXpR :: a3530822107858468865) (l_aXpS :: b3530822107858468866) (l_aXpQ :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aXpM :: a3530822107858468865) (l_aXpN :: b3530822107858468866) (l_aXpO :: c3530822107858468867) (l_aXpL :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aXpH :: a3530822107858468865) (t_aXpI :: b3530822107858468866) (t_aXpJ :: c3530822107858468867) (t_aXpK :: d3530822107858468868) = '(t_aXpH, t_aXpI, t_aXpJ, t_aXpK)
data Tuple5Sym0 (l_aXqI :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aXqG :: a3530822107858468865) (l_aXqF :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aXqC :: a3530822107858468865) (l_aXqD :: b3530822107858468866) (l_aXqB :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aXqx :: a3530822107858468865) (l_aXqy :: b3530822107858468866) (l_aXqz :: c3530822107858468867) (l_aXqw :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aXqr :: a3530822107858468865) (l_aXqs :: b3530822107858468866) (l_aXqt :: c3530822107858468867) (l_aXqu :: d3530822107858468868) (l_aXqq :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aXql :: a3530822107858468865) (t_aXqm :: b3530822107858468866) (t_aXqn :: c3530822107858468867) (t_aXqo :: d3530822107858468868) (t_aXqp :: e3530822107858468869) = '(t_aXql, t_aXqm, t_aXqn, t_aXqo, t_aXqp)
data Tuple6Sym0 (l_aXrG :: 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_aXrE :: a3530822107858468865) (l_aXrD :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aXrA :: a3530822107858468865) (l_aXrB :: b3530822107858468866) (l_aXrz :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aXrv :: a3530822107858468865) (l_aXrw :: b3530822107858468866) (l_aXrx :: c3530822107858468867) (l_aXru :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aXrp :: a3530822107858468865) (l_aXrq :: b3530822107858468866) (l_aXrr :: c3530822107858468867) (l_aXrs :: d3530822107858468868) (l_aXro :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aXri :: a3530822107858468865) (l_aXrj :: b3530822107858468866) (l_aXrk :: c3530822107858468867) (l_aXrl :: d3530822107858468868) (l_aXrm :: e3530822107858468869) (l_aXrh :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aXrb :: a3530822107858468865) (t_aXrc :: b3530822107858468866) (t_aXrd :: c3530822107858468867) (t_aXre :: d3530822107858468868) (t_aXrf :: e3530822107858468869) (t_aXrg :: f3530822107858468870) = '(t_aXrb, t_aXrc, t_aXrd, t_aXre, t_aXrf, t_aXrg)
data Tuple7Sym0 (l_aXsS :: 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_aXsQ :: a3530822107858468865) (l_aXsP :: 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_aXsM :: a3530822107858468865) (l_aXsN :: b3530822107858468866) (l_aXsL :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_aXsH :: a3530822107858468865) (l_aXsI :: b3530822107858468866) (l_aXsJ :: c3530822107858468867) (l_aXsG :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_aXsB :: a3530822107858468865) (l_aXsC :: b3530822107858468866) (l_aXsD :: c3530822107858468867) (l_aXsE :: d3530822107858468868) (l_aXsA :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_aXsu :: a3530822107858468865) (l_aXsv :: b3530822107858468866) (l_aXsw :: c3530822107858468867) (l_aXsx :: d3530822107858468868) (l_aXsy :: e3530822107858468869) (l_aXst :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_aXsm :: a3530822107858468865) (l_aXsn :: b3530822107858468866) (l_aXso :: c3530822107858468867) (l_aXsp :: d3530822107858468868) (l_aXsq :: e3530822107858468869) (l_aXsr :: f3530822107858468870) (l_aXsl :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_aXse :: a3530822107858468865) (t_aXsf :: b3530822107858468866) (t_aXsg :: c3530822107858468867) (t_aXsh :: d3530822107858468868) (t_aXsi :: e3530822107858468869) (t_aXsj :: f3530822107858468870) (t_aXsk :: g3530822107858468871) = '(t_aXse, t_aXsf, t_aXsg, t_aXsh, t_aXsi, t_aXsj, t_aXsk)
data ThenCmpSym0 (l_a1lpc :: TyFun Ordering (TyFun Ordering Ordering -> Type))
data FoldlSym0 (l_a10nX :: TyFun (TyFun b6989586621679249585 (TyFun a6989586621679249584 b6989586621679249585 -> Type) -> Type) (TyFun b6989586621679249585 (TyFun [a6989586621679249584] b6989586621679249585 -> 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]
