-- 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_aYgd :: Bool). Sing t_aYgd -> Sing (Apply NotSym0 t_aYgd :: Bool)
(%:&&) :: forall (t_aYgg :: Bool) (t_aYgh :: Bool). Sing t_aYgg -> Sing t_aYgh -> Sing (Apply (Apply (:&&$) t_aYgg) t_aYgh :: Bool)
infixr 3 %:&&
(%:||) :: forall (t_aYge :: Bool) (t_aYgf :: Bool). Sing t_aYge -> Sing t_aYgf -> Sing (Apply (Apply (:||$) t_aYge) t_aYgf :: Bool)
infixr 2 %:||
bool_ :: a_aY5I -> a_aY5I -> Bool -> a_aY5I
sBool_ :: forall (t_aY67 :: a_aY5I) (t_aY68 :: a_aY5I) (t_aY69 :: Bool). Sing t_aY67 -> Sing t_aY68 -> Sing t_aY69 -> Sing (Apply (Apply (Apply Bool_Sym0 t_aY67) t_aY68) t_aY69 :: a_aY5I)
sOtherwise :: Sing (OtherwiseSym0 :: Bool)
type TrueSym0 = True
type FalseSym0 = False
data NotSym0 (l_aYfK :: TyFun Bool Bool)
type NotSym1 (t_aYfJ :: Bool) = Not t_aYfJ
data (:&&$) (l_aYg5 :: TyFun Bool (TyFun Bool Bool -> Type))
data (:&&$$) (l_aYg3 :: Bool) (l_aYg2 :: TyFun Bool Bool)
type (:&&$$$) (t_aYg0 :: Bool) (t_aYg1 :: Bool) = (:&&) t_aYg0 t_aYg1
data (:||$) (l_aYfS :: TyFun Bool (TyFun Bool Bool -> Type))
data (:||$$) (l_aYfQ :: Bool) (l_aYfP :: TyFun Bool Bool)
type (:||$$$) (t_aYfN :: Bool) (t_aYfO :: Bool) = (:||) t_aYfN t_aYfO
data Bool_Sym0 (l_aY5Y :: TyFun a6989586621679240786 (TyFun a6989586621679240786 (TyFun Bool a6989586621679240786 -> Type) -> Type))
data Bool_Sym1 (l_aY5W :: a6989586621679240786) (l_aY5V :: TyFun a6989586621679240786 (TyFun Bool a6989586621679240786 -> Type))
data Bool_Sym2 (l_aY5S :: a6989586621679240786) (l_aY5T :: a6989586621679240786) (l_aY5R :: TyFun Bool a6989586621679240786)
type Bool_Sym3 (t_aY5O :: a6989586621679240786) (t_aY5P :: a6989586621679240786) (t_aY5Q :: Bool) = Bool_ t_aY5O t_aY5P t_aY5Q
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_aY5I -> a_aY5I -> Bool -> a_aY5I
type TrueSym0 = True
type FalseSym0 = False
data NotSym0 (l_aYfK :: TyFun Bool Bool)
type NotSym1 (t_aYfJ :: Bool) = Not t_aYfJ
data (:&&$) (l_aYg5 :: TyFun Bool (TyFun Bool Bool -> Type))
data (:&&$$) (l_aYg3 :: Bool) (l_aYg2 :: TyFun Bool Bool)
type (:&&$$$) (t_aYg0 :: Bool) (t_aYg1 :: Bool) = (:&&) t_aYg0 t_aYg1
data (:||$) (l_aYfS :: TyFun Bool (TyFun Bool Bool -> Type))
data (:||$$) (l_aYfQ :: Bool) (l_aYfP :: TyFun Bool Bool)
type (:||$$$) (t_aYfN :: Bool) (t_aYfO :: Bool) = (:||) t_aYfN t_aYfO
data Bool_Sym0 (l_aY5Y :: TyFun a6989586621679240786 (TyFun a6989586621679240786 (TyFun Bool a6989586621679240786 -> Type) -> Type))
data Bool_Sym1 (l_aY5W :: a6989586621679240786) (l_aY5V :: TyFun a6989586621679240786 (TyFun Bool a6989586621679240786 -> Type))
data Bool_Sym2 (l_aY5S :: a6989586621679240786) (l_aY5T :: a6989586621679240786) (l_aY5R :: TyFun Bool a6989586621679240786)
type Bool_Sym3 (t_aY5O :: a6989586621679240786) (t_aY5P :: a6989586621679240786) (t_aY5Q :: Bool) = Bool_ t_aY5O t_aY5P t_aY5Q
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_aYZJ :: TyFun a_aYW6 (TyFun b_aYW7 b_aYW7 -> Type) -> Type) (t_aYZK :: b_aYW7) (t_aYZL :: [a_aYW6]). Sing t_aYZJ -> Sing t_aYZK -> Sing t_aYZL -> Sing (Apply (Apply (Apply FoldrSym0 t_aYZJ) t_aYZK) t_aYZL :: b_aYW7)
sMap :: forall (t_aYZH :: TyFun a_aYW4 b_aYW5 -> Type) (t_aYZI :: [a_aYW4]). Sing t_aYZH -> Sing t_aYZI -> Sing (Apply (Apply MapSym0 t_aYZH) t_aYZI :: [b_aYW5])
(%:++) :: forall (t_aYZF :: [a_aYW3]) (t_aYZG :: [a_aYW3]). Sing t_aYZF -> Sing t_aYZG -> Sing (Apply (Apply (:++$) t_aYZF) t_aYZG :: [a_aYW3])
infixr 5 %:++
sOtherwise :: Sing (OtherwiseSym0 :: Bool)
sId :: forall (t_aYZE :: a_aYW2). Sing t_aYZE -> Sing (Apply IdSym0 t_aYZE :: a_aYW2)
sConst :: forall (t_aYZA :: a_aYW0) (t_aYZB :: b_aYW1). Sing t_aYZA -> Sing t_aYZB -> Sing (Apply (Apply ConstSym0 t_aYZA) t_aYZB :: a_aYW0)
(%:.) :: forall (t_aYZx :: TyFun b_aYVX c_aYVY -> Type) (t_aYZy :: TyFun a_aYVZ b_aYVX -> Type) (t_aYZz :: a_aYVZ). Sing t_aYZx -> Sing t_aYZy -> Sing t_aYZz -> Sing (Apply (Apply (Apply (:.$) t_aYZx) t_aYZy) t_aYZz :: c_aYVY)
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_aYZu :: TyFun a_aYVU (TyFun b_aYVV c_aYVW -> Type) -> Type) (t_aYZv :: b_aYVV) (t_aYZw :: a_aYVU). Sing t_aYZu -> Sing t_aYZv -> Sing t_aYZw -> Sing (Apply (Apply (Apply FlipSym0 t_aYZu) t_aYZv) t_aYZw :: c_aYVW)
sAsTypeOf :: forall (t_aYZC :: a_aYVT) (t_aYZD :: a_aYVT). Sing t_aYZC -> Sing t_aYZD -> Sing (Apply (Apply AsTypeOfSym0 t_aYZC) t_aYZD :: a_aYVT)
sSeq :: forall (t_aYZs :: a_aYVR) (t_aYZt :: b_aYVS). Sing t_aYZs -> Sing t_aYZt -> Sing (Apply (Apply SeqSym0 t_aYZs) t_aYZt :: b_aYVS)
infixr 0 `sSeq`
data FoldrSym0 (l_aYYW :: TyFun (TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (TyFun b6989586621679244035 (TyFun [a6989586621679244034] b6989586621679244035 -> Type) -> Type))
data FoldrSym1 (l_aYYU :: TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (l_aYYT :: TyFun b6989586621679244035 (TyFun [a6989586621679244034] b6989586621679244035 -> Type))
data FoldrSym2 (l_aYYQ :: TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (l_aYYR :: b6989586621679244035) (l_aYYP :: TyFun [a6989586621679244034] b6989586621679244035)
type FoldrSym3 (t_aYYM :: TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (t_aYYN :: b6989586621679244035) (t_aYYO :: [a6989586621679244034]) = Foldr t_aYYM t_aYYN t_aYYO
data MapSym0 (l_aYYC :: TyFun (TyFun a6989586621679244032 b6989586621679244033 -> Type) (TyFun [a6989586621679244032] [b6989586621679244033] -> Type))
data MapSym1 (l_aYYA :: TyFun a6989586621679244032 b6989586621679244033 -> Type) (l_aYYz :: TyFun [a6989586621679244032] [b6989586621679244033])
type MapSym2 (t_aYYx :: TyFun a6989586621679244032 b6989586621679244033 -> Type) (t_aYYy :: [a6989586621679244032]) = Map t_aYYx t_aYYy
data (:++$) (l_aYYp :: TyFun [a6989586621679244031] (TyFun [a6989586621679244031] [a6989586621679244031] -> Type))
data (:++$$) (l_aYYn :: [a6989586621679244031]) (l_aYYm :: TyFun [a6989586621679244031] [a6989586621679244031])
type (:++$$$) (t_aYYk :: [a6989586621679244031]) (t_aYYl :: [a6989586621679244031]) = (:++) t_aYYk t_aYYl
type OtherwiseSym0 = Otherwise
data IdSym0 (l_aYYg :: TyFun a6989586621679244030 a6989586621679244030)
type IdSym1 (t_aYYf :: a6989586621679244030) = Id t_aYYf
data ConstSym0 (l_aYXS :: TyFun a6989586621679244028 (TyFun b6989586621679244029 a6989586621679244028 -> Type))
data ConstSym1 (l_aYXQ :: a6989586621679244028) (l_aYXP :: TyFun b6989586621679244029 a6989586621679244028)
type ConstSym2 (t_aYXN :: a6989586621679244028) (t_aYXO :: b6989586621679244029) = Const t_aYXN t_aYXO
data (:.$) (l_aYXh :: TyFun (TyFun b6989586621679244025 c6989586621679244026 -> Type) (TyFun (TyFun a6989586621679244027 b6989586621679244025 -> Type) (TyFun a6989586621679244027 c6989586621679244026 -> Type) -> Type))
data (:.$$) (l_aYXf :: TyFun b6989586621679244025 c6989586621679244026 -> Type) (l_aYXe :: TyFun (TyFun a6989586621679244027 b6989586621679244025 -> Type) (TyFun a6989586621679244027 c6989586621679244026 -> Type))
data (:.$$$) (l_aYXb :: TyFun b6989586621679244025 c6989586621679244026 -> Type) (l_aYXc :: TyFun a6989586621679244027 b6989586621679244025 -> Type) (l_aYXa :: TyFun a6989586621679244027 c6989586621679244026)
type (:.$$$$) (t_aYX7 :: TyFun b6989586621679244025 c6989586621679244026 -> Type) (t_aYX8 :: TyFun a6989586621679244027 b6989586621679244025 -> Type) (t_aYX9 :: a6989586621679244027) = (:.) t_aYX7 t_aYX8 t_aYX9
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_aYWZ :: TyFun (TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (TyFun b6989586621679244023 (TyFun a6989586621679244022 c6989586621679244024 -> Type) -> Type))
data FlipSym1 (l_aYWX :: TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (l_aYWW :: TyFun b6989586621679244023 (TyFun a6989586621679244022 c6989586621679244024 -> Type))
data FlipSym2 (l_aYWT :: TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (l_aYWU :: b6989586621679244023) (l_aYWS :: TyFun a6989586621679244022 c6989586621679244024)
type FlipSym3 (t_aYWP :: TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (t_aYWQ :: b6989586621679244023) (t_aYWR :: a6989586621679244022) = Flip t_aYWP t_aYWQ t_aYWR
data AsTypeOfSym0 (l_aYY9 :: TyFun a6989586621679244021 (TyFun a6989586621679244021 a6989586621679244021 -> Type))
data AsTypeOfSym1 (l_aYY7 :: a6989586621679244021) (l_aYY6 :: TyFun a6989586621679244021 a6989586621679244021)
type AsTypeOfSym2 (t_aYY4 :: a6989586621679244021) (t_aYY5 :: a6989586621679244021) = AsTypeOf t_aYY4 t_aYY5
data SeqSym0 (l_aYWH :: TyFun a6989586621679244019 (TyFun b6989586621679244020 b6989586621679244020 -> Type))
data SeqSym1 (l_aYWF :: a6989586621679244019) (l_aYWE :: TyFun b6989586621679244020 b6989586621679244020)
type SeqSym2 (t_aYWC :: a6989586621679244019) (t_aYWD :: b6989586621679244020) = Seq t_aYWC t_aYWD
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.Let6989586621679244220GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679244220GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679244220GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679244220GoSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679244117Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679244117Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679244117Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679244117Sym3


-- | 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_aYZE :: a_aYW2). Sing t_aYZE -> Sing (Apply IdSym0 t_aYZE :: a_aYW2)
sConst :: forall (t_aYZA :: a_aYW0) (t_aYZB :: b_aYW1). Sing t_aYZA -> Sing t_aYZB -> Sing (Apply (Apply ConstSym0 t_aYZA) t_aYZB :: a_aYW0)
(%:.) :: forall (t_aYZx :: TyFun b_aYVX c_aYVY -> Type) (t_aYZy :: TyFun a_aYVZ b_aYVX -> Type) (t_aYZz :: a_aYVZ). Sing t_aYZx -> Sing t_aYZy -> Sing t_aYZz -> Sing (Apply (Apply (Apply (:.$) t_aYZx) t_aYZy) t_aYZz :: c_aYVY)
infixr 9 %:.
sFlip :: forall (t_aYZu :: TyFun a_aYVU (TyFun b_aYVV c_aYVW -> Type) -> Type) (t_aYZv :: b_aYVV) (t_aYZw :: a_aYVU). Sing t_aYZu -> Sing t_aYZv -> Sing t_aYZw -> Sing (Apply (Apply (Apply FlipSym0 t_aYZu) t_aYZv) t_aYZw :: c_aYVW)
(%$) :: forall (f :: TyFun a b -> *) (x :: a). Sing f -> Sing x -> Sing ((($$) @@ f) @@ x)
infixr 0 %$
(%:&) :: forall (t_a11q6 :: a_a11oB) (t_a11q7 :: TyFun a_a11oB b_a11oC -> Type). Sing t_a11q6 -> Sing t_a11q7 -> Sing (Apply (Apply (:&$) t_a11q6) t_a11q7 :: b_a11oC)
sOn :: forall (t_a11q8 :: TyFun b_a11oD (TyFun b_a11oD c_a11oE -> Type) -> Type) (t_a11q9 :: TyFun a_a11oF b_a11oD -> Type) (t_a11qa :: a_a11oF) (t_a11qb :: a_a11oF). Sing t_a11q8 -> Sing t_a11q9 -> Sing t_a11qa -> Sing t_a11qb -> Sing (Apply (Apply (Apply (Apply OnSym0 t_a11q8) t_a11q9) t_a11qa) t_a11qb :: c_a11oE)
data IdSym0 (l_aYYg :: TyFun a6989586621679244030 a6989586621679244030)
type IdSym1 (t_aYYf :: a6989586621679244030) = Id t_aYYf
data ConstSym0 (l_aYXS :: TyFun a6989586621679244028 (TyFun b6989586621679244029 a6989586621679244028 -> Type))
data ConstSym1 (l_aYXQ :: a6989586621679244028) (l_aYXP :: TyFun b6989586621679244029 a6989586621679244028)
type ConstSym2 (t_aYXN :: a6989586621679244028) (t_aYXO :: b6989586621679244029) = Const t_aYXN t_aYXO
data (:.$) (l_aYXh :: TyFun (TyFun b6989586621679244025 c6989586621679244026 -> Type) (TyFun (TyFun a6989586621679244027 b6989586621679244025 -> Type) (TyFun a6989586621679244027 c6989586621679244026 -> Type) -> Type))
data (:.$$) (l_aYXf :: TyFun b6989586621679244025 c6989586621679244026 -> Type) (l_aYXe :: TyFun (TyFun a6989586621679244027 b6989586621679244025 -> Type) (TyFun a6989586621679244027 c6989586621679244026 -> Type))
data (:.$$$) (l_aYXb :: TyFun b6989586621679244025 c6989586621679244026 -> Type) (l_aYXc :: TyFun a6989586621679244027 b6989586621679244025 -> Type) (l_aYXa :: TyFun a6989586621679244027 c6989586621679244026)
type (:.$$$$) (t_aYX7 :: TyFun b6989586621679244025 c6989586621679244026 -> Type) (t_aYX8 :: TyFun a6989586621679244027 b6989586621679244025 -> Type) (t_aYX9 :: a6989586621679244027) = (:.) t_aYX7 t_aYX8 t_aYX9
data FlipSym0 (l_aYWZ :: TyFun (TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (TyFun b6989586621679244023 (TyFun a6989586621679244022 c6989586621679244024 -> Type) -> Type))
data FlipSym1 (l_aYWX :: TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (l_aYWW :: TyFun b6989586621679244023 (TyFun a6989586621679244022 c6989586621679244024 -> Type))
data FlipSym2 (l_aYWT :: TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (l_aYWU :: b6989586621679244023) (l_aYWS :: TyFun a6989586621679244022 c6989586621679244024)
type FlipSym3 (t_aYWP :: TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (t_aYWQ :: b6989586621679244023) (t_aYWR :: a6989586621679244022) = Flip t_aYWP t_aYWQ t_aYWR
data ($$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> *
data ($$$) :: (TyFun a b -> *) -> TyFun a b -> *
type ($$$$) a b = ($) a b
data (:&$) (l_a11oT :: TyFun a6989586621679253489 (TyFun (TyFun a6989586621679253489 b6989586621679253490 -> Type) b6989586621679253490 -> Type))
data (:&$$) (l_a11oR :: a6989586621679253489) (l_a11oQ :: TyFun (TyFun a6989586621679253489 b6989586621679253490 -> Type) b6989586621679253490)
type (:&$$$) (t_a11oO :: a6989586621679253489) (t_a11oP :: TyFun a6989586621679253489 b6989586621679253490 -> Type) = (:&) t_a11oO t_a11oP
data OnSym0 (l_a11pf :: TyFun (TyFun b6989586621679253491 (TyFun b6989586621679253491 c6989586621679253492 -> Type) -> Type) (TyFun (TyFun a6989586621679253493 b6989586621679253491 -> Type) (TyFun a6989586621679253493 (TyFun a6989586621679253493 c6989586621679253492 -> Type) -> Type) -> Type))
data OnSym1 (l_a11pd :: TyFun b6989586621679253491 (TyFun b6989586621679253491 c6989586621679253492 -> Type) -> Type) (l_a11pc :: TyFun (TyFun a6989586621679253493 b6989586621679253491 -> Type) (TyFun a6989586621679253493 (TyFun a6989586621679253493 c6989586621679253492 -> Type) -> Type))
data OnSym2 (l_a11p9 :: TyFun b6989586621679253491 (TyFun b6989586621679253491 c6989586621679253492 -> Type) -> Type) (l_a11pa :: TyFun a6989586621679253493 b6989586621679253491 -> Type) (l_a11p8 :: TyFun a6989586621679253493 (TyFun a6989586621679253493 c6989586621679253492 -> Type))
data OnSym3 (l_a11p4 :: TyFun b6989586621679253491 (TyFun b6989586621679253491 c6989586621679253492 -> Type) -> Type) (l_a11p5 :: TyFun a6989586621679253493 b6989586621679253491 -> Type) (l_a11p6 :: a6989586621679253493) (l_a11p3 :: TyFun a6989586621679253493 c6989586621679253492)
type OnSym4 (t_a11oZ :: TyFun b6989586621679253491 (TyFun b6989586621679253491 c6989586621679253492 -> Type) -> Type) (t_a11p0 :: TyFun a6989586621679253493 b6989586621679253491 -> Type) (t_a11p1 :: a6989586621679253493) (t_a11p2 :: a6989586621679253493) = On t_a11oZ t_a11p0 t_a11p1 t_a11p2
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_6989586621679253543Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679253543Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679253543Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679253543Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679253543Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679253543Sym5


-- | 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_aYYg :: TyFun a6989586621679244030 a6989586621679244030)
type IdSym1 (t_aYYf :: a6989586621679244030) = Id t_aYYf
data ConstSym0 (l_aYXS :: TyFun a6989586621679244028 (TyFun b6989586621679244029 a6989586621679244028 -> Type))
data ConstSym1 (l_aYXQ :: a6989586621679244028) (l_aYXP :: TyFun b6989586621679244029 a6989586621679244028)
type ConstSym2 (t_aYXN :: a6989586621679244028) (t_aYXO :: b6989586621679244029) = Const t_aYXN t_aYXO
data (:.$) (l_aYXh :: TyFun (TyFun b6989586621679244025 c6989586621679244026 -> Type) (TyFun (TyFun a6989586621679244027 b6989586621679244025 -> Type) (TyFun a6989586621679244027 c6989586621679244026 -> Type) -> Type))
data (:.$$) (l_aYXf :: TyFun b6989586621679244025 c6989586621679244026 -> Type) (l_aYXe :: TyFun (TyFun a6989586621679244027 b6989586621679244025 -> Type) (TyFun a6989586621679244027 c6989586621679244026 -> Type))
data (:.$$$) (l_aYXb :: TyFun b6989586621679244025 c6989586621679244026 -> Type) (l_aYXc :: TyFun a6989586621679244027 b6989586621679244025 -> Type) (l_aYXa :: TyFun a6989586621679244027 c6989586621679244026)
type (:.$$$$) (t_aYX7 :: TyFun b6989586621679244025 c6989586621679244026 -> Type) (t_aYX8 :: TyFun a6989586621679244027 b6989586621679244025 -> Type) (t_aYX9 :: a6989586621679244027) = (:.) t_aYX7 t_aYX8 t_aYX9
data FlipSym0 (l_aYWZ :: TyFun (TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (TyFun b6989586621679244023 (TyFun a6989586621679244022 c6989586621679244024 -> Type) -> Type))
data FlipSym1 (l_aYWX :: TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (l_aYWW :: TyFun b6989586621679244023 (TyFun a6989586621679244022 c6989586621679244024 -> Type))
data FlipSym2 (l_aYWT :: TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (l_aYWU :: b6989586621679244023) (l_aYWS :: TyFun a6989586621679244022 c6989586621679244024)
type FlipSym3 (t_aYWP :: TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (t_aYWQ :: b6989586621679244023) (t_aYWR :: a6989586621679244022) = Flip t_aYWP t_aYWQ t_aYWR
data ($$) :: TyFun (TyFun a b -> *) (TyFun a b -> *) -> *
data ($$$) :: (TyFun a b -> *) -> TyFun a b -> *
type ($$$$) a b = ($) a b
data (:&$) (l_a11oT :: TyFun a6989586621679253489 (TyFun (TyFun a6989586621679253489 b6989586621679253490 -> Type) b6989586621679253490 -> Type))
data (:&$$) (l_a11oR :: a6989586621679253489) (l_a11oQ :: TyFun (TyFun a6989586621679253489 b6989586621679253490 -> Type) b6989586621679253490)
type (:&$$$) (t_a11oO :: a6989586621679253489) (t_a11oP :: TyFun a6989586621679253489 b6989586621679253490 -> Type) = (:&) t_a11oO t_a11oP
data OnSym0 (l_a11pf :: TyFun (TyFun b6989586621679253491 (TyFun b6989586621679253491 c6989586621679253492 -> Type) -> Type) (TyFun (TyFun a6989586621679253493 b6989586621679253491 -> Type) (TyFun a6989586621679253493 (TyFun a6989586621679253493 c6989586621679253492 -> Type) -> Type) -> Type))
data OnSym1 (l_a11pd :: TyFun b6989586621679253491 (TyFun b6989586621679253491 c6989586621679253492 -> Type) -> Type) (l_a11pc :: TyFun (TyFun a6989586621679253493 b6989586621679253491 -> Type) (TyFun a6989586621679253493 (TyFun a6989586621679253493 c6989586621679253492 -> Type) -> Type))
data OnSym2 (l_a11p9 :: TyFun b6989586621679253491 (TyFun b6989586621679253491 c6989586621679253492 -> Type) -> Type) (l_a11pa :: TyFun a6989586621679253493 b6989586621679253491 -> Type) (l_a11p8 :: TyFun a6989586621679253493 (TyFun a6989586621679253493 c6989586621679253492 -> Type))
data OnSym3 (l_a11p4 :: TyFun b6989586621679253491 (TyFun b6989586621679253491 c6989586621679253492 -> Type) -> Type) (l_a11p5 :: TyFun a6989586621679253493 b6989586621679253491 -> Type) (l_a11p6 :: a6989586621679253493) (l_a11p3 :: TyFun a6989586621679253493 c6989586621679253492)
type OnSym4 (t_a11oZ :: TyFun b6989586621679253491 (TyFun b6989586621679253491 c6989586621679253492 -> Type) -> Type) (t_a11p0 :: TyFun a6989586621679253493 b6989586621679253491 -> Type) (t_a11p1 :: a6989586621679253493) (t_a11p2 :: a6989586621679253493) = On t_a11oZ t_a11p0 t_a11p1 t_a11p2


-- | 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_a12pM :: TyFun a6989586621679257339 (TyFun a6989586621679257339 Bool -> Type))
data (:==$$) (l_a12pK :: a6989586621679257339) (l_a12pJ :: TyFun a6989586621679257339 Bool)
type (:==$$$) (t_a12pH :: a6989586621679257339) (t_a12pI :: a6989586621679257339) = (:==) t_a12pH t_a12pI
data (:/=$) (l_a12pT :: TyFun a6989586621679257339 (TyFun a6989586621679257339 Bool -> Type))
data (:/=$$) (l_a12pR :: a6989586621679257339) (l_a12pQ :: TyFun a6989586621679257339 Bool)
type (:/=$$$) (t_a12pO :: a6989586621679257339) (t_a12pP :: a6989586621679257339) = (:/=) t_a12pO t_a12pP
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_a15DU => POrd (a_a15DU :: Type) where {
    type family Compare (arg_a163Q :: a_a15DU) (arg_a163R :: a_a15DU) :: Ordering;
    type family (:<) (arg_a163Z :: a_a15DU) (arg_a1640 :: a_a15DU) :: Bool;
    type family (:<=) (arg_a1648 :: a_a15DU) (arg_a1649 :: a_a15DU) :: Bool;
    type family (:>) (arg_a164h :: a_a15DU) (arg_a164i :: a_a15DU) :: Bool;
    type family (:>=) (arg_a164q :: a_a15DU) (arg_a164r :: a_a15DU) :: Bool;
    type family Max (arg_a164z :: a_a15DU) (arg_a164A :: a_a15DU) :: a_a15DU;
    type family Min (arg_a164I :: a_a15DU) (arg_a164J :: a_a15DU) :: a_a15DU;
    type Compare a_a165o a_a165p =
        Apply (Apply Compare_6989586621679271520Sym0 a_a165o) a_a165p;
    type (:<) a_a165V a_a165W =
        Apply (Apply TFHelper_6989586621679271553Sym0 a_a165V) a_a165W;
    type (:<=) a_a166s a_a166t =
        Apply (Apply TFHelper_6989586621679271586Sym0 a_a166s) a_a166t;
    type (:>) a_a166Z a_a1670 =
        Apply (Apply TFHelper_6989586621679271619Sym0 a_a166Z) a_a1670;
    type (:>=) a_a167w a_a167x =
        Apply (Apply TFHelper_6989586621679271652Sym0 a_a167w) a_a167x;
    type Max a_a1683 a_a1684 =
        Apply (Apply Max_6989586621679271685Sym0 a_a1683) a_a1684;
    type Min a_a168A a_a168B =
        Apply (Apply Min_6989586621679271718Sym0 a_a168A) a_a168B;
}
class SEq a_a15DU => SOrd a_a15DU
sCompare :: forall (t_a168R :: a_a15DU) (t_a168S :: a_a15DU). SOrd a_a15DU => Sing t_a168R -> Sing t_a168S -> Sing (Apply (Apply CompareSym0 t_a168R) t_a168S :: Ordering)
(%:<) :: forall (t_a168T :: a_a15DU) (t_a168U :: a_a15DU). SOrd a_a15DU => Sing t_a168T -> Sing t_a168U -> Sing (Apply (Apply (:<$) t_a168T) t_a168U :: Bool)
(%:<=) :: forall (t_a168V :: a_a15DU) (t_a168W :: a_a15DU). SOrd a_a15DU => Sing t_a168V -> Sing t_a168W -> Sing (Apply (Apply (:<=$) t_a168V) t_a168W :: Bool)
(%:>) :: forall (t_a168X :: a_a15DU) (t_a168Y :: a_a15DU). SOrd a_a15DU => Sing t_a168X -> Sing t_a168Y -> Sing (Apply (Apply (:>$) t_a168X) t_a168Y :: Bool)
(%:>=) :: forall (t_a168Z :: a_a15DU) (t_a1690 :: a_a15DU). SOrd a_a15DU => Sing t_a168Z -> Sing t_a1690 -> Sing (Apply (Apply (:>=$) t_a168Z) t_a1690 :: Bool)
sMax :: forall (t_a1691 :: a_a15DU) (t_a1692 :: a_a15DU). SOrd a_a15DU => Sing t_a1691 -> Sing t_a1692 -> Sing (Apply (Apply MaxSym0 t_a1691) t_a1692 :: a_a15DU)
sMin :: forall (t_a1693 :: a_a15DU) (t_a1694 :: a_a15DU). SOrd a_a15DU => Sing t_a1693 -> Sing t_a1694 -> Sing (Apply (Apply MinSym0 t_a1693) t_a1694 :: a_a15DU)
sCompare :: forall (t_a168R :: a_a15DU) (t_a168S :: a_a15DU). (SOrd a_a15DU, (Apply (Apply CompareSym0 t_a168R) t_a168S :: Ordering) ~ Apply (Apply Compare_6989586621679271520Sym0 t_a168R) t_a168S) => Sing t_a168R -> Sing t_a168S -> Sing (Apply (Apply CompareSym0 t_a168R) t_a168S :: Ordering)
(%:<) :: forall (t_a168T :: a_a15DU) (t_a168U :: a_a15DU). (SOrd a_a15DU, (Apply (Apply (:<$) t_a168T) t_a168U :: Bool) ~ Apply (Apply TFHelper_6989586621679271553Sym0 t_a168T) t_a168U) => Sing t_a168T -> Sing t_a168U -> Sing (Apply (Apply (:<$) t_a168T) t_a168U :: Bool)
(%:<=) :: forall (t_a168V :: a_a15DU) (t_a168W :: a_a15DU). (SOrd a_a15DU, (Apply (Apply (:<=$) t_a168V) t_a168W :: Bool) ~ Apply (Apply TFHelper_6989586621679271586Sym0 t_a168V) t_a168W) => Sing t_a168V -> Sing t_a168W -> Sing (Apply (Apply (:<=$) t_a168V) t_a168W :: Bool)
(%:>) :: forall (t_a168X :: a_a15DU) (t_a168Y :: a_a15DU). (SOrd a_a15DU, (Apply (Apply (:>$) t_a168X) t_a168Y :: Bool) ~ Apply (Apply TFHelper_6989586621679271619Sym0 t_a168X) t_a168Y) => Sing t_a168X -> Sing t_a168Y -> Sing (Apply (Apply (:>$) t_a168X) t_a168Y :: Bool)
(%:>=) :: forall (t_a168Z :: a_a15DU) (t_a1690 :: a_a15DU). (SOrd a_a15DU, (Apply (Apply (:>=$) t_a168Z) t_a1690 :: Bool) ~ Apply (Apply TFHelper_6989586621679271652Sym0 t_a168Z) t_a1690) => Sing t_a168Z -> Sing t_a1690 -> Sing (Apply (Apply (:>=$) t_a168Z) t_a1690 :: Bool)
sMax :: forall (t_a1691 :: a_a15DU) (t_a1692 :: a_a15DU). (SOrd a_a15DU, (Apply (Apply MaxSym0 t_a1691) t_a1692 :: a_a15DU) ~ Apply (Apply Max_6989586621679271685Sym0 t_a1691) t_a1692) => Sing t_a1691 -> Sing t_a1692 -> Sing (Apply (Apply MaxSym0 t_a1691) t_a1692 :: a_a15DU)
sMin :: forall (t_a1693 :: a_a15DU) (t_a1694 :: a_a15DU). (SOrd a_a15DU, (Apply (Apply MinSym0 t_a1693) t_a1694 :: a_a15DU) ~ Apply (Apply Min_6989586621679271718Sym0 t_a1693) t_a1694) => Sing t_a1693 -> Sing t_a1694 -> Sing (Apply (Apply MinSym0 t_a1693) t_a1694 :: a_a15DU)
sComparing :: forall (t_a168L :: TyFun b_a15DK a_a15DJ -> Type) (t_a168M :: b_a15DK) (t_a168N :: b_a15DK). SOrd a_a15DJ => Sing t_a168L -> Sing t_a168M -> Sing t_a168N -> Sing (Apply (Apply (Apply ComparingSym0 t_a168L) t_a168M) t_a168N :: Ordering)
thenCmp :: Ordering -> Ordering -> Ordering
sThenCmp :: forall (t_a17Sv :: Ordering) (t_a17Sw :: Ordering). Sing t_a17Sv -> Sing t_a17Sw -> Sing (Apply (Apply ThenCmpSym0 t_a17Sv) t_a17Sw :: Ordering)

-- | The singleton kind-indexed data family.
data ThenCmpSym0 (l_a17Sk :: TyFun Ordering (TyFun Ordering Ordering -> Type))
data ThenCmpSym1 (l_a17Si :: Ordering) (l_a17Sh :: TyFun Ordering Ordering)
type ThenCmpSym2 (t_a17Sf :: Ordering) (t_a17Sg :: Ordering) = ThenCmp t_a17Sf t_a17Sg
type LTSym0 = LT
type EQSym0 = EQ
type GTSym0 = GT
data CompareSym0 (l_a163X :: TyFun a6989586621679269814 (TyFun a6989586621679269814 Ordering -> Type))
data CompareSym1 (l_a163V :: a6989586621679269814) (l_a163U :: TyFun a6989586621679269814 Ordering)
type CompareSym2 (t_a163S :: a6989586621679269814) (t_a163T :: a6989586621679269814) = Compare t_a163S t_a163T
data (:<$) (l_a1646 :: TyFun a6989586621679269814 (TyFun a6989586621679269814 Bool -> Type))
data (:<$$) (l_a1644 :: a6989586621679269814) (l_a1643 :: TyFun a6989586621679269814 Bool)
type (:<$$$) (t_a1641 :: a6989586621679269814) (t_a1642 :: a6989586621679269814) = (:<) t_a1641 t_a1642
data (:<=$) (l_a164f :: TyFun a6989586621679269814 (TyFun a6989586621679269814 Bool -> Type))
data (:<=$$) (l_a164d :: a6989586621679269814) (l_a164c :: TyFun a6989586621679269814 Bool)
type (:<=$$$) (t_a164a :: a6989586621679269814) (t_a164b :: a6989586621679269814) = (:<=) t_a164a t_a164b
data (:>$) (l_a164o :: TyFun a6989586621679269814 (TyFun a6989586621679269814 Bool -> Type))
data (:>$$) (l_a164m :: a6989586621679269814) (l_a164l :: TyFun a6989586621679269814 Bool)
type (:>$$$) (t_a164j :: a6989586621679269814) (t_a164k :: a6989586621679269814) = (:>) t_a164j t_a164k
data (:>=$) (l_a164x :: TyFun a6989586621679269814 (TyFun a6989586621679269814 Bool -> Type))
data (:>=$$) (l_a164v :: a6989586621679269814) (l_a164u :: TyFun a6989586621679269814 Bool)
type (:>=$$$) (t_a164s :: a6989586621679269814) (t_a164t :: a6989586621679269814) = (:>=) t_a164s t_a164t
data MaxSym0 (l_a164G :: TyFun a6989586621679269814 (TyFun a6989586621679269814 a6989586621679269814 -> Type))
data MaxSym1 (l_a164E :: a6989586621679269814) (l_a164D :: TyFun a6989586621679269814 a6989586621679269814)
type MaxSym2 (t_a164B :: a6989586621679269814) (t_a164C :: a6989586621679269814) = Max t_a164B t_a164C
data MinSym0 (l_a164P :: TyFun a6989586621679269814 (TyFun a6989586621679269814 a6989586621679269814 -> Type))
data MinSym1 (l_a164N :: a6989586621679269814) (l_a164M :: TyFun a6989586621679269814 a6989586621679269814)
type MinSym2 (t_a164K :: a6989586621679269814) (t_a164L :: a6989586621679269814) = Min t_a164K t_a164L
data ComparingSym0 (l_a163I :: TyFun (TyFun b6989586621679269804 a6989586621679269803 -> Type) (TyFun b6989586621679269804 (TyFun b6989586621679269804 Ordering -> Type) -> Type))
data ComparingSym1 (l_a163G :: TyFun b6989586621679269804 a6989586621679269803 -> Type) (l_a163F :: TyFun b6989586621679269804 (TyFun b6989586621679269804 Ordering -> Type))
data ComparingSym2 (l_a163C :: TyFun b6989586621679269804 a6989586621679269803 -> Type) (l_a163D :: b6989586621679269804) (l_a163B :: TyFun b6989586621679269804 Ordering)
type ComparingSym3 (t_a163y :: TyFun b6989586621679269804 a6989586621679269803 -> Type) (t_a163z :: b6989586621679269804) (t_a163A :: b6989586621679269804) = Comparing t_a163y t_a163z t_a163A
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679279186Sym0
instance Data.Singletons.Prelude.Ord.POrd ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679279186Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679279166Sym0
instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679279166Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679279146Sym0
instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679279146Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679279112Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f, g)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679279112Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679279038Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679279038Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679278972Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679278972Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679278914Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679278914Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679278864Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679278864Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679278822Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679278822Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679278786Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.List.NonEmpty.NonEmpty a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679278786Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679278750Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Either.Either a b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679278750Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679278702Sym0
instance Data.Singletons.Prelude.Ord.POrd [a]
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679278702Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679278656Sym0
instance Data.Singletons.Prelude.Ord.POrd (GHC.Base.Maybe a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679278656Sym1
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.Let6989586621679271540Scrutinee_6989586621679269836Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679271540Scrutinee_6989586621679269836Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679271573Scrutinee_6989586621679269838Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679271573Scrutinee_6989586621679269838Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679271606Scrutinee_6989586621679269840Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679271606Scrutinee_6989586621679269840Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679271639Scrutinee_6989586621679269842Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679271639Scrutinee_6989586621679269842Sym1
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.Let6989586621679271506Scrutinee_6989586621679269834Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679271506Scrutinee_6989586621679269834Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679271672Scrutinee_6989586621679269844Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679271672Scrutinee_6989586621679269844Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679271705Scrutinee_6989586621679269846Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679271705Scrutinee_6989586621679269846Sym1
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_6989586621679271520Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679271520Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679271553Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679271553Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679271586Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679271586Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679271619Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679271619Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679271652Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679271652Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Max_6989586621679271685Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Max_6989586621679271685Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Min_6989586621679271718Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Min_6989586621679271718Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679271496Scrutinee_6989586621679269832Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679271496Scrutinee_6989586621679269832Sym1


-- | Defines and exports promoted and singleton versions of definitions
--   from GHC.Num.
module Data.Singletons.Prelude.Num
class PNum (a_a1qc5 :: Type) where {
    type family (:+) (arg_a1qc9 :: a_a1qc5) (arg_a1qca :: a_a1qc5) :: a_a1qc5;
    type family (:-) (arg_a1qci :: a_a1qc5) (arg_a1qcj :: a_a1qc5) :: a_a1qc5;
    type family (:*) (arg_a1qcr :: a_a1qc5) (arg_a1qcs :: a_a1qc5) :: a_a1qc5;
    type family Negate (arg_a1qcA :: a_a1qc5) :: a_a1qc5;
    type family Abs (arg_a1qcE :: a_a1qc5) :: a_a1qc5;
    type family Signum (arg_a1qcI :: a_a1qc5) :: a_a1qc5;
    type family FromInteger (arg_a1qcM :: Nat) :: a_a1qc5;
    type (:-) a_a1qd1 a_a1qd2 =
        Apply (Apply TFHelper_6989586621679348873Sym0 a_a1qd1) a_a1qd2;
    type Negate a_a1qdh = Apply Negate_6989586621679348888Sym0 a_a1qdh;
}
class SNum a_a1qc5
(%:+) :: forall (t_a1qdn :: a_a1qc5) (t_a1qdo :: a_a1qc5). SNum a_a1qc5 => Sing t_a1qdn -> Sing t_a1qdo -> Sing (Apply (Apply (:+$) t_a1qdn) t_a1qdo :: a_a1qc5)
(%:-) :: forall (t_a1qdp :: a_a1qc5) (t_a1qdq :: a_a1qc5). SNum a_a1qc5 => Sing t_a1qdp -> Sing t_a1qdq -> Sing (Apply (Apply (:-$) t_a1qdp) t_a1qdq :: a_a1qc5)
(%:*) :: forall (t_a1qdr :: a_a1qc5) (t_a1qds :: a_a1qc5). SNum a_a1qc5 => Sing t_a1qdr -> Sing t_a1qds -> Sing (Apply (Apply (:*$) t_a1qdr) t_a1qds :: a_a1qc5)
sNegate :: forall (t_a1qdt :: a_a1qc5). SNum a_a1qc5 => Sing t_a1qdt -> Sing (Apply NegateSym0 t_a1qdt :: a_a1qc5)
sAbs :: forall (t_a1qdu :: a_a1qc5). SNum a_a1qc5 => Sing t_a1qdu -> Sing (Apply AbsSym0 t_a1qdu :: a_a1qc5)
sSignum :: forall (t_a1qdv :: a_a1qc5). SNum a_a1qc5 => Sing t_a1qdv -> Sing (Apply SignumSym0 t_a1qdv :: a_a1qc5)
sFromInteger :: forall (t_a1qdw :: Nat). SNum a_a1qc5 => Sing t_a1qdw -> Sing (Apply FromIntegerSym0 t_a1qdw :: a_a1qc5)
(%:-) :: forall (t_a1qdp :: a_a1qc5) (t_a1qdq :: a_a1qc5). (SNum a_a1qc5, (Apply (Apply (:-$) t_a1qdp) t_a1qdq :: a_a1qc5) ~ Apply (Apply TFHelper_6989586621679348873Sym0 t_a1qdp) t_a1qdq) => Sing t_a1qdp -> Sing t_a1qdq -> Sing (Apply (Apply (:-$) t_a1qdp) t_a1qdq :: a_a1qc5)
sNegate :: forall (t_a1qdt :: a_a1qc5). (SNum a_a1qc5, (Apply NegateSym0 t_a1qdt :: a_a1qc5) ~ Apply Negate_6989586621679348888Sym0 t_a1qdt) => Sing t_a1qdt -> Sing (Apply NegateSym0 t_a1qdt :: a_a1qc5)
sSubtract :: forall (t_a1qNM :: a_a1qN2) (t_a1qNN :: a_a1qN2). SNum a_a1qN2 => Sing t_a1qNM -> Sing t_a1qNN -> Sing (Apply (Apply SubtractSym0 t_a1qNM) t_a1qNN :: a_a1qN2)
data (:+$) (l_a1qcg :: TyFun a6989586621679348813 (TyFun a6989586621679348813 a6989586621679348813 -> Type))
data (:+$$) (l_a1qce :: a6989586621679348813) (l_a1qcd :: TyFun a6989586621679348813 a6989586621679348813)
type (:+$$$) (t_a1qcb :: a6989586621679348813) (t_a1qcc :: a6989586621679348813) = (:+) t_a1qcb t_a1qcc
data (:-$) (l_a1qcp :: TyFun a6989586621679348813 (TyFun a6989586621679348813 a6989586621679348813 -> Type))
data (:-$$) (l_a1qcn :: a6989586621679348813) (l_a1qcm :: TyFun a6989586621679348813 a6989586621679348813)
type (:-$$$) (t_a1qck :: a6989586621679348813) (t_a1qcl :: a6989586621679348813) = (:-) t_a1qck t_a1qcl
data (:*$) (l_a1qcy :: TyFun a6989586621679348813 (TyFun a6989586621679348813 a6989586621679348813 -> Type))
data (:*$$) (l_a1qcw :: a6989586621679348813) (l_a1qcv :: TyFun a6989586621679348813 a6989586621679348813)
type (:*$$$) (t_a1qct :: a6989586621679348813) (t_a1qcu :: a6989586621679348813) = (:*) t_a1qct t_a1qcu
data NegateSym0 (l_a1qcC :: TyFun a6989586621679348813 a6989586621679348813)
type NegateSym1 (t_a1qcB :: a6989586621679348813) = Negate t_a1qcB
data AbsSym0 (l_a1qcG :: TyFun a6989586621679348813 a6989586621679348813)
type AbsSym1 (t_a1qcF :: a6989586621679348813) = Abs t_a1qcF
data SignumSym0 (l_a1qcK :: TyFun a6989586621679348813 a6989586621679348813)
type SignumSym1 (t_a1qcJ :: a6989586621679348813) = Signum t_a1qcJ
data FromIntegerSym0 (l_a1qcO :: TyFun Nat a6989586621679348813)
type FromIntegerSym1 (t_a1qcN :: Nat) = FromInteger t_a1qcN
data SubtractSym0 (l_a1qNG :: TyFun a6989586621679351104 (TyFun a6989586621679351104 a6989586621679351104 -> Type))
data SubtractSym1 (l_a1qNE :: a6989586621679351104) (l_a1qND :: TyFun a6989586621679351104 a6989586621679351104)
type SubtractSym2 (t_a1qNB :: a6989586621679351104) (t_a1qNC :: a6989586621679351104) = Subtract t_a1qNB t_a1qNC
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_6989586621679348873Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679348873Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Negate_6989586621679348888Sym0


-- | 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_a1oSz :: TyFun k06989586621679342626 k6989586621679342628)
type ErrorSym1 (t_a1oSy :: k06989586621679342626) = Error t_a1oSy

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

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

symbolVal :: KnownSymbol n => proxy n -> String
type a :^ b = a ^ b
data (:^$) l_a1oVn
data (:^$$) (l_a1oVl :: Nat) l_a1oVk
type (:^$$$) (t_a1oVi :: Nat) (t_a1oVj :: Nat) = (:^) t_a1oVi t_a1oVj
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_a1qc5 :: Type) where {
    type family (:+) (arg_a1qc9 :: a_a1qc5) (arg_a1qca :: a_a1qc5) :: a_a1qc5;
    type family (:-) (arg_a1qci :: a_a1qc5) (arg_a1qcj :: a_a1qc5) :: a_a1qc5;
    type family (:*) (arg_a1qcr :: a_a1qc5) (arg_a1qcs :: a_a1qc5) :: a_a1qc5;
    type family Negate (arg_a1qcA :: a_a1qc5) :: a_a1qc5;
    type family Abs (arg_a1qcE :: a_a1qc5) :: a_a1qc5;
    type family Signum (arg_a1qcI :: a_a1qc5) :: a_a1qc5;
    type family FromInteger (arg_a1qcM :: Nat) :: a_a1qc5;
    type (:-) a_a1qd1 a_a1qd2 =
        Apply (Apply TFHelper_6989586621679348873Sym0 a_a1qd1) a_a1qd2;
    type Negate a_a1qdh = Apply Negate_6989586621679348888Sym0 a_a1qdh;
}
data (:+$) (l_a1qcg :: TyFun a6989586621679348813 (TyFun a6989586621679348813 a6989586621679348813 -> Type))
data (:+$$) (l_a1qce :: a6989586621679348813) (l_a1qcd :: TyFun a6989586621679348813 a6989586621679348813)
type (:+$$$) (t_a1qcb :: a6989586621679348813) (t_a1qcc :: a6989586621679348813) = (:+) t_a1qcb t_a1qcc
data (:-$) (l_a1qcp :: TyFun a6989586621679348813 (TyFun a6989586621679348813 a6989586621679348813 -> Type))
data (:-$$) (l_a1qcn :: a6989586621679348813) (l_a1qcm :: TyFun a6989586621679348813 a6989586621679348813)
type (:-$$$) (t_a1qck :: a6989586621679348813) (t_a1qcl :: a6989586621679348813) = (:-) t_a1qck t_a1qcl
data (:*$) (l_a1qcy :: TyFun a6989586621679348813 (TyFun a6989586621679348813 a6989586621679348813 -> Type))
data (:*$$) (l_a1qcw :: a6989586621679348813) (l_a1qcv :: TyFun a6989586621679348813 a6989586621679348813)
type (:*$$$) (t_a1qct :: a6989586621679348813) (t_a1qcu :: a6989586621679348813) = (:*) t_a1qct t_a1qcu
data NegateSym0 (l_a1qcC :: TyFun a6989586621679348813 a6989586621679348813)
type NegateSym1 (t_a1qcB :: a6989586621679348813) = Negate t_a1qcB
data AbsSym0 (l_a1qcG :: TyFun a6989586621679348813 a6989586621679348813)
type AbsSym1 (t_a1qcF :: a6989586621679348813) = Abs t_a1qcF
data SignumSym0 (l_a1qcK :: TyFun a6989586621679348813 a6989586621679348813)
type SignumSym1 (t_a1qcJ :: a6989586621679348813) = Signum t_a1qcJ
data FromIntegerSym0 (l_a1qcO :: TyFun Nat a6989586621679348813)
type FromIntegerSym1 (t_a1qcN :: Nat) = FromInteger t_a1qcN
data SubtractSym0 (l_a1qNG :: TyFun a6989586621679351104 (TyFun a6989586621679351104 a6989586621679351104 -> Type))
data SubtractSym1 (l_a1qNE :: a6989586621679351104) (l_a1qND :: TyFun a6989586621679351104 a6989586621679351104)
type SubtractSym2 (t_a1qNB :: a6989586621679351104) (t_a1qNC :: a6989586621679351104) = Subtract t_a1qNB t_a1qNC


-- | 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_a15DU => POrd (a_a15DU :: Type) where {
    type family Compare (arg_a163Q :: a_a15DU) (arg_a163R :: a_a15DU) :: Ordering;
    type family (:<) (arg_a163Z :: a_a15DU) (arg_a1640 :: a_a15DU) :: Bool;
    type family (:<=) (arg_a1648 :: a_a15DU) (arg_a1649 :: a_a15DU) :: Bool;
    type family (:>) (arg_a164h :: a_a15DU) (arg_a164i :: a_a15DU) :: Bool;
    type family (:>=) (arg_a164q :: a_a15DU) (arg_a164r :: a_a15DU) :: Bool;
    type family Max (arg_a164z :: a_a15DU) (arg_a164A :: a_a15DU) :: a_a15DU;
    type family Min (arg_a164I :: a_a15DU) (arg_a164J :: a_a15DU) :: a_a15DU;
    type Compare a_a165o a_a165p =
        Apply (Apply Compare_6989586621679271520Sym0 a_a165o) a_a165p;
    type (:<) a_a165V a_a165W =
        Apply (Apply TFHelper_6989586621679271553Sym0 a_a165V) a_a165W;
    type (:<=) a_a166s a_a166t =
        Apply (Apply TFHelper_6989586621679271586Sym0 a_a166s) a_a166t;
    type (:>) a_a166Z a_a1670 =
        Apply (Apply TFHelper_6989586621679271619Sym0 a_a166Z) a_a1670;
    type (:>=) a_a167w a_a167x =
        Apply (Apply TFHelper_6989586621679271652Sym0 a_a167w) a_a167x;
    type Max a_a1683 a_a1684 =
        Apply (Apply Max_6989586621679271685Sym0 a_a1683) a_a1684;
    type Min a_a168A a_a168B =
        Apply (Apply Min_6989586621679271718Sym0 a_a168A) a_a168B;
}
class SEq a_a15DU => SOrd a_a15DU
sCompare :: forall (t_a168R :: a_a15DU) (t_a168S :: a_a15DU). SOrd a_a15DU => Sing t_a168R -> Sing t_a168S -> Sing (Apply (Apply CompareSym0 t_a168R) t_a168S :: Ordering)
(%:<) :: forall (t_a168T :: a_a15DU) (t_a168U :: a_a15DU). SOrd a_a15DU => Sing t_a168T -> Sing t_a168U -> Sing (Apply (Apply (:<$) t_a168T) t_a168U :: Bool)
(%:<=) :: forall (t_a168V :: a_a15DU) (t_a168W :: a_a15DU). SOrd a_a15DU => Sing t_a168V -> Sing t_a168W -> Sing (Apply (Apply (:<=$) t_a168V) t_a168W :: Bool)
(%:>) :: forall (t_a168X :: a_a15DU) (t_a168Y :: a_a15DU). SOrd a_a15DU => Sing t_a168X -> Sing t_a168Y -> Sing (Apply (Apply (:>$) t_a168X) t_a168Y :: Bool)
(%:>=) :: forall (t_a168Z :: a_a15DU) (t_a1690 :: a_a15DU). SOrd a_a15DU => Sing t_a168Z -> Sing t_a1690 -> Sing (Apply (Apply (:>=$) t_a168Z) t_a1690 :: Bool)
sMax :: forall (t_a1691 :: a_a15DU) (t_a1692 :: a_a15DU). SOrd a_a15DU => Sing t_a1691 -> Sing t_a1692 -> Sing (Apply (Apply MaxSym0 t_a1691) t_a1692 :: a_a15DU)
sMin :: forall (t_a1693 :: a_a15DU) (t_a1694 :: a_a15DU). SOrd a_a15DU => Sing t_a1693 -> Sing t_a1694 -> Sing (Apply (Apply MinSym0 t_a1693) t_a1694 :: a_a15DU)
sCompare :: forall (t_a168R :: a_a15DU) (t_a168S :: a_a15DU). (SOrd a_a15DU, (Apply (Apply CompareSym0 t_a168R) t_a168S :: Ordering) ~ Apply (Apply Compare_6989586621679271520Sym0 t_a168R) t_a168S) => Sing t_a168R -> Sing t_a168S -> Sing (Apply (Apply CompareSym0 t_a168R) t_a168S :: Ordering)
(%:<) :: forall (t_a168T :: a_a15DU) (t_a168U :: a_a15DU). (SOrd a_a15DU, (Apply (Apply (:<$) t_a168T) t_a168U :: Bool) ~ Apply (Apply TFHelper_6989586621679271553Sym0 t_a168T) t_a168U) => Sing t_a168T -> Sing t_a168U -> Sing (Apply (Apply (:<$) t_a168T) t_a168U :: Bool)
(%:<=) :: forall (t_a168V :: a_a15DU) (t_a168W :: a_a15DU). (SOrd a_a15DU, (Apply (Apply (:<=$) t_a168V) t_a168W :: Bool) ~ Apply (Apply TFHelper_6989586621679271586Sym0 t_a168V) t_a168W) => Sing t_a168V -> Sing t_a168W -> Sing (Apply (Apply (:<=$) t_a168V) t_a168W :: Bool)
(%:>) :: forall (t_a168X :: a_a15DU) (t_a168Y :: a_a15DU). (SOrd a_a15DU, (Apply (Apply (:>$) t_a168X) t_a168Y :: Bool) ~ Apply (Apply TFHelper_6989586621679271619Sym0 t_a168X) t_a168Y) => Sing t_a168X -> Sing t_a168Y -> Sing (Apply (Apply (:>$) t_a168X) t_a168Y :: Bool)
(%:>=) :: forall (t_a168Z :: a_a15DU) (t_a1690 :: a_a15DU). (SOrd a_a15DU, (Apply (Apply (:>=$) t_a168Z) t_a1690 :: Bool) ~ Apply (Apply TFHelper_6989586621679271652Sym0 t_a168Z) t_a1690) => Sing t_a168Z -> Sing t_a1690 -> Sing (Apply (Apply (:>=$) t_a168Z) t_a1690 :: Bool)
sMax :: forall (t_a1691 :: a_a15DU) (t_a1692 :: a_a15DU). (SOrd a_a15DU, (Apply (Apply MaxSym0 t_a1691) t_a1692 :: a_a15DU) ~ Apply (Apply Max_6989586621679271685Sym0 t_a1691) t_a1692) => Sing t_a1691 -> Sing t_a1692 -> Sing (Apply (Apply MaxSym0 t_a1691) t_a1692 :: a_a15DU)
sMin :: forall (t_a1693 :: a_a15DU) (t_a1694 :: a_a15DU). (SOrd a_a15DU, (Apply (Apply MinSym0 t_a1693) t_a1694 :: a_a15DU) ~ Apply (Apply Min_6989586621679271718Sym0 t_a1693) t_a1694) => Sing t_a1693 -> Sing t_a1694 -> Sing (Apply (Apply MinSym0 t_a1693) t_a1694 :: a_a15DU)
sThenCmp :: forall (t_a17Sv :: Ordering) (t_a17Sw :: Ordering). Sing t_a17Sv -> Sing t_a17Sw -> Sing (Apply (Apply ThenCmpSym0 t_a17Sv) t_a17Sw :: Ordering)
sFoldl :: forall (t_aR3n :: TyFun b_aR2p (TyFun a_aR2o b_aR2p -> Type) -> Type) (t_aR3o :: b_aR2p) (t_aR3p :: [a_aR2o]). Sing t_aR3n -> Sing t_aR3o -> Sing t_aR3p -> Sing (Apply (Apply (Apply FoldlSym0 t_aR3n) t_aR3o) t_aR3p :: b_aR2p)

-- | 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_a1oSz :: TyFun k06989586621679342626 k6989586621679342628)
type TrueSym0 = True
type FalseSym0 = False
type LTSym0 = LT
type EQSym0 = EQ
type GTSym0 = GT
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_aO3M :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aO3K :: a3530822107858468865) (l_aO3J :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aO3H :: a3530822107858468865) (t_aO3I :: b3530822107858468866) = '(t_aO3H, t_aO3I)
data Tuple3Sym0 (l_aO4a :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aO48 :: a3530822107858468865) (l_aO47 :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aO44 :: a3530822107858468865) (l_aO45 :: b3530822107858468866) (l_aO43 :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aO40 :: a3530822107858468865) (t_aO41 :: b3530822107858468866) (t_aO42 :: c3530822107858468867) = '(t_aO40, t_aO41, t_aO42)
data Tuple4Sym0 (l_aO4J :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aO4H :: a3530822107858468865) (l_aO4G :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aO4D :: a3530822107858468865) (l_aO4E :: b3530822107858468866) (l_aO4C :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aO4y :: a3530822107858468865) (l_aO4z :: b3530822107858468866) (l_aO4A :: c3530822107858468867) (l_aO4x :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aO4t :: a3530822107858468865) (t_aO4u :: b3530822107858468866) (t_aO4v :: c3530822107858468867) (t_aO4w :: d3530822107858468868) = '(t_aO4t, t_aO4u, t_aO4v, t_aO4w)
data Tuple5Sym0 (l_aO5u :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aO5s :: a3530822107858468865) (l_aO5r :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aO5o :: a3530822107858468865) (l_aO5p :: b3530822107858468866) (l_aO5n :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aO5j :: a3530822107858468865) (l_aO5k :: b3530822107858468866) (l_aO5l :: c3530822107858468867) (l_aO5i :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aO5d :: a3530822107858468865) (l_aO5e :: b3530822107858468866) (l_aO5f :: c3530822107858468867) (l_aO5g :: d3530822107858468868) (l_aO5c :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aO57 :: a3530822107858468865) (t_aO58 :: b3530822107858468866) (t_aO59 :: c3530822107858468867) (t_aO5a :: d3530822107858468868) (t_aO5b :: e3530822107858468869) = '(t_aO57, t_aO58, t_aO59, t_aO5a, t_aO5b)
data Tuple6Sym0 (l_aO6s :: 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_aO6q :: a3530822107858468865) (l_aO6p :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aO6m :: a3530822107858468865) (l_aO6n :: b3530822107858468866) (l_aO6l :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aO6h :: a3530822107858468865) (l_aO6i :: b3530822107858468866) (l_aO6j :: c3530822107858468867) (l_aO6g :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aO6b :: a3530822107858468865) (l_aO6c :: b3530822107858468866) (l_aO6d :: c3530822107858468867) (l_aO6e :: d3530822107858468868) (l_aO6a :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aO64 :: a3530822107858468865) (l_aO65 :: b3530822107858468866) (l_aO66 :: c3530822107858468867) (l_aO67 :: d3530822107858468868) (l_aO68 :: e3530822107858468869) (l_aO63 :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aO5X :: a3530822107858468865) (t_aO5Y :: b3530822107858468866) (t_aO5Z :: c3530822107858468867) (t_aO60 :: d3530822107858468868) (t_aO61 :: e3530822107858468869) (t_aO62 :: f3530822107858468870) = '(t_aO5X, t_aO5Y, t_aO5Z, t_aO60, t_aO61, t_aO62)
data Tuple7Sym0 (l_aO7E :: 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_aO7C :: a3530822107858468865) (l_aO7B :: 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_aO7y :: a3530822107858468865) (l_aO7z :: b3530822107858468866) (l_aO7x :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_aO7t :: a3530822107858468865) (l_aO7u :: b3530822107858468866) (l_aO7v :: c3530822107858468867) (l_aO7s :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_aO7n :: a3530822107858468865) (l_aO7o :: b3530822107858468866) (l_aO7p :: c3530822107858468867) (l_aO7q :: d3530822107858468868) (l_aO7m :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_aO7g :: a3530822107858468865) (l_aO7h :: b3530822107858468866) (l_aO7i :: c3530822107858468867) (l_aO7j :: d3530822107858468868) (l_aO7k :: e3530822107858468869) (l_aO7f :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_aO78 :: a3530822107858468865) (l_aO79 :: b3530822107858468866) (l_aO7a :: c3530822107858468867) (l_aO7b :: d3530822107858468868) (l_aO7c :: e3530822107858468869) (l_aO7d :: f3530822107858468870) (l_aO77 :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_aO70 :: a3530822107858468865) (t_aO71 :: b3530822107858468866) (t_aO72 :: c3530822107858468867) (t_aO73 :: d3530822107858468868) (t_aO74 :: e3530822107858468869) (t_aO75 :: f3530822107858468870) (t_aO76 :: g3530822107858468871) = '(t_aO70, t_aO71, t_aO72, t_aO73, t_aO74, t_aO75, t_aO76)
data CompareSym0 (l_a163X :: TyFun a6989586621679269814 (TyFun a6989586621679269814 Ordering -> Type))
data ThenCmpSym0 (l_a17Sk :: TyFun Ordering (TyFun Ordering Ordering -> Type))
data FoldlSym0 (l_aR2J :: TyFun (TyFun b6989586621679213673 (TyFun a6989586621679213672 b6989586621679213673 -> Type) -> Type) (TyFun b6989586621679213673 (TyFun [a6989586621679213672] b6989586621679213673 -> 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_a1sFT :: (a_a1sEJ, b_a1sEK)). Sing t_a1sFT -> Sing (Apply FstSym0 t_a1sFT :: a_a1sEJ)
sSnd :: forall (t_a1sFS :: (a_a1sEH, b_a1sEI)). Sing t_a1sFS -> Sing (Apply SndSym0 t_a1sFS :: b_a1sEI)
sCurry :: forall (t_a1sFP :: TyFun (a_a1sEE, b_a1sEF) c_a1sEG -> Type) (t_a1sFQ :: a_a1sEE) (t_a1sFR :: b_a1sEF). Sing t_a1sFP -> Sing t_a1sFQ -> Sing t_a1sFR -> Sing (Apply (Apply (Apply CurrySym0 t_a1sFP) t_a1sFQ) t_a1sFR :: c_a1sEG)
sUncurry :: forall (t_a1sFU :: TyFun a_a1sEB (TyFun b_a1sEC c_a1sED -> Type) -> Type) (t_a1sFV :: (a_a1sEB, b_a1sEC)). Sing t_a1sFU -> Sing t_a1sFV -> Sing (Apply (Apply UncurrySym0 t_a1sFU) t_a1sFV :: c_a1sED)
sSwap :: forall (t_a1sFO :: (a_a1sEz, b_a1sEA)). Sing t_a1sFO -> Sing (Apply SwapSym0 t_a1sFO :: (b_a1sEA, a_a1sEz))
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_aO3M :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aO3K :: a3530822107858468865) (l_aO3J :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aO3H :: a3530822107858468865) (t_aO3I :: b3530822107858468866) = '(t_aO3H, t_aO3I)
data Tuple3Sym0 (l_aO4a :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aO48 :: a3530822107858468865) (l_aO47 :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aO44 :: a3530822107858468865) (l_aO45 :: b3530822107858468866) (l_aO43 :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aO40 :: a3530822107858468865) (t_aO41 :: b3530822107858468866) (t_aO42 :: c3530822107858468867) = '(t_aO40, t_aO41, t_aO42)
data Tuple4Sym0 (l_aO4J :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aO4H :: a3530822107858468865) (l_aO4G :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aO4D :: a3530822107858468865) (l_aO4E :: b3530822107858468866) (l_aO4C :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aO4y :: a3530822107858468865) (l_aO4z :: b3530822107858468866) (l_aO4A :: c3530822107858468867) (l_aO4x :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aO4t :: a3530822107858468865) (t_aO4u :: b3530822107858468866) (t_aO4v :: c3530822107858468867) (t_aO4w :: d3530822107858468868) = '(t_aO4t, t_aO4u, t_aO4v, t_aO4w)
data Tuple5Sym0 (l_aO5u :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aO5s :: a3530822107858468865) (l_aO5r :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aO5o :: a3530822107858468865) (l_aO5p :: b3530822107858468866) (l_aO5n :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aO5j :: a3530822107858468865) (l_aO5k :: b3530822107858468866) (l_aO5l :: c3530822107858468867) (l_aO5i :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aO5d :: a3530822107858468865) (l_aO5e :: b3530822107858468866) (l_aO5f :: c3530822107858468867) (l_aO5g :: d3530822107858468868) (l_aO5c :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aO57 :: a3530822107858468865) (t_aO58 :: b3530822107858468866) (t_aO59 :: c3530822107858468867) (t_aO5a :: d3530822107858468868) (t_aO5b :: e3530822107858468869) = '(t_aO57, t_aO58, t_aO59, t_aO5a, t_aO5b)
data Tuple6Sym0 (l_aO6s :: 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_aO6q :: a3530822107858468865) (l_aO6p :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aO6m :: a3530822107858468865) (l_aO6n :: b3530822107858468866) (l_aO6l :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aO6h :: a3530822107858468865) (l_aO6i :: b3530822107858468866) (l_aO6j :: c3530822107858468867) (l_aO6g :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aO6b :: a3530822107858468865) (l_aO6c :: b3530822107858468866) (l_aO6d :: c3530822107858468867) (l_aO6e :: d3530822107858468868) (l_aO6a :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aO64 :: a3530822107858468865) (l_aO65 :: b3530822107858468866) (l_aO66 :: c3530822107858468867) (l_aO67 :: d3530822107858468868) (l_aO68 :: e3530822107858468869) (l_aO63 :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aO5X :: a3530822107858468865) (t_aO5Y :: b3530822107858468866) (t_aO5Z :: c3530822107858468867) (t_aO60 :: d3530822107858468868) (t_aO61 :: e3530822107858468869) (t_aO62 :: f3530822107858468870) = '(t_aO5X, t_aO5Y, t_aO5Z, t_aO60, t_aO61, t_aO62)
data Tuple7Sym0 (l_aO7E :: 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_aO7C :: a3530822107858468865) (l_aO7B :: 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_aO7y :: a3530822107858468865) (l_aO7z :: b3530822107858468866) (l_aO7x :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_aO7t :: a3530822107858468865) (l_aO7u :: b3530822107858468866) (l_aO7v :: c3530822107858468867) (l_aO7s :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_aO7n :: a3530822107858468865) (l_aO7o :: b3530822107858468866) (l_aO7p :: c3530822107858468867) (l_aO7q :: d3530822107858468868) (l_aO7m :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_aO7g :: a3530822107858468865) (l_aO7h :: b3530822107858468866) (l_aO7i :: c3530822107858468867) (l_aO7j :: d3530822107858468868) (l_aO7k :: e3530822107858468869) (l_aO7f :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_aO78 :: a3530822107858468865) (l_aO79 :: b3530822107858468866) (l_aO7a :: c3530822107858468867) (l_aO7b :: d3530822107858468868) (l_aO7c :: e3530822107858468869) (l_aO7d :: f3530822107858468870) (l_aO77 :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_aO70 :: a3530822107858468865) (t_aO71 :: b3530822107858468866) (t_aO72 :: c3530822107858468867) (t_aO73 :: d3530822107858468868) (t_aO74 :: e3530822107858468869) (t_aO75 :: f3530822107858468870) (t_aO76 :: g3530822107858468871) = '(t_aO70, t_aO71, t_aO72, t_aO73, t_aO74, t_aO75, t_aO76)
data FstSym0 (l_a1sFw :: TyFun (a6989586621679358277, b6989586621679358278) a6989586621679358277)
type FstSym1 (t_a1sFv :: (a6989586621679358277, b6989586621679358278)) = Fst t_a1sFv
data SndSym0 (l_a1sFo :: TyFun (a6989586621679358275, b6989586621679358276) b6989586621679358276)
type SndSym1 (t_a1sFn :: (a6989586621679358275, b6989586621679358276)) = Snd t_a1sFn
data CurrySym0 (l_a1sFf :: TyFun (TyFun (a6989586621679358272, b6989586621679358273) c6989586621679358274 -> Type) (TyFun a6989586621679358272 (TyFun b6989586621679358273 c6989586621679358274 -> Type) -> Type))
data CurrySym1 (l_a1sFd :: TyFun (a6989586621679358272, b6989586621679358273) c6989586621679358274 -> Type) (l_a1sFc :: TyFun a6989586621679358272 (TyFun b6989586621679358273 c6989586621679358274 -> Type))
data CurrySym2 (l_a1sF9 :: TyFun (a6989586621679358272, b6989586621679358273) c6989586621679358274 -> Type) (l_a1sFa :: a6989586621679358272) (l_a1sF8 :: TyFun b6989586621679358273 c6989586621679358274)
type CurrySym3 (t_a1sF5 :: TyFun (a6989586621679358272, b6989586621679358273) c6989586621679358274 -> Type) (t_a1sF6 :: a6989586621679358272) (t_a1sF7 :: b6989586621679358273) = Curry t_a1sF5 t_a1sF6 t_a1sF7
data UncurrySym0 (l_a1sFI :: TyFun (TyFun a6989586621679358269 (TyFun b6989586621679358270 c6989586621679358271 -> Type) -> Type) (TyFun (a6989586621679358269, b6989586621679358270) c6989586621679358271 -> Type))
data UncurrySym1 (l_a1sFG :: TyFun a6989586621679358269 (TyFun b6989586621679358270 c6989586621679358271 -> Type) -> Type) (l_a1sFF :: TyFun (a6989586621679358269, b6989586621679358270) c6989586621679358271)
type UncurrySym2 (t_a1sFD :: TyFun a6989586621679358269 (TyFun b6989586621679358270 c6989586621679358271 -> Type) -> Type) (t_a1sFE :: (a6989586621679358269, b6989586621679358270)) = Uncurry t_a1sFD t_a1sFE
data SwapSym0 (l_a1sF0 :: TyFun (a6989586621679358267, b6989586621679358268) (b6989586621679358268, a6989586621679358267))
type SwapSym1 (t_a1sEZ :: (a6989586621679358267, b6989586621679358268)) = Swap t_a1sEZ
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_aO3M :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aO3K :: a3530822107858468865) (l_aO3J :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aO3H :: a3530822107858468865) (t_aO3I :: b3530822107858468866) = '(t_aO3H, t_aO3I)
data Tuple3Sym0 (l_aO4a :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aO48 :: a3530822107858468865) (l_aO47 :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aO44 :: a3530822107858468865) (l_aO45 :: b3530822107858468866) (l_aO43 :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aO40 :: a3530822107858468865) (t_aO41 :: b3530822107858468866) (t_aO42 :: c3530822107858468867) = '(t_aO40, t_aO41, t_aO42)
data Tuple4Sym0 (l_aO4J :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aO4H :: a3530822107858468865) (l_aO4G :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aO4D :: a3530822107858468865) (l_aO4E :: b3530822107858468866) (l_aO4C :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aO4y :: a3530822107858468865) (l_aO4z :: b3530822107858468866) (l_aO4A :: c3530822107858468867) (l_aO4x :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aO4t :: a3530822107858468865) (t_aO4u :: b3530822107858468866) (t_aO4v :: c3530822107858468867) (t_aO4w :: d3530822107858468868) = '(t_aO4t, t_aO4u, t_aO4v, t_aO4w)
data Tuple5Sym0 (l_aO5u :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aO5s :: a3530822107858468865) (l_aO5r :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aO5o :: a3530822107858468865) (l_aO5p :: b3530822107858468866) (l_aO5n :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aO5j :: a3530822107858468865) (l_aO5k :: b3530822107858468866) (l_aO5l :: c3530822107858468867) (l_aO5i :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aO5d :: a3530822107858468865) (l_aO5e :: b3530822107858468866) (l_aO5f :: c3530822107858468867) (l_aO5g :: d3530822107858468868) (l_aO5c :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aO57 :: a3530822107858468865) (t_aO58 :: b3530822107858468866) (t_aO59 :: c3530822107858468867) (t_aO5a :: d3530822107858468868) (t_aO5b :: e3530822107858468869) = '(t_aO57, t_aO58, t_aO59, t_aO5a, t_aO5b)
data Tuple6Sym0 (l_aO6s :: 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_aO6q :: a3530822107858468865) (l_aO6p :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aO6m :: a3530822107858468865) (l_aO6n :: b3530822107858468866) (l_aO6l :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aO6h :: a3530822107858468865) (l_aO6i :: b3530822107858468866) (l_aO6j :: c3530822107858468867) (l_aO6g :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aO6b :: a3530822107858468865) (l_aO6c :: b3530822107858468866) (l_aO6d :: c3530822107858468867) (l_aO6e :: d3530822107858468868) (l_aO6a :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aO64 :: a3530822107858468865) (l_aO65 :: b3530822107858468866) (l_aO66 :: c3530822107858468867) (l_aO67 :: d3530822107858468868) (l_aO68 :: e3530822107858468869) (l_aO63 :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aO5X :: a3530822107858468865) (t_aO5Y :: b3530822107858468866) (t_aO5Z :: c3530822107858468867) (t_aO60 :: d3530822107858468868) (t_aO61 :: e3530822107858468869) (t_aO62 :: f3530822107858468870) = '(t_aO5X, t_aO5Y, t_aO5Z, t_aO60, t_aO61, t_aO62)
data Tuple7Sym0 (l_aO7E :: 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_aO7C :: a3530822107858468865) (l_aO7B :: 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_aO7y :: a3530822107858468865) (l_aO7z :: b3530822107858468866) (l_aO7x :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_aO7t :: a3530822107858468865) (l_aO7u :: b3530822107858468866) (l_aO7v :: c3530822107858468867) (l_aO7s :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_aO7n :: a3530822107858468865) (l_aO7o :: b3530822107858468866) (l_aO7p :: c3530822107858468867) (l_aO7q :: d3530822107858468868) (l_aO7m :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_aO7g :: a3530822107858468865) (l_aO7h :: b3530822107858468866) (l_aO7i :: c3530822107858468867) (l_aO7j :: d3530822107858468868) (l_aO7k :: e3530822107858468869) (l_aO7f :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_aO78 :: a3530822107858468865) (l_aO79 :: b3530822107858468866) (l_aO7a :: c3530822107858468867) (l_aO7b :: d3530822107858468868) (l_aO7c :: e3530822107858468869) (l_aO7d :: f3530822107858468870) (l_aO77 :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_aO70 :: a3530822107858468865) (t_aO71 :: b3530822107858468866) (t_aO72 :: c3530822107858468867) (t_aO73 :: d3530822107858468868) (t_aO74 :: e3530822107858468869) (t_aO75 :: f3530822107858468870) (t_aO76 :: g3530822107858468871) = '(t_aO70, t_aO71, t_aO72, t_aO73, t_aO74, t_aO75, t_aO76)
data FstSym0 (l_a1sFw :: TyFun (a6989586621679358277, b6989586621679358278) a6989586621679358277)
type FstSym1 (t_a1sFv :: (a6989586621679358277, b6989586621679358278)) = Fst t_a1sFv
data SndSym0 (l_a1sFo :: TyFun (a6989586621679358275, b6989586621679358276) b6989586621679358276)
type SndSym1 (t_a1sFn :: (a6989586621679358275, b6989586621679358276)) = Snd t_a1sFn
data CurrySym0 (l_a1sFf :: TyFun (TyFun (a6989586621679358272, b6989586621679358273) c6989586621679358274 -> Type) (TyFun a6989586621679358272 (TyFun b6989586621679358273 c6989586621679358274 -> Type) -> Type))
data CurrySym1 (l_a1sFd :: TyFun (a6989586621679358272, b6989586621679358273) c6989586621679358274 -> Type) (l_a1sFc :: TyFun a6989586621679358272 (TyFun b6989586621679358273 c6989586621679358274 -> Type))
data CurrySym2 (l_a1sF9 :: TyFun (a6989586621679358272, b6989586621679358273) c6989586621679358274 -> Type) (l_a1sFa :: a6989586621679358272) (l_a1sF8 :: TyFun b6989586621679358273 c6989586621679358274)
type CurrySym3 (t_a1sF5 :: TyFun (a6989586621679358272, b6989586621679358273) c6989586621679358274 -> Type) (t_a1sF6 :: a6989586621679358272) (t_a1sF7 :: b6989586621679358273) = Curry t_a1sF5 t_a1sF6 t_a1sF7
data UncurrySym0 (l_a1sFI :: TyFun (TyFun a6989586621679358269 (TyFun b6989586621679358270 c6989586621679358271 -> Type) -> Type) (TyFun (a6989586621679358269, b6989586621679358270) c6989586621679358271 -> Type))
data UncurrySym1 (l_a1sFG :: TyFun a6989586621679358269 (TyFun b6989586621679358270 c6989586621679358271 -> Type) -> Type) (l_a1sFF :: TyFun (a6989586621679358269, b6989586621679358270) c6989586621679358271)
type UncurrySym2 (t_a1sFD :: TyFun a6989586621679358269 (TyFun b6989586621679358270 c6989586621679358271 -> Type) -> Type) (t_a1sFE :: (a6989586621679358269, b6989586621679358270)) = Uncurry t_a1sFD t_a1sFE
data SwapSym0 (l_a1sF0 :: TyFun (a6989586621679358267, b6989586621679358268) (b6989586621679358268, a6989586621679358267))
type SwapSym1 (t_a1sEZ :: (a6989586621679358267, b6989586621679358268)) = Swap t_a1sEZ


-- | 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_a1tu9 -> (a_a1tua -> b_a1tu9) -> Maybe a_a1tua -> b_a1tu9
sMaybe_ :: forall (t_a1tuD :: b_a1tu9) (t_a1tuE :: TyFun a_a1tua b_a1tu9 -> Type) (t_a1tuF :: Maybe a_a1tua). Sing t_a1tuD -> Sing t_a1tuE -> Sing t_a1tuF -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a1tuD) t_a1tuE) t_a1tuF :: b_a1tu9)
sIsJust :: forall (t_a1tOf :: Maybe a_a1tM6). Sing t_a1tOf -> Sing (Apply IsJustSym0 t_a1tOf :: Bool)
sIsNothing :: forall (t_a1tOe :: Maybe a_a1tM5). Sing t_a1tOe -> Sing (Apply IsNothingSym0 t_a1tOe :: Bool)
sFromJust :: forall (t_a1tOd :: Maybe a_a1tM4). Sing t_a1tOd -> Sing (Apply FromJustSym0 t_a1tOd :: a_a1tM4)
sFromMaybe :: forall (t_a1tOb :: a_a1tM3) (t_a1tOc :: Maybe a_a1tM3). Sing t_a1tOb -> Sing t_a1tOc -> Sing (Apply (Apply FromMaybeSym0 t_a1tOb) t_a1tOc :: a_a1tM3)
sListToMaybe :: forall (t_a1tO9 :: [a_a1tM1]). Sing t_a1tO9 -> Sing (Apply ListToMaybeSym0 t_a1tO9 :: Maybe a_a1tM1)
sMaybeToList :: forall (t_a1tOa :: Maybe a_a1tM2). Sing t_a1tOa -> Sing (Apply MaybeToListSym0 t_a1tOa :: [a_a1tM2])
sCatMaybes :: forall (t_a1tO8 :: [Maybe a_a1tM0]). Sing t_a1tO8 -> Sing (Apply CatMaybesSym0 t_a1tO8 :: [a_a1tM0])
sMapMaybe :: forall (t_a1tO6 :: TyFun a_a1tLY (Maybe b_a1tLZ) -> Type) (t_a1tO7 :: [a_a1tLY]). Sing t_a1tO6 -> Sing t_a1tO7 -> Sing (Apply (Apply MapMaybeSym0 t_a1tO6) t_a1tO7 :: [b_a1tLZ])
type NothingSym0 = Nothing
data JustSym0 (l_aO2J :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_aO2I :: a3530822107858468865) = Just t_aO2I
data Maybe_Sym0 (l_a1tup :: TyFun b6989586621679361465 (TyFun (TyFun a6989586621679361466 b6989586621679361465 -> Type) (TyFun (Maybe a6989586621679361466) b6989586621679361465 -> Type) -> Type))
data Maybe_Sym1 (l_a1tun :: b6989586621679361465) (l_a1tum :: TyFun (TyFun a6989586621679361466 b6989586621679361465 -> Type) (TyFun (Maybe a6989586621679361466) b6989586621679361465 -> Type))
data Maybe_Sym2 (l_a1tuj :: b6989586621679361465) (l_a1tuk :: TyFun a6989586621679361466 b6989586621679361465 -> Type) (l_a1tui :: TyFun (Maybe a6989586621679361466) b6989586621679361465)
type Maybe_Sym3 (t_a1tuf :: b6989586621679361465) (t_a1tug :: TyFun a6989586621679361466 b6989586621679361465 -> Type) (t_a1tuh :: Maybe a6989586621679361466) = Maybe_ t_a1tuf t_a1tug t_a1tuh
data IsJustSym0 (l_a1tO0 :: TyFun (Maybe a6989586621679362578) Bool)
type IsJustSym1 (t_a1tNZ :: Maybe a6989586621679362578) = IsJust t_a1tNZ
data IsNothingSym0 (l_a1tNT :: TyFun (Maybe a6989586621679362577) Bool)
type IsNothingSym1 (t_a1tNS :: Maybe a6989586621679362577) = IsNothing t_a1tNS
data FromJustSym0 (l_a1tNO :: TyFun (Maybe a6989586621679362576) a6989586621679362576)
type FromJustSym1 (t_a1tNN :: Maybe a6989586621679362576) = FromJust t_a1tNN
data FromMaybeSym0 (l_a1tND :: TyFun a6989586621679362575 (TyFun (Maybe a6989586621679362575) a6989586621679362575 -> Type))
data FromMaybeSym1 (l_a1tNB :: a6989586621679362575) (l_a1tNA :: TyFun (Maybe a6989586621679362575) a6989586621679362575)
type FromMaybeSym2 (t_a1tNy :: a6989586621679362575) (t_a1tNz :: Maybe a6989586621679362575) = FromMaybe t_a1tNy t_a1tNz
data ListToMaybeSym0 (l_a1tNm :: TyFun [a6989586621679362573] (Maybe a6989586621679362573))
type ListToMaybeSym1 (t_a1tNl :: [a6989586621679362573]) = ListToMaybe t_a1tNl
data MaybeToListSym0 (l_a1tNu :: TyFun (Maybe a6989586621679362574) [a6989586621679362574])
type MaybeToListSym1 (t_a1tNt :: Maybe a6989586621679362574) = MaybeToList t_a1tNt
data CatMaybesSym0 (l_a1tNf :: TyFun [Maybe a6989586621679362572] [a6989586621679362572])
type CatMaybesSym1 (t_a1tNe :: [Maybe a6989586621679362572]) = CatMaybes t_a1tNe
data MapMaybeSym0 (l_a1tMA :: TyFun (TyFun a6989586621679362570 (Maybe b6989586621679362571) -> Type) (TyFun [a6989586621679362570] [b6989586621679362571] -> Type))
data MapMaybeSym1 (l_a1tMy :: TyFun a6989586621679362570 (Maybe b6989586621679362571) -> Type) (l_a1tMx :: TyFun [a6989586621679362570] [b6989586621679362571])
type MapMaybeSym2 (t_a1tMv :: TyFun a6989586621679362570 (Maybe b6989586621679362571) -> Type) (t_a1tMw :: [a6989586621679362570]) = MapMaybe t_a1tMv t_a1tMw
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.Let6989586621679362618RsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679362618RsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679362618RsSym2
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.Let6989586621679362631Scrutinee_6989586621679362601Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679362631Scrutinee_6989586621679362601Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679362631Scrutinee_6989586621679362601Sym2
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_a1tu9 -> (a_a1tua -> b_a1tu9) -> Maybe a_a1tua -> b_a1tu9
type NothingSym0 = Nothing
data JustSym0 (l_aO2J :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_aO2I :: a3530822107858468865) = Just t_aO2I
data Maybe_Sym0 (l_a1tup :: TyFun b6989586621679361465 (TyFun (TyFun a6989586621679361466 b6989586621679361465 -> Type) (TyFun (Maybe a6989586621679361466) b6989586621679361465 -> Type) -> Type))
data Maybe_Sym1 (l_a1tun :: b6989586621679361465) (l_a1tum :: TyFun (TyFun a6989586621679361466 b6989586621679361465 -> Type) (TyFun (Maybe a6989586621679361466) b6989586621679361465 -> Type))
data Maybe_Sym2 (l_a1tuj :: b6989586621679361465) (l_a1tuk :: TyFun a6989586621679361466 b6989586621679361465 -> Type) (l_a1tui :: TyFun (Maybe a6989586621679361466) b6989586621679361465)
type Maybe_Sym3 (t_a1tuf :: b6989586621679361465) (t_a1tug :: TyFun a6989586621679361466 b6989586621679361465 -> Type) (t_a1tuh :: Maybe a6989586621679361466) = Maybe_ t_a1tuf t_a1tug t_a1tuh
data IsJustSym0 (l_a1tO0 :: TyFun (Maybe a6989586621679362578) Bool)
type IsJustSym1 (t_a1tNZ :: Maybe a6989586621679362578) = IsJust t_a1tNZ
data IsNothingSym0 (l_a1tNT :: TyFun (Maybe a6989586621679362577) Bool)
type IsNothingSym1 (t_a1tNS :: Maybe a6989586621679362577) = IsNothing t_a1tNS
data FromJustSym0 (l_a1tNO :: TyFun (Maybe a6989586621679362576) a6989586621679362576)
type FromJustSym1 (t_a1tNN :: Maybe a6989586621679362576) = FromJust t_a1tNN
data FromMaybeSym0 (l_a1tND :: TyFun a6989586621679362575 (TyFun (Maybe a6989586621679362575) a6989586621679362575 -> Type))
data FromMaybeSym1 (l_a1tNB :: a6989586621679362575) (l_a1tNA :: TyFun (Maybe a6989586621679362575) a6989586621679362575)
type FromMaybeSym2 (t_a1tNy :: a6989586621679362575) (t_a1tNz :: Maybe a6989586621679362575) = FromMaybe t_a1tNy t_a1tNz
data MaybeToListSym0 (l_a1tNu :: TyFun (Maybe a6989586621679362574) [a6989586621679362574])
type MaybeToListSym1 (t_a1tNt :: Maybe a6989586621679362574) = MaybeToList t_a1tNt
data ListToMaybeSym0 (l_a1tNm :: TyFun [a6989586621679362573] (Maybe a6989586621679362573))
type ListToMaybeSym1 (t_a1tNl :: [a6989586621679362573]) = ListToMaybe t_a1tNl
data CatMaybesSym0 (l_a1tNf :: TyFun [Maybe a6989586621679362572] [a6989586621679362572])
type CatMaybesSym1 (t_a1tNe :: [Maybe a6989586621679362572]) = CatMaybes t_a1tNe
data MapMaybeSym0 (l_a1tMA :: TyFun (TyFun a6989586621679362570 (Maybe b6989586621679362571) -> Type) (TyFun [a6989586621679362570] [b6989586621679362571] -> Type))
data MapMaybeSym1 (l_a1tMy :: TyFun a6989586621679362570 (Maybe b6989586621679362571) -> Type) (l_a1tMx :: TyFun [a6989586621679362570] [b6989586621679362571])
type MapMaybeSym2 (t_a1tMv :: TyFun a6989586621679362570 (Maybe b6989586621679362571) -> Type) (t_a1tMw :: [a6989586621679362570]) = MapMaybe t_a1tMv t_a1tMw


-- | 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_agB1 b_agB2 -> Type)
either_ :: (a_a1vBb -> c_a1vBc) -> (b_a1vBd -> c_a1vBc) -> Either a_a1vBb b_a1vBd -> c_a1vBc
sEither_ :: forall (t_a1vBI :: TyFun a_a1vBb c_a1vBc -> Type) (t_a1vBJ :: TyFun b_a1vBd c_a1vBc -> Type) (t_a1vBK :: Either a_a1vBb b_a1vBd). Sing t_a1vBI -> Sing t_a1vBJ -> Sing t_a1vBK -> Sing (Apply (Apply (Apply Either_Sym0 t_a1vBI) t_a1vBJ) t_a1vBK :: c_a1vBc)
sLefts :: forall (t_a1vUQ :: [Either a_a1vT7 b_a1vT8]). Sing t_a1vUQ -> Sing (Apply LeftsSym0 t_a1vUQ :: [a_a1vT7])
sRights :: forall (t_a1vUP :: [Either a_a1vT5 b_a1vT6]). Sing t_a1vUP -> Sing (Apply RightsSym0 t_a1vUP :: [b_a1vT6])
sPartitionEithers :: forall (t_a1vUO :: [Either a_a1vT3 b_a1vT4]). Sing t_a1vUO -> Sing (Apply PartitionEithersSym0 t_a1vUO :: ([a_a1vT3], [b_a1vT4]))
sIsLeft :: forall (t_a1vUN :: Either a_a1vT1 b_a1vT2). Sing t_a1vUN -> Sing (Apply IsLeftSym0 t_a1vUN :: Bool)
sIsRight :: forall (t_a1vUM :: Either a_a1vSZ b_a1vT0). Sing t_a1vUM -> Sing (Apply IsRightSym0 t_a1vUM :: Bool)
data LeftSym0 (l_aO3a :: TyFun a6989586621679073591 (Either a6989586621679073591 b6989586621679073592))
type LeftSym1 (t_aO39 :: a6989586621679073591) = Left t_aO39
data RightSym0 (l_aO3d :: TyFun b6989586621679073592 (Either a6989586621679073591 b6989586621679073592))
type RightSym1 (t_aO3c :: b6989586621679073592) = Right t_aO3c
data Either_Sym0 (l_a1vBt :: TyFun (TyFun a6989586621679369589 c6989586621679369590 -> Type) (TyFun (TyFun b6989586621679369591 c6989586621679369590 -> Type) (TyFun (Either a6989586621679369589 b6989586621679369591) c6989586621679369590 -> Type) -> Type))
data Either_Sym1 (l_a1vBr :: TyFun a6989586621679369589 c6989586621679369590 -> Type) (l_a1vBq :: TyFun (TyFun b6989586621679369591 c6989586621679369590 -> Type) (TyFun (Either a6989586621679369589 b6989586621679369591) c6989586621679369590 -> Type))
data Either_Sym2 (l_a1vBn :: TyFun a6989586621679369589 c6989586621679369590 -> Type) (l_a1vBo :: TyFun b6989586621679369591 c6989586621679369590 -> Type) (l_a1vBm :: TyFun (Either a6989586621679369589 b6989586621679369591) c6989586621679369590)
type Either_Sym3 (t_a1vBj :: TyFun a6989586621679369589 c6989586621679369590 -> Type) (t_a1vBk :: TyFun b6989586621679369591 c6989586621679369590 -> Type) (t_a1vBl :: Either a6989586621679369589 b6989586621679369591) = Either_ t_a1vBj t_a1vBk t_a1vBl
data LeftsSym0 (l_a1vUD :: TyFun [Either a6989586621679370701 b6989586621679370702] [a6989586621679370701])
type LeftsSym1 (t_a1vUC :: [Either a6989586621679370701 b6989586621679370702]) = Lefts t_a1vUC
data RightsSym0 (l_a1vUt :: TyFun [Either a6989586621679370699 b6989586621679370700] [b6989586621679370700])
type RightsSym1 (t_a1vUs :: [Either a6989586621679370699 b6989586621679370700]) = Rights t_a1vUs
data IsLeftSym0 (l_a1vTD :: TyFun (Either a6989586621679370695 b6989586621679370696) Bool)
type IsLeftSym1 (t_a1vTC :: Either a6989586621679370695 b6989586621679370696) = IsLeft t_a1vTC
data IsRightSym0 (l_a1vTt :: TyFun (Either a6989586621679370693 b6989586621679370694) Bool)
type IsRightSym1 (t_a1vTs :: Either a6989586621679370693 b6989586621679370694) = IsRight t_a1vTs
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.Let6989586621679370749LeftSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679370749LeftSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679370749LeftSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679370749RightSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679370749RightSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621679370749RightSym2
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_a1vBb -> c_a1vBc) -> (b_a1vBd -> c_a1vBc) -> Either a_a1vBb b_a1vBd -> c_a1vBc
data LeftSym0 (l_aO3a :: TyFun a6989586621679073591 (Either a6989586621679073591 b6989586621679073592))
type LeftSym1 (t_aO39 :: a6989586621679073591) = Left t_aO39
data RightSym0 (l_aO3d :: TyFun b6989586621679073592 (Either a6989586621679073591 b6989586621679073592))
type RightSym1 (t_aO3c :: b6989586621679073592) = Right t_aO3c
data Either_Sym0 (l_a1vBt :: TyFun (TyFun a6989586621679369589 c6989586621679369590 -> Type) (TyFun (TyFun b6989586621679369591 c6989586621679369590 -> Type) (TyFun (Either a6989586621679369589 b6989586621679369591) c6989586621679369590 -> Type) -> Type))
data Either_Sym1 (l_a1vBr :: TyFun a6989586621679369589 c6989586621679369590 -> Type) (l_a1vBq :: TyFun (TyFun b6989586621679369591 c6989586621679369590 -> Type) (TyFun (Either a6989586621679369589 b6989586621679369591) c6989586621679369590 -> Type))
data Either_Sym2 (l_a1vBn :: TyFun a6989586621679369589 c6989586621679369590 -> Type) (l_a1vBo :: TyFun b6989586621679369591 c6989586621679369590 -> Type) (l_a1vBm :: TyFun (Either a6989586621679369589 b6989586621679369591) c6989586621679369590)
type Either_Sym3 (t_a1vBj :: TyFun a6989586621679369589 c6989586621679369590 -> Type) (t_a1vBk :: TyFun b6989586621679369591 c6989586621679369590 -> Type) (t_a1vBl :: Either a6989586621679369589 b6989586621679369591) = Either_ t_a1vBj t_a1vBk t_a1vBl
data LeftsSym0 (l_a1vUD :: TyFun [Either a6989586621679370701 b6989586621679370702] [a6989586621679370701])
type LeftsSym1 (t_a1vUC :: [Either a6989586621679370701 b6989586621679370702]) = Lefts t_a1vUC
data RightsSym0 (l_a1vUt :: TyFun [Either a6989586621679370699 b6989586621679370700] [b6989586621679370700])
type RightsSym1 (t_a1vUs :: [Either a6989586621679370699 b6989586621679370700]) = Rights t_a1vUs
data IsLeftSym0 (l_a1vTD :: TyFun (Either a6989586621679370695 b6989586621679370696) Bool)
type IsLeftSym1 (t_a1vTC :: Either a6989586621679370695 b6989586621679370696) = IsLeft t_a1vTC
data IsRightSym0 (l_a1vTt :: TyFun (Either a6989586621679370693 b6989586621679370694) Bool)
type IsRightSym1 (t_a1vTs :: Either a6989586621679370693 b6989586621679370694) = IsRight t_a1vTs


-- | 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_aYYW :: TyFun (TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (TyFun b6989586621679244035 (TyFun [a6989586621679244034] b6989586621679244035 -> Type) -> Type))
data FoldrSym1 (l_aYYU :: TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (l_aYYT :: TyFun b6989586621679244035 (TyFun [a6989586621679244034] b6989586621679244035 -> Type))
data FoldrSym2 (l_aYYQ :: TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (l_aYYR :: b6989586621679244035) (l_aYYP :: TyFun [a6989586621679244034] b6989586621679244035)
type FoldrSym3 (t_aYYM :: TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (t_aYYN :: b6989586621679244035) (t_aYYO :: [a6989586621679244034]) = Foldr t_aYYM t_aYYN t_aYYO
data MapSym0 (l_aYYC :: TyFun (TyFun a6989586621679244032 b6989586621679244033 -> Type) (TyFun [a6989586621679244032] [b6989586621679244033] -> Type))
data MapSym1 (l_aYYA :: TyFun a6989586621679244032 b6989586621679244033 -> Type) (l_aYYz :: TyFun [a6989586621679244032] [b6989586621679244033])
type MapSym2 (t_aYYx :: TyFun a6989586621679244032 b6989586621679244033 -> Type) (t_aYYy :: [a6989586621679244032]) = Map t_aYYx t_aYYy
data (:++$) (l_aYYp :: TyFun [a6989586621679244031] (TyFun [a6989586621679244031] [a6989586621679244031] -> Type))
data (:++$$) (l_aYYn :: [a6989586621679244031]) (l_aYYm :: TyFun [a6989586621679244031] [a6989586621679244031])
type (:++$$$) (t_aYYk :: [a6989586621679244031]) (t_aYYl :: [a6989586621679244031]) = (:++) t_aYYk t_aYYl
type OtherwiseSym0 = Otherwise
data IdSym0 (l_aYYg :: TyFun a6989586621679244030 a6989586621679244030)
type IdSym1 (t_aYYf :: a6989586621679244030) = Id t_aYYf
data ConstSym0 (l_aYXS :: TyFun a6989586621679244028 (TyFun b6989586621679244029 a6989586621679244028 -> Type))
data ConstSym1 (l_aYXQ :: a6989586621679244028) (l_aYXP :: TyFun b6989586621679244029 a6989586621679244028)
type ConstSym2 (t_aYXN :: a6989586621679244028) (t_aYXO :: b6989586621679244029) = Const t_aYXN t_aYXO
data (:.$) (l_aYXh :: TyFun (TyFun b6989586621679244025 c6989586621679244026 -> Type) (TyFun (TyFun a6989586621679244027 b6989586621679244025 -> Type) (TyFun a6989586621679244027 c6989586621679244026 -> Type) -> Type))
data (:.$$) (l_aYXf :: TyFun b6989586621679244025 c6989586621679244026 -> Type) (l_aYXe :: TyFun (TyFun a6989586621679244027 b6989586621679244025 -> Type) (TyFun a6989586621679244027 c6989586621679244026 -> Type))
data (:.$$$) (l_aYXb :: TyFun b6989586621679244025 c6989586621679244026 -> Type) (l_aYXc :: TyFun a6989586621679244027 b6989586621679244025 -> Type) (l_aYXa :: TyFun a6989586621679244027 c6989586621679244026)
type (:.$$$$) (t_aYX7 :: TyFun b6989586621679244025 c6989586621679244026 -> Type) (t_aYX8 :: TyFun a6989586621679244027 b6989586621679244025 -> Type) (t_aYX9 :: a6989586621679244027) = (:.) t_aYX7 t_aYX8 t_aYX9
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_aYWZ :: TyFun (TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (TyFun b6989586621679244023 (TyFun a6989586621679244022 c6989586621679244024 -> Type) -> Type))
data FlipSym1 (l_aYWX :: TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (l_aYWW :: TyFun b6989586621679244023 (TyFun a6989586621679244022 c6989586621679244024 -> Type))
data FlipSym2 (l_aYWT :: TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (l_aYWU :: b6989586621679244023) (l_aYWS :: TyFun a6989586621679244022 c6989586621679244024)
type FlipSym3 (t_aYWP :: TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (t_aYWQ :: b6989586621679244023) (t_aYWR :: a6989586621679244022) = Flip t_aYWP t_aYWQ t_aYWR
data UntilSym0 (l_a1xCN :: TyFun (TyFun a6989586621679377359 Bool -> Type) (TyFun (TyFun a6989586621679377359 a6989586621679377359 -> Type) (TyFun a6989586621679377359 a6989586621679377359 -> Type) -> Type))
data UntilSym1 (l_a1xCL :: TyFun a6989586621679377359 Bool -> Type) (l_a1xCK :: TyFun (TyFun a6989586621679377359 a6989586621679377359 -> Type) (TyFun a6989586621679377359 a6989586621679377359 -> Type))
data UntilSym2 (l_a1xCH :: TyFun a6989586621679377359 Bool -> Type) (l_a1xCI :: TyFun a6989586621679377359 a6989586621679377359 -> Type) (l_a1xCG :: TyFun a6989586621679377359 a6989586621679377359)
type UntilSym3 (t_a1xCD :: TyFun a6989586621679377359 Bool -> Type) (t_a1xCE :: TyFun a6989586621679377359 a6989586621679377359 -> Type) (t_a1xCF :: a6989586621679377359) = Until t_a1xCD t_a1xCE t_a1xCF
data AsTypeOfSym0 (l_aYY9 :: TyFun a6989586621679244021 (TyFun a6989586621679244021 a6989586621679244021 -> Type))
data AsTypeOfSym1 (l_aYY7 :: a6989586621679244021) (l_aYY6 :: TyFun a6989586621679244021 a6989586621679244021)
type AsTypeOfSym2 (t_aYY4 :: a6989586621679244021) (t_aYY5 :: a6989586621679244021) = AsTypeOf t_aYY4 t_aYY5
data SeqSym0 (l_aYWH :: TyFun a6989586621679244019 (TyFun b6989586621679244020 b6989586621679244020 -> Type))
data SeqSym1 (l_aYWF :: a6989586621679244019) (l_aYWE :: TyFun b6989586621679244020 b6989586621679244020)
type SeqSym2 (t_aYWC :: a6989586621679244019) (t_aYWD :: b6989586621679244020) = Seq t_aYWC t_aYWD
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.Let6989586621679377387GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.Let6989586621679377387GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.Let6989586621679377387GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Promotion.Prelude.Base.Let6989586621679377387GoSym3


-- | Provides promoted definitions related to type-level comparisons.
module Data.Promotion.Prelude.Ord
class PEq a_a15DU => POrd (a_a15DU :: Type) where {
    type family Compare (arg_a163Q :: a_a15DU) (arg_a163R :: a_a15DU) :: Ordering;
    type family (:<) (arg_a163Z :: a_a15DU) (arg_a1640 :: a_a15DU) :: Bool;
    type family (:<=) (arg_a1648 :: a_a15DU) (arg_a1649 :: a_a15DU) :: Bool;
    type family (:>) (arg_a164h :: a_a15DU) (arg_a164i :: a_a15DU) :: Bool;
    type family (:>=) (arg_a164q :: a_a15DU) (arg_a164r :: a_a15DU) :: Bool;
    type family Max (arg_a164z :: a_a15DU) (arg_a164A :: a_a15DU) :: a_a15DU;
    type family Min (arg_a164I :: a_a15DU) (arg_a164J :: a_a15DU) :: a_a15DU;
    type Compare a_a165o a_a165p =
        Apply (Apply Compare_6989586621679271520Sym0 a_a165o) a_a165p;
    type (:<) a_a165V a_a165W =
        Apply (Apply TFHelper_6989586621679271553Sym0 a_a165V) a_a165W;
    type (:<=) a_a166s a_a166t =
        Apply (Apply TFHelper_6989586621679271586Sym0 a_a166s) a_a166t;
    type (:>) a_a166Z a_a1670 =
        Apply (Apply TFHelper_6989586621679271619Sym0 a_a166Z) a_a1670;
    type (:>=) a_a167w a_a167x =
        Apply (Apply TFHelper_6989586621679271652Sym0 a_a167w) a_a167x;
    type Max a_a1683 a_a1684 =
        Apply (Apply Max_6989586621679271685Sym0 a_a1683) a_a1684;
    type Min a_a168A a_a168B =
        Apply (Apply Min_6989586621679271718Sym0 a_a168A) a_a168B;
}
type LTSym0 = LT
type EQSym0 = EQ
type GTSym0 = GT
data CompareSym0 (l_a163X :: TyFun a6989586621679269814 (TyFun a6989586621679269814 Ordering -> Type))
data CompareSym1 (l_a163V :: a6989586621679269814) (l_a163U :: TyFun a6989586621679269814 Ordering)
type CompareSym2 (t_a163S :: a6989586621679269814) (t_a163T :: a6989586621679269814) = Compare t_a163S t_a163T
data (:<$) (l_a1646 :: TyFun a6989586621679269814 (TyFun a6989586621679269814 Bool -> Type))
data (:<$$) (l_a1644 :: a6989586621679269814) (l_a1643 :: TyFun a6989586621679269814 Bool)
type (:<$$$) (t_a1641 :: a6989586621679269814) (t_a1642 :: a6989586621679269814) = (:<) t_a1641 t_a1642
data (:<=$) (l_a164f :: TyFun a6989586621679269814 (TyFun a6989586621679269814 Bool -> Type))
data (:<=$$) (l_a164d :: a6989586621679269814) (l_a164c :: TyFun a6989586621679269814 Bool)
type (:<=$$$) (t_a164a :: a6989586621679269814) (t_a164b :: a6989586621679269814) = (:<=) t_a164a t_a164b
data (:>$) (l_a164o :: TyFun a6989586621679269814 (TyFun a6989586621679269814 Bool -> Type))
data (:>$$) (l_a164m :: a6989586621679269814) (l_a164l :: TyFun a6989586621679269814 Bool)
type (:>$$$) (t_a164j :: a6989586621679269814) (t_a164k :: a6989586621679269814) = (:>) t_a164j t_a164k
data (:>=$) (l_a164x :: TyFun a6989586621679269814 (TyFun a6989586621679269814 Bool -> Type))
data (:>=$$) (l_a164v :: a6989586621679269814) (l_a164u :: TyFun a6989586621679269814 Bool)
type (:>=$$$) (t_a164s :: a6989586621679269814) (t_a164t :: a6989586621679269814) = (:>=) t_a164s t_a164t
data MaxSym0 (l_a164G :: TyFun a6989586621679269814 (TyFun a6989586621679269814 a6989586621679269814 -> Type))
data MaxSym1 (l_a164E :: a6989586621679269814) (l_a164D :: TyFun a6989586621679269814 a6989586621679269814)
type MaxSym2 (t_a164B :: a6989586621679269814) (t_a164C :: a6989586621679269814) = Max t_a164B t_a164C
data MinSym0 (l_a164P :: TyFun a6989586621679269814 (TyFun a6989586621679269814 a6989586621679269814 -> Type))
data MinSym1 (l_a164N :: a6989586621679269814) (l_a164M :: TyFun a6989586621679269814 a6989586621679269814)
type MinSym2 (t_a164K :: a6989586621679269814) (t_a164L :: a6989586621679269814) = Min t_a164K t_a164L


-- | 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_aYZF :: [a_aYW3]) (t_aYZG :: [a_aYW3]). Sing t_aYZF -> Sing t_aYZG -> Sing (Apply (Apply (:++$) t_aYZF) t_aYZG :: [a_aYW3])
infixr 5 %:++
sHead :: forall (t_a1BOm :: [a_a1AJS]). Sing t_a1BOm -> Sing (Apply HeadSym0 t_a1BOm :: a_a1AJS)
sLast :: forall (t_a1BOl :: [a_a1AJR]). Sing t_a1BOl -> Sing (Apply LastSym0 t_a1BOl :: a_a1AJR)
sTail :: forall (t_a1BOk :: [a_a1AJQ]). Sing t_a1BOk -> Sing (Apply TailSym0 t_a1BOk :: [a_a1AJQ])
sInit :: forall (t_a1BOj :: [a_a1AJP]). Sing t_a1BOj -> Sing (Apply InitSym0 t_a1BOj :: [a_a1AJP])
sNull :: forall (t_a1BOg :: [a_a1AJO]). Sing t_a1BOg -> Sing (Apply NullSym0 t_a1BOg :: Bool)
sLength :: forall (t_a1BLS :: [a_a1AHZ]). Sing t_a1BLS -> Sing (Apply LengthSym0 t_a1BLS :: Nat)
sMap :: forall (t_aYZH :: TyFun a_aYW4 b_aYW5 -> Type) (t_aYZI :: [a_aYW4]). Sing t_aYZH -> Sing t_aYZI -> Sing (Apply (Apply MapSym0 t_aYZH) t_aYZI :: [b_aYW5])
sReverse :: forall (t_a1BOd :: [a_a1AJN]). Sing t_a1BOd -> Sing (Apply ReverseSym0 t_a1BOd :: [a_a1AJN])
sIntersperse :: forall (t_a1BO9 :: a_a1AJM) (t_a1BOa :: [a_a1AJM]). Sing t_a1BO9 -> Sing t_a1BOa -> Sing (Apply (Apply IntersperseSym0 t_a1BO9) t_a1BOa :: [a_a1AJM])
sIntercalate :: forall (t_a1BOb :: [a_a1AJL]) (t_a1BOc :: [[a_a1AJL]]). Sing t_a1BOb -> Sing t_a1BOc -> Sing (Apply (Apply IntercalateSym0 t_a1BOb) t_a1BOc :: [a_a1AJL])
sTranspose :: forall (t_a1BOn :: [[a_a1AHX]]). Sing t_a1BOn -> Sing (Apply TransposeSym0 t_a1BOn :: [[a_a1AHX]])
sSubsequences :: forall (t_a1BO8 :: [a_a1AJK]). Sing t_a1BO8 -> Sing (Apply SubsequencesSym0 t_a1BO8 :: [[a_a1AJK]])
sPermutations :: forall (t_a1BO4 :: [a_a1AJH]). Sing t_a1BO4 -> Sing (Apply PermutationsSym0 t_a1BO4 :: [[a_a1AJH]])
sFoldl :: forall (t_aR3n :: TyFun b_aR2p (TyFun a_aR2o b_aR2p -> Type) -> Type) (t_aR3o :: b_aR2p) (t_aR3p :: [a_aR2o]). Sing t_aR3n -> Sing t_aR3o -> Sing t_aR3p -> Sing (Apply (Apply (Apply FoldlSym0 t_aR3n) t_aR3o) t_aR3p :: b_aR2p)
sFoldl' :: forall (t_a1BNZ :: TyFun b_a1AJG (TyFun a_a1AJF b_a1AJG -> Type) -> Type) (t_a1BO0 :: b_a1AJG) (t_a1BO1 :: [a_a1AJF]). Sing t_a1BNZ -> Sing t_a1BO0 -> Sing t_a1BO1 -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a1BNZ) t_a1BO0) t_a1BO1 :: b_a1AJG)
sFoldl1 :: forall (t_a1BNR :: TyFun a_a1AJE (TyFun a_a1AJE a_a1AJE -> Type) -> Type) (t_a1BNS :: [a_a1AJE]). Sing t_a1BNR -> Sing t_a1BNS -> Sing (Apply (Apply Foldl1Sym0 t_a1BNR) t_a1BNS :: a_a1AJE)
sFoldl1' :: forall (t_a1BO2 :: TyFun a_a1AJD (TyFun a_a1AJD a_a1AJD -> Type) -> Type) (t_a1BO3 :: [a_a1AJD]). Sing t_a1BO2 -> Sing t_a1BO3 -> Sing (Apply (Apply Foldl1'Sym0 t_a1BO2) t_a1BO3 :: a_a1AJD)
sFoldr :: forall (t_aYZJ :: TyFun a_aYW6 (TyFun b_aYW7 b_aYW7 -> Type) -> Type) (t_aYZK :: b_aYW7) (t_aYZL :: [a_aYW6]). Sing t_aYZJ -> Sing t_aYZK -> Sing t_aYZL -> Sing (Apply (Apply (Apply FoldrSym0 t_aYZJ) t_aYZK) t_aYZL :: b_aYW7)
sFoldr1 :: forall (t_a1BNP :: TyFun a_a1AJC (TyFun a_a1AJC a_a1AJC -> Type) -> Type) (t_a1BNQ :: [a_a1AJC]). Sing t_a1BNP -> Sing t_a1BNQ -> Sing (Apply (Apply Foldr1Sym0 t_a1BNP) t_a1BNQ :: a_a1AJC)
sConcat :: forall (t_a1BNO :: [[a_a1AJB]]). Sing t_a1BNO -> Sing (Apply ConcatSym0 t_a1BNO :: [a_a1AJB])
sConcatMap :: forall (t_a1BNM :: TyFun a_a1AJz [b_a1AJA] -> Type) (t_a1BNN :: [a_a1AJz]). Sing t_a1BNM -> Sing t_a1BNN -> Sing (Apply (Apply ConcatMapSym0 t_a1BNM) t_a1BNN :: [b_a1AJA])
sAnd :: forall (t_a1BNL :: [Bool]). Sing t_a1BNL -> Sing (Apply AndSym0 t_a1BNL :: Bool)
sOr :: forall (t_a1BNK :: [Bool]). Sing t_a1BNK -> Sing (Apply OrSym0 t_a1BNK :: Bool)
sAny_ :: forall (t_a1y56 :: TyFun a_a1y4M Bool -> Type) (t_a1y57 :: [a_a1y4M]). Sing t_a1y56 -> Sing t_a1y57 -> Sing (Apply (Apply Any_Sym0 t_a1y56) t_a1y57 :: Bool)
sAll :: forall (t_a1BNI :: TyFun a_a1AJy Bool -> Type) (t_a1BNJ :: [a_a1AJy]). Sing t_a1BNI -> Sing t_a1BNJ -> Sing (Apply (Apply AllSym0 t_a1BNI) t_a1BNJ :: Bool)
sSum :: forall (t_a1BLU :: [a_a1AI1]). SNum a_a1AI1 => Sing t_a1BLU -> Sing (Apply SumSym0 t_a1BLU :: a_a1AI1)
sProduct :: forall (t_a1BLT :: [a_a1AI0]). SNum a_a1AI0 => Sing t_a1BLT -> Sing (Apply ProductSym0 t_a1BLT :: a_a1AI0)
sMaximum :: forall (t_a1BNX :: [a_a1AIa]). SOrd a_a1AIa => Sing t_a1BNX -> Sing (Apply MaximumSym0 t_a1BNX :: a_a1AIa)
sMinimum :: forall (t_a1BNY :: [a_a1AI9]). SOrd a_a1AI9 => Sing t_a1BNY -> Sing (Apply MinimumSym0 t_a1BNY :: a_a1AI9)
any_ :: (a_a1y4M -> Bool) -> [a_a1y4M] -> Bool
sScanl :: forall (t_a1BND :: TyFun b_a1AJw (TyFun a_a1AJx b_a1AJw -> Type) -> Type) (t_a1BNE :: b_a1AJw) (t_a1BNF :: [a_a1AJx]). Sing t_a1BND -> Sing t_a1BNE -> Sing t_a1BNF -> Sing (Apply (Apply (Apply ScanlSym0 t_a1BND) t_a1BNE) t_a1BNF :: [b_a1AJw])
sScanl1 :: forall (t_a1BNG :: TyFun a_a1AJv (TyFun a_a1AJv a_a1AJv -> Type) -> Type) (t_a1BNH :: [a_a1AJv]). Sing t_a1BNG -> Sing t_a1BNH -> Sing (Apply (Apply Scanl1Sym0 t_a1BNG) t_a1BNH :: [a_a1AJv])
sScanr :: forall (t_a1BNA :: TyFun a_a1AJt (TyFun b_a1AJu b_a1AJu -> Type) -> Type) (t_a1BNB :: b_a1AJu) (t_a1BNC :: [a_a1AJt]). Sing t_a1BNA -> Sing t_a1BNB -> Sing t_a1BNC -> Sing (Apply (Apply (Apply ScanrSym0 t_a1BNA) t_a1BNB) t_a1BNC :: [b_a1AJu])
sScanr1 :: forall (t_a1BNy :: TyFun a_a1AJs (TyFun a_a1AJs a_a1AJs -> Type) -> Type) (t_a1BNz :: [a_a1AJs]). Sing t_a1BNy -> Sing t_a1BNz -> Sing (Apply (Apply Scanr1Sym0 t_a1BNy) t_a1BNz :: [a_a1AJs])
sMapAccumL :: forall (t_a1BNv :: TyFun acc_a1AJp (TyFun x_a1AJq (acc_a1AJp, y_a1AJr) -> Type) -> Type) (t_a1BNw :: acc_a1AJp) (t_a1BNx :: [x_a1AJq]). Sing t_a1BNv -> Sing t_a1BNw -> Sing t_a1BNx -> Sing (Apply (Apply (Apply MapAccumLSym0 t_a1BNv) t_a1BNw) t_a1BNx :: (acc_a1AJp, [y_a1AJr]))
sMapAccumR :: forall (t_a1BNs :: TyFun acc_a1AJm (TyFun x_a1AJn (acc_a1AJm, y_a1AJo) -> Type) -> Type) (t_a1BNt :: acc_a1AJm) (t_a1BNu :: [x_a1AJn]). Sing t_a1BNs -> Sing t_a1BNt -> Sing t_a1BNu -> Sing (Apply (Apply (Apply MapAccumRSym0 t_a1BNs) t_a1BNt) t_a1BNu :: (acc_a1AJm, [y_a1AJo]))
sReplicate :: forall (t_a1BLQ :: Nat) (t_a1BLR :: a_a1AHY). Sing t_a1BLQ -> Sing t_a1BLR -> Sing (Apply (Apply ReplicateSym0 t_a1BLQ) t_a1BLR :: [a_a1AHY])
sUnfoldr :: forall (t_a1BNq :: TyFun b_a1AJk (Maybe (a_a1AJl, b_a1AJk)) -> Type) (t_a1BNr :: b_a1AJk). Sing t_a1BNq -> Sing t_a1BNr -> Sing (Apply (Apply UnfoldrSym0 t_a1BNq) t_a1BNr :: [a_a1AJl])
sTake :: forall (t_a1BM4 :: Nat) (t_a1BM5 :: [a_a1AIe]). Sing t_a1BM4 -> Sing t_a1BM5 -> Sing (Apply (Apply TakeSym0 t_a1BM4) t_a1BM5 :: [a_a1AIe])
sDrop :: forall (t_a1BM2 :: Nat) (t_a1BM3 :: [a_a1AId]). Sing t_a1BM2 -> Sing t_a1BM3 -> Sing (Apply (Apply DropSym0 t_a1BM2) t_a1BM3 :: [a_a1AId])
sSplitAt :: forall (t_a1BM6 :: Nat) (t_a1BM7 :: [a_a1AIc]). Sing t_a1BM6 -> Sing t_a1BM7 -> Sing (Apply (Apply SplitAtSym0 t_a1BM6) t_a1BM7 :: ([a_a1AIc], [a_a1AIc]))
sTakeWhile :: forall (t_a1BMh :: TyFun a_a1AIj Bool -> Type) (t_a1BMi :: [a_a1AIj]). Sing t_a1BMh -> Sing t_a1BMi -> Sing (Apply (Apply TakeWhileSym0 t_a1BMh) t_a1BMi :: [a_a1AIj])
sDropWhile :: forall (t_a1BMf :: TyFun a_a1AIi Bool -> Type) (t_a1BMg :: [a_a1AIi]). Sing t_a1BMf -> Sing t_a1BMg -> Sing (Apply (Apply DropWhileSym0 t_a1BMf) t_a1BMg :: [a_a1AIi])
sDropWhileEnd :: forall (t_a1BOh :: TyFun a_a1AIh Bool -> Type) (t_a1BOi :: [a_a1AIh]). Sing t_a1BOh -> Sing t_a1BOi -> Sing (Apply (Apply DropWhileEndSym0 t_a1BOh) t_a1BOi :: [a_a1AIh])
sSpan :: forall (t_a1BMa :: TyFun a_a1AIg Bool -> Type) (t_a1BMb :: [a_a1AIg]). Sing t_a1BMa -> Sing t_a1BMb -> Sing (Apply (Apply SpanSym0 t_a1BMa) t_a1BMb :: ([a_a1AIg], [a_a1AIg]))
sBreak :: forall (t_a1BM8 :: TyFun a_a1AIf Bool -> Type) (t_a1BM9 :: [a_a1AIf]). Sing t_a1BM8 -> Sing t_a1BM9 -> Sing (Apply (Apply BreakSym0 t_a1BM8) t_a1BM9 :: ([a_a1AIf], [a_a1AIf]))
sGroup :: forall (t_a1BMe :: [a_a1AIb]). SEq a_a1AIb => Sing t_a1BMe -> Sing (Apply GroupSym0 t_a1BMe :: [[a_a1AIb]])
sInits :: forall (t_a1BNp :: [a_a1AJj]). Sing t_a1BNp -> Sing (Apply InitsSym0 t_a1BNp :: [[a_a1AJj]])
sTails :: forall (t_a1BNm :: [a_a1AJi]). Sing t_a1BNm -> Sing (Apply TailsSym0 t_a1BNm :: [[a_a1AJi]])
sIsPrefixOf :: forall (t_a1BNk :: [a_a1AJh]) (t_a1BNl :: [a_a1AJh]). SEq a_a1AJh => Sing t_a1BNk -> Sing t_a1BNl -> Sing (Apply (Apply IsPrefixOfSym0 t_a1BNk) t_a1BNl :: Bool)
sIsSuffixOf :: forall (t_a1BOe :: [a_a1AJg]) (t_a1BOf :: [a_a1AJg]). SEq a_a1AJg => Sing t_a1BOe -> Sing t_a1BOf -> Sing (Apply (Apply IsSuffixOfSym0 t_a1BOe) t_a1BOf :: Bool)
sIsInfixOf :: forall (t_a1BNn :: [a_a1AJf]) (t_a1BNo :: [a_a1AJf]). SEq a_a1AJf => Sing t_a1BNn -> Sing t_a1BNo -> Sing (Apply (Apply IsInfixOfSym0 t_a1BNn) t_a1BNo :: Bool)
sElem :: forall (t_a1BNh :: a_a1AJe) (t_a1BNi :: [a_a1AJe]). SEq a_a1AJe => Sing t_a1BNh -> Sing t_a1BNi -> Sing (Apply (Apply ElemSym0 t_a1BNh) t_a1BNi :: Bool)
sNotElem :: forall (t_a1BNf :: a_a1AJd) (t_a1BNg :: [a_a1AJd]). SEq a_a1AJd => Sing t_a1BNf -> Sing t_a1BNg -> Sing (Apply (Apply NotElemSym0 t_a1BNf) t_a1BNg :: Bool)
sLookup :: forall (t_a1BM0 :: a_a1AI4) (t_a1BM1 :: [(a_a1AI4, b_a1AI5)]). SEq a_a1AI4 => Sing t_a1BM0 -> Sing t_a1BM1 -> Sing (Apply (Apply LookupSym0 t_a1BM0) t_a1BM1 :: Maybe b_a1AI5)
sFind :: forall (t_a1BMl :: TyFun a_a1AIq Bool -> Type) (t_a1BMm :: [a_a1AIq]). Sing t_a1BMl -> Sing t_a1BMm -> Sing (Apply (Apply FindSym0 t_a1BMl) t_a1BMm :: Maybe a_a1AIq)
sFilter :: forall (t_a1BMj :: TyFun a_a1AIr Bool -> Type) (t_a1BMk :: [a_a1AIr]). Sing t_a1BMj -> Sing t_a1BMk -> Sing (Apply (Apply FilterSym0 t_a1BMj) t_a1BMk :: [a_a1AIr])
sPartition :: forall (t_a1BLY :: TyFun a_a1AI3 Bool -> Type) (t_a1BLZ :: [a_a1AI3]). Sing t_a1BLY -> Sing t_a1BLZ -> Sing (Apply (Apply PartitionSym0 t_a1BLY) t_a1BLZ :: ([a_a1AI3], [a_a1AI3]))
(%:!!) :: forall (t_a1BLO :: [a_a1AHW]) (t_a1BLP :: Nat). Sing t_a1BLO -> Sing t_a1BLP -> Sing (Apply (Apply (:!!$) t_a1BLO) t_a1BLP :: a_a1AHW)
sElemIndex :: forall (t_a1BNd :: a_a1AIp) (t_a1BNe :: [a_a1AIp]). SEq a_a1AIp => Sing t_a1BNd -> Sing t_a1BNe -> Sing (Apply (Apply ElemIndexSym0 t_a1BNd) t_a1BNe :: Maybe Nat)
sElemIndices :: forall (t_a1BN9 :: a_a1AIo) (t_a1BNa :: [a_a1AIo]). SEq a_a1AIo => Sing t_a1BN9 -> Sing t_a1BNa -> Sing (Apply (Apply ElemIndicesSym0 t_a1BN9) t_a1BNa :: [Nat])
sFindIndex :: forall (t_a1BNb :: TyFun a_a1AIn Bool -> Type) (t_a1BNc :: [a_a1AIn]). Sing t_a1BNb -> Sing t_a1BNc -> Sing (Apply (Apply FindIndexSym0 t_a1BNb) t_a1BNc :: Maybe Nat)
sFindIndices :: forall (t_a1BN7 :: TyFun a_a1AIm Bool -> Type) (t_a1BN8 :: [a_a1AIm]). Sing t_a1BN7 -> Sing t_a1BN8 -> Sing (Apply (Apply FindIndicesSym0 t_a1BN7) t_a1BN8 :: [Nat])
sZip :: forall (t_a1BN5 :: [a_a1AJb]) (t_a1BN6 :: [b_a1AJc]). Sing t_a1BN5 -> Sing t_a1BN6 -> Sing (Apply (Apply ZipSym0 t_a1BN5) t_a1BN6 :: [(a_a1AJb, b_a1AJc)])
sZip3 :: forall (t_a1BN2 :: [a_a1AJ8]) (t_a1BN3 :: [b_a1AJ9]) (t_a1BN4 :: [c_a1AJa]). Sing t_a1BN2 -> Sing t_a1BN3 -> Sing t_a1BN4 -> Sing (Apply (Apply (Apply Zip3Sym0 t_a1BN2) t_a1BN3) t_a1BN4 :: [(a_a1AJ8, b_a1AJ9, c_a1AJa)])
sZipWith :: forall (t_a1BMZ :: TyFun a_a1AJ5 (TyFun b_a1AJ6 c_a1AJ7 -> Type) -> Type) (t_a1BN0 :: [a_a1AJ5]) (t_a1BN1 :: [b_a1AJ6]). Sing t_a1BMZ -> Sing t_a1BN0 -> Sing t_a1BN1 -> Sing (Apply (Apply (Apply ZipWithSym0 t_a1BMZ) t_a1BN0) t_a1BN1 :: [c_a1AJ7])
sZipWith3 :: forall (t_a1BMV :: TyFun a_a1AJ1 (TyFun b_a1AJ2 (TyFun c_a1AJ3 d_a1AJ4 -> Type) -> Type) -> Type) (t_a1BMW :: [a_a1AJ1]) (t_a1BMX :: [b_a1AJ2]) (t_a1BMY :: [c_a1AJ3]). Sing t_a1BMV -> Sing t_a1BMW -> Sing t_a1BMX -> Sing t_a1BMY -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a1BMV) t_a1BMW) t_a1BMX) t_a1BMY :: [d_a1AJ4])
sUnzip :: forall (t_a1BMU :: [(a_a1AIZ, b_a1AJ0)]). Sing t_a1BMU -> Sing (Apply UnzipSym0 t_a1BMU :: ([a_a1AIZ], [b_a1AJ0]))
sUnzip3 :: forall (t_a1BMT :: [(a_a1AIW, b_a1AIX, c_a1AIY)]). Sing t_a1BMT -> Sing (Apply Unzip3Sym0 t_a1BMT :: ([a_a1AIW], [b_a1AIX], [c_a1AIY]))
sUnzip4 :: forall (t_a1BMS :: [(a_a1AIS, b_a1AIT, c_a1AIU, d_a1AIV)]). Sing t_a1BMS -> Sing (Apply Unzip4Sym0 t_a1BMS :: ([a_a1AIS], [b_a1AIT], [c_a1AIU], [d_a1AIV]))
sUnzip5 :: forall (t_a1BMR :: [(a_a1AIN, b_a1AIO, c_a1AIP, d_a1AIQ, e_a1AIR)]). Sing t_a1BMR -> Sing (Apply Unzip5Sym0 t_a1BMR :: ([a_a1AIN], [b_a1AIO], [c_a1AIP], [d_a1AIQ], [e_a1AIR]))
sUnzip6 :: forall (t_a1BMQ :: [(a_a1AIH, b_a1AII, c_a1AIJ, d_a1AIK, e_a1AIL, f_a1AIM)]). Sing t_a1BMQ -> Sing (Apply Unzip6Sym0 t_a1BMQ :: ([a_a1AIH], [b_a1AII], [c_a1AIJ], [d_a1AIK], [e_a1AIL], [f_a1AIM]))
sUnzip7 :: forall (t_a1BMP :: [(a_a1AIA, b_a1AIB, c_a1AIC, d_a1AID, e_a1AIE, f_a1AIF, g_a1AIG)]). Sing t_a1BMP -> Sing (Apply Unzip7Sym0 t_a1BMP :: ([a_a1AIA], [b_a1AIB], [c_a1AIC], [d_a1AID], [e_a1AIE], [f_a1AIF], [g_a1AIG]))
sNub :: forall (t_a1BNj :: [a_a1AHV]). SEq a_a1AHV => Sing t_a1BNj -> Sing (Apply NubSym0 t_a1BNj :: [a_a1AHV])
sDelete :: forall (t_a1BML :: a_a1AIz) (t_a1BMM :: [a_a1AIz]). SEq a_a1AIz => Sing t_a1BML -> Sing t_a1BMM -> Sing (Apply (Apply DeleteSym0 t_a1BML) t_a1BMM :: [a_a1AIz])
(%:\\) :: forall (t_a1BMN :: [a_a1AIy]) (t_a1BMO :: [a_a1AIy]). SEq a_a1AIy => Sing t_a1BMN -> Sing t_a1BMO -> Sing (Apply (Apply (:\\$) t_a1BMN) t_a1BMO :: [a_a1AIy])
infix 5 %:\\
sUnion :: forall (t_a1BMJ :: [a_a1AHR]) (t_a1BMK :: [a_a1AHR]). SEq a_a1AHR => Sing t_a1BMJ -> Sing t_a1BMK -> Sing (Apply (Apply UnionSym0 t_a1BMJ) t_a1BMK :: [a_a1AHR])
sIntersect :: forall (t_a1BMq :: [a_a1AIl]) (t_a1BMr :: [a_a1AIl]). SEq a_a1AIl => Sing t_a1BMq -> Sing t_a1BMr -> Sing (Apply (Apply IntersectSym0 t_a1BMq) t_a1BMr :: [a_a1AIl])
sInsert :: forall (t_a1BMv :: a_a1AI8) (t_a1BMw :: [a_a1AI8]). SOrd a_a1AI8 => Sing t_a1BMv -> Sing t_a1BMw -> Sing (Apply (Apply InsertSym0 t_a1BMv) t_a1BMw :: [a_a1AI8])
sSort :: forall (t_a1BMz :: [a_a1AI7]). SOrd a_a1AI7 => Sing t_a1BMz -> Sing (Apply SortSym0 t_a1BMz :: [a_a1AI7])
sNubBy :: forall (t_a1BLM :: TyFun a_a1AHU (TyFun a_a1AHU Bool -> Type) -> Type) (t_a1BLN :: [a_a1AHU]). Sing t_a1BLM -> Sing t_a1BLN -> Sing (Apply (Apply NubBySym0 t_a1BLM) t_a1BLN :: [a_a1AHU])
sDeleteBy :: forall (t_a1BMA :: TyFun a_a1AIx (TyFun a_a1AIx Bool -> Type) -> Type) (t_a1BMB :: a_a1AIx) (t_a1BMC :: [a_a1AIx]). Sing t_a1BMA -> Sing t_a1BMB -> Sing t_a1BMC -> Sing (Apply (Apply (Apply DeleteBySym0 t_a1BMA) t_a1BMB) t_a1BMC :: [a_a1AIx])
sDeleteFirstsBy :: forall (t_a1BMD :: TyFun a_a1AIw (TyFun a_a1AIw Bool -> Type) -> Type) (t_a1BME :: [a_a1AIw]) (t_a1BMF :: [a_a1AIw]). Sing t_a1BMD -> Sing t_a1BME -> Sing t_a1BMF -> Sing (Apply (Apply (Apply DeleteFirstsBySym0 t_a1BMD) t_a1BME) t_a1BMF :: [a_a1AIw])
sUnionBy :: forall (t_a1BMG :: TyFun a_a1AHS (TyFun a_a1AHS Bool -> Type) -> Type) (t_a1BMH :: [a_a1AHS]) (t_a1BMI :: [a_a1AHS]). Sing t_a1BMG -> Sing t_a1BMH -> Sing t_a1BMI -> Sing (Apply (Apply (Apply UnionBySym0 t_a1BMG) t_a1BMH) t_a1BMI :: [a_a1AHS])
sIntersectBy :: forall (t_a1BMn :: TyFun a_a1AIk (TyFun a_a1AIk Bool -> Type) -> Type) (t_a1BMo :: [a_a1AIk]) (t_a1BMp :: [a_a1AIk]). Sing t_a1BMn -> Sing t_a1BMo -> Sing t_a1BMp -> Sing (Apply (Apply (Apply IntersectBySym0 t_a1BMn) t_a1BMo) t_a1BMp :: [a_a1AIk])
sGroupBy :: forall (t_a1BMc :: TyFun a_a1AI6 (TyFun a_a1AI6 Bool -> Type) -> Type) (t_a1BMd :: [a_a1AI6]). Sing t_a1BMc -> Sing t_a1BMd -> Sing (Apply (Apply GroupBySym0 t_a1BMc) t_a1BMd :: [[a_a1AI6]])
sSortBy :: forall (t_a1BMx :: TyFun a_a1AIv (TyFun a_a1AIv Ordering -> Type) -> Type) (t_a1BMy :: [a_a1AIv]). Sing t_a1BMx -> Sing t_a1BMy -> Sing (Apply (Apply SortBySym0 t_a1BMx) t_a1BMy :: [a_a1AIv])
sInsertBy :: forall (t_a1BMs :: TyFun a_a1AIu (TyFun a_a1AIu Ordering -> Type) -> Type) (t_a1BMt :: a_a1AIu) (t_a1BMu :: [a_a1AIu]). Sing t_a1BMs -> Sing t_a1BMt -> Sing t_a1BMu -> Sing (Apply (Apply (Apply InsertBySym0 t_a1BMs) t_a1BMt) t_a1BMu :: [a_a1AIu])
sMaximumBy :: forall (t_a1BNT :: TyFun a_a1AIt (TyFun a_a1AIt Ordering -> Type) -> Type) (t_a1BNU :: [a_a1AIt]). Sing t_a1BNT -> Sing t_a1BNU -> Sing (Apply (Apply MaximumBySym0 t_a1BNT) t_a1BNU :: a_a1AIt)
sMinimumBy :: forall (t_a1BNV :: TyFun a_a1AIs (TyFun a_a1AIs Ordering -> Type) -> Type) (t_a1BNW :: [a_a1AIs]). Sing t_a1BNV -> Sing t_a1BNW -> Sing (Apply (Apply MinimumBySym0 t_a1BNV) t_a1BNW :: a_a1AIs)
sGenericLength :: forall (t_a1BLI :: [a_a1AHQ]). SNum i_a1AHP => Sing t_a1BLI -> Sing (Apply GenericLengthSym0 t_a1BLI :: i_a1AHP)
type NilSym0 = '[]
data (:$) (l_aO2W :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:$$) (l_aO2U :: a3530822107858468865) (l_aO2T :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:$$$) (t_aO2R :: a3530822107858468865) (t_aO2S :: [a3530822107858468865]) = (:) t_aO2R t_aO2S
type (:++$$$) (t_aYYk :: [a6989586621679244031]) (t_aYYl :: [a6989586621679244031]) = (:++) t_aYYk t_aYYl
data (:++$$) (l_aYYn :: [a6989586621679244031]) (l_aYYm :: TyFun [a6989586621679244031] [a6989586621679244031])
data (:++$) (l_aYYp :: TyFun [a6989586621679244031] (TyFun [a6989586621679244031] [a6989586621679244031] -> Type))
data HeadSym0 (l_a1BLt :: TyFun [a6989586621679389348] a6989586621679389348)
type HeadSym1 (t_a1BLs :: [a6989586621679389348]) = Head t_a1BLs
data LastSym0 (l_a1BLj :: TyFun [a6989586621679389347] a6989586621679389347)
type LastSym1 (t_a1BLi :: [a6989586621679389347]) = Last t_a1BLi
data TailSym0 (l_a1BLb :: TyFun [a6989586621679389346] [a6989586621679389346])
type TailSym1 (t_a1BLa :: [a6989586621679389346]) = Tail t_a1BLa
data InitSym0 (l_a1BKE :: TyFun [a6989586621679389345] [a6989586621679389345])
type InitSym1 (t_a1BKD :: [a6989586621679389345]) = Init t_a1BKD
data NullSym0 (l_a1BJx :: TyFun [a6989586621679389344] Bool)
type NullSym1 (t_a1BJw :: [a6989586621679389344]) = Null t_a1BJw
data LengthSym0 (l_a1AVS :: TyFun [a6989586621679389231] Nat)
type LengthSym1 (t_a1AVR :: [a6989586621679389231]) = Length t_a1AVR
data MapSym0 (l_aYYC :: TyFun (TyFun a6989586621679244032 b6989586621679244033 -> Type) (TyFun [a6989586621679244032] [b6989586621679244033] -> Type))
data MapSym1 (l_aYYA :: TyFun a6989586621679244032 b6989586621679244033 -> Type) (l_aYYz :: TyFun [a6989586621679244032] [b6989586621679244033])
type MapSym2 (t_aYYx :: TyFun a6989586621679244032 b6989586621679244033 -> Type) (t_aYYy :: [a6989586621679244032]) = Map t_aYYx t_aYYy
data ReverseSym0 (l_a1BIY :: TyFun [a6989586621679389343] [a6989586621679389343])
type ReverseSym1 (t_a1BIX :: [a6989586621679389343]) = Reverse t_a1BIX
data IntersperseSym0 (l_a1BIC :: TyFun a6989586621679389342 (TyFun [a6989586621679389342] [a6989586621679389342] -> Type))
data IntersperseSym1 (l_a1BIA :: a6989586621679389342) (l_a1BIz :: TyFun [a6989586621679389342] [a6989586621679389342])
type IntersperseSym2 (t_a1BIx :: a6989586621679389342) (t_a1BIy :: [a6989586621679389342]) = Intersperse t_a1BIx t_a1BIy
data IntercalateSym0 (l_a1BIR :: TyFun [a6989586621679389341] (TyFun [[a6989586621679389341]] [a6989586621679389341] -> Type))
data IntercalateSym1 (l_a1BIP :: [a6989586621679389341]) (l_a1BIO :: TyFun [[a6989586621679389341]] [a6989586621679389341])
type IntercalateSym2 (t_a1BIM :: [a6989586621679389341]) (t_a1BIN :: [[a6989586621679389341]]) = Intercalate t_a1BIM t_a1BIN
data TransposeSym0 (l_a1BLB :: TyFun [[a6989586621679389229]] [[a6989586621679389229]])
type TransposeSym1 (t_a1BLA :: [[a6989586621679389229]]) = Transpose t_a1BLA
data SubsequencesSym0 (l_a1BIt :: TyFun [a6989586621679389340] [[a6989586621679389340]])
type SubsequencesSym1 (t_a1BIs :: [a6989586621679389340]) = Subsequences t_a1BIs
data PermutationsSym0 (l_a1BBL :: TyFun [a6989586621679389337] [[a6989586621679389337]])
type PermutationsSym1 (t_a1BBK :: [a6989586621679389337]) = Permutations t_a1BBK
data FoldlSym0 (l_aR2J :: TyFun (TyFun b6989586621679213673 (TyFun a6989586621679213672 b6989586621679213673 -> Type) -> Type) (TyFun b6989586621679213673 (TyFun [a6989586621679213672] b6989586621679213673 -> Type) -> Type))
data FoldlSym1 (l_aR2H :: TyFun b6989586621679213673 (TyFun a6989586621679213672 b6989586621679213673 -> Type) -> Type) (l_aR2G :: TyFun b6989586621679213673 (TyFun [a6989586621679213672] b6989586621679213673 -> Type))
data FoldlSym2 (l_aR2D :: TyFun b6989586621679213673 (TyFun a6989586621679213672 b6989586621679213673 -> Type) -> Type) (l_aR2E :: b6989586621679213673) (l_aR2C :: TyFun [a6989586621679213672] b6989586621679213673)
type FoldlSym3 (t_aR2z :: TyFun b6989586621679213673 (TyFun a6989586621679213672 b6989586621679213673 -> Type) -> Type) (t_aR2A :: b6989586621679213673) (t_aR2B :: [a6989586621679213672]) = Foldl t_aR2z t_aR2A t_aR2B
data Foldl'Sym0 (l_a1BAj :: TyFun (TyFun b6989586621679389336 (TyFun a6989586621679389335 b6989586621679389336 -> Type) -> Type) (TyFun b6989586621679389336 (TyFun [a6989586621679389335] b6989586621679389336 -> Type) -> Type))
data Foldl'Sym1 (l_a1BAh :: TyFun b6989586621679389336 (TyFun a6989586621679389335 b6989586621679389336 -> Type) -> Type) (l_a1BAg :: TyFun b6989586621679389336 (TyFun [a6989586621679389335] b6989586621679389336 -> Type))
data Foldl'Sym2 (l_a1BAd :: TyFun b6989586621679389336 (TyFun a6989586621679389335 b6989586621679389336 -> Type) -> Type) (l_a1BAe :: b6989586621679389336) (l_a1BAc :: TyFun [a6989586621679389335] b6989586621679389336)
type Foldl'Sym3 (t_a1BA9 :: TyFun b6989586621679389336 (TyFun a6989586621679389335 b6989586621679389336 -> Type) -> Type) (t_a1BAa :: b6989586621679389336) (t_a1BAb :: [a6989586621679389335]) = Foldl' t_a1BA9 t_a1BAa t_a1BAb
data Foldl1Sym0 (l_a1BwJ :: TyFun (TyFun a6989586621679389334 (TyFun a6989586621679389334 a6989586621679389334 -> Type) -> Type) (TyFun [a6989586621679389334] a6989586621679389334 -> Type))
data Foldl1Sym1 (l_a1BwH :: TyFun a6989586621679389334 (TyFun a6989586621679389334 a6989586621679389334 -> Type) -> Type) (l_a1BwG :: TyFun [a6989586621679389334] a6989586621679389334)
type Foldl1Sym2 (t_a1BwE :: TyFun a6989586621679389334 (TyFun a6989586621679389334 a6989586621679389334 -> Type) -> Type) (t_a1BwF :: [a6989586621679389334]) = Foldl1 t_a1BwE t_a1BwF
data Foldl1'Sym0 (l_a1BBA :: TyFun (TyFun a6989586621679389333 (TyFun a6989586621679389333 a6989586621679389333 -> Type) -> Type) (TyFun [a6989586621679389333] a6989586621679389333 -> Type))
data Foldl1'Sym1 (l_a1BBy :: TyFun a6989586621679389333 (TyFun a6989586621679389333 a6989586621679389333 -> Type) -> Type) (l_a1BBx :: TyFun [a6989586621679389333] a6989586621679389333)
type Foldl1'Sym2 (t_a1BBv :: TyFun a6989586621679389333 (TyFun a6989586621679389333 a6989586621679389333 -> Type) -> Type) (t_a1BBw :: [a6989586621679389333]) = Foldl1' t_a1BBv t_a1BBw
data FoldrSym0 (l_aYYW :: TyFun (TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (TyFun b6989586621679244035 (TyFun [a6989586621679244034] b6989586621679244035 -> Type) -> Type))
data FoldrSym1 (l_aYYU :: TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (l_aYYT :: TyFun b6989586621679244035 (TyFun [a6989586621679244034] b6989586621679244035 -> Type))
data FoldrSym2 (l_aYYQ :: TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (l_aYYR :: b6989586621679244035) (l_aYYP :: TyFun [a6989586621679244034] b6989586621679244035)
type FoldrSym3 (t_aYYM :: TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (t_aYYN :: b6989586621679244035) (t_aYYO :: [a6989586621679244034]) = Foldr t_aYYM t_aYYN t_aYYO
data Foldr1Sym0 (l_a1Bw6 :: TyFun (TyFun a6989586621679389332 (TyFun a6989586621679389332 a6989586621679389332 -> Type) -> Type) (TyFun [a6989586621679389332] a6989586621679389332 -> Type))
data Foldr1Sym1 (l_a1Bw4 :: TyFun a6989586621679389332 (TyFun a6989586621679389332 a6989586621679389332 -> Type) -> Type) (l_a1Bw3 :: TyFun [a6989586621679389332] a6989586621679389332)
type Foldr1Sym2 (t_a1Bw1 :: TyFun a6989586621679389332 (TyFun a6989586621679389332 a6989586621679389332 -> Type) -> Type) (t_a1Bw2 :: [a6989586621679389332]) = Foldr1 t_a1Bw1 t_a1Bw2
data ConcatSym0 (l_a1BvX :: TyFun [[a6989586621679389331]] [a6989586621679389331])
type ConcatSym1 (t_a1BvW :: [[a6989586621679389331]]) = Concat t_a1BvW
data ConcatMapSym0 (l_a1BvM :: TyFun (TyFun a6989586621679389329 [b6989586621679389330] -> Type) (TyFun [a6989586621679389329] [b6989586621679389330] -> Type))
data ConcatMapSym1 (l_a1BvK :: TyFun a6989586621679389329 [b6989586621679389330] -> Type) (l_a1BvJ :: TyFun [a6989586621679389329] [b6989586621679389330])
type ConcatMapSym2 (t_a1BvH :: TyFun a6989586621679389329 [b6989586621679389330] -> Type) (t_a1BvI :: [a6989586621679389329]) = ConcatMap t_a1BvH t_a1BvI
data AndSym0 (l_a1BvC :: TyFun [Bool] Bool)
type AndSym1 (t_a1BvB :: [Bool]) = And t_a1BvB
data OrSym0 (l_a1Bvw :: TyFun [Bool] Bool)
type OrSym1 (t_a1Bvv :: [Bool]) = Or t_a1Bvv
data Any_Sym0 (l_a1y4W :: TyFun (TyFun a6989586621679379112 Bool -> Type) (TyFun [a6989586621679379112] Bool -> Type))
data Any_Sym1 (l_a1y4U :: TyFun a6989586621679379112 Bool -> Type) (l_a1y4T :: TyFun [a6989586621679379112] Bool)
type Any_Sym2 (t_a1y4R :: TyFun a6989586621679379112 Bool -> Type) (t_a1y4S :: [a6989586621679379112]) = Any_ t_a1y4R t_a1y4S
data AllSym0 (l_a1Bvl :: TyFun (TyFun a6989586621679389328 Bool -> Type) (TyFun [a6989586621679389328] Bool -> Type))
data AllSym1 (l_a1Bvj :: TyFun a6989586621679389328 Bool -> Type) (l_a1Bvi :: TyFun [a6989586621679389328] Bool)
type AllSym2 (t_a1Bvg :: TyFun a6989586621679389328 Bool -> Type) (t_a1Bvh :: [a6989586621679389328]) = All t_a1Bvg t_a1Bvh
data SumSym0 (l_a1AWo :: TyFun [a6989586621679389233] a6989586621679389233)
type SumSym1 (t_a1AWn :: [a6989586621679389233]) = Sum t_a1AWn
data ProductSym0 (l_a1AW0 :: TyFun [a6989586621679389232] a6989586621679389232)
type ProductSym1 (t_a1AVZ :: [a6989586621679389232]) = Product t_a1AVZ
data MaximumSym0 (l_a1BzI :: TyFun [a6989586621679389242] a6989586621679389242)
type MaximumSym1 (t_a1BzH :: [a6989586621679389242]) = Maximum t_a1BzH
data MinimumSym0 (l_a1BzW :: TyFun [a6989586621679389241] a6989586621679389241)
type MinimumSym1 (t_a1BzV :: [a6989586621679389241]) = Minimum t_a1BzV
data ScanlSym0 (l_a1BuO :: TyFun (TyFun b6989586621679389326 (TyFun a6989586621679389327 b6989586621679389326 -> Type) -> Type) (TyFun b6989586621679389326 (TyFun [a6989586621679389327] [b6989586621679389326] -> Type) -> Type))
data ScanlSym1 (l_a1BuM :: TyFun b6989586621679389326 (TyFun a6989586621679389327 b6989586621679389326 -> Type) -> Type) (l_a1BuL :: TyFun b6989586621679389326 (TyFun [a6989586621679389327] [b6989586621679389326] -> Type))
data ScanlSym2 (l_a1BuI :: TyFun b6989586621679389326 (TyFun a6989586621679389327 b6989586621679389326 -> Type) -> Type) (l_a1BuJ :: b6989586621679389326) (l_a1BuH :: TyFun [a6989586621679389327] [b6989586621679389326])
type ScanlSym3 (t_a1BuE :: TyFun b6989586621679389326 (TyFun a6989586621679389327 b6989586621679389326 -> Type) -> Type) (t_a1BuF :: b6989586621679389326) (t_a1BuG :: [a6989586621679389327]) = Scanl t_a1BuE t_a1BuF t_a1BuG
data Scanl1Sym0 (l_a1Bv6 :: TyFun (TyFun a6989586621679389325 (TyFun a6989586621679389325 a6989586621679389325 -> Type) -> Type) (TyFun [a6989586621679389325] [a6989586621679389325] -> Type))
data Scanl1Sym1 (l_a1Bv4 :: TyFun a6989586621679389325 (TyFun a6989586621679389325 a6989586621679389325 -> Type) -> Type) (l_a1Bv3 :: TyFun [a6989586621679389325] [a6989586621679389325])
type Scanl1Sym2 (t_a1Bv1 :: TyFun a6989586621679389325 (TyFun a6989586621679389325 a6989586621679389325 -> Type) -> Type) (t_a1Bv2 :: [a6989586621679389325]) = Scanl1 t_a1Bv1 t_a1Bv2
data ScanrSym0 (l_a1Bu3 :: TyFun (TyFun a6989586621679389323 (TyFun b6989586621679389324 b6989586621679389324 -> Type) -> Type) (TyFun b6989586621679389324 (TyFun [a6989586621679389323] [b6989586621679389324] -> Type) -> Type))
data ScanrSym1 (l_a1Bu1 :: TyFun a6989586621679389323 (TyFun b6989586621679389324 b6989586621679389324 -> Type) -> Type) (l_a1Bu0 :: TyFun b6989586621679389324 (TyFun [a6989586621679389323] [b6989586621679389324] -> Type))
data ScanrSym2 (l_a1BtX :: TyFun a6989586621679389323 (TyFun b6989586621679389324 b6989586621679389324 -> Type) -> Type) (l_a1BtY :: b6989586621679389324) (l_a1BtW :: TyFun [a6989586621679389323] [b6989586621679389324])
type ScanrSym3 (t_a1BtT :: TyFun a6989586621679389323 (TyFun b6989586621679389324 b6989586621679389324 -> Type) -> Type) (t_a1BtU :: b6989586621679389324) (t_a1BtV :: [a6989586621679389323]) = Scanr t_a1BtT t_a1BtU t_a1BtV
data Scanr1Sym0 (l_a1BsX :: TyFun (TyFun a6989586621679389322 (TyFun a6989586621679389322 a6989586621679389322 -> Type) -> Type) (TyFun [a6989586621679389322] [a6989586621679389322] -> Type))
data Scanr1Sym1 (l_a1BsV :: TyFun a6989586621679389322 (TyFun a6989586621679389322 a6989586621679389322 -> Type) -> Type) (l_a1BsU :: TyFun [a6989586621679389322] [a6989586621679389322])
type Scanr1Sym2 (t_a1BsS :: TyFun a6989586621679389322 (TyFun a6989586621679389322 a6989586621679389322 -> Type) -> Type) (t_a1BsT :: [a6989586621679389322]) = Scanr1 t_a1BsS t_a1BsT
data MapAccumLSym0 (l_a1Bqg :: TyFun (TyFun acc6989586621679389319 (TyFun x6989586621679389320 (acc6989586621679389319, y6989586621679389321) -> Type) -> Type) (TyFun acc6989586621679389319 (TyFun [x6989586621679389320] (acc6989586621679389319, [y6989586621679389321]) -> Type) -> Type))
data MapAccumLSym1 (l_a1Bqe :: TyFun acc6989586621679389319 (TyFun x6989586621679389320 (acc6989586621679389319, y6989586621679389321) -> Type) -> Type) (l_a1Bqd :: TyFun acc6989586621679389319 (TyFun [x6989586621679389320] (acc6989586621679389319, [y6989586621679389321]) -> Type))
data MapAccumLSym2 (l_a1Bqa :: TyFun acc6989586621679389319 (TyFun x6989586621679389320 (acc6989586621679389319, y6989586621679389321) -> Type) -> Type) (l_a1Bqb :: acc6989586621679389319) (l_a1Bq9 :: TyFun [x6989586621679389320] (acc6989586621679389319, [y6989586621679389321]))
type MapAccumLSym3 (t_a1Bq6 :: TyFun acc6989586621679389319 (TyFun x6989586621679389320 (acc6989586621679389319, y6989586621679389321) -> Type) -> Type) (t_a1Bq7 :: acc6989586621679389319) (t_a1Bq8 :: [x6989586621679389320]) = MapAccumL t_a1Bq6 t_a1Bq7 t_a1Bq8
data MapAccumRSym0 (l_a1Bnu :: TyFun (TyFun acc6989586621679389316 (TyFun x6989586621679389317 (acc6989586621679389316, y6989586621679389318) -> Type) -> Type) (TyFun acc6989586621679389316 (TyFun [x6989586621679389317] (acc6989586621679389316, [y6989586621679389318]) -> Type) -> Type))
data MapAccumRSym1 (l_a1Bns :: TyFun acc6989586621679389316 (TyFun x6989586621679389317 (acc6989586621679389316, y6989586621679389318) -> Type) -> Type) (l_a1Bnr :: TyFun acc6989586621679389316 (TyFun [x6989586621679389317] (acc6989586621679389316, [y6989586621679389318]) -> Type))
data MapAccumRSym2 (l_a1Bno :: TyFun acc6989586621679389316 (TyFun x6989586621679389317 (acc6989586621679389316, y6989586621679389318) -> Type) -> Type) (l_a1Bnp :: acc6989586621679389316) (l_a1Bnn :: TyFun [x6989586621679389317] (acc6989586621679389316, [y6989586621679389318]))
type MapAccumRSym3 (t_a1Bnk :: TyFun acc6989586621679389316 (TyFun x6989586621679389317 (acc6989586621679389316, y6989586621679389318) -> Type) -> Type) (t_a1Bnl :: acc6989586621679389316) (t_a1Bnm :: [x6989586621679389317]) = MapAccumR t_a1Bnk t_a1Bnl t_a1Bnm
data ReplicateSym0 (l_a1AVA :: TyFun Nat (TyFun a6989586621679389230 [a6989586621679389230] -> Type))
data ReplicateSym1 (l_a1AVy :: Nat) (l_a1AVx :: TyFun a6989586621679389230 [a6989586621679389230])
type ReplicateSym2 (t_a1AVv :: Nat) (t_a1AVw :: a6989586621679389230) = Replicate t_a1AVv t_a1AVw
data UnfoldrSym0 (l_a1Bn1 :: TyFun (TyFun b6989586621679389314 (Maybe (a6989586621679389315, b6989586621679389314)) -> Type) (TyFun b6989586621679389314 [a6989586621679389315] -> Type))
data UnfoldrSym1 (l_a1BmZ :: TyFun b6989586621679389314 (Maybe (a6989586621679389315, b6989586621679389314)) -> Type) (l_a1BmY :: TyFun b6989586621679389314 [a6989586621679389315])
type UnfoldrSym2 (t_a1BmW :: TyFun b6989586621679389314 (Maybe (a6989586621679389315, b6989586621679389314)) -> Type) (t_a1BmX :: b6989586621679389314) = Unfoldr t_a1BmW t_a1BmX
data TakeSym0 (l_a1AYL :: TyFun Nat (TyFun [a6989586621679389246] [a6989586621679389246] -> Type))
data TakeSym1 (l_a1AYJ :: Nat) (l_a1AYI :: TyFun [a6989586621679389246] [a6989586621679389246])
type TakeSym2 (t_a1AYG :: Nat) (t_a1AYH :: [a6989586621679389246]) = Take t_a1AYG t_a1AYH
data DropSym0 (l_a1AYg :: TyFun Nat (TyFun [a6989586621679389245] [a6989586621679389245] -> Type))
data DropSym1 (l_a1AYe :: Nat) (l_a1AYd :: TyFun [a6989586621679389245] [a6989586621679389245])
type DropSym2 (t_a1AYb :: Nat) (t_a1AYc :: [a6989586621679389245]) = Drop t_a1AYb t_a1AYc
data SplitAtSym0 (l_a1AZg :: TyFun Nat (TyFun [a6989586621679389244] ([a6989586621679389244], [a6989586621679389244]) -> Type))
data SplitAtSym1 (l_a1AZe :: Nat) (l_a1AZd :: TyFun [a6989586621679389244] ([a6989586621679389244], [a6989586621679389244]))
type SplitAtSym2 (t_a1AZb :: Nat) (t_a1AZc :: [a6989586621679389244]) = SplitAt t_a1AZb t_a1AZc
data TakeWhileSym0 (l_a1B4G :: TyFun (TyFun a6989586621679389251 Bool -> Type) (TyFun [a6989586621679389251] [a6989586621679389251] -> Type))
data TakeWhileSym1 (l_a1B4E :: TyFun a6989586621679389251 Bool -> Type) (l_a1B4D :: TyFun [a6989586621679389251] [a6989586621679389251])
type TakeWhileSym2 (t_a1B4B :: TyFun a6989586621679389251 Bool -> Type) (t_a1B4C :: [a6989586621679389251]) = TakeWhile t_a1B4B t_a1B4C
data DropWhileSym0 (l_a1B3Y :: TyFun (TyFun a6989586621679389250 Bool -> Type) (TyFun [a6989586621679389250] [a6989586621679389250] -> Type))
data DropWhileSym1 (l_a1B3W :: TyFun a6989586621679389250 Bool -> Type) (l_a1B3V :: TyFun [a6989586621679389250] [a6989586621679389250])
type DropWhileSym2 (t_a1B3T :: TyFun a6989586621679389250 Bool -> Type) (t_a1B3U :: [a6989586621679389250]) = DropWhile t_a1B3T t_a1B3U
data DropWhileEndSym0 (l_a1BJL :: TyFun (TyFun a6989586621679389249 Bool -> Type) (TyFun [a6989586621679389249] [a6989586621679389249] -> Type))
data DropWhileEndSym1 (l_a1BJJ :: TyFun a6989586621679389249 Bool -> Type) (l_a1BJI :: TyFun [a6989586621679389249] [a6989586621679389249])
type DropWhileEndSym2 (t_a1BJG :: TyFun a6989586621679389249 Bool -> Type) (t_a1BJH :: [a6989586621679389249]) = DropWhileEnd t_a1BJG t_a1BJH
data SpanSym0 (l_a1B15 :: TyFun (TyFun a6989586621679389248 Bool -> Type) (TyFun [a6989586621679389248] ([a6989586621679389248], [a6989586621679389248]) -> Type))
data SpanSym1 (l_a1B13 :: TyFun a6989586621679389248 Bool -> Type) (l_a1B12 :: TyFun [a6989586621679389248] ([a6989586621679389248], [a6989586621679389248]))
type SpanSym2 (t_a1B10 :: TyFun a6989586621679389248 Bool -> Type) (t_a1B11 :: [a6989586621679389248]) = Span t_a1B10 t_a1B11
data BreakSym0 (l_a1AZr :: TyFun (TyFun a6989586621679389247 Bool -> Type) (TyFun [a6989586621679389247] ([a6989586621679389247], [a6989586621679389247]) -> Type))
data BreakSym1 (l_a1AZp :: TyFun a6989586621679389247 Bool -> Type) (l_a1AZo :: TyFun [a6989586621679389247] ([a6989586621679389247], [a6989586621679389247]))
type BreakSym2 (t_a1AZm :: TyFun a6989586621679389247 Bool -> Type) (t_a1AZn :: [a6989586621679389247]) = Break t_a1AZm t_a1AZn
data GroupSym0 (l_a1B3P :: TyFun [a6989586621679389243] [[a6989586621679389243]])
type GroupSym1 (t_a1B3O :: [a6989586621679389243]) = Group t_a1B3O
data InitsSym0 (l_a1BmN :: TyFun [a6989586621679389313] [[a6989586621679389313]])
type InitsSym1 (t_a1BmM :: [a6989586621679389313]) = Inits t_a1BmM
data TailsSym0 (l_a1Bmq :: TyFun [a6989586621679389312] [[a6989586621679389312]])
type TailsSym1 (t_a1Bmp :: [a6989586621679389312]) = Tails t_a1Bmp
data IsPrefixOfSym0 (l_a1Bm5 :: TyFun [a6989586621679389311] (TyFun [a6989586621679389311] Bool -> Type))
data IsPrefixOfSym1 (l_a1Bm3 :: [a6989586621679389311]) (l_a1Bm2 :: TyFun [a6989586621679389311] Bool)
type IsPrefixOfSym2 (t_a1Bm0 :: [a6989586621679389311]) (t_a1Bm1 :: [a6989586621679389311]) = IsPrefixOf t_a1Bm0 t_a1Bm1
data IsSuffixOfSym0 (l_a1BJq :: TyFun [a6989586621679389310] (TyFun [a6989586621679389310] Bool -> Type))
data IsSuffixOfSym1 (l_a1BJo :: [a6989586621679389310]) (l_a1BJn :: TyFun [a6989586621679389310] Bool)
type IsSuffixOfSym2 (t_a1BJl :: [a6989586621679389310]) (t_a1BJm :: [a6989586621679389310]) = IsSuffixOf t_a1BJl t_a1BJm
data IsInfixOfSym0 (l_a1BmG :: TyFun [a6989586621679389309] (TyFun [a6989586621679389309] Bool -> Type))
data IsInfixOfSym1 (l_a1BmE :: [a6989586621679389309]) (l_a1BmD :: TyFun [a6989586621679389309] Bool)
type IsInfixOfSym2 (t_a1BmB :: [a6989586621679389309]) (t_a1BmC :: [a6989586621679389309]) = IsInfixOf t_a1BmB t_a1BmC
data ElemSym0 (l_a1Bl4 :: TyFun a6989586621679389308 (TyFun [a6989586621679389308] Bool -> Type))
data ElemSym1 (l_a1Bl2 :: a6989586621679389308) (l_a1Bl1 :: TyFun [a6989586621679389308] Bool)
type ElemSym2 (t_a1BkZ :: a6989586621679389308) (t_a1Bl0 :: [a6989586621679389308]) = Elem t_a1BkZ t_a1Bl0
data NotElemSym0 (l_a1BkP :: TyFun a6989586621679389307 (TyFun [a6989586621679389307] Bool -> Type))
data NotElemSym1 (l_a1BkN :: a6989586621679389307) (l_a1BkM :: TyFun [a6989586621679389307] Bool)
type NotElemSym2 (t_a1BkK :: a6989586621679389307) (t_a1BkL :: [a6989586621679389307]) = NotElem t_a1BkK t_a1BkL
data LookupSym0 (l_a1AXG :: TyFun a6989586621679389236 (TyFun [(a6989586621679389236, b6989586621679389237)] (Maybe b6989586621679389237) -> Type))
data LookupSym1 (l_a1AXE :: a6989586621679389236) (l_a1AXD :: TyFun [(a6989586621679389236, b6989586621679389237)] (Maybe b6989586621679389237))
type LookupSym2 (t_a1AXB :: a6989586621679389236) (t_a1AXC :: [(a6989586621679389236, b6989586621679389237)]) = Lookup t_a1AXB t_a1AXC
data FindSym0 (l_a1B5E :: TyFun (TyFun a6989586621679389258 Bool -> Type) (TyFun [a6989586621679389258] (Maybe a6989586621679389258) -> Type))
data FindSym1 (l_a1B5C :: TyFun a6989586621679389258 Bool -> Type) (l_a1B5B :: TyFun [a6989586621679389258] (Maybe a6989586621679389258))
type FindSym2 (t_a1B5z :: TyFun a6989586621679389258 Bool -> Type) (t_a1B5A :: [a6989586621679389258]) = Find t_a1B5z t_a1B5A
data FilterSym0 (l_a1B5b :: TyFun (TyFun a6989586621679389259 Bool -> Type) (TyFun [a6989586621679389259] [a6989586621679389259] -> Type))
data FilterSym1 (l_a1B59 :: TyFun a6989586621679389259 Bool -> Type) (l_a1B58 :: TyFun [a6989586621679389259] [a6989586621679389259])
type FilterSym2 (t_a1B56 :: TyFun a6989586621679389259 Bool -> Type) (t_a1B57 :: [a6989586621679389259]) = Filter t_a1B56 t_a1B57
data PartitionSym0 (l_a1AXv :: TyFun (TyFun a6989586621679389235 Bool -> Type) (TyFun [a6989586621679389235] ([a6989586621679389235], [a6989586621679389235]) -> Type))
data PartitionSym1 (l_a1AXt :: TyFun a6989586621679389235 Bool -> Type) (l_a1AXs :: TyFun [a6989586621679389235] ([a6989586621679389235], [a6989586621679389235]))
type PartitionSym2 (t_a1AXq :: TyFun a6989586621679389235 Bool -> Type) (t_a1AXr :: [a6989586621679389235]) = Partition t_a1AXq t_a1AXr
data (:!!$) (l_a1AV5 :: TyFun [a6989586621679389228] (TyFun Nat a6989586621679389228 -> Type))
data (:!!$$) (l_a1AV3 :: [a6989586621679389228]) (l_a1AV2 :: TyFun Nat a6989586621679389228)
type (:!!$$$) (t_a1AV0 :: [a6989586621679389228]) (t_a1AV1 :: Nat) = (:!!) t_a1AV0 t_a1AV1
data ElemIndexSym0 (l_a1BkC :: TyFun a6989586621679389257 (TyFun [a6989586621679389257] (Maybe Nat) -> Type))
data ElemIndexSym1 (l_a1BkA :: a6989586621679389257) (l_a1Bkz :: TyFun [a6989586621679389257] (Maybe Nat))
type ElemIndexSym2 (t_a1Bkx :: a6989586621679389257) (t_a1Bky :: [a6989586621679389257]) = ElemIndex t_a1Bkx t_a1Bky
data ElemIndicesSym0 (l_a1Bkc :: TyFun a6989586621679389256 (TyFun [a6989586621679389256] [Nat] -> Type))
data ElemIndicesSym1 (l_a1Bka :: a6989586621679389256) (l_a1Bk9 :: TyFun [a6989586621679389256] [Nat])
type ElemIndicesSym2 (t_a1Bk7 :: a6989586621679389256) (t_a1Bk8 :: [a6989586621679389256]) = ElemIndices t_a1Bk7 t_a1Bk8
data FindIndexSym0 (l_a1Bkp :: TyFun (TyFun a6989586621679389255 Bool -> Type) (TyFun [a6989586621679389255] (Maybe Nat) -> Type))
data FindIndexSym1 (l_a1Bkn :: TyFun a6989586621679389255 Bool -> Type) (l_a1Bkm :: TyFun [a6989586621679389255] (Maybe Nat))
type FindIndexSym2 (t_a1Bkk :: TyFun a6989586621679389255 Bool -> Type) (t_a1Bkl :: [a6989586621679389255]) = FindIndex t_a1Bkk t_a1Bkl
data FindIndicesSym0 (l_a1Bjb :: TyFun (TyFun a6989586621679389254 Bool -> Type) (TyFun [a6989586621679389254] [Nat] -> Type))
data FindIndicesSym1 (l_a1Bj9 :: TyFun a6989586621679389254 Bool -> Type) (l_a1Bj8 :: TyFun [a6989586621679389254] [Nat])
type FindIndicesSym2 (t_a1Bj6 :: TyFun a6989586621679389254 Bool -> Type) (t_a1Bj7 :: [a6989586621679389254]) = FindIndices t_a1Bj6 t_a1Bj7
data ZipSym0 (l_a1BiM :: TyFun [a6989586621679389305] (TyFun [b6989586621679389306] [(a6989586621679389305, b6989586621679389306)] -> Type))
data ZipSym1 (l_a1BiK :: [a6989586621679389305]) (l_a1BiJ :: TyFun [b6989586621679389306] [(a6989586621679389305, b6989586621679389306)])
type ZipSym2 (t_a1BiH :: [a6989586621679389305]) (t_a1BiI :: [b6989586621679389306]) = Zip t_a1BiH t_a1BiI
data Zip3Sym0 (l_a1BhE :: TyFun [a6989586621679389302] (TyFun [b6989586621679389303] (TyFun [c6989586621679389304] [(a6989586621679389302, b6989586621679389303, c6989586621679389304)] -> Type) -> Type))
data Zip3Sym1 (l_a1BhC :: [a6989586621679389302]) (l_a1BhB :: TyFun [b6989586621679389303] (TyFun [c6989586621679389304] [(a6989586621679389302, b6989586621679389303, c6989586621679389304)] -> Type))
data Zip3Sym2 (l_a1Bhy :: [a6989586621679389302]) (l_a1Bhz :: [b6989586621679389303]) (l_a1Bhx :: TyFun [c6989586621679389304] [(a6989586621679389302, b6989586621679389303, c6989586621679389304)])
type Zip3Sym3 (t_a1Bhu :: [a6989586621679389302]) (t_a1Bhv :: [b6989586621679389303]) (t_a1Bhw :: [c6989586621679389304]) = Zip3 t_a1Bhu t_a1Bhv t_a1Bhw
data ZipWithSym0 (l_a1BgZ :: TyFun (TyFun a6989586621679389299 (TyFun b6989586621679389300 c6989586621679389301 -> Type) -> Type) (TyFun [a6989586621679389299] (TyFun [b6989586621679389300] [c6989586621679389301] -> Type) -> Type))
data ZipWithSym1 (l_a1BgX :: TyFun a6989586621679389299 (TyFun b6989586621679389300 c6989586621679389301 -> Type) -> Type) (l_a1BgW :: TyFun [a6989586621679389299] (TyFun [b6989586621679389300] [c6989586621679389301] -> Type))
data ZipWithSym2 (l_a1BgT :: TyFun a6989586621679389299 (TyFun b6989586621679389300 c6989586621679389301 -> Type) -> Type) (l_a1BgU :: [a6989586621679389299]) (l_a1BgS :: TyFun [b6989586621679389300] [c6989586621679389301])
type ZipWithSym3 (t_a1BgP :: TyFun a6989586621679389299 (TyFun b6989586621679389300 c6989586621679389301 -> Type) -> Type) (t_a1BgQ :: [a6989586621679389299]) (t_a1BgR :: [b6989586621679389300]) = ZipWith t_a1BgP t_a1BgQ t_a1BgR
data ZipWith3Sym0 (l_a1Bfp :: TyFun (TyFun a6989586621679389295 (TyFun b6989586621679389296 (TyFun c6989586621679389297 d6989586621679389298 -> Type) -> Type) -> Type) (TyFun [a6989586621679389295] (TyFun [b6989586621679389296] (TyFun [c6989586621679389297] [d6989586621679389298] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1Bfn :: TyFun a6989586621679389295 (TyFun b6989586621679389296 (TyFun c6989586621679389297 d6989586621679389298 -> Type) -> Type) -> Type) (l_a1Bfm :: TyFun [a6989586621679389295] (TyFun [b6989586621679389296] (TyFun [c6989586621679389297] [d6989586621679389298] -> Type) -> Type))
data ZipWith3Sym2 (l_a1Bfj :: TyFun a6989586621679389295 (TyFun b6989586621679389296 (TyFun c6989586621679389297 d6989586621679389298 -> Type) -> Type) -> Type) (l_a1Bfk :: [a6989586621679389295]) (l_a1Bfi :: TyFun [b6989586621679389296] (TyFun [c6989586621679389297] [d6989586621679389298] -> Type))
data ZipWith3Sym3 (l_a1Bfe :: TyFun a6989586621679389295 (TyFun b6989586621679389296 (TyFun c6989586621679389297 d6989586621679389298 -> Type) -> Type) -> Type) (l_a1Bff :: [a6989586621679389295]) (l_a1Bfg :: [b6989586621679389296]) (l_a1Bfd :: TyFun [c6989586621679389297] [d6989586621679389298])
type ZipWith3Sym4 (t_a1Bf9 :: TyFun a6989586621679389295 (TyFun b6989586621679389296 (TyFun c6989586621679389297 d6989586621679389298 -> Type) -> Type) -> Type) (t_a1Bfa :: [a6989586621679389295]) (t_a1Bfb :: [b6989586621679389296]) (t_a1Bfc :: [c6989586621679389297]) = ZipWith3 t_a1Bf9 t_a1Bfa t_a1Bfb t_a1Bfc
data UnzipSym0 (l_a1BeG :: TyFun [(a6989586621679389293, b6989586621679389294)] ([a6989586621679389293], [b6989586621679389294]))
type UnzipSym1 (t_a1BeF :: [(a6989586621679389293, b6989586621679389294)]) = Unzip t_a1BeF
data Unzip3Sym0 (l_a1Bea :: TyFun [(a6989586621679389290, b6989586621679389291, c6989586621679389292)] ([a6989586621679389290], [b6989586621679389291], [c6989586621679389292]))
type Unzip3Sym1 (t_a1Be9 :: [(a6989586621679389290, b6989586621679389291, c6989586621679389292)]) = Unzip3 t_a1Be9
data Unzip4Sym0 (l_a1BdC :: TyFun [(a6989586621679389286, b6989586621679389287, c6989586621679389288, d6989586621679389289)] ([a6989586621679389286], [b6989586621679389287], [c6989586621679389288], [d6989586621679389289]))
type Unzip4Sym1 (t_a1BdB :: [(a6989586621679389286, b6989586621679389287, c6989586621679389288, d6989586621679389289)]) = Unzip4 t_a1BdB
data Unzip5Sym0 (l_a1Bd2 :: TyFun [(a6989586621679389281, b6989586621679389282, c6989586621679389283, d6989586621679389284, e6989586621679389285)] ([a6989586621679389281], [b6989586621679389282], [c6989586621679389283], [d6989586621679389284], [e6989586621679389285]))
type Unzip5Sym1 (t_a1Bd1 :: [(a6989586621679389281, b6989586621679389282, c6989586621679389283, d6989586621679389284, e6989586621679389285)]) = Unzip5 t_a1Bd1
data Unzip6Sym0 (l_a1Bcq :: TyFun [(a6989586621679389275, b6989586621679389276, c6989586621679389277, d6989586621679389278, e6989586621679389279, f6989586621679389280)] ([a6989586621679389275], [b6989586621679389276], [c6989586621679389277], [d6989586621679389278], [e6989586621679389279], [f6989586621679389280]))
type Unzip6Sym1 (t_a1Bcp :: [(a6989586621679389275, b6989586621679389276, c6989586621679389277, d6989586621679389278, e6989586621679389279, f6989586621679389280)]) = Unzip6 t_a1Bcp
data Unzip7Sym0 (l_a1BbM :: TyFun [(a6989586621679389268, b6989586621679389269, c6989586621679389270, d6989586621679389271, e6989586621679389272, f6989586621679389273, g6989586621679389274)] ([a6989586621679389268], [b6989586621679389269], [c6989586621679389270], [d6989586621679389271], [e6989586621679389272], [f6989586621679389273], [g6989586621679389274]))
type Unzip7Sym1 (t_a1BbL :: [(a6989586621679389268, b6989586621679389269, c6989586621679389270, d6989586621679389271, e6989586621679389272, f6989586621679389273, g6989586621679389274)]) = Unzip7 t_a1BbL
data NubSym0 (l_a1Blf :: TyFun [a6989586621679389227] [a6989586621679389227])
type NubSym1 (t_a1Ble :: [a6989586621679389227]) = Nub t_a1Ble
data DeleteSym0 (l_a1Bbq :: TyFun a6989586621679389267 (TyFun [a6989586621679389267] [a6989586621679389267] -> Type))
data DeleteSym1 (l_a1Bbo :: a6989586621679389267) (l_a1Bbn :: TyFun [a6989586621679389267] [a6989586621679389267])
type DeleteSym2 (t_a1Bbl :: a6989586621679389267) (t_a1Bbm :: [a6989586621679389267]) = Delete t_a1Bbl t_a1Bbm
data (:\\$) (l_a1BbF :: TyFun [a6989586621679389266] (TyFun [a6989586621679389266] [a6989586621679389266] -> Type))
data (:\\$$) (l_a1BbD :: [a6989586621679389266]) (l_a1BbC :: TyFun [a6989586621679389266] [a6989586621679389266])
type (:\\$$$) (t_a1BbA :: [a6989586621679389266]) (t_a1BbB :: [a6989586621679389266]) = (:\\) t_a1BbA t_a1BbB
data UnionSym0 (l_a1Bbb :: TyFun [a6989586621679389223] (TyFun [a6989586621679389223] [a6989586621679389223] -> Type))
data UnionSym1 (l_a1Bb9 :: [a6989586621679389223]) (l_a1Bb8 :: TyFun [a6989586621679389223] [a6989586621679389223])
type UnionSym2 (t_a1Bb6 :: [a6989586621679389223]) (t_a1Bb7 :: [a6989586621679389223]) = Union t_a1Bb6 t_a1Bb7
data IntersectSym0 (l_a1B80 :: TyFun [a6989586621679389253] (TyFun [a6989586621679389253] [a6989586621679389253] -> Type))
data IntersectSym1 (l_a1B7Y :: [a6989586621679389253]) (l_a1B7X :: TyFun [a6989586621679389253] [a6989586621679389253])
type IntersectSym2 (t_a1B7V :: [a6989586621679389253]) (t_a1B7W :: [a6989586621679389253]) = Intersect t_a1B7V t_a1B7W
data InsertSym0 (l_a1B9d :: TyFun a6989586621679389240 (TyFun [a6989586621679389240] [a6989586621679389240] -> Type))
data InsertSym1 (l_a1B9b :: a6989586621679389240) (l_a1B9a :: TyFun [a6989586621679389240] [a6989586621679389240])
type InsertSym2 (t_a1B98 :: a6989586621679389240) (t_a1B99 :: [a6989586621679389240]) = Insert t_a1B98 t_a1B99
data SortSym0 (l_a1B9z :: TyFun [a6989586621679389239] [a6989586621679389239])
type SortSym1 (t_a1B9y :: [a6989586621679389239]) = Sort t_a1B9y
data NubBySym0 (l_a1AU0 :: TyFun (TyFun a6989586621679389226 (TyFun a6989586621679389226 Bool -> Type) -> Type) (TyFun [a6989586621679389226] [a6989586621679389226] -> Type))
data NubBySym1 (l_a1ATY :: TyFun a6989586621679389226 (TyFun a6989586621679389226 Bool -> Type) -> Type) (l_a1ATX :: TyFun [a6989586621679389226] [a6989586621679389226])
type NubBySym2 (t_a1ATV :: TyFun a6989586621679389226 (TyFun a6989586621679389226 Bool -> Type) -> Type) (t_a1ATW :: [a6989586621679389226]) = NubBy t_a1ATV t_a1ATW
data DeleteBySym0 (l_a1B9N :: TyFun (TyFun a6989586621679389265 (TyFun a6989586621679389265 Bool -> Type) -> Type) (TyFun a6989586621679389265 (TyFun [a6989586621679389265] [a6989586621679389265] -> Type) -> Type))
data DeleteBySym1 (l_a1B9L :: TyFun a6989586621679389265 (TyFun a6989586621679389265 Bool -> Type) -> Type) (l_a1B9K :: TyFun a6989586621679389265 (TyFun [a6989586621679389265] [a6989586621679389265] -> Type))
data DeleteBySym2 (l_a1B9H :: TyFun a6989586621679389265 (TyFun a6989586621679389265 Bool -> Type) -> Type) (l_a1B9I :: a6989586621679389265) (l_a1B9G :: TyFun [a6989586621679389265] [a6989586621679389265])
type DeleteBySym3 (t_a1B9D :: TyFun a6989586621679389265 (TyFun a6989586621679389265 Bool -> Type) -> Type) (t_a1B9E :: a6989586621679389265) (t_a1B9F :: [a6989586621679389265]) = DeleteBy t_a1B9D t_a1B9E t_a1B9F
data DeleteFirstsBySym0 (l_a1Bay :: TyFun (TyFun a6989586621679389264 (TyFun a6989586621679389264 Bool -> Type) -> Type) (TyFun [a6989586621679389264] (TyFun [a6989586621679389264] [a6989586621679389264] -> Type) -> Type))
data DeleteFirstsBySym1 (l_a1Baw :: TyFun a6989586621679389264 (TyFun a6989586621679389264 Bool -> Type) -> Type) (l_a1Bav :: TyFun [a6989586621679389264] (TyFun [a6989586621679389264] [a6989586621679389264] -> Type))
data DeleteFirstsBySym2 (l_a1Bas :: TyFun a6989586621679389264 (TyFun a6989586621679389264 Bool -> Type) -> Type) (l_a1Bat :: [a6989586621679389264]) (l_a1Bar :: TyFun [a6989586621679389264] [a6989586621679389264])
type DeleteFirstsBySym3 (t_a1Bao :: TyFun a6989586621679389264 (TyFun a6989586621679389264 Bool -> Type) -> Type) (t_a1Bap :: [a6989586621679389264]) (t_a1Baq :: [a6989586621679389264]) = DeleteFirstsBy t_a1Bao t_a1Bap t_a1Baq
data UnionBySym0 (l_a1BaU :: TyFun (TyFun a6989586621679389224 (TyFun a6989586621679389224 Bool -> Type) -> Type) (TyFun [a6989586621679389224] (TyFun [a6989586621679389224] [a6989586621679389224] -> Type) -> Type))
data UnionBySym1 (l_a1BaS :: TyFun a6989586621679389224 (TyFun a6989586621679389224 Bool -> Type) -> Type) (l_a1BaR :: TyFun [a6989586621679389224] (TyFun [a6989586621679389224] [a6989586621679389224] -> Type))
data UnionBySym2 (l_a1BaO :: TyFun a6989586621679389224 (TyFun a6989586621679389224 Bool -> Type) -> Type) (l_a1BaP :: [a6989586621679389224]) (l_a1BaN :: TyFun [a6989586621679389224] [a6989586621679389224])
type UnionBySym3 (t_a1BaK :: TyFun a6989586621679389224 (TyFun a6989586621679389224 Bool -> Type) -> Type) (t_a1BaL :: [a6989586621679389224]) (t_a1BaM :: [a6989586621679389224]) = UnionBy t_a1BaK t_a1BaL t_a1BaM
data IntersectBySym0 (l_a1B5W :: TyFun (TyFun a6989586621679389252 (TyFun a6989586621679389252 Bool -> Type) -> Type) (TyFun [a6989586621679389252] (TyFun [a6989586621679389252] [a6989586621679389252] -> Type) -> Type))
data IntersectBySym1 (l_a1B5U :: TyFun a6989586621679389252 (TyFun a6989586621679389252 Bool -> Type) -> Type) (l_a1B5T :: TyFun [a6989586621679389252] (TyFun [a6989586621679389252] [a6989586621679389252] -> Type))
data IntersectBySym2 (l_a1B5Q :: TyFun a6989586621679389252 (TyFun a6989586621679389252 Bool -> Type) -> Type) (l_a1B5R :: [a6989586621679389252]) (l_a1B5P :: TyFun [a6989586621679389252] [a6989586621679389252])
type IntersectBySym3 (t_a1B5M :: TyFun a6989586621679389252 (TyFun a6989586621679389252 Bool -> Type) -> Type) (t_a1B5N :: [a6989586621679389252]) (t_a1B5O :: [a6989586621679389252]) = IntersectBy t_a1B5M t_a1B5N t_a1B5O
data GroupBySym0 (l_a1B2J :: TyFun (TyFun a6989586621679389238 (TyFun a6989586621679389238 Bool -> Type) -> Type) (TyFun [a6989586621679389238] [[a6989586621679389238]] -> Type))
data GroupBySym1 (l_a1B2H :: TyFun a6989586621679389238 (TyFun a6989586621679389238 Bool -> Type) -> Type) (l_a1B2G :: TyFun [a6989586621679389238] [[a6989586621679389238]])
type GroupBySym2 (t_a1B2E :: TyFun a6989586621679389238 (TyFun a6989586621679389238 Bool -> Type) -> Type) (t_a1B2F :: [a6989586621679389238]) = GroupBy t_a1B2E t_a1B2F
data SortBySym0 (l_a1B9o :: TyFun (TyFun a6989586621679389263 (TyFun a6989586621679389263 Ordering -> Type) -> Type) (TyFun [a6989586621679389263] [a6989586621679389263] -> Type))
data SortBySym1 (l_a1B9m :: TyFun a6989586621679389263 (TyFun a6989586621679389263 Ordering -> Type) -> Type) (l_a1B9l :: TyFun [a6989586621679389263] [a6989586621679389263])
type SortBySym2 (t_a1B9j :: TyFun a6989586621679389263 (TyFun a6989586621679389263 Ordering -> Type) -> Type) (t_a1B9k :: [a6989586621679389263]) = SortBy t_a1B9j t_a1B9k
data InsertBySym0 (l_a1B8g :: TyFun (TyFun a6989586621679389262 (TyFun a6989586621679389262 Ordering -> Type) -> Type) (TyFun a6989586621679389262 (TyFun [a6989586621679389262] [a6989586621679389262] -> Type) -> Type))
data InsertBySym1 (l_a1B8e :: TyFun a6989586621679389262 (TyFun a6989586621679389262 Ordering -> Type) -> Type) (l_a1B8d :: TyFun a6989586621679389262 (TyFun [a6989586621679389262] [a6989586621679389262] -> Type))
data InsertBySym2 (l_a1B8a :: TyFun a6989586621679389262 (TyFun a6989586621679389262 Ordering -> Type) -> Type) (l_a1B8b :: a6989586621679389262) (l_a1B89 :: TyFun [a6989586621679389262] [a6989586621679389262])
type InsertBySym3 (t_a1B86 :: TyFun a6989586621679389262 (TyFun a6989586621679389262 Ordering -> Type) -> Type) (t_a1B87 :: a6989586621679389262) (t_a1B88 :: [a6989586621679389262]) = InsertBy t_a1B86 t_a1B87 t_a1B88
data MaximumBySym0 (l_a1BwY :: TyFun (TyFun a6989586621679389261 (TyFun a6989586621679389261 Ordering -> Type) -> Type) (TyFun [a6989586621679389261] a6989586621679389261 -> Type))
data MaximumBySym1 (l_a1BwW :: TyFun a6989586621679389261 (TyFun a6989586621679389261 Ordering -> Type) -> Type) (l_a1BwV :: TyFun [a6989586621679389261] a6989586621679389261)
type MaximumBySym2 (t_a1BwT :: TyFun a6989586621679389261 (TyFun a6989586621679389261 Ordering -> Type) -> Type) (t_a1BwU :: [a6989586621679389261]) = MaximumBy t_a1BwT t_a1BwU
data MinimumBySym0 (l_a1Byn :: TyFun (TyFun a6989586621679389260 (TyFun a6989586621679389260 Ordering -> Type) -> Type) (TyFun [a6989586621679389260] a6989586621679389260 -> Type))
data MinimumBySym1 (l_a1Byl :: TyFun a6989586621679389260 (TyFun a6989586621679389260 Ordering -> Type) -> Type) (l_a1Byk :: TyFun [a6989586621679389260] a6989586621679389260)
type MinimumBySym2 (t_a1Byi :: TyFun a6989586621679389260 (TyFun a6989586621679389260 Ordering -> Type) -> Type) (t_a1Byj :: [a6989586621679389260]) = MinimumBy t_a1Byi t_a1Byj
data GenericLengthSym0 (l_a1ATp :: TyFun [a6989586621679389222] i6989586621679389221)
type GenericLengthSym1 (t_a1ATo :: [a6989586621679389222]) = GenericLength t_a1ATo
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.Let6989586621679393197Scrutinee_6989586621679389866Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679393197Scrutinee_6989586621679389866Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679393197Scrutinee_6989586621679389866Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679393197Scrutinee_6989586621679389866Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679393193Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679393193Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679393193Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679393193Sym3
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.Let6989586621679392693PermsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392693PermsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392693PermsSym1
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.Let6989586621679392224Scrutinee_6989586621679389800Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392224Scrutinee_6989586621679389800Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392224Scrutinee_6989586621679389800Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392224Scrutinee_6989586621679389800Sym3
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.Let6989586621679392177Scrutinee_6989586621679389802Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392177Scrutinee_6989586621679389802Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392177Scrutinee_6989586621679389802Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392177Scrutinee_6989586621679389802Sym3
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.Let6989586621679391989X_6989586621679391996Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989X_6989586621679391996Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989X_6989586621679391996Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989X_6989586621679391996Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989S''Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989S''Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989S''Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989S''Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989YsSym3
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.Let6989586621679391817X_6989586621679391824Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817X_6989586621679391824Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817X_6989586621679391824Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817X_6989586621679391824Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817S'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817S'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817S'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817S'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817X_6989586621679391818Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817X_6989586621679391818Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817X_6989586621679391818Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817X_6989586621679391818Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817S''Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817S''Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817S''Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817S''Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817YSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817YSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817YSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817YSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391817YsSym3
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.Let6989586621679391690Scrutinee_6989586621679389892Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391690Scrutinee_6989586621679389892Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391690Scrutinee_6989586621679389892Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391690Scrutinee_6989586621679389892Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391669Nub'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391669Nub'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391669Nub'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.Let6989586621679390454X_6989586621679390455Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390454X_6989586621679390455Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390454X_6989586621679390455Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390454YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390454YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390454YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390454ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390454ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390454ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390527X_6989586621679390528Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390527X_6989586621679390528Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390527X_6989586621679390528Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390527YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390527YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390527YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390527ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390527ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390527ZsSym2
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.Let6989586621679390352X_6989586621679390353Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390352X_6989586621679390353Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390352X_6989586621679390353Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390352YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390352YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390352YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390352ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390352ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390352ZsSym2
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.Let6989586621679390009Scrutinee_6989586621679389894Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390009Scrutinee_6989586621679389894Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390009Scrutinee_6989586621679389894Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390009Scrutinee_6989586621679389894Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390009Scrutinee_6989586621679389894Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679389982NubBy'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679389982NubBy'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679389982NubBy'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679389982NubBy'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.Let6989586621679393245Init'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679393245Init'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679393245Init'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679393245Init'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679393140RevSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679393140RevSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679393140RevSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679393081FSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679393081FSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679393081FSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679393081FSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392714InterleaveSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392714InterleaveSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392714InterleaveSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392714InterleaveSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392714InterleaveSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392714InterleaveSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768X_6989586621679392769Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768X_6989586621679392769Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768X_6989586621679392769Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768X_6989586621679392769Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768X_6989586621679392769Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768X_6989586621679392769Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768X_6989586621679392769Sym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768X_6989586621679392769Sym7
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768UsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768UsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768UsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768UsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768UsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768UsSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768UsSym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768UsSym7
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768ZsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768ZsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768ZsSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768ZsSym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392768ZsSym7
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392982X_6989586621679392983Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392982X_6989586621679392983Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392982X_6989586621679392983Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392982X_6989586621679392983Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392982X_6989586621679392983Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392982X_6989586621679392983Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392982ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392982ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392982ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392982ZsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392982ZsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392982ZsSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392714Interleave'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392714Interleave'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392714Interleave'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392714Interleave'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392714Interleave'Sym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392714Interleave'Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392714Interleave'Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392607LgoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392607LgoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392607LgoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392607LgoSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392607LgoSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392639Z'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392639Z'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392639Z'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392639Z'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392639Z'Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392639Z'Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392581XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392581XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392567XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392567XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392502MinBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392502MinBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392502MinBySym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392502MinBySym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392502MinBySym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392532Scrutinee_6989586621679389844Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392532Scrutinee_6989586621679389844Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392532Scrutinee_6989586621679389844Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392532Scrutinee_6989586621679389844Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392532Scrutinee_6989586621679389844Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392489XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392489XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392489XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392415MaxBySym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392415MaxBySym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392415MaxBySym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392415MaxBySym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392415MaxBySym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392445Scrutinee_6989586621679389838Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392445Scrutinee_6989586621679389838Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392445Scrutinee_6989586621679389838Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392445Scrutinee_6989586621679389838Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392445Scrutinee_6989586621679389838Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392402XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392402XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392402XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392350XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392350XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392350XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392350XsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392158XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392158XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392158XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679392158XsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989X_6989586621679391990Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989X_6989586621679391990Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989X_6989586621679391990Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989X_6989586621679391990Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989S'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989S'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989S'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989S'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989YSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989YSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989YSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391989YSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391781Scrutinee_6989586621679389808Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391781Scrutinee_6989586621679389808Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391572Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391572Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391572Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391543BuildListSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391543BuildListSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391543BuildListSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679391543BuildListSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391262Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391262Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391262Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391230Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391230Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391230Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391196Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391196Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391196Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391160Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391160Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391160Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391122Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391122Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391122Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391082Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391082Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679391082Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390970Scrutinee_6989586621679389834Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390970Scrutinee_6989586621679389834Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390970Scrutinee_6989586621679389834Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390970Scrutinee_6989586621679389834Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390892Scrutinee_6989586621679389836Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390892Scrutinee_6989586621679389836Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390892Scrutinee_6989586621679389836Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390892Scrutinee_6989586621679389836Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390873YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390873YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390873YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390873YsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679390798Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679390798Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679390798Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679390798Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679390798Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Lambda_6989586621679390798Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390747YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390747YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390747YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390747YsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390747YsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390747XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390747XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390747XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390747XsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390747XsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390677Scrutinee_6989586621679389850Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390677Scrutinee_6989586621679389850Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390677Scrutinee_6989586621679389850Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390648Scrutinee_6989586621679389862Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390648Scrutinee_6989586621679389862Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390648Scrutinee_6989586621679389862Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390617Scrutinee_6989586621679389864Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390617Scrutinee_6989586621679389864Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390617Scrutinee_6989586621679389864Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390604XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390604XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390604XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390439Scrutinee_6989586621679389868Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390439Scrutinee_6989586621679389868Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390439Scrutinee_6989586621679389868Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390426XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390426XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390426XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390337Scrutinee_6989586621679389870Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390337Scrutinee_6989586621679389870Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390337Scrutinee_6989586621679389870Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390324XsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390324XsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390324XsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390281Scrutinee_6989586621679389872Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390281Scrutinee_6989586621679389872Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390281Scrutinee_6989586621679389872Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390250Scrutinee_6989586621679389874Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390250Scrutinee_6989586621679389874Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390250Scrutinee_6989586621679389874Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390213Scrutinee_6989586621679389884Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390213Scrutinee_6989586621679389884Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390213Scrutinee_6989586621679389884Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390213Scrutinee_6989586621679389884Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390166Scrutinee_6989586621679389886Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390166Scrutinee_6989586621679389886Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390166Scrutinee_6989586621679389886Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390166Scrutinee_6989586621679389886Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390128Sum'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390128Sum'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390128Sum'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390104ProdSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390104ProdSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390104ProdSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390080Scrutinee_6989586621679389888Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390080Scrutinee_6989586621679389888Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390053Scrutinee_6989586621679389890Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390053Scrutinee_6989586621679389890Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.Let6989586621679390053Scrutinee_6989586621679389890Sym2
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_agBa -> Type)
sMap :: forall (t_a2wcf :: TyFun a_a2vT5 b_a2vT6 -> Type) (t_a2wcg :: NonEmpty a_a2vT5). Sing t_a2wcf -> Sing t_a2wcg -> Sing (Apply (Apply MapSym0 t_a2wcf) t_a2wcg :: NonEmpty b_a2vT6)
sIntersperse :: forall (t_a2wcd :: a_a2vSV) (t_a2wce :: NonEmpty a_a2vSV). Sing t_a2wcd -> Sing t_a2wce -> Sing (Apply (Apply IntersperseSym0 t_a2wcd) t_a2wce :: NonEmpty a_a2vSV)
sScanl :: forall (t_a2wcO :: TyFun b_a2vT0 (TyFun a_a2vT1 b_a2vT0 -> Type) -> Type) (t_a2wcP :: b_a2vT0) (t_a2wcQ :: [a_a2vT1]). Sing t_a2wcO -> Sing t_a2wcP -> Sing t_a2wcQ -> Sing (Apply (Apply (Apply ScanlSym0 t_a2wcO) t_a2wcP) t_a2wcQ :: NonEmpty b_a2vT0)
sScanr :: forall (t_a2wcR :: TyFun a_a2vSY (TyFun b_a2vSZ b_a2vSZ -> Type) -> Type) (t_a2wcS :: b_a2vSZ) (t_a2wcT :: [a_a2vSY]). Sing t_a2wcR -> Sing t_a2wcS -> Sing t_a2wcT -> Sing (Apply (Apply (Apply ScanrSym0 t_a2wcR) t_a2wcS) t_a2wcT :: NonEmpty b_a2vSZ)
sScanl1 :: forall (t_a2wcU :: TyFun a_a2vSX (TyFun a_a2vSX a_a2vSX -> Type) -> Type) (t_a2wcV :: NonEmpty a_a2vSX). Sing t_a2wcU -> Sing t_a2wcV -> Sing (Apply (Apply Scanl1Sym0 t_a2wcU) t_a2wcV :: NonEmpty a_a2vSX)
sScanr1 :: forall (t_a2wcW :: TyFun a_a2vSW (TyFun a_a2vSW a_a2vSW -> Type) -> Type) (t_a2wcX :: NonEmpty a_a2vSW). Sing t_a2wcW -> Sing t_a2wcX -> Sing (Apply (Apply Scanr1Sym0 t_a2wcW) t_a2wcX :: NonEmpty a_a2vSW)
sTranspose :: forall (t_a2wdh :: NonEmpty (NonEmpty a_a2vSn)). Sing t_a2wdh -> Sing (Apply TransposeSym0 t_a2wdh :: NonEmpty (NonEmpty a_a2vSn))
sSortBy :: forall (t_a2wcE :: TyFun a_a2vSm (TyFun a_a2vSm Ordering -> Type) -> Type) (t_a2wcF :: NonEmpty a_a2vSm). Sing t_a2wcE -> Sing t_a2wcF -> Sing (Apply (Apply SortBySym0 t_a2wcE) t_a2wcF :: NonEmpty a_a2vSm)
sSortWith :: forall (t_a2wcG :: TyFun a_a2vSl o_a2vSk -> Type) (t_a2wcH :: NonEmpty a_a2vSl). SOrd o_a2vSk => Sing t_a2wcG -> Sing t_a2wcH -> Sing (Apply (Apply SortWithSym0 t_a2wcG) t_a2wcH :: NonEmpty a_a2vSl)
sLength :: forall (t_a2wde :: NonEmpty a_a2vTo). Sing t_a2wde -> Sing (Apply LengthSym0 t_a2wde :: Nat)
sHead :: forall (t_a2wd6 :: NonEmpty a_a2vTh). Sing t_a2wd6 -> Sing (Apply HeadSym0 t_a2wd6 :: a_a2vTh)
sTail :: forall (t_a2wd5 :: NonEmpty a_a2vTg). Sing t_a2wd5 -> Sing (Apply TailSym0 t_a2wd5 :: [a_a2vTg])
sLast :: forall (t_a2wd4 :: NonEmpty a_a2vTf). Sing t_a2wd4 -> Sing (Apply LastSym0 t_a2wd4 :: a_a2vTf)
sInit :: forall (t_a2wd3 :: NonEmpty a_a2vTe). Sing t_a2wd3 -> Sing (Apply InitSym0 t_a2wd3 :: [a_a2vTe])
(%:<|) :: forall (t_a2wcZ :: a_a2vTd) (t_a2wd0 :: NonEmpty a_a2vTd). Sing t_a2wcZ -> Sing t_a2wd0 -> Sing (Apply (Apply (:<|$) t_a2wcZ) t_a2wd0 :: NonEmpty a_a2vTd)
sCons :: forall (t_a2wd1 :: a_a2vTc) (t_a2wd2 :: NonEmpty a_a2vTc). Sing t_a2wd1 -> Sing t_a2wd2 -> Sing (Apply (Apply ConsSym0 t_a2wd1) t_a2wd2 :: NonEmpty a_a2vTc)
sUncons :: forall (t_a2wda :: NonEmpty a_a2vTk). Sing t_a2wda -> Sing (Apply UnconsSym0 t_a2wda :: (a_a2vTk, Maybe (NonEmpty a_a2vTk)))
sUnfoldr :: forall (t_a2wd7 :: TyFun a_a2vTi (b_a2vTj, Maybe a_a2vTi) -> Type) (t_a2wd8 :: a_a2vTi). Sing t_a2wd7 -> Sing t_a2wd8 -> Sing (Apply (Apply UnfoldrSym0 t_a2wd7) t_a2wd8 :: NonEmpty b_a2vTj)
sSort :: forall (t_a2wcY :: NonEmpty a_a2vTb). SOrd a_a2vTb => Sing t_a2wcY -> Sing (Apply SortSym0 t_a2wcY :: NonEmpty a_a2vTb)
sReverse :: forall (t_a2wcD :: NonEmpty a_a2vSU). Sing t_a2wcD -> Sing (Apply ReverseSym0 t_a2wcD :: NonEmpty a_a2vSU)
sInits :: forall (t_a2wcK :: [a_a2vT4]). Sing t_a2wcK -> Sing (Apply InitsSym0 t_a2wcK :: NonEmpty [a_a2vT4])
sTails :: forall (t_a2wcL :: [a_a2vT3]). Sing t_a2wcL -> Sing (Apply TailsSym0 t_a2wcL :: NonEmpty [a_a2vT3])
sUnfold :: forall (t_a2wdb :: TyFun a_a2vTm (b_a2vTn, Maybe a_a2vTm) -> Type) (t_a2wdc :: a_a2vTm). Sing t_a2wdb -> Sing t_a2wdc -> Sing (Apply (Apply UnfoldSym0 t_a2wdb) t_a2wdc :: NonEmpty b_a2vTn)
sInsert :: forall (t_a2wcM :: a_a2vT2) (t_a2wcN :: [a_a2vT2]). SOrd a_a2vT2 => Sing t_a2wcM -> Sing t_a2wcN -> Sing (Apply (Apply InsertSym0 t_a2wcM) t_a2wcN :: NonEmpty a_a2vT2)
sTake :: forall (t_a2wci :: Nat) (t_a2wcj :: NonEmpty a_a2vST). Sing t_a2wci -> Sing t_a2wcj -> Sing (Apply (Apply TakeSym0 t_a2wci) t_a2wcj :: [a_a2vST])
sDrop :: forall (t_a2wck :: Nat) (t_a2wcl :: NonEmpty a_a2vSS). Sing t_a2wck -> Sing t_a2wcl -> Sing (Apply (Apply DropSym0 t_a2wck) t_a2wcl :: [a_a2vSS])
sSplitAt :: forall (t_a2wcm :: Nat) (t_a2wcn :: NonEmpty a_a2vSR). Sing t_a2wcm -> Sing t_a2wcn -> Sing (Apply (Apply SplitAtSym0 t_a2wcm) t_a2wcn :: ([a_a2vSR], [a_a2vSR]))
sTakeWhile :: forall (t_a2wco :: TyFun a_a2vSQ Bool -> Type) (t_a2wcp :: NonEmpty a_a2vSQ). Sing t_a2wco -> Sing t_a2wcp -> Sing (Apply (Apply TakeWhileSym0 t_a2wco) t_a2wcp :: [a_a2vSQ])
sDropWhile :: forall (t_a2wcq :: TyFun a_a2vSP Bool -> Type) (t_a2wcr :: NonEmpty a_a2vSP). Sing t_a2wcq -> Sing t_a2wcr -> Sing (Apply (Apply DropWhileSym0 t_a2wcq) t_a2wcr :: [a_a2vSP])
sSpan :: forall (t_a2wcs :: TyFun a_a2vSO Bool -> Type) (t_a2wct :: NonEmpty a_a2vSO). Sing t_a2wcs -> Sing t_a2wct -> Sing (Apply (Apply SpanSym0 t_a2wcs) t_a2wct :: ([a_a2vSO], [a_a2vSO]))
sBreak :: forall (t_a2wcu :: TyFun a_a2vSN Bool -> Type) (t_a2wcv :: NonEmpty a_a2vSN). Sing t_a2wcu -> Sing t_a2wcv -> Sing (Apply (Apply BreakSym0 t_a2wcu) t_a2wcv :: ([a_a2vSN], [a_a2vSN]))
sFilter :: forall (t_a2wcw :: TyFun a_a2vSM Bool -> Type) (t_a2wcx :: NonEmpty a_a2vSM). Sing t_a2wcw -> Sing t_a2wcx -> Sing (Apply (Apply FilterSym0 t_a2wcw) t_a2wcx :: [a_a2vSM])
sPartition :: forall (t_a2wcy :: TyFun a_a2vSL Bool -> Type) (t_a2wcz :: NonEmpty a_a2vSL). Sing t_a2wcy -> Sing t_a2wcz -> Sing (Apply (Apply PartitionSym0 t_a2wcy) t_a2wcz :: ([a_a2vSL], [a_a2vSL]))
sGroup :: forall (t_a2wcc :: [a_a2vSK]). SEq a_a2vSK => Sing t_a2wcc -> Sing (Apply GroupSym0 t_a2wcc :: [NonEmpty a_a2vSK])
sGroupBy :: forall (t_a2wc1 :: TyFun a_a2vSJ (TyFun a_a2vSJ Bool -> Type) -> Type) (t_a2wc2 :: [a_a2vSJ]). Sing t_a2wc1 -> Sing t_a2wc2 -> Sing (Apply (Apply GroupBySym0 t_a2wc1) t_a2wc2 :: [NonEmpty a_a2vSJ])
sGroupWith :: forall (t_a2wc3 :: TyFun a_a2vSI b_a2vSH -> Type) (t_a2wc4 :: [a_a2vSI]). SEq b_a2vSH => Sing t_a2wc3 -> Sing t_a2wc4 -> Sing (Apply (Apply GroupWithSym0 t_a2wc3) t_a2wc4 :: [NonEmpty a_a2vSI])
sGroupAllWith :: forall (t_a2wc5 :: TyFun a_a2vSG b_a2vSF -> Type) (t_a2wc6 :: [a_a2vSG]). SOrd b_a2vSF => Sing t_a2wc5 -> Sing t_a2wc6 -> Sing (Apply (Apply GroupAllWithSym0 t_a2wc5) t_a2wc6 :: [NonEmpty a_a2vSG])
sGroup1 :: forall (t_a2wc9 :: NonEmpty a_a2vSE). SEq a_a2vSE => Sing t_a2wc9 -> Sing (Apply Group1Sym0 t_a2wc9 :: NonEmpty (NonEmpty a_a2vSE))
sGroupBy1 :: forall (t_a2wc7 :: TyFun a_a2vSD (TyFun a_a2vSD Bool -> Type) -> Type) (t_a2wc8 :: NonEmpty a_a2vSD). Sing t_a2wc7 -> Sing t_a2wc8 -> Sing (Apply (Apply GroupBy1Sym0 t_a2wc7) t_a2wc8 :: NonEmpty (NonEmpty a_a2vSD))
sGroupWith1 :: forall (t_a2wca :: TyFun a_a2vSC b_a2vSB -> Type) (t_a2wcb :: NonEmpty a_a2vSC). SEq b_a2vSB => Sing t_a2wca -> Sing t_a2wcb -> Sing (Apply (Apply GroupWith1Sym0 t_a2wca) t_a2wcb :: NonEmpty (NonEmpty a_a2vSC))
sGroupAllWith1 :: forall (t_a2wcI :: TyFun a_a2vSA b_a2vSz -> Type) (t_a2wcJ :: NonEmpty a_a2vSA). SOrd b_a2vSz => Sing t_a2wcI -> Sing t_a2wcJ -> Sing (Apply (Apply GroupAllWith1Sym0 t_a2wcI) t_a2wcJ :: NonEmpty (NonEmpty a_a2vSA))
sIsPrefixOf :: forall (t_a2wbZ :: [a_a2vSy]) (t_a2wc0 :: NonEmpty a_a2vSy). SEq a_a2vSy => Sing t_a2wbZ -> Sing t_a2wc0 -> Sing (Apply (Apply IsPrefixOfSym0 t_a2wbZ) t_a2wc0 :: Bool)
sNub :: forall (t_a2wbQ :: NonEmpty a_a2vSp). SEq a_a2vSp => Sing t_a2wbQ -> Sing (Apply NubSym0 t_a2wbQ :: NonEmpty a_a2vSp)
sNubBy :: forall (t_a2wbO :: TyFun a_a2vSo (TyFun a_a2vSo Bool -> Type) -> Type) (t_a2wbP :: NonEmpty a_a2vSo). Sing t_a2wbO -> Sing t_a2wbP -> Sing (Apply (Apply NubBySym0 t_a2wbO) t_a2wbP :: NonEmpty a_a2vSo)
(%:!!) :: forall (t_a2wbX :: NonEmpty a_a2vSx) (t_a2wbY :: Nat). Sing t_a2wbX -> Sing t_a2wbY -> Sing (Apply (Apply (:!!$) t_a2wbX) t_a2wbY :: a_a2vSx)
sZip :: forall (t_a2wbV :: NonEmpty a_a2vSv) (t_a2wbW :: NonEmpty b_a2vSw). Sing t_a2wbV -> Sing t_a2wbW -> Sing (Apply (Apply ZipSym0 t_a2wbV) t_a2wbW :: NonEmpty (a_a2vSv, b_a2vSw))
sZipWith :: forall (t_a2wbS :: TyFun a_a2vSs (TyFun b_a2vSt c_a2vSu -> Type) -> Type) (t_a2wbT :: NonEmpty a_a2vSs) (t_a2wbU :: NonEmpty b_a2vSt). Sing t_a2wbS -> Sing t_a2wbT -> Sing t_a2wbU -> Sing (Apply (Apply (Apply ZipWithSym0 t_a2wbS) t_a2wbT) t_a2wbU :: NonEmpty c_a2vSu)
sUnzip :: forall (t_a2wbR :: NonEmpty (a_a2vSq, b_a2vSr)). Sing t_a2wbR -> Sing (Apply UnzipSym0 t_a2wbR :: (NonEmpty a_a2vSq, NonEmpty b_a2vSr))
sFromList :: forall (t_a2wcA :: [a_a2vTa]). Sing t_a2wcA -> Sing (Apply FromListSym0 t_a2wcA :: NonEmpty a_a2vTa)
sToList :: forall (t_a2wch :: NonEmpty a_a2vT9). Sing t_a2wch -> Sing (Apply ToListSym0 t_a2wch :: [a_a2vT9])
sNonEmpty_ :: forall (t_a2wd9 :: [a_a2vTl]). Sing t_a2wd9 -> Sing (Apply NonEmpty_Sym0 t_a2wd9 :: Maybe (NonEmpty a_a2vTl))
sXor :: forall (t_a2wdd :: NonEmpty Bool). Sing t_a2wdd -> Sing (Apply XorSym0 t_a2wdd :: Bool)
data (:|$) (l_aO3u :: TyFun a6989586621679073600 (TyFun [a6989586621679073600] (NonEmpty a6989586621679073600) -> Type))
data (:|$$) (l_aO3s :: a6989586621679073600) (l_aO3r :: TyFun [a6989586621679073600] (NonEmpty a6989586621679073600))
type (:|$$$) (t_aO3p :: a6989586621679073600) (t_aO3q :: [a6989586621679073600]) = (:|) t_aO3p t_aO3q
data MapSym0 (l_a2w3K :: TyFun (TyFun a6989586621679609027 b6989586621679609028 -> Type) (TyFun (NonEmpty a6989586621679609027) (NonEmpty b6989586621679609028) -> Type))
data MapSym1 (l_a2w3I :: TyFun a6989586621679609027 b6989586621679609028 -> Type) (l_a2w3H :: TyFun (NonEmpty a6989586621679609027) (NonEmpty b6989586621679609028))
type MapSym2 (t_a2w3F :: TyFun a6989586621679609027 b6989586621679609028 -> Type) (t_a2w3G :: NonEmpty a6989586621679609027) = Map t_a2w3F t_a2w3G
data IntersperseSym0 (l_a2w3p :: TyFun a6989586621679609017 (TyFun (NonEmpty a6989586621679609017) (NonEmpty a6989586621679609017) -> Type))
data IntersperseSym1 (l_a2w3n :: a6989586621679609017) (l_a2w3m :: TyFun (NonEmpty a6989586621679609017) (NonEmpty a6989586621679609017))
type IntersperseSym2 (t_a2w3k :: a6989586621679609017) (t_a2w3l :: NonEmpty a6989586621679609017) = Intersperse t_a2w3k t_a2w3l
data ScanlSym0 (l_a2w7w :: TyFun (TyFun b6989586621679609022 (TyFun a6989586621679609023 b6989586621679609022 -> Type) -> Type) (TyFun b6989586621679609022 (TyFun [a6989586621679609023] (NonEmpty b6989586621679609022) -> Type) -> Type))
data ScanlSym1 (l_a2w7u :: TyFun b6989586621679609022 (TyFun a6989586621679609023 b6989586621679609022 -> Type) -> Type) (l_a2w7t :: TyFun b6989586621679609022 (TyFun [a6989586621679609023] (NonEmpty b6989586621679609022) -> Type))
data ScanlSym2 (l_a2w7q :: TyFun b6989586621679609022 (TyFun a6989586621679609023 b6989586621679609022 -> Type) -> Type) (l_a2w7r :: b6989586621679609022) (l_a2w7p :: TyFun [a6989586621679609023] (NonEmpty b6989586621679609022))
type ScanlSym3 (t_a2w7m :: TyFun b6989586621679609022 (TyFun a6989586621679609023 b6989586621679609022 -> Type) -> Type) (t_a2w7n :: b6989586621679609022) (t_a2w7o :: [a6989586621679609023]) = Scanl t_a2w7m t_a2w7n t_a2w7o
data ScanrSym0 (l_a2w7Q :: TyFun (TyFun a6989586621679609020 (TyFun b6989586621679609021 b6989586621679609021 -> Type) -> Type) (TyFun b6989586621679609021 (TyFun [a6989586621679609020] (NonEmpty b6989586621679609021) -> Type) -> Type))
data ScanrSym1 (l_a2w7O :: TyFun a6989586621679609020 (TyFun b6989586621679609021 b6989586621679609021 -> Type) -> Type) (l_a2w7N :: TyFun b6989586621679609021 (TyFun [a6989586621679609020] (NonEmpty b6989586621679609021) -> Type))
data ScanrSym2 (l_a2w7K :: TyFun a6989586621679609020 (TyFun b6989586621679609021 b6989586621679609021 -> Type) -> Type) (l_a2w7L :: b6989586621679609021) (l_a2w7J :: TyFun [a6989586621679609020] (NonEmpty b6989586621679609021))
type ScanrSym3 (t_a2w7G :: TyFun a6989586621679609020 (TyFun b6989586621679609021 b6989586621679609021 -> Type) -> Type) (t_a2w7H :: b6989586621679609021) (t_a2w7I :: [a6989586621679609020]) = Scanr t_a2w7G t_a2w7H t_a2w7I
data Scanl1Sym0 (l_a2w85 :: TyFun (TyFun a6989586621679609019 (TyFun a6989586621679609019 a6989586621679609019 -> Type) -> Type) (TyFun (NonEmpty a6989586621679609019) (NonEmpty a6989586621679609019) -> Type))
data Scanl1Sym1 (l_a2w83 :: TyFun a6989586621679609019 (TyFun a6989586621679609019 a6989586621679609019 -> Type) -> Type) (l_a2w82 :: TyFun (NonEmpty a6989586621679609019) (NonEmpty a6989586621679609019))
type Scanl1Sym2 (t_a2w80 :: TyFun a6989586621679609019 (TyFun a6989586621679609019 a6989586621679609019 -> Type) -> Type) (t_a2w81 :: NonEmpty a6989586621679609019) = Scanl1 t_a2w80 t_a2w81
data Scanr1Sym0 (l_a2w8h :: TyFun (TyFun a6989586621679609018 (TyFun a6989586621679609018 a6989586621679609018 -> Type) -> Type) (TyFun (NonEmpty a6989586621679609018) (NonEmpty a6989586621679609018) -> Type))
data Scanr1Sym1 (l_a2w8f :: TyFun a6989586621679609018 (TyFun a6989586621679609018 a6989586621679609018 -> Type) -> Type) (l_a2w8e :: TyFun (NonEmpty a6989586621679609018) (NonEmpty a6989586621679609018))
type Scanr1Sym2 (t_a2w8c :: TyFun a6989586621679609018 (TyFun a6989586621679609018 a6989586621679609018 -> Type) -> Type) (t_a2w8d :: NonEmpty a6989586621679609018) = Scanr1 t_a2w8c t_a2w8d
data TransposeSym0 (l_a2wbK :: TyFun (NonEmpty (NonEmpty a6989586621679608983)) (NonEmpty (NonEmpty a6989586621679608983)))
type TransposeSym1 (t_a2wbJ :: NonEmpty (NonEmpty a6989586621679608983)) = Transpose t_a2wbJ
data SortBySym0 (l_a2w6l :: TyFun (TyFun a6989586621679608982 (TyFun a6989586621679608982 Ordering -> Type) -> Type) (TyFun (NonEmpty a6989586621679608982) (NonEmpty a6989586621679608982) -> Type))
data SortBySym1 (l_a2w6j :: TyFun a6989586621679608982 (TyFun a6989586621679608982 Ordering -> Type) -> Type) (l_a2w6i :: TyFun (NonEmpty a6989586621679608982) (NonEmpty a6989586621679608982))
type SortBySym2 (t_a2w6g :: TyFun a6989586621679608982 (TyFun a6989586621679608982 Ordering -> Type) -> Type) (t_a2w6h :: NonEmpty a6989586621679608982) = SortBy t_a2w6g t_a2w6h
data SortWithSym0 (l_a2w6C :: TyFun (TyFun a6989586621679608981 o6989586621679608980 -> Type) (TyFun (NonEmpty a6989586621679608981) (NonEmpty a6989586621679608981) -> Type))
data SortWithSym1 (l_a2w6A :: TyFun a6989586621679608981 o6989586621679608980 -> Type) (l_a2w6z :: TyFun (NonEmpty a6989586621679608981) (NonEmpty a6989586621679608981))
type SortWithSym2 (t_a2w6x :: TyFun a6989586621679608981 o6989586621679608980 -> Type) (t_a2w6y :: NonEmpty a6989586621679608981) = SortWith t_a2w6x t_a2w6y
data LengthSym0 (l_a2wbo :: TyFun (NonEmpty a6989586621679609046) Nat)
type LengthSym1 (t_a2wbn :: NonEmpty a6989586621679609046) = Length t_a2wbn
data HeadSym0 (l_a2w9h :: TyFun (NonEmpty a6989586621679609039) a6989586621679609039)
type HeadSym1 (t_a2w9g :: NonEmpty a6989586621679609039) = Head t_a2w9g
data TailSym0 (l_a2w99 :: TyFun (NonEmpty a6989586621679609038) [a6989586621679609038])
type TailSym1 (t_a2w98 :: NonEmpty a6989586621679609038) = Tail t_a2w98
data LastSym0 (l_a2w93 :: TyFun (NonEmpty a6989586621679609037) a6989586621679609037)
type LastSym1 (t_a2w92 :: NonEmpty a6989586621679609037) = Last t_a2w92
data InitSym0 (l_a2w8X :: TyFun (NonEmpty a6989586621679609036) [a6989586621679609036])
type InitSym1 (t_a2w8W :: NonEmpty a6989586621679609036) = Init t_a2w8W
data (:<|$) (l_a2w8A :: TyFun a6989586621679609035 (TyFun (NonEmpty a6989586621679609035) (NonEmpty a6989586621679609035) -> Type))
data (:<|$$) (l_a2w8y :: a6989586621679609035) (l_a2w8x :: TyFun (NonEmpty a6989586621679609035) (NonEmpty a6989586621679609035))
type (:<|$$$) (t_a2w8v :: a6989586621679609035) (t_a2w8w :: NonEmpty a6989586621679609035) = (:<|) t_a2w8v t_a2w8w
data ConsSym0 (l_a2w8Q :: TyFun a6989586621679609034 (TyFun (NonEmpty a6989586621679609034) (NonEmpty a6989586621679609034) -> Type))
data ConsSym1 (l_a2w8O :: a6989586621679609034) (l_a2w8N :: TyFun (NonEmpty a6989586621679609034) (NonEmpty a6989586621679609034))
type ConsSym2 (t_a2w8L :: a6989586621679609034) (t_a2w8M :: NonEmpty a6989586621679609034) = Cons t_a2w8L t_a2w8M
data UnconsSym0 (l_a2waq :: TyFun (NonEmpty a6989586621679609042) (a6989586621679609042, Maybe (NonEmpty a6989586621679609042)))
type UnconsSym1 (t_a2wap :: NonEmpty a6989586621679609042) = Uncons t_a2wap
data UnfoldrSym0 (l_a2w9t :: TyFun (TyFun a6989586621679609040 (b6989586621679609041, Maybe a6989586621679609040) -> Type) (TyFun a6989586621679609040 (NonEmpty b6989586621679609041) -> Type))
data UnfoldrSym1 (l_a2w9r :: TyFun a6989586621679609040 (b6989586621679609041, Maybe a6989586621679609040) -> Type) (l_a2w9q :: TyFun a6989586621679609040 (NonEmpty b6989586621679609041))
type UnfoldrSym2 (t_a2w9o :: TyFun a6989586621679609040 (b6989586621679609041, Maybe a6989586621679609040) -> Type) (t_a2w9p :: a6989586621679609040) = Unfoldr t_a2w9o t_a2w9p
data SortSym0 (l_a2w8r :: TyFun (NonEmpty a6989586621679609033) (NonEmpty a6989586621679609033))
type SortSym1 (t_a2w8q :: NonEmpty a6989586621679609033) = Sort t_a2w8q
data ReverseSym0 (l_a2w6c :: TyFun (NonEmpty a6989586621679609016) (NonEmpty a6989586621679609016))
type ReverseSym1 (t_a2w6b :: NonEmpty a6989586621679609016) = Reverse t_a2w6b
data InitsSym0 (l_a2w6Y :: TyFun [a6989586621679609026] (NonEmpty [a6989586621679609026]))
type InitsSym1 (t_a2w6X :: [a6989586621679609026]) = Inits t_a2w6X
data TailsSym0 (l_a2w75 :: TyFun [a6989586621679609025] (NonEmpty [a6989586621679609025]))
type TailsSym1 (t_a2w74 :: [a6989586621679609025]) = Tails t_a2w74
data UnfoldSym0 (l_a2waA :: TyFun (TyFun a6989586621679609044 (b6989586621679609045, Maybe a6989586621679609044) -> Type) (TyFun a6989586621679609044 (NonEmpty b6989586621679609045) -> Type))
data UnfoldSym1 (l_a2way :: TyFun a6989586621679609044 (b6989586621679609045, Maybe a6989586621679609044) -> Type) (l_a2wax :: TyFun a6989586621679609044 (NonEmpty b6989586621679609045))
data InsertSym0 (l_a2w7e :: TyFun a6989586621679609024 (TyFun [a6989586621679609024] (NonEmpty a6989586621679609024) -> Type))
data InsertSym1 (l_a2w7c :: a6989586621679609024) (l_a2w7b :: TyFun [a6989586621679609024] (NonEmpty a6989586621679609024))
type InsertSym2 (t_a2w79 :: a6989586621679609024) (t_a2w7a :: [a6989586621679609024]) = Insert t_a2w79 t_a2w7a
data TakeSym0 (l_a2w42 :: TyFun Nat (TyFun (NonEmpty a6989586621679609015) [a6989586621679609015] -> Type))
data TakeSym1 (l_a2w40 :: Nat) (l_a2w3Z :: TyFun (NonEmpty a6989586621679609015) [a6989586621679609015])
type TakeSym2 (t_a2w3X :: Nat) (t_a2w3Y :: NonEmpty a6989586621679609015) = Take t_a2w3X t_a2w3Y
data DropSym0 (l_a2w4f :: TyFun Nat (TyFun (NonEmpty a6989586621679609014) [a6989586621679609014] -> Type))
data DropSym1 (l_a2w4d :: Nat) (l_a2w4c :: TyFun (NonEmpty a6989586621679609014) [a6989586621679609014])
type DropSym2 (t_a2w4a :: Nat) (t_a2w4b :: NonEmpty a6989586621679609014) = Drop t_a2w4a t_a2w4b
data SplitAtSym0 (l_a2w4s :: TyFun Nat (TyFun (NonEmpty a6989586621679609013) ([a6989586621679609013], [a6989586621679609013]) -> Type))
data SplitAtSym1 (l_a2w4q :: Nat) (l_a2w4p :: TyFun (NonEmpty a6989586621679609013) ([a6989586621679609013], [a6989586621679609013]))
type SplitAtSym2 (t_a2w4n :: Nat) (t_a2w4o :: NonEmpty a6989586621679609013) = SplitAt t_a2w4n t_a2w4o
data TakeWhileSym0 (l_a2w4F :: TyFun (TyFun a6989586621679609012 Bool -> Type) (TyFun (NonEmpty a6989586621679609012) [a6989586621679609012] -> Type))
data TakeWhileSym1 (l_a2w4D :: TyFun a6989586621679609012 Bool -> Type) (l_a2w4C :: TyFun (NonEmpty a6989586621679609012) [a6989586621679609012])
type TakeWhileSym2 (t_a2w4A :: TyFun a6989586621679609012 Bool -> Type) (t_a2w4B :: NonEmpty a6989586621679609012) = TakeWhile t_a2w4A t_a2w4B
data DropWhileSym0 (l_a2w4S :: TyFun (TyFun a6989586621679609011 Bool -> Type) (TyFun (NonEmpty a6989586621679609011) [a6989586621679609011] -> Type))
data DropWhileSym1 (l_a2w4Q :: TyFun a6989586621679609011 Bool -> Type) (l_a2w4P :: TyFun (NonEmpty a6989586621679609011) [a6989586621679609011])
type DropWhileSym2 (t_a2w4N :: TyFun a6989586621679609011 Bool -> Type) (t_a2w4O :: NonEmpty a6989586621679609011) = DropWhile t_a2w4N t_a2w4O
data SpanSym0 (l_a2w55 :: TyFun (TyFun a6989586621679609010 Bool -> Type) (TyFun (NonEmpty a6989586621679609010) ([a6989586621679609010], [a6989586621679609010]) -> Type))
data SpanSym1 (l_a2w53 :: TyFun a6989586621679609010 Bool -> Type) (l_a2w52 :: TyFun (NonEmpty a6989586621679609010) ([a6989586621679609010], [a6989586621679609010]))
type SpanSym2 (t_a2w50 :: TyFun a6989586621679609010 Bool -> Type) (t_a2w51 :: NonEmpty a6989586621679609010) = Span t_a2w50 t_a2w51
data BreakSym0 (l_a2w5i :: TyFun (TyFun a6989586621679609009 Bool -> Type) (TyFun (NonEmpty a6989586621679609009) ([a6989586621679609009], [a6989586621679609009]) -> Type))
data BreakSym1 (l_a2w5g :: TyFun a6989586621679609009 Bool -> Type) (l_a2w5f :: TyFun (NonEmpty a6989586621679609009) ([a6989586621679609009], [a6989586621679609009]))
type BreakSym2 (t_a2w5d :: TyFun a6989586621679609009 Bool -> Type) (t_a2w5e :: NonEmpty a6989586621679609009) = Break t_a2w5d t_a2w5e
data FilterSym0 (l_a2w5v :: TyFun (TyFun a6989586621679609008 Bool -> Type) (TyFun (NonEmpty a6989586621679609008) [a6989586621679609008] -> Type))
data FilterSym1 (l_a2w5t :: TyFun a6989586621679609008 Bool -> Type) (l_a2w5s :: TyFun (NonEmpty a6989586621679609008) [a6989586621679609008])
type FilterSym2 (t_a2w5q :: TyFun a6989586621679609008 Bool -> Type) (t_a2w5r :: NonEmpty a6989586621679609008) = Filter t_a2w5q t_a2w5r
data PartitionSym0 (l_a2w5I :: TyFun (TyFun a6989586621679609007 Bool -> Type) (TyFun (NonEmpty a6989586621679609007) ([a6989586621679609007], [a6989586621679609007]) -> Type))
data PartitionSym1 (l_a2w5G :: TyFun a6989586621679609007 Bool -> Type) (l_a2w5F :: TyFun (NonEmpty a6989586621679609007) ([a6989586621679609007], [a6989586621679609007]))
type PartitionSym2 (t_a2w5D :: TyFun a6989586621679609007 Bool -> Type) (t_a2w5E :: NonEmpty a6989586621679609007) = Partition t_a2w5D t_a2w5E
data GroupSym0 (l_a2w3g :: TyFun [a6989586621679609006] [NonEmpty a6989586621679609006])
type GroupSym1 (t_a2w3f :: [a6989586621679609006]) = Group t_a2w3f
data GroupBySym0 (l_a2vZf :: TyFun (TyFun a6989586621679609005 (TyFun a6989586621679609005 Bool -> Type) -> Type) (TyFun [a6989586621679609005] [NonEmpty a6989586621679609005] -> Type))
data GroupBySym1 (l_a2vZd :: TyFun a6989586621679609005 (TyFun a6989586621679609005 Bool -> Type) -> Type) (l_a2vZc :: TyFun [a6989586621679609005] [NonEmpty a6989586621679609005])
type GroupBySym2 (t_a2vZa :: TyFun a6989586621679609005 (TyFun a6989586621679609005 Bool -> Type) -> Type) (t_a2vZb :: [a6989586621679609005]) = GroupBy t_a2vZa t_a2vZb
data GroupWithSym0 (l_a2w1r :: TyFun (TyFun a6989586621679609004 b6989586621679609003 -> Type) (TyFun [a6989586621679609004] [NonEmpty a6989586621679609004] -> Type))
data GroupWithSym1 (l_a2w1p :: TyFun a6989586621679609004 b6989586621679609003 -> Type) (l_a2w1o :: TyFun [a6989586621679609004] [NonEmpty a6989586621679609004])
type GroupWithSym2 (t_a2w1m :: TyFun a6989586621679609004 b6989586621679609003 -> Type) (t_a2w1n :: [a6989586621679609004]) = GroupWith t_a2w1m t_a2w1n
data GroupAllWithSym0 (l_a2w1E :: TyFun (TyFun a6989586621679609002 b6989586621679609001 -> Type) (TyFun [a6989586621679609002] [NonEmpty a6989586621679609002] -> Type))
data GroupAllWithSym1 (l_a2w1C :: TyFun a6989586621679609002 b6989586621679609001 -> Type) (l_a2w1B :: TyFun [a6989586621679609002] [NonEmpty a6989586621679609002])
type GroupAllWithSym2 (t_a2w1z :: TyFun a6989586621679609002 b6989586621679609001 -> Type) (t_a2w1A :: [a6989586621679609002]) = GroupAllWith t_a2w1z t_a2w1A
data Group1Sym0 (l_a2w2W :: TyFun (NonEmpty a6989586621679609000) (NonEmpty (NonEmpty a6989586621679609000)))
type Group1Sym1 (t_a2w2V :: NonEmpty a6989586621679609000) = Group1 t_a2w2V
data GroupBy1Sym0 (l_a2w1R :: TyFun (TyFun a6989586621679608999 (TyFun a6989586621679608999 Bool -> Type) -> Type) (TyFun (NonEmpty a6989586621679608999) (NonEmpty (NonEmpty a6989586621679608999)) -> Type))
data GroupBy1Sym1 (l_a2w1P :: TyFun a6989586621679608999 (TyFun a6989586621679608999 Bool -> Type) -> Type) (l_a2w1O :: TyFun (NonEmpty a6989586621679608999) (NonEmpty (NonEmpty a6989586621679608999)))
type GroupBy1Sym2 (t_a2w1M :: TyFun a6989586621679608999 (TyFun a6989586621679608999 Bool -> Type) -> Type) (t_a2w1N :: NonEmpty a6989586621679608999) = GroupBy1 t_a2w1M t_a2w1N
data GroupWith1Sym0 (l_a2w35 :: TyFun (TyFun a6989586621679608998 b6989586621679608997 -> Type) (TyFun (NonEmpty a6989586621679608998) (NonEmpty (NonEmpty a6989586621679608998)) -> Type))
data GroupWith1Sym1 (l_a2w33 :: TyFun a6989586621679608998 b6989586621679608997 -> Type) (l_a2w32 :: TyFun (NonEmpty a6989586621679608998) (NonEmpty (NonEmpty a6989586621679608998)))
type GroupWith1Sym2 (t_a2w30 :: TyFun a6989586621679608998 b6989586621679608997 -> Type) (t_a2w31 :: NonEmpty a6989586621679608998) = GroupWith1 t_a2w30 t_a2w31
data GroupAllWith1Sym0 (l_a2w6N :: TyFun (TyFun a6989586621679608996 b6989586621679608995 -> Type) (TyFun (NonEmpty a6989586621679608996) (NonEmpty (NonEmpty a6989586621679608996)) -> Type))
data GroupAllWith1Sym1 (l_a2w6L :: TyFun a6989586621679608996 b6989586621679608995 -> Type) (l_a2w6K :: TyFun (NonEmpty a6989586621679608996) (NonEmpty (NonEmpty a6989586621679608996)))
type GroupAllWith1Sym2 (t_a2w6I :: TyFun a6989586621679608996 b6989586621679608995 -> Type) (t_a2w6J :: NonEmpty a6989586621679608996) = GroupAllWith1 t_a2w6I t_a2w6J
data IsPrefixOfSym0 (l_a2vYZ :: TyFun [a6989586621679608994] (TyFun (NonEmpty a6989586621679608994) Bool -> Type))
data IsPrefixOfSym1 (l_a2vYX :: [a6989586621679608994]) (l_a2vYW :: TyFun (NonEmpty a6989586621679608994) Bool)
type IsPrefixOfSym2 (t_a2vYU :: [a6989586621679608994]) (t_a2vYV :: NonEmpty a6989586621679608994) = IsPrefixOf t_a2vYU t_a2vYV
data NubSym0 (l_a2vWU :: TyFun (NonEmpty a6989586621679608985) (NonEmpty a6989586621679608985))
type NubSym1 (t_a2vWT :: NonEmpty a6989586621679608985) = Nub t_a2vWT
data NubBySym0 (l_a2vWo :: TyFun (TyFun a6989586621679608984 (TyFun a6989586621679608984 Bool -> Type) -> Type) (TyFun (NonEmpty a6989586621679608984) (NonEmpty a6989586621679608984) -> Type))
data NubBySym1 (l_a2vWm :: TyFun a6989586621679608984 (TyFun a6989586621679608984 Bool -> Type) -> Type) (l_a2vWl :: TyFun (NonEmpty a6989586621679608984) (NonEmpty a6989586621679608984))
type NubBySym2 (t_a2vWj :: TyFun a6989586621679608984 (TyFun a6989586621679608984 Bool -> Type) -> Type) (t_a2vWk :: NonEmpty a6989586621679608984) = NubBy t_a2vWj t_a2vWk
data (:!!$) (l_a2vYC :: TyFun (NonEmpty a6989586621679608993) (TyFun Nat a6989586621679608993 -> Type))
data (:!!$$) (l_a2vYA :: NonEmpty a6989586621679608993) (l_a2vYz :: TyFun Nat a6989586621679608993)
type (:!!$$$) (t_a2vYx :: NonEmpty a6989586621679608993) (t_a2vYy :: Nat) = (:!!) t_a2vYx t_a2vYy
data ZipSym0 (l_a2vYp :: TyFun (NonEmpty a6989586621679608991) (TyFun (NonEmpty b6989586621679608992) (NonEmpty (a6989586621679608991, b6989586621679608992)) -> Type))
data ZipSym1 (l_a2vYn :: NonEmpty a6989586621679608991) (l_a2vYm :: TyFun (NonEmpty b6989586621679608992) (NonEmpty (a6989586621679608991, b6989586621679608992)))
type ZipSym2 (t_a2vYk :: NonEmpty a6989586621679608991) (t_a2vYl :: NonEmpty b6989586621679608992) = Zip t_a2vYk t_a2vYl
data ZipWithSym0 (l_a2vYa :: TyFun (TyFun a6989586621679608988 (TyFun b6989586621679608989 c6989586621679608990 -> Type) -> Type) (TyFun (NonEmpty a6989586621679608988) (TyFun (NonEmpty b6989586621679608989) (NonEmpty c6989586621679608990) -> Type) -> Type))
data ZipWithSym1 (l_a2vY8 :: TyFun a6989586621679608988 (TyFun b6989586621679608989 c6989586621679608990 -> Type) -> Type) (l_a2vY7 :: TyFun (NonEmpty a6989586621679608988) (TyFun (NonEmpty b6989586621679608989) (NonEmpty c6989586621679608990) -> Type))
data ZipWithSym2 (l_a2vY4 :: TyFun a6989586621679608988 (TyFun b6989586621679608989 c6989586621679608990 -> Type) -> Type) (l_a2vY5 :: NonEmpty a6989586621679608988) (l_a2vY3 :: TyFun (NonEmpty b6989586621679608989) (NonEmpty c6989586621679608990))
type ZipWithSym3 (t_a2vY0 :: TyFun a6989586621679608988 (TyFun b6989586621679608989 c6989586621679608990 -> Type) -> Type) (t_a2vY1 :: NonEmpty a6989586621679608988) (t_a2vY2 :: NonEmpty b6989586621679608989) = ZipWith t_a2vY0 t_a2vY1 t_a2vY2
data UnzipSym0 (l_a2vWZ :: TyFun (NonEmpty (a6989586621679608986, b6989586621679608987)) (NonEmpty a6989586621679608986, NonEmpty b6989586621679608987))
type UnzipSym1 (t_a2vWY :: NonEmpty (a6989586621679608986, b6989586621679608987)) = Unzip t_a2vWY
data FromListSym0 (l_a2w5R :: TyFun [a6989586621679609032] (NonEmpty a6989586621679609032))
type FromListSym1 (t_a2w5Q :: [a6989586621679609032]) = FromList t_a2w5Q
data ToListSym0 (l_a2w3S :: TyFun (NonEmpty a6989586621679609031) [a6989586621679609031])
type ToListSym1 (t_a2w3R :: NonEmpty a6989586621679609031) = ToList t_a2w3R
data NonEmpty_Sym0 (l_a2wak :: TyFun [a6989586621679609043] (Maybe (NonEmpty a6989586621679609043)))
type NonEmpty_Sym1 (t_a2waj :: [a6989586621679609043]) = NonEmpty_ t_a2waj
data XorSym0 (l_a2waV :: TyFun (NonEmpty Bool) Bool)
type XorSym1 (t_a2waU :: NonEmpty Bool) = Xor t_a2waU
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.Let6989586621679609417GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609417GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609417GoSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609417GoSym2
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.Let6989586621679610138Xor'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679610138Xor'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679610138Xor'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679610138Xor'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679610118Scrutinee_6989586621679609211Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679610118Scrutinee_6989586621679609211Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679610082Scrutinee_6989586621679609213Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679610082Scrutinee_6989586621679609213Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679610049GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679610049GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679610049GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679610064Scrutinee_6989586621679609215Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679610064Scrutinee_6989586621679609215Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679610064Scrutinee_6989586621679609215Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609578X_6989586621679609579Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609578X_6989586621679609579Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609578X_6989586621679609579Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609578YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609578YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609578YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609578ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609578ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609578ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609444X_6989586621679609445Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609444X_6989586621679609445Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609444X_6989586621679609445Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609444X_6989586621679609445Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609444X_6989586621679609445Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609444YsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609444YsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609444YsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609444YsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609444YsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609444ZsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609444ZsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609444ZsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609444ZsSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609444ZsSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609275X_6989586621679609276Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609275X_6989586621679609276Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609275X_6989586621679609276Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609275AsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609275AsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609275AsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609275BsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609275BsSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621679609275BsSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621679609239Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621679609239Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621679609239Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621679609239Sym3


-- | 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_aO3u :: TyFun a6989586621679073600 (TyFun [a6989586621679073600] (NonEmpty a6989586621679073600) -> Type))
data (:|$$) (l_aO3s :: a6989586621679073600) (l_aO3r :: TyFun [a6989586621679073600] (NonEmpty a6989586621679073600))
type (:|$$$) (t_aO3p :: a6989586621679073600) (t_aO3q :: [a6989586621679073600]) = (:|) t_aO3p t_aO3q
data MapSym0 (l_a2w3K :: TyFun (TyFun a6989586621679609027 b6989586621679609028 -> Type) (TyFun (NonEmpty a6989586621679609027) (NonEmpty b6989586621679609028) -> Type))
data MapSym1 (l_a2w3I :: TyFun a6989586621679609027 b6989586621679609028 -> Type) (l_a2w3H :: TyFun (NonEmpty a6989586621679609027) (NonEmpty b6989586621679609028))
type MapSym2 (t_a2w3F :: TyFun a6989586621679609027 b6989586621679609028 -> Type) (t_a2w3G :: NonEmpty a6989586621679609027) = Map t_a2w3F t_a2w3G
data IntersperseSym0 (l_a2w3p :: TyFun a6989586621679609017 (TyFun (NonEmpty a6989586621679609017) (NonEmpty a6989586621679609017) -> Type))
data IntersperseSym1 (l_a2w3n :: a6989586621679609017) (l_a2w3m :: TyFun (NonEmpty a6989586621679609017) (NonEmpty a6989586621679609017))
type IntersperseSym2 (t_a2w3k :: a6989586621679609017) (t_a2w3l :: NonEmpty a6989586621679609017) = Intersperse t_a2w3k t_a2w3l
data ScanlSym0 (l_a2w7w :: TyFun (TyFun b6989586621679609022 (TyFun a6989586621679609023 b6989586621679609022 -> Type) -> Type) (TyFun b6989586621679609022 (TyFun [a6989586621679609023] (NonEmpty b6989586621679609022) -> Type) -> Type))
data ScanlSym1 (l_a2w7u :: TyFun b6989586621679609022 (TyFun a6989586621679609023 b6989586621679609022 -> Type) -> Type) (l_a2w7t :: TyFun b6989586621679609022 (TyFun [a6989586621679609023] (NonEmpty b6989586621679609022) -> Type))
data ScanlSym2 (l_a2w7q :: TyFun b6989586621679609022 (TyFun a6989586621679609023 b6989586621679609022 -> Type) -> Type) (l_a2w7r :: b6989586621679609022) (l_a2w7p :: TyFun [a6989586621679609023] (NonEmpty b6989586621679609022))
type ScanlSym3 (t_a2w7m :: TyFun b6989586621679609022 (TyFun a6989586621679609023 b6989586621679609022 -> Type) -> Type) (t_a2w7n :: b6989586621679609022) (t_a2w7o :: [a6989586621679609023]) = Scanl t_a2w7m t_a2w7n t_a2w7o
data ScanrSym0 (l_a2w7Q :: TyFun (TyFun a6989586621679609020 (TyFun b6989586621679609021 b6989586621679609021 -> Type) -> Type) (TyFun b6989586621679609021 (TyFun [a6989586621679609020] (NonEmpty b6989586621679609021) -> Type) -> Type))
data ScanrSym1 (l_a2w7O :: TyFun a6989586621679609020 (TyFun b6989586621679609021 b6989586621679609021 -> Type) -> Type) (l_a2w7N :: TyFun b6989586621679609021 (TyFun [a6989586621679609020] (NonEmpty b6989586621679609021) -> Type))
data ScanrSym2 (l_a2w7K :: TyFun a6989586621679609020 (TyFun b6989586621679609021 b6989586621679609021 -> Type) -> Type) (l_a2w7L :: b6989586621679609021) (l_a2w7J :: TyFun [a6989586621679609020] (NonEmpty b6989586621679609021))
type ScanrSym3 (t_a2w7G :: TyFun a6989586621679609020 (TyFun b6989586621679609021 b6989586621679609021 -> Type) -> Type) (t_a2w7H :: b6989586621679609021) (t_a2w7I :: [a6989586621679609020]) = Scanr t_a2w7G t_a2w7H t_a2w7I
data Scanl1Sym0 (l_a2w85 :: TyFun (TyFun a6989586621679609019 (TyFun a6989586621679609019 a6989586621679609019 -> Type) -> Type) (TyFun (NonEmpty a6989586621679609019) (NonEmpty a6989586621679609019) -> Type))
data Scanl1Sym1 (l_a2w83 :: TyFun a6989586621679609019 (TyFun a6989586621679609019 a6989586621679609019 -> Type) -> Type) (l_a2w82 :: TyFun (NonEmpty a6989586621679609019) (NonEmpty a6989586621679609019))
type Scanl1Sym2 (t_a2w80 :: TyFun a6989586621679609019 (TyFun a6989586621679609019 a6989586621679609019 -> Type) -> Type) (t_a2w81 :: NonEmpty a6989586621679609019) = Scanl1 t_a2w80 t_a2w81
data Scanr1Sym0 (l_a2w8h :: TyFun (TyFun a6989586621679609018 (TyFun a6989586621679609018 a6989586621679609018 -> Type) -> Type) (TyFun (NonEmpty a6989586621679609018) (NonEmpty a6989586621679609018) -> Type))
data Scanr1Sym1 (l_a2w8f :: TyFun a6989586621679609018 (TyFun a6989586621679609018 a6989586621679609018 -> Type) -> Type) (l_a2w8e :: TyFun (NonEmpty a6989586621679609018) (NonEmpty a6989586621679609018))
type Scanr1Sym2 (t_a2w8c :: TyFun a6989586621679609018 (TyFun a6989586621679609018 a6989586621679609018 -> Type) -> Type) (t_a2w8d :: NonEmpty a6989586621679609018) = Scanr1 t_a2w8c t_a2w8d
data TransposeSym0 (l_a2wbK :: TyFun (NonEmpty (NonEmpty a6989586621679608983)) (NonEmpty (NonEmpty a6989586621679608983)))
type TransposeSym1 (t_a2wbJ :: NonEmpty (NonEmpty a6989586621679608983)) = Transpose t_a2wbJ
data SortBySym0 (l_a2w6l :: TyFun (TyFun a6989586621679608982 (TyFun a6989586621679608982 Ordering -> Type) -> Type) (TyFun (NonEmpty a6989586621679608982) (NonEmpty a6989586621679608982) -> Type))
data SortBySym1 (l_a2w6j :: TyFun a6989586621679608982 (TyFun a6989586621679608982 Ordering -> Type) -> Type) (l_a2w6i :: TyFun (NonEmpty a6989586621679608982) (NonEmpty a6989586621679608982))
type SortBySym2 (t_a2w6g :: TyFun a6989586621679608982 (TyFun a6989586621679608982 Ordering -> Type) -> Type) (t_a2w6h :: NonEmpty a6989586621679608982) = SortBy t_a2w6g t_a2w6h
data SortWithSym0 (l_a2w6C :: TyFun (TyFun a6989586621679608981 o6989586621679608980 -> Type) (TyFun (NonEmpty a6989586621679608981) (NonEmpty a6989586621679608981) -> Type))
data SortWithSym1 (l_a2w6A :: TyFun a6989586621679608981 o6989586621679608980 -> Type) (l_a2w6z :: TyFun (NonEmpty a6989586621679608981) (NonEmpty a6989586621679608981))
type SortWithSym2 (t_a2w6x :: TyFun a6989586621679608981 o6989586621679608980 -> Type) (t_a2w6y :: NonEmpty a6989586621679608981) = SortWith t_a2w6x t_a2w6y
data LengthSym0 (l_a2wbo :: TyFun (NonEmpty a6989586621679609046) Nat)
type LengthSym1 (t_a2wbn :: NonEmpty a6989586621679609046) = Length t_a2wbn
data HeadSym0 (l_a2w9h :: TyFun (NonEmpty a6989586621679609039) a6989586621679609039)
type HeadSym1 (t_a2w9g :: NonEmpty a6989586621679609039) = Head t_a2w9g
data TailSym0 (l_a2w99 :: TyFun (NonEmpty a6989586621679609038) [a6989586621679609038])
type TailSym1 (t_a2w98 :: NonEmpty a6989586621679609038) = Tail t_a2w98
data LastSym0 (l_a2w93 :: TyFun (NonEmpty a6989586621679609037) a6989586621679609037)
type LastSym1 (t_a2w92 :: NonEmpty a6989586621679609037) = Last t_a2w92
data InitSym0 (l_a2w8X :: TyFun (NonEmpty a6989586621679609036) [a6989586621679609036])
type InitSym1 (t_a2w8W :: NonEmpty a6989586621679609036) = Init t_a2w8W
data (:<|$) (l_a2w8A :: TyFun a6989586621679609035 (TyFun (NonEmpty a6989586621679609035) (NonEmpty a6989586621679609035) -> Type))
data (:<|$$) (l_a2w8y :: a6989586621679609035) (l_a2w8x :: TyFun (NonEmpty a6989586621679609035) (NonEmpty a6989586621679609035))
type (:<|$$$) (t_a2w8v :: a6989586621679609035) (t_a2w8w :: NonEmpty a6989586621679609035) = (:<|) t_a2w8v t_a2w8w
data ConsSym0 (l_a2w8Q :: TyFun a6989586621679609034 (TyFun (NonEmpty a6989586621679609034) (NonEmpty a6989586621679609034) -> Type))
data ConsSym1 (l_a2w8O :: a6989586621679609034) (l_a2w8N :: TyFun (NonEmpty a6989586621679609034) (NonEmpty a6989586621679609034))
type ConsSym2 (t_a2w8L :: a6989586621679609034) (t_a2w8M :: NonEmpty a6989586621679609034) = Cons t_a2w8L t_a2w8M
data UnconsSym0 (l_a2waq :: TyFun (NonEmpty a6989586621679609042) (a6989586621679609042, Maybe (NonEmpty a6989586621679609042)))
type UnconsSym1 (t_a2wap :: NonEmpty a6989586621679609042) = Uncons t_a2wap
data UnfoldrSym0 (l_a2w9t :: TyFun (TyFun a6989586621679609040 (b6989586621679609041, Maybe a6989586621679609040) -> Type) (TyFun a6989586621679609040 (NonEmpty b6989586621679609041) -> Type))
data UnfoldrSym1 (l_a2w9r :: TyFun a6989586621679609040 (b6989586621679609041, Maybe a6989586621679609040) -> Type) (l_a2w9q :: TyFun a6989586621679609040 (NonEmpty b6989586621679609041))
type UnfoldrSym2 (t_a2w9o :: TyFun a6989586621679609040 (b6989586621679609041, Maybe a6989586621679609040) -> Type) (t_a2w9p :: a6989586621679609040) = Unfoldr t_a2w9o t_a2w9p
data SortSym0 (l_a2w8r :: TyFun (NonEmpty a6989586621679609033) (NonEmpty a6989586621679609033))
type SortSym1 (t_a2w8q :: NonEmpty a6989586621679609033) = Sort t_a2w8q
data ReverseSym0 (l_a2w6c :: TyFun (NonEmpty a6989586621679609016) (NonEmpty a6989586621679609016))
type ReverseSym1 (t_a2w6b :: NonEmpty a6989586621679609016) = Reverse t_a2w6b
data InitsSym0 (l_a2w6Y :: TyFun [a6989586621679609026] (NonEmpty [a6989586621679609026]))
type InitsSym1 (t_a2w6X :: [a6989586621679609026]) = Inits t_a2w6X
data TailsSym0 (l_a2w75 :: TyFun [a6989586621679609025] (NonEmpty [a6989586621679609025]))
type TailsSym1 (t_a2w74 :: [a6989586621679609025]) = Tails t_a2w74
data UnfoldSym0 (l_a2waA :: TyFun (TyFun a6989586621679609044 (b6989586621679609045, Maybe a6989586621679609044) -> Type) (TyFun a6989586621679609044 (NonEmpty b6989586621679609045) -> Type))
data UnfoldSym1 (l_a2way :: TyFun a6989586621679609044 (b6989586621679609045, Maybe a6989586621679609044) -> Type) (l_a2wax :: TyFun a6989586621679609044 (NonEmpty b6989586621679609045))
data InsertSym0 (l_a2w7e :: TyFun a6989586621679609024 (TyFun [a6989586621679609024] (NonEmpty a6989586621679609024) -> Type))
data InsertSym1 (l_a2w7c :: a6989586621679609024) (l_a2w7b :: TyFun [a6989586621679609024] (NonEmpty a6989586621679609024))
type InsertSym2 (t_a2w79 :: a6989586621679609024) (t_a2w7a :: [a6989586621679609024]) = Insert t_a2w79 t_a2w7a
data TakeSym0 (l_a2w42 :: TyFun Nat (TyFun (NonEmpty a6989586621679609015) [a6989586621679609015] -> Type))
data TakeSym1 (l_a2w40 :: Nat) (l_a2w3Z :: TyFun (NonEmpty a6989586621679609015) [a6989586621679609015])
type TakeSym2 (t_a2w3X :: Nat) (t_a2w3Y :: NonEmpty a6989586621679609015) = Take t_a2w3X t_a2w3Y
data DropSym0 (l_a2w4f :: TyFun Nat (TyFun (NonEmpty a6989586621679609014) [a6989586621679609014] -> Type))
data DropSym1 (l_a2w4d :: Nat) (l_a2w4c :: TyFun (NonEmpty a6989586621679609014) [a6989586621679609014])
type DropSym2 (t_a2w4a :: Nat) (t_a2w4b :: NonEmpty a6989586621679609014) = Drop t_a2w4a t_a2w4b
data SplitAtSym0 (l_a2w4s :: TyFun Nat (TyFun (NonEmpty a6989586621679609013) ([a6989586621679609013], [a6989586621679609013]) -> Type))
data SplitAtSym1 (l_a2w4q :: Nat) (l_a2w4p :: TyFun (NonEmpty a6989586621679609013) ([a6989586621679609013], [a6989586621679609013]))
type SplitAtSym2 (t_a2w4n :: Nat) (t_a2w4o :: NonEmpty a6989586621679609013) = SplitAt t_a2w4n t_a2w4o
data TakeWhileSym0 (l_a2w4F :: TyFun (TyFun a6989586621679609012 Bool -> Type) (TyFun (NonEmpty a6989586621679609012) [a6989586621679609012] -> Type))
data TakeWhileSym1 (l_a2w4D :: TyFun a6989586621679609012 Bool -> Type) (l_a2w4C :: TyFun (NonEmpty a6989586621679609012) [a6989586621679609012])
type TakeWhileSym2 (t_a2w4A :: TyFun a6989586621679609012 Bool -> Type) (t_a2w4B :: NonEmpty a6989586621679609012) = TakeWhile t_a2w4A t_a2w4B
data DropWhileSym0 (l_a2w4S :: TyFun (TyFun a6989586621679609011 Bool -> Type) (TyFun (NonEmpty a6989586621679609011) [a6989586621679609011] -> Type))
data DropWhileSym1 (l_a2w4Q :: TyFun a6989586621679609011 Bool -> Type) (l_a2w4P :: TyFun (NonEmpty a6989586621679609011) [a6989586621679609011])
type DropWhileSym2 (t_a2w4N :: TyFun a6989586621679609011 Bool -> Type) (t_a2w4O :: NonEmpty a6989586621679609011) = DropWhile t_a2w4N t_a2w4O
data SpanSym0 (l_a2w55 :: TyFun (TyFun a6989586621679609010 Bool -> Type) (TyFun (NonEmpty a6989586621679609010) ([a6989586621679609010], [a6989586621679609010]) -> Type))
data SpanSym1 (l_a2w53 :: TyFun a6989586621679609010 Bool -> Type) (l_a2w52 :: TyFun (NonEmpty a6989586621679609010) ([a6989586621679609010], [a6989586621679609010]))
type SpanSym2 (t_a2w50 :: TyFun a6989586621679609010 Bool -> Type) (t_a2w51 :: NonEmpty a6989586621679609010) = Span t_a2w50 t_a2w51
data BreakSym0 (l_a2w5i :: TyFun (TyFun a6989586621679609009 Bool -> Type) (TyFun (NonEmpty a6989586621679609009) ([a6989586621679609009], [a6989586621679609009]) -> Type))
data BreakSym1 (l_a2w5g :: TyFun a6989586621679609009 Bool -> Type) (l_a2w5f :: TyFun (NonEmpty a6989586621679609009) ([a6989586621679609009], [a6989586621679609009]))
type BreakSym2 (t_a2w5d :: TyFun a6989586621679609009 Bool -> Type) (t_a2w5e :: NonEmpty a6989586621679609009) = Break t_a2w5d t_a2w5e
data FilterSym0 (l_a2w5v :: TyFun (TyFun a6989586621679609008 Bool -> Type) (TyFun (NonEmpty a6989586621679609008) [a6989586621679609008] -> Type))
data FilterSym1 (l_a2w5t :: TyFun a6989586621679609008 Bool -> Type) (l_a2w5s :: TyFun (NonEmpty a6989586621679609008) [a6989586621679609008])
type FilterSym2 (t_a2w5q :: TyFun a6989586621679609008 Bool -> Type) (t_a2w5r :: NonEmpty a6989586621679609008) = Filter t_a2w5q t_a2w5r
data PartitionSym0 (l_a2w5I :: TyFun (TyFun a6989586621679609007 Bool -> Type) (TyFun (NonEmpty a6989586621679609007) ([a6989586621679609007], [a6989586621679609007]) -> Type))
data PartitionSym1 (l_a2w5G :: TyFun a6989586621679609007 Bool -> Type) (l_a2w5F :: TyFun (NonEmpty a6989586621679609007) ([a6989586621679609007], [a6989586621679609007]))
type PartitionSym2 (t_a2w5D :: TyFun a6989586621679609007 Bool -> Type) (t_a2w5E :: NonEmpty a6989586621679609007) = Partition t_a2w5D t_a2w5E
data GroupSym0 (l_a2w3g :: TyFun [a6989586621679609006] [NonEmpty a6989586621679609006])
type GroupSym1 (t_a2w3f :: [a6989586621679609006]) = Group t_a2w3f
data GroupBySym0 (l_a2vZf :: TyFun (TyFun a6989586621679609005 (TyFun a6989586621679609005 Bool -> Type) -> Type) (TyFun [a6989586621679609005] [NonEmpty a6989586621679609005] -> Type))
data GroupBySym1 (l_a2vZd :: TyFun a6989586621679609005 (TyFun a6989586621679609005 Bool -> Type) -> Type) (l_a2vZc :: TyFun [a6989586621679609005] [NonEmpty a6989586621679609005])
type GroupBySym2 (t_a2vZa :: TyFun a6989586621679609005 (TyFun a6989586621679609005 Bool -> Type) -> Type) (t_a2vZb :: [a6989586621679609005]) = GroupBy t_a2vZa t_a2vZb
data GroupWithSym0 (l_a2w1r :: TyFun (TyFun a6989586621679609004 b6989586621679609003 -> Type) (TyFun [a6989586621679609004] [NonEmpty a6989586621679609004] -> Type))
data GroupWithSym1 (l_a2w1p :: TyFun a6989586621679609004 b6989586621679609003 -> Type) (l_a2w1o :: TyFun [a6989586621679609004] [NonEmpty a6989586621679609004])
type GroupWithSym2 (t_a2w1m :: TyFun a6989586621679609004 b6989586621679609003 -> Type) (t_a2w1n :: [a6989586621679609004]) = GroupWith t_a2w1m t_a2w1n
data GroupAllWithSym0 (l_a2w1E :: TyFun (TyFun a6989586621679609002 b6989586621679609001 -> Type) (TyFun [a6989586621679609002] [NonEmpty a6989586621679609002] -> Type))
data GroupAllWithSym1 (l_a2w1C :: TyFun a6989586621679609002 b6989586621679609001 -> Type) (l_a2w1B :: TyFun [a6989586621679609002] [NonEmpty a6989586621679609002])
type GroupAllWithSym2 (t_a2w1z :: TyFun a6989586621679609002 b6989586621679609001 -> Type) (t_a2w1A :: [a6989586621679609002]) = GroupAllWith t_a2w1z t_a2w1A
data Group1Sym0 (l_a2w2W :: TyFun (NonEmpty a6989586621679609000) (NonEmpty (NonEmpty a6989586621679609000)))
type Group1Sym1 (t_a2w2V :: NonEmpty a6989586621679609000) = Group1 t_a2w2V
data GroupBy1Sym0 (l_a2w1R :: TyFun (TyFun a6989586621679608999 (TyFun a6989586621679608999 Bool -> Type) -> Type) (TyFun (NonEmpty a6989586621679608999) (NonEmpty (NonEmpty a6989586621679608999)) -> Type))
data GroupBy1Sym1 (l_a2w1P :: TyFun a6989586621679608999 (TyFun a6989586621679608999 Bool -> Type) -> Type) (l_a2w1O :: TyFun (NonEmpty a6989586621679608999) (NonEmpty (NonEmpty a6989586621679608999)))
type GroupBy1Sym2 (t_a2w1M :: TyFun a6989586621679608999 (TyFun a6989586621679608999 Bool -> Type) -> Type) (t_a2w1N :: NonEmpty a6989586621679608999) = GroupBy1 t_a2w1M t_a2w1N
data GroupWith1Sym0 (l_a2w35 :: TyFun (TyFun a6989586621679608998 b6989586621679608997 -> Type) (TyFun (NonEmpty a6989586621679608998) (NonEmpty (NonEmpty a6989586621679608998)) -> Type))
data GroupWith1Sym1 (l_a2w33 :: TyFun a6989586621679608998 b6989586621679608997 -> Type) (l_a2w32 :: TyFun (NonEmpty a6989586621679608998) (NonEmpty (NonEmpty a6989586621679608998)))
type GroupWith1Sym2 (t_a2w30 :: TyFun a6989586621679608998 b6989586621679608997 -> Type) (t_a2w31 :: NonEmpty a6989586621679608998) = GroupWith1 t_a2w30 t_a2w31
data GroupAllWith1Sym0 (l_a2w6N :: TyFun (TyFun a6989586621679608996 b6989586621679608995 -> Type) (TyFun (NonEmpty a6989586621679608996) (NonEmpty (NonEmpty a6989586621679608996)) -> Type))
data GroupAllWith1Sym1 (l_a2w6L :: TyFun a6989586621679608996 b6989586621679608995 -> Type) (l_a2w6K :: TyFun (NonEmpty a6989586621679608996) (NonEmpty (NonEmpty a6989586621679608996)))
type GroupAllWith1Sym2 (t_a2w6I :: TyFun a6989586621679608996 b6989586621679608995 -> Type) (t_a2w6J :: NonEmpty a6989586621679608996) = GroupAllWith1 t_a2w6I t_a2w6J
data IsPrefixOfSym0 (l_a2vYZ :: TyFun [a6989586621679608994] (TyFun (NonEmpty a6989586621679608994) Bool -> Type))
data IsPrefixOfSym1 (l_a2vYX :: [a6989586621679608994]) (l_a2vYW :: TyFun (NonEmpty a6989586621679608994) Bool)
type IsPrefixOfSym2 (t_a2vYU :: [a6989586621679608994]) (t_a2vYV :: NonEmpty a6989586621679608994) = IsPrefixOf t_a2vYU t_a2vYV
data NubSym0 (l_a2vWU :: TyFun (NonEmpty a6989586621679608985) (NonEmpty a6989586621679608985))
type NubSym1 (t_a2vWT :: NonEmpty a6989586621679608985) = Nub t_a2vWT
data NubBySym0 (l_a2vWo :: TyFun (TyFun a6989586621679608984 (TyFun a6989586621679608984 Bool -> Type) -> Type) (TyFun (NonEmpty a6989586621679608984) (NonEmpty a6989586621679608984) -> Type))
data NubBySym1 (l_a2vWm :: TyFun a6989586621679608984 (TyFun a6989586621679608984 Bool -> Type) -> Type) (l_a2vWl :: TyFun (NonEmpty a6989586621679608984) (NonEmpty a6989586621679608984))
type NubBySym2 (t_a2vWj :: TyFun a6989586621679608984 (TyFun a6989586621679608984 Bool -> Type) -> Type) (t_a2vWk :: NonEmpty a6989586621679608984) = NubBy t_a2vWj t_a2vWk
data (:!!$) (l_a2vYC :: TyFun (NonEmpty a6989586621679608993) (TyFun Nat a6989586621679608993 -> Type))
data (:!!$$) (l_a2vYA :: NonEmpty a6989586621679608993) (l_a2vYz :: TyFun Nat a6989586621679608993)
type (:!!$$$) (t_a2vYx :: NonEmpty a6989586621679608993) (t_a2vYy :: Nat) = (:!!) t_a2vYx t_a2vYy
data ZipSym0 (l_a2vYp :: TyFun (NonEmpty a6989586621679608991) (TyFun (NonEmpty b6989586621679608992) (NonEmpty (a6989586621679608991, b6989586621679608992)) -> Type))
data ZipSym1 (l_a2vYn :: NonEmpty a6989586621679608991) (l_a2vYm :: TyFun (NonEmpty b6989586621679608992) (NonEmpty (a6989586621679608991, b6989586621679608992)))
type ZipSym2 (t_a2vYk :: NonEmpty a6989586621679608991) (t_a2vYl :: NonEmpty b6989586621679608992) = Zip t_a2vYk t_a2vYl
data ZipWithSym0 (l_a2vYa :: TyFun (TyFun a6989586621679608988 (TyFun b6989586621679608989 c6989586621679608990 -> Type) -> Type) (TyFun (NonEmpty a6989586621679608988) (TyFun (NonEmpty b6989586621679608989) (NonEmpty c6989586621679608990) -> Type) -> Type))
data ZipWithSym1 (l_a2vY8 :: TyFun a6989586621679608988 (TyFun b6989586621679608989 c6989586621679608990 -> Type) -> Type) (l_a2vY7 :: TyFun (NonEmpty a6989586621679608988) (TyFun (NonEmpty b6989586621679608989) (NonEmpty c6989586621679608990) -> Type))
data ZipWithSym2 (l_a2vY4 :: TyFun a6989586621679608988 (TyFun b6989586621679608989 c6989586621679608990 -> Type) -> Type) (l_a2vY5 :: NonEmpty a6989586621679608988) (l_a2vY3 :: TyFun (NonEmpty b6989586621679608989) (NonEmpty c6989586621679608990))
type ZipWithSym3 (t_a2vY0 :: TyFun a6989586621679608988 (TyFun b6989586621679608989 c6989586621679608990 -> Type) -> Type) (t_a2vY1 :: NonEmpty a6989586621679608988) (t_a2vY2 :: NonEmpty b6989586621679608989) = ZipWith t_a2vY0 t_a2vY1 t_a2vY2
data UnzipSym0 (l_a2vWZ :: TyFun (NonEmpty (a6989586621679608986, b6989586621679608987)) (NonEmpty a6989586621679608986, NonEmpty b6989586621679608987))
type UnzipSym1 (t_a2vWY :: NonEmpty (a6989586621679608986, b6989586621679608987)) = Unzip t_a2vWY
data FromListSym0 (l_a2w5R :: TyFun [a6989586621679609032] (NonEmpty a6989586621679609032))
type FromListSym1 (t_a2w5Q :: [a6989586621679609032]) = FromList t_a2w5Q
data ToListSym0 (l_a2w3S :: TyFun (NonEmpty a6989586621679609031) [a6989586621679609031])
type ToListSym1 (t_a2w3R :: NonEmpty a6989586621679609031) = ToList t_a2w3R
data NonEmpty_Sym0 (l_a2wak :: TyFun [a6989586621679609043] (Maybe (NonEmpty a6989586621679609043)))
type NonEmpty_Sym1 (t_a2waj :: [a6989586621679609043]) = NonEmpty_ t_a2waj
data XorSym0 (l_a2waV :: TyFun (NonEmpty Bool) Bool)
type XorSym1 (t_a2waU :: NonEmpty Bool) = Xor t_a2waU


-- | Defines the promoted and singleton version of Bounded, <a>PBounded</a>
--   and <a>SBounded</a>
module Data.Singletons.Prelude.Enum
class PBounded (a_a2LIE :: Type) where {
    type family MinBound :: a_a2LIE;
    type family MaxBound :: a_a2LIE;
}
class SBounded a_a2LIE
sMinBound :: SBounded a_a2LIE => Sing (MinBoundSym0 :: a_a2LIE)
sMaxBound :: SBounded a_a2LIE => Sing (MaxBoundSym0 :: a_a2LIE)
class PEnum (a_a2MLK :: Type) where {
    type family Succ (arg_a2MUk :: a_a2MLK) :: a_a2MLK;
    type family Pred (arg_a2MUo :: a_a2MLK) :: a_a2MLK;
    type family ToEnum (arg_a2MUs :: Nat) :: a_a2MLK;
    type family FromEnum (arg_a2MUw :: a_a2MLK) :: Nat;
    type family EnumFromTo (arg_a2MUA :: a_a2MLK) (arg_a2MUB :: a_a2MLK) :: [a_a2MLK];
    type family EnumFromThenTo (arg_a2MUJ :: a_a2MLK) (arg_a2MUK :: a_a2MLK) (arg_a2MUL :: a_a2MLK) :: [a_a2MLK];
    type Succ a_a2MVg = Apply Succ_6989586621679674511Sym0 a_a2MVg;
    type Pred a_a2MVt = Apply Pred_6989586621679674524Sym0 a_a2MVt;
    type EnumFromTo a_a2MVK a_a2MVL =
        Apply (Apply EnumFromTo_6989586621679674542Sym0 a_a2MVK) a_a2MVL;
    type EnumFromThenTo a_a2MWd a_a2MWe a_a2MWf =
        Apply (Apply (Apply EnumFromThenTo_6989586621679674572Sym0 a_a2MWd) a_a2MWe) a_a2MWf;
}
class SEnum a_a2MLK
sSucc :: forall (t_a2MYN :: a_a2MLK). SEnum a_a2MLK => Sing t_a2MYN -> Sing (Apply SuccSym0 t_a2MYN :: a_a2MLK)
sPred :: forall (t_a2MYO :: a_a2MLK). SEnum a_a2MLK => Sing t_a2MYO -> Sing (Apply PredSym0 t_a2MYO :: a_a2MLK)
sToEnum :: forall (t_a2MYP :: Nat). SEnum a_a2MLK => Sing t_a2MYP -> Sing (Apply ToEnumSym0 t_a2MYP :: a_a2MLK)
sFromEnum :: forall (t_a2MYQ :: a_a2MLK). SEnum a_a2MLK => Sing t_a2MYQ -> Sing (Apply FromEnumSym0 t_a2MYQ :: Nat)
sEnumFromTo :: forall (t_a2MYR :: a_a2MLK) (t_a2MYS :: a_a2MLK). SEnum a_a2MLK => Sing t_a2MYR -> Sing t_a2MYS -> Sing (Apply (Apply EnumFromToSym0 t_a2MYR) t_a2MYS :: [a_a2MLK])
sEnumFromThenTo :: forall (t_a2MYT :: a_a2MLK) (t_a2MYU :: a_a2MLK) (t_a2MYV :: a_a2MLK). SEnum a_a2MLK => Sing t_a2MYT -> Sing t_a2MYU -> Sing t_a2MYV -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a2MYT) t_a2MYU) t_a2MYV :: [a_a2MLK])
sSucc :: forall (t_a2MYN :: a_a2MLK). (SEnum a_a2MLK, (Apply SuccSym0 t_a2MYN :: a_a2MLK) ~ Apply Succ_6989586621679674511Sym0 t_a2MYN) => Sing t_a2MYN -> Sing (Apply SuccSym0 t_a2MYN :: a_a2MLK)
sPred :: forall (t_a2MYO :: a_a2MLK). (SEnum a_a2MLK, (Apply PredSym0 t_a2MYO :: a_a2MLK) ~ Apply Pred_6989586621679674524Sym0 t_a2MYO) => Sing t_a2MYO -> Sing (Apply PredSym0 t_a2MYO :: a_a2MLK)
sEnumFromTo :: forall (t_a2MYR :: a_a2MLK) (t_a2MYS :: a_a2MLK). (SEnum a_a2MLK, (Apply (Apply EnumFromToSym0 t_a2MYR) t_a2MYS :: [a_a2MLK]) ~ Apply (Apply EnumFromTo_6989586621679674542Sym0 t_a2MYR) t_a2MYS) => Sing t_a2MYR -> Sing t_a2MYS -> Sing (Apply (Apply EnumFromToSym0 t_a2MYR) t_a2MYS :: [a_a2MLK])
sEnumFromThenTo :: forall (t_a2MYT :: a_a2MLK) (t_a2MYU :: a_a2MLK) (t_a2MYV :: a_a2MLK). (SEnum a_a2MLK, (Apply (Apply (Apply EnumFromThenToSym0 t_a2MYT) t_a2MYU) t_a2MYV :: [a_a2MLK]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679674572Sym0 t_a2MYT) t_a2MYU) t_a2MYV) => Sing t_a2MYT -> Sing t_a2MYU -> Sing t_a2MYV -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a2MYT) t_a2MYU) t_a2MYV :: [a_a2MLK])
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data SuccSym0 (l_a2MUm :: TyFun a6989586621679673920 a6989586621679673920)
type SuccSym1 (t_a2MUl :: a6989586621679673920) = Succ t_a2MUl
data PredSym0 (l_a2MUq :: TyFun a6989586621679673920 a6989586621679673920)
type PredSym1 (t_a2MUp :: a6989586621679673920) = Pred t_a2MUp
data ToEnumSym0 (l_a2MUu :: TyFun Nat a6989586621679673920)
type ToEnumSym1 (t_a2MUt :: Nat) = ToEnum t_a2MUt
data FromEnumSym0 (l_a2MUy :: TyFun a6989586621679673920 Nat)
type FromEnumSym1 (t_a2MUx :: a6989586621679673920) = FromEnum t_a2MUx
data EnumFromToSym0 (l_a2MUH :: TyFun a6989586621679673920 (TyFun a6989586621679673920 [a6989586621679673920] -> Type))
data EnumFromToSym1 (l_a2MUF :: a6989586621679673920) (l_a2MUE :: TyFun a6989586621679673920 [a6989586621679673920])
type EnumFromToSym2 (t_a2MUC :: a6989586621679673920) (t_a2MUD :: a6989586621679673920) = EnumFromTo t_a2MUC t_a2MUD
data EnumFromThenToSym0 (l_a2MUW :: TyFun a6989586621679673920 (TyFun a6989586621679673920 (TyFun a6989586621679673920 [a6989586621679673920] -> Type) -> Type))
data EnumFromThenToSym1 (l_a2MUU :: a6989586621679673920) (l_a2MUT :: TyFun a6989586621679673920 (TyFun a6989586621679673920 [a6989586621679673920] -> Type))
data EnumFromThenToSym2 (l_a2MUQ :: a6989586621679673920) (l_a2MUR :: a6989586621679673920) (l_a2MUP :: TyFun a6989586621679673920 [a6989586621679673920])
type EnumFromThenToSym3 (t_a2MUM :: a6989586621679673920) (t_a2MUN :: a6989586621679673920) (t_a2MUO :: a6989586621679673920) = EnumFromThenTo t_a2MUM t_a2MUN t_a2MUO
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679693030Sym0
instance Data.Singletons.Prelude.Enum.PEnum ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679693020Sym0
instance Data.Singletons.Prelude.Enum.SEnum ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679693005Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679692995Sym0
instance Data.Singletons.Prelude.Enum.SEnum GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679692973Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679692963Sym0
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_6989586621679674683Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Nat
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679674683Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679674683Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679674647Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679674647Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679674625Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679674614Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Pred_6989586621679674603Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Succ_6989586621679674592Sym0
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_6989586621679674511Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Pred_6989586621679674524Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679674542Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679674542Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679674572Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679674572Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679674572Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Lambda_6989586621679674499Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Lambda_6989586621679674499Sym1
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.Let6989586621679674391GoSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674391GoSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674391GoSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674391GoSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674391GoSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674419Scrutinee_6989586621679673957Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674419Scrutinee_6989586621679673957Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674419Scrutinee_6989586621679673957Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674419Scrutinee_6989586621679673957Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674419Scrutinee_6989586621679673957Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674229Go_upSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674229Go_upSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674229Go_upSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674229Go_upSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674229Go_upSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674229Go_upSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674229Go_upSym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674229Y'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674229Y'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674229Y'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674229Y'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674229Y'Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674229Y'Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674229DeltaSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674229DeltaSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674229DeltaSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674229DeltaSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674229DeltaSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674229DeltaSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674192Scrutinee_6989586621679673971Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674192Scrutinee_6989586621679673971Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674192Scrutinee_6989586621679673971Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674192Scrutinee_6989586621679673971Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674192Scrutinee_6989586621679673971Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674192Scrutinee_6989586621679673971Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674047Go_dnSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674047Go_dnSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674047Go_dnSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674047Go_dnSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674047Go_dnSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674047Go_dnSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674047Go_dnSym6
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674047Y'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674047Y'Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674047Y'Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674047Y'Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674047Y'Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674047Y'Sym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674047DeltaSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674047DeltaSym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674047DeltaSym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674047DeltaSym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674047DeltaSym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674047DeltaSym5
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674010Scrutinee_6989586621679673981Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674010Scrutinee_6989586621679673981Sym1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674010Scrutinee_6989586621679673981Sym2
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674010Scrutinee_6989586621679673981Sym3
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674010Scrutinee_6989586621679673981Sym4
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679674010Scrutinee_6989586621679673981Sym5
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_a2LIE :: Type) where {
    type family MinBound :: a_a2LIE;
    type family MaxBound :: a_a2LIE;
}
class PEnum (a_a2MLK :: Type) where {
    type family Succ (arg_a2MUk :: a_a2MLK) :: a_a2MLK;
    type family Pred (arg_a2MUo :: a_a2MLK) :: a_a2MLK;
    type family ToEnum (arg_a2MUs :: Nat) :: a_a2MLK;
    type family FromEnum (arg_a2MUw :: a_a2MLK) :: Nat;
    type family EnumFromTo (arg_a2MUA :: a_a2MLK) (arg_a2MUB :: a_a2MLK) :: [a_a2MLK];
    type family EnumFromThenTo (arg_a2MUJ :: a_a2MLK) (arg_a2MUK :: a_a2MLK) (arg_a2MUL :: a_a2MLK) :: [a_a2MLK];
    type Succ a_a2MVg = Apply Succ_6989586621679674511Sym0 a_a2MVg;
    type Pred a_a2MVt = Apply Pred_6989586621679674524Sym0 a_a2MVt;
    type EnumFromTo a_a2MVK a_a2MVL =
        Apply (Apply EnumFromTo_6989586621679674542Sym0 a_a2MVK) a_a2MVL;
    type EnumFromThenTo a_a2MWd a_a2MWe a_a2MWf =
        Apply (Apply (Apply EnumFromThenTo_6989586621679674572Sym0 a_a2MWd) a_a2MWe) a_a2MWf;
}
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data SuccSym0 (l_a2MUm :: TyFun a6989586621679673920 a6989586621679673920)
type SuccSym1 (t_a2MUl :: a6989586621679673920) = Succ t_a2MUl
data PredSym0 (l_a2MUq :: TyFun a6989586621679673920 a6989586621679673920)
type PredSym1 (t_a2MUp :: a6989586621679673920) = Pred t_a2MUp
data ToEnumSym0 (l_a2MUu :: TyFun Nat a6989586621679673920)
type ToEnumSym1 (t_a2MUt :: Nat) = ToEnum t_a2MUt
data FromEnumSym0 (l_a2MUy :: TyFun a6989586621679673920 Nat)
type FromEnumSym1 (t_a2MUx :: a6989586621679673920) = FromEnum t_a2MUx
data EnumFromToSym0 (l_a2MUH :: TyFun a6989586621679673920 (TyFun a6989586621679673920 [a6989586621679673920] -> Type))
data EnumFromToSym1 (l_a2MUF :: a6989586621679673920) (l_a2MUE :: TyFun a6989586621679673920 [a6989586621679673920])
type EnumFromToSym2 (t_a2MUC :: a6989586621679673920) (t_a2MUD :: a6989586621679673920) = EnumFromTo t_a2MUC t_a2MUD
data EnumFromThenToSym0 (l_a2MUW :: TyFun a6989586621679673920 (TyFun a6989586621679673920 (TyFun a6989586621679673920 [a6989586621679673920] -> Type) -> Type))
data EnumFromThenToSym1 (l_a2MUU :: a6989586621679673920) (l_a2MUT :: TyFun a6989586621679673920 (TyFun a6989586621679673920 [a6989586621679673920] -> Type))
data EnumFromThenToSym2 (l_a2MUQ :: a6989586621679673920) (l_a2MUR :: a6989586621679673920) (l_a2MUP :: TyFun a6989586621679673920 [a6989586621679673920])
type EnumFromThenToSym3 (t_a2MUM :: a6989586621679673920) (t_a2MUN :: a6989586621679673920) (t_a2MUO :: a6989586621679673920) = EnumFromThenTo t_a2MUM t_a2MUN t_a2MUO


-- | 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_agB1 b_agB2 -> 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_aYgd :: Bool). Sing t_aYgd -> Sing (Apply NotSym0 t_aYgd :: Bool)
(%:&&) :: forall (t_aYgg :: Bool) (t_aYgh :: Bool). Sing t_aYgg -> Sing t_aYgh -> Sing (Apply (Apply (:&&$) t_aYgg) t_aYgh :: Bool)
infixr 3 %:&&
(%:||) :: forall (t_aYge :: Bool) (t_aYgf :: Bool). Sing t_aYge -> Sing t_aYgf -> Sing (Apply (Apply (:||$) t_aYge) t_aYgf :: 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_a1oSz :: TyFun k06989586621679342626 k6989586621679342628)

-- | The singleton for <a>error</a>
sError :: Sing (str :: Symbol) -> a
sId :: forall (t_aYZE :: a_aYW2). Sing t_aYZE -> Sing (Apply IdSym0 t_aYZE :: a_aYW2)
sConst :: forall (t_aYZA :: a_aYW0) (t_aYZB :: b_aYW1). Sing t_aYZA -> Sing t_aYZB -> Sing (Apply (Apply ConstSym0 t_aYZA) t_aYZB :: a_aYW0)
(%:.) :: forall (t_aYZx :: TyFun b_aYVX c_aYVY -> Type) (t_aYZy :: TyFun a_aYVZ b_aYVX -> Type) (t_aYZz :: a_aYVZ). Sing t_aYZx -> Sing t_aYZy -> Sing t_aYZz -> Sing (Apply (Apply (Apply (:.$) t_aYZx) t_aYZy) t_aYZz :: c_aYVY)
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_aYZu :: TyFun a_aYVU (TyFun b_aYVV c_aYVW -> Type) -> Type) (t_aYZv :: b_aYVV) (t_aYZw :: a_aYVU). Sing t_aYZu -> Sing t_aYZv -> Sing t_aYZw -> Sing (Apply (Apply (Apply FlipSym0 t_aYZu) t_aYZv) t_aYZw :: c_aYVW)
sAsTypeOf :: forall (t_aYZC :: a_aYVT) (t_aYZD :: a_aYVT). Sing t_aYZC -> Sing t_aYZD -> Sing (Apply (Apply AsTypeOfSym0 t_aYZC) t_aYZD :: a_aYVT)
sSeq :: forall (t_aYZs :: a_aYVR) (t_aYZt :: b_aYVS). Sing t_aYZs -> Sing t_aYZt -> Sing (Apply (Apply SeqSym0 t_aYZs) t_aYZt :: b_aYVS)
infixr 0 `sSeq`
sMap :: forall (t_aYZH :: TyFun a_aYW4 b_aYW5 -> Type) (t_aYZI :: [a_aYW4]). Sing t_aYZH -> Sing t_aYZI -> Sing (Apply (Apply MapSym0 t_aYZH) t_aYZI :: [b_aYW5])
(%:++) :: forall (t_aYZF :: [a_aYW3]) (t_aYZG :: [a_aYW3]). Sing t_aYZF -> Sing t_aYZG -> Sing (Apply (Apply (:++$) t_aYZF) t_aYZG :: [a_aYW3])
infixr 5 %:++
sHead :: forall (t_a1BOm :: [a_a1AJS]). Sing t_a1BOm -> Sing (Apply HeadSym0 t_a1BOm :: a_a1AJS)
sLast :: forall (t_a1BOl :: [a_a1AJR]). Sing t_a1BOl -> Sing (Apply LastSym0 t_a1BOl :: a_a1AJR)
sTail :: forall (t_a1BOk :: [a_a1AJQ]). Sing t_a1BOk -> Sing (Apply TailSym0 t_a1BOk :: [a_a1AJQ])
sInit :: forall (t_a1BOj :: [a_a1AJP]). Sing t_a1BOj -> Sing (Apply InitSym0 t_a1BOj :: [a_a1AJP])
sNull :: forall (t_a1BOg :: [a_a1AJO]). Sing t_a1BOg -> Sing (Apply NullSym0 t_a1BOg :: Bool)
sReverse :: forall (t_a1BOd :: [a_a1AJN]). Sing t_a1BOd -> Sing (Apply ReverseSym0 t_a1BOd :: [a_a1AJN])
sFoldl :: forall (t_aR3n :: TyFun b_aR2p (TyFun a_aR2o b_aR2p -> Type) -> Type) (t_aR3o :: b_aR2p) (t_aR3p :: [a_aR2o]). Sing t_aR3n -> Sing t_aR3o -> Sing t_aR3p -> Sing (Apply (Apply (Apply FoldlSym0 t_aR3n) t_aR3o) t_aR3p :: b_aR2p)
sFoldl1 :: forall (t_a1BNR :: TyFun a_a1AJE (TyFun a_a1AJE a_a1AJE -> Type) -> Type) (t_a1BNS :: [a_a1AJE]). Sing t_a1BNR -> Sing t_a1BNS -> Sing (Apply (Apply Foldl1Sym0 t_a1BNR) t_a1BNS :: a_a1AJE)
sFoldr :: forall (t_aYZJ :: TyFun a_aYW6 (TyFun b_aYW7 b_aYW7 -> Type) -> Type) (t_aYZK :: b_aYW7) (t_aYZL :: [a_aYW6]). Sing t_aYZJ -> Sing t_aYZK -> Sing t_aYZL -> Sing (Apply (Apply (Apply FoldrSym0 t_aYZJ) t_aYZK) t_aYZL :: b_aYW7)
sFoldr1 :: forall (t_a1BNP :: TyFun a_a1AJC (TyFun a_a1AJC a_a1AJC -> Type) -> Type) (t_a1BNQ :: [a_a1AJC]). Sing t_a1BNP -> Sing t_a1BNQ -> Sing (Apply (Apply Foldr1Sym0 t_a1BNP) t_a1BNQ :: a_a1AJC)
sAnd :: forall (t_a1BNL :: [Bool]). Sing t_a1BNL -> Sing (Apply AndSym0 t_a1BNL :: Bool)
sOr :: forall (t_a1BNK :: [Bool]). Sing t_a1BNK -> Sing (Apply OrSym0 t_a1BNK :: Bool)
sAny_ :: forall (t_a1y56 :: TyFun a_a1y4M Bool -> Type) (t_a1y57 :: [a_a1y4M]). Sing t_a1y56 -> Sing t_a1y57 -> Sing (Apply (Apply Any_Sym0 t_a1y56) t_a1y57 :: Bool)
sAll :: forall (t_a1BNI :: TyFun a_a1AJy Bool -> Type) (t_a1BNJ :: [a_a1AJy]). Sing t_a1BNI -> Sing t_a1BNJ -> Sing (Apply (Apply AllSym0 t_a1BNI) t_a1BNJ :: Bool)
sConcat :: forall (t_a1BNO :: [[a_a1AJB]]). Sing t_a1BNO -> Sing (Apply ConcatSym0 t_a1BNO :: [a_a1AJB])
sConcatMap :: forall (t_a1BNM :: TyFun a_a1AJz [b_a1AJA] -> Type) (t_a1BNN :: [a_a1AJz]). Sing t_a1BNM -> Sing t_a1BNN -> Sing (Apply (Apply ConcatMapSym0 t_a1BNM) t_a1BNN :: [b_a1AJA])
sScanl :: forall (t_a1BND :: TyFun b_a1AJw (TyFun a_a1AJx b_a1AJw -> Type) -> Type) (t_a1BNE :: b_a1AJw) (t_a1BNF :: [a_a1AJx]). Sing t_a1BND -> Sing t_a1BNE -> Sing t_a1BNF -> Sing (Apply (Apply (Apply ScanlSym0 t_a1BND) t_a1BNE) t_a1BNF :: [b_a1AJw])
sScanl1 :: forall (t_a1BNG :: TyFun a_a1AJv (TyFun a_a1AJv a_a1AJv -> Type) -> Type) (t_a1BNH :: [a_a1AJv]). Sing t_a1BNG -> Sing t_a1BNH -> Sing (Apply (Apply Scanl1Sym0 t_a1BNG) t_a1BNH :: [a_a1AJv])
sScanr :: forall (t_a1BNA :: TyFun a_a1AJt (TyFun b_a1AJu b_a1AJu -> Type) -> Type) (t_a1BNB :: b_a1AJu) (t_a1BNC :: [a_a1AJt]). Sing t_a1BNA -> Sing t_a1BNB -> Sing t_a1BNC -> Sing (Apply (Apply (Apply ScanrSym0 t_a1BNA) t_a1BNB) t_a1BNC :: [b_a1AJu])
sScanr1 :: forall (t_a1BNy :: TyFun a_a1AJs (TyFun a_a1AJs a_a1AJs -> Type) -> Type) (t_a1BNz :: [a_a1AJs]). Sing t_a1BNy -> Sing t_a1BNz -> Sing (Apply (Apply Scanr1Sym0 t_a1BNy) t_a1BNz :: [a_a1AJs])
sElem :: forall (t_a1BNh :: a_a1AJe) (t_a1BNi :: [a_a1AJe]). SEq a_a1AJe => Sing t_a1BNh -> Sing t_a1BNi -> Sing (Apply (Apply ElemSym0 t_a1BNh) t_a1BNi :: Bool)
sNotElem :: forall (t_a1BNf :: a_a1AJd) (t_a1BNg :: [a_a1AJd]). SEq a_a1AJd => Sing t_a1BNf -> Sing t_a1BNg -> Sing (Apply (Apply NotElemSym0 t_a1BNf) t_a1BNg :: Bool)
sLookup :: forall (t_a1BM0 :: a_a1AI4) (t_a1BM1 :: [(a_a1AI4, b_a1AI5)]). SEq a_a1AI4 => Sing t_a1BM0 -> Sing t_a1BM1 -> Sing (Apply (Apply LookupSym0 t_a1BM0) t_a1BM1 :: Maybe b_a1AI5)
sZip :: forall (t_a1BN5 :: [a_a1AJb]) (t_a1BN6 :: [b_a1AJc]). Sing t_a1BN5 -> Sing t_a1BN6 -> Sing (Apply (Apply ZipSym0 t_a1BN5) t_a1BN6 :: [(a_a1AJb, b_a1AJc)])
sZip3 :: forall (t_a1BN2 :: [a_a1AJ8]) (t_a1BN3 :: [b_a1AJ9]) (t_a1BN4 :: [c_a1AJa]). Sing t_a1BN2 -> Sing t_a1BN3 -> Sing t_a1BN4 -> Sing (Apply (Apply (Apply Zip3Sym0 t_a1BN2) t_a1BN3) t_a1BN4 :: [(a_a1AJ8, b_a1AJ9, c_a1AJa)])
sZipWith :: forall (t_a1BMZ :: TyFun a_a1AJ5 (TyFun b_a1AJ6 c_a1AJ7 -> Type) -> Type) (t_a1BN0 :: [a_a1AJ5]) (t_a1BN1 :: [b_a1AJ6]). Sing t_a1BMZ -> Sing t_a1BN0 -> Sing t_a1BN1 -> Sing (Apply (Apply (Apply ZipWithSym0 t_a1BMZ) t_a1BN0) t_a1BN1 :: [c_a1AJ7])
sZipWith3 :: forall (t_a1BMV :: TyFun a_a1AJ1 (TyFun b_a1AJ2 (TyFun c_a1AJ3 d_a1AJ4 -> Type) -> Type) -> Type) (t_a1BMW :: [a_a1AJ1]) (t_a1BMX :: [b_a1AJ2]) (t_a1BMY :: [c_a1AJ3]). Sing t_a1BMV -> Sing t_a1BMW -> Sing t_a1BMX -> Sing t_a1BMY -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a1BMV) t_a1BMW) t_a1BMX) t_a1BMY :: [d_a1AJ4])
sUnzip :: forall (t_a1BMU :: [(a_a1AIZ, b_a1AJ0)]). Sing t_a1BMU -> Sing (Apply UnzipSym0 t_a1BMU :: ([a_a1AIZ], [b_a1AJ0]))
sUnzip3 :: forall (t_a1BMT :: [(a_a1AIW, b_a1AIX, c_a1AIY)]). Sing t_a1BMT -> Sing (Apply Unzip3Sym0 t_a1BMT :: ([a_a1AIW], [b_a1AIX], [c_a1AIY]))
sMaybe_ :: forall (t_a1tuD :: b_a1tu9) (t_a1tuE :: TyFun a_a1tua b_a1tu9 -> Type) (t_a1tuF :: Maybe a_a1tua). Sing t_a1tuD -> Sing t_a1tuE -> Sing t_a1tuF -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a1tuD) t_a1tuE) t_a1tuF :: b_a1tu9)
sEither_ :: forall (t_a1vBI :: TyFun a_a1vBb c_a1vBc -> Type) (t_a1vBJ :: TyFun b_a1vBd c_a1vBc -> Type) (t_a1vBK :: Either a_a1vBb b_a1vBd). Sing t_a1vBI -> Sing t_a1vBJ -> Sing t_a1vBK -> Sing (Apply (Apply (Apply Either_Sym0 t_a1vBI) t_a1vBJ) t_a1vBK :: c_a1vBc)
sFst :: forall (t_a1sFT :: (a_a1sEJ, b_a1sEK)). Sing t_a1sFT -> Sing (Apply FstSym0 t_a1sFT :: a_a1sEJ)
sSnd :: forall (t_a1sFS :: (a_a1sEH, b_a1sEI)). Sing t_a1sFS -> Sing (Apply SndSym0 t_a1sFS :: b_a1sEI)
sCurry :: forall (t_a1sFP :: TyFun (a_a1sEE, b_a1sEF) c_a1sEG -> Type) (t_a1sFQ :: a_a1sEE) (t_a1sFR :: b_a1sEF). Sing t_a1sFP -> Sing t_a1sFQ -> Sing t_a1sFR -> Sing (Apply (Apply (Apply CurrySym0 t_a1sFP) t_a1sFQ) t_a1sFR :: c_a1sEG)
sUncurry :: forall (t_a1sFU :: TyFun a_a1sEB (TyFun b_a1sEC c_a1sED -> Type) -> Type) (t_a1sFV :: (a_a1sEB, b_a1sEC)). Sing t_a1sFU -> Sing t_a1sFV -> Sing (Apply (Apply UncurrySym0 t_a1sFU) t_a1sFV :: c_a1sED)

-- | (Kind) This is the kind of type-level symbols. Declared here because
--   class IP needs it
data Symbol :: *
either_ :: (a_a1vBb -> c_a1vBc) -> (b_a1vBd -> c_a1vBc) -> Either a_a1vBb b_a1vBd -> c_a1vBc
maybe_ :: b_a1tu9 -> (a_a1tua -> b_a1tu9) -> Maybe a_a1tua -> b_a1tu9
bool_ :: a_aY5I -> a_aY5I -> Bool -> a_aY5I
any_ :: (a_a1y4M -> Bool) -> [a_a1y4M] -> Bool
type FalseSym0 = False
type TrueSym0 = True
data NotSym0 (l_aYfK :: TyFun Bool Bool)
type NotSym1 (t_aYfJ :: Bool) = Not t_aYfJ
data (:&&$) (l_aYg5 :: TyFun Bool (TyFun Bool Bool -> Type))
data (:&&$$) (l_aYg3 :: Bool) (l_aYg2 :: TyFun Bool Bool)
type (:&&$$$) (t_aYg0 :: Bool) (t_aYg1 :: Bool) = (:&&) t_aYg0 t_aYg1
data (:||$) (l_aYfS :: TyFun Bool (TyFun Bool Bool -> Type))
data (:||$$) (l_aYfQ :: Bool) (l_aYfP :: TyFun Bool Bool)
type (:||$$$) (t_aYfN :: Bool) (t_aYfO :: Bool) = (:||) t_aYfN t_aYfO
type OtherwiseSym0 = Otherwise
type NothingSym0 = Nothing
data JustSym0 (l_aO2J :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_aO2I :: a3530822107858468865) = Just t_aO2I
data Maybe_Sym0 (l_a1tup :: TyFun b6989586621679361465 (TyFun (TyFun a6989586621679361466 b6989586621679361465 -> Type) (TyFun (Maybe a6989586621679361466) b6989586621679361465 -> Type) -> Type))
data Maybe_Sym1 (l_a1tun :: b6989586621679361465) (l_a1tum :: TyFun (TyFun a6989586621679361466 b6989586621679361465 -> Type) (TyFun (Maybe a6989586621679361466) b6989586621679361465 -> Type))
data Maybe_Sym2 (l_a1tuj :: b6989586621679361465) (l_a1tuk :: TyFun a6989586621679361466 b6989586621679361465 -> Type) (l_a1tui :: TyFun (Maybe a6989586621679361466) b6989586621679361465)
type Maybe_Sym3 (t_a1tuf :: b6989586621679361465) (t_a1tug :: TyFun a6989586621679361466 b6989586621679361465 -> Type) (t_a1tuh :: Maybe a6989586621679361466) = Maybe_ t_a1tuf t_a1tug t_a1tuh
data LeftSym0 (l_aO3a :: TyFun a6989586621679073591 (Either a6989586621679073591 b6989586621679073592))
type LeftSym1 (t_aO39 :: a6989586621679073591) = Left t_aO39
data RightSym0 (l_aO3d :: TyFun b6989586621679073592 (Either a6989586621679073591 b6989586621679073592))
type RightSym1 (t_aO3c :: b6989586621679073592) = Right t_aO3c
data Either_Sym0 (l_a1vBt :: TyFun (TyFun a6989586621679369589 c6989586621679369590 -> Type) (TyFun (TyFun b6989586621679369591 c6989586621679369590 -> Type) (TyFun (Either a6989586621679369589 b6989586621679369591) c6989586621679369590 -> Type) -> Type))
data Either_Sym1 (l_a1vBr :: TyFun a6989586621679369589 c6989586621679369590 -> Type) (l_a1vBq :: TyFun (TyFun b6989586621679369591 c6989586621679369590 -> Type) (TyFun (Either a6989586621679369589 b6989586621679369591) c6989586621679369590 -> Type))
data Either_Sym2 (l_a1vBn :: TyFun a6989586621679369589 c6989586621679369590 -> Type) (l_a1vBo :: TyFun b6989586621679369591 c6989586621679369590 -> Type) (l_a1vBm :: TyFun (Either a6989586621679369589 b6989586621679369591) c6989586621679369590)
type Either_Sym3 (t_a1vBj :: TyFun a6989586621679369589 c6989586621679369590 -> Type) (t_a1vBk :: TyFun b6989586621679369591 c6989586621679369590 -> Type) (t_a1vBl :: Either a6989586621679369589 b6989586621679369591) = Either_ t_a1vBj t_a1vBk t_a1vBl
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_aO3M :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aO3K :: a3530822107858468865) (l_aO3J :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aO3H :: a3530822107858468865) (t_aO3I :: b3530822107858468866) = '(t_aO3H, t_aO3I)
data Tuple3Sym0 (l_aO4a :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aO48 :: a3530822107858468865) (l_aO47 :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aO44 :: a3530822107858468865) (l_aO45 :: b3530822107858468866) (l_aO43 :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aO40 :: a3530822107858468865) (t_aO41 :: b3530822107858468866) (t_aO42 :: c3530822107858468867) = '(t_aO40, t_aO41, t_aO42)
data Tuple4Sym0 (l_aO4J :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aO4H :: a3530822107858468865) (l_aO4G :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aO4D :: a3530822107858468865) (l_aO4E :: b3530822107858468866) (l_aO4C :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aO4y :: a3530822107858468865) (l_aO4z :: b3530822107858468866) (l_aO4A :: c3530822107858468867) (l_aO4x :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aO4t :: a3530822107858468865) (t_aO4u :: b3530822107858468866) (t_aO4v :: c3530822107858468867) (t_aO4w :: d3530822107858468868) = '(t_aO4t, t_aO4u, t_aO4v, t_aO4w)
data Tuple5Sym0 (l_aO5u :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aO5s :: a3530822107858468865) (l_aO5r :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aO5o :: a3530822107858468865) (l_aO5p :: b3530822107858468866) (l_aO5n :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aO5j :: a3530822107858468865) (l_aO5k :: b3530822107858468866) (l_aO5l :: c3530822107858468867) (l_aO5i :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aO5d :: a3530822107858468865) (l_aO5e :: b3530822107858468866) (l_aO5f :: c3530822107858468867) (l_aO5g :: d3530822107858468868) (l_aO5c :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aO57 :: a3530822107858468865) (t_aO58 :: b3530822107858468866) (t_aO59 :: c3530822107858468867) (t_aO5a :: d3530822107858468868) (t_aO5b :: e3530822107858468869) = '(t_aO57, t_aO58, t_aO59, t_aO5a, t_aO5b)
data Tuple6Sym0 (l_aO6s :: 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_aO6q :: a3530822107858468865) (l_aO6p :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aO6m :: a3530822107858468865) (l_aO6n :: b3530822107858468866) (l_aO6l :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aO6h :: a3530822107858468865) (l_aO6i :: b3530822107858468866) (l_aO6j :: c3530822107858468867) (l_aO6g :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aO6b :: a3530822107858468865) (l_aO6c :: b3530822107858468866) (l_aO6d :: c3530822107858468867) (l_aO6e :: d3530822107858468868) (l_aO6a :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aO64 :: a3530822107858468865) (l_aO65 :: b3530822107858468866) (l_aO66 :: c3530822107858468867) (l_aO67 :: d3530822107858468868) (l_aO68 :: e3530822107858468869) (l_aO63 :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aO5X :: a3530822107858468865) (t_aO5Y :: b3530822107858468866) (t_aO5Z :: c3530822107858468867) (t_aO60 :: d3530822107858468868) (t_aO61 :: e3530822107858468869) (t_aO62 :: f3530822107858468870) = '(t_aO5X, t_aO5Y, t_aO5Z, t_aO60, t_aO61, t_aO62)
data Tuple7Sym0 (l_aO7E :: 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_aO7C :: a3530822107858468865) (l_aO7B :: 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_aO7y :: a3530822107858468865) (l_aO7z :: b3530822107858468866) (l_aO7x :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_aO7t :: a3530822107858468865) (l_aO7u :: b3530822107858468866) (l_aO7v :: c3530822107858468867) (l_aO7s :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_aO7n :: a3530822107858468865) (l_aO7o :: b3530822107858468866) (l_aO7p :: c3530822107858468867) (l_aO7q :: d3530822107858468868) (l_aO7m :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_aO7g :: a3530822107858468865) (l_aO7h :: b3530822107858468866) (l_aO7i :: c3530822107858468867) (l_aO7j :: d3530822107858468868) (l_aO7k :: e3530822107858468869) (l_aO7f :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_aO78 :: a3530822107858468865) (l_aO79 :: b3530822107858468866) (l_aO7a :: c3530822107858468867) (l_aO7b :: d3530822107858468868) (l_aO7c :: e3530822107858468869) (l_aO7d :: f3530822107858468870) (l_aO77 :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_aO70 :: a3530822107858468865) (t_aO71 :: b3530822107858468866) (t_aO72 :: c3530822107858468867) (t_aO73 :: d3530822107858468868) (t_aO74 :: e3530822107858468869) (t_aO75 :: f3530822107858468870) (t_aO76 :: g3530822107858468871) = '(t_aO70, t_aO71, t_aO72, t_aO73, t_aO74, t_aO75, t_aO76)
data FstSym0 (l_a1sFw :: TyFun (a6989586621679358277, b6989586621679358278) a6989586621679358277)
type FstSym1 (t_a1sFv :: (a6989586621679358277, b6989586621679358278)) = Fst t_a1sFv
data SndSym0 (l_a1sFo :: TyFun (a6989586621679358275, b6989586621679358276) b6989586621679358276)
type SndSym1 (t_a1sFn :: (a6989586621679358275, b6989586621679358276)) = Snd t_a1sFn
data CurrySym0 (l_a1sFf :: TyFun (TyFun (a6989586621679358272, b6989586621679358273) c6989586621679358274 -> Type) (TyFun a6989586621679358272 (TyFun b6989586621679358273 c6989586621679358274 -> Type) -> Type))
data CurrySym1 (l_a1sFd :: TyFun (a6989586621679358272, b6989586621679358273) c6989586621679358274 -> Type) (l_a1sFc :: TyFun a6989586621679358272 (TyFun b6989586621679358273 c6989586621679358274 -> Type))
data CurrySym2 (l_a1sF9 :: TyFun (a6989586621679358272, b6989586621679358273) c6989586621679358274 -> Type) (l_a1sFa :: a6989586621679358272) (l_a1sF8 :: TyFun b6989586621679358273 c6989586621679358274)
type CurrySym3 (t_a1sF5 :: TyFun (a6989586621679358272, b6989586621679358273) c6989586621679358274 -> Type) (t_a1sF6 :: a6989586621679358272) (t_a1sF7 :: b6989586621679358273) = Curry t_a1sF5 t_a1sF6 t_a1sF7
data UncurrySym0 (l_a1sFI :: TyFun (TyFun a6989586621679358269 (TyFun b6989586621679358270 c6989586621679358271 -> Type) -> Type) (TyFun (a6989586621679358269, b6989586621679358270) c6989586621679358271 -> Type))
data UncurrySym1 (l_a1sFG :: TyFun a6989586621679358269 (TyFun b6989586621679358270 c6989586621679358271 -> Type) -> Type) (l_a1sFF :: TyFun (a6989586621679358269, b6989586621679358270) c6989586621679358271)
type UncurrySym2 (t_a1sFD :: TyFun a6989586621679358269 (TyFun b6989586621679358270 c6989586621679358271 -> Type) -> Type) (t_a1sFE :: (a6989586621679358269, b6989586621679358270)) = Uncurry t_a1sFD t_a1sFE
data IdSym0 (l_aYYg :: TyFun a6989586621679244030 a6989586621679244030)
type IdSym1 (t_aYYf :: a6989586621679244030) = Id t_aYYf
data ConstSym0 (l_aYXS :: TyFun a6989586621679244028 (TyFun b6989586621679244029 a6989586621679244028 -> Type))
data ConstSym1 (l_aYXQ :: a6989586621679244028) (l_aYXP :: TyFun b6989586621679244029 a6989586621679244028)
type ConstSym2 (t_aYXN :: a6989586621679244028) (t_aYXO :: b6989586621679244029) = Const t_aYXN t_aYXO
data (:.$) (l_aYXh :: TyFun (TyFun b6989586621679244025 c6989586621679244026 -> Type) (TyFun (TyFun a6989586621679244027 b6989586621679244025 -> Type) (TyFun a6989586621679244027 c6989586621679244026 -> Type) -> Type))
data (:.$$) (l_aYXf :: TyFun b6989586621679244025 c6989586621679244026 -> Type) (l_aYXe :: TyFun (TyFun a6989586621679244027 b6989586621679244025 -> Type) (TyFun a6989586621679244027 c6989586621679244026 -> Type))
data (:.$$$) (l_aYXb :: TyFun b6989586621679244025 c6989586621679244026 -> Type) (l_aYXc :: TyFun a6989586621679244027 b6989586621679244025 -> Type) (l_aYXa :: TyFun a6989586621679244027 c6989586621679244026)
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_aYWZ :: TyFun (TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (TyFun b6989586621679244023 (TyFun a6989586621679244022 c6989586621679244024 -> Type) -> Type))
data FlipSym1 (l_aYWX :: TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (l_aYWW :: TyFun b6989586621679244023 (TyFun a6989586621679244022 c6989586621679244024 -> Type))
data FlipSym2 (l_aYWT :: TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (l_aYWU :: b6989586621679244023) (l_aYWS :: TyFun a6989586621679244022 c6989586621679244024)
data AsTypeOfSym0 (l_aYY9 :: TyFun a6989586621679244021 (TyFun a6989586621679244021 a6989586621679244021 -> Type))
data AsTypeOfSym1 (l_aYY7 :: a6989586621679244021) (l_aYY6 :: TyFun a6989586621679244021 a6989586621679244021)
type AsTypeOfSym2 (t_aYY4 :: a6989586621679244021) (t_aYY5 :: a6989586621679244021) = AsTypeOf t_aYY4 t_aYY5
data SeqSym0 (l_aYWH :: TyFun a6989586621679244019 (TyFun b6989586621679244020 b6989586621679244020 -> Type))
data SeqSym1 (l_aYWF :: a6989586621679244019) (l_aYWE :: TyFun b6989586621679244020 b6989586621679244020)
type SeqSym2 (t_aYWC :: a6989586621679244019) (t_aYWD :: b6989586621679244020) = Seq t_aYWC t_aYWD
data (:$) (l_aO2W :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:$$) (l_aO2U :: a3530822107858468865) (l_aO2T :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:$$$) (t_aO2R :: a3530822107858468865) (t_aO2S :: [a3530822107858468865]) = (:) t_aO2R t_aO2S
type NilSym0 = '[]
data MapSym0 (l_aYYC :: TyFun (TyFun a6989586621679244032 b6989586621679244033 -> Type) (TyFun [a6989586621679244032] [b6989586621679244033] -> Type))
data MapSym1 (l_aYYA :: TyFun a6989586621679244032 b6989586621679244033 -> Type) (l_aYYz :: TyFun [a6989586621679244032] [b6989586621679244033])
type MapSym2 (t_aYYx :: TyFun a6989586621679244032 b6989586621679244033 -> Type) (t_aYYy :: [a6989586621679244032]) = Map t_aYYx t_aYYy
data ReverseSym0 (l_a1BIY :: TyFun [a6989586621679389343] [a6989586621679389343])
type ReverseSym1 (t_a1BIX :: [a6989586621679389343]) = Reverse t_a1BIX
data (:++$$) (l_aYYn :: [a6989586621679244031]) (l_aYYm :: TyFun [a6989586621679244031] [a6989586621679244031])
data (:++$) (l_aYYp :: TyFun [a6989586621679244031] (TyFun [a6989586621679244031] [a6989586621679244031] -> Type))
data HeadSym0 (l_a1BLt :: TyFun [a6989586621679389348] a6989586621679389348)
type HeadSym1 (t_a1BLs :: [a6989586621679389348]) = Head t_a1BLs
data LastSym0 (l_a1BLj :: TyFun [a6989586621679389347] a6989586621679389347)
type LastSym1 (t_a1BLi :: [a6989586621679389347]) = Last t_a1BLi
data TailSym0 (l_a1BLb :: TyFun [a6989586621679389346] [a6989586621679389346])
type TailSym1 (t_a1BLa :: [a6989586621679389346]) = Tail t_a1BLa
data InitSym0 (l_a1BKE :: TyFun [a6989586621679389345] [a6989586621679389345])
type InitSym1 (t_a1BKD :: [a6989586621679389345]) = Init t_a1BKD
data NullSym0 (l_a1BJx :: TyFun [a6989586621679389344] Bool)
type NullSym1 (t_a1BJw :: [a6989586621679389344]) = Null t_a1BJw
data FoldlSym0 (l_aR2J :: TyFun (TyFun b6989586621679213673 (TyFun a6989586621679213672 b6989586621679213673 -> Type) -> Type) (TyFun b6989586621679213673 (TyFun [a6989586621679213672] b6989586621679213673 -> Type) -> Type))
data FoldlSym1 (l_aR2H :: TyFun b6989586621679213673 (TyFun a6989586621679213672 b6989586621679213673 -> Type) -> Type) (l_aR2G :: TyFun b6989586621679213673 (TyFun [a6989586621679213672] b6989586621679213673 -> Type))
data FoldlSym2 (l_aR2D :: TyFun b6989586621679213673 (TyFun a6989586621679213672 b6989586621679213673 -> Type) -> Type) (l_aR2E :: b6989586621679213673) (l_aR2C :: TyFun [a6989586621679213672] b6989586621679213673)
type FoldlSym3 (t_aR2z :: TyFun b6989586621679213673 (TyFun a6989586621679213672 b6989586621679213673 -> Type) -> Type) (t_aR2A :: b6989586621679213673) (t_aR2B :: [a6989586621679213672]) = Foldl t_aR2z t_aR2A t_aR2B
data Foldl1Sym0 (l_a1BwJ :: TyFun (TyFun a6989586621679389334 (TyFun a6989586621679389334 a6989586621679389334 -> Type) -> Type) (TyFun [a6989586621679389334] a6989586621679389334 -> Type))
data Foldl1Sym1 (l_a1BwH :: TyFun a6989586621679389334 (TyFun a6989586621679389334 a6989586621679389334 -> Type) -> Type) (l_a1BwG :: TyFun [a6989586621679389334] a6989586621679389334)
type Foldl1Sym2 (t_a1BwE :: TyFun a6989586621679389334 (TyFun a6989586621679389334 a6989586621679389334 -> Type) -> Type) (t_a1BwF :: [a6989586621679389334]) = Foldl1 t_a1BwE t_a1BwF
data FoldrSym0 (l_aYYW :: TyFun (TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (TyFun b6989586621679244035 (TyFun [a6989586621679244034] b6989586621679244035 -> Type) -> Type))
data FoldrSym1 (l_aYYU :: TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (l_aYYT :: TyFun b6989586621679244035 (TyFun [a6989586621679244034] b6989586621679244035 -> Type))
data FoldrSym2 (l_aYYQ :: TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (l_aYYR :: b6989586621679244035) (l_aYYP :: TyFun [a6989586621679244034] b6989586621679244035)
type FoldrSym3 (t_aYYM :: TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (t_aYYN :: b6989586621679244035) (t_aYYO :: [a6989586621679244034]) = Foldr t_aYYM t_aYYN t_aYYO
data Foldr1Sym0 (l_a1Bw6 :: TyFun (TyFun a6989586621679389332 (TyFun a6989586621679389332 a6989586621679389332 -> Type) -> Type) (TyFun [a6989586621679389332] a6989586621679389332 -> Type))
data Foldr1Sym1 (l_a1Bw4 :: TyFun a6989586621679389332 (TyFun a6989586621679389332 a6989586621679389332 -> Type) -> Type) (l_a1Bw3 :: TyFun [a6989586621679389332] a6989586621679389332)
type Foldr1Sym2 (t_a1Bw1 :: TyFun a6989586621679389332 (TyFun a6989586621679389332 a6989586621679389332 -> Type) -> Type) (t_a1Bw2 :: [a6989586621679389332]) = Foldr1 t_a1Bw1 t_a1Bw2
data ConcatSym0 (l_a1BvX :: TyFun [[a6989586621679389331]] [a6989586621679389331])
type ConcatSym1 (t_a1BvW :: [[a6989586621679389331]]) = Concat t_a1BvW
data ConcatMapSym0 (l_a1BvM :: TyFun (TyFun a6989586621679389329 [b6989586621679389330] -> Type) (TyFun [a6989586621679389329] [b6989586621679389330] -> Type))
data ConcatMapSym1 (l_a1BvK :: TyFun a6989586621679389329 [b6989586621679389330] -> Type) (l_a1BvJ :: TyFun [a6989586621679389329] [b6989586621679389330])
type ConcatMapSym2 (t_a1BvH :: TyFun a6989586621679389329 [b6989586621679389330] -> Type) (t_a1BvI :: [a6989586621679389329]) = ConcatMap t_a1BvH t_a1BvI
data AndSym0 (l_a1BvC :: TyFun [Bool] Bool)
type AndSym1 (t_a1BvB :: [Bool]) = And t_a1BvB
data OrSym0 (l_a1Bvw :: TyFun [Bool] Bool)
type OrSym1 (t_a1Bvv :: [Bool]) = Or t_a1Bvv
data Any_Sym0 (l_a1y4W :: TyFun (TyFun a6989586621679379112 Bool -> Type) (TyFun [a6989586621679379112] Bool -> Type))
data Any_Sym1 (l_a1y4U :: TyFun a6989586621679379112 Bool -> Type) (l_a1y4T :: TyFun [a6989586621679379112] Bool)
type Any_Sym2 (t_a1y4R :: TyFun a6989586621679379112 Bool -> Type) (t_a1y4S :: [a6989586621679379112]) = Any_ t_a1y4R t_a1y4S
data AllSym0 (l_a1Bvl :: TyFun (TyFun a6989586621679389328 Bool -> Type) (TyFun [a6989586621679389328] Bool -> Type))
data AllSym1 (l_a1Bvj :: TyFun a6989586621679389328 Bool -> Type) (l_a1Bvi :: TyFun [a6989586621679389328] Bool)
type AllSym2 (t_a1Bvg :: TyFun a6989586621679389328 Bool -> Type) (t_a1Bvh :: [a6989586621679389328]) = All t_a1Bvg t_a1Bvh
data ScanlSym0 (l_a1BuO :: TyFun (TyFun b6989586621679389326 (TyFun a6989586621679389327 b6989586621679389326 -> Type) -> Type) (TyFun b6989586621679389326 (TyFun [a6989586621679389327] [b6989586621679389326] -> Type) -> Type))
data ScanlSym1 (l_a1BuM :: TyFun b6989586621679389326 (TyFun a6989586621679389327 b6989586621679389326 -> Type) -> Type) (l_a1BuL :: TyFun b6989586621679389326 (TyFun [a6989586621679389327] [b6989586621679389326] -> Type))
data ScanlSym2 (l_a1BuI :: TyFun b6989586621679389326 (TyFun a6989586621679389327 b6989586621679389326 -> Type) -> Type) (l_a1BuJ :: b6989586621679389326) (l_a1BuH :: TyFun [a6989586621679389327] [b6989586621679389326])
type ScanlSym3 (t_a1BuE :: TyFun b6989586621679389326 (TyFun a6989586621679389327 b6989586621679389326 -> Type) -> Type) (t_a1BuF :: b6989586621679389326) (t_a1BuG :: [a6989586621679389327]) = Scanl t_a1BuE t_a1BuF t_a1BuG
data Scanl1Sym0 (l_a1Bv6 :: TyFun (TyFun a6989586621679389325 (TyFun a6989586621679389325 a6989586621679389325 -> Type) -> Type) (TyFun [a6989586621679389325] [a6989586621679389325] -> Type))
data Scanl1Sym1 (l_a1Bv4 :: TyFun a6989586621679389325 (TyFun a6989586621679389325 a6989586621679389325 -> Type) -> Type) (l_a1Bv3 :: TyFun [a6989586621679389325] [a6989586621679389325])
type Scanl1Sym2 (t_a1Bv1 :: TyFun a6989586621679389325 (TyFun a6989586621679389325 a6989586621679389325 -> Type) -> Type) (t_a1Bv2 :: [a6989586621679389325]) = Scanl1 t_a1Bv1 t_a1Bv2
data ScanrSym0 (l_a1Bu3 :: TyFun (TyFun a6989586621679389323 (TyFun b6989586621679389324 b6989586621679389324 -> Type) -> Type) (TyFun b6989586621679389324 (TyFun [a6989586621679389323] [b6989586621679389324] -> Type) -> Type))
data ScanrSym1 (l_a1Bu1 :: TyFun a6989586621679389323 (TyFun b6989586621679389324 b6989586621679389324 -> Type) -> Type) (l_a1Bu0 :: TyFun b6989586621679389324 (TyFun [a6989586621679389323] [b6989586621679389324] -> Type))
data ScanrSym2 (l_a1BtX :: TyFun a6989586621679389323 (TyFun b6989586621679389324 b6989586621679389324 -> Type) -> Type) (l_a1BtY :: b6989586621679389324) (l_a1BtW :: TyFun [a6989586621679389323] [b6989586621679389324])
type ScanrSym3 (t_a1BtT :: TyFun a6989586621679389323 (TyFun b6989586621679389324 b6989586621679389324 -> Type) -> Type) (t_a1BtU :: b6989586621679389324) (t_a1BtV :: [a6989586621679389323]) = Scanr t_a1BtT t_a1BtU t_a1BtV
data Scanr1Sym0 (l_a1BsX :: TyFun (TyFun a6989586621679389322 (TyFun a6989586621679389322 a6989586621679389322 -> Type) -> Type) (TyFun [a6989586621679389322] [a6989586621679389322] -> Type))
data Scanr1Sym1 (l_a1BsV :: TyFun a6989586621679389322 (TyFun a6989586621679389322 a6989586621679389322 -> Type) -> Type) (l_a1BsU :: TyFun [a6989586621679389322] [a6989586621679389322])
type Scanr1Sym2 (t_a1BsS :: TyFun a6989586621679389322 (TyFun a6989586621679389322 a6989586621679389322 -> Type) -> Type) (t_a1BsT :: [a6989586621679389322]) = Scanr1 t_a1BsS t_a1BsT
data ElemSym0 (l_a1Bl4 :: TyFun a6989586621679389308 (TyFun [a6989586621679389308] Bool -> Type))
data ElemSym1 (l_a1Bl2 :: a6989586621679389308) (l_a1Bl1 :: TyFun [a6989586621679389308] Bool)
type ElemSym2 (t_a1BkZ :: a6989586621679389308) (t_a1Bl0 :: [a6989586621679389308]) = Elem t_a1BkZ t_a1Bl0
data NotElemSym0 (l_a1BkP :: TyFun a6989586621679389307 (TyFun [a6989586621679389307] Bool -> Type))
data NotElemSym1 (l_a1BkN :: a6989586621679389307) (l_a1BkM :: TyFun [a6989586621679389307] Bool)
type NotElemSym2 (t_a1BkK :: a6989586621679389307) (t_a1BkL :: [a6989586621679389307]) = NotElem t_a1BkK t_a1BkL
data ZipSym0 (l_a1BiM :: TyFun [a6989586621679389305] (TyFun [b6989586621679389306] [(a6989586621679389305, b6989586621679389306)] -> Type))
data ZipSym1 (l_a1BiK :: [a6989586621679389305]) (l_a1BiJ :: TyFun [b6989586621679389306] [(a6989586621679389305, b6989586621679389306)])
type ZipSym2 (t_a1BiH :: [a6989586621679389305]) (t_a1BiI :: [b6989586621679389306]) = Zip t_a1BiH t_a1BiI
data Zip3Sym0 (l_a1BhE :: TyFun [a6989586621679389302] (TyFun [b6989586621679389303] (TyFun [c6989586621679389304] [(a6989586621679389302, b6989586621679389303, c6989586621679389304)] -> Type) -> Type))
data Zip3Sym1 (l_a1BhC :: [a6989586621679389302]) (l_a1BhB :: TyFun [b6989586621679389303] (TyFun [c6989586621679389304] [(a6989586621679389302, b6989586621679389303, c6989586621679389304)] -> Type))
data Zip3Sym2 (l_a1Bhy :: [a6989586621679389302]) (l_a1Bhz :: [b6989586621679389303]) (l_a1Bhx :: TyFun [c6989586621679389304] [(a6989586621679389302, b6989586621679389303, c6989586621679389304)])
type Zip3Sym3 (t_a1Bhu :: [a6989586621679389302]) (t_a1Bhv :: [b6989586621679389303]) (t_a1Bhw :: [c6989586621679389304]) = Zip3 t_a1Bhu t_a1Bhv t_a1Bhw
data ZipWithSym0 (l_a1BgZ :: TyFun (TyFun a6989586621679389299 (TyFun b6989586621679389300 c6989586621679389301 -> Type) -> Type) (TyFun [a6989586621679389299] (TyFun [b6989586621679389300] [c6989586621679389301] -> Type) -> Type))
data ZipWithSym1 (l_a1BgX :: TyFun a6989586621679389299 (TyFun b6989586621679389300 c6989586621679389301 -> Type) -> Type) (l_a1BgW :: TyFun [a6989586621679389299] (TyFun [b6989586621679389300] [c6989586621679389301] -> Type))
data ZipWithSym2 (l_a1BgT :: TyFun a6989586621679389299 (TyFun b6989586621679389300 c6989586621679389301 -> Type) -> Type) (l_a1BgU :: [a6989586621679389299]) (l_a1BgS :: TyFun [b6989586621679389300] [c6989586621679389301])
type ZipWithSym3 (t_a1BgP :: TyFun a6989586621679389299 (TyFun b6989586621679389300 c6989586621679389301 -> Type) -> Type) (t_a1BgQ :: [a6989586621679389299]) (t_a1BgR :: [b6989586621679389300]) = ZipWith t_a1BgP t_a1BgQ t_a1BgR
data ZipWith3Sym0 (l_a1Bfp :: TyFun (TyFun a6989586621679389295 (TyFun b6989586621679389296 (TyFun c6989586621679389297 d6989586621679389298 -> Type) -> Type) -> Type) (TyFun [a6989586621679389295] (TyFun [b6989586621679389296] (TyFun [c6989586621679389297] [d6989586621679389298] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1Bfn :: TyFun a6989586621679389295 (TyFun b6989586621679389296 (TyFun c6989586621679389297 d6989586621679389298 -> Type) -> Type) -> Type) (l_a1Bfm :: TyFun [a6989586621679389295] (TyFun [b6989586621679389296] (TyFun [c6989586621679389297] [d6989586621679389298] -> Type) -> Type))
data ZipWith3Sym2 (l_a1Bfj :: TyFun a6989586621679389295 (TyFun b6989586621679389296 (TyFun c6989586621679389297 d6989586621679389298 -> Type) -> Type) -> Type) (l_a1Bfk :: [a6989586621679389295]) (l_a1Bfi :: TyFun [b6989586621679389296] (TyFun [c6989586621679389297] [d6989586621679389298] -> Type))
data ZipWith3Sym3 (l_a1Bfe :: TyFun a6989586621679389295 (TyFun b6989586621679389296 (TyFun c6989586621679389297 d6989586621679389298 -> Type) -> Type) -> Type) (l_a1Bff :: [a6989586621679389295]) (l_a1Bfg :: [b6989586621679389296]) (l_a1Bfd :: TyFun [c6989586621679389297] [d6989586621679389298])
data UnzipSym0 (l_a1BeG :: TyFun [(a6989586621679389293, b6989586621679389294)] ([a6989586621679389293], [b6989586621679389294]))
type UnzipSym1 (t_a1BeF :: [(a6989586621679389293, b6989586621679389294)]) = Unzip t_a1BeF


-- | 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_a1y4M -> Bool) -> [a_a1y4M] -> Bool
type NilSym0 = '[]
data (:$) (l_aO2W :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:$$) (l_aO2U :: a3530822107858468865) (l_aO2T :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:$$$) (t_aO2R :: a3530822107858468865) (t_aO2S :: [a3530822107858468865]) = (:) t_aO2R t_aO2S
type (:++$$$) (t_aYYk :: [a6989586621679244031]) (t_aYYl :: [a6989586621679244031]) = (:++) t_aYYk t_aYYl
data (:++$$) (l_aYYn :: [a6989586621679244031]) (l_aYYm :: TyFun [a6989586621679244031] [a6989586621679244031])
data (:++$) (l_aYYp :: TyFun [a6989586621679244031] (TyFun [a6989586621679244031] [a6989586621679244031] -> Type))
data HeadSym0 (l_a1BLt :: TyFun [a6989586621679389348] a6989586621679389348)
type HeadSym1 (t_a1BLs :: [a6989586621679389348]) = Head t_a1BLs
data LastSym0 (l_a1BLj :: TyFun [a6989586621679389347] a6989586621679389347)
type LastSym1 (t_a1BLi :: [a6989586621679389347]) = Last t_a1BLi
data TailSym0 (l_a1BLb :: TyFun [a6989586621679389346] [a6989586621679389346])
type TailSym1 (t_a1BLa :: [a6989586621679389346]) = Tail t_a1BLa
data InitSym0 (l_a1BKE :: TyFun [a6989586621679389345] [a6989586621679389345])
type InitSym1 (t_a1BKD :: [a6989586621679389345]) = Init t_a1BKD
data NullSym0 (l_a1BJx :: TyFun [a6989586621679389344] Bool)
type NullSym1 (t_a1BJw :: [a6989586621679389344]) = Null t_a1BJw
data MapSym0 (l_aYYC :: TyFun (TyFun a6989586621679244032 b6989586621679244033 -> Type) (TyFun [a6989586621679244032] [b6989586621679244033] -> Type))
data MapSym1 (l_aYYA :: TyFun a6989586621679244032 b6989586621679244033 -> Type) (l_aYYz :: TyFun [a6989586621679244032] [b6989586621679244033])
type MapSym2 (t_aYYx :: TyFun a6989586621679244032 b6989586621679244033 -> Type) (t_aYYy :: [a6989586621679244032]) = Map t_aYYx t_aYYy
data ReverseSym0 (l_a1BIY :: TyFun [a6989586621679389343] [a6989586621679389343])
type ReverseSym1 (t_a1BIX :: [a6989586621679389343]) = Reverse t_a1BIX
data IntersperseSym0 (l_a1BIC :: TyFun a6989586621679389342 (TyFun [a6989586621679389342] [a6989586621679389342] -> Type))
data IntersperseSym1 (l_a1BIA :: a6989586621679389342) (l_a1BIz :: TyFun [a6989586621679389342] [a6989586621679389342])
type IntersperseSym2 (t_a1BIx :: a6989586621679389342) (t_a1BIy :: [a6989586621679389342]) = Intersperse t_a1BIx t_a1BIy
data IntercalateSym0 (l_a1BIR :: TyFun [a6989586621679389341] (TyFun [[a6989586621679389341]] [a6989586621679389341] -> Type))
data IntercalateSym1 (l_a1BIP :: [a6989586621679389341]) (l_a1BIO :: TyFun [[a6989586621679389341]] [a6989586621679389341])
type IntercalateSym2 (t_a1BIM :: [a6989586621679389341]) (t_a1BIN :: [[a6989586621679389341]]) = Intercalate t_a1BIM t_a1BIN
data SubsequencesSym0 (l_a1BIt :: TyFun [a6989586621679389340] [[a6989586621679389340]])
type SubsequencesSym1 (t_a1BIs :: [a6989586621679389340]) = Subsequences t_a1BIs
data PermutationsSym0 (l_a1BBL :: TyFun [a6989586621679389337] [[a6989586621679389337]])
type PermutationsSym1 (t_a1BBK :: [a6989586621679389337]) = Permutations t_a1BBK
data FoldlSym0 (l_aR2J :: TyFun (TyFun b6989586621679213673 (TyFun a6989586621679213672 b6989586621679213673 -> Type) -> Type) (TyFun b6989586621679213673 (TyFun [a6989586621679213672] b6989586621679213673 -> Type) -> Type))
data FoldlSym1 (l_aR2H :: TyFun b6989586621679213673 (TyFun a6989586621679213672 b6989586621679213673 -> Type) -> Type) (l_aR2G :: TyFun b6989586621679213673 (TyFun [a6989586621679213672] b6989586621679213673 -> Type))
data FoldlSym2 (l_aR2D :: TyFun b6989586621679213673 (TyFun a6989586621679213672 b6989586621679213673 -> Type) -> Type) (l_aR2E :: b6989586621679213673) (l_aR2C :: TyFun [a6989586621679213672] b6989586621679213673)
type FoldlSym3 (t_aR2z :: TyFun b6989586621679213673 (TyFun a6989586621679213672 b6989586621679213673 -> Type) -> Type) (t_aR2A :: b6989586621679213673) (t_aR2B :: [a6989586621679213672]) = Foldl t_aR2z t_aR2A t_aR2B
data Foldl'Sym0 (l_a1BAj :: TyFun (TyFun b6989586621679389336 (TyFun a6989586621679389335 b6989586621679389336 -> Type) -> Type) (TyFun b6989586621679389336 (TyFun [a6989586621679389335] b6989586621679389336 -> Type) -> Type))
data Foldl'Sym1 (l_a1BAh :: TyFun b6989586621679389336 (TyFun a6989586621679389335 b6989586621679389336 -> Type) -> Type) (l_a1BAg :: TyFun b6989586621679389336 (TyFun [a6989586621679389335] b6989586621679389336 -> Type))
data Foldl'Sym2 (l_a1BAd :: TyFun b6989586621679389336 (TyFun a6989586621679389335 b6989586621679389336 -> Type) -> Type) (l_a1BAe :: b6989586621679389336) (l_a1BAc :: TyFun [a6989586621679389335] b6989586621679389336)
type Foldl'Sym3 (t_a1BA9 :: TyFun b6989586621679389336 (TyFun a6989586621679389335 b6989586621679389336 -> Type) -> Type) (t_a1BAa :: b6989586621679389336) (t_a1BAb :: [a6989586621679389335]) = Foldl' t_a1BA9 t_a1BAa t_a1BAb
data Foldl1Sym0 (l_a1BwJ :: TyFun (TyFun a6989586621679389334 (TyFun a6989586621679389334 a6989586621679389334 -> Type) -> Type) (TyFun [a6989586621679389334] a6989586621679389334 -> Type))
data Foldl1Sym1 (l_a1BwH :: TyFun a6989586621679389334 (TyFun a6989586621679389334 a6989586621679389334 -> Type) -> Type) (l_a1BwG :: TyFun [a6989586621679389334] a6989586621679389334)
type Foldl1Sym2 (t_a1BwE :: TyFun a6989586621679389334 (TyFun a6989586621679389334 a6989586621679389334 -> Type) -> Type) (t_a1BwF :: [a6989586621679389334]) = Foldl1 t_a1BwE t_a1BwF
data Foldl1'Sym0 (l_a1BBA :: TyFun (TyFun a6989586621679389333 (TyFun a6989586621679389333 a6989586621679389333 -> Type) -> Type) (TyFun [a6989586621679389333] a6989586621679389333 -> Type))
data Foldl1'Sym1 (l_a1BBy :: TyFun a6989586621679389333 (TyFun a6989586621679389333 a6989586621679389333 -> Type) -> Type) (l_a1BBx :: TyFun [a6989586621679389333] a6989586621679389333)
type Foldl1'Sym2 (t_a1BBv :: TyFun a6989586621679389333 (TyFun a6989586621679389333 a6989586621679389333 -> Type) -> Type) (t_a1BBw :: [a6989586621679389333]) = Foldl1' t_a1BBv t_a1BBw
data FoldrSym0 (l_aYYW :: TyFun (TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (TyFun b6989586621679244035 (TyFun [a6989586621679244034] b6989586621679244035 -> Type) -> Type))
data FoldrSym1 (l_aYYU :: TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (l_aYYT :: TyFun b6989586621679244035 (TyFun [a6989586621679244034] b6989586621679244035 -> Type))
data FoldrSym2 (l_aYYQ :: TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (l_aYYR :: b6989586621679244035) (l_aYYP :: TyFun [a6989586621679244034] b6989586621679244035)
type FoldrSym3 (t_aYYM :: TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (t_aYYN :: b6989586621679244035) (t_aYYO :: [a6989586621679244034]) = Foldr t_aYYM t_aYYN t_aYYO
data Foldr1Sym0 (l_a1Bw6 :: TyFun (TyFun a6989586621679389332 (TyFun a6989586621679389332 a6989586621679389332 -> Type) -> Type) (TyFun [a6989586621679389332] a6989586621679389332 -> Type))
data Foldr1Sym1 (l_a1Bw4 :: TyFun a6989586621679389332 (TyFun a6989586621679389332 a6989586621679389332 -> Type) -> Type) (l_a1Bw3 :: TyFun [a6989586621679389332] a6989586621679389332)
type Foldr1Sym2 (t_a1Bw1 :: TyFun a6989586621679389332 (TyFun a6989586621679389332 a6989586621679389332 -> Type) -> Type) (t_a1Bw2 :: [a6989586621679389332]) = Foldr1 t_a1Bw1 t_a1Bw2
data ConcatSym0 (l_a1BvX :: TyFun [[a6989586621679389331]] [a6989586621679389331])
type ConcatSym1 (t_a1BvW :: [[a6989586621679389331]]) = Concat t_a1BvW
data ConcatMapSym0 (l_a1BvM :: TyFun (TyFun a6989586621679389329 [b6989586621679389330] -> Type) (TyFun [a6989586621679389329] [b6989586621679389330] -> Type))
data ConcatMapSym1 (l_a1BvK :: TyFun a6989586621679389329 [b6989586621679389330] -> Type) (l_a1BvJ :: TyFun [a6989586621679389329] [b6989586621679389330])
type ConcatMapSym2 (t_a1BvH :: TyFun a6989586621679389329 [b6989586621679389330] -> Type) (t_a1BvI :: [a6989586621679389329]) = ConcatMap t_a1BvH t_a1BvI
data AndSym0 (l_a1BvC :: TyFun [Bool] Bool)
type AndSym1 (t_a1BvB :: [Bool]) = And t_a1BvB
data OrSym0 (l_a1Bvw :: TyFun [Bool] Bool)
type OrSym1 (t_a1Bvv :: [Bool]) = Or t_a1Bvv
data Any_Sym0 (l_a1y4W :: TyFun (TyFun a6989586621679379112 Bool -> Type) (TyFun [a6989586621679379112] Bool -> Type))
data Any_Sym1 (l_a1y4U :: TyFun a6989586621679379112 Bool -> Type) (l_a1y4T :: TyFun [a6989586621679379112] Bool)
type Any_Sym2 (t_a1y4R :: TyFun a6989586621679379112 Bool -> Type) (t_a1y4S :: [a6989586621679379112]) = Any_ t_a1y4R t_a1y4S
data AllSym0 (l_a1Bvl :: TyFun (TyFun a6989586621679389328 Bool -> Type) (TyFun [a6989586621679389328] Bool -> Type))
data AllSym1 (l_a1Bvj :: TyFun a6989586621679389328 Bool -> Type) (l_a1Bvi :: TyFun [a6989586621679389328] Bool)
type AllSym2 (t_a1Bvg :: TyFun a6989586621679389328 Bool -> Type) (t_a1Bvh :: [a6989586621679389328]) = All t_a1Bvg t_a1Bvh
data ScanlSym0 (l_a1BuO :: TyFun (TyFun b6989586621679389326 (TyFun a6989586621679389327 b6989586621679389326 -> Type) -> Type) (TyFun b6989586621679389326 (TyFun [a6989586621679389327] [b6989586621679389326] -> Type) -> Type))
data ScanlSym1 (l_a1BuM :: TyFun b6989586621679389326 (TyFun a6989586621679389327 b6989586621679389326 -> Type) -> Type) (l_a1BuL :: TyFun b6989586621679389326 (TyFun [a6989586621679389327] [b6989586621679389326] -> Type))
data ScanlSym2 (l_a1BuI :: TyFun b6989586621679389326 (TyFun a6989586621679389327 b6989586621679389326 -> Type) -> Type) (l_a1BuJ :: b6989586621679389326) (l_a1BuH :: TyFun [a6989586621679389327] [b6989586621679389326])
type ScanlSym3 (t_a1BuE :: TyFun b6989586621679389326 (TyFun a6989586621679389327 b6989586621679389326 -> Type) -> Type) (t_a1BuF :: b6989586621679389326) (t_a1BuG :: [a6989586621679389327]) = Scanl t_a1BuE t_a1BuF t_a1BuG
data Scanl1Sym0 (l_a1Bv6 :: TyFun (TyFun a6989586621679389325 (TyFun a6989586621679389325 a6989586621679389325 -> Type) -> Type) (TyFun [a6989586621679389325] [a6989586621679389325] -> Type))
data Scanl1Sym1 (l_a1Bv4 :: TyFun a6989586621679389325 (TyFun a6989586621679389325 a6989586621679389325 -> Type) -> Type) (l_a1Bv3 :: TyFun [a6989586621679389325] [a6989586621679389325])
type Scanl1Sym2 (t_a1Bv1 :: TyFun a6989586621679389325 (TyFun a6989586621679389325 a6989586621679389325 -> Type) -> Type) (t_a1Bv2 :: [a6989586621679389325]) = Scanl1 t_a1Bv1 t_a1Bv2
data ScanrSym0 (l_a1Bu3 :: TyFun (TyFun a6989586621679389323 (TyFun b6989586621679389324 b6989586621679389324 -> Type) -> Type) (TyFun b6989586621679389324 (TyFun [a6989586621679389323] [b6989586621679389324] -> Type) -> Type))
data ScanrSym1 (l_a1Bu1 :: TyFun a6989586621679389323 (TyFun b6989586621679389324 b6989586621679389324 -> Type) -> Type) (l_a1Bu0 :: TyFun b6989586621679389324 (TyFun [a6989586621679389323] [b6989586621679389324] -> Type))
data ScanrSym2 (l_a1BtX :: TyFun a6989586621679389323 (TyFun b6989586621679389324 b6989586621679389324 -> Type) -> Type) (l_a1BtY :: b6989586621679389324) (l_a1BtW :: TyFun [a6989586621679389323] [b6989586621679389324])
type ScanrSym3 (t_a1BtT :: TyFun a6989586621679389323 (TyFun b6989586621679389324 b6989586621679389324 -> Type) -> Type) (t_a1BtU :: b6989586621679389324) (t_a1BtV :: [a6989586621679389323]) = Scanr t_a1BtT t_a1BtU t_a1BtV
data Scanr1Sym0 (l_a1BsX :: TyFun (TyFun a6989586621679389322 (TyFun a6989586621679389322 a6989586621679389322 -> Type) -> Type) (TyFun [a6989586621679389322] [a6989586621679389322] -> Type))
data Scanr1Sym1 (l_a1BsV :: TyFun a6989586621679389322 (TyFun a6989586621679389322 a6989586621679389322 -> Type) -> Type) (l_a1BsU :: TyFun [a6989586621679389322] [a6989586621679389322])
type Scanr1Sym2 (t_a1BsS :: TyFun a6989586621679389322 (TyFun a6989586621679389322 a6989586621679389322 -> Type) -> Type) (t_a1BsT :: [a6989586621679389322]) = Scanr1 t_a1BsS t_a1BsT
data MapAccumLSym0 (l_a1Bqg :: TyFun (TyFun acc6989586621679389319 (TyFun x6989586621679389320 (acc6989586621679389319, y6989586621679389321) -> Type) -> Type) (TyFun acc6989586621679389319 (TyFun [x6989586621679389320] (acc6989586621679389319, [y6989586621679389321]) -> Type) -> Type))
data MapAccumLSym1 (l_a1Bqe :: TyFun acc6989586621679389319 (TyFun x6989586621679389320 (acc6989586621679389319, y6989586621679389321) -> Type) -> Type) (l_a1Bqd :: TyFun acc6989586621679389319 (TyFun [x6989586621679389320] (acc6989586621679389319, [y6989586621679389321]) -> Type))
data MapAccumLSym2 (l_a1Bqa :: TyFun acc6989586621679389319 (TyFun x6989586621679389320 (acc6989586621679389319, y6989586621679389321) -> Type) -> Type) (l_a1Bqb :: acc6989586621679389319) (l_a1Bq9 :: TyFun [x6989586621679389320] (acc6989586621679389319, [y6989586621679389321]))
type MapAccumLSym3 (t_a1Bq6 :: TyFun acc6989586621679389319 (TyFun x6989586621679389320 (acc6989586621679389319, y6989586621679389321) -> Type) -> Type) (t_a1Bq7 :: acc6989586621679389319) (t_a1Bq8 :: [x6989586621679389320]) = MapAccumL t_a1Bq6 t_a1Bq7 t_a1Bq8
data MapAccumRSym0 (l_a1Bnu :: TyFun (TyFun acc6989586621679389316 (TyFun x6989586621679389317 (acc6989586621679389316, y6989586621679389318) -> Type) -> Type) (TyFun acc6989586621679389316 (TyFun [x6989586621679389317] (acc6989586621679389316, [y6989586621679389318]) -> Type) -> Type))
data MapAccumRSym1 (l_a1Bns :: TyFun acc6989586621679389316 (TyFun x6989586621679389317 (acc6989586621679389316, y6989586621679389318) -> Type) -> Type) (l_a1Bnr :: TyFun acc6989586621679389316 (TyFun [x6989586621679389317] (acc6989586621679389316, [y6989586621679389318]) -> Type))
data MapAccumRSym2 (l_a1Bno :: TyFun acc6989586621679389316 (TyFun x6989586621679389317 (acc6989586621679389316, y6989586621679389318) -> Type) -> Type) (l_a1Bnp :: acc6989586621679389316) (l_a1Bnn :: TyFun [x6989586621679389317] (acc6989586621679389316, [y6989586621679389318]))
type MapAccumRSym3 (t_a1Bnk :: TyFun acc6989586621679389316 (TyFun x6989586621679389317 (acc6989586621679389316, y6989586621679389318) -> Type) -> Type) (t_a1Bnl :: acc6989586621679389316) (t_a1Bnm :: [x6989586621679389317]) = MapAccumR t_a1Bnk t_a1Bnl t_a1Bnm
data UnfoldrSym0 (l_a1Bn1 :: TyFun (TyFun b6989586621679389314 (Maybe (a6989586621679389315, b6989586621679389314)) -> Type) (TyFun b6989586621679389314 [a6989586621679389315] -> Type))
data UnfoldrSym1 (l_a1BmZ :: TyFun b6989586621679389314 (Maybe (a6989586621679389315, b6989586621679389314)) -> Type) (l_a1BmY :: TyFun b6989586621679389314 [a6989586621679389315])
type UnfoldrSym2 (t_a1BmW :: TyFun b6989586621679389314 (Maybe (a6989586621679389315, b6989586621679389314)) -> Type) (t_a1BmX :: b6989586621679389314) = Unfoldr t_a1BmW t_a1BmX
data InitsSym0 (l_a1BmN :: TyFun [a6989586621679389313] [[a6989586621679389313]])
type InitsSym1 (t_a1BmM :: [a6989586621679389313]) = Inits t_a1BmM
data TailsSym0 (l_a1Bmq :: TyFun [a6989586621679389312] [[a6989586621679389312]])
type TailsSym1 (t_a1Bmp :: [a6989586621679389312]) = Tails t_a1Bmp
data IsPrefixOfSym0 (l_a1Bm5 :: TyFun [a6989586621679389311] (TyFun [a6989586621679389311] Bool -> Type))
data IsPrefixOfSym1 (l_a1Bm3 :: [a6989586621679389311]) (l_a1Bm2 :: TyFun [a6989586621679389311] Bool)
type IsPrefixOfSym2 (t_a1Bm0 :: [a6989586621679389311]) (t_a1Bm1 :: [a6989586621679389311]) = IsPrefixOf t_a1Bm0 t_a1Bm1
data IsSuffixOfSym0 (l_a1BJq :: TyFun [a6989586621679389310] (TyFun [a6989586621679389310] Bool -> Type))
data IsSuffixOfSym1 (l_a1BJo :: [a6989586621679389310]) (l_a1BJn :: TyFun [a6989586621679389310] Bool)
type IsSuffixOfSym2 (t_a1BJl :: [a6989586621679389310]) (t_a1BJm :: [a6989586621679389310]) = IsSuffixOf t_a1BJl t_a1BJm
data IsInfixOfSym0 (l_a1BmG :: TyFun [a6989586621679389309] (TyFun [a6989586621679389309] Bool -> Type))
data IsInfixOfSym1 (l_a1BmE :: [a6989586621679389309]) (l_a1BmD :: TyFun [a6989586621679389309] Bool)
type IsInfixOfSym2 (t_a1BmB :: [a6989586621679389309]) (t_a1BmC :: [a6989586621679389309]) = IsInfixOf t_a1BmB t_a1BmC
data ElemSym0 (l_a1Bl4 :: TyFun a6989586621679389308 (TyFun [a6989586621679389308] Bool -> Type))
data ElemSym1 (l_a1Bl2 :: a6989586621679389308) (l_a1Bl1 :: TyFun [a6989586621679389308] Bool)
type ElemSym2 (t_a1BkZ :: a6989586621679389308) (t_a1Bl0 :: [a6989586621679389308]) = Elem t_a1BkZ t_a1Bl0
data NotElemSym0 (l_a1BkP :: TyFun a6989586621679389307 (TyFun [a6989586621679389307] Bool -> Type))
data NotElemSym1 (l_a1BkN :: a6989586621679389307) (l_a1BkM :: TyFun [a6989586621679389307] Bool)
type NotElemSym2 (t_a1BkK :: a6989586621679389307) (t_a1BkL :: [a6989586621679389307]) = NotElem t_a1BkK t_a1BkL
data ZipSym0 (l_a1BiM :: TyFun [a6989586621679389305] (TyFun [b6989586621679389306] [(a6989586621679389305, b6989586621679389306)] -> Type))
data ZipSym1 (l_a1BiK :: [a6989586621679389305]) (l_a1BiJ :: TyFun [b6989586621679389306] [(a6989586621679389305, b6989586621679389306)])
type ZipSym2 (t_a1BiH :: [a6989586621679389305]) (t_a1BiI :: [b6989586621679389306]) = Zip t_a1BiH t_a1BiI
data Zip3Sym0 (l_a1BhE :: TyFun [a6989586621679389302] (TyFun [b6989586621679389303] (TyFun [c6989586621679389304] [(a6989586621679389302, b6989586621679389303, c6989586621679389304)] -> Type) -> Type))
data Zip3Sym1 (l_a1BhC :: [a6989586621679389302]) (l_a1BhB :: TyFun [b6989586621679389303] (TyFun [c6989586621679389304] [(a6989586621679389302, b6989586621679389303, c6989586621679389304)] -> Type))
data Zip3Sym2 (l_a1Bhy :: [a6989586621679389302]) (l_a1Bhz :: [b6989586621679389303]) (l_a1Bhx :: TyFun [c6989586621679389304] [(a6989586621679389302, b6989586621679389303, c6989586621679389304)])
type Zip3Sym3 (t_a1Bhu :: [a6989586621679389302]) (t_a1Bhv :: [b6989586621679389303]) (t_a1Bhw :: [c6989586621679389304]) = Zip3 t_a1Bhu t_a1Bhv t_a1Bhw
data ZipWithSym0 (l_a1BgZ :: TyFun (TyFun a6989586621679389299 (TyFun b6989586621679389300 c6989586621679389301 -> Type) -> Type) (TyFun [a6989586621679389299] (TyFun [b6989586621679389300] [c6989586621679389301] -> Type) -> Type))
data ZipWithSym1 (l_a1BgX :: TyFun a6989586621679389299 (TyFun b6989586621679389300 c6989586621679389301 -> Type) -> Type) (l_a1BgW :: TyFun [a6989586621679389299] (TyFun [b6989586621679389300] [c6989586621679389301] -> Type))
data ZipWithSym2 (l_a1BgT :: TyFun a6989586621679389299 (TyFun b6989586621679389300 c6989586621679389301 -> Type) -> Type) (l_a1BgU :: [a6989586621679389299]) (l_a1BgS :: TyFun [b6989586621679389300] [c6989586621679389301])
type ZipWithSym3 (t_a1BgP :: TyFun a6989586621679389299 (TyFun b6989586621679389300 c6989586621679389301 -> Type) -> Type) (t_a1BgQ :: [a6989586621679389299]) (t_a1BgR :: [b6989586621679389300]) = ZipWith t_a1BgP t_a1BgQ t_a1BgR
data ZipWith3Sym0 (l_a1Bfp :: TyFun (TyFun a6989586621679389295 (TyFun b6989586621679389296 (TyFun c6989586621679389297 d6989586621679389298 -> Type) -> Type) -> Type) (TyFun [a6989586621679389295] (TyFun [b6989586621679389296] (TyFun [c6989586621679389297] [d6989586621679389298] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1Bfn :: TyFun a6989586621679389295 (TyFun b6989586621679389296 (TyFun c6989586621679389297 d6989586621679389298 -> Type) -> Type) -> Type) (l_a1Bfm :: TyFun [a6989586621679389295] (TyFun [b6989586621679389296] (TyFun [c6989586621679389297] [d6989586621679389298] -> Type) -> Type))
data ZipWith3Sym2 (l_a1Bfj :: TyFun a6989586621679389295 (TyFun b6989586621679389296 (TyFun c6989586621679389297 d6989586621679389298 -> Type) -> Type) -> Type) (l_a1Bfk :: [a6989586621679389295]) (l_a1Bfi :: TyFun [b6989586621679389296] (TyFun [c6989586621679389297] [d6989586621679389298] -> Type))
data ZipWith3Sym3 (l_a1Bfe :: TyFun a6989586621679389295 (TyFun b6989586621679389296 (TyFun c6989586621679389297 d6989586621679389298 -> Type) -> Type) -> Type) (l_a1Bff :: [a6989586621679389295]) (l_a1Bfg :: [b6989586621679389296]) (l_a1Bfd :: TyFun [c6989586621679389297] [d6989586621679389298])
type ZipWith3Sym4 (t_a1Bf9 :: TyFun a6989586621679389295 (TyFun b6989586621679389296 (TyFun c6989586621679389297 d6989586621679389298 -> Type) -> Type) -> Type) (t_a1Bfa :: [a6989586621679389295]) (t_a1Bfb :: [b6989586621679389296]) (t_a1Bfc :: [c6989586621679389297]) = ZipWith3 t_a1Bf9 t_a1Bfa t_a1Bfb t_a1Bfc
data UnzipSym0 (l_a1BeG :: TyFun [(a6989586621679389293, b6989586621679389294)] ([a6989586621679389293], [b6989586621679389294]))
type UnzipSym1 (t_a1BeF :: [(a6989586621679389293, b6989586621679389294)]) = Unzip t_a1BeF
data Unzip3Sym0 (l_a1Bea :: TyFun [(a6989586621679389290, b6989586621679389291, c6989586621679389292)] ([a6989586621679389290], [b6989586621679389291], [c6989586621679389292]))
type Unzip3Sym1 (t_a1Be9 :: [(a6989586621679389290, b6989586621679389291, c6989586621679389292)]) = Unzip3 t_a1Be9
data Unzip4Sym0 (l_a1BdC :: TyFun [(a6989586621679389286, b6989586621679389287, c6989586621679389288, d6989586621679389289)] ([a6989586621679389286], [b6989586621679389287], [c6989586621679389288], [d6989586621679389289]))
type Unzip4Sym1 (t_a1BdB :: [(a6989586621679389286, b6989586621679389287, c6989586621679389288, d6989586621679389289)]) = Unzip4 t_a1BdB
data Unzip5Sym0 (l_a1Bd2 :: TyFun [(a6989586621679389281, b6989586621679389282, c6989586621679389283, d6989586621679389284, e6989586621679389285)] ([a6989586621679389281], [b6989586621679389282], [c6989586621679389283], [d6989586621679389284], [e6989586621679389285]))
type Unzip5Sym1 (t_a1Bd1 :: [(a6989586621679389281, b6989586621679389282, c6989586621679389283, d6989586621679389284, e6989586621679389285)]) = Unzip5 t_a1Bd1
data Unzip6Sym0 (l_a1Bcq :: TyFun [(a6989586621679389275, b6989586621679389276, c6989586621679389277, d6989586621679389278, e6989586621679389279, f6989586621679389280)] ([a6989586621679389275], [b6989586621679389276], [c6989586621679389277], [d6989586621679389278], [e6989586621679389279], [f6989586621679389280]))
type Unzip6Sym1 (t_a1Bcp :: [(a6989586621679389275, b6989586621679389276, c6989586621679389277, d6989586621679389278, e6989586621679389279, f6989586621679389280)]) = Unzip6 t_a1Bcp
data Unzip7Sym0 (l_a1BbM :: TyFun [(a6989586621679389268, b6989586621679389269, c6989586621679389270, d6989586621679389271, e6989586621679389272, f6989586621679389273, g6989586621679389274)] ([a6989586621679389268], [b6989586621679389269], [c6989586621679389270], [d6989586621679389271], [e6989586621679389272], [f6989586621679389273], [g6989586621679389274]))
type Unzip7Sym1 (t_a1BbL :: [(a6989586621679389268, b6989586621679389269, c6989586621679389270, d6989586621679389271, e6989586621679389272, f6989586621679389273, g6989586621679389274)]) = Unzip7 t_a1BbL
data DeleteSym0 (l_a1Bbq :: TyFun a6989586621679389267 (TyFun [a6989586621679389267] [a6989586621679389267] -> Type))
data DeleteSym1 (l_a1Bbo :: a6989586621679389267) (l_a1Bbn :: TyFun [a6989586621679389267] [a6989586621679389267])
type DeleteSym2 (t_a1Bbl :: a6989586621679389267) (t_a1Bbm :: [a6989586621679389267]) = Delete t_a1Bbl t_a1Bbm
data (:\\$) (l_a1BbF :: TyFun [a6989586621679389266] (TyFun [a6989586621679389266] [a6989586621679389266] -> Type))
data (:\\$$) (l_a1BbD :: [a6989586621679389266]) (l_a1BbC :: TyFun [a6989586621679389266] [a6989586621679389266])
type (:\\$$$) (t_a1BbA :: [a6989586621679389266]) (t_a1BbB :: [a6989586621679389266]) = (:\\) t_a1BbA t_a1BbB
data IntersectSym0 (l_a1B80 :: TyFun [a6989586621679389253] (TyFun [a6989586621679389253] [a6989586621679389253] -> Type))
data IntersectSym1 (l_a1B7Y :: [a6989586621679389253]) (l_a1B7X :: TyFun [a6989586621679389253] [a6989586621679389253])
type IntersectSym2 (t_a1B7V :: [a6989586621679389253]) (t_a1B7W :: [a6989586621679389253]) = Intersect t_a1B7V t_a1B7W
data InsertSym0 (l_a1B9d :: TyFun a6989586621679389240 (TyFun [a6989586621679389240] [a6989586621679389240] -> Type))
data InsertSym1 (l_a1B9b :: a6989586621679389240) (l_a1B9a :: TyFun [a6989586621679389240] [a6989586621679389240])
type InsertSym2 (t_a1B98 :: a6989586621679389240) (t_a1B99 :: [a6989586621679389240]) = Insert t_a1B98 t_a1B99
data SortSym0 (l_a1B9z :: TyFun [a6989586621679389239] [a6989586621679389239])
type SortSym1 (t_a1B9y :: [a6989586621679389239]) = Sort t_a1B9y
data DeleteBySym0 (l_a1B9N :: TyFun (TyFun a6989586621679389265 (TyFun a6989586621679389265 Bool -> Type) -> Type) (TyFun a6989586621679389265 (TyFun [a6989586621679389265] [a6989586621679389265] -> Type) -> Type))
data DeleteBySym1 (l_a1B9L :: TyFun a6989586621679389265 (TyFun a6989586621679389265 Bool -> Type) -> Type) (l_a1B9K :: TyFun a6989586621679389265 (TyFun [a6989586621679389265] [a6989586621679389265] -> Type))
data DeleteBySym2 (l_a1B9H :: TyFun a6989586621679389265 (TyFun a6989586621679389265 Bool -> Type) -> Type) (l_a1B9I :: a6989586621679389265) (l_a1B9G :: TyFun [a6989586621679389265] [a6989586621679389265])
type DeleteBySym3 (t_a1B9D :: TyFun a6989586621679389265 (TyFun a6989586621679389265 Bool -> Type) -> Type) (t_a1B9E :: a6989586621679389265) (t_a1B9F :: [a6989586621679389265]) = DeleteBy t_a1B9D t_a1B9E t_a1B9F
data DeleteFirstsBySym0 (l_a1Bay :: TyFun (TyFun a6989586621679389264 (TyFun a6989586621679389264 Bool -> Type) -> Type) (TyFun [a6989586621679389264] (TyFun [a6989586621679389264] [a6989586621679389264] -> Type) -> Type))
data DeleteFirstsBySym1 (l_a1Baw :: TyFun a6989586621679389264 (TyFun a6989586621679389264 Bool -> Type) -> Type) (l_a1Bav :: TyFun [a6989586621679389264] (TyFun [a6989586621679389264] [a6989586621679389264] -> Type))
data DeleteFirstsBySym2 (l_a1Bas :: TyFun a6989586621679389264 (TyFun a6989586621679389264 Bool -> Type) -> Type) (l_a1Bat :: [a6989586621679389264]) (l_a1Bar :: TyFun [a6989586621679389264] [a6989586621679389264])
type DeleteFirstsBySym3 (t_a1Bao :: TyFun a6989586621679389264 (TyFun a6989586621679389264 Bool -> Type) -> Type) (t_a1Bap :: [a6989586621679389264]) (t_a1Baq :: [a6989586621679389264]) = DeleteFirstsBy t_a1Bao t_a1Bap t_a1Baq
data IntersectBySym0 (l_a1B5W :: TyFun (TyFun a6989586621679389252 (TyFun a6989586621679389252 Bool -> Type) -> Type) (TyFun [a6989586621679389252] (TyFun [a6989586621679389252] [a6989586621679389252] -> Type) -> Type))
data IntersectBySym1 (l_a1B5U :: TyFun a6989586621679389252 (TyFun a6989586621679389252 Bool -> Type) -> Type) (l_a1B5T :: TyFun [a6989586621679389252] (TyFun [a6989586621679389252] [a6989586621679389252] -> Type))
data IntersectBySym2 (l_a1B5Q :: TyFun a6989586621679389252 (TyFun a6989586621679389252 Bool -> Type) -> Type) (l_a1B5R :: [a6989586621679389252]) (l_a1B5P :: TyFun [a6989586621679389252] [a6989586621679389252])
data SortBySym0 (l_a1B9o :: TyFun (TyFun a6989586621679389263 (TyFun a6989586621679389263 Ordering -> Type) -> Type) (TyFun [a6989586621679389263] [a6989586621679389263] -> Type))
data SortBySym1 (l_a1B9m :: TyFun a6989586621679389263 (TyFun a6989586621679389263 Ordering -> Type) -> Type) (l_a1B9l :: TyFun [a6989586621679389263] [a6989586621679389263])
type SortBySym2 (t_a1B9j :: TyFun a6989586621679389263 (TyFun a6989586621679389263 Ordering -> Type) -> Type) (t_a1B9k :: [a6989586621679389263]) = SortBy t_a1B9j t_a1B9k
data InsertBySym0 (l_a1B8g :: TyFun (TyFun a6989586621679389262 (TyFun a6989586621679389262 Ordering -> Type) -> Type) (TyFun a6989586621679389262 (TyFun [a6989586621679389262] [a6989586621679389262] -> Type) -> Type))
data InsertBySym1 (l_a1B8e :: TyFun a6989586621679389262 (TyFun a6989586621679389262 Ordering -> Type) -> Type) (l_a1B8d :: TyFun a6989586621679389262 (TyFun [a6989586621679389262] [a6989586621679389262] -> Type))
data InsertBySym2 (l_a1B8a :: TyFun a6989586621679389262 (TyFun a6989586621679389262 Ordering -> Type) -> Type) (l_a1B8b :: a6989586621679389262) (l_a1B89 :: TyFun [a6989586621679389262] [a6989586621679389262])
type InsertBySym3 (t_a1B86 :: TyFun a6989586621679389262 (TyFun a6989586621679389262 Ordering -> Type) -> Type) (t_a1B87 :: a6989586621679389262) (t_a1B88 :: [a6989586621679389262]) = InsertBy t_a1B86 t_a1B87 t_a1B88
data MaximumBySym0 (l_a1BwY :: TyFun (TyFun a6989586621679389261 (TyFun a6989586621679389261 Ordering -> Type) -> Type) (TyFun [a6989586621679389261] a6989586621679389261 -> Type))
data MaximumBySym1 (l_a1BwW :: TyFun a6989586621679389261 (TyFun a6989586621679389261 Ordering -> Type) -> Type) (l_a1BwV :: TyFun [a6989586621679389261] a6989586621679389261)
type MaximumBySym2 (t_a1BwT :: TyFun a6989586621679389261 (TyFun a6989586621679389261 Ordering -> Type) -> Type) (t_a1BwU :: [a6989586621679389261]) = MaximumBy t_a1BwT t_a1BwU
data MinimumBySym0 (l_a1Byn :: TyFun (TyFun a6989586621679389260 (TyFun a6989586621679389260 Ordering -> Type) -> Type) (TyFun [a6989586621679389260] a6989586621679389260 -> Type))
data MinimumBySym1 (l_a1Byl :: TyFun a6989586621679389260 (TyFun a6989586621679389260 Ordering -> Type) -> Type) (l_a1Byk :: TyFun [a6989586621679389260] a6989586621679389260)
type MinimumBySym2 (t_a1Byi :: TyFun a6989586621679389260 (TyFun a6989586621679389260 Ordering -> Type) -> Type) (t_a1Byj :: [a6989586621679389260]) = MinimumBy t_a1Byi t_a1Byj
data LengthSym0 (l_a1AVS :: TyFun [a6989586621679389231] Nat)
type LengthSym1 (t_a1AVR :: [a6989586621679389231]) = Length t_a1AVR
data SumSym0 (l_a1AWo :: TyFun [a6989586621679389233] a6989586621679389233)
type SumSym1 (t_a1AWn :: [a6989586621679389233]) = Sum t_a1AWn
data ProductSym0 (l_a1AW0 :: TyFun [a6989586621679389232] a6989586621679389232)
type ProductSym1 (t_a1AVZ :: [a6989586621679389232]) = Product t_a1AVZ
data ReplicateSym0 (l_a1AVA :: TyFun Nat (TyFun a6989586621679389230 [a6989586621679389230] -> Type))
data ReplicateSym1 (l_a1AVy :: Nat) (l_a1AVx :: TyFun a6989586621679389230 [a6989586621679389230])
type ReplicateSym2 (t_a1AVv :: Nat) (t_a1AVw :: a6989586621679389230) = Replicate t_a1AVv t_a1AVw
data TransposeSym0 (l_a1BLB :: TyFun [[a6989586621679389229]] [[a6989586621679389229]])
type TransposeSym1 (t_a1BLA :: [[a6989586621679389229]]) = Transpose t_a1BLA
data TakeSym0 (l_a1AYL :: TyFun Nat (TyFun [a6989586621679389246] [a6989586621679389246] -> Type))
data TakeSym1 (l_a1AYJ :: Nat) (l_a1AYI :: TyFun [a6989586621679389246] [a6989586621679389246])
type TakeSym2 (t_a1AYG :: Nat) (t_a1AYH :: [a6989586621679389246]) = Take t_a1AYG t_a1AYH
data DropSym0 (l_a1AYg :: TyFun Nat (TyFun [a6989586621679389245] [a6989586621679389245] -> Type))
data DropSym1 (l_a1AYe :: Nat) (l_a1AYd :: TyFun [a6989586621679389245] [a6989586621679389245])
type DropSym2 (t_a1AYb :: Nat) (t_a1AYc :: [a6989586621679389245]) = Drop t_a1AYb t_a1AYc
data SplitAtSym0 (l_a1AZg :: TyFun Nat (TyFun [a6989586621679389244] ([a6989586621679389244], [a6989586621679389244]) -> Type))
data SplitAtSym1 (l_a1AZe :: Nat) (l_a1AZd :: TyFun [a6989586621679389244] ([a6989586621679389244], [a6989586621679389244]))
type SplitAtSym2 (t_a1AZb :: Nat) (t_a1AZc :: [a6989586621679389244]) = SplitAt t_a1AZb t_a1AZc
data TakeWhileSym0 (l_a1B4G :: TyFun (TyFun a6989586621679389251 Bool -> Type) (TyFun [a6989586621679389251] [a6989586621679389251] -> Type))
data TakeWhileSym1 (l_a1B4E :: TyFun a6989586621679389251 Bool -> Type) (l_a1B4D :: TyFun [a6989586621679389251] [a6989586621679389251])
type TakeWhileSym2 (t_a1B4B :: TyFun a6989586621679389251 Bool -> Type) (t_a1B4C :: [a6989586621679389251]) = TakeWhile t_a1B4B t_a1B4C
data DropWhileSym0 (l_a1B3Y :: TyFun (TyFun a6989586621679389250 Bool -> Type) (TyFun [a6989586621679389250] [a6989586621679389250] -> Type))
data DropWhileSym1 (l_a1B3W :: TyFun a6989586621679389250 Bool -> Type) (l_a1B3V :: TyFun [a6989586621679389250] [a6989586621679389250])
type DropWhileSym2 (t_a1B3T :: TyFun a6989586621679389250 Bool -> Type) (t_a1B3U :: [a6989586621679389250]) = DropWhile t_a1B3T t_a1B3U
data DropWhileEndSym0 (l_a1BJL :: TyFun (TyFun a6989586621679389249 Bool -> Type) (TyFun [a6989586621679389249] [a6989586621679389249] -> Type))
data DropWhileEndSym1 (l_a1BJJ :: TyFun a6989586621679389249 Bool -> Type) (l_a1BJI :: TyFun [a6989586621679389249] [a6989586621679389249])
type DropWhileEndSym2 (t_a1BJG :: TyFun a6989586621679389249 Bool -> Type) (t_a1BJH :: [a6989586621679389249]) = DropWhileEnd t_a1BJG t_a1BJH
data SpanSym0 (l_a1B15 :: TyFun (TyFun a6989586621679389248 Bool -> Type) (TyFun [a6989586621679389248] ([a6989586621679389248], [a6989586621679389248]) -> Type))
data SpanSym1 (l_a1B13 :: TyFun a6989586621679389248 Bool -> Type) (l_a1B12 :: TyFun [a6989586621679389248] ([a6989586621679389248], [a6989586621679389248]))
type SpanSym2 (t_a1B10 :: TyFun a6989586621679389248 Bool -> Type) (t_a1B11 :: [a6989586621679389248]) = Span t_a1B10 t_a1B11
data BreakSym0 (l_a1AZr :: TyFun (TyFun a6989586621679389247 Bool -> Type) (TyFun [a6989586621679389247] ([a6989586621679389247], [a6989586621679389247]) -> Type))
data BreakSym1 (l_a1AZp :: TyFun a6989586621679389247 Bool -> Type) (l_a1AZo :: TyFun [a6989586621679389247] ([a6989586621679389247], [a6989586621679389247]))
type BreakSym2 (t_a1AZm :: TyFun a6989586621679389247 Bool -> Type) (t_a1AZn :: [a6989586621679389247]) = Break t_a1AZm t_a1AZn
data StripPrefixSym0 (l_a30ZW :: TyFun [a6989586621679727944] (TyFun [a6989586621679727944] (Maybe [a6989586621679727944]) -> Type))
data StripPrefixSym1 (l_a30ZU :: [a6989586621679727944]) (l_a30ZT :: TyFun [a6989586621679727944] (Maybe [a6989586621679727944]))
type StripPrefixSym2 (t_a30ZR :: [a6989586621679727944]) (t_a30ZS :: [a6989586621679727944]) = StripPrefix t_a30ZR t_a30ZS
data MaximumSym0 (l_a1BzI :: TyFun [a6989586621679389242] a6989586621679389242)
type MaximumSym1 (t_a1BzH :: [a6989586621679389242]) = Maximum t_a1BzH
data MinimumSym0 (l_a1BzW :: TyFun [a6989586621679389241] a6989586621679389241)
type MinimumSym1 (t_a1BzV :: [a6989586621679389241]) = Minimum t_a1BzV
data GroupSym0 (l_a1B3P :: TyFun [a6989586621679389243] [[a6989586621679389243]])
type GroupSym1 (t_a1B3O :: [a6989586621679389243]) = Group t_a1B3O
data GroupBySym0 (l_a1B2J :: TyFun (TyFun a6989586621679389238 (TyFun a6989586621679389238 Bool -> Type) -> Type) (TyFun [a6989586621679389238] [[a6989586621679389238]] -> Type))
data GroupBySym1 (l_a1B2H :: TyFun a6989586621679389238 (TyFun a6989586621679389238 Bool -> Type) -> Type) (l_a1B2G :: TyFun [a6989586621679389238] [[a6989586621679389238]])
type GroupBySym2 (t_a1B2E :: TyFun a6989586621679389238 (TyFun a6989586621679389238 Bool -> Type) -> Type) (t_a1B2F :: [a6989586621679389238]) = GroupBy t_a1B2E t_a1B2F
data LookupSym0 (l_a1AXG :: TyFun a6989586621679389236 (TyFun [(a6989586621679389236, b6989586621679389237)] (Maybe b6989586621679389237) -> Type))
data LookupSym1 (l_a1AXE :: a6989586621679389236) (l_a1AXD :: TyFun [(a6989586621679389236, b6989586621679389237)] (Maybe b6989586621679389237))
type LookupSym2 (t_a1AXB :: a6989586621679389236) (t_a1AXC :: [(a6989586621679389236, b6989586621679389237)]) = Lookup t_a1AXB t_a1AXC
data FindSym0 (l_a1B5E :: TyFun (TyFun a6989586621679389258 Bool -> Type) (TyFun [a6989586621679389258] (Maybe a6989586621679389258) -> Type))
data FindSym1 (l_a1B5C :: TyFun a6989586621679389258 Bool -> Type) (l_a1B5B :: TyFun [a6989586621679389258] (Maybe a6989586621679389258))
type FindSym2 (t_a1B5z :: TyFun a6989586621679389258 Bool -> Type) (t_a1B5A :: [a6989586621679389258]) = Find t_a1B5z t_a1B5A
data FilterSym0 (l_a1B5b :: TyFun (TyFun a6989586621679389259 Bool -> Type) (TyFun [a6989586621679389259] [a6989586621679389259] -> Type))
data FilterSym1 (l_a1B59 :: TyFun a6989586621679389259 Bool -> Type) (l_a1B58 :: TyFun [a6989586621679389259] [a6989586621679389259])
type FilterSym2 (t_a1B56 :: TyFun a6989586621679389259 Bool -> Type) (t_a1B57 :: [a6989586621679389259]) = Filter t_a1B56 t_a1B57
data PartitionSym0 (l_a1AXv :: TyFun (TyFun a6989586621679389235 Bool -> Type) (TyFun [a6989586621679389235] ([a6989586621679389235], [a6989586621679389235]) -> Type))
data PartitionSym1 (l_a1AXt :: TyFun a6989586621679389235 Bool -> Type) (l_a1AXs :: TyFun [a6989586621679389235] ([a6989586621679389235], [a6989586621679389235]))
type PartitionSym2 (t_a1AXq :: TyFun a6989586621679389235 Bool -> Type) (t_a1AXr :: [a6989586621679389235]) = Partition t_a1AXq t_a1AXr
data (:!!$) (l_a1AV5 :: TyFun [a6989586621679389228] (TyFun Nat a6989586621679389228 -> Type))
data (:!!$$) (l_a1AV3 :: [a6989586621679389228]) (l_a1AV2 :: TyFun Nat a6989586621679389228)
type (:!!$$$) (t_a1AV0 :: [a6989586621679389228]) (t_a1AV1 :: Nat) = (:!!) t_a1AV0 t_a1AV1
data ElemIndexSym0 (l_a1BkC :: TyFun a6989586621679389257 (TyFun [a6989586621679389257] (Maybe Nat) -> Type))
data ElemIndexSym1 (l_a1BkA :: a6989586621679389257) (l_a1Bkz :: TyFun [a6989586621679389257] (Maybe Nat))
type ElemIndexSym2 (t_a1Bkx :: a6989586621679389257) (t_a1Bky :: [a6989586621679389257]) = ElemIndex t_a1Bkx t_a1Bky
data ElemIndicesSym0 (l_a1Bkc :: TyFun a6989586621679389256 (TyFun [a6989586621679389256] [Nat] -> Type))
data ElemIndicesSym1 (l_a1Bka :: a6989586621679389256) (l_a1Bk9 :: TyFun [a6989586621679389256] [Nat])
type ElemIndicesSym2 (t_a1Bk7 :: a6989586621679389256) (t_a1Bk8 :: [a6989586621679389256]) = ElemIndices t_a1Bk7 t_a1Bk8
data FindIndexSym0 (l_a1Bkp :: TyFun (TyFun a6989586621679389255 Bool -> Type) (TyFun [a6989586621679389255] (Maybe Nat) -> Type))
data FindIndexSym1 (l_a1Bkn :: TyFun a6989586621679389255 Bool -> Type) (l_a1Bkm :: TyFun [a6989586621679389255] (Maybe Nat))
type FindIndexSym2 (t_a1Bkk :: TyFun a6989586621679389255 Bool -> Type) (t_a1Bkl :: [a6989586621679389255]) = FindIndex t_a1Bkk t_a1Bkl
data FindIndicesSym0 (l_a1Bjb :: TyFun (TyFun a6989586621679389254 Bool -> Type) (TyFun [a6989586621679389254] [Nat] -> Type))
data FindIndicesSym1 (l_a1Bj9 :: TyFun a6989586621679389254 Bool -> Type) (l_a1Bj8 :: TyFun [a6989586621679389254] [Nat])
type FindIndicesSym2 (t_a1Bj6 :: TyFun a6989586621679389254 Bool -> Type) (t_a1Bj7 :: [a6989586621679389254]) = FindIndices t_a1Bj6 t_a1Bj7
data Zip4Sym0 (l_a30ZH :: TyFun [a6989586621679727940] (TyFun [b6989586621679727941] (TyFun [c6989586621679727942] (TyFun [d6989586621679727943] [(a6989586621679727940, b6989586621679727941, c6989586621679727942, d6989586621679727943)] -> Type) -> Type) -> Type))
data Zip4Sym1 (l_a30ZF :: [a6989586621679727940]) (l_a30ZE :: TyFun [b6989586621679727941] (TyFun [c6989586621679727942] (TyFun [d6989586621679727943] [(a6989586621679727940, b6989586621679727941, c6989586621679727942, d6989586621679727943)] -> Type) -> Type))
data Zip4Sym2 (l_a30ZB :: [a6989586621679727940]) (l_a30ZC :: [b6989586621679727941]) (l_a30ZA :: TyFun [c6989586621679727942] (TyFun [d6989586621679727943] [(a6989586621679727940, b6989586621679727941, c6989586621679727942, d6989586621679727943)] -> Type))
data Zip4Sym3 (l_a30Zw :: [a6989586621679727940]) (l_a30Zx :: [b6989586621679727941]) (l_a30Zy :: [c6989586621679727942]) (l_a30Zv :: TyFun [d6989586621679727943] [(a6989586621679727940, b6989586621679727941, c6989586621679727942, d6989586621679727943)])
type Zip4Sym4 (t_a30Zr :: [a6989586621679727940]) (t_a30Zs :: [b6989586621679727941]) (t_a30Zt :: [c6989586621679727942]) (t_a30Zu :: [d6989586621679727943]) = Zip4 t_a30Zr t_a30Zs t_a30Zt t_a30Zu
data Zip5Sym0 (l_a30Z7 :: TyFun [a6989586621679727935] (TyFun [b6989586621679727936] (TyFun [c6989586621679727937] (TyFun [d6989586621679727938] (TyFun [e6989586621679727939] [(a6989586621679727935, b6989586621679727936, c6989586621679727937, d6989586621679727938, e6989586621679727939)] -> Type) -> Type) -> Type) -> Type))
data Zip5Sym1 (l_a30Z5 :: [a6989586621679727935]) (l_a30Z4 :: TyFun [b6989586621679727936] (TyFun [c6989586621679727937] (TyFun [d6989586621679727938] (TyFun [e6989586621679727939] [(a6989586621679727935, b6989586621679727936, c6989586621679727937, d6989586621679727938, e6989586621679727939)] -> Type) -> Type) -> Type))
data Zip5Sym2 (l_a30Z1 :: [a6989586621679727935]) (l_a30Z2 :: [b6989586621679727936]) (l_a30Z0 :: TyFun [c6989586621679727937] (TyFun [d6989586621679727938] (TyFun [e6989586621679727939] [(a6989586621679727935, b6989586621679727936, c6989586621679727937, d6989586621679727938, e6989586621679727939)] -> Type) -> Type))
data Zip5Sym3 (l_a30YW :: [a6989586621679727935]) (l_a30YX :: [b6989586621679727936]) (l_a30YY :: [c6989586621679727937]) (l_a30YV :: TyFun [d6989586621679727938] (TyFun [e6989586621679727939] [(a6989586621679727935, b6989586621679727936, c6989586621679727937, d6989586621679727938, e6989586621679727939)] -> Type))
data Zip5Sym4 (l_a30YQ :: [a6989586621679727935]) (l_a30YR :: [b6989586621679727936]) (l_a30YS :: [c6989586621679727937]) (l_a30YT :: [d6989586621679727938]) (l_a30YP :: TyFun [e6989586621679727939] [(a6989586621679727935, b6989586621679727936, c6989586621679727937, d6989586621679727938, e6989586621679727939)])
type Zip5Sym5 (t_a30YK :: [a6989586621679727935]) (t_a30YL :: [b6989586621679727936]) (t_a30YM :: [c6989586621679727937]) (t_a30YN :: [d6989586621679727938]) (t_a30YO :: [e6989586621679727939]) = Zip5 t_a30YK t_a30YL t_a30YM t_a30YN t_a30YO
data Zip6Sym0 (l_a30Ym :: TyFun [a6989586621679727929] (TyFun [b6989586621679727930] (TyFun [c6989586621679727931] (TyFun [d6989586621679727932] (TyFun [e6989586621679727933] (TyFun [f6989586621679727934] [(a6989586621679727929, b6989586621679727930, c6989586621679727931, d6989586621679727932, e6989586621679727933, f6989586621679727934)] -> Type) -> Type) -> Type) -> Type) -> Type))
data Zip6Sym1 (l_a30Yk :: [a6989586621679727929]) (l_a30Yj :: TyFun [b6989586621679727930] (TyFun [c6989586621679727931] (TyFun [d6989586621679727932] (TyFun [e6989586621679727933] (TyFun [f6989586621679727934] [(a6989586621679727929, b6989586621679727930, c6989586621679727931, d6989586621679727932, e6989586621679727933, f6989586621679727934)] -> Type) -> Type) -> Type) -> Type))
data Zip6Sym2 (l_a30Yg :: [a6989586621679727929]) (l_a30Yh :: [b6989586621679727930]) (l_a30Yf :: TyFun [c6989586621679727931] (TyFun [d6989586621679727932] (TyFun [e6989586621679727933] (TyFun [f6989586621679727934] [(a6989586621679727929, b6989586621679727930, c6989586621679727931, d6989586621679727932, e6989586621679727933, f6989586621679727934)] -> Type) -> Type) -> Type))
data Zip6Sym3 (l_a30Yb :: [a6989586621679727929]) (l_a30Yc :: [b6989586621679727930]) (l_a30Yd :: [c6989586621679727931]) (l_a30Ya :: TyFun [d6989586621679727932] (TyFun [e6989586621679727933] (TyFun [f6989586621679727934] [(a6989586621679727929, b6989586621679727930, c6989586621679727931, d6989586621679727932, e6989586621679727933, f6989586621679727934)] -> Type) -> Type))
data Zip6Sym4 (l_a30Y5 :: [a6989586621679727929]) (l_a30Y6 :: [b6989586621679727930]) (l_a30Y7 :: [c6989586621679727931]) (l_a30Y8 :: [d6989586621679727932]) (l_a30Y4 :: TyFun [e6989586621679727933] (TyFun [f6989586621679727934] [(a6989586621679727929, b6989586621679727930, c6989586621679727931, d6989586621679727932, e6989586621679727933, f6989586621679727934)] -> Type))
data Zip6Sym5 (l_a30XY :: [a6989586621679727929]) (l_a30XZ :: [b6989586621679727930]) (l_a30Y0 :: [c6989586621679727931]) (l_a30Y1 :: [d6989586621679727932]) (l_a30Y2 :: [e6989586621679727933]) (l_a30XX :: TyFun [f6989586621679727934] [(a6989586621679727929, b6989586621679727930, c6989586621679727931, d6989586621679727932, e6989586621679727933, f6989586621679727934)])
type Zip6Sym6 (t_a30XR :: [a6989586621679727929]) (t_a30XS :: [b6989586621679727930]) (t_a30XT :: [c6989586621679727931]) (t_a30XU :: [d6989586621679727932]) (t_a30XV :: [e6989586621679727933]) (t_a30XW :: [f6989586621679727934]) = Zip6 t_a30XR t_a30XS t_a30XT t_a30XU t_a30XV t_a30XW
data Zip7Sym0 (l_a30Xp :: TyFun [a6989586621679727922] (TyFun [b6989586621679727923] (TyFun [c6989586621679727924] (TyFun [d6989586621679727925] (TyFun [e6989586621679727926] (TyFun [f6989586621679727927] (TyFun [g6989586621679727928] [(a6989586621679727922, b6989586621679727923, c6989586621679727924, d6989586621679727925, e6989586621679727926, f6989586621679727927, g6989586621679727928)] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data Zip7Sym1 (l_a30Xn :: [a6989586621679727922]) (l_a30Xm :: TyFun [b6989586621679727923] (TyFun [c6989586621679727924] (TyFun [d6989586621679727925] (TyFun [e6989586621679727926] (TyFun [f6989586621679727927] (TyFun [g6989586621679727928] [(a6989586621679727922, b6989586621679727923, c6989586621679727924, d6989586621679727925, e6989586621679727926, f6989586621679727927, g6989586621679727928)] -> Type) -> Type) -> Type) -> Type) -> Type))
data Zip7Sym2 (l_a30Xj :: [a6989586621679727922]) (l_a30Xk :: [b6989586621679727923]) (l_a30Xi :: TyFun [c6989586621679727924] (TyFun [d6989586621679727925] (TyFun [e6989586621679727926] (TyFun [f6989586621679727927] (TyFun [g6989586621679727928] [(a6989586621679727922, b6989586621679727923, c6989586621679727924, d6989586621679727925, e6989586621679727926, f6989586621679727927, g6989586621679727928)] -> Type) -> Type) -> Type) -> Type))
data Zip7Sym3 (l_a30Xe :: [a6989586621679727922]) (l_a30Xf :: [b6989586621679727923]) (l_a30Xg :: [c6989586621679727924]) (l_a30Xd :: TyFun [d6989586621679727925] (TyFun [e6989586621679727926] (TyFun [f6989586621679727927] (TyFun [g6989586621679727928] [(a6989586621679727922, b6989586621679727923, c6989586621679727924, d6989586621679727925, e6989586621679727926, f6989586621679727927, g6989586621679727928)] -> Type) -> Type) -> Type))
data Zip7Sym4 (l_a30X8 :: [a6989586621679727922]) (l_a30X9 :: [b6989586621679727923]) (l_a30Xa :: [c6989586621679727924]) (l_a30Xb :: [d6989586621679727925]) (l_a30X7 :: TyFun [e6989586621679727926] (TyFun [f6989586621679727927] (TyFun [g6989586621679727928] [(a6989586621679727922, b6989586621679727923, c6989586621679727924, d6989586621679727925, e6989586621679727926, f6989586621679727927, g6989586621679727928)] -> Type) -> Type))
data Zip7Sym5 (l_a30X1 :: [a6989586621679727922]) (l_a30X2 :: [b6989586621679727923]) (l_a30X3 :: [c6989586621679727924]) (l_a30X4 :: [d6989586621679727925]) (l_a30X5 :: [e6989586621679727926]) (l_a30X0 :: TyFun [f6989586621679727927] (TyFun [g6989586621679727928] [(a6989586621679727922, b6989586621679727923, c6989586621679727924, d6989586621679727925, e6989586621679727926, f6989586621679727927, g6989586621679727928)] -> Type))
data Zip7Sym6 (l_a30WT :: [a6989586621679727922]) (l_a30WU :: [b6989586621679727923]) (l_a30WV :: [c6989586621679727924]) (l_a30WW :: [d6989586621679727925]) (l_a30WX :: [e6989586621679727926]) (l_a30WY :: [f6989586621679727927]) (l_a30WS :: TyFun [g6989586621679727928] [(a6989586621679727922, b6989586621679727923, c6989586621679727924, d6989586621679727925, e6989586621679727926, f6989586621679727927, g6989586621679727928)])
type Zip7Sym7 (t_a30WL :: [a6989586621679727922]) (t_a30WM :: [b6989586621679727923]) (t_a30WN :: [c6989586621679727924]) (t_a30WO :: [d6989586621679727925]) (t_a30WP :: [e6989586621679727926]) (t_a30WQ :: [f6989586621679727927]) (t_a30WR :: [g6989586621679727928]) = Zip7 t_a30WL t_a30WM t_a30WN t_a30WO t_a30WP t_a30WQ t_a30WR
data ZipWith4Sym0 (l_a30W2 :: TyFun (TyFun a6989586621679727917 (TyFun b6989586621679727918 (TyFun c6989586621679727919 (TyFun d6989586621679727920 e6989586621679727921 -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679727917] (TyFun [b6989586621679727918] (TyFun [c6989586621679727919] (TyFun [d6989586621679727920] [e6989586621679727921] -> Type) -> Type) -> Type) -> Type))
data ZipWith4Sym1 (l_a30W0 :: TyFun a6989586621679727917 (TyFun b6989586621679727918 (TyFun c6989586621679727919 (TyFun d6989586621679727920 e6989586621679727921 -> Type) -> Type) -> Type) -> Type) (l_a30VZ :: TyFun [a6989586621679727917] (TyFun [b6989586621679727918] (TyFun [c6989586621679727919] (TyFun [d6989586621679727920] [e6989586621679727921] -> Type) -> Type) -> Type))
data ZipWith4Sym2 (l_a30VW :: TyFun a6989586621679727917 (TyFun b6989586621679727918 (TyFun c6989586621679727919 (TyFun d6989586621679727920 e6989586621679727921 -> Type) -> Type) -> Type) -> Type) (l_a30VX :: [a6989586621679727917]) (l_a30VV :: TyFun [b6989586621679727918] (TyFun [c6989586621679727919] (TyFun [d6989586621679727920] [e6989586621679727921] -> Type) -> Type))
data ZipWith4Sym3 (l_a30VR :: TyFun a6989586621679727917 (TyFun b6989586621679727918 (TyFun c6989586621679727919 (TyFun d6989586621679727920 e6989586621679727921 -> Type) -> Type) -> Type) -> Type) (l_a30VS :: [a6989586621679727917]) (l_a30VT :: [b6989586621679727918]) (l_a30VQ :: TyFun [c6989586621679727919] (TyFun [d6989586621679727920] [e6989586621679727921] -> Type))
data ZipWith4Sym4 (l_a30VL :: TyFun a6989586621679727917 (TyFun b6989586621679727918 (TyFun c6989586621679727919 (TyFun d6989586621679727920 e6989586621679727921 -> Type) -> Type) -> Type) -> Type) (l_a30VM :: [a6989586621679727917]) (l_a30VN :: [b6989586621679727918]) (l_a30VO :: [c6989586621679727919]) (l_a30VK :: TyFun [d6989586621679727920] [e6989586621679727921])
type ZipWith4Sym5 (t_a30VF :: TyFun a6989586621679727917 (TyFun b6989586621679727918 (TyFun c6989586621679727919 (TyFun d6989586621679727920 e6989586621679727921 -> Type) -> Type) -> Type) -> Type) (t_a30VG :: [a6989586621679727917]) (t_a30VH :: [b6989586621679727918]) (t_a30VI :: [c6989586621679727919]) (t_a30VJ :: [d6989586621679727920]) = ZipWith4 t_a30VF t_a30VG t_a30VH t_a30VI t_a30VJ
data ZipWith5Sym0 (l_a30V4 :: TyFun (TyFun a6989586621679727911 (TyFun b6989586621679727912 (TyFun c6989586621679727913 (TyFun d6989586621679727914 (TyFun e6989586621679727915 f6989586621679727916 -> Type) -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679727911] (TyFun [b6989586621679727912] (TyFun [c6989586621679727913] (TyFun [d6989586621679727914] (TyFun [e6989586621679727915] [f6989586621679727916] -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith5Sym1 (l_a30V2 :: TyFun a6989586621679727911 (TyFun b6989586621679727912 (TyFun c6989586621679727913 (TyFun d6989586621679727914 (TyFun e6989586621679727915 f6989586621679727916 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a30V1 :: TyFun [a6989586621679727911] (TyFun [b6989586621679727912] (TyFun [c6989586621679727913] (TyFun [d6989586621679727914] (TyFun [e6989586621679727915] [f6989586621679727916] -> Type) -> Type) -> Type) -> Type))
data ZipWith5Sym2 (l_a30UY :: TyFun a6989586621679727911 (TyFun b6989586621679727912 (TyFun c6989586621679727913 (TyFun d6989586621679727914 (TyFun e6989586621679727915 f6989586621679727916 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a30UZ :: [a6989586621679727911]) (l_a30UX :: TyFun [b6989586621679727912] (TyFun [c6989586621679727913] (TyFun [d6989586621679727914] (TyFun [e6989586621679727915] [f6989586621679727916] -> Type) -> Type) -> Type))
data ZipWith5Sym3 (l_a30UT :: TyFun a6989586621679727911 (TyFun b6989586621679727912 (TyFun c6989586621679727913 (TyFun d6989586621679727914 (TyFun e6989586621679727915 f6989586621679727916 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a30UU :: [a6989586621679727911]) (l_a30UV :: [b6989586621679727912]) (l_a30US :: TyFun [c6989586621679727913] (TyFun [d6989586621679727914] (TyFun [e6989586621679727915] [f6989586621679727916] -> Type) -> Type))
data ZipWith5Sym4 (l_a30UN :: TyFun a6989586621679727911 (TyFun b6989586621679727912 (TyFun c6989586621679727913 (TyFun d6989586621679727914 (TyFun e6989586621679727915 f6989586621679727916 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a30UO :: [a6989586621679727911]) (l_a30UP :: [b6989586621679727912]) (l_a30UQ :: [c6989586621679727913]) (l_a30UM :: TyFun [d6989586621679727914] (TyFun [e6989586621679727915] [f6989586621679727916] -> Type))
data ZipWith5Sym5 (l_a30UG :: TyFun a6989586621679727911 (TyFun b6989586621679727912 (TyFun c6989586621679727913 (TyFun d6989586621679727914 (TyFun e6989586621679727915 f6989586621679727916 -> Type) -> Type) -> Type) -> Type) -> Type) (l_a30UH :: [a6989586621679727911]) (l_a30UI :: [b6989586621679727912]) (l_a30UJ :: [c6989586621679727913]) (l_a30UK :: [d6989586621679727914]) (l_a30UF :: TyFun [e6989586621679727915] [f6989586621679727916])
type ZipWith5Sym6 (t_a30Uz :: TyFun a6989586621679727911 (TyFun b6989586621679727912 (TyFun c6989586621679727913 (TyFun d6989586621679727914 (TyFun e6989586621679727915 f6989586621679727916 -> Type) -> Type) -> Type) -> Type) -> Type) (t_a30UA :: [a6989586621679727911]) (t_a30UB :: [b6989586621679727912]) (t_a30UC :: [c6989586621679727913]) (t_a30UD :: [d6989586621679727914]) (t_a30UE :: [e6989586621679727915]) = ZipWith5 t_a30Uz t_a30UA t_a30UB t_a30UC t_a30UD t_a30UE
data ZipWith6Sym0 (l_a30TS :: TyFun (TyFun a6989586621679727904 (TyFun b6989586621679727905 (TyFun c6989586621679727906 (TyFun d6989586621679727907 (TyFun e6989586621679727908 (TyFun f6989586621679727909 g6989586621679727910 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679727904] (TyFun [b6989586621679727905] (TyFun [c6989586621679727906] (TyFun [d6989586621679727907] (TyFun [e6989586621679727908] (TyFun [f6989586621679727909] [g6989586621679727910] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith6Sym1 (l_a30TQ :: TyFun a6989586621679727904 (TyFun b6989586621679727905 (TyFun c6989586621679727906 (TyFun d6989586621679727907 (TyFun e6989586621679727908 (TyFun f6989586621679727909 g6989586621679727910 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a30TP :: TyFun [a6989586621679727904] (TyFun [b6989586621679727905] (TyFun [c6989586621679727906] (TyFun [d6989586621679727907] (TyFun [e6989586621679727908] (TyFun [f6989586621679727909] [g6989586621679727910] -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith6Sym2 (l_a30TM :: TyFun a6989586621679727904 (TyFun b6989586621679727905 (TyFun c6989586621679727906 (TyFun d6989586621679727907 (TyFun e6989586621679727908 (TyFun f6989586621679727909 g6989586621679727910 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a30TN :: [a6989586621679727904]) (l_a30TL :: TyFun [b6989586621679727905] (TyFun [c6989586621679727906] (TyFun [d6989586621679727907] (TyFun [e6989586621679727908] (TyFun [f6989586621679727909] [g6989586621679727910] -> Type) -> Type) -> Type) -> Type))
data ZipWith6Sym3 (l_a30TH :: TyFun a6989586621679727904 (TyFun b6989586621679727905 (TyFun c6989586621679727906 (TyFun d6989586621679727907 (TyFun e6989586621679727908 (TyFun f6989586621679727909 g6989586621679727910 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a30TI :: [a6989586621679727904]) (l_a30TJ :: [b6989586621679727905]) (l_a30TG :: TyFun [c6989586621679727906] (TyFun [d6989586621679727907] (TyFun [e6989586621679727908] (TyFun [f6989586621679727909] [g6989586621679727910] -> Type) -> Type) -> Type))
data ZipWith6Sym4 (l_a30TB :: TyFun a6989586621679727904 (TyFun b6989586621679727905 (TyFun c6989586621679727906 (TyFun d6989586621679727907 (TyFun e6989586621679727908 (TyFun f6989586621679727909 g6989586621679727910 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a30TC :: [a6989586621679727904]) (l_a30TD :: [b6989586621679727905]) (l_a30TE :: [c6989586621679727906]) (l_a30TA :: TyFun [d6989586621679727907] (TyFun [e6989586621679727908] (TyFun [f6989586621679727909] [g6989586621679727910] -> Type) -> Type))
data ZipWith6Sym5 (l_a30Tu :: TyFun a6989586621679727904 (TyFun b6989586621679727905 (TyFun c6989586621679727906 (TyFun d6989586621679727907 (TyFun e6989586621679727908 (TyFun f6989586621679727909 g6989586621679727910 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a30Tv :: [a6989586621679727904]) (l_a30Tw :: [b6989586621679727905]) (l_a30Tx :: [c6989586621679727906]) (l_a30Ty :: [d6989586621679727907]) (l_a30Tt :: TyFun [e6989586621679727908] (TyFun [f6989586621679727909] [g6989586621679727910] -> Type))
data ZipWith6Sym6 (l_a30Tm :: TyFun a6989586621679727904 (TyFun b6989586621679727905 (TyFun c6989586621679727906 (TyFun d6989586621679727907 (TyFun e6989586621679727908 (TyFun f6989586621679727909 g6989586621679727910 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a30Tn :: [a6989586621679727904]) (l_a30To :: [b6989586621679727905]) (l_a30Tp :: [c6989586621679727906]) (l_a30Tq :: [d6989586621679727907]) (l_a30Tr :: [e6989586621679727908]) (l_a30Tl :: TyFun [f6989586621679727909] [g6989586621679727910])
type ZipWith6Sym7 (t_a30Te :: TyFun a6989586621679727904 (TyFun b6989586621679727905 (TyFun c6989586621679727906 (TyFun d6989586621679727907 (TyFun e6989586621679727908 (TyFun f6989586621679727909 g6989586621679727910 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (t_a30Tf :: [a6989586621679727904]) (t_a30Tg :: [b6989586621679727905]) (t_a30Th :: [c6989586621679727906]) (t_a30Ti :: [d6989586621679727907]) (t_a30Tj :: [e6989586621679727908]) (t_a30Tk :: [f6989586621679727909]) = ZipWith6 t_a30Te t_a30Tf t_a30Tg t_a30Th t_a30Ti t_a30Tj t_a30Tk
data ZipWith7Sym0 (l_a30Sr :: TyFun (TyFun a6989586621679727896 (TyFun b6989586621679727897 (TyFun c6989586621679727898 (TyFun d6989586621679727899 (TyFun e6989586621679727900 (TyFun f6989586621679727901 (TyFun g6989586621679727902 h6989586621679727903 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (TyFun [a6989586621679727896] (TyFun [b6989586621679727897] (TyFun [c6989586621679727898] (TyFun [d6989586621679727899] (TyFun [e6989586621679727900] (TyFun [f6989586621679727901] (TyFun [g6989586621679727902] [h6989586621679727903] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym1 (l_a30Sp :: TyFun a6989586621679727896 (TyFun b6989586621679727897 (TyFun c6989586621679727898 (TyFun d6989586621679727899 (TyFun e6989586621679727900 (TyFun f6989586621679727901 (TyFun g6989586621679727902 h6989586621679727903 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a30So :: TyFun [a6989586621679727896] (TyFun [b6989586621679727897] (TyFun [c6989586621679727898] (TyFun [d6989586621679727899] (TyFun [e6989586621679727900] (TyFun [f6989586621679727901] (TyFun [g6989586621679727902] [h6989586621679727903] -> Type) -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym2 (l_a30Sl :: TyFun a6989586621679727896 (TyFun b6989586621679727897 (TyFun c6989586621679727898 (TyFun d6989586621679727899 (TyFun e6989586621679727900 (TyFun f6989586621679727901 (TyFun g6989586621679727902 h6989586621679727903 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a30Sm :: [a6989586621679727896]) (l_a30Sk :: TyFun [b6989586621679727897] (TyFun [c6989586621679727898] (TyFun [d6989586621679727899] (TyFun [e6989586621679727900] (TyFun [f6989586621679727901] (TyFun [g6989586621679727902] [h6989586621679727903] -> Type) -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym3 (l_a30Sg :: TyFun a6989586621679727896 (TyFun b6989586621679727897 (TyFun c6989586621679727898 (TyFun d6989586621679727899 (TyFun e6989586621679727900 (TyFun f6989586621679727901 (TyFun g6989586621679727902 h6989586621679727903 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a30Sh :: [a6989586621679727896]) (l_a30Si :: [b6989586621679727897]) (l_a30Sf :: TyFun [c6989586621679727898] (TyFun [d6989586621679727899] (TyFun [e6989586621679727900] (TyFun [f6989586621679727901] (TyFun [g6989586621679727902] [h6989586621679727903] -> Type) -> Type) -> Type) -> Type))
data ZipWith7Sym4 (l_a30Sa :: TyFun a6989586621679727896 (TyFun b6989586621679727897 (TyFun c6989586621679727898 (TyFun d6989586621679727899 (TyFun e6989586621679727900 (TyFun f6989586621679727901 (TyFun g6989586621679727902 h6989586621679727903 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a30Sb :: [a6989586621679727896]) (l_a30Sc :: [b6989586621679727897]) (l_a30Sd :: [c6989586621679727898]) (l_a30S9 :: TyFun [d6989586621679727899] (TyFun [e6989586621679727900] (TyFun [f6989586621679727901] (TyFun [g6989586621679727902] [h6989586621679727903] -> Type) -> Type) -> Type))
data ZipWith7Sym5 (l_a30S3 :: TyFun a6989586621679727896 (TyFun b6989586621679727897 (TyFun c6989586621679727898 (TyFun d6989586621679727899 (TyFun e6989586621679727900 (TyFun f6989586621679727901 (TyFun g6989586621679727902 h6989586621679727903 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a30S4 :: [a6989586621679727896]) (l_a30S5 :: [b6989586621679727897]) (l_a30S6 :: [c6989586621679727898]) (l_a30S7 :: [d6989586621679727899]) (l_a30S2 :: TyFun [e6989586621679727900] (TyFun [f6989586621679727901] (TyFun [g6989586621679727902] [h6989586621679727903] -> Type) -> Type))
data ZipWith7Sym6 (l_a30RV :: TyFun a6989586621679727896 (TyFun b6989586621679727897 (TyFun c6989586621679727898 (TyFun d6989586621679727899 (TyFun e6989586621679727900 (TyFun f6989586621679727901 (TyFun g6989586621679727902 h6989586621679727903 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a30RW :: [a6989586621679727896]) (l_a30RX :: [b6989586621679727897]) (l_a30RY :: [c6989586621679727898]) (l_a30RZ :: [d6989586621679727899]) (l_a30S0 :: [e6989586621679727900]) (l_a30RU :: TyFun [f6989586621679727901] (TyFun [g6989586621679727902] [h6989586621679727903] -> Type))
data ZipWith7Sym7 (l_a30RM :: TyFun a6989586621679727896 (TyFun b6989586621679727897 (TyFun c6989586621679727898 (TyFun d6989586621679727899 (TyFun e6989586621679727900 (TyFun f6989586621679727901 (TyFun g6989586621679727902 h6989586621679727903 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (l_a30RN :: [a6989586621679727896]) (l_a30RO :: [b6989586621679727897]) (l_a30RP :: [c6989586621679727898]) (l_a30RQ :: [d6989586621679727899]) (l_a30RR :: [e6989586621679727900]) (l_a30RS :: [f6989586621679727901]) (l_a30RL :: TyFun [g6989586621679727902] [h6989586621679727903])
type ZipWith7Sym8 (t_a30RD :: TyFun a6989586621679727896 (TyFun b6989586621679727897 (TyFun c6989586621679727898 (TyFun d6989586621679727899 (TyFun e6989586621679727900 (TyFun f6989586621679727901 (TyFun g6989586621679727902 h6989586621679727903 -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) -> Type) (t_a30RE :: [a6989586621679727896]) (t_a30RF :: [b6989586621679727897]) (t_a30RG :: [c6989586621679727898]) (t_a30RH :: [d6989586621679727899]) (t_a30RI :: [e6989586621679727900]) (t_a30RJ :: [f6989586621679727901]) (t_a30RK :: [g6989586621679727902]) = ZipWith7 t_a30RD t_a30RE t_a30RF t_a30RG t_a30RH t_a30RI t_a30RJ t_a30RK
data NubSym0 (l_a1Blf :: TyFun [a6989586621679389227] [a6989586621679389227])
type NubSym1 (t_a1Ble :: [a6989586621679389227]) = Nub t_a1Ble
data NubBySym0 (l_a1AU0 :: TyFun (TyFun a6989586621679389226 (TyFun a6989586621679389226 Bool -> Type) -> Type) (TyFun [a6989586621679389226] [a6989586621679389226] -> Type))
data NubBySym1 (l_a1ATY :: TyFun a6989586621679389226 (TyFun a6989586621679389226 Bool -> Type) -> Type) (l_a1ATX :: TyFun [a6989586621679389226] [a6989586621679389226])
type NubBySym2 (t_a1ATV :: TyFun a6989586621679389226 (TyFun a6989586621679389226 Bool -> Type) -> Type) (t_a1ATW :: [a6989586621679389226]) = NubBy t_a1ATV t_a1ATW
data UnionSym0 (l_a1Bbb :: TyFun [a6989586621679389223] (TyFun [a6989586621679389223] [a6989586621679389223] -> Type))
data UnionSym1 (l_a1Bb9 :: [a6989586621679389223]) (l_a1Bb8 :: TyFun [a6989586621679389223] [a6989586621679389223])
type UnionSym2 (t_a1Bb6 :: [a6989586621679389223]) (t_a1Bb7 :: [a6989586621679389223]) = Union t_a1Bb6 t_a1Bb7
data UnionBySym0 (l_a1BaU :: TyFun (TyFun a6989586621679389224 (TyFun a6989586621679389224 Bool -> Type) -> Type) (TyFun [a6989586621679389224] (TyFun [a6989586621679389224] [a6989586621679389224] -> Type) -> Type))
data UnionBySym1 (l_a1BaS :: TyFun a6989586621679389224 (TyFun a6989586621679389224 Bool -> Type) -> Type) (l_a1BaR :: TyFun [a6989586621679389224] (TyFun [a6989586621679389224] [a6989586621679389224] -> Type))
data UnionBySym2 (l_a1BaO :: TyFun a6989586621679389224 (TyFun a6989586621679389224 Bool -> Type) -> Type) (l_a1BaP :: [a6989586621679389224]) (l_a1BaN :: TyFun [a6989586621679389224] [a6989586621679389224])
type UnionBySym3 (t_a1BaK :: TyFun a6989586621679389224 (TyFun a6989586621679389224 Bool -> Type) -> Type) (t_a1BaL :: [a6989586621679389224]) (t_a1BaM :: [a6989586621679389224]) = UnionBy t_a1BaK t_a1BaL t_a1BaM
data GenericLengthSym0 (l_a1ATp :: TyFun [a6989586621679389222] i6989586621679389221)
type GenericLengthSym1 (t_a1ATo :: [a6989586621679389222]) = GenericLength t_a1ATo
data GenericTakeSym0 (l_a30Rx :: TyFun i6989586621679727894 (TyFun [a6989586621679727895] [a6989586621679727895] -> Type))
data GenericTakeSym1 (l_a30Rv :: i6989586621679727894) (l_a30Ru :: TyFun [a6989586621679727895] [a6989586621679727895])
type GenericTakeSym2 (t_a30Rs :: i6989586621679727894) (t_a30Rt :: [a6989586621679727895]) = GenericTake t_a30Rs t_a30Rt
data GenericDropSym0 (l_a30Ri :: TyFun i6989586621679727892 (TyFun [a6989586621679727893] [a6989586621679727893] -> Type))
data GenericDropSym1 (l_a30Rg :: i6989586621679727892) (l_a30Rf :: TyFun [a6989586621679727893] [a6989586621679727893])
type GenericDropSym2 (t_a30Rd :: i6989586621679727892) (t_a30Re :: [a6989586621679727893]) = GenericDrop t_a30Rd t_a30Re
data GenericSplitAtSym0 (l_a30R3 :: TyFun i6989586621679727890 (TyFun [a6989586621679727891] ([a6989586621679727891], [a6989586621679727891]) -> Type))
data GenericSplitAtSym1 (l_a30R1 :: i6989586621679727890) (l_a30R0 :: TyFun [a6989586621679727891] ([a6989586621679727891], [a6989586621679727891]))
type GenericSplitAtSym2 (t_a30QY :: i6989586621679727890) (t_a30QZ :: [a6989586621679727891]) = GenericSplitAt t_a30QY t_a30QZ
data GenericIndexSym0 (l_a30QO :: TyFun [a6989586621679727889] (TyFun i6989586621679727888 a6989586621679727889 -> Type))
data GenericIndexSym1 (l_a30QM :: [a6989586621679727889]) (l_a30QL :: TyFun i6989586621679727888 a6989586621679727889)
type GenericIndexSym2 (t_a30QJ :: [a6989586621679727889]) (t_a30QK :: i6989586621679727888) = GenericIndex t_a30QJ t_a30QK
data GenericReplicateSym0 (l_a30Qz :: TyFun i6989586621679727886 (TyFun a6989586621679727887 [a6989586621679727887] -> Type))
data GenericReplicateSym1 (l_a30Qx :: i6989586621679727886) (l_a30Qw :: TyFun a6989586621679727887 [a6989586621679727887])
type GenericReplicateSym2 (t_a30Qu :: i6989586621679727886) (t_a30Qv :: a6989586621679727887) = GenericReplicate t_a30Qu t_a30Qv
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_a12pM :: TyFun a6989586621679257339 (TyFun a6989586621679257339 Bool -> Type))
data (:==$$) (l_a12pK :: a6989586621679257339) (l_a12pJ :: TyFun a6989586621679257339 Bool)
type (:==$$$) (t_a12pH :: a6989586621679257339) (t_a12pI :: a6989586621679257339) = (:==) t_a12pH t_a12pI
data (:/=$) (l_a12pT :: TyFun a6989586621679257339 (TyFun a6989586621679257339 Bool -> Type))
data (:/=$$) (l_a12pR :: a6989586621679257339) (l_a12pQ :: TyFun a6989586621679257339 Bool)
type (:/=$$$) (t_a12pO :: a6989586621679257339) (t_a12pP :: a6989586621679257339) = (:/=) t_a12pO t_a12pP


-- | 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_a1tu9 -> (a_a1tua -> b_a1tu9) -> Maybe a_a1tua -> b_a1tu9
either_ :: (a_a1vBb -> c_a1vBc) -> (b_a1vBd -> c_a1vBc) -> Either a_a1vBb b_a1vBd -> c_a1vBc

-- | (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_a1oSz :: TyFun k06989586621679342626 k6989586621679342628)
any_ :: (a_a1y4M -> Bool) -> [a_a1y4M] -> Bool
type FalseSym0 = False
type TrueSym0 = True
data NotSym0 (l_aYfK :: TyFun Bool Bool)
type NotSym1 (t_aYfJ :: Bool) = Not t_aYfJ
data (:&&$) (l_aYg5 :: TyFun Bool (TyFun Bool Bool -> Type))
data (:&&$$) (l_aYg3 :: Bool) (l_aYg2 :: TyFun Bool Bool)
type (:&&$$$) (t_aYg0 :: Bool) (t_aYg1 :: Bool) = (:&&) t_aYg0 t_aYg1
data (:||$) (l_aYfS :: TyFun Bool (TyFun Bool Bool -> Type))
data (:||$$) (l_aYfQ :: Bool) (l_aYfP :: TyFun Bool Bool)
type (:||$$$) (t_aYfN :: Bool) (t_aYfO :: Bool) = (:||) t_aYfN t_aYfO
type OtherwiseSym0 = Otherwise
type NothingSym0 = Nothing
data JustSym0 (l_aO2J :: TyFun a3530822107858468865 (Maybe a3530822107858468865))
type JustSym1 (t_aO2I :: a3530822107858468865) = Just t_aO2I
data Maybe_Sym0 (l_a1tup :: TyFun b6989586621679361465 (TyFun (TyFun a6989586621679361466 b6989586621679361465 -> Type) (TyFun (Maybe a6989586621679361466) b6989586621679361465 -> Type) -> Type))
data Maybe_Sym1 (l_a1tun :: b6989586621679361465) (l_a1tum :: TyFun (TyFun a6989586621679361466 b6989586621679361465 -> Type) (TyFun (Maybe a6989586621679361466) b6989586621679361465 -> Type))
data Maybe_Sym2 (l_a1tuj :: b6989586621679361465) (l_a1tuk :: TyFun a6989586621679361466 b6989586621679361465 -> Type) (l_a1tui :: TyFun (Maybe a6989586621679361466) b6989586621679361465)
type Maybe_Sym3 (t_a1tuf :: b6989586621679361465) (t_a1tug :: TyFun a6989586621679361466 b6989586621679361465 -> Type) (t_a1tuh :: Maybe a6989586621679361466) = Maybe_ t_a1tuf t_a1tug t_a1tuh
data LeftSym0 (l_aO3a :: TyFun a6989586621679073591 (Either a6989586621679073591 b6989586621679073592))
type LeftSym1 (t_aO39 :: a6989586621679073591) = Left t_aO39
data RightSym0 (l_aO3d :: TyFun b6989586621679073592 (Either a6989586621679073591 b6989586621679073592))
type RightSym1 (t_aO3c :: b6989586621679073592) = Right t_aO3c
data Either_Sym0 (l_a1vBt :: TyFun (TyFun a6989586621679369589 c6989586621679369590 -> Type) (TyFun (TyFun b6989586621679369591 c6989586621679369590 -> Type) (TyFun (Either a6989586621679369589 b6989586621679369591) c6989586621679369590 -> Type) -> Type))
data Either_Sym1 (l_a1vBr :: TyFun a6989586621679369589 c6989586621679369590 -> Type) (l_a1vBq :: TyFun (TyFun b6989586621679369591 c6989586621679369590 -> Type) (TyFun (Either a6989586621679369589 b6989586621679369591) c6989586621679369590 -> Type))
data Either_Sym2 (l_a1vBn :: TyFun a6989586621679369589 c6989586621679369590 -> Type) (l_a1vBo :: TyFun b6989586621679369591 c6989586621679369590 -> Type) (l_a1vBm :: TyFun (Either a6989586621679369589 b6989586621679369591) c6989586621679369590)
type Either_Sym3 (t_a1vBj :: TyFun a6989586621679369589 c6989586621679369590 -> Type) (t_a1vBk :: TyFun b6989586621679369591 c6989586621679369590 -> Type) (t_a1vBl :: Either a6989586621679369589 b6989586621679369591) = Either_ t_a1vBj t_a1vBk t_a1vBl
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_aO3M :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aO3K :: a3530822107858468865) (l_aO3J :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aO3H :: a3530822107858468865) (t_aO3I :: b3530822107858468866) = '(t_aO3H, t_aO3I)
data Tuple3Sym0 (l_aO4a :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aO48 :: a3530822107858468865) (l_aO47 :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aO44 :: a3530822107858468865) (l_aO45 :: b3530822107858468866) (l_aO43 :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aO40 :: a3530822107858468865) (t_aO41 :: b3530822107858468866) (t_aO42 :: c3530822107858468867) = '(t_aO40, t_aO41, t_aO42)
data Tuple4Sym0 (l_aO4J :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aO4H :: a3530822107858468865) (l_aO4G :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aO4D :: a3530822107858468865) (l_aO4E :: b3530822107858468866) (l_aO4C :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aO4y :: a3530822107858468865) (l_aO4z :: b3530822107858468866) (l_aO4A :: c3530822107858468867) (l_aO4x :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aO4t :: a3530822107858468865) (t_aO4u :: b3530822107858468866) (t_aO4v :: c3530822107858468867) (t_aO4w :: d3530822107858468868) = '(t_aO4t, t_aO4u, t_aO4v, t_aO4w)
data Tuple5Sym0 (l_aO5u :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aO5s :: a3530822107858468865) (l_aO5r :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aO5o :: a3530822107858468865) (l_aO5p :: b3530822107858468866) (l_aO5n :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aO5j :: a3530822107858468865) (l_aO5k :: b3530822107858468866) (l_aO5l :: c3530822107858468867) (l_aO5i :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aO5d :: a3530822107858468865) (l_aO5e :: b3530822107858468866) (l_aO5f :: c3530822107858468867) (l_aO5g :: d3530822107858468868) (l_aO5c :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aO57 :: a3530822107858468865) (t_aO58 :: b3530822107858468866) (t_aO59 :: c3530822107858468867) (t_aO5a :: d3530822107858468868) (t_aO5b :: e3530822107858468869) = '(t_aO57, t_aO58, t_aO59, t_aO5a, t_aO5b)
data Tuple6Sym0 (l_aO6s :: 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_aO6q :: a3530822107858468865) (l_aO6p :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aO6m :: a3530822107858468865) (l_aO6n :: b3530822107858468866) (l_aO6l :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aO6h :: a3530822107858468865) (l_aO6i :: b3530822107858468866) (l_aO6j :: c3530822107858468867) (l_aO6g :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aO6b :: a3530822107858468865) (l_aO6c :: b3530822107858468866) (l_aO6d :: c3530822107858468867) (l_aO6e :: d3530822107858468868) (l_aO6a :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aO64 :: a3530822107858468865) (l_aO65 :: b3530822107858468866) (l_aO66 :: c3530822107858468867) (l_aO67 :: d3530822107858468868) (l_aO68 :: e3530822107858468869) (l_aO63 :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aO5X :: a3530822107858468865) (t_aO5Y :: b3530822107858468866) (t_aO5Z :: c3530822107858468867) (t_aO60 :: d3530822107858468868) (t_aO61 :: e3530822107858468869) (t_aO62 :: f3530822107858468870) = '(t_aO5X, t_aO5Y, t_aO5Z, t_aO60, t_aO61, t_aO62)
data Tuple7Sym0 (l_aO7E :: 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_aO7C :: a3530822107858468865) (l_aO7B :: 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_aO7y :: a3530822107858468865) (l_aO7z :: b3530822107858468866) (l_aO7x :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_aO7t :: a3530822107858468865) (l_aO7u :: b3530822107858468866) (l_aO7v :: c3530822107858468867) (l_aO7s :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_aO7n :: a3530822107858468865) (l_aO7o :: b3530822107858468866) (l_aO7p :: c3530822107858468867) (l_aO7q :: d3530822107858468868) (l_aO7m :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_aO7g :: a3530822107858468865) (l_aO7h :: b3530822107858468866) (l_aO7i :: c3530822107858468867) (l_aO7j :: d3530822107858468868) (l_aO7k :: e3530822107858468869) (l_aO7f :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_aO78 :: a3530822107858468865) (l_aO79 :: b3530822107858468866) (l_aO7a :: c3530822107858468867) (l_aO7b :: d3530822107858468868) (l_aO7c :: e3530822107858468869) (l_aO7d :: f3530822107858468870) (l_aO77 :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_aO70 :: a3530822107858468865) (t_aO71 :: b3530822107858468866) (t_aO72 :: c3530822107858468867) (t_aO73 :: d3530822107858468868) (t_aO74 :: e3530822107858468869) (t_aO75 :: f3530822107858468870) (t_aO76 :: g3530822107858468871) = '(t_aO70, t_aO71, t_aO72, t_aO73, t_aO74, t_aO75, t_aO76)
data FstSym0 (l_a1sFw :: TyFun (a6989586621679358277, b6989586621679358278) a6989586621679358277)
type FstSym1 (t_a1sFv :: (a6989586621679358277, b6989586621679358278)) = Fst t_a1sFv
data SndSym0 (l_a1sFo :: TyFun (a6989586621679358275, b6989586621679358276) b6989586621679358276)
type SndSym1 (t_a1sFn :: (a6989586621679358275, b6989586621679358276)) = Snd t_a1sFn
data CurrySym0 (l_a1sFf :: TyFun (TyFun (a6989586621679358272, b6989586621679358273) c6989586621679358274 -> Type) (TyFun a6989586621679358272 (TyFun b6989586621679358273 c6989586621679358274 -> Type) -> Type))
data CurrySym1 (l_a1sFd :: TyFun (a6989586621679358272, b6989586621679358273) c6989586621679358274 -> Type) (l_a1sFc :: TyFun a6989586621679358272 (TyFun b6989586621679358273 c6989586621679358274 -> Type))
data CurrySym2 (l_a1sF9 :: TyFun (a6989586621679358272, b6989586621679358273) c6989586621679358274 -> Type) (l_a1sFa :: a6989586621679358272) (l_a1sF8 :: TyFun b6989586621679358273 c6989586621679358274)
type CurrySym3 (t_a1sF5 :: TyFun (a6989586621679358272, b6989586621679358273) c6989586621679358274 -> Type) (t_a1sF6 :: a6989586621679358272) (t_a1sF7 :: b6989586621679358273) = Curry t_a1sF5 t_a1sF6 t_a1sF7
data UncurrySym0 (l_a1sFI :: TyFun (TyFun a6989586621679358269 (TyFun b6989586621679358270 c6989586621679358271 -> Type) -> Type) (TyFun (a6989586621679358269, b6989586621679358270) c6989586621679358271 -> Type))
data UncurrySym1 (l_a1sFG :: TyFun a6989586621679358269 (TyFun b6989586621679358270 c6989586621679358271 -> Type) -> Type) (l_a1sFF :: TyFun (a6989586621679358269, b6989586621679358270) c6989586621679358271)
type UncurrySym2 (t_a1sFD :: TyFun a6989586621679358269 (TyFun b6989586621679358270 c6989586621679358271 -> Type) -> Type) (t_a1sFE :: (a6989586621679358269, b6989586621679358270)) = Uncurry t_a1sFD t_a1sFE
data (:^$) l_a1oVn
data (:^$$) (l_a1oVl :: Nat) l_a1oVk
data IdSym0 (l_aYYg :: TyFun a6989586621679244030 a6989586621679244030)
type IdSym1 (t_aYYf :: a6989586621679244030) = Id t_aYYf
data ConstSym0 (l_aYXS :: TyFun a6989586621679244028 (TyFun b6989586621679244029 a6989586621679244028 -> Type))
data ConstSym1 (l_aYXQ :: a6989586621679244028) (l_aYXP :: TyFun b6989586621679244029 a6989586621679244028)
type ConstSym2 (t_aYXN :: a6989586621679244028) (t_aYXO :: b6989586621679244029) = Const t_aYXN t_aYXO
data (:.$) (l_aYXh :: TyFun (TyFun b6989586621679244025 c6989586621679244026 -> Type) (TyFun (TyFun a6989586621679244027 b6989586621679244025 -> Type) (TyFun a6989586621679244027 c6989586621679244026 -> Type) -> Type))
data (:.$$) (l_aYXf :: TyFun b6989586621679244025 c6989586621679244026 -> Type) (l_aYXe :: TyFun (TyFun a6989586621679244027 b6989586621679244025 -> Type) (TyFun a6989586621679244027 c6989586621679244026 -> Type))
data (:.$$$) (l_aYXb :: TyFun b6989586621679244025 c6989586621679244026 -> Type) (l_aYXc :: TyFun a6989586621679244027 b6989586621679244025 -> Type) (l_aYXa :: TyFun a6989586621679244027 c6989586621679244026)
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_aYWZ :: TyFun (TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (TyFun b6989586621679244023 (TyFun a6989586621679244022 c6989586621679244024 -> Type) -> Type))
data FlipSym1 (l_aYWX :: TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (l_aYWW :: TyFun b6989586621679244023 (TyFun a6989586621679244022 c6989586621679244024 -> Type))
data FlipSym2 (l_aYWT :: TyFun a6989586621679244022 (TyFun b6989586621679244023 c6989586621679244024 -> Type) -> Type) (l_aYWU :: b6989586621679244023) (l_aYWS :: TyFun a6989586621679244022 c6989586621679244024)
data AsTypeOfSym0 (l_aYY9 :: TyFun a6989586621679244021 (TyFun a6989586621679244021 a6989586621679244021 -> Type))
data AsTypeOfSym1 (l_aYY7 :: a6989586621679244021) (l_aYY6 :: TyFun a6989586621679244021 a6989586621679244021)
type AsTypeOfSym2 (t_aYY4 :: a6989586621679244021) (t_aYY5 :: a6989586621679244021) = AsTypeOf t_aYY4 t_aYY5
data SeqSym0 (l_aYWH :: TyFun a6989586621679244019 (TyFun b6989586621679244020 b6989586621679244020 -> Type))
data SeqSym1 (l_aYWF :: a6989586621679244019) (l_aYWE :: TyFun b6989586621679244020 b6989586621679244020)
type SeqSym2 (t_aYWC :: a6989586621679244019) (t_aYWD :: b6989586621679244020) = Seq t_aYWC t_aYWD
data (:$) (l_aO2W :: TyFun a3530822107858468865 (TyFun [a3530822107858468865] [a3530822107858468865] -> Type))
data (:$$) (l_aO2U :: a3530822107858468865) (l_aO2T :: TyFun [a3530822107858468865] [a3530822107858468865])
type (:$$$) (t_aO2R :: a3530822107858468865) (t_aO2S :: [a3530822107858468865]) = (:) t_aO2R t_aO2S
type NilSym0 = '[]
data MapSym0 (l_aYYC :: TyFun (TyFun a6989586621679244032 b6989586621679244033 -> Type) (TyFun [a6989586621679244032] [b6989586621679244033] -> Type))
data MapSym1 (l_aYYA :: TyFun a6989586621679244032 b6989586621679244033 -> Type) (l_aYYz :: TyFun [a6989586621679244032] [b6989586621679244033])
type MapSym2 (t_aYYx :: TyFun a6989586621679244032 b6989586621679244033 -> Type) (t_aYYy :: [a6989586621679244032]) = Map t_aYYx t_aYYy
data ReverseSym0 (l_a1BIY :: TyFun [a6989586621679389343] [a6989586621679389343])
type ReverseSym1 (t_a1BIX :: [a6989586621679389343]) = Reverse t_a1BIX
data (:++$$) (l_aYYn :: [a6989586621679244031]) (l_aYYm :: TyFun [a6989586621679244031] [a6989586621679244031])
data (:++$) (l_aYYp :: TyFun [a6989586621679244031] (TyFun [a6989586621679244031] [a6989586621679244031] -> Type))
data HeadSym0 (l_a1BLt :: TyFun [a6989586621679389348] a6989586621679389348)
type HeadSym1 (t_a1BLs :: [a6989586621679389348]) = Head t_a1BLs
data LastSym0 (l_a1BLj :: TyFun [a6989586621679389347] a6989586621679389347)
type LastSym1 (t_a1BLi :: [a6989586621679389347]) = Last t_a1BLi
data TailSym0 (l_a1BLb :: TyFun [a6989586621679389346] [a6989586621679389346])
type TailSym1 (t_a1BLa :: [a6989586621679389346]) = Tail t_a1BLa
data InitSym0 (l_a1BKE :: TyFun [a6989586621679389345] [a6989586621679389345])
type InitSym1 (t_a1BKD :: [a6989586621679389345]) = Init t_a1BKD
data NullSym0 (l_a1BJx :: TyFun [a6989586621679389344] Bool)
type NullSym1 (t_a1BJw :: [a6989586621679389344]) = Null t_a1BJw
data FoldlSym0 (l_aR2J :: TyFun (TyFun b6989586621679213673 (TyFun a6989586621679213672 b6989586621679213673 -> Type) -> Type) (TyFun b6989586621679213673 (TyFun [a6989586621679213672] b6989586621679213673 -> Type) -> Type))
data FoldlSym1 (l_aR2H :: TyFun b6989586621679213673 (TyFun a6989586621679213672 b6989586621679213673 -> Type) -> Type) (l_aR2G :: TyFun b6989586621679213673 (TyFun [a6989586621679213672] b6989586621679213673 -> Type))
data FoldlSym2 (l_aR2D :: TyFun b6989586621679213673 (TyFun a6989586621679213672 b6989586621679213673 -> Type) -> Type) (l_aR2E :: b6989586621679213673) (l_aR2C :: TyFun [a6989586621679213672] b6989586621679213673)
type FoldlSym3 (t_aR2z :: TyFun b6989586621679213673 (TyFun a6989586621679213672 b6989586621679213673 -> Type) -> Type) (t_aR2A :: b6989586621679213673) (t_aR2B :: [a6989586621679213672]) = Foldl t_aR2z t_aR2A t_aR2B
data Foldl1Sym0 (l_a1BwJ :: TyFun (TyFun a6989586621679389334 (TyFun a6989586621679389334 a6989586621679389334 -> Type) -> Type) (TyFun [a6989586621679389334] a6989586621679389334 -> Type))
data Foldl1Sym1 (l_a1BwH :: TyFun a6989586621679389334 (TyFun a6989586621679389334 a6989586621679389334 -> Type) -> Type) (l_a1BwG :: TyFun [a6989586621679389334] a6989586621679389334)
type Foldl1Sym2 (t_a1BwE :: TyFun a6989586621679389334 (TyFun a6989586621679389334 a6989586621679389334 -> Type) -> Type) (t_a1BwF :: [a6989586621679389334]) = Foldl1 t_a1BwE t_a1BwF
data FoldrSym0 (l_aYYW :: TyFun (TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (TyFun b6989586621679244035 (TyFun [a6989586621679244034] b6989586621679244035 -> Type) -> Type))
data FoldrSym1 (l_aYYU :: TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (l_aYYT :: TyFun b6989586621679244035 (TyFun [a6989586621679244034] b6989586621679244035 -> Type))
data FoldrSym2 (l_aYYQ :: TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (l_aYYR :: b6989586621679244035) (l_aYYP :: TyFun [a6989586621679244034] b6989586621679244035)
type FoldrSym3 (t_aYYM :: TyFun a6989586621679244034 (TyFun b6989586621679244035 b6989586621679244035 -> Type) -> Type) (t_aYYN :: b6989586621679244035) (t_aYYO :: [a6989586621679244034]) = Foldr t_aYYM t_aYYN t_aYYO
data Foldr1Sym0 (l_a1Bw6 :: TyFun (TyFun a6989586621679389332 (TyFun a6989586621679389332 a6989586621679389332 -> Type) -> Type) (TyFun [a6989586621679389332] a6989586621679389332 -> Type))
data Foldr1Sym1 (l_a1Bw4 :: TyFun a6989586621679389332 (TyFun a6989586621679389332 a6989586621679389332 -> Type) -> Type) (l_a1Bw3 :: TyFun [a6989586621679389332] a6989586621679389332)
type Foldr1Sym2 (t_a1Bw1 :: TyFun a6989586621679389332 (TyFun a6989586621679389332 a6989586621679389332 -> Type) -> Type) (t_a1Bw2 :: [a6989586621679389332]) = Foldr1 t_a1Bw1 t_a1Bw2
data ConcatSym0 (l_a1BvX :: TyFun [[a6989586621679389331]] [a6989586621679389331])
type ConcatSym1 (t_a1BvW :: [[a6989586621679389331]]) = Concat t_a1BvW
data ConcatMapSym0 (l_a1BvM :: TyFun (TyFun a6989586621679389329 [b6989586621679389330] -> Type) (TyFun [a6989586621679389329] [b6989586621679389330] -> Type))
data ConcatMapSym1 (l_a1BvK :: TyFun a6989586621679389329 [b6989586621679389330] -> Type) (l_a1BvJ :: TyFun [a6989586621679389329] [b6989586621679389330])
type ConcatMapSym2 (t_a1BvH :: TyFun a6989586621679389329 [b6989586621679389330] -> Type) (t_a1BvI :: [a6989586621679389329]) = ConcatMap t_a1BvH t_a1BvI
data MaximumBySym0 (l_a1BwY :: TyFun (TyFun a6989586621679389261 (TyFun a6989586621679389261 Ordering -> Type) -> Type) (TyFun [a6989586621679389261] a6989586621679389261 -> Type))
data MaximumBySym1 (l_a1BwW :: TyFun a6989586621679389261 (TyFun a6989586621679389261 Ordering -> Type) -> Type) (l_a1BwV :: TyFun [a6989586621679389261] a6989586621679389261)
type MaximumBySym2 (t_a1BwT :: TyFun a6989586621679389261 (TyFun a6989586621679389261 Ordering -> Type) -> Type) (t_a1BwU :: [a6989586621679389261]) = MaximumBy t_a1BwT t_a1BwU
data MinimumBySym0 (l_a1Byn :: TyFun (TyFun a6989586621679389260 (TyFun a6989586621679389260 Ordering -> Type) -> Type) (TyFun [a6989586621679389260] a6989586621679389260 -> Type))
data MinimumBySym1 (l_a1Byl :: TyFun a6989586621679389260 (TyFun a6989586621679389260 Ordering -> Type) -> Type) (l_a1Byk :: TyFun [a6989586621679389260] a6989586621679389260)
type MinimumBySym2 (t_a1Byi :: TyFun a6989586621679389260 (TyFun a6989586621679389260 Ordering -> Type) -> Type) (t_a1Byj :: [a6989586621679389260]) = MinimumBy t_a1Byi t_a1Byj
data AndSym0 (l_a1BvC :: TyFun [Bool] Bool)
type AndSym1 (t_a1BvB :: [Bool]) = And t_a1BvB
data OrSym0 (l_a1Bvw :: TyFun [Bool] Bool)
type OrSym1 (t_a1Bvv :: [Bool]) = Or t_a1Bvv
data Any_Sym0 (l_a1y4W :: TyFun (TyFun a6989586621679379112 Bool -> Type) (TyFun [a6989586621679379112] Bool -> Type))
data Any_Sym1 (l_a1y4U :: TyFun a6989586621679379112 Bool -> Type) (l_a1y4T :: TyFun [a6989586621679379112] Bool)
type Any_Sym2 (t_a1y4R :: TyFun a6989586621679379112 Bool -> Type) (t_a1y4S :: [a6989586621679379112]) = Any_ t_a1y4R t_a1y4S
data AllSym0 (l_a1Bvl :: TyFun (TyFun a6989586621679389328 Bool -> Type) (TyFun [a6989586621679389328] Bool -> Type))
data AllSym1 (l_a1Bvj :: TyFun a6989586621679389328 Bool -> Type) (l_a1Bvi :: TyFun [a6989586621679389328] Bool)
type AllSym2 (t_a1Bvg :: TyFun a6989586621679389328 Bool -> Type) (t_a1Bvh :: [a6989586621679389328]) = All t_a1Bvg t_a1Bvh
data ScanlSym0 (l_a1BuO :: TyFun (TyFun b6989586621679389326 (TyFun a6989586621679389327 b6989586621679389326 -> Type) -> Type) (TyFun b6989586621679389326 (TyFun [a6989586621679389327] [b6989586621679389326] -> Type) -> Type))
data ScanlSym1 (l_a1BuM :: TyFun b6989586621679389326 (TyFun a6989586621679389327 b6989586621679389326 -> Type) -> Type) (l_a1BuL :: TyFun b6989586621679389326 (TyFun [a6989586621679389327] [b6989586621679389326] -> Type))
data ScanlSym2 (l_a1BuI :: TyFun b6989586621679389326 (TyFun a6989586621679389327 b6989586621679389326 -> Type) -> Type) (l_a1BuJ :: b6989586621679389326) (l_a1BuH :: TyFun [a6989586621679389327] [b6989586621679389326])
type ScanlSym3 (t_a1BuE :: TyFun b6989586621679389326 (TyFun a6989586621679389327 b6989586621679389326 -> Type) -> Type) (t_a1BuF :: b6989586621679389326) (t_a1BuG :: [a6989586621679389327]) = Scanl t_a1BuE t_a1BuF t_a1BuG
data Scanl1Sym0 (l_a1Bv6 :: TyFun (TyFun a6989586621679389325 (TyFun a6989586621679389325 a6989586621679389325 -> Type) -> Type) (TyFun [a6989586621679389325] [a6989586621679389325] -> Type))
data Scanl1Sym1 (l_a1Bv4 :: TyFun a6989586621679389325 (TyFun a6989586621679389325 a6989586621679389325 -> Type) -> Type) (l_a1Bv3 :: TyFun [a6989586621679389325] [a6989586621679389325])
type Scanl1Sym2 (t_a1Bv1 :: TyFun a6989586621679389325 (TyFun a6989586621679389325 a6989586621679389325 -> Type) -> Type) (t_a1Bv2 :: [a6989586621679389325]) = Scanl1 t_a1Bv1 t_a1Bv2
data ScanrSym0 (l_a1Bu3 :: TyFun (TyFun a6989586621679389323 (TyFun b6989586621679389324 b6989586621679389324 -> Type) -> Type) (TyFun b6989586621679389324 (TyFun [a6989586621679389323] [b6989586621679389324] -> Type) -> Type))
data ScanrSym1 (l_a1Bu1 :: TyFun a6989586621679389323 (TyFun b6989586621679389324 b6989586621679389324 -> Type) -> Type) (l_a1Bu0 :: TyFun b6989586621679389324 (TyFun [a6989586621679389323] [b6989586621679389324] -> Type))
data ScanrSym2 (l_a1BtX :: TyFun a6989586621679389323 (TyFun b6989586621679389324 b6989586621679389324 -> Type) -> Type) (l_a1BtY :: b6989586621679389324) (l_a1BtW :: TyFun [a6989586621679389323] [b6989586621679389324])
type ScanrSym3 (t_a1BtT :: TyFun a6989586621679389323 (TyFun b6989586621679389324 b6989586621679389324 -> Type) -> Type) (t_a1BtU :: b6989586621679389324) (t_a1BtV :: [a6989586621679389323]) = Scanr t_a1BtT t_a1BtU t_a1BtV
data Scanr1Sym0 (l_a1BsX :: TyFun (TyFun a6989586621679389322 (TyFun a6989586621679389322 a6989586621679389322 -> Type) -> Type) (TyFun [a6989586621679389322] [a6989586621679389322] -> Type))
data Scanr1Sym1 (l_a1BsV :: TyFun a6989586621679389322 (TyFun a6989586621679389322 a6989586621679389322 -> Type) -> Type) (l_a1BsU :: TyFun [a6989586621679389322] [a6989586621679389322])
type Scanr1Sym2 (t_a1BsS :: TyFun a6989586621679389322 (TyFun a6989586621679389322 a6989586621679389322 -> Type) -> Type) (t_a1BsT :: [a6989586621679389322]) = Scanr1 t_a1BsS t_a1BsT
data ElemSym0 (l_a1Bl4 :: TyFun a6989586621679389308 (TyFun [a6989586621679389308] Bool -> Type))
data ElemSym1 (l_a1Bl2 :: a6989586621679389308) (l_a1Bl1 :: TyFun [a6989586621679389308] Bool)
type ElemSym2 (t_a1BkZ :: a6989586621679389308) (t_a1Bl0 :: [a6989586621679389308]) = Elem t_a1BkZ t_a1Bl0
data NotElemSym0 (l_a1BkP :: TyFun a6989586621679389307 (TyFun [a6989586621679389307] Bool -> Type))
data NotElemSym1 (l_a1BkN :: a6989586621679389307) (l_a1BkM :: TyFun [a6989586621679389307] Bool)
type NotElemSym2 (t_a1BkK :: a6989586621679389307) (t_a1BkL :: [a6989586621679389307]) = NotElem t_a1BkK t_a1BkL
data ZipSym0 (l_a1BiM :: TyFun [a6989586621679389305] (TyFun [b6989586621679389306] [(a6989586621679389305, b6989586621679389306)] -> Type))
data ZipSym1 (l_a1BiK :: [a6989586621679389305]) (l_a1BiJ :: TyFun [b6989586621679389306] [(a6989586621679389305, b6989586621679389306)])
type ZipSym2 (t_a1BiH :: [a6989586621679389305]) (t_a1BiI :: [b6989586621679389306]) = Zip t_a1BiH t_a1BiI
data Zip3Sym0 (l_a1BhE :: TyFun [a6989586621679389302] (TyFun [b6989586621679389303] (TyFun [c6989586621679389304] [(a6989586621679389302, b6989586621679389303, c6989586621679389304)] -> Type) -> Type))
data Zip3Sym1 (l_a1BhC :: [a6989586621679389302]) (l_a1BhB :: TyFun [b6989586621679389303] (TyFun [c6989586621679389304] [(a6989586621679389302, b6989586621679389303, c6989586621679389304)] -> Type))
data Zip3Sym2 (l_a1Bhy :: [a6989586621679389302]) (l_a1Bhz :: [b6989586621679389303]) (l_a1Bhx :: TyFun [c6989586621679389304] [(a6989586621679389302, b6989586621679389303, c6989586621679389304)])
type Zip3Sym3 (t_a1Bhu :: [a6989586621679389302]) (t_a1Bhv :: [b6989586621679389303]) (t_a1Bhw :: [c6989586621679389304]) = Zip3 t_a1Bhu t_a1Bhv t_a1Bhw
data ZipWithSym0 (l_a1BgZ :: TyFun (TyFun a6989586621679389299 (TyFun b6989586621679389300 c6989586621679389301 -> Type) -> Type) (TyFun [a6989586621679389299] (TyFun [b6989586621679389300] [c6989586621679389301] -> Type) -> Type))
data ZipWithSym1 (l_a1BgX :: TyFun a6989586621679389299 (TyFun b6989586621679389300 c6989586621679389301 -> Type) -> Type) (l_a1BgW :: TyFun [a6989586621679389299] (TyFun [b6989586621679389300] [c6989586621679389301] -> Type))
data ZipWithSym2 (l_a1BgT :: TyFun a6989586621679389299 (TyFun b6989586621679389300 c6989586621679389301 -> Type) -> Type) (l_a1BgU :: [a6989586621679389299]) (l_a1BgS :: TyFun [b6989586621679389300] [c6989586621679389301])
type ZipWithSym3 (t_a1BgP :: TyFun a6989586621679389299 (TyFun b6989586621679389300 c6989586621679389301 -> Type) -> Type) (t_a1BgQ :: [a6989586621679389299]) (t_a1BgR :: [b6989586621679389300]) = ZipWith t_a1BgP t_a1BgQ t_a1BgR
data ZipWith3Sym0 (l_a1Bfp :: TyFun (TyFun a6989586621679389295 (TyFun b6989586621679389296 (TyFun c6989586621679389297 d6989586621679389298 -> Type) -> Type) -> Type) (TyFun [a6989586621679389295] (TyFun [b6989586621679389296] (TyFun [c6989586621679389297] [d6989586621679389298] -> Type) -> Type) -> Type))
data ZipWith3Sym1 (l_a1Bfn :: TyFun a6989586621679389295 (TyFun b6989586621679389296 (TyFun c6989586621679389297 d6989586621679389298 -> Type) -> Type) -> Type) (l_a1Bfm :: TyFun [a6989586621679389295] (TyFun [b6989586621679389296] (TyFun [c6989586621679389297] [d6989586621679389298] -> Type) -> Type))
data ZipWith3Sym2 (l_a1Bfj :: TyFun a6989586621679389295 (TyFun b6989586621679389296 (TyFun c6989586621679389297 d6989586621679389298 -> Type) -> Type) -> Type) (l_a1Bfk :: [a6989586621679389295]) (l_a1Bfi :: TyFun [b6989586621679389296] (TyFun [c6989586621679389297] [d6989586621679389298] -> Type))
data ZipWith3Sym3 (l_a1Bfe :: TyFun a6989586621679389295 (TyFun b6989586621679389296 (TyFun c6989586621679389297 d6989586621679389298 -> Type) -> Type) -> Type) (l_a1Bff :: [a6989586621679389295]) (l_a1Bfg :: [b6989586621679389296]) (l_a1Bfd :: TyFun [c6989586621679389297] [d6989586621679389298])
data UnzipSym0 (l_a1BeG :: TyFun [(a6989586621679389293, b6989586621679389294)] ([a6989586621679389293], [b6989586621679389294]))
type UnzipSym1 (t_a1BeF :: [(a6989586621679389293, b6989586621679389294)]) = Unzip t_a1BeF
data UntilSym0 (l_a1xCN :: TyFun (TyFun a6989586621679377359 Bool -> Type) (TyFun (TyFun a6989586621679377359 a6989586621679377359 -> Type) (TyFun a6989586621679377359 a6989586621679377359 -> Type) -> Type))
data UntilSym1 (l_a1xCL :: TyFun a6989586621679377359 Bool -> Type) (l_a1xCK :: TyFun (TyFun a6989586621679377359 a6989586621679377359 -> Type) (TyFun a6989586621679377359 a6989586621679377359 -> Type))
data UntilSym2 (l_a1xCH :: TyFun a6989586621679377359 Bool -> Type) (l_a1xCI :: TyFun a6989586621679377359 a6989586621679377359 -> Type) (l_a1xCG :: TyFun a6989586621679377359 a6989586621679377359)
type UntilSym3 (t_a1xCD :: TyFun a6989586621679377359 Bool -> Type) (t_a1xCE :: TyFun a6989586621679377359 a6989586621679377359 -> Type) (t_a1xCF :: a6989586621679377359) = Until t_a1xCD t_a1xCE t_a1xCF
data LengthSym0 (l_a1AVS :: TyFun [a6989586621679389231] Nat)
type LengthSym1 (t_a1AVR :: [a6989586621679389231]) = Length t_a1AVR
data SumSym0 (l_a1AWo :: TyFun [a6989586621679389233] a6989586621679389233)
type SumSym1 (t_a1AWn :: [a6989586621679389233]) = Sum t_a1AWn
data ProductSym0 (l_a1AW0 :: TyFun [a6989586621679389232] a6989586621679389232)
type ProductSym1 (t_a1AVZ :: [a6989586621679389232]) = Product t_a1AVZ
data ReplicateSym0 (l_a1AVA :: TyFun Nat (TyFun a6989586621679389230 [a6989586621679389230] -> Type))
data ReplicateSym1 (l_a1AVy :: Nat) (l_a1AVx :: TyFun a6989586621679389230 [a6989586621679389230])
type ReplicateSym2 (t_a1AVv :: Nat) (t_a1AVw :: a6989586621679389230) = Replicate t_a1AVv t_a1AVw
data TakeSym0 (l_a1AYL :: TyFun Nat (TyFun [a6989586621679389246] [a6989586621679389246] -> Type))
data TakeSym1 (l_a1AYJ :: Nat) (l_a1AYI :: TyFun [a6989586621679389246] [a6989586621679389246])
type TakeSym2 (t_a1AYG :: Nat) (t_a1AYH :: [a6989586621679389246]) = Take t_a1AYG t_a1AYH
data DropSym0 (l_a1AYg :: TyFun Nat (TyFun [a6989586621679389245] [a6989586621679389245] -> Type))
data DropSym1 (l_a1AYe :: Nat) (l_a1AYd :: TyFun [a6989586621679389245] [a6989586621679389245])
type DropSym2 (t_a1AYb :: Nat) (t_a1AYc :: [a6989586621679389245]) = Drop t_a1AYb t_a1AYc
data SplitAtSym0 (l_a1AZg :: TyFun Nat (TyFun [a6989586621679389244] ([a6989586621679389244], [a6989586621679389244]) -> Type))
data SplitAtSym1 (l_a1AZe :: Nat) (l_a1AZd :: TyFun [a6989586621679389244] ([a6989586621679389244], [a6989586621679389244]))
type SplitAtSym2 (t_a1AZb :: Nat) (t_a1AZc :: [a6989586621679389244]) = SplitAt t_a1AZb t_a1AZc
data TakeWhileSym0 (l_a1B4G :: TyFun (TyFun a6989586621679389251 Bool -> Type) (TyFun [a6989586621679389251] [a6989586621679389251] -> Type))
data TakeWhileSym1 (l_a1B4E :: TyFun a6989586621679389251 Bool -> Type) (l_a1B4D :: TyFun [a6989586621679389251] [a6989586621679389251])
type TakeWhileSym2 (t_a1B4B :: TyFun a6989586621679389251 Bool -> Type) (t_a1B4C :: [a6989586621679389251]) = TakeWhile t_a1B4B t_a1B4C
data DropWhileSym0 (l_a1B3Y :: TyFun (TyFun a6989586621679389250 Bool -> Type) (TyFun [a6989586621679389250] [a6989586621679389250] -> Type))
data DropWhileSym1 (l_a1B3W :: TyFun a6989586621679389250 Bool -> Type) (l_a1B3V :: TyFun [a6989586621679389250] [a6989586621679389250])
type DropWhileSym2 (t_a1B3T :: TyFun a6989586621679389250 Bool -> Type) (t_a1B3U :: [a6989586621679389250]) = DropWhile t_a1B3T t_a1B3U
data SpanSym0 (l_a1B15 :: TyFun (TyFun a6989586621679389248 Bool -> Type) (TyFun [a6989586621679389248] ([a6989586621679389248], [a6989586621679389248]) -> Type))
data SpanSym1 (l_a1B13 :: TyFun a6989586621679389248 Bool -> Type) (l_a1B12 :: TyFun [a6989586621679389248] ([a6989586621679389248], [a6989586621679389248]))
type SpanSym2 (t_a1B10 :: TyFun a6989586621679389248 Bool -> Type) (t_a1B11 :: [a6989586621679389248]) = Span t_a1B10 t_a1B11
data BreakSym0 (l_a1AZr :: TyFun (TyFun a6989586621679389247 Bool -> Type) (TyFun [a6989586621679389247] ([a6989586621679389247], [a6989586621679389247]) -> Type))
data BreakSym1 (l_a1AZp :: TyFun a6989586621679389247 Bool -> Type) (l_a1AZo :: TyFun [a6989586621679389247] ([a6989586621679389247], [a6989586621679389247]))
type BreakSym2 (t_a1AZm :: TyFun a6989586621679389247 Bool -> Type) (t_a1AZn :: [a6989586621679389247]) = Break t_a1AZm t_a1AZn
data LookupSym0 (l_a1AXG :: TyFun a6989586621679389236 (TyFun [(a6989586621679389236, b6989586621679389237)] (Maybe b6989586621679389237) -> Type))
data LookupSym1 (l_a1AXE :: a6989586621679389236) (l_a1AXD :: TyFun [(a6989586621679389236, b6989586621679389237)] (Maybe b6989586621679389237))
type LookupSym2 (t_a1AXB :: a6989586621679389236) (t_a1AXC :: [(a6989586621679389236, b6989586621679389237)]) = Lookup t_a1AXB t_a1AXC
data FilterSym0 (l_a1B5b :: TyFun (TyFun a6989586621679389259 Bool -> Type) (TyFun [a6989586621679389259] [a6989586621679389259] -> Type))
data FilterSym1 (l_a1B59 :: TyFun a6989586621679389259 Bool -> Type) (l_a1B58 :: TyFun [a6989586621679389259] [a6989586621679389259])
type FilterSym2 (t_a1B56 :: TyFun a6989586621679389259 Bool -> Type) (t_a1B57 :: [a6989586621679389259]) = Filter t_a1B56 t_a1B57
data (:!!$) (l_a1AV5 :: TyFun [a6989586621679389228] (TyFun Nat a6989586621679389228 -> Type))
data (:!!$$) (l_a1AV3 :: [a6989586621679389228]) (l_a1AV2 :: TyFun Nat a6989586621679389228)
type (:!!$$$) (t_a1AV0 :: [a6989586621679389228]) (t_a1AV1 :: Nat) = (:!!) t_a1AV0 t_a1AV1


-- | 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_a15DU => POrd (a_a15DU :: Type) where {
    type family Compare (arg_a163Q :: a_a15DU) (arg_a163R :: a_a15DU) :: Ordering;
    type family (:<) (arg_a163Z :: a_a15DU) (arg_a1640 :: a_a15DU) :: Bool;
    type family (:<=) (arg_a1648 :: a_a15DU) (arg_a1649 :: a_a15DU) :: Bool;
    type family (:>) (arg_a164h :: a_a15DU) (arg_a164i :: a_a15DU) :: Bool;
    type family (:>=) (arg_a164q :: a_a15DU) (arg_a164r :: a_a15DU) :: Bool;
    type family Max (arg_a164z :: a_a15DU) (arg_a164A :: a_a15DU) :: a_a15DU;
    type family Min (arg_a164I :: a_a15DU) (arg_a164J :: a_a15DU) :: a_a15DU;
    type Compare a_a165o a_a165p =
        Apply (Apply Compare_6989586621679271520Sym0 a_a165o) a_a165p;
    type (:<) a_a165V a_a165W =
        Apply (Apply TFHelper_6989586621679271553Sym0 a_a165V) a_a165W;
    type (:<=) a_a166s a_a166t =
        Apply (Apply TFHelper_6989586621679271586Sym0 a_a166s) a_a166t;
    type (:>) a_a166Z a_a1670 =
        Apply (Apply TFHelper_6989586621679271619Sym0 a_a166Z) a_a1670;
    type (:>=) a_a167w a_a167x =
        Apply (Apply TFHelper_6989586621679271652Sym0 a_a167w) a_a167x;
    type Max a_a1683 a_a1684 =
        Apply (Apply Max_6989586621679271685Sym0 a_a1683) a_a1684;
    type Min a_a168A a_a168B =
        Apply (Apply Min_6989586621679271718Sym0 a_a168A) a_a168B;
}

-- | 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_a1oSz :: TyFun k06989586621679342626 k6989586621679342628)
type TrueSym0 = True
type FalseSym0 = False
type LTSym0 = LT
type EQSym0 = EQ
type GTSym0 = GT
type Tuple0Sym0 = '()
data Tuple2Sym0 (l_aO3M :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866) -> Type))
data Tuple2Sym1 (l_aO3K :: a3530822107858468865) (l_aO3J :: TyFun b3530822107858468866 (a3530822107858468865, b3530822107858468866))
type Tuple2Sym2 (t_aO3H :: a3530822107858468865) (t_aO3I :: b3530822107858468866) = '(t_aO3H, t_aO3I)
data Tuple3Sym0 (l_aO4a :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type) -> Type))
data Tuple3Sym1 (l_aO48 :: a3530822107858468865) (l_aO47 :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867) -> Type))
data Tuple3Sym2 (l_aO44 :: a3530822107858468865) (l_aO45 :: b3530822107858468866) (l_aO43 :: TyFun c3530822107858468867 (a3530822107858468865, b3530822107858468866, c3530822107858468867))
type Tuple3Sym3 (t_aO40 :: a3530822107858468865) (t_aO41 :: b3530822107858468866) (t_aO42 :: c3530822107858468867) = '(t_aO40, t_aO41, t_aO42)
data Tuple4Sym0 (l_aO4J :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type) -> Type))
data Tuple4Sym1 (l_aO4H :: a3530822107858468865) (l_aO4G :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type) -> Type))
data Tuple4Sym2 (l_aO4D :: a3530822107858468865) (l_aO4E :: b3530822107858468866) (l_aO4C :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868) -> Type))
data Tuple4Sym3 (l_aO4y :: a3530822107858468865) (l_aO4z :: b3530822107858468866) (l_aO4A :: c3530822107858468867) (l_aO4x :: TyFun d3530822107858468868 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868))
type Tuple4Sym4 (t_aO4t :: a3530822107858468865) (t_aO4u :: b3530822107858468866) (t_aO4v :: c3530822107858468867) (t_aO4w :: d3530822107858468868) = '(t_aO4t, t_aO4u, t_aO4v, t_aO4w)
data Tuple5Sym0 (l_aO5u :: TyFun a3530822107858468865 (TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type) -> Type))
data Tuple5Sym1 (l_aO5s :: a3530822107858468865) (l_aO5r :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type) -> Type))
data Tuple5Sym2 (l_aO5o :: a3530822107858468865) (l_aO5p :: b3530822107858468866) (l_aO5n :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type) -> Type))
data Tuple5Sym3 (l_aO5j :: a3530822107858468865) (l_aO5k :: b3530822107858468866) (l_aO5l :: c3530822107858468867) (l_aO5i :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869) -> Type))
data Tuple5Sym4 (l_aO5d :: a3530822107858468865) (l_aO5e :: b3530822107858468866) (l_aO5f :: c3530822107858468867) (l_aO5g :: d3530822107858468868) (l_aO5c :: TyFun e3530822107858468869 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869))
type Tuple5Sym5 (t_aO57 :: a3530822107858468865) (t_aO58 :: b3530822107858468866) (t_aO59 :: c3530822107858468867) (t_aO5a :: d3530822107858468868) (t_aO5b :: e3530822107858468869) = '(t_aO57, t_aO58, t_aO59, t_aO5a, t_aO5b)
data Tuple6Sym0 (l_aO6s :: 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_aO6q :: a3530822107858468865) (l_aO6p :: TyFun b3530822107858468866 (TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type) -> Type))
data Tuple6Sym2 (l_aO6m :: a3530822107858468865) (l_aO6n :: b3530822107858468866) (l_aO6l :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type) -> Type))
data Tuple6Sym3 (l_aO6h :: a3530822107858468865) (l_aO6i :: b3530822107858468866) (l_aO6j :: c3530822107858468867) (l_aO6g :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type) -> Type))
data Tuple6Sym4 (l_aO6b :: a3530822107858468865) (l_aO6c :: b3530822107858468866) (l_aO6d :: c3530822107858468867) (l_aO6e :: d3530822107858468868) (l_aO6a :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870) -> Type))
data Tuple6Sym5 (l_aO64 :: a3530822107858468865) (l_aO65 :: b3530822107858468866) (l_aO66 :: c3530822107858468867) (l_aO67 :: d3530822107858468868) (l_aO68 :: e3530822107858468869) (l_aO63 :: TyFun f3530822107858468870 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870))
type Tuple6Sym6 (t_aO5X :: a3530822107858468865) (t_aO5Y :: b3530822107858468866) (t_aO5Z :: c3530822107858468867) (t_aO60 :: d3530822107858468868) (t_aO61 :: e3530822107858468869) (t_aO62 :: f3530822107858468870) = '(t_aO5X, t_aO5Y, t_aO5Z, t_aO60, t_aO61, t_aO62)
data Tuple7Sym0 (l_aO7E :: 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_aO7C :: a3530822107858468865) (l_aO7B :: 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_aO7y :: a3530822107858468865) (l_aO7z :: b3530822107858468866) (l_aO7x :: TyFun c3530822107858468867 (TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type) -> Type))
data Tuple7Sym3 (l_aO7t :: a3530822107858468865) (l_aO7u :: b3530822107858468866) (l_aO7v :: c3530822107858468867) (l_aO7s :: TyFun d3530822107858468868 (TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type) -> Type))
data Tuple7Sym4 (l_aO7n :: a3530822107858468865) (l_aO7o :: b3530822107858468866) (l_aO7p :: c3530822107858468867) (l_aO7q :: d3530822107858468868) (l_aO7m :: TyFun e3530822107858468869 (TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type) -> Type))
data Tuple7Sym5 (l_aO7g :: a3530822107858468865) (l_aO7h :: b3530822107858468866) (l_aO7i :: c3530822107858468867) (l_aO7j :: d3530822107858468868) (l_aO7k :: e3530822107858468869) (l_aO7f :: TyFun f3530822107858468870 (TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871) -> Type))
data Tuple7Sym6 (l_aO78 :: a3530822107858468865) (l_aO79 :: b3530822107858468866) (l_aO7a :: c3530822107858468867) (l_aO7b :: d3530822107858468868) (l_aO7c :: e3530822107858468869) (l_aO7d :: f3530822107858468870) (l_aO77 :: TyFun g3530822107858468871 (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871))
type Tuple7Sym7 (t_aO70 :: a3530822107858468865) (t_aO71 :: b3530822107858468866) (t_aO72 :: c3530822107858468867) (t_aO73 :: d3530822107858468868) (t_aO74 :: e3530822107858468869) (t_aO75 :: f3530822107858468870) (t_aO76 :: g3530822107858468871) = '(t_aO70, t_aO71, t_aO72, t_aO73, t_aO74, t_aO75, t_aO76)
data ThenCmpSym0 (l_a17Sk :: TyFun Ordering (TyFun Ordering Ordering -> Type))
data FoldlSym0 (l_aR2J :: TyFun (TyFun b6989586621679213673 (TyFun a6989586621679213672 b6989586621679213673 -> Type) -> Type) (TyFun b6989586621679213673 (TyFun [a6989586621679213672] b6989586621679213673 -> 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]
