-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | A framework for generating singleton types
--   
--   This library generates singleton types, promoted functions, and
--   singleton functions using Template Haskell. It is useful for
--   programmers who wish to use dependently typed programming techniques.
--   The library was originally presented in <i>Dependently Typed
--   Programming with Singletons</i>, published at the Haskell Symposium,
--   2012.
--   (<a>https://cs.brynmawr.edu/~rae/papers/2012/singletons/paper.pdf</a>)
--   Version 1.0 and onwards works a lot harder to promote functions. See
--   the paper published at Haskell Symposium, 2014:
--   <a>https://cs.brynmawr.edu/~rae/papers/2014/promotion/promotion.pdf</a>.
@package singletons
@version 2.5.1


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

-- | Members of the <a>SDecide</a> "kind" class support decidable equality.
--   Instances of this class are generated alongside singleton definitions
--   for datatypes that derive an <a>Eq</a> instance.
class SDecide k

-- | Compute a proof or disproof of equality, given two singletons.
(%~) :: forall (a :: k) (b :: k). SDecide k => Sing a -> Sing b -> Decision (a :~: b)
infix 4 %~

-- | Propositional equality. If <tt>a :~: b</tt> is inhabited by some
--   terminating value, then the type <tt>a</tt> is the same as the type
--   <tt>b</tt>. To use this equality in practice, pattern-match on the
--   <tt>a :~: b</tt> to get out the <tt>Refl</tt> constructor; in the body
--   of the pattern-match, the compiler knows that <tt>a ~ b</tt>.
data (:~:) (a :: k) (b :: k) :: forall k. () => k -> k -> Type
[Refl] :: forall k (a :: k) (b :: k). () => a :~: a
infix 4 :~:

-- | Uninhabited data type
data Void

-- | Because we can never create a value of type <a>Void</a>, a function
--   that type-checks at <tt>a -&gt; Void</tt> shows that objects of type
--   <tt>a</tt> can never exist. Thus, we say that <tt>a</tt> is
--   <a>Refuted</a>
type Refuted a = (a -> Void)

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

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

-- | Proof that no <tt>a</tt> exists
Disproved :: Refuted a -> Decision a
instance Data.Singletons.Decide.SDecide k => Data.Type.Equality.TestEquality Data.Singletons.Internal.Sing
instance Data.Singletons.Decide.SDecide k => Data.Type.Coercion.TestCoercion Data.Singletons.Internal.Sing

module Data.Singletons.SuppressUnusedWarnings

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


-- | Defines functions and datatypes relating to the singleton for
--   <a>Void</a>, including a singleton version of all the definitions in
--   <tt>Data.Void</tt>.
--   
--   Because many of these definitions are produced by Template Haskell, it
--   is not possible to create proper Haddock documentation. Please look up
--   the corresponding operation in <tt>Data.Void</tt>. Also, please excuse
--   the apparent repeated variable names. This is due to an interaction
--   between Template Haskell and Haddock.
module Data.Singletons.Prelude.Void

-- | The singleton kind-indexed data family.
data family Sing :: k -> Type
type SVoid = (Sing :: Void -> Type)
type family Absurd (a_a1vH2 :: Void) :: a_a1vGZ
sAbsurd :: forall a_a1vGZ (t_a1vH8 :: Void). Sing t_a1vH8 -> Sing (Apply AbsurdSym0 t_a1vH8 :: a_a1vGZ)
data AbsurdSym0 :: forall a6989586621679369949. (~>) Void a6989586621679369949
type AbsurdSym1 (a6989586621679369952 :: Void) = Absurd a6989586621679369952
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Void.AbsurdSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Void.AbsurdSym0


-- | 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.
data family Sing :: k -> 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 family Fst (a_a1vVU :: (a_a1vUm, b_a1vUn)) :: a_a1vUm
sFst :: forall a_a1vUm b_a1vUn (t_a1vWd :: (a_a1vUm, b_a1vUn)). Sing t_a1vWd -> Sing (Apply FstSym0 t_a1vWd :: a_a1vUm)
type family Snd (a_a1vVR :: (a_a1vUk, b_a1vUl)) :: b_a1vUl
sSnd :: forall a_a1vUk b_a1vUl (t_a1vWb :: (a_a1vUk, b_a1vUl)). Sing t_a1vWb -> Sing (Apply SndSym0 t_a1vWb :: b_a1vUl)
type family Curry (a_a1vVI :: (~>) (a_a1vUh, b_a1vUi) c_a1vUj) (a_a1vVJ :: a_a1vUh) (a_a1vVK :: b_a1vUi) :: c_a1vUj
sCurry :: forall a_a1vUh b_a1vUi c_a1vUj (t_a1vW5 :: (~>) (a_a1vUh, b_a1vUi) c_a1vUj) (t_a1vW6 :: a_a1vUh) (t_a1vW7 :: b_a1vUi). Sing t_a1vW5 -> Sing t_a1vW6 -> Sing t_a1vW7 -> Sing (Apply (Apply (Apply CurrySym0 t_a1vW5) t_a1vW6) t_a1vW7 :: c_a1vUj)
type family Uncurry (a_a1vVX :: (~>) a_a1vUe ((~>) b_a1vUf c_a1vUg)) (a_a1vVY :: (a_a1vUe, b_a1vUf)) :: c_a1vUg
sUncurry :: forall a_a1vUe b_a1vUf c_a1vUg (t_a1vWf :: (~>) a_a1vUe ((~>) b_a1vUf c_a1vUg)) (t_a1vWg :: (a_a1vUe, b_a1vUf)). Sing t_a1vWf -> Sing t_a1vWg -> Sing (Apply (Apply UncurrySym0 t_a1vWf) t_a1vWg :: c_a1vUg)
type family Swap (a_a1vVE :: (a_a1vUc, b_a1vUd)) :: (b_a1vUd, a_a1vUc)
sSwap :: forall a_a1vUc b_a1vUd (t_a1vW3 :: (a_a1vUc, b_a1vUd)). Sing t_a1vW3 -> Sing (Apply SwapSym0 t_a1vW3 :: (b_a1vUd, a_a1vUc))
type Tuple0Sym0 = '()
data Tuple2Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type)))
data Tuple2Sym1 (t6989586621679312534 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type). (~>) b3530822107858468866 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type))
type Tuple2Sym2 (t6989586621679312534 :: a3530822107858468865) (t6989586621679312535 :: b3530822107858468866) = '(t6989586621679312534, t6989586621679312535)
data Tuple3Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type))))
data Tuple3Sym1 (t6989586621679312565 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type)))
data Tuple3Sym2 (t6989586621679312565 :: (a3530822107858468865 :: Type)) (t6989586621679312566 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type). (~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type))
type Tuple3Sym3 (t6989586621679312565 :: a3530822107858468865) (t6989586621679312566 :: b3530822107858468866) (t6989586621679312567 :: c3530822107858468867) = '(t6989586621679312565, t6989586621679312566, t6989586621679312567)
data Tuple4Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type)))))
data Tuple4Sym1 (t6989586621679312612 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type))))
data Tuple4Sym2 (t6989586621679312612 :: (a3530822107858468865 :: Type)) (t6989586621679312613 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type)))
data Tuple4Sym3 (t6989586621679312612 :: (a3530822107858468865 :: Type)) (t6989586621679312613 :: (b3530822107858468866 :: Type)) (t6989586621679312614 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type). (~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type))
type Tuple4Sym4 (t6989586621679312612 :: a3530822107858468865) (t6989586621679312613 :: b3530822107858468866) (t6989586621679312614 :: c3530822107858468867) (t6989586621679312615 :: d3530822107858468868) = '(t6989586621679312612, t6989586621679312613, t6989586621679312614, t6989586621679312615)
data Tuple5Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type))))))
data Tuple5Sym1 (t6989586621679312677 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type)))))
data Tuple5Sym2 (t6989586621679312677 :: (a3530822107858468865 :: Type)) (t6989586621679312678 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type))))
data Tuple5Sym3 (t6989586621679312677 :: (a3530822107858468865 :: Type)) (t6989586621679312678 :: (b3530822107858468866 :: Type)) (t6989586621679312679 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type)))
data Tuple5Sym4 (t6989586621679312677 :: (a3530822107858468865 :: Type)) (t6989586621679312678 :: (b3530822107858468866 :: Type)) (t6989586621679312679 :: (c3530822107858468867 :: Type)) (t6989586621679312680 :: (d3530822107858468868 :: Type)) :: forall (e3530822107858468869 :: Type). (~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type))
type Tuple5Sym5 (t6989586621679312677 :: a3530822107858468865) (t6989586621679312678 :: b3530822107858468866) (t6989586621679312679 :: c3530822107858468867) (t6989586621679312680 :: d3530822107858468868) (t6989586621679312681 :: e3530822107858468869) = '(t6989586621679312677, t6989586621679312678, t6989586621679312679, t6989586621679312680, t6989586621679312681)
data Tuple6Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type)))))))
data Tuple6Sym1 (t6989586621679312762 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type))))))
data Tuple6Sym2 (t6989586621679312762 :: (a3530822107858468865 :: Type)) (t6989586621679312763 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type)))))
data Tuple6Sym3 (t6989586621679312762 :: (a3530822107858468865 :: Type)) (t6989586621679312763 :: (b3530822107858468866 :: Type)) (t6989586621679312764 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type))))
data Tuple6Sym4 (t6989586621679312762 :: (a3530822107858468865 :: Type)) (t6989586621679312763 :: (b3530822107858468866 :: Type)) (t6989586621679312764 :: (c3530822107858468867 :: Type)) (t6989586621679312765 :: (d3530822107858468868 :: Type)) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type)))
data Tuple6Sym5 (t6989586621679312762 :: (a3530822107858468865 :: Type)) (t6989586621679312763 :: (b3530822107858468866 :: Type)) (t6989586621679312764 :: (c3530822107858468867 :: Type)) (t6989586621679312765 :: (d3530822107858468868 :: Type)) (t6989586621679312766 :: (e3530822107858468869 :: Type)) :: forall (f3530822107858468870 :: Type). (~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type))
type Tuple6Sym6 (t6989586621679312762 :: a3530822107858468865) (t6989586621679312763 :: b3530822107858468866) (t6989586621679312764 :: c3530822107858468867) (t6989586621679312765 :: d3530822107858468868) (t6989586621679312766 :: e3530822107858468869) (t6989586621679312767 :: f3530822107858468870) = '(t6989586621679312762, t6989586621679312763, t6989586621679312764, t6989586621679312765, t6989586621679312766, t6989586621679312767)
data Tuple7Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type))))))))
data Tuple7Sym1 (t6989586621679312869 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type)))))))
data Tuple7Sym2 (t6989586621679312869 :: (a3530822107858468865 :: Type)) (t6989586621679312870 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type))))))
data Tuple7Sym3 (t6989586621679312869 :: (a3530822107858468865 :: Type)) (t6989586621679312870 :: (b3530822107858468866 :: Type)) (t6989586621679312871 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type)))))
data Tuple7Sym4 (t6989586621679312869 :: (a3530822107858468865 :: Type)) (t6989586621679312870 :: (b3530822107858468866 :: Type)) (t6989586621679312871 :: (c3530822107858468867 :: Type)) (t6989586621679312872 :: (d3530822107858468868 :: Type)) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type))))
data Tuple7Sym5 (t6989586621679312869 :: (a3530822107858468865 :: Type)) (t6989586621679312870 :: (b3530822107858468866 :: Type)) (t6989586621679312871 :: (c3530822107858468867 :: Type)) (t6989586621679312872 :: (d3530822107858468868 :: Type)) (t6989586621679312873 :: (e3530822107858468869 :: Type)) :: forall (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type)))
data Tuple7Sym6 (t6989586621679312869 :: (a3530822107858468865 :: Type)) (t6989586621679312870 :: (b3530822107858468866 :: Type)) (t6989586621679312871 :: (c3530822107858468867 :: Type)) (t6989586621679312872 :: (d3530822107858468868 :: Type)) (t6989586621679312873 :: (e3530822107858468869 :: Type)) (t6989586621679312874 :: (f3530822107858468870 :: Type)) :: forall (g3530822107858468871 :: Type). (~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type))
type Tuple7Sym7 (t6989586621679312869 :: a3530822107858468865) (t6989586621679312870 :: b3530822107858468866) (t6989586621679312871 :: c3530822107858468867) (t6989586621679312872 :: d3530822107858468868) (t6989586621679312873 :: e3530822107858468869) (t6989586621679312874 :: f3530822107858468870) (t6989586621679312875 :: g3530822107858468871) = '(t6989586621679312869, t6989586621679312870, t6989586621679312871, t6989586621679312872, t6989586621679312873, t6989586621679312874, t6989586621679312875)
data FstSym0 :: forall a6989586621679370778 b6989586621679370779. (~>) (a6989586621679370778, b6989586621679370779) a6989586621679370778
type FstSym1 (a6989586621679370874 :: (a6989586621679370778, b6989586621679370779)) = Fst a6989586621679370874
data SndSym0 :: forall a6989586621679370776 b6989586621679370777. (~>) (a6989586621679370776, b6989586621679370777) b6989586621679370777
type SndSym1 (a6989586621679370871 :: (a6989586621679370776, b6989586621679370777)) = Snd a6989586621679370871
data CurrySym0 :: forall a6989586621679370773 b6989586621679370774 c6989586621679370775. (~>) ((~>) (a6989586621679370773, b6989586621679370774) c6989586621679370775) ((~>) a6989586621679370773 ((~>) b6989586621679370774 c6989586621679370775))
data CurrySym1 (a6989586621679370862 :: (~>) (a6989586621679370773, b6989586621679370774) c6989586621679370775) :: (~>) a6989586621679370773 ((~>) b6989586621679370774 c6989586621679370775)
data CurrySym2 (a6989586621679370862 :: (~>) (a6989586621679370773, b6989586621679370774) c6989586621679370775) (a6989586621679370863 :: a6989586621679370773) :: (~>) b6989586621679370774 c6989586621679370775
type CurrySym3 (a6989586621679370862 :: (~>) (a6989586621679370773, b6989586621679370774) c6989586621679370775) (a6989586621679370863 :: a6989586621679370773) (a6989586621679370864 :: b6989586621679370774) = Curry a6989586621679370862 a6989586621679370863 a6989586621679370864
data UncurrySym0 :: forall a6989586621679370770 b6989586621679370771 c6989586621679370772. (~>) ((~>) a6989586621679370770 ((~>) b6989586621679370771 c6989586621679370772)) ((~>) (a6989586621679370770, b6989586621679370771) c6989586621679370772)
data UncurrySym1 (a6989586621679370877 :: (~>) a6989586621679370770 ((~>) b6989586621679370771 c6989586621679370772)) :: (~>) (a6989586621679370770, b6989586621679370771) c6989586621679370772
type UncurrySym2 (a6989586621679370877 :: (~>) a6989586621679370770 ((~>) b6989586621679370771 c6989586621679370772)) (a6989586621679370878 :: (a6989586621679370770, b6989586621679370771)) = Uncurry a6989586621679370877 a6989586621679370878
data SwapSym0 :: forall a6989586621679370768 b6989586621679370769. (~>) (a6989586621679370768, b6989586621679370769) (b6989586621679370769, a6989586621679370768)
type SwapSym1 (a6989586621679370858 :: (a6989586621679370768, b6989586621679370769)) = Swap a6989586621679370858
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Tuple.UncurrySym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Tuple.UncurrySym0
instance forall a6989586621679370770 b6989586621679370771 c6989586621679370772 (a6989586621679370877 :: a6989586621679370770 Data.Singletons.Internal.~> (b6989586621679370771 Data.Singletons.Internal.~> c6989586621679370772)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Tuple.UncurrySym1 a6989586621679370877)
instance forall a b c (d :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> c)). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Tuple.UncurrySym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Tuple.FstSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Tuple.FstSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Tuple.SndSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Tuple.SndSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Tuple.CurrySym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Tuple.CurrySym0
instance forall a6989586621679370773 b6989586621679370774 c6989586621679370775 (a6989586621679370862 :: (a6989586621679370773, b6989586621679370774) Data.Singletons.Internal.~> c6989586621679370775). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Tuple.CurrySym1 a6989586621679370862)
instance forall a b c (d :: (a, b) Data.Singletons.Internal.~> c). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Tuple.CurrySym1 d)
instance forall a6989586621679370773 b6989586621679370774 c6989586621679370775 (a6989586621679370863 :: (a6989586621679370773, b6989586621679370774) Data.Singletons.Internal.~> c6989586621679370775) (a6989586621679370862 :: a6989586621679370773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Tuple.CurrySym2 a6989586621679370863 a6989586621679370862)
instance forall a b c (d1 :: (a, b) Data.Singletons.Internal.~> c) (d2 :: a). (Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Tuple.CurrySym2 d1 d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Tuple.SwapSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Tuple.SwapSym0


-- | Defines <a>Sigma</a>, a dependent pair data type, and related
--   functions.
module Data.Singletons.Sigma

-- | A dependent pair.
data Sigma (s :: Type) :: (s ~> Type) -> Type
[:&:] :: forall s t fst. Sing (fst :: s) -> (t @@ fst) -> Sigma s t
infixr 4 :&:

-- | Unicode shorthand for <a>Sigma</a>.
type Σ (s :: Type) (t :: s ~> Type) = Sigma s t

-- | Project the first element out of a dependent pair.
projSigma1 :: forall s t. SingKind s => Sigma s t -> Demote s

-- | Project the second element out of a dependent pair.
--   
--   In an ideal setting, the type of <a>projSigma2</a> would be closer to:
--   
--   <pre>
--   <a>projSigma2</a> :: <a>Sing</a> (sig :: <a>Sigma</a> s t) -&gt; t @@ ProjSigma1 sig
--   </pre>
--   
--   But promoting <a>projSigma1</a> to a type family is not a simple task.
--   Instead, we do the next-best thing, which is to use Church-style
--   elimination.
projSigma2 :: forall s t r. (forall (fst :: s). (t @@ fst) -> r) -> Sigma s t -> r

-- | Map across a <a>Sigma</a> value in a dependent fashion.
mapSigma :: Sing (f :: a ~> b) -> (forall (x :: a). (p @@ x) -> q @@ (f @@ x)) -> Sigma a p -> Sigma b q

-- | Zip two <a>Sigma</a> values together in a dependent fashion.
zipSigma :: Sing (f :: a ~> (b ~> c)) -> (forall (x :: a) (y :: b). (p @@ x) -> (q @@ y) -> r @@ ((f @@ x) @@ y)) -> Sigma a p -> Sigma b q -> Sigma c r
data ΣSym0 s6989586621679375890
data ΣSym1 (s6989586621679375890 :: Type) t6989586621679375891
type ΣSym2 (s6989586621679375890 :: Type) (t6989586621679375891 :: (~>) s6989586621679375890 Type) = Σ s6989586621679375890 t6989586621679375891
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Sigma.ΣSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Sigma.ΣSym1 s2)


-- | 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.
data family Sing :: k -> Type
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>
type family If (cond :: Bool) (tru :: k) (fls :: k) :: k

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

-- | Type-level "not". An injective type family since <tt>4.10.0.0</tt>.
type family Not (a :: Bool) = (res :: Bool) | res -> a

-- | Negation of a singleton
sNot :: Sing a -> Sing (Not a)

-- | Type-level "and"
type family (&&) (a :: Bool) (b :: Bool) :: Bool
infixr 3 &&

-- | Type-level "or"
type family (||) (a :: Bool) (b :: Bool) :: Bool
infixr 2 ||

-- | Conjunction of singletons
(%&&) :: Sing a -> Sing b -> Sing (a && b)
infixr 3 %&&

-- | Disjunction of singletons
(%||) :: Sing a -> Sing b -> Sing (a || b)
infixr 2 %||
bool_ :: a_a1xDR -> a_a1xDR -> Bool -> a_a1xDR
type family Bool_ (a_a1xDX :: a_a1xDR) (a_a1xDY :: a_a1xDR) (a_a1xDZ :: Bool) :: a_a1xDR
sBool_ :: forall a_a1xDR (t_a1xE7 :: a_a1xDR) (t_a1xE8 :: a_a1xDR) (t_a1xE9 :: Bool). Sing t_a1xE7 -> Sing t_a1xE8 -> Sing t_a1xE9 -> Sing (Apply (Apply (Apply Bool_Sym0 t_a1xE7) t_a1xE8) t_a1xE9 :: a_a1xDR)
type family Otherwise :: Bool
sOtherwise :: Sing (OtherwiseSym0 :: Bool)
type TrueSym0 =  'True
type FalseSym0 =  'False
data NotSym0 :: (~>) Bool Bool
type NotSym1 (a6989586621679378735 :: Bool) = Not a6989586621679378735
data (&&@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 3 &&@#@$
data (&&@#@$$) (a6989586621679378194 :: Bool) :: (~>) Bool Bool
infixr 3 &&@#@$$
type (&&@#@$$$) (a6989586621679378194 :: Bool) (b6989586621679378195 :: Bool) = (&&) a6989586621679378194 b6989586621679378195
data (||@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 2 ||@#@$
data (||@#@$$) (a6989586621679378435 :: Bool) :: (~>) Bool Bool
infixr 2 ||@#@$$
type (||@#@$$$) (a6989586621679378435 :: Bool) (b6989586621679378436 :: Bool) = (||) a6989586621679378435 b6989586621679378436
data Bool_Sym0 :: forall a6989586621679377443. (~>) a6989586621679377443 ((~>) a6989586621679377443 ((~>) Bool a6989586621679377443))
data Bool_Sym1 (a6989586621679377449 :: a6989586621679377443) :: (~>) a6989586621679377443 ((~>) Bool a6989586621679377443)
data Bool_Sym2 (a6989586621679377449 :: a6989586621679377443) (a6989586621679377450 :: a6989586621679377443) :: (~>) Bool a6989586621679377443
type Bool_Sym3 (a6989586621679377449 :: a6989586621679377443) (a6989586621679377450 :: a6989586621679377443) (a6989586621679377451 :: Bool) = Bool_ a6989586621679377449 a6989586621679377450 a6989586621679377451
type OtherwiseSym0 = Otherwise
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Bool.NotSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Bool.NotSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Bool.||@#@$)
instance Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Bool.||@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Bool.||@#@$$) a6989586621679378435)
instance Data.Singletons.Internal.SingI x => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Bool.||@#@$$) x)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Bool.&&@#@$)
instance Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Bool.&&@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Bool.&&@#@$$) a6989586621679378194)
instance Data.Singletons.Internal.SingI x => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Bool.&&@#@$$) x)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Bool.Bool_Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Bool.Bool_Sym0
instance forall a6989586621679377443 (a6989586621679377449 :: a6989586621679377443). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Bool.Bool_Sym1 a6989586621679377449)
instance forall a (d :: a). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Bool.Bool_Sym1 d)
instance forall a6989586621679377443 (a6989586621679377450 :: a6989586621679377443) (a6989586621679377449 :: a6989586621679377443). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Bool.Bool_Sym2 a6989586621679377450 a6989586621679377449)
instance forall a (d1 :: a) (d2 :: a). (Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Bool.Bool_Sym2 d1 d2)


-- | 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 <a>DefaultEq</a>.
class PEq a where {
    type family (==) (x :: a) (y :: a) :: Bool;
    type family (/=) (x :: a) (y :: a) :: Bool;
    type (x :: a) == (y :: a) = x `DefaultEq` y;
    type (x :: a) /= (y :: a) = Not (x == y);
}
infix 4 ==
infix 4 /=

-- | 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)
infix 4 %==
infix 4 %/=

-- | A sensible way to compute Boolean equality for types of any kind. Note
--   that this definition is slightly different from the '(DTE.==)' type
--   family from <a>Data.Type.Equality</a> in <tt>base</tt>, as '(DTE.==)'
--   attempts to distinguish applications of type constructors from other
--   types. As a result, <tt>a == a</tt> does not reduce to <a>True</a> for
--   every <tt>a</tt>, but <tt><a>DefaultEq</a> a a</tt> <i>does</i> reduce
--   to <a>True</a> for every <tt>a</tt>. The latter behavior is more
--   desirable for <tt>singletons</tt>' purposes, so we use it instead of
--   '(DTE.==)'.
type family DefaultEq (a :: k) (b :: k) :: Bool
data (==@#@$) :: forall a6989586621679381437. (~>) a6989586621679381437 ((~>) a6989586621679381437 Bool)
infix 4 ==@#@$
data (==@#@$$) (x6989586621679381438 :: a6989586621679381437) :: (~>) a6989586621679381437 Bool
infix 4 ==@#@$$
type (==@#@$$$) (x6989586621679381438 :: a6989586621679381437) (y6989586621679381439 :: a6989586621679381437) = (==) x6989586621679381438 y6989586621679381439
data (/=@#@$) :: forall a6989586621679381437. (~>) a6989586621679381437 ((~>) a6989586621679381437 Bool)
infix 4 /=@#@$
data (/=@#@$$) (x6989586621679381440 :: a6989586621679381437) :: (~>) a6989586621679381437 Bool
infix 4 /=@#@$$
type (/=@#@$$$) (x6989586621679381440 :: a6989586621679381437) (y6989586621679381441 :: a6989586621679381437) = (/=) x6989586621679381440 y6989586621679381441
data DefaultEqSym0 :: forall k6989586621679381431. (~>) k6989586621679381431 ((~>) k6989586621679381431 Bool)
data DefaultEqSym1 (a6989586621679381432 :: k6989586621679381431) :: (~>) k6989586621679381431 Bool
type DefaultEqSym2 (a6989586621679381432 :: k6989586621679381431) (b6989586621679381433 :: k6989586621679381431) = DefaultEq a6989586621679381432 b6989586621679381433
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 (Data.Functor.Identity.Identity a)
instance Data.Singletons.Prelude.Eq.PEq (a, b, c, d, e, f, g)
instance Data.Singletons.Prelude.Eq.PEq (a, b, c, d, e, f)
instance Data.Singletons.Prelude.Eq.PEq (a, b, c, d, e)
instance Data.Singletons.Prelude.Eq.PEq (a, b, c, d)
instance Data.Singletons.Prelude.Eq.PEq (a, b, c)
instance Data.Singletons.Prelude.Eq.PEq (a, b)
instance Data.Singletons.Prelude.Eq.PEq Data.Void.Void
instance Data.Singletons.Prelude.Eq.PEq (GHC.Base.NonEmpty a)
instance Data.Singletons.Prelude.Eq.PEq (Data.Either.Either a b)
instance Data.Singletons.Prelude.Eq.PEq [a]
instance Data.Singletons.Prelude.Eq.PEq (GHC.Maybe.Maybe a)
instance Data.Singletons.Prelude.Eq.SEq a => Data.Singletons.Prelude.Eq.SEq (GHC.Maybe.Maybe a)
instance (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Prelude.Eq.SEq [a]) => Data.Singletons.Prelude.Eq.SEq [a]
instance (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Prelude.Eq.SEq b) => Data.Singletons.Prelude.Eq.SEq (Data.Either.Either a b)
instance (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Prelude.Eq.SEq [a]) => Data.Singletons.Prelude.Eq.SEq (GHC.Base.NonEmpty a)
instance Data.Singletons.Prelude.Eq.SEq Data.Void.Void
instance (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Prelude.Eq.SEq b) => Data.Singletons.Prelude.Eq.SEq (a, b)
instance (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Prelude.Eq.SEq b, Data.Singletons.Prelude.Eq.SEq c) => Data.Singletons.Prelude.Eq.SEq (a, b, c)
instance (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Prelude.Eq.SEq b, Data.Singletons.Prelude.Eq.SEq c, Data.Singletons.Prelude.Eq.SEq d) => Data.Singletons.Prelude.Eq.SEq (a, b, c, d)
instance (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Prelude.Eq.SEq b, Data.Singletons.Prelude.Eq.SEq c, Data.Singletons.Prelude.Eq.SEq d, Data.Singletons.Prelude.Eq.SEq e) => Data.Singletons.Prelude.Eq.SEq (a, b, c, d, e)
instance (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Prelude.Eq.SEq b, Data.Singletons.Prelude.Eq.SEq c, Data.Singletons.Prelude.Eq.SEq d, Data.Singletons.Prelude.Eq.SEq e, Data.Singletons.Prelude.Eq.SEq f) => Data.Singletons.Prelude.Eq.SEq (a, b, c, d, e, f)
instance (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Prelude.Eq.SEq b, Data.Singletons.Prelude.Eq.SEq c, Data.Singletons.Prelude.Eq.SEq d, Data.Singletons.Prelude.Eq.SEq e, Data.Singletons.Prelude.Eq.SEq f, Data.Singletons.Prelude.Eq.SEq g) => Data.Singletons.Prelude.Eq.SEq (a, b, c, d, e, f, g)
instance Data.Singletons.Prelude.Eq.SEq a => Data.Singletons.Prelude.Eq.SEq (Data.Functor.Identity.Identity a)
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.Prelude.Eq.SEq a => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Eq.==@#@$)
instance forall a (x :: a). (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Internal.SingI x) => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Eq.==@#@$$) x)
instance Data.Singletons.Prelude.Eq.SEq a => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Eq./=@#@$)
instance forall a (x :: a). (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Internal.SingI x) => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Eq./=@#@$$) x)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Eq.DefaultEqSym0
instance forall k6989586621679381431 (a6989586621679381432 :: k6989586621679381431). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Eq.DefaultEqSym1 a6989586621679381432)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Eq./=@#@$)
instance forall a6989586621679381437 (x6989586621679381440 :: a6989586621679381437). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Eq./=@#@$$) x6989586621679381440)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Eq.==@#@$)
instance forall a6989586621679381437 (x6989586621679381438 :: a6989586621679381437). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Eq.==@#@$$) x6989586621679381438)


-- | This module defines singleton instances making <a>TypeRep</a> the
--   singleton for the kind <tt><a>TYPE</a> rep</tt> (for some
--   <a>RuntimeRep</a> <tt>rep</tt>), an instantiation of which is the
--   famous kind <a>Type</a>. The definitions don't fully line up with what
--   is expected within the singletons library, so expect unusual results!
module Data.Singletons.TypeRepTYPE

-- | The singleton kind-indexed data family.
data family Sing :: k -> Type

-- | A variant of <a>SomeTypeRep</a> whose underlying <a>TypeRep</a> is
--   restricted to kind <tt><a>TYPE</a> rep</tt> (for some
--   <a>RuntimeRep</a> <tt>rep</tt>).
data SomeTypeRepTYPE :: RuntimeRep -> Type
[SomeTypeRepTYPE] :: forall (rep :: RuntimeRep) (a :: TYPE rep). !TypeRep a -> SomeTypeRepTYPE rep
instance GHC.Show.Show (Data.Singletons.Internal.Sing a)
instance GHC.Classes.Ord (Data.Singletons.Internal.Sing a)
instance GHC.Classes.Eq (Data.Singletons.Internal.Sing a)
instance GHC.Classes.Eq (Data.Singletons.TypeRepTYPE.SomeTypeRepTYPE 'GHC.Types.LiftedRep)
instance GHC.Classes.Ord (Data.Singletons.TypeRepTYPE.SomeTypeRepTYPE 'GHC.Types.LiftedRep)
instance GHC.Show.Show (Data.Singletons.TypeRepTYPE.SomeTypeRepTYPE 'GHC.Types.LiftedRep)
instance Data.Singletons.Internal.SingKind *
instance Data.Typeable.Internal.Typeable a => Data.Singletons.Internal.SingI a
instance Data.Singletons.Prelude.Eq.PEq *
instance Data.Singletons.Prelude.Eq.SEq *
instance Data.Singletons.Decide.SDecide *


-- | Defines the promoted version of Ord, <a>POrd</a>, and the singleton
--   version, <a>SOrd</a>.
module Data.Singletons.Prelude.Ord
class PEq a_a1Ctu => POrd (a_a1Ctu :: Type) where {
    type family Compare (arg_a1Cv0 :: a_a1Ctu) (arg_a1Cv1 :: a_a1Ctu) :: Ordering;
    type family (<) (arg_a1Cv4 :: a_a1Ctu) (arg_a1Cv5 :: a_a1Ctu) :: Bool;
    type family (<=) (arg_a1Cv8 :: a_a1Ctu) (arg_a1Cv9 :: a_a1Ctu) :: Bool;
    type family (>) (arg_a1Cvc :: a_a1Ctu) (arg_a1Cvd :: a_a1Ctu) :: Bool;
    type family (>=) (arg_a1Cvg :: a_a1Ctu) (arg_a1Cvh :: a_a1Ctu) :: Bool;
    type family Max (arg_a1Cvk :: a_a1Ctu) (arg_a1Cvl :: a_a1Ctu) :: a_a1Ctu;
    type family Min (arg_a1Cvo :: a_a1Ctu) (arg_a1Cvp :: a_a1Ctu) :: a_a1Ctu;
    type Compare a_a1CvK a_a1CvL = Apply (Apply Compare_6989586621679396162Sym0 a_a1CvK) a_a1CvL;
    type (<) a_a1Cw2 a_a1Cw3 = Apply (Apply TFHelper_6989586621679396180Sym0 a_a1Cw2) a_a1Cw3;
    type (<=) a_a1Cwk a_a1Cwl = Apply (Apply TFHelper_6989586621679396198Sym0 a_a1Cwk) a_a1Cwl;
    type (>) a_a1CwC a_a1CwD = Apply (Apply TFHelper_6989586621679396216Sym0 a_a1CwC) a_a1CwD;
    type (>=) a_a1CwU a_a1CwV = Apply (Apply TFHelper_6989586621679396234Sym0 a_a1CwU) a_a1CwV;
    type Max a_a1Cxc a_a1Cxd = Apply (Apply Max_6989586621679396252Sym0 a_a1Cxc) a_a1Cxd;
    type Min a_a1Cxu a_a1Cxv = Apply (Apply Min_6989586621679396270Sym0 a_a1Cxu) a_a1Cxv;
}
infix 4 >=
infix 4 >
infix 4 <
infix 4 <=
class SEq a_a1Ctu => SOrd a_a1Ctu
sCompare :: forall (t_a1CxJ :: a_a1Ctu) (t_a1CxK :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1CxJ -> Sing t_a1CxK -> Sing (Apply (Apply CompareSym0 t_a1CxJ) t_a1CxK :: Ordering)
(%<) :: forall (t_a1CxN :: a_a1Ctu) (t_a1CxO :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1CxN -> Sing t_a1CxO -> Sing (Apply (Apply (<@#@$) t_a1CxN) t_a1CxO :: Bool)
(%<=) :: forall (t_a1CxR :: a_a1Ctu) (t_a1CxS :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1CxR -> Sing t_a1CxS -> Sing (Apply (Apply (<=@#@$) t_a1CxR) t_a1CxS :: Bool)
(%>) :: forall (t_a1CxV :: a_a1Ctu) (t_a1CxW :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1CxV -> Sing t_a1CxW -> Sing (Apply (Apply (>@#@$) t_a1CxV) t_a1CxW :: Bool)
(%>=) :: forall (t_a1CxZ :: a_a1Ctu) (t_a1Cy0 :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1CxZ -> Sing t_a1Cy0 -> Sing (Apply (Apply (>=@#@$) t_a1CxZ) t_a1Cy0 :: Bool)
sMax :: forall (t_a1Cy3 :: a_a1Ctu) (t_a1Cy4 :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1Cy3 -> Sing t_a1Cy4 -> Sing (Apply (Apply MaxSym0 t_a1Cy3) t_a1Cy4 :: a_a1Ctu)
sMin :: forall (t_a1Cy7 :: a_a1Ctu) (t_a1Cy8 :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1Cy7 -> Sing t_a1Cy8 -> Sing (Apply (Apply MinSym0 t_a1Cy7) t_a1Cy8 :: a_a1Ctu)
sCompare :: forall (t_a1CxJ :: a_a1Ctu) (t_a1CxK :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply CompareSym0 t_a1CxJ) t_a1CxK :: Ordering) ~ Apply (Apply Compare_6989586621679396162Sym0 t_a1CxJ) t_a1CxK) => Sing t_a1CxJ -> Sing t_a1CxK -> Sing (Apply (Apply CompareSym0 t_a1CxJ) t_a1CxK :: Ordering)
(%<) :: forall (t_a1CxN :: a_a1Ctu) (t_a1CxO :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply (<@#@$) t_a1CxN) t_a1CxO :: Bool) ~ Apply (Apply TFHelper_6989586621679396180Sym0 t_a1CxN) t_a1CxO) => Sing t_a1CxN -> Sing t_a1CxO -> Sing (Apply (Apply (<@#@$) t_a1CxN) t_a1CxO :: Bool)
(%<=) :: forall (t_a1CxR :: a_a1Ctu) (t_a1CxS :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply (<=@#@$) t_a1CxR) t_a1CxS :: Bool) ~ Apply (Apply TFHelper_6989586621679396198Sym0 t_a1CxR) t_a1CxS) => Sing t_a1CxR -> Sing t_a1CxS -> Sing (Apply (Apply (<=@#@$) t_a1CxR) t_a1CxS :: Bool)
(%>) :: forall (t_a1CxV :: a_a1Ctu) (t_a1CxW :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply (>@#@$) t_a1CxV) t_a1CxW :: Bool) ~ Apply (Apply TFHelper_6989586621679396216Sym0 t_a1CxV) t_a1CxW) => Sing t_a1CxV -> Sing t_a1CxW -> Sing (Apply (Apply (>@#@$) t_a1CxV) t_a1CxW :: Bool)
(%>=) :: forall (t_a1CxZ :: a_a1Ctu) (t_a1Cy0 :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply (>=@#@$) t_a1CxZ) t_a1Cy0 :: Bool) ~ Apply (Apply TFHelper_6989586621679396234Sym0 t_a1CxZ) t_a1Cy0) => Sing t_a1CxZ -> Sing t_a1Cy0 -> Sing (Apply (Apply (>=@#@$) t_a1CxZ) t_a1Cy0 :: Bool)
sMax :: forall (t_a1Cy3 :: a_a1Ctu) (t_a1Cy4 :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply MaxSym0 t_a1Cy3) t_a1Cy4 :: a_a1Ctu) ~ Apply (Apply Max_6989586621679396252Sym0 t_a1Cy3) t_a1Cy4) => Sing t_a1Cy3 -> Sing t_a1Cy4 -> Sing (Apply (Apply MaxSym0 t_a1Cy3) t_a1Cy4 :: a_a1Ctu)
sMin :: forall (t_a1Cy7 :: a_a1Ctu) (t_a1Cy8 :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply MinSym0 t_a1Cy7) t_a1Cy8 :: a_a1Ctu) ~ Apply (Apply Min_6989586621679396270Sym0 t_a1Cy7) t_a1Cy8) => Sing t_a1Cy7 -> Sing t_a1Cy8 -> Sing (Apply (Apply MinSym0 t_a1Cy7) t_a1Cy8 :: a_a1Ctu)
infix 4 %<=
infix 4 %<
infix 4 %>
infix 4 %>=
type family Comparing (a_a1CuR :: (~>) b_a1Ctk a_a1Ctj) (a_a1CuS :: b_a1Ctk) (a_a1CuT :: b_a1Ctk) :: Ordering
sComparing :: forall a_a1Ctj b_a1Ctk (t_a1CxA :: (~>) b_a1Ctk a_a1Ctj) (t_a1CxB :: b_a1Ctk) (t_a1CxC :: b_a1Ctk). SOrd a_a1Ctj => Sing t_a1CxA -> Sing t_a1CxB -> Sing t_a1CxC -> Sing (Apply (Apply (Apply ComparingSym0 t_a1CxA) t_a1CxB) t_a1CxC :: Ordering)
thenCmp :: Ordering -> Ordering -> Ordering
type family ThenCmp (a_a1FcV :: Ordering) (a_a1FcW :: Ordering) :: Ordering
sThenCmp :: forall (t_a1Fd0 :: Ordering) (t_a1Fd1 :: Ordering). Sing t_a1Fd0 -> Sing t_a1Fd1 -> Sing (Apply (Apply ThenCmpSym0 t_a1Fd0) t_a1Fd1 :: Ordering)

-- | The singleton kind-indexed data family.
data family Sing :: k -> Type
type SOrdering = (Sing :: Ordering -> Type)
type SDown = (Sing :: Down a_alEb -> Type)
data ThenCmpSym0 :: (~>) Ordering ((~>) Ordering Ordering)
data ThenCmpSym1 (a6989586621679406525 :: Ordering) :: (~>) Ordering Ordering
type ThenCmpSym2 (a6989586621679406525 :: Ordering) (a6989586621679406526 :: Ordering) = ThenCmp a6989586621679406525 a6989586621679406526
type LTSym0 =  'LT
type EQSym0 =  'EQ
type GTSym0 =  'GT
data CompareSym0 :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 Ordering)
data CompareSym1 (arg6989586621679396114 :: a6989586621679396020) :: (~>) a6989586621679396020 Ordering
type CompareSym2 (arg6989586621679396114 :: a6989586621679396020) (arg6989586621679396115 :: a6989586621679396020) = Compare arg6989586621679396114 arg6989586621679396115
data (<@#@$) :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 Bool)
infix 4 <@#@$
data (<@#@$$) (arg6989586621679396118 :: a6989586621679396020) :: (~>) a6989586621679396020 Bool
infix 4 <@#@$$
type (<@#@$$$) (arg6989586621679396118 :: a6989586621679396020) (arg6989586621679396119 :: a6989586621679396020) = (<) arg6989586621679396118 arg6989586621679396119
data (<=@#@$) :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 Bool)
infix 4 <=@#@$
data (<=@#@$$) (arg6989586621679396122 :: a6989586621679396020) :: (~>) a6989586621679396020 Bool
infix 4 <=@#@$$
type (<=@#@$$$) (arg6989586621679396122 :: a6989586621679396020) (arg6989586621679396123 :: a6989586621679396020) = (<=) arg6989586621679396122 arg6989586621679396123
data (>@#@$) :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 Bool)
infix 4 >@#@$
data (>@#@$$) (arg6989586621679396126 :: a6989586621679396020) :: (~>) a6989586621679396020 Bool
infix 4 >@#@$$
type (>@#@$$$) (arg6989586621679396126 :: a6989586621679396020) (arg6989586621679396127 :: a6989586621679396020) = (>) arg6989586621679396126 arg6989586621679396127
data (>=@#@$) :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 Bool)
infix 4 >=@#@$
data (>=@#@$$) (arg6989586621679396130 :: a6989586621679396020) :: (~>) a6989586621679396020 Bool
infix 4 >=@#@$$
type (>=@#@$$$) (arg6989586621679396130 :: a6989586621679396020) (arg6989586621679396131 :: a6989586621679396020) = (>=) arg6989586621679396130 arg6989586621679396131
data MaxSym0 :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 a6989586621679396020)
data MaxSym1 (arg6989586621679396134 :: a6989586621679396020) :: (~>) a6989586621679396020 a6989586621679396020
type MaxSym2 (arg6989586621679396134 :: a6989586621679396020) (arg6989586621679396135 :: a6989586621679396020) = Max arg6989586621679396134 arg6989586621679396135
data MinSym0 :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 a6989586621679396020)
data MinSym1 (arg6989586621679396138 :: a6989586621679396020) :: (~>) a6989586621679396020 a6989586621679396020
type MinSym2 (arg6989586621679396138 :: a6989586621679396020) (arg6989586621679396139 :: a6989586621679396020) = Min arg6989586621679396138 arg6989586621679396139
data ComparingSym0 :: forall a6989586621679396009 b6989586621679396010. (~>) ((~>) b6989586621679396010 a6989586621679396009) ((~>) b6989586621679396010 ((~>) b6989586621679396010 Ordering))
data ComparingSym1 (a6989586621679396105 :: (~>) b6989586621679396010 a6989586621679396009) :: (~>) b6989586621679396010 ((~>) b6989586621679396010 Ordering)
data ComparingSym2 (a6989586621679396105 :: (~>) b6989586621679396010 a6989586621679396009) (a6989586621679396106 :: b6989586621679396010) :: (~>) b6989586621679396010 Ordering
type ComparingSym3 (a6989586621679396105 :: (~>) b6989586621679396010 a6989586621679396009) (a6989586621679396106 :: b6989586621679396010) (a6989586621679396107 :: b6989586621679396010) = Comparing a6989586621679396105 a6989586621679396106 a6989586621679396107
data DownSym0 :: forall (a6989586621679093007 :: Type). (~>) a6989586621679093007 (Down (a6989586621679093007 :: Type))
type DownSym1 (t6989586621679405207 :: a6989586621679093007) =  'Down t6989586621679405207
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679407442Sym0
instance Data.Singletons.Prelude.Ord.POrd ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679407442Sym1 a6989586621679407440)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679407432Sym0
instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679407432Sym1 a6989586621679407430)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679407422Sym0
instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679407422Sym1 a6989586621679407420)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679407410Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Functor.Identity.Identity a)
instance forall a6989586621679087254 (a6989586621679407408 :: Data.Functor.Identity.Identity a6989586621679087254). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679407410Sym1 a6989586621679407408)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679407377Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f, g)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 e3530822107858468869 f3530822107858468870 g3530822107858468871 (a6989586621679407375 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679407377Sym1 a6989586621679407375)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679407292Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 e3530822107858468869 f3530822107858468870 (a6989586621679407290 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679407292Sym1 a6989586621679407290)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679407218Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 e3530822107858468869 (a6989586621679407216 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679407218Sym1 a6989586621679407216)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679407155Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 (a6989586621679407153 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679407155Sym1 a6989586621679407153)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679407103Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 (a6989586621679407101 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679407103Sym1 a6989586621679407101)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679407062Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b)
instance forall a3530822107858468865 b3530822107858468866 (a6989586621679407060 :: (a3530822107858468865, b3530822107858468866)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679407062Sym1 a6989586621679407060)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679407034Sym0
instance Data.Singletons.Prelude.Ord.POrd Data.Void.Void
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679407034Sym1 a6989586621679407032)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679407020Sym0
instance Data.Singletons.Prelude.Ord.POrd (GHC.Base.NonEmpty a)
instance forall a6989586621679070501 (a6989586621679407018 :: GHC.Base.NonEmpty a6989586621679070501). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679407020Sym1 a6989586621679407018)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679406991Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Either.Either a b)
instance forall a6989586621679089505 b6989586621679089506 (a6989586621679406989 :: Data.Either.Either a6989586621679089505 b6989586621679089506). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679406991Sym1 a6989586621679406989)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679406945Sym0
instance Data.Singletons.Prelude.Ord.POrd [a]
instance forall a3530822107858468865 (a6989586621679406943 :: [a3530822107858468865]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679406945Sym1 a6989586621679406943)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679406911Sym0
instance Data.Singletons.Prelude.Ord.POrd (GHC.Maybe.Maybe a)
instance forall a3530822107858468865 (a6989586621679406909 :: GHC.Maybe.Maybe a3530822107858468865). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679406911Sym1 a6989586621679406909)
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Prelude.Ord.SOrd (GHC.Maybe.Maybe a)
instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Ord.SOrd [a]) => Data.Singletons.Prelude.Ord.SOrd [a]
instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Ord.SOrd b) => Data.Singletons.Prelude.Ord.SOrd (Data.Either.Either a b)
instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Ord.SOrd [a]) => Data.Singletons.Prelude.Ord.SOrd (GHC.Base.NonEmpty a)
instance Data.Singletons.Prelude.Ord.SOrd Data.Void.Void
instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Ord.SOrd b) => Data.Singletons.Prelude.Ord.SOrd (a, b)
instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Ord.SOrd b, Data.Singletons.Prelude.Ord.SOrd c) => Data.Singletons.Prelude.Ord.SOrd (a, b, c)
instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Ord.SOrd b, Data.Singletons.Prelude.Ord.SOrd c, Data.Singletons.Prelude.Ord.SOrd d) => Data.Singletons.Prelude.Ord.SOrd (a, b, c, d)
instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Ord.SOrd b, Data.Singletons.Prelude.Ord.SOrd c, Data.Singletons.Prelude.Ord.SOrd d, Data.Singletons.Prelude.Ord.SOrd e) => Data.Singletons.Prelude.Ord.SOrd (a, b, c, d, e)
instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Ord.SOrd b, Data.Singletons.Prelude.Ord.SOrd c, Data.Singletons.Prelude.Ord.SOrd d, Data.Singletons.Prelude.Ord.SOrd e, Data.Singletons.Prelude.Ord.SOrd f) => Data.Singletons.Prelude.Ord.SOrd (a, b, c, d, e, f)
instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Ord.SOrd b, Data.Singletons.Prelude.Ord.SOrd c, Data.Singletons.Prelude.Ord.SOrd d, Data.Singletons.Prelude.Ord.SOrd e, Data.Singletons.Prelude.Ord.SOrd f, Data.Singletons.Prelude.Ord.SOrd g) => Data.Singletons.Prelude.Ord.SOrd (a, b, c, d, e, f, g)
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Prelude.Ord.SOrd (Data.Functor.Identity.Identity a)
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.Internal.SingI Data.Singletons.Prelude.Ord.ThenCmpSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.ThenCmpSym1 a6989586621679406525)
instance Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Ord.ThenCmpSym1 d)
instance Data.Singletons.Prelude.Eq.PEq (Data.Ord.Down a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679405720Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Ord.Down a)
instance forall a6989586621679405692 (a6989586621679405718 :: Data.Ord.Down a6989586621679405692). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679405720Sym1 a6989586621679405718)
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Prelude.Ord.SOrd (Data.Ord.Down a)
instance Data.Singletons.Prelude.Eq.SEq a => Data.Singletons.Prelude.Eq.SEq (Data.Ord.Down a)
instance Data.Singletons.Decide.SDecide a => Data.Singletons.Decide.SDecide (Data.Ord.Down a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.DownSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Ord.DownSym0
instance Data.Singletons.Internal.SingKind a => Data.Singletons.Internal.SingKind (Data.Ord.Down a)
instance forall a (n :: a). Data.Singletons.Internal.SingI n => Data.Singletons.Internal.SingI ('Data.Ord.Down n)
instance Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon1 'Data.Ord.Down)
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Ord.ComparingSym0
instance forall b a (d :: b Data.Singletons.Internal.~> a). (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Ord.ComparingSym1 d)
instance forall b a (d1 :: b Data.Singletons.Internal.~> a) (d2 :: b). (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Ord.ComparingSym2 d1 d2)
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Ord.CompareSym0
instance forall a (d :: a). (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Ord.CompareSym1 d)
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Ord.<@#@$)
instance forall a (d :: a). (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Ord.<@#@$$) d)
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Ord.<=@#@$)
instance forall a (d :: a). (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Ord.<=@#@$$) d)
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Ord.>@#@$)
instance forall a (d :: a). (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Ord.>@#@$$) d)
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Ord.>=@#@$)
instance forall a (d :: a). (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Ord.>=@#@$$) d)
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Ord.MaxSym0
instance forall a (d :: a). (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Ord.MaxSym1 d)
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Ord.MinSym0
instance forall a (d :: a). (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Ord.MinSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.ComparingSym0
instance forall b6989586621679396010 a6989586621679396009 (a6989586621679396105 :: b6989586621679396010 Data.Singletons.Internal.~> a6989586621679396009). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.ComparingSym1 a6989586621679396105)
instance forall b6989586621679396010 a6989586621679396009 (a6989586621679396106 :: b6989586621679396010 Data.Singletons.Internal.~> a6989586621679396009) (a6989586621679396105 :: b6989586621679396010). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.ComparingSym2 a6989586621679396106 a6989586621679396105)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679396172Scrutinee_6989586621679396042Sym0
instance forall k1 (x6989586621679396170 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679396172Scrutinee_6989586621679396042Sym1 x6989586621679396170)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679396190Scrutinee_6989586621679396044Sym0
instance forall k1 (x6989586621679396188 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679396190Scrutinee_6989586621679396044Sym1 x6989586621679396188)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679396208Scrutinee_6989586621679396046Sym0
instance forall k1 (x6989586621679396206 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679396208Scrutinee_6989586621679396046Sym1 x6989586621679396206)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679396226Scrutinee_6989586621679396048Sym0
instance forall k1 (x6989586621679396224 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679396226Scrutinee_6989586621679396048Sym1 x6989586621679396224)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.<@#@$)
instance forall a6989586621679396020 (arg6989586621679396118 :: a6989586621679396020). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.<@#@$$) arg6989586621679396118)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679396153Scrutinee_6989586621679396040Sym0
instance forall k1 (x6989586621679396146 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679396153Scrutinee_6989586621679396040Sym1 x6989586621679396146)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679396244Scrutinee_6989586621679396050Sym0
instance forall k1 (x6989586621679396242 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679396244Scrutinee_6989586621679396050Sym1 x6989586621679396242)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679396262Scrutinee_6989586621679396052Sym0
instance forall k1 (x6989586621679396260 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679396262Scrutinee_6989586621679396052Sym1 x6989586621679396260)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.>@#@$)
instance forall a6989586621679396020 (arg6989586621679396126 :: a6989586621679396020). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.>@#@$$) arg6989586621679396126)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.>=@#@$)
instance forall a6989586621679396020 (arg6989586621679396130 :: a6989586621679396020). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.>=@#@$$) arg6989586621679396130)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.MaxSym0
instance forall a6989586621679396020 (arg6989586621679396134 :: a6989586621679396020). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.MaxSym1 arg6989586621679396134)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.MinSym0
instance forall a6989586621679396020 (arg6989586621679396138 :: a6989586621679396020). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.MinSym1 arg6989586621679396138)
instance forall a6989586621679396020 (arg6989586621679396114 :: a6989586621679396020). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.CompareSym1 arg6989586621679396114)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.CompareSym0
instance forall a6989586621679396020 (arg6989586621679396122 :: a6989586621679396020). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.<=@#@$$) arg6989586621679396122)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.<=@#@$)
instance forall a6989586621679396020 (a6989586621679396160 :: a6989586621679396020). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679396162Sym1 a6989586621679396160)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679396162Sym0
instance forall a6989586621679396020 (a6989586621679396178 :: a6989586621679396020). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679396180Sym1 a6989586621679396178)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679396180Sym0
instance forall a6989586621679396020 (a6989586621679396196 :: a6989586621679396020). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679396198Sym1 a6989586621679396196)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679396198Sym0
instance forall a6989586621679396020 (a6989586621679396214 :: a6989586621679396020). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679396216Sym1 a6989586621679396214)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679396216Sym0
instance forall a6989586621679396020 (a6989586621679396232 :: a6989586621679396020). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679396234Sym1 a6989586621679396232)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679396234Sym0
instance forall a6989586621679396020 (a6989586621679396250 :: a6989586621679396020). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Max_6989586621679396252Sym1 a6989586621679396250)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Max_6989586621679396252Sym0
instance forall a6989586621679396020 (a6989586621679396268 :: a6989586621679396020). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Min_6989586621679396270Sym1 a6989586621679396268)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Min_6989586621679396270Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679396148Scrutinee_6989586621679396038Sym0
instance forall k1 (x6989586621679396146 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679396148Scrutinee_6989586621679396038Sym1 x6989586621679396146)


-- | Defines the class <a>ShowSing</a> type synonym, which is useful for
--   defining <a>Show</a> instances for singleton types.
module Data.Singletons.ShowSing

-- | In addition to the promoted and singled versions of the <a>Show</a>
--   class that <tt>singletons</tt> provides, it is also useful to be able
--   to directly define <a>Show</a> instances for singleton types
--   themselves. Doing so is almost entirely straightforward, as a derived
--   <a>Show</a> instance does 90 percent of the work. The last 10
--   percent—getting the right instance context—is a bit tricky, and that's
--   where <a>ShowSing</a> comes into play.
--   
--   As an example, let's consider the singleton type for lists. We want to
--   write an instance with the following shape:
--   
--   <pre>
--   deriving instance ??? =&gt; Show (Sing (x :: [k]))
--   </pre>
--   
--   To figure out what should go in place of <tt>???</tt>, observe that we
--   require the type of each field to also be <a>Show</a> instances. In
--   other words, we need something like <tt>(Show (Sing (a :: k)))</tt>.
--   But this isn't quite right, as the type variable <tt>a</tt> doesn't
--   appear in the instance head. In fact, this <tt>a</tt> type is really
--   referring to an existentially quantified type variable in the
--   <a>SCons</a> constructor, so it doesn't make sense to try and use it
--   like this.
--   
--   Luckily, the <tt>QuantifiedConstraints</tt> language extension
--   provides a solution to this problem. This lets you write a context of
--   the form <tt>(forall a. Show (Sing (a :: k)))</tt>, which demands that
--   there be an instance for <tt>Show (Sing (a :: k))</tt> that is
--   parametric in the use of <tt>a</tt>. Thus, our final instance looks
--   like:
--   
--   <pre>
--   deriving instance (forall a. Show (Sing (a :: k))) =&gt; Show (Sing (x :: [k]))
--   </pre>
--   
--   Because that quantified constraint is somewhat lengthy, we provide the
--   <a>ShowSing</a> class synonym as a convenient shorthand. Thus, the
--   above instance is equivalent to:
--   
--   <pre>
--   deriving instance ShowSing k =&gt; Show (Sing (x :: [k]))
--   </pre>
--   
--   When singling a derived <a>Show</a> instance, <tt>singletons</tt> will
--   also derive a <a>Show</a> instance for the corresponding singleton
--   type using <a>ShowSing</a>. In other words, if you give
--   <tt>singletons</tt> a derived <a>Show</a> instance, then you'll
--   receive the following in return:
--   
--   <ul>
--   <li>A promoted (<tt>PShow</tt>) instance</li>
--   <li>A singled (<tt>SShow</tt>) instance</li>
--   <li>A <a>Show</a> instance for the singleton type</li>
--   </ul>
--   
--   What a bargain!
class (forall (z :: k). Show (Sing z)) => ShowSing k
instance forall a (z :: GHC.Maybe.Maybe a). Data.Singletons.ShowSing.ShowSing a => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance forall a (z :: [a]). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing [a]) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance forall a b (z :: Data.Either.Either a b). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance forall a (z :: GHC.Base.NonEmpty a). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing [a]) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance forall a b (z :: (a, b)). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance forall a b c (z :: (a, b, c)). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b, Data.Singletons.ShowSing.ShowSing c) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance forall a b c d (z :: (a, b, c, d)). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b, Data.Singletons.ShowSing.ShowSing c, Data.Singletons.ShowSing.ShowSing d) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance forall a b c d e (z :: (a, b, c, d, e)). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b, Data.Singletons.ShowSing.ShowSing c, Data.Singletons.ShowSing.ShowSing d, Data.Singletons.ShowSing.ShowSing e) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance forall a b c d e f (z :: (a, b, c, d, e, f)). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b, Data.Singletons.ShowSing.ShowSing c, Data.Singletons.ShowSing.ShowSing d, Data.Singletons.ShowSing.ShowSing e, Data.Singletons.ShowSing.ShowSing f) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance forall a b c d e f g (z :: (a, b, c, d, e, f, g)). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b, Data.Singletons.ShowSing.ShowSing c, Data.Singletons.ShowSing.ShowSing d, Data.Singletons.ShowSing.ShowSing e, Data.Singletons.ShowSing.ShowSing f, Data.Singletons.ShowSing.ShowSing g) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance forall a (z :: Data.Functor.Identity.Identity a). Data.Singletons.ShowSing.ShowSing a => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance (forall (z :: k). GHC.Show.Show (Data.Singletons.Internal.Sing z)) => Data.Singletons.ShowSing.ShowSing k
instance GHC.Show.Show (Data.Singletons.TypeLits.Internal.SNat n)
instance GHC.Show.Show (Data.Singletons.TypeLits.Internal.SSymbol s)


-- | 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.
data family Sing :: k -> Type

-- | 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.
type family Error (str :: k0) :: k

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

-- | The promotion of <a>errorWithoutStackTrace</a>. This version is more
--   poly-kinded for easier use.
type family ErrorWithoutStackTrace (str :: k0) :: k

-- | The singleton for <a>errorWithoutStackTrace</a>.
sErrorWithoutStackTrace :: Sing (str :: Symbol) -> a

-- | The promotion of <a>undefined</a>.
type family Undefined :: k

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

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

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

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

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

-- | Exponentiation of type-level naturals.
type family (^) (a :: Nat) (b :: Nat) :: Nat
infixr 8 ^

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

-- | Comparison of type-level naturals, as a function. NOTE: The
--   functionality for this function should be subsumed by <a>CmpNat</a>,
--   so this might go away in the future. Please let us know, if you
--   encounter discrepancies between the two.
type family (<=?) (a :: Nat) (b :: Nat) :: Bool
infix 4 <=?

-- | The singleton analogue of <a>&lt;=?</a>
--   
--   Note that, because of historical reasons in GHC's <a>Nat</a> API,
--   <a>&lt;=?</a> is incompatible (unification-wise) with <a>&lt;=</a> and
--   the <a>PEq</a>, <a>SEq</a>, <a>POrd</a>, and <a>SOrd</a> instances for
--   <a>Nat</a>. <tt>(a <a>&lt;=?</a> b) ~ 'True</tt> does not imply
--   anything about <tt>a <a>&lt;=</a> b</tt> or any other <a>PEq</a> /
--   <a>POrd</a> relationships.
--   
--   (Be aware that <a>&lt;=</a> in the paragraph above refers to
--   <a>&lt;=</a> from the <a>POrd</a> typeclass, exported from
--   <a>Data.Singletons.Prelude.Ord</a>, and <i>not</i> the <a>&lt;=</a>
--   from <a>GHC.TypeNats</a>. The latter is simply a type alias for <tt>(a
--   <a>&lt;=?</a> b) ~ 'True</tt>.)
--   
--   This is provided here for the sake of completeness and for
--   compatibility with libraries with APIs built around <a>&lt;=?</a>. New
--   code should use <a>CmpNat</a>, exposed through this library through
--   the <a>POrd</a> and <a>SOrd</a> instances for <a>Nat</a>.
(%<=?) :: Sing a -> Sing b -> Sing (a <=? b)
infix 4 %<=?

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

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

-- | Modulus of natural numbers. <tt>Mod x 0</tt> is undefined (i.e., it
--   cannot be reduced).
type family Mod (a :: Nat) (b :: Nat) :: Nat
infixl 7 `Mod`
sMod :: Sing x -> Sing y -> Sing (Mod x y)
infixl 7 `sMod`
type family DivMod (a_a24L1 :: Nat) (a_a24L2 :: Nat) :: (Nat, Nat)
sDivMod :: Sing x -> Sing y -> Sing (DivMod x y)
type family Quot (a_a24KV :: Nat) (a_a24KW :: Nat) :: Nat
infixl 7 `Quot`
sQuot :: Sing x -> Sing y -> Sing (Quot x y)
infixl 7 `sQuot`
type family Rem (a_a24KL :: Nat) (a_a24KM :: Nat) :: Nat
infixl 7 `Rem`
sRem :: Sing x -> Sing y -> Sing (Rem x y)
infixl 7 `sRem`
type family QuotRem (a_a24Lb :: Nat) (a_a24Lc :: Nat) :: (Nat, Nat)
sQuotRem :: Sing x -> Sing y -> Sing (QuotRem x y)
data ErrorSym0 :: forall k06989586621679484372 k6989586621679484371. (~>) k06989586621679484372 k6989586621679484371
type ErrorSym1 (str6989586621679484373 :: k06989586621679484372) = Error str6989586621679484373
data ErrorWithoutStackTraceSym0 :: forall k06989586621679485422 k6989586621679485421. (~>) k06989586621679485422 k6989586621679485421
type ErrorWithoutStackTraceSym1 (str6989586621679485423 :: k06989586621679485422) = ErrorWithoutStackTrace str6989586621679485423
type UndefinedSym0 = Undefined
data KnownNatSym0 :: (~>) Nat Constraint
type KnownNatSym1 (n6989586621679484627 :: Nat) = KnownNat n6989586621679484627
data KnownSymbolSym0 :: (~>) Symbol Constraint
type KnownSymbolSym1 (n6989586621679484567 :: Symbol) = KnownSymbol n6989586621679484567
data (^@#@$) :: (~>) Nat ((~>) Nat Nat)
infixr 8 ^@#@$
data (^@#@$$) (a3530822107858468865 :: Nat) :: (~>) Nat Nat
infixr 8 ^@#@$$
type (^@#@$$$) (a3530822107858468865 :: Nat) (b3530822107858468866 :: Nat) = (^) a3530822107858468865 b3530822107858468866
data (<=?@#@$) :: (~>) Nat ((~>) Nat Bool)
infix 4 <=?@#@$
data (<=?@#@$$) (a3530822107858468865 :: Nat) :: (~>) Nat Bool
infix 4 <=?@#@$$
type (<=?@#@$$$) (a3530822107858468865 :: Nat) (b3530822107858468866 :: Nat) = (<=?) a3530822107858468865 b3530822107858468866
data Log2Sym0 :: (~>) Nat Nat
type Log2Sym1 (a3530822107858468865 :: Nat) = Log2 a3530822107858468865
data DivSym0 :: (~>) Nat ((~>) Nat Nat)
infixl 7 `DivSym0`
data DivSym1 (a3530822107858468865 :: Nat) :: (~>) Nat Nat
infixl 7 `DivSym1`
type DivSym2 (a3530822107858468865 :: Nat) (b3530822107858468866 :: Nat) = Div a3530822107858468865 b3530822107858468866
data ModSym0 :: (~>) Nat ((~>) Nat Nat)
infixl 7 `ModSym0`
data ModSym1 (a3530822107858468865 :: Nat) :: (~>) Nat Nat
infixl 7 `ModSym1`
type ModSym2 (a3530822107858468865 :: Nat) (b3530822107858468866 :: Nat) = Mod a3530822107858468865 b3530822107858468866
data DivModSym0 :: (~>) Nat ((~>) Nat (Nat, Nat))
data DivModSym1 (a6989586621679504739 :: Nat) :: (~>) Nat (Nat, Nat)
type DivModSym2 (a6989586621679504739 :: Nat) (a6989586621679504740 :: Nat) = DivMod a6989586621679504739 a6989586621679504740
data QuotSym0 :: (~>) Nat ((~>) Nat Nat)
infixl 7 `QuotSym0`
data QuotSym1 (a6989586621679504733 :: Nat) :: (~>) Nat Nat
infixl 7 `QuotSym1`
type QuotSym2 (a6989586621679504733 :: Nat) (a6989586621679504734 :: Nat) = Quot a6989586621679504733 a6989586621679504734
data RemSym0 :: (~>) Nat ((~>) Nat Nat)
infixl 7 `RemSym0`
data RemSym1 (a6989586621679504723 :: Nat) :: (~>) Nat Nat
infixl 7 `RemSym1`
type RemSym2 (a6989586621679504723 :: Nat) (a6989586621679504724 :: Nat) = Rem a6989586621679504723 a6989586621679504724
data QuotRemSym0 :: (~>) Nat ((~>) Nat (Nat, Nat))
data QuotRemSym1 (a6989586621679504749 :: Nat) :: (~>) Nat (Nat, Nat)
type QuotRemSym2 (a6989586621679504749 :: Nat) (a6989586621679504750 :: Nat) = QuotRem a6989586621679504749 a6989586621679504750
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.QuotRemSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.QuotRemSym1 a6989586621679504749)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.DivModSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.DivModSym1 a6989586621679504739)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.QuotSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.QuotSym1 a6989586621679504733)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.RemSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.RemSym1 a6989586621679504723)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.ModSym0
instance Data.Singletons.Internal.SingI Data.Singletons.TypeLits.ModSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.ModSym1 a3530822107858468865)
instance Data.Singletons.Internal.SingI x => Data.Singletons.Internal.SingI (Data.Singletons.TypeLits.ModSym1 x)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.DivSym0
instance Data.Singletons.Internal.SingI Data.Singletons.TypeLits.DivSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.DivSym1 a3530822107858468865)
instance Data.Singletons.Internal.SingI x => Data.Singletons.Internal.SingI (Data.Singletons.TypeLits.DivSym1 x)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.Log2Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.TypeLits.Log2Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.KnownSymbolSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.KnownNatSym0
instance GHC.Num.Num GHC.Types.Nat
instance GHC.Classes.Eq GHC.Types.Nat
instance GHC.Classes.Ord GHC.Types.Nat
instance GHC.Enum.Enum GHC.Types.Nat
instance GHC.Show.Show GHC.Types.Nat
instance GHC.Classes.Eq GHC.Types.Symbol
instance GHC.Classes.Ord GHC.Types.Symbol
instance Data.String.IsString GHC.Types.Symbol
instance GHC.Base.Semigroup GHC.Types.Symbol
instance GHC.Base.Monoid GHC.Types.Symbol
instance GHC.Show.Show GHC.Types.Symbol


-- | Defines functions and datatypes relating to the singleton for
--   <a>Maybe</a>, including a singletons version of all the definitions in
--   <tt>Data.Maybe</tt>.
--   
--   Because many of these definitions are produced by Template Haskell, it
--   is not possible to create proper Haddock documentation. Please look up
--   the corresponding operation in <tt>Data.Maybe</tt>. Also, please
--   excuse the apparent repeated variable names. This is due to an
--   interaction between Template Haskell and Haddock.
module Data.Singletons.Prelude.Maybe

-- | The singleton kind-indexed data family.
data family Sing :: k -> Type
type SMaybe = (Sing :: Maybe a_11 -> Type)
maybe_ :: b_a26yc -> (a_a26yd -> b_a26yc) -> Maybe a_a26yd -> b_a26yc
type family Maybe_ (a_a26yu :: b_a26yc) (a_a26yv :: (~>) a_a26yd b_a26yc) (a_a26yw :: Maybe a_a26yd) :: b_a26yc
sMaybe_ :: forall b_a26yc a_a26yd (t_a26yD :: b_a26yc) (t_a26yE :: (~>) a_a26yd b_a26yc) (t_a26yF :: Maybe a_a26yd). Sing t_a26yD -> Sing t_a26yE -> Sing t_a26yF -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a26yD) t_a26yE) t_a26yF :: b_a26yc)
type family IsJust (a_a26Yy :: Maybe a_a26Vg) :: Bool
sIsJust :: forall a_a26Vg (t_a26YS :: Maybe a_a26Vg). Sing t_a26YS -> Sing (Apply IsJustSym0 t_a26YS :: Bool)
type family IsNothing (a_a26Yw :: Maybe a_a26Vf) :: Bool
sIsNothing :: forall a_a26Vf (t_a26YQ :: Maybe a_a26Vf). Sing t_a26YQ -> Sing (Apply IsNothingSym0 t_a26YQ :: Bool)
type family FromJust (a_a26Yt :: Maybe a_a26Ve) :: a_a26Ve
sFromJust :: forall a_a26Ve (t_a26YO :: Maybe a_a26Ve). Sing t_a26YO -> Sing (Apply FromJustSym0 t_a26YO :: a_a26Ve)
type family FromMaybe (a_a26Yj :: a_a26Vd) (a_a26Yk :: Maybe a_a26Vd) :: a_a26Vd
sFromMaybe :: forall a_a26Vd (t_a26YK :: a_a26Vd) (t_a26YL :: Maybe a_a26Vd). Sing t_a26YK -> Sing t_a26YL -> Sing (Apply (Apply FromMaybeSym0 t_a26YK) t_a26YL :: a_a26Vd)
type family ListToMaybe (a_a26Yd :: [a_a26Vb]) :: Maybe a_a26Vb
sListToMaybe :: forall a_a26Vb (t_a26YG :: [a_a26Vb]). Sing t_a26YG -> Sing (Apply ListToMaybeSym0 t_a26YG :: Maybe a_a26Vb)
type family MaybeToList (a_a26Yg :: Maybe a_a26Vc) :: [a_a26Vc]
sMaybeToList :: forall a_a26Vc (t_a26YI :: Maybe a_a26Vc). Sing t_a26YI -> Sing (Apply MaybeToListSym0 t_a26YI :: [a_a26Vc])
type family CatMaybes (a_a26Y8 :: [Maybe a_a26Va]) :: [a_a26Va]
sCatMaybes :: forall a_a26Va (t_a26YE :: [Maybe a_a26Va]). Sing t_a26YE -> Sing (Apply CatMaybesSym0 t_a26YE :: [a_a26Va])
type family MapMaybe (a_a26XP :: (~>) a_a26V8 (Maybe b_a26V9)) (a_a26XQ :: [a_a26V8]) :: [b_a26V9]
sMapMaybe :: forall a_a26V8 b_a26V9 (t_a26YA :: (~>) a_a26V8 (Maybe b_a26V9)) (t_a26YB :: [a_a26V8]). Sing t_a26YA -> Sing t_a26YB -> Sing (Apply (Apply MapMaybeSym0 t_a26YA) t_a26YB :: [b_a26V9])
type NothingSym0 =  'Nothing
data JustSym0 :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 (Maybe (a3530822107858468865 :: Type))
type JustSym1 (t6989586621679312418 :: a3530822107858468865) =  'Just t6989586621679312418
data Maybe_Sym0 :: forall a6989586621679511633 b6989586621679511632. (~>) b6989586621679511632 ((~>) ((~>) a6989586621679511633 b6989586621679511632) ((~>) (Maybe a6989586621679511633) b6989586621679511632))
data Maybe_Sym1 (a6989586621679511650 :: b6989586621679511632) :: forall a6989586621679511633. (~>) ((~>) a6989586621679511633 b6989586621679511632) ((~>) (Maybe a6989586621679511633) b6989586621679511632)
data Maybe_Sym2 (a6989586621679511650 :: b6989586621679511632) (a6989586621679511651 :: (~>) a6989586621679511633 b6989586621679511632) :: (~>) (Maybe a6989586621679511633) b6989586621679511632
type Maybe_Sym3 (a6989586621679511650 :: b6989586621679511632) (a6989586621679511651 :: (~>) a6989586621679511633 b6989586621679511632) (a6989586621679511652 :: Maybe a6989586621679511633) = Maybe_ a6989586621679511650 a6989586621679511651 a6989586621679511652
data IsJustSym0 :: forall a6989586621679513062. (~>) (Maybe a6989586621679513062) Bool
type IsJustSym1 (a6989586621679513266 :: Maybe a6989586621679513062) = IsJust a6989586621679513266
data IsNothingSym0 :: forall a6989586621679513061. (~>) (Maybe a6989586621679513061) Bool
type IsNothingSym1 (a6989586621679513264 :: Maybe a6989586621679513061) = IsNothing a6989586621679513264
data FromJustSym0 :: forall a6989586621679513060. (~>) (Maybe a6989586621679513060) a6989586621679513060
type FromJustSym1 (a6989586621679513261 :: Maybe a6989586621679513060) = FromJust a6989586621679513261
data FromMaybeSym0 :: forall a6989586621679513059. (~>) a6989586621679513059 ((~>) (Maybe a6989586621679513059) a6989586621679513059)
data FromMaybeSym1 (a6989586621679513251 :: a6989586621679513059) :: (~>) (Maybe a6989586621679513059) a6989586621679513059
type FromMaybeSym2 (a6989586621679513251 :: a6989586621679513059) (a6989586621679513252 :: Maybe a6989586621679513059) = FromMaybe a6989586621679513251 a6989586621679513252
data ListToMaybeSym0 :: forall a6989586621679513057. (~>) [a6989586621679513057] (Maybe a6989586621679513057)
type ListToMaybeSym1 (a6989586621679513245 :: [a6989586621679513057]) = ListToMaybe a6989586621679513245
data MaybeToListSym0 :: forall a6989586621679513058. (~>) (Maybe a6989586621679513058) [a6989586621679513058]
type MaybeToListSym1 (a6989586621679513248 :: Maybe a6989586621679513058) = MaybeToList a6989586621679513248
data CatMaybesSym0 :: forall a6989586621679513056. (~>) [Maybe a6989586621679513056] [a6989586621679513056]
type CatMaybesSym1 (a6989586621679513240 :: [Maybe a6989586621679513056]) = CatMaybes a6989586621679513240
data MapMaybeSym0 :: forall a6989586621679513054 b6989586621679513055. (~>) ((~>) a6989586621679513054 (Maybe b6989586621679513055)) ((~>) [a6989586621679513054] [b6989586621679513055])
data MapMaybeSym1 (a6989586621679513221 :: (~>) a6989586621679513054 (Maybe b6989586621679513055)) :: (~>) [a6989586621679513054] [b6989586621679513055]
type MapMaybeSym2 (a6989586621679513221 :: (~>) a6989586621679513054 (Maybe b6989586621679513055)) (a6989586621679513222 :: [a6989586621679513054]) = MapMaybe a6989586621679513221 a6989586621679513222
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.IsJustSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Maybe.IsJustSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.IsNothingSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Maybe.IsNothingSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.FromJustSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Maybe.FromJustSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.FromMaybeSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Maybe.FromMaybeSym0
instance forall a6989586621679513059 (a6989586621679513251 :: a6989586621679513059). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.FromMaybeSym1 a6989586621679513251)
instance forall a (d :: a). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Maybe.FromMaybeSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.MaybeToListSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Maybe.MaybeToListSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.ListToMaybeSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Maybe.ListToMaybeSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.CatMaybesSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Maybe.CatMaybesSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679513228RsSym0
instance forall k a6989586621679513054 k1 (f6989586621679513225 :: a6989586621679513054 Data.Singletons.Internal.~> GHC.Maybe.Maybe k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679513228RsSym1 f6989586621679513225)
instance forall k a6989586621679513054 k1 (x6989586621679513226 :: a6989586621679513054 Data.Singletons.Internal.~> GHC.Maybe.Maybe k1) (f6989586621679513225 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679513228RsSym2 x6989586621679513226 f6989586621679513225)
instance forall a6989586621679513054 b6989586621679513055 (a6989586621679513221 :: a6989586621679513054 Data.Singletons.Internal.~> GHC.Maybe.Maybe b6989586621679513055). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.MapMaybeSym1 a6989586621679513221)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.MapMaybeSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Maybe.MapMaybeSym0
instance forall a b (d :: a Data.Singletons.Internal.~> GHC.Maybe.Maybe b). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Maybe.MapMaybeSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Let6989586621679513232Scrutinee_6989586621679513089Sym0
instance forall k1 k2 k3 (f6989586621679513225 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679513232Scrutinee_6989586621679513089Sym1 f6989586621679513225)
instance forall k1 k2 k3 (x6989586621679513226 :: k2 Data.Singletons.Internal.~> k3) (f6989586621679513225 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679513232Scrutinee_6989586621679513089Sym2 x6989586621679513226 f6989586621679513225)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Maybe_Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Maybe.Maybe_Sym0
instance forall a6989586621679511633 b6989586621679511632 (a6989586621679511650 :: b6989586621679511632). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Maybe_Sym1 a6989586621679511650)
instance forall b a (d :: b). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Maybe.Maybe_Sym1 d)
instance forall a6989586621679511633 b6989586621679511632 (a6989586621679511651 :: b6989586621679511632) (a6989586621679511650 :: a6989586621679511633 Data.Singletons.Internal.~> b6989586621679511632). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Maybe_Sym2 a6989586621679511651 a6989586621679511650)
instance forall b a (d1 :: b) (d2 :: a Data.Singletons.Internal.~> b). (Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Maybe.Maybe_Sym2 d1 d2)


-- | Defines and exports promoted and singleton versions of definitions
--   from GHC.Num.
--   
--   Be warned that some of the associated type families in the <a>PNum</a>
--   class (<tt>(+)</tt>, <tt>(-)</tt>, and <tt>(*)</tt>) clash with their
--   counterparts for <a>Nat</a> in the <a>GHC.TypeLits</a> module.
module Data.Singletons.Prelude.Num
class PNum (a_a29DA :: Type) where {
    type family (+) (arg_a29DU :: a_a29DA) (arg_a29DV :: a_a29DA) :: a_a29DA;
    type family (-) (arg_a29DY :: a_a29DA) (arg_a29DZ :: a_a29DA) :: a_a29DA;
    type family (*) (arg_a29E2 :: a_a29DA) (arg_a29E3 :: a_a29DA) :: a_a29DA;
    type family Negate (arg_a29E6 :: a_a29DA) :: a_a29DA;
    type family Abs (arg_a29E8 :: a_a29DA) :: a_a29DA;
    type family Signum (arg_a29Ea :: a_a29DA) :: a_a29DA;
    type family FromInteger (arg_a29Ec :: Nat) :: a_a29DA;
    type (-) a_a29Ek a_a29El = Apply (Apply TFHelper_6989586621679523546Sym0 a_a29Ek) a_a29El;
    type Negate a_a29Et = Apply Negate_6989586621679523554Sym0 a_a29Et;
}
infixl 6 +
infixl 7 *
infixl 6 -
class SNum a_a29DA
(%+) :: forall (t_a29FS :: a_a29DA) (t_a29FT :: a_a29DA). SNum a_a29DA => Sing t_a29FS -> Sing t_a29FT -> Sing (Apply (Apply (+@#@$) t_a29FS) t_a29FT :: a_a29DA)
(%-) :: forall (t_a29FW :: a_a29DA) (t_a29FX :: a_a29DA). SNum a_a29DA => Sing t_a29FW -> Sing t_a29FX -> Sing (Apply (Apply (-@#@$) t_a29FW) t_a29FX :: a_a29DA)
(%*) :: forall (t_a29G0 :: a_a29DA) (t_a29G1 :: a_a29DA). SNum a_a29DA => Sing t_a29G0 -> Sing t_a29G1 -> Sing (Apply (Apply (*@#@$) t_a29G0) t_a29G1 :: a_a29DA)
sNegate :: forall (t_a29G4 :: a_a29DA). SNum a_a29DA => Sing t_a29G4 -> Sing (Apply NegateSym0 t_a29G4 :: a_a29DA)
sAbs :: forall (t_a29G6 :: a_a29DA). SNum a_a29DA => Sing t_a29G6 -> Sing (Apply AbsSym0 t_a29G6 :: a_a29DA)
sSignum :: forall (t_a29G8 :: a_a29DA). SNum a_a29DA => Sing t_a29G8 -> Sing (Apply SignumSym0 t_a29G8 :: a_a29DA)
sFromInteger :: forall (t_a29Ga :: Nat). SNum a_a29DA => Sing t_a29Ga -> Sing (Apply FromIntegerSym0 t_a29Ga :: a_a29DA)
(%-) :: forall (t_a29FW :: a_a29DA) (t_a29FX :: a_a29DA). (SNum a_a29DA, (Apply (Apply (-@#@$) t_a29FW) t_a29FX :: a_a29DA) ~ Apply (Apply TFHelper_6989586621679523546Sym0 t_a29FW) t_a29FX) => Sing t_a29FW -> Sing t_a29FX -> Sing (Apply (Apply (-@#@$) t_a29FW) t_a29FX :: a_a29DA)
sNegate :: forall (t_a29G4 :: a_a29DA). (SNum a_a29DA, (Apply NegateSym0 t_a29G4 :: a_a29DA) ~ Apply Negate_6989586621679523554Sym0 t_a29G4) => Sing t_a29G4 -> Sing (Apply NegateSym0 t_a29G4 :: a_a29DA)
infixl 6 %+
infixl 6 %-
infixl 7 %*
type family Subtract (a_a2b3F :: a_a2b3B) (a_a2b3G :: a_a2b3B) :: a_a2b3B
sSubtract :: forall a_a2b3B (t_a2b3L :: a_a2b3B) (t_a2b3M :: a_a2b3B). SNum a_a2b3B => Sing t_a2b3L -> Sing t_a2b3M -> Sing (Apply (Apply SubtractSym0 t_a2b3L) t_a2b3M :: a_a2b3B)
data (+@#@$) :: forall a6989586621679523498. (~>) a6989586621679523498 ((~>) a6989586621679523498 a6989586621679523498)
infixl 6 +@#@$
data (+@#@$$) (arg6989586621679523518 :: a6989586621679523498) :: (~>) a6989586621679523498 a6989586621679523498
infixl 6 +@#@$$
type (+@#@$$$) (arg6989586621679523518 :: a6989586621679523498) (arg6989586621679523519 :: a6989586621679523498) = (+) arg6989586621679523518 arg6989586621679523519
data (-@#@$) :: forall a6989586621679523498. (~>) a6989586621679523498 ((~>) a6989586621679523498 a6989586621679523498)
infixl 6 -@#@$
data (-@#@$$) (arg6989586621679523522 :: a6989586621679523498) :: (~>) a6989586621679523498 a6989586621679523498
infixl 6 -@#@$$
type (-@#@$$$) (arg6989586621679523522 :: a6989586621679523498) (arg6989586621679523523 :: a6989586621679523498) = (-) arg6989586621679523522 arg6989586621679523523
data (*@#@$) :: forall a6989586621679523498. (~>) a6989586621679523498 ((~>) a6989586621679523498 a6989586621679523498)
infixl 7 *@#@$
data (*@#@$$) (arg6989586621679523526 :: a6989586621679523498) :: (~>) a6989586621679523498 a6989586621679523498
infixl 7 *@#@$$
type (*@#@$$$) (arg6989586621679523526 :: a6989586621679523498) (arg6989586621679523527 :: a6989586621679523498) = (*) arg6989586621679523526 arg6989586621679523527
data NegateSym0 :: forall a6989586621679523498. (~>) a6989586621679523498 a6989586621679523498
type NegateSym1 (arg6989586621679523530 :: a6989586621679523498) = Negate arg6989586621679523530
data AbsSym0 :: forall a6989586621679523498. (~>) a6989586621679523498 a6989586621679523498
type AbsSym1 (arg6989586621679523532 :: a6989586621679523498) = Abs arg6989586621679523532
data SignumSym0 :: forall a6989586621679523498. (~>) a6989586621679523498 a6989586621679523498
type SignumSym1 (arg6989586621679523534 :: a6989586621679523498) = Signum arg6989586621679523534
data FromIntegerSym0 :: forall a6989586621679523498. (~>) Nat a6989586621679523498
type FromIntegerSym1 (arg6989586621679523536 :: Nat) = FromInteger arg6989586621679523536
data SubtractSym0 :: forall a6989586621679528955. (~>) a6989586621679528955 ((~>) a6989586621679528955 a6989586621679528955)
data SubtractSym1 (a6989586621679528959 :: a6989586621679528955) :: (~>) a6989586621679528955 a6989586621679528955
type SubtractSym2 (a6989586621679528959 :: a6989586621679528955) (a6989586621679528960 :: a6989586621679528955) = Subtract a6989586621679528959 a6989586621679528960
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.SubtractSym0
instance Data.Singletons.Prelude.Num.SNum a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Num.SubtractSym0
instance forall a6989586621679528955 (a6989586621679528959 :: a6989586621679528955). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.SubtractSym1 a6989586621679528959)
instance forall a (d :: a). (Data.Singletons.Prelude.Num.SNum a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Num.SubtractSym1 d)
instance Data.Singletons.Prelude.Num.PNum GHC.Types.Nat
instance Data.Singletons.Prelude.Num.SNum a => Data.Singletons.Prelude.Num.SNum (Data.Ord.Down a)
instance Data.Singletons.Prelude.Num.SNum a => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Num.+@#@$)
instance forall a (d :: a). (Data.Singletons.Prelude.Num.SNum a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Num.+@#@$$) d)
instance Data.Singletons.Prelude.Num.SNum a => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Num.-@#@$)
instance forall a (d :: a). (Data.Singletons.Prelude.Num.SNum a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Num.-@#@$$) d)
instance Data.Singletons.Prelude.Num.SNum a => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Num.*@#@$)
instance forall a (d :: a). (Data.Singletons.Prelude.Num.SNum a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Num.*@#@$$) d)
instance Data.Singletons.Prelude.Num.SNum a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Num.NegateSym0
instance Data.Singletons.Prelude.Num.SNum a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Num.AbsSym0
instance Data.Singletons.Prelude.Num.SNum a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Num.SignumSym0
instance Data.Singletons.Prelude.Num.SNum a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Num.FromIntegerSym0
instance Data.Singletons.Prelude.Num.SNum GHC.Types.Nat
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.FromInteger_6989586621679523637Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Ord.Down a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Signum_6989586621679523630Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Abs_6989586621679523623Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Negate_6989586621679523616Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679523608Sym0
instance forall a6989586621679523498 (a6989586621679523606 :: a6989586621679523498). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679523608Sym1 a6989586621679523606)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679523596Sym0
instance forall a6989586621679523498 (a6989586621679523594 :: a6989586621679523498). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679523596Sym1 a6989586621679523594)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679523584Sym0
instance forall a6989586621679523498 (a6989586621679523582 :: a6989586621679523498). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679523584Sym1 a6989586621679523582)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.*@#@$)
instance forall a6989586621679523498 (arg6989586621679523526 :: a6989586621679523498). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Num.*@#@$$) arg6989586621679523526)
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 forall a6989586621679523498 (arg6989586621679523518 :: a6989586621679523498). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Num.+@#@$$) arg6989586621679523518)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.+@#@$)
instance forall a6989586621679523498 (arg6989586621679523522 :: a6989586621679523498). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Num.-@#@$$) arg6989586621679523522)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.-@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.NegateSym0
instance forall a6989586621679523498 (a6989586621679523544 :: a6989586621679523498). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679523546Sym1 a6989586621679523544)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679523546Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Negate_6989586621679523554Sym0


-- | 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
type family Foldr (a_a2dFh :: (~>) a_a2dBU ((~>) b_a2dBV b_a2dBV)) (a_a2dFi :: b_a2dBV) (a_a2dFj :: [a_a2dBU]) :: b_a2dBV
sFoldr :: forall a_a2dBU b_a2dBV (t_a2dGm :: (~>) a_a2dBU ((~>) b_a2dBV b_a2dBV)) (t_a2dGn :: b_a2dBV) (t_a2dGo :: [a_a2dBU]). Sing t_a2dGm -> Sing t_a2dGn -> Sing t_a2dGo -> Sing (Apply (Apply (Apply FoldrSym0 t_a2dGm) t_a2dGn) t_a2dGo :: b_a2dBV)
type family Map (a_a2dFa :: (~>) a_a2dBS b_a2dBT) (a_a2dFb :: [a_a2dBS]) :: [b_a2dBT]
sMap :: forall a_a2dBS b_a2dBT (t_a2dGi :: (~>) a_a2dBS b_a2dBT) (t_a2dGj :: [a_a2dBS]). Sing t_a2dGi -> Sing t_a2dGj -> Sing (Apply (Apply MapSym0 t_a2dGi) t_a2dGj :: [b_a2dBT])
type family (++) (a_a2dF2 :: [a_a2dBR]) (a_a2dF3 :: [a_a2dBR]) :: [a_a2dBR]
infixr 5 ++
(%++) :: forall a_a2dBR (t_a2dGe :: [a_a2dBR]) (t_a2dGf :: [a_a2dBR]). Sing t_a2dGe -> Sing t_a2dGf -> Sing (Apply (Apply (++@#@$) t_a2dGe) t_a2dGf :: [a_a2dBR])
infixr 5 %++
type family Otherwise :: Bool
sOtherwise :: Sing (OtherwiseSym0 :: Bool)
type family Id (a_a2dEZ :: a_a2dBQ) :: a_a2dBQ
sId :: forall a_a2dBQ (t_a2dGc :: a_a2dBQ). Sing t_a2dGc -> Sing (Apply IdSym0 t_a2dGc :: a_a2dBQ)
type family Const (a_a2dEK :: a_a2dBO) (a_a2dEL :: b_a2dBP) :: a_a2dBO
sConst :: forall a_a2dBO b_a2dBP (t_a2dG4 :: a_a2dBO) (t_a2dG5 :: b_a2dBP). Sing t_a2dG4 -> Sing t_a2dG5 -> Sing (Apply (Apply ConstSym0 t_a2dG4) t_a2dG5 :: a_a2dBO)
type family (:.) (a_a2dEr :: (~>) b_a2dBL c_a2dBM) (a_a2dEs :: (~>) a_a2dBN b_a2dBL) (a_a2dEt :: a_a2dBN) :: c_a2dBM
infixr 9 :.
(%.) :: forall b_a2dBL c_a2dBM a_a2dBN (t_a2dFY :: (~>) b_a2dBL c_a2dBM) (t_a2dFZ :: (~>) a_a2dBN b_a2dBL) (t_a2dG0 :: a_a2dBN). Sing t_a2dFY -> Sing t_a2dFZ -> Sing t_a2dG0 -> Sing (Apply (Apply (Apply (.@#@$) t_a2dFY) t_a2dFZ) t_a2dG0 :: c_a2dBM)
infixr 9 %.
type family ($) (a_a2dEc :: (~>) a_a2dBF b_a2dBG) (a_a2dEd :: a_a2dBF) :: b_a2dBG
infixr 0 $
type family ($!) (a_a2dE3 :: (~>) a_a2dBD b_a2dBE) (a_a2dE4 :: a_a2dBD) :: b_a2dBE
infixr 0 $!
(%$) :: forall a_a2dBF b_a2dBG (t_a2dFO :: (~>) a_a2dBF b_a2dBG) (t_a2dFP :: a_a2dBF). Sing t_a2dFO -> Sing t_a2dFP -> Sing (Apply (Apply ($@#@$) t_a2dFO) t_a2dFP :: b_a2dBG)
infixr 0 %$
(%$!) :: forall a_a2dBD b_a2dBE (t_a2dFK :: (~>) a_a2dBD b_a2dBE) (t_a2dFL :: a_a2dBD). Sing t_a2dFK -> Sing t_a2dFL -> Sing (Apply (Apply ($!@#@$) t_a2dFK) t_a2dFL :: b_a2dBE)
infixr 0 %$!
type family Until (a_a2dDD :: (~>) a_a2dBC Bool) (a_a2dDE :: (~>) a_a2dBC a_a2dBC) (a_a2dDF :: a_a2dBC) :: a_a2dBC
sUntil :: forall a_a2dBC (t_a2dFE :: (~>) a_a2dBC Bool) (t_a2dFF :: (~>) a_a2dBC a_a2dBC) (t_a2dFG :: a_a2dBC). Sing t_a2dFE -> Sing t_a2dFF -> Sing t_a2dFG -> Sing (Apply (Apply (Apply UntilSym0 t_a2dFE) t_a2dFF) t_a2dFG :: a_a2dBC)
type family Flip (a_a2dEi :: (~>) a_a2dBI ((~>) b_a2dBJ c_a2dBK)) (a_a2dEj :: b_a2dBJ) (a_a2dEk :: a_a2dBI) :: c_a2dBK
sFlip :: forall a_a2dBI b_a2dBJ c_a2dBK (t_a2dFS :: (~>) a_a2dBI ((~>) b_a2dBJ c_a2dBK)) (t_a2dFT :: b_a2dBJ) (t_a2dFU :: a_a2dBI). Sing t_a2dFS -> Sing t_a2dFT -> Sing t_a2dFU -> Sing (Apply (Apply (Apply FlipSym0 t_a2dFS) t_a2dFT) t_a2dFU :: c_a2dBK)
type family AsTypeOf (a_a2dET :: a_a2dBH) (a_a2dEU :: a_a2dBH) :: a_a2dBH
sAsTypeOf :: forall a_a2dBH (t_a2dG8 :: a_a2dBH) (t_a2dG9 :: a_a2dBH). Sing t_a2dG8 -> Sing t_a2dG9 -> Sing (Apply (Apply AsTypeOfSym0 t_a2dG8) t_a2dG9 :: a_a2dBH)
type family Seq (a_a2dDy :: a_a2dBA) (a_a2dDz :: b_a2dBB) :: b_a2dBB
infixr 0 `Seq`
sSeq :: forall a_a2dBA b_a2dBB (t_a2dFA :: a_a2dBA) (t_a2dFB :: b_a2dBB). Sing t_a2dFA -> Sing t_a2dFB -> Sing (Apply (Apply SeqSym0 t_a2dFA) t_a2dFB :: b_a2dBB)
infixr 0 `sSeq`
data FoldrSym0 :: forall a6989586621679538770 b6989586621679538771. (~>) ((~>) a6989586621679538770 ((~>) b6989586621679538771 b6989586621679538771)) ((~>) b6989586621679538771 ((~>) [a6989586621679538770] b6989586621679538771))
data FoldrSym1 (a6989586621679538979 :: (~>) a6989586621679538770 ((~>) b6989586621679538771 b6989586621679538771)) :: (~>) b6989586621679538771 ((~>) [a6989586621679538770] b6989586621679538771)
data FoldrSym2 (a6989586621679538979 :: (~>) a6989586621679538770 ((~>) b6989586621679538771 b6989586621679538771)) (a6989586621679538980 :: b6989586621679538771) :: (~>) [a6989586621679538770] b6989586621679538771
type FoldrSym3 (a6989586621679538979 :: (~>) a6989586621679538770 ((~>) b6989586621679538771 b6989586621679538771)) (a6989586621679538980 :: b6989586621679538771) (a6989586621679538981 :: [a6989586621679538770]) = Foldr a6989586621679538979 a6989586621679538980 a6989586621679538981
data MapSym0 :: forall a6989586621679538768 b6989586621679538769. (~>) ((~>) a6989586621679538768 b6989586621679538769) ((~>) [a6989586621679538768] [b6989586621679538769])
data MapSym1 (a6989586621679538972 :: (~>) a6989586621679538768 b6989586621679538769) :: (~>) [a6989586621679538768] [b6989586621679538769]
type MapSym2 (a6989586621679538972 :: (~>) a6989586621679538768 b6989586621679538769) (a6989586621679538973 :: [a6989586621679538768]) = Map a6989586621679538972 a6989586621679538973
data (++@#@$) :: forall a6989586621679538767. (~>) [a6989586621679538767] ((~>) [a6989586621679538767] [a6989586621679538767])
infixr 5 ++@#@$
data (++@#@$$) (a6989586621679538964 :: [a6989586621679538767]) :: (~>) [a6989586621679538767] [a6989586621679538767]
infixr 5 ++@#@$$
type (++@#@$$$) (a6989586621679538964 :: [a6989586621679538767]) (a6989586621679538965 :: [a6989586621679538767]) = (++) a6989586621679538964 a6989586621679538965
type OtherwiseSym0 = Otherwise
data IdSym0 :: forall a6989586621679538766. (~>) a6989586621679538766 a6989586621679538766
type IdSym1 (a6989586621679538961 :: a6989586621679538766) = Id a6989586621679538961
data ConstSym0 :: forall a6989586621679538764 b6989586621679538765. (~>) a6989586621679538764 ((~>) b6989586621679538765 a6989586621679538764)
data ConstSym1 (a6989586621679538946 :: a6989586621679538764) :: forall b6989586621679538765. (~>) b6989586621679538765 a6989586621679538764
type ConstSym2 (a6989586621679538946 :: a6989586621679538764) (a6989586621679538947 :: b6989586621679538765) = Const a6989586621679538946 a6989586621679538947
data (.@#@$) :: forall a6989586621679538763 b6989586621679538761 c6989586621679538762. (~>) ((~>) b6989586621679538761 c6989586621679538762) ((~>) ((~>) a6989586621679538763 b6989586621679538761) ((~>) a6989586621679538763 c6989586621679538762))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679538927 :: (~>) b6989586621679538761 c6989586621679538762) :: forall a6989586621679538763. (~>) ((~>) a6989586621679538763 b6989586621679538761) ((~>) a6989586621679538763 c6989586621679538762)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679538927 :: (~>) b6989586621679538761 c6989586621679538762) (a6989586621679538928 :: (~>) a6989586621679538763 b6989586621679538761) :: (~>) a6989586621679538763 c6989586621679538762
infixr 9 .@#@$$$
type (.@#@$$$$) (a6989586621679538927 :: (~>) b6989586621679538761 c6989586621679538762) (a6989586621679538928 :: (~>) a6989586621679538763 b6989586621679538761) (a6989586621679538929 :: a6989586621679538763) = (:.) a6989586621679538927 a6989586621679538928 a6989586621679538929
data ($@#@$) :: forall a6989586621679538755 b6989586621679538756. (~>) ((~>) a6989586621679538755 b6989586621679538756) ((~>) a6989586621679538755 b6989586621679538756)
infixr 0 $@#@$
data ($@#@$$) (a6989586621679538912 :: (~>) a6989586621679538755 b6989586621679538756) :: (~>) a6989586621679538755 b6989586621679538756
infixr 0 $@#@$$
type ($@#@$$$) (a6989586621679538912 :: (~>) a6989586621679538755 b6989586621679538756) (a6989586621679538913 :: a6989586621679538755) = ($) a6989586621679538912 a6989586621679538913
data ($!@#@$) :: forall a6989586621679538753 b6989586621679538754. (~>) ((~>) a6989586621679538753 b6989586621679538754) ((~>) a6989586621679538753 b6989586621679538754)
infixr 0 $!@#@$
data ($!@#@$$) (a6989586621679538903 :: (~>) a6989586621679538753 b6989586621679538754) :: (~>) a6989586621679538753 b6989586621679538754
infixr 0 $!@#@$$
type ($!@#@$$$) (a6989586621679538903 :: (~>) a6989586621679538753 b6989586621679538754) (a6989586621679538904 :: a6989586621679538753) = ($!) a6989586621679538903 a6989586621679538904
data UntilSym0 :: forall a6989586621679538752. (~>) ((~>) a6989586621679538752 Bool) ((~>) ((~>) a6989586621679538752 a6989586621679538752) ((~>) a6989586621679538752 a6989586621679538752))
data UntilSym1 (a6989586621679538877 :: (~>) a6989586621679538752 Bool) :: (~>) ((~>) a6989586621679538752 a6989586621679538752) ((~>) a6989586621679538752 a6989586621679538752)
data UntilSym2 (a6989586621679538877 :: (~>) a6989586621679538752 Bool) (a6989586621679538878 :: (~>) a6989586621679538752 a6989586621679538752) :: (~>) a6989586621679538752 a6989586621679538752
type UntilSym3 (a6989586621679538877 :: (~>) a6989586621679538752 Bool) (a6989586621679538878 :: (~>) a6989586621679538752 a6989586621679538752) (a6989586621679538879 :: a6989586621679538752) = Until a6989586621679538877 a6989586621679538878 a6989586621679538879
data FlipSym0 :: forall a6989586621679538758 b6989586621679538759 c6989586621679538760. (~>) ((~>) a6989586621679538758 ((~>) b6989586621679538759 c6989586621679538760)) ((~>) b6989586621679538759 ((~>) a6989586621679538758 c6989586621679538760))
data FlipSym1 (a6989586621679538918 :: (~>) a6989586621679538758 ((~>) b6989586621679538759 c6989586621679538760)) :: (~>) b6989586621679538759 ((~>) a6989586621679538758 c6989586621679538760)
data FlipSym2 (a6989586621679538918 :: (~>) a6989586621679538758 ((~>) b6989586621679538759 c6989586621679538760)) (a6989586621679538919 :: b6989586621679538759) :: (~>) a6989586621679538758 c6989586621679538760
type FlipSym3 (a6989586621679538918 :: (~>) a6989586621679538758 ((~>) b6989586621679538759 c6989586621679538760)) (a6989586621679538919 :: b6989586621679538759) (a6989586621679538920 :: a6989586621679538758) = Flip a6989586621679538918 a6989586621679538919 a6989586621679538920
data AsTypeOfSym0 :: forall a6989586621679538757. (~>) a6989586621679538757 ((~>) a6989586621679538757 a6989586621679538757)
data AsTypeOfSym1 (a6989586621679538955 :: a6989586621679538757) :: (~>) a6989586621679538757 a6989586621679538757
type AsTypeOfSym2 (a6989586621679538955 :: a6989586621679538757) (a6989586621679538956 :: a6989586621679538757) = AsTypeOf a6989586621679538955 a6989586621679538956
data SeqSym0 :: forall a6989586621679538750 b6989586621679538751. (~>) a6989586621679538750 ((~>) b6989586621679538751 b6989586621679538751)
infixr 0 `SeqSym0`
data SeqSym1 (a6989586621679538872 :: a6989586621679538750) :: forall b6989586621679538751. (~>) b6989586621679538751 b6989586621679538751
infixr 0 `SeqSym1`
type SeqSym2 (a6989586621679538872 :: a6989586621679538750) (a6989586621679538873 :: b6989586621679538751) = Seq a6989586621679538872 a6989586621679538873
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.FoldrSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Base.FoldrSym0
instance forall a6989586621679538770 b6989586621679538771 (a6989586621679538979 :: a6989586621679538770 Data.Singletons.Internal.~> (b6989586621679538771 Data.Singletons.Internal.~> b6989586621679538771)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FoldrSym1 a6989586621679538979)
instance forall a b (d :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> b)). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Base.FoldrSym1 d)
instance forall a6989586621679538770 b6989586621679538771 (a6989586621679538980 :: a6989586621679538770 Data.Singletons.Internal.~> (b6989586621679538771 Data.Singletons.Internal.~> b6989586621679538771)) (a6989586621679538979 :: b6989586621679538771). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FoldrSym2 a6989586621679538980 a6989586621679538979)
instance forall a b (d1 :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> b)) (d2 :: b). (Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Base.FoldrSym2 d1 d2)
instance forall a6989586621679538768 b6989586621679538769 (a6989586621679538972 :: a6989586621679538768 Data.Singletons.Internal.~> b6989586621679538769). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.MapSym1 a6989586621679538972)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.MapSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Base.MapSym0
instance forall a b (d :: a Data.Singletons.Internal.~> b). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Base.MapSym1 d)
instance forall a6989586621679538767 (a6989586621679538964 :: [a6989586621679538767]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base.++@#@$$) a6989586621679538964)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.++@#@$)
instance Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Base.++@#@$)
instance forall a (d :: [a]). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Base.++@#@$$) d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.IdSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Base.IdSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.AsTypeOfSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Base.AsTypeOfSym0
instance forall a6989586621679538757 (a6989586621679538955 :: a6989586621679538757). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.AsTypeOfSym1 a6989586621679538955)
instance forall a (d :: a). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Base.AsTypeOfSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.ConstSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Base.ConstSym0
instance forall b6989586621679538765 a6989586621679538764 (a6989586621679538946 :: a6989586621679538764). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.ConstSym1 a6989586621679538946)
instance forall a b (d :: a). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Base.ConstSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base..@#@$)
instance Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Base..@#@$)
instance forall a6989586621679538763 b6989586621679538761 c6989586621679538762 (a6989586621679538927 :: b6989586621679538761 Data.Singletons.Internal.~> c6989586621679538762). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base..@#@$$) a6989586621679538927)
instance forall b c a (d :: b Data.Singletons.Internal.~> c). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Base..@#@$$) d)
instance forall a6989586621679538763 b6989586621679538761 c6989586621679538762 (a6989586621679538928 :: b6989586621679538761 Data.Singletons.Internal.~> c6989586621679538762) (a6989586621679538927 :: a6989586621679538763 Data.Singletons.Internal.~> b6989586621679538761). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (a6989586621679538928 Data.Singletons.Prelude.Base..@#@$$$ a6989586621679538927)
instance forall b c a (d1 :: b Data.Singletons.Internal.~> c) (d2 :: a Data.Singletons.Internal.~> b). (Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (d1 Data.Singletons.Prelude.Base..@#@$$$ d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.FlipSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Base.FlipSym0
instance forall a6989586621679538758 b6989586621679538759 c6989586621679538760 (a6989586621679538918 :: a6989586621679538758 Data.Singletons.Internal.~> (b6989586621679538759 Data.Singletons.Internal.~> c6989586621679538760)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FlipSym1 a6989586621679538918)
instance forall a b c (d :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> c)). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Base.FlipSym1 d)
instance forall a6989586621679538758 b6989586621679538759 c6989586621679538760 (a6989586621679538919 :: a6989586621679538758 Data.Singletons.Internal.~> (b6989586621679538759 Data.Singletons.Internal.~> c6989586621679538760)) (a6989586621679538918 :: b6989586621679538759). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FlipSym2 a6989586621679538919 a6989586621679538918)
instance forall a b c (d1 :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> c)) (d2 :: b). (Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Base.FlipSym2 d1 d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.$@#@$)
instance Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Base.$@#@$)
instance forall a6989586621679538755 b6989586621679538756 (a6989586621679538912 :: a6989586621679538755 Data.Singletons.Internal.~> b6989586621679538756). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base.$@#@$$) a6989586621679538912)
instance forall a b (d :: a Data.Singletons.Internal.~> b). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Base.$@#@$$) d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.$!@#@$)
instance Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Base.$!@#@$)
instance forall a6989586621679538753 b6989586621679538754 (a6989586621679538903 :: a6989586621679538753 Data.Singletons.Internal.~> b6989586621679538754). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base.$!@#@$$) a6989586621679538903)
instance forall a b (d :: a Data.Singletons.Internal.~> b). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Base.$!@#@$$) d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.UntilSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Base.UntilSym0
instance forall a6989586621679538752 (a6989586621679538877 :: a6989586621679538752 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.UntilSym1 a6989586621679538877)
instance forall a (d :: a Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Base.UntilSym1 d)
instance forall a6989586621679538752 (a6989586621679538878 :: a6989586621679538752 Data.Singletons.Internal.~> GHC.Types.Bool) (a6989586621679538877 :: a6989586621679538752 Data.Singletons.Internal.~> a6989586621679538752). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.UntilSym2 a6989586621679538878 a6989586621679538877)
instance forall a (d1 :: a Data.Singletons.Internal.~> GHC.Types.Bool) (d2 :: a Data.Singletons.Internal.~> a). (Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Base.UntilSym2 d1 d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.SeqSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Base.SeqSym0
instance forall b6989586621679538751 a6989586621679538750 (a6989586621679538872 :: a6989586621679538750). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.SeqSym1 a6989586621679538872)
instance forall a b (d :: a). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Base.SeqSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679538990GoSym0
instance forall k1 k2 k3 (k6989586621679538987 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679538990GoSym1 k6989586621679538987)
instance forall k1 k2 k3 (z6989586621679538988 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (k6989586621679538987 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679538990GoSym2 z6989586621679538988 k6989586621679538987)
instance forall k1 k2 k3 (a_69895866216795389856989586621679538989 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (z6989586621679538988 :: k3) (k6989586621679538987 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679538990GoSym3 a_69895866216795389856989586621679538989 z6989586621679538988 k6989586621679538987)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679538938Sym0
instance forall k2 k3 k4 k5 (f6989586621679538935 :: k4 Data.Singletons.Internal.~> k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Lambda_6989586621679538938Sym1 f6989586621679538935)
instance forall k2 k3 k4 k5 (g6989586621679538936 :: k4 Data.Singletons.Internal.~> k5) (f6989586621679538935 :: k3 Data.Singletons.Internal.~> k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Lambda_6989586621679538938Sym2 g6989586621679538936 f6989586621679538935)
instance forall k2 k3 k4 k5 (a_69895866216795389336989586621679538937 :: k4 Data.Singletons.Internal.~> k5) (g6989586621679538936 :: k3 Data.Singletons.Internal.~> k4) (f6989586621679538935 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Lambda_6989586621679538938Sym3 a_69895866216795389336989586621679538937 g6989586621679538936 f6989586621679538935)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679538909VxSym0
instance forall k1 k2 (f6989586621679538907 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679538909VxSym1 f6989586621679538907)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679538888GoSym0
instance forall k1 k2 (p6989586621679538885 :: k2 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679538888GoSym1 p6989586621679538885)
instance forall k1 k2 (f6989586621679538886 :: k2 Data.Singletons.Internal.~> GHC.Types.Bool) (p6989586621679538885 :: k2 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679538888GoSym2 f6989586621679538886 p6989586621679538885)
instance forall k1 k2 (a_69895866216795388836989586621679538887 :: k2 Data.Singletons.Internal.~> GHC.Types.Bool) (f6989586621679538886 :: k2 Data.Singletons.Internal.~> k2) (p6989586621679538885 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679538888GoSym3 a_69895866216795388836989586621679538887 f6989586621679538886 p6989586621679538885)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679538895Scrutinee_6989586621679538814Sym0
instance forall k1 k2 k3 k4 (p6989586621679538885 :: k3 Data.Singletons.Internal.~> k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679538895Scrutinee_6989586621679538814Sym1 p6989586621679538885)
instance forall k1 k2 k3 k4 (f6989586621679538886 :: k3 Data.Singletons.Internal.~> k4) (p6989586621679538885 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679538895Scrutinee_6989586621679538814Sym2 f6989586621679538886 p6989586621679538885)
instance forall k1 k2 k3 k4 (x6989586621679538894 :: k3 Data.Singletons.Internal.~> k4) (f6989586621679538886 :: k2) (p6989586621679538885 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679538895Scrutinee_6989586621679538814Sym3 x6989586621679538894 f6989586621679538886 p6989586621679538885)


-- | Defines the promoted and singled versions of the <a>Functor</a> type
--   class.
module Data.Singletons.Prelude.Functor
class PFunctor (f_a2k1w :: Type -> Type) where {
    type family Fmap (arg_a2k7S :: (~>) a_a2k1x b_a2k1y) (arg_a2k7T :: f_a2k1w a_a2k1x) :: f_a2k1w b_a2k1y;
    type family (<$) (arg_a2k7W :: a_a2k1z) (arg_a2k7X :: f_a2k1w b_a2k1A) :: f_a2k1w a_a2k1z;
    type (<$) a_a2k8a a_a2k8b = Apply (Apply TFHelper_6989586621679563836Sym0 a_a2k8a) a_a2k8b;
}
infixl 4 <$
class SFunctor (f_a2k1w :: Type -> Type)
sFmap :: forall a_a2k1x b_a2k1y (t_a2kcj :: (~>) a_a2k1x b_a2k1y) (t_a2kck :: f_a2k1w a_a2k1x). SFunctor f_a2k1w => Sing t_a2kcj -> Sing t_a2kck -> Sing (Apply (Apply FmapSym0 t_a2kcj) t_a2kck :: f_a2k1w b_a2k1y)
(%<$) :: forall a_a2k1z b_a2k1A (t_a2kcn :: a_a2k1z) (t_a2kco :: f_a2k1w b_a2k1A). SFunctor f_a2k1w => Sing t_a2kcn -> Sing t_a2kco -> Sing (Apply (Apply (<$@#@$) t_a2kcn) t_a2kco :: f_a2k1w a_a2k1z)
(%<$) :: forall a_a2k1z b_a2k1A (t_a2kcn :: a_a2k1z) (t_a2kco :: f_a2k1w b_a2k1A). (SFunctor f_a2k1w, (Apply (Apply (<$@#@$) t_a2kcn) t_a2kco :: f_a2k1w a_a2k1z) ~ Apply (Apply TFHelper_6989586621679563836Sym0 t_a2kcn) t_a2kco) => Sing t_a2kcn -> Sing t_a2kco -> Sing (Apply (Apply (<$@#@$) t_a2kcn) t_a2kco :: f_a2k1w a_a2k1z)
infixl 4 %<$
type family ($>) (a_a32Sa :: f_a32QV a_a32QW) (a_a32Sb :: b_a32QX) :: f_a32QV b_a32QX
infixl 4 $>
(%$>) :: forall f_a32QV a_a32QW b_a32QX (t_a32TR :: f_a32QV a_a32QW) (t_a32TS :: b_a32QX). SFunctor f_a32QV => Sing t_a32TR -> Sing t_a32TS -> Sing (Apply (Apply ($>@#@$) t_a32TR) t_a32TS :: f_a32QV b_a32QX)
infixl 4 %$>
type family (<$>) (a_a32Sk :: (~>) a_a32R2 b_a32R3) (a_a32Sl :: f_a32R1 a_a32R2) :: f_a32R1 b_a32R3
infixl 4 <$>
(%<$>) :: forall f_a32R1 a_a32R2 b_a32R3 (t_a32TV :: (~>) a_a32R2 b_a32R3) (t_a32TW :: f_a32R1 a_a32R2). SFunctor f_a32R1 => Sing t_a32TV -> Sing t_a32TW -> Sing (Apply (Apply (<$>@#@$) t_a32TV) t_a32TW :: f_a32R1 b_a32R3)
infixl 4 %<$>
type family (<&>) (a_a32Sq :: f_a32QY a_a32QZ) (a_a32Sr :: (~>) a_a32QZ b_a32R0) :: f_a32QY b_a32R0
infixl 1 <&>
(%<&>) :: forall f_a32QY a_a32QZ b_a32R0 (t_a32TZ :: f_a32QY a_a32QZ) (t_a32U0 :: (~>) a_a32QZ b_a32R0). SFunctor f_a32QY => Sing t_a32TZ -> Sing t_a32U0 -> Sing (Apply (Apply (<&>@#@$) t_a32TZ) t_a32U0 :: f_a32QY b_a32R0)
infixl 1 %<&>
type family Void (a_a32S3 :: f_a32QT a_a32QU) :: f_a32QT ()
sVoid :: forall f_a32QT a_a32QU (t_a32TP :: f_a32QT a_a32QU). SFunctor f_a32QT => Sing t_a32TP -> Sing (Apply VoidSym0 t_a32TP :: f_a32QT ())
data FmapSym0 :: forall a6989586621679563423 b6989586621679563424 f6989586621679563422. (~>) ((~>) a6989586621679563423 b6989586621679563424) ((~>) (f6989586621679563422 a6989586621679563423) (f6989586621679563422 b6989586621679563424))
data FmapSym1 (arg6989586621679563816 :: (~>) a6989586621679563423 b6989586621679563424) :: forall f6989586621679563422. (~>) (f6989586621679563422 a6989586621679563423) (f6989586621679563422 b6989586621679563424)
type FmapSym2 (arg6989586621679563816 :: (~>) a6989586621679563423 b6989586621679563424) (arg6989586621679563817 :: f6989586621679563422 a6989586621679563423) = Fmap arg6989586621679563816 arg6989586621679563817
data (<$@#@$) :: forall a6989586621679563425 b6989586621679563426 f6989586621679563422. (~>) a6989586621679563425 ((~>) (f6989586621679563422 b6989586621679563426) (f6989586621679563422 a6989586621679563425))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679563820 :: a6989586621679563425) :: forall b6989586621679563426 f6989586621679563422. (~>) (f6989586621679563422 b6989586621679563426) (f6989586621679563422 a6989586621679563425)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679563820 :: a6989586621679563425) (arg6989586621679563821 :: f6989586621679563422 b6989586621679563426) = (<$) arg6989586621679563820 arg6989586621679563821
data ($>@#@$) :: forall a6989586621679735746 b6989586621679735747 f6989586621679735745. (~>) (f6989586621679735745 a6989586621679735746) ((~>) b6989586621679735747 (f6989586621679735745 b6989586621679735747))
infixl 4 $>@#@$
data ($>@#@$$) (a6989586621679735822 :: f6989586621679735745 a6989586621679735746) :: forall b6989586621679735747. (~>) b6989586621679735747 (f6989586621679735745 b6989586621679735747)
infixl 4 $>@#@$$
type ($>@#@$$$) (a6989586621679735822 :: f6989586621679735745 a6989586621679735746) (a6989586621679735823 :: b6989586621679735747) = ($>) a6989586621679735822 a6989586621679735823
data (<$>@#@$) :: forall a6989586621679735752 b6989586621679735753 f6989586621679735751. (~>) ((~>) a6989586621679735752 b6989586621679735753) ((~>) (f6989586621679735751 a6989586621679735752) (f6989586621679735751 b6989586621679735753))
infixl 4 <$>@#@$
data (<$>@#@$$) (a6989586621679735832 :: (~>) a6989586621679735752 b6989586621679735753) :: forall f6989586621679735751. (~>) (f6989586621679735751 a6989586621679735752) (f6989586621679735751 b6989586621679735753)
infixl 4 <$>@#@$$
type (<$>@#@$$$) (a6989586621679735832 :: (~>) a6989586621679735752 b6989586621679735753) (a6989586621679735833 :: f6989586621679735751 a6989586621679735752) = (<$>) a6989586621679735832 a6989586621679735833
data (<&>@#@$) :: forall a6989586621679735749 b6989586621679735750 f6989586621679735748. (~>) (f6989586621679735748 a6989586621679735749) ((~>) ((~>) a6989586621679735749 b6989586621679735750) (f6989586621679735748 b6989586621679735750))
infixl 1 <&>@#@$
data (<&>@#@$$) (a6989586621679735838 :: f6989586621679735748 a6989586621679735749) :: forall b6989586621679735750. (~>) ((~>) a6989586621679735749 b6989586621679735750) (f6989586621679735748 b6989586621679735750)
infixl 1 <&>@#@$$
type (<&>@#@$$$) (a6989586621679735838 :: f6989586621679735748 a6989586621679735749) (a6989586621679735839 :: (~>) a6989586621679735749 b6989586621679735750) = (<&>) a6989586621679735838 a6989586621679735839
data VoidSym0 :: forall a6989586621679735744 f6989586621679735743. (~>) (f6989586621679735743 a6989586621679735744) (f6989586621679735743 ())
type VoidSym1 (a6989586621679735815 :: f6989586621679735743 a6989586621679735744) = Void a6989586621679735815
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.TFHelper_6989586621679735921Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Ord.Down
instance forall b6989586621679563426 a6989586621679563425 (a6989586621679735919 :: a6989586621679563425). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.TFHelper_6989586621679735921Sym1 a6989586621679735919)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679735912Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Ord.Down
instance forall k1 k2 k3 (_z_69895866216797358076989586621679735910 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679735912Sym1 _z_69895866216797358076989586621679735910)
instance forall k1 k2 k3 (a_69895866216797358136989586621679735911 :: k3) (_z_69895866216797358076989586621679735910 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679735912Sym2 a_69895866216797358136989586621679735911 _z_69895866216797358076989586621679735910)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Fmap_6989586621679735902Sym0
instance forall a6989586621679563423 b6989586621679563424 (a6989586621679735900 :: a6989586621679563423 Data.Singletons.Internal.~> b6989586621679563424). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Fmap_6989586621679735902Sym1 a6989586621679735900)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.TFHelper_6989586621679735890Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor ((,) a)
instance forall a6989586621679735761 b6989586621679563426 a6989586621679563425 (a6989586621679735888 :: a6989586621679563425). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.TFHelper_6989586621679735890Sym1 a6989586621679735888)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679735880Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor ((,) a)
instance forall k1 k2 k3 k4 (_z_69895866216797357856989586621679735869 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679735880Sym1 _z_69895866216797357856989586621679735869)
instance forall k1 k2 k3 k4 (a_69895866216797357976989586621679735870 :: k4) (_z_69895866216797357856989586621679735869 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679735880Sym2 a_69895866216797357976989586621679735870 _z_69895866216797357856989586621679735869)
instance forall k1 k2 k3 k4 (a_69895866216797357996989586621679735871 :: k4) (a_69895866216797357976989586621679735870 :: k3) (_z_69895866216797357856989586621679735869 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679735880Sym3 a_69895866216797357996989586621679735871 a_69895866216797357976989586621679735870 _z_69895866216797357856989586621679735869)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679735872Sym0
instance forall k1 k2 k3 k4 (_z_69895866216797357856989586621679735869 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679735872Sym1 _z_69895866216797357856989586621679735869)
instance forall k1 k2 k3 k4 (a_69895866216797357976989586621679735870 :: k4) (_z_69895866216797357856989586621679735869 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679735872Sym2 a_69895866216797357976989586621679735870 _z_69895866216797357856989586621679735869)
instance forall k1 k2 k3 k4 (a_69895866216797357996989586621679735871 :: k4) (a_69895866216797357976989586621679735870 :: k3) (_z_69895866216797357856989586621679735869 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679735872Sym3 a_69895866216797357996989586621679735871 a_69895866216797357976989586621679735870 _z_69895866216797357856989586621679735869)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Fmap_6989586621679735861Sym0
instance forall a6989586621679735761 a6989586621679563423 b6989586621679563424 (a6989586621679735859 :: a6989586621679563423 Data.Singletons.Internal.~> b6989586621679563424). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Fmap_6989586621679735861Sym1 a6989586621679735859)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679735851Sym0
instance forall k1 k2 k3 k4 (_f_69895866216797357836989586621679735848 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679735851Sym1 _f_69895866216797357836989586621679735848)
instance forall k1 k2 k3 k4 (a_69895866216797357896989586621679735849 :: k4) (_f_69895866216797357836989586621679735848 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679735851Sym2 a_69895866216797357896989586621679735849 _f_69895866216797357836989586621679735848)
instance forall k1 k2 k3 k4 (a_69895866216797357916989586621679735850 :: k4) (a_69895866216797357896989586621679735849 :: k3) (_f_69895866216797357836989586621679735848 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679735851Sym3 a_69895866216797357916989586621679735850 a_69895866216797357896989586621679735849 _f_69895866216797357836989586621679735848)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.<&>@#@$)
instance Data.Singletons.Prelude.Monad.Internal.SFunctor f => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Functor.<&>@#@$)
instance forall b6989586621679735750 (f6989586621679735748 :: * -> *) a6989586621679735749 (a6989586621679735838 :: f6989586621679735748 a6989586621679735749). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Functor.<&>@#@$$) a6989586621679735838)
instance forall (f :: * -> *) a b (d :: f a). (Data.Singletons.Prelude.Monad.Internal.SFunctor f, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Functor.<&>@#@$$) d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.<$>@#@$)
instance Data.Singletons.Prelude.Monad.Internal.SFunctor f => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Functor.<$>@#@$)
instance forall (f6989586621679735751 :: * -> *) a6989586621679735752 b6989586621679735753 (a6989586621679735832 :: a6989586621679735752 Data.Singletons.Internal.~> b6989586621679735753). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Functor.<$>@#@$$) a6989586621679735832)
instance forall a b (f :: * -> *) (d :: a Data.Singletons.Internal.~> b). (Data.Singletons.Prelude.Monad.Internal.SFunctor f, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Functor.<$>@#@$$) d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.$>@#@$)
instance Data.Singletons.Prelude.Monad.Internal.SFunctor f => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Functor.$>@#@$)
instance forall b6989586621679735747 (f6989586621679735745 :: * -> *) a6989586621679735746 (a6989586621679735822 :: f6989586621679735745 a6989586621679735746). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Functor.$>@#@$$) a6989586621679735822)
instance forall (f :: * -> *) a b (d :: f a). (Data.Singletons.Prelude.Monad.Internal.SFunctor f, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Functor.$>@#@$$) d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.VoidSym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor f => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Functor.VoidSym0


-- | 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
type family Id (a_a2dEZ :: a_a2dBQ) :: a_a2dBQ
sId :: forall a_a2dBQ (t_a2dGc :: a_a2dBQ). Sing t_a2dGc -> Sing (Apply IdSym0 t_a2dGc :: a_a2dBQ)
type family Const (a_a2dEK :: a_a2dBO) (a_a2dEL :: b_a2dBP) :: a_a2dBO
sConst :: forall a_a2dBO b_a2dBP (t_a2dG4 :: a_a2dBO) (t_a2dG5 :: b_a2dBP). Sing t_a2dG4 -> Sing t_a2dG5 -> Sing (Apply (Apply ConstSym0 t_a2dG4) t_a2dG5 :: a_a2dBO)
type family (:.) (a_a2dEr :: (~>) b_a2dBL c_a2dBM) (a_a2dEs :: (~>) a_a2dBN b_a2dBL) (a_a2dEt :: a_a2dBN) :: c_a2dBM
infixr 9 :.
(%.) :: forall b_a2dBL c_a2dBM a_a2dBN (t_a2dFY :: (~>) b_a2dBL c_a2dBM) (t_a2dFZ :: (~>) a_a2dBN b_a2dBL) (t_a2dG0 :: a_a2dBN). Sing t_a2dFY -> Sing t_a2dFZ -> Sing t_a2dG0 -> Sing (Apply (Apply (Apply (.@#@$) t_a2dFY) t_a2dFZ) t_a2dG0 :: c_a2dBM)
infixr 9 %.
type family Flip (a_a2dEi :: (~>) a_a2dBI ((~>) b_a2dBJ c_a2dBK)) (a_a2dEj :: b_a2dBJ) (a_a2dEk :: a_a2dBI) :: c_a2dBK
sFlip :: forall a_a2dBI b_a2dBJ c_a2dBK (t_a2dFS :: (~>) a_a2dBI ((~>) b_a2dBJ c_a2dBK)) (t_a2dFT :: b_a2dBJ) (t_a2dFU :: a_a2dBI). Sing t_a2dFS -> Sing t_a2dFT -> Sing t_a2dFU -> Sing (Apply (Apply (Apply FlipSym0 t_a2dFS) t_a2dFT) t_a2dFU :: c_a2dBK)
type family ($) (a_a2dEc :: (~>) a_a2dBF b_a2dBG) (a_a2dEd :: a_a2dBF) :: b_a2dBG
infixr 0 $
(%$) :: forall a_a2dBF b_a2dBG (t_a2dFO :: (~>) a_a2dBF b_a2dBG) (t_a2dFP :: a_a2dBF). Sing t_a2dFO -> Sing t_a2dFP -> Sing (Apply (Apply ($@#@$) t_a2dFO) t_a2dFP :: b_a2dBG)
infixr 0 %$
type family (&) (a_a36OS :: a_a36OF) (a_a36OT :: (~>) a_a36OF b_a36OG) :: b_a36OG
infixl 1 &
(%&) :: forall a_a36OF b_a36OG (t_a36Pq :: a_a36OF) (t_a36Pr :: (~>) a_a36OF b_a36OG). Sing t_a36Pq -> Sing t_a36Pr -> Sing (Apply (Apply (&@#@$) t_a36Pq) t_a36Pr :: b_a36OG)
infixl 1 %&
type family On (a_a36OY :: (~>) b_a36OH ((~>) b_a36OH c_a36OI)) (a_a36OZ :: (~>) a_a36OJ b_a36OH) (a_a36P0 :: a_a36OJ) (a_a36P1 :: a_a36OJ) :: c_a36OI
infixl 0 `On`
sOn :: forall b_a36OH c_a36OI a_a36OJ (t_a36Pu :: (~>) b_a36OH ((~>) b_a36OH c_a36OI)) (t_a36Pv :: (~>) a_a36OJ b_a36OH) (t_a36Pw :: a_a36OJ) (t_a36Px :: a_a36OJ). Sing t_a36Pu -> Sing t_a36Pv -> Sing t_a36Pw -> Sing t_a36Px -> Sing (Apply (Apply (Apply (Apply OnSym0 t_a36Pu) t_a36Pv) t_a36Pw) t_a36Px :: c_a36OI)
infixl 0 `sOn`
data IdSym0 :: forall a6989586621679538766. (~>) a6989586621679538766 a6989586621679538766
type IdSym1 (a6989586621679538961 :: a6989586621679538766) = Id a6989586621679538961
data ConstSym0 :: forall a6989586621679538764 b6989586621679538765. (~>) a6989586621679538764 ((~>) b6989586621679538765 a6989586621679538764)
data ConstSym1 (a6989586621679538946 :: a6989586621679538764) :: forall b6989586621679538765. (~>) b6989586621679538765 a6989586621679538764
type ConstSym2 (a6989586621679538946 :: a6989586621679538764) (a6989586621679538947 :: b6989586621679538765) = Const a6989586621679538946 a6989586621679538947
data (.@#@$) :: forall a6989586621679538763 b6989586621679538761 c6989586621679538762. (~>) ((~>) b6989586621679538761 c6989586621679538762) ((~>) ((~>) a6989586621679538763 b6989586621679538761) ((~>) a6989586621679538763 c6989586621679538762))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679538927 :: (~>) b6989586621679538761 c6989586621679538762) :: forall a6989586621679538763. (~>) ((~>) a6989586621679538763 b6989586621679538761) ((~>) a6989586621679538763 c6989586621679538762)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679538927 :: (~>) b6989586621679538761 c6989586621679538762) (a6989586621679538928 :: (~>) a6989586621679538763 b6989586621679538761) :: (~>) a6989586621679538763 c6989586621679538762
infixr 9 .@#@$$$
type (.@#@$$$$) (a6989586621679538927 :: (~>) b6989586621679538761 c6989586621679538762) (a6989586621679538928 :: (~>) a6989586621679538763 b6989586621679538761) (a6989586621679538929 :: a6989586621679538763) = (:.) a6989586621679538927 a6989586621679538928 a6989586621679538929
data FlipSym0 :: forall a6989586621679538758 b6989586621679538759 c6989586621679538760. (~>) ((~>) a6989586621679538758 ((~>) b6989586621679538759 c6989586621679538760)) ((~>) b6989586621679538759 ((~>) a6989586621679538758 c6989586621679538760))
data FlipSym1 (a6989586621679538918 :: (~>) a6989586621679538758 ((~>) b6989586621679538759 c6989586621679538760)) :: (~>) b6989586621679538759 ((~>) a6989586621679538758 c6989586621679538760)
data FlipSym2 (a6989586621679538918 :: (~>) a6989586621679538758 ((~>) b6989586621679538759 c6989586621679538760)) (a6989586621679538919 :: b6989586621679538759) :: (~>) a6989586621679538758 c6989586621679538760
type FlipSym3 (a6989586621679538918 :: (~>) a6989586621679538758 ((~>) b6989586621679538759 c6989586621679538760)) (a6989586621679538919 :: b6989586621679538759) (a6989586621679538920 :: a6989586621679538758) = Flip a6989586621679538918 a6989586621679538919 a6989586621679538920
data ($@#@$) :: forall a6989586621679538755 b6989586621679538756. (~>) ((~>) a6989586621679538755 b6989586621679538756) ((~>) a6989586621679538755 b6989586621679538756)
infixr 0 $@#@$
data ($@#@$$) (a6989586621679538912 :: (~>) a6989586621679538755 b6989586621679538756) :: (~>) a6989586621679538755 b6989586621679538756
infixr 0 $@#@$$
type ($@#@$$$) (a6989586621679538912 :: (~>) a6989586621679538755 b6989586621679538756) (a6989586621679538913 :: a6989586621679538755) = ($) a6989586621679538912 a6989586621679538913
data (&@#@$) :: forall a6989586621679750981 b6989586621679750982. (~>) a6989586621679750981 ((~>) ((~>) a6989586621679750981 b6989586621679750982) b6989586621679750982)
infixl 1 &@#@$
data (&@#@$$) (a6989586621679750994 :: a6989586621679750981) :: forall b6989586621679750982. (~>) ((~>) a6989586621679750981 b6989586621679750982) b6989586621679750982
infixl 1 &@#@$$
type (&@#@$$$) (a6989586621679750994 :: a6989586621679750981) (a6989586621679750995 :: (~>) a6989586621679750981 b6989586621679750982) = (&) a6989586621679750994 a6989586621679750995
data OnSym0 :: forall a6989586621679750985 b6989586621679750983 c6989586621679750984. (~>) ((~>) b6989586621679750983 ((~>) b6989586621679750983 c6989586621679750984)) ((~>) ((~>) a6989586621679750985 b6989586621679750983) ((~>) a6989586621679750985 ((~>) a6989586621679750985 c6989586621679750984)))
infixl 0 `OnSym0`
data OnSym1 (a6989586621679751000 :: (~>) b6989586621679750983 ((~>) b6989586621679750983 c6989586621679750984)) :: forall a6989586621679750985. (~>) ((~>) a6989586621679750985 b6989586621679750983) ((~>) a6989586621679750985 ((~>) a6989586621679750985 c6989586621679750984))
infixl 0 `OnSym1`
data OnSym2 (a6989586621679751000 :: (~>) b6989586621679750983 ((~>) b6989586621679750983 c6989586621679750984)) (a6989586621679751001 :: (~>) a6989586621679750985 b6989586621679750983) :: (~>) a6989586621679750985 ((~>) a6989586621679750985 c6989586621679750984)
infixl 0 `OnSym2`
data OnSym3 (a6989586621679751000 :: (~>) b6989586621679750983 ((~>) b6989586621679750983 c6989586621679750984)) (a6989586621679751001 :: (~>) a6989586621679750985 b6989586621679750983) (a6989586621679751002 :: a6989586621679750985) :: (~>) a6989586621679750985 c6989586621679750984
infixl 0 `OnSym3`
type OnSym4 (a6989586621679751000 :: (~>) b6989586621679750983 ((~>) b6989586621679750983 c6989586621679750984)) (a6989586621679751001 :: (~>) a6989586621679750985 b6989586621679750983) (a6989586621679751002 :: a6989586621679750985) (a6989586621679751003 :: a6989586621679750985) = On a6989586621679751000 a6989586621679751001 a6989586621679751002 a6989586621679751003
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.OnSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Function.OnSym0
instance forall a6989586621679750985 b6989586621679750983 c6989586621679750984 (a6989586621679751000 :: b6989586621679750983 Data.Singletons.Internal.~> (b6989586621679750983 Data.Singletons.Internal.~> c6989586621679750984)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.OnSym1 a6989586621679751000)
instance forall b c a (d :: b Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> c)). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Function.OnSym1 d)
instance forall a6989586621679750985 b6989586621679750983 c6989586621679750984 (a6989586621679751001 :: b6989586621679750983 Data.Singletons.Internal.~> (b6989586621679750983 Data.Singletons.Internal.~> c6989586621679750984)) (a6989586621679751000 :: a6989586621679750985 Data.Singletons.Internal.~> b6989586621679750983). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.OnSym2 a6989586621679751001 a6989586621679751000)
instance forall b c a (d1 :: b Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> c)) (d2 :: a Data.Singletons.Internal.~> b). (Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Function.OnSym2 d1 d2)
instance forall a6989586621679750985 b6989586621679750983 c6989586621679750984 (a6989586621679751002 :: b6989586621679750983 Data.Singletons.Internal.~> (b6989586621679750983 Data.Singletons.Internal.~> c6989586621679750984)) (a6989586621679751001 :: a6989586621679750985 Data.Singletons.Internal.~> b6989586621679750983) (a6989586621679751000 :: a6989586621679750985). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.OnSym3 a6989586621679751002 a6989586621679751001 a6989586621679751000)
instance forall b c a (d1 :: b Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> c)) (d2 :: a Data.Singletons.Internal.~> b) (d3 :: a). (Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2, Data.Singletons.Internal.SingI d3) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Function.OnSym3 d1 d2 d3)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.&@#@$)
instance Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Function.&@#@$)
instance forall b6989586621679750982 a6989586621679750981 (a6989586621679750994 :: a6989586621679750981). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Function.&@#@$$) a6989586621679750994)
instance forall a b (d :: a). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Function.&@#@$$) d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.Lambda_6989586621679751016Sym0
instance forall k2 k3 k4 k5 k6 (ty6989586621679751012 :: k5 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679751016Sym1 ty6989586621679751012)
instance forall k2 k3 k4 k5 k6 (f6989586621679751013 :: k5 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> k6)) (ty6989586621679751012 :: k4 Data.Singletons.Internal.~> k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679751016Sym2 f6989586621679751013 ty6989586621679751012)
instance forall k2 k3 k4 k5 k6 (a_69895866216797510086989586621679751014 :: k5 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> k6)) (f6989586621679751013 :: k4 Data.Singletons.Internal.~> k5) (ty6989586621679751012 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679751016Sym3 a_69895866216797510086989586621679751014 f6989586621679751013 ty6989586621679751012)
instance forall k2 k3 k4 k5 k6 (a_69895866216797510106989586621679751015 :: k5 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> k6)) (a_69895866216797510086989586621679751014 :: k4 Data.Singletons.Internal.~> k5) (f6989586621679751013 :: k3) (ty6989586621679751012 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679751016Sym4 a_69895866216797510106989586621679751015 a_69895866216797510086989586621679751014 f6989586621679751013 ty6989586621679751012)
instance forall k2 k3 k4 k5 k6 (t6989586621679751020 :: k5 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> k6)) (a_69895866216797510106989586621679751015 :: k4 Data.Singletons.Internal.~> k5) (a_69895866216797510086989586621679751014 :: k3) (f6989586621679751013 :: k2) (ty6989586621679751012 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679751016Sym5 t6989586621679751020 a_69895866216797510106989586621679751015 a_69895866216797510086989586621679751014 f6989586621679751013 ty6989586621679751012)


-- | Defines the promoted and singleton version of Bounded, <a>PBounded</a>
--   and <a>SBounded</a>
module Data.Singletons.Prelude.Enum
class PBounded (a_a38wk :: Type) where {
    type family MinBound :: a_a38wk;
    type family MaxBound :: a_a38wk;
}
class SBounded a_a38wk
sMinBound :: SBounded a_a38wk => Sing (MinBoundSym0 :: a_a38wk)
sMaxBound :: SBounded a_a38wk => Sing (MaxBoundSym0 :: a_a38wk)
class PEnum (a_a39Ce :: Type) where {
    type family Succ (arg_a39GO :: a_a39Ce) :: a_a39Ce;
    type family Pred (arg_a39GQ :: a_a39Ce) :: a_a39Ce;
    type family ToEnum (arg_a39GS :: Nat) :: a_a39Ce;
    type family FromEnum (arg_a39GU :: a_a39Ce) :: Nat;
    type family EnumFromTo (arg_a39GW :: a_a39Ce) (arg_a39GX :: a_a39Ce) :: [a_a39Ce];
    type family EnumFromThenTo (arg_a39H0 :: a_a39Ce) (arg_a39H1 :: a_a39Ce) (arg_a39H2 :: a_a39Ce) :: [a_a39Ce];
    type Succ a_a39Hh = Apply Succ_6989586621679762056Sym0 a_a39Hh;
    type Pred a_a39Hq = Apply Pred_6989586621679762065Sym0 a_a39Hq;
    type EnumFromTo a_a39HA a_a39HB = Apply (Apply EnumFromTo_6989586621679762076Sym0 a_a39HA) a_a39HB;
    type EnumFromThenTo a_a39HP a_a39HQ a_a39HR = Apply (Apply (Apply EnumFromThenTo_6989586621679762092Sym0 a_a39HP) a_a39HQ) a_a39HR;
}
class SEnum a_a39Ce
sSucc :: forall (t_a39JM :: a_a39Ce). SEnum a_a39Ce => Sing t_a39JM -> Sing (Apply SuccSym0 t_a39JM :: a_a39Ce)
sPred :: forall (t_a39JO :: a_a39Ce). SEnum a_a39Ce => Sing t_a39JO -> Sing (Apply PredSym0 t_a39JO :: a_a39Ce)
sToEnum :: forall (t_a39JQ :: Nat). SEnum a_a39Ce => Sing t_a39JQ -> Sing (Apply ToEnumSym0 t_a39JQ :: a_a39Ce)
sFromEnum :: forall (t_a39JS :: a_a39Ce). SEnum a_a39Ce => Sing t_a39JS -> Sing (Apply FromEnumSym0 t_a39JS :: Nat)
sEnumFromTo :: forall (t_a39JU :: a_a39Ce) (t_a39JV :: a_a39Ce). SEnum a_a39Ce => Sing t_a39JU -> Sing t_a39JV -> Sing (Apply (Apply EnumFromToSym0 t_a39JU) t_a39JV :: [a_a39Ce])
sEnumFromThenTo :: forall (t_a39JY :: a_a39Ce) (t_a39JZ :: a_a39Ce) (t_a39K0 :: a_a39Ce). SEnum a_a39Ce => Sing t_a39JY -> Sing t_a39JZ -> Sing t_a39K0 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a39JY) t_a39JZ) t_a39K0 :: [a_a39Ce])
sSucc :: forall (t_a39JM :: a_a39Ce). (SEnum a_a39Ce, (Apply SuccSym0 t_a39JM :: a_a39Ce) ~ Apply Succ_6989586621679762056Sym0 t_a39JM) => Sing t_a39JM -> Sing (Apply SuccSym0 t_a39JM :: a_a39Ce)
sPred :: forall (t_a39JO :: a_a39Ce). (SEnum a_a39Ce, (Apply PredSym0 t_a39JO :: a_a39Ce) ~ Apply Pred_6989586621679762065Sym0 t_a39JO) => Sing t_a39JO -> Sing (Apply PredSym0 t_a39JO :: a_a39Ce)
sEnumFromTo :: forall (t_a39JU :: a_a39Ce) (t_a39JV :: a_a39Ce). (SEnum a_a39Ce, (Apply (Apply EnumFromToSym0 t_a39JU) t_a39JV :: [a_a39Ce]) ~ Apply (Apply EnumFromTo_6989586621679762076Sym0 t_a39JU) t_a39JV) => Sing t_a39JU -> Sing t_a39JV -> Sing (Apply (Apply EnumFromToSym0 t_a39JU) t_a39JV :: [a_a39Ce])
sEnumFromThenTo :: forall (t_a39JY :: a_a39Ce) (t_a39JZ :: a_a39Ce) (t_a39K0 :: a_a39Ce). (SEnum a_a39Ce, (Apply (Apply (Apply EnumFromThenToSym0 t_a39JY) t_a39JZ) t_a39K0 :: [a_a39Ce]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679762092Sym0 t_a39JY) t_a39JZ) t_a39K0) => Sing t_a39JY -> Sing t_a39JZ -> Sing t_a39K0 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a39JY) t_a39JZ) t_a39K0 :: [a_a39Ce])
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data SuccSym0 :: forall a6989586621679761742. (~>) a6989586621679761742 a6989586621679761742
type SuccSym1 (arg6989586621679762026 :: a6989586621679761742) = Succ arg6989586621679762026
data PredSym0 :: forall a6989586621679761742. (~>) a6989586621679761742 a6989586621679761742
type PredSym1 (arg6989586621679762028 :: a6989586621679761742) = Pred arg6989586621679762028
data ToEnumSym0 :: forall a6989586621679761742. (~>) Nat a6989586621679761742
type ToEnumSym1 (arg6989586621679762030 :: Nat) = ToEnum arg6989586621679762030
data FromEnumSym0 :: forall a6989586621679761742. (~>) a6989586621679761742 Nat
type FromEnumSym1 (arg6989586621679762032 :: a6989586621679761742) = FromEnum arg6989586621679762032
data EnumFromToSym0 :: forall a6989586621679761742. (~>) a6989586621679761742 ((~>) a6989586621679761742 [a6989586621679761742])
data EnumFromToSym1 (arg6989586621679762034 :: a6989586621679761742) :: (~>) a6989586621679761742 [a6989586621679761742]
type EnumFromToSym2 (arg6989586621679762034 :: a6989586621679761742) (arg6989586621679762035 :: a6989586621679761742) = EnumFromTo arg6989586621679762034 arg6989586621679762035
data EnumFromThenToSym0 :: forall a6989586621679761742. (~>) a6989586621679761742 ((~>) a6989586621679761742 ((~>) a6989586621679761742 [a6989586621679761742]))
data EnumFromThenToSym1 (arg6989586621679762038 :: a6989586621679761742) :: (~>) a6989586621679761742 ((~>) a6989586621679761742 [a6989586621679761742])
data EnumFromThenToSym2 (arg6989586621679762038 :: a6989586621679761742) (arg6989586621679762039 :: a6989586621679761742) :: (~>) a6989586621679761742 [a6989586621679761742]
type EnumFromThenToSym3 (arg6989586621679762038 :: a6989586621679761742) (arg6989586621679762039 :: a6989586621679761742) (arg6989586621679762040 :: a6989586621679761742) = EnumFromThenTo arg6989586621679762038 arg6989586621679762039 arg6989586621679762040
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679785675Sym0
instance Data.Singletons.Prelude.Enum.PEnum ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679785669Sym0
instance Data.Singletons.Prelude.Enum.SEnum ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679785658Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679785652Sym0
instance Data.Singletons.Prelude.Enum.SEnum GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679785634Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679785628Sym0
instance Data.Singletons.Prelude.Enum.SEnum GHC.Types.Bool
instance Data.Singletons.Prelude.Enum.SEnum GHC.Types.Nat
instance Data.Singletons.Prelude.Enum.SEnum a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Enum.SuccSym0
instance Data.Singletons.Prelude.Enum.SEnum a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Enum.PredSym0
instance Data.Singletons.Prelude.Enum.SEnum a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Enum.ToEnumSym0
instance Data.Singletons.Prelude.Enum.SEnum a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Enum.FromEnumSym0
instance Data.Singletons.Prelude.Enum.SEnum a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Enum.EnumFromToSym0
instance forall a (d :: a). (Data.Singletons.Prelude.Enum.SEnum a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Enum.EnumFromToSym1 d)
instance Data.Singletons.Prelude.Enum.SEnum a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Enum.EnumFromThenToSym0
instance forall a (d :: a). (Data.Singletons.Prelude.Enum.SEnum a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Enum.EnumFromThenToSym1 d)
instance forall a (d1 :: a) (d2 :: a). (Data.Singletons.Prelude.Enum.SEnum a, Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Enum.EnumFromThenToSym2 d1 d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679762159Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Nat
instance forall a6989586621679761742 (a6989586621679762156 :: a6989586621679761742). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679762159Sym1 a6989586621679762156)
instance forall a6989586621679761742 (a6989586621679762157 :: a6989586621679761742) (a6989586621679762156 :: a6989586621679761742). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679762159Sym2 a6989586621679762157 a6989586621679762156)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679762137Sym0
instance forall a6989586621679761742 (a6989586621679762135 :: a6989586621679761742). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679762137Sym1 a6989586621679762135)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679762122Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679762115Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Pred_6989586621679762108Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Succ_6989586621679762101Sym0
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 forall a6989586621679761742 (arg6989586621679762034 :: a6989586621679761742). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromToSym1 arg6989586621679762034)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromToSym0
instance forall a6989586621679761742 (arg6989586621679762039 :: a6989586621679761742) (arg6989586621679762038 :: a6989586621679761742). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenToSym2 arg6989586621679762039 arg6989586621679762038)
instance forall a6989586621679761742 (arg6989586621679762038 :: a6989586621679761742). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenToSym1 arg6989586621679762038)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenToSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Succ_6989586621679762056Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Pred_6989586621679762065Sym0
instance forall a6989586621679761742 (a6989586621679762074 :: a6989586621679761742). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679762076Sym1 a6989586621679762074)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679762076Sym0
instance forall a6989586621679761742 (a6989586621679762090 :: a6989586621679761742) (a6989586621679762089 :: a6989586621679761742). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679762092Sym2 a6989586621679762090 a6989586621679762089)
instance forall a6989586621679761742 (a6989586621679762089 :: a6989586621679761742). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679762092Sym1 a6989586621679762089)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679762092Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Lambda_6989586621679762049Sym0
instance forall k1 k2 (a_69895866216797620446989586621679762048 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Lambda_6989586621679762049Sym1 a_69895866216797620446989586621679762048)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EftNatSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Enum.EftNatSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EftNatSym1 a6989586621679761995)
instance Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Enum.EftNatSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EfdtNatSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Enum.EfdtNatSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EfdtNatSym1 a6989586621679761977)
instance Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Enum.EfdtNatSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EfdtNatSym2 a6989586621679761978 a6989586621679761977)
instance (Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Enum.EfdtNatSym2 d1 d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EfdtNatUpSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Enum.EfdtNatUpSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EfdtNatUpSym1 a6989586621679761920)
instance Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Enum.EfdtNatUpSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EfdtNatUpSym2 a6989586621679761921 a6989586621679761920)
instance (Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Enum.EfdtNatUpSym2 d1 d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EfdtNatDnSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Enum.EfdtNatDnSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EfdtNatDnSym1 a6989586621679761863)
instance Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Enum.EfdtNatDnSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EfdtNatDnSym2 a6989586621679761864 a6989586621679761863)
instance (Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Enum.EfdtNatDnSym2 d1 d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679762005GoSym0
instance forall k1 k2 k3 k4 (x06989586621679762003 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679762005GoSym1 x06989586621679762003)
instance forall k1 k2 k3 k4 (y6989586621679762004 :: k4) (x06989586621679762003 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679762005GoSym2 y6989586621679762004 x06989586621679762003)
instance forall k1 k2 k3 k4 (arg_69895866216797617756989586621679761999 :: k4) (y6989586621679762004 :: k3) (x06989586621679762003 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679762005GoSym3 arg_69895866216797617756989586621679761999 y6989586621679762004 x06989586621679762003)
instance forall k1 k2 k3 k4 (arg_69895866216797617776989586621679762000 :: k4) (arg_69895866216797617756989586621679761999 :: k3) (y6989586621679762004 :: k2) (x06989586621679762003 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679762005GoSym4 arg_69895866216797617776989586621679762000 arg_69895866216797617756989586621679761999 y6989586621679762004 x06989586621679762003)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679762013Scrutinee_6989586621679761779Sym0
instance forall k1 k2 k3 k4 (x06989586621679762003 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679762013Scrutinee_6989586621679761779Sym1 x06989586621679762003)
instance forall k1 k2 k3 k4 (y6989586621679762004 :: k4) (x06989586621679762003 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679762013Scrutinee_6989586621679761779Sym2 y6989586621679762004 x06989586621679762003)
instance forall k1 k2 k3 k4 (x6989586621679762012 :: k4) (y6989586621679762004 :: k3) (x06989586621679762003 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679762013Scrutinee_6989586621679761779Sym3 x6989586621679762012 y6989586621679762004 x06989586621679762003)
instance forall k1 k2 k3 k4 (arg_69895866216797617756989586621679761999 :: k4) (x6989586621679762012 :: k3) (y6989586621679762004 :: k3) (x06989586621679762003 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679762013Scrutinee_6989586621679761779Sym4 arg_69895866216797617756989586621679761999 x6989586621679762012 y6989586621679762004 x06989586621679762003)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679761946Go_upSym0
instance forall k1 k2 k3 k4 (x16989586621679761931 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761946Go_upSym1 x16989586621679761931)
instance forall k1 k2 k3 k4 (x26989586621679761932 :: k4) (x16989586621679761931 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761946Go_upSym2 x26989586621679761932 x16989586621679761931)
instance forall k1 k2 k3 k4 (y6989586621679761933 :: k4) (x26989586621679761932 :: k4) (x16989586621679761931 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761946Go_upSym3 y6989586621679761933 x26989586621679761932 x16989586621679761931)
instance forall k1 k2 k3 k4 (arg_69895866216797617876989586621679761926 :: k4) (y6989586621679761933 :: k4) (x26989586621679761932 :: k4) (x16989586621679761931 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761946Go_upSym4 arg_69895866216797617876989586621679761926 y6989586621679761933 x26989586621679761932 x16989586621679761931)
instance forall k1 k2 k3 k4 (arg_69895866216797617896989586621679761927 :: k4) (arg_69895866216797617876989586621679761926 :: k4) (y6989586621679761933 :: k4) (x26989586621679761932 :: k3) (x16989586621679761931 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761946Go_upSym5 arg_69895866216797617896989586621679761927 arg_69895866216797617876989586621679761926 y6989586621679761933 x26989586621679761932 x16989586621679761931)
instance forall k1 k2 k3 k4 (arg_69895866216797617916989586621679761928 :: k4) (arg_69895866216797617896989586621679761927 :: k4) (arg_69895866216797617876989586621679761926 :: k4) (y6989586621679761933 :: k3) (x26989586621679761932 :: k2) (x16989586621679761931 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761946Go_upSym6 arg_69895866216797617916989586621679761928 arg_69895866216797617896989586621679761927 arg_69895866216797617876989586621679761926 y6989586621679761933 x26989586621679761932 x16989586621679761931)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679761946Y'Sym0
instance forall k1 k2 k3 k4 (x16989586621679761931 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761946Y'Sym1 x16989586621679761931)
instance forall k1 k2 k3 k4 (x26989586621679761932 :: k4) (x16989586621679761931 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761946Y'Sym2 x26989586621679761932 x16989586621679761931)
instance forall k1 k2 k3 k4 (y6989586621679761933 :: k4) (x26989586621679761932 :: k4) (x16989586621679761931 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761946Y'Sym3 y6989586621679761933 x26989586621679761932 x16989586621679761931)
instance forall k1 k2 k3 k4 (arg_69895866216797617876989586621679761926 :: k4) (y6989586621679761933 :: k4) (x26989586621679761932 :: k4) (x16989586621679761931 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761946Y'Sym4 arg_69895866216797617876989586621679761926 y6989586621679761933 x26989586621679761932 x16989586621679761931)
instance forall k1 k2 k3 k4 (arg_69895866216797617896989586621679761927 :: k4) (arg_69895866216797617876989586621679761926 :: k4) (y6989586621679761933 :: k4) (x26989586621679761932 :: k3) (x16989586621679761931 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761946Y'Sym5 arg_69895866216797617896989586621679761927 arg_69895866216797617876989586621679761926 y6989586621679761933 x26989586621679761932 x16989586621679761931)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679761946DeltaSym0
instance forall k1 k2 k3 k4 k5 (x16989586621679761931 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761946DeltaSym1 x16989586621679761931)
instance forall k1 k2 k3 k4 k5 (x26989586621679761932 :: k5) (x16989586621679761931 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761946DeltaSym2 x26989586621679761932 x16989586621679761931)
instance forall k1 k2 k3 k4 k5 (y6989586621679761933 :: k5) (x26989586621679761932 :: k5) (x16989586621679761931 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761946DeltaSym3 y6989586621679761933 x26989586621679761932 x16989586621679761931)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797617876989586621679761926 :: k5) (y6989586621679761933 :: k5) (x26989586621679761932 :: k4) (x16989586621679761931 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761946DeltaSym4 arg_69895866216797617876989586621679761926 y6989586621679761933 x26989586621679761932 x16989586621679761931)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797617896989586621679761927 :: k5) (arg_69895866216797617876989586621679761926 :: k5) (y6989586621679761933 :: k4) (x26989586621679761932 :: k3) (x16989586621679761931 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761946DeltaSym5 arg_69895866216797617896989586621679761927 arg_69895866216797617876989586621679761926 y6989586621679761933 x26989586621679761932 x16989586621679761931)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679761936Scrutinee_6989586621679761793Sym0
instance forall k1 k2 k3 k4 k5 (x16989586621679761931 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761936Scrutinee_6989586621679761793Sym1 x16989586621679761931)
instance forall k1 k2 k3 k4 k5 (x26989586621679761932 :: k5) (x16989586621679761931 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761936Scrutinee_6989586621679761793Sym2 x26989586621679761932 x16989586621679761931)
instance forall k1 k2 k3 k4 k5 (y6989586621679761933 :: k5) (x26989586621679761932 :: k4) (x16989586621679761931 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761936Scrutinee_6989586621679761793Sym3 y6989586621679761933 x26989586621679761932 x16989586621679761931)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797617876989586621679761926 :: k5) (y6989586621679761933 :: k4) (x26989586621679761932 :: k5) (x16989586621679761931 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761936Scrutinee_6989586621679761793Sym4 arg_69895866216797617876989586621679761926 y6989586621679761933 x26989586621679761932 x16989586621679761931)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797617896989586621679761927 :: k5) (arg_69895866216797617876989586621679761926 :: k4) (y6989586621679761933 :: k5) (x26989586621679761932 :: k3) (x16989586621679761931 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761936Scrutinee_6989586621679761793Sym5 arg_69895866216797617896989586621679761927 arg_69895866216797617876989586621679761926 y6989586621679761933 x26989586621679761932 x16989586621679761931)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679761889Go_dnSym0
instance forall k1 k2 k3 k4 (x16989586621679761874 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761889Go_dnSym1 x16989586621679761874)
instance forall k1 k2 k3 k4 (x26989586621679761875 :: k4) (x16989586621679761874 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761889Go_dnSym2 x26989586621679761875 x16989586621679761874)
instance forall k1 k2 k3 k4 (y6989586621679761876 :: k4) (x26989586621679761875 :: k4) (x16989586621679761874 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761889Go_dnSym3 y6989586621679761876 x26989586621679761875 x16989586621679761874)
instance forall k1 k2 k3 k4 (arg_69895866216797617976989586621679761869 :: k4) (y6989586621679761876 :: k4) (x26989586621679761875 :: k4) (x16989586621679761874 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761889Go_dnSym4 arg_69895866216797617976989586621679761869 y6989586621679761876 x26989586621679761875 x16989586621679761874)
instance forall k1 k2 k3 k4 (arg_69895866216797617996989586621679761870 :: k4) (arg_69895866216797617976989586621679761869 :: k4) (y6989586621679761876 :: k4) (x26989586621679761875 :: k3) (x16989586621679761874 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761889Go_dnSym5 arg_69895866216797617996989586621679761870 arg_69895866216797617976989586621679761869 y6989586621679761876 x26989586621679761875 x16989586621679761874)
instance forall k1 k2 k3 k4 (arg_69895866216797618016989586621679761871 :: k4) (arg_69895866216797617996989586621679761870 :: k4) (arg_69895866216797617976989586621679761869 :: k4) (y6989586621679761876 :: k3) (x26989586621679761875 :: k2) (x16989586621679761874 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761889Go_dnSym6 arg_69895866216797618016989586621679761871 arg_69895866216797617996989586621679761870 arg_69895866216797617976989586621679761869 y6989586621679761876 x26989586621679761875 x16989586621679761874)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679761889Y'Sym0
instance forall k1 k2 k3 k4 (x16989586621679761874 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761889Y'Sym1 x16989586621679761874)
instance forall k1 k2 k3 k4 (x26989586621679761875 :: k4) (x16989586621679761874 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761889Y'Sym2 x26989586621679761875 x16989586621679761874)
instance forall k1 k2 k3 k4 (y6989586621679761876 :: k4) (x26989586621679761875 :: k4) (x16989586621679761874 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761889Y'Sym3 y6989586621679761876 x26989586621679761875 x16989586621679761874)
instance forall k1 k2 k3 k4 (arg_69895866216797617976989586621679761869 :: k4) (y6989586621679761876 :: k4) (x26989586621679761875 :: k4) (x16989586621679761874 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761889Y'Sym4 arg_69895866216797617976989586621679761869 y6989586621679761876 x26989586621679761875 x16989586621679761874)
instance forall k1 k2 k3 k4 (arg_69895866216797617996989586621679761870 :: k4) (arg_69895866216797617976989586621679761869 :: k4) (y6989586621679761876 :: k4) (x26989586621679761875 :: k3) (x16989586621679761874 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761889Y'Sym5 arg_69895866216797617996989586621679761870 arg_69895866216797617976989586621679761869 y6989586621679761876 x26989586621679761875 x16989586621679761874)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679761889DeltaSym0
instance forall k1 k2 k3 k4 k5 (x16989586621679761874 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761889DeltaSym1 x16989586621679761874)
instance forall k1 k2 k3 k4 k5 (x26989586621679761875 :: k5) (x16989586621679761874 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761889DeltaSym2 x26989586621679761875 x16989586621679761874)
instance forall k1 k2 k3 k4 k5 (y6989586621679761876 :: k5) (x26989586621679761875 :: k5) (x16989586621679761874 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761889DeltaSym3 y6989586621679761876 x26989586621679761875 x16989586621679761874)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797617976989586621679761869 :: k5) (y6989586621679761876 :: k5) (x26989586621679761875 :: k4) (x16989586621679761874 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761889DeltaSym4 arg_69895866216797617976989586621679761869 y6989586621679761876 x26989586621679761875 x16989586621679761874)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797617996989586621679761870 :: k5) (arg_69895866216797617976989586621679761869 :: k5) (y6989586621679761876 :: k4) (x26989586621679761875 :: k3) (x16989586621679761874 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761889DeltaSym5 arg_69895866216797617996989586621679761870 arg_69895866216797617976989586621679761869 y6989586621679761876 x26989586621679761875 x16989586621679761874)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679761879Scrutinee_6989586621679761803Sym0
instance forall k1 k2 k3 k4 k5 (x16989586621679761874 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761879Scrutinee_6989586621679761803Sym1 x16989586621679761874)
instance forall k1 k2 k3 k4 k5 (x26989586621679761875 :: k5) (x16989586621679761874 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761879Scrutinee_6989586621679761803Sym2 x26989586621679761875 x16989586621679761874)
instance forall k1 k2 k3 k4 k5 (y6989586621679761876 :: k5) (x26989586621679761875 :: k4) (x16989586621679761874 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761879Scrutinee_6989586621679761803Sym3 y6989586621679761876 x26989586621679761875 x16989586621679761874)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797617976989586621679761869 :: k5) (y6989586621679761876 :: k4) (x26989586621679761875 :: k5) (x16989586621679761874 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761879Scrutinee_6989586621679761803Sym4 arg_69895866216797617976989586621679761869 y6989586621679761876 x26989586621679761875 x16989586621679761874)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797617996989586621679761870 :: k5) (arg_69895866216797617976989586621679761869 :: k4) (y6989586621679761876 :: k5) (x26989586621679761875 :: k3) (x16989586621679761874 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679761879Scrutinee_6989586621679761803Sym5 arg_69895866216797617996989586621679761870 arg_69895866216797617976989586621679761869 y6989586621679761876 x26989586621679761875 x16989586621679761874)
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 (Data.Functor.Identity.Identity a)
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 a => Data.Singletons.Prelude.Enum.SBounded (Data.Functor.Identity.Identity a)
instance Data.Singletons.Prelude.Enum.SBounded GHC.Types.Bool
instance Data.Singletons.Prelude.Enum.SBounded GHC.Types.Ordering
instance Data.Singletons.Prelude.Enum.SBounded ()


-- | Defines the SShow singleton version of the Show type class.
module Data.Singletons.Prelude.Show
class PShow (a_a5nq5 :: Type) where {
    type family ShowsPrec (arg_a5nVx :: Nat) (arg_a5nVy :: a_a5nq5) (arg_a5nVz :: Symbol) :: Symbol;
    type family Show_ (arg_a5nVD :: a_a5nq5) :: Symbol;
    type family ShowList (arg_a5nVF :: [a_a5nq5]) (arg_a5nVG :: Symbol) :: Symbol;
    type ShowsPrec a_a5nVR a_a5nVS a_a5nVT = Apply (Apply (Apply ShowsPrec_6989586621680293434Sym0 a_a5nVR) a_a5nVS) a_a5nVT;
    type Show_ a_a5nW2 = Apply Show__6989586621680293443Sym0 a_a5nW2;
    type ShowList a_a5nWc a_a5nWd = Apply (Apply ShowList_6989586621680293454Sym0 a_a5nWc) a_a5nWd;
}
class SShow a_a5nq5
sShowsPrec :: forall (t_a5nZG :: Nat) (t_a5nZH :: a_a5nq5) (t_a5nZI :: Symbol). SShow a_a5nq5 => Sing t_a5nZG -> Sing t_a5nZH -> Sing t_a5nZI -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5nZG) t_a5nZH) t_a5nZI :: Symbol)
sShow_ :: forall (t_a5nZM :: a_a5nq5). SShow a_a5nq5 => Sing t_a5nZM -> Sing (Apply Show_Sym0 t_a5nZM :: Symbol)
sShowList :: forall (t_a5nZO :: [a_a5nq5]) (t_a5nZP :: Symbol). SShow a_a5nq5 => Sing t_a5nZO -> Sing t_a5nZP -> Sing (Apply (Apply ShowListSym0 t_a5nZO) t_a5nZP :: Symbol)
sShowsPrec :: forall (t_a5nZG :: Nat) (t_a5nZH :: a_a5nq5) (t_a5nZI :: Symbol). (SShow a_a5nq5, (Apply (Apply (Apply ShowsPrecSym0 t_a5nZG) t_a5nZH) t_a5nZI :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621680293434Sym0 t_a5nZG) t_a5nZH) t_a5nZI) => Sing t_a5nZG -> Sing t_a5nZH -> Sing t_a5nZI -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5nZG) t_a5nZH) t_a5nZI :: Symbol)
sShow_ :: forall (t_a5nZM :: a_a5nq5). (SShow a_a5nq5, (Apply Show_Sym0 t_a5nZM :: Symbol) ~ Apply Show__6989586621680293443Sym0 t_a5nZM) => Sing t_a5nZM -> Sing (Apply Show_Sym0 t_a5nZM :: Symbol)
sShowList :: forall (t_a5nZO :: [a_a5nq5]) (t_a5nZP :: Symbol). (SShow a_a5nq5, (Apply (Apply ShowListSym0 t_a5nZO) t_a5nZP :: Symbol) ~ Apply (Apply ShowList_6989586621680293454Sym0 t_a5nZO) t_a5nZP) => Sing t_a5nZO -> Sing t_a5nZP -> Sing (Apply (Apply ShowListSym0 t_a5nZO) t_a5nZP :: Symbol)

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

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

-- | <a>show</a>, but with an extra underscore so that its promoted
--   counterpart (<a>Show_</a>) will not clash with the <tt>Show</tt>
--   class.
show_ :: Show a => a -> String
type family Shows (a_a5nVp :: a_a5npQ) (a_a5nVq :: Symbol) :: Symbol
sShows :: forall a_a5npQ (t_a5nZh :: a_a5npQ) (t_a5nZi :: Symbol). SShow a_a5npQ => Sing t_a5nZh -> Sing t_a5nZi -> Sing (Apply (Apply ShowsSym0 t_a5nZh) t_a5nZi :: Symbol)
type family ShowListWith (a_a5nV5 :: (~>) a_a5npP ((~>) Symbol Symbol)) (a_a5nV6 :: [a_a5npP]) (a_a5nV7 :: Symbol) :: Symbol
sShowListWith :: forall a_a5npP (t_a5nZb :: (~>) a_a5npP ((~>) Symbol Symbol)) (t_a5nZc :: [a_a5npP]) (t_a5nZd :: Symbol). Sing t_a5nZb -> Sing t_a5nZc -> Sing t_a5nZd -> Sing (Apply (Apply (Apply ShowListWithSym0 t_a5nZb) t_a5nZc) t_a5nZd :: Symbol)
type family ShowChar (a_a5nUt :: Symbol) (a_a5nUu :: Symbol) :: Symbol
sShowChar :: forall (t_a5nYX :: Symbol) (t_a5nYY :: Symbol). Sing t_a5nYX -> Sing t_a5nYY -> Sing (Apply (Apply ShowCharSym0 t_a5nYX) t_a5nYY :: Symbol)
type family ShowString (a_a5nUe :: Symbol) (a_a5nUf :: Symbol) :: Symbol
sShowString :: forall (t_a5nYR :: Symbol) (t_a5nYS :: Symbol). Sing t_a5nYR -> Sing t_a5nYS -> Sing (Apply (Apply ShowStringSym0 t_a5nYR) t_a5nYS :: Symbol)
type family ShowParen (a_a5nUz :: Bool) (a_a5nUA :: (~>) Symbol Symbol) (a_a5nUB :: Symbol) :: Symbol
sShowParen :: forall (t_a5nZ1 :: Bool) (t_a5nZ2 :: (~>) Symbol Symbol) (t_a5nZ3 :: Symbol). Sing t_a5nZ1 -> Sing t_a5nZ2 -> Sing t_a5nZ3 -> Sing (Apply (Apply (Apply ShowParenSym0 t_a5nZ1) t_a5nZ2) t_a5nZ3 :: Symbol)
type family ShowSpace (a_a5nU1 :: Symbol) :: Symbol
sShowSpace :: forall (t_a5nYP :: Symbol). Sing t_a5nYP -> Sing (Apply ShowSpaceSym0 t_a5nYP :: Symbol)
type family ShowCommaSpace (a_a5nUm :: Symbol) :: Symbol
sShowCommaSpace :: forall (t_a5nYV :: Symbol). Sing t_a5nYV -> Sing (Apply ShowCommaSpaceSym0 t_a5nYV :: Symbol)
type family AppPrec :: Nat
sAppPrec :: Sing (AppPrecSym0 :: Nat)
type family AppPrec1 :: Nat
sAppPrec1 :: Sing (AppPrec1Sym0 :: Nat)
data ShowsPrecSym0 :: forall a6989586621680291461. (~>) Nat ((~>) a6989586621680291461 ((~>) Symbol Symbol))
data ShowsPrecSym1 (arg6989586621680293411 :: Nat) :: forall a6989586621680291461. (~>) a6989586621680291461 ((~>) Symbol Symbol)
data ShowsPrecSym2 (arg6989586621680293411 :: Nat) (arg6989586621680293412 :: a6989586621680291461) :: (~>) Symbol Symbol
type ShowsPrecSym3 (arg6989586621680293411 :: Nat) (arg6989586621680293412 :: a6989586621680291461) (arg6989586621680293413 :: Symbol) = ShowsPrec arg6989586621680293411 arg6989586621680293412 arg6989586621680293413
data Show_Sym0 :: forall a6989586621680291461. (~>) a6989586621680291461 Symbol
type Show_Sym1 (arg6989586621680293417 :: a6989586621680291461) = Show_ arg6989586621680293417
data ShowListSym0 :: forall a6989586621680291461. (~>) [a6989586621680291461] ((~>) Symbol Symbol)
data ShowListSym1 (arg6989586621680293419 :: [a6989586621680291461]) :: (~>) Symbol Symbol
type ShowListSym2 (arg6989586621680293419 :: [a6989586621680291461]) (arg6989586621680293420 :: Symbol) = ShowList arg6989586621680293419 arg6989586621680293420
data ShowsSym0 :: forall a6989586621680291446. (~>) a6989586621680291446 ((~>) Symbol Symbol)
data ShowsSym1 (a6989586621680293403 :: a6989586621680291446) :: (~>) Symbol Symbol
type ShowsSym2 (a6989586621680293403 :: a6989586621680291446) (a6989586621680293404 :: Symbol) = Shows a6989586621680293403 a6989586621680293404
data ShowListWithSym0 :: forall a6989586621680291445. (~>) ((~>) a6989586621680291445 ((~>) Symbol Symbol)) ((~>) [a6989586621680291445] ((~>) Symbol Symbol))
data ShowListWithSym1 (a6989586621680293383 :: (~>) a6989586621680291445 ((~>) Symbol Symbol)) :: (~>) [a6989586621680291445] ((~>) Symbol Symbol)
data ShowListWithSym2 (a6989586621680293383 :: (~>) a6989586621680291445 ((~>) Symbol Symbol)) (a6989586621680293384 :: [a6989586621680291445]) :: (~>) Symbol Symbol
type ShowListWithSym3 (a6989586621680293383 :: (~>) a6989586621680291445 ((~>) Symbol Symbol)) (a6989586621680293384 :: [a6989586621680291445]) (a6989586621680293385 :: Symbol) = ShowListWith a6989586621680293383 a6989586621680293384 a6989586621680293385
data ShowCharSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowCharSym1 (a6989586621680293345 :: Symbol) :: (~>) Symbol Symbol
type ShowCharSym2 (a6989586621680293345 :: Symbol) (a6989586621680293346 :: Symbol) = ShowChar a6989586621680293345 a6989586621680293346
data ShowStringSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowStringSym1 (a6989586621680293330 :: Symbol) :: (~>) Symbol Symbol
type ShowStringSym2 (a6989586621680293330 :: Symbol) (a6989586621680293331 :: Symbol) = ShowString a6989586621680293330 a6989586621680293331
data ShowParenSym0 :: (~>) Bool ((~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol))
data ShowParenSym1 (a6989586621680293351 :: Bool) :: (~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol)
data ShowParenSym2 (a6989586621680293351 :: Bool) (a6989586621680293352 :: (~>) Symbol Symbol) :: (~>) Symbol Symbol
data ShowSpaceSym0 :: (~>) Symbol Symbol
type ShowSpaceSym1 (a6989586621680293317 :: Symbol) = ShowSpace a6989586621680293317
data ShowCommaSpaceSym0 :: (~>) Symbol Symbol
type ShowCommaSpaceSym1 (a6989586621680293338 :: Symbol) = ShowCommaSpace a6989586621680293338
type AppPrecSym0 = AppPrec
type AppPrec1Sym0 = AppPrec1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311748Sym0
instance Data.Singletons.Prelude.Show.PShow Data.Void.Void
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311748Sym1 a6989586621680311745)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311748Sym2 a6989586621680311746 a6989586621680311745)
instance Data.Singletons.Prelude.Show.SShow Data.Void.Void
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311720Sym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311720Sym1 a6989586621680311717)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311720Sym2 a6989586621680311718 a6989586621680311717)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311693Sym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311693Sym1 a6989586621680311690)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311693Sym2 a6989586621680311691 a6989586621680311690)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311667Sym0
instance Data.Singletons.Prelude.Show.PShow (GHC.Base.NonEmpty a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311667Sym1 a6989586621680311664)
instance forall a6989586621679070501 (a6989586621680311665 :: GHC.Types.Nat) (a6989586621680311664 :: GHC.Base.NonEmpty a6989586621679070501). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311667Sym2 a6989586621680311665 a6989586621680311664)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311633Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Either.Either a b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311633Sym1 a6989586621680311630)
instance forall a6989586621679089505 b6989586621679089506 (a6989586621680311631 :: GHC.Types.Nat) (a6989586621680311630 :: Data.Either.Either a6989586621679089505 b6989586621679089506). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311633Sym2 a6989586621680311631 a6989586621680311630)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311579Sym0
instance Data.Singletons.Prelude.Show.PShow (GHC.Maybe.Maybe a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311579Sym1 a6989586621680311576)
instance forall a3530822107858468865 (a6989586621680311577 :: GHC.Types.Nat) (a6989586621680311576 :: GHC.Maybe.Maybe a3530822107858468865). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311579Sym2 a6989586621680311577 a6989586621680311576)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311542Sym0
instance Data.Singletons.Prelude.Show.PShow ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311542Sym1 a6989586621680311539)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680311542Sym2 a6989586621680311540 a6989586621680311539)
instance Data.Singletons.Prelude.Show.SShow ()
instance Data.Singletons.Prelude.Show.SShow a => Data.Singletons.Prelude.Show.SShow (GHC.Maybe.Maybe a)
instance (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Prelude.Show.SShow b) => Data.Singletons.Prelude.Show.SShow (Data.Either.Either a b)
instance (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Prelude.Show.SShow [a]) => Data.Singletons.Prelude.Show.SShow (GHC.Base.NonEmpty a)
instance Data.Singletons.Prelude.Show.SShow GHC.Types.Bool
instance Data.Singletons.Prelude.Show.SShow GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsNatSym1 a6989586621680310930)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsNatSym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Nat
instance Data.Singletons.Prelude.Show.SShow GHC.Types.Nat
instance Data.Singletons.Prelude.Show.SShow a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Show.ShowsSym0
instance forall a (d :: a). (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Show.ShowsSym1 d)
instance Data.Singletons.Prelude.Show.SShow a => Data.Singletons.Prelude.Show.SShow [a]
instance Data.Singletons.Prelude.Show.SShow GHC.Types.Symbol
instance (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Prelude.Show.SShow b) => Data.Singletons.Prelude.Show.SShow (a, b)
instance (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Prelude.Show.SShow b, Data.Singletons.Prelude.Show.SShow c) => Data.Singletons.Prelude.Show.SShow (a, b, c)
instance (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Prelude.Show.SShow b, Data.Singletons.Prelude.Show.SShow c, Data.Singletons.Prelude.Show.SShow d) => Data.Singletons.Prelude.Show.SShow (a, b, c, d)
instance (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Prelude.Show.SShow b, Data.Singletons.Prelude.Show.SShow c, Data.Singletons.Prelude.Show.SShow d, Data.Singletons.Prelude.Show.SShow e) => Data.Singletons.Prelude.Show.SShow (a, b, c, d, e)
instance (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Prelude.Show.SShow b, Data.Singletons.Prelude.Show.SShow c, Data.Singletons.Prelude.Show.SShow d, Data.Singletons.Prelude.Show.SShow e, Data.Singletons.Prelude.Show.SShow f) => Data.Singletons.Prelude.Show.SShow (a, b, c, d, e, f)
instance (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Prelude.Show.SShow b, Data.Singletons.Prelude.Show.SShow c, Data.Singletons.Prelude.Show.SShow d, Data.Singletons.Prelude.Show.SShow e, Data.Singletons.Prelude.Show.SShow f, Data.Singletons.Prelude.Show.SShow g) => Data.Singletons.Prelude.Show.SShow (a, b, c, d, e, f, g)
instance Data.Singletons.Prelude.Show.SShow a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Show.ShowsPrecSym0
instance (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Show.ShowsPrecSym1 d)
instance forall a (d1 :: GHC.Types.Nat) (d2 :: a). (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Show.ShowsPrecSym2 d1 d2)
instance Data.Singletons.Prelude.Show.SShow a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Show.Show_Sym0
instance Data.Singletons.Prelude.Show.SShow a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Show.ShowListSym0
instance forall a (d :: [a]). (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Show.ShowListSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293610Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d, e, f, g)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293610Sym1 a6989586621680293607)
instance forall a6989586621680291528 b6989586621680291529 c6989586621680291530 d6989586621680291531 e6989586621680291532 f6989586621680291533 g6989586621680291534 (a6989586621680293608 :: GHC.Types.Nat) (a6989586621680293607 :: (a6989586621680291528, b6989586621680291529, c6989586621680291530, d6989586621680291531, e6989586621680291532, f6989586621680291533, g6989586621680291534)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293610Sym2 a6989586621680293608 a6989586621680293607)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293588Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d, e, f)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293588Sym1 a6989586621680293585)
instance forall a6989586621680291515 b6989586621680291516 c6989586621680291517 d6989586621680291518 e6989586621680291519 f6989586621680291520 (a6989586621680293586 :: GHC.Types.Nat) (a6989586621680293585 :: (a6989586621680291515, b6989586621680291516, c6989586621680291517, d6989586621680291518, e6989586621680291519, f6989586621680291520)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293588Sym2 a6989586621680293586 a6989586621680293585)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293567Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d, e)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293567Sym1 a6989586621680293564)
instance forall a6989586621680291504 b6989586621680291505 c6989586621680291506 d6989586621680291507 e6989586621680291508 (a6989586621680293565 :: GHC.Types.Nat) (a6989586621680293564 :: (a6989586621680291504, b6989586621680291505, c6989586621680291506, d6989586621680291507, e6989586621680291508)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293567Sym2 a6989586621680293565 a6989586621680293564)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293547Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293547Sym1 a6989586621680293544)
instance forall a6989586621680291495 b6989586621680291496 c6989586621680291497 d6989586621680291498 (a6989586621680293545 :: GHC.Types.Nat) (a6989586621680293544 :: (a6989586621680291495, b6989586621680291496, c6989586621680291497, d6989586621680291498)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293547Sym2 a6989586621680293545 a6989586621680293544)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293528Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293528Sym1 a6989586621680293525)
instance forall a6989586621680291488 b6989586621680291489 c6989586621680291490 (a6989586621680293526 :: GHC.Types.Nat) (a6989586621680293525 :: (a6989586621680291488, b6989586621680291489, c6989586621680291490)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293528Sym2 a6989586621680293526 a6989586621680293525)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293510Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293510Sym1 a6989586621680293507)
instance forall a6989586621680291483 b6989586621680291484 (a6989586621680293508 :: GHC.Types.Nat) (a6989586621680293507 :: (a6989586621680291483, b6989586621680291484)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293510Sym2 a6989586621680293508 a6989586621680293507)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293493Sym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Symbol
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293493Sym1 a6989586621680293490)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293493Sym2 a6989586621680293491 a6989586621680293490)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293473Sym0
instance Data.Singletons.Prelude.Show.PShow [a]
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293473Sym1 a6989586621680293470)
instance forall a6989586621680291479 (a6989586621680293471 :: GHC.Types.Nat) (a6989586621680293470 :: [a6989586621680291479]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293473Sym2 a6989586621680293471 a6989586621680293470)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowListSym0
instance forall a6989586621680291461 (arg6989586621680293419 :: [a6989586621680291461]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowListSym1 arg6989586621680293419)
instance forall a6989586621680291446 (a6989586621680293403 :: a6989586621680291446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsSym1 a6989586621680293403)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsSym0
instance forall a6989586621680291461 (arg6989586621680293412 :: GHC.Types.Nat) (arg6989586621680293411 :: a6989586621680291461). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrecSym2 arg6989586621680293412 arg6989586621680293411)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrecSym1 arg6989586621680293411)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrecSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Show_Sym0
instance forall a6989586621680291461 (a6989586621680293432 :: GHC.Types.Nat) (a6989586621680293431 :: a6989586621680291461). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293434Sym2 a6989586621680293432 a6989586621680293431)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293434Sym1 a6989586621680293431)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680293434Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Show__6989586621680293443Sym0
instance forall a6989586621680291461 (a6989586621680293452 :: [a6989586621680291461]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowList_6989586621680293454Sym1 a6989586621680293452)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowList_6989586621680293454Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowListWithSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Show.ShowListWithSym0
instance forall a6989586621680291445 (a6989586621680293383 :: a6989586621680291445 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowListWithSym1 a6989586621680293383)
instance forall a (d :: a Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Show.ShowListWithSym1 d)
instance forall a6989586621680291445 (a6989586621680293384 :: a6989586621680291445 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (a6989586621680293383 :: [a6989586621680291445]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowListWithSym2 a6989586621680293384 a6989586621680293383)
instance forall a (d1 :: a Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (d2 :: [a]). (Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Show.ShowListWithSym2 d1 d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Show_tupleSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Show.Show_tupleSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Show_tupleSym1 a6989586621680293365)
instance Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Show.Show_tupleSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowParenSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Show.ShowParenSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowParenSym1 a6989586621680293351)
instance Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Show.ShowParenSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowParenSym2 a6989586621680293352 a6989586621680293351)
instance (Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Show.ShowParenSym2 d1 d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Lambda_6989586621680293373Sym0
instance forall k1 a6989586621679538763 c6989586621679538762 k2 (ss6989586621680293371 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680293373Sym1 ss6989586621680293371)
instance forall a6989586621679538763 c6989586621679538762 k1 k2 (a_69895866216802933696989586621680293372 :: k2) (ss6989586621680293371 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680293373Sym2 a_69895866216802933696989586621680293372 ss6989586621680293371)
instance forall a6989586621679538763 c6989586621679538762 k1 k2 (t6989586621680293377 :: k2) (a_69895866216802933696989586621680293372 :: k1) (ss6989586621680293371 :: GHC.Types.Symbol Data.Singletons.Internal.~> c6989586621679538762). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680293373Sym3 t6989586621680293377 a_69895866216802933696989586621680293372 ss6989586621680293371)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowCharSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Show.ShowCharSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowCharSym1 a6989586621680293345)
instance Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Show.ShowCharSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowCommaSpaceSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Show.ShowCommaSpaceSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowStringSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Show.ShowStringSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowStringSym1 a6989586621680293330)
instance Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Show.ShowStringSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowSpaceSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Show.ShowSpaceSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Let6989586621680293394ShowlSym0
instance forall k1 k2 k3 (showx6989586621680293390 :: k3 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680293394ShowlSym1 showx6989586621680293390)
instance forall k1 k2 k3 (x6989586621680293391 :: k3 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (showx6989586621680293390 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680293394ShowlSym2 x6989586621680293391 showx6989586621680293390)
instance forall k1 k2 k3 (xs6989586621680293392 :: k3 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (x6989586621680293391 :: k2) (showx6989586621680293390 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680293394ShowlSym3 xs6989586621680293392 x6989586621680293391 showx6989586621680293390)
instance forall k1 k2 k3 (s6989586621680293393 :: k3 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (xs6989586621680293392 :: k2) (x6989586621680293391 :: k1) (showx6989586621680293390 :: GHC.Types.Symbol). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680293394ShowlSym4 s6989586621680293393 xs6989586621680293392 x6989586621680293391 showx6989586621680293390)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Lambda_6989586621680293320Sym0
instance forall k (a_69895866216802933156989586621680293319 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680293320Sym1 a_69895866216802933156989586621680293319)


-- | Defines the promoted version of <a>Monoid</a>, <a>PMonoid</a>, and the
--   singleton version, <a>SMonoid</a>.
module Data.Singletons.Prelude.Monoid
class PSemigroup a_a5FDE => PMonoid (a_a5FDE :: Type) where {
    type family Mempty :: a_a5FDE;
    type family Mappend (arg_a5FJR :: a_a5FDE) (arg_a5FJS :: a_a5FDE) :: a_a5FDE;
    type family Mconcat (arg_a5FJV :: [a_a5FDE]) :: a_a5FDE;
    type Mappend a_a5FK7 a_a5FK8 = Apply (Apply Mappend_6989586621680361897Sym0 a_a5FK7) a_a5FK8;
    type Mconcat a_a5FKi = Apply Mconcat_6989586621680361907Sym0 a_a5FKi;
}
class SSemigroup a_a5FDE => SMonoid a_a5FDE
sMempty :: SMonoid a_a5FDE => Sing (MemptySym0 :: a_a5FDE)
sMappend :: forall (t_a5FLc :: a_a5FDE) (t_a5FLd :: a_a5FDE). SMonoid a_a5FDE => Sing t_a5FLc -> Sing t_a5FLd -> Sing (Apply (Apply MappendSym0 t_a5FLc) t_a5FLd :: a_a5FDE)
sMconcat :: forall (t_a5FLg :: [a_a5FDE]). SMonoid a_a5FDE => Sing t_a5FLg -> Sing (Apply MconcatSym0 t_a5FLg :: a_a5FDE)
sMappend :: forall (t_a5FLc :: a_a5FDE) (t_a5FLd :: a_a5FDE). (SMonoid a_a5FDE, (Apply (Apply MappendSym0 t_a5FLc) t_a5FLd :: a_a5FDE) ~ Apply (Apply Mappend_6989586621680361897Sym0 t_a5FLc) t_a5FLd) => Sing t_a5FLc -> Sing t_a5FLd -> Sing (Apply (Apply MappendSym0 t_a5FLc) t_a5FLd :: a_a5FDE)
sMconcat :: forall (t_a5FLg :: [a_a5FDE]). (SMonoid a_a5FDE, (Apply MconcatSym0 t_a5FLg :: a_a5FDE) ~ Apply Mconcat_6989586621680361907Sym0 t_a5FLg) => Sing t_a5FLg -> Sing (Apply MconcatSym0 t_a5FLg :: a_a5FDE)

-- | The singleton kind-indexed data family.
data family Sing :: k -> Type
type family GetDual (a_a3uJz :: Dual a_ak95) :: a_ak95
type family GetAll (a_a3uJN :: All) :: Bool
type family GetAny (a_a3uK1 :: Any) :: Bool
type family GetSum (a_a3uKi :: Sum a_ak8Q) :: a_ak8Q
type family GetProduct (a_a3uKz :: Product a_ak8V) :: a_ak8V
type family GetFirst (a_a5GEK :: First a_ak9y) :: Maybe a_ak9y
type family GetLast (a_a5GF5 :: Last a_ak9t) :: Maybe a_ak9t
type SDual = (Sing :: Dual a_ak95 -> Type)
type SAll = (Sing :: All -> Type)
type SAny = (Sing :: Any -> Type)
type SSum = (Sing :: Sum a_ak8Q -> Type)
type SProduct = (Sing :: Product a_ak8V -> Type)
type SFirst = (Sing :: First a_ak9y -> Type)
type SLast = (Sing :: Last a_ak9t -> Type)
type MemptySym0 = Mempty
data MappendSym0 :: forall a6989586621680361494. (~>) a6989586621680361494 ((~>) a6989586621680361494 a6989586621680361494)
data MappendSym1 (arg6989586621680361879 :: a6989586621680361494) :: (~>) a6989586621680361494 a6989586621680361494
type MappendSym2 (arg6989586621680361879 :: a6989586621680361494) (arg6989586621680361880 :: a6989586621680361494) = Mappend arg6989586621680361879 arg6989586621680361880
data MconcatSym0 :: forall a6989586621680361494. (~>) [a6989586621680361494] a6989586621680361494
type MconcatSym1 (arg6989586621680361883 :: [a6989586621680361494]) = Mconcat arg6989586621680361883
data DualSym0 :: forall (a6989586621679087235 :: Type). (~>) a6989586621679087235 (Dual (a6989586621679087235 :: Type))
type DualSym1 (t6989586621679842924 :: a6989586621679087235) =  'Dual t6989586621679842924
data GetDualSym0 :: forall a6989586621679087235. (~>) (Dual a6989586621679087235) a6989586621679087235
type GetDualSym1 (a6989586621679842921 :: Dual a6989586621679087235) = GetDual a6989586621679842921
data AllSym0 :: (~>) Bool All
type AllSym1 (t6989586621679842938 :: Bool) =  'All t6989586621679842938
data GetAllSym0 :: (~>) All Bool
type GetAllSym1 (a6989586621679842935 :: All) = GetAll a6989586621679842935
data AnySym0 :: (~>) Bool Any
type AnySym1 (t6989586621679842952 :: Bool) =  'Any t6989586621679842952
data GetAnySym0 :: (~>) Any Bool
type GetAnySym1 (a6989586621679842949 :: Any) = GetAny a6989586621679842949
data SumSym0 :: forall (a6989586621679087220 :: Type). (~>) a6989586621679087220 (Sum (a6989586621679087220 :: Type))
type SumSym1 (t6989586621679842969 :: a6989586621679087220) =  'Sum t6989586621679842969
data GetSumSym0 :: forall a6989586621679087220. (~>) (Sum a6989586621679087220) a6989586621679087220
type GetSumSym1 (a6989586621679842966 :: Sum a6989586621679087220) = GetSum a6989586621679842966
data ProductSym0 :: forall (a6989586621679087225 :: Type). (~>) a6989586621679087225 (Product (a6989586621679087225 :: Type))
type ProductSym1 (t6989586621679842986 :: a6989586621679087225) =  'Product t6989586621679842986
data GetProductSym0 :: forall a6989586621679087225. (~>) (Product a6989586621679087225) a6989586621679087225
type GetProductSym1 (a6989586621679842983 :: Product a6989586621679087225) = GetProduct a6989586621679842983
data FirstSym0 :: forall (a6989586621679087264 :: Type). (~>) (Maybe a6989586621679087264) (First (a6989586621679087264 :: Type))
type FirstSym1 (t6989586621680365409 :: Maybe a6989586621679087264) =  'First t6989586621680365409
data GetFirstSym0 :: forall a6989586621679087264. (~>) (First a6989586621679087264) (Maybe a6989586621679087264)
type GetFirstSym1 (a6989586621680365406 :: First a6989586621679087264) = GetFirst a6989586621680365406
data LastSym0 :: forall (a6989586621679087259 :: Type). (~>) (Maybe a6989586621679087259) (Last (a6989586621679087259 :: Type))
type LastSym1 (t6989586621680365430 :: Maybe a6989586621679087259) =  'Last t6989586621680365430
data GetLastSym0 :: forall a6989586621679087259. (~>) (Last a6989586621679087259) (Maybe a6989586621679087259)
type GetLastSym1 (a6989586621680365427 :: Last a6989586621679087259) = GetLast a6989586621680365427
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Monoid.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680371620Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Monoid.Last a)
instance forall a6989586621680371298 (a6989586621680371618 :: Data.Monoid.Last a6989586621680371298). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680371620Sym1 a6989586621680371618)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680371616BSym0
instance Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Monoid.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680371606Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Monoid.Last
instance forall b6989586621679563453 a6989586621679563452 (a6989586621680371604 :: Data.Monoid.Last a6989586621679563452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680371606Sym1 a6989586621680371604)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Lambda_6989586621680371589Sym0
instance Data.Singletons.Prelude.Monad.Internal.SMonad Data.Monoid.Last
instance forall k1 a k (a6989586621680371587 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680371589Sym1 a6989586621680371587)
instance forall k1 a k (k6989586621680371588 :: k) (a6989586621680371587 :: k1 Data.Singletons.Internal.~> Data.Monoid.Last a). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680371589Sym2 k6989586621680371588 a6989586621680371587)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680371592Scrutinee_6989586621680371309Sym0
instance forall k1 k2 k3 (a6989586621680371587 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680371592Scrutinee_6989586621680371309Sym1 a6989586621680371587)
instance forall k1 k2 k3 (k6989586621680371588 :: k3) (a6989586621680371587 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680371592Scrutinee_6989586621680371309Sym2 k6989586621680371588 a6989586621680371587)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680371579Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Monoid.Last
instance forall b6989586621679563426 a6989586621679563425 (a6989586621680371577 :: a6989586621679563425). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680371579Sym1 a6989586621680371577)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Fmap_6989586621680371567Sym0
instance forall a6989586621679563423 b6989586621679563424 (a6989586621680371565 :: a6989586621679563423 Data.Singletons.Internal.~> b6989586621679563424). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Fmap_6989586621680371567Sym1 a6989586621680371565)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680371555Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Monoid.Last
instance forall a6989586621679563429 b6989586621679563430 (a6989586621680371553 :: Data.Monoid.Last (a6989586621679563429 Data.Singletons.Internal.~> b6989586621679563430)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680371555Sym1 a6989586621680371553)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Pure_6989586621680371544Sym0
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Monoid.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680371532Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Monoid.First a)
instance forall a6989586621680371288 (a6989586621680371530 :: Data.Monoid.First a6989586621680371288). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680371532Sym1 a6989586621680371530)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680371528ASym0
instance Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Monoid.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680371518Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Monoid.First
instance forall b6989586621679563453 a6989586621679563452 (a6989586621680371516 :: Data.Monoid.First a6989586621679563452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680371518Sym1 a6989586621680371516)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Lambda_6989586621680371501Sym0
instance Data.Singletons.Prelude.Monad.Internal.SMonad Data.Monoid.First
instance forall k1 a k (a6989586621680371499 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680371501Sym1 a6989586621680371499)
instance forall k1 a k (k6989586621680371500 :: k) (a6989586621680371499 :: k1 Data.Singletons.Internal.~> Data.Monoid.First a). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680371501Sym2 k6989586621680371500 a6989586621680371499)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680371504Scrutinee_6989586621680371302Sym0
instance forall k1 k2 k3 (a6989586621680371499 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680371504Scrutinee_6989586621680371302Sym1 a6989586621680371499)
instance forall k1 k2 k3 (k6989586621680371500 :: k3) (a6989586621680371499 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680371504Scrutinee_6989586621680371302Sym2 k6989586621680371500 a6989586621680371499)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680371491Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Monoid.First
instance forall b6989586621679563426 a6989586621679563425 (a6989586621680371489 :: a6989586621679563425). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680371491Sym1 a6989586621680371489)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Fmap_6989586621680371479Sym0
instance forall a6989586621679563423 b6989586621679563424 (a6989586621680371477 :: a6989586621679563423 Data.Singletons.Internal.~> b6989586621679563424). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Fmap_6989586621680371479Sym1 a6989586621680371477)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680371467Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Monoid.First
instance forall a6989586621679563429 b6989586621679563430 (a6989586621680371465 :: Data.Monoid.First (a6989586621679563429 Data.Singletons.Internal.~> b6989586621679563430)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680371467Sym1 a6989586621680371465)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Pure_6989586621680371456Sym0
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Ord.Down a)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.Internal.Product a)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.Internal.Sum a)
instance Data.Singletons.Prelude.Monoid.PMonoid Data.Semigroup.Internal.Any
instance Data.Singletons.Prelude.Monoid.PMonoid Data.Semigroup.Internal.All
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.Internal.Dual a)
instance Data.Singletons.Prelude.Monoid.SMonoid a => Data.Singletons.Prelude.Monoid.SMonoid (Data.Semigroup.Internal.Dual a)
instance Data.Singletons.Prelude.Monoid.SMonoid Data.Semigroup.Internal.All
instance Data.Singletons.Prelude.Monoid.SMonoid Data.Semigroup.Internal.Any
instance Data.Singletons.Prelude.Num.SNum a => Data.Singletons.Prelude.Monoid.SMonoid (Data.Semigroup.Internal.Sum a)
instance Data.Singletons.Prelude.Num.SNum a => Data.Singletons.Prelude.Monoid.SMonoid (Data.Semigroup.Internal.Product a)
instance Data.Singletons.Prelude.Monoid.SMonoid a => Data.Singletons.Prelude.Monoid.SMonoid (Data.Ord.Down a)
instance Data.Singletons.Prelude.Monad.Internal.SApplicative Data.Monoid.First
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Monoid.First
instance Data.Singletons.Prelude.Monoid.SMonoid (Data.Monoid.First a)
instance Data.Singletons.Prelude.Monad.Internal.SApplicative Data.Monoid.Last
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Monoid.Last
instance Data.Singletons.Prelude.Monoid.SMonoid (Data.Monoid.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680368362Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Monoid.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680368362Sym1 a6989586621680368359)
instance forall a6989586621679087259 (a6989586621680368360 :: GHC.Types.Nat) (a6989586621680368359 :: Data.Monoid.Last a6989586621679087259). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680368362Sym2 a6989586621680368360 a6989586621680368359)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680368333Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Monoid.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680368333Sym1 a6989586621680368330)
instance forall a6989586621679087264 (a6989586621680368331 :: GHC.Types.Nat) (a6989586621680368330 :: Data.Monoid.First a6989586621679087264). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680368333Sym2 a6989586621680368331 a6989586621680368330)
instance Data.Singletons.Prelude.Show.SShow (GHC.Maybe.Maybe a) => Data.Singletons.Prelude.Show.SShow (Data.Monoid.First a)
instance Data.Singletons.Prelude.Show.SShow (GHC.Maybe.Maybe a) => Data.Singletons.Prelude.Show.SShow (Data.Monoid.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Compare_6989586621680367069Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Monoid.Last a)
instance forall a6989586621679087259 (a6989586621680367067 :: Data.Monoid.Last a6989586621679087259). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Compare_6989586621680367069Sym1 a6989586621680367067)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Compare_6989586621680367048Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Monoid.First a)
instance forall a6989586621679087264 (a6989586621680367046 :: Data.Monoid.First a6989586621679087264). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Compare_6989586621680367048Sym1 a6989586621680367046)
instance Data.Singletons.Prelude.Ord.SOrd (GHC.Maybe.Maybe a) => Data.Singletons.Prelude.Ord.SOrd (Data.Monoid.First a)
instance Data.Singletons.Prelude.Ord.SOrd (GHC.Maybe.Maybe a) => Data.Singletons.Prelude.Ord.SOrd (Data.Monoid.Last a)
instance Data.Singletons.Decide.SDecide (GHC.Maybe.Maybe a) => Data.Singletons.Decide.SDecide (Data.Monoid.First a)
instance Data.Singletons.Decide.SDecide (GHC.Maybe.Maybe a) => Data.Singletons.Decide.SDecide (Data.Monoid.Last a)
instance Data.Singletons.Prelude.Eq.PEq (Data.Monoid.Last a)
instance Data.Singletons.Prelude.Eq.PEq (Data.Monoid.First a)
instance Data.Singletons.Prelude.Eq.SEq (GHC.Maybe.Maybe a) => Data.Singletons.Prelude.Eq.SEq (Data.Monoid.First a)
instance Data.Singletons.Prelude.Eq.SEq (GHC.Maybe.Maybe a) => Data.Singletons.Prelude.Eq.SEq (Data.Monoid.Last a)
instance forall a (z :: Data.Monoid.First a). Data.Singletons.ShowSing.ShowSing (GHC.Maybe.Maybe a) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance forall a (z :: Data.Monoid.Last a). Data.Singletons.ShowSing.ShowSing (GHC.Maybe.Maybe a) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.LastSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Monoid.LastSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.GetLastSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.FirstSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Monoid.FirstSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.GetFirstSym0
instance Data.Singletons.Internal.SingKind a => Data.Singletons.Internal.SingKind (Data.Monoid.First a)
instance forall a (n :: GHC.Maybe.Maybe a). Data.Singletons.Internal.SingI n => Data.Singletons.Internal.SingI ('Data.Monoid.First n)
instance Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon1 'Data.Monoid.First)
instance Data.Singletons.Internal.SingKind a => Data.Singletons.Internal.SingKind (Data.Monoid.Last a)
instance forall a (n :: GHC.Maybe.Maybe a). Data.Singletons.Internal.SingI n => Data.Singletons.Internal.SingI ('Data.Monoid.Last n)
instance Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon1 'Data.Monoid.Last)
instance Data.Singletons.Prelude.Monoid.SMonoid [a]
instance Data.Singletons.Prelude.Monoid.SMonoid b => Data.Singletons.Prelude.Monoid.SMonoid (a Data.Singletons.Internal.~> b)
instance Data.Singletons.Prelude.Monoid.SMonoid ()
instance (Data.Singletons.Prelude.Monoid.SMonoid a, Data.Singletons.Prelude.Monoid.SMonoid b) => Data.Singletons.Prelude.Monoid.SMonoid (a, b)
instance (Data.Singletons.Prelude.Monoid.SMonoid a, Data.Singletons.Prelude.Monoid.SMonoid b, Data.Singletons.Prelude.Monoid.SMonoid c) => Data.Singletons.Prelude.Monoid.SMonoid (a, b, c)
instance (Data.Singletons.Prelude.Monoid.SMonoid a, Data.Singletons.Prelude.Monoid.SMonoid b, Data.Singletons.Prelude.Monoid.SMonoid c, Data.Singletons.Prelude.Monoid.SMonoid d) => Data.Singletons.Prelude.Monoid.SMonoid (a, b, c, d)
instance (Data.Singletons.Prelude.Monoid.SMonoid a, Data.Singletons.Prelude.Monoid.SMonoid b, Data.Singletons.Prelude.Monoid.SMonoid c, Data.Singletons.Prelude.Monoid.SMonoid d, Data.Singletons.Prelude.Monoid.SMonoid e) => Data.Singletons.Prelude.Monoid.SMonoid (a, b, c, d, e)
instance Data.Singletons.Prelude.Monoid.SMonoid GHC.Types.Ordering
instance Data.Singletons.Prelude.Semigroup.Internal.SSemigroup a => Data.Singletons.Prelude.Monoid.SMonoid (GHC.Maybe.Maybe a)
instance Data.Singletons.Prelude.Monoid.SMonoid GHC.Types.Symbol
instance Data.Singletons.Prelude.Monoid.SMonoid a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Monoid.MappendSym0
instance forall a (d :: a). (Data.Singletons.Prelude.Monoid.SMonoid a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monoid.MappendSym1 d)
instance Data.Singletons.Prelude.Monoid.SMonoid a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Monoid.MconcatSym0
instance Data.Singletons.Prelude.Monoid.PMonoid GHC.Types.Symbol
instance Data.Singletons.Prelude.Monoid.PMonoid (GHC.Maybe.Maybe a)
instance Data.Singletons.Prelude.Monoid.PMonoid GHC.Types.Ordering
instance Data.Singletons.Prelude.Monoid.PMonoid (a, b, c, d, e)
instance Data.Singletons.Prelude.Monoid.PMonoid (a, b, c, d)
instance Data.Singletons.Prelude.Monoid.PMonoid (a, b, c)
instance Data.Singletons.Prelude.Monoid.PMonoid (a, b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Mconcat_6989586621680361945Sym0
instance Data.Singletons.Prelude.Monoid.PMonoid ()
instance Data.Singletons.Prelude.Monoid.PMonoid (a Data.Singletons.Internal.~> b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Lambda_6989586621680361930Sym0
instance Data.Singletons.Prelude.Monoid.PMonoid [a]
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.MconcatSym0
instance forall a6989586621680361494 (arg6989586621680361879 :: a6989586621680361494). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.MappendSym1 arg6989586621680361879)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.MappendSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Mconcat_6989586621680361907Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Mappend_6989586621680361897Sym0
instance forall a6989586621680361494 (a6989586621680361895 :: a6989586621680361494). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Mappend_6989586621680361897Sym1 a6989586621680361895)


-- | 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.
data family Sing :: k -> Type
type SEither = (Sing :: Either a_akJH b_akJI -> Type)
either_ :: (a_a66OH -> c_a66OI) -> (b_a66OJ -> c_a66OI) -> Either a_a66OH b_a66OJ -> c_a66OI
type family Either_ (a_a66Ph :: (~>) a_a66OH c_a66OI) (a_a66Pi :: (~>) b_a66OJ c_a66OI) (a_a66Pj :: Either a_a66OH b_a66OJ) :: c_a66OI
sEither_ :: forall a_a66OH c_a66OI b_a66OJ (t_a66Pr :: (~>) a_a66OH c_a66OI) (t_a66Ps :: (~>) b_a66OJ c_a66OI) (t_a66Pt :: Either a_a66OH b_a66OJ). Sing t_a66Pr -> Sing t_a66Ps -> Sing t_a66Pt -> Sing (Apply (Apply (Apply Either_Sym0 t_a66Pr) t_a66Ps) t_a66Pt :: c_a66OI)
type family Lefts (a_a67iP :: [Either a_a67cx b_a67cy]) :: [a_a67cx]
sLefts :: forall a_a67cx b_a67cy (t_a67j2 :: [Either a_a67cx b_a67cy]). Sing t_a67j2 -> Sing (Apply LeftsSym0 t_a67j2 :: [a_a67cx])
type family Rights (a_a67iK :: [Either a_a67cv b_a67cw]) :: [b_a67cw]
sRights :: forall a_a67cv b_a67cw (t_a67j0 :: [Either a_a67cv b_a67cw]). Sing t_a67j0 -> Sing (Apply RightsSym0 t_a67j0 :: [b_a67cw])
type family PartitionEithers (a_a67iq :: [Either a_a67ct b_a67cu]) :: ([a_a67ct], [b_a67cu])
sPartitionEithers :: forall a_a67ct b_a67cu (t_a67iY :: [Either a_a67ct b_a67cu]). Sing t_a67iY -> Sing (Apply PartitionEithersSym0 t_a67iY :: ([a_a67ct], [b_a67cu]))
type family IsLeft (a_a67im :: Either a_a67cr b_a67cs) :: Bool
sIsLeft :: forall a_a67cr b_a67cs (t_a67iW :: Either a_a67cr b_a67cs). Sing t_a67iW -> Sing (Apply IsLeftSym0 t_a67iW :: Bool)
type family IsRight (a_a67ik :: Either a_a67cp b_a67cq) :: Bool
sIsRight :: forall a_a67cp b_a67cq (t_a67iU :: Either a_a67cp b_a67cq). Sing t_a67iU -> Sing (Apply IsRightSym0 t_a67iU :: Bool)
data LeftSym0 :: forall (a6989586621679089505 :: Type) (b6989586621679089506 :: Type). (~>) a6989586621679089505 (Either (a6989586621679089505 :: Type) (b6989586621679089506 :: Type))
type LeftSym1 (t6989586621679312485 :: a6989586621679089505) =  'Left t6989586621679312485
data RightSym0 :: forall (a6989586621679089505 :: Type) (b6989586621679089506 :: Type). (~>) b6989586621679089506 (Either (a6989586621679089505 :: Type) (b6989586621679089506 :: Type))
type RightSym1 (t6989586621679312487 :: b6989586621679089506) =  'Right t6989586621679312487
data Either_Sym0 :: forall a6989586621680465967 b6989586621680465969 c6989586621680465968. (~>) ((~>) a6989586621680465967 c6989586621680465968) ((~>) ((~>) b6989586621680465969 c6989586621680465968) ((~>) (Either a6989586621680465967 b6989586621680465969) c6989586621680465968))
data Either_Sym1 (a6989586621680466003 :: (~>) a6989586621680465967 c6989586621680465968) :: forall b6989586621680465969. (~>) ((~>) b6989586621680465969 c6989586621680465968) ((~>) (Either a6989586621680465967 b6989586621680465969) c6989586621680465968)
data Either_Sym2 (a6989586621680466003 :: (~>) a6989586621680465967 c6989586621680465968) (a6989586621680466004 :: (~>) b6989586621680465969 c6989586621680465968) :: (~>) (Either a6989586621680465967 b6989586621680465969) c6989586621680465968
type Either_Sym3 (a6989586621680466003 :: (~>) a6989586621680465967 c6989586621680465968) (a6989586621680466004 :: (~>) b6989586621680465969 c6989586621680465968) (a6989586621680466005 :: Either a6989586621680465967 b6989586621680465969) = Either_ a6989586621680466003 a6989586621680466004 a6989586621680466005
data LeftsSym0 :: forall a6989586621680467445 b6989586621680467446. (~>) [Either a6989586621680467445 b6989586621680467446] [a6989586621680467445]
type LeftsSym1 (a6989586621680467835 :: [Either a6989586621680467445 b6989586621680467446]) = Lefts a6989586621680467835
data RightsSym0 :: forall a6989586621680467443 b6989586621680467444. (~>) [Either a6989586621680467443 b6989586621680467444] [b6989586621680467444]
type RightsSym1 (a6989586621680467830 :: [Either a6989586621680467443 b6989586621680467444]) = Rights a6989586621680467830
data IsLeftSym0 :: forall a6989586621680467439 b6989586621680467440. (~>) (Either a6989586621680467439 b6989586621680467440) Bool
type IsLeftSym1 (a6989586621680467806 :: Either a6989586621680467439 b6989586621680467440) = IsLeft a6989586621680467806
data IsRightSym0 :: forall a6989586621680467437 b6989586621680467438. (~>) (Either a6989586621680467437 b6989586621680467438) Bool
type IsRightSym1 (a6989586621680467804 :: Either a6989586621680467437 b6989586621680467438) = IsRight a6989586621680467804
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.LeftsSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Either.LeftsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.RightsSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Either.RightsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.PartitionEithersSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Either.PartitionEithersSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.IsLeftSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Either.IsLeftSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.IsRightSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Either.IsRightSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621680467813LeftSym0
instance forall k2 k3 k (a_69895866216804678086989586621680467812 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680467813LeftSym1 a_69895866216804678086989586621680467812)
instance forall k2 k3 k (a6989586621680467822 :: k) (a_69895866216804678086989586621680467812 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680467813LeftSym2 a6989586621680467822 a_69895866216804678086989586621680467812)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621680467813RightSym0
instance forall k2 k3 k (a_69895866216804678086989586621680467812 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680467813RightSym1 a_69895866216804678086989586621680467812)
instance forall k2 k3 k (a6989586621680467814 :: k) (a_69895866216804678086989586621680467812 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680467813RightSym2 a6989586621680467814 a_69895866216804678086989586621680467812)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Either_Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Either.Either_Sym0
instance forall b6989586621680465969 a6989586621680465967 c6989586621680465968 (a6989586621680466003 :: a6989586621680465967 Data.Singletons.Internal.~> c6989586621680465968). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Either_Sym1 a6989586621680466003)
instance forall a c b (d :: a Data.Singletons.Internal.~> c). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Either.Either_Sym1 d)
instance forall b6989586621680465969 a6989586621680465967 c6989586621680465968 (a6989586621680466004 :: a6989586621680465967 Data.Singletons.Internal.~> c6989586621680465968) (a6989586621680466003 :: b6989586621680465969 Data.Singletons.Internal.~> c6989586621680465968). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Either_Sym2 a6989586621680466004 a6989586621680466003)
instance forall a c b (d1 :: a Data.Singletons.Internal.~> c) (d2 :: b Data.Singletons.Internal.~> c). (Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Either.Either_Sym2 d1 d2)


-- | Defines the promoted and singled versions of the <a>Foldable</a> type
--   class.
module Data.Singletons.Prelude.Foldable
class PFoldable (t_a6c4M :: Type -> Type) where {
    type family Fold (arg_a6ceP :: t_a6c4M m_a6c4N) :: m_a6c4N;
    type family FoldMap (arg_a6ceR :: (~>) a_a6c4P m_a6c4O) (arg_a6ceS :: t_a6c4M a_a6c4P) :: m_a6c4O;
    type family Foldr (arg_a6ceV :: (~>) a_a6c4Q ((~>) b_a6c4R b_a6c4R)) (arg_a6ceW :: b_a6c4R) (arg_a6ceX :: t_a6c4M a_a6c4Q) :: b_a6c4R;
    type family Foldr' (arg_a6cf1 :: (~>) a_a6c4S ((~>) b_a6c4T b_a6c4T)) (arg_a6cf2 :: b_a6c4T) (arg_a6cf3 :: t_a6c4M a_a6c4S) :: b_a6c4T;
    type family Foldl (arg_a6cf7 :: (~>) b_a6c4U ((~>) a_a6c4V b_a6c4U)) (arg_a6cf8 :: b_a6c4U) (arg_a6cf9 :: t_a6c4M a_a6c4V) :: b_a6c4U;
    type family Foldl' (arg_a6cfd :: (~>) b_a6c4W ((~>) a_a6c4X b_a6c4W)) (arg_a6cfe :: b_a6c4W) (arg_a6cff :: t_a6c4M a_a6c4X) :: b_a6c4W;
    type family Foldr1 (arg_a6cfj :: (~>) a_a6c4Y ((~>) a_a6c4Y a_a6c4Y)) (arg_a6cfk :: t_a6c4M a_a6c4Y) :: a_a6c4Y;
    type family Foldl1 (arg_a6cfn :: (~>) a_a6c4Z ((~>) a_a6c4Z a_a6c4Z)) (arg_a6cfo :: t_a6c4M a_a6c4Z) :: a_a6c4Z;
    type family ToList (arg_a6cfr :: t_a6c4M a_a6c50) :: [a_a6c50];
    type family Null (arg_a6cft :: t_a6c4M a_a6c51) :: Bool;
    type family Length (arg_a6cfv :: t_a6c4M a_a6c52) :: Nat;
    type family Elem (arg_a6cfx :: a_a6c53) (arg_a6cfy :: t_a6c4M a_a6c53) :: Bool;
    type family Maximum (arg_a6cfB :: t_a6c4M a_a6c54) :: a_a6c54;
    type family Minimum (arg_a6cfD :: t_a6c4M a_a6c55) :: a_a6c55;
    type family Sum (arg_a6cfF :: t_a6c4M a_a6c56) :: a_a6c56;
    type family Product (arg_a6cfH :: t_a6c4M a_a6c57) :: a_a6c57;
    type Fold a_a6cfO = Apply Fold_6989586621680486869Sym0 a_a6cfO;
    type FoldMap a_a6cg0 a_a6cg1 = Apply (Apply FoldMap_6989586621680486882Sym0 a_a6cg0) a_a6cg1;
    type Foldr a_a6cgn a_a6cgo a_a6cgp = Apply (Apply (Apply Foldr_6989586621680486906Sym0 a_a6cgn) a_a6cgo) a_a6cgp;
    type Foldr' a_a6cgR a_a6cgS a_a6cgT = Apply (Apply (Apply Foldr'_6989586621680486936Sym0 a_a6cgR) a_a6cgS) a_a6cgT;
    type Foldl a_a6chg a_a6chh a_a6chi = Apply (Apply (Apply Foldl_6989586621680486961Sym0 a_a6chg) a_a6chh) a_a6chi;
    type Foldl' a_a6chK a_a6chL a_a6chM = Apply (Apply (Apply Foldl'_6989586621680486991Sym0 a_a6chK) a_a6chL) a_a6chM;
    type Foldr1 a_a6cib a_a6cic = Apply (Apply Foldr1_6989586621680487017Sym0 a_a6cib) a_a6cic;
    type Foldl1 a_a6ciA a_a6ciB = Apply (Apply Foldl1_6989586621680487042Sym0 a_a6ciA) a_a6ciB;
    type ToList a_a6ciL = Apply ToList_6989586621680487052Sym0 a_a6ciL;
    type Null a_a6cj6 = Apply Null_6989586621680487073Sym0 a_a6cj6;
    type Length a_a6cjs = Apply Length_6989586621680487095Sym0 a_a6cjs;
    type Elem a_a6cjG a_a6cjH = Apply (Apply Elem_6989586621680487110Sym0 a_a6cjG) a_a6cjH;
    type Maximum a_a6cjV = Apply Maximum_6989586621680487124Sym0 a_a6cjV;
    type Minimum a_a6ck8 = Apply Minimum_6989586621680487137Sym0 a_a6ck8;
    type Sum a_a6ckl = Apply Sum_6989586621680487150Sym0 a_a6ckl;
    type Product a_a6cky = Apply Product_6989586621680487163Sym0 a_a6cky;
}
class SFoldable (t_a6c4M :: Type -> Type)
sFold :: forall m_a6c4N (t_a6cAG :: t_a6c4M m_a6c4N). (SFoldable t_a6c4M, SMonoid m_a6c4N) => Sing t_a6cAG -> Sing (Apply FoldSym0 t_a6cAG :: m_a6c4N)
sFoldMap :: forall m_a6c4O a_a6c4P (t_a6cAI :: (~>) a_a6c4P m_a6c4O) (t_a6cAJ :: t_a6c4M a_a6c4P). (SFoldable t_a6c4M, SMonoid m_a6c4O) => Sing t_a6cAI -> Sing t_a6cAJ -> Sing (Apply (Apply FoldMapSym0 t_a6cAI) t_a6cAJ :: m_a6c4O)
sFoldr :: forall a_a6c4Q b_a6c4R (t_a6cAM :: (~>) a_a6c4Q ((~>) b_a6c4R b_a6c4R)) (t_a6cAN :: b_a6c4R) (t_a6cAO :: t_a6c4M a_a6c4Q). SFoldable t_a6c4M => Sing t_a6cAM -> Sing t_a6cAN -> Sing t_a6cAO -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cAM) t_a6cAN) t_a6cAO :: b_a6c4R)
sFoldr' :: forall a_a6c4S b_a6c4T (t_a6cAS :: (~>) a_a6c4S ((~>) b_a6c4T b_a6c4T)) (t_a6cAT :: b_a6c4T) (t_a6cAU :: t_a6c4M a_a6c4S). SFoldable t_a6c4M => Sing t_a6cAS -> Sing t_a6cAT -> Sing t_a6cAU -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a6cAS) t_a6cAT) t_a6cAU :: b_a6c4T)
sFoldl :: forall b_a6c4U a_a6c4V (t_a6cAY :: (~>) b_a6c4U ((~>) a_a6c4V b_a6c4U)) (t_a6cAZ :: b_a6c4U) (t_a6cB0 :: t_a6c4M a_a6c4V). SFoldable t_a6c4M => Sing t_a6cAY -> Sing t_a6cAZ -> Sing t_a6cB0 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cAY) t_a6cAZ) t_a6cB0 :: b_a6c4U)
sFoldl' :: forall b_a6c4W a_a6c4X (t_a6cB4 :: (~>) b_a6c4W ((~>) a_a6c4X b_a6c4W)) (t_a6cB5 :: b_a6c4W) (t_a6cB6 :: t_a6c4M a_a6c4X). SFoldable t_a6c4M => Sing t_a6cB4 -> Sing t_a6cB5 -> Sing t_a6cB6 -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6cB4) t_a6cB5) t_a6cB6 :: b_a6c4W)
sFoldr1 :: forall a_a6c4Y (t_a6cBa :: (~>) a_a6c4Y ((~>) a_a6c4Y a_a6c4Y)) (t_a6cBb :: t_a6c4M a_a6c4Y). SFoldable t_a6c4M => Sing t_a6cBa -> Sing t_a6cBb -> Sing (Apply (Apply Foldr1Sym0 t_a6cBa) t_a6cBb :: a_a6c4Y)
sFoldl1 :: forall a_a6c4Z (t_a6cBe :: (~>) a_a6c4Z ((~>) a_a6c4Z a_a6c4Z)) (t_a6cBf :: t_a6c4M a_a6c4Z). SFoldable t_a6c4M => Sing t_a6cBe -> Sing t_a6cBf -> Sing (Apply (Apply Foldl1Sym0 t_a6cBe) t_a6cBf :: a_a6c4Z)
sToList :: forall a_a6c50 (t_a6cBi :: t_a6c4M a_a6c50). SFoldable t_a6c4M => Sing t_a6cBi -> Sing (Apply ToListSym0 t_a6cBi :: [a_a6c50])
sNull :: forall a_a6c51 (t_a6cBk :: t_a6c4M a_a6c51). SFoldable t_a6c4M => Sing t_a6cBk -> Sing (Apply NullSym0 t_a6cBk :: Bool)
sLength :: forall a_a6c52 (t_a6cBm :: t_a6c4M a_a6c52). SFoldable t_a6c4M => Sing t_a6cBm -> Sing (Apply LengthSym0 t_a6cBm :: Nat)
sElem :: forall a_a6c53 (t_a6cBo :: a_a6c53) (t_a6cBp :: t_a6c4M a_a6c53). (SFoldable t_a6c4M, SEq a_a6c53) => Sing t_a6cBo -> Sing t_a6cBp -> Sing (Apply (Apply ElemSym0 t_a6cBo) t_a6cBp :: Bool)
sMaximum :: forall a_a6c54 (t_a6cBs :: t_a6c4M a_a6c54). (SFoldable t_a6c4M, SOrd a_a6c54) => Sing t_a6cBs -> Sing (Apply MaximumSym0 t_a6cBs :: a_a6c54)
sMinimum :: forall a_a6c55 (t_a6cBu :: t_a6c4M a_a6c55). (SFoldable t_a6c4M, SOrd a_a6c55) => Sing t_a6cBu -> Sing (Apply MinimumSym0 t_a6cBu :: a_a6c55)
sSum :: forall a_a6c56 (t_a6cBw :: t_a6c4M a_a6c56). (SFoldable t_a6c4M, SNum a_a6c56) => Sing t_a6cBw -> Sing (Apply SumSym0 t_a6cBw :: a_a6c56)
sProduct :: forall a_a6c57 (t_a6cBy :: t_a6c4M a_a6c57). (SFoldable t_a6c4M, SNum a_a6c57) => Sing t_a6cBy -> Sing (Apply ProductSym0 t_a6cBy :: a_a6c57)
sFold :: forall m_a6c4N (t_a6cAG :: t_a6c4M m_a6c4N). (SFoldable t_a6c4M, (Apply FoldSym0 t_a6cAG :: m_a6c4N) ~ Apply Fold_6989586621680486869Sym0 t_a6cAG, SMonoid m_a6c4N) => Sing t_a6cAG -> Sing (Apply FoldSym0 t_a6cAG :: m_a6c4N)
sFoldMap :: forall m_a6c4O a_a6c4P (t_a6cAI :: (~>) a_a6c4P m_a6c4O) (t_a6cAJ :: t_a6c4M a_a6c4P). (SFoldable t_a6c4M, (Apply (Apply FoldMapSym0 t_a6cAI) t_a6cAJ :: m_a6c4O) ~ Apply (Apply FoldMap_6989586621680486882Sym0 t_a6cAI) t_a6cAJ, SMonoid m_a6c4O) => Sing t_a6cAI -> Sing t_a6cAJ -> Sing (Apply (Apply FoldMapSym0 t_a6cAI) t_a6cAJ :: m_a6c4O)
sFoldr :: forall a_a6c4Q b_a6c4R (t_a6cAM :: (~>) a_a6c4Q ((~>) b_a6c4R b_a6c4R)) (t_a6cAN :: b_a6c4R) (t_a6cAO :: t_a6c4M a_a6c4Q). (SFoldable t_a6c4M, (Apply (Apply (Apply FoldrSym0 t_a6cAM) t_a6cAN) t_a6cAO :: b_a6c4R) ~ Apply (Apply (Apply Foldr_6989586621680486906Sym0 t_a6cAM) t_a6cAN) t_a6cAO) => Sing t_a6cAM -> Sing t_a6cAN -> Sing t_a6cAO -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cAM) t_a6cAN) t_a6cAO :: b_a6c4R)
sFoldr' :: forall a_a6c4S b_a6c4T (t_a6cAS :: (~>) a_a6c4S ((~>) b_a6c4T b_a6c4T)) (t_a6cAT :: b_a6c4T) (t_a6cAU :: t_a6c4M a_a6c4S). (SFoldable t_a6c4M, (Apply (Apply (Apply Foldr'Sym0 t_a6cAS) t_a6cAT) t_a6cAU :: b_a6c4T) ~ Apply (Apply (Apply Foldr'_6989586621680486936Sym0 t_a6cAS) t_a6cAT) t_a6cAU) => Sing t_a6cAS -> Sing t_a6cAT -> Sing t_a6cAU -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a6cAS) t_a6cAT) t_a6cAU :: b_a6c4T)
sFoldl :: forall b_a6c4U a_a6c4V (t_a6cAY :: (~>) b_a6c4U ((~>) a_a6c4V b_a6c4U)) (t_a6cAZ :: b_a6c4U) (t_a6cB0 :: t_a6c4M a_a6c4V). (SFoldable t_a6c4M, (Apply (Apply (Apply FoldlSym0 t_a6cAY) t_a6cAZ) t_a6cB0 :: b_a6c4U) ~ Apply (Apply (Apply Foldl_6989586621680486961Sym0 t_a6cAY) t_a6cAZ) t_a6cB0) => Sing t_a6cAY -> Sing t_a6cAZ -> Sing t_a6cB0 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cAY) t_a6cAZ) t_a6cB0 :: b_a6c4U)
sFoldl' :: forall b_a6c4W a_a6c4X (t_a6cB4 :: (~>) b_a6c4W ((~>) a_a6c4X b_a6c4W)) (t_a6cB5 :: b_a6c4W) (t_a6cB6 :: t_a6c4M a_a6c4X). (SFoldable t_a6c4M, (Apply (Apply (Apply Foldl'Sym0 t_a6cB4) t_a6cB5) t_a6cB6 :: b_a6c4W) ~ Apply (Apply (Apply Foldl'_6989586621680486991Sym0 t_a6cB4) t_a6cB5) t_a6cB6) => Sing t_a6cB4 -> Sing t_a6cB5 -> Sing t_a6cB6 -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6cB4) t_a6cB5) t_a6cB6 :: b_a6c4W)
sFoldr1 :: forall a_a6c4Y (t_a6cBa :: (~>) a_a6c4Y ((~>) a_a6c4Y a_a6c4Y)) (t_a6cBb :: t_a6c4M a_a6c4Y). (SFoldable t_a6c4M, (Apply (Apply Foldr1Sym0 t_a6cBa) t_a6cBb :: a_a6c4Y) ~ Apply (Apply Foldr1_6989586621680487017Sym0 t_a6cBa) t_a6cBb) => Sing t_a6cBa -> Sing t_a6cBb -> Sing (Apply (Apply Foldr1Sym0 t_a6cBa) t_a6cBb :: a_a6c4Y)
sFoldl1 :: forall a_a6c4Z (t_a6cBe :: (~>) a_a6c4Z ((~>) a_a6c4Z a_a6c4Z)) (t_a6cBf :: t_a6c4M a_a6c4Z). (SFoldable t_a6c4M, (Apply (Apply Foldl1Sym0 t_a6cBe) t_a6cBf :: a_a6c4Z) ~ Apply (Apply Foldl1_6989586621680487042Sym0 t_a6cBe) t_a6cBf) => Sing t_a6cBe -> Sing t_a6cBf -> Sing (Apply (Apply Foldl1Sym0 t_a6cBe) t_a6cBf :: a_a6c4Z)
sToList :: forall a_a6c50 (t_a6cBi :: t_a6c4M a_a6c50). (SFoldable t_a6c4M, (Apply ToListSym0 t_a6cBi :: [a_a6c50]) ~ Apply ToList_6989586621680487052Sym0 t_a6cBi) => Sing t_a6cBi -> Sing (Apply ToListSym0 t_a6cBi :: [a_a6c50])
sNull :: forall a_a6c51 (t_a6cBk :: t_a6c4M a_a6c51). (SFoldable t_a6c4M, (Apply NullSym0 t_a6cBk :: Bool) ~ Apply Null_6989586621680487073Sym0 t_a6cBk) => Sing t_a6cBk -> Sing (Apply NullSym0 t_a6cBk :: Bool)
sLength :: forall a_a6c52 (t_a6cBm :: t_a6c4M a_a6c52). (SFoldable t_a6c4M, (Apply LengthSym0 t_a6cBm :: Nat) ~ Apply Length_6989586621680487095Sym0 t_a6cBm) => Sing t_a6cBm -> Sing (Apply LengthSym0 t_a6cBm :: Nat)
sElem :: forall a_a6c53 (t_a6cBo :: a_a6c53) (t_a6cBp :: t_a6c4M a_a6c53). (SFoldable t_a6c4M, (Apply (Apply ElemSym0 t_a6cBo) t_a6cBp :: Bool) ~ Apply (Apply Elem_6989586621680487110Sym0 t_a6cBo) t_a6cBp, SEq a_a6c53) => Sing t_a6cBo -> Sing t_a6cBp -> Sing (Apply (Apply ElemSym0 t_a6cBo) t_a6cBp :: Bool)
sMaximum :: forall a_a6c54 (t_a6cBs :: t_a6c4M a_a6c54). (SFoldable t_a6c4M, (Apply MaximumSym0 t_a6cBs :: a_a6c54) ~ Apply Maximum_6989586621680487124Sym0 t_a6cBs, SOrd a_a6c54) => Sing t_a6cBs -> Sing (Apply MaximumSym0 t_a6cBs :: a_a6c54)
sMinimum :: forall a_a6c55 (t_a6cBu :: t_a6c4M a_a6c55). (SFoldable t_a6c4M, (Apply MinimumSym0 t_a6cBu :: a_a6c55) ~ Apply Minimum_6989586621680487137Sym0 t_a6cBu, SOrd a_a6c55) => Sing t_a6cBu -> Sing (Apply MinimumSym0 t_a6cBu :: a_a6c55)
sSum :: forall a_a6c56 (t_a6cBw :: t_a6c4M a_a6c56). (SFoldable t_a6c4M, (Apply SumSym0 t_a6cBw :: a_a6c56) ~ Apply Sum_6989586621680487150Sym0 t_a6cBw, SNum a_a6c56) => Sing t_a6cBw -> Sing (Apply SumSym0 t_a6cBw :: a_a6c56)
sProduct :: forall a_a6c57 (t_a6cBy :: t_a6c4M a_a6c57). (SFoldable t_a6c4M, (Apply ProductSym0 t_a6cBy :: a_a6c57) ~ Apply Product_6989586621680487163Sym0 t_a6cBy, SNum a_a6c57) => Sing t_a6cBy -> Sing (Apply ProductSym0 t_a6cBy :: a_a6c57)
type family FoldrM (a_a6cet :: (~>) a_a6c49 ((~>) b_a6c4a (m_a6c48 b_a6c4a))) (a_a6ceu :: b_a6c4a) (a_a6cev :: t_a6c47 a_a6c49) :: m_a6c48 b_a6c4a
sFoldrM :: forall t_a6c47 m_a6c48 a_a6c49 b_a6c4a (t_a6czV :: (~>) a_a6c49 ((~>) b_a6c4a (m_a6c48 b_a6c4a))) (t_a6czW :: b_a6c4a) (t_a6czX :: t_a6c47 a_a6c49). (SFoldable t_a6c47, SMonad m_a6c48) => Sing t_a6czV -> Sing t_a6czW -> Sing t_a6czX -> Sing (Apply (Apply (Apply FoldrMSym0 t_a6czV) t_a6czW) t_a6czX :: m_a6c48 b_a6c4a)
type family FoldlM (a_a6ce7 :: (~>) b_a6c45 ((~>) a_a6c46 (m_a6c44 b_a6c45))) (a_a6ce8 :: b_a6c45) (a_a6ce9 :: t_a6c43 a_a6c46) :: m_a6c44 b_a6c45
sFoldlM :: forall t_a6c43 m_a6c44 b_a6c45 a_a6c46 (t_a6czP :: (~>) b_a6c45 ((~>) a_a6c46 (m_a6c44 b_a6c45))) (t_a6czQ :: b_a6c45) (t_a6czR :: t_a6c43 a_a6c46). (SFoldable t_a6c43, SMonad m_a6c44) => Sing t_a6czP -> Sing t_a6czQ -> Sing t_a6czR -> Sing (Apply (Apply (Apply FoldlMSym0 t_a6czP) t_a6czQ) t_a6czR :: m_a6c44 b_a6c45)
type family Traverse_ (a_a6cdP :: (~>) a_a6c41 (f_a6c40 b_a6c42)) (a_a6cdQ :: t_a6c3Z a_a6c41) :: f_a6c40 ()
sTraverse_ :: forall t_a6c3Z f_a6c40 a_a6c41 b_a6c42 (t_a6czH :: (~>) a_a6c41 (f_a6c40 b_a6c42)) (t_a6czI :: t_a6c3Z a_a6c41). (SFoldable t_a6c3Z, SApplicative f_a6c40) => Sing t_a6czH -> Sing t_a6czI -> Sing (Apply (Apply Traverse_Sym0 t_a6czH) t_a6czI :: f_a6c40 ())
type family For_ (a_a6ce1 :: t_a6c3V a_a6c3X) (a_a6ce2 :: (~>) a_a6c3X (f_a6c3W b_a6c3Y)) :: f_a6c3W ()
sFor_ :: forall t_a6c3V f_a6c3W a_a6c3X b_a6c3Y (t_a6czL :: t_a6c3V a_a6c3X) (t_a6czM :: (~>) a_a6c3X (f_a6c3W b_a6c3Y)). (SFoldable t_a6c3V, SApplicative f_a6c3W) => Sing t_a6czL -> Sing t_a6czM -> Sing (Apply (Apply For_Sym0 t_a6czL) t_a6czM :: f_a6c3W ())
type family SequenceA_ (a_a6cdu :: t_a6c3K (f_a6c3L a_a6c3M)) :: f_a6c3L ()
sSequenceA_ :: forall t_a6c3K f_a6c3L a_a6c3M (t_a6czx :: t_a6c3K (f_a6c3L a_a6c3M)). (SFoldable t_a6c3K, SApplicative f_a6c3L) => Sing t_a6czx -> Sing (Apply SequenceA_Sym0 t_a6czx :: f_a6c3L ())
type family Asum (a_a6cdf :: t_a6c3E (f_a6c3F a_a6c3G)) :: f_a6c3F a_a6c3G
sAsum :: forall t_a6c3E f_a6c3F a_a6c3G (t_a6czr :: t_a6c3E (f_a6c3F a_a6c3G)). (SFoldable t_a6c3E, SAlternative f_a6c3F) => Sing t_a6czr -> Sing (Apply AsumSym0 t_a6czr :: f_a6c3F a_a6c3G)
type family MapM_ (a_a6cdx :: (~>) a_a6c3T (m_a6c3S b_a6c3U)) (a_a6cdy :: t_a6c3R a_a6c3T) :: m_a6c3S ()
sMapM_ :: forall t_a6c3R m_a6c3S a_a6c3T b_a6c3U (t_a6czz :: (~>) a_a6c3T (m_a6c3S b_a6c3U)) (t_a6czA :: t_a6c3R a_a6c3T). (SFoldable t_a6c3R, SMonad m_a6c3S) => Sing t_a6czz -> Sing t_a6czA -> Sing (Apply (Apply MapM_Sym0 t_a6czz) t_a6czA :: m_a6c3S ())
type family ForM_ (a_a6cdJ :: t_a6c3N a_a6c3P) (a_a6cdK :: (~>) a_a6c3P (m_a6c3O b_a6c3Q)) :: m_a6c3O ()
sForM_ :: forall t_a6c3N m_a6c3O a_a6c3P b_a6c3Q (t_a6czD :: t_a6c3N a_a6c3P) (t_a6czE :: (~>) a_a6c3P (m_a6c3O b_a6c3Q)). (SFoldable t_a6c3N, SMonad m_a6c3O) => Sing t_a6czD -> Sing t_a6czE -> Sing (Apply (Apply ForM_Sym0 t_a6czD) t_a6czE :: m_a6c3O ())
type family Sequence_ (a_a6cdp :: t_a6c3H (m_a6c3I a_a6c3J)) :: m_a6c3I ()
sSequence_ :: forall t_a6c3H m_a6c3I a_a6c3J (t_a6czv :: t_a6c3H (m_a6c3I a_a6c3J)). (SFoldable t_a6c3H, SMonad m_a6c3I) => Sing t_a6czv -> Sing (Apply Sequence_Sym0 t_a6czv :: m_a6c3I ())
type family Msum (a_a6cdk :: t_a6c3B (m_a6c3C a_a6c3D)) :: m_a6c3C a_a6c3D
sMsum :: forall t_a6c3B m_a6c3C a_a6c3D (t_a6czt :: t_a6c3B (m_a6c3C a_a6c3D)). (SFoldable t_a6c3B, SMonadPlus m_a6c3C) => Sing t_a6czt -> Sing (Apply MsumSym0 t_a6czt :: m_a6c3C a_a6c3D)
type family Concat (a_a6cd1 :: t_a6c3z [a_a6c3A]) :: [a_a6c3A]
sConcat :: forall t_a6c3z a_a6c3A (t_a6czp :: t_a6c3z [a_a6c3A]). SFoldable t_a6c3z => Sing t_a6czp -> Sing (Apply ConcatSym0 t_a6czp :: [a_a6c3A])
type family ConcatMap (a_a6ccL :: (~>) a_a6c3x [b_a6c3y]) (a_a6ccM :: t_a6c3w a_a6c3x) :: [b_a6c3y]
sConcatMap :: forall t_a6c3w a_a6c3x b_a6c3y (t_a6czl :: (~>) a_a6c3x [b_a6c3y]) (t_a6czm :: t_a6c3w a_a6c3x). SFoldable t_a6c3w => Sing t_a6czl -> Sing t_a6czm -> Sing (Apply (Apply ConcatMapSym0 t_a6czl) t_a6czm :: [b_a6c3y])
type family And (a_a6ccC :: t_a6c3v Bool) :: Bool
sAnd :: forall t_a6c3v (t_a6czj :: t_a6c3v Bool). SFoldable t_a6c3v => Sing t_a6czj -> Sing (Apply AndSym0 t_a6czj :: Bool)
type family Or (a_a6cct :: t_a6c3u Bool) :: Bool
sOr :: forall t_a6c3u (t_a6czh :: t_a6c3u Bool). SFoldable t_a6c3u => Sing t_a6czh -> Sing (Apply OrSym0 t_a6czh :: Bool)
type family Any (a_a6ccg :: (~>) a_a6c3t Bool) (a_a6cch :: t_a6c3s a_a6c3t) :: Bool
sAny :: forall t_a6c3s a_a6c3t (t_a6czd :: (~>) a_a6c3t Bool) (t_a6cze :: t_a6c3s a_a6c3t). SFoldable t_a6c3s => Sing t_a6czd -> Sing t_a6cze -> Sing (Apply (Apply AnySym0 t_a6czd) t_a6cze :: Bool)
type family All (a_a6cc3 :: (~>) a_a6c3r Bool) (a_a6cc4 :: t_a6c3q a_a6c3r) :: Bool
sAll :: forall t_a6c3q a_a6c3r (t_a6cz9 :: (~>) a_a6c3r Bool) (t_a6cza :: t_a6c3q a_a6c3r). SFoldable t_a6c3q => Sing t_a6cz9 -> Sing t_a6cza -> Sing (Apply (Apply AllSym0 t_a6cz9) t_a6cza :: Bool)
type family MaximumBy (a_a6cbE :: (~>) a_a6c3p ((~>) a_a6c3p Ordering)) (a_a6cbF :: t_a6c3o a_a6c3p) :: a_a6c3p
sMaximumBy :: forall t_a6c3o a_a6c3p (t_a6cz5 :: (~>) a_a6c3p ((~>) a_a6c3p Ordering)) (t_a6cz6 :: t_a6c3o a_a6c3p). SFoldable t_a6c3o => Sing t_a6cz5 -> Sing t_a6cz6 -> Sing (Apply (Apply MaximumBySym0 t_a6cz5) t_a6cz6 :: a_a6c3p)
type family MinimumBy (a_a6cbf :: (~>) a_a6c3n ((~>) a_a6c3n Ordering)) (a_a6cbg :: t_a6c3m a_a6c3n) :: a_a6c3n
sMinimumBy :: forall t_a6c3m a_a6c3n (t_a6cz1 :: (~>) a_a6c3n ((~>) a_a6c3n Ordering)) (t_a6cz2 :: t_a6c3m a_a6c3n). SFoldable t_a6c3m => Sing t_a6cz1 -> Sing t_a6cz2 -> Sing (Apply (Apply MinimumBySym0 t_a6cz1) t_a6cz2 :: a_a6c3n)
type family NotElem (a_a6cb7 :: a_a6c3l) (a_a6cb8 :: t_a6c3k a_a6c3l) :: Bool
sNotElem :: forall t_a6c3k a_a6c3l (t_a6cyX :: a_a6c3l) (t_a6cyY :: t_a6c3k a_a6c3l). (SFoldable t_a6c3k, SEq a_a6c3l) => Sing t_a6cyX -> Sing t_a6cyY -> Sing (Apply (Apply NotElemSym0 t_a6cyX) t_a6cyY :: Bool)
type family Find (a_a6caG :: (~>) a_a6c3j Bool) (a_a6caH :: t_a6c3i a_a6c3j) :: Maybe a_a6c3j
sFind :: forall t_a6c3i a_a6c3j (t_a6cyT :: (~>) a_a6c3j Bool) (t_a6cyU :: t_a6c3i a_a6c3j). SFoldable t_a6c3i => Sing t_a6cyT -> Sing t_a6cyU -> Sing (Apply (Apply FindSym0 t_a6cyT) t_a6cyU :: Maybe a_a6c3j)
data FoldSym0 :: forall m6989586621680486185 t6989586621680486184. (~>) (t6989586621680486184 m6989586621680486185) m6989586621680486185
type FoldSym1 (arg6989586621680486807 :: t6989586621680486184 m6989586621680486185) = Fold arg6989586621680486807
data FoldMapSym0 :: forall a6989586621680486187 m6989586621680486186 t6989586621680486184. (~>) ((~>) a6989586621680486187 m6989586621680486186) ((~>) (t6989586621680486184 a6989586621680486187) m6989586621680486186)
data FoldMapSym1 (arg6989586621680486809 :: (~>) a6989586621680486187 m6989586621680486186) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486187) m6989586621680486186
type FoldMapSym2 (arg6989586621680486809 :: (~>) a6989586621680486187 m6989586621680486186) (arg6989586621680486810 :: t6989586621680486184 a6989586621680486187) = FoldMap arg6989586621680486809 arg6989586621680486810
data FoldrSym0 :: forall a6989586621680486188 b6989586621680486189 t6989586621680486184. (~>) ((~>) a6989586621680486188 ((~>) b6989586621680486189 b6989586621680486189)) ((~>) b6989586621680486189 ((~>) (t6989586621680486184 a6989586621680486188) b6989586621680486189))
data FoldrSym1 (arg6989586621680486813 :: (~>) a6989586621680486188 ((~>) b6989586621680486189 b6989586621680486189)) :: forall t6989586621680486184. (~>) b6989586621680486189 ((~>) (t6989586621680486184 a6989586621680486188) b6989586621680486189)
data FoldrSym2 (arg6989586621680486813 :: (~>) a6989586621680486188 ((~>) b6989586621680486189 b6989586621680486189)) (arg6989586621680486814 :: b6989586621680486189) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486188) b6989586621680486189
type FoldrSym3 (arg6989586621680486813 :: (~>) a6989586621680486188 ((~>) b6989586621680486189 b6989586621680486189)) (arg6989586621680486814 :: b6989586621680486189) (arg6989586621680486815 :: t6989586621680486184 a6989586621680486188) = Foldr arg6989586621680486813 arg6989586621680486814 arg6989586621680486815
data Foldr'Sym0 :: forall a6989586621680486190 b6989586621680486191 t6989586621680486184. (~>) ((~>) a6989586621680486190 ((~>) b6989586621680486191 b6989586621680486191)) ((~>) b6989586621680486191 ((~>) (t6989586621680486184 a6989586621680486190) b6989586621680486191))
data Foldr'Sym1 (arg6989586621680486819 :: (~>) a6989586621680486190 ((~>) b6989586621680486191 b6989586621680486191)) :: forall t6989586621680486184. (~>) b6989586621680486191 ((~>) (t6989586621680486184 a6989586621680486190) b6989586621680486191)
data Foldr'Sym2 (arg6989586621680486819 :: (~>) a6989586621680486190 ((~>) b6989586621680486191 b6989586621680486191)) (arg6989586621680486820 :: b6989586621680486191) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486190) b6989586621680486191
type Foldr'Sym3 (arg6989586621680486819 :: (~>) a6989586621680486190 ((~>) b6989586621680486191 b6989586621680486191)) (arg6989586621680486820 :: b6989586621680486191) (arg6989586621680486821 :: t6989586621680486184 a6989586621680486190) = Foldr' arg6989586621680486819 arg6989586621680486820 arg6989586621680486821
data FoldlSym0 :: forall a6989586621680486193 b6989586621680486192 t6989586621680486184. (~>) ((~>) b6989586621680486192 ((~>) a6989586621680486193 b6989586621680486192)) ((~>) b6989586621680486192 ((~>) (t6989586621680486184 a6989586621680486193) b6989586621680486192))
data FoldlSym1 (arg6989586621680486825 :: (~>) b6989586621680486192 ((~>) a6989586621680486193 b6989586621680486192)) :: forall t6989586621680486184. (~>) b6989586621680486192 ((~>) (t6989586621680486184 a6989586621680486193) b6989586621680486192)
data FoldlSym2 (arg6989586621680486825 :: (~>) b6989586621680486192 ((~>) a6989586621680486193 b6989586621680486192)) (arg6989586621680486826 :: b6989586621680486192) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486193) b6989586621680486192
type FoldlSym3 (arg6989586621680486825 :: (~>) b6989586621680486192 ((~>) a6989586621680486193 b6989586621680486192)) (arg6989586621680486826 :: b6989586621680486192) (arg6989586621680486827 :: t6989586621680486184 a6989586621680486193) = Foldl arg6989586621680486825 arg6989586621680486826 arg6989586621680486827
data Foldl'Sym0 :: forall a6989586621680486195 b6989586621680486194 t6989586621680486184. (~>) ((~>) b6989586621680486194 ((~>) a6989586621680486195 b6989586621680486194)) ((~>) b6989586621680486194 ((~>) (t6989586621680486184 a6989586621680486195) b6989586621680486194))
data Foldl'Sym1 (arg6989586621680486831 :: (~>) b6989586621680486194 ((~>) a6989586621680486195 b6989586621680486194)) :: forall t6989586621680486184. (~>) b6989586621680486194 ((~>) (t6989586621680486184 a6989586621680486195) b6989586621680486194)
data Foldl'Sym2 (arg6989586621680486831 :: (~>) b6989586621680486194 ((~>) a6989586621680486195 b6989586621680486194)) (arg6989586621680486832 :: b6989586621680486194) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486195) b6989586621680486194
type Foldl'Sym3 (arg6989586621680486831 :: (~>) b6989586621680486194 ((~>) a6989586621680486195 b6989586621680486194)) (arg6989586621680486832 :: b6989586621680486194) (arg6989586621680486833 :: t6989586621680486184 a6989586621680486195) = Foldl' arg6989586621680486831 arg6989586621680486832 arg6989586621680486833
data Foldr1Sym0 :: forall a6989586621680486196 t6989586621680486184. (~>) ((~>) a6989586621680486196 ((~>) a6989586621680486196 a6989586621680486196)) ((~>) (t6989586621680486184 a6989586621680486196) a6989586621680486196)
data Foldr1Sym1 (arg6989586621680486837 :: (~>) a6989586621680486196 ((~>) a6989586621680486196 a6989586621680486196)) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486196) a6989586621680486196
type Foldr1Sym2 (arg6989586621680486837 :: (~>) a6989586621680486196 ((~>) a6989586621680486196 a6989586621680486196)) (arg6989586621680486838 :: t6989586621680486184 a6989586621680486196) = Foldr1 arg6989586621680486837 arg6989586621680486838
data Foldl1Sym0 :: forall a6989586621680486197 t6989586621680486184. (~>) ((~>) a6989586621680486197 ((~>) a6989586621680486197 a6989586621680486197)) ((~>) (t6989586621680486184 a6989586621680486197) a6989586621680486197)
data Foldl1Sym1 (arg6989586621680486841 :: (~>) a6989586621680486197 ((~>) a6989586621680486197 a6989586621680486197)) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486197) a6989586621680486197
type Foldl1Sym2 (arg6989586621680486841 :: (~>) a6989586621680486197 ((~>) a6989586621680486197 a6989586621680486197)) (arg6989586621680486842 :: t6989586621680486184 a6989586621680486197) = Foldl1 arg6989586621680486841 arg6989586621680486842
data ToListSym0 :: forall a6989586621680486198 t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486198) [a6989586621680486198]
type ToListSym1 (arg6989586621680486845 :: t6989586621680486184 a6989586621680486198) = ToList arg6989586621680486845
data NullSym0 :: forall a6989586621680486199 t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486199) Bool
type NullSym1 (arg6989586621680486847 :: t6989586621680486184 a6989586621680486199) = Null arg6989586621680486847
data LengthSym0 :: forall a6989586621680486200 t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486200) Nat
type LengthSym1 (arg6989586621680486849 :: t6989586621680486184 a6989586621680486200) = Length arg6989586621680486849
data ElemSym0 :: forall a6989586621680486201 t6989586621680486184. (~>) a6989586621680486201 ((~>) (t6989586621680486184 a6989586621680486201) Bool)
data ElemSym1 (arg6989586621680486851 :: a6989586621680486201) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486201) Bool
type ElemSym2 (arg6989586621680486851 :: a6989586621680486201) (arg6989586621680486852 :: t6989586621680486184 a6989586621680486201) = Elem arg6989586621680486851 arg6989586621680486852
data MaximumSym0 :: forall a6989586621680486202 t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486202) a6989586621680486202
type MaximumSym1 (arg6989586621680486855 :: t6989586621680486184 a6989586621680486202) = Maximum arg6989586621680486855
data MinimumSym0 :: forall a6989586621680486203 t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486203) a6989586621680486203
type MinimumSym1 (arg6989586621680486857 :: t6989586621680486184 a6989586621680486203) = Minimum arg6989586621680486857
data SumSym0 :: forall a6989586621680486204 t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486204) a6989586621680486204
type SumSym1 (arg6989586621680486859 :: t6989586621680486184 a6989586621680486204) = Sum arg6989586621680486859
data ProductSym0 :: forall a6989586621680486205 t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486205) a6989586621680486205
type ProductSym1 (arg6989586621680486861 :: t6989586621680486184 a6989586621680486205) = Product arg6989586621680486861
data FoldrMSym0 :: forall a6989586621680486145 b6989586621680486146 m6989586621680486144 t6989586621680486143. (~>) ((~>) a6989586621680486145 ((~>) b6989586621680486146 (m6989586621680486144 b6989586621680486146))) ((~>) b6989586621680486146 ((~>) (t6989586621680486143 a6989586621680486145) (m6989586621680486144 b6989586621680486146)))
data FoldrMSym1 (a6989586621680486785 :: (~>) a6989586621680486145 ((~>) b6989586621680486146 (m6989586621680486144 b6989586621680486146))) :: forall t6989586621680486143. (~>) b6989586621680486146 ((~>) (t6989586621680486143 a6989586621680486145) (m6989586621680486144 b6989586621680486146))
data FoldrMSym2 (a6989586621680486785 :: (~>) a6989586621680486145 ((~>) b6989586621680486146 (m6989586621680486144 b6989586621680486146))) (a6989586621680486786 :: b6989586621680486146) :: forall t6989586621680486143. (~>) (t6989586621680486143 a6989586621680486145) (m6989586621680486144 b6989586621680486146)
type FoldrMSym3 (a6989586621680486785 :: (~>) a6989586621680486145 ((~>) b6989586621680486146 (m6989586621680486144 b6989586621680486146))) (a6989586621680486786 :: b6989586621680486146) (a6989586621680486787 :: t6989586621680486143 a6989586621680486145) = FoldrM a6989586621680486785 a6989586621680486786 a6989586621680486787
data FoldlMSym0 :: forall a6989586621680486142 b6989586621680486141 m6989586621680486140 t6989586621680486139. (~>) ((~>) b6989586621680486141 ((~>) a6989586621680486142 (m6989586621680486140 b6989586621680486141))) ((~>) b6989586621680486141 ((~>) (t6989586621680486139 a6989586621680486142) (m6989586621680486140 b6989586621680486141)))
data FoldlMSym1 (a6989586621680486763 :: (~>) b6989586621680486141 ((~>) a6989586621680486142 (m6989586621680486140 b6989586621680486141))) :: forall t6989586621680486139. (~>) b6989586621680486141 ((~>) (t6989586621680486139 a6989586621680486142) (m6989586621680486140 b6989586621680486141))
data FoldlMSym2 (a6989586621680486763 :: (~>) b6989586621680486141 ((~>) a6989586621680486142 (m6989586621680486140 b6989586621680486141))) (a6989586621680486764 :: b6989586621680486141) :: forall t6989586621680486139. (~>) (t6989586621680486139 a6989586621680486142) (m6989586621680486140 b6989586621680486141)
type FoldlMSym3 (a6989586621680486763 :: (~>) b6989586621680486141 ((~>) a6989586621680486142 (m6989586621680486140 b6989586621680486141))) (a6989586621680486764 :: b6989586621680486141) (a6989586621680486765 :: t6989586621680486139 a6989586621680486142) = FoldlM a6989586621680486763 a6989586621680486764 a6989586621680486765
data Traverse_Sym0 :: forall a6989586621680486137 b6989586621680486138 f6989586621680486136 t6989586621680486135. (~>) ((~>) a6989586621680486137 (f6989586621680486136 b6989586621680486138)) ((~>) (t6989586621680486135 a6989586621680486137) (f6989586621680486136 ()))
data Traverse_Sym1 (a6989586621680486745 :: (~>) a6989586621680486137 (f6989586621680486136 b6989586621680486138)) :: forall t6989586621680486135. (~>) (t6989586621680486135 a6989586621680486137) (f6989586621680486136 ())
type Traverse_Sym2 (a6989586621680486745 :: (~>) a6989586621680486137 (f6989586621680486136 b6989586621680486138)) (a6989586621680486746 :: t6989586621680486135 a6989586621680486137) = Traverse_ a6989586621680486745 a6989586621680486746
data For_Sym0 :: forall a6989586621680486133 b6989586621680486134 f6989586621680486132 t6989586621680486131. (~>) (t6989586621680486131 a6989586621680486133) ((~>) ((~>) a6989586621680486133 (f6989586621680486132 b6989586621680486134)) (f6989586621680486132 ()))
data For_Sym1 (a6989586621680486757 :: t6989586621680486131 a6989586621680486133) :: forall b6989586621680486134 f6989586621680486132. (~>) ((~>) a6989586621680486133 (f6989586621680486132 b6989586621680486134)) (f6989586621680486132 ())
type For_Sym2 (a6989586621680486757 :: t6989586621680486131 a6989586621680486133) (a6989586621680486758 :: (~>) a6989586621680486133 (f6989586621680486132 b6989586621680486134)) = For_ a6989586621680486757 a6989586621680486758
data SequenceA_Sym0 :: forall a6989586621680486122 f6989586621680486121 t6989586621680486120. (~>) (t6989586621680486120 (f6989586621680486121 a6989586621680486122)) (f6989586621680486121 ())
type SequenceA_Sym1 (a6989586621680486724 :: t6989586621680486120 (f6989586621680486121 a6989586621680486122)) = SequenceA_ a6989586621680486724
data AsumSym0 :: forall a6989586621680486116 f6989586621680486115 t6989586621680486114. (~>) (t6989586621680486114 (f6989586621680486115 a6989586621680486116)) (f6989586621680486115 a6989586621680486116)
type AsumSym1 (a6989586621680486709 :: t6989586621680486114 (f6989586621680486115 a6989586621680486116)) = Asum a6989586621680486709
data MapM_Sym0 :: forall a6989586621680486129 b6989586621680486130 m6989586621680486128 t6989586621680486127. (~>) ((~>) a6989586621680486129 (m6989586621680486128 b6989586621680486130)) ((~>) (t6989586621680486127 a6989586621680486129) (m6989586621680486128 ()))
data MapM_Sym1 (a6989586621680486727 :: (~>) a6989586621680486129 (m6989586621680486128 b6989586621680486130)) :: forall t6989586621680486127. (~>) (t6989586621680486127 a6989586621680486129) (m6989586621680486128 ())
type MapM_Sym2 (a6989586621680486727 :: (~>) a6989586621680486129 (m6989586621680486128 b6989586621680486130)) (a6989586621680486728 :: t6989586621680486127 a6989586621680486129) = MapM_ a6989586621680486727 a6989586621680486728
data ForM_Sym0 :: forall a6989586621680486125 b6989586621680486126 m6989586621680486124 t6989586621680486123. (~>) (t6989586621680486123 a6989586621680486125) ((~>) ((~>) a6989586621680486125 (m6989586621680486124 b6989586621680486126)) (m6989586621680486124 ()))
data ForM_Sym1 (a6989586621680486739 :: t6989586621680486123 a6989586621680486125) :: forall b6989586621680486126 m6989586621680486124. (~>) ((~>) a6989586621680486125 (m6989586621680486124 b6989586621680486126)) (m6989586621680486124 ())
type ForM_Sym2 (a6989586621680486739 :: t6989586621680486123 a6989586621680486125) (a6989586621680486740 :: (~>) a6989586621680486125 (m6989586621680486124 b6989586621680486126)) = ForM_ a6989586621680486739 a6989586621680486740
data Sequence_Sym0 :: forall a6989586621680486119 m6989586621680486118 t6989586621680486117. (~>) (t6989586621680486117 (m6989586621680486118 a6989586621680486119)) (m6989586621680486118 ())
type Sequence_Sym1 (a6989586621680486719 :: t6989586621680486117 (m6989586621680486118 a6989586621680486119)) = Sequence_ a6989586621680486719
data MsumSym0 :: forall a6989586621680486113 m6989586621680486112 t6989586621680486111. (~>) (t6989586621680486111 (m6989586621680486112 a6989586621680486113)) (m6989586621680486112 a6989586621680486113)
type MsumSym1 (a6989586621680486714 :: t6989586621680486111 (m6989586621680486112 a6989586621680486113)) = Msum a6989586621680486714
data ConcatSym0 :: forall a6989586621680486110 t6989586621680486109. (~>) (t6989586621680486109 [a6989586621680486110]) [a6989586621680486110]
type ConcatSym1 (a6989586621680486695 :: t6989586621680486109 [a6989586621680486110]) = Concat a6989586621680486695
data ConcatMapSym0 :: forall a6989586621680486107 b6989586621680486108 t6989586621680486106. (~>) ((~>) a6989586621680486107 [b6989586621680486108]) ((~>) (t6989586621680486106 a6989586621680486107) [b6989586621680486108])
data ConcatMapSym1 (a6989586621680486679 :: (~>) a6989586621680486107 [b6989586621680486108]) :: forall t6989586621680486106. (~>) (t6989586621680486106 a6989586621680486107) [b6989586621680486108]
type ConcatMapSym2 (a6989586621680486679 :: (~>) a6989586621680486107 [b6989586621680486108]) (a6989586621680486680 :: t6989586621680486106 a6989586621680486107) = ConcatMap a6989586621680486679 a6989586621680486680
data AndSym0 :: forall t6989586621680486105. (~>) (t6989586621680486105 Bool) Bool
type AndSym1 (a6989586621680486670 :: t6989586621680486105 Bool) = And a6989586621680486670
data OrSym0 :: forall t6989586621680486104. (~>) (t6989586621680486104 Bool) Bool
type OrSym1 (a6989586621680486661 :: t6989586621680486104 Bool) = Or a6989586621680486661
data AnySym0 :: forall a6989586621680486103 t6989586621680486102. (~>) ((~>) a6989586621680486103 Bool) ((~>) (t6989586621680486102 a6989586621680486103) Bool)
data AnySym1 (a6989586621680486648 :: (~>) a6989586621680486103 Bool) :: forall t6989586621680486102. (~>) (t6989586621680486102 a6989586621680486103) Bool
type AnySym2 (a6989586621680486648 :: (~>) a6989586621680486103 Bool) (a6989586621680486649 :: t6989586621680486102 a6989586621680486103) = Any a6989586621680486648 a6989586621680486649
data AllSym0 :: forall a6989586621680486101 t6989586621680486100. (~>) ((~>) a6989586621680486101 Bool) ((~>) (t6989586621680486100 a6989586621680486101) Bool)
data AllSym1 (a6989586621680486635 :: (~>) a6989586621680486101 Bool) :: forall t6989586621680486100. (~>) (t6989586621680486100 a6989586621680486101) Bool
type AllSym2 (a6989586621680486635 :: (~>) a6989586621680486101 Bool) (a6989586621680486636 :: t6989586621680486100 a6989586621680486101) = All a6989586621680486635 a6989586621680486636
data MaximumBySym0 :: forall a6989586621680486099 t6989586621680486098. (~>) ((~>) a6989586621680486099 ((~>) a6989586621680486099 Ordering)) ((~>) (t6989586621680486098 a6989586621680486099) a6989586621680486099)
data MaximumBySym1 (a6989586621680486610 :: (~>) a6989586621680486099 ((~>) a6989586621680486099 Ordering)) :: forall t6989586621680486098. (~>) (t6989586621680486098 a6989586621680486099) a6989586621680486099
type MaximumBySym2 (a6989586621680486610 :: (~>) a6989586621680486099 ((~>) a6989586621680486099 Ordering)) (a6989586621680486611 :: t6989586621680486098 a6989586621680486099) = MaximumBy a6989586621680486610 a6989586621680486611
data MinimumBySym0 :: forall a6989586621680486097 t6989586621680486096. (~>) ((~>) a6989586621680486097 ((~>) a6989586621680486097 Ordering)) ((~>) (t6989586621680486096 a6989586621680486097) a6989586621680486097)
data MinimumBySym1 (a6989586621680486585 :: (~>) a6989586621680486097 ((~>) a6989586621680486097 Ordering)) :: forall t6989586621680486096. (~>) (t6989586621680486096 a6989586621680486097) a6989586621680486097
type MinimumBySym2 (a6989586621680486585 :: (~>) a6989586621680486097 ((~>) a6989586621680486097 Ordering)) (a6989586621680486586 :: t6989586621680486096 a6989586621680486097) = MinimumBy a6989586621680486585 a6989586621680486586
data NotElemSym0 :: forall a6989586621680486095 t6989586621680486094. (~>) a6989586621680486095 ((~>) (t6989586621680486094 a6989586621680486095) Bool)
data NotElemSym1 (a6989586621680486577 :: a6989586621680486095) :: forall t6989586621680486094. (~>) (t6989586621680486094 a6989586621680486095) Bool
type NotElemSym2 (a6989586621680486577 :: a6989586621680486095) (a6989586621680486578 :: t6989586621680486094 a6989586621680486095) = NotElem a6989586621680486577 a6989586621680486578
data FindSym0 :: forall a6989586621680486093 t6989586621680486092. (~>) ((~>) a6989586621680486093 Bool) ((~>) (t6989586621680486092 a6989586621680486093) (Maybe a6989586621680486093))
data FindSym1 (a6989586621680486550 :: (~>) a6989586621680486093 Bool) :: forall t6989586621680486092. (~>) (t6989586621680486092 a6989586621680486093) (Maybe a6989586621680486093)
type FindSym2 (a6989586621680486550 :: (~>) a6989586621680486093 Bool) (a6989586621680486551 :: t6989586621680486092 a6989586621680486093) = Find a6989586621680486550 a6989586621680486551
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680568619Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Monoid.Last
instance forall a6989586621680486188 b6989586621680486189 (a6989586621680568616 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680568619Sym1 a6989586621680568616)
instance forall a6989586621680486188 b6989586621680486189 (a6989586621680568617 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)) (a6989586621680568616 :: b6989586621680486189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680568619Sym2 a6989586621680568617 a6989586621680568616)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680568605Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable Data.Monoid.Last
instance forall k1 k2 (t6989586621680486184 :: * -> *) a6989586621680486188 k3 (_f_69895866216805684696989586621680568602 :: a6989586621680486188 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568605Sym1 _f_69895866216805684696989586621680568602)
instance forall k1 (t6989586621680486184 :: * -> *) k2 a6989586621680486188 k3 (_z_69895866216805684716989586621680568603 :: a6989586621680486188 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (_f_69895866216805684696989586621680568602 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568605Sym2 _z_69895866216805684716989586621680568603 _f_69895866216805684696989586621680568602)
instance forall (t6989586621680486184 :: * -> *) k1 k2 a6989586621680486188 k3 (a_69895866216805684916989586621680568604 :: a6989586621680486188 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (_z_69895866216805684716989586621680568603 :: k2) (_f_69895866216805684696989586621680568602 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568605Sym3 a_69895866216805684916989586621680568604 _z_69895866216805684716989586621680568603 _f_69895866216805684696989586621680568602)
instance forall (t6989586621680486184 :: * -> *) k1 k2 a6989586621680486188 k3 (t6989586621680568609 :: a6989586621680486188 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (a_69895866216805684916989586621680568604 :: k2) (_z_69895866216805684716989586621680568603 :: k1) (_f_69895866216805684696989586621680568602 :: t6989586621680486184 a6989586621680486188). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568605Sym4 t6989586621680568609 a_69895866216805684916989586621680568604 _z_69895866216805684716989586621680568603 _f_69895866216805684696989586621680568602)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680568592Sym0
instance forall a6989586621680486187 m6989586621680486186 (a6989586621680568590 :: a6989586621680486187 Data.Singletons.Internal.~> m6989586621680486186). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680568592Sym1 a6989586621680568590)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680568579Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Monoid.First
instance forall a6989586621680486188 b6989586621680486189 (a6989586621680568576 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680568579Sym1 a6989586621680568576)
instance forall a6989586621680486188 b6989586621680486189 (a6989586621680568577 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)) (a6989586621680568576 :: b6989586621680486189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680568579Sym2 a6989586621680568577 a6989586621680568576)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680568565Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable Data.Monoid.First
instance forall k1 k2 (t6989586621680486184 :: * -> *) a6989586621680486188 k3 (_f_69895866216805684356989586621680568562 :: a6989586621680486188 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568565Sym1 _f_69895866216805684356989586621680568562)
instance forall k1 (t6989586621680486184 :: * -> *) k2 a6989586621680486188 k3 (_z_69895866216805684376989586621680568563 :: a6989586621680486188 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (_f_69895866216805684356989586621680568562 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568565Sym2 _z_69895866216805684376989586621680568563 _f_69895866216805684356989586621680568562)
instance forall (t6989586621680486184 :: * -> *) k1 k2 a6989586621680486188 k3 (a_69895866216805684576989586621680568564 :: a6989586621680486188 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (_z_69895866216805684376989586621680568563 :: k2) (_f_69895866216805684356989586621680568562 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568565Sym3 a_69895866216805684576989586621680568564 _z_69895866216805684376989586621680568563 _f_69895866216805684356989586621680568562)
instance forall (t6989586621680486184 :: * -> *) k1 k2 a6989586621680486188 k3 (t6989586621680568569 :: a6989586621680486188 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (a_69895866216805684576989586621680568564 :: k2) (_z_69895866216805684376989586621680568563 :: k1) (_f_69895866216805684356989586621680568562 :: t6989586621680486184 a6989586621680486188). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568565Sym4 t6989586621680568569 a_69895866216805684576989586621680568564 _z_69895866216805684376989586621680568563 _f_69895866216805684356989586621680568562)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680568552Sym0
instance forall a6989586621680486187 m6989586621680486186 (a6989586621680568550 :: a6989586621680486187 Data.Singletons.Internal.~> m6989586621680486186). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680568552Sym1 a6989586621680568550)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680568539Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable ((,) a)
instance forall a6989586621680568382 a6989586621680486188 b6989586621680486189 (a6989586621680568536 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680568539Sym1 a6989586621680568536)
instance forall a6989586621680568382 a6989586621680486188 b6989586621680486189 (a6989586621680568537 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)) (a6989586621680568536 :: b6989586621680486189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680568539Sym2 a6989586621680568537 a6989586621680568536)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680568524Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable ((,) a)
instance forall k1 k2 k3 k4 k5 k6 (_f_69895866216805684076989586621680568520 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568524Sym1 _f_69895866216805684076989586621680568520)
instance forall k1 k2 k3 k4 k5 k6 (_z_69895866216805684096989586621680568521 :: k6) (_f_69895866216805684076989586621680568520 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568524Sym2 _z_69895866216805684096989586621680568521 _f_69895866216805684076989586621680568520)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216805684216989586621680568522 :: k6) (_z_69895866216805684096989586621680568521 :: k5) (_f_69895866216805684076989586621680568520 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568524Sym3 a_69895866216805684216989586621680568522 _z_69895866216805684096989586621680568521 _f_69895866216805684076989586621680568520)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216805684236989586621680568523 :: k6) (a_69895866216805684216989586621680568522 :: k5) (_z_69895866216805684096989586621680568521 :: k4) (_f_69895866216805684076989586621680568520 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568524Sym4 a_69895866216805684236989586621680568523 a_69895866216805684216989586621680568522 _z_69895866216805684096989586621680568521 _f_69895866216805684076989586621680568520)
instance forall k1 k2 k3 k4 k5 k6 (t6989586621680568528 :: k6) (a_69895866216805684236989586621680568523 :: k5) (a_69895866216805684216989586621680568522 :: k4) (_z_69895866216805684096989586621680568521 :: k3) (_f_69895866216805684076989586621680568520 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568524Sym5 t6989586621680568528 a_69895866216805684236989586621680568523 a_69895866216805684216989586621680568522 _z_69895866216805684096989586621680568521 _f_69895866216805684076989586621680568520)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680568510Sym0
instance forall a6989586621680568382 a6989586621680486187 m6989586621680486186 (a6989586621680568508 :: a6989586621680486187 Data.Singletons.Internal.~> m6989586621680486186). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680568510Sym1 a6989586621680568508)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680568500Sym0
instance forall k1 k2 k3 k4 k5 (_f_69895866216805684076989586621680568497 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568500Sym1 _f_69895866216805684076989586621680568497)
instance forall k1 k2 k3 k4 k5 (a_69895866216805684136989586621680568498 :: k5) (_f_69895866216805684076989586621680568497 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568500Sym2 a_69895866216805684136989586621680568498 _f_69895866216805684076989586621680568497)
instance forall k1 k2 k3 k4 k5 (a_69895866216805684156989586621680568499 :: k5) (a_69895866216805684136989586621680568498 :: k4) (_f_69895866216805684076989586621680568497 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568500Sym3 a_69895866216805684156989586621680568499 a_69895866216805684136989586621680568498 _f_69895866216805684076989586621680568497)
instance Data.Singletons.Prelude.Foldable.SFoldable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.FindSym0
instance forall a (t :: * -> *) (d :: a Data.Singletons.Internal.~> GHC.Types.Bool). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.FindSym1 d)
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Eq.SEq a) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.NotElemSym0
instance forall a (t :: * -> *) (d :: a). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.NotElemSym1 d)
instance Data.Singletons.Prelude.Foldable.SFoldable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.MinimumBySym0
instance forall a (t :: * -> *) (d :: a Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> GHC.Types.Ordering)). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.MinimumBySym1 d)
instance Data.Singletons.Prelude.Foldable.SFoldable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.MaximumBySym0
instance forall a (t :: * -> *) (d :: a Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> GHC.Types.Ordering)). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.MaximumBySym1 d)
instance Data.Singletons.Prelude.Foldable.SFoldable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.AllSym0
instance forall a (t :: * -> *) (d :: a Data.Singletons.Internal.~> GHC.Types.Bool). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.AllSym1 d)
instance Data.Singletons.Prelude.Foldable.SFoldable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.AnySym0
instance forall a (t :: * -> *) (d :: a Data.Singletons.Internal.~> GHC.Types.Bool). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.AnySym1 d)
instance Data.Singletons.Prelude.Foldable.SFoldable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.OrSym0
instance Data.Singletons.Prelude.Foldable.SFoldable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.AndSym0
instance Data.Singletons.Prelude.Foldable.SFoldable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.ConcatMapSym0
instance forall a b (t :: * -> *) (d :: a Data.Singletons.Internal.~> [b]). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.ConcatMapSym1 d)
instance Data.Singletons.Prelude.Foldable.SFoldable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.ConcatSym0
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SAlternative f) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.AsumSym0
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SMonadPlus m) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.MsumSym0
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SMonad m) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.Sequence_Sym0
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SApplicative f) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.SequenceA_Sym0
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SMonad m) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.MapM_Sym0
instance forall a (m :: * -> *) b (t :: * -> *) (d :: a Data.Singletons.Internal.~> m b). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SMonad m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.MapM_Sym1 d)
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SMonad m) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.ForM_Sym0
instance forall (t :: * -> *) a (m :: * -> *) b (d :: t a). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SMonad m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.ForM_Sym1 d)
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SApplicative f) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.Traverse_Sym0
instance forall a (f :: * -> *) b (t :: * -> *) (d :: a Data.Singletons.Internal.~> f b). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SApplicative f, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.Traverse_Sym1 d)
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SApplicative f) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.For_Sym0
instance forall (t :: * -> *) a (f :: * -> *) b (d :: t a). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SApplicative f, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.For_Sym1 d)
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SMonad m) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.FoldlMSym0
instance forall b a (m :: * -> *) (t :: * -> *) (d :: b Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> m b)). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SMonad m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.FoldlMSym1 d)
instance forall b a (m :: * -> *) (t :: * -> *) (d1 :: b Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> m b)) (d2 :: b). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SMonad m, Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.FoldlMSym2 d1 d2)
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SMonad m) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.FoldrMSym0
instance forall a b (m :: * -> *) (t :: * -> *) (d :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> m b)). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SMonad m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.FoldrMSym1 d)
instance forall a b (m :: * -> *) (t :: * -> *) (d1 :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> m b)) (d2 :: b). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SMonad m, Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.FoldrMSym2 d1 d2)
instance Data.Singletons.Prelude.Foldable.SFoldable GHC.Maybe.Maybe
instance Data.Singletons.Prelude.Foldable.SFoldable []
instance Data.Singletons.Prelude.Foldable.SFoldable GHC.Base.NonEmpty
instance Data.Singletons.Prelude.Foldable.SFoldable (Data.Either.Either a)
instance Data.Singletons.Prelude.Foldable.SFoldable Data.Semigroup.Internal.Dual
instance Data.Singletons.Prelude.Foldable.SFoldable Data.Semigroup.Internal.Sum
instance Data.Singletons.Prelude.Foldable.SFoldable Data.Semigroup.Internal.Product
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monoid.SMonoid m) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.FoldSym0
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monoid.SMonoid m) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.FoldMapSym0
instance forall a m (t :: * -> *) (d :: a Data.Singletons.Internal.~> m). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monoid.SMonoid m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.FoldMapSym1 d)
instance Data.Singletons.Prelude.Foldable.SFoldable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.FoldrSym0
instance forall a b (t :: * -> *) (d :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> b)). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.FoldrSym1 d)
instance forall a b (t :: * -> *) (d1 :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> b)) (d2 :: b). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.FoldrSym2 d1 d2)
instance Data.Singletons.Prelude.Foldable.SFoldable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.Foldr'Sym0
instance forall a b (t :: * -> *) (d :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> b)). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.Foldr'Sym1 d)
instance forall a b (t :: * -> *) (d1 :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> b)) (d2 :: b). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.Foldr'Sym2 d1 d2)
instance Data.Singletons.Prelude.Foldable.SFoldable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.FoldlSym0
instance forall b a (t :: * -> *) (d :: b Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> b)). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.FoldlSym1 d)
instance forall b a (t :: * -> *) (d1 :: b Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> b)) (d2 :: b). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.FoldlSym2 d1 d2)
instance Data.Singletons.Prelude.Foldable.SFoldable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.Foldl'Sym0
instance forall b a (t :: * -> *) (d :: b Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> b)). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.Foldl'Sym1 d)
instance forall b a (t :: * -> *) (d1 :: b Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> b)) (d2 :: b). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.Foldl'Sym2 d1 d2)
instance Data.Singletons.Prelude.Foldable.SFoldable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.Foldr1Sym0
instance forall a (t :: * -> *) (d :: a Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> a)). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.Foldr1Sym1 d)
instance Data.Singletons.Prelude.Foldable.SFoldable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.Foldl1Sym0
instance forall a (t :: * -> *) (d :: a Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> a)). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.Foldl1Sym1 d)
instance Data.Singletons.Prelude.Foldable.SFoldable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.ToListSym0
instance Data.Singletons.Prelude.Foldable.SFoldable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.NullSym0
instance Data.Singletons.Prelude.Foldable.SFoldable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.LengthSym0
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Eq.SEq a) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.ElemSym0
instance forall a (t :: * -> *) (d :: a). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Foldable.ElemSym1 d)
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Ord.SOrd a) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.MaximumSym0
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Ord.SOrd a) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.MinimumSym0
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Num.SNum a) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.SumSym0
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Num.SNum a) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.ProductSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680488048Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Internal.Product
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680488041Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680488034Sym0
instance forall k (a6989586621680486199 :: k) (t6989586621680486184 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680488027Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680488021Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680488014Sym0
instance forall k (a6989586621680486200 :: k) (t6989586621680486184 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680488007Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680488000Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486196 (a6989586621680487998 :: a6989586621680486196 Data.Singletons.Internal.~> (a6989586621680486196 Data.Singletons.Internal.~> a6989586621680486196)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680488000Sym1 a6989586621680487998)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680487988Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486190 b6989586621680486191 (a6989586621680487985 :: a6989586621680486190 Data.Singletons.Internal.~> (b6989586621680486191 Data.Singletons.Internal.~> b6989586621680486191)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680487988Sym1 a6989586621680487985)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486190 b6989586621680486191 (a6989586621680487986 :: a6989586621680486190 Data.Singletons.Internal.~> (b6989586621680486191 Data.Singletons.Internal.~> b6989586621680486191)) (a6989586621680487985 :: b6989586621680486191). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680487988Sym2 a6989586621680487986 a6989586621680487985)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680487965Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 b6989586621680486189 (a6989586621680487962 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487965Sym1 a6989586621680487962)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 b6989586621680486189 (a6989586621680487963 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)) (a6989586621680487962 :: b6989586621680486189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487965Sym2 a6989586621680487963 a6989586621680487962)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487949Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486197 (a6989586621680487947 :: a6989586621680486197 Data.Singletons.Internal.~> (a6989586621680486197 Data.Singletons.Internal.~> a6989586621680486197)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487949Sym1 a6989586621680487947)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487937Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486195 b6989586621680486194 (a6989586621680487934 :: b6989586621680486194 Data.Singletons.Internal.~> (a6989586621680486195 Data.Singletons.Internal.~> b6989586621680486194)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487937Sym1 a6989586621680487934)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486195 b6989586621680486194 (a6989586621680487935 :: b6989586621680486194 Data.Singletons.Internal.~> (a6989586621680486195 Data.Singletons.Internal.~> b6989586621680486194)) (a6989586621680487934 :: b6989586621680486194). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487937Sym2 a6989586621680487935 a6989586621680487934)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680487920Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486193 b6989586621680486192 (a6989586621680487917 :: b6989586621680486192 Data.Singletons.Internal.~> (a6989586621680486193 Data.Singletons.Internal.~> b6989586621680486192)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487920Sym1 a6989586621680487917)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486193 b6989586621680486192 (a6989586621680487918 :: b6989586621680486192 Data.Singletons.Internal.~> (a6989586621680486193 Data.Singletons.Internal.~> b6989586621680486192)) (a6989586621680487917 :: b6989586621680486192). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487920Sym2 a6989586621680487918 a6989586621680487917)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680487904Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486201 (a6989586621680487902 :: a6989586621680486201). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680487904Sym1 a6989586621680487902)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487892Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486187 m6989586621680486186 (a6989586621680487890 :: a6989586621680486187 Data.Singletons.Internal.~> m6989586621680486186). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487892Sym1 a6989586621680487890)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680487881Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Internal.Sum
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680487874Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680487867Sym0
instance forall k (a6989586621680486199 :: k) (t6989586621680486184 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680487860Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680487854Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680487847Sym0
instance forall k (a6989586621680486200 :: k) (t6989586621680486184 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680487840Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487833Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486196 (a6989586621680487831 :: a6989586621680486196 Data.Singletons.Internal.~> (a6989586621680486196 Data.Singletons.Internal.~> a6989586621680486196)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487833Sym1 a6989586621680487831)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680487821Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486190 b6989586621680486191 (a6989586621680487818 :: a6989586621680486190 Data.Singletons.Internal.~> (b6989586621680486191 Data.Singletons.Internal.~> b6989586621680486191)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680487821Sym1 a6989586621680487818)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486190 b6989586621680486191 (a6989586621680487819 :: a6989586621680486190 Data.Singletons.Internal.~> (b6989586621680486191 Data.Singletons.Internal.~> b6989586621680486191)) (a6989586621680487818 :: b6989586621680486191). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680487821Sym2 a6989586621680487819 a6989586621680487818)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680487798Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 b6989586621680486189 (a6989586621680487795 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487798Sym1 a6989586621680487795)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 b6989586621680486189 (a6989586621680487796 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)) (a6989586621680487795 :: b6989586621680486189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487798Sym2 a6989586621680487796 a6989586621680487795)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487782Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486197 (a6989586621680487780 :: a6989586621680486197 Data.Singletons.Internal.~> (a6989586621680486197 Data.Singletons.Internal.~> a6989586621680486197)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487782Sym1 a6989586621680487780)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487770Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486195 b6989586621680486194 (a6989586621680487767 :: b6989586621680486194 Data.Singletons.Internal.~> (a6989586621680486195 Data.Singletons.Internal.~> b6989586621680486194)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487770Sym1 a6989586621680487767)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486195 b6989586621680486194 (a6989586621680487768 :: b6989586621680486194 Data.Singletons.Internal.~> (a6989586621680486195 Data.Singletons.Internal.~> b6989586621680486194)) (a6989586621680487767 :: b6989586621680486194). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487770Sym2 a6989586621680487768 a6989586621680487767)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680487753Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486193 b6989586621680486192 (a6989586621680487750 :: b6989586621680486192 Data.Singletons.Internal.~> (a6989586621680486193 Data.Singletons.Internal.~> b6989586621680486192)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487753Sym1 a6989586621680487750)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486193 b6989586621680486192 (a6989586621680487751 :: b6989586621680486192 Data.Singletons.Internal.~> (a6989586621680486193 Data.Singletons.Internal.~> b6989586621680486192)) (a6989586621680487750 :: b6989586621680486192). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487753Sym2 a6989586621680487751 a6989586621680487750)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680487737Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486201 (a6989586621680487735 :: a6989586621680486201). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680487737Sym1 a6989586621680487735)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487725Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486187 m6989586621680486186 (a6989586621680487723 :: a6989586621680486187 Data.Singletons.Internal.~> m6989586621680486186). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487725Sym1 a6989586621680487723)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680487714Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Internal.Dual
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680487707Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680487700Sym0
instance forall k (a6989586621680486199 :: k) (t6989586621680486184 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680487693Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680487687Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680487680Sym0
instance forall k (a6989586621680486200 :: k) (t6989586621680486184 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680487673Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487666Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486196 (a6989586621680487664 :: a6989586621680486196 Data.Singletons.Internal.~> (a6989586621680486196 Data.Singletons.Internal.~> a6989586621680486196)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487666Sym1 a6989586621680487664)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680487654Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486190 b6989586621680486191 (a6989586621680487651 :: a6989586621680486190 Data.Singletons.Internal.~> (b6989586621680486191 Data.Singletons.Internal.~> b6989586621680486191)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680487654Sym1 a6989586621680487651)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486190 b6989586621680486191 (a6989586621680487652 :: a6989586621680486190 Data.Singletons.Internal.~> (b6989586621680486191 Data.Singletons.Internal.~> b6989586621680486191)) (a6989586621680487651 :: b6989586621680486191). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680487654Sym2 a6989586621680487652 a6989586621680487651)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680487631Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 b6989586621680486189 (a6989586621680487628 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487631Sym1 a6989586621680487628)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 b6989586621680486189 (a6989586621680487629 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)) (a6989586621680487628 :: b6989586621680486189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487631Sym2 a6989586621680487629 a6989586621680487628)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487615Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486197 (a6989586621680487613 :: a6989586621680486197 Data.Singletons.Internal.~> (a6989586621680486197 Data.Singletons.Internal.~> a6989586621680486197)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487615Sym1 a6989586621680487613)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487603Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486195 b6989586621680486194 (a6989586621680487600 :: b6989586621680486194 Data.Singletons.Internal.~> (a6989586621680486195 Data.Singletons.Internal.~> b6989586621680486194)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487603Sym1 a6989586621680487600)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486195 b6989586621680486194 (a6989586621680487601 :: b6989586621680486194 Data.Singletons.Internal.~> (a6989586621680486195 Data.Singletons.Internal.~> b6989586621680486194)) (a6989586621680487600 :: b6989586621680486194). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487603Sym2 a6989586621680487601 a6989586621680487600)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680487586Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486193 b6989586621680486192 (a6989586621680487583 :: b6989586621680486192 Data.Singletons.Internal.~> (a6989586621680486193 Data.Singletons.Internal.~> b6989586621680486192)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487586Sym1 a6989586621680487583)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486193 b6989586621680486192 (a6989586621680487584 :: b6989586621680486192 Data.Singletons.Internal.~> (a6989586621680486193 Data.Singletons.Internal.~> b6989586621680486192)) (a6989586621680487583 :: b6989586621680486192). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487586Sym2 a6989586621680487584 a6989586621680487583)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680487570Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486201 (a6989586621680487568 :: a6989586621680486201). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680487570Sym1 a6989586621680487568)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487558Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486187 m6989586621680486186 (a6989586621680487556 :: a6989586621680486187 Data.Singletons.Internal.~> m6989586621680486186). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487558Sym1 a6989586621680487556)
instance forall k (a6989586621680486199 :: k) (t6989586621680486184 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680487547Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable (Data.Either.Either a)
instance forall k (a6989586621680486200 :: k) (t6989586621680486184 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680487538Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680487530Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 b6989586621680486189 (a6989586621680487527 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487530Sym1 a6989586621680487527)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 b6989586621680486189 (a6989586621680487528 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)) (a6989586621680487527 :: b6989586621680486189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487530Sym2 a6989586621680487528 a6989586621680487527)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487513Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486187 m6989586621680486186 (a6989586621680487511 :: a6989586621680486187 Data.Singletons.Internal.~> m6989586621680486186). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487513Sym1 a6989586621680487511)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680487502Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable GHC.Base.NonEmpty
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Fold_6989586621680487494Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487485Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486187 m6989586621680486186 (a6989586621680487483 :: a6989586621680486187 Data.Singletons.Internal.~> m6989586621680486186). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487485Sym1 a6989586621680487483)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487472Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486196 (a6989586621680487470 :: a6989586621680486196 Data.Singletons.Internal.~> (a6989586621680486196 Data.Singletons.Internal.~> a6989586621680486196)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487472Sym1 a6989586621680487470)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487457GoSym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680487454 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487457GoSym1 f6989586621680487454)
instance forall k2 k3 k4 k5 k6 k7 (p6989586621680487455 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (f6989586621680487454 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487457GoSym2 p6989586621680487455 f6989586621680487454)
instance forall k2 k3 k4 k5 k6 k7 (ps6989586621680487456 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (p6989586621680487455 :: k4) (f6989586621680487454 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487457GoSym3 ps6989586621680487456 p6989586621680487455 f6989586621680487454)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680487458 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (ps6989586621680487456 :: k4) (p6989586621680487455 :: k3) (f6989586621680487454 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487457GoSym4 a6989586621680487458 ps6989586621680487456 p6989586621680487455 f6989586621680487454)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680487459 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (a6989586621680487458 :: k4) (ps6989586621680487456 :: k3) (p6989586621680487455 :: k2) (f6989586621680487454 :: k2 Data.Singletons.Internal.~> k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487457GoSym5 a6989586621680487459 a6989586621680487458 ps6989586621680487456 p6989586621680487455 f6989586621680487454)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487446Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486197 (a6989586621680487444 :: a6989586621680486197 Data.Singletons.Internal.~> (a6989586621680486197 Data.Singletons.Internal.~> a6989586621680486197)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487446Sym1 a6989586621680487444)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680487432Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486193 b6989586621680486192 (a6989586621680487429 :: b6989586621680486192 Data.Singletons.Internal.~> (a6989586621680486193 Data.Singletons.Internal.~> b6989586621680486192)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487432Sym1 a6989586621680487429)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486193 b6989586621680486192 (a6989586621680487430 :: b6989586621680486192 Data.Singletons.Internal.~> (a6989586621680486193 Data.Singletons.Internal.~> b6989586621680486192)) (a6989586621680487429 :: b6989586621680486192). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487432Sym2 a6989586621680487430 a6989586621680487429)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680487414Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 b6989586621680486189 (a6989586621680487411 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487414Sym1 a6989586621680487411)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 b6989586621680486189 (a6989586621680487412 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)) (a6989586621680487411 :: b6989586621680486189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487414Sym2 a6989586621680487412 a6989586621680487411)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680487398Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable []
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680487389Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680487380Sym0
instance forall k (a6989586621680486199 :: k) (t6989586621680486184 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680487371Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680487362Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680487353Sym0
instance forall k (a6989586621680486200 :: k) (t6989586621680486184 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680487344Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487334Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486196 (a6989586621680487332 :: a6989586621680486196 Data.Singletons.Internal.~> (a6989586621680486196 Data.Singletons.Internal.~> a6989586621680486196)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487334Sym1 a6989586621680487332)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680487317Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 b6989586621680486189 (a6989586621680487314 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487317Sym1 a6989586621680487314)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 b6989586621680486189 (a6989586621680487315 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)) (a6989586621680487314 :: b6989586621680486189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487317Sym2 a6989586621680487315 a6989586621680487314)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487295Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486197 (a6989586621680487293 :: a6989586621680486197 Data.Singletons.Internal.~> (a6989586621680486197 Data.Singletons.Internal.~> a6989586621680486197)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487295Sym1 a6989586621680487293)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487278Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486195 b6989586621680486194 (a6989586621680487275 :: b6989586621680486194 Data.Singletons.Internal.~> (a6989586621680486195 Data.Singletons.Internal.~> b6989586621680486194)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487278Sym1 a6989586621680487275)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486195 b6989586621680486194 (a6989586621680487276 :: b6989586621680486194 Data.Singletons.Internal.~> (a6989586621680486195 Data.Singletons.Internal.~> b6989586621680486194)) (a6989586621680487275 :: b6989586621680486194). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487278Sym2 a6989586621680487276 a6989586621680487275)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680487255Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486193 b6989586621680486192 (a6989586621680487252 :: b6989586621680486192 Data.Singletons.Internal.~> (a6989586621680486193 Data.Singletons.Internal.~> b6989586621680486192)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487255Sym1 a6989586621680487252)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486193 b6989586621680486192 (a6989586621680487253 :: b6989586621680486192 Data.Singletons.Internal.~> (a6989586621680486193 Data.Singletons.Internal.~> b6989586621680486192)) (a6989586621680487252 :: b6989586621680486192). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487255Sym2 a6989586621680487253 a6989586621680487252)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680487233Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486201 (a6989586621680487231 :: a6989586621680486201). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680487233Sym1 a6989586621680487231)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680487216Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable GHC.Maybe.Maybe
instance forall (t6989586621680486184 :: * -> *) a6989586621680486193 b6989586621680486192 (a6989586621680487213 :: b6989586621680486192 Data.Singletons.Internal.~> (a6989586621680486193 Data.Singletons.Internal.~> b6989586621680486192)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487216Sym1 a6989586621680487213)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486193 b6989586621680486192 (a6989586621680487214 :: b6989586621680486192 Data.Singletons.Internal.~> (a6989586621680486193 Data.Singletons.Internal.~> b6989586621680486192)) (a6989586621680487213 :: b6989586621680486192). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487216Sym2 a6989586621680487214 a6989586621680487213)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680487198Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 b6989586621680486189 (a6989586621680487195 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487198Sym1 a6989586621680487195)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 b6989586621680486189 (a6989586621680487196 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)) (a6989586621680487195 :: b6989586621680486189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487198Sym2 a6989586621680487196 a6989586621680487195)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487181Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486187 m6989586621680486186 (a6989586621680487179 :: a6989586621680486187 Data.Singletons.Internal.~> m6989586621680486186). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487181Sym1 a6989586621680487179)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486556Scrutinee_6989586621680486443Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486187 (p6989586621680486554 :: a6989586621680486187 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486556Scrutinee_6989586621680486443Sym1 p6989586621680486554)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FindSym0
instance forall (t6989586621680486092 :: * -> *) a6989586621680486093 (a6989586621680486550 :: a6989586621680486093 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FindSym1 a6989586621680486550)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486641Scrutinee_6989586621680486437Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486187 (p6989586621680486639 :: a6989586621680486187 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486641Scrutinee_6989586621680486437Sym1 p6989586621680486639)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.AllSym0
instance forall (t6989586621680486100 :: * -> *) a6989586621680486101 (a6989586621680486635 :: a6989586621680486101 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.AllSym1 a6989586621680486635)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486654Scrutinee_6989586621680486435Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486187 (p6989586621680486652 :: a6989586621680486187 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486654Scrutinee_6989586621680486435Sym1 p6989586621680486652)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486664Scrutinee_6989586621680486433Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.OrSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486673Scrutinee_6989586621680486431Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.AndSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486895Scrutinee_6989586621680486396Sym0
instance forall k (t6989586621680486184 :: * -> *) a6989586621680486187 a (f6989586621680486892 :: a6989586621680486187 Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> a)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486895Scrutinee_6989586621680486396Sym1 f6989586621680486892)
instance forall (t6989586621680486184 :: * -> *) k a6989586621680486187 a (z6989586621680486893 :: a6989586621680486187 Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> a)) (f6989586621680486892 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486895Scrutinee_6989586621680486396Sym2 z6989586621680486893 f6989586621680486892)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486950Scrutinee_6989586621680486399Sym0
instance forall k (t6989586621680486184 :: * -> *) a6989586621680486187 a (f6989586621680486947 :: a Data.Singletons.Internal.~> (a6989586621680486187 Data.Singletons.Internal.~> a)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486950Scrutinee_6989586621680486399Sym1 f6989586621680486947)
instance forall (t6989586621680486184 :: * -> *) k a6989586621680486187 a (z6989586621680486948 :: a Data.Singletons.Internal.~> (a6989586621680486187 Data.Singletons.Internal.~> a)) (f6989586621680486947 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486950Scrutinee_6989586621680486399Sym2 z6989586621680486948 f6989586621680486947)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487117Scrutinee_6989586621680486419Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487130Scrutinee_6989586621680486422Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487143Scrutinee_6989586621680486425Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487156Scrutinee_6989586621680486428Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ConcatMapSym0
instance forall (t6989586621680486106 :: * -> *) a6989586621680486107 b6989586621680486108 (a6989586621680486679 :: a6989586621680486107 Data.Singletons.Internal.~> [b6989586621680486108]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.ConcatMapSym1 a6989586621680486679)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680486685Sym0
instance forall k k1 (t6989586621680486184 :: * -> *) a6989586621680486188 (f6989586621680486683 :: k1 Data.Singletons.Internal.~> t6989586621680486184 a6989586621680486188). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680486685Sym1 f6989586621680486683)
instance forall k k1 (t6989586621680486184 :: * -> *) a6989586621680486188 (xs6989586621680486684 :: k1 Data.Singletons.Internal.~> t6989586621680486184 a6989586621680486188) (f6989586621680486683 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680486685Sym2 xs6989586621680486684 f6989586621680486683)
instance forall k k1 (t6989586621680486184 :: * -> *) a6989586621680486188 (t6989586621680486689 :: k1 Data.Singletons.Internal.~> t6989586621680486184 a6989586621680486188) (xs6989586621680486684 :: k) (f6989586621680486683 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680486685Sym3 t6989586621680486689 xs6989586621680486684 f6989586621680486683)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ConcatSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680486698Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 k (xs6989586621680486697 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680486698Sym1 xs6989586621680486697)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 k (t6989586621680486702 :: k) (xs6989586621680486697 :: t6989586621680486184 a6989586621680486188). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680486698Sym2 t6989586621680486702 xs6989586621680486697)
instance forall k (a6989586621680486113 :: k) (m6989586621680486112 :: k -> *) (t6989586621680486111 :: * -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MsumSym0
instance forall k (a6989586621680486116 :: k) (f6989586621680486115 :: k -> *) (t6989586621680486114 :: * -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.AsumSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sequence_Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.SequenceA_Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ForM_Sym0
instance forall b6989586621680486126 (m6989586621680486124 :: * -> *) (t6989586621680486123 :: * -> *) a6989586621680486125 (a6989586621680486739 :: t6989586621680486123 a6989586621680486125). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.ForM_Sym1 a6989586621680486739)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MapM_Sym0
instance forall (t6989586621680486127 :: * -> *) a6989586621680486129 (m6989586621680486128 :: * -> *) b6989586621680486130 (a6989586621680486727 :: a6989586621680486129 Data.Singletons.Internal.~> m6989586621680486128 b6989586621680486130). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.MapM_Sym1 a6989586621680486727)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.For_Sym0
instance forall b6989586621680486134 (f6989586621680486132 :: * -> *) (t6989586621680486131 :: * -> *) a6989586621680486133 (a6989586621680486757 :: t6989586621680486131 a6989586621680486133). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.For_Sym1 a6989586621680486757)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Traverse_Sym0
instance forall (t6989586621680486135 :: * -> *) a6989586621680486137 (f6989586621680486136 :: * -> *) b6989586621680486138 (a6989586621680486745 :: a6989586621680486137 Data.Singletons.Internal.~> f6989586621680486136 b6989586621680486138). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Traverse_Sym1 a6989586621680486745)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldlMSym0
instance forall (t6989586621680486139 :: * -> *) a6989586621680486142 (m6989586621680486140 :: * -> *) b6989586621680486141 (a6989586621680486763 :: b6989586621680486141 Data.Singletons.Internal.~> (a6989586621680486142 Data.Singletons.Internal.~> m6989586621680486140 b6989586621680486141)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlMSym1 a6989586621680486763)
instance forall (t6989586621680486139 :: * -> *) a6989586621680486142 (m6989586621680486140 :: * -> *) b6989586621680486141 (a6989586621680486764 :: b6989586621680486141 Data.Singletons.Internal.~> (a6989586621680486142 Data.Singletons.Internal.~> m6989586621680486140 b6989586621680486141)) (a6989586621680486763 :: b6989586621680486141). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlMSym2 a6989586621680486764 a6989586621680486763)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486190 b6989586621680486191 (arg6989586621680486819 :: a6989586621680486190 Data.Singletons.Internal.~> (b6989586621680486191 Data.Singletons.Internal.~> b6989586621680486191)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'Sym1 arg6989586621680486819)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486190 b6989586621680486191 (arg6989586621680486820 :: a6989586621680486190 Data.Singletons.Internal.~> (b6989586621680486191 Data.Singletons.Internal.~> b6989586621680486191)) (arg6989586621680486819 :: b6989586621680486191). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'Sym2 arg6989586621680486820 arg6989586621680486819)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldrMSym0
instance forall (t6989586621680486143 :: * -> *) a6989586621680486145 (m6989586621680486144 :: * -> *) b6989586621680486146 (a6989586621680486785 :: a6989586621680486145 Data.Singletons.Internal.~> (b6989586621680486146 Data.Singletons.Internal.~> m6989586621680486144 b6989586621680486146)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrMSym1 a6989586621680486785)
instance forall (t6989586621680486143 :: * -> *) a6989586621680486145 (m6989586621680486144 :: * -> *) b6989586621680486146 (a6989586621680486786 :: a6989586621680486145 Data.Singletons.Internal.~> (b6989586621680486146 Data.Singletons.Internal.~> m6989586621680486144 b6989586621680486146)) (a6989586621680486785 :: b6989586621680486146). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrMSym2 a6989586621680486786 a6989586621680486785)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486196 (arg6989586621680486837 :: a6989586621680486196 Data.Singletons.Internal.~> (a6989586621680486196 Data.Singletons.Internal.~> a6989586621680486196)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1Sym1 arg6989586621680486837)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MinimumBySym0
instance forall (t6989586621680486096 :: * -> *) a6989586621680486097 (a6989586621680486585 :: a6989586621680486097 Data.Singletons.Internal.~> (a6989586621680486097 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.MinimumBySym1 a6989586621680486585)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MaximumBySym0
instance forall (t6989586621680486098 :: * -> *) a6989586621680486099 (a6989586621680486610 :: a6989586621680486099 Data.Singletons.Internal.~> (a6989586621680486099 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.MaximumBySym1 a6989586621680486610)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486197 (arg6989586621680486841 :: a6989586621680486197 Data.Singletons.Internal.~> (a6989586621680486197 Data.Singletons.Internal.~> a6989586621680486197)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1Sym1 arg6989586621680486841)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToListSym0
instance forall k (a6989586621680486199 :: k) (t6989586621680486184 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.NullSym0
instance forall k (a6989586621680486200 :: k) (t6989586621680486184 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.LengthSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.NotElemSym0
instance forall (t6989586621680486094 :: * -> *) a6989586621680486095 (a6989586621680486577 :: a6989586621680486095). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.NotElemSym1 a6989586621680486577)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ElemSym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486201 (arg6989586621680486851 :: a6989586621680486201). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.ElemSym1 arg6989586621680486851)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MaximumSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MinimumSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.SumSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ProductSym0
instance forall (t6989586621680486102 :: * -> *) a6989586621680486103 (a6989586621680486648 :: a6989586621680486103 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.AnySym1 a6989586621680486648)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.AnySym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486187 m6989586621680486186 (arg6989586621680486809 :: a6989586621680486187 Data.Singletons.Internal.~> m6989586621680486186). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMapSym1 arg6989586621680486809)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMapSym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 b6989586621680486189 (arg6989586621680486814 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)) (arg6989586621680486813 :: b6989586621680486189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrSym2 arg6989586621680486814 arg6989586621680486813)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 b6989586621680486189 (arg6989586621680486813 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrSym1 arg6989586621680486813)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldrSym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486193 b6989586621680486192 (arg6989586621680486826 :: b6989586621680486192 Data.Singletons.Internal.~> (a6989586621680486193 Data.Singletons.Internal.~> b6989586621680486192)) (arg6989586621680486825 :: b6989586621680486192). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlSym2 arg6989586621680486826 arg6989586621680486825)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486193 b6989586621680486192 (arg6989586621680486825 :: b6989586621680486192 Data.Singletons.Internal.~> (a6989586621680486193 Data.Singletons.Internal.~> b6989586621680486192)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlSym1 arg6989586621680486825)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldlSym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486195 b6989586621680486194 (arg6989586621680486832 :: b6989586621680486194 Data.Singletons.Internal.~> (a6989586621680486195 Data.Singletons.Internal.~> b6989586621680486194)) (arg6989586621680486831 :: b6989586621680486194). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'Sym2 arg6989586621680486832 arg6989586621680486831)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486195 b6989586621680486194 (arg6989586621680486831 :: b6989586621680486194 Data.Singletons.Internal.~> (a6989586621680486195 Data.Singletons.Internal.~> b6989586621680486194)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'Sym1 arg6989586621680486831)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Fold_6989586621680486869Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486187 m6989586621680486186 (a6989586621680486880 :: a6989586621680486187 Data.Singletons.Internal.~> m6989586621680486186). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680486882Sym1 a6989586621680486880)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680486882Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 b6989586621680486189 (a6989586621680486904 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)) (a6989586621680486903 :: b6989586621680486189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680486906Sym2 a6989586621680486904 a6989586621680486903)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486188 b6989586621680486189 (a6989586621680486903 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680486906Sym1 a6989586621680486903)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680486906Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486190 b6989586621680486191 (a6989586621680486934 :: a6989586621680486190 Data.Singletons.Internal.~> (b6989586621680486191 Data.Singletons.Internal.~> b6989586621680486191)) (a6989586621680486933 :: b6989586621680486191). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680486936Sym2 a6989586621680486934 a6989586621680486933)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486190 b6989586621680486191 (a6989586621680486933 :: a6989586621680486190 Data.Singletons.Internal.~> (b6989586621680486191 Data.Singletons.Internal.~> b6989586621680486191)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680486936Sym1 a6989586621680486933)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680486936Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486193 b6989586621680486192 (a6989586621680486959 :: b6989586621680486192 Data.Singletons.Internal.~> (a6989586621680486193 Data.Singletons.Internal.~> b6989586621680486192)) (a6989586621680486958 :: b6989586621680486192). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680486961Sym2 a6989586621680486959 a6989586621680486958)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486193 b6989586621680486192 (a6989586621680486958 :: b6989586621680486192 Data.Singletons.Internal.~> (a6989586621680486193 Data.Singletons.Internal.~> b6989586621680486192)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680486961Sym1 a6989586621680486958)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680486961Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486195 b6989586621680486194 (a6989586621680486989 :: b6989586621680486194 Data.Singletons.Internal.~> (a6989586621680486195 Data.Singletons.Internal.~> b6989586621680486194)) (a6989586621680486988 :: b6989586621680486194). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680486991Sym2 a6989586621680486989 a6989586621680486988)
instance forall (t6989586621680486184 :: * -> *) a6989586621680486195 b6989586621680486194 (a6989586621680486988 :: b6989586621680486194 Data.Singletons.Internal.~> (a6989586621680486195 Data.Singletons.Internal.~> b6989586621680486194)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680486991Sym1 a6989586621680486988)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680486991Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486196 (a6989586621680487015 :: a6989586621680486196 Data.Singletons.Internal.~> (a6989586621680486196 Data.Singletons.Internal.~> a6989586621680486196)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487017Sym1 a6989586621680487015)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487017Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486197 (a6989586621680487040 :: a6989586621680486197 Data.Singletons.Internal.~> (a6989586621680486197 Data.Singletons.Internal.~> a6989586621680486197)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487042Sym1 a6989586621680487040)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487042Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680487052Sym0
instance forall k (a6989586621680486199 :: k) (t6989586621680486184 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680487073Sym0
instance forall k (a6989586621680486200 :: k) (t6989586621680486184 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680487095Sym0
instance forall (t6989586621680486184 :: * -> *) a6989586621680486201 (a6989586621680487108 :: a6989586621680486201). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680487110Sym1 a6989586621680487108)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680487110Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680487124Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680487137Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680487150Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680487163Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680487081Sym0
instance forall k1 k2 k3 (a_69895866216804870766989586621680487080 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487081Sym1 a_69895866216804870766989586621680487080)
instance forall k1 k2 k3 (t6989586621680487089 :: k3) (a_69895866216804870766989586621680487080 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487081Sym2 t6989586621680487089 a_69895866216804870766989586621680487080)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680487060Sym0
instance forall k1 k2 k3 (a_69895866216804870556989586621680487059 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487060Sym1 a_69895866216804870556989586621680487059)
instance forall k1 k2 k3 (t6989586621680487067 :: k3) (a_69895866216804870556989586621680487059 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487060Sym2 t6989586621680487067 a_69895866216804870556989586621680487059)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487027MfSym0
instance forall k k2 k3 (f6989586621680487025 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487027MfSym1 f6989586621680487025)
instance forall k k2 k3 (xs6989586621680487026 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (f6989586621680487025 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487027MfSym2 xs6989586621680487026 f6989586621680487025)
instance forall k k2 k3 (a6989586621680487028 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (xs6989586621680487026 :: k) (f6989586621680487025 :: GHC.Maybe.Maybe k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487027MfSym3 a6989586621680487028 xs6989586621680487026 f6989586621680487025)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487002MfSym0
instance forall k k2 k3 (f6989586621680487000 :: k3 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487002MfSym1 f6989586621680487000)
instance forall k k2 k3 (xs6989586621680487001 :: k3 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)) (f6989586621680487000 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487002MfSym2 xs6989586621680487001 f6989586621680487000)
instance forall k k2 k3 (a6989586621680487003 :: k3 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)) (xs6989586621680487001 :: k) (f6989586621680487000 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487002MfSym3 a6989586621680487003 xs6989586621680487001 f6989586621680487000)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486975F'Sym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680486972 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486975F'Sym1 f6989586621680486972)
instance forall k2 k3 k4 k5 k6 k7 (z06989586621680486973 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (f6989586621680486972 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486975F'Sym2 z06989586621680486973 f6989586621680486972)
instance forall k2 k3 k4 k5 k6 k7 (xs6989586621680486974 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (z06989586621680486973 :: k4) (f6989586621680486972 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486975F'Sym3 xs6989586621680486974 z06989586621680486973 f6989586621680486972)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680486976 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (xs6989586621680486974 :: k4) (z06989586621680486973 :: k3) (f6989586621680486972 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486975F'Sym4 a6989586621680486976 xs6989586621680486974 z06989586621680486973 f6989586621680486972)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680486977 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (a6989586621680486976 :: k4) (xs6989586621680486974 :: k3) (z06989586621680486973 :: k6) (f6989586621680486972 :: k7 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486975F'Sym5 a6989586621680486977 a6989586621680486976 xs6989586621680486974 z06989586621680486973 f6989586621680486972)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486920F'Sym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680486917 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486920F'Sym1 f6989586621680486917)
instance forall k2 k3 k4 k5 k6 k7 (z06989586621680486918 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (f6989586621680486917 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486920F'Sym2 z06989586621680486918 f6989586621680486917)
instance forall k2 k3 k4 k5 k6 k7 (xs6989586621680486919 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (z06989586621680486918 :: k4) (f6989586621680486917 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486920F'Sym3 xs6989586621680486919 z06989586621680486918 f6989586621680486917)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680486921 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (xs6989586621680486919 :: k4) (z06989586621680486918 :: k3) (f6989586621680486917 :: k7 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486920F'Sym4 a6989586621680486921 xs6989586621680486919 z06989586621680486918 f6989586621680486917)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680486922 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (a6989586621680486921 :: k4) (xs6989586621680486919 :: k3) (z06989586621680486918 :: k7 Data.Singletons.Internal.~> k2) (f6989586621680486917 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486920F'Sym5 a6989586621680486922 a6989586621680486921 xs6989586621680486919 z06989586621680486918 f6989586621680486917)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486794F'Sym0
instance forall k2 k3 b6989586621679563453 k4 k5 (m6989586621679563451 :: * -> *) a6989586621679563452 (f6989586621680486791 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679563451 a6989586621679563452)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486794F'Sym1 f6989586621680486791)
instance forall k2 b6989586621679563453 k3 k4 k5 (m6989586621679563451 :: * -> *) a6989586621679563452 (z06989586621680486792 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679563451 a6989586621679563452)) (f6989586621680486791 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486794F'Sym2 z06989586621680486792 f6989586621680486791)
instance forall b6989586621679563453 k2 k3 k4 k5 (m6989586621679563451 :: * -> *) a6989586621679563452 (xs6989586621680486793 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679563451 a6989586621679563452)) (z06989586621680486792 :: k3) (f6989586621680486791 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486794F'Sym3 xs6989586621680486793 z06989586621680486792 f6989586621680486791)
instance forall b6989586621679563453 k2 k3 k4 k5 (m6989586621679563451 :: * -> *) a6989586621679563452 (a6989586621680486795 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679563451 a6989586621679563452)) (xs6989586621680486793 :: k3) (z06989586621680486792 :: k2) (f6989586621680486791 :: a6989586621679563452 Data.Singletons.Internal.~> m6989586621679563451 b6989586621679563453). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486794F'Sym4 a6989586621680486795 xs6989586621680486793 z06989586621680486792 f6989586621680486791)
instance forall b6989586621679563453 k2 k3 k4 k5 (m6989586621679563451 :: * -> *) a6989586621679563452 (a6989586621680486796 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679563451 a6989586621679563452)) (a6989586621680486795 :: k3) (xs6989586621680486793 :: k2) (z06989586621680486792 :: a6989586621679563452 Data.Singletons.Internal.~> m6989586621679563451 b6989586621679563453) (f6989586621680486791 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486794F'Sym5 a6989586621680486796 a6989586621680486795 xs6989586621680486793 z06989586621680486792 f6989586621680486791)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486772F'Sym0
instance forall k2 k3 b6989586621679563453 k4 k5 (m6989586621679563451 :: * -> *) a6989586621679563452 (f6989586621680486769 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679563451 a6989586621679563452)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486772F'Sym1 f6989586621680486769)
instance forall k2 b6989586621679563453 k3 k4 k5 (m6989586621679563451 :: * -> *) a6989586621679563452 (z06989586621680486770 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679563451 a6989586621679563452)) (f6989586621680486769 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486772F'Sym2 z06989586621680486770 f6989586621680486769)
instance forall b6989586621679563453 k2 k3 k4 k5 (m6989586621679563451 :: * -> *) a6989586621679563452 (xs6989586621680486771 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679563451 a6989586621679563452)) (z06989586621680486770 :: k3) (f6989586621680486769 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486772F'Sym3 xs6989586621680486771 z06989586621680486770 f6989586621680486769)
instance forall b6989586621679563453 k2 k3 k4 k5 (m6989586621679563451 :: * -> *) a6989586621679563452 (a6989586621680486773 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679563451 a6989586621679563452)) (xs6989586621680486771 :: k3) (z06989586621680486770 :: k2) (f6989586621680486769 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486772F'Sym4 a6989586621680486773 xs6989586621680486771 z06989586621680486770 f6989586621680486769)
instance forall b6989586621679563453 k2 k3 k4 k5 (m6989586621679563451 :: * -> *) a6989586621679563452 (a6989586621680486774 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679563451 a6989586621679563452)) (a6989586621680486773 :: k3) (xs6989586621680486771 :: k2) (z06989586621680486770 :: k5) (f6989586621680486769 :: a6989586621679563452 Data.Singletons.Internal.~> m6989586621679563451 b6989586621679563453). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486772F'Sym5 a6989586621680486774 a6989586621680486773 xs6989586621680486771 z06989586621680486770 f6989586621680486769)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486618Max'Sym0
instance forall k1 k2 (cmp6989586621680486616 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486618Max'Sym1 cmp6989586621680486616)
instance forall k1 k2 (a_69895866216804866146989586621680486617 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> GHC.Types.Ordering)) (cmp6989586621680486616 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486618Max'Sym2 a_69895866216804866146989586621680486617 cmp6989586621680486616)
instance forall k1 k2 (a6989586621680486619 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> GHC.Types.Ordering)) (a_69895866216804866146989586621680486617 :: k1) (cmp6989586621680486616 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486618Max'Sym3 a6989586621680486619 a_69895866216804866146989586621680486617 cmp6989586621680486616)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486627Scrutinee_6989586621680486439Sym0
instance forall k2 k3 k4 k5 (cmp6989586621680486616 :: k3 Data.Singletons.Internal.~> (k4 Data.Singletons.Internal.~> k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486627Scrutinee_6989586621680486439Sym1 cmp6989586621680486616)
instance forall k2 k3 k4 k5 (x6989586621680486625 :: k3 Data.Singletons.Internal.~> (k4 Data.Singletons.Internal.~> k5)) (cmp6989586621680486616 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486627Scrutinee_6989586621680486439Sym2 x6989586621680486625 cmp6989586621680486616)
instance forall k2 k3 k4 k5 (y6989586621680486626 :: k3 Data.Singletons.Internal.~> (k4 Data.Singletons.Internal.~> k5)) (x6989586621680486625 :: k3) (cmp6989586621680486616 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486627Scrutinee_6989586621680486439Sym3 y6989586621680486626 x6989586621680486625 cmp6989586621680486616)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486593Min'Sym0
instance forall k1 k2 (cmp6989586621680486591 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486593Min'Sym1 cmp6989586621680486591)
instance forall k1 k2 (a_69895866216804865896989586621680486592 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> GHC.Types.Ordering)) (cmp6989586621680486591 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486593Min'Sym2 a_69895866216804865896989586621680486592 cmp6989586621680486591)
instance forall k1 k2 (a6989586621680486594 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> GHC.Types.Ordering)) (a_69895866216804865896989586621680486592 :: k1) (cmp6989586621680486591 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486593Min'Sym3 a6989586621680486594 a_69895866216804865896989586621680486592 cmp6989586621680486591)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486602Scrutinee_6989586621680486441Sym0
instance forall k2 k3 k4 k5 (cmp6989586621680486591 :: k3 Data.Singletons.Internal.~> (k4 Data.Singletons.Internal.~> k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486602Scrutinee_6989586621680486441Sym1 cmp6989586621680486591)
instance forall k2 k3 k4 k5 (x6989586621680486600 :: k3 Data.Singletons.Internal.~> (k4 Data.Singletons.Internal.~> k5)) (cmp6989586621680486591 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486602Scrutinee_6989586621680486441Sym2 x6989586621680486600 cmp6989586621680486591)
instance forall k2 k3 k4 k5 (y6989586621680486601 :: k3 Data.Singletons.Internal.~> (k4 Data.Singletons.Internal.~> k5)) (x6989586621680486600 :: k3) (cmp6989586621680486591 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486602Scrutinee_6989586621680486441Sym3 y6989586621680486601 x6989586621680486600 cmp6989586621680486591)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680486557Sym0
instance forall k a6989586621679087264 (p6989586621680486554 :: a6989586621679087264 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680486557Sym1 p6989586621680486554)
instance forall k a6989586621679087264 (y6989586621680486555 :: a6989586621679087264 Data.Singletons.Internal.~> GHC.Types.Bool) (p6989586621680486554 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680486557Sym2 y6989586621680486555 p6989586621680486554)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486560Scrutinee_6989586621680486445Sym0
instance forall k1 k2 k3 (p6989586621680486554 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486560Scrutinee_6989586621680486445Sym1 p6989586621680486554)
instance forall k1 k2 k3 (y6989586621680486555 :: k2 Data.Singletons.Internal.~> k3) (p6989586621680486554 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486560Scrutinee_6989586621680486445Sym2 y6989586621680486555 p6989586621680486554)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Singletons.Prelude.Foldable.MinInternal a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.TFHelper_6989586621680478015Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Singletons.Prelude.Foldable.MinInternal a)
instance forall a6989586621680477935 (a6989586621680478013 :: Data.Singletons.Prelude.Foldable.MinInternal a6989586621680477935). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.TFHelper_6989586621680478015Sym1 a6989586621680478013)
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Singletons.Prelude.Foldable.MinInternal a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680478007Scrutinee_6989586621680477945Sym0
instance forall k1 (x6989586621680478000 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680478007Scrutinee_6989586621680477945Sym1 x6989586621680478000)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680478002NSym0
instance forall k1 k (x6989586621680478000 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680478002NSym1 x6989586621680478000)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680478002MSym0
instance forall k k1 (x6989586621680478000 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680478002MSym1 x6989586621680478000)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Singletons.Prelude.Foldable.MaxInternal a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.TFHelper_6989586621680477988Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Singletons.Prelude.Foldable.MaxInternal a)
instance forall a6989586621680477927 (a6989586621680477986 :: Data.Singletons.Prelude.Foldable.MaxInternal a6989586621680477927). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.TFHelper_6989586621680477988Sym1 a6989586621680477986)
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Singletons.Prelude.Foldable.MaxInternal a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680477980Scrutinee_6989586621680477943Sym0
instance forall k1 (x6989586621680477973 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680477980Scrutinee_6989586621680477943Sym1 x6989586621680477973)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680477975NSym0
instance forall k1 k (x6989586621680477973 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680477975NSym1 x6989586621680477973)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680477975MSym0
instance forall k k1 (x6989586621680477973 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680477975MSym1 x6989586621680477973)
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Prelude.Monoid.SMonoid (Data.Singletons.Prelude.Foldable.MaxInternal a)
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Prelude.Monoid.SMonoid (Data.Singletons.Prelude.Foldable.MinInternal a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MinInternalSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MaxInternalSym0
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Singletons.Prelude.Foldable.Endo a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.TFHelper_6989586621680476508Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Singletons.Prelude.Foldable.Endo a)
instance forall a6989586621680476486 (a6989586621680476506 :: Data.Singletons.Prelude.Foldable.Endo a6989586621680476486). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.TFHelper_6989586621680476508Sym1 a6989586621680476506)
instance Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Singletons.Prelude.Foldable.Endo a)
instance Data.Singletons.Prelude.Monoid.SMonoid (Data.Singletons.Prelude.Foldable.Endo a)


-- | Exports the promoted and singled versions of the <a>Identity</a> data
--   type.
module Data.Singletons.Prelude.Identity

-- | The singleton kind-indexed data family.
data family Sing :: k -> Type
type SIdentity = (Sing :: Identity a_ak9o -> Type)
type family RunIdentity (a_a1gRf :: Identity a_ak9o) :: a_ak9o
data IdentitySym0 :: forall (a6989586621679087254 :: Type). (~>) a6989586621679087254 (Identity (a6989586621679087254 :: Type))
type IdentitySym1 (t6989586621679312928 :: a6989586621679087254) =  'Identity t6989586621679312928
data RunIdentitySym0 :: forall a6989586621679087254. (~>) (Identity a6989586621679087254) a6989586621679087254
type RunIdentitySym1 (a6989586621679312925 :: Identity a6989586621679087254) = RunIdentity a6989586621679312925
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680716689Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Functor.Identity.Identity
instance forall b6989586621679563453 a6989586621679563452 (a6989586621680716687 :: Data.Functor.Identity.Identity a6989586621679563452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680716689Sym1 a6989586621680716687)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.LiftA2_6989586621680716676Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Functor.Identity.Identity
instance forall a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621680716673 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.LiftA2_6989586621680716676Sym1 a6989586621680716673)
instance forall a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621680716674 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)) (a6989586621680716673 :: Data.Functor.Identity.Identity a6989586621679563431). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.LiftA2_6989586621680716676Sym2 a6989586621680716674 a6989586621680716673)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680716660Sym0
instance forall a6989586621679563429 b6989586621679563430 (a6989586621680716658 :: Data.Functor.Identity.Identity (a6989586621679563429 Data.Singletons.Internal.~> b6989586621679563430)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680716660Sym1 a6989586621680716658)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Pure_6989586621680716649Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.ToList_6989586621680716640Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Functor.Identity.Identity
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Sum_6989586621680716633Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Product_6989586621680716626Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Null_6989586621680716619Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Minimum_6989586621680716613Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Maximum_6989586621680716606Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Length_6989586621680716599Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldr1_6989586621680716592Sym0
instance forall a6989586621680486196 (a6989586621680716590 :: a6989586621680486196 Data.Singletons.Internal.~> (a6989586621680486196 Data.Singletons.Internal.~> a6989586621680486196)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr1_6989586621680716592Sym1 a6989586621680716590)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldr'_6989586621680716580Sym0
instance forall a6989586621680486190 b6989586621680486191 (a6989586621680716577 :: a6989586621680486190 Data.Singletons.Internal.~> (b6989586621680486191 Data.Singletons.Internal.~> b6989586621680486191)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr'_6989586621680716580Sym1 a6989586621680716577)
instance forall a6989586621680486190 b6989586621680486191 (a6989586621680716578 :: a6989586621680486190 Data.Singletons.Internal.~> (b6989586621680486191 Data.Singletons.Internal.~> b6989586621680486191)) (a6989586621680716577 :: b6989586621680486191). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr'_6989586621680716580Sym2 a6989586621680716578 a6989586621680716577)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldr_6989586621680716557Sym0
instance forall a6989586621680486188 b6989586621680486189 (a6989586621680716554 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr_6989586621680716557Sym1 a6989586621680716554)
instance forall a6989586621680486188 b6989586621680486189 (a6989586621680716555 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)) (a6989586621680716554 :: b6989586621680486189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr_6989586621680716557Sym2 a6989586621680716555 a6989586621680716554)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldl1_6989586621680716541Sym0
instance forall a6989586621680486197 (a6989586621680716539 :: a6989586621680486197 Data.Singletons.Internal.~> (a6989586621680486197 Data.Singletons.Internal.~> a6989586621680486197)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl1_6989586621680716541Sym1 a6989586621680716539)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldl'_6989586621680716529Sym0
instance forall a6989586621680486195 b6989586621680486194 (a6989586621680716526 :: b6989586621680486194 Data.Singletons.Internal.~> (a6989586621680486195 Data.Singletons.Internal.~> b6989586621680486194)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl'_6989586621680716529Sym1 a6989586621680716526)
instance forall a6989586621680486195 b6989586621680486194 (a6989586621680716527 :: b6989586621680486194 Data.Singletons.Internal.~> (a6989586621680486195 Data.Singletons.Internal.~> b6989586621680486194)) (a6989586621680716526 :: b6989586621680486194). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl'_6989586621680716529Sym2 a6989586621680716527 a6989586621680716526)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldl_6989586621680716512Sym0
instance forall a6989586621680486193 b6989586621680486192 (a6989586621680716509 :: b6989586621680486192 Data.Singletons.Internal.~> (a6989586621680486193 Data.Singletons.Internal.~> b6989586621680486192)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl_6989586621680716512Sym1 a6989586621680716509)
instance forall a6989586621680486193 b6989586621680486192 (a6989586621680716510 :: b6989586621680486192 Data.Singletons.Internal.~> (a6989586621680486193 Data.Singletons.Internal.~> b6989586621680486192)) (a6989586621680716509 :: b6989586621680486192). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl_6989586621680716512Sym2 a6989586621680716510 a6989586621680716509)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Elem_6989586621680716496Sym0
instance forall a6989586621680486201 (a6989586621680716494 :: a6989586621680486201). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Elem_6989586621680716496Sym1 a6989586621680716494)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.FoldMap_6989586621680716484Sym0
instance forall a6989586621680486187 m6989586621680486186 (a6989586621680716482 :: a6989586621680486187 Data.Singletons.Internal.~> m6989586621680486186). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.FoldMap_6989586621680716484Sym1 a6989586621680716482)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680716472Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Functor.Identity.Identity
instance forall b6989586621679563426 a6989586621679563425 (a6989586621680716470 :: a6989586621679563425). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680716472Sym1 a6989586621680716470)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Lambda_6989586621680716463Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Functor.Identity.Identity
instance forall k1 k2 k3 (_z_69895866216807162836989586621680716461 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Lambda_6989586621680716463Sym1 _z_69895866216807162836989586621680716461)
instance forall k1 k2 k3 (a_69895866216807162896989586621680716462 :: k3) (_z_69895866216807162836989586621680716461 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Lambda_6989586621680716463Sym2 a_69895866216807162896989586621680716462 _z_69895866216807162836989586621680716461)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Fmap_6989586621680716453Sym0
instance forall a6989586621679563423 b6989586621679563424 (a6989586621680716451 :: a6989586621679563423 Data.Singletons.Internal.~> b6989586621679563424). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Fmap_6989586621680716453Sym1 a6989586621680716451)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.ShowsPrec_6989586621680716440Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Functor.Identity.Identity a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.ShowsPrec_6989586621680716440Sym1 a6989586621680716437)
instance forall a6989586621680715930 (a6989586621680716438 :: GHC.Types.Nat) (a6989586621680716437 :: Data.Functor.Identity.Identity a6989586621680715930). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.ShowsPrec_6989586621680716440Sym2 a6989586621680716438 a6989586621680716437)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680716422Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Functor.Identity.Identity a)
instance forall a6989586621680715927 (a6989586621680716420 :: Data.Functor.Identity.Identity a6989586621680715927). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680716422Sym1 a6989586621680716420)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.FromInteger_6989586621680716411Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Functor.Identity.Identity a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Signum_6989586621680716404Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Abs_6989586621680716397Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Negate_6989586621680716390Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680716382Sym0
instance forall a6989586621680715916 (a6989586621680716380 :: Data.Functor.Identity.Identity a6989586621680715916). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680716382Sym1 a6989586621680716380)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680716370Sym0
instance forall a6989586621680715916 (a6989586621680716368 :: Data.Functor.Identity.Identity a6989586621680715916). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680716370Sym1 a6989586621680716368)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680716358Sym0
instance forall a6989586621680715916 (a6989586621680716356 :: Data.Functor.Identity.Identity a6989586621680715916). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680716358Sym1 a6989586621680716356)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Functor.Identity.Identity a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.EnumFromThenTo_6989586621680716343Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Functor.Identity.Identity a)
instance forall a6989586621680715905 (a6989586621680716340 :: Data.Functor.Identity.Identity a6989586621680715905). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.EnumFromThenTo_6989586621680716343Sym1 a6989586621680716340)
instance forall a6989586621680715905 (a6989586621680716341 :: Data.Functor.Identity.Identity a6989586621680715905) (a6989586621680716340 :: Data.Functor.Identity.Identity a6989586621680715905). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.EnumFromThenTo_6989586621680716343Sym2 a6989586621680716341 a6989586621680716340)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.EnumFromTo_6989586621680716327Sym0
instance forall a6989586621680715905 (a6989586621680716325 :: Data.Functor.Identity.Identity a6989586621680715905). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.EnumFromTo_6989586621680716327Sym1 a6989586621680716325)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.FromEnum_6989586621680716316Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.ToEnum_6989586621680716309Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Pred_6989586621680716302Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Succ_6989586621680716295Sym0
instance Data.Singletons.Prelude.Enum.SEnum a => Data.Singletons.Prelude.Enum.SEnum (Data.Functor.Identity.Identity a)
instance Data.Singletons.Prelude.Monoid.SMonoid a => Data.Singletons.Prelude.Monoid.SMonoid (Data.Functor.Identity.Identity a)
instance Data.Singletons.Prelude.Num.SNum a => Data.Singletons.Prelude.Num.SNum (Data.Functor.Identity.Identity a)
instance Data.Singletons.Prelude.Semigroup.Internal.SSemigroup a => Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Functor.Identity.Identity a)
instance Data.Singletons.Prelude.Show.SShow a => Data.Singletons.Prelude.Show.SShow (Data.Functor.Identity.Identity a)
instance Data.Singletons.Prelude.Foldable.SFoldable Data.Functor.Identity.Identity
instance Data.Singletons.Prelude.Monad.Internal.SApplicative Data.Functor.Identity.Identity
instance Data.Singletons.Prelude.Monad.Internal.SMonad Data.Functor.Identity.Identity


-- | Exports the promoted and singled versions of the <a>Const</a> data
--   type.
module Data.Singletons.Prelude.Const

-- | The singleton kind-indexed data family.
data family Sing :: k -> Type
type SConst = (Sing :: Const a b -> Type)
type family GetConst (x_a7iTG :: Const a_a7iTE b_a7iTF) :: a_a7iTE
data ConstSym0 :: forall (a6989586621679093209 :: Type) k6989586621679093208 (b6989586621679093210 :: k6989586621679093208). (~>) a6989586621679093209 (Const (a6989586621679093209 :: Type) (b6989586621679093210 :: k6989586621679093208))
type ConstSym1 (t6989586621680750415 :: a6989586621679093209) =  'Const t6989586621680750415
data GetConstSym0 :: forall a6989586621680750730 b6989586621680750731. (~>) (Const a6989586621680750730 b6989586621680750731) a6989586621680750730
type GetConstSym1 (x6989586621680750732 :: Const a6989586621680750730 b6989586621680750731) = GetConst x6989586621680750732
instance forall k a (b :: k). Data.Singletons.Prelude.Eq.PEq (Data.Functor.Const.Const a b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680752868Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative (Data.Functor.Const.Const m)
instance forall m6989586621680752135 a6989586621679563429 b6989586621679563430 (a6989586621680752866 :: Data.Functor.Const.Const m6989586621680752135 (a6989586621679563429 Data.Singletons.Internal.~> b6989586621679563430)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680752868Sym1 a6989586621680752866)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.LiftA2_6989586621680752855Sym0
instance forall m6989586621680752135 a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621680752852 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.LiftA2_6989586621680752855Sym1 a6989586621680752852)
instance forall m6989586621680752135 a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621680752853 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)) (a6989586621680752852 :: Data.Functor.Const.Const m6989586621680752135 a6989586621679563431). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.LiftA2_6989586621680752855Sym2 a6989586621680752853 a6989586621680752852)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Pure_6989586621680752841Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Foldr_6989586621680752833Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable (Data.Functor.Const.Const m)
instance forall m6989586621680752134 a6989586621680486188 b6989586621680486189 (a6989586621680752830 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Foldr_6989586621680752833Sym1 a6989586621680752830)
instance forall m6989586621680752134 a6989586621680486188 b6989586621680486189 (a6989586621680752831 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)) (a6989586621680752830 :: b6989586621680486189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Foldr_6989586621680752833Sym2 a6989586621680752831 a6989586621680752830)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680752819Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable (Data.Functor.Const.Const m)
instance forall k1 k2 k3 k4 k5 (_f_69895866216807525696989586621680752816 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680752819Sym1 _f_69895866216807525696989586621680752816)
instance forall k1 k2 k3 k4 k5 (_z_69895866216807525716989586621680752817 :: k5) (_f_69895866216807525696989586621680752816 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680752819Sym2 _z_69895866216807525716989586621680752817 _f_69895866216807525696989586621680752816)
instance forall k1 k2 k3 k4 k5 (a_69895866216807525816989586621680752818 :: k5) (_z_69895866216807525716989586621680752817 :: k4) (_f_69895866216807525696989586621680752816 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680752819Sym3 a_69895866216807525816989586621680752818 _z_69895866216807525716989586621680752817 _f_69895866216807525696989586621680752816)
instance forall k1 k2 k3 k4 k5 (t6989586621680752823 :: k5) (a_69895866216807525816989586621680752818 :: k4) (_z_69895866216807525716989586621680752817 :: k3) (_f_69895866216807525696989586621680752816 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680752819Sym4 t6989586621680752823 a_69895866216807525816989586621680752818 _z_69895866216807525716989586621680752817 _f_69895866216807525696989586621680752816)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.FoldMap_6989586621680752806Sym0
instance forall m6989586621680752134 a6989586621680486187 m6989586621680486186 (a6989586621680752804 :: a6989586621680486187 Data.Singletons.Internal.~> m6989586621680486186). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.FoldMap_6989586621680752806Sym1 a6989586621680752804)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680752797Sym0
instance forall k1 k2 k3 k4 (_f_69895866216807525696989586621680752795 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680752797Sym1 _f_69895866216807525696989586621680752795)
instance forall k1 k2 k3 k4 (a_69895866216807525756989586621680752796 :: k4) (_f_69895866216807525696989586621680752795 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680752797Sym2 a_69895866216807525756989586621680752796 _f_69895866216807525696989586621680752795)
instance forall a6989586621679563425 k (b6989586621679563426 :: k) m6989586621680752133. Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680752787Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Functor.Const.Const m)
instance forall k (b6989586621679563426 :: k) m6989586621680752133 a6989586621679563425 (a6989586621680752785 :: a6989586621679563425). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680752787Sym1 a6989586621680752785)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680752778Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Functor.Const.Const m)
instance forall k1 k2 k3 (_z_69895866216807525486989586621680752776 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680752778Sym1 _z_69895866216807525486989586621680752776)
instance forall k1 k2 k3 (a_69895866216807525566989586621680752777 :: k3) (_z_69895866216807525486989586621680752776 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680752778Sym2 a_69895866216807525566989586621680752777 _z_69895866216807525486989586621680752776)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Fmap_6989586621680752768Sym0
instance forall m6989586621680752133 a6989586621679563423 b6989586621679563424 (a6989586621680752766 :: a6989586621679563423 Data.Singletons.Internal.~> b6989586621679563424). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Fmap_6989586621680752768Sym1 a6989586621680752766)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680752759Sym0
instance forall k1 k2 k3 (_f_69895866216807525466989586621680752757 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680752759Sym1 _f_69895866216807525466989586621680752757)
instance forall k1 k2 k3 (a_69895866216807525526989586621680752758 :: k3) (_f_69895866216807525466989586621680752757 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680752759Sym2 a_69895866216807525526989586621680752758 _f_69895866216807525466989586621680752757)
instance forall a6989586621680752129 k (b6989586621680752130 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.ShowsPrec_6989586621680752748Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Show.PShow (Data.Functor.Const.Const a b)
instance forall a6989586621680752129 k (b6989586621680752130 :: k) (a6989586621680752745 :: GHC.Types.Nat). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.ShowsPrec_6989586621680752748Sym1 a6989586621680752745)
instance forall a6989586621680752129 k (b6989586621680752130 :: k) (a6989586621680752746 :: GHC.Types.Nat) (a6989586621680752745 :: Data.Functor.Const.Const a6989586621680752129 b6989586621680752130). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.ShowsPrec_6989586621680752748Sym2 a6989586621680752746 a6989586621680752745)
instance forall a6989586621680752125 k (b6989586621680752126 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680752730Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Functor.Const.Const a b)
instance forall a6989586621680752125 k (b6989586621680752126 :: k) (a6989586621680752728 :: Data.Functor.Const.Const a6989586621680752125 b6989586621680752126). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680752730Sym1 a6989586621680752728)
instance forall a6989586621680752113 k (b6989586621680752114 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.FromInteger_6989586621680752719Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Num.PNum (Data.Functor.Const.Const a b)
instance forall a6989586621680752113 k (b6989586621680752114 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Signum_6989586621680752712Sym0
instance forall a6989586621680752113 k (b6989586621680752114 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Abs_6989586621680752705Sym0
instance forall a6989586621680752113 k (b6989586621680752114 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Negate_6989586621680752698Sym0
instance forall a6989586621680752113 k (b6989586621680752114 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680752690Sym0
instance forall a6989586621680752113 k (b6989586621680752114 :: k) (a6989586621680752688 :: Data.Functor.Const.Const a6989586621680752113 b6989586621680752114). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680752690Sym1 a6989586621680752688)
instance forall a6989586621680752113 k (b6989586621680752114 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680752678Sym0
instance forall a6989586621680752113 k (b6989586621680752114 :: k) (a6989586621680752676 :: Data.Functor.Const.Const a6989586621680752113 b6989586621680752114). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680752678Sym1 a6989586621680752676)
instance forall a6989586621680752113 k (b6989586621680752114 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680752666Sym0
instance forall a6989586621680752113 k (b6989586621680752114 :: k) (a6989586621680752664 :: Data.Functor.Const.Const a6989586621680752113 b6989586621680752114). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680752666Sym1 a6989586621680752664)
instance forall k a (b :: k). Data.Singletons.Prelude.Monoid.PMonoid (Data.Functor.Const.Const a b)
instance forall a6989586621680752100 k (b6989586621680752101 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.EnumFromThenTo_6989586621680752651Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Enum.PEnum (Data.Functor.Const.Const a b)
instance forall a6989586621680752100 k (b6989586621680752101 :: k) (a6989586621680752648 :: Data.Functor.Const.Const a6989586621680752100 b6989586621680752101). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.EnumFromThenTo_6989586621680752651Sym1 a6989586621680752648)
instance forall a6989586621680752100 k (b6989586621680752101 :: k) (a6989586621680752649 :: Data.Functor.Const.Const a6989586621680752100 b6989586621680752101) (a6989586621680752648 :: Data.Functor.Const.Const a6989586621680752100 b6989586621680752101). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.EnumFromThenTo_6989586621680752651Sym2 a6989586621680752649 a6989586621680752648)
instance forall a6989586621680752100 k (b6989586621680752101 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.EnumFromTo_6989586621680752635Sym0
instance forall a6989586621680752100 k (b6989586621680752101 :: k) (a6989586621680752633 :: Data.Functor.Const.Const a6989586621680752100 b6989586621680752101). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.EnumFromTo_6989586621680752635Sym1 a6989586621680752633)
instance forall a6989586621680752100 k (b6989586621680752101 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.FromEnum_6989586621680752624Sym0
instance forall a6989586621680752100 k (b6989586621680752101 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.ToEnum_6989586621680752617Sym0
instance forall a6989586621680752100 k (b6989586621680752101 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Pred_6989586621680752610Sym0
instance forall a6989586621680752100 k (b6989586621680752101 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Succ_6989586621680752603Sym0
instance forall a6989586621680752098 k (b6989586621680752099 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Compare_6989586621680752595Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Ord.POrd (Data.Functor.Const.Const a b)
instance forall a6989586621680752098 k (b6989586621680752099 :: k) (a6989586621680752593 :: Data.Functor.Const.Const a6989586621680752098 b6989586621680752099). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Compare_6989586621680752595Sym1 a6989586621680752593)
instance forall k a (b :: k). Data.Singletons.Prelude.Enum.PBounded (Data.Functor.Const.Const a b)
instance forall k a (b :: k). Data.Singletons.Prelude.Enum.SBounded a => Data.Singletons.Prelude.Enum.SBounded (Data.Functor.Const.Const a b)
instance forall k a (b :: k). Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Prelude.Ord.SOrd (Data.Functor.Const.Const a b)
instance forall k a (b :: k). Data.Singletons.Prelude.Enum.SEnum a => Data.Singletons.Prelude.Enum.SEnum (Data.Functor.Const.Const a b)
instance forall k a (b :: k). Data.Singletons.Prelude.Monoid.SMonoid a => Data.Singletons.Prelude.Monoid.SMonoid (Data.Functor.Const.Const a b)
instance forall k a (b :: k). Data.Singletons.Prelude.Num.SNum a => Data.Singletons.Prelude.Num.SNum (Data.Functor.Const.Const a b)
instance forall k a (b :: k). Data.Singletons.Prelude.Semigroup.Internal.SSemigroup a => Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Functor.Const.Const a b)
instance forall k a (b :: k). Data.Singletons.Prelude.Show.SShow a => Data.Singletons.Prelude.Show.SShow (Data.Functor.Const.Const a b)
instance Data.Singletons.Prelude.Monoid.SMonoid m => Data.Singletons.Prelude.Monad.Internal.SApplicative (Data.Functor.Const.Const m)
instance forall k a (b :: k). Data.Singletons.Prelude.Eq.SEq a => Data.Singletons.Prelude.Eq.SEq (Data.Functor.Const.Const a b)
instance forall k a (b :: k). Data.Singletons.Decide.SDecide a => Data.Singletons.Decide.SDecide (Data.Functor.Const.Const a b)
instance forall a6989586621680750730 k (b6989586621680750731 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.GetConstSym0
instance forall a6989586621679093209 k6989586621679093208 (b6989586621679093210 :: k6989586621679093208). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.ConstSym0
instance forall a6989586621679093209 k6989586621679093208 (b6989586621679093210 :: k6989586621679093208). Data.Singletons.Internal.SingI Data.Singletons.Prelude.Const.ConstSym0
instance forall k1 k (b :: k). Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon1 'Data.Functor.Const.Const)
instance forall k a (b :: k). Data.Singletons.Internal.SingKind a => Data.Singletons.Internal.SingKind (Data.Functor.Const.Const a b)
instance forall k (b :: k) a1 (a2 :: a1). Data.Singletons.Internal.SingI a2 => Data.Singletons.Internal.SingI ('Data.Functor.Const.Const a2)


-- | Defines the promoted and singled versions of the <a>Traversable</a>
--   type class.
module Data.Singletons.Prelude.Traversable
class (PFunctor t_a7tbm, PFoldable t_a7tbm) => PTraversable (t_a7tbm :: Type -> Type) where {
    type family Traverse (arg_a7tby :: (~>) a_a7tbo (f_a7tbn b_a7tbp)) (arg_a7tbz :: t_a7tbm a_a7tbo) :: f_a7tbn (t_a7tbm b_a7tbp);
    type family SequenceA (arg_a7tbC :: t_a7tbm (f_a7tbq a_a7tbr)) :: f_a7tbq (t_a7tbm a_a7tbr);
    type family MapM (arg_a7tbE :: (~>) a_a7tbt (m_a7tbs b_a7tbu)) (arg_a7tbF :: t_a7tbm a_a7tbt) :: m_a7tbs (t_a7tbm b_a7tbu);
    type family Sequence (arg_a7tbI :: t_a7tbm (m_a7tbv a_a7tbw)) :: m_a7tbv (t_a7tbm a_a7tbw);
    type Traverse a_a7tbS a_a7tbT = Apply (Apply Traverse_6989586621680790302Sym0 a_a7tbS) a_a7tbT;
    type SequenceA a_a7tc3 = Apply SequenceA_6989586621680790312Sym0 a_a7tc3;
    type MapM a_a7tch a_a7tci = Apply (Apply MapM_6989586621680790327Sym0 a_a7tch) a_a7tci;
    type Sequence a_a7tcs = Apply Sequence_6989586621680790337Sym0 a_a7tcs;
}
class (SFunctor t_a7tbm, SFoldable t_a7tbm) => STraversable (t_a7tbm :: Type -> Type)
sTraverse :: forall f_a7tbn a_a7tbo b_a7tbp (t_a7tcw :: (~>) a_a7tbo (f_a7tbn b_a7tbp)) (t_a7tcx :: t_a7tbm a_a7tbo). (STraversable t_a7tbm, SApplicative f_a7tbn) => Sing t_a7tcw -> Sing t_a7tcx -> Sing (Apply (Apply TraverseSym0 t_a7tcw) t_a7tcx :: f_a7tbn (t_a7tbm b_a7tbp))
sSequenceA :: forall f_a7tbq a_a7tbr (t_a7tcA :: t_a7tbm (f_a7tbq a_a7tbr)). (STraversable t_a7tbm, SApplicative f_a7tbq) => Sing t_a7tcA -> Sing (Apply SequenceASym0 t_a7tcA :: f_a7tbq (t_a7tbm a_a7tbr))
sMapM :: forall m_a7tbs a_a7tbt b_a7tbu (t_a7tcC :: (~>) a_a7tbt (m_a7tbs b_a7tbu)) (t_a7tcD :: t_a7tbm a_a7tbt). (STraversable t_a7tbm, SMonad m_a7tbs) => Sing t_a7tcC -> Sing t_a7tcD -> Sing (Apply (Apply MapMSym0 t_a7tcC) t_a7tcD :: m_a7tbs (t_a7tbm b_a7tbu))
sSequence :: forall m_a7tbv a_a7tbw (t_a7tcG :: t_a7tbm (m_a7tbv a_a7tbw)). (STraversable t_a7tbm, SMonad m_a7tbv) => Sing t_a7tcG -> Sing (Apply SequenceSym0 t_a7tcG :: m_a7tbv (t_a7tbm a_a7tbw))
sTraverse :: forall f_a7tbn a_a7tbo b_a7tbp (t_a7tcw :: (~>) a_a7tbo (f_a7tbn b_a7tbp)) (t_a7tcx :: t_a7tbm a_a7tbo). (STraversable t_a7tbm, (Apply (Apply TraverseSym0 t_a7tcw) t_a7tcx :: f_a7tbn (t_a7tbm b_a7tbp)) ~ Apply (Apply Traverse_6989586621680790302Sym0 t_a7tcw) t_a7tcx, SApplicative f_a7tbn) => Sing t_a7tcw -> Sing t_a7tcx -> Sing (Apply (Apply TraverseSym0 t_a7tcw) t_a7tcx :: f_a7tbn (t_a7tbm b_a7tbp))
sSequenceA :: forall f_a7tbq a_a7tbr (t_a7tcA :: t_a7tbm (f_a7tbq a_a7tbr)). (STraversable t_a7tbm, (Apply SequenceASym0 t_a7tcA :: f_a7tbq (t_a7tbm a_a7tbr)) ~ Apply SequenceA_6989586621680790312Sym0 t_a7tcA, SApplicative f_a7tbq) => Sing t_a7tcA -> Sing (Apply SequenceASym0 t_a7tcA :: f_a7tbq (t_a7tbm a_a7tbr))
sMapM :: forall m_a7tbs a_a7tbt b_a7tbu (t_a7tcC :: (~>) a_a7tbt (m_a7tbs b_a7tbu)) (t_a7tcD :: t_a7tbm a_a7tbt). (STraversable t_a7tbm, (Apply (Apply MapMSym0 t_a7tcC) t_a7tcD :: m_a7tbs (t_a7tbm b_a7tbu)) ~ Apply (Apply MapM_6989586621680790327Sym0 t_a7tcC) t_a7tcD, SMonad m_a7tbs) => Sing t_a7tcC -> Sing t_a7tcD -> Sing (Apply (Apply MapMSym0 t_a7tcC) t_a7tcD :: m_a7tbs (t_a7tbm b_a7tbu))
sSequence :: forall m_a7tbv a_a7tbw (t_a7tcG :: t_a7tbm (m_a7tbv a_a7tbw)). (STraversable t_a7tbm, (Apply SequenceSym0 t_a7tcG :: m_a7tbv (t_a7tbm a_a7tbw)) ~ Apply Sequence_6989586621680790337Sym0 t_a7tcG, SMonad m_a7tbv) => Sing t_a7tcG -> Sing (Apply SequenceSym0 t_a7tcG :: m_a7tbv (t_a7tbm a_a7tbw))
type family For (a_a7uMw :: t_a7uDr a_a7uDt) (a_a7uMx :: (~>) a_a7uDt (f_a7uDs b_a7uDu)) :: f_a7uDs (t_a7uDr b_a7uDu)
sFor :: forall t_a7uDr f_a7uDs a_a7uDt b_a7uDu (t_a7uVT :: t_a7uDr a_a7uDt) (t_a7uVU :: (~>) a_a7uDt (f_a7uDs b_a7uDu)). (STraversable t_a7uDr, SApplicative f_a7uDs) => Sing t_a7uVT -> Sing t_a7uVU -> Sing (Apply (Apply ForSym0 t_a7uVT) t_a7uVU :: f_a7uDs (t_a7uDr b_a7uDu))
type family ForM (a_a7uMm :: t_a7uDn a_a7uDp) (a_a7uMn :: (~>) a_a7uDp (m_a7uDo b_a7uDq)) :: m_a7uDo (t_a7uDn b_a7uDq)
sForM :: forall t_a7uDn m_a7uDo a_a7uDp b_a7uDq (t_a7uVP :: t_a7uDn a_a7uDp) (t_a7uVQ :: (~>) a_a7uDp (m_a7uDo b_a7uDq)). (STraversable t_a7uDn, SMonad m_a7uDo) => Sing t_a7uVP -> Sing t_a7uVQ -> Sing (Apply (Apply ForMSym0 t_a7uVP) t_a7uVQ :: m_a7uDo (t_a7uDn b_a7uDq))
type family MapAccumL (a_a7uM1 :: (~>) a_a7uDk ((~>) b_a7uDl (a_a7uDk, c_a7uDm))) (a_a7uM2 :: a_a7uDk) (a_a7uM3 :: t_a7uDj b_a7uDl) :: (a_a7uDk, t_a7uDj c_a7uDm)
sMapAccumL :: forall t_a7uDj a_a7uDk b_a7uDl c_a7uDm (t_a7uVJ :: (~>) a_a7uDk ((~>) b_a7uDl (a_a7uDk, c_a7uDm))) (t_a7uVK :: a_a7uDk) (t_a7uVL :: t_a7uDj b_a7uDl). STraversable t_a7uDj => Sing t_a7uVJ -> Sing t_a7uVK -> Sing t_a7uVL -> Sing (Apply (Apply (Apply MapAccumLSym0 t_a7uVJ) t_a7uVK) t_a7uVL :: (a_a7uDk, t_a7uDj c_a7uDm))
type family MapAccumR (a_a7uLK :: (~>) a_a7uDg ((~>) b_a7uDh (a_a7uDg, c_a7uDi))) (a_a7uLL :: a_a7uDg) (a_a7uLM :: t_a7uDf b_a7uDh) :: (a_a7uDg, t_a7uDf c_a7uDi)
sMapAccumR :: forall t_a7uDf a_a7uDg b_a7uDh c_a7uDi (t_a7uVD :: (~>) a_a7uDg ((~>) b_a7uDh (a_a7uDg, c_a7uDi))) (t_a7uVE :: a_a7uDg) (t_a7uVF :: t_a7uDf b_a7uDh). STraversable t_a7uDf => Sing t_a7uVD -> Sing t_a7uVE -> Sing t_a7uVF -> Sing (Apply (Apply (Apply MapAccumRSym0 t_a7uVD) t_a7uVE) t_a7uVF :: (a_a7uDg, t_a7uDf c_a7uDi))
type family FmapDefault (a_a7uLx :: (~>) a_a7uDd b_a7uDe) (a_a7uLy :: t_a7uDc a_a7uDd) :: t_a7uDc b_a7uDe
sFmapDefault :: forall t_a7uDc a_a7uDd b_a7uDe (t_a7uVz :: (~>) a_a7uDd b_a7uDe) (t_a7uVA :: t_a7uDc a_a7uDd). STraversable t_a7uDc => Sing t_a7uVz -> Sing t_a7uVA -> Sing (Apply (Apply FmapDefaultSym0 t_a7uVz) t_a7uVA :: t_a7uDc b_a7uDe)
type family FoldMapDefault (a_a7uLc :: (~>) a_a7uDb m_a7uDa) (a_a7uLd :: t_a7uD9 a_a7uDb) :: m_a7uDa
sFoldMapDefault :: forall t_a7uD9 m_a7uDa a_a7uDb (t_a7uVv :: (~>) a_a7uDb m_a7uDa) (t_a7uVw :: t_a7uD9 a_a7uDb). (STraversable t_a7uD9, SMonoid m_a7uDa) => Sing t_a7uVv -> Sing t_a7uVw -> Sing (Apply (Apply FoldMapDefaultSym0 t_a7uVv) t_a7uVw :: m_a7uDa)
data TraverseSym0 :: forall a6989586621680790270 b6989586621680790271 f6989586621680790269 t6989586621680790268. (~>) ((~>) a6989586621680790270 (f6989586621680790269 b6989586621680790271)) ((~>) (t6989586621680790268 a6989586621680790270) (f6989586621680790269 (t6989586621680790268 b6989586621680790271)))
data TraverseSym1 (arg6989586621680790280 :: (~>) a6989586621680790270 (f6989586621680790269 b6989586621680790271)) :: forall t6989586621680790268. (~>) (t6989586621680790268 a6989586621680790270) (f6989586621680790269 (t6989586621680790268 b6989586621680790271))
type TraverseSym2 (arg6989586621680790280 :: (~>) a6989586621680790270 (f6989586621680790269 b6989586621680790271)) (arg6989586621680790281 :: t6989586621680790268 a6989586621680790270) = Traverse arg6989586621680790280 arg6989586621680790281
data SequenceASym0 :: forall a6989586621680790273 f6989586621680790272 t6989586621680790268. (~>) (t6989586621680790268 (f6989586621680790272 a6989586621680790273)) (f6989586621680790272 (t6989586621680790268 a6989586621680790273))
type SequenceASym1 (arg6989586621680790284 :: t6989586621680790268 (f6989586621680790272 a6989586621680790273)) = SequenceA arg6989586621680790284
data MapMSym0 :: forall a6989586621680790275 b6989586621680790276 m6989586621680790274 t6989586621680790268. (~>) ((~>) a6989586621680790275 (m6989586621680790274 b6989586621680790276)) ((~>) (t6989586621680790268 a6989586621680790275) (m6989586621680790274 (t6989586621680790268 b6989586621680790276)))
data MapMSym1 (arg6989586621680790286 :: (~>) a6989586621680790275 (m6989586621680790274 b6989586621680790276)) :: forall t6989586621680790268. (~>) (t6989586621680790268 a6989586621680790275) (m6989586621680790274 (t6989586621680790268 b6989586621680790276))
type MapMSym2 (arg6989586621680790286 :: (~>) a6989586621680790275 (m6989586621680790274 b6989586621680790276)) (arg6989586621680790287 :: t6989586621680790268 a6989586621680790275) = MapM arg6989586621680790286 arg6989586621680790287
data SequenceSym0 :: forall a6989586621680790278 m6989586621680790277 t6989586621680790268. (~>) (t6989586621680790268 (m6989586621680790277 a6989586621680790278)) (m6989586621680790277 (t6989586621680790268 a6989586621680790278))
type SequenceSym1 (arg6989586621680790290 :: t6989586621680790268 (m6989586621680790277 a6989586621680790278)) = Sequence arg6989586621680790290
data ForSym0 :: forall a6989586621680795855 b6989586621680795856 f6989586621680795854 t6989586621680795853. (~>) (t6989586621680795853 a6989586621680795855) ((~>) ((~>) a6989586621680795855 (f6989586621680795854 b6989586621680795856)) (f6989586621680795854 (t6989586621680795853 b6989586621680795856)))
data ForSym1 (a6989586621680796416 :: t6989586621680795853 a6989586621680795855) :: forall b6989586621680795856 f6989586621680795854. (~>) ((~>) a6989586621680795855 (f6989586621680795854 b6989586621680795856)) (f6989586621680795854 (t6989586621680795853 b6989586621680795856))
type ForSym2 (a6989586621680796416 :: t6989586621680795853 a6989586621680795855) (a6989586621680796417 :: (~>) a6989586621680795855 (f6989586621680795854 b6989586621680795856)) = For a6989586621680796416 a6989586621680796417
data ForMSym0 :: forall a6989586621680795851 b6989586621680795852 m6989586621680795850 t6989586621680795849. (~>) (t6989586621680795849 a6989586621680795851) ((~>) ((~>) a6989586621680795851 (m6989586621680795850 b6989586621680795852)) (m6989586621680795850 (t6989586621680795849 b6989586621680795852)))
data ForMSym1 (a6989586621680796406 :: t6989586621680795849 a6989586621680795851) :: forall b6989586621680795852 m6989586621680795850. (~>) ((~>) a6989586621680795851 (m6989586621680795850 b6989586621680795852)) (m6989586621680795850 (t6989586621680795849 b6989586621680795852))
type ForMSym2 (a6989586621680796406 :: t6989586621680795849 a6989586621680795851) (a6989586621680796407 :: (~>) a6989586621680795851 (m6989586621680795850 b6989586621680795852)) = ForM a6989586621680796406 a6989586621680796407
data MapAccumLSym0 :: forall a6989586621680795846 b6989586621680795847 c6989586621680795848 t6989586621680795845. (~>) ((~>) a6989586621680795846 ((~>) b6989586621680795847 (a6989586621680795846, c6989586621680795848))) ((~>) a6989586621680795846 ((~>) (t6989586621680795845 b6989586621680795847) (a6989586621680795846, t6989586621680795845 c6989586621680795848)))
data MapAccumLSym1 (a6989586621680796385 :: (~>) a6989586621680795846 ((~>) b6989586621680795847 (a6989586621680795846, c6989586621680795848))) :: forall t6989586621680795845. (~>) a6989586621680795846 ((~>) (t6989586621680795845 b6989586621680795847) (a6989586621680795846, t6989586621680795845 c6989586621680795848))
data MapAccumLSym2 (a6989586621680796385 :: (~>) a6989586621680795846 ((~>) b6989586621680795847 (a6989586621680795846, c6989586621680795848))) (a6989586621680796386 :: a6989586621680795846) :: forall t6989586621680795845. (~>) (t6989586621680795845 b6989586621680795847) (a6989586621680795846, t6989586621680795845 c6989586621680795848)
type MapAccumLSym3 (a6989586621680796385 :: (~>) a6989586621680795846 ((~>) b6989586621680795847 (a6989586621680795846, c6989586621680795848))) (a6989586621680796386 :: a6989586621680795846) (a6989586621680796387 :: t6989586621680795845 b6989586621680795847) = MapAccumL a6989586621680796385 a6989586621680796386 a6989586621680796387
data MapAccumRSym0 :: forall a6989586621680795842 b6989586621680795843 c6989586621680795844 t6989586621680795841. (~>) ((~>) a6989586621680795842 ((~>) b6989586621680795843 (a6989586621680795842, c6989586621680795844))) ((~>) a6989586621680795842 ((~>) (t6989586621680795841 b6989586621680795843) (a6989586621680795842, t6989586621680795841 c6989586621680795844)))
data MapAccumRSym1 (a6989586621680796368 :: (~>) a6989586621680795842 ((~>) b6989586621680795843 (a6989586621680795842, c6989586621680795844))) :: forall t6989586621680795841. (~>) a6989586621680795842 ((~>) (t6989586621680795841 b6989586621680795843) (a6989586621680795842, t6989586621680795841 c6989586621680795844))
data MapAccumRSym2 (a6989586621680796368 :: (~>) a6989586621680795842 ((~>) b6989586621680795843 (a6989586621680795842, c6989586621680795844))) (a6989586621680796369 :: a6989586621680795842) :: forall t6989586621680795841. (~>) (t6989586621680795841 b6989586621680795843) (a6989586621680795842, t6989586621680795841 c6989586621680795844)
type MapAccumRSym3 (a6989586621680796368 :: (~>) a6989586621680795842 ((~>) b6989586621680795843 (a6989586621680795842, c6989586621680795844))) (a6989586621680796369 :: a6989586621680795842) (a6989586621680796370 :: t6989586621680795841 b6989586621680795843) = MapAccumR a6989586621680796368 a6989586621680796369 a6989586621680796370
data FmapDefaultSym0 :: forall a6989586621680795839 b6989586621680795840 t6989586621680795838. (~>) ((~>) a6989586621680795839 b6989586621680795840) ((~>) (t6989586621680795838 a6989586621680795839) (t6989586621680795838 b6989586621680795840))
data FmapDefaultSym1 (a6989586621680796355 :: (~>) a6989586621680795839 b6989586621680795840) :: forall t6989586621680795838. (~>) (t6989586621680795838 a6989586621680795839) (t6989586621680795838 b6989586621680795840)
type FmapDefaultSym2 (a6989586621680796355 :: (~>) a6989586621680795839 b6989586621680795840) (a6989586621680796356 :: t6989586621680795838 a6989586621680795839) = FmapDefault a6989586621680796355 a6989586621680796356
data FoldMapDefaultSym0 :: forall a6989586621680795837 m6989586621680795836 t6989586621680795835. (~>) ((~>) a6989586621680795837 m6989586621680795836) ((~>) (t6989586621680795835 a6989586621680795837) m6989586621680795836)
data FoldMapDefaultSym1 (a6989586621680796334 :: (~>) a6989586621680795837 m6989586621680795836) :: forall t6989586621680795835. (~>) (t6989586621680795835 a6989586621680795837) m6989586621680795836
type FoldMapDefaultSym2 (a6989586621680796334 :: (~>) a6989586621680795837 m6989586621680795836) (a6989586621680796335 :: t6989586621680795835 a6989586621680795837) = FoldMapDefault a6989586621680796334 a6989586621680796335
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.LiftA2_6989586621680796968Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative (Data.Singletons.Prelude.Traversable.StateR s)
instance forall s6989586621680795896 a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621680796965 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680796968Sym1 a6989586621680796965)
instance forall s6989586621680795896 a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621680796966 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)) (a6989586621680796965 :: Data.Singletons.Prelude.Traversable.StateR s6989586621680795896 a6989586621679563431). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680796968Sym2 a6989586621680796966 a6989586621680796965)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680796904Sym0
instance Data.Singletons.Prelude.Monad.Internal.SApplicative (Data.Singletons.Prelude.Traversable.StateR s)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680796901 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680796904Sym1 f6989586621680796901)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680796902 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (f6989586621680796901 :: k3 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680796904Sym2 kx6989586621680796902 f6989586621680796901)
instance forall k2 k3 k4 k5 k6 k7 (ky6989586621680796903 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (kx6989586621680796902 :: k3 Data.Singletons.Internal.~> (k4, k5)) (f6989586621680796901 :: k2 Data.Singletons.Internal.~> (k3, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680796904Sym3 ky6989586621680796903 kx6989586621680796902 f6989586621680796901)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796907X_6989586621680796914Sym0
instance forall k2 k3 k4 k5 k6 (f6989586621680796901 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796907X_6989586621680796914Sym1 f6989586621680796901)
instance forall k2 k3 k4 k5 k6 (kx6989586621680796902 :: k6) (f6989586621680796901 :: k4 Data.Singletons.Internal.~> k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796907X_6989586621680796914Sym2 kx6989586621680796902 f6989586621680796901)
instance forall k2 k3 k4 k5 k6 (ky6989586621680796903 :: k6) (kx6989586621680796902 :: k4 Data.Singletons.Internal.~> k5) (f6989586621680796901 :: k2 Data.Singletons.Internal.~> (k4, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796907X_6989586621680796914Sym3 ky6989586621680796903 kx6989586621680796902 f6989586621680796901)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796907S''Sym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680796901 :: k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796907S''Sym1 f6989586621680796901)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680796902 :: k7) (f6989586621680796901 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796907S''Sym2 kx6989586621680796902 f6989586621680796901)
instance forall k2 k3 k4 k5 k6 k7 (ky6989586621680796903 :: k7) (kx6989586621680796902 :: k4 Data.Singletons.Internal.~> (k5, k6)) (f6989586621680796901 :: k2 Data.Singletons.Internal.~> (k4, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796907S''Sym3 ky6989586621680796903 kx6989586621680796902 f6989586621680796901)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796907XSym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680796901 :: k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796907XSym1 f6989586621680796901)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680796902 :: k7) (f6989586621680796901 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796907XSym2 kx6989586621680796902 f6989586621680796901)
instance forall k2 k3 k4 k5 k6 k7 (ky6989586621680796903 :: k7) (kx6989586621680796902 :: k4 Data.Singletons.Internal.~> (k5, k6)) (f6989586621680796901 :: k2 Data.Singletons.Internal.~> (k4, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796907XSym3 ky6989586621680796903 kx6989586621680796902 f6989586621680796901)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796907X_6989586621680796908Sym0
instance forall k1 k2 k3 k4 (f6989586621680796901 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796907X_6989586621680796908Sym1 f6989586621680796901)
instance forall k1 k2 k3 k4 (kx6989586621680796902 :: k4) (f6989586621680796901 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796907X_6989586621680796908Sym2 kx6989586621680796902 f6989586621680796901)
instance forall k1 k2 k3 k4 (ky6989586621680796903 :: k4) (kx6989586621680796902 :: k3) (f6989586621680796901 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796907X_6989586621680796908Sym3 ky6989586621680796903 kx6989586621680796902 f6989586621680796901)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796907S'Sym0
instance forall k1 k2 k3 k4 k5 (f6989586621680796901 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796907S'Sym1 f6989586621680796901)
instance forall k1 k2 k3 k4 k5 (kx6989586621680796902 :: k5) (f6989586621680796901 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796907S'Sym2 kx6989586621680796902 f6989586621680796901)
instance forall k1 k2 k3 k4 k5 (ky6989586621680796903 :: k5) (kx6989586621680796902 :: k4) (f6989586621680796901 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796907S'Sym3 ky6989586621680796903 kx6989586621680796902 f6989586621680796901)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796907YSym0
instance forall k1 k2 k3 k4 k5 (f6989586621680796901 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796907YSym1 f6989586621680796901)
instance forall k1 k2 k3 k4 k5 (kx6989586621680796902 :: k5) (f6989586621680796901 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796907YSym2 kx6989586621680796902 f6989586621680796901)
instance forall k1 k2 k3 k4 k5 (ky6989586621680796903 :: k5) (kx6989586621680796902 :: k4) (f6989586621680796901 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796907YSym3 ky6989586621680796903 kx6989586621680796902 f6989586621680796901)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.TFHelper_6989586621680796891Sym0
instance forall s6989586621680795896 a6989586621679563429 b6989586621679563430 (a6989586621680796889 :: Data.Singletons.Prelude.Traversable.StateR s6989586621680795896 (a6989586621679563429 Data.Singletons.Internal.~> b6989586621679563430)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.TFHelper_6989586621680796891Sym1 a6989586621680796889)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680796835Sym0
instance forall k2 k3 k4 k5 k6 (kf6989586621680796833 :: k3 Data.Singletons.Internal.~> (k4, k5 Data.Singletons.Internal.~> k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680796835Sym1 kf6989586621680796833)
instance forall k2 k3 k4 k5 k6 (kv6989586621680796834 :: k3 Data.Singletons.Internal.~> (k4, k5 Data.Singletons.Internal.~> k6)) (kf6989586621680796833 :: k2 Data.Singletons.Internal.~> (k3, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680796835Sym2 kv6989586621680796834 kf6989586621680796833)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796838X_6989586621680796845Sym0
instance forall k2 k3 k4 k5 (kf6989586621680796833 :: k4 Data.Singletons.Internal.~> k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796838X_6989586621680796845Sym1 kf6989586621680796833)
instance forall k2 k3 k4 k5 (kv6989586621680796834 :: k4 Data.Singletons.Internal.~> k5) (kf6989586621680796833 :: k2 Data.Singletons.Internal.~> (k4, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796838X_6989586621680796845Sym2 kv6989586621680796834 kf6989586621680796833)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796838S''Sym0
instance forall k2 k3 k4 k5 k6 (kf6989586621680796833 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796838S''Sym1 kf6989586621680796833)
instance forall k2 k3 k4 k5 k6 (kv6989586621680796834 :: k4 Data.Singletons.Internal.~> (k5, k6)) (kf6989586621680796833 :: k2 Data.Singletons.Internal.~> (k4, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796838S''Sym2 kv6989586621680796834 kf6989586621680796833)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796838FSym0
instance forall k2 k3 k4 k5 k6 (kf6989586621680796833 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796838FSym1 kf6989586621680796833)
instance forall k2 k3 k4 k5 k6 (kv6989586621680796834 :: k4 Data.Singletons.Internal.~> (k5, k6)) (kf6989586621680796833 :: k2 Data.Singletons.Internal.~> (k4, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796838FSym2 kv6989586621680796834 kf6989586621680796833)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796838X_6989586621680796839Sym0
instance forall k1 k2 k3 (kf6989586621680796833 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796838X_6989586621680796839Sym1 kf6989586621680796833)
instance forall k1 k2 k3 (kv6989586621680796834 :: k3) (kf6989586621680796833 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796838X_6989586621680796839Sym2 kv6989586621680796834 kf6989586621680796833)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796838S'Sym0
instance forall k1 k2 k3 k4 (kf6989586621680796833 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796838S'Sym1 kf6989586621680796833)
instance forall k1 k2 k3 k4 (kv6989586621680796834 :: k4) (kf6989586621680796833 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796838S'Sym2 kv6989586621680796834 kf6989586621680796833)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796838VSym0
instance forall k1 k2 k3 k4 (kf6989586621680796833 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796838VSym1 kf6989586621680796833)
instance forall k1 k2 k3 k4 (kv6989586621680796834 :: k4) (kf6989586621680796833 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796838VSym2 kv6989586621680796834 kf6989586621680796833)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Pure_6989586621680796826Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680796819Sym0
instance forall k2 k3 (x6989586621680796818 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680796819Sym1 x6989586621680796818)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Fmap_6989586621680796812Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Singletons.Prelude.Traversable.StateR s)
instance forall s6989586621680795890 a6989586621679563423 b6989586621679563424 (a6989586621680796810 :: a6989586621679563423 Data.Singletons.Internal.~> b6989586621679563424). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Fmap_6989586621680796812Sym1 a6989586621680796810)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680796779Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Singletons.Prelude.Traversable.StateR s)
instance forall k2 k k3 k4 (f6989586621680796777 :: k3 Data.Singletons.Internal.~> k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680796779Sym1 f6989586621680796777)
instance forall k2 k k3 k4 (k6989586621680796778 :: k3 Data.Singletons.Internal.~> k4) (f6989586621680796777 :: k2 Data.Singletons.Internal.~> (k, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680796779Sym2 k6989586621680796778 f6989586621680796777)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796782X_6989586621680796783Sym0
instance forall k1 k2 k3 (f6989586621680796777 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796782X_6989586621680796783Sym1 f6989586621680796777)
instance forall k1 k2 k3 (k6989586621680796778 :: k3) (f6989586621680796777 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796782X_6989586621680796783Sym2 k6989586621680796778 f6989586621680796777)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796782S'Sym0
instance forall k1 k2 k3 k4 (f6989586621680796777 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796782S'Sym1 f6989586621680796777)
instance forall k1 k2 k3 k4 (k6989586621680796778 :: k4) (f6989586621680796777 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796782S'Sym2 k6989586621680796778 f6989586621680796777)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796782VSym0
instance forall k1 k2 k3 k4 (f6989586621680796777 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796782VSym1 f6989586621680796777)
instance forall k1 k2 k3 k4 (k6989586621680796778 :: k4) (f6989586621680796777 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796782VSym2 k6989586621680796778 f6989586621680796777)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.LiftA2_6989586621680796768Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative (Data.Singletons.Prelude.Traversable.StateL s)
instance forall s6989586621680795872 a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621680796765 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680796768Sym1 a6989586621680796765)
instance forall s6989586621680795872 a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621680796766 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)) (a6989586621680796765 :: Data.Singletons.Prelude.Traversable.StateL s6989586621680795872 a6989586621679563431). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680796768Sym2 a6989586621680796766 a6989586621680796765)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680796704Sym0
instance Data.Singletons.Prelude.Monad.Internal.SApplicative (Data.Singletons.Prelude.Traversable.StateL s)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680796701 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680796704Sym1 f6989586621680796701)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680796702 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (f6989586621680796701 :: k3 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680796704Sym2 kx6989586621680796702 f6989586621680796701)
instance forall k2 k3 k4 k5 k6 k7 (ky6989586621680796703 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (kx6989586621680796702 :: k3 Data.Singletons.Internal.~> (k4, k5)) (f6989586621680796701 :: k4 Data.Singletons.Internal.~> (k2, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680796704Sym3 ky6989586621680796703 kx6989586621680796702 f6989586621680796701)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796707X_6989586621680796714Sym0
instance forall k2 k3 k4 k5 k6 (f6989586621680796701 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796707X_6989586621680796714Sym1 f6989586621680796701)
instance forall k2 k3 k4 k5 k6 (kx6989586621680796702 :: k6) (f6989586621680796701 :: k3 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796707X_6989586621680796714Sym2 kx6989586621680796702 f6989586621680796701)
instance forall k2 k3 k4 k5 k6 (ky6989586621680796703 :: k6) (kx6989586621680796702 :: k3 Data.Singletons.Internal.~> (k4, k5)) (f6989586621680796701 :: k4 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796707X_6989586621680796714Sym3 ky6989586621680796703 kx6989586621680796702 f6989586621680796701)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796707S''Sym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680796701 :: k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796707S''Sym1 f6989586621680796701)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680796702 :: k7) (f6989586621680796701 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796707S''Sym2 kx6989586621680796702 f6989586621680796701)
instance forall k2 k3 k4 k5 k6 k7 (ky6989586621680796703 :: k7) (kx6989586621680796702 :: k4 Data.Singletons.Internal.~> (k5, k6)) (f6989586621680796701 :: k5 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796707S''Sym3 ky6989586621680796703 kx6989586621680796702 f6989586621680796701)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796707YSym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680796701 :: k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796707YSym1 f6989586621680796701)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680796702 :: k7) (f6989586621680796701 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796707YSym2 kx6989586621680796702 f6989586621680796701)
instance forall k2 k3 k4 k5 k6 k7 (ky6989586621680796703 :: k7) (kx6989586621680796702 :: k4 Data.Singletons.Internal.~> (k5, k6)) (f6989586621680796701 :: k5 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796707YSym3 ky6989586621680796703 kx6989586621680796702 f6989586621680796701)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796707X_6989586621680796708Sym0
instance forall k1 k2 k3 k4 (f6989586621680796701 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796707X_6989586621680796708Sym1 f6989586621680796701)
instance forall k1 k2 k3 k4 (kx6989586621680796702 :: k4) (f6989586621680796701 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796707X_6989586621680796708Sym2 kx6989586621680796702 f6989586621680796701)
instance forall k1 k2 k3 k4 (ky6989586621680796703 :: k4) (kx6989586621680796702 :: k2 Data.Singletons.Internal.~> k3) (f6989586621680796701 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796707X_6989586621680796708Sym3 ky6989586621680796703 kx6989586621680796702 f6989586621680796701)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796707S'Sym0
instance forall k1 k2 k3 k4 k5 (f6989586621680796701 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796707S'Sym1 f6989586621680796701)
instance forall k1 k2 k3 k4 k5 (kx6989586621680796702 :: k5) (f6989586621680796701 :: k2 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796707S'Sym2 kx6989586621680796702 f6989586621680796701)
instance forall k1 k2 k3 k4 k5 (ky6989586621680796703 :: k5) (kx6989586621680796702 :: k2 Data.Singletons.Internal.~> (k3, k4)) (f6989586621680796701 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796707S'Sym3 ky6989586621680796703 kx6989586621680796702 f6989586621680796701)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796707XSym0
instance forall k1 k2 k3 k4 k5 (f6989586621680796701 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796707XSym1 f6989586621680796701)
instance forall k1 k2 k3 k4 k5 (kx6989586621680796702 :: k5) (f6989586621680796701 :: k2 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796707XSym2 kx6989586621680796702 f6989586621680796701)
instance forall k1 k2 k3 k4 k5 (ky6989586621680796703 :: k5) (kx6989586621680796702 :: k2 Data.Singletons.Internal.~> (k3, k4)) (f6989586621680796701 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796707XSym3 ky6989586621680796703 kx6989586621680796702 f6989586621680796701)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.TFHelper_6989586621680796691Sym0
instance forall s6989586621680795872 a6989586621679563429 b6989586621679563430 (a6989586621680796689 :: Data.Singletons.Prelude.Traversable.StateL s6989586621680795872 (a6989586621679563429 Data.Singletons.Internal.~> b6989586621679563430)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.TFHelper_6989586621680796691Sym1 a6989586621680796689)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680796635Sym0
instance forall k k2 k3 k4 k5 (kf6989586621680796633 :: k2 Data.Singletons.Internal.~> (k3, k4 Data.Singletons.Internal.~> k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680796635Sym1 kf6989586621680796633)
instance forall k k2 k3 k4 k5 (kv6989586621680796634 :: k2 Data.Singletons.Internal.~> (k3, k4 Data.Singletons.Internal.~> k5)) (kf6989586621680796633 :: k3 Data.Singletons.Internal.~> (k, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680796635Sym2 kv6989586621680796634 kf6989586621680796633)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796638X_6989586621680796645Sym0
instance forall k2 k3 k4 k5 (kf6989586621680796633 :: k3 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796638X_6989586621680796645Sym1 kf6989586621680796633)
instance forall k2 k3 k4 k5 (kv6989586621680796634 :: k3 Data.Singletons.Internal.~> (k4, k5)) (kf6989586621680796633 :: k4 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796638X_6989586621680796645Sym2 kv6989586621680796634 kf6989586621680796633)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796638S''Sym0
instance forall k2 k3 k4 k5 k6 (kf6989586621680796633 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796638S''Sym1 kf6989586621680796633)
instance forall k2 k3 k4 k5 k6 (kv6989586621680796634 :: k4 Data.Singletons.Internal.~> (k5, k6)) (kf6989586621680796633 :: k5 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796638S''Sym2 kv6989586621680796634 kf6989586621680796633)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796638VSym0
instance forall k2 k3 k4 k5 k6 (kf6989586621680796633 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796638VSym1 kf6989586621680796633)
instance forall k2 k3 k4 k5 k6 (kv6989586621680796634 :: k4 Data.Singletons.Internal.~> (k5, k6)) (kf6989586621680796633 :: k5 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796638VSym2 kv6989586621680796634 kf6989586621680796633)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796638X_6989586621680796639Sym0
instance forall k1 k2 k3 (kf6989586621680796633 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796638X_6989586621680796639Sym1 kf6989586621680796633)
instance forall k1 k2 k3 (kv6989586621680796634 :: k2 Data.Singletons.Internal.~> k3) (kf6989586621680796633 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796638X_6989586621680796639Sym2 kv6989586621680796634 kf6989586621680796633)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796638S'Sym0
instance forall k1 k2 k3 k4 (kf6989586621680796633 :: k2 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796638S'Sym1 kf6989586621680796633)
instance forall k1 k2 k3 k4 (kv6989586621680796634 :: k2 Data.Singletons.Internal.~> (k3, k4)) (kf6989586621680796633 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796638S'Sym2 kv6989586621680796634 kf6989586621680796633)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796638FSym0
instance forall k1 k2 k3 k4 (kf6989586621680796633 :: k2 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796638FSym1 kf6989586621680796633)
instance forall k1 k2 k3 k4 (kv6989586621680796634 :: k2 Data.Singletons.Internal.~> (k3, k4)) (kf6989586621680796633 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796638FSym2 kv6989586621680796634 kf6989586621680796633)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Pure_6989586621680796626Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680796619Sym0
instance forall k2 k3 (x6989586621680796618 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680796619Sym1 x6989586621680796618)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Fmap_6989586621680796612Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Singletons.Prelude.Traversable.StateL s)
instance forall s6989586621680795866 a6989586621679563423 b6989586621679563424 (a6989586621680796610 :: a6989586621679563423 Data.Singletons.Internal.~> b6989586621679563424). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Fmap_6989586621680796612Sym1 a6989586621680796610)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680796579Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Singletons.Prelude.Traversable.StateL s)
instance forall k2 k k3 k4 (f6989586621680796577 :: k3 Data.Singletons.Internal.~> k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680796579Sym1 f6989586621680796577)
instance forall k2 k k3 k4 (k6989586621680796578 :: k3 Data.Singletons.Internal.~> k4) (f6989586621680796577 :: k2 Data.Singletons.Internal.~> (k, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680796579Sym2 k6989586621680796578 f6989586621680796577)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796582X_6989586621680796583Sym0
instance forall k1 k2 k3 (f6989586621680796577 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796582X_6989586621680796583Sym1 f6989586621680796577)
instance forall k1 k2 k3 (k6989586621680796578 :: k3) (f6989586621680796577 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796582X_6989586621680796583Sym2 k6989586621680796578 f6989586621680796577)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796582S'Sym0
instance forall k1 k2 k3 k4 (f6989586621680796577 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796582S'Sym1 f6989586621680796577)
instance forall k1 k2 k3 k4 (k6989586621680796578 :: k4) (f6989586621680796577 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796582S'Sym2 k6989586621680796578 f6989586621680796577)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796582VSym0
instance forall k1 k2 k3 k4 (f6989586621680796577 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796582VSym1 f6989586621680796577)
instance forall k1 k2 k3 k4 (k6989586621680796578 :: k4) (f6989586621680796577 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796582VSym2 k6989586621680796578 f6989586621680796577)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680796569Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Functor.Identity.Identity
instance forall a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (a6989586621680796567 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680796569Sym1 a6989586621680796567)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680796557Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Monoid.Last
instance forall a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (a6989586621680796555 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680796557Sym1 a6989586621680796555)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680796545Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Monoid.First
instance forall a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (a6989586621680796543 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680796545Sym1 a6989586621680796543)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680796533Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Internal.Product
instance forall a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (a6989586621680796531 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680796533Sym1 a6989586621680796531)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680796521Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Internal.Sum
instance forall a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (a6989586621680796519 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680796521Sym1 a6989586621680796519)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680796509Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Internal.Dual
instance forall a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (a6989586621680796507 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680796509Sym1 a6989586621680796507)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680796497Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable (Data.Functor.Const.Const m)
instance forall m6989586621680795865 a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (a6989586621680796495 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680796497Sym1 a6989586621680796495)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680796485Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable ((,) a)
instance forall a6989586621680795864 a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (a6989586621680796483 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680796485Sym1 a6989586621680796483)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680796472Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable (Data.Either.Either a)
instance forall a6989586621680795863 a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (a6989586621680796470 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680796472Sym1 a6989586621680796470)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680796458Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable GHC.Base.NonEmpty
instance forall a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (a6989586621680796456 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680796458Sym1 a6989586621680796456)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680796445Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable []
instance forall a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (a6989586621680796443 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680796445Sym1 a6989586621680796443)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680796431Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable GHC.Maybe.Maybe
instance forall a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (a6989586621680796429 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680796431Sym1 a6989586621680796429)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.ForSym0
instance (Data.Singletons.Prelude.Traversable.STraversable t, Data.Singletons.Prelude.Monad.Internal.SApplicative f) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Traversable.ForSym0
instance forall b6989586621680795856 (f6989586621680795854 :: * -> *) (t6989586621680795853 :: * -> *) a6989586621680795855 (a6989586621680796416 :: t6989586621680795853 a6989586621680795855). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.ForSym1 a6989586621680796416)
instance forall (t :: * -> *) a (f :: * -> *) b (d :: t a). (Data.Singletons.Prelude.Traversable.STraversable t, Data.Singletons.Prelude.Monad.Internal.SApplicative f, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Traversable.ForSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.ForMSym0
instance (Data.Singletons.Prelude.Traversable.STraversable t, Data.Singletons.Prelude.Monad.Internal.SMonad m) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Traversable.ForMSym0
instance forall b6989586621680795852 (m6989586621680795850 :: * -> *) (t6989586621680795849 :: * -> *) a6989586621680795851 (a6989586621680796406 :: t6989586621680795849 a6989586621680795851). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.ForMSym1 a6989586621680796406)
instance forall (t :: * -> *) a (m :: * -> *) b (d :: t a). (Data.Singletons.Prelude.Traversable.STraversable t, Data.Singletons.Prelude.Monad.Internal.SMonad m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Traversable.ForMSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.MapAccumLSym0
instance Data.Singletons.Prelude.Traversable.STraversable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Traversable.MapAccumLSym0
instance forall (t6989586621680795845 :: * -> *) b6989586621680795847 a6989586621680795846 c6989586621680795848 (a6989586621680796385 :: a6989586621680795846 Data.Singletons.Internal.~> (b6989586621680795847 Data.Singletons.Internal.~> (a6989586621680795846, c6989586621680795848))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumLSym1 a6989586621680796385)
instance forall a b c (t :: * -> *) (d :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> (a, c))). (Data.Singletons.Prelude.Traversable.STraversable t, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Traversable.MapAccumLSym1 d)
instance forall (t6989586621680795845 :: * -> *) b6989586621680795847 a6989586621680795846 c6989586621680795848 (a6989586621680796386 :: a6989586621680795846 Data.Singletons.Internal.~> (b6989586621680795847 Data.Singletons.Internal.~> (a6989586621680795846, c6989586621680795848))) (a6989586621680796385 :: a6989586621680795846). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumLSym2 a6989586621680796386 a6989586621680796385)
instance forall a b c (t :: * -> *) (d1 :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> (a, c))) (d2 :: a). (Data.Singletons.Prelude.Traversable.STraversable t, Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Traversable.MapAccumLSym2 d1 d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.MapAccumRSym0
instance Data.Singletons.Prelude.Traversable.STraversable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Traversable.MapAccumRSym0
instance forall (t6989586621680795841 :: * -> *) b6989586621680795843 a6989586621680795842 c6989586621680795844 (a6989586621680796368 :: a6989586621680795842 Data.Singletons.Internal.~> (b6989586621680795843 Data.Singletons.Internal.~> (a6989586621680795842, c6989586621680795844))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumRSym1 a6989586621680796368)
instance forall a b c (t :: * -> *) (d :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> (a, c))). (Data.Singletons.Prelude.Traversable.STraversable t, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Traversable.MapAccumRSym1 d)
instance forall (t6989586621680795841 :: * -> *) b6989586621680795843 a6989586621680795842 c6989586621680795844 (a6989586621680796369 :: a6989586621680795842 Data.Singletons.Internal.~> (b6989586621680795843 Data.Singletons.Internal.~> (a6989586621680795842, c6989586621680795844))) (a6989586621680796368 :: a6989586621680795842). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumRSym2 a6989586621680796369 a6989586621680796368)
instance forall a b c (t :: * -> *) (d1 :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> (a, c))) (d2 :: a). (Data.Singletons.Prelude.Traversable.STraversable t, Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Traversable.MapAccumRSym2 d1 d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.FmapDefaultSym0
instance Data.Singletons.Prelude.Traversable.STraversable t => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Traversable.FmapDefaultSym0
instance forall (t6989586621680795838 :: * -> *) a6989586621680795839 b6989586621680795840 (a6989586621680796355 :: a6989586621680795839 Data.Singletons.Internal.~> b6989586621680795840). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.FmapDefaultSym1 a6989586621680796355)
instance forall a b (t :: * -> *) (d :: a Data.Singletons.Internal.~> b). (Data.Singletons.Prelude.Traversable.STraversable t, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Traversable.FmapDefaultSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.FoldMapDefaultSym0
instance (Data.Singletons.Prelude.Traversable.STraversable t, Data.Singletons.Prelude.Monoid.SMonoid m) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Traversable.FoldMapDefaultSym0
instance forall (t6989586621680795835 :: * -> *) a6989586621680795837 m6989586621680795836 (a6989586621680796334 :: a6989586621680795837 Data.Singletons.Internal.~> m6989586621680795836). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.FoldMapDefaultSym1 a6989586621680796334)
instance forall a m (t :: * -> *) (d :: a Data.Singletons.Internal.~> m). (Data.Singletons.Prelude.Traversable.STraversable t, Data.Singletons.Prelude.Monoid.SMonoid m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Traversable.FoldMapDefaultSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796394Scrutinee_6989586621680795929Sym0
instance forall k (t6989586621680790268 :: * -> *) a6989586621680790270 s b6989586621680790271 (f6989586621680796391 :: s Data.Singletons.Internal.~> (a6989586621680790270 Data.Singletons.Internal.~> (s, b6989586621680790271))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796394Scrutinee_6989586621680795929Sym1 f6989586621680796391)
instance forall (t6989586621680790268 :: * -> *) k a6989586621680790270 s b6989586621680790271 (s6989586621680796392 :: s Data.Singletons.Internal.~> (a6989586621680790270 Data.Singletons.Internal.~> (s, b6989586621680790271))) (f6989586621680796391 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796394Scrutinee_6989586621680795929Sym2 s6989586621680796392 f6989586621680796391)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796377Scrutinee_6989586621680795933Sym0
instance forall k (t6989586621680790268 :: * -> *) a6989586621680790270 s b6989586621680790271 (f6989586621680796374 :: s Data.Singletons.Internal.~> (a6989586621680790270 Data.Singletons.Internal.~> (s, b6989586621680790271))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796377Scrutinee_6989586621680795933Sym1 f6989586621680796374)
instance forall (t6989586621680790268 :: * -> *) k a6989586621680790270 s b6989586621680790271 (s6989586621680796375 :: s Data.Singletons.Internal.~> (a6989586621680790270 Data.Singletons.Internal.~> (s, b6989586621680790271))) (f6989586621680796374 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796377Scrutinee_6989586621680795933Sym2 s6989586621680796375 f6989586621680796374)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796361Scrutinee_6989586621680795937Sym0
instance forall (t6989586621680790268 :: * -> *) a6989586621680790270 b6989586621680790271 (f6989586621680796359 :: a6989586621680790270 Data.Singletons.Internal.~> b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796361Scrutinee_6989586621680795937Sym1 f6989586621680796359)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796348Scrutinee_6989586621680795940Sym0
instance forall (t6989586621680790268 :: * -> *) a6989586621680790270 b6989586621679538761 (f6989586621680796338 :: a6989586621680790270 Data.Singletons.Internal.~> b6989586621679538761). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796348Scrutinee_6989586621680795940Sym1 f6989586621680796338)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680796340MkConstSym0
instance forall k1 m6989586621680795836 k2 (f6989586621680796338 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796340MkConstSym1 f6989586621680796338)
instance forall m6989586621680795836 k1 k2 (x6989586621680796339 :: k2) (f6989586621680796338 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680796340MkConstSym2 x6989586621680796339 f6989586621680796338)
instance Data.Singletons.Prelude.Traversable.STraversable GHC.Maybe.Maybe
instance Data.Singletons.Prelude.Traversable.STraversable []
instance Data.Singletons.Prelude.Traversable.STraversable GHC.Base.NonEmpty
instance Data.Singletons.Prelude.Traversable.STraversable (Data.Either.Either a)
instance Data.Singletons.Prelude.Traversable.STraversable ((,) a)
instance Data.Singletons.Prelude.Traversable.STraversable (Data.Functor.Const.Const m)
instance Data.Singletons.Prelude.Traversable.STraversable Data.Semigroup.Internal.Dual
instance Data.Singletons.Prelude.Traversable.STraversable Data.Semigroup.Internal.Sum
instance Data.Singletons.Prelude.Traversable.STraversable Data.Semigroup.Internal.Product
instance Data.Singletons.Prelude.Traversable.STraversable Data.Monoid.First
instance Data.Singletons.Prelude.Traversable.STraversable Data.Monoid.Last
instance Data.Singletons.Prelude.Traversable.STraversable Data.Functor.Identity.Identity
instance (Data.Singletons.Prelude.Traversable.STraversable t, Data.Singletons.Prelude.Monad.Internal.SApplicative f) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Traversable.TraverseSym0
instance forall a (f :: * -> *) b (t :: * -> *) (d :: a Data.Singletons.Internal.~> f b). (Data.Singletons.Prelude.Traversable.STraversable t, Data.Singletons.Prelude.Monad.Internal.SApplicative f, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Traversable.TraverseSym1 d)
instance (Data.Singletons.Prelude.Traversable.STraversable t, Data.Singletons.Prelude.Monad.Internal.SApplicative f) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Traversable.SequenceASym0
instance (Data.Singletons.Prelude.Traversable.STraversable t, Data.Singletons.Prelude.Monad.Internal.SMonad m) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Traversable.MapMSym0
instance forall a (m :: * -> *) b (t :: * -> *) (d :: a Data.Singletons.Internal.~> m b). (Data.Singletons.Prelude.Traversable.STraversable t, Data.Singletons.Prelude.Monad.Internal.SMonad m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Traversable.MapMSym1 d)
instance (Data.Singletons.Prelude.Traversable.STraversable t, Data.Singletons.Prelude.Monad.Internal.SMonad m) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Traversable.SequenceSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.MapMSym0
instance forall (t6989586621680790268 :: * -> *) a6989586621680790275 (m6989586621680790274 :: * -> *) b6989586621680790276 (arg6989586621680790286 :: a6989586621680790275 Data.Singletons.Internal.~> m6989586621680790274 b6989586621680790276). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapMSym1 arg6989586621680790286)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.SequenceSym0
instance forall (t6989586621680790268 :: * -> *) a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (arg6989586621680790280 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.TraverseSym1 arg6989586621680790280)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.TraverseSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.SequenceASym0
instance forall (t6989586621680790268 :: * -> *) a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (a6989586621680790300 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680790302Sym1 a6989586621680790300)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680790302Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.SequenceA_6989586621680790312Sym0
instance forall (t6989586621680790268 :: * -> *) a6989586621680790275 (m6989586621680790274 :: * -> *) b6989586621680790276 (a6989586621680790325 :: a6989586621680790275 Data.Singletons.Internal.~> m6989586621680790274 b6989586621680790276). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapM_6989586621680790327Sym1 a6989586621680790325)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.MapM_6989586621680790327Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Sequence_6989586621680790337Sym0


-- | Defines the promoted version of <a>Semigroup</a>, <a>PSemigroup</a>,
--   and the singleton version, <a>SSemigroup</a>.
module Data.Singletons.Prelude.Semigroup
class PSemigroup (a_a3sd1 :: Type) where {
    type family (<>) (arg_a3skQ :: a_a3sd1) (arg_a3skR :: a_a3sd1) :: a_a3sd1;
    type family Sconcat (arg_a3skU :: NonEmpty a_a3sd1) :: a_a3sd1;
    type Sconcat a_a3slb = Apply Sconcat_6989586621679833722Sym0 a_a3slb;
}
infixr 6 <>
class SSemigroup a_a3sd1
(%<>) :: forall (t_a3soE :: a_a3sd1) (t_a3soF :: a_a3sd1). SSemigroup a_a3sd1 => Sing t_a3soE -> Sing t_a3soF -> Sing (Apply (Apply (<>@#@$) t_a3soE) t_a3soF :: a_a3sd1)
sSconcat :: forall (t_a3soI :: NonEmpty a_a3sd1). SSemigroup a_a3sd1 => Sing t_a3soI -> Sing (Apply SconcatSym0 t_a3soI :: a_a3sd1)
sSconcat :: forall (t_a3soI :: NonEmpty a_a3sd1). (SSemigroup a_a3sd1, (Apply SconcatSym0 t_a3soI :: a_a3sd1) ~ Apply Sconcat_6989586621679833722Sym0 t_a3soI) => Sing t_a3soI -> Sing (Apply SconcatSym0 t_a3soI :: a_a3sd1)
infixr 6 %<>

-- | The singleton kind-indexed data family.
data family Sing :: k -> Type
type family GetMin (a_a3uKQ :: Min a_ae1T) :: a_ae1T
type family GetMax (a_a3uL7 :: Max a_ae1Z) :: a_ae1Z
type family GetFirst (a_a3uLo :: First a_ae2d) :: a_ae2d
type family GetLast (a_a3uLF :: Last a_ae2j) :: a_ae2j
type family GetDual (a_a3uJz :: Dual a_ak95) :: a_ak95
type family GetAll (a_a3uJN :: All) :: Bool
type family GetAny (a_a3uK1 :: Any) :: Bool
type family GetSum (a_a3uKi :: Sum a_ak8Q) :: a_ak8Q
type family GetProduct (a_a3uKz :: Product a_ak8V) :: a_ak8V
type family GetOption (a_a3uJi :: Option a_ae2v) :: Maybe a_ae2v
type SMin = (Sing :: Min a_ae1T -> Type)
type SMax = (Sing :: Max a_ae1Z -> Type)
type SFirst = (Sing :: First a_ae2d -> Type)
type SLast = (Sing :: Last a_ae2j -> Type)
type SWrappedMonoid = (Sing :: WrappedMonoid m_ae2p -> Type)
type SDual = (Sing :: Dual a_ak95 -> Type)
type SAll = (Sing :: All -> Type)
type SAny = (Sing :: Any -> Type)
type SSum = (Sing :: Sum a_ak8Q -> Type)
type SProduct = (Sing :: Product a_ak8V -> Type)
type SOption = (Sing :: Option a_ae2v -> Type)
type SArg = (Sing :: Arg a_ae26 b_ae27 -> Type)
option_ :: b_a8kw1 -> (a_a8kw2 -> b_a8kw1) -> Option a_a8kw2 -> b_a8kw1
sOption_ :: forall b_a8kw1 a_a8kw2 (t_a8kwm :: b_a8kw1) (t_a8kwn :: (~>) a_a8kw2 b_a8kw1) (t_a8kwo :: Option a_a8kw2). Sing t_a8kwm -> Sing t_a8kwn -> Sing t_a8kwo -> Sing (Apply (Apply (Apply Option_Sym0 t_a8kwm) t_a8kwn) t_a8kwo :: b_a8kw1)
type family Option_ (a_a8kwd :: b_a8kw1) (a_a8kwe :: (~>) a_a8kw2 b_a8kw1) (a_a8kwf :: Option a_a8kw2) :: b_a8kw1
data (<>@#@$) :: forall a6989586621679833215. (~>) a6989586621679833215 ((~>) a6989586621679833215 a6989586621679833215)
infixr 6 <>@#@$
data (<>@#@$$) (arg6989586621679833700 :: a6989586621679833215) :: (~>) a6989586621679833215 a6989586621679833215
infixr 6 <>@#@$$
type (<>@#@$$$) (arg6989586621679833700 :: a6989586621679833215) (arg6989586621679833701 :: a6989586621679833215) = (<>) arg6989586621679833700 arg6989586621679833701
data SconcatSym0 :: forall a6989586621679833215. (~>) (NonEmpty a6989586621679833215) a6989586621679833215
type SconcatSym1 (arg6989586621679833704 :: NonEmpty a6989586621679833215) = Sconcat arg6989586621679833704
data MinSym0 :: forall (a6989586621679063725 :: Type). (~>) a6989586621679063725 (Min (a6989586621679063725 :: Type))
type MinSym1 (t6989586621679843003 :: a6989586621679063725) =  'Min t6989586621679843003
data GetMinSym0 :: forall a6989586621679063725. (~>) (Min a6989586621679063725) a6989586621679063725
type GetMinSym1 (a6989586621679843000 :: Min a6989586621679063725) = GetMin a6989586621679843000
data MaxSym0 :: forall (a6989586621679063731 :: Type). (~>) a6989586621679063731 (Max (a6989586621679063731 :: Type))
type MaxSym1 (t6989586621679843020 :: a6989586621679063731) =  'Max t6989586621679843020
data GetMaxSym0 :: forall a6989586621679063731. (~>) (Max a6989586621679063731) a6989586621679063731
type GetMaxSym1 (a6989586621679843017 :: Max a6989586621679063731) = GetMax a6989586621679843017
data FirstSym0 :: forall (a6989586621679063745 :: Type). (~>) a6989586621679063745 (First (a6989586621679063745 :: Type))
type FirstSym1 (t6989586621679843037 :: a6989586621679063745) =  'First t6989586621679843037
data GetFirstSym0 :: forall a6989586621679063745. (~>) (First a6989586621679063745) a6989586621679063745
type GetFirstSym1 (a6989586621679843034 :: First a6989586621679063745) = GetFirst a6989586621679843034
data LastSym0 :: forall (a6989586621679063751 :: Type). (~>) a6989586621679063751 (Last (a6989586621679063751 :: Type))
type LastSym1 (t6989586621679843054 :: a6989586621679063751) =  'Last t6989586621679843054
data GetLastSym0 :: forall a6989586621679063751. (~>) (Last a6989586621679063751) a6989586621679063751
type GetLastSym1 (a6989586621679843051 :: Last a6989586621679063751) = GetLast a6989586621679843051
data WrapMonoidSym0 :: forall (m6989586621679063757 :: Type). (~>) m6989586621679063757 (WrappedMonoid (m6989586621679063757 :: Type))
type WrapMonoidSym1 (t6989586621679843071 :: m6989586621679063757) =  'WrapMonoid t6989586621679843071
data UnwrapMonoidSym0 :: forall m6989586621679063757. (~>) (WrappedMonoid m6989586621679063757) m6989586621679063757
type UnwrapMonoidSym1 (a6989586621679843068 :: WrappedMonoid m6989586621679063757) = UnwrapMonoid a6989586621679843068
data DualSym0 :: forall (a6989586621679087235 :: Type). (~>) a6989586621679087235 (Dual (a6989586621679087235 :: Type))
type DualSym1 (t6989586621679842924 :: a6989586621679087235) =  'Dual t6989586621679842924
data GetDualSym0 :: forall a6989586621679087235. (~>) (Dual a6989586621679087235) a6989586621679087235
type GetDualSym1 (a6989586621679842921 :: Dual a6989586621679087235) = GetDual a6989586621679842921
data AllSym0 :: (~>) Bool All
type AllSym1 (t6989586621679842938 :: Bool) =  'All t6989586621679842938
data GetAllSym0 :: (~>) All Bool
type GetAllSym1 (a6989586621679842935 :: All) = GetAll a6989586621679842935
data AnySym0 :: (~>) Bool Any
type AnySym1 (t6989586621679842952 :: Bool) =  'Any t6989586621679842952
data GetAnySym0 :: (~>) Any Bool
type GetAnySym1 (a6989586621679842949 :: Any) = GetAny a6989586621679842949
data SumSym0 :: forall (a6989586621679087220 :: Type). (~>) a6989586621679087220 (Sum (a6989586621679087220 :: Type))
type SumSym1 (t6989586621679842969 :: a6989586621679087220) =  'Sum t6989586621679842969
data GetSumSym0 :: forall a6989586621679087220. (~>) (Sum a6989586621679087220) a6989586621679087220
type GetSumSym1 (a6989586621679842966 :: Sum a6989586621679087220) = GetSum a6989586621679842966
data ProductSym0 :: forall (a6989586621679087225 :: Type). (~>) a6989586621679087225 (Product (a6989586621679087225 :: Type))
type ProductSym1 (t6989586621679842986 :: a6989586621679087225) =  'Product t6989586621679842986
data GetProductSym0 :: forall a6989586621679087225. (~>) (Product a6989586621679087225) a6989586621679087225
type GetProductSym1 (a6989586621679842983 :: Product a6989586621679087225) = GetProduct a6989586621679842983
data OptionSym0 :: forall (a6989586621679063763 :: Type). (~>) (Maybe a6989586621679063763) (Option (a6989586621679063763 :: Type))
type OptionSym1 (t6989586621679842907 :: Maybe a6989586621679063763) =  'Option t6989586621679842907
data GetOptionSym0 :: forall a6989586621679063763. (~>) (Option a6989586621679063763) (Maybe a6989586621679063763)
type GetOptionSym1 (a6989586621679842904 :: Option a6989586621679063763) = GetOption a6989586621679842904
data ArgSym0 :: forall (a6989586621679063738 :: Type) (b6989586621679063739 :: Type). (~>) a6989586621679063738 ((~>) b6989586621679063739 (Arg (a6989586621679063738 :: Type) (b6989586621679063739 :: Type)))
data ArgSym1 (t6989586621680907981 :: (a6989586621679063738 :: Type)) :: forall (b6989586621679063739 :: Type). (~>) b6989586621679063739 (Arg (a6989586621679063738 :: Type) (b6989586621679063739 :: Type))
type ArgSym2 (t6989586621680907981 :: a6989586621679063738) (t6989586621680907982 :: b6989586621679063739) =  'Arg t6989586621680907981 t6989586621680907982
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Option_Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Semigroup.Option_Sym0
instance forall a6989586621680995282 b6989586621680995281 (a6989586621680995293 :: b6989586621680995281). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Option_Sym1 a6989586621680995293)
instance forall b a (d :: b). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Semigroup.Option_Sym1 d)
instance forall a6989586621680995282 b6989586621680995281 (a6989586621680995294 :: b6989586621680995281) (a6989586621680995293 :: a6989586621680995282 Data.Singletons.Internal.~> b6989586621680995281). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Option_Sym2 a6989586621680995294 a6989586621680995293)
instance forall b a (d1 :: b) (d2 :: a Data.Singletons.Internal.~> b). (Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Semigroup.Option_Sym2 d1 d2)
instance forall a b (z :: Data.Semigroup.Arg a b). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680927771Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Option
instance forall a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (a6989586621680927769 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680927771Sym1 a6989586621680927769)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680927759Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Option
instance forall a6989586621680486187 m6989586621680486186 (a6989586621680927757 :: a6989586621680486187 Data.Singletons.Internal.~> m6989586621680486186). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680927759Sym1 a6989586621680927757)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.Option a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927745Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Option a)
instance forall a6989586621680925743 (a6989586621680927743 :: Data.Semigroup.Option a6989586621680925743). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927745Sym1 a6989586621680927743)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927733Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Option
instance forall b6989586621679563455 a6989586621679563454 (a6989586621680927731 :: Data.Semigroup.Option a6989586621679563454). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927733Sym1 a6989586621680927731)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927717Sym0
instance forall b6989586621679563453 a6989586621679563452 (a6989586621680927715 :: Data.Semigroup.Option a6989586621679563452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927717Sym1 a6989586621680927715)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927705Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Option
instance forall b6989586621679563426 a6989586621679563425 (a6989586621680927703 :: a6989586621679563425). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927705Sym1 a6989586621680927703)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680927693Sym0
instance forall a6989586621679563423 b6989586621679563424 (a6989586621680927691 :: a6989586621679563423 Data.Singletons.Internal.~> b6989586621679563424). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680927693Sym1 a6989586621680927691)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927681Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Option
instance forall b6989586621679563435 a6989586621679563434 (a6989586621680927679 :: Data.Semigroup.Option a6989586621679563434). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927681Sym1 a6989586621680927679)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680927669Sym0
instance forall a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621680927666 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680927669Sym1 a6989586621680927666)
instance forall a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621680927667 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)) (a6989586621680927666 :: Data.Semigroup.Option a6989586621679563431). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680927669Sym2 a6989586621680927667 a6989586621680927666)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927653Sym0
instance forall a6989586621679563429 b6989586621679563430 (a6989586621680927651 :: Data.Semigroup.Option (a6989586621679563429 Data.Singletons.Internal.~> b6989586621679563430)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927653Sym1 a6989586621680927651)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680927642Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927634Sym0
instance Data.Singletons.Prelude.Monad.Internal.PAlternative Data.Semigroup.Option
instance forall a6989586621679563506 (a6989586621680927632 :: Data.Semigroup.Option a6989586621679563506). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927634Sym1 a6989586621680927632)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680927630ASym0
instance Data.Singletons.Prelude.Monad.Internal.SAlternative Data.Semigroup.Option
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680927617Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.WrappedMonoid a)
instance forall a6989586621680925723 (a6989586621680927614 :: Data.Semigroup.WrappedMonoid a6989586621680925723). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680927617Sym1 a6989586621680927614)
instance forall a6989586621680925723 (a6989586621680927615 :: Data.Semigroup.WrappedMonoid a6989586621680925723) (a6989586621680927614 :: Data.Semigroup.WrappedMonoid a6989586621680925723). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680927617Sym2 a6989586621680927615 a6989586621680927614)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680927601Sym0
instance forall a6989586621680925723 (a6989586621680927599 :: Data.Semigroup.WrappedMonoid a6989586621680925723). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680927601Sym1 a6989586621680927599)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680927590Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680927583Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680927574Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680927567Sym0
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.WrappedMonoid m)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927557Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.WrappedMonoid m)
instance forall m6989586621680925719 (a6989586621680927555 :: Data.Semigroup.WrappedMonoid m6989586621680925719). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927557Sym1 a6989586621680927555)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680927545Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Last
instance forall a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (a6989586621680927543 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680927545Sym1 a6989586621680927543)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680927532Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Last
instance forall a6989586621680486188 b6989586621680486189 (a6989586621680927529 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680927532Sym1 a6989586621680927529)
instance forall a6989586621680486188 b6989586621680486189 (a6989586621680927530 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)) (a6989586621680927529 :: b6989586621680486189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680927532Sym2 a6989586621680927530 a6989586621680927529)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680927516Sym0
instance forall a6989586621680486187 m6989586621680486186 (a6989586621680927514 :: a6989586621680486187 Data.Singletons.Internal.~> m6989586621680486186). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680927516Sym1 a6989586621680927514)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927504Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Last a)
instance forall a6989586621680925717 (a6989586621680927502 :: Data.Semigroup.Last a6989586621680925717). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927504Sym1 a6989586621680927502)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927493Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Last
instance forall b6989586621679563453 a6989586621679563452 (a6989586621680927491 :: Data.Semigroup.Last a6989586621679563452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927493Sym1 a6989586621680927491)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927481Sym0
instance forall b6989586621679563455 a6989586621679563454 (a6989586621680927479 :: Data.Semigroup.Last a6989586621679563454). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927481Sym1 a6989586621680927479)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927465Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Last
instance forall b6989586621679563426 a6989586621679563425 (a6989586621680927463 :: a6989586621679563425). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927465Sym1 a6989586621680927463)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680927456Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.Last
instance forall k1 k2 k3 (_z_69895866216809262076989586621680927454 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680927456Sym1 _z_69895866216809262076989586621680927454)
instance forall k1 k2 k3 (a_69895866216809262136989586621680927455 :: k3) (_z_69895866216809262076989586621680927454 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680927456Sym2 a_69895866216809262136989586621680927455 _z_69895866216809262076989586621680927454)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680927446Sym0
instance forall a6989586621679563423 b6989586621679563424 (a6989586621680927444 :: a6989586621679563423 Data.Singletons.Internal.~> b6989586621679563424). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680927446Sym1 a6989586621680927444)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680927433Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.Last a)
instance forall a6989586621680925706 (a6989586621680927430 :: Data.Semigroup.Last a6989586621680925706). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680927433Sym1 a6989586621680927430)
instance forall a6989586621680925706 (a6989586621680927431 :: Data.Semigroup.Last a6989586621680925706) (a6989586621680927430 :: Data.Semigroup.Last a6989586621680925706). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680927433Sym2 a6989586621680927431 a6989586621680927430)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680927417Sym0
instance forall a6989586621680925706 (a6989586621680927415 :: Data.Semigroup.Last a6989586621680925706). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680927417Sym1 a6989586621680927415)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680927406Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680927399Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680927390Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680927383Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680927374Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Last
instance forall a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621680927371 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680927374Sym1 a6989586621680927371)
instance forall a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621680927372 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)) (a6989586621680927371 :: Data.Semigroup.Last a6989586621679563431). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680927374Sym2 a6989586621680927372 a6989586621680927371)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927358Sym0
instance forall a6989586621679563429 b6989586621679563430 (a6989586621680927356 :: Data.Semigroup.Last (a6989586621679563429 Data.Singletons.Internal.~> b6989586621679563430)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927358Sym1 a6989586621680927356)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927346Sym0
instance forall b6989586621679563435 a6989586621679563434 (a6989586621680927344 :: Data.Semigroup.Last a6989586621679563434). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927346Sym1 a6989586621680927344)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927335Sym0
instance forall b6989586621679563437 a6989586621679563436 (a6989586621680927333 :: Data.Semigroup.Last a6989586621679563436). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927335Sym1 a6989586621680927333)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680927325Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680927317Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.First
instance forall a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (a6989586621680927315 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680927317Sym1 a6989586621680927315)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680927304Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.First
instance forall a6989586621680486188 b6989586621680486189 (a6989586621680927301 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680927304Sym1 a6989586621680927301)
instance forall a6989586621680486188 b6989586621680486189 (a6989586621680927302 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)) (a6989586621680927301 :: b6989586621680486189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680927304Sym2 a6989586621680927302 a6989586621680927301)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680927288Sym0
instance forall a6989586621680486187 m6989586621680486186 (a6989586621680927286 :: a6989586621680486187 Data.Singletons.Internal.~> m6989586621680486186). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680927288Sym1 a6989586621680927286)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927276Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.First a)
instance forall a6989586621680925696 (a6989586621680927274 :: Data.Semigroup.First a6989586621680925696). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927276Sym1 a6989586621680927274)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927265Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.First
instance forall b6989586621679563453 a6989586621679563452 (a6989586621680927263 :: Data.Semigroup.First a6989586621679563452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927265Sym1 a6989586621680927263)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927253Sym0
instance forall b6989586621679563455 a6989586621679563454 (a6989586621680927251 :: Data.Semigroup.First a6989586621679563454). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927253Sym1 a6989586621680927251)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927237Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.First
instance forall b6989586621679563426 a6989586621679563425 (a6989586621680927235 :: a6989586621679563425). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927237Sym1 a6989586621680927235)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680927228Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.First
instance forall k1 k2 k3 (_z_69895866216809261736989586621680927226 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680927228Sym1 _z_69895866216809261736989586621680927226)
instance forall k1 k2 k3 (a_69895866216809261796989586621680927227 :: k3) (_z_69895866216809261736989586621680927226 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680927228Sym2 a_69895866216809261796989586621680927227 _z_69895866216809261736989586621680927226)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680927218Sym0
instance forall a6989586621679563423 b6989586621679563424 (a6989586621680927216 :: a6989586621679563423 Data.Singletons.Internal.~> b6989586621679563424). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680927218Sym1 a6989586621680927216)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680927205Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.First a)
instance forall a6989586621680925685 (a6989586621680927202 :: Data.Semigroup.First a6989586621680925685). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680927205Sym1 a6989586621680927202)
instance forall a6989586621680925685 (a6989586621680927203 :: Data.Semigroup.First a6989586621680925685) (a6989586621680927202 :: Data.Semigroup.First a6989586621680925685). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680927205Sym2 a6989586621680927203 a6989586621680927202)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680927189Sym0
instance forall a6989586621680925685 (a6989586621680927187 :: Data.Semigroup.First a6989586621680925685). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680927189Sym1 a6989586621680927187)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680927178Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680927171Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680927162Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680927155Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680927146Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.First
instance forall a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621680927143 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680927146Sym1 a6989586621680927143)
instance forall a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621680927144 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)) (a6989586621680927143 :: Data.Semigroup.First a6989586621679563431). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680927146Sym2 a6989586621680927144 a6989586621680927143)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927130Sym0
instance forall a6989586621679563429 b6989586621679563430 (a6989586621680927128 :: Data.Semigroup.First (a6989586621679563429 Data.Singletons.Internal.~> b6989586621679563430)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927130Sym1 a6989586621680927128)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927118Sym0
instance forall b6989586621679563435 a6989586621679563434 (a6989586621680927116 :: Data.Semigroup.First a6989586621679563434). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927118Sym1 a6989586621680927116)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927107Sym0
instance forall b6989586621679563437 a6989586621679563436 (a6989586621680927105 :: Data.Semigroup.First a6989586621679563436). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680927107Sym1 a6989586621680927105)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680927097Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680927089Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable (Data.Semigroup.Arg a)
instance forall a6989586621680925676 a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (a6989586621680927087 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680927089Sym1 a6989586621680927087)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680927075Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable (Data.Semigroup.Arg a)
instance forall a6989586621680925675 a6989586621680486188 b6989586621680486189 (a6989586621680927072 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680927075Sym1 a6989586621680927072)
instance forall a6989586621680925675 a6989586621680486188 b6989586621680486189 (a6989586621680927073 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)) (a6989586621680927072 :: b6989586621680486189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680927075Sym2 a6989586621680927073 a6989586621680927072)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680927060Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable (Data.Semigroup.Arg a)
instance forall k1 k2 k3 k4 k5 k6 (_f_69895866216809261356989586621680927056 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680927060Sym1 _f_69895866216809261356989586621680927056)
instance forall k1 k2 k3 k4 k5 k6 (_z_69895866216809261376989586621680927057 :: k6) (_f_69895866216809261356989586621680927056 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680927060Sym2 _z_69895866216809261376989586621680927057 _f_69895866216809261356989586621680927056)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216809261496989586621680927058 :: k6) (_z_69895866216809261376989586621680927057 :: k5) (_f_69895866216809261356989586621680927056 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680927060Sym3 a_69895866216809261496989586621680927058 _z_69895866216809261376989586621680927057 _f_69895866216809261356989586621680927056)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216809261516989586621680927059 :: k6) (a_69895866216809261496989586621680927058 :: k5) (_z_69895866216809261376989586621680927057 :: k4) (_f_69895866216809261356989586621680927056 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680927060Sym4 a_69895866216809261516989586621680927059 a_69895866216809261496989586621680927058 _z_69895866216809261376989586621680927057 _f_69895866216809261356989586621680927056)
instance forall k1 k2 k3 k4 k5 k6 (t6989586621680927064 :: k6) (a_69895866216809261516989586621680927059 :: k5) (a_69895866216809261496989586621680927058 :: k4) (_z_69895866216809261376989586621680927057 :: k3) (_f_69895866216809261356989586621680927056 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680927060Sym5 t6989586621680927064 a_69895866216809261516989586621680927059 a_69895866216809261496989586621680927058 _z_69895866216809261376989586621680927057 _f_69895866216809261356989586621680927056)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680927046Sym0
instance forall a6989586621680925675 a6989586621680486187 m6989586621680486186 (a6989586621680927044 :: a6989586621680486187 Data.Singletons.Internal.~> m6989586621680486186). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680927046Sym1 a6989586621680927044)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680927036Sym0
instance forall k1 k2 k3 k4 k5 (_f_69895866216809261356989586621680927033 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680927036Sym1 _f_69895866216809261356989586621680927033)
instance forall k1 k2 k3 k4 k5 (a_69895866216809261416989586621680927034 :: k5) (_f_69895866216809261356989586621680927033 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680927036Sym2 a_69895866216809261416989586621680927034 _f_69895866216809261356989586621680927033)
instance forall k1 k2 k3 k4 k5 (a_69895866216809261436989586621680927035 :: k5) (a_69895866216809261416989586621680927034 :: k4) (_f_69895866216809261356989586621680927033 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680927036Sym3 a_69895866216809261436989586621680927035 a_69895866216809261416989586621680927034 _f_69895866216809261356989586621680927033)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680927024Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Arg a b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680927024Sym1 a6989586621680927021)
instance forall a6989586621680925673 b6989586621680925674 (a6989586621680927022 :: GHC.Types.Nat) (a6989586621680927021 :: Data.Semigroup.Arg a6989586621680925673 b6989586621680925674). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680927024Sym2 a6989586621680927022 a6989586621680927021)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Max_6989586621680927005Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Semigroup.Arg a b)
instance forall a6989586621680925661 b6989586621680925662 (a6989586621680927003 :: Data.Semigroup.Arg a6989586621680925661 b6989586621680925662). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Max_6989586621680927005Sym1 a6989586621680927003)
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Prelude.Ord.SOrd (Data.Semigroup.Arg a b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680926986YSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680926982 :: k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926986YSym1 a6989586621680926982)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680926984 :: k7) (a6989586621680926982 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926986YSym2 b6989586621680926984 a6989586621680926982)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809257636989586621680926978 :: k7) (b6989586621680926984 :: k6) (a6989586621680926982 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926986YSym3 arg_69895866216809257636989586621680926978 b6989586621680926984 a6989586621680926982)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809257656989586621680926979 :: k7) (arg_69895866216809257636989586621680926978 :: k6) (b6989586621680926984 :: k5) (a6989586621680926982 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926986YSym4 arg_69895866216809257656989586621680926979 arg_69895866216809257636989586621680926978 b6989586621680926984 a6989586621680926982)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809257676989586621680926983 :: k7) (arg_69895866216809257656989586621680926979 :: k6) (arg_69895866216809257636989586621680926978 :: k5) (b6989586621680926984 :: k4) (a6989586621680926982 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926986YSym5 wild_69895866216809257676989586621680926983 arg_69895866216809257656989586621680926979 arg_69895866216809257636989586621680926978 b6989586621680926984 a6989586621680926982)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680926986XSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680926982 :: k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926986XSym1 a6989586621680926982)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680926984 :: k7) (a6989586621680926982 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926986XSym2 b6989586621680926984 a6989586621680926982)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809257636989586621680926978 :: k7) (b6989586621680926984 :: k6) (a6989586621680926982 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926986XSym3 arg_69895866216809257636989586621680926978 b6989586621680926984 a6989586621680926982)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809257656989586621680926979 :: k7) (arg_69895866216809257636989586621680926978 :: k6) (b6989586621680926984 :: k5) (a6989586621680926982 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926986XSym4 arg_69895866216809257656989586621680926979 arg_69895866216809257636989586621680926978 b6989586621680926984 a6989586621680926982)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809257676989586621680926983 :: k7) (arg_69895866216809257656989586621680926979 :: k6) (arg_69895866216809257636989586621680926978 :: k5) (b6989586621680926984 :: k4) (a6989586621680926982 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926986XSym5 wild_69895866216809257676989586621680926983 arg_69895866216809257656989586621680926979 arg_69895866216809257636989586621680926978 b6989586621680926984 a6989586621680926982)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Min_6989586621680926970Sym0
instance forall a6989586621680925661 b6989586621680925662 (a6989586621680926968 :: Data.Semigroup.Arg a6989586621680925661 b6989586621680925662). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Min_6989586621680926970Sym1 a6989586621680926968)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680926951YSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680926947 :: k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926951YSym1 a6989586621680926947)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680926949 :: k7) (a6989586621680926947 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926951YSym2 b6989586621680926949 a6989586621680926947)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809257516989586621680926943 :: k7) (b6989586621680926949 :: k6) (a6989586621680926947 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926951YSym3 arg_69895866216809257516989586621680926943 b6989586621680926949 a6989586621680926947)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809257536989586621680926944 :: k7) (arg_69895866216809257516989586621680926943 :: k6) (b6989586621680926949 :: k5) (a6989586621680926947 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926951YSym4 arg_69895866216809257536989586621680926944 arg_69895866216809257516989586621680926943 b6989586621680926949 a6989586621680926947)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809257556989586621680926948 :: k7) (arg_69895866216809257536989586621680926944 :: k6) (arg_69895866216809257516989586621680926943 :: k5) (b6989586621680926949 :: k4) (a6989586621680926947 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926951YSym5 wild_69895866216809257556989586621680926948 arg_69895866216809257536989586621680926944 arg_69895866216809257516989586621680926943 b6989586621680926949 a6989586621680926947)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680926951XSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680926947 :: k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926951XSym1 a6989586621680926947)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680926949 :: k7) (a6989586621680926947 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926951XSym2 b6989586621680926949 a6989586621680926947)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809257516989586621680926943 :: k7) (b6989586621680926949 :: k6) (a6989586621680926947 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926951XSym3 arg_69895866216809257516989586621680926943 b6989586621680926949 a6989586621680926947)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809257536989586621680926944 :: k7) (arg_69895866216809257516989586621680926943 :: k6) (b6989586621680926949 :: k5) (a6989586621680926947 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926951XSym4 arg_69895866216809257536989586621680926944 arg_69895866216809257516989586621680926943 b6989586621680926949 a6989586621680926947)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809257556989586621680926948 :: k7) (arg_69895866216809257536989586621680926944 :: k6) (arg_69895866216809257516989586621680926943 :: k5) (b6989586621680926949 :: k4) (a6989586621680926947 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680926951XSym5 wild_69895866216809257556989586621680926948 arg_69895866216809257536989586621680926944 arg_69895866216809257516989586621680926943 b6989586621680926949 a6989586621680926947)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Compare_6989586621680926935Sym0
instance forall a6989586621680925661 b6989586621680925662 (a6989586621680926933 :: Data.Semigroup.Arg a6989586621680925661 b6989586621680925662). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Compare_6989586621680926935Sym1 a6989586621680926933)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926923Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Semigroup.Arg a)
instance forall a6989586621680925660 b6989586621679563426 a6989586621679563425 (a6989586621680926921 :: a6989586621679563425). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926923Sym1 a6989586621680926921)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680926913Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Semigroup.Arg a)
instance forall k1 k2 k3 k4 (_z_69895866216809261036989586621680926902 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680926913Sym1 _z_69895866216809261036989586621680926902)
instance forall k1 k2 k3 k4 (a_69895866216809261156989586621680926903 :: k4) (_z_69895866216809261036989586621680926902 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680926913Sym2 a_69895866216809261156989586621680926903 _z_69895866216809261036989586621680926902)
instance forall k1 k2 k3 k4 (a_69895866216809261176989586621680926904 :: k4) (a_69895866216809261156989586621680926903 :: k3) (_z_69895866216809261036989586621680926902 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680926913Sym3 a_69895866216809261176989586621680926904 a_69895866216809261156989586621680926903 _z_69895866216809261036989586621680926902)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680926905Sym0
instance forall k1 k2 k3 k4 (_z_69895866216809261036989586621680926902 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680926905Sym1 _z_69895866216809261036989586621680926902)
instance forall k1 k2 k3 k4 (a_69895866216809261156989586621680926903 :: k4) (_z_69895866216809261036989586621680926902 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680926905Sym2 a_69895866216809261156989586621680926903 _z_69895866216809261036989586621680926902)
instance forall k1 k2 k3 k4 (a_69895866216809261176989586621680926904 :: k4) (a_69895866216809261156989586621680926903 :: k3) (_z_69895866216809261036989586621680926902 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680926905Sym3 a_69895866216809261176989586621680926904 a_69895866216809261156989586621680926903 _z_69895866216809261036989586621680926902)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680926894Sym0
instance forall a6989586621680925660 a6989586621679563423 b6989586621679563424 (a6989586621680926892 :: a6989586621679563423 Data.Singletons.Internal.~> b6989586621679563424). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680926894Sym1 a6989586621680926892)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680926884Sym0
instance forall k1 k2 k3 k4 (_f_69895866216809261016989586621680926881 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680926884Sym1 _f_69895866216809261016989586621680926881)
instance forall k1 k2 k3 k4 (a_69895866216809261076989586621680926882 :: k4) (_f_69895866216809261016989586621680926881 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680926884Sym2 a_69895866216809261076989586621680926882 _f_69895866216809261016989586621680926881)
instance forall k1 k2 k3 k4 (a_69895866216809261096989586621680926883 :: k4) (a_69895866216809261076989586621680926882 :: k3) (_f_69895866216809261016989586621680926881 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680926884Sym3 a_69895866216809261096989586621680926883 a_69895866216809261076989586621680926882 _f_69895866216809261016989586621680926881)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926873Sym0
instance Data.Singletons.Prelude.Eq.PEq (Data.Semigroup.Arg a b)
instance forall a6989586621680925656 b6989586621680925657 (a6989586621680926871 :: Data.Semigroup.Arg a6989586621680925656 b6989586621680925657). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926873Sym1 a6989586621680926871)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680926861Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Max
instance forall a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (a6989586621680926859 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680926861Sym1 a6989586621680926859)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680926848Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Max
instance forall a6989586621680486188 b6989586621680486189 (a6989586621680926845 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680926848Sym1 a6989586621680926845)
instance forall a6989586621680486188 b6989586621680486189 (a6989586621680926846 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)) (a6989586621680926845 :: b6989586621680486189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680926848Sym2 a6989586621680926846 a6989586621680926845)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680926832Sym0
instance forall a6989586621680486187 m6989586621680486186 (a6989586621680926830 :: a6989586621680486187 Data.Singletons.Internal.~> m6989586621680486186). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680926832Sym1 a6989586621680926830)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromInteger_6989586621680926821Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Semigroup.Max a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Signum_6989586621680926812Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Abs_6989586621680926805Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Negate_6989586621680926798Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926790Sym0
instance forall a6989586621680925646 (a6989586621680926788 :: Data.Semigroup.Max a6989586621680925646). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926790Sym1 a6989586621680926788)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926778Sym0
instance forall a6989586621680925646 (a6989586621680926776 :: Data.Semigroup.Max a6989586621680925646). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926778Sym1 a6989586621680926776)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926766Sym0
instance forall a6989586621680925646 (a6989586621680926764 :: Data.Semigroup.Max a6989586621680925646). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926766Sym1 a6989586621680926764)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.Max a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926752Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Max a)
instance forall a6989586621680925642 (a6989586621680926750 :: Data.Semigroup.Max a6989586621680925642). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926752Sym1 a6989586621680926750)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926740Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Max
instance forall b6989586621679563453 a6989586621679563452 (a6989586621680926738 :: Data.Semigroup.Max a6989586621679563452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926740Sym1 a6989586621680926738)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926728Sym0
instance forall b6989586621679563455 a6989586621679563454 (a6989586621680926726 :: Data.Semigroup.Max a6989586621679563454). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926728Sym1 a6989586621680926726)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926712Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Max
instance forall b6989586621679563426 a6989586621679563425 (a6989586621680926710 :: a6989586621679563425). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926712Sym1 a6989586621680926710)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680926703Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.Max
instance forall k1 k2 k3 (_z_69895866216809260656989586621680926701 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680926703Sym1 _z_69895866216809260656989586621680926701)
instance forall k1 k2 k3 (a_69895866216809260716989586621680926702 :: k3) (_z_69895866216809260656989586621680926701 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680926703Sym2 a_69895866216809260716989586621680926702 _z_69895866216809260656989586621680926701)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680926693Sym0
instance forall a6989586621679563423 b6989586621679563424 (a6989586621680926691 :: a6989586621679563423 Data.Singletons.Internal.~> b6989586621679563424). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680926693Sym1 a6989586621680926691)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680926680Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.Max a)
instance forall a6989586621680925631 (a6989586621680926677 :: Data.Semigroup.Max a6989586621680925631). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680926680Sym1 a6989586621680926677)
instance forall a6989586621680925631 (a6989586621680926678 :: Data.Semigroup.Max a6989586621680925631) (a6989586621680926677 :: Data.Semigroup.Max a6989586621680925631). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680926680Sym2 a6989586621680926678 a6989586621680926677)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680926664Sym0
instance forall a6989586621680925631 (a6989586621680926662 :: Data.Semigroup.Max a6989586621680925631). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680926664Sym1 a6989586621680926662)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680926653Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680926646Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680926637Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680926630Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680926621Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Max
instance forall a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621680926618 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680926621Sym1 a6989586621680926618)
instance forall a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621680926619 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)) (a6989586621680926618 :: Data.Semigroup.Max a6989586621679563431). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680926621Sym2 a6989586621680926619 a6989586621680926618)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926605Sym0
instance forall a6989586621679563429 b6989586621679563430 (a6989586621680926603 :: Data.Semigroup.Max (a6989586621679563429 Data.Singletons.Internal.~> b6989586621679563430)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926605Sym1 a6989586621680926603)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926593Sym0
instance forall b6989586621679563435 a6989586621679563434 (a6989586621680926591 :: Data.Semigroup.Max a6989586621679563434). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926593Sym1 a6989586621680926591)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926582Sym0
instance forall b6989586621679563437 a6989586621679563436 (a6989586621680926580 :: Data.Semigroup.Max a6989586621679563436). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926582Sym1 a6989586621680926580)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680926572Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680926562Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Min
instance forall a6989586621680790270 (f6989586621680790269 :: * -> *) b6989586621680790271 (a6989586621680926560 :: a6989586621680790270 Data.Singletons.Internal.~> f6989586621680790269 b6989586621680790271). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680926562Sym1 a6989586621680926560)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680926549Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Min
instance forall a6989586621680486188 b6989586621680486189 (a6989586621680926546 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680926549Sym1 a6989586621680926546)
instance forall a6989586621680486188 b6989586621680486189 (a6989586621680926547 :: a6989586621680486188 Data.Singletons.Internal.~> (b6989586621680486189 Data.Singletons.Internal.~> b6989586621680486189)) (a6989586621680926546 :: b6989586621680486189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680926549Sym2 a6989586621680926547 a6989586621680926546)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680926533Sym0
instance forall a6989586621680486187 m6989586621680486186 (a6989586621680926531 :: a6989586621680486187 Data.Singletons.Internal.~> m6989586621680486186). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680926533Sym1 a6989586621680926531)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromInteger_6989586621680926522Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Semigroup.Min a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Signum_6989586621680926513Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Abs_6989586621680926506Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Negate_6989586621680926499Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926491Sym0
instance forall a6989586621680925614 (a6989586621680926489 :: Data.Semigroup.Min a6989586621680925614). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926491Sym1 a6989586621680926489)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926479Sym0
instance forall a6989586621680925614 (a6989586621680926477 :: Data.Semigroup.Min a6989586621680925614). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926479Sym1 a6989586621680926477)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926467Sym0
instance forall a6989586621680925614 (a6989586621680926465 :: Data.Semigroup.Min a6989586621680925614). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926467Sym1 a6989586621680926465)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.Min a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926453Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Min a)
instance forall a6989586621680925610 (a6989586621680926451 :: Data.Semigroup.Min a6989586621680925610). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926453Sym1 a6989586621680926451)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926441Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Min
instance forall b6989586621679563453 a6989586621679563452 (a6989586621680926439 :: Data.Semigroup.Min a6989586621679563452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926441Sym1 a6989586621680926439)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926429Sym0
instance forall b6989586621679563455 a6989586621679563454 (a6989586621680926427 :: Data.Semigroup.Min a6989586621679563454). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926429Sym1 a6989586621680926427)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926413Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Min
instance forall b6989586621679563426 a6989586621679563425 (a6989586621680926411 :: a6989586621679563425). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926413Sym1 a6989586621680926411)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680926404Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.Min
instance forall k1 k2 k3 (_z_69895866216809260316989586621680926402 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680926404Sym1 _z_69895866216809260316989586621680926402)
instance forall k1 k2 k3 (a_69895866216809260376989586621680926403 :: k3) (_z_69895866216809260316989586621680926402 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680926404Sym2 a_69895866216809260376989586621680926403 _z_69895866216809260316989586621680926402)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680926394Sym0
instance forall a6989586621679563423 b6989586621679563424 (a6989586621680926392 :: a6989586621679563423 Data.Singletons.Internal.~> b6989586621679563424). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680926394Sym1 a6989586621680926392)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680926381Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.Min a)
instance forall a6989586621680925599 (a6989586621680926378 :: Data.Semigroup.Min a6989586621680925599). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680926381Sym1 a6989586621680926378)
instance forall a6989586621680925599 (a6989586621680926379 :: Data.Semigroup.Min a6989586621680925599) (a6989586621680926378 :: Data.Semigroup.Min a6989586621680925599). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680926381Sym2 a6989586621680926379 a6989586621680926378)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680926365Sym0
instance forall a6989586621680925599 (a6989586621680926363 :: Data.Semigroup.Min a6989586621680925599). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680926365Sym1 a6989586621680926363)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680926354Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680926347Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680926338Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680926331Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680926322Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Min
instance forall a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621680926319 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680926322Sym1 a6989586621680926319)
instance forall a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621680926320 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)) (a6989586621680926319 :: Data.Semigroup.Min a6989586621679563431). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680926322Sym2 a6989586621680926320 a6989586621680926319)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926306Sym0
instance forall a6989586621679563429 b6989586621679563430 (a6989586621680926304 :: Data.Semigroup.Min (a6989586621679563429 Data.Singletons.Internal.~> b6989586621679563430)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926306Sym1 a6989586621680926304)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926294Sym0
instance forall b6989586621679563435 a6989586621679563434 (a6989586621680926292 :: Data.Semigroup.Min a6989586621679563434). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926294Sym1 a6989586621680926292)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926283Sym0
instance forall b6989586621679563437 a6989586621679563436 (a6989586621680926281 :: Data.Semigroup.Min a6989586621679563436). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680926283Sym1 a6989586621680926281)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680926273Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonadPlus Data.Semigroup.Option
instance Data.Singletons.Prelude.Monad.Internal.SApplicative Data.Semigroup.Min
instance Data.Singletons.Prelude.Enum.SEnum a => Data.Singletons.Prelude.Enum.SEnum (Data.Semigroup.Min a)
instance Data.Singletons.Prelude.Monad.Internal.SMonad Data.Semigroup.Min
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Semigroup.Min a)
instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Enum.SBounded a) => Data.Singletons.Prelude.Monoid.SMonoid (Data.Semigroup.Min a)
instance Data.Singletons.Prelude.Num.SNum a => Data.Singletons.Prelude.Num.SNum (Data.Semigroup.Min a)
instance Data.Singletons.Prelude.Foldable.SFoldable Data.Semigroup.Min
instance Data.Singletons.Prelude.Traversable.STraversable Data.Semigroup.Min
instance Data.Singletons.Prelude.Monad.Internal.SApplicative Data.Semigroup.Max
instance Data.Singletons.Prelude.Enum.SEnum a => Data.Singletons.Prelude.Enum.SEnum (Data.Semigroup.Max a)
instance Data.Singletons.Prelude.Monad.Internal.SMonad Data.Semigroup.Max
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Semigroup.Max a)
instance (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Prelude.Enum.SBounded a) => Data.Singletons.Prelude.Monoid.SMonoid (Data.Semigroup.Max a)
instance Data.Singletons.Prelude.Num.SNum a => Data.Singletons.Prelude.Num.SNum (Data.Semigroup.Max a)
instance Data.Singletons.Prelude.Foldable.SFoldable Data.Semigroup.Max
instance Data.Singletons.Prelude.Traversable.STraversable Data.Semigroup.Max
instance Data.Singletons.Prelude.Eq.SEq a => Data.Singletons.Prelude.Eq.SEq (Data.Semigroup.Arg a b)
instance (Data.Singletons.Prelude.Show.SShow a, Data.Singletons.Prelude.Show.SShow b) => Data.Singletons.Prelude.Show.SShow (Data.Semigroup.Arg a b)
instance Data.Singletons.Prelude.Traversable.STraversable (Data.Semigroup.Arg a)
instance Data.Singletons.Prelude.Monad.Internal.SApplicative Data.Semigroup.First
instance Data.Singletons.Prelude.Enum.SEnum a => Data.Singletons.Prelude.Enum.SEnum (Data.Semigroup.First a)
instance Data.Singletons.Prelude.Monad.Internal.SMonad Data.Semigroup.First
instance Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Semigroup.First a)
instance Data.Singletons.Prelude.Foldable.SFoldable Data.Semigroup.First
instance Data.Singletons.Prelude.Traversable.STraversable Data.Semigroup.First
instance Data.Singletons.Prelude.Monad.Internal.SApplicative Data.Semigroup.Last
instance Data.Singletons.Prelude.Enum.SEnum a => Data.Singletons.Prelude.Enum.SEnum (Data.Semigroup.Last a)
instance Data.Singletons.Prelude.Monad.Internal.SMonad Data.Semigroup.Last
instance Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Semigroup.Last a)
instance Data.Singletons.Prelude.Foldable.SFoldable Data.Semigroup.Last
instance Data.Singletons.Prelude.Traversable.STraversable Data.Semigroup.Last
instance Data.Singletons.Prelude.Monoid.SMonoid m => Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Semigroup.WrappedMonoid m)
instance Data.Singletons.Prelude.Monoid.SMonoid m => Data.Singletons.Prelude.Monoid.SMonoid (Data.Semigroup.WrappedMonoid m)
instance Data.Singletons.Prelude.Enum.SEnum a => Data.Singletons.Prelude.Enum.SEnum (Data.Semigroup.WrappedMonoid a)
instance Data.Singletons.Prelude.Monad.Internal.SApplicative Data.Semigroup.Option
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.Option
instance Data.Singletons.Prelude.Monad.Internal.SMonad Data.Semigroup.Option
instance Data.Singletons.Prelude.Monad.Internal.SMonadPlus Data.Semigroup.Option
instance Data.Singletons.Prelude.Semigroup.Internal.SSemigroup a => Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Semigroup.Option a)
instance Data.Singletons.Prelude.Semigroup.Internal.SSemigroup a => Data.Singletons.Prelude.Monoid.SMonoid (Data.Semigroup.Option a)
instance Data.Singletons.Prelude.Foldable.SFoldable Data.Semigroup.Option
instance Data.Singletons.Prelude.Traversable.STraversable Data.Semigroup.Option
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909858Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.WrappedMonoid m)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909858Sym1 a6989586621680909855)
instance forall m6989586621679063757 (a6989586621680909856 :: GHC.Types.Nat) (a6989586621680909855 :: Data.Semigroup.WrappedMonoid m6989586621679063757). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909858Sym2 a6989586621680909856 a6989586621680909855)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909829Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909829Sym1 a6989586621680909826)
instance forall a6989586621679063751 (a6989586621680909827 :: GHC.Types.Nat) (a6989586621680909826 :: Data.Semigroup.Last a6989586621679063751). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909829Sym2 a6989586621680909827 a6989586621680909826)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909800Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909800Sym1 a6989586621680909797)
instance forall a6989586621679063745 (a6989586621680909798 :: GHC.Types.Nat) (a6989586621680909797 :: Data.Semigroup.First a6989586621679063745). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909800Sym2 a6989586621680909798 a6989586621680909797)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909771Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Max a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909771Sym1 a6989586621680909768)
instance forall a6989586621679063731 (a6989586621680909769 :: GHC.Types.Nat) (a6989586621680909768 :: Data.Semigroup.Max a6989586621679063731). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909771Sym2 a6989586621680909769 a6989586621680909768)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909742Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Min a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909742Sym1 a6989586621680909739)
instance forall a6989586621679063725 (a6989586621680909740 :: GHC.Types.Nat) (a6989586621680909739 :: Data.Semigroup.Min a6989586621679063725). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909742Sym2 a6989586621680909740 a6989586621680909739)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909713Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Internal.Product a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909713Sym1 a6989586621680909710)
instance forall a6989586621679087225 (a6989586621680909711 :: GHC.Types.Nat) (a6989586621680909710 :: Data.Semigroup.Internal.Product a6989586621679087225). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909713Sym2 a6989586621680909711 a6989586621680909710)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909684Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Internal.Sum a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909684Sym1 a6989586621680909681)
instance forall a6989586621679087220 (a6989586621680909682 :: GHC.Types.Nat) (a6989586621680909681 :: Data.Semigroup.Internal.Sum a6989586621679087220). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909684Sym2 a6989586621680909682 a6989586621680909681)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909655Sym0
instance Data.Singletons.Prelude.Show.PShow Data.Semigroup.Internal.Any
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909655Sym1 a6989586621680909652)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909655Sym2 a6989586621680909653 a6989586621680909652)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909629Sym0
instance Data.Singletons.Prelude.Show.PShow Data.Semigroup.Internal.All
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909629Sym1 a6989586621680909626)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909629Sym2 a6989586621680909627 a6989586621680909626)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909603Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Internal.Dual a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909603Sym1 a6989586621680909600)
instance forall a6989586621679087235 (a6989586621680909601 :: GHC.Types.Nat) (a6989586621680909600 :: Data.Semigroup.Internal.Dual a6989586621679087235). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909603Sym2 a6989586621680909601 a6989586621680909600)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909574Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Option a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909574Sym1 a6989586621680909571)
instance forall a6989586621679063763 (a6989586621680909572 :: GHC.Types.Nat) (a6989586621680909571 :: Data.Semigroup.Option a6989586621679063763). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680909574Sym2 a6989586621680909572 a6989586621680909571)
instance Data.Singletons.Prelude.Show.SShow (GHC.Maybe.Maybe a) => Data.Singletons.Prelude.Show.SShow (Data.Semigroup.Option a)
instance Data.Singletons.Prelude.Show.SShow a => Data.Singletons.Prelude.Show.SShow (Data.Semigroup.Internal.Dual a)
instance Data.Singletons.Prelude.Show.SShow GHC.Types.Bool => Data.Singletons.Prelude.Show.SShow Data.Semigroup.Internal.All
instance Data.Singletons.Prelude.Show.SShow GHC.Types.Bool => Data.Singletons.Prelude.Show.SShow Data.Semigroup.Internal.Any
instance Data.Singletons.Prelude.Show.SShow a => Data.Singletons.Prelude.Show.SShow (Data.Semigroup.Internal.Sum a)
instance Data.Singletons.Prelude.Show.SShow a => Data.Singletons.Prelude.Show.SShow (Data.Semigroup.Internal.Product a)
instance Data.Singletons.Prelude.Show.SShow a => Data.Singletons.Prelude.Show.SShow (Data.Semigroup.Min a)
instance Data.Singletons.Prelude.Show.SShow a => Data.Singletons.Prelude.Show.SShow (Data.Semigroup.Max a)
instance Data.Singletons.Prelude.Show.SShow a => Data.Singletons.Prelude.Show.SShow (Data.Semigroup.First a)
instance Data.Singletons.Prelude.Show.SShow a => Data.Singletons.Prelude.Show.SShow (Data.Semigroup.Last a)
instance Data.Singletons.Prelude.Show.SShow m => Data.Singletons.Prelude.Show.SShow (Data.Semigroup.WrappedMonoid m)
instance forall a (z :: Data.Semigroup.Option a). Data.Singletons.ShowSing.ShowSing (GHC.Maybe.Maybe a) => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance forall a (z :: Data.Semigroup.Internal.Dual a). Data.Singletons.ShowSing.ShowSing a => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance Data.Singletons.ShowSing.ShowSing GHC.Types.Bool => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance Data.Singletons.ShowSing.ShowSing GHC.Types.Bool => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance forall a (z :: Data.Semigroup.Internal.Sum a). Data.Singletons.ShowSing.ShowSing a => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance forall a (z :: Data.Semigroup.Internal.Product a). Data.Singletons.ShowSing.ShowSing a => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance forall a (z :: Data.Semigroup.Min a). Data.Singletons.ShowSing.ShowSing a => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance forall a (z :: Data.Semigroup.Max a). Data.Singletons.ShowSing.ShowSing a => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance forall a (z :: Data.Semigroup.First a). Data.Singletons.ShowSing.ShowSing a => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance forall a (z :: Data.Semigroup.Last a). Data.Singletons.ShowSing.ShowSing a => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance forall m (z :: Data.Semigroup.WrappedMonoid m). Data.Singletons.ShowSing.ShowSing m => GHC.Show.Show (Data.Singletons.Internal.Sing z)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ArgSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Semigroup.ArgSym0
instance forall b6989586621679063739 a6989586621679063738 (t6989586621680907981 :: a6989586621679063738). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ArgSym1 t6989586621680907981)
instance forall a b (d :: a). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Semigroup.ArgSym1 d)
instance (Data.Singletons.Internal.SingKind a, Data.Singletons.Internal.SingKind b) => Data.Singletons.Internal.SingKind (Data.Semigroup.Arg a b)
instance forall a b (n1 :: a) (n2 :: b). (Data.Singletons.Internal.SingI n1, Data.Singletons.Internal.SingI n2) => Data.Singletons.Internal.SingI ('Data.Semigroup.Arg n1 n2)
instance Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon2 'Data.Semigroup.Arg)
instance forall a b (d :: a). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon1 ('Data.Semigroup.Arg d))


-- | 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.
data family Sing :: k -> Type
infixr 5 `SCons`
type SList = (Sing :: [a_11] -> Type)
type family (++) (a_a2dF2 :: [a_a2dBR]) (a_a2dF3 :: [a_a2dBR]) :: [a_a2dBR]
infixr 5 ++
(%++) :: forall a_a2dBR (t_a2dGe :: [a_a2dBR]) (t_a2dGf :: [a_a2dBR]). Sing t_a2dGe -> Sing t_a2dGf -> Sing (Apply (Apply (++@#@$) t_a2dGe) t_a2dGf :: [a_a2dBR])
infixr 5 %++
type family Head (a_a43pm :: [a_a40FD]) :: a_a40FD
sHead :: forall a_a40FD (t_a43uV :: [a_a40FD]). Sing t_a43uV -> Sing (Apply HeadSym0 t_a43uV :: a_a40FD)
type family Last (a_a43ph :: [a_a40FC]) :: a_a40FC
sLast :: forall a_a40FC (t_a43uT :: [a_a40FC]). Sing t_a43uT -> Sing (Apply LastSym0 t_a43uT :: a_a40FC)
type family Tail (a_a43pe :: [a_a40FB]) :: [a_a40FB]
sTail :: forall a_a40FB (t_a43uR :: [a_a40FB]). Sing t_a43uR -> Sing (Apply TailSym0 t_a43uR :: [a_a40FB])
type family Init (a_a43p0 :: [a_a40FA]) :: [a_a40FA]
sInit :: forall a_a40FA (t_a43uP :: [a_a40FA]). Sing t_a43uP -> Sing (Apply InitSym0 t_a43uP :: [a_a40FA])
type family Null (arg_a6cft :: t_a6c4M a_a6c51) :: Bool
sNull :: forall a_a6c51 (t_a6cBk :: t_a6c4M a_a6c51). SFoldable t_a6c4M => Sing t_a6cBk -> Sing (Apply NullSym0 t_a6cBk :: Bool)
type family Length (arg_a6cfv :: t_a6c4M a_a6c52) :: Nat
sLength :: forall a_a6c52 (t_a6cBm :: t_a6c4M a_a6c52). SFoldable t_a6c4M => Sing t_a6cBm -> Sing (Apply LengthSym0 t_a6cBm :: Nat)
type family Map (a_a2dFa :: (~>) a_a2dBS b_a2dBT) (a_a2dFb :: [a_a2dBS]) :: [b_a2dBT]
sMap :: forall a_a2dBS b_a2dBT (t_a2dGi :: (~>) a_a2dBS b_a2dBT) (t_a2dGj :: [a_a2dBS]). Sing t_a2dGi -> Sing t_a2dGj -> Sing (Apply (Apply MapSym0 t_a2dGi) t_a2dGj :: [b_a2dBT])
type family Reverse (a_a43of :: [a_a40Fy]) :: [a_a40Fy]
sReverse :: forall a_a40Fy (t_a43uD :: [a_a40Fy]). Sing t_a43uD -> Sing (Apply ReverseSym0 t_a43uD :: [a_a40Fy])
type family Intersperse (a_a43o2 :: a_a40Fx) (a_a43o3 :: [a_a40Fx]) :: [a_a40Fx]
sIntersperse :: forall a_a40Fx (t_a43uv :: a_a40Fx) (t_a43uw :: [a_a40Fx]). Sing t_a43uv -> Sing t_a43uw -> Sing (Apply (Apply IntersperseSym0 t_a43uv) t_a43uw :: [a_a40Fx])
type family Intercalate (a_a43o9 :: [a_a40Fw]) (a_a43oa :: [[a_a40Fw]]) :: [a_a40Fw]
sIntercalate :: forall a_a40Fw (t_a43uz :: [a_a40Fw]) (t_a43uA :: [[a_a40Fw]]). Sing t_a43uz -> Sing t_a43uA -> Sing (Apply (Apply IntercalateSym0 t_a43uz) t_a43uA :: [a_a40Fw])
type family Transpose (a_a43pp :: [[a_a40DH]]) :: [[a_a40DH]]
sTranspose :: forall a_a40DH (t_a43uX :: [[a_a40DH]]). Sing t_a43uX -> Sing (Apply TransposeSym0 t_a43uX :: [[a_a40DH]])
type family Subsequences (a_a43nZ :: [a_a40Fv]) :: [[a_a40Fv]]
sSubsequences :: forall a_a40Fv (t_a43ut :: [a_a40Fv]). Sing t_a43ut -> Sing (Apply SubsequencesSym0 t_a43ut :: [[a_a40Fv]])
type family Permutations (a_a43m5 :: [a_a40Fs]) :: [[a_a40Fs]]
sPermutations :: forall a_a40Fs (t_a43ul :: [a_a40Fs]). Sing t_a43ul -> Sing (Apply PermutationsSym0 t_a43ul :: [[a_a40Fs]])
type family Foldl (arg_a6cf7 :: (~>) b_a6c4U ((~>) a_a6c4V b_a6c4U)) (arg_a6cf8 :: b_a6c4U) (arg_a6cf9 :: t_a6c4M a_a6c4V) :: b_a6c4U
sFoldl :: forall b_a6c4U a_a6c4V (t_a6cAY :: (~>) b_a6c4U ((~>) a_a6c4V b_a6c4U)) (t_a6cAZ :: b_a6c4U) (t_a6cB0 :: t_a6c4M a_a6c4V). SFoldable t_a6c4M => Sing t_a6cAY -> Sing t_a6cAZ -> Sing t_a6cB0 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cAY) t_a6cAZ) t_a6cB0 :: b_a6c4U)
type family Foldl' (arg_a6cfd :: (~>) b_a6c4W ((~>) a_a6c4X b_a6c4W)) (arg_a6cfe :: b_a6c4W) (arg_a6cff :: t_a6c4M a_a6c4X) :: b_a6c4W
sFoldl' :: forall b_a6c4W a_a6c4X (t_a6cB4 :: (~>) b_a6c4W ((~>) a_a6c4X b_a6c4W)) (t_a6cB5 :: b_a6c4W) (t_a6cB6 :: t_a6c4M a_a6c4X). SFoldable t_a6c4M => Sing t_a6cB4 -> Sing t_a6cB5 -> Sing t_a6cB6 -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6cB4) t_a6cB5) t_a6cB6 :: b_a6c4W)
type family Foldl1 (arg_a6cfn :: (~>) a_a6c4Z ((~>) a_a6c4Z a_a6c4Z)) (arg_a6cfo :: t_a6c4M a_a6c4Z) :: a_a6c4Z
sFoldl1 :: forall a_a6c4Z (t_a6cBe :: (~>) a_a6c4Z ((~>) a_a6c4Z a_a6c4Z)) (t_a6cBf :: t_a6c4M a_a6c4Z). SFoldable t_a6c4M => Sing t_a6cBe -> Sing t_a6cBf -> Sing (Apply (Apply Foldl1Sym0 t_a6cBe) t_a6cBf :: a_a6c4Z)
type family Foldl1' (a_a43lY :: (~>) a_a40Fo ((~>) a_a40Fo a_a40Fo)) (a_a43lZ :: [a_a40Fo]) :: a_a40Fo
sFoldl1' :: forall a_a40Fo (t_a43uh :: (~>) a_a40Fo ((~>) a_a40Fo a_a40Fo)) (t_a43ui :: [a_a40Fo]). Sing t_a43uh -> Sing t_a43ui -> Sing (Apply (Apply Foldl1'Sym0 t_a43uh) t_a43ui :: a_a40Fo)
type family Foldr (arg_a6ceV :: (~>) a_a6c4Q ((~>) b_a6c4R b_a6c4R)) (arg_a6ceW :: b_a6c4R) (arg_a6ceX :: t_a6c4M a_a6c4Q) :: b_a6c4R
sFoldr :: forall a_a6c4Q b_a6c4R (t_a6cAM :: (~>) a_a6c4Q ((~>) b_a6c4R b_a6c4R)) (t_a6cAN :: b_a6c4R) (t_a6cAO :: t_a6c4M a_a6c4Q). SFoldable t_a6c4M => Sing t_a6cAM -> Sing t_a6cAN -> Sing t_a6cAO -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cAM) t_a6cAN) t_a6cAO :: b_a6c4R)
type family Foldr1 (arg_a6cfj :: (~>) a_a6c4Y ((~>) a_a6c4Y a_a6c4Y)) (arg_a6cfk :: t_a6c4M a_a6c4Y) :: a_a6c4Y
sFoldr1 :: forall a_a6c4Y (t_a6cBa :: (~>) a_a6c4Y ((~>) a_a6c4Y a_a6c4Y)) (t_a6cBb :: t_a6c4M a_a6c4Y). SFoldable t_a6c4M => Sing t_a6cBa -> Sing t_a6cBb -> Sing (Apply (Apply Foldr1Sym0 t_a6cBa) t_a6cBb :: a_a6c4Y)
type family Concat (a_a6cd1 :: t_a6c3z [a_a6c3A]) :: [a_a6c3A]
sConcat :: forall t_a6c3z a_a6c3A (t_a6czp :: t_a6c3z [a_a6c3A]). SFoldable t_a6c3z => Sing t_a6czp -> Sing (Apply ConcatSym0 t_a6czp :: [a_a6c3A])
type family ConcatMap (a_a6ccL :: (~>) a_a6c3x [b_a6c3y]) (a_a6ccM :: t_a6c3w a_a6c3x) :: [b_a6c3y]
sConcatMap :: forall t_a6c3w a_a6c3x b_a6c3y (t_a6czl :: (~>) a_a6c3x [b_a6c3y]) (t_a6czm :: t_a6c3w a_a6c3x). SFoldable t_a6c3w => Sing t_a6czl -> Sing t_a6czm -> Sing (Apply (Apply ConcatMapSym0 t_a6czl) t_a6czm :: [b_a6c3y])
type family And (a_a6ccC :: t_a6c3v Bool) :: Bool
sAnd :: forall t_a6c3v (t_a6czj :: t_a6c3v Bool). SFoldable t_a6c3v => Sing t_a6czj -> Sing (Apply AndSym0 t_a6czj :: Bool)
type family Or (a_a6cct :: t_a6c3u Bool) :: Bool
sOr :: forall t_a6c3u (t_a6czh :: t_a6c3u Bool). SFoldable t_a6c3u => Sing t_a6czh -> Sing (Apply OrSym0 t_a6czh :: Bool)
type family Any (a_a6ccg :: (~>) a_a6c3t Bool) (a_a6cch :: t_a6c3s a_a6c3t) :: Bool
sAny :: forall t_a6c3s a_a6c3t (t_a6czd :: (~>) a_a6c3t Bool) (t_a6cze :: t_a6c3s a_a6c3t). SFoldable t_a6c3s => Sing t_a6czd -> Sing t_a6cze -> Sing (Apply (Apply AnySym0 t_a6czd) t_a6cze :: Bool)
type family All (a_a6cc3 :: (~>) a_a6c3r Bool) (a_a6cc4 :: t_a6c3q a_a6c3r) :: Bool
sAll :: forall t_a6c3q a_a6c3r (t_a6cz9 :: (~>) a_a6c3r Bool) (t_a6cza :: t_a6c3q a_a6c3r). SFoldable t_a6c3q => Sing t_a6cz9 -> Sing t_a6cza -> Sing (Apply (Apply AllSym0 t_a6cz9) t_a6cza :: Bool)
type family Sum (arg_a6cfF :: t_a6c4M a_a6c56) :: a_a6c56
sSum :: forall a_a6c56 (t_a6cBw :: t_a6c4M a_a6c56). (SFoldable t_a6c4M, SNum a_a6c56) => Sing t_a6cBw -> Sing (Apply SumSym0 t_a6cBw :: a_a6c56)
type family Product (arg_a6cfH :: t_a6c4M a_a6c57) :: a_a6c57
sProduct :: forall a_a6c57 (t_a6cBy :: t_a6c4M a_a6c57). (SFoldable t_a6c4M, SNum a_a6c57) => Sing t_a6cBy -> Sing (Apply ProductSym0 t_a6cBy :: a_a6c57)
type family Maximum (arg_a6cfB :: t_a6c4M a_a6c54) :: a_a6c54
sMaximum :: forall a_a6c54 (t_a6cBs :: t_a6c4M a_a6c54). (SFoldable t_a6c4M, SOrd a_a6c54) => Sing t_a6cBs -> Sing (Apply MaximumSym0 t_a6cBs :: a_a6c54)
type family Minimum (arg_a6cfD :: t_a6c4M a_a6c55) :: a_a6c55
sMinimum :: forall a_a6c55 (t_a6cBu :: t_a6c4M a_a6c55). (SFoldable t_a6c4M, SOrd a_a6c55) => Sing t_a6cBu -> Sing (Apply MinimumSym0 t_a6cBu :: a_a6c55)
type family Scanl (a_a43ij :: (~>) b_a40Fg ((~>) a_a40Fh b_a40Fg)) (a_a43ik :: b_a40Fg) (a_a43il :: [a_a40Fh]) :: [b_a40Fg]
sScanl :: forall b_a40Fg a_a40Fh (t_a43tb :: (~>) b_a40Fg ((~>) a_a40Fh b_a40Fg)) (t_a43tc :: b_a40Fg) (t_a43td :: [a_a40Fh]). Sing t_a43tb -> Sing t_a43tc -> Sing t_a43td -> Sing (Apply (Apply (Apply ScanlSym0 t_a43tb) t_a43tc) t_a43td :: [b_a40Fg])
type family Scanl1 (a_a43ix :: (~>) a_a40Ff ((~>) a_a40Ff a_a40Ff)) (a_a43iy :: [a_a40Ff]) :: [a_a40Ff]
sScanl1 :: forall a_a40Ff (t_a43th :: (~>) a_a40Ff ((~>) a_a40Ff a_a40Ff)) (t_a43ti :: [a_a40Ff]). Sing t_a43th -> Sing t_a43ti -> Sing (Apply (Apply Scanl1Sym0 t_a43th) t_a43ti :: [a_a40Ff])
type family Scanr (a_a43hY :: (~>) a_a40Fd ((~>) b_a40Fe b_a40Fe)) (a_a43hZ :: b_a40Fe) (a_a43i0 :: [a_a40Fd]) :: [b_a40Fe]
sScanr :: forall a_a40Fd b_a40Fe (t_a43t5 :: (~>) a_a40Fd ((~>) b_a40Fe b_a40Fe)) (t_a43t6 :: b_a40Fe) (t_a43t7 :: [a_a40Fd]). Sing t_a43t5 -> Sing t_a43t6 -> Sing t_a43t7 -> Sing (Apply (Apply (Apply ScanrSym0 t_a43t5) t_a43t6) t_a43t7 :: [b_a40Fe])
type family Scanr1 (a_a43hA :: (~>) a_a40Fc ((~>) a_a40Fc a_a40Fc)) (a_a43hB :: [a_a40Fc]) :: [a_a40Fc]
sScanr1 :: forall a_a40Fc (t_a43t1 :: (~>) a_a40Fc ((~>) a_a40Fc a_a40Fc)) (t_a43t2 :: [a_a40Fc]). Sing t_a43t1 -> Sing t_a43t2 -> Sing (Apply (Apply Scanr1Sym0 t_a43t1) t_a43t2 :: [a_a40Fc])
type family MapAccumL (a_a7uM1 :: (~>) a_a7uDk ((~>) b_a7uDl (a_a7uDk, c_a7uDm))) (a_a7uM2 :: a_a7uDk) (a_a7uM3 :: t_a7uDj b_a7uDl) :: (a_a7uDk, t_a7uDj c_a7uDm)
sMapAccumL :: forall t_a7uDj a_a7uDk b_a7uDl c_a7uDm (t_a7uVJ :: (~>) a_a7uDk ((~>) b_a7uDl (a_a7uDk, c_a7uDm))) (t_a7uVK :: a_a7uDk) (t_a7uVL :: t_a7uDj b_a7uDl). STraversable t_a7uDj => Sing t_a7uVJ -> Sing t_a7uVK -> Sing t_a7uVL -> Sing (Apply (Apply (Apply MapAccumLSym0 t_a7uVJ) t_a7uVK) t_a7uVL :: (a_a7uDk, t_a7uDj c_a7uDm))
type family MapAccumR (a_a7uLK :: (~>) a_a7uDg ((~>) b_a7uDh (a_a7uDg, c_a7uDi))) (a_a7uLL :: a_a7uDg) (a_a7uLM :: t_a7uDf b_a7uDh) :: (a_a7uDg, t_a7uDf c_a7uDi)
sMapAccumR :: forall t_a7uDf a_a7uDg b_a7uDh c_a7uDi (t_a7uVD :: (~>) a_a7uDg ((~>) b_a7uDh (a_a7uDg, c_a7uDi))) (t_a7uVE :: a_a7uDg) (t_a7uVF :: t_a7uDf b_a7uDh). STraversable t_a7uDf => Sing t_a7uVD -> Sing t_a7uVE -> Sing t_a7uVF -> Sing (Apply (Apply (Apply MapAccumRSym0 t_a7uVD) t_a7uVE) t_a7uVF :: (a_a7uDg, t_a7uDf c_a7uDi))
type family Replicate (a_a433K :: Nat) (a_a433L :: a_a40DI) :: [a_a40DI]
sReplicate :: forall a_a40DI (t_a43pL :: Nat) (t_a43pM :: a_a40DI). Sing t_a43pL -> Sing t_a43pM -> Sing (Apply (Apply ReplicateSym0 t_a43pL) t_a43pM :: [a_a40DI])
type family Unfoldr (a_a43fi :: (~>) b_a40F4 (Maybe (a_a40F5, b_a40F4))) (a_a43fj :: b_a40F4) :: [a_a40F5]
sUnfoldr :: forall b_a40F4 a_a40F5 (t_a43sL :: (~>) b_a40F4 (Maybe (a_a40F5, b_a40F4))) (t_a43sM :: b_a40F4). Sing t_a43sL -> Sing t_a43sM -> Sing (Apply (Apply UnfoldrSym0 t_a43sL) t_a43sM :: [a_a40F5])
type family Take (a_a435i :: Nat) (a_a435j :: [a_a40DY]) :: [a_a40DY]
sTake :: forall a_a40DY (t_a43qd :: Nat) (t_a43qe :: [a_a40DY]). Sing t_a43qd -> Sing t_a43qe -> Sing (Apply (Apply TakeSym0 t_a43qd) t_a43qe :: [a_a40DY])
type family Drop (a_a4354 :: Nat) (a_a4355 :: [a_a40DX]) :: [a_a40DX]
sDrop :: forall a_a40DX (t_a43q9 :: Nat) (t_a43qa :: [a_a40DX]). Sing t_a43q9 -> Sing t_a43qa -> Sing (Apply (Apply DropSym0 t_a43q9) t_a43qa :: [a_a40DX])
type family SplitAt (a_a435w :: Nat) (a_a435x :: [a_a40DW]) :: ([a_a40DW], [a_a40DW])
sSplitAt :: forall a_a40DW (t_a43qh :: Nat) (t_a43qi :: [a_a40DW]). Sing t_a43qh -> Sing t_a43qi -> Sing (Apply (Apply SplitAtSym0 t_a43qh) t_a43qi :: ([a_a40DW], [a_a40DW]))
type family TakeWhile (a_a437Q :: (~>) a_a40E3 Bool) (a_a437R :: [a_a40E3]) :: [a_a40E3]
sTakeWhile :: forall a_a40E3 (t_a43qD :: (~>) a_a40E3 Bool) (t_a43qE :: [a_a40E3]). Sing t_a43qD -> Sing t_a43qE -> Sing (Apply (Apply TakeWhileSym0 t_a43qD) t_a43qE :: [a_a40E3])
type family DropWhile (a_a437y :: (~>) a_a40E2 Bool) (a_a437z :: [a_a40E2]) :: [a_a40E2]
sDropWhile :: forall a_a40E2 (t_a43qz :: (~>) a_a40E2 Bool) (t_a43qA :: [a_a40E2]). Sing t_a43qz -> Sing t_a43qA -> Sing (Apply (Apply DropWhileSym0 t_a43qz) t_a43qA :: [a_a40E2])
type family DropWhileEnd (a_a43oA :: (~>) a_a40E1 Bool) (a_a43oB :: [a_a40E1]) :: [a_a40E1]
sDropWhileEnd :: forall a_a40E1 (t_a43uL :: (~>) a_a40E1 Bool) (t_a43uM :: [a_a40E1]). Sing t_a43uL -> Sing t_a43uM -> Sing (Apply (Apply DropWhileEndSym0 t_a43uL) t_a43uM :: [a_a40E1])
type family Span (a_a436j :: (~>) a_a40E0 Bool) (a_a436k :: [a_a40E0]) :: ([a_a40E0], [a_a40E0])
sSpan :: forall a_a40E0 (t_a43qp :: (~>) a_a40E0 Bool) (t_a43qq :: [a_a40E0]). Sing t_a43qp -> Sing t_a43qq -> Sing (Apply (Apply SpanSym0 t_a43qp) t_a43qq :: ([a_a40E0], [a_a40E0]))
type family Break (a_a435C :: (~>) a_a40DZ Bool) (a_a435D :: [a_a40DZ]) :: ([a_a40DZ], [a_a40DZ])
sBreak :: forall a_a40DZ (t_a43ql :: (~>) a_a40DZ Bool) (t_a43qm :: [a_a40DZ]). Sing t_a43ql -> Sing t_a43qm -> Sing (Apply (Apply BreakSym0 t_a43ql) t_a43qm :: ([a_a40DZ], [a_a40DZ]))
type family StripPrefix (a_a4AMT :: [a_a4xtT]) (a_a4AMU :: [a_a4xtT]) :: Maybe [a_a4xtT]
type family Group (a_a437v :: [a_a40DV]) :: [[a_a40DV]]
sGroup :: forall a_a40DV (t_a43qx :: [a_a40DV]). SEq a_a40DV => Sing t_a43qx -> Sing (Apply GroupSym0 t_a43qx :: [[a_a40DV]])
type family Inits (a_a43fa :: [a_a40F3]) :: [[a_a40F3]]
sInits :: forall a_a40F3 (t_a43sJ :: [a_a40F3]). Sing t_a43sJ -> Sing (Apply InitsSym0 t_a43sJ :: [[a_a40F3]])
type family Tails (a_a43f3 :: [a_a40F2]) :: [[a_a40F2]]
sTails :: forall a_a40F2 (t_a43sH :: [a_a40F2]). Sing t_a43sH -> Sing (Apply TailsSym0 t_a43sH :: [[a_a40F2]])
type family IsPrefixOf (a_a43eV :: [a_a40F1]) (a_a43eW :: [a_a40F1]) :: Bool
sIsPrefixOf :: forall a_a40F1 (t_a43sD :: [a_a40F1]) (t_a43sE :: [a_a40F1]). SEq a_a40F1 => Sing t_a43sD -> Sing t_a43sE -> Sing (Apply (Apply IsPrefixOfSym0 t_a43sD) t_a43sE :: Bool)
type family IsSuffixOf (a_a43os :: [a_a40F0]) (a_a43ot :: [a_a40F0]) :: Bool
sIsSuffixOf :: forall a_a40F0 (t_a43uF :: [a_a40F0]) (t_a43uG :: [a_a40F0]). SEq a_a40F0 => Sing t_a43uF -> Sing t_a43uG -> Sing (Apply (Apply IsSuffixOfSym0 t_a43uF) t_a43uG :: Bool)
type family IsInfixOf (a_a43iL :: [a_a40EZ]) (a_a43iM :: [a_a40EZ]) :: Bool
sIsInfixOf :: forall a_a40EZ (t_a43tp :: [a_a40EZ]) (t_a43tq :: [a_a40EZ]). SEq a_a40EZ => Sing t_a43tp -> Sing t_a43tq -> Sing (Apply (Apply IsInfixOfSym0 t_a43tp) t_a43tq :: Bool)
type family Elem (arg_a6cfx :: a_a6c53) (arg_a6cfy :: t_a6c4M a_a6c53) :: Bool
sElem :: forall a_a6c53 (t_a6cBo :: a_a6c53) (t_a6cBp :: t_a6c4M a_a6c53). (SFoldable t_a6c4M, SEq a_a6c53) => Sing t_a6cBo -> Sing t_a6cBp -> Sing (Apply (Apply ElemSym0 t_a6cBo) t_a6cBp :: Bool)
type family NotElem (a_a6cb7 :: a_a6c3l) (a_a6cb8 :: t_a6c3k a_a6c3l) :: Bool
sNotElem :: forall t_a6c3k a_a6c3l (t_a6cyX :: a_a6c3l) (t_a6cyY :: t_a6c3k a_a6c3l). (SFoldable t_a6c3k, SEq a_a6c3l) => Sing t_a6cyX -> Sing t_a6cyY -> Sing (Apply (Apply NotElemSym0 t_a6cyX) t_a6cyY :: Bool)
type family Lookup (a_a434N :: a_a40DO) (a_a434O :: [(a_a40DO, b_a40DP)]) :: Maybe b_a40DP
sLookup :: forall a_a40DO b_a40DP (t_a43q5 :: a_a40DO) (t_a43q6 :: [(a_a40DO, b_a40DP)]). SEq a_a40DO => Sing t_a43q5 -> Sing t_a43q6 -> Sing (Apply (Apply LookupSym0 t_a43q5) t_a43q6 :: Maybe b_a40DP)
type family Find (a_a6caG :: (~>) a_a6c3j Bool) (a_a6caH :: t_a6c3i a_a6c3j) :: Maybe a_a6c3j
sFind :: forall t_a6c3i a_a6c3j (t_a6cyT :: (~>) a_a6c3j Bool) (t_a6cyU :: t_a6c3i a_a6c3j). SFoldable t_a6c3i => Sing t_a6cyT -> Sing t_a6cyU -> Sing (Apply (Apply FindSym0 t_a6cyT) t_a6cyU :: Maybe a_a6c3j)
type family Filter (a_a4384 :: (~>) a_a40Eb Bool) (a_a4385 :: [a_a40Eb]) :: [a_a40Eb]
sFilter :: forall a_a40Eb (t_a43qH :: (~>) a_a40Eb Bool) (t_a43qI :: [a_a40Eb]). Sing t_a43qH -> Sing t_a43qI -> Sing (Apply (Apply FilterSym0 t_a43qH) t_a43qI :: [a_a40Eb])
type family Partition (a_a434H :: (~>) a_a40DN Bool) (a_a434I :: [a_a40DN]) :: ([a_a40DN], [a_a40DN])
sPartition :: forall a_a40DN (t_a43q1 :: (~>) a_a40DN Bool) (t_a43q2 :: [a_a40DN]). Sing t_a43q1 -> Sing t_a43q2 -> Sing (Apply (Apply PartitionSym0 t_a43q1) t_a43q2 :: ([a_a40DN], [a_a40DN]))
type family (!!) (a_a433w :: [a_a40DG]) (a_a433x :: Nat) :: a_a40DG
infixl 9 !!
(%!!) :: forall a_a40DG (t_a43pH :: [a_a40DG]) (t_a43pI :: Nat). Sing t_a43pH -> Sing t_a43pI -> Sing (Apply (Apply (!!@#@$) t_a43pH) t_a43pI :: a_a40DG)
infixl 9 %!!
type family ElemIndex (a_a43ef :: a_a40E9) (a_a43eg :: [a_a40E9]) :: Maybe Nat
sElemIndex :: forall a_a40E9 (t_a43sp :: a_a40E9) (t_a43sq :: [a_a40E9]). SEq a_a40E9 => Sing t_a43sp -> Sing t_a43sq -> Sing (Apply (Apply ElemIndexSym0 t_a43sp) t_a43sq :: Maybe Nat)
type family ElemIndices (a_a43dZ :: a_a40E8) (a_a43e0 :: [a_a40E8]) :: [Nat]
sElemIndices :: forall a_a40E8 (t_a43sh :: a_a40E8) (t_a43si :: [a_a40E8]). SEq a_a40E8 => Sing t_a43sh -> Sing t_a43si -> Sing (Apply (Apply ElemIndicesSym0 t_a43sh) t_a43si :: [Nat])
type family FindIndex (a_a43e7 :: (~>) a_a40E7 Bool) (a_a43e8 :: [a_a40E7]) :: Maybe Nat
sFindIndex :: forall a_a40E7 (t_a43sl :: (~>) a_a40E7 Bool) (t_a43sm :: [a_a40E7]). Sing t_a43sl -> Sing t_a43sm -> Sing (Apply (Apply FindIndexSym0 t_a43sl) t_a43sm :: Maybe Nat)
type family FindIndices (a_a43dz :: (~>) a_a40E6 Bool) (a_a43dA :: [a_a40E6]) :: [Nat]
sFindIndices :: forall a_a40E6 (t_a43sd :: (~>) a_a40E6 Bool) (t_a43se :: [a_a40E6]). Sing t_a43sd -> Sing t_a43se -> Sing (Apply (Apply FindIndicesSym0 t_a43sd) t_a43se :: [Nat])
type family Zip (a_a43dr :: [a_a40EV]) (a_a43ds :: [b_a40EW]) :: [(a_a40EV, b_a40EW)]
sZip :: forall a_a40EV b_a40EW (t_a43s9 :: [a_a40EV]) (t_a43sa :: [b_a40EW]). Sing t_a43s9 -> Sing t_a43sa -> Sing (Apply (Apply ZipSym0 t_a43s9) t_a43sa :: [(a_a40EV, b_a40EW)])
type family Zip3 (a_a43df :: [a_a40ES]) (a_a43dg :: [b_a40ET]) (a_a43dh :: [c_a40EU]) :: [(a_a40ES, b_a40ET, c_a40EU)]
sZip3 :: forall a_a40ES b_a40ET c_a40EU (t_a43s3 :: [a_a40ES]) (t_a43s4 :: [b_a40ET]) (t_a43s5 :: [c_a40EU]). Sing t_a43s3 -> Sing t_a43s4 -> Sing t_a43s5 -> Sing (Apply (Apply (Apply Zip3Sym0 t_a43s3) t_a43s4) t_a43s5 :: [(a_a40ES, b_a40ET, c_a40EU)])
type family Zip4 (a_a4AMH :: [a_a4xtP]) (a_a4AMI :: [b_a4xtQ]) (a_a4AMJ :: [c_a4xtR]) (a_a4AMK :: [d_a4xtS]) :: [(a_a4xtP, b_a4xtQ, c_a4xtR, d_a4xtS)]
type family Zip5 (a_a4AMk :: [a_a4xtK]) (a_a4AMl :: [b_a4xtL]) (a_a4AMm :: [c_a4xtM]) (a_a4AMn :: [d_a4xtN]) (a_a4AMo :: [e_a4xtO]) :: [(a_a4xtK, b_a4xtL, c_a4xtM, d_a4xtN, e_a4xtO)]
type family Zip6 (a_a4ALS :: [a_a4xtE]) (a_a4ALT :: [b_a4xtF]) (a_a4ALU :: [c_a4xtG]) (a_a4ALV :: [d_a4xtH]) (a_a4ALW :: [e_a4xtI]) (a_a4ALX :: [f_a4xtJ]) :: [(a_a4xtE, b_a4xtF, c_a4xtG, d_a4xtH, e_a4xtI, f_a4xtJ)]
type family Zip7 (a_a4ALl :: [a_a4xtx]) (a_a4ALm :: [b_a4xty]) (a_a4ALn :: [c_a4xtz]) (a_a4ALo :: [d_a4xtA]) (a_a4ALp :: [e_a4xtB]) (a_a4ALq :: [f_a4xtC]) (a_a4ALr :: [g_a4xtD]) :: [(a_a4xtx, b_a4xty, c_a4xtz, d_a4xtA, e_a4xtB, f_a4xtC, g_a4xtD)]
type family ZipWith (a_a43d4 :: (~>) a_a40EP ((~>) b_a40EQ c_a40ER)) (a_a43d5 :: [a_a40EP]) (a_a43d6 :: [b_a40EQ]) :: [c_a40ER]
sZipWith :: forall a_a40EP b_a40EQ c_a40ER (t_a43rX :: (~>) a_a40EP ((~>) b_a40EQ c_a40ER)) (t_a43rY :: [a_a40EP]) (t_a43rZ :: [b_a40EQ]). Sing t_a43rX -> Sing t_a43rY -> Sing t_a43rZ -> Sing (Apply (Apply (Apply ZipWithSym0 t_a43rX) t_a43rY) t_a43rZ :: [c_a40ER])
type family ZipWith3 (a_a43cP :: (~>) a_a40EL ((~>) b_a40EM ((~>) c_a40EN d_a40EO))) (a_a43cQ :: [a_a40EL]) (a_a43cR :: [b_a40EM]) (a_a43cS :: [c_a40EN]) :: [d_a40EO]
sZipWith3 :: forall a_a40EL b_a40EM c_a40EN d_a40EO (t_a43rP :: (~>) a_a40EL ((~>) b_a40EM ((~>) c_a40EN d_a40EO))) (t_a43rQ :: [a_a40EL]) (t_a43rR :: [b_a40EM]) (t_a43rS :: [c_a40EN]). Sing t_a43rP -> Sing t_a43rQ -> Sing t_a43rR -> Sing t_a43rS -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a43rP) t_a43rQ) t_a43rR) t_a43rS :: [d_a40EO])
type family ZipWith4 (a_a4AKO :: (~>) a_a4xts ((~>) b_a4xtt ((~>) c_a4xtu ((~>) d_a4xtv e_a4xtw)))) (a_a4AKP :: [a_a4xts]) (a_a4AKQ :: [b_a4xtt]) (a_a4AKR :: [c_a4xtu]) (a_a4AKS :: [d_a4xtv]) :: [e_a4xtw]
type family ZipWith5 (a_a4AKr :: (~>) a_a4xtm ((~>) b_a4xtn ((~>) c_a4xto ((~>) d_a4xtp ((~>) e_a4xtq f_a4xtr))))) (a_a4AKs :: [a_a4xtm]) (a_a4AKt :: [b_a4xtn]) (a_a4AKu :: [c_a4xto]) (a_a4AKv :: [d_a4xtp]) (a_a4AKw :: [e_a4xtq]) :: [f_a4xtr]
type family ZipWith6 (a_a4AK0 :: (~>) a_a4xtf ((~>) b_a4xtg ((~>) c_a4xth ((~>) d_a4xti ((~>) e_a4xtj ((~>) f_a4xtk g_a4xtl)))))) (a_a4AK1 :: [a_a4xtf]) (a_a4AK2 :: [b_a4xtg]) (a_a4AK3 :: [c_a4xth]) (a_a4AK4 :: [d_a4xti]) (a_a4AK5 :: [e_a4xtj]) (a_a4AK6 :: [f_a4xtk]) :: [g_a4xtl]
type family ZipWith7 (a_a4AJv :: (~>) a_a4xt7 ((~>) b_a4xt8 ((~>) c_a4xt9 ((~>) d_a4xta ((~>) e_a4xtb ((~>) f_a4xtc ((~>) g_a4xtd h_a4xte))))))) (a_a4AJw :: [a_a4xt7]) (a_a4AJx :: [b_a4xt8]) (a_a4AJy :: [c_a4xt9]) (a_a4AJz :: [d_a4xta]) (a_a4AJA :: [e_a4xtb]) (a_a4AJB :: [f_a4xtc]) (a_a4AJC :: [g_a4xtd]) :: [h_a4xte]
type family Unzip (a_a43cw :: [(a_a40EJ, b_a40EK)]) :: ([a_a40EJ], [b_a40EK])
sUnzip :: forall a_a40EJ b_a40EK (t_a43rN :: [(a_a40EJ, b_a40EK)]). Sing t_a43rN -> Sing (Apply UnzipSym0 t_a43rN :: ([a_a40EJ], [b_a40EK]))
type family Unzip3 (a_a43cb :: [(a_a40EG, b_a40EH, c_a40EI)]) :: ([a_a40EG], [b_a40EH], [c_a40EI])
sUnzip3 :: forall a_a40EG b_a40EH c_a40EI (t_a43rL :: [(a_a40EG, b_a40EH, c_a40EI)]). Sing t_a43rL -> Sing (Apply Unzip3Sym0 t_a43rL :: ([a_a40EG], [b_a40EH], [c_a40EI]))
type family Unzip4 (a_a43bO :: [(a_a40EC, b_a40ED, c_a40EE, d_a40EF)]) :: ([a_a40EC], [b_a40ED], [c_a40EE], [d_a40EF])
sUnzip4 :: forall a_a40EC b_a40ED c_a40EE d_a40EF (t_a43rJ :: [(a_a40EC, b_a40ED, c_a40EE, d_a40EF)]). Sing t_a43rJ -> Sing (Apply Unzip4Sym0 t_a43rJ :: ([a_a40EC], [b_a40ED], [c_a40EE], [d_a40EF]))
type family Unzip5 (a_a43bp :: [(a_a40Ex, b_a40Ey, c_a40Ez, d_a40EA, e_a40EB)]) :: ([a_a40Ex], [b_a40Ey], [c_a40Ez], [d_a40EA], [e_a40EB])
sUnzip5 :: forall a_a40Ex b_a40Ey c_a40Ez d_a40EA e_a40EB (t_a43rH :: [(a_a40Ex, b_a40Ey, c_a40Ez, d_a40EA, e_a40EB)]). Sing t_a43rH -> Sing (Apply Unzip5Sym0 t_a43rH :: ([a_a40Ex], [b_a40Ey], [c_a40Ez], [d_a40EA], [e_a40EB]))
type family Unzip6 (a_a43aY :: [(a_a40Er, b_a40Es, c_a40Et, d_a40Eu, e_a40Ev, f_a40Ew)]) :: ([a_a40Er], [b_a40Es], [c_a40Et], [d_a40Eu], [e_a40Ev], [f_a40Ew])
sUnzip6 :: forall a_a40Er b_a40Es c_a40Et d_a40Eu e_a40Ev f_a40Ew (t_a43rF :: [(a_a40Er, b_a40Es, c_a40Et, d_a40Eu, e_a40Ev, f_a40Ew)]). Sing t_a43rF -> Sing (Apply Unzip6Sym0 t_a43rF :: ([a_a40Er], [b_a40Es], [c_a40Et], [d_a40Eu], [e_a40Ev], [f_a40Ew]))
type family Unzip7 (a_a43av :: [(a_a40Ek, b_a40El, c_a40Em, d_a40En, e_a40Eo, f_a40Ep, g_a40Eq)]) :: ([a_a40Ek], [b_a40El], [c_a40Em], [d_a40En], [e_a40Eo], [f_a40Ep], [g_a40Eq])
sUnzip7 :: forall a_a40Ek b_a40El c_a40Em d_a40En e_a40Eo f_a40Ep g_a40Eq (t_a43rD :: [(a_a40Ek, b_a40El, c_a40Em, d_a40En, e_a40Eo, f_a40Ep, g_a40Eq)]). Sing t_a43rD -> Sing (Apply Unzip7Sym0 t_a43rD :: ([a_a40Ek], [b_a40El], [c_a40Em], [d_a40En], [e_a40Eo], [f_a40Ep], [g_a40Eq]))
type family Unlines (a_a43ar :: [Symbol]) :: Symbol
sUnlines :: forall (t_a43rB :: [Symbol]). Sing t_a43rB -> Sing (Apply UnlinesSym0 t_a43rB :: Symbol)
type family Unwords (a_a43ag :: [Symbol]) :: Symbol
sUnwords :: forall (t_a43rz :: [Symbol]). Sing t_a43rz -> Sing (Apply UnwordsSym0 t_a43rz :: Symbol)
type family Nub (a_a43eB :: [a_a40DF]) :: [a_a40DF]
sNub :: forall a_a40DF (t_a43sB :: [a_a40DF]). SEq a_a40DF => Sing t_a43sB -> Sing (Apply NubSym0 t_a43sB :: [a_a40DF])
type family Delete (a_a43a0 :: a_a40Ej) (a_a43a1 :: [a_a40Ej]) :: [a_a40Ej]
sDelete :: forall a_a40Ej (t_a43rr :: a_a40Ej) (t_a43rs :: [a_a40Ej]). SEq a_a40Ej => Sing t_a43rr -> Sing t_a43rs -> Sing (Apply (Apply DeleteSym0 t_a43rr) t_a43rs :: [a_a40Ej])
type family (\\) (a_a43aa :: [a_a40Ei]) (a_a43ab :: [a_a40Ei]) :: [a_a40Ei]
infix 5 \\
(%\\) :: forall a_a40Ei (t_a43rv :: [a_a40Ei]) (t_a43rw :: [a_a40Ei]). SEq a_a40Ei => Sing t_a43rv -> Sing t_a43rw -> Sing (Apply (Apply (\\@#@$) t_a43rv) t_a43rw :: [a_a40Ei])
infix 5 %\\
type family Union (a_a439Q :: [a_a40DB]) (a_a439R :: [a_a40DB]) :: [a_a40DB]
sUnion :: forall a_a40DB (t_a43rn :: [a_a40DB]) (t_a43ro :: [a_a40DB]). SEq a_a40DB => Sing t_a43rn -> Sing t_a43ro -> Sing (Apply (Apply UnionSym0 t_a43rn) t_a43ro :: [a_a40DB])
type family Intersect (a_a43jr :: [a_a40E5]) (a_a43js :: [a_a40E5]) :: [a_a40E5]
sIntersect :: forall a_a40E5 (t_a43tz :: [a_a40E5]) (t_a43tA :: [a_a40E5]). SEq a_a40E5 => Sing t_a43tz -> Sing t_a43tA -> Sing (Apply (Apply IntersectSym0 t_a43tz) t_a43tA :: [a_a40E5])
type family Insert (a_a438P :: a_a40DS) (a_a438Q :: [a_a40DS]) :: [a_a40DS]
sInsert :: forall a_a40DS (t_a43qV :: a_a40DS) (t_a43qW :: [a_a40DS]). SOrd a_a40DS => Sing t_a43qV -> Sing t_a43qW -> Sing (Apply (Apply InsertSym0 t_a43qV) t_a43qW :: [a_a40DS])
type family Sort (a_a4395 :: [a_a40DR]) :: [a_a40DR]
sSort :: forall a_a40DR (t_a43r3 :: [a_a40DR]). SOrd a_a40DR => Sing t_a43r3 -> Sing (Apply SortSym0 t_a43r3 :: [a_a40DR])
type family NubBy (a_a4337 :: (~>) a_a40DE ((~>) a_a40DE Bool)) (a_a4338 :: [a_a40DE]) :: [a_a40DE]
sNubBy :: forall a_a40DE (t_a43pD :: (~>) a_a40DE ((~>) a_a40DE Bool)) (t_a43pE :: [a_a40DE]). Sing t_a43pD -> Sing t_a43pE -> Sing (Apply (Apply NubBySym0 t_a43pD) t_a43pE :: [a_a40DE])
type family DeleteBy (a_a4398 :: (~>) a_a40Eh ((~>) a_a40Eh Bool)) (a_a4399 :: a_a40Eh) (a_a439a :: [a_a40Eh]) :: [a_a40Eh]
sDeleteBy :: forall a_a40Eh (t_a43r5 :: (~>) a_a40Eh ((~>) a_a40Eh Bool)) (t_a43r6 :: a_a40Eh) (t_a43r7 :: [a_a40Eh]). Sing t_a43r5 -> Sing t_a43r6 -> Sing t_a43r7 -> Sing (Apply (Apply (Apply DeleteBySym0 t_a43r5) t_a43r6) t_a43r7 :: [a_a40Eh])
type family DeleteFirstsBy (a_a439q :: (~>) a_a40Eg ((~>) a_a40Eg Bool)) (a_a439r :: [a_a40Eg]) (a_a439s :: [a_a40Eg]) :: [a_a40Eg]
sDeleteFirstsBy :: forall a_a40Eg (t_a43rb :: (~>) a_a40Eg ((~>) a_a40Eg Bool)) (t_a43rc :: [a_a40Eg]) (t_a43rd :: [a_a40Eg]). Sing t_a43rb -> Sing t_a43rc -> Sing t_a43rd -> Sing (Apply (Apply (Apply DeleteFirstsBySym0 t_a43rb) t_a43rc) t_a43rd :: [a_a40Eg])
type family UnionBy (a_a439D :: (~>) a_a40DC ((~>) a_a40DC Bool)) (a_a439E :: [a_a40DC]) (a_a439F :: [a_a40DC]) :: [a_a40DC]
sUnionBy :: forall a_a40DC (t_a43rh :: (~>) a_a40DC ((~>) a_a40DC Bool)) (t_a43ri :: [a_a40DC]) (t_a43rj :: [a_a40DC]). Sing t_a43rh -> Sing t_a43ri -> Sing t_a43rj -> Sing (Apply (Apply (Apply UnionBySym0 t_a43rh) t_a43ri) t_a43rj :: [a_a40DC])
type family IntersectBy (a_a43iR :: (~>) a_a40E4 ((~>) a_a40E4 Bool)) (a_a43iS :: [a_a40E4]) (a_a43iT :: [a_a40E4]) :: [a_a40E4]
sIntersectBy :: forall a_a40E4 (t_a43tt :: (~>) a_a40E4 ((~>) a_a40E4 Bool)) (t_a43tu :: [a_a40E4]) (t_a43tv :: [a_a40E4]). Sing t_a43tt -> Sing t_a43tu -> Sing t_a43tv -> Sing (Apply (Apply (Apply IntersectBySym0 t_a43tt) t_a43tu) t_a43tv :: [a_a40E4])
type family GroupBy (a_a4370 :: (~>) a_a40DQ ((~>) a_a40DQ Bool)) (a_a4371 :: [a_a40DQ]) :: [[a_a40DQ]]
sGroupBy :: forall a_a40DQ (t_a43qt :: (~>) a_a40DQ ((~>) a_a40DQ Bool)) (t_a43qu :: [a_a40DQ]). Sing t_a43qt -> Sing t_a43qu -> Sing (Apply (Apply GroupBySym0 t_a43qt) t_a43qu :: [[a_a40DQ]])
type family SortBy (a_a438V :: (~>) a_a40Ef ((~>) a_a40Ef Ordering)) (a_a438W :: [a_a40Ef]) :: [a_a40Ef]
sSortBy :: forall a_a40Ef (t_a43qZ :: (~>) a_a40Ef ((~>) a_a40Ef Ordering)) (t_a43r0 :: [a_a40Ef]). Sing t_a43qZ -> Sing t_a43r0 -> Sing (Apply (Apply SortBySym0 t_a43qZ) t_a43r0 :: [a_a40Ef])
type family InsertBy (a_a438r :: (~>) a_a40Ee ((~>) a_a40Ee Ordering)) (a_a438s :: a_a40Ee) (a_a438t :: [a_a40Ee]) :: [a_a40Ee]
sInsertBy :: forall a_a40Ee (t_a43qP :: (~>) a_a40Ee ((~>) a_a40Ee Ordering)) (t_a43qQ :: a_a40Ee) (t_a43qR :: [a_a40Ee]). Sing t_a43qP -> Sing t_a43qQ -> Sing t_a43qR -> Sing (Apply (Apply (Apply InsertBySym0 t_a43qP) t_a43qQ) t_a43qR :: [a_a40Ee])
type family MaximumBy (a_a6cbE :: (~>) a_a6c3p ((~>) a_a6c3p Ordering)) (a_a6cbF :: t_a6c3o a_a6c3p) :: a_a6c3p
sMaximumBy :: forall t_a6c3o a_a6c3p (t_a6cz5 :: (~>) a_a6c3p ((~>) a_a6c3p Ordering)) (t_a6cz6 :: t_a6c3o a_a6c3p). SFoldable t_a6c3o => Sing t_a6cz5 -> Sing t_a6cz6 -> Sing (Apply (Apply MaximumBySym0 t_a6cz5) t_a6cz6 :: a_a6c3p)
type family MinimumBy (a_a6cbf :: (~>) a_a6c3n ((~>) a_a6c3n Ordering)) (a_a6cbg :: t_a6c3m a_a6c3n) :: a_a6c3n
sMinimumBy :: forall t_a6c3m a_a6c3n (t_a6cz1 :: (~>) a_a6c3n ((~>) a_a6c3n Ordering)) (t_a6cz2 :: t_a6c3m a_a6c3n). SFoldable t_a6c3m => Sing t_a6cz1 -> Sing t_a6cz2 -> Sing (Apply (Apply MinimumBySym0 t_a6cz1) t_a6cz2 :: a_a6c3n)
type family GenericLength (a_a432U :: [a_a40DA]) :: i_a40Dz
sGenericLength :: forall i_a40Dz a_a40DA (t_a43pv :: [a_a40DA]). SNum i_a40Dz => Sing t_a43pv -> Sing (Apply GenericLengthSym0 t_a43pv :: i_a40Dz)
type family GenericTake (a_a4AJp :: i_a4xt5) (a_a4AJq :: [a_a4xt6]) :: [a_a4xt6]
type family GenericDrop (a_a4AJf :: i_a4xt3) (a_a4AJg :: [a_a4xt4]) :: [a_a4xt4]
type family GenericSplitAt (a_a4AJ5 :: i_a4xt1) (a_a4AJ6 :: [a_a4xt2]) :: ([a_a4xt2], [a_a4xt2])
type family GenericIndex (a_a4AIV :: [a_a4xt0]) (a_a4AIW :: i_a4xsZ) :: a_a4xt0
type family GenericReplicate (a_a4AIL :: i_a4xsX) (a_a4AIM :: a_a4xsY) :: [a_a4xsY]
type NilSym0 = '[]
data (:@#@$) :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 ((~>) [a3530822107858468865] [(a3530822107858468865 :: Type)])
infixr 5 :@#@$
data (:@#@$$) (t6989586621679312441 :: (a3530822107858468865 :: Type)) :: (~>) [a3530822107858468865] [(a3530822107858468865 :: Type)]
infixr 5 :@#@$$
type (:@#@$$$) (t6989586621679312441 :: a3530822107858468865) (t6989586621679312442 :: [a3530822107858468865]) =  '(:) t6989586621679312441 t6989586621679312442
type (++@#@$$$) (a6989586621679538964 :: [a6989586621679538767]) (a6989586621679538965 :: [a6989586621679538767]) = (++) a6989586621679538964 a6989586621679538965
data (++@#@$$) (a6989586621679538964 :: [a6989586621679538767]) :: (~>) [a6989586621679538767] [a6989586621679538767]
infixr 5 ++@#@$$
data (++@#@$) :: forall a6989586621679538767. (~>) [a6989586621679538767] ((~>) [a6989586621679538767] [a6989586621679538767])
infixr 5 ++@#@$
data HeadSym0 :: forall a6989586621679965685. (~>) [a6989586621679965685] a6989586621679965685
type HeadSym1 (a6989586621679976208 :: [a6989586621679965685]) = Head a6989586621679976208
data LastSym0 :: forall a6989586621679965684. (~>) [a6989586621679965684] a6989586621679965684
type LastSym1 (a6989586621679976203 :: [a6989586621679965684]) = Last a6989586621679976203
data TailSym0 :: forall a6989586621679965683. (~>) [a6989586621679965683] [a6989586621679965683]
type TailSym1 (a6989586621679976200 :: [a6989586621679965683]) = Tail a6989586621679976200
data InitSym0 :: forall a6989586621679965682. (~>) [a6989586621679965682] [a6989586621679965682]
type InitSym1 (a6989586621679976186 :: [a6989586621679965682]) = Init a6989586621679976186
data NullSym0 :: forall a6989586621680486199 t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486199) Bool
type NullSym1 (arg6989586621680486847 :: t6989586621680486184 a6989586621680486199) = Null arg6989586621680486847
data LengthSym0 :: forall a6989586621680486200 t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486200) Nat
type LengthSym1 (arg6989586621680486849 :: t6989586621680486184 a6989586621680486200) = Length arg6989586621680486849
data MapSym0 :: forall a6989586621679538768 b6989586621679538769. (~>) ((~>) a6989586621679538768 b6989586621679538769) ((~>) [a6989586621679538768] [b6989586621679538769])
data MapSym1 (a6989586621679538972 :: (~>) a6989586621679538768 b6989586621679538769) :: (~>) [a6989586621679538768] [b6989586621679538769]
type MapSym2 (a6989586621679538972 :: (~>) a6989586621679538768 b6989586621679538769) (a6989586621679538973 :: [a6989586621679538768]) = Map a6989586621679538972 a6989586621679538973
data ReverseSym0 :: forall a6989586621679965680. (~>) [a6989586621679965680] [a6989586621679965680]
type ReverseSym1 (a6989586621679976139 :: [a6989586621679965680]) = Reverse a6989586621679976139
data IntersperseSym0 :: forall a6989586621679965679. (~>) a6989586621679965679 ((~>) [a6989586621679965679] [a6989586621679965679])
data IntersperseSym1 (a6989586621679976126 :: a6989586621679965679) :: (~>) [a6989586621679965679] [a6989586621679965679]
type IntersperseSym2 (a6989586621679976126 :: a6989586621679965679) (a6989586621679976127 :: [a6989586621679965679]) = Intersperse a6989586621679976126 a6989586621679976127
data IntercalateSym0 :: forall a6989586621679965678. (~>) [a6989586621679965678] ((~>) [[a6989586621679965678]] [a6989586621679965678])
data IntercalateSym1 (a6989586621679976133 :: [a6989586621679965678]) :: (~>) [[a6989586621679965678]] [a6989586621679965678]
type IntercalateSym2 (a6989586621679976133 :: [a6989586621679965678]) (a6989586621679976134 :: [[a6989586621679965678]]) = Intercalate a6989586621679976133 a6989586621679976134
data TransposeSym0 :: forall a6989586621679965565. (~>) [[a6989586621679965565]] [[a6989586621679965565]]
type TransposeSym1 (a6989586621679976211 :: [[a6989586621679965565]]) = Transpose a6989586621679976211
data SubsequencesSym0 :: forall a6989586621679965677. (~>) [a6989586621679965677] [[a6989586621679965677]]
type SubsequencesSym1 (a6989586621679976123 :: [a6989586621679965677]) = Subsequences a6989586621679976123
data PermutationsSym0 :: forall a6989586621679965674. (~>) [a6989586621679965674] [[a6989586621679965674]]
type PermutationsSym1 (a6989586621679976005 :: [a6989586621679965674]) = Permutations a6989586621679976005
data FoldlSym0 :: forall a6989586621680486193 b6989586621680486192 t6989586621680486184. (~>) ((~>) b6989586621680486192 ((~>) a6989586621680486193 b6989586621680486192)) ((~>) b6989586621680486192 ((~>) (t6989586621680486184 a6989586621680486193) b6989586621680486192))
data FoldlSym1 (arg6989586621680486825 :: (~>) b6989586621680486192 ((~>) a6989586621680486193 b6989586621680486192)) :: forall t6989586621680486184. (~>) b6989586621680486192 ((~>) (t6989586621680486184 a6989586621680486193) b6989586621680486192)
data FoldlSym2 (arg6989586621680486825 :: (~>) b6989586621680486192 ((~>) a6989586621680486193 b6989586621680486192)) (arg6989586621680486826 :: b6989586621680486192) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486193) b6989586621680486192
type FoldlSym3 (arg6989586621680486825 :: (~>) b6989586621680486192 ((~>) a6989586621680486193 b6989586621680486192)) (arg6989586621680486826 :: b6989586621680486192) (arg6989586621680486827 :: t6989586621680486184 a6989586621680486193) = Foldl arg6989586621680486825 arg6989586621680486826 arg6989586621680486827
data Foldl'Sym0 :: forall a6989586621680486195 b6989586621680486194 t6989586621680486184. (~>) ((~>) b6989586621680486194 ((~>) a6989586621680486195 b6989586621680486194)) ((~>) b6989586621680486194 ((~>) (t6989586621680486184 a6989586621680486195) b6989586621680486194))
data Foldl'Sym1 (arg6989586621680486831 :: (~>) b6989586621680486194 ((~>) a6989586621680486195 b6989586621680486194)) :: forall t6989586621680486184. (~>) b6989586621680486194 ((~>) (t6989586621680486184 a6989586621680486195) b6989586621680486194)
data Foldl'Sym2 (arg6989586621680486831 :: (~>) b6989586621680486194 ((~>) a6989586621680486195 b6989586621680486194)) (arg6989586621680486832 :: b6989586621680486194) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486195) b6989586621680486194
type Foldl'Sym3 (arg6989586621680486831 :: (~>) b6989586621680486194 ((~>) a6989586621680486195 b6989586621680486194)) (arg6989586621680486832 :: b6989586621680486194) (arg6989586621680486833 :: t6989586621680486184 a6989586621680486195) = Foldl' arg6989586621680486831 arg6989586621680486832 arg6989586621680486833
data Foldl1Sym0 :: forall a6989586621680486197 t6989586621680486184. (~>) ((~>) a6989586621680486197 ((~>) a6989586621680486197 a6989586621680486197)) ((~>) (t6989586621680486184 a6989586621680486197) a6989586621680486197)
data Foldl1Sym1 (arg6989586621680486841 :: (~>) a6989586621680486197 ((~>) a6989586621680486197 a6989586621680486197)) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486197) a6989586621680486197
type Foldl1Sym2 (arg6989586621680486841 :: (~>) a6989586621680486197 ((~>) a6989586621680486197 a6989586621680486197)) (arg6989586621680486842 :: t6989586621680486184 a6989586621680486197) = Foldl1 arg6989586621680486841 arg6989586621680486842
data Foldl1'Sym0 :: forall a6989586621679965670. (~>) ((~>) a6989586621679965670 ((~>) a6989586621679965670 a6989586621679965670)) ((~>) [a6989586621679965670] a6989586621679965670)
data Foldl1'Sym1 (a6989586621679975998 :: (~>) a6989586621679965670 ((~>) a6989586621679965670 a6989586621679965670)) :: (~>) [a6989586621679965670] a6989586621679965670
type Foldl1'Sym2 (a6989586621679975998 :: (~>) a6989586621679965670 ((~>) a6989586621679965670 a6989586621679965670)) (a6989586621679975999 :: [a6989586621679965670]) = Foldl1' a6989586621679975998 a6989586621679975999
data FoldrSym0 :: forall a6989586621680486188 b6989586621680486189 t6989586621680486184. (~>) ((~>) a6989586621680486188 ((~>) b6989586621680486189 b6989586621680486189)) ((~>) b6989586621680486189 ((~>) (t6989586621680486184 a6989586621680486188) b6989586621680486189))
data FoldrSym1 (arg6989586621680486813 :: (~>) a6989586621680486188 ((~>) b6989586621680486189 b6989586621680486189)) :: forall t6989586621680486184. (~>) b6989586621680486189 ((~>) (t6989586621680486184 a6989586621680486188) b6989586621680486189)
data FoldrSym2 (arg6989586621680486813 :: (~>) a6989586621680486188 ((~>) b6989586621680486189 b6989586621680486189)) (arg6989586621680486814 :: b6989586621680486189) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486188) b6989586621680486189
type FoldrSym3 (arg6989586621680486813 :: (~>) a6989586621680486188 ((~>) b6989586621680486189 b6989586621680486189)) (arg6989586621680486814 :: b6989586621680486189) (arg6989586621680486815 :: t6989586621680486184 a6989586621680486188) = Foldr arg6989586621680486813 arg6989586621680486814 arg6989586621680486815
data Foldr1Sym0 :: forall a6989586621680486196 t6989586621680486184. (~>) ((~>) a6989586621680486196 ((~>) a6989586621680486196 a6989586621680486196)) ((~>) (t6989586621680486184 a6989586621680486196) a6989586621680486196)
data Foldr1Sym1 (arg6989586621680486837 :: (~>) a6989586621680486196 ((~>) a6989586621680486196 a6989586621680486196)) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486196) a6989586621680486196
type Foldr1Sym2 (arg6989586621680486837 :: (~>) a6989586621680486196 ((~>) a6989586621680486196 a6989586621680486196)) (arg6989586621680486838 :: t6989586621680486184 a6989586621680486196) = Foldr1 arg6989586621680486837 arg6989586621680486838
data ConcatSym0 :: forall a6989586621680486110 t6989586621680486109. (~>) (t6989586621680486109 [a6989586621680486110]) [a6989586621680486110]
type ConcatSym1 (a6989586621680486695 :: t6989586621680486109 [a6989586621680486110]) = Concat a6989586621680486695
data ConcatMapSym0 :: forall a6989586621680486107 b6989586621680486108 t6989586621680486106. (~>) ((~>) a6989586621680486107 [b6989586621680486108]) ((~>) (t6989586621680486106 a6989586621680486107) [b6989586621680486108])
data ConcatMapSym1 (a6989586621680486679 :: (~>) a6989586621680486107 [b6989586621680486108]) :: forall t6989586621680486106. (~>) (t6989586621680486106 a6989586621680486107) [b6989586621680486108]
type ConcatMapSym2 (a6989586621680486679 :: (~>) a6989586621680486107 [b6989586621680486108]) (a6989586621680486680 :: t6989586621680486106 a6989586621680486107) = ConcatMap a6989586621680486679 a6989586621680486680
data AndSym0 :: forall t6989586621680486105. (~>) (t6989586621680486105 Bool) Bool
type AndSym1 (a6989586621680486670 :: t6989586621680486105 Bool) = And a6989586621680486670
data OrSym0 :: forall t6989586621680486104. (~>) (t6989586621680486104 Bool) Bool
type OrSym1 (a6989586621680486661 :: t6989586621680486104 Bool) = Or a6989586621680486661
data AnySym0 :: forall a6989586621680486103 t6989586621680486102. (~>) ((~>) a6989586621680486103 Bool) ((~>) (t6989586621680486102 a6989586621680486103) Bool)
data AnySym1 (a6989586621680486648 :: (~>) a6989586621680486103 Bool) :: forall t6989586621680486102. (~>) (t6989586621680486102 a6989586621680486103) Bool
type AnySym2 (a6989586621680486648 :: (~>) a6989586621680486103 Bool) (a6989586621680486649 :: t6989586621680486102 a6989586621680486103) = Any a6989586621680486648 a6989586621680486649
data AllSym0 :: forall a6989586621680486101 t6989586621680486100. (~>) ((~>) a6989586621680486101 Bool) ((~>) (t6989586621680486100 a6989586621680486101) Bool)
data AllSym1 (a6989586621680486635 :: (~>) a6989586621680486101 Bool) :: forall t6989586621680486100. (~>) (t6989586621680486100 a6989586621680486101) Bool
type AllSym2 (a6989586621680486635 :: (~>) a6989586621680486101 Bool) (a6989586621680486636 :: t6989586621680486100 a6989586621680486101) = All a6989586621680486635 a6989586621680486636
data SumSym0 :: forall a6989586621680486204 t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486204) a6989586621680486204
type SumSym1 (arg6989586621680486859 :: t6989586621680486184 a6989586621680486204) = Sum arg6989586621680486859
data ProductSym0 :: forall a6989586621680486205 t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486205) a6989586621680486205
type ProductSym1 (arg6989586621680486861 :: t6989586621680486184 a6989586621680486205) = Product arg6989586621680486861
data MaximumSym0 :: forall a6989586621680486202 t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486202) a6989586621680486202
type MaximumSym1 (arg6989586621680486855 :: t6989586621680486184 a6989586621680486202) = Maximum arg6989586621680486855
data MinimumSym0 :: forall a6989586621680486203 t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486203) a6989586621680486203
type MinimumSym1 (arg6989586621680486857 :: t6989586621680486184 a6989586621680486203) = Minimum arg6989586621680486857
data ScanlSym0 :: forall a6989586621679965663 b6989586621679965662. (~>) ((~>) b6989586621679965662 ((~>) a6989586621679965663 b6989586621679965662)) ((~>) b6989586621679965662 ((~>) [a6989586621679965663] [b6989586621679965662]))
data ScanlSym1 (a6989586621679975771 :: (~>) b6989586621679965662 ((~>) a6989586621679965663 b6989586621679965662)) :: (~>) b6989586621679965662 ((~>) [a6989586621679965663] [b6989586621679965662])
data ScanlSym2 (a6989586621679975771 :: (~>) b6989586621679965662 ((~>) a6989586621679965663 b6989586621679965662)) (a6989586621679975772 :: b6989586621679965662) :: (~>) [a6989586621679965663] [b6989586621679965662]
type ScanlSym3 (a6989586621679975771 :: (~>) b6989586621679965662 ((~>) a6989586621679965663 b6989586621679965662)) (a6989586621679975772 :: b6989586621679965662) (a6989586621679975773 :: [a6989586621679965663]) = Scanl a6989586621679975771 a6989586621679975772 a6989586621679975773
data Scanl1Sym0 :: forall a6989586621679965661. (~>) ((~>) a6989586621679965661 ((~>) a6989586621679965661 a6989586621679965661)) ((~>) [a6989586621679965661] [a6989586621679965661])
data Scanl1Sym1 (a6989586621679975785 :: (~>) a6989586621679965661 ((~>) a6989586621679965661 a6989586621679965661)) :: (~>) [a6989586621679965661] [a6989586621679965661]
type Scanl1Sym2 (a6989586621679975785 :: (~>) a6989586621679965661 ((~>) a6989586621679965661 a6989586621679965661)) (a6989586621679975786 :: [a6989586621679965661]) = Scanl1 a6989586621679975785 a6989586621679975786
data ScanrSym0 :: forall a6989586621679965659 b6989586621679965660. (~>) ((~>) a6989586621679965659 ((~>) b6989586621679965660 b6989586621679965660)) ((~>) b6989586621679965660 ((~>) [a6989586621679965659] [b6989586621679965660]))
data ScanrSym1 (a6989586621679975750 :: (~>) a6989586621679965659 ((~>) b6989586621679965660 b6989586621679965660)) :: (~>) b6989586621679965660 ((~>) [a6989586621679965659] [b6989586621679965660])
data ScanrSym2 (a6989586621679975750 :: (~>) a6989586621679965659 ((~>) b6989586621679965660 b6989586621679965660)) (a6989586621679975751 :: b6989586621679965660) :: (~>) [a6989586621679965659] [b6989586621679965660]
type ScanrSym3 (a6989586621679975750 :: (~>) a6989586621679965659 ((~>) b6989586621679965660 b6989586621679965660)) (a6989586621679975751 :: b6989586621679965660) (a6989586621679975752 :: [a6989586621679965659]) = Scanr a6989586621679975750 a6989586621679975751 a6989586621679975752
data Scanr1Sym0 :: forall a6989586621679965658. (~>) ((~>) a6989586621679965658 ((~>) a6989586621679965658 a6989586621679965658)) ((~>) [a6989586621679965658] [a6989586621679965658])
data Scanr1Sym1 (a6989586621679975726 :: (~>) a6989586621679965658 ((~>) a6989586621679965658 a6989586621679965658)) :: (~>) [a6989586621679965658] [a6989586621679965658]
type Scanr1Sym2 (a6989586621679975726 :: (~>) a6989586621679965658 ((~>) a6989586621679965658 a6989586621679965658)) (a6989586621679975727 :: [a6989586621679965658]) = Scanr1 a6989586621679975726 a6989586621679975727
data MapAccumLSym0 :: forall a6989586621680795846 b6989586621680795847 c6989586621680795848 t6989586621680795845. (~>) ((~>) a6989586621680795846 ((~>) b6989586621680795847 (a6989586621680795846, c6989586621680795848))) ((~>) a6989586621680795846 ((~>) (t6989586621680795845 b6989586621680795847) (a6989586621680795846, t6989586621680795845 c6989586621680795848)))
data MapAccumLSym1 (a6989586621680796385 :: (~>) a6989586621680795846 ((~>) b6989586621680795847 (a6989586621680795846, c6989586621680795848))) :: forall t6989586621680795845. (~>) a6989586621680795846 ((~>) (t6989586621680795845 b6989586621680795847) (a6989586621680795846, t6989586621680795845 c6989586621680795848))
data MapAccumLSym2 (a6989586621680796385 :: (~>) a6989586621680795846 ((~>) b6989586621680795847 (a6989586621680795846, c6989586621680795848))) (a6989586621680796386 :: a6989586621680795846) :: forall t6989586621680795845. (~>) (t6989586621680795845 b6989586621680795847) (a6989586621680795846, t6989586621680795845 c6989586621680795848)
type MapAccumLSym3 (a6989586621680796385 :: (~>) a6989586621680795846 ((~>) b6989586621680795847 (a6989586621680795846, c6989586621680795848))) (a6989586621680796386 :: a6989586621680795846) (a6989586621680796387 :: t6989586621680795845 b6989586621680795847) = MapAccumL a6989586621680796385 a6989586621680796386 a6989586621680796387
data MapAccumRSym0 :: forall a6989586621680795842 b6989586621680795843 c6989586621680795844 t6989586621680795841. (~>) ((~>) a6989586621680795842 ((~>) b6989586621680795843 (a6989586621680795842, c6989586621680795844))) ((~>) a6989586621680795842 ((~>) (t6989586621680795841 b6989586621680795843) (a6989586621680795842, t6989586621680795841 c6989586621680795844)))
data MapAccumRSym1 (a6989586621680796368 :: (~>) a6989586621680795842 ((~>) b6989586621680795843 (a6989586621680795842, c6989586621680795844))) :: forall t6989586621680795841. (~>) a6989586621680795842 ((~>) (t6989586621680795841 b6989586621680795843) (a6989586621680795842, t6989586621680795841 c6989586621680795844))
data MapAccumRSym2 (a6989586621680796368 :: (~>) a6989586621680795842 ((~>) b6989586621680795843 (a6989586621680795842, c6989586621680795844))) (a6989586621680796369 :: a6989586621680795842) :: forall t6989586621680795841. (~>) (t6989586621680795841 b6989586621680795843) (a6989586621680795842, t6989586621680795841 c6989586621680795844)
type MapAccumRSym3 (a6989586621680796368 :: (~>) a6989586621680795842 ((~>) b6989586621680795843 (a6989586621680795842, c6989586621680795844))) (a6989586621680796369 :: a6989586621680795842) (a6989586621680796370 :: t6989586621680795841 b6989586621680795843) = MapAccumR a6989586621680796368 a6989586621680796369 a6989586621680796370
data ReplicateSym0 :: forall a6989586621679965566. (~>) Nat ((~>) a6989586621679965566 [a6989586621679965566])
data ReplicateSym1 (a6989586621679974868 :: Nat) :: forall a6989586621679965566. (~>) a6989586621679965566 [a6989586621679965566]
type ReplicateSym2 (a6989586621679974868 :: Nat) (a6989586621679974869 :: a6989586621679965566) = Replicate a6989586621679974868 a6989586621679974869
data UnfoldrSym0 :: forall a6989586621679965651 b6989586621679965650. (~>) ((~>) b6989586621679965650 (Maybe (a6989586621679965651, b6989586621679965650))) ((~>) b6989586621679965650 [a6989586621679965651])
data UnfoldrSym1 (a6989586621679975584 :: (~>) b6989586621679965650 (Maybe (a6989586621679965651, b6989586621679965650))) :: (~>) b6989586621679965650 [a6989586621679965651]
type UnfoldrSym2 (a6989586621679975584 :: (~>) b6989586621679965650 (Maybe (a6989586621679965651, b6989586621679965650))) (a6989586621679975585 :: b6989586621679965650) = Unfoldr a6989586621679975584 a6989586621679975585
data TakeSym0 :: forall a6989586621679965582. (~>) Nat ((~>) [a6989586621679965582] [a6989586621679965582])
data TakeSym1 (a6989586621679974964 :: Nat) :: forall a6989586621679965582. (~>) [a6989586621679965582] [a6989586621679965582]
type TakeSym2 (a6989586621679974964 :: Nat) (a6989586621679974965 :: [a6989586621679965582]) = Take a6989586621679974964 a6989586621679974965
data DropSym0 :: forall a6989586621679965581. (~>) Nat ((~>) [a6989586621679965581] [a6989586621679965581])
data DropSym1 (a6989586621679974950 :: Nat) :: forall a6989586621679965581. (~>) [a6989586621679965581] [a6989586621679965581]
type DropSym2 (a6989586621679974950 :: Nat) (a6989586621679974951 :: [a6989586621679965581]) = Drop a6989586621679974950 a6989586621679974951
data SplitAtSym0 :: forall a6989586621679965580. (~>) Nat ((~>) [a6989586621679965580] ([a6989586621679965580], [a6989586621679965580]))
data SplitAtSym1 (a6989586621679974978 :: Nat) :: forall a6989586621679965580. (~>) [a6989586621679965580] ([a6989586621679965580], [a6989586621679965580])
type SplitAtSym2 (a6989586621679974978 :: Nat) (a6989586621679974979 :: [a6989586621679965580]) = SplitAt a6989586621679974978 a6989586621679974979
data TakeWhileSym0 :: forall a6989586621679965587. (~>) ((~>) a6989586621679965587 Bool) ((~>) [a6989586621679965587] [a6989586621679965587])
data TakeWhileSym1 (a6989586621679975122 :: (~>) a6989586621679965587 Bool) :: (~>) [a6989586621679965587] [a6989586621679965587]
type TakeWhileSym2 (a6989586621679975122 :: (~>) a6989586621679965587 Bool) (a6989586621679975123 :: [a6989586621679965587]) = TakeWhile a6989586621679975122 a6989586621679975123
data DropWhileSym0 :: forall a6989586621679965586. (~>) ((~>) a6989586621679965586 Bool) ((~>) [a6989586621679965586] [a6989586621679965586])
data DropWhileSym1 (a6989586621679975104 :: (~>) a6989586621679965586 Bool) :: (~>) [a6989586621679965586] [a6989586621679965586]
type DropWhileSym2 (a6989586621679975104 :: (~>) a6989586621679965586 Bool) (a6989586621679975105 :: [a6989586621679965586]) = DropWhile a6989586621679975104 a6989586621679975105
data DropWhileEndSym0 :: forall a6989586621679965585. (~>) ((~>) a6989586621679965585 Bool) ((~>) [a6989586621679965585] [a6989586621679965585])
data DropWhileEndSym1 (a6989586621679976160 :: (~>) a6989586621679965585 Bool) :: (~>) [a6989586621679965585] [a6989586621679965585]
type DropWhileEndSym2 (a6989586621679976160 :: (~>) a6989586621679965585 Bool) (a6989586621679976161 :: [a6989586621679965585]) = DropWhileEnd a6989586621679976160 a6989586621679976161
data SpanSym0 :: forall a6989586621679965584. (~>) ((~>) a6989586621679965584 Bool) ((~>) [a6989586621679965584] ([a6989586621679965584], [a6989586621679965584]))
data SpanSym1 (a6989586621679975027 :: (~>) a6989586621679965584 Bool) :: (~>) [a6989586621679965584] ([a6989586621679965584], [a6989586621679965584])
type SpanSym2 (a6989586621679975027 :: (~>) a6989586621679965584 Bool) (a6989586621679975028 :: [a6989586621679965584]) = Span a6989586621679975027 a6989586621679975028
data BreakSym0 :: forall a6989586621679965583. (~>) ((~>) a6989586621679965583 Bool) ((~>) [a6989586621679965583] ([a6989586621679965583], [a6989586621679965583]))
data BreakSym1 (a6989586621679974984 :: (~>) a6989586621679965583 Bool) :: (~>) [a6989586621679965583] ([a6989586621679965583], [a6989586621679965583])
type BreakSym2 (a6989586621679974984 :: (~>) a6989586621679965583 Bool) (a6989586621679974985 :: [a6989586621679965583]) = Break a6989586621679974984 a6989586621679974985
data StripPrefixSym0 :: forall a6989586621680091809. (~>) [a6989586621680091809] ((~>) [a6989586621680091809] (Maybe [a6989586621680091809]))
data StripPrefixSym1 (a6989586621680104519 :: [a6989586621680091809]) :: (~>) [a6989586621680091809] (Maybe [a6989586621680091809])
type StripPrefixSym2 (a6989586621680104519 :: [a6989586621680091809]) (a6989586621680104520 :: [a6989586621680091809]) = StripPrefix a6989586621680104519 a6989586621680104520
data GroupSym0 :: forall a6989586621679965579. (~>) [a6989586621679965579] [[a6989586621679965579]]
type GroupSym1 (a6989586621679975101 :: [a6989586621679965579]) = Group a6989586621679975101
data InitsSym0 :: forall a6989586621679965649. (~>) [a6989586621679965649] [[a6989586621679965649]]
type InitsSym1 (a6989586621679975576 :: [a6989586621679965649]) = Inits a6989586621679975576
data TailsSym0 :: forall a6989586621679965648. (~>) [a6989586621679965648] [[a6989586621679965648]]
type TailsSym1 (a6989586621679975569 :: [a6989586621679965648]) = Tails a6989586621679975569
data IsPrefixOfSym0 :: forall a6989586621679965647. (~>) [a6989586621679965647] ((~>) [a6989586621679965647] Bool)
data IsPrefixOfSym1 (a6989586621679975561 :: [a6989586621679965647]) :: (~>) [a6989586621679965647] Bool
type IsPrefixOfSym2 (a6989586621679975561 :: [a6989586621679965647]) (a6989586621679975562 :: [a6989586621679965647]) = IsPrefixOf a6989586621679975561 a6989586621679975562
data IsSuffixOfSym0 :: forall a6989586621679965646. (~>) [a6989586621679965646] ((~>) [a6989586621679965646] Bool)
data IsSuffixOfSym1 (a6989586621679976152 :: [a6989586621679965646]) :: (~>) [a6989586621679965646] Bool
type IsSuffixOfSym2 (a6989586621679976152 :: [a6989586621679965646]) (a6989586621679976153 :: [a6989586621679965646]) = IsSuffixOf a6989586621679976152 a6989586621679976153
data IsInfixOfSym0 :: forall a6989586621679965645. (~>) [a6989586621679965645] ((~>) [a6989586621679965645] Bool)
data IsInfixOfSym1 (a6989586621679975799 :: [a6989586621679965645]) :: (~>) [a6989586621679965645] Bool
type IsInfixOfSym2 (a6989586621679975799 :: [a6989586621679965645]) (a6989586621679975800 :: [a6989586621679965645]) = IsInfixOf a6989586621679975799 a6989586621679975800
data ElemSym0 :: forall a6989586621680486201 t6989586621680486184. (~>) a6989586621680486201 ((~>) (t6989586621680486184 a6989586621680486201) Bool)
data ElemSym1 (arg6989586621680486851 :: a6989586621680486201) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486201) Bool
type ElemSym2 (arg6989586621680486851 :: a6989586621680486201) (arg6989586621680486852 :: t6989586621680486184 a6989586621680486201) = Elem arg6989586621680486851 arg6989586621680486852
data NotElemSym0 :: forall a6989586621680486095 t6989586621680486094. (~>) a6989586621680486095 ((~>) (t6989586621680486094 a6989586621680486095) Bool)
data NotElemSym1 (a6989586621680486577 :: a6989586621680486095) :: forall t6989586621680486094. (~>) (t6989586621680486094 a6989586621680486095) Bool
type NotElemSym2 (a6989586621680486577 :: a6989586621680486095) (a6989586621680486578 :: t6989586621680486094 a6989586621680486095) = NotElem a6989586621680486577 a6989586621680486578
data LookupSym0 :: forall a6989586621679965572 b6989586621679965573. (~>) a6989586621679965572 ((~>) [(a6989586621679965572, b6989586621679965573)] (Maybe b6989586621679965573))
data LookupSym1 (a6989586621679974933 :: a6989586621679965572) :: forall b6989586621679965573. (~>) [(a6989586621679965572, b6989586621679965573)] (Maybe b6989586621679965573)
type LookupSym2 (a6989586621679974933 :: a6989586621679965572) (a6989586621679974934 :: [(a6989586621679965572, b6989586621679965573)]) = Lookup a6989586621679974933 a6989586621679974934
data FindSym0 :: forall a6989586621680486093 t6989586621680486092. (~>) ((~>) a6989586621680486093 Bool) ((~>) (t6989586621680486092 a6989586621680486093) (Maybe a6989586621680486093))
data FindSym1 (a6989586621680486550 :: (~>) a6989586621680486093 Bool) :: forall t6989586621680486092. (~>) (t6989586621680486092 a6989586621680486093) (Maybe a6989586621680486093)
type FindSym2 (a6989586621680486550 :: (~>) a6989586621680486093 Bool) (a6989586621680486551 :: t6989586621680486092 a6989586621680486093) = Find a6989586621680486550 a6989586621680486551
data FilterSym0 :: forall a6989586621679965595. (~>) ((~>) a6989586621679965595 Bool) ((~>) [a6989586621679965595] [a6989586621679965595])
data FilterSym1 (a6989586621679975136 :: (~>) a6989586621679965595 Bool) :: (~>) [a6989586621679965595] [a6989586621679965595]
type FilterSym2 (a6989586621679975136 :: (~>) a6989586621679965595 Bool) (a6989586621679975137 :: [a6989586621679965595]) = Filter a6989586621679975136 a6989586621679975137
data PartitionSym0 :: forall a6989586621679965571. (~>) ((~>) a6989586621679965571 Bool) ((~>) [a6989586621679965571] ([a6989586621679965571], [a6989586621679965571]))
data PartitionSym1 (a6989586621679974927 :: (~>) a6989586621679965571 Bool) :: (~>) [a6989586621679965571] ([a6989586621679965571], [a6989586621679965571])
type PartitionSym2 (a6989586621679974927 :: (~>) a6989586621679965571 Bool) (a6989586621679974928 :: [a6989586621679965571]) = Partition a6989586621679974927 a6989586621679974928
data (!!@#@$) :: forall a6989586621679965564. (~>) [a6989586621679965564] ((~>) Nat a6989586621679965564)
infixl 9 !!@#@$
data (!!@#@$$) (a6989586621679974854 :: [a6989586621679965564]) :: (~>) Nat a6989586621679965564
infixl 9 !!@#@$$
type (!!@#@$$$) (a6989586621679974854 :: [a6989586621679965564]) (a6989586621679974855 :: Nat) = (!!) a6989586621679974854 a6989586621679974855
data ElemIndexSym0 :: forall a6989586621679965593. (~>) a6989586621679965593 ((~>) [a6989586621679965593] (Maybe Nat))
data ElemIndexSym1 (a6989586621679975519 :: a6989586621679965593) :: (~>) [a6989586621679965593] (Maybe Nat)
type ElemIndexSym2 (a6989586621679975519 :: a6989586621679965593) (a6989586621679975520 :: [a6989586621679965593]) = ElemIndex a6989586621679975519 a6989586621679975520
data ElemIndicesSym0 :: forall a6989586621679965592. (~>) a6989586621679965592 ((~>) [a6989586621679965592] [Nat])
data ElemIndicesSym1 (a6989586621679975503 :: a6989586621679965592) :: (~>) [a6989586621679965592] [Nat]
type ElemIndicesSym2 (a6989586621679975503 :: a6989586621679965592) (a6989586621679975504 :: [a6989586621679965592]) = ElemIndices a6989586621679975503 a6989586621679975504
data FindIndexSym0 :: forall a6989586621679965591. (~>) ((~>) a6989586621679965591 Bool) ((~>) [a6989586621679965591] (Maybe Nat))
data FindIndexSym1 (a6989586621679975511 :: (~>) a6989586621679965591 Bool) :: (~>) [a6989586621679965591] (Maybe Nat)
type FindIndexSym2 (a6989586621679975511 :: (~>) a6989586621679965591 Bool) (a6989586621679975512 :: [a6989586621679965591]) = FindIndex a6989586621679975511 a6989586621679975512
data FindIndicesSym0 :: forall a6989586621679965590. (~>) ((~>) a6989586621679965590 Bool) ((~>) [a6989586621679965590] [Nat])
data FindIndicesSym1 (a6989586621679975477 :: (~>) a6989586621679965590 Bool) :: (~>) [a6989586621679965590] [Nat]
type FindIndicesSym2 (a6989586621679975477 :: (~>) a6989586621679965590 Bool) (a6989586621679975478 :: [a6989586621679965590]) = FindIndices a6989586621679975477 a6989586621679975478
data ZipSym0 :: forall a6989586621679965641 b6989586621679965642. (~>) [a6989586621679965641] ((~>) [b6989586621679965642] [(a6989586621679965641, b6989586621679965642)])
data ZipSym1 (a6989586621679975469 :: [a6989586621679965641]) :: forall b6989586621679965642. (~>) [b6989586621679965642] [(a6989586621679965641, b6989586621679965642)]
type ZipSym2 (a6989586621679975469 :: [a6989586621679965641]) (a6989586621679975470 :: [b6989586621679965642]) = Zip a6989586621679975469 a6989586621679975470
data Zip3Sym0 :: forall a6989586621679965638 b6989586621679965639 c6989586621679965640. (~>) [a6989586621679965638] ((~>) [b6989586621679965639] ((~>) [c6989586621679965640] [(a6989586621679965638, b6989586621679965639, c6989586621679965640)]))
data Zip3Sym1 (a6989586621679975457 :: [a6989586621679965638]) :: forall b6989586621679965639 c6989586621679965640. (~>) [b6989586621679965639] ((~>) [c6989586621679965640] [(a6989586621679965638, b6989586621679965639, c6989586621679965640)])
data Zip3Sym2 (a6989586621679975457 :: [a6989586621679965638]) (a6989586621679975458 :: [b6989586621679965639]) :: forall c6989586621679965640. (~>) [c6989586621679965640] [(a6989586621679965638, b6989586621679965639, c6989586621679965640)]
type Zip3Sym3 (a6989586621679975457 :: [a6989586621679965638]) (a6989586621679975458 :: [b6989586621679965639]) (a6989586621679975459 :: [c6989586621679965640]) = Zip3 a6989586621679975457 a6989586621679975458 a6989586621679975459
data Zip4Sym0 :: forall a6989586621680091805 b6989586621680091806 c6989586621680091807 d6989586621680091808. (~>) [a6989586621680091805] ((~>) [b6989586621680091806] ((~>) [c6989586621680091807] ((~>) [d6989586621680091808] [(a6989586621680091805, b6989586621680091806, c6989586621680091807, d6989586621680091808)])))
data Zip4Sym1 (a6989586621680104507 :: [a6989586621680091805]) :: forall b6989586621680091806 c6989586621680091807 d6989586621680091808. (~>) [b6989586621680091806] ((~>) [c6989586621680091807] ((~>) [d6989586621680091808] [(a6989586621680091805, b6989586621680091806, c6989586621680091807, d6989586621680091808)]))
data Zip4Sym2 (a6989586621680104507 :: [a6989586621680091805]) (a6989586621680104508 :: [b6989586621680091806]) :: forall c6989586621680091807 d6989586621680091808. (~>) [c6989586621680091807] ((~>) [d6989586621680091808] [(a6989586621680091805, b6989586621680091806, c6989586621680091807, d6989586621680091808)])
data Zip4Sym3 (a6989586621680104507 :: [a6989586621680091805]) (a6989586621680104508 :: [b6989586621680091806]) (a6989586621680104509 :: [c6989586621680091807]) :: forall d6989586621680091808. (~>) [d6989586621680091808] [(a6989586621680091805, b6989586621680091806, c6989586621680091807, d6989586621680091808)]
type Zip4Sym4 (a6989586621680104507 :: [a6989586621680091805]) (a6989586621680104508 :: [b6989586621680091806]) (a6989586621680104509 :: [c6989586621680091807]) (a6989586621680104510 :: [d6989586621680091808]) = Zip4 a6989586621680104507 a6989586621680104508 a6989586621680104509 a6989586621680104510
data Zip5Sym0 :: forall a6989586621680091800 b6989586621680091801 c6989586621680091802 d6989586621680091803 e6989586621680091804. (~>) [a6989586621680091800] ((~>) [b6989586621680091801] ((~>) [c6989586621680091802] ((~>) [d6989586621680091803] ((~>) [e6989586621680091804] [(a6989586621680091800, b6989586621680091801, c6989586621680091802, d6989586621680091803, e6989586621680091804)]))))
data Zip5Sym1 (a6989586621680104484 :: [a6989586621680091800]) :: forall b6989586621680091801 c6989586621680091802 d6989586621680091803 e6989586621680091804. (~>) [b6989586621680091801] ((~>) [c6989586621680091802] ((~>) [d6989586621680091803] ((~>) [e6989586621680091804] [(a6989586621680091800, b6989586621680091801, c6989586621680091802, d6989586621680091803, e6989586621680091804)])))
data Zip5Sym2 (a6989586621680104484 :: [a6989586621680091800]) (a6989586621680104485 :: [b6989586621680091801]) :: forall c6989586621680091802 d6989586621680091803 e6989586621680091804. (~>) [c6989586621680091802] ((~>) [d6989586621680091803] ((~>) [e6989586621680091804] [(a6989586621680091800, b6989586621680091801, c6989586621680091802, d6989586621680091803, e6989586621680091804)]))
data Zip5Sym3 (a6989586621680104484 :: [a6989586621680091800]) (a6989586621680104485 :: [b6989586621680091801]) (a6989586621680104486 :: [c6989586621680091802]) :: forall d6989586621680091803 e6989586621680091804. (~>) [d6989586621680091803] ((~>) [e6989586621680091804] [(a6989586621680091800, b6989586621680091801, c6989586621680091802, d6989586621680091803, e6989586621680091804)])
data Zip5Sym4 (a6989586621680104484 :: [a6989586621680091800]) (a6989586621680104485 :: [b6989586621680091801]) (a6989586621680104486 :: [c6989586621680091802]) (a6989586621680104487 :: [d6989586621680091803]) :: forall e6989586621680091804. (~>) [e6989586621680091804] [(a6989586621680091800, b6989586621680091801, c6989586621680091802, d6989586621680091803, e6989586621680091804)]
type Zip5Sym5 (a6989586621680104484 :: [a6989586621680091800]) (a6989586621680104485 :: [b6989586621680091801]) (a6989586621680104486 :: [c6989586621680091802]) (a6989586621680104487 :: [d6989586621680091803]) (a6989586621680104488 :: [e6989586621680091804]) = Zip5 a6989586621680104484 a6989586621680104485 a6989586621680104486 a6989586621680104487 a6989586621680104488
data Zip6Sym0 :: forall a6989586621680091794 b6989586621680091795 c6989586621680091796 d6989586621680091797 e6989586621680091798 f6989586621680091799. (~>) [a6989586621680091794] ((~>) [b6989586621680091795] ((~>) [c6989586621680091796] ((~>) [d6989586621680091797] ((~>) [e6989586621680091798] ((~>) [f6989586621680091799] [(a6989586621680091794, b6989586621680091795, c6989586621680091796, d6989586621680091797, e6989586621680091798, f6989586621680091799)])))))
data Zip6Sym1 (a6989586621680104456 :: [a6989586621680091794]) :: forall b6989586621680091795 c6989586621680091796 d6989586621680091797 e6989586621680091798 f6989586621680091799. (~>) [b6989586621680091795] ((~>) [c6989586621680091796] ((~>) [d6989586621680091797] ((~>) [e6989586621680091798] ((~>) [f6989586621680091799] [(a6989586621680091794, b6989586621680091795, c6989586621680091796, d6989586621680091797, e6989586621680091798, f6989586621680091799)]))))
data Zip6Sym2 (a6989586621680104456 :: [a6989586621680091794]) (a6989586621680104457 :: [b6989586621680091795]) :: forall c6989586621680091796 d6989586621680091797 e6989586621680091798 f6989586621680091799. (~>) [c6989586621680091796] ((~>) [d6989586621680091797] ((~>) [e6989586621680091798] ((~>) [f6989586621680091799] [(a6989586621680091794, b6989586621680091795, c6989586621680091796, d6989586621680091797, e6989586621680091798, f6989586621680091799)])))
data Zip6Sym3 (a6989586621680104456 :: [a6989586621680091794]) (a6989586621680104457 :: [b6989586621680091795]) (a6989586621680104458 :: [c6989586621680091796]) :: forall d6989586621680091797 e6989586621680091798 f6989586621680091799. (~>) [d6989586621680091797] ((~>) [e6989586621680091798] ((~>) [f6989586621680091799] [(a6989586621680091794, b6989586621680091795, c6989586621680091796, d6989586621680091797, e6989586621680091798, f6989586621680091799)]))
data Zip6Sym4 (a6989586621680104456 :: [a6989586621680091794]) (a6989586621680104457 :: [b6989586621680091795]) (a6989586621680104458 :: [c6989586621680091796]) (a6989586621680104459 :: [d6989586621680091797]) :: forall e6989586621680091798 f6989586621680091799. (~>) [e6989586621680091798] ((~>) [f6989586621680091799] [(a6989586621680091794, b6989586621680091795, c6989586621680091796, d6989586621680091797, e6989586621680091798, f6989586621680091799)])
data Zip6Sym5 (a6989586621680104456 :: [a6989586621680091794]) (a6989586621680104457 :: [b6989586621680091795]) (a6989586621680104458 :: [c6989586621680091796]) (a6989586621680104459 :: [d6989586621680091797]) (a6989586621680104460 :: [e6989586621680091798]) :: forall f6989586621680091799. (~>) [f6989586621680091799] [(a6989586621680091794, b6989586621680091795, c6989586621680091796, d6989586621680091797, e6989586621680091798, f6989586621680091799)]
type Zip6Sym6 (a6989586621680104456 :: [a6989586621680091794]) (a6989586621680104457 :: [b6989586621680091795]) (a6989586621680104458 :: [c6989586621680091796]) (a6989586621680104459 :: [d6989586621680091797]) (a6989586621680104460 :: [e6989586621680091798]) (a6989586621680104461 :: [f6989586621680091799]) = Zip6 a6989586621680104456 a6989586621680104457 a6989586621680104458 a6989586621680104459 a6989586621680104460 a6989586621680104461
data Zip7Sym0 :: forall a6989586621680091787 b6989586621680091788 c6989586621680091789 d6989586621680091790 e6989586621680091791 f6989586621680091792 g6989586621680091793. (~>) [a6989586621680091787] ((~>) [b6989586621680091788] ((~>) [c6989586621680091789] ((~>) [d6989586621680091790] ((~>) [e6989586621680091791] ((~>) [f6989586621680091792] ((~>) [g6989586621680091793] [(a6989586621680091787, b6989586621680091788, c6989586621680091789, d6989586621680091790, e6989586621680091791, f6989586621680091792, g6989586621680091793)]))))))
data Zip7Sym1 (a6989586621680104423 :: [a6989586621680091787]) :: forall b6989586621680091788 c6989586621680091789 d6989586621680091790 e6989586621680091791 f6989586621680091792 g6989586621680091793. (~>) [b6989586621680091788] ((~>) [c6989586621680091789] ((~>) [d6989586621680091790] ((~>) [e6989586621680091791] ((~>) [f6989586621680091792] ((~>) [g6989586621680091793] [(a6989586621680091787, b6989586621680091788, c6989586621680091789, d6989586621680091790, e6989586621680091791, f6989586621680091792, g6989586621680091793)])))))
data Zip7Sym2 (a6989586621680104423 :: [a6989586621680091787]) (a6989586621680104424 :: [b6989586621680091788]) :: forall c6989586621680091789 d6989586621680091790 e6989586621680091791 f6989586621680091792 g6989586621680091793. (~>) [c6989586621680091789] ((~>) [d6989586621680091790] ((~>) [e6989586621680091791] ((~>) [f6989586621680091792] ((~>) [g6989586621680091793] [(a6989586621680091787, b6989586621680091788, c6989586621680091789, d6989586621680091790, e6989586621680091791, f6989586621680091792, g6989586621680091793)]))))
data Zip7Sym3 (a6989586621680104423 :: [a6989586621680091787]) (a6989586621680104424 :: [b6989586621680091788]) (a6989586621680104425 :: [c6989586621680091789]) :: forall d6989586621680091790 e6989586621680091791 f6989586621680091792 g6989586621680091793. (~>) [d6989586621680091790] ((~>) [e6989586621680091791] ((~>) [f6989586621680091792] ((~>) [g6989586621680091793] [(a6989586621680091787, b6989586621680091788, c6989586621680091789, d6989586621680091790, e6989586621680091791, f6989586621680091792, g6989586621680091793)])))
data Zip7Sym4 (a6989586621680104423 :: [a6989586621680091787]) (a6989586621680104424 :: [b6989586621680091788]) (a6989586621680104425 :: [c6989586621680091789]) (a6989586621680104426 :: [d6989586621680091790]) :: forall e6989586621680091791 f6989586621680091792 g6989586621680091793. (~>) [e6989586621680091791] ((~>) [f6989586621680091792] ((~>) [g6989586621680091793] [(a6989586621680091787, b6989586621680091788, c6989586621680091789, d6989586621680091790, e6989586621680091791, f6989586621680091792, g6989586621680091793)]))
data Zip7Sym5 (a6989586621680104423 :: [a6989586621680091787]) (a6989586621680104424 :: [b6989586621680091788]) (a6989586621680104425 :: [c6989586621680091789]) (a6989586621680104426 :: [d6989586621680091790]) (a6989586621680104427 :: [e6989586621680091791]) :: forall f6989586621680091792 g6989586621680091793. (~>) [f6989586621680091792] ((~>) [g6989586621680091793] [(a6989586621680091787, b6989586621680091788, c6989586621680091789, d6989586621680091790, e6989586621680091791, f6989586621680091792, g6989586621680091793)])
data Zip7Sym6 (a6989586621680104423 :: [a6989586621680091787]) (a6989586621680104424 :: [b6989586621680091788]) (a6989586621680104425 :: [c6989586621680091789]) (a6989586621680104426 :: [d6989586621680091790]) (a6989586621680104427 :: [e6989586621680091791]) (a6989586621680104428 :: [f6989586621680091792]) :: forall g6989586621680091793. (~>) [g6989586621680091793] [(a6989586621680091787, b6989586621680091788, c6989586621680091789, d6989586621680091790, e6989586621680091791, f6989586621680091792, g6989586621680091793)]
type Zip7Sym7 (a6989586621680104423 :: [a6989586621680091787]) (a6989586621680104424 :: [b6989586621680091788]) (a6989586621680104425 :: [c6989586621680091789]) (a6989586621680104426 :: [d6989586621680091790]) (a6989586621680104427 :: [e6989586621680091791]) (a6989586621680104428 :: [f6989586621680091792]) (a6989586621680104429 :: [g6989586621680091793]) = Zip7 a6989586621680104423 a6989586621680104424 a6989586621680104425 a6989586621680104426 a6989586621680104427 a6989586621680104428 a6989586621680104429
data ZipWithSym0 :: forall a6989586621679965635 b6989586621679965636 c6989586621679965637. (~>) ((~>) a6989586621679965635 ((~>) b6989586621679965636 c6989586621679965637)) ((~>) [a6989586621679965635] ((~>) [b6989586621679965636] [c6989586621679965637]))
data ZipWithSym1 (a6989586621679975446 :: (~>) a6989586621679965635 ((~>) b6989586621679965636 c6989586621679965637)) :: (~>) [a6989586621679965635] ((~>) [b6989586621679965636] [c6989586621679965637])
data ZipWithSym2 (a6989586621679975446 :: (~>) a6989586621679965635 ((~>) b6989586621679965636 c6989586621679965637)) (a6989586621679975447 :: [a6989586621679965635]) :: (~>) [b6989586621679965636] [c6989586621679965637]
type ZipWithSym3 (a6989586621679975446 :: (~>) a6989586621679965635 ((~>) b6989586621679965636 c6989586621679965637)) (a6989586621679975447 :: [a6989586621679965635]) (a6989586621679975448 :: [b6989586621679965636]) = ZipWith a6989586621679975446 a6989586621679975447 a6989586621679975448
data ZipWith3Sym0 :: forall a6989586621679965631 b6989586621679965632 c6989586621679965633 d6989586621679965634. (~>) ((~>) a6989586621679965631 ((~>) b6989586621679965632 ((~>) c6989586621679965633 d6989586621679965634))) ((~>) [a6989586621679965631] ((~>) [b6989586621679965632] ((~>) [c6989586621679965633] [d6989586621679965634])))
data ZipWith3Sym1 (a6989586621679975431 :: (~>) a6989586621679965631 ((~>) b6989586621679965632 ((~>) c6989586621679965633 d6989586621679965634))) :: (~>) [a6989586621679965631] ((~>) [b6989586621679965632] ((~>) [c6989586621679965633] [d6989586621679965634]))
data ZipWith3Sym2 (a6989586621679975431 :: (~>) a6989586621679965631 ((~>) b6989586621679965632 ((~>) c6989586621679965633 d6989586621679965634))) (a6989586621679975432 :: [a6989586621679965631]) :: (~>) [b6989586621679965632] ((~>) [c6989586621679965633] [d6989586621679965634])
data ZipWith3Sym3 (a6989586621679975431 :: (~>) a6989586621679965631 ((~>) b6989586621679965632 ((~>) c6989586621679965633 d6989586621679965634))) (a6989586621679975432 :: [a6989586621679965631]) (a6989586621679975433 :: [b6989586621679965632]) :: (~>) [c6989586621679965633] [d6989586621679965634]
type ZipWith3Sym4 (a6989586621679975431 :: (~>) a6989586621679965631 ((~>) b6989586621679965632 ((~>) c6989586621679965633 d6989586621679965634))) (a6989586621679975432 :: [a6989586621679965631]) (a6989586621679975433 :: [b6989586621679965632]) (a6989586621679975434 :: [c6989586621679965633]) = ZipWith3 a6989586621679975431 a6989586621679975432 a6989586621679975433 a6989586621679975434
data ZipWith4Sym0 :: forall a6989586621680091782 b6989586621680091783 c6989586621680091784 d6989586621680091785 e6989586621680091786. (~>) ((~>) a6989586621680091782 ((~>) b6989586621680091783 ((~>) c6989586621680091784 ((~>) d6989586621680091785 e6989586621680091786)))) ((~>) [a6989586621680091782] ((~>) [b6989586621680091783] ((~>) [c6989586621680091784] ((~>) [d6989586621680091785] [e6989586621680091786]))))
data ZipWith4Sym1 (a6989586621680104390 :: (~>) a6989586621680091782 ((~>) b6989586621680091783 ((~>) c6989586621680091784 ((~>) d6989586621680091785 e6989586621680091786)))) :: (~>) [a6989586621680091782] ((~>) [b6989586621680091783] ((~>) [c6989586621680091784] ((~>) [d6989586621680091785] [e6989586621680091786])))
data ZipWith4Sym2 (a6989586621680104390 :: (~>) a6989586621680091782 ((~>) b6989586621680091783 ((~>) c6989586621680091784 ((~>) d6989586621680091785 e6989586621680091786)))) (a6989586621680104391 :: [a6989586621680091782]) :: (~>) [b6989586621680091783] ((~>) [c6989586621680091784] ((~>) [d6989586621680091785] [e6989586621680091786]))
data ZipWith4Sym3 (a6989586621680104390 :: (~>) a6989586621680091782 ((~>) b6989586621680091783 ((~>) c6989586621680091784 ((~>) d6989586621680091785 e6989586621680091786)))) (a6989586621680104391 :: [a6989586621680091782]) (a6989586621680104392 :: [b6989586621680091783]) :: (~>) [c6989586621680091784] ((~>) [d6989586621680091785] [e6989586621680091786])
data ZipWith4Sym4 (a6989586621680104390 :: (~>) a6989586621680091782 ((~>) b6989586621680091783 ((~>) c6989586621680091784 ((~>) d6989586621680091785 e6989586621680091786)))) (a6989586621680104391 :: [a6989586621680091782]) (a6989586621680104392 :: [b6989586621680091783]) (a6989586621680104393 :: [c6989586621680091784]) :: (~>) [d6989586621680091785] [e6989586621680091786]
type ZipWith4Sym5 (a6989586621680104390 :: (~>) a6989586621680091782 ((~>) b6989586621680091783 ((~>) c6989586621680091784 ((~>) d6989586621680091785 e6989586621680091786)))) (a6989586621680104391 :: [a6989586621680091782]) (a6989586621680104392 :: [b6989586621680091783]) (a6989586621680104393 :: [c6989586621680091784]) (a6989586621680104394 :: [d6989586621680091785]) = ZipWith4 a6989586621680104390 a6989586621680104391 a6989586621680104392 a6989586621680104393 a6989586621680104394
data ZipWith5Sym0 :: forall a6989586621680091776 b6989586621680091777 c6989586621680091778 d6989586621680091779 e6989586621680091780 f6989586621680091781. (~>) ((~>) a6989586621680091776 ((~>) b6989586621680091777 ((~>) c6989586621680091778 ((~>) d6989586621680091779 ((~>) e6989586621680091780 f6989586621680091781))))) ((~>) [a6989586621680091776] ((~>) [b6989586621680091777] ((~>) [c6989586621680091778] ((~>) [d6989586621680091779] ((~>) [e6989586621680091780] [f6989586621680091781])))))
data ZipWith5Sym1 (a6989586621680104367 :: (~>) a6989586621680091776 ((~>) b6989586621680091777 ((~>) c6989586621680091778 ((~>) d6989586621680091779 ((~>) e6989586621680091780 f6989586621680091781))))) :: (~>) [a6989586621680091776] ((~>) [b6989586621680091777] ((~>) [c6989586621680091778] ((~>) [d6989586621680091779] ((~>) [e6989586621680091780] [f6989586621680091781]))))
data ZipWith5Sym2 (a6989586621680104367 :: (~>) a6989586621680091776 ((~>) b6989586621680091777 ((~>) c6989586621680091778 ((~>) d6989586621680091779 ((~>) e6989586621680091780 f6989586621680091781))))) (a6989586621680104368 :: [a6989586621680091776]) :: (~>) [b6989586621680091777] ((~>) [c6989586621680091778] ((~>) [d6989586621680091779] ((~>) [e6989586621680091780] [f6989586621680091781])))
data ZipWith5Sym3 (a6989586621680104367 :: (~>) a6989586621680091776 ((~>) b6989586621680091777 ((~>) c6989586621680091778 ((~>) d6989586621680091779 ((~>) e6989586621680091780 f6989586621680091781))))) (a6989586621680104368 :: [a6989586621680091776]) (a6989586621680104369 :: [b6989586621680091777]) :: (~>) [c6989586621680091778] ((~>) [d6989586621680091779] ((~>) [e6989586621680091780] [f6989586621680091781]))
data ZipWith5Sym4 (a6989586621680104367 :: (~>) a6989586621680091776 ((~>) b6989586621680091777 ((~>) c6989586621680091778 ((~>) d6989586621680091779 ((~>) e6989586621680091780 f6989586621680091781))))) (a6989586621680104368 :: [a6989586621680091776]) (a6989586621680104369 :: [b6989586621680091777]) (a6989586621680104370 :: [c6989586621680091778]) :: (~>) [d6989586621680091779] ((~>) [e6989586621680091780] [f6989586621680091781])
data ZipWith5Sym5 (a6989586621680104367 :: (~>) a6989586621680091776 ((~>) b6989586621680091777 ((~>) c6989586621680091778 ((~>) d6989586621680091779 ((~>) e6989586621680091780 f6989586621680091781))))) (a6989586621680104368 :: [a6989586621680091776]) (a6989586621680104369 :: [b6989586621680091777]) (a6989586621680104370 :: [c6989586621680091778]) (a6989586621680104371 :: [d6989586621680091779]) :: (~>) [e6989586621680091780] [f6989586621680091781]
type ZipWith5Sym6 (a6989586621680104367 :: (~>) a6989586621680091776 ((~>) b6989586621680091777 ((~>) c6989586621680091778 ((~>) d6989586621680091779 ((~>) e6989586621680091780 f6989586621680091781))))) (a6989586621680104368 :: [a6989586621680091776]) (a6989586621680104369 :: [b6989586621680091777]) (a6989586621680104370 :: [c6989586621680091778]) (a6989586621680104371 :: [d6989586621680091779]) (a6989586621680104372 :: [e6989586621680091780]) = ZipWith5 a6989586621680104367 a6989586621680104368 a6989586621680104369 a6989586621680104370 a6989586621680104371 a6989586621680104372
data ZipWith6Sym0 :: forall a6989586621680091769 b6989586621680091770 c6989586621680091771 d6989586621680091772 e6989586621680091773 f6989586621680091774 g6989586621680091775. (~>) ((~>) a6989586621680091769 ((~>) b6989586621680091770 ((~>) c6989586621680091771 ((~>) d6989586621680091772 ((~>) e6989586621680091773 ((~>) f6989586621680091774 g6989586621680091775)))))) ((~>) [a6989586621680091769] ((~>) [b6989586621680091770] ((~>) [c6989586621680091771] ((~>) [d6989586621680091772] ((~>) [e6989586621680091773] ((~>) [f6989586621680091774] [g6989586621680091775]))))))
data ZipWith6Sym1 (a6989586621680104340 :: (~>) a6989586621680091769 ((~>) b6989586621680091770 ((~>) c6989586621680091771 ((~>) d6989586621680091772 ((~>) e6989586621680091773 ((~>) f6989586621680091774 g6989586621680091775)))))) :: (~>) [a6989586621680091769] ((~>) [b6989586621680091770] ((~>) [c6989586621680091771] ((~>) [d6989586621680091772] ((~>) [e6989586621680091773] ((~>) [f6989586621680091774] [g6989586621680091775])))))
data ZipWith6Sym2 (a6989586621680104340 :: (~>) a6989586621680091769 ((~>) b6989586621680091770 ((~>) c6989586621680091771 ((~>) d6989586621680091772 ((~>) e6989586621680091773 ((~>) f6989586621680091774 g6989586621680091775)))))) (a6989586621680104341 :: [a6989586621680091769]) :: (~>) [b6989586621680091770] ((~>) [c6989586621680091771] ((~>) [d6989586621680091772] ((~>) [e6989586621680091773] ((~>) [f6989586621680091774] [g6989586621680091775]))))
data ZipWith6Sym3 (a6989586621680104340 :: (~>) a6989586621680091769 ((~>) b6989586621680091770 ((~>) c6989586621680091771 ((~>) d6989586621680091772 ((~>) e6989586621680091773 ((~>) f6989586621680091774 g6989586621680091775)))))) (a6989586621680104341 :: [a6989586621680091769]) (a6989586621680104342 :: [b6989586621680091770]) :: (~>) [c6989586621680091771] ((~>) [d6989586621680091772] ((~>) [e6989586621680091773] ((~>) [f6989586621680091774] [g6989586621680091775])))
data ZipWith6Sym4 (a6989586621680104340 :: (~>) a6989586621680091769 ((~>) b6989586621680091770 ((~>) c6989586621680091771 ((~>) d6989586621680091772 ((~>) e6989586621680091773 ((~>) f6989586621680091774 g6989586621680091775)))))) (a6989586621680104341 :: [a6989586621680091769]) (a6989586621680104342 :: [b6989586621680091770]) (a6989586621680104343 :: [c6989586621680091771]) :: (~>) [d6989586621680091772] ((~>) [e6989586621680091773] ((~>) [f6989586621680091774] [g6989586621680091775]))
data ZipWith6Sym5 (a6989586621680104340 :: (~>) a6989586621680091769 ((~>) b6989586621680091770 ((~>) c6989586621680091771 ((~>) d6989586621680091772 ((~>) e6989586621680091773 ((~>) f6989586621680091774 g6989586621680091775)))))) (a6989586621680104341 :: [a6989586621680091769]) (a6989586621680104342 :: [b6989586621680091770]) (a6989586621680104343 :: [c6989586621680091771]) (a6989586621680104344 :: [d6989586621680091772]) :: (~>) [e6989586621680091773] ((~>) [f6989586621680091774] [g6989586621680091775])
data ZipWith6Sym6 (a6989586621680104340 :: (~>) a6989586621680091769 ((~>) b6989586621680091770 ((~>) c6989586621680091771 ((~>) d6989586621680091772 ((~>) e6989586621680091773 ((~>) f6989586621680091774 g6989586621680091775)))))) (a6989586621680104341 :: [a6989586621680091769]) (a6989586621680104342 :: [b6989586621680091770]) (a6989586621680104343 :: [c6989586621680091771]) (a6989586621680104344 :: [d6989586621680091772]) (a6989586621680104345 :: [e6989586621680091773]) :: (~>) [f6989586621680091774] [g6989586621680091775]
type ZipWith6Sym7 (a6989586621680104340 :: (~>) a6989586621680091769 ((~>) b6989586621680091770 ((~>) c6989586621680091771 ((~>) d6989586621680091772 ((~>) e6989586621680091773 ((~>) f6989586621680091774 g6989586621680091775)))))) (a6989586621680104341 :: [a6989586621680091769]) (a6989586621680104342 :: [b6989586621680091770]) (a6989586621680104343 :: [c6989586621680091771]) (a6989586621680104344 :: [d6989586621680091772]) (a6989586621680104345 :: [e6989586621680091773]) (a6989586621680104346 :: [f6989586621680091774]) = ZipWith6 a6989586621680104340 a6989586621680104341 a6989586621680104342 a6989586621680104343 a6989586621680104344 a6989586621680104345 a6989586621680104346
data ZipWith7Sym0 :: forall a6989586621680091761 b6989586621680091762 c6989586621680091763 d6989586621680091764 e6989586621680091765 f6989586621680091766 g6989586621680091767 h6989586621680091768. (~>) ((~>) a6989586621680091761 ((~>) b6989586621680091762 ((~>) c6989586621680091763 ((~>) d6989586621680091764 ((~>) e6989586621680091765 ((~>) f6989586621680091766 ((~>) g6989586621680091767 h6989586621680091768))))))) ((~>) [a6989586621680091761] ((~>) [b6989586621680091762] ((~>) [c6989586621680091763] ((~>) [d6989586621680091764] ((~>) [e6989586621680091765] ((~>) [f6989586621680091766] ((~>) [g6989586621680091767] [h6989586621680091768])))))))
data ZipWith7Sym1 (a6989586621680104309 :: (~>) a6989586621680091761 ((~>) b6989586621680091762 ((~>) c6989586621680091763 ((~>) d6989586621680091764 ((~>) e6989586621680091765 ((~>) f6989586621680091766 ((~>) g6989586621680091767 h6989586621680091768))))))) :: (~>) [a6989586621680091761] ((~>) [b6989586621680091762] ((~>) [c6989586621680091763] ((~>) [d6989586621680091764] ((~>) [e6989586621680091765] ((~>) [f6989586621680091766] ((~>) [g6989586621680091767] [h6989586621680091768]))))))
data ZipWith7Sym2 (a6989586621680104309 :: (~>) a6989586621680091761 ((~>) b6989586621680091762 ((~>) c6989586621680091763 ((~>) d6989586621680091764 ((~>) e6989586621680091765 ((~>) f6989586621680091766 ((~>) g6989586621680091767 h6989586621680091768))))))) (a6989586621680104310 :: [a6989586621680091761]) :: (~>) [b6989586621680091762] ((~>) [c6989586621680091763] ((~>) [d6989586621680091764] ((~>) [e6989586621680091765] ((~>) [f6989586621680091766] ((~>) [g6989586621680091767] [h6989586621680091768])))))
data ZipWith7Sym3 (a6989586621680104309 :: (~>) a6989586621680091761 ((~>) b6989586621680091762 ((~>) c6989586621680091763 ((~>) d6989586621680091764 ((~>) e6989586621680091765 ((~>) f6989586621680091766 ((~>) g6989586621680091767 h6989586621680091768))))))) (a6989586621680104310 :: [a6989586621680091761]) (a6989586621680104311 :: [b6989586621680091762]) :: (~>) [c6989586621680091763] ((~>) [d6989586621680091764] ((~>) [e6989586621680091765] ((~>) [f6989586621680091766] ((~>) [g6989586621680091767] [h6989586621680091768]))))
data ZipWith7Sym4 (a6989586621680104309 :: (~>) a6989586621680091761 ((~>) b6989586621680091762 ((~>) c6989586621680091763 ((~>) d6989586621680091764 ((~>) e6989586621680091765 ((~>) f6989586621680091766 ((~>) g6989586621680091767 h6989586621680091768))))))) (a6989586621680104310 :: [a6989586621680091761]) (a6989586621680104311 :: [b6989586621680091762]) (a6989586621680104312 :: [c6989586621680091763]) :: (~>) [d6989586621680091764] ((~>) [e6989586621680091765] ((~>) [f6989586621680091766] ((~>) [g6989586621680091767] [h6989586621680091768])))
data ZipWith7Sym5 (a6989586621680104309 :: (~>) a6989586621680091761 ((~>) b6989586621680091762 ((~>) c6989586621680091763 ((~>) d6989586621680091764 ((~>) e6989586621680091765 ((~>) f6989586621680091766 ((~>) g6989586621680091767 h6989586621680091768))))))) (a6989586621680104310 :: [a6989586621680091761]) (a6989586621680104311 :: [b6989586621680091762]) (a6989586621680104312 :: [c6989586621680091763]) (a6989586621680104313 :: [d6989586621680091764]) :: (~>) [e6989586621680091765] ((~>) [f6989586621680091766] ((~>) [g6989586621680091767] [h6989586621680091768]))
data ZipWith7Sym6 (a6989586621680104309 :: (~>) a6989586621680091761 ((~>) b6989586621680091762 ((~>) c6989586621680091763 ((~>) d6989586621680091764 ((~>) e6989586621680091765 ((~>) f6989586621680091766 ((~>) g6989586621680091767 h6989586621680091768))))))) (a6989586621680104310 :: [a6989586621680091761]) (a6989586621680104311 :: [b6989586621680091762]) (a6989586621680104312 :: [c6989586621680091763]) (a6989586621680104313 :: [d6989586621680091764]) (a6989586621680104314 :: [e6989586621680091765]) :: (~>) [f6989586621680091766] ((~>) [g6989586621680091767] [h6989586621680091768])
data ZipWith7Sym7 (a6989586621680104309 :: (~>) a6989586621680091761 ((~>) b6989586621680091762 ((~>) c6989586621680091763 ((~>) d6989586621680091764 ((~>) e6989586621680091765 ((~>) f6989586621680091766 ((~>) g6989586621680091767 h6989586621680091768))))))) (a6989586621680104310 :: [a6989586621680091761]) (a6989586621680104311 :: [b6989586621680091762]) (a6989586621680104312 :: [c6989586621680091763]) (a6989586621680104313 :: [d6989586621680091764]) (a6989586621680104314 :: [e6989586621680091765]) (a6989586621680104315 :: [f6989586621680091766]) :: (~>) [g6989586621680091767] [h6989586621680091768]
type ZipWith7Sym8 (a6989586621680104309 :: (~>) a6989586621680091761 ((~>) b6989586621680091762 ((~>) c6989586621680091763 ((~>) d6989586621680091764 ((~>) e6989586621680091765 ((~>) f6989586621680091766 ((~>) g6989586621680091767 h6989586621680091768))))))) (a6989586621680104310 :: [a6989586621680091761]) (a6989586621680104311 :: [b6989586621680091762]) (a6989586621680104312 :: [c6989586621680091763]) (a6989586621680104313 :: [d6989586621680091764]) (a6989586621680104314 :: [e6989586621680091765]) (a6989586621680104315 :: [f6989586621680091766]) (a6989586621680104316 :: [g6989586621680091767]) = ZipWith7 a6989586621680104309 a6989586621680104310 a6989586621680104311 a6989586621680104312 a6989586621680104313 a6989586621680104314 a6989586621680104315 a6989586621680104316
data UnzipSym0 :: forall a6989586621679965629 b6989586621679965630. (~>) [(a6989586621679965629, b6989586621679965630)] ([a6989586621679965629], [b6989586621679965630])
type UnzipSym1 (a6989586621679975412 :: [(a6989586621679965629, b6989586621679965630)]) = Unzip a6989586621679975412
data Unzip3Sym0 :: forall a6989586621679965626 b6989586621679965627 c6989586621679965628. (~>) [(a6989586621679965626, b6989586621679965627, c6989586621679965628)] ([a6989586621679965626], [b6989586621679965627], [c6989586621679965628])
type Unzip3Sym1 (a6989586621679975391 :: [(a6989586621679965626, b6989586621679965627, c6989586621679965628)]) = Unzip3 a6989586621679975391
data Unzip4Sym0 :: forall a6989586621679965622 b6989586621679965623 c6989586621679965624 d6989586621679965625. (~>) [(a6989586621679965622, b6989586621679965623, c6989586621679965624, d6989586621679965625)] ([a6989586621679965622], [b6989586621679965623], [c6989586621679965624], [d6989586621679965625])
type Unzip4Sym1 (a6989586621679975368 :: [(a6989586621679965622, b6989586621679965623, c6989586621679965624, d6989586621679965625)]) = Unzip4 a6989586621679975368
data Unzip5Sym0 :: forall a6989586621679965617 b6989586621679965618 c6989586621679965619 d6989586621679965620 e6989586621679965621. (~>) [(a6989586621679965617, b6989586621679965618, c6989586621679965619, d6989586621679965620, e6989586621679965621)] ([a6989586621679965617], [b6989586621679965618], [c6989586621679965619], [d6989586621679965620], [e6989586621679965621])
type Unzip5Sym1 (a6989586621679975343 :: [(a6989586621679965617, b6989586621679965618, c6989586621679965619, d6989586621679965620, e6989586621679965621)]) = Unzip5 a6989586621679975343
data Unzip6Sym0 :: forall a6989586621679965611 b6989586621679965612 c6989586621679965613 d6989586621679965614 e6989586621679965615 f6989586621679965616. (~>) [(a6989586621679965611, b6989586621679965612, c6989586621679965613, d6989586621679965614, e6989586621679965615, f6989586621679965616)] ([a6989586621679965611], [b6989586621679965612], [c6989586621679965613], [d6989586621679965614], [e6989586621679965615], [f6989586621679965616])
type Unzip6Sym1 (a6989586621679975316 :: [(a6989586621679965611, b6989586621679965612, c6989586621679965613, d6989586621679965614, e6989586621679965615, f6989586621679965616)]) = Unzip6 a6989586621679975316
data Unzip7Sym0 :: forall a6989586621679965604 b6989586621679965605 c6989586621679965606 d6989586621679965607 e6989586621679965608 f6989586621679965609 g6989586621679965610. (~>) [(a6989586621679965604, b6989586621679965605, c6989586621679965606, d6989586621679965607, e6989586621679965608, f6989586621679965609, g6989586621679965610)] ([a6989586621679965604], [b6989586621679965605], [c6989586621679965606], [d6989586621679965607], [e6989586621679965608], [f6989586621679965609], [g6989586621679965610])
type Unzip7Sym1 (a6989586621679975287 :: [(a6989586621679965604, b6989586621679965605, c6989586621679965606, d6989586621679965607, e6989586621679965608, f6989586621679965609, g6989586621679965610)]) = Unzip7 a6989586621679975287
data UnlinesSym0 :: (~>) [Symbol] Symbol
type UnlinesSym1 (a6989586621679975283 :: [Symbol]) = Unlines a6989586621679975283
data UnwordsSym0 :: (~>) [Symbol] Symbol
type UnwordsSym1 (a6989586621679975272 :: [Symbol]) = Unwords a6989586621679975272
data NubSym0 :: forall a6989586621679965563. (~>) [a6989586621679965563] [a6989586621679965563]
type NubSym1 (a6989586621679975541 :: [a6989586621679965563]) = Nub a6989586621679975541
data DeleteSym0 :: forall a6989586621679965603. (~>) a6989586621679965603 ((~>) [a6989586621679965603] [a6989586621679965603])
data DeleteSym1 (a6989586621679975256 :: a6989586621679965603) :: (~>) [a6989586621679965603] [a6989586621679965603]
type DeleteSym2 (a6989586621679975256 :: a6989586621679965603) (a6989586621679975257 :: [a6989586621679965603]) = Delete a6989586621679975256 a6989586621679975257
data (\\@#@$) :: forall a6989586621679965602. (~>) [a6989586621679965602] ((~>) [a6989586621679965602] [a6989586621679965602])
infix 5 \\@#@$
data (\\@#@$$) (a6989586621679975266 :: [a6989586621679965602]) :: (~>) [a6989586621679965602] [a6989586621679965602]
infix 5 \\@#@$$
type (\\@#@$$$) (a6989586621679975266 :: [a6989586621679965602]) (a6989586621679975267 :: [a6989586621679965602]) = (\\) a6989586621679975266 a6989586621679975267
data UnionSym0 :: forall a6989586621679965559. (~>) [a6989586621679965559] ((~>) [a6989586621679965559] [a6989586621679965559])
data UnionSym1 (a6989586621679975246 :: [a6989586621679965559]) :: (~>) [a6989586621679965559] [a6989586621679965559]
type UnionSym2 (a6989586621679975246 :: [a6989586621679965559]) (a6989586621679975247 :: [a6989586621679965559]) = Union a6989586621679975246 a6989586621679975247
data IntersectSym0 :: forall a6989586621679965589. (~>) [a6989586621679965589] ((~>) [a6989586621679965589] [a6989586621679965589])
data IntersectSym1 (a6989586621679975841 :: [a6989586621679965589]) :: (~>) [a6989586621679965589] [a6989586621679965589]
type IntersectSym2 (a6989586621679975841 :: [a6989586621679965589]) (a6989586621679975842 :: [a6989586621679965589]) = Intersect a6989586621679975841 a6989586621679975842
data InsertSym0 :: forall a6989586621679965576. (~>) a6989586621679965576 ((~>) [a6989586621679965576] [a6989586621679965576])
data InsertSym1 (a6989586621679975183 :: a6989586621679965576) :: (~>) [a6989586621679965576] [a6989586621679965576]
type InsertSym2 (a6989586621679975183 :: a6989586621679965576) (a6989586621679975184 :: [a6989586621679965576]) = Insert a6989586621679975183 a6989586621679975184
data SortSym0 :: forall a6989586621679965575. (~>) [a6989586621679965575] [a6989586621679965575]
type SortSym1 (a6989586621679975199 :: [a6989586621679965575]) = Sort a6989586621679975199
data NubBySym0 :: forall a6989586621679965562. (~>) ((~>) a6989586621679965562 ((~>) a6989586621679965562 Bool)) ((~>) [a6989586621679965562] [a6989586621679965562])
data NubBySym1 (a6989586621679974829 :: (~>) a6989586621679965562 ((~>) a6989586621679965562 Bool)) :: (~>) [a6989586621679965562] [a6989586621679965562]
type NubBySym2 (a6989586621679974829 :: (~>) a6989586621679965562 ((~>) a6989586621679965562 Bool)) (a6989586621679974830 :: [a6989586621679965562]) = NubBy a6989586621679974829 a6989586621679974830
data DeleteBySym0 :: forall a6989586621679965601. (~>) ((~>) a6989586621679965601 ((~>) a6989586621679965601 Bool)) ((~>) a6989586621679965601 ((~>) [a6989586621679965601] [a6989586621679965601]))
data DeleteBySym1 (a6989586621679975202 :: (~>) a6989586621679965601 ((~>) a6989586621679965601 Bool)) :: (~>) a6989586621679965601 ((~>) [a6989586621679965601] [a6989586621679965601])
data DeleteBySym2 (a6989586621679975202 :: (~>) a6989586621679965601 ((~>) a6989586621679965601 Bool)) (a6989586621679975203 :: a6989586621679965601) :: (~>) [a6989586621679965601] [a6989586621679965601]
type DeleteBySym3 (a6989586621679975202 :: (~>) a6989586621679965601 ((~>) a6989586621679965601 Bool)) (a6989586621679975203 :: a6989586621679965601) (a6989586621679975204 :: [a6989586621679965601]) = DeleteBy a6989586621679975202 a6989586621679975203 a6989586621679975204
data DeleteFirstsBySym0 :: forall a6989586621679965600. (~>) ((~>) a6989586621679965600 ((~>) a6989586621679965600 Bool)) ((~>) [a6989586621679965600] ((~>) [a6989586621679965600] [a6989586621679965600]))
data DeleteFirstsBySym1 (a6989586621679975220 :: (~>) a6989586621679965600 ((~>) a6989586621679965600 Bool)) :: (~>) [a6989586621679965600] ((~>) [a6989586621679965600] [a6989586621679965600])
data DeleteFirstsBySym2 (a6989586621679975220 :: (~>) a6989586621679965600 ((~>) a6989586621679965600 Bool)) (a6989586621679975221 :: [a6989586621679965600]) :: (~>) [a6989586621679965600] [a6989586621679965600]
type DeleteFirstsBySym3 (a6989586621679975220 :: (~>) a6989586621679965600 ((~>) a6989586621679965600 Bool)) (a6989586621679975221 :: [a6989586621679965600]) (a6989586621679975222 :: [a6989586621679965600]) = DeleteFirstsBy a6989586621679975220 a6989586621679975221 a6989586621679975222
data UnionBySym0 :: forall a6989586621679965560. (~>) ((~>) a6989586621679965560 ((~>) a6989586621679965560 Bool)) ((~>) [a6989586621679965560] ((~>) [a6989586621679965560] [a6989586621679965560]))
data UnionBySym1 (a6989586621679975233 :: (~>) a6989586621679965560 ((~>) a6989586621679965560 Bool)) :: (~>) [a6989586621679965560] ((~>) [a6989586621679965560] [a6989586621679965560])
data UnionBySym2 (a6989586621679975233 :: (~>) a6989586621679965560 ((~>) a6989586621679965560 Bool)) (a6989586621679975234 :: [a6989586621679965560]) :: (~>) [a6989586621679965560] [a6989586621679965560]
type UnionBySym3 (a6989586621679975233 :: (~>) a6989586621679965560 ((~>) a6989586621679965560 Bool)) (a6989586621679975234 :: [a6989586621679965560]) (a6989586621679975235 :: [a6989586621679965560]) = UnionBy a6989586621679975233 a6989586621679975234 a6989586621679975235
data IntersectBySym0 :: forall a6989586621679965588. (~>) ((~>) a6989586621679965588 ((~>) a6989586621679965588 Bool)) ((~>) [a6989586621679965588] ((~>) [a6989586621679965588] [a6989586621679965588]))
data IntersectBySym1 (a6989586621679975805 :: (~>) a6989586621679965588 ((~>) a6989586621679965588 Bool)) :: (~>) [a6989586621679965588] ((~>) [a6989586621679965588] [a6989586621679965588])
data IntersectBySym2 (a6989586621679975805 :: (~>) a6989586621679965588 ((~>) a6989586621679965588 Bool)) (a6989586621679975806 :: [a6989586621679965588]) :: (~>) [a6989586621679965588] [a6989586621679965588]
type IntersectBySym3 (a6989586621679975805 :: (~>) a6989586621679965588 ((~>) a6989586621679965588 Bool)) (a6989586621679975806 :: [a6989586621679965588]) (a6989586621679975807 :: [a6989586621679965588]) = IntersectBy a6989586621679975805 a6989586621679975806 a6989586621679975807
data GroupBySym0 :: forall a6989586621679965574. (~>) ((~>) a6989586621679965574 ((~>) a6989586621679965574 Bool)) ((~>) [a6989586621679965574] [[a6989586621679965574]])
data GroupBySym1 (a6989586621679975070 :: (~>) a6989586621679965574 ((~>) a6989586621679965574 Bool)) :: (~>) [a6989586621679965574] [[a6989586621679965574]]
type GroupBySym2 (a6989586621679975070 :: (~>) a6989586621679965574 ((~>) a6989586621679965574 Bool)) (a6989586621679975071 :: [a6989586621679965574]) = GroupBy a6989586621679975070 a6989586621679975071
data SortBySym0 :: forall a6989586621679965599. (~>) ((~>) a6989586621679965599 ((~>) a6989586621679965599 Ordering)) ((~>) [a6989586621679965599] [a6989586621679965599])
data SortBySym1 (a6989586621679975189 :: (~>) a6989586621679965599 ((~>) a6989586621679965599 Ordering)) :: (~>) [a6989586621679965599] [a6989586621679965599]
type SortBySym2 (a6989586621679975189 :: (~>) a6989586621679965599 ((~>) a6989586621679965599 Ordering)) (a6989586621679975190 :: [a6989586621679965599]) = SortBy a6989586621679975189 a6989586621679975190
data InsertBySym0 :: forall a6989586621679965598. (~>) ((~>) a6989586621679965598 ((~>) a6989586621679965598 Ordering)) ((~>) a6989586621679965598 ((~>) [a6989586621679965598] [a6989586621679965598]))
data InsertBySym1 (a6989586621679975159 :: (~>) a6989586621679965598 ((~>) a6989586621679965598 Ordering)) :: (~>) a6989586621679965598 ((~>) [a6989586621679965598] [a6989586621679965598])
data InsertBySym2 (a6989586621679975159 :: (~>) a6989586621679965598 ((~>) a6989586621679965598 Ordering)) (a6989586621679975160 :: a6989586621679965598) :: (~>) [a6989586621679965598] [a6989586621679965598]
type InsertBySym3 (a6989586621679975159 :: (~>) a6989586621679965598 ((~>) a6989586621679965598 Ordering)) (a6989586621679975160 :: a6989586621679965598) (a6989586621679975161 :: [a6989586621679965598]) = InsertBy a6989586621679975159 a6989586621679975160 a6989586621679975161
data MaximumBySym0 :: forall a6989586621680486099 t6989586621680486098. (~>) ((~>) a6989586621680486099 ((~>) a6989586621680486099 Ordering)) ((~>) (t6989586621680486098 a6989586621680486099) a6989586621680486099)
data MaximumBySym1 (a6989586621680486610 :: (~>) a6989586621680486099 ((~>) a6989586621680486099 Ordering)) :: forall t6989586621680486098. (~>) (t6989586621680486098 a6989586621680486099) a6989586621680486099
type MaximumBySym2 (a6989586621680486610 :: (~>) a6989586621680486099 ((~>) a6989586621680486099 Ordering)) (a6989586621680486611 :: t6989586621680486098 a6989586621680486099) = MaximumBy a6989586621680486610 a6989586621680486611
data MinimumBySym0 :: forall a6989586621680486097 t6989586621680486096. (~>) ((~>) a6989586621680486097 ((~>) a6989586621680486097 Ordering)) ((~>) (t6989586621680486096 a6989586621680486097) a6989586621680486097)
data MinimumBySym1 (a6989586621680486585 :: (~>) a6989586621680486097 ((~>) a6989586621680486097 Ordering)) :: forall t6989586621680486096. (~>) (t6989586621680486096 a6989586621680486097) a6989586621680486097
type MinimumBySym2 (a6989586621680486585 :: (~>) a6989586621680486097 ((~>) a6989586621680486097 Ordering)) (a6989586621680486586 :: t6989586621680486096 a6989586621680486097) = MinimumBy a6989586621680486585 a6989586621680486586
data GenericLengthSym0 :: forall a6989586621679965558 i6989586621679965557. (~>) [a6989586621679965558] i6989586621679965557
type GenericLengthSym1 (a6989586621679974816 :: [a6989586621679965558]) = GenericLength a6989586621679974816
data GenericTakeSym0 :: forall a6989586621680091760 i6989586621680091759. (~>) i6989586621680091759 ((~>) [a6989586621680091760] [a6989586621680091760])
data GenericTakeSym1 (a6989586621680104303 :: i6989586621680091759) :: forall a6989586621680091760. (~>) [a6989586621680091760] [a6989586621680091760]
type GenericTakeSym2 (a6989586621680104303 :: i6989586621680091759) (a6989586621680104304 :: [a6989586621680091760]) = GenericTake a6989586621680104303 a6989586621680104304
data GenericDropSym0 :: forall a6989586621680091758 i6989586621680091757. (~>) i6989586621680091757 ((~>) [a6989586621680091758] [a6989586621680091758])
data GenericDropSym1 (a6989586621680104293 :: i6989586621680091757) :: forall a6989586621680091758. (~>) [a6989586621680091758] [a6989586621680091758]
type GenericDropSym2 (a6989586621680104293 :: i6989586621680091757) (a6989586621680104294 :: [a6989586621680091758]) = GenericDrop a6989586621680104293 a6989586621680104294
data GenericSplitAtSym0 :: forall a6989586621680091756 i6989586621680091755. (~>) i6989586621680091755 ((~>) [a6989586621680091756] ([a6989586621680091756], [a6989586621680091756]))
data GenericSplitAtSym1 (a6989586621680104283 :: i6989586621680091755) :: forall a6989586621680091756. (~>) [a6989586621680091756] ([a6989586621680091756], [a6989586621680091756])
type GenericSplitAtSym2 (a6989586621680104283 :: i6989586621680091755) (a6989586621680104284 :: [a6989586621680091756]) = GenericSplitAt a6989586621680104283 a6989586621680104284
data GenericIndexSym0 :: forall a6989586621680091754 i6989586621680091753. (~>) [a6989586621680091754] ((~>) i6989586621680091753 a6989586621680091754)
data GenericIndexSym1 (a6989586621680104273 :: [a6989586621680091754]) :: forall i6989586621680091753. (~>) i6989586621680091753 a6989586621680091754
type GenericIndexSym2 (a6989586621680104273 :: [a6989586621680091754]) (a6989586621680104274 :: i6989586621680091753) = GenericIndex a6989586621680104273 a6989586621680104274
data GenericReplicateSym0 :: forall a6989586621680091752 i6989586621680091751. (~>) i6989586621680091751 ((~>) a6989586621680091752 [a6989586621680091752])
data GenericReplicateSym1 (a6989586621680104263 :: i6989586621680091751) :: forall a6989586621680091752. (~>) a6989586621680091752 [a6989586621680091752]
type GenericReplicateSym2 (a6989586621680104263 :: i6989586621680091751) (a6989586621680104264 :: a6989586621680091752) = GenericReplicate a6989586621680104263 a6989586621680104264


-- | Defines the promoted and singled versions of the <a>MonadZip</a> type
--   class.
module Data.Singletons.Prelude.Monad.Zip
class PMonad m_a8Rb2 => PMonadZip (m_a8Rb2 :: Type -> Type) where {
    type family Mzip (arg_a8Rcg :: m_a8Rb2 a_a8Rb3) (arg_a8Rch :: m_a8Rb2 b_a8Rb4) :: m_a8Rb2 (a_a8Rb3, b_a8Rb4);
    type family MzipWith (arg_a8Rck :: (~>) a_a8Rb5 ((~>) b_a8Rb6 c_a8Rb7)) (arg_a8Rcl :: m_a8Rb2 a_a8Rb5) (arg_a8Rcm :: m_a8Rb2 b_a8Rb6) :: m_a8Rb2 c_a8Rb7;
    type family Munzip (arg_a8Rcq :: m_a8Rb2 (a_a8Rb8, b_a8Rb9)) :: (m_a8Rb2 a_a8Rb8, m_a8Rb2 b_a8Rb9);
    type Mzip a_a8RcC a_a8RcD = Apply (Apply Mzip_6989586621681120932Sym0 a_a8RcC) a_a8RcD;
    type MzipWith a_a8RcR a_a8RcS a_a8RcT = Apply (Apply (Apply MzipWith_6989586621681120948Sym0 a_a8RcR) a_a8RcS) a_a8RcT;
    type Munzip a_a8Rd2 = Apply Munzip_6989586621681120957Sym0 a_a8Rd2;
}
class SMonad m_a8Rb2 => SMonadZip (m_a8Rb2 :: Type -> Type)
sMzip :: forall a_a8Rb3 b_a8Rb4 (t_a8Rha :: m_a8Rb2 a_a8Rb3) (t_a8Rhb :: m_a8Rb2 b_a8Rb4). SMonadZip m_a8Rb2 => Sing t_a8Rha -> Sing t_a8Rhb -> Sing (Apply (Apply MzipSym0 t_a8Rha) t_a8Rhb :: m_a8Rb2 (a_a8Rb3, b_a8Rb4))
sMzipWith :: forall a_a8Rb5 b_a8Rb6 c_a8Rb7 (t_a8Rhe :: (~>) a_a8Rb5 ((~>) b_a8Rb6 c_a8Rb7)) (t_a8Rhf :: m_a8Rb2 a_a8Rb5) (t_a8Rhg :: m_a8Rb2 b_a8Rb6). SMonadZip m_a8Rb2 => Sing t_a8Rhe -> Sing t_a8Rhf -> Sing t_a8Rhg -> Sing (Apply (Apply (Apply MzipWithSym0 t_a8Rhe) t_a8Rhf) t_a8Rhg :: m_a8Rb2 c_a8Rb7)
sMunzip :: forall a_a8Rb8 b_a8Rb9 (t_a8Rhk :: m_a8Rb2 (a_a8Rb8, b_a8Rb9)). SMonadZip m_a8Rb2 => Sing t_a8Rhk -> Sing (Apply MunzipSym0 t_a8Rhk :: (m_a8Rb2 a_a8Rb8, m_a8Rb2 b_a8Rb9))
sMzip :: forall a_a8Rb3 b_a8Rb4 (t_a8Rha :: m_a8Rb2 a_a8Rb3) (t_a8Rhb :: m_a8Rb2 b_a8Rb4). (SMonadZip m_a8Rb2, (Apply (Apply MzipSym0 t_a8Rha) t_a8Rhb :: m_a8Rb2 (a_a8Rb3, b_a8Rb4)) ~ Apply (Apply Mzip_6989586621681120932Sym0 t_a8Rha) t_a8Rhb) => Sing t_a8Rha -> Sing t_a8Rhb -> Sing (Apply (Apply MzipSym0 t_a8Rha) t_a8Rhb :: m_a8Rb2 (a_a8Rb3, b_a8Rb4))
sMzipWith :: forall a_a8Rb5 b_a8Rb6 c_a8Rb7 (t_a8Rhe :: (~>) a_a8Rb5 ((~>) b_a8Rb6 c_a8Rb7)) (t_a8Rhf :: m_a8Rb2 a_a8Rb5) (t_a8Rhg :: m_a8Rb2 b_a8Rb6). (SMonadZip m_a8Rb2, (Apply (Apply (Apply MzipWithSym0 t_a8Rhe) t_a8Rhf) t_a8Rhg :: m_a8Rb2 c_a8Rb7) ~ Apply (Apply (Apply MzipWith_6989586621681120948Sym0 t_a8Rhe) t_a8Rhf) t_a8Rhg) => Sing t_a8Rhe -> Sing t_a8Rhf -> Sing t_a8Rhg -> Sing (Apply (Apply (Apply MzipWithSym0 t_a8Rhe) t_a8Rhf) t_a8Rhg :: m_a8Rb2 c_a8Rb7)
sMunzip :: forall a_a8Rb8 b_a8Rb9 (t_a8Rhk :: m_a8Rb2 (a_a8Rb8, b_a8Rb9)). (SMonadZip m_a8Rb2, (Apply MunzipSym0 t_a8Rhk :: (m_a8Rb2 a_a8Rb8, m_a8Rb2 b_a8Rb9)) ~ Apply Munzip_6989586621681120957Sym0 t_a8Rhk) => Sing t_a8Rhk -> Sing (Apply MunzipSym0 t_a8Rhk :: (m_a8Rb2 a_a8Rb8, m_a8Rb2 b_a8Rb9))
data MzipSym0 :: forall a6989586621681120833 b6989586621681120834 m6989586621681120832. (~>) (m6989586621681120832 a6989586621681120833) ((~>) (m6989586621681120832 b6989586621681120834) (m6989586621681120832 (a6989586621681120833, b6989586621681120834)))
data MzipSym1 (arg6989586621681120908 :: m6989586621681120832 a6989586621681120833) :: forall b6989586621681120834. (~>) (m6989586621681120832 b6989586621681120834) (m6989586621681120832 (a6989586621681120833, b6989586621681120834))
type MzipSym2 (arg6989586621681120908 :: m6989586621681120832 a6989586621681120833) (arg6989586621681120909 :: m6989586621681120832 b6989586621681120834) = Mzip arg6989586621681120908 arg6989586621681120909
data MzipWithSym0 :: forall a6989586621681120835 b6989586621681120836 c6989586621681120837 m6989586621681120832. (~>) ((~>) a6989586621681120835 ((~>) b6989586621681120836 c6989586621681120837)) ((~>) (m6989586621681120832 a6989586621681120835) ((~>) (m6989586621681120832 b6989586621681120836) (m6989586621681120832 c6989586621681120837)))
data MzipWithSym1 (arg6989586621681120912 :: (~>) a6989586621681120835 ((~>) b6989586621681120836 c6989586621681120837)) :: forall m6989586621681120832. (~>) (m6989586621681120832 a6989586621681120835) ((~>) (m6989586621681120832 b6989586621681120836) (m6989586621681120832 c6989586621681120837))
data MzipWithSym2 (arg6989586621681120912 :: (~>) a6989586621681120835 ((~>) b6989586621681120836 c6989586621681120837)) (arg6989586621681120913 :: m6989586621681120832 a6989586621681120835) :: (~>) (m6989586621681120832 b6989586621681120836) (m6989586621681120832 c6989586621681120837)
type MzipWithSym3 (arg6989586621681120912 :: (~>) a6989586621681120835 ((~>) b6989586621681120836 c6989586621681120837)) (arg6989586621681120913 :: m6989586621681120832 a6989586621681120835) (arg6989586621681120914 :: m6989586621681120832 b6989586621681120836) = MzipWith arg6989586621681120912 arg6989586621681120913 arg6989586621681120914
data MunzipSym0 :: forall a6989586621681120838 b6989586621681120839 m6989586621681120832. (~>) (m6989586621681120832 (a6989586621681120838, b6989586621681120839)) (m6989586621681120832 a6989586621681120838, m6989586621681120832 b6989586621681120839)
type MunzipSym1 (arg6989586621681120918 :: m6989586621681120832 (a6989586621681120838, b6989586621681120839)) = Munzip arg6989586621681120918
instance Data.Singletons.Prelude.Monad.Zip.SMonadZip []
instance Data.Singletons.Prelude.Monad.Zip.SMonadZip Data.Functor.Identity.Identity
instance Data.Singletons.Prelude.Monad.Zip.SMonadZip Data.Semigroup.Internal.Dual
instance Data.Singletons.Prelude.Monad.Zip.SMonadZip Data.Semigroup.Internal.Sum
instance Data.Singletons.Prelude.Monad.Zip.SMonadZip Data.Semigroup.Internal.Product
instance Data.Singletons.Prelude.Monad.Zip.SMonadZip GHC.Maybe.Maybe
instance Data.Singletons.Prelude.Monad.Zip.SMonadZip Data.Monoid.First
instance Data.Singletons.Prelude.Monad.Zip.SMonadZip Data.Monoid.Last
instance Data.Singletons.Prelude.Monad.Zip.SMonadZip m => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Monad.Zip.MzipSym0
instance forall (m :: * -> *) a b (d :: m a). (Data.Singletons.Prelude.Monad.Zip.SMonadZip m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.Zip.MzipSym1 d)
instance Data.Singletons.Prelude.Monad.Zip.SMonadZip m => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Monad.Zip.MzipWithSym0
instance forall a b c (m :: * -> *) (d :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> c)). (Data.Singletons.Prelude.Monad.Zip.SMonadZip m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.Zip.MzipWithSym1 d)
instance forall a b c (m :: * -> *) (d1 :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> c)) (d2 :: m a). (Data.Singletons.Prelude.Monad.Zip.SMonadZip m, Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.Zip.MzipWithSym2 d1 d2)
instance Data.Singletons.Prelude.Monad.Zip.SMonadZip m => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Monad.Zip.MunzipSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121207Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Monoid.Last
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681121204 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121207Sym1 a6989586621681121204)
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681121205 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)) (a6989586621681121204 :: m6989586621681120832 a6989586621681120835). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121207Sym2 a6989586621681121205 a6989586621681121204)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121184Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Monoid.First
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681121181 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121184Sym1 a6989586621681121181)
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681121182 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)) (a6989586621681121181 :: m6989586621681120832 a6989586621681120835). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121184Sym2 a6989586621681121182 a6989586621681121181)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121161Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip GHC.Maybe.Maybe
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681121158 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121161Sym1 a6989586621681121158)
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681121159 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)) (a6989586621681121158 :: m6989586621681120832 a6989586621681120835). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121161Sym2 a6989586621681121159 a6989586621681121158)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121138Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Semigroup.Internal.Product
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681121135 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121138Sym1 a6989586621681121135)
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681121136 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)) (a6989586621681121135 :: m6989586621681120832 a6989586621681120835). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121138Sym2 a6989586621681121136 a6989586621681121135)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121115Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Semigroup.Internal.Sum
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681121112 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121115Sym1 a6989586621681121112)
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681121113 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)) (a6989586621681121112 :: m6989586621681120832 a6989586621681120835). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121115Sym2 a6989586621681121113 a6989586621681121112)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121092Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Semigroup.Internal.Dual
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681121089 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121092Sym1 a6989586621681121089)
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681121090 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)) (a6989586621681121089 :: m6989586621681120832 a6989586621681120835). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121092Sym2 a6989586621681121090 a6989586621681121089)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Munzip_6989586621681121071Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Functor.Identity.Identity
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121061Sym0
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681121058 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121061Sym1 a6989586621681121058)
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681121059 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)) (a6989586621681121058 :: m6989586621681120832 a6989586621681120835). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121061Sym2 a6989586621681121059 a6989586621681121058)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Munzip_6989586621681121040Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip []
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121029Sym0
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681121026 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121029Sym1 a6989586621681121026)
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681121027 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)) (a6989586621681121026 :: m6989586621681120832 a6989586621681120835). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681121029Sym2 a6989586621681121027 a6989586621681121026)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681121007Sym0
instance forall b6989586621681120834 (m6989586621681120832 :: * -> *) a6989586621681120833 (a6989586621681121005 :: m6989586621681120832 a6989586621681120833). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681121007Sym1 a6989586621681121005)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MunzipSym0
instance forall b6989586621681120834 (m6989586621681120832 :: * -> *) a6989586621681120833 (arg6989586621681120908 :: m6989586621681120832 a6989586621681120833). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipSym1 arg6989586621681120908)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipSym0
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (arg6989586621681120913 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)) (arg6989586621681120912 :: m6989586621681120832 a6989586621681120835). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWithSym2 arg6989586621681120913 arg6989586621681120912)
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (arg6989586621681120912 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWithSym1 arg6989586621681120912)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWithSym0
instance forall b6989586621681120834 (m6989586621681120832 :: * -> *) a6989586621681120833 (a6989586621681120930 :: m6989586621681120832 a6989586621681120833). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681120932Sym1 a6989586621681120930)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681120932Sym0
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681120946 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)) (a6989586621681120945 :: m6989586621681120832 a6989586621681120835). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681120948Sym2 a6989586621681120946 a6989586621681120945)
instance forall (m6989586621681120832 :: * -> *) a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681120945 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681120948Sym1 a6989586621681120945)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681120948Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Munzip_6989586621681120957Sym0


-- | 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.
data family Sing :: k -> Type
infixr 5 :%|
type SNonEmpty = (Sing :: NonEmpty a_afNb -> Type)
type family Map (a_a904d :: (~>) a_a8ZE4 b_a8ZE5) (a_a904e :: NonEmpty a_a8ZE4) :: NonEmpty b_a8ZE5
sMap :: forall a_a8ZE4 b_a8ZE5 (t_a90aD :: (~>) a_a8ZE4 b_a8ZE5) (t_a90aE :: NonEmpty a_a8ZE4). Sing t_a90aD -> Sing t_a90aE -> Sing (Apply (Apply MapSym0 t_a90aD) t_a90aE :: NonEmpty b_a8ZE5)
type family Intersperse (a_a9043 :: a_a8ZDU) (a_a9044 :: NonEmpty a_a8ZDU) :: NonEmpty a_a8ZDU
sIntersperse :: forall a_a8ZDU (t_a90az :: a_a8ZDU) (t_a90aA :: NonEmpty a_a8ZDU). Sing t_a90az -> Sing t_a90aA -> Sing (Apply (Apply IntersperseSym0 t_a90az) t_a90aA :: NonEmpty a_a8ZDU)
type family Scanl (a_a906x :: (~>) b_a8ZDZ ((~>) a_a8ZE0 b_a8ZDZ)) (a_a906y :: b_a8ZDZ) (a_a906z :: [a_a8ZE0]) :: NonEmpty b_a8ZDZ
sScanl :: forall b_a8ZDZ a_a8ZE0 (t_a90bL :: (~>) b_a8ZDZ ((~>) a_a8ZE0 b_a8ZDZ)) (t_a90bM :: b_a8ZDZ) (t_a90bN :: [a_a8ZE0]). Sing t_a90bL -> Sing t_a90bM -> Sing t_a90bN -> Sing (Apply (Apply (Apply ScanlSym0 t_a90bL) t_a90bM) t_a90bN :: NonEmpty b_a8ZDZ)
type family Scanr (a_a906I :: (~>) a_a8ZDX ((~>) b_a8ZDY b_a8ZDY)) (a_a906J :: b_a8ZDY) (a_a906K :: [a_a8ZDX]) :: NonEmpty b_a8ZDY
sScanr :: forall a_a8ZDX b_a8ZDY (t_a90bR :: (~>) a_a8ZDX ((~>) b_a8ZDY b_a8ZDY)) (t_a90bS :: b_a8ZDY) (t_a90bT :: [a_a8ZDX]). Sing t_a90bR -> Sing t_a90bS -> Sing t_a90bT -> Sing (Apply (Apply (Apply ScanrSym0 t_a90bR) t_a90bS) t_a90bT :: NonEmpty b_a8ZDY)
type family Scanl1 (a_a906T :: (~>) a_a8ZDW ((~>) a_a8ZDW a_a8ZDW)) (a_a906U :: NonEmpty a_a8ZDW) :: NonEmpty a_a8ZDW
sScanl1 :: forall a_a8ZDW (t_a90bX :: (~>) a_a8ZDW ((~>) a_a8ZDW a_a8ZDW)) (t_a90bY :: NonEmpty a_a8ZDW). Sing t_a90bX -> Sing t_a90bY -> Sing (Apply (Apply Scanl1Sym0 t_a90bX) t_a90bY :: NonEmpty a_a8ZDW)
type family Scanr1 (a_a9070 :: (~>) a_a8ZDV ((~>) a_a8ZDV a_a8ZDV)) (a_a9071 :: NonEmpty a_a8ZDV) :: NonEmpty a_a8ZDV
sScanr1 :: forall a_a8ZDV (t_a90c1 :: (~>) a_a8ZDV ((~>) a_a8ZDV a_a8ZDV)) (t_a90c2 :: NonEmpty a_a8ZDV). Sing t_a90c1 -> Sing t_a90c2 -> Sing (Apply (Apply Scanr1Sym0 t_a90c1) t_a90c2 :: NonEmpty a_a8ZDV)
type family Transpose (a_a908W :: NonEmpty (NonEmpty a_a8ZDm)) :: NonEmpty (NonEmpty a_a8ZDm)
sTranspose :: forall a_a8ZDm (t_a90cH :: NonEmpty (NonEmpty a_a8ZDm)). Sing t_a90cH -> Sing (Apply TransposeSym0 t_a90cH :: NonEmpty (NonEmpty a_a8ZDm))
type family SortBy (a_a905P :: (~>) a_a8ZDl ((~>) a_a8ZDl Ordering)) (a_a905Q :: NonEmpty a_a8ZDl) :: NonEmpty a_a8ZDl
sSortBy :: forall a_a8ZDl (t_a90br :: (~>) a_a8ZDl ((~>) a_a8ZDl Ordering)) (t_a90bs :: NonEmpty a_a8ZDl). Sing t_a90br -> Sing t_a90bs -> Sing (Apply (Apply SortBySym0 t_a90br) t_a90bs :: NonEmpty a_a8ZDl)
type family SortWith (a_a9061 :: (~>) a_a8ZDk o_a8ZDj) (a_a9062 :: NonEmpty a_a8ZDk) :: NonEmpty a_a8ZDk
sSortWith :: forall o_a8ZDj a_a8ZDk (t_a90bv :: (~>) a_a8ZDk o_a8ZDj) (t_a90bw :: NonEmpty a_a8ZDk). SOrd o_a8ZDj => Sing t_a90bv -> Sing t_a90bw -> Sing (Apply (Apply SortWithSym0 t_a90bv) t_a90bw :: NonEmpty a_a8ZDk)
type family Length (a_a908K :: NonEmpty a_a8ZEn) :: Nat
sLength :: forall a_a8ZEn (t_a90cB :: NonEmpty a_a8ZEn). Sing t_a90cB -> Sing (Apply LengthSym0 t_a90cB :: Nat)
type family Head (a_a907E :: NonEmpty a_a8ZEg) :: a_a8ZEg
sHead :: forall a_a8ZEg (t_a90cl :: NonEmpty a_a8ZEg). Sing t_a90cl -> Sing (Apply HeadSym0 t_a90cl :: a_a8ZEg)
type family Tail (a_a907B :: NonEmpty a_a8ZEf) :: [a_a8ZEf]
sTail :: forall a_a8ZEf (t_a90cj :: NonEmpty a_a8ZEf). Sing t_a90cj -> Sing (Apply TailSym0 t_a90cj :: [a_a8ZEf])
type family Last (a_a907x :: NonEmpty a_a8ZEe) :: a_a8ZEe
sLast :: forall a_a8ZEe (t_a90ch :: NonEmpty a_a8ZEe). Sing t_a90ch -> Sing (Apply LastSym0 t_a90ch :: a_a8ZEe)
type family Init (a_a907t :: NonEmpty a_a8ZEd) :: [a_a8ZEd]
sInit :: forall a_a8ZEd (t_a90cf :: NonEmpty a_a8ZEd). Sing t_a90cf -> Sing (Apply InitSym0 t_a90cf :: [a_a8ZEd])
type family (<|) (a_a907c :: a_a8ZEc) (a_a907d :: NonEmpty a_a8ZEc) :: NonEmpty a_a8ZEc
(%<|) :: forall a_a8ZEc (t_a90c7 :: a_a8ZEc) (t_a90c8 :: NonEmpty a_a8ZEc). Sing t_a90c7 -> Sing t_a90c8 -> Sing (Apply (Apply (<|@#@$) t_a90c7) t_a90c8 :: NonEmpty a_a8ZEc)
type family Cons (a_a907n :: a_a8ZEb) (a_a907o :: NonEmpty a_a8ZEb) :: NonEmpty a_a8ZEb
sCons :: forall a_a8ZEb (t_a90cb :: a_a8ZEb) (t_a90cc :: NonEmpty a_a8ZEb). Sing t_a90cb -> Sing t_a90cc -> Sing (Apply (Apply ConsSym0 t_a90cb) t_a90cc :: NonEmpty a_a8ZEb)
type family Uncons (a_a908e :: NonEmpty a_a8ZEj) :: (a_a8ZEj, Maybe (NonEmpty a_a8ZEj))
sUncons :: forall a_a8ZEj (t_a90ct :: NonEmpty a_a8ZEj). Sing t_a90ct -> Sing (Apply UnconsSym0 t_a90ct :: (a_a8ZEj, Maybe (NonEmpty a_a8ZEj)))
type family Unfoldr (a_a907H :: (~>) a_a8ZEh (b_a8ZEi, Maybe a_a8ZEh)) (a_a907I :: a_a8ZEh) :: NonEmpty b_a8ZEi
sUnfoldr :: forall a_a8ZEh b_a8ZEi (t_a90cn :: (~>) a_a8ZEh (b_a8ZEi, Maybe a_a8ZEh)) (t_a90co :: a_a8ZEh). Sing t_a90cn -> Sing t_a90co -> Sing (Apply (Apply UnfoldrSym0 t_a90cn) t_a90co :: NonEmpty b_a8ZEi)
type family Sort (a_a9079 :: NonEmpty a_a8ZEa) :: NonEmpty a_a8ZEa
sSort :: forall a_a8ZEa (t_a90c5 :: NonEmpty a_a8ZEa). SOrd a_a8ZEa => Sing t_a90c5 -> Sing (Apply SortSym0 t_a90c5 :: NonEmpty a_a8ZEa)
type family Reverse (a_a905M :: NonEmpty a_a8ZDT) :: NonEmpty a_a8ZDT
sReverse :: forall a_a8ZDT (t_a90bp :: NonEmpty a_a8ZDT). Sing t_a90bp -> Sing (Apply ReverseSym0 t_a90bp :: NonEmpty a_a8ZDT)
type family Inits (a_a906h :: [a_a8ZE3]) :: NonEmpty [a_a8ZE3]
sInits :: forall a_a8ZE3 (t_a90bD :: [a_a8ZE3]). Sing t_a90bD -> Sing (Apply InitsSym0 t_a90bD :: NonEmpty [a_a8ZE3])
type family Tails (a_a906m :: [a_a8ZE2]) :: NonEmpty [a_a8ZE2]
sTails :: forall a_a8ZE2 (t_a90bF :: [a_a8ZE2]). Sing t_a90bF -> Sing (Apply TailsSym0 t_a90bF :: NonEmpty [a_a8ZE2])
type family Unfold (a_a908i :: (~>) a_a8ZEl (b_a8ZEm, Maybe a_a8ZEl)) (a_a908j :: a_a8ZEl) :: NonEmpty b_a8ZEm
sUnfold :: forall a_a8ZEl b_a8ZEm (t_a90cv :: (~>) a_a8ZEl (b_a8ZEm, Maybe a_a8ZEl)) (t_a90cw :: a_a8ZEl). Sing t_a90cv -> Sing t_a90cw -> Sing (Apply (Apply UnfoldSym0 t_a90cv) t_a90cw :: NonEmpty b_a8ZEm)
type family Insert (a_a906p :: a_a8ZE1) (a_a906q :: [a_a8ZE1]) :: NonEmpty a_a8ZE1
sInsert :: forall a_a8ZE1 (t_a90bH :: a_a8ZE1) (t_a90bI :: [a_a8ZE1]). SOrd a_a8ZE1 => Sing t_a90bH -> Sing t_a90bI -> Sing (Apply (Apply InsertSym0 t_a90bH) t_a90bI :: NonEmpty a_a8ZE1)
type family Take (a_a904o :: Nat) (a_a904p :: NonEmpty a_a8ZDS) :: [a_a8ZDS]
sTake :: forall a_a8ZDS (t_a90aJ :: Nat) (t_a90aK :: NonEmpty a_a8ZDS). Sing t_a90aJ -> Sing t_a90aK -> Sing (Apply (Apply TakeSym0 t_a90aJ) t_a90aK :: [a_a8ZDS])
type family Drop (a_a904w :: Nat) (a_a904x :: NonEmpty a_a8ZDR) :: [a_a8ZDR]
sDrop :: forall a_a8ZDR (t_a90aN :: Nat) (t_a90aO :: NonEmpty a_a8ZDR). Sing t_a90aN -> Sing t_a90aO -> Sing (Apply (Apply DropSym0 t_a90aN) t_a90aO :: [a_a8ZDR])
type family SplitAt (a_a904E :: Nat) (a_a904F :: NonEmpty a_a8ZDQ) :: ([a_a8ZDQ], [a_a8ZDQ])
sSplitAt :: forall a_a8ZDQ (t_a90aR :: Nat) (t_a90aS :: NonEmpty a_a8ZDQ). Sing t_a90aR -> Sing t_a90aS -> Sing (Apply (Apply SplitAtSym0 t_a90aR) t_a90aS :: ([a_a8ZDQ], [a_a8ZDQ]))
type family TakeWhile (a_a904M :: (~>) a_a8ZDP Bool) (a_a904N :: NonEmpty a_a8ZDP) :: [a_a8ZDP]
sTakeWhile :: forall a_a8ZDP (t_a90aV :: (~>) a_a8ZDP Bool) (t_a90aW :: NonEmpty a_a8ZDP). Sing t_a90aV -> Sing t_a90aW -> Sing (Apply (Apply TakeWhileSym0 t_a90aV) t_a90aW :: [a_a8ZDP])
type family DropWhile (a_a904U :: (~>) a_a8ZDO Bool) (a_a904V :: NonEmpty a_a8ZDO) :: [a_a8ZDO]
sDropWhile :: forall a_a8ZDO (t_a90aZ :: (~>) a_a8ZDO Bool) (t_a90b0 :: NonEmpty a_a8ZDO). Sing t_a90aZ -> Sing t_a90b0 -> Sing (Apply (Apply DropWhileSym0 t_a90aZ) t_a90b0 :: [a_a8ZDO])
type family Span (a_a9052 :: (~>) a_a8ZDN Bool) (a_a9053 :: NonEmpty a_a8ZDN) :: ([a_a8ZDN], [a_a8ZDN])
sSpan :: forall a_a8ZDN (t_a90b3 :: (~>) a_a8ZDN Bool) (t_a90b4 :: NonEmpty a_a8ZDN). Sing t_a90b3 -> Sing t_a90b4 -> Sing (Apply (Apply SpanSym0 t_a90b3) t_a90b4 :: ([a_a8ZDN], [a_a8ZDN]))
type family Break (a_a905a :: (~>) a_a8ZDM Bool) (a_a905b :: NonEmpty a_a8ZDM) :: ([a_a8ZDM], [a_a8ZDM])
sBreak :: forall a_a8ZDM (t_a90b7 :: (~>) a_a8ZDM Bool) (t_a90b8 :: NonEmpty a_a8ZDM). Sing t_a90b7 -> Sing t_a90b8 -> Sing (Apply (Apply BreakSym0 t_a90b7) t_a90b8 :: ([a_a8ZDM], [a_a8ZDM]))
type family Filter (a_a905i :: (~>) a_a8ZDL Bool) (a_a905j :: NonEmpty a_a8ZDL) :: [a_a8ZDL]
sFilter :: forall a_a8ZDL (t_a90bb :: (~>) a_a8ZDL Bool) (t_a90bc :: NonEmpty a_a8ZDL). Sing t_a90bb -> Sing t_a90bc -> Sing (Apply (Apply FilterSym0 t_a90bb) t_a90bc :: [a_a8ZDL])
type family Partition (a_a905q :: (~>) a_a8ZDK Bool) (a_a905r :: NonEmpty a_a8ZDK) :: ([a_a8ZDK], [a_a8ZDK])
sPartition :: forall a_a8ZDK (t_a90bf :: (~>) a_a8ZDK Bool) (t_a90bg :: NonEmpty a_a8ZDK). Sing t_a90bf -> Sing t_a90bg -> Sing (Apply (Apply PartitionSym0 t_a90bf) t_a90bg :: ([a_a8ZDK], [a_a8ZDK]))
type family Group (a_a9040 :: [a_a8ZDJ]) :: [NonEmpty a_a8ZDJ]
sGroup :: forall a_a8ZDJ (t_a90ax :: [a_a8ZDJ]). SEq a_a8ZDJ => Sing t_a90ax -> Sing (Apply GroupSym0 t_a90ax :: [NonEmpty a_a8ZDJ])
type family GroupBy (a_a902e :: (~>) a_a8ZDI ((~>) a_a8ZDI Bool)) (a_a902f :: [a_a8ZDI]) :: [NonEmpty a_a8ZDI]
sGroupBy :: forall a_a8ZDI (t_a90ab :: (~>) a_a8ZDI ((~>) a_a8ZDI Bool)) (t_a90ac :: [a_a8ZDI]). Sing t_a90ab -> Sing t_a90ac -> Sing (Apply (Apply GroupBySym0 t_a90ab) t_a90ac :: [NonEmpty a_a8ZDI])
type family GroupWith (a_a9030 :: (~>) a_a8ZDH b_a8ZDG) (a_a9031 :: [a_a8ZDH]) :: [NonEmpty a_a8ZDH]
sGroupWith :: forall b_a8ZDG a_a8ZDH (t_a90af :: (~>) a_a8ZDH b_a8ZDG) (t_a90ag :: [a_a8ZDH]). SEq b_a8ZDG => Sing t_a90af -> Sing t_a90ag -> Sing (Apply (Apply GroupWithSym0 t_a90af) t_a90ag :: [NonEmpty a_a8ZDH])
type family GroupAllWith (a_a9038 :: (~>) a_a8ZDF b_a8ZDE) (a_a9039 :: [a_a8ZDF]) :: [NonEmpty a_a8ZDF]
sGroupAllWith :: forall b_a8ZDE a_a8ZDF (t_a90aj :: (~>) a_a8ZDF b_a8ZDE) (t_a90ak :: [a_a8ZDF]). SOrd b_a8ZDE => Sing t_a90aj -> Sing t_a90ak -> Sing (Apply (Apply GroupAllWithSym0 t_a90aj) t_a90ak :: [NonEmpty a_a8ZDF])
type family Group1 (a_a903N :: NonEmpty a_a8ZDD) :: NonEmpty (NonEmpty a_a8ZDD)
sGroup1 :: forall a_a8ZDD (t_a90ar :: NonEmpty a_a8ZDD). SEq a_a8ZDD => Sing t_a90ar -> Sing (Apply Group1Sym0 t_a90ar :: NonEmpty (NonEmpty a_a8ZDD))
type family GroupBy1 (a_a903g :: (~>) a_a8ZDC ((~>) a_a8ZDC Bool)) (a_a903h :: NonEmpty a_a8ZDC) :: NonEmpty (NonEmpty a_a8ZDC)
sGroupBy1 :: forall a_a8ZDC (t_a90an :: (~>) a_a8ZDC ((~>) a_a8ZDC Bool)) (t_a90ao :: NonEmpty a_a8ZDC). Sing t_a90an -> Sing t_a90ao -> Sing (Apply (Apply GroupBy1Sym0 t_a90an) t_a90ao :: NonEmpty (NonEmpty a_a8ZDC))
type family GroupWith1 (a_a903Q :: (~>) a_a8ZDB b_a8ZDA) (a_a903R :: NonEmpty a_a8ZDB) :: NonEmpty (NonEmpty a_a8ZDB)
sGroupWith1 :: forall b_a8ZDA a_a8ZDB (t_a90at :: (~>) a_a8ZDB b_a8ZDA) (t_a90au :: NonEmpty a_a8ZDB). SEq b_a8ZDA => Sing t_a90at -> Sing t_a90au -> Sing (Apply (Apply GroupWith1Sym0 t_a90at) t_a90au :: NonEmpty (NonEmpty a_a8ZDB))
type family GroupAllWith1 (a_a9067 :: (~>) a_a8ZDz b_a8ZDy) (a_a9068 :: NonEmpty a_a8ZDz) :: NonEmpty (NonEmpty a_a8ZDz)
sGroupAllWith1 :: forall b_a8ZDy a_a8ZDz (t_a90bz :: (~>) a_a8ZDz b_a8ZDy) (t_a90bA :: NonEmpty a_a8ZDz). SOrd b_a8ZDy => Sing t_a90bz -> Sing t_a90bA -> Sing (Apply (Apply GroupAllWith1Sym0 t_a90bz) t_a90bA :: NonEmpty (NonEmpty a_a8ZDz))
type family IsPrefixOf (a_a9026 :: [a_a8ZDx]) (a_a9027 :: NonEmpty a_a8ZDx) :: Bool
sIsPrefixOf :: forall a_a8ZDx (t_a90a7 :: [a_a8ZDx]) (t_a90a8 :: NonEmpty a_a8ZDx). SEq a_a8ZDx => Sing t_a90a7 -> Sing t_a90a8 -> Sing (Apply (Apply IsPrefixOfSym0 t_a90a7) t_a90a8 :: Bool)
type family Nub (a_a900Z :: NonEmpty a_a8ZDo) :: NonEmpty a_a8ZDo
sNub :: forall a_a8ZDo (t_a909P :: NonEmpty a_a8ZDo). SEq a_a8ZDo => Sing t_a909P -> Sing (Apply NubSym0 t_a909P :: NonEmpty a_a8ZDo)
type family NubBy (a_a900I :: (~>) a_a8ZDn ((~>) a_a8ZDn Bool)) (a_a900J :: NonEmpty a_a8ZDn) :: NonEmpty a_a8ZDn
sNubBy :: forall a_a8ZDn (t_a909L :: (~>) a_a8ZDn ((~>) a_a8ZDn Bool)) (t_a909M :: NonEmpty a_a8ZDn). Sing t_a909L -> Sing t_a909M -> Sing (Apply (Apply NubBySym0 t_a909L) t_a909M :: NonEmpty a_a8ZDn)
type family (!!) (a_a901O :: NonEmpty a_a8ZDw) (a_a901P :: Nat) :: a_a8ZDw
(%!!) :: forall a_a8ZDw (t_a90a3 :: NonEmpty a_a8ZDw) (t_a90a4 :: Nat). Sing t_a90a3 -> Sing t_a90a4 -> Sing (Apply (Apply (!!@#@$) t_a90a3) t_a90a4 :: a_a8ZDw)
type family Zip (a_a901G :: NonEmpty a_a8ZDu) (a_a901H :: NonEmpty b_a8ZDv) :: NonEmpty (a_a8ZDu, b_a8ZDv)
sZip :: forall a_a8ZDu b_a8ZDv (t_a909Z :: NonEmpty a_a8ZDu) (t_a90a0 :: NonEmpty b_a8ZDv). Sing t_a909Z -> Sing t_a90a0 -> Sing (Apply (Apply ZipSym0 t_a909Z) t_a90a0 :: NonEmpty (a_a8ZDu, b_a8ZDv))
type family ZipWith (a_a901v :: (~>) a_a8ZDr ((~>) b_a8ZDs c_a8ZDt)) (a_a901w :: NonEmpty a_a8ZDr) (a_a901x :: NonEmpty b_a8ZDs) :: NonEmpty c_a8ZDt
sZipWith :: forall a_a8ZDr b_a8ZDs c_a8ZDt (t_a909T :: (~>) a_a8ZDr ((~>) b_a8ZDs c_a8ZDt)) (t_a909U :: NonEmpty a_a8ZDr) (t_a909V :: NonEmpty b_a8ZDs). Sing t_a909T -> Sing t_a909U -> Sing t_a909V -> Sing (Apply (Apply (Apply ZipWithSym0 t_a909T) t_a909U) t_a909V :: NonEmpty c_a8ZDt)
type family Unzip (a_a9012 :: NonEmpty (a_a8ZDp, b_a8ZDq)) :: (NonEmpty a_a8ZDp, NonEmpty b_a8ZDq)
sUnzip :: forall a_a8ZDp b_a8ZDq (t_a909R :: NonEmpty (a_a8ZDp, b_a8ZDq)). Sing t_a909R -> Sing (Apply UnzipSym0 t_a909R :: (NonEmpty a_a8ZDp, NonEmpty b_a8ZDq))
type family FromList (a_a905y :: [a_a8ZE9]) :: NonEmpty a_a8ZE9
sFromList :: forall a_a8ZE9 (t_a90bj :: [a_a8ZE9]). Sing t_a90bj -> Sing (Apply FromListSym0 t_a90bj :: NonEmpty a_a8ZE9)
type family ToList (a_a904k :: NonEmpty a_a8ZE8) :: [a_a8ZE8]
sToList :: forall a_a8ZE8 (t_a90aH :: NonEmpty a_a8ZE8). Sing t_a90aH -> Sing (Apply ToListSym0 t_a90aH :: [a_a8ZE8])
type family NonEmpty_ (a_a908a :: [a_a8ZEk]) :: Maybe (NonEmpty a_a8ZEk)
sNonEmpty_ :: forall a_a8ZEk (t_a90cr :: [a_a8ZEk]). Sing t_a90cr -> Sing (Apply NonEmpty_Sym0 t_a90cr :: Maybe (NonEmpty a_a8ZEk))
type family Xor (a_a908x :: NonEmpty Bool) :: Bool
sXor :: forall (t_a90cz :: NonEmpty Bool). Sing t_a90cz -> Sing (Apply XorSym0 t_a90cz :: Bool)
data (:|@#@$) :: forall (a6989586621679070501 :: Type). (~>) a6989586621679070501 ((~>) [a6989586621679070501] (NonEmpty (a6989586621679070501 :: Type)))
infixr 5 :|@#@$
data (:|@#@$$) (t6989586621679312508 :: (a6989586621679070501 :: Type)) :: (~>) [a6989586621679070501] (NonEmpty (a6989586621679070501 :: Type))
infixr 5 :|@#@$$
type (:|@#@$$$) (t6989586621679312508 :: a6989586621679070501) (t6989586621679312509 :: [a6989586621679070501]) =  '(:|) t6989586621679312508 t6989586621679312509
data MapSym0 :: forall a6989586621681153384 b6989586621681153385. (~>) ((~>) a6989586621681153384 b6989586621681153385) ((~>) (NonEmpty a6989586621681153384) (NonEmpty b6989586621681153385))
data MapSym1 (a6989586621681155005 :: (~>) a6989586621681153384 b6989586621681153385) :: (~>) (NonEmpty a6989586621681153384) (NonEmpty b6989586621681153385)
type MapSym2 (a6989586621681155005 :: (~>) a6989586621681153384 b6989586621681153385) (a6989586621681155006 :: NonEmpty a6989586621681153384) = Map a6989586621681155005 a6989586621681155006
data IntersperseSym0 :: forall a6989586621681153374. (~>) a6989586621681153374 ((~>) (NonEmpty a6989586621681153374) (NonEmpty a6989586621681153374))
data IntersperseSym1 (a6989586621681154995 :: a6989586621681153374) :: (~>) (NonEmpty a6989586621681153374) (NonEmpty a6989586621681153374)
type IntersperseSym2 (a6989586621681154995 :: a6989586621681153374) (a6989586621681154996 :: NonEmpty a6989586621681153374) = Intersperse a6989586621681154995 a6989586621681154996
data ScanlSym0 :: forall a6989586621681153380 b6989586621681153379. (~>) ((~>) b6989586621681153379 ((~>) a6989586621681153380 b6989586621681153379)) ((~>) b6989586621681153379 ((~>) [a6989586621681153380] (NonEmpty b6989586621681153379)))
data ScanlSym1 (a6989586621681155149 :: (~>) b6989586621681153379 ((~>) a6989586621681153380 b6989586621681153379)) :: (~>) b6989586621681153379 ((~>) [a6989586621681153380] (NonEmpty b6989586621681153379))
data ScanlSym2 (a6989586621681155149 :: (~>) b6989586621681153379 ((~>) a6989586621681153380 b6989586621681153379)) (a6989586621681155150 :: b6989586621681153379) :: (~>) [a6989586621681153380] (NonEmpty b6989586621681153379)
type ScanlSym3 (a6989586621681155149 :: (~>) b6989586621681153379 ((~>) a6989586621681153380 b6989586621681153379)) (a6989586621681155150 :: b6989586621681153379) (a6989586621681155151 :: [a6989586621681153380]) = Scanl a6989586621681155149 a6989586621681155150 a6989586621681155151
data ScanrSym0 :: forall a6989586621681153377 b6989586621681153378. (~>) ((~>) a6989586621681153377 ((~>) b6989586621681153378 b6989586621681153378)) ((~>) b6989586621681153378 ((~>) [a6989586621681153377] (NonEmpty b6989586621681153378)))
data ScanrSym1 (a6989586621681155160 :: (~>) a6989586621681153377 ((~>) b6989586621681153378 b6989586621681153378)) :: (~>) b6989586621681153378 ((~>) [a6989586621681153377] (NonEmpty b6989586621681153378))
data ScanrSym2 (a6989586621681155160 :: (~>) a6989586621681153377 ((~>) b6989586621681153378 b6989586621681153378)) (a6989586621681155161 :: b6989586621681153378) :: (~>) [a6989586621681153377] (NonEmpty b6989586621681153378)
type ScanrSym3 (a6989586621681155160 :: (~>) a6989586621681153377 ((~>) b6989586621681153378 b6989586621681153378)) (a6989586621681155161 :: b6989586621681153378) (a6989586621681155162 :: [a6989586621681153377]) = Scanr a6989586621681155160 a6989586621681155161 a6989586621681155162
data Scanl1Sym0 :: forall a6989586621681153376. (~>) ((~>) a6989586621681153376 ((~>) a6989586621681153376 a6989586621681153376)) ((~>) (NonEmpty a6989586621681153376) (NonEmpty a6989586621681153376))
data Scanl1Sym1 (a6989586621681155171 :: (~>) a6989586621681153376 ((~>) a6989586621681153376 a6989586621681153376)) :: (~>) (NonEmpty a6989586621681153376) (NonEmpty a6989586621681153376)
type Scanl1Sym2 (a6989586621681155171 :: (~>) a6989586621681153376 ((~>) a6989586621681153376 a6989586621681153376)) (a6989586621681155172 :: NonEmpty a6989586621681153376) = Scanl1 a6989586621681155171 a6989586621681155172
data Scanr1Sym0 :: forall a6989586621681153375. (~>) ((~>) a6989586621681153375 ((~>) a6989586621681153375 a6989586621681153375)) ((~>) (NonEmpty a6989586621681153375) (NonEmpty a6989586621681153375))
data Scanr1Sym1 (a6989586621681155178 :: (~>) a6989586621681153375 ((~>) a6989586621681153375 a6989586621681153375)) :: (~>) (NonEmpty a6989586621681153375) (NonEmpty a6989586621681153375)
type Scanr1Sym2 (a6989586621681155178 :: (~>) a6989586621681153375 ((~>) a6989586621681153375 a6989586621681153375)) (a6989586621681155179 :: NonEmpty a6989586621681153375) = Scanr1 a6989586621681155178 a6989586621681155179
data TransposeSym0 :: forall a6989586621681153340. (~>) (NonEmpty (NonEmpty a6989586621681153340)) (NonEmpty (NonEmpty a6989586621681153340))
type TransposeSym1 (a6989586621681155298 :: NonEmpty (NonEmpty a6989586621681153340)) = Transpose a6989586621681155298
data SortBySym0 :: forall a6989586621681153339. (~>) ((~>) a6989586621681153339 ((~>) a6989586621681153339 Ordering)) ((~>) (NonEmpty a6989586621681153339) (NonEmpty a6989586621681153339))
data SortBySym1 (a6989586621681155105 :: (~>) a6989586621681153339 ((~>) a6989586621681153339 Ordering)) :: (~>) (NonEmpty a6989586621681153339) (NonEmpty a6989586621681153339)
type SortBySym2 (a6989586621681155105 :: (~>) a6989586621681153339 ((~>) a6989586621681153339 Ordering)) (a6989586621681155106 :: NonEmpty a6989586621681153339) = SortBy a6989586621681155105 a6989586621681155106
data SortWithSym0 :: forall a6989586621681153338 o6989586621681153337. (~>) ((~>) a6989586621681153338 o6989586621681153337) ((~>) (NonEmpty a6989586621681153338) (NonEmpty a6989586621681153338))
data SortWithSym1 (a6989586621681155117 :: (~>) a6989586621681153338 o6989586621681153337) :: (~>) (NonEmpty a6989586621681153338) (NonEmpty a6989586621681153338)
type SortWithSym2 (a6989586621681155117 :: (~>) a6989586621681153338 o6989586621681153337) (a6989586621681155118 :: NonEmpty a6989586621681153338) = SortWith a6989586621681155117 a6989586621681155118
data LengthSym0 :: forall a6989586621681153403. (~>) (NonEmpty a6989586621681153403) Nat
type LengthSym1 (a6989586621681155286 :: NonEmpty a6989586621681153403) = Length a6989586621681155286
data HeadSym0 :: forall a6989586621681153396. (~>) (NonEmpty a6989586621681153396) a6989586621681153396
type HeadSym1 (a6989586621681155218 :: NonEmpty a6989586621681153396) = Head a6989586621681155218
data TailSym0 :: forall a6989586621681153395. (~>) (NonEmpty a6989586621681153395) [a6989586621681153395]
type TailSym1 (a6989586621681155215 :: NonEmpty a6989586621681153395) = Tail a6989586621681155215
data LastSym0 :: forall a6989586621681153394. (~>) (NonEmpty a6989586621681153394) a6989586621681153394
type LastSym1 (a6989586621681155211 :: NonEmpty a6989586621681153394) = Last a6989586621681155211
data InitSym0 :: forall a6989586621681153393. (~>) (NonEmpty a6989586621681153393) [a6989586621681153393]
type InitSym1 (a6989586621681155207 :: NonEmpty a6989586621681153393) = Init a6989586621681155207
data (<|@#@$) :: forall a6989586621681153392. (~>) a6989586621681153392 ((~>) (NonEmpty a6989586621681153392) (NonEmpty a6989586621681153392))
data (<|@#@$$) (a6989586621681155190 :: a6989586621681153392) :: (~>) (NonEmpty a6989586621681153392) (NonEmpty a6989586621681153392)
type (<|@#@$$$) (a6989586621681155190 :: a6989586621681153392) (a6989586621681155191 :: NonEmpty a6989586621681153392) = (<|) a6989586621681155190 a6989586621681155191
data ConsSym0 :: forall a6989586621681153391. (~>) a6989586621681153391 ((~>) (NonEmpty a6989586621681153391) (NonEmpty a6989586621681153391))
data ConsSym1 (a6989586621681155201 :: a6989586621681153391) :: (~>) (NonEmpty a6989586621681153391) (NonEmpty a6989586621681153391)
type ConsSym2 (a6989586621681155201 :: a6989586621681153391) (a6989586621681155202 :: NonEmpty a6989586621681153391) = Cons a6989586621681155201 a6989586621681155202
data UnconsSym0 :: forall a6989586621681153399. (~>) (NonEmpty a6989586621681153399) (a6989586621681153399, Maybe (NonEmpty a6989586621681153399))
type UnconsSym1 (a6989586621681155254 :: NonEmpty a6989586621681153399) = Uncons a6989586621681155254
data UnfoldrSym0 :: forall a6989586621681153397 b6989586621681153398. (~>) ((~>) a6989586621681153397 (b6989586621681153398, Maybe a6989586621681153397)) ((~>) a6989586621681153397 (NonEmpty b6989586621681153398))
data UnfoldrSym1 (a6989586621681155221 :: (~>) a6989586621681153397 (b6989586621681153398, Maybe a6989586621681153397)) :: (~>) a6989586621681153397 (NonEmpty b6989586621681153398)
type UnfoldrSym2 (a6989586621681155221 :: (~>) a6989586621681153397 (b6989586621681153398, Maybe a6989586621681153397)) (a6989586621681155222 :: a6989586621681153397) = Unfoldr a6989586621681155221 a6989586621681155222
data SortSym0 :: forall a6989586621681153390. (~>) (NonEmpty a6989586621681153390) (NonEmpty a6989586621681153390)
type SortSym1 (a6989586621681155187 :: NonEmpty a6989586621681153390) = Sort a6989586621681155187
data ReverseSym0 :: forall a6989586621681153373. (~>) (NonEmpty a6989586621681153373) (NonEmpty a6989586621681153373)
type ReverseSym1 (a6989586621681155102 :: NonEmpty a6989586621681153373) = Reverse a6989586621681155102
data InitsSym0 :: forall a6989586621681153383. (~>) [a6989586621681153383] (NonEmpty [a6989586621681153383])
type InitsSym1 (a6989586621681155133 :: [a6989586621681153383]) = Inits a6989586621681155133
data TailsSym0 :: forall a6989586621681153382. (~>) [a6989586621681153382] (NonEmpty [a6989586621681153382])
type TailsSym1 (a6989586621681155138 :: [a6989586621681153382]) = Tails a6989586621681155138
data UnfoldSym0 :: forall a6989586621681153401 b6989586621681153402. (~>) ((~>) a6989586621681153401 (b6989586621681153402, Maybe a6989586621681153401)) ((~>) a6989586621681153401 (NonEmpty b6989586621681153402))
data UnfoldSym1 (a6989586621681155258 :: (~>) a6989586621681153401 (b6989586621681153402, Maybe a6989586621681153401)) :: (~>) a6989586621681153401 (NonEmpty b6989586621681153402)
data InsertSym0 :: forall a6989586621681153381. (~>) a6989586621681153381 ((~>) [a6989586621681153381] (NonEmpty a6989586621681153381))
data InsertSym1 (a6989586621681155141 :: a6989586621681153381) :: (~>) [a6989586621681153381] (NonEmpty a6989586621681153381)
type InsertSym2 (a6989586621681155141 :: a6989586621681153381) (a6989586621681155142 :: [a6989586621681153381]) = Insert a6989586621681155141 a6989586621681155142
data TakeSym0 :: forall a6989586621681153372. (~>) Nat ((~>) (NonEmpty a6989586621681153372) [a6989586621681153372])
data TakeSym1 (a6989586621681155016 :: Nat) :: forall a6989586621681153372. (~>) (NonEmpty a6989586621681153372) [a6989586621681153372]
type TakeSym2 (a6989586621681155016 :: Nat) (a6989586621681155017 :: NonEmpty a6989586621681153372) = Take a6989586621681155016 a6989586621681155017
data DropSym0 :: forall a6989586621681153371. (~>) Nat ((~>) (NonEmpty a6989586621681153371) [a6989586621681153371])
data DropSym1 (a6989586621681155024 :: Nat) :: forall a6989586621681153371. (~>) (NonEmpty a6989586621681153371) [a6989586621681153371]
type DropSym2 (a6989586621681155024 :: Nat) (a6989586621681155025 :: NonEmpty a6989586621681153371) = Drop a6989586621681155024 a6989586621681155025
data SplitAtSym0 :: forall a6989586621681153370. (~>) Nat ((~>) (NonEmpty a6989586621681153370) ([a6989586621681153370], [a6989586621681153370]))
data SplitAtSym1 (a6989586621681155032 :: Nat) :: forall a6989586621681153370. (~>) (NonEmpty a6989586621681153370) ([a6989586621681153370], [a6989586621681153370])
type SplitAtSym2 (a6989586621681155032 :: Nat) (a6989586621681155033 :: NonEmpty a6989586621681153370) = SplitAt a6989586621681155032 a6989586621681155033
data TakeWhileSym0 :: forall a6989586621681153369. (~>) ((~>) a6989586621681153369 Bool) ((~>) (NonEmpty a6989586621681153369) [a6989586621681153369])
data TakeWhileSym1 (a6989586621681155040 :: (~>) a6989586621681153369 Bool) :: (~>) (NonEmpty a6989586621681153369) [a6989586621681153369]
type TakeWhileSym2 (a6989586621681155040 :: (~>) a6989586621681153369 Bool) (a6989586621681155041 :: NonEmpty a6989586621681153369) = TakeWhile a6989586621681155040 a6989586621681155041
data DropWhileSym0 :: forall a6989586621681153368. (~>) ((~>) a6989586621681153368 Bool) ((~>) (NonEmpty a6989586621681153368) [a6989586621681153368])
data DropWhileSym1 (a6989586621681155048 :: (~>) a6989586621681153368 Bool) :: (~>) (NonEmpty a6989586621681153368) [a6989586621681153368]
type DropWhileSym2 (a6989586621681155048 :: (~>) a6989586621681153368 Bool) (a6989586621681155049 :: NonEmpty a6989586621681153368) = DropWhile a6989586621681155048 a6989586621681155049
data SpanSym0 :: forall a6989586621681153367. (~>) ((~>) a6989586621681153367 Bool) ((~>) (NonEmpty a6989586621681153367) ([a6989586621681153367], [a6989586621681153367]))
data SpanSym1 (a6989586621681155056 :: (~>) a6989586621681153367 Bool) :: (~>) (NonEmpty a6989586621681153367) ([a6989586621681153367], [a6989586621681153367])
type SpanSym2 (a6989586621681155056 :: (~>) a6989586621681153367 Bool) (a6989586621681155057 :: NonEmpty a6989586621681153367) = Span a6989586621681155056 a6989586621681155057
data BreakSym0 :: forall a6989586621681153366. (~>) ((~>) a6989586621681153366 Bool) ((~>) (NonEmpty a6989586621681153366) ([a6989586621681153366], [a6989586621681153366]))
data BreakSym1 (a6989586621681155064 :: (~>) a6989586621681153366 Bool) :: (~>) (NonEmpty a6989586621681153366) ([a6989586621681153366], [a6989586621681153366])
type BreakSym2 (a6989586621681155064 :: (~>) a6989586621681153366 Bool) (a6989586621681155065 :: NonEmpty a6989586621681153366) = Break a6989586621681155064 a6989586621681155065
data FilterSym0 :: forall a6989586621681153365. (~>) ((~>) a6989586621681153365 Bool) ((~>) (NonEmpty a6989586621681153365) [a6989586621681153365])
data FilterSym1 (a6989586621681155072 :: (~>) a6989586621681153365 Bool) :: (~>) (NonEmpty a6989586621681153365) [a6989586621681153365]
type FilterSym2 (a6989586621681155072 :: (~>) a6989586621681153365 Bool) (a6989586621681155073 :: NonEmpty a6989586621681153365) = Filter a6989586621681155072 a6989586621681155073
data PartitionSym0 :: forall a6989586621681153364. (~>) ((~>) a6989586621681153364 Bool) ((~>) (NonEmpty a6989586621681153364) ([a6989586621681153364], [a6989586621681153364]))
data PartitionSym1 (a6989586621681155080 :: (~>) a6989586621681153364 Bool) :: (~>) (NonEmpty a6989586621681153364) ([a6989586621681153364], [a6989586621681153364])
type PartitionSym2 (a6989586621681155080 :: (~>) a6989586621681153364 Bool) (a6989586621681155081 :: NonEmpty a6989586621681153364) = Partition a6989586621681155080 a6989586621681155081
data GroupSym0 :: forall a6989586621681153363. (~>) [a6989586621681153363] [NonEmpty a6989586621681153363]
type GroupSym1 (a6989586621681154992 :: [a6989586621681153363]) = Group a6989586621681154992
data GroupBySym0 :: forall a6989586621681153362. (~>) ((~>) a6989586621681153362 ((~>) a6989586621681153362 Bool)) ((~>) [a6989586621681153362] [NonEmpty a6989586621681153362])
data GroupBySym1 (a6989586621681154882 :: (~>) a6989586621681153362 ((~>) a6989586621681153362 Bool)) :: (~>) [a6989586621681153362] [NonEmpty a6989586621681153362]
type GroupBySym2 (a6989586621681154882 :: (~>) a6989586621681153362 ((~>) a6989586621681153362 Bool)) (a6989586621681154883 :: [a6989586621681153362]) = GroupBy a6989586621681154882 a6989586621681154883
data GroupWithSym0 :: forall a6989586621681153361 b6989586621681153360. (~>) ((~>) a6989586621681153361 b6989586621681153360) ((~>) [a6989586621681153361] [NonEmpty a6989586621681153361])
data GroupWithSym1 (a6989586621681154930 :: (~>) a6989586621681153361 b6989586621681153360) :: (~>) [a6989586621681153361] [NonEmpty a6989586621681153361]
type GroupWithSym2 (a6989586621681154930 :: (~>) a6989586621681153361 b6989586621681153360) (a6989586621681154931 :: [a6989586621681153361]) = GroupWith a6989586621681154930 a6989586621681154931
data GroupAllWithSym0 :: forall a6989586621681153359 b6989586621681153358. (~>) ((~>) a6989586621681153359 b6989586621681153358) ((~>) [a6989586621681153359] [NonEmpty a6989586621681153359])
data GroupAllWithSym1 (a6989586621681154938 :: (~>) a6989586621681153359 b6989586621681153358) :: (~>) [a6989586621681153359] [NonEmpty a6989586621681153359]
type GroupAllWithSym2 (a6989586621681154938 :: (~>) a6989586621681153359 b6989586621681153358) (a6989586621681154939 :: [a6989586621681153359]) = GroupAllWith a6989586621681154938 a6989586621681154939
data Group1Sym0 :: forall a6989586621681153357. (~>) (NonEmpty a6989586621681153357) (NonEmpty (NonEmpty a6989586621681153357))
type Group1Sym1 (a6989586621681154979 :: NonEmpty a6989586621681153357) = Group1 a6989586621681154979
data GroupBy1Sym0 :: forall a6989586621681153356. (~>) ((~>) a6989586621681153356 ((~>) a6989586621681153356 Bool)) ((~>) (NonEmpty a6989586621681153356) (NonEmpty (NonEmpty a6989586621681153356)))
data GroupBy1Sym1 (a6989586621681154946 :: (~>) a6989586621681153356 ((~>) a6989586621681153356 Bool)) :: (~>) (NonEmpty a6989586621681153356) (NonEmpty (NonEmpty a6989586621681153356))
type GroupBy1Sym2 (a6989586621681154946 :: (~>) a6989586621681153356 ((~>) a6989586621681153356 Bool)) (a6989586621681154947 :: NonEmpty a6989586621681153356) = GroupBy1 a6989586621681154946 a6989586621681154947
data GroupWith1Sym0 :: forall a6989586621681153355 b6989586621681153354. (~>) ((~>) a6989586621681153355 b6989586621681153354) ((~>) (NonEmpty a6989586621681153355) (NonEmpty (NonEmpty a6989586621681153355)))
data GroupWith1Sym1 (a6989586621681154982 :: (~>) a6989586621681153355 b6989586621681153354) :: (~>) (NonEmpty a6989586621681153355) (NonEmpty (NonEmpty a6989586621681153355))
type GroupWith1Sym2 (a6989586621681154982 :: (~>) a6989586621681153355 b6989586621681153354) (a6989586621681154983 :: NonEmpty a6989586621681153355) = GroupWith1 a6989586621681154982 a6989586621681154983
data GroupAllWith1Sym0 :: forall a6989586621681153353 b6989586621681153352. (~>) ((~>) a6989586621681153353 b6989586621681153352) ((~>) (NonEmpty a6989586621681153353) (NonEmpty (NonEmpty a6989586621681153353)))
data GroupAllWith1Sym1 (a6989586621681155123 :: (~>) a6989586621681153353 b6989586621681153352) :: (~>) (NonEmpty a6989586621681153353) (NonEmpty (NonEmpty a6989586621681153353))
type GroupAllWith1Sym2 (a6989586621681155123 :: (~>) a6989586621681153353 b6989586621681153352) (a6989586621681155124 :: NonEmpty a6989586621681153353) = GroupAllWith1 a6989586621681155123 a6989586621681155124
data IsPrefixOfSym0 :: forall a6989586621681153351. (~>) [a6989586621681153351] ((~>) (NonEmpty a6989586621681153351) Bool)
data IsPrefixOfSym1 (a6989586621681154874 :: [a6989586621681153351]) :: (~>) (NonEmpty a6989586621681153351) Bool
type IsPrefixOfSym2 (a6989586621681154874 :: [a6989586621681153351]) (a6989586621681154875 :: NonEmpty a6989586621681153351) = IsPrefixOf a6989586621681154874 a6989586621681154875
data NubSym0 :: forall a6989586621681153342. (~>) (NonEmpty a6989586621681153342) (NonEmpty a6989586621681153342)
type NubSym1 (a6989586621681154805 :: NonEmpty a6989586621681153342) = Nub a6989586621681154805
data NubBySym0 :: forall a6989586621681153341. (~>) ((~>) a6989586621681153341 ((~>) a6989586621681153341 Bool)) ((~>) (NonEmpty a6989586621681153341) (NonEmpty a6989586621681153341))
data NubBySym1 (a6989586621681154788 :: (~>) a6989586621681153341 ((~>) a6989586621681153341 Bool)) :: (~>) (NonEmpty a6989586621681153341) (NonEmpty a6989586621681153341)
type NubBySym2 (a6989586621681154788 :: (~>) a6989586621681153341 ((~>) a6989586621681153341 Bool)) (a6989586621681154789 :: NonEmpty a6989586621681153341) = NubBy a6989586621681154788 a6989586621681154789
data (!!@#@$) :: forall a6989586621681153350. (~>) (NonEmpty a6989586621681153350) ((~>) Nat a6989586621681153350)
data (!!@#@$$) (a6989586621681154856 :: NonEmpty a6989586621681153350) :: (~>) Nat a6989586621681153350
type (!!@#@$$$) (a6989586621681154856 :: NonEmpty a6989586621681153350) (a6989586621681154857 :: Nat) = (!!) a6989586621681154856 a6989586621681154857
data ZipSym0 :: forall a6989586621681153348 b6989586621681153349. (~>) (NonEmpty a6989586621681153348) ((~>) (NonEmpty b6989586621681153349) (NonEmpty (a6989586621681153348, b6989586621681153349)))
data ZipSym1 (a6989586621681154848 :: NonEmpty a6989586621681153348) :: forall b6989586621681153349. (~>) (NonEmpty b6989586621681153349) (NonEmpty (a6989586621681153348, b6989586621681153349))
type ZipSym2 (a6989586621681154848 :: NonEmpty a6989586621681153348) (a6989586621681154849 :: NonEmpty b6989586621681153349) = Zip a6989586621681154848 a6989586621681154849
data ZipWithSym0 :: forall a6989586621681153345 b6989586621681153346 c6989586621681153347. (~>) ((~>) a6989586621681153345 ((~>) b6989586621681153346 c6989586621681153347)) ((~>) (NonEmpty a6989586621681153345) ((~>) (NonEmpty b6989586621681153346) (NonEmpty c6989586621681153347)))
data ZipWithSym1 (a6989586621681154837 :: (~>) a6989586621681153345 ((~>) b6989586621681153346 c6989586621681153347)) :: (~>) (NonEmpty a6989586621681153345) ((~>) (NonEmpty b6989586621681153346) (NonEmpty c6989586621681153347))
data ZipWithSym2 (a6989586621681154837 :: (~>) a6989586621681153345 ((~>) b6989586621681153346 c6989586621681153347)) (a6989586621681154838 :: NonEmpty a6989586621681153345) :: (~>) (NonEmpty b6989586621681153346) (NonEmpty c6989586621681153347)
type ZipWithSym3 (a6989586621681154837 :: (~>) a6989586621681153345 ((~>) b6989586621681153346 c6989586621681153347)) (a6989586621681154838 :: NonEmpty a6989586621681153345) (a6989586621681154839 :: NonEmpty b6989586621681153346) = ZipWith a6989586621681154837 a6989586621681154838 a6989586621681154839
data UnzipSym0 :: forall a6989586621681153343 b6989586621681153344. (~>) (NonEmpty (a6989586621681153343, b6989586621681153344)) (NonEmpty a6989586621681153343, NonEmpty b6989586621681153344)
type UnzipSym1 (a6989586621681154808 :: NonEmpty (a6989586621681153343, b6989586621681153344)) = Unzip a6989586621681154808
data FromListSym0 :: forall a6989586621681153389. (~>) [a6989586621681153389] (NonEmpty a6989586621681153389)
type FromListSym1 (a6989586621681155088 :: [a6989586621681153389]) = FromList a6989586621681155088
data ToListSym0 :: forall a6989586621681153388. (~>) (NonEmpty a6989586621681153388) [a6989586621681153388]
type ToListSym1 (a6989586621681155012 :: NonEmpty a6989586621681153388) = ToList a6989586621681155012
data NonEmpty_Sym0 :: forall a6989586621681153400. (~>) [a6989586621681153400] (Maybe (NonEmpty a6989586621681153400))
type NonEmpty_Sym1 (a6989586621681155250 :: [a6989586621681153400]) = NonEmpty_ a6989586621681155250
data XorSym0 :: (~>) (NonEmpty Bool) Bool
type XorSym1 (a6989586621681155273 :: NonEmpty Bool) = Xor a6989586621681155273
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Munzip_6989586621681155346Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip GHC.Base.NonEmpty
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.MzipWith_6989586621681155335Sym0
instance forall a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681155332 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.MzipWith_6989586621681155335Sym1 a6989586621681155332)
instance forall a6989586621681120835 b6989586621681120836 c6989586621681120837 (a6989586621681155333 :: a6989586621681120835 Data.Singletons.Internal.~> (b6989586621681120836 Data.Singletons.Internal.~> c6989586621681120837)) (a6989586621681155332 :: GHC.Base.NonEmpty a6989586621681120835). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.MzipWith_6989586621681155335Sym2 a6989586621681155333 a6989586621681155332)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Mzip_6989586621681155313Sym0
instance forall b6989586621681120834 a6989586621681120833 (a6989586621681155311 :: GHC.Base.NonEmpty a6989586621681120833). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Mzip_6989586621681155313Sym1 a6989586621681155311)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.TransposeSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.TransposeSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.FmapSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.FmapSym0
instance forall a6989586621681153404 b6989586621681153405 (a6989586621681155289 :: a6989586621681153404 Data.Singletons.Internal.~> b6989586621681153405). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.FmapSym1 a6989586621681155289)
instance forall a b (d :: a Data.Singletons.Internal.~> b). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.FmapSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.LengthSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.LengthSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.XorSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.XorSym0
instance forall b6989586621681153402 a6989586621681153401 (a6989586621681155258 :: a6989586621681153401 Data.Singletons.Internal.~> (b6989586621681153402, GHC.Maybe.Maybe a6989586621681153401)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.UnfoldSym1 a6989586621681155258)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.UnfoldSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.UnfoldSym0
instance forall a b (d :: a Data.Singletons.Internal.~> (b, GHC.Maybe.Maybe a)). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.UnfoldSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.UnconsSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.UnconsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.NonEmpty_Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.NonEmpty_Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.UnfoldrSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.UnfoldrSym0
instance forall b6989586621681153398 a6989586621681153397 (a6989586621681155221 :: a6989586621681153397 Data.Singletons.Internal.~> (b6989586621681153398, GHC.Maybe.Maybe a6989586621681153397)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.UnfoldrSym1 a6989586621681155221)
instance forall a b (d :: a Data.Singletons.Internal.~> (b, GHC.Maybe.Maybe a)). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.UnfoldrSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.HeadSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.HeadSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.TailSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.TailSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.LastSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.LastSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.InitSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.InitSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ConsSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.ConsSym0
instance forall a6989586621681153391 (a6989586621681155201 :: a6989586621681153391). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ConsSym1 a6989586621681155201)
instance forall a (d :: a). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.ConsSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.<|@#@$)
instance Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.<|@#@$)
instance forall a6989586621681153392 (a6989586621681155190 :: a6989586621681153392). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.List.NonEmpty.<|@#@$$) a6989586621681155190)
instance forall a (d :: a). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.List.NonEmpty.<|@#@$$) d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.SortSym0
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.SortSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Scanr1Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.Scanr1Sym0
instance forall a6989586621681153375 (a6989586621681155178 :: a6989586621681153375 Data.Singletons.Internal.~> (a6989586621681153375 Data.Singletons.Internal.~> a6989586621681153375)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Scanr1Sym1 a6989586621681155178)
instance forall a (d :: a Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> a)). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.Scanr1Sym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Scanl1Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.Scanl1Sym0
instance forall a6989586621681153376 (a6989586621681155171 :: a6989586621681153376 Data.Singletons.Internal.~> (a6989586621681153376 Data.Singletons.Internal.~> a6989586621681153376)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Scanl1Sym1 a6989586621681155171)
instance forall a (d :: a Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> a)). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.Scanl1Sym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ScanrSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.ScanrSym0
instance forall a6989586621681153377 b6989586621681153378 (a6989586621681155160 :: a6989586621681153377 Data.Singletons.Internal.~> (b6989586621681153378 Data.Singletons.Internal.~> b6989586621681153378)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanrSym1 a6989586621681155160)
instance forall a b (d :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> b)). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.ScanrSym1 d)
instance forall a6989586621681153377 b6989586621681153378 (a6989586621681155161 :: a6989586621681153377 Data.Singletons.Internal.~> (b6989586621681153378 Data.Singletons.Internal.~> b6989586621681153378)) (a6989586621681155160 :: b6989586621681153378). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanrSym2 a6989586621681155161 a6989586621681155160)
instance forall a b (d1 :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> b)) (d2 :: b). (Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.ScanrSym2 d1 d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ScanlSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.ScanlSym0
instance forall a6989586621681153380 b6989586621681153379 (a6989586621681155149 :: b6989586621681153379 Data.Singletons.Internal.~> (a6989586621681153380 Data.Singletons.Internal.~> b6989586621681153379)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanlSym1 a6989586621681155149)
instance forall b a (d :: b Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> b)). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.ScanlSym1 d)
instance forall a6989586621681153380 b6989586621681153379 (a6989586621681155150 :: b6989586621681153379 Data.Singletons.Internal.~> (a6989586621681153380 Data.Singletons.Internal.~> b6989586621681153379)) (a6989586621681155149 :: b6989586621681153379). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanlSym2 a6989586621681155150 a6989586621681155149)
instance forall b a (d1 :: b Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> b)) (d2 :: b). (Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.ScanlSym2 d1 d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.InsertSym0
instance Data.Singletons.Prelude.Ord.SOrd a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.InsertSym0
instance forall a6989586621681153381 (a6989586621681155141 :: a6989586621681153381). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.InsertSym1 a6989586621681155141)
instance forall a (d :: a). (Data.Singletons.Prelude.Ord.SOrd a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.InsertSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.TailsSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.TailsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.InitsSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.InitsSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupAllWith1Sym0
instance Data.Singletons.Prelude.Ord.SOrd b => Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.GroupAllWith1Sym0
instance forall a6989586621681153353 b6989586621681153352 (a6989586621681155123 :: a6989586621681153353 Data.Singletons.Internal.~> b6989586621681153352). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupAllWith1Sym1 a6989586621681155123)
instance forall a b (d :: a Data.Singletons.Internal.~> b). (Data.Singletons.Prelude.Ord.SOrd b, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.GroupAllWith1Sym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.SortWithSym0
instance Data.Singletons.Prelude.Ord.SOrd o => Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.SortWithSym0
instance forall a6989586621681153338 o6989586621681153337 (a6989586621681155117 :: a6989586621681153338 Data.Singletons.Internal.~> o6989586621681153337). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.SortWithSym1 a6989586621681155117)
instance forall a o (d :: a Data.Singletons.Internal.~> o). (Data.Singletons.Prelude.Ord.SOrd o, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.SortWithSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.SortBySym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.SortBySym0
instance forall a6989586621681153339 (a6989586621681155105 :: a6989586621681153339 Data.Singletons.Internal.~> (a6989586621681153339 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.SortBySym1 a6989586621681155105)
instance forall a (d :: a Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.SortBySym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ReverseSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.ReverseSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.LiftSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.LiftSym0
instance forall a6989586621681153386 b6989586621681153387 (a6989586621681155092 :: [a6989586621681153386] Data.Singletons.Internal.~> [b6989586621681153387]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.LiftSym1 a6989586621681155092)
instance forall a b (d :: [a] Data.Singletons.Internal.~> [b]). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.LiftSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.FromListSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.FromListSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.PartitionSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.PartitionSym0
instance forall a6989586621681153364 (a6989586621681155080 :: a6989586621681153364 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.PartitionSym1 a6989586621681155080)
instance forall a (d :: a Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.PartitionSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.FilterSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.FilterSym0
instance forall a6989586621681153365 (a6989586621681155072 :: a6989586621681153365 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.FilterSym1 a6989586621681155072)
instance forall a (d :: a Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.FilterSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.BreakSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.BreakSym0
instance forall a6989586621681153366 (a6989586621681155064 :: a6989586621681153366 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.BreakSym1 a6989586621681155064)
instance forall a (d :: a Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.BreakSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.SpanSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.SpanSym0
instance forall a6989586621681153367 (a6989586621681155056 :: a6989586621681153367 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.SpanSym1 a6989586621681155056)
instance forall a (d :: a Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.SpanSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.DropWhileSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.DropWhileSym0
instance forall a6989586621681153368 (a6989586621681155048 :: a6989586621681153368 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.DropWhileSym1 a6989586621681155048)
instance forall a (d :: a Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.DropWhileSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.TakeWhileSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.TakeWhileSym0
instance forall a6989586621681153369 (a6989586621681155040 :: a6989586621681153369 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.TakeWhileSym1 a6989586621681155040)
instance forall a (d :: a Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.TakeWhileSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.SplitAtSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.SplitAtSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.SplitAtSym1 a6989586621681155032)
instance Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.SplitAtSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.DropSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.DropSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.DropSym1 a6989586621681155024)
instance Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.DropSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.TakeSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.TakeSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.TakeSym1 a6989586621681155016)
instance Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.TakeSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ToListSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.ToListSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.MapSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.MapSym0
instance forall a6989586621681153384 b6989586621681153385 (a6989586621681155005 :: a6989586621681153384 Data.Singletons.Internal.~> b6989586621681153385). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.MapSym1 a6989586621681155005)
instance forall a b (d :: a Data.Singletons.Internal.~> b). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.MapSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.IntersperseSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.IntersperseSym0
instance forall a6989586621681153374 (a6989586621681154995 :: a6989586621681153374). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.IntersperseSym1 a6989586621681154995)
instance forall a (d :: a). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.IntersperseSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupSym0
instance Data.Singletons.Prelude.Eq.SEq a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.GroupSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupWith1Sym0
instance Data.Singletons.Prelude.Eq.SEq b => Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.GroupWith1Sym0
instance forall a6989586621681153355 b6989586621681153354 (a6989586621681154982 :: a6989586621681153355 Data.Singletons.Internal.~> b6989586621681153354). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupWith1Sym1 a6989586621681154982)
instance forall a b (d :: a Data.Singletons.Internal.~> b). (Data.Singletons.Prelude.Eq.SEq b, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.GroupWith1Sym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Group1Sym0
instance Data.Singletons.Prelude.Eq.SEq a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.Group1Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupBy1Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.GroupBy1Sym0
instance forall a6989586621681153356 (a6989586621681154946 :: a6989586621681153356 Data.Singletons.Internal.~> (a6989586621681153356 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupBy1Sym1 a6989586621681154946)
instance forall a (d :: a Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.GroupBy1Sym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupAllWithSym0
instance Data.Singletons.Prelude.Ord.SOrd b => Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.GroupAllWithSym0
instance forall a6989586621681153359 b6989586621681153358 (a6989586621681154938 :: a6989586621681153359 Data.Singletons.Internal.~> b6989586621681153358). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupAllWithSym1 a6989586621681154938)
instance forall a b (d :: a Data.Singletons.Internal.~> b). (Data.Singletons.Prelude.Ord.SOrd b, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.GroupAllWithSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupWithSym0
instance Data.Singletons.Prelude.Eq.SEq b => Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.GroupWithSym0
instance forall a6989586621681153361 b6989586621681153360 (a6989586621681154930 :: a6989586621681153361 Data.Singletons.Internal.~> b6989586621681153360). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupWithSym1 a6989586621681154930)
instance forall a b (d :: a Data.Singletons.Internal.~> b). (Data.Singletons.Prelude.Eq.SEq b, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.GroupWithSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154890GoSym0
instance forall k1 a6989586621680421750 k2 (eq06989586621681154888 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154890GoSym1 eq06989586621681154888)
instance forall a6989586621680421750 k1 k2 (a6989586621681154891 :: k2) (a_69895866216811548866989586621681154889 :: k1) (eq06989586621681154888 :: a6989586621680421750 Data.Singletons.Internal.~> (a6989586621680421750 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154890GoSym3 a6989586621681154891 a_69895866216811548866989586621681154889 eq06989586621681154888)
instance forall a6989586621680421750 k1 k2 (a_69895866216811548866989586621681154889 :: k2) (eq06989586621681154888 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154890GoSym2 a_69895866216811548866989586621681154889 eq06989586621681154888)
instance forall a6989586621681153362 (a6989586621681154882 :: a6989586621681153362 Data.Singletons.Internal.~> (a6989586621681153362 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupBySym1 a6989586621681154882)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.GroupBySym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.GroupBySym0
instance forall a (d :: a Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.GroupBySym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.IsPrefixOfSym0
instance Data.Singletons.Prelude.Eq.SEq a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.IsPrefixOfSym0
instance forall a6989586621681153351 (a6989586621681154874 :: [a6989586621681153351]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.IsPrefixOfSym1 a6989586621681154874)
instance forall a (d :: [a]). (Data.Singletons.Prelude.Eq.SEq a, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.IsPrefixOfSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.!!@#@$)
instance Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.!!@#@$)
instance forall a6989586621681153350 (a6989586621681154856 :: GHC.Base.NonEmpty a6989586621681153350). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.List.NonEmpty.!!@#@$$) a6989586621681154856)
instance forall a (d :: GHC.Base.NonEmpty a). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.List.NonEmpty.!!@#@$$) d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ZipSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.ZipSym0
instance Data.Singletons.Prelude.Monad.Zip.SMonadZip GHC.Base.NonEmpty
instance forall b6989586621681153349 a6989586621681153348 (a6989586621681154848 :: GHC.Base.NonEmpty a6989586621681153348). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ZipSym1 a6989586621681154848)
instance forall a b (d :: GHC.Base.NonEmpty a). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.ZipSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.ZipWithSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.ZipWithSym0
instance forall a6989586621681153345 b6989586621681153346 c6989586621681153347 (a6989586621681154837 :: a6989586621681153345 Data.Singletons.Internal.~> (b6989586621681153346 Data.Singletons.Internal.~> c6989586621681153347)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ZipWithSym1 a6989586621681154837)
instance forall a b c (d :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> c)). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.ZipWithSym1 d)
instance forall a6989586621681153345 b6989586621681153346 c6989586621681153347 (a6989586621681154838 :: a6989586621681153345 Data.Singletons.Internal.~> (b6989586621681153346 Data.Singletons.Internal.~> c6989586621681153347)) (a6989586621681154837 :: GHC.Base.NonEmpty a6989586621681153345). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ZipWithSym2 a6989586621681154838 a6989586621681154837)
instance forall a b c (d1 :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> c)) (d2 :: GHC.Base.NonEmpty a). (Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.ZipWithSym2 d1 d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.UnzipSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.UnzipSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.NubSym0
instance Data.Singletons.Prelude.Eq.SEq a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.NubSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.NubBySym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.List.NonEmpty.NubBySym0
instance forall a6989586621681153341 (a6989586621681154788 :: a6989586621681153341 Data.Singletons.Internal.~> (a6989586621681153341 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.NubBySym1 a6989586621681154788)
instance forall a (d :: a Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.List.NonEmpty.NubBySym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681155277Xor'Sym0
instance forall k1 k2 (x6989586621681155275 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681155277Xor'Sym1 x6989586621681155275)
instance forall k1 k2 (xs6989586621681155276 :: k2) (x6989586621681155275 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681155277Xor'Sym2 xs6989586621681155276 x6989586621681155275)
instance forall k1 k2 (a6989586621681155278 :: k2) (xs6989586621681155276 :: k1) (x6989586621681155275 :: GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681155277Xor'Sym3 a6989586621681155278 xs6989586621681155276 x6989586621681155275)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681155264Scrutinee_6989586621681153568Sym0
instance forall k1 k (f6989586621681155262 :: k1 Data.Singletons.Internal.~> k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681155264Scrutinee_6989586621681153568Sym1 f6989586621681155262)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681155242Scrutinee_6989586621681153578Sym0
instance forall k1 k (f6989586621681155225 :: k1 Data.Singletons.Internal.~> k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681155242Scrutinee_6989586621681153578Sym1 f6989586621681155225)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681155227GoSym0
instance forall k k2 k3 (f6989586621681155225 :: k3 Data.Singletons.Internal.~> (k2, GHC.Maybe.Maybe k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681155227GoSym1 f6989586621681155225)
instance forall k k2 k3 (a6989586621681155226 :: k3 Data.Singletons.Internal.~> (k2, GHC.Maybe.Maybe k3)) (f6989586621681155225 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681155227GoSym2 a6989586621681155226 f6989586621681155225)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681155233Scrutinee_6989586621681153582Sym0
instance forall k1 k2 k3 (f6989586621681155225 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681155233Scrutinee_6989586621681153582Sym1 f6989586621681155225)
instance forall k1 k2 k3 (a6989586621681155226 :: k2 Data.Singletons.Internal.~> k3) (f6989586621681155225 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681155233Scrutinee_6989586621681153582Sym2 a6989586621681155226 f6989586621681155225)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154953X_6989586621681154954Sym0
instance forall k1 a6989586621680421750 (eq6989586621681154950 :: k1 Data.Singletons.Internal.~> (a6989586621680421750 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154953X_6989586621681154954Sym1 eq6989586621681154950)
instance forall k1 a6989586621680421750 (x6989586621681154951 :: k1 Data.Singletons.Internal.~> (a6989586621680421750 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681154950 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154953X_6989586621681154954Sym2 x6989586621681154951 eq6989586621681154950)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154953YsSym0
instance forall k1 a6989586621680421750 (eq6989586621681154950 :: k1 Data.Singletons.Internal.~> (a6989586621680421750 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154953YsSym1 eq6989586621681154950)
instance forall k1 a6989586621680421750 (x6989586621681154951 :: k1 Data.Singletons.Internal.~> (a6989586621680421750 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681154950 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154953YsSym2 x6989586621681154951 eq6989586621681154950)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154953ZsSym0
instance forall k1 a6989586621680421750 (eq6989586621681154950 :: k1 Data.Singletons.Internal.~> (a6989586621680421750 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154953ZsSym1 eq6989586621681154950)
instance forall k1 a6989586621680421750 (x6989586621681154951 :: k1 Data.Singletons.Internal.~> (a6989586621680421750 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681154950 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154953ZsSym2 x6989586621681154951 eq6989586621681154950)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154900X_6989586621681154901Sym0
instance forall k1 k2 a6989586621680421750 k3 (eq06989586621681154888 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154900X_6989586621681154901Sym1 eq06989586621681154888)
instance forall k1 k2 a6989586621680421750 k3 (eq6989586621681154897 :: k3) (eq06989586621681154888 :: k2 Data.Singletons.Internal.~> (a6989586621680421750 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154900X_6989586621681154901Sym2 eq6989586621681154897 eq06989586621681154888)
instance forall k1 k2 a6989586621680421750 k3 (x6989586621681154898 :: k3) (eq6989586621681154897 :: k2 Data.Singletons.Internal.~> (a6989586621680421750 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq06989586621681154888 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154900X_6989586621681154901Sym3 x6989586621681154898 eq6989586621681154897 eq06989586621681154888)
instance forall k1 k2 a6989586621680421750 k3 (xs6989586621681154899 :: k3) (x6989586621681154898 :: k2 Data.Singletons.Internal.~> (a6989586621680421750 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681154897 :: k2) (eq06989586621681154888 :: [a6989586621680421750]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154900X_6989586621681154901Sym4 xs6989586621681154899 x6989586621681154898 eq6989586621681154897 eq06989586621681154888)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154900YsSym0
instance forall k1 k2 a6989586621680421750 k3 (eq06989586621681154888 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154900YsSym1 eq06989586621681154888)
instance forall k1 k2 a6989586621680421750 k3 (eq6989586621681154897 :: k3) (eq06989586621681154888 :: k2 Data.Singletons.Internal.~> (a6989586621680421750 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154900YsSym2 eq6989586621681154897 eq06989586621681154888)
instance forall k1 k2 a6989586621680421750 k3 (x6989586621681154898 :: k3) (eq6989586621681154897 :: k2 Data.Singletons.Internal.~> (a6989586621680421750 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq06989586621681154888 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154900YsSym3 x6989586621681154898 eq6989586621681154897 eq06989586621681154888)
instance forall k1 k2 a6989586621680421750 k3 (xs6989586621681154899 :: k3) (x6989586621681154898 :: k2 Data.Singletons.Internal.~> (a6989586621680421750 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681154897 :: k2) (eq06989586621681154888 :: [a6989586621680421750]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154900YsSym4 xs6989586621681154899 x6989586621681154898 eq6989586621681154897 eq06989586621681154888)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154900ZsSym0
instance forall k1 k2 a6989586621680421750 k3 (eq06989586621681154888 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154900ZsSym1 eq06989586621681154888)
instance forall k1 k2 a6989586621680421750 k3 (eq6989586621681154897 :: k3) (eq06989586621681154888 :: k2 Data.Singletons.Internal.~> (a6989586621680421750 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154900ZsSym2 eq6989586621681154897 eq06989586621681154888)
instance forall k1 k2 a6989586621680421750 k3 (x6989586621681154898 :: k3) (eq6989586621681154897 :: k2 Data.Singletons.Internal.~> (a6989586621680421750 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq06989586621681154888 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154900ZsSym3 x6989586621681154898 eq6989586621681154897 eq06989586621681154888)
instance forall k1 k2 a6989586621680421750 k3 (xs6989586621681154899 :: k3) (x6989586621681154898 :: k2 Data.Singletons.Internal.~> (a6989586621680421750 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681154897 :: k2) (eq06989586621681154888 :: [a6989586621680421750]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154900ZsSym4 xs6989586621681154899 x6989586621681154898 eq6989586621681154897 eq06989586621681154888)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154813X_6989586621681154814Sym0
instance forall k1 a6989586621680421737 b6989586621680421738 k2 (a6989586621681154810 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154813X_6989586621681154814Sym1 a6989586621681154810)
instance forall a6989586621680421737 b6989586621680421738 k1 k2 (b6989586621681154811 :: k2) (a6989586621681154810 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154813X_6989586621681154814Sym2 b6989586621681154811 a6989586621681154810)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154813AsSym0
instance forall k1 b6989586621680421738 a6989586621680421737 k2 (a6989586621681154810 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154813AsSym1 a6989586621681154810)
instance forall b6989586621680421738 a6989586621680421737 k1 k2 (b6989586621681154811 :: k2) (a6989586621681154810 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154813AsSym2 b6989586621681154811 a6989586621681154810)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154813BsSym0
instance forall k1 a6989586621680421737 b6989586621680421738 k2 (a6989586621681154810 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154813BsSym1 a6989586621681154810)
instance forall a6989586621680421737 b6989586621680421738 k1 k2 (b6989586621681154811 :: k2) (a6989586621681154810 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681154813BsSym2 b6989586621681154811 a6989586621681154810)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681154795Sym0
instance forall k k2 k3 (eq6989586621681154792 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681154795Sym1 eq6989586621681154792)
instance forall k k2 k3 (a6989586621681154793 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681154792 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681154795Sym2 a6989586621681154793 eq6989586621681154792)
instance forall k k2 k3 (as6989586621681154794 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> GHC.Types.Bool)) (a6989586621681154793 :: k2) (eq6989586621681154792 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681154795Sym3 as6989586621681154794 a6989586621681154793 eq6989586621681154792)


-- | Defines and exports a promoted and singled version of the
--   <tt>IsString</tt> type class from <a>Data.String</a>.
module Data.Singletons.Prelude.IsString
class PIsString (a_a9oi1 :: Type) where {
    type family FromString (arg_a9oiB :: Symbol) :: a_a9oi1;
}
class SIsString a_a9oi1
sFromString :: forall (t_a9oiR :: Symbol). SIsString a_a9oi1 => Sing t_a9oiR -> Sing (Apply FromStringSym0 t_a9oiR :: a_a9oi1)
data FromStringSym0 :: forall a6989586621681248117. (~>) Symbol a6989586621681248117
type FromStringSym1 (arg6989586621681248153 :: Symbol) = FromString arg6989586621681248153
instance forall k a (b :: k). Data.Singletons.Prelude.IsString.SIsString a => Data.Singletons.Prelude.IsString.SIsString (Data.Functor.Const.Const a b)
instance Data.Singletons.Prelude.IsString.SIsString a => Data.Singletons.Prelude.IsString.SIsString (Data.Functor.Identity.Identity a)
instance Data.Singletons.Prelude.IsString.SIsString a => Data.Singletons.Internal.SingI Data.Singletons.Prelude.IsString.FromStringSym0
instance Data.Singletons.Prelude.IsString.SIsString GHC.Types.Symbol
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.IsString.FromString_6989586621681248166Sym0
instance Data.Singletons.Prelude.IsString.PIsString (Data.Functor.Identity.Identity a)
instance forall a6989586621681248119 k6989586621681248118 (b6989586621681248120 :: k6989586621681248118). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.IsString.FromString_6989586621681248159Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.IsString.PIsString (Data.Functor.Const.Const a b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.IsString.FromStringSym0
instance Data.Singletons.Prelude.IsString.PIsString GHC.Types.Symbol


-- | Defines the promoted and singled versions of the <a>Applicative</a>
--   type class.
module Data.Singletons.Prelude.Applicative
class PFunctor f_a2k1B => PApplicative (f_a2k1B :: Type -> Type) where {
    type family Pure (arg_a2k8g :: a_a2k1C) :: f_a2k1B a_a2k1C;
    type family (<*>) (arg_a2k8i :: f_a2k1B ((~>) a_a2k1D b_a2k1E)) (arg_a2k8j :: f_a2k1B a_a2k1D) :: f_a2k1B b_a2k1E;
    type family LiftA2 (arg_a2k8m :: (~>) a_a2k1F ((~>) b_a2k1G c_a2k1H)) (arg_a2k8n :: f_a2k1B a_a2k1F) (arg_a2k8o :: f_a2k1B b_a2k1G) :: f_a2k1B c_a2k1H;
    type family (*>) (arg_a2k8s :: f_a2k1B a_a2k1I) (arg_a2k8t :: f_a2k1B b_a2k1J) :: f_a2k1B b_a2k1J;
    type family (<*) (arg_a2k8w :: f_a2k1B a_a2k1K) (arg_a2k8x :: f_a2k1B b_a2k1L) :: f_a2k1B a_a2k1K;
    type (<*>) a_a2k8K a_a2k8L = Apply (Apply TFHelper_6989586621679563872Sym0 a_a2k8K) a_a2k8L;
    type LiftA2 a_a2k91 a_a2k92 a_a2k93 = Apply (Apply (Apply LiftA2_6989586621679563890Sym0 a_a2k91) a_a2k92) a_a2k93;
    type (*>) a_a2k9f a_a2k9g = Apply (Apply TFHelper_6989586621679563903Sym0 a_a2k9f) a_a2k9g;
    type (<*) a_a2k9v a_a2k9w = Apply (Apply TFHelper_6989586621679563919Sym0 a_a2k9v) a_a2k9w;
}
infixl 4 <*>
infixl 4 *>
infixl 4 <*
class SFunctor f_a2k1B => SApplicative (f_a2k1B :: Type -> Type)
sPure :: forall a_a2k1C (t_a2kct :: a_a2k1C). SApplicative f_a2k1B => Sing t_a2kct -> Sing (Apply PureSym0 t_a2kct :: f_a2k1B a_a2k1C)
(%<*>) :: forall a_a2k1D b_a2k1E (t_a2kcv :: f_a2k1B ((~>) a_a2k1D b_a2k1E)) (t_a2kcw :: f_a2k1B a_a2k1D). SApplicative f_a2k1B => Sing t_a2kcv -> Sing t_a2kcw -> Sing (Apply (Apply (<*>@#@$) t_a2kcv) t_a2kcw :: f_a2k1B b_a2k1E)
sLiftA2 :: forall a_a2k1F b_a2k1G c_a2k1H (t_a2kcz :: (~>) a_a2k1F ((~>) b_a2k1G c_a2k1H)) (t_a2kcA :: f_a2k1B a_a2k1F) (t_a2kcB :: f_a2k1B b_a2k1G). SApplicative f_a2k1B => Sing t_a2kcz -> Sing t_a2kcA -> Sing t_a2kcB -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2kcz) t_a2kcA) t_a2kcB :: f_a2k1B c_a2k1H)
(%*>) :: forall a_a2k1I b_a2k1J (t_a2kcF :: f_a2k1B a_a2k1I) (t_a2kcG :: f_a2k1B b_a2k1J). SApplicative f_a2k1B => Sing t_a2kcF -> Sing t_a2kcG -> Sing (Apply (Apply (*>@#@$) t_a2kcF) t_a2kcG :: f_a2k1B b_a2k1J)
(%<*) :: forall a_a2k1K b_a2k1L (t_a2kcJ :: f_a2k1B a_a2k1K) (t_a2kcK :: f_a2k1B b_a2k1L). SApplicative f_a2k1B => Sing t_a2kcJ -> Sing t_a2kcK -> Sing (Apply (Apply (<*@#@$) t_a2kcJ) t_a2kcK :: f_a2k1B a_a2k1K)
(%<*>) :: forall a_a2k1D b_a2k1E (t_a2kcv :: f_a2k1B ((~>) a_a2k1D b_a2k1E)) (t_a2kcw :: f_a2k1B a_a2k1D). (SApplicative f_a2k1B, (Apply (Apply (<*>@#@$) t_a2kcv) t_a2kcw :: f_a2k1B b_a2k1E) ~ Apply (Apply TFHelper_6989586621679563872Sym0 t_a2kcv) t_a2kcw) => Sing t_a2kcv -> Sing t_a2kcw -> Sing (Apply (Apply (<*>@#@$) t_a2kcv) t_a2kcw :: f_a2k1B b_a2k1E)
sLiftA2 :: forall a_a2k1F b_a2k1G c_a2k1H (t_a2kcz :: (~>) a_a2k1F ((~>) b_a2k1G c_a2k1H)) (t_a2kcA :: f_a2k1B a_a2k1F) (t_a2kcB :: f_a2k1B b_a2k1G). (SApplicative f_a2k1B, (Apply (Apply (Apply LiftA2Sym0 t_a2kcz) t_a2kcA) t_a2kcB :: f_a2k1B c_a2k1H) ~ Apply (Apply (Apply LiftA2_6989586621679563890Sym0 t_a2kcz) t_a2kcA) t_a2kcB) => Sing t_a2kcz -> Sing t_a2kcA -> Sing t_a2kcB -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2kcz) t_a2kcA) t_a2kcB :: f_a2k1B c_a2k1H)
(%*>) :: forall a_a2k1I b_a2k1J (t_a2kcF :: f_a2k1B a_a2k1I) (t_a2kcG :: f_a2k1B b_a2k1J). (SApplicative f_a2k1B, (Apply (Apply (*>@#@$) t_a2kcF) t_a2kcG :: f_a2k1B b_a2k1J) ~ Apply (Apply TFHelper_6989586621679563903Sym0 t_a2kcF) t_a2kcG) => Sing t_a2kcF -> Sing t_a2kcG -> Sing (Apply (Apply (*>@#@$) t_a2kcF) t_a2kcG :: f_a2k1B b_a2k1J)
(%<*) :: forall a_a2k1K b_a2k1L (t_a2kcJ :: f_a2k1B a_a2k1K) (t_a2kcK :: f_a2k1B b_a2k1L). (SApplicative f_a2k1B, (Apply (Apply (<*@#@$) t_a2kcJ) t_a2kcK :: f_a2k1B a_a2k1K) ~ Apply (Apply TFHelper_6989586621679563919Sym0 t_a2kcJ) t_a2kcK) => Sing t_a2kcJ -> Sing t_a2kcK -> Sing (Apply (Apply (<*@#@$) t_a2kcJ) t_a2kcK :: f_a2k1B a_a2k1K)
infixl 4 %<*>
infixl 4 %*>
infixl 4 %<*
class PApplicative f_a2k2Q => PAlternative (f_a2k2Q :: Type -> Type) where {
    type family Empty :: f_a2k2Q a_a2k2R;
    type family (<|>) (arg_a2kap :: f_a2k2Q a_a2k2S) (arg_a2kaq :: f_a2k2Q a_a2k2S) :: f_a2k2Q a_a2k2S;
}
infixl 3 <|>
class SApplicative f_a2k2Q => SAlternative (f_a2k2Q :: Type -> Type)
sEmpty :: forall a_a2k2R. SAlternative f_a2k2Q => Sing (EmptySym0 :: f_a2k2Q a_a2k2R)
(%<|>) :: forall a_a2k2S (t_a2kda :: f_a2k2Q a_a2k2S) (t_a2kdb :: f_a2k2Q a_a2k2S). SAlternative f_a2k2Q => Sing t_a2kda -> Sing t_a2kdb -> Sing (Apply (Apply (<|>@#@$) t_a2kda) t_a2kdb :: f_a2k2Q a_a2k2S)
infixl 3 %<|>

-- | The singleton kind-indexed data family.
data family Sing :: k -> Type
type SConst = (Sing :: Const a b -> Type)

-- | The <a>Const</a> functor.
data Const a (b :: k) :: forall k. () => Type -> k -> Type
type family GetConst (x_a7iTG :: Const a_a7iTE b_a7iTF) :: a_a7iTE
type family (<$>) (a_a32Sk :: (~>) a_a32R2 b_a32R3) (a_a32Sl :: f_a32R1 a_a32R2) :: f_a32R1 b_a32R3
infixl 4 <$>
(%<$>) :: forall f_a32R1 a_a32R2 b_a32R3 (t_a32TV :: (~>) a_a32R2 b_a32R3) (t_a32TW :: f_a32R1 a_a32R2). SFunctor f_a32R1 => Sing t_a32TV -> Sing t_a32TW -> Sing (Apply (Apply (<$>@#@$) t_a32TV) t_a32TW :: f_a32R1 b_a32R3)
infixl 4 %<$>
type family (<$) (arg_a2k7W :: a_a2k1z) (arg_a2k7X :: f_a2k1w b_a2k1A) :: f_a2k1w a_a2k1z
infixl 4 <$
(%<$) :: forall a_a2k1z b_a2k1A (t_a2kcn :: a_a2k1z) (t_a2kco :: f_a2k1w b_a2k1A). SFunctor f_a2k1w => Sing t_a2kcn -> Sing t_a2kco -> Sing (Apply (Apply (<$@#@$) t_a2kcn) t_a2kco :: f_a2k1w a_a2k1z)
infixl 4 %<$
type family (<**>) (a_a2k7C :: f_a2k0W a_a2k0X) (a_a2k7D :: f_a2k0W ((~>) a_a2k0X b_a2k0Y)) :: f_a2k0W b_a2k0Y
infixl 4 <**>
(%<**>) :: forall f_a2k0W a_a2k0X b_a2k0Y (t_a2kbV :: f_a2k0W a_a2k0X) (t_a2kbW :: f_a2k0W ((~>) a_a2k0X b_a2k0Y)). SApplicative f_a2k0W => Sing t_a2kbV -> Sing t_a2kbW -> Sing (Apply (Apply (<**>@#@$) t_a2kbV) t_a2kbW :: f_a2k0W b_a2k0Y)
infixl 4 %<**>
type family LiftA (a_a2k7s :: (~>) a_a2k0U b_a2k0V) (a_a2k7t :: f_a2k0T a_a2k0U) :: f_a2k0T b_a2k0V
sLiftA :: forall f_a2k0T a_a2k0U b_a2k0V (t_a2kbR :: (~>) a_a2k0U b_a2k0V) (t_a2kbS :: f_a2k0T a_a2k0U). SApplicative f_a2k0T => Sing t_a2kbR -> Sing t_a2kbS -> Sing (Apply (Apply LiftASym0 t_a2kbR) t_a2kbS :: f_a2k0T b_a2k0V)
type family LiftA3 (a_a2k7g :: (~>) a_a2k0P ((~>) b_a2k0Q ((~>) c_a2k0R d_a2k0S))) (a_a2k7h :: f_a2k0O a_a2k0P) (a_a2k7i :: f_a2k0O b_a2k0Q) (a_a2k7j :: f_a2k0O c_a2k0R) :: f_a2k0O d_a2k0S
sLiftA3 :: forall f_a2k0O a_a2k0P b_a2k0Q c_a2k0R d_a2k0S (t_a2kbJ :: (~>) a_a2k0P ((~>) b_a2k0Q ((~>) c_a2k0R d_a2k0S))) (t_a2kbK :: f_a2k0O a_a2k0P) (t_a2kbL :: f_a2k0O b_a2k0Q) (t_a2kbM :: f_a2k0O c_a2k0R). SApplicative f_a2k0O => Sing t_a2kbJ -> Sing t_a2kbK -> Sing t_a2kbL -> Sing t_a2kbM -> Sing (Apply (Apply (Apply (Apply LiftA3Sym0 t_a2kbJ) t_a2kbK) t_a2kbL) t_a2kbM :: f_a2k0O d_a2k0S)
type family Optional (a_a9oVm :: f_a9oUI a_a9oUJ) :: f_a9oUI (Maybe a_a9oUJ)
sOptional :: forall f_a9oUI a_a9oUJ (t_a9oWo :: f_a9oUI a_a9oUJ). SAlternative f_a9oUI => Sing t_a9oWo -> Sing (Apply OptionalSym0 t_a9oWo :: f_a9oUI (Maybe a_a9oUJ))
data PureSym0 :: forall a6989586621679563428 f6989586621679563427. (~>) a6989586621679563428 (f6989586621679563427 a6989586621679563428)
type PureSym1 (arg6989586621679563840 :: a6989586621679563428) = Pure arg6989586621679563840
data (<*>@#@$) :: forall a6989586621679563429 b6989586621679563430 f6989586621679563427. (~>) (f6989586621679563427 ((~>) a6989586621679563429 b6989586621679563430)) ((~>) (f6989586621679563427 a6989586621679563429) (f6989586621679563427 b6989586621679563430))
infixl 4 <*>@#@$
data (<*>@#@$$) (arg6989586621679563842 :: f6989586621679563427 ((~>) a6989586621679563429 b6989586621679563430)) :: (~>) (f6989586621679563427 a6989586621679563429) (f6989586621679563427 b6989586621679563430)
infixl 4 <*>@#@$$
type (<*>@#@$$$) (arg6989586621679563842 :: f6989586621679563427 ((~>) a6989586621679563429 b6989586621679563430)) (arg6989586621679563843 :: f6989586621679563427 a6989586621679563429) = (<*>) arg6989586621679563842 arg6989586621679563843
data (*>@#@$) :: forall a6989586621679563434 b6989586621679563435 f6989586621679563427. (~>) (f6989586621679563427 a6989586621679563434) ((~>) (f6989586621679563427 b6989586621679563435) (f6989586621679563427 b6989586621679563435))
infixl 4 *>@#@$
data (*>@#@$$) (arg6989586621679563852 :: f6989586621679563427 a6989586621679563434) :: forall b6989586621679563435. (~>) (f6989586621679563427 b6989586621679563435) (f6989586621679563427 b6989586621679563435)
infixl 4 *>@#@$$
type (*>@#@$$$) (arg6989586621679563852 :: f6989586621679563427 a6989586621679563434) (arg6989586621679563853 :: f6989586621679563427 b6989586621679563435) = (*>) arg6989586621679563852 arg6989586621679563853
data (<*@#@$) :: forall a6989586621679563436 b6989586621679563437 f6989586621679563427. (~>) (f6989586621679563427 a6989586621679563436) ((~>) (f6989586621679563427 b6989586621679563437) (f6989586621679563427 a6989586621679563436))
infixl 4 <*@#@$
data (<*@#@$$) (arg6989586621679563856 :: f6989586621679563427 a6989586621679563436) :: forall b6989586621679563437. (~>) (f6989586621679563427 b6989586621679563437) (f6989586621679563427 a6989586621679563436)
infixl 4 <*@#@$$
type (<*@#@$$$) (arg6989586621679563856 :: f6989586621679563427 a6989586621679563436) (arg6989586621679563857 :: f6989586621679563427 b6989586621679563437) = (<*) arg6989586621679563856 arg6989586621679563857
type EmptySym0 = Empty
data (<|>@#@$) :: forall a6989586621679563506 f6989586621679563504. (~>) (f6989586621679563504 a6989586621679563506) ((~>) (f6989586621679563504 a6989586621679563506) (f6989586621679563504 a6989586621679563506))
infixl 3 <|>@#@$
data (<|>@#@$$) (arg6989586621679563973 :: f6989586621679563504 a6989586621679563506) :: (~>) (f6989586621679563504 a6989586621679563506) (f6989586621679563504 a6989586621679563506)
infixl 3 <|>@#@$$
type (<|>@#@$$$) (arg6989586621679563973 :: f6989586621679563504 a6989586621679563506) (arg6989586621679563974 :: f6989586621679563504 a6989586621679563506) = (<|>) arg6989586621679563973 arg6989586621679563974
data ConstSym0 :: forall (a6989586621679093209 :: Type) k6989586621679093208 (b6989586621679093210 :: k6989586621679093208). (~>) a6989586621679093209 (Const (a6989586621679093209 :: Type) (b6989586621679093210 :: k6989586621679093208))
type ConstSym1 (t6989586621680750415 :: a6989586621679093209) =  'Const t6989586621680750415
data GetConstSym0 :: forall a6989586621680750730 b6989586621680750731. (~>) (Const a6989586621680750730 b6989586621680750731) a6989586621680750730
type GetConstSym1 (x6989586621680750732 :: Const a6989586621680750730 b6989586621680750731) = GetConst x6989586621680750732
data (<$>@#@$) :: forall a6989586621679735752 b6989586621679735753 f6989586621679735751. (~>) ((~>) a6989586621679735752 b6989586621679735753) ((~>) (f6989586621679735751 a6989586621679735752) (f6989586621679735751 b6989586621679735753))
infixl 4 <$>@#@$
data (<$>@#@$$) (a6989586621679735832 :: (~>) a6989586621679735752 b6989586621679735753) :: forall f6989586621679735751. (~>) (f6989586621679735751 a6989586621679735752) (f6989586621679735751 b6989586621679735753)
infixl 4 <$>@#@$$
type (<$>@#@$$$) (a6989586621679735832 :: (~>) a6989586621679735752 b6989586621679735753) (a6989586621679735833 :: f6989586621679735751 a6989586621679735752) = (<$>) a6989586621679735832 a6989586621679735833
data (<$@#@$) :: forall a6989586621679563425 b6989586621679563426 f6989586621679563422. (~>) a6989586621679563425 ((~>) (f6989586621679563422 b6989586621679563426) (f6989586621679563422 a6989586621679563425))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679563820 :: a6989586621679563425) :: forall b6989586621679563426 f6989586621679563422. (~>) (f6989586621679563422 b6989586621679563426) (f6989586621679563422 a6989586621679563425)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679563820 :: a6989586621679563425) (arg6989586621679563821 :: f6989586621679563422 b6989586621679563426) = (<$) arg6989586621679563820 arg6989586621679563821
data (<**>@#@$) :: forall a6989586621679563387 b6989586621679563388 f6989586621679563386. (~>) (f6989586621679563386 a6989586621679563387) ((~>) (f6989586621679563386 ((~>) a6989586621679563387 b6989586621679563388)) (f6989586621679563386 b6989586621679563388))
infixl 4 <**>@#@$
data (<**>@#@$$) (a6989586621679563800 :: f6989586621679563386 a6989586621679563387) :: forall b6989586621679563388. (~>) (f6989586621679563386 ((~>) a6989586621679563387 b6989586621679563388)) (f6989586621679563386 b6989586621679563388)
infixl 4 <**>@#@$$
type (<**>@#@$$$) (a6989586621679563800 :: f6989586621679563386 a6989586621679563387) (a6989586621679563801 :: f6989586621679563386 ((~>) a6989586621679563387 b6989586621679563388)) = (<**>) a6989586621679563800 a6989586621679563801
data LiftASym0 :: forall a6989586621679563384 b6989586621679563385 f6989586621679563383. (~>) ((~>) a6989586621679563384 b6989586621679563385) ((~>) (f6989586621679563383 a6989586621679563384) (f6989586621679563383 b6989586621679563385))
data LiftASym1 (a6989586621679563790 :: (~>) a6989586621679563384 b6989586621679563385) :: forall f6989586621679563383. (~>) (f6989586621679563383 a6989586621679563384) (f6989586621679563383 b6989586621679563385)
type LiftASym2 (a6989586621679563790 :: (~>) a6989586621679563384 b6989586621679563385) (a6989586621679563791 :: f6989586621679563383 a6989586621679563384) = LiftA a6989586621679563790 a6989586621679563791
data LiftA2Sym0 :: forall a6989586621679563431 b6989586621679563432 c6989586621679563433 f6989586621679563427. (~>) ((~>) a6989586621679563431 ((~>) b6989586621679563432 c6989586621679563433)) ((~>) (f6989586621679563427 a6989586621679563431) ((~>) (f6989586621679563427 b6989586621679563432) (f6989586621679563427 c6989586621679563433)))
data LiftA2Sym1 (arg6989586621679563846 :: (~>) a6989586621679563431 ((~>) b6989586621679563432 c6989586621679563433)) :: forall f6989586621679563427. (~>) (f6989586621679563427 a6989586621679563431) ((~>) (f6989586621679563427 b6989586621679563432) (f6989586621679563427 c6989586621679563433))
data LiftA2Sym2 (arg6989586621679563846 :: (~>) a6989586621679563431 ((~>) b6989586621679563432 c6989586621679563433)) (arg6989586621679563847 :: f6989586621679563427 a6989586621679563431) :: (~>) (f6989586621679563427 b6989586621679563432) (f6989586621679563427 c6989586621679563433)
type LiftA2Sym3 (arg6989586621679563846 :: (~>) a6989586621679563431 ((~>) b6989586621679563432 c6989586621679563433)) (arg6989586621679563847 :: f6989586621679563427 a6989586621679563431) (arg6989586621679563848 :: f6989586621679563427 b6989586621679563432) = LiftA2 arg6989586621679563846 arg6989586621679563847 arg6989586621679563848
data LiftA3Sym0 :: forall a6989586621679563379 b6989586621679563380 c6989586621679563381 d6989586621679563382 f6989586621679563378. (~>) ((~>) a6989586621679563379 ((~>) b6989586621679563380 ((~>) c6989586621679563381 d6989586621679563382))) ((~>) (f6989586621679563378 a6989586621679563379) ((~>) (f6989586621679563378 b6989586621679563380) ((~>) (f6989586621679563378 c6989586621679563381) (f6989586621679563378 d6989586621679563382))))
data LiftA3Sym1 (a6989586621679563778 :: (~>) a6989586621679563379 ((~>) b6989586621679563380 ((~>) c6989586621679563381 d6989586621679563382))) :: forall f6989586621679563378. (~>) (f6989586621679563378 a6989586621679563379) ((~>) (f6989586621679563378 b6989586621679563380) ((~>) (f6989586621679563378 c6989586621679563381) (f6989586621679563378 d6989586621679563382)))
data LiftA3Sym2 (a6989586621679563778 :: (~>) a6989586621679563379 ((~>) b6989586621679563380 ((~>) c6989586621679563381 d6989586621679563382))) (a6989586621679563779 :: f6989586621679563378 a6989586621679563379) :: (~>) (f6989586621679563378 b6989586621679563380) ((~>) (f6989586621679563378 c6989586621679563381) (f6989586621679563378 d6989586621679563382))
data LiftA3Sym3 (a6989586621679563778 :: (~>) a6989586621679563379 ((~>) b6989586621679563380 ((~>) c6989586621679563381 d6989586621679563382))) (a6989586621679563779 :: f6989586621679563378 a6989586621679563379) (a6989586621679563780 :: f6989586621679563378 b6989586621679563380) :: (~>) (f6989586621679563378 c6989586621679563381) (f6989586621679563378 d6989586621679563382)
data OptionalSym0 :: forall a6989586621681250517 f6989586621681250516. (~>) (f6989586621681250516 a6989586621681250517) (f6989586621681250516 (Maybe a6989586621681250517))
type OptionalSym1 (a6989586621681250556 :: f6989586621681250516 a6989586621681250517) = Optional a6989586621681250556
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.TFHelper_6989586621681250616Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Ord.Down
instance forall a6989586621679563429 b6989586621679563430 (a6989586621681250614 :: Data.Ord.Down (a6989586621679563429 Data.Singletons.Internal.~> b6989586621679563430)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.TFHelper_6989586621681250616Sym1 a6989586621681250614)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.Pure_6989586621681250605Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.LiftA2_6989586621681250594Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative ((,) a)
instance forall a6989586621681250520 a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621681250591 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.LiftA2_6989586621681250594Sym1 a6989586621681250591)
instance forall a6989586621681250520 a6989586621679563431 b6989586621679563432 c6989586621679563433 (a6989586621681250592 :: a6989586621679563431 Data.Singletons.Internal.~> (b6989586621679563432 Data.Singletons.Internal.~> c6989586621679563433)) (a6989586621681250591 :: (a6989586621681250520, a6989586621679563431)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.LiftA2_6989586621681250594Sym2 a6989586621681250592 a6989586621681250591)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.TFHelper_6989586621681250576Sym0
instance forall a6989586621681250520 a6989586621679563429 b6989586621679563430 (a6989586621681250574 :: (a6989586621681250520, a6989586621679563429 Data.Singletons.Internal.~> b6989586621679563430)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.TFHelper_6989586621681250576Sym1 a6989586621681250574)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.Pure_6989586621681250563Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.OptionalSym0
instance Data.Singletons.Prelude.Monad.Internal.SAlternative f => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Applicative.OptionalSym0
instance Data.Singletons.Prelude.Monoid.SMonoid a => Data.Singletons.Prelude.Monad.Internal.SApplicative ((,) a)
instance Data.Singletons.Prelude.Monad.Internal.SApplicative Data.Ord.Down


-- | Defines the promoted and singled versions of the <a>Monad</a> type
--   class.
module Data.Singletons.Prelude.Monad
class PFunctor (f_a2k1w :: Type -> Type) where {
    type family Fmap (arg_a2k7S :: (~>) a_a2k1x b_a2k1y) (arg_a2k7T :: f_a2k1w a_a2k1x) :: f_a2k1w b_a2k1y;
    type (<$) a_a2k8a a_a2k8b = Apply (Apply TFHelper_6989586621679563836Sym0 a_a2k8a) a_a2k8b;
}
class SFunctor (f_a2k1w :: Type -> Type)
sFmap :: forall a_a2k1x b_a2k1y (t_a2kcj :: (~>) a_a2k1x b_a2k1y) (t_a2kck :: f_a2k1w a_a2k1x). SFunctor f_a2k1w => Sing t_a2kcj -> Sing t_a2kck -> Sing (Apply (Apply FmapSym0 t_a2kcj) t_a2kck :: f_a2k1w b_a2k1y)
class PApplicative m_a2k1Z => PMonad (m_a2k1Z :: Type -> Type) where {
    type family (>>=) (arg_a2k9B :: m_a2k1Z a_a2k20) (arg_a2k9C :: (~>) a_a2k20 (m_a2k1Z b_a2k21)) :: m_a2k1Z b_a2k21;
    type family (>>) (arg_a2k9F :: m_a2k1Z a_a2k22) (arg_a2k9G :: m_a2k1Z b_a2k23) :: m_a2k1Z b_a2k23;
    type family Return (arg_a2k9J :: a_a2k24) :: m_a2k1Z a_a2k24;
    type family Fail (arg_a2k9L :: Symbol) :: m_a2k1Z a_a2k25;
    type (>>) a_a2ka3 a_a2ka4 = Apply (Apply TFHelper_6989586621679563953Sym0 a_a2ka3) a_a2ka4;
    type Return a_a2kae = Apply Return_6989586621679563963Sym0 a_a2kae;
    type Fail a_a2kal = Apply Fail_6989586621679563970Sym0 a_a2kal;
}
infixl 1 >>=
infixl 1 >>
class SApplicative m_a2k1Z => SMonad (m_a2k1Z :: Type -> Type)
(%>>=) :: forall a_a2k20 b_a2k21 (t_a2kcU :: m_a2k1Z a_a2k20) (t_a2kcV :: (~>) a_a2k20 (m_a2k1Z b_a2k21)). SMonad m_a2k1Z => Sing t_a2kcU -> Sing t_a2kcV -> Sing (Apply (Apply (>>=@#@$) t_a2kcU) t_a2kcV :: m_a2k1Z b_a2k21)
(%>>) :: forall a_a2k22 b_a2k23 (t_a2kcY :: m_a2k1Z a_a2k22) (t_a2kcZ :: m_a2k1Z b_a2k23). SMonad m_a2k1Z => Sing t_a2kcY -> Sing t_a2kcZ -> Sing (Apply (Apply (>>@#@$) t_a2kcY) t_a2kcZ :: m_a2k1Z b_a2k23)
sReturn :: forall a_a2k24 (t_a2kd2 :: a_a2k24). SMonad m_a2k1Z => Sing t_a2kd2 -> Sing (Apply ReturnSym0 t_a2kd2 :: m_a2k1Z a_a2k24)
sFail :: forall a_a2k25 (t_a2kd4 :: Symbol). SMonad m_a2k1Z => Sing t_a2kd4 -> Sing (Apply FailSym0 t_a2kd4 :: m_a2k1Z a_a2k25)
(%>>) :: forall a_a2k22 b_a2k23 (t_a2kcY :: m_a2k1Z a_a2k22) (t_a2kcZ :: m_a2k1Z b_a2k23). (SMonad m_a2k1Z, (Apply (Apply (>>@#@$) t_a2kcY) t_a2kcZ :: m_a2k1Z b_a2k23) ~ Apply (Apply TFHelper_6989586621679563953Sym0 t_a2kcY) t_a2kcZ) => Sing t_a2kcY -> Sing t_a2kcZ -> Sing (Apply (Apply (>>@#@$) t_a2kcY) t_a2kcZ :: m_a2k1Z b_a2k23)
sReturn :: forall a_a2k24 (t_a2kd2 :: a_a2k24). (SMonad m_a2k1Z, (Apply ReturnSym0 t_a2kd2 :: m_a2k1Z a_a2k24) ~ Apply Return_6989586621679563963Sym0 t_a2kd2) => Sing t_a2kd2 -> Sing (Apply ReturnSym0 t_a2kd2 :: m_a2k1Z a_a2k24)
sFail :: forall a_a2k25 (t_a2kd4 :: Symbol). (SMonad m_a2k1Z, (Apply FailSym0 t_a2kd4 :: m_a2k1Z a_a2k25) ~ Apply Fail_6989586621679563970Sym0 t_a2kd4) => Sing t_a2kd4 -> Sing (Apply FailSym0 t_a2kd4 :: m_a2k1Z a_a2k25)
infixl 1 %>>=
infixl 1 %>>
class (PAlternative m_a2k2T, PMonad m_a2k2T) => PMonadPlus (m_a2k2T :: Type -> Type) where {
    type family Mzero :: m_a2k2T a_a2k2U;
    type family Mplus (arg_a2kat :: m_a2k2T a_a2k2V) (arg_a2kau :: m_a2k2T a_a2k2V) :: m_a2k2T a_a2k2V;
    type Mzero = Mzero_6989586621679563981Sym0;
    type Mplus a_a2kaJ a_a2kaK = Apply (Apply Mplus_6989586621679563995Sym0 a_a2kaJ) a_a2kaK;
}
class (SAlternative m_a2k2T, SMonad m_a2k2T) => SMonadPlus (m_a2k2T :: Type -> Type)
sMzero :: forall a_a2k2U. SMonadPlus m_a2k2T => Sing (MzeroSym0 :: m_a2k2T a_a2k2U)
sMplus :: forall a_a2k2V (t_a2kde :: m_a2k2T a_a2k2V) (t_a2kdf :: m_a2k2T a_a2k2V). SMonadPlus m_a2k2T => Sing t_a2kde -> Sing t_a2kdf -> Sing (Apply (Apply MplusSym0 t_a2kde) t_a2kdf :: m_a2k2T a_a2k2V)
sMzero :: forall a_a2k2U. (SMonadPlus m_a2k2T, (MzeroSym0 :: m_a2k2T a_a2k2U) ~ Mzero_6989586621679563981Sym0) => Sing (MzeroSym0 :: m_a2k2T a_a2k2U)
sMplus :: forall a_a2k2V (t_a2kde :: m_a2k2T a_a2k2V) (t_a2kdf :: m_a2k2T a_a2k2V). (SMonadPlus m_a2k2T, (Apply (Apply MplusSym0 t_a2kde) t_a2kdf :: m_a2k2T a_a2k2V) ~ Apply (Apply Mplus_6989586621679563995Sym0 t_a2kde) t_a2kdf) => Sing t_a2kde -> Sing t_a2kdf -> Sing (Apply (Apply MplusSym0 t_a2kde) t_a2kdf :: m_a2k2T a_a2k2V)
type family MapM (arg_a7tbE :: (~>) a_a7tbt (m_a7tbs b_a7tbu)) (arg_a7tbF :: t_a7tbm a_a7tbt) :: m_a7tbs (t_a7tbm b_a7tbu)
sMapM :: forall m_a7tbs a_a7tbt b_a7tbu (t_a7tcC :: (~>) a_a7tbt (m_a7tbs b_a7tbu)) (t_a7tcD :: t_a7tbm a_a7tbt). (STraversable t_a7tbm, SMonad m_a7tbs) => Sing t_a7tcC -> Sing t_a7tcD -> Sing (Apply (Apply MapMSym0 t_a7tcC) t_a7tcD :: m_a7tbs (t_a7tbm b_a7tbu))
type family MapM_ (a_a6cdx :: (~>) a_a6c3T (m_a6c3S b_a6c3U)) (a_a6cdy :: t_a6c3R a_a6c3T) :: m_a6c3S ()
sMapM_ :: forall t_a6c3R m_a6c3S a_a6c3T b_a6c3U (t_a6czz :: (~>) a_a6c3T (m_a6c3S b_a6c3U)) (t_a6czA :: t_a6c3R a_a6c3T). (SFoldable t_a6c3R, SMonad m_a6c3S) => Sing t_a6czz -> Sing t_a6czA -> Sing (Apply (Apply MapM_Sym0 t_a6czz) t_a6czA :: m_a6c3S ())
type family ForM (a_a7uMm :: t_a7uDn a_a7uDp) (a_a7uMn :: (~>) a_a7uDp (m_a7uDo b_a7uDq)) :: m_a7uDo (t_a7uDn b_a7uDq)
sForM :: forall t_a7uDn m_a7uDo a_a7uDp b_a7uDq (t_a7uVP :: t_a7uDn a_a7uDp) (t_a7uVQ :: (~>) a_a7uDp (m_a7uDo b_a7uDq)). (STraversable t_a7uDn, SMonad m_a7uDo) => Sing t_a7uVP -> Sing t_a7uVQ -> Sing (Apply (Apply ForMSym0 t_a7uVP) t_a7uVQ :: m_a7uDo (t_a7uDn b_a7uDq))
type family Sequence (arg_a7tbI :: t_a7tbm (m_a7tbv a_a7tbw)) :: m_a7tbv (t_a7tbm a_a7tbw)
sSequence :: forall m_a7tbv a_a7tbw (t_a7tcG :: t_a7tbm (m_a7tbv a_a7tbw)). (STraversable t_a7tbm, SMonad m_a7tbv) => Sing t_a7tcG -> Sing (Apply SequenceSym0 t_a7tcG :: m_a7tbv (t_a7tbm a_a7tbw))
type family Sequence_ (a_a6cdp :: t_a6c3H (m_a6c3I a_a6c3J)) :: m_a6c3I ()
sSequence_ :: forall t_a6c3H m_a6c3I a_a6c3J (t_a6czv :: t_a6c3H (m_a6c3I a_a6c3J)). (SFoldable t_a6c3H, SMonad m_a6c3I) => Sing t_a6czv -> Sing (Apply Sequence_Sym0 t_a6czv :: m_a6c3I ())
type family (=<<) (a_a2k77 :: (~>) a_a2k0K (m_a2k0J b_a2k0L)) (a_a2k78 :: m_a2k0J a_a2k0K) :: m_a2k0J b_a2k0L
infixr 1 =<<
(%=<<) :: forall m_a2k0J a_a2k0K b_a2k0L (t_a2kbD :: (~>) a_a2k0K (m_a2k0J b_a2k0L)) (t_a2kbE :: m_a2k0J a_a2k0K). SMonad m_a2k0J => Sing t_a2kbD -> Sing t_a2kbE -> Sing (Apply (Apply (=<<@#@$) t_a2kbD) t_a2kbE :: m_a2k0J b_a2k0L)
infixr 1 %=<<
type family (>=>) (a_a9rlT :: (~>) a_a9reU (m_a9reT b_a9reV)) (a_a9rlU :: (~>) b_a9reV (m_a9reT c_a9reW)) (a_a9rlV :: a_a9reU) :: m_a9reT c_a9reW
infixr 1 >=>
(%>=>) :: forall m_a9reT a_a9reU b_a9reV c_a9reW (t_a9rob :: (~>) a_a9reU (m_a9reT b_a9reV)) (t_a9roc :: (~>) b_a9reV (m_a9reT c_a9reW)) (t_a9rod :: a_a9reU). SMonad m_a9reT => Sing t_a9rob -> Sing t_a9roc -> Sing t_a9rod -> Sing (Apply (Apply (Apply (>=>@#@$) t_a9rob) t_a9roc) t_a9rod :: m_a9reT c_a9reW)
infixr 1 %>=>
type family (<=<) (a_a9rmi :: (~>) b_a9reQ (m_a9reP c_a9reR)) (a_a9rmj :: (~>) a_a9reS (m_a9reP b_a9reQ)) (a_a9rmk :: a_a9reS) :: m_a9reP c_a9reR
infixr 1 <=<
(%<=<) :: forall m_a9reP b_a9reQ c_a9reR a_a9reS (t_a9roh :: (~>) b_a9reQ (m_a9reP c_a9reR)) (t_a9roi :: (~>) a_a9reS (m_a9reP b_a9reQ)) (t_a9roj :: a_a9reS). SMonad m_a9reP => Sing t_a9roh -> Sing t_a9roi -> Sing t_a9roj -> Sing (Apply (Apply (Apply (<=<@#@$) t_a9roh) t_a9roi) t_a9roj :: m_a9reP c_a9reR)
infixr 1 %<=<
type family Void (a_a32S3 :: f_a32QT a_a32QU) :: f_a32QT ()
sVoid :: forall f_a32QT a_a32QU (t_a32TP :: f_a32QT a_a32QU). SFunctor f_a32QT => Sing t_a32TP -> Sing (Apply VoidSym0 t_a32TP :: f_a32QT ())
type family Join (a_a2k7d :: m_a2k0M (m_a2k0M a_a2k0N)) :: m_a2k0M a_a2k0N
sJoin :: forall m_a2k0M a_a2k0N (t_a2kbH :: m_a2k0M (m_a2k0M a_a2k0N)). SMonad m_a2k0M => Sing t_a2kbH -> Sing (Apply JoinSym0 t_a2kbH :: m_a2k0M a_a2k0N)
type family Msum (a_a6cdk :: t_a6c3B (m_a6c3C a_a6c3D)) :: m_a6c3C a_a6c3D
sMsum :: forall t_a6c3B m_a6c3C a_a6c3D (t_a6czt :: t_a6c3B (m_a6c3C a_a6c3D)). (SFoldable t_a6c3B, SMonadPlus m_a6c3C) => Sing t_a6czt -> Sing (Apply MsumSym0 t_a6czt :: m_a6c3C a_a6c3D)
type family Mfilter (a_a9rjL :: (~>) a_a9rem Bool) (a_a9rjM :: m_a9rel a_a9rem) :: m_a9rel a_a9rem
sMfilter :: forall m_a9rel a_a9rem (t_a9rnp :: (~>) a_a9rem Bool) (t_a9rnq :: m_a9rel a_a9rem). SMonadPlus m_a9rel => Sing t_a9rnp -> Sing t_a9rnq -> Sing (Apply (Apply MfilterSym0 t_a9rnp) t_a9rnq :: m_a9rel a_a9rem)
type family FilterM (a_a9rmr :: (~>) a_a9reY (m_a9reX Bool)) (a_a9rms :: [a_a9reY]) :: m_a9reX [a_a9reY]
sFilterM :: forall m_a9reX a_a9reY (t_a9ron :: (~>) a_a9reY (m_a9reX Bool)) (t_a9roo :: [a_a9reY]). SApplicative m_a9reX => Sing t_a9ron -> Sing t_a9roo -> Sing (Apply (Apply FilterMSym0 t_a9ron) t_a9roo :: m_a9reX [a_a9reY])
type family MapAndUnzipM (a_a9rlN :: (~>) a_a9reM (m_a9reL (b_a9reN, c_a9reO))) (a_a9rlO :: [a_a9reM]) :: m_a9reL ([b_a9reN], [c_a9reO])
sMapAndUnzipM :: forall m_a9reL a_a9reM b_a9reN c_a9reO (t_a9ro7 :: (~>) a_a9reM (m_a9reL (b_a9reN, c_a9reO))) (t_a9ro8 :: [a_a9reM]). SApplicative m_a9reL => Sing t_a9ro7 -> Sing t_a9ro8 -> Sing (Apply (Apply MapAndUnzipMSym0 t_a9ro7) t_a9ro8 :: m_a9reL ([b_a9reN], [c_a9reO]))
type family ZipWithM (a_a9rlE :: (~>) a_a9reI ((~>) b_a9reJ (m_a9reH c_a9reK))) (a_a9rlF :: [a_a9reI]) (a_a9rlG :: [b_a9reJ]) :: m_a9reH [c_a9reK]
sZipWithM :: forall m_a9reH a_a9reI b_a9reJ c_a9reK (t_a9ro1 :: (~>) a_a9reI ((~>) b_a9reJ (m_a9reH c_a9reK))) (t_a9ro2 :: [a_a9reI]) (t_a9ro3 :: [b_a9reJ]). SApplicative m_a9reH => Sing t_a9ro1 -> Sing t_a9ro2 -> Sing t_a9ro3 -> Sing (Apply (Apply (Apply ZipWithMSym0 t_a9ro1) t_a9ro2) t_a9ro3 :: m_a9reH [c_a9reK])
type family ZipWithM_ (a_a9rlv :: (~>) a_a9reE ((~>) b_a9reF (m_a9reD c_a9reG))) (a_a9rlw :: [a_a9reE]) (a_a9rlx :: [b_a9reF]) :: m_a9reD ()
sZipWithM_ :: forall m_a9reD a_a9reE b_a9reF c_a9reG (t_a9rnV :: (~>) a_a9reE ((~>) b_a9reF (m_a9reD c_a9reG))) (t_a9rnW :: [a_a9reE]) (t_a9rnX :: [b_a9reF]). SApplicative m_a9reD => Sing t_a9rnV -> Sing t_a9rnW -> Sing t_a9rnX -> Sing (Apply (Apply (Apply ZipWithM_Sym0 t_a9rnV) t_a9rnW) t_a9rnX :: m_a9reD ())
type family FoldlM (a_a6ce7 :: (~>) b_a6c45 ((~>) a_a6c46 (m_a6c44 b_a6c45))) (a_a6ce8 :: b_a6c45) (a_a6ce9 :: t_a6c43 a_a6c46) :: m_a6c44 b_a6c45
sFoldlM :: forall t_a6c43 m_a6c44 b_a6c45 a_a6c46 (t_a6czP :: (~>) b_a6c45 ((~>) a_a6c46 (m_a6c44 b_a6c45))) (t_a6czQ :: b_a6c45) (t_a6czR :: t_a6c43 a_a6c46). (SFoldable t_a6c43, SMonad m_a6c44) => Sing t_a6czP -> Sing t_a6czQ -> Sing t_a6czR -> Sing (Apply (Apply (Apply FoldlMSym0 t_a6czP) t_a6czQ) t_a6czR :: m_a6c44 b_a6c45)
type family ReplicateM (a_a9rkO :: Nat) (a_a9rkP :: m_a9ret a_a9reu) :: m_a9ret [a_a9reu]
sReplicateM :: forall m_a9ret a_a9reu (t_a9rnF :: Nat) (t_a9rnG :: m_a9ret a_a9reu). SApplicative m_a9ret => Sing t_a9rnF -> Sing t_a9rnG -> Sing (Apply (Apply ReplicateMSym0 t_a9rnF) t_a9rnG :: m_a9ret [a_a9reu])
type family ReplicateM_ (a_a9rkv :: Nat) (a_a9rkw :: m_a9rer a_a9res) :: m_a9rer ()
sReplicateM_ :: forall m_a9rer a_a9res (t_a9rnB :: Nat) (t_a9rnC :: m_a9rer a_a9res). SApplicative m_a9rer => Sing t_a9rnB -> Sing t_a9rnC -> Sing (Apply (Apply ReplicateM_Sym0 t_a9rnB) t_a9rnC :: m_a9rer ())
type family Guard (a_a2k2Y :: Bool) :: f_a2k0f ()
sGuard :: forall f_a2k0f (t_a2kaP :: Bool). SAlternative f_a2k0f => Sing t_a2kaP -> Sing (Apply GuardSym0 t_a2kaP :: f_a2k0f ())
type family When (a_a2k6Y :: Bool) (a_a2k6Z :: f_a2k0I ()) :: f_a2k0I ()
sWhen :: forall f_a2k0I (t_a2kbz :: Bool) (t_a2kbA :: f_a2k0I ()). SApplicative f_a2k0I => Sing t_a2kbz -> Sing t_a2kbA -> Sing (Apply (Apply WhenSym0 t_a2kbz) t_a2kbA :: f_a2k0I ())
type family Unless (a_a9rkm :: Bool) (a_a9rkn :: f_a9req ()) :: f_a9req ()
sUnless :: forall f_a9req (t_a9rnx :: Bool) (t_a9rny :: f_a9req ()). SApplicative f_a9req => Sing t_a9rnx -> Sing t_a9rny -> Sing (Apply (Apply UnlessSym0 t_a9rnx) t_a9rny :: f_a9req ())
type family LiftM (a_a2k6L :: (~>) a1_a2k0G r_a2k0H) (a_a2k6M :: m_a2k0F a1_a2k0G) :: m_a2k0F r_a2k0H
sLiftM :: forall m_a2k0F a1_a2k0G r_a2k0H (t_a2kbv :: (~>) a1_a2k0G r_a2k0H) (t_a2kbw :: m_a2k0F a1_a2k0G). SMonad m_a2k0F => Sing t_a2kbv -> Sing t_a2kbw -> Sing (Apply (Apply LiftMSym0 t_a2kbv) t_a2kbw :: m_a2k0F r_a2k0H)
type family LiftM2 (a_a2k6l :: (~>) a1_a2k0C ((~>) a2_a2k0D r_a2k0E)) (a_a2k6m :: m_a2k0B a1_a2k0C) (a_a2k6n :: m_a2k0B a2_a2k0D) :: m_a2k0B r_a2k0E
sLiftM2 :: forall m_a2k0B a1_a2k0C a2_a2k0D r_a2k0E (t_a2kbp :: (~>) a1_a2k0C ((~>) a2_a2k0D r_a2k0E)) (t_a2kbq :: m_a2k0B a1_a2k0C) (t_a2kbr :: m_a2k0B a2_a2k0D). SMonad m_a2k0B => Sing t_a2kbp -> Sing t_a2kbq -> Sing t_a2kbr -> Sing (Apply (Apply (Apply LiftM2Sym0 t_a2kbp) t_a2kbq) t_a2kbr :: m_a2k0B r_a2k0E)
type family LiftM3 (a_a2k5F :: (~>) a1_a2k0x ((~>) a2_a2k0y ((~>) a3_a2k0z r_a2k0A))) (a_a2k5G :: m_a2k0w a1_a2k0x) (a_a2k5H :: m_a2k0w a2_a2k0y) (a_a2k5I :: m_a2k0w a3_a2k0z) :: m_a2k0w r_a2k0A
sLiftM3 :: forall m_a2k0w a1_a2k0x a2_a2k0y a3_a2k0z r_a2k0A (t_a2kbh :: (~>) a1_a2k0x ((~>) a2_a2k0y ((~>) a3_a2k0z r_a2k0A))) (t_a2kbi :: m_a2k0w a1_a2k0x) (t_a2kbj :: m_a2k0w a2_a2k0y) (t_a2kbk :: m_a2k0w a3_a2k0z). SMonad m_a2k0w => Sing t_a2kbh -> Sing t_a2kbi -> Sing t_a2kbj -> Sing t_a2kbk -> Sing (Apply (Apply (Apply (Apply LiftM3Sym0 t_a2kbh) t_a2kbi) t_a2kbj) t_a2kbk :: m_a2k0w r_a2k0A)
type family LiftM4 (a_a2k4G :: (~>) a1_a2k0r ((~>) a2_a2k0s ((~>) a3_a2k0t ((~>) a4_a2k0u r_a2k0v)))) (a_a2k4H :: m_a2k0q a1_a2k0r) (a_a2k4I :: m_a2k0q a2_a2k0s) (a_a2k4J :: m_a2k0q a3_a2k0t) (a_a2k4K :: m_a2k0q a4_a2k0u) :: m_a2k0q r_a2k0v
sLiftM4 :: forall m_a2k0q a1_a2k0r a2_a2k0s a3_a2k0t a4_a2k0u r_a2k0v (t_a2kb7 :: (~>) a1_a2k0r ((~>) a2_a2k0s ((~>) a3_a2k0t ((~>) a4_a2k0u r_a2k0v)))) (t_a2kb8 :: m_a2k0q a1_a2k0r) (t_a2kb9 :: m_a2k0q a2_a2k0s) (t_a2kba :: m_a2k0q a3_a2k0t) (t_a2kbb :: m_a2k0q a4_a2k0u). SMonad m_a2k0q => Sing t_a2kb7 -> Sing t_a2kb8 -> Sing t_a2kb9 -> Sing t_a2kba -> Sing t_a2kbb -> Sing (Apply (Apply (Apply (Apply (Apply LiftM4Sym0 t_a2kb7) t_a2kb8) t_a2kb9) t_a2kba) t_a2kbb :: m_a2k0q r_a2k0v)
type family LiftM5 (a_a2k3l :: (~>) a1_a2k0k ((~>) a2_a2k0l ((~>) a3_a2k0m ((~>) a4_a2k0n ((~>) a5_a2k0o r_a2k0p))))) (a_a2k3m :: m_a2k0j a1_a2k0k) (a_a2k3n :: m_a2k0j a2_a2k0l) (a_a2k3o :: m_a2k0j a3_a2k0m) (a_a2k3p :: m_a2k0j a4_a2k0n) (a_a2k3q :: m_a2k0j a5_a2k0o) :: m_a2k0j r_a2k0p
sLiftM5 :: forall m_a2k0j a1_a2k0k a2_a2k0l a3_a2k0m a4_a2k0n a5_a2k0o r_a2k0p (t_a2kaV :: (~>) a1_a2k0k ((~>) a2_a2k0l ((~>) a3_a2k0m ((~>) a4_a2k0n ((~>) a5_a2k0o r_a2k0p))))) (t_a2kaW :: m_a2k0j a1_a2k0k) (t_a2kaX :: m_a2k0j a2_a2k0l) (t_a2kaY :: m_a2k0j a3_a2k0m) (t_a2kaZ :: m_a2k0j a4_a2k0n) (t_a2kb0 :: m_a2k0j a5_a2k0o). SMonad m_a2k0j => Sing t_a2kaV -> Sing t_a2kaW -> Sing t_a2kaX -> Sing t_a2kaY -> Sing t_a2kaZ -> Sing t_a2kb0 -> Sing (Apply (Apply (Apply (Apply (Apply (Apply LiftM5Sym0 t_a2kaV) t_a2kaW) t_a2kaX) t_a2kaY) t_a2kaZ) t_a2kb0 :: m_a2k0j r_a2k0p)
type family Ap (a_a2k30 :: m_a2k0g ((~>) a_a2k0h b_a2k0i)) (a_a2k31 :: m_a2k0g a_a2k0h) :: m_a2k0g b_a2k0i
sAp :: forall m_a2k0g a_a2k0h b_a2k0i (t_a2kaR :: m_a2k0g ((~>) a_a2k0h b_a2k0i)) (t_a2kaS :: m_a2k0g a_a2k0h). SMonad m_a2k0g => Sing t_a2kaR -> Sing t_a2kaS -> Sing (Apply (Apply ApSym0 t_a2kaR) t_a2kaS :: m_a2k0g b_a2k0i)
type family (<$!>) (a_a9rk5 :: (~>) a_a9reo b_a9rep) (a_a9rk6 :: m_a9ren a_a9reo) :: m_a9ren b_a9rep
infixl 4 <$!>
(%<$!>) :: forall m_a9ren a_a9reo b_a9rep (t_a9rnt :: (~>) a_a9reo b_a9rep) (t_a9rnu :: m_a9ren a_a9reo). SMonad m_a9ren => Sing t_a9rnt -> Sing t_a9rnu -> Sing (Apply (Apply (<$!>@#@$) t_a9rnt) t_a9rnu :: m_a9ren b_a9rep)
infixl 4 %<$!>
data FmapSym0 :: forall a6989586621679563423 b6989586621679563424 f6989586621679563422. (~>) ((~>) a6989586621679563423 b6989586621679563424) ((~>) (f6989586621679563422 a6989586621679563423) (f6989586621679563422 b6989586621679563424))
data FmapSym1 (arg6989586621679563816 :: (~>) a6989586621679563423 b6989586621679563424) :: forall f6989586621679563422. (~>) (f6989586621679563422 a6989586621679563423) (f6989586621679563422 b6989586621679563424)
type FmapSym2 (arg6989586621679563816 :: (~>) a6989586621679563423 b6989586621679563424) (arg6989586621679563817 :: f6989586621679563422 a6989586621679563423) = Fmap arg6989586621679563816 arg6989586621679563817
data (>>=@#@$) :: forall a6989586621679563452 b6989586621679563453 m6989586621679563451. (~>) (m6989586621679563451 a6989586621679563452) ((~>) ((~>) a6989586621679563452 (m6989586621679563451 b6989586621679563453)) (m6989586621679563451 b6989586621679563453))
infixl 1 >>=@#@$
data (>>=@#@$$) (arg6989586621679563923 :: m6989586621679563451 a6989586621679563452) :: forall b6989586621679563453. (~>) ((~>) a6989586621679563452 (m6989586621679563451 b6989586621679563453)) (m6989586621679563451 b6989586621679563453)
infixl 1 >>=@#@$$
type (>>=@#@$$$) (arg6989586621679563923 :: m6989586621679563451 a6989586621679563452) (arg6989586621679563924 :: (~>) a6989586621679563452 (m6989586621679563451 b6989586621679563453)) = (>>=) arg6989586621679563923 arg6989586621679563924
data (>>@#@$) :: forall a6989586621679563454 b6989586621679563455 m6989586621679563451. (~>) (m6989586621679563451 a6989586621679563454) ((~>) (m6989586621679563451 b6989586621679563455) (m6989586621679563451 b6989586621679563455))
infixl 1 >>@#@$
data (>>@#@$$) (arg6989586621679563927 :: m6989586621679563451 a6989586621679563454) :: forall b6989586621679563455. (~>) (m6989586621679563451 b6989586621679563455) (m6989586621679563451 b6989586621679563455)
infixl 1 >>@#@$$
type (>>@#@$$$) (arg6989586621679563927 :: m6989586621679563451 a6989586621679563454) (arg6989586621679563928 :: m6989586621679563451 b6989586621679563455) = (>>) arg6989586621679563927 arg6989586621679563928
data ReturnSym0 :: forall a6989586621679563456 m6989586621679563451. (~>) a6989586621679563456 (m6989586621679563451 a6989586621679563456)
type ReturnSym1 (arg6989586621679563931 :: a6989586621679563456) = Return arg6989586621679563931
data FailSym0 :: forall a6989586621679563457 m6989586621679563451. (~>) Symbol (m6989586621679563451 a6989586621679563457)
type FailSym1 (arg6989586621679563933 :: Symbol) = Fail arg6989586621679563933
type MzeroSym0 = Mzero
data MplusSym0 :: forall a6989586621679563509 m6989586621679563507. (~>) (m6989586621679563507 a6989586621679563509) ((~>) (m6989586621679563507 a6989586621679563509) (m6989586621679563507 a6989586621679563509))
data MplusSym1 (arg6989586621679563977 :: m6989586621679563507 a6989586621679563509) :: (~>) (m6989586621679563507 a6989586621679563509) (m6989586621679563507 a6989586621679563509)
type MplusSym2 (arg6989586621679563977 :: m6989586621679563507 a6989586621679563509) (arg6989586621679563978 :: m6989586621679563507 a6989586621679563509) = Mplus arg6989586621679563977 arg6989586621679563978
data MapMSym0 :: forall a6989586621680790275 b6989586621680790276 m6989586621680790274 t6989586621680790268. (~>) ((~>) a6989586621680790275 (m6989586621680790274 b6989586621680790276)) ((~>) (t6989586621680790268 a6989586621680790275) (m6989586621680790274 (t6989586621680790268 b6989586621680790276)))
data MapMSym1 (arg6989586621680790286 :: (~>) a6989586621680790275 (m6989586621680790274 b6989586621680790276)) :: forall t6989586621680790268. (~>) (t6989586621680790268 a6989586621680790275) (m6989586621680790274 (t6989586621680790268 b6989586621680790276))
type MapMSym2 (arg6989586621680790286 :: (~>) a6989586621680790275 (m6989586621680790274 b6989586621680790276)) (arg6989586621680790287 :: t6989586621680790268 a6989586621680790275) = MapM arg6989586621680790286 arg6989586621680790287
data MapM_Sym0 :: forall a6989586621680486129 b6989586621680486130 m6989586621680486128 t6989586621680486127. (~>) ((~>) a6989586621680486129 (m6989586621680486128 b6989586621680486130)) ((~>) (t6989586621680486127 a6989586621680486129) (m6989586621680486128 ()))
data MapM_Sym1 (a6989586621680486727 :: (~>) a6989586621680486129 (m6989586621680486128 b6989586621680486130)) :: forall t6989586621680486127. (~>) (t6989586621680486127 a6989586621680486129) (m6989586621680486128 ())
type MapM_Sym2 (a6989586621680486727 :: (~>) a6989586621680486129 (m6989586621680486128 b6989586621680486130)) (a6989586621680486728 :: t6989586621680486127 a6989586621680486129) = MapM_ a6989586621680486727 a6989586621680486728
data ForMSym0 :: forall a6989586621680795851 b6989586621680795852 m6989586621680795850 t6989586621680795849. (~>) (t6989586621680795849 a6989586621680795851) ((~>) ((~>) a6989586621680795851 (m6989586621680795850 b6989586621680795852)) (m6989586621680795850 (t6989586621680795849 b6989586621680795852)))
data ForMSym1 (a6989586621680796406 :: t6989586621680795849 a6989586621680795851) :: forall b6989586621680795852 m6989586621680795850. (~>) ((~>) a6989586621680795851 (m6989586621680795850 b6989586621680795852)) (m6989586621680795850 (t6989586621680795849 b6989586621680795852))
type ForMSym2 (a6989586621680796406 :: t6989586621680795849 a6989586621680795851) (a6989586621680796407 :: (~>) a6989586621680795851 (m6989586621680795850 b6989586621680795852)) = ForM a6989586621680796406 a6989586621680796407
data SequenceSym0 :: forall a6989586621680790278 m6989586621680790277 t6989586621680790268. (~>) (t6989586621680790268 (m6989586621680790277 a6989586621680790278)) (m6989586621680790277 (t6989586621680790268 a6989586621680790278))
type SequenceSym1 (arg6989586621680790290 :: t6989586621680790268 (m6989586621680790277 a6989586621680790278)) = Sequence arg6989586621680790290
data Sequence_Sym0 :: forall a6989586621680486119 m6989586621680486118 t6989586621680486117. (~>) (t6989586621680486117 (m6989586621680486118 a6989586621680486119)) (m6989586621680486118 ())
type Sequence_Sym1 (a6989586621680486719 :: t6989586621680486117 (m6989586621680486118 a6989586621680486119)) = Sequence_ a6989586621680486719
data (=<<@#@$) :: forall a6989586621679563374 b6989586621679563375 m6989586621679563373. (~>) ((~>) a6989586621679563374 (m6989586621679563373 b6989586621679563375)) ((~>) (m6989586621679563373 a6989586621679563374) (m6989586621679563373 b6989586621679563375))
infixr 1 =<<@#@$
data (=<<@#@$$) (a6989586621679563769 :: (~>) a6989586621679563374 (m6989586621679563373 b6989586621679563375)) :: (~>) (m6989586621679563373 a6989586621679563374) (m6989586621679563373 b6989586621679563375)
infixr 1 =<<@#@$$
type (=<<@#@$$$) (a6989586621679563769 :: (~>) a6989586621679563374 (m6989586621679563373 b6989586621679563375)) (a6989586621679563770 :: m6989586621679563373 a6989586621679563374) = (=<<) a6989586621679563769 a6989586621679563770
data (>=>@#@$) :: forall a6989586621681259456 b6989586621681259457 c6989586621681259458 m6989586621681259455. (~>) ((~>) a6989586621681259456 (m6989586621681259455 b6989586621681259457)) ((~>) ((~>) b6989586621681259457 (m6989586621681259455 c6989586621681259458)) ((~>) a6989586621681259456 (m6989586621681259455 c6989586621681259458)))
infixr 1 >=>@#@$
data (>=>@#@$$) (a6989586621681259889 :: (~>) a6989586621681259456 (m6989586621681259455 b6989586621681259457)) :: forall c6989586621681259458. (~>) ((~>) b6989586621681259457 (m6989586621681259455 c6989586621681259458)) ((~>) a6989586621681259456 (m6989586621681259455 c6989586621681259458))
infixr 1 >=>@#@$$
data (>=>@#@$$$) (a6989586621681259889 :: (~>) a6989586621681259456 (m6989586621681259455 b6989586621681259457)) (a6989586621681259890 :: (~>) b6989586621681259457 (m6989586621681259455 c6989586621681259458)) :: (~>) a6989586621681259456 (m6989586621681259455 c6989586621681259458)
infixr 1 >=>@#@$$$
data (<=<@#@$) :: forall a6989586621681259454 b6989586621681259452 c6989586621681259453 m6989586621681259451. (~>) ((~>) b6989586621681259452 (m6989586621681259451 c6989586621681259453)) ((~>) ((~>) a6989586621681259454 (m6989586621681259451 b6989586621681259452)) ((~>) a6989586621681259454 (m6989586621681259451 c6989586621681259453)))
infixr 1 <=<@#@$
data (<=<@#@$$) (a6989586621681259914 :: (~>) b6989586621681259452 (m6989586621681259451 c6989586621681259453)) :: forall a6989586621681259454. (~>) ((~>) a6989586621681259454 (m6989586621681259451 b6989586621681259452)) ((~>) a6989586621681259454 (m6989586621681259451 c6989586621681259453))
infixr 1 <=<@#@$$
data (<=<@#@$$$) (a6989586621681259914 :: (~>) b6989586621681259452 (m6989586621681259451 c6989586621681259453)) (a6989586621681259915 :: (~>) a6989586621681259454 (m6989586621681259451 b6989586621681259452)) :: (~>) a6989586621681259454 (m6989586621681259451 c6989586621681259453)
infixr 1 <=<@#@$$$
data VoidSym0 :: forall a6989586621679735744 f6989586621679735743. (~>) (f6989586621679735743 a6989586621679735744) (f6989586621679735743 ())
type VoidSym1 (a6989586621679735815 :: f6989586621679735743 a6989586621679735744) = Void a6989586621679735815
data JoinSym0 :: forall a6989586621679563377 m6989586621679563376. (~>) (m6989586621679563376 (m6989586621679563376 a6989586621679563377)) (m6989586621679563376 a6989586621679563377)
type JoinSym1 (a6989586621679563775 :: m6989586621679563376 (m6989586621679563376 a6989586621679563377)) = Join a6989586621679563775
data MsumSym0 :: forall a6989586621680486113 m6989586621680486112 t6989586621680486111. (~>) (t6989586621680486111 (m6989586621680486112 a6989586621680486113)) (m6989586621680486112 a6989586621680486113)
type MsumSym1 (a6989586621680486714 :: t6989586621680486111 (m6989586621680486112 a6989586621680486113)) = Msum a6989586621680486714
data MfilterSym0 :: forall a6989586621681259422 m6989586621681259421. (~>) ((~>) a6989586621681259422 Bool) ((~>) (m6989586621681259421 a6989586621681259422) (m6989586621681259421 a6989586621681259422))
data MfilterSym1 (a6989586621681259757 :: (~>) a6989586621681259422 Bool) :: forall m6989586621681259421. (~>) (m6989586621681259421 a6989586621681259422) (m6989586621681259421 a6989586621681259422)
type MfilterSym2 (a6989586621681259757 :: (~>) a6989586621681259422 Bool) (a6989586621681259758 :: m6989586621681259421 a6989586621681259422) = Mfilter a6989586621681259757 a6989586621681259758
data FilterMSym0 :: forall a6989586621681259460 m6989586621681259459. (~>) ((~>) a6989586621681259460 (m6989586621681259459 Bool)) ((~>) [a6989586621681259460] (m6989586621681259459 [a6989586621681259460]))
data FilterMSym1 (a6989586621681259923 :: (~>) a6989586621681259460 (m6989586621681259459 Bool)) :: (~>) [a6989586621681259460] (m6989586621681259459 [a6989586621681259460])
type FilterMSym2 (a6989586621681259923 :: (~>) a6989586621681259460 (m6989586621681259459 Bool)) (a6989586621681259924 :: [a6989586621681259460]) = FilterM a6989586621681259923 a6989586621681259924
data MapAndUnzipMSym0 :: forall a6989586621681259448 b6989586621681259449 c6989586621681259450 m6989586621681259447. (~>) ((~>) a6989586621681259448 (m6989586621681259447 (b6989586621681259449, c6989586621681259450))) ((~>) [a6989586621681259448] (m6989586621681259447 ([b6989586621681259449], [c6989586621681259450])))
data MapAndUnzipMSym1 (a6989586621681259883 :: (~>) a6989586621681259448 (m6989586621681259447 (b6989586621681259449, c6989586621681259450))) :: (~>) [a6989586621681259448] (m6989586621681259447 ([b6989586621681259449], [c6989586621681259450]))
type MapAndUnzipMSym2 (a6989586621681259883 :: (~>) a6989586621681259448 (m6989586621681259447 (b6989586621681259449, c6989586621681259450))) (a6989586621681259884 :: [a6989586621681259448]) = MapAndUnzipM a6989586621681259883 a6989586621681259884
data ZipWithMSym0 :: forall a6989586621681259444 b6989586621681259445 c6989586621681259446 m6989586621681259443. (~>) ((~>) a6989586621681259444 ((~>) b6989586621681259445 (m6989586621681259443 c6989586621681259446))) ((~>) [a6989586621681259444] ((~>) [b6989586621681259445] (m6989586621681259443 [c6989586621681259446])))
data ZipWithMSym1 (a6989586621681259874 :: (~>) a6989586621681259444 ((~>) b6989586621681259445 (m6989586621681259443 c6989586621681259446))) :: (~>) [a6989586621681259444] ((~>) [b6989586621681259445] (m6989586621681259443 [c6989586621681259446]))
data ZipWithMSym2 (a6989586621681259874 :: (~>) a6989586621681259444 ((~>) b6989586621681259445 (m6989586621681259443 c6989586621681259446))) (a6989586621681259875 :: [a6989586621681259444]) :: (~>) [b6989586621681259445] (m6989586621681259443 [c6989586621681259446])
type ZipWithMSym3 (a6989586621681259874 :: (~>) a6989586621681259444 ((~>) b6989586621681259445 (m6989586621681259443 c6989586621681259446))) (a6989586621681259875 :: [a6989586621681259444]) (a6989586621681259876 :: [b6989586621681259445]) = ZipWithM a6989586621681259874 a6989586621681259875 a6989586621681259876
data ZipWithM_Sym0 :: forall a6989586621681259440 b6989586621681259441 c6989586621681259442 m6989586621681259439. (~>) ((~>) a6989586621681259440 ((~>) b6989586621681259441 (m6989586621681259439 c6989586621681259442))) ((~>) [a6989586621681259440] ((~>) [b6989586621681259441] (m6989586621681259439 ())))
data ZipWithM_Sym1 (a6989586621681259865 :: (~>) a6989586621681259440 ((~>) b6989586621681259441 (m6989586621681259439 c6989586621681259442))) :: (~>) [a6989586621681259440] ((~>) [b6989586621681259441] (m6989586621681259439 ()))
data ZipWithM_Sym2 (a6989586621681259865 :: (~>) a6989586621681259440 ((~>) b6989586621681259441 (m6989586621681259439 c6989586621681259442))) (a6989586621681259866 :: [a6989586621681259440]) :: (~>) [b6989586621681259441] (m6989586621681259439 ())
type ZipWithM_Sym3 (a6989586621681259865 :: (~>) a6989586621681259440 ((~>) b6989586621681259441 (m6989586621681259439 c6989586621681259442))) (a6989586621681259866 :: [a6989586621681259440]) (a6989586621681259867 :: [b6989586621681259441]) = ZipWithM_ a6989586621681259865 a6989586621681259866 a6989586621681259867
data FoldlMSym0 :: forall a6989586621680486142 b6989586621680486141 m6989586621680486140 t6989586621680486139. (~>) ((~>) b6989586621680486141 ((~>) a6989586621680486142 (m6989586621680486140 b6989586621680486141))) ((~>) b6989586621680486141 ((~>) (t6989586621680486139 a6989586621680486142) (m6989586621680486140 b6989586621680486141)))
data FoldlMSym1 (a6989586621680486763 :: (~>) b6989586621680486141 ((~>) a6989586621680486142 (m6989586621680486140 b6989586621680486141))) :: forall t6989586621680486139. (~>) b6989586621680486141 ((~>) (t6989586621680486139 a6989586621680486142) (m6989586621680486140 b6989586621680486141))
data FoldlMSym2 (a6989586621680486763 :: (~>) b6989586621680486141 ((~>) a6989586621680486142 (m6989586621680486140 b6989586621680486141))) (a6989586621680486764 :: b6989586621680486141) :: forall t6989586621680486139. (~>) (t6989586621680486139 a6989586621680486142) (m6989586621680486140 b6989586621680486141)
type FoldlMSym3 (a6989586621680486763 :: (~>) b6989586621680486141 ((~>) a6989586621680486142 (m6989586621680486140 b6989586621680486141))) (a6989586621680486764 :: b6989586621680486141) (a6989586621680486765 :: t6989586621680486139 a6989586621680486142) = FoldlM a6989586621680486763 a6989586621680486764 a6989586621680486765
data ReplicateMSym0 :: forall a6989586621681259430 m6989586621681259429. (~>) Nat ((~>) (m6989586621681259429 a6989586621681259430) (m6989586621681259429 [a6989586621681259430]))
data ReplicateMSym1 (a6989586621681259822 :: Nat) :: forall a6989586621681259430 m6989586621681259429. (~>) (m6989586621681259429 a6989586621681259430) (m6989586621681259429 [a6989586621681259430])
type ReplicateMSym2 (a6989586621681259822 :: Nat) (a6989586621681259823 :: m6989586621681259429 a6989586621681259430) = ReplicateM a6989586621681259822 a6989586621681259823
data ReplicateM_Sym0 :: forall a6989586621681259428 m6989586621681259427. (~>) Nat ((~>) (m6989586621681259427 a6989586621681259428) (m6989586621681259427 ()))
data ReplicateM_Sym1 (a6989586621681259803 :: Nat) :: forall a6989586621681259428 m6989586621681259427. (~>) (m6989586621681259427 a6989586621681259428) (m6989586621681259427 ())
type ReplicateM_Sym2 (a6989586621681259803 :: Nat) (a6989586621681259804 :: m6989586621681259427 a6989586621681259428) = ReplicateM_ a6989586621681259803 a6989586621681259804
data GuardSym0 :: forall f6989586621679563343. (~>) Bool (f6989586621679563343 ())
type GuardSym1 (a6989586621679563512 :: Bool) = Guard a6989586621679563512
data WhenSym0 :: forall f6989586621679563372. (~>) Bool ((~>) (f6989586621679563372 ()) (f6989586621679563372 ()))
data WhenSym1 (a6989586621679563760 :: Bool) :: forall f6989586621679563372. (~>) (f6989586621679563372 ()) (f6989586621679563372 ())
type WhenSym2 (a6989586621679563760 :: Bool) (a6989586621679563761 :: f6989586621679563372 ()) = When a6989586621679563760 a6989586621679563761
data UnlessSym0 :: forall f6989586621681259426. (~>) Bool ((~>) (f6989586621681259426 ()) (f6989586621681259426 ()))
data UnlessSym1 (a6989586621681259794 :: Bool) :: forall f6989586621681259426. (~>) (f6989586621681259426 ()) (f6989586621681259426 ())
type UnlessSym2 (a6989586621681259794 :: Bool) (a6989586621681259795 :: f6989586621681259426 ()) = Unless a6989586621681259794 a6989586621681259795
data LiftMSym0 :: forall a16989586621679563370 m6989586621679563369 r6989586621679563371. (~>) ((~>) a16989586621679563370 r6989586621679563371) ((~>) (m6989586621679563369 a16989586621679563370) (m6989586621679563369 r6989586621679563371))
data LiftMSym1 (a6989586621679563747 :: (~>) a16989586621679563370 r6989586621679563371) :: forall m6989586621679563369. (~>) (m6989586621679563369 a16989586621679563370) (m6989586621679563369 r6989586621679563371)
type LiftMSym2 (a6989586621679563747 :: (~>) a16989586621679563370 r6989586621679563371) (a6989586621679563748 :: m6989586621679563369 a16989586621679563370) = LiftM a6989586621679563747 a6989586621679563748
data LiftM2Sym0 :: forall a16989586621679563366 a26989586621679563367 m6989586621679563365 r6989586621679563368. (~>) ((~>) a16989586621679563366 ((~>) a26989586621679563367 r6989586621679563368)) ((~>) (m6989586621679563365 a16989586621679563366) ((~>) (m6989586621679563365 a26989586621679563367) (m6989586621679563365 r6989586621679563368)))
data LiftM2Sym1 (a6989586621679563721 :: (~>) a16989586621679563366 ((~>) a26989586621679563367 r6989586621679563368)) :: forall m6989586621679563365. (~>) (m6989586621679563365 a16989586621679563366) ((~>) (m6989586621679563365 a26989586621679563367) (m6989586621679563365 r6989586621679563368))
data LiftM2Sym2 (a6989586621679563721 :: (~>) a16989586621679563366 ((~>) a26989586621679563367 r6989586621679563368)) (a6989586621679563722 :: m6989586621679563365 a16989586621679563366) :: (~>) (m6989586621679563365 a26989586621679563367) (m6989586621679563365 r6989586621679563368)
type LiftM2Sym3 (a6989586621679563721 :: (~>) a16989586621679563366 ((~>) a26989586621679563367 r6989586621679563368)) (a6989586621679563722 :: m6989586621679563365 a16989586621679563366) (a6989586621679563723 :: m6989586621679563365 a26989586621679563367) = LiftM2 a6989586621679563721 a6989586621679563722 a6989586621679563723
data LiftM3Sym0 :: forall a16989586621679563361 a26989586621679563362 a36989586621679563363 m6989586621679563360 r6989586621679563364. (~>) ((~>) a16989586621679563361 ((~>) a26989586621679563362 ((~>) a36989586621679563363 r6989586621679563364))) ((~>) (m6989586621679563360 a16989586621679563361) ((~>) (m6989586621679563360 a26989586621679563362) ((~>) (m6989586621679563360 a36989586621679563363) (m6989586621679563360 r6989586621679563364))))
data LiftM3Sym1 (a6989586621679563679 :: (~>) a16989586621679563361 ((~>) a26989586621679563362 ((~>) a36989586621679563363 r6989586621679563364))) :: forall m6989586621679563360. (~>) (m6989586621679563360 a16989586621679563361) ((~>) (m6989586621679563360 a26989586621679563362) ((~>) (m6989586621679563360 a36989586621679563363) (m6989586621679563360 r6989586621679563364)))
data LiftM3Sym2 (a6989586621679563679 :: (~>) a16989586621679563361 ((~>) a26989586621679563362 ((~>) a36989586621679563363 r6989586621679563364))) (a6989586621679563680 :: m6989586621679563360 a16989586621679563361) :: (~>) (m6989586621679563360 a26989586621679563362) ((~>) (m6989586621679563360 a36989586621679563363) (m6989586621679563360 r6989586621679563364))
data LiftM3Sym3 (a6989586621679563679 :: (~>) a16989586621679563361 ((~>) a26989586621679563362 ((~>) a36989586621679563363 r6989586621679563364))) (a6989586621679563680 :: m6989586621679563360 a16989586621679563361) (a6989586621679563681 :: m6989586621679563360 a26989586621679563362) :: (~>) (m6989586621679563360 a36989586621679563363) (m6989586621679563360 r6989586621679563364)
type LiftM3Sym4 (a6989586621679563679 :: (~>) a16989586621679563361 ((~>) a26989586621679563362 ((~>) a36989586621679563363 r6989586621679563364))) (a6989586621679563680 :: m6989586621679563360 a16989586621679563361) (a6989586621679563681 :: m6989586621679563360 a26989586621679563362) (a6989586621679563682 :: m6989586621679563360 a36989586621679563363) = LiftM3 a6989586621679563679 a6989586621679563680 a6989586621679563681 a6989586621679563682
data LiftM4Sym0 :: forall a16989586621679563355 a26989586621679563356 a36989586621679563357 a46989586621679563358 m6989586621679563354 r6989586621679563359. (~>) ((~>) a16989586621679563355 ((~>) a26989586621679563356 ((~>) a36989586621679563357 ((~>) a46989586621679563358 r6989586621679563359)))) ((~>) (m6989586621679563354 a16989586621679563355) ((~>) (m6989586621679563354 a26989586621679563356) ((~>) (m6989586621679563354 a36989586621679563357) ((~>) (m6989586621679563354 a46989586621679563358) (m6989586621679563354 r6989586621679563359)))))
data LiftM4Sym1 (a6989586621679563618 :: (~>) a16989586621679563355 ((~>) a26989586621679563356 ((~>) a36989586621679563357 ((~>) a46989586621679563358 r6989586621679563359)))) :: forall m6989586621679563354. (~>) (m6989586621679563354 a16989586621679563355) ((~>) (m6989586621679563354 a26989586621679563356) ((~>) (m6989586621679563354 a36989586621679563357) ((~>) (m6989586621679563354 a46989586621679563358) (m6989586621679563354 r6989586621679563359))))
data LiftM4Sym2 (a6989586621679563618 :: (~>) a16989586621679563355 ((~>) a26989586621679563356 ((~>) a36989586621679563357 ((~>) a46989586621679563358 r6989586621679563359)))) (a6989586621679563619 :: m6989586621679563354 a16989586621679563355) :: (~>) (m6989586621679563354 a26989586621679563356) ((~>) (m6989586621679563354 a36989586621679563357) ((~>) (m6989586621679563354 a46989586621679563358) (m6989586621679563354 r6989586621679563359)))
data LiftM4Sym3 (a6989586621679563618 :: (~>) a16989586621679563355 ((~>) a26989586621679563356 ((~>) a36989586621679563357 ((~>) a46989586621679563358 r6989586621679563359)))) (a6989586621679563619 :: m6989586621679563354 a16989586621679563355) (a6989586621679563620 :: m6989586621679563354 a26989586621679563356) :: (~>) (m6989586621679563354 a36989586621679563357) ((~>) (m6989586621679563354 a46989586621679563358) (m6989586621679563354 r6989586621679563359))
data LiftM4Sym4 (a6989586621679563618 :: (~>) a16989586621679563355 ((~>) a26989586621679563356 ((~>) a36989586621679563357 ((~>) a46989586621679563358 r6989586621679563359)))) (a6989586621679563619 :: m6989586621679563354 a16989586621679563355) (a6989586621679563620 :: m6989586621679563354 a26989586621679563356) (a6989586621679563621 :: m6989586621679563354 a36989586621679563357) :: (~>) (m6989586621679563354 a46989586621679563358) (m6989586621679563354 r6989586621679563359)
type LiftM4Sym5 (a6989586621679563618 :: (~>) a16989586621679563355 ((~>) a26989586621679563356 ((~>) a36989586621679563357 ((~>) a46989586621679563358 r6989586621679563359)))) (a6989586621679563619 :: m6989586621679563354 a16989586621679563355) (a6989586621679563620 :: m6989586621679563354 a26989586621679563356) (a6989586621679563621 :: m6989586621679563354 a36989586621679563357) (a6989586621679563622 :: m6989586621679563354 a46989586621679563358) = LiftM4 a6989586621679563618 a6989586621679563619 a6989586621679563620 a6989586621679563621 a6989586621679563622
data LiftM5Sym0 :: forall a16989586621679563348 a26989586621679563349 a36989586621679563350 a46989586621679563351 a56989586621679563352 m6989586621679563347 r6989586621679563353. (~>) ((~>) a16989586621679563348 ((~>) a26989586621679563349 ((~>) a36989586621679563350 ((~>) a46989586621679563351 ((~>) a56989586621679563352 r6989586621679563353))))) ((~>) (m6989586621679563347 a16989586621679563348) ((~>) (m6989586621679563347 a26989586621679563349) ((~>) (m6989586621679563347 a36989586621679563350) ((~>) (m6989586621679563347 a46989586621679563351) ((~>) (m6989586621679563347 a56989586621679563352) (m6989586621679563347 r6989586621679563353))))))
data LiftM5Sym1 (a6989586621679563535 :: (~>) a16989586621679563348 ((~>) a26989586621679563349 ((~>) a36989586621679563350 ((~>) a46989586621679563351 ((~>) a56989586621679563352 r6989586621679563353))))) :: forall m6989586621679563347. (~>) (m6989586621679563347 a16989586621679563348) ((~>) (m6989586621679563347 a26989586621679563349) ((~>) (m6989586621679563347 a36989586621679563350) ((~>) (m6989586621679563347 a46989586621679563351) ((~>) (m6989586621679563347 a56989586621679563352) (m6989586621679563347 r6989586621679563353)))))
data LiftM5Sym2 (a6989586621679563535 :: (~>) a16989586621679563348 ((~>) a26989586621679563349 ((~>) a36989586621679563350 ((~>) a46989586621679563351 ((~>) a56989586621679563352 r6989586621679563353))))) (a6989586621679563536 :: m6989586621679563347 a16989586621679563348) :: (~>) (m6989586621679563347 a26989586621679563349) ((~>) (m6989586621679563347 a36989586621679563350) ((~>) (m6989586621679563347 a46989586621679563351) ((~>) (m6989586621679563347 a56989586621679563352) (m6989586621679563347 r6989586621679563353))))
data LiftM5Sym3 (a6989586621679563535 :: (~>) a16989586621679563348 ((~>) a26989586621679563349 ((~>) a36989586621679563350 ((~>) a46989586621679563351 ((~>) a56989586621679563352 r6989586621679563353))))) (a6989586621679563536 :: m6989586621679563347 a16989586621679563348) (a6989586621679563537 :: m6989586621679563347 a26989586621679563349) :: (~>) (m6989586621679563347 a36989586621679563350) ((~>) (m6989586621679563347 a46989586621679563351) ((~>) (m6989586621679563347 a56989586621679563352) (m6989586621679563347 r6989586621679563353)))
data LiftM5Sym4 (a6989586621679563535 :: (~>) a16989586621679563348 ((~>) a26989586621679563349 ((~>) a36989586621679563350 ((~>) a46989586621679563351 ((~>) a56989586621679563352 r6989586621679563353))))) (a6989586621679563536 :: m6989586621679563347 a16989586621679563348) (a6989586621679563537 :: m6989586621679563347 a26989586621679563349) (a6989586621679563538 :: m6989586621679563347 a36989586621679563350) :: (~>) (m6989586621679563347 a46989586621679563351) ((~>) (m6989586621679563347 a56989586621679563352) (m6989586621679563347 r6989586621679563353))
data LiftM5Sym5 (a6989586621679563535 :: (~>) a16989586621679563348 ((~>) a26989586621679563349 ((~>) a36989586621679563350 ((~>) a46989586621679563351 ((~>) a56989586621679563352 r6989586621679563353))))) (a6989586621679563536 :: m6989586621679563347 a16989586621679563348) (a6989586621679563537 :: m6989586621679563347 a26989586621679563349) (a6989586621679563538 :: m6989586621679563347 a36989586621679563350) (a6989586621679563539 :: m6989586621679563347 a46989586621679563351) :: (~>) (m6989586621679563347 a56989586621679563352) (m6989586621679563347 r6989586621679563353)
type LiftM5Sym6 (a6989586621679563535 :: (~>) a16989586621679563348 ((~>) a26989586621679563349 ((~>) a36989586621679563350 ((~>) a46989586621679563351 ((~>) a56989586621679563352 r6989586621679563353))))) (a6989586621679563536 :: m6989586621679563347 a16989586621679563348) (a6989586621679563537 :: m6989586621679563347 a26989586621679563349) (a6989586621679563538 :: m6989586621679563347 a36989586621679563350) (a6989586621679563539 :: m6989586621679563347 a46989586621679563351) (a6989586621679563540 :: m6989586621679563347 a56989586621679563352) = LiftM5 a6989586621679563535 a6989586621679563536 a6989586621679563537 a6989586621679563538 a6989586621679563539 a6989586621679563540
data ApSym0 :: forall a6989586621679563345 b6989586621679563346 m6989586621679563344. (~>) (m6989586621679563344 ((~>) a6989586621679563345 b6989586621679563346)) ((~>) (m6989586621679563344 a6989586621679563345) (m6989586621679563344 b6989586621679563346))
data ApSym1 (a6989586621679563514 :: m6989586621679563344 ((~>) a6989586621679563345 b6989586621679563346)) :: (~>) (m6989586621679563344 a6989586621679563345) (m6989586621679563344 b6989586621679563346)
type ApSym2 (a6989586621679563514 :: m6989586621679563344 ((~>) a6989586621679563345 b6989586621679563346)) (a6989586621679563515 :: m6989586621679563344 a6989586621679563345) = Ap a6989586621679563514 a6989586621679563515
data (<$!>@#@$) :: forall a6989586621681259424 b6989586621681259425 m6989586621681259423. (~>) ((~>) a6989586621681259424 b6989586621681259425) ((~>) (m6989586621681259423 a6989586621681259424) (m6989586621681259423 b6989586621681259425))
infixl 4 <$!>@#@$
data (<$!>@#@$$) (a6989586621681259777 :: (~>) a6989586621681259424 b6989586621681259425) :: forall m6989586621681259423. (~>) (m6989586621681259423 a6989586621681259424) (m6989586621681259423 b6989586621681259425)
infixl 4 <$!>@#@$$
type (<$!>@#@$$$) (a6989586621681259777 :: (~>) a6989586621681259424 b6989586621681259425) (a6989586621681259778 :: m6989586621681259423 a6989586621681259424) = (<$!>) a6989586621681259777 a6989586621681259778
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.TFHelper_6989586621681259979Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Ord.Down
instance forall b6989586621679563453 a6989586621679563452 (a6989586621681259977 :: Data.Ord.Down a6989586621679563452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.TFHelper_6989586621681259979Sym1 a6989586621681259977)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.TFHelper_6989586621681259967Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad ((,) a)
instance forall b6989586621679563453 a6989586621681259508 a6989586621679563452 (a6989586621681259965 :: (a6989586621681259508, a6989586621679563452)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.TFHelper_6989586621681259967Sym1 a6989586621681259965)
instance Data.Singletons.Prelude.Monoid.SMonoid a => Data.Singletons.Prelude.Monad.Internal.SMonad ((,) a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681259956Scrutinee_6989586621681259522Sym0
instance forall k1 k2 k3 (u6989586621681259953 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681259956Scrutinee_6989586621681259522Sym1 u6989586621681259953)
instance forall k1 k2 k3 (a6989586621681259954 :: k3) (u6989586621681259953 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681259956Scrutinee_6989586621681259522Sym2 a6989586621681259954 u6989586621681259953)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.FilterMSym0
instance Data.Singletons.Prelude.Monad.Internal.SApplicative m => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Monad.FilterMSym0
instance forall a6989586621681259460 (m6989586621681259459 :: * -> *) (a6989586621681259923 :: a6989586621681259460 Data.Singletons.Internal.~> m6989586621681259459 GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FilterMSym1 a6989586621681259923)
instance forall a (m :: * -> *) (d :: a Data.Singletons.Internal.~> m GHC.Types.Bool). (Data.Singletons.Prelude.Monad.Internal.SApplicative m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.FilterMSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.<=<@#@$)
instance Data.Singletons.Prelude.Monad.Internal.SMonad m => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.<=<@#@$)
instance forall a6989586621681259454 b6989586621681259452 (m6989586621681259451 :: * -> *) c6989586621681259453 (a6989586621681259914 :: b6989586621681259452 Data.Singletons.Internal.~> m6989586621681259451 c6989586621681259453). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Monad.<=<@#@$$) a6989586621681259914)
instance forall b (m :: * -> *) c a (d :: b Data.Singletons.Internal.~> m c). (Data.Singletons.Prelude.Monad.Internal.SMonad m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Monad.<=<@#@$$) d)
instance forall a6989586621681259454 b6989586621681259452 (m6989586621681259451 :: * -> *) c6989586621681259453 (a6989586621681259915 :: b6989586621681259452 Data.Singletons.Internal.~> m6989586621681259451 c6989586621681259453) (a6989586621681259914 :: a6989586621681259454 Data.Singletons.Internal.~> m6989586621681259451 b6989586621681259452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (a6989586621681259915 Data.Singletons.Prelude.Monad.<=<@#@$$$ a6989586621681259914)
instance forall b (m :: * -> *) c a (d1 :: b Data.Singletons.Internal.~> m c) (d2 :: a Data.Singletons.Internal.~> m b). (Data.Singletons.Prelude.Monad.Internal.SMonad m, Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (d1 Data.Singletons.Prelude.Monad.<=<@#@$$$ d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.>=>@#@$)
instance Data.Singletons.Prelude.Monad.Internal.SMonad m => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.>=>@#@$)
instance forall c6989586621681259458 a6989586621681259456 (m6989586621681259455 :: * -> *) b6989586621681259457 (a6989586621681259889 :: a6989586621681259456 Data.Singletons.Internal.~> m6989586621681259455 b6989586621681259457). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Monad.>=>@#@$$) a6989586621681259889)
instance forall a (m :: * -> *) b c (d :: a Data.Singletons.Internal.~> m b). (Data.Singletons.Prelude.Monad.Internal.SMonad m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Monad.>=>@#@$$) d)
instance forall c6989586621681259458 a6989586621681259456 (m6989586621681259455 :: * -> *) b6989586621681259457 (a6989586621681259890 :: a6989586621681259456 Data.Singletons.Internal.~> m6989586621681259455 b6989586621681259457) (a6989586621681259889 :: b6989586621681259457 Data.Singletons.Internal.~> m6989586621681259455 c6989586621681259458). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (a6989586621681259890 Data.Singletons.Prelude.Monad.>=>@#@$$$ a6989586621681259889)
instance forall a (m :: * -> *) b c (d1 :: a Data.Singletons.Internal.~> m b) (d2 :: b Data.Singletons.Internal.~> m c). (Data.Singletons.Prelude.Monad.Internal.SMonad m, Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (d1 Data.Singletons.Prelude.Monad.>=>@#@$$$ d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.MapAndUnzipMSym0
instance Data.Singletons.Prelude.Monad.Internal.SApplicative m => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Monad.MapAndUnzipMSym0
instance forall a6989586621681259448 (m6989586621681259447 :: * -> *) b6989586621681259449 c6989586621681259450 (a6989586621681259883 :: a6989586621681259448 Data.Singletons.Internal.~> m6989586621681259447 (b6989586621681259449, c6989586621681259450)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.MapAndUnzipMSym1 a6989586621681259883)
instance forall a (m :: * -> *) b c (d :: a Data.Singletons.Internal.~> m (b, c)). (Data.Singletons.Prelude.Monad.Internal.SApplicative m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.MapAndUnzipMSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.ZipWithMSym0
instance Data.Singletons.Prelude.Monad.Internal.SApplicative m => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Monad.ZipWithMSym0
instance forall a6989586621681259444 b6989586621681259445 (m6989586621681259443 :: * -> *) c6989586621681259446 (a6989586621681259874 :: a6989586621681259444 Data.Singletons.Internal.~> (b6989586621681259445 Data.Singletons.Internal.~> m6989586621681259443 c6989586621681259446)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithMSym1 a6989586621681259874)
instance forall a b (m :: * -> *) c (d :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> m c)). (Data.Singletons.Prelude.Monad.Internal.SApplicative m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.ZipWithMSym1 d)
instance forall a6989586621681259444 b6989586621681259445 (m6989586621681259443 :: * -> *) c6989586621681259446 (a6989586621681259875 :: a6989586621681259444 Data.Singletons.Internal.~> (b6989586621681259445 Data.Singletons.Internal.~> m6989586621681259443 c6989586621681259446)) (a6989586621681259874 :: [a6989586621681259444]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithMSym2 a6989586621681259875 a6989586621681259874)
instance forall a b (m :: * -> *) c (d1 :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> m c)) (d2 :: [a]). (Data.Singletons.Prelude.Monad.Internal.SApplicative m, Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.ZipWithMSym2 d1 d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.ZipWithM_Sym0
instance Data.Singletons.Prelude.Monad.Internal.SApplicative m => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Monad.ZipWithM_Sym0
instance forall a6989586621681259440 b6989586621681259441 (m6989586621681259439 :: * -> *) c6989586621681259442 (a6989586621681259865 :: a6989586621681259440 Data.Singletons.Internal.~> (b6989586621681259441 Data.Singletons.Internal.~> m6989586621681259439 c6989586621681259442)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithM_Sym1 a6989586621681259865)
instance forall a b (m :: * -> *) c (d :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> m c)). (Data.Singletons.Prelude.Monad.Internal.SApplicative m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.ZipWithM_Sym1 d)
instance forall a6989586621681259440 b6989586621681259441 (m6989586621681259439 :: * -> *) c6989586621681259442 (a6989586621681259866 :: a6989586621681259440 Data.Singletons.Internal.~> (b6989586621681259441 Data.Singletons.Internal.~> m6989586621681259439 c6989586621681259442)) (a6989586621681259865 :: [a6989586621681259440]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithM_Sym2 a6989586621681259866 a6989586621681259865)
instance forall a b (m :: * -> *) c (d1 :: a Data.Singletons.Internal.~> (b Data.Singletons.Internal.~> m c)) (d2 :: [a]). (Data.Singletons.Prelude.Monad.Internal.SApplicative m, Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.ZipWithM_Sym2 d1 d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.FoldMSym0
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SMonad m) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Monad.FoldMSym0
instance forall (t6989586621681259435 :: * -> *) a6989586621681259438 (m6989586621681259436 :: * -> *) b6989586621681259437 (a6989586621681259856 :: b6989586621681259437 Data.Singletons.Internal.~> (a6989586621681259438 Data.Singletons.Internal.~> m6989586621681259436 b6989586621681259437)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldMSym1 a6989586621681259856)
instance forall b a (m :: * -> *) (t :: * -> *) (d :: b Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> m b)). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SMonad m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.FoldMSym1 d)
instance forall (t6989586621681259435 :: * -> *) a6989586621681259438 (m6989586621681259436 :: * -> *) b6989586621681259437 (a6989586621681259857 :: b6989586621681259437 Data.Singletons.Internal.~> (a6989586621681259438 Data.Singletons.Internal.~> m6989586621681259436 b6989586621681259437)) (a6989586621681259856 :: b6989586621681259437). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldMSym2 a6989586621681259857 a6989586621681259856)
instance forall b a (m :: * -> *) (t :: * -> *) (d1 :: b Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> m b)) (d2 :: b). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SMonad m, Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.FoldMSym2 d1 d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.FoldM_Sym0
instance (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SMonad m) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Monad.FoldM_Sym0
instance forall (t6989586621681259431 :: * -> *) a6989586621681259434 (m6989586621681259432 :: * -> *) b6989586621681259433 (a6989586621681259841 :: b6989586621681259433 Data.Singletons.Internal.~> (a6989586621681259434 Data.Singletons.Internal.~> m6989586621681259432 b6989586621681259433)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldM_Sym1 a6989586621681259841)
instance forall b a (m :: * -> *) (t :: * -> *) (d :: b Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> m b)). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SMonad m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.FoldM_Sym1 d)
instance forall (t6989586621681259431 :: * -> *) a6989586621681259434 (m6989586621681259432 :: * -> *) b6989586621681259433 (a6989586621681259842 :: b6989586621681259433 Data.Singletons.Internal.~> (a6989586621681259434 Data.Singletons.Internal.~> m6989586621681259432 b6989586621681259433)) (a6989586621681259841 :: b6989586621681259433). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldM_Sym2 a6989586621681259842 a6989586621681259841)
instance forall b a (m :: * -> *) (t :: * -> *) (d1 :: b Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> m b)) (d2 :: b). (Data.Singletons.Prelude.Foldable.SFoldable t, Data.Singletons.Prelude.Monad.Internal.SMonad m, Data.Singletons.Internal.SingI d1, Data.Singletons.Internal.SingI d2) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.FoldM_Sym2 d1 d2)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.ReplicateMSym0
instance Data.Singletons.Prelude.Monad.Internal.SApplicative m => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Monad.ReplicateMSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ReplicateMSym1 a6989586621681259822)
instance (Data.Singletons.Prelude.Monad.Internal.SApplicative m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.ReplicateMSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.ReplicateM_Sym0
instance Data.Singletons.Prelude.Monad.Internal.SApplicative m => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Monad.ReplicateM_Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ReplicateM_Sym1 a6989586621681259803)
instance (Data.Singletons.Prelude.Monad.Internal.SApplicative m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.ReplicateM_Sym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.UnlessSym0
instance Data.Singletons.Prelude.Monad.Internal.SApplicative f => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Monad.UnlessSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.UnlessSym1 a6989586621681259794)
instance (Data.Singletons.Prelude.Monad.Internal.SApplicative f, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.UnlessSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.<$!>@#@$)
instance Data.Singletons.Prelude.Monad.Internal.SMonad m => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.<$!>@#@$)
instance forall (m6989586621681259423 :: * -> *) a6989586621681259424 b6989586621681259425 (a6989586621681259777 :: a6989586621681259424 Data.Singletons.Internal.~> b6989586621681259425). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Monad.<$!>@#@$$) a6989586621681259777)
instance forall a b (m :: * -> *) (d :: a Data.Singletons.Internal.~> b). (Data.Singletons.Prelude.Monad.Internal.SMonad m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI ((Data.Singletons.Prelude.Monad.<$!>@#@$$) d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.MfilterSym0
instance Data.Singletons.Prelude.Monad.Internal.SMonadPlus m => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Monad.MfilterSym0
instance forall (m6989586621681259421 :: * -> *) a6989586621681259422 (a6989586621681259757 :: a6989586621681259422 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.MfilterSym1 a6989586621681259757)
instance forall a (m :: * -> *) (d :: a Data.Singletons.Internal.~> GHC.Types.Bool). (Data.Singletons.Prelude.Monad.Internal.SMonadPlus m, Data.Singletons.Internal.SingI d) => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Monad.MfilterSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681259931Sym0
instance forall k2 k3 (f6989586621679563427 :: * -> *) (p6989586621681259929 :: k3 Data.Singletons.Internal.~> f6989586621679563427 GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681259931Sym1 p6989586621681259929)
instance forall k2 k3 (f6989586621679563427 :: * -> *) (a_69895866216812599276989586621681259930 :: k3 Data.Singletons.Internal.~> f6989586621679563427 GHC.Types.Bool) (p6989586621681259929 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681259931Sym2 a_69895866216812599276989586621681259930 p6989586621681259929)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681259934Sym0
instance forall k1 k2 k3 (p6989586621681259929 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681259934Sym1 p6989586621681259929)
instance forall k1 k2 k3 (x6989586621681259933 :: k3) (p6989586621681259929 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681259934Sym2 x6989586621681259933 p6989586621681259929)
instance forall k1 k2 k3 (a_69895866216812599276989586621681259930 :: k3) (x6989586621681259933 :: k2) (p6989586621681259929 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681259934Sym3 a_69895866216812599276989586621681259930 x6989586621681259933 p6989586621681259929)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681259900Sym0
instance forall k b6989586621679563453 k1 (m6989586621679563451 :: * -> *) a6989586621679563452 (f6989586621681259897 :: k1 Data.Singletons.Internal.~> m6989586621679563451 a6989586621679563452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681259900Sym1 f6989586621681259897)
instance forall k b6989586621679563453 k1 (m6989586621679563451 :: * -> *) a6989586621679563452 (g6989586621681259898 :: k1 Data.Singletons.Internal.~> m6989586621679563451 a6989586621679563452) (f6989586621681259897 :: a6989586621679563452 Data.Singletons.Internal.~> m6989586621679563451 b6989586621679563453). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681259900Sym2 g6989586621681259898 f6989586621681259897)
instance forall k b6989586621679563453 k1 (m6989586621679563451 :: * -> *) a6989586621679563452 (a_69895866216812598956989586621681259899 :: k1 Data.Singletons.Internal.~> m6989586621679563451 a6989586621679563452) (g6989586621681259898 :: a6989586621679563452 Data.Singletons.Internal.~> m6989586621679563451 b6989586621679563453) (f6989586621681259897 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681259900Sym3 a_69895866216812598956989586621681259899 g6989586621681259898 f6989586621681259897)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681259828LoopSym0
instance forall k1 (f6989586621679563427 :: * -> *) k2 k3 (cnt06989586621681259826 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681259828LoopSym1 cnt06989586621681259826)
instance forall k1 (f6989586621679563427 :: * -> *) k2 k3 (f6989586621681259827 :: k3) (cnt06989586621681259826 :: f6989586621679563427 k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681259828LoopSym2 f6989586621681259827 cnt06989586621681259826)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681259809LoopSym0
instance forall a6989586621679563434 k1 (f6989586621679563427 :: * -> *) k2 (cnt06989586621681259807 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681259809LoopSym1 cnt06989586621681259807)
instance forall k1 (f6989586621679563427 :: * -> *) a6989586621679563434 k2 (f6989586621681259808 :: k2) (cnt06989586621681259807 :: f6989586621679563427 a6989586621679563434). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681259809LoopSym2 f6989586621681259808 cnt06989586621681259807)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681259783Sym0
instance forall k (m6989586621679563451 :: * -> *) k2 k3 (f6989586621681259781 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681259783Sym1 f6989586621681259781)
instance forall (m6989586621679563451 :: * -> *) k k2 k3 (m6989586621681259782 :: k2 Data.Singletons.Internal.~> k3) (f6989586621681259781 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681259783Sym2 m6989586621681259782 f6989586621681259781)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681259786ZSym0
instance forall k1 k2 k3 (f6989586621681259781 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681259786ZSym1 f6989586621681259781)
instance forall k1 k2 k3 (m6989586621681259782 :: k2 Data.Singletons.Internal.~> k3) (f6989586621681259781 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681259786ZSym2 m6989586621681259782 f6989586621681259781)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681259763Sym0
instance forall k (m6989586621679563451 :: * -> *) k1 (p6989586621681259761 :: k1 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681259763Sym1 p6989586621681259761)
instance forall (m6989586621679563451 :: * -> *) k k1 (ma6989586621681259762 :: k1 Data.Singletons.Internal.~> GHC.Types.Bool) (p6989586621681259761 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681259763Sym2 ma6989586621681259762 p6989586621681259761)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681259766Scrutinee_6989586621681259520Sym0
instance forall k1 k2 k3 (p6989586621681259761 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681259766Scrutinee_6989586621681259520Sym1 p6989586621681259761)
instance forall k1 k2 k3 (ma6989586621681259762 :: k2 Data.Singletons.Internal.~> k3) (p6989586621681259761 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681259766Scrutinee_6989586621681259520Sym2 ma6989586621681259762 p6989586621681259761)
instance Data.Singletons.Prelude.Monad.Internal.SMonad Data.Ord.Down


-- | 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.
data family Sing :: k -> Type

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

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

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

-- | The <a>SingKind</a> class is a <i>kind</i> class. It classifies all
--   kinds for which singletons are defined. The class supports converting
--   between a singleton type and the base (unrefined) type which it is
--   built from.
--   
--   For a <a>SingKind</a> instance to be well behaved, it should obey the
--   following laws:
--   
--   <pre>
--   <a>toSing</a> . <a>fromSing</a> ≡ <a>SomeSing</a>
--   (\x -&gt; <a>withSomeSing</a> x <a>fromSing</a>) ≡ <a>id</a>
--   </pre>
--   
--   The final law can also be expressed in terms of the <a>FromSing</a>
--   pattern synonym:
--   
--   <pre>
--   (\(<a>FromSing</a> sing) -&gt; <a>FromSing</a> sing) ≡ <a>id</a>
--   </pre>
class SingKind k where {
    
    -- | Get a base type from the promoted kind. For example, <tt>Demote
    --   Bool</tt> will be the type <tt>Bool</tt>. Rarely, the type and kind do
    --   not match. For example, <tt>Demote Nat</tt> is <tt>Natural</tt>.
    type family Demote k = (r :: Type) | 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 k (a :: k). Sing a -> SingInstance a

-- | An explicitly bidirectional pattern synonym for implicit singletons.
--   
--   As an <b>expression</b>: Constructs a singleton <tt>Sing a</tt> given
--   a implicit singleton constraint <tt>SingI a</tt>.
--   
--   As a <b>pattern</b>: Matches on an explicit <tt>Sing a</tt> witness
--   bringing an implicit <tt>SingI a</tt> constraint into scope.
pattern Sing :: forall k (a :: k). () => SingI a => Sing 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

-- | An explicitly bidirectional pattern synonym for going between a
--   singleton and the corresponding demoted term.
--   
--   As an <b>expression</b>: this takes a singleton to its demoted (base)
--   type.
--   
--   <pre>
--   &gt;&gt;&gt; :t FromSing \@Bool
--   FromSing \@Bool :: Sing a -&gt; Bool
--   
--   &gt;&gt;&gt; FromSing SFalse
--   False
--   </pre>
--   
--   As a <b>pattern</b>: It extracts a singleton from its demoted (base)
--   type.
--   
--   <pre>
--   singAnd :: <a>Bool</a> -&gt; <a>Bool</a> -&gt; <a>SomeSing</a> <a>Bool</a>
--   singAnd (<a>FromSing</a> singBool1) (<a>FromSing</a> singBool2) =
--     <a>SomeSing</a> (singBool1 %&amp;&amp; singBool2)
--   </pre>
--   
--   instead of writing it with <a>withSomeSing</a>:
--   
--   <pre>
--   singAnd bool1 bool2 =
--     <a>withSomeSing</a> bool1 $ singBool1 -&gt;
--       <a>withSomeSing</a> bool2 $ singBool2 -&gt;
--         <a>SomeSing</a> (singBool1 %&amp;&amp; singBool2)
--   </pre>
pattern FromSing :: SingKind k => forall (a :: k). Sing a -> Demote k

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

-- | A convenience function that takes a type as input and demotes it to
--   its value-level counterpart as output. This uses <a>SingKind</a> and
--   <a>SingI</a> behind the scenes, so <tt><a>demote</a> = <a>fromSing</a>
--   <a>sing</a></tt>.
--   
--   This function is intended to be used with <tt>TypeApplications</tt>.
--   For example:
--   
--   <pre>
--   &gt;&gt;&gt; demote @True
--   True
--   </pre>
--   
--   <pre>
--   &gt;&gt;&gt; demote @(Nothing :: Maybe Ordering)
--   Nothing
--   </pre>
demote :: forall a. (SingKind (KindOf a), SingI a) => Demote (KindOf a)

-- | Allows creation of a singleton when a <tt>proxy#</tt> is at hand.
singByProxy# :: SingI a => Proxy# a -> Sing a

-- | A convenience function useful when we need to name a singleton value
--   multiple times. Without this function, each use of <a>sing</a> could
--   potentially refer to a different singleton, and one has to use type
--   signatures (often with <tt>ScopedTypeVariables</tt>) to ensure that
--   they are the same.
withSing :: SingI a => (Sing a -> b) -> b

-- | A convenience function that names a singleton satisfying a certain
--   property. If the singleton does not satisfy the property, then the
--   function returns <a>Nothing</a>. The property is expressed in terms of
--   the underlying representation of the singleton.
singThat :: forall k (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 :: Type -> Type -> Type

-- | Something of kind `a ~&gt; b` is a defunctionalized type function that
--   is not necessarily generative or injective.
type a ~> b = TyFun a b -> Type
infixr 0 ~>

-- | Wrapper for converting the normal type-level arrow into a
--   <a>~&gt;</a>. For example, given:
--   
--   <pre>
--   data Nat = Zero | Succ Nat
--   type family Map (a :: a ~&gt; b) (a :: [a]) :: [b]
--     Map f '[] = '[]
--     Map f (x ': xs) = Apply f x ': Map f xs
--   </pre>
--   
--   We can write:
--   
--   <pre>
--   Map (TyCon1 Succ) [Zero, Succ Zero]
--   </pre>
type TyCon1 = (TyCon :: (k1 -> k2) -> (k1 ~> k2))

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

-- | Workhorse for the <a>TyCon1</a>, etc., types. This can be used
--   directly in place of any of the <tt>TyConN</tt> types, but it will
--   work only with <i>monomorphic</i> types. When GHC#14645 is fixed, this
--   should fully supersede the <tt>TyConN</tt> types.
data family TyCon :: (k1 -> k2) -> unmatchable_fun

-- | Type level function application
type family Apply (f :: k1 ~> k2) (x :: k1) :: k2

-- | An infix synonym for <a>Apply</a>
type a @@ b = Apply a b
infixl 9 @@

-- | 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
pattern SLambda2 :: forall f. SingFunction2 f -> Sing f
pattern SLambda3 :: forall f. SingFunction3 f -> Sing f
pattern SLambda4 :: forall f. SingFunction4 f -> Sing f
pattern SLambda5 :: forall f. SingFunction5 f -> Sing f
pattern SLambda6 :: forall f. SingFunction6 f -> Sing f
pattern SLambda7 :: forall f. SingFunction7 f -> Sing f
pattern SLambda8 :: forall f. SingFunction8 f -> Sing f
type SingFunction1 f = forall t. Sing t -> Sing (f @@ t)
type SingFunction2 f = forall t. Sing t -> SingFunction1 (f @@ t)
type SingFunction3 f = forall t. Sing t -> SingFunction2 (f @@ t)
type SingFunction4 f = forall t. Sing t -> SingFunction3 (f @@ t)
type SingFunction5 f = forall t. Sing t -> SingFunction4 (f @@ t)
type SingFunction6 f = forall t. Sing t -> SingFunction5 (f @@ t)
type SingFunction7 f = forall t. Sing t -> SingFunction6 (f @@ t)
type SingFunction8 f = forall t. Sing t -> SingFunction7 (f @@ t)

-- | <a>Proxy</a> is a type that holds no data, but has a phantom parameter
--   of arbitrary type (or even kind). Its use is to provide type
--   information, even though there is no value available of that type (or
--   it may be too costly to create one).
--   
--   Historically, <tt><a>Proxy</a> :: <a>Proxy</a> a</tt> is a safer
--   alternative to the <tt>'undefined :: a'</tt> idiom.
--   
--   <pre>
--   &gt;&gt;&gt; Proxy :: Proxy (Void, Int -&gt; Int)
--   Proxy
--   </pre>
--   
--   Proxy can even hold types of higher kinds,
--   
--   <pre>
--   &gt;&gt;&gt; Proxy :: Proxy Either
--   Proxy
--   </pre>
--   
--   <pre>
--   &gt;&gt;&gt; Proxy :: Proxy Functor
--   Proxy
--   </pre>
--   
--   <pre>
--   &gt;&gt;&gt; Proxy :: Proxy complicatedStructure
--   Proxy
--   </pre>
data Proxy (t :: k) :: forall k. () => k -> Type
Proxy :: Proxy
data DemoteSym0 :: (~>) Type Type
type DemoteSym1 (k6989586621679027628 :: Type) = Demote k6989586621679027628
data SameKindSym0 a6989586621679027634
data SameKindSym1 (a6989586621679027634 :: k6989586621679027633) b6989586621679027635
type SameKindSym2 (a6989586621679027634 :: k6989586621679027633) (b6989586621679027635 :: k6989586621679027633) = SameKind a6989586621679027634 b6989586621679027635
data KindOfSym0 a6989586621679027637
type KindOfSym1 (a6989586621679027637 :: k6989586621679027636) = KindOf a6989586621679027637
data (~>@#@$) a6989586621679025778
infixr 0 ~>@#@$
data (~>@#@$$) (a6989586621679025778 :: Type) b6989586621679025779
infixr 0 ~>@#@$$
type (~>@#@$$$) (a6989586621679025778 :: Type) (b6989586621679025779 :: Type) = (~>) a6989586621679025778 b6989586621679025779
data ApplySym0 :: forall k16989586621679025775 k26989586621679025774. (~>) ((~>) k16989586621679025775 k26989586621679025774) ((~>) k16989586621679025775 k26989586621679025774)
data ApplySym1 (f6989586621679025776 :: (~>) k16989586621679025775 k26989586621679025774) :: (~>) k16989586621679025775 k26989586621679025774
type ApplySym2 (f6989586621679025776 :: (~>) k16989586621679025775 k26989586621679025774) (x6989586621679025777 :: k16989586621679025775) = Apply f6989586621679025776 x6989586621679025777
data (@@@#@$) a6989586621679025772
infixl 9 @@@#@$
data (@@@#@$$) (a6989586621679025772 :: (~>) k16989586621679031952 k6989586621679031950) b6989586621679025773
infixl 9 @@@#@$$
type (@@@#@$$$) (a6989586621679025772 :: (~>) k16989586621679031952 k6989586621679031950) (b6989586621679025773 :: k16989586621679031952) = (@@) a6989586621679025772 b6989586621679025773
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.@@@#@$)
instance forall k16989586621679031952 k6989586621679031950 (a6989586621679025772 :: k16989586621679031952 Data.Singletons.Internal.~> k6989586621679031950). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.@@@#@$$) a6989586621679025772)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.ApplySym0
instance forall k16989586621679025775 k26989586621679025774 (f6989586621679025776 :: k16989586621679025775 Data.Singletons.Internal.~> k26989586621679025774). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.ApplySym1 f6989586621679025776)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.~>@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.~>@#@$$) a6989586621679025778)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.KindOfSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.SameKindSym0
instance forall k6989586621679027633 (a6989586621679027634 :: k6989586621679027633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.SameKindSym1 a6989586621679027634)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.DemoteSym0
instance Data.Singletons.ShowSing.ShowSing k => GHC.Show.Show (Data.Singletons.Internal.SomeSing k)
instance Data.Singletons.Prelude.Eq.SEq k => GHC.Classes.Eq (Data.Singletons.Internal.SomeSing k)
instance Data.Singletons.Prelude.Ord.SOrd k => GHC.Classes.Ord (Data.Singletons.Internal.SomeSing k)
instance Data.Singletons.Prelude.Enum.SBounded k => GHC.Enum.Bounded (Data.Singletons.Internal.SomeSing k)
instance (Data.Singletons.Prelude.Enum.SEnum k, Data.Singletons.Internal.SingKind k) => GHC.Enum.Enum (Data.Singletons.Internal.SomeSing k)
instance Data.Singletons.Prelude.Num.SNum k => GHC.Num.Num (Data.Singletons.Internal.SomeSing k)
instance Data.Singletons.Prelude.Semigroup.Internal.SSemigroup k => GHC.Base.Semigroup (Data.Singletons.Internal.SomeSing k)
instance Data.Singletons.Prelude.Monoid.SMonoid k => GHC.Base.Monoid (Data.Singletons.Internal.SomeSing k)
instance Data.Singletons.Prelude.IsString.SIsString k => Data.String.IsString (Data.Singletons.Internal.SomeSing k)


-- | This module contains everything you need to derive your own singletons
--   via Template Haskell.
--   
--   TURN ON <tt>-XScopedTypeVariables</tt> IN YOUR MODULE IF YOU WANT THIS
--   TO WORK.
module Data.Singletons.TH

-- | Make promoted and singleton versions of all declarations given,
--   retaining the original declarations. See
--   <a>https://github.com/goldfirere/singletons/blob/master/README.md</a>
--   for further explanation.
singletons :: DsMonad q => q [Dec] -> q [Dec]

-- | Make promoted and singleton versions of all declarations given,
--   discarding the original declarations. Note that a singleton based on a
--   datatype needs the original datatype, so this will fail if it sees any
--   datatype declarations. Classes, instances, and functions are all fine.
singletonsOnly :: DsMonad q => q [Dec] -> q [Dec]

-- | Generate singleton definitions from a type that is already defined.
--   For example, the singletons package itself uses
--   
--   <pre>
--   $(genSingletons [''Bool, ''Maybe, ''Either, ''[]])
--   </pre>
--   
--   to generate singletons for Prelude types.
genSingletons :: DsMonad q => [Name] -> q [Dec]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

-- | The function <a>cases</a> generates a case expression where each
--   right-hand side is identical. This may be useful if the type-checker
--   requires knowledge of which constructor is used to satisfy equality or
--   type-class constraints, but where each constructor is treated the
--   same.
cases :: DsMonad q => Name -> q Exp -> q Exp -> q Exp

-- | The function <a>sCases</a> generates a case expression where each
--   right-hand side is identical. This may be useful if the type-checker
--   requires knowledge of which constructor is used to satisfy equality or
--   type-class constraints, but where each constructor is treated the
--   same. For <a>sCases</a>, unlike <a>cases</a>, the scrutinee is a
--   singleton. But make sure to pass in the name of the <i>original</i>
--   datatype, preferring <tt>''Maybe</tt> over <tt>''SMaybe</tt>.
sCases :: DsMonad q => Name -> q Exp -> q Exp -> q Exp

-- | The singleton kind-indexed data family.
data family Sing :: k -> Type

-- | The promoted analogue of <a>Eq</a>. If you supply no definition for
--   '(==)', then it defaults to a use of <a>DefaultEq</a>.
class PEq a where {
    type family (==) (x :: a) (y :: a) :: Bool;
    type family (/=) (x :: a) (y :: a) :: Bool;
    type (x :: a) == (y :: a) = x `DefaultEq` y;
    type (x :: a) /= (y :: a) = Not (x == y);
}
infix 4 ==
infix 4 /=

-- | Type-level <a>If</a>. <tt>If True a b</tt> ==&gt; <tt>a</tt>; <tt>If
--   False a b</tt> ==&gt; <tt>b</tt>
type family If (cond :: Bool) (tru :: k) (fls :: k) :: k

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

-- | Type-level "and"
type family (&&) (a :: Bool) (b :: Bool) :: Bool
infixr 3 &&

-- | Conjunction of singletons
(%&&) :: Sing a -> Sing b -> Sing (a && b)
infixr 3 %&&

-- | The singleton analogue of <a>Eq</a>. Unlike the definition for
--   <a>Eq</a>, it is required that instances define a body for '(%==)'.
--   You may also supply a body for '(%/=)'.
class SEq k

-- | Boolean equality on singletons
(%==) :: forall (a :: k) (b :: k). SEq k => Sing a -> Sing b -> Sing (a == b)

-- | Boolean disequality on singletons
(%/=) :: forall (a :: k) (b :: k). SEq k => Sing a -> Sing b -> Sing (a /= b)

-- | Boolean disequality on singletons
(%/=) :: forall (a :: k) (b :: k). (SEq k, (a /= b) ~ Not (a == b)) => Sing a -> Sing b -> Sing (a /= b)
infix 4 %==
infix 4 %/=
class PEq a_a1Ctu => POrd (a_a1Ctu :: Type) where {
    type family Compare (arg_a1Cv0 :: a_a1Ctu) (arg_a1Cv1 :: a_a1Ctu) :: Ordering;
    type family (<) (arg_a1Cv4 :: a_a1Ctu) (arg_a1Cv5 :: a_a1Ctu) :: Bool;
    type family (<=) (arg_a1Cv8 :: a_a1Ctu) (arg_a1Cv9 :: a_a1Ctu) :: Bool;
    type family (>) (arg_a1Cvc :: a_a1Ctu) (arg_a1Cvd :: a_a1Ctu) :: Bool;
    type family (>=) (arg_a1Cvg :: a_a1Ctu) (arg_a1Cvh :: a_a1Ctu) :: Bool;
    type family Max (arg_a1Cvk :: a_a1Ctu) (arg_a1Cvl :: a_a1Ctu) :: a_a1Ctu;
    type family Min (arg_a1Cvo :: a_a1Ctu) (arg_a1Cvp :: a_a1Ctu) :: a_a1Ctu;
    type Compare a_a1CvK a_a1CvL = Apply (Apply Compare_6989586621679396162Sym0 a_a1CvK) a_a1CvL;
    type (<) a_a1Cw2 a_a1Cw3 = Apply (Apply TFHelper_6989586621679396180Sym0 a_a1Cw2) a_a1Cw3;
    type (<=) a_a1Cwk a_a1Cwl = Apply (Apply TFHelper_6989586621679396198Sym0 a_a1Cwk) a_a1Cwl;
    type (>) a_a1CwC a_a1CwD = Apply (Apply TFHelper_6989586621679396216Sym0 a_a1CwC) a_a1CwD;
    type (>=) a_a1CwU a_a1CwV = Apply (Apply TFHelper_6989586621679396234Sym0 a_a1CwU) a_a1CwV;
    type Max a_a1Cxc a_a1Cxd = Apply (Apply Max_6989586621679396252Sym0 a_a1Cxc) a_a1Cxd;
    type Min a_a1Cxu a_a1Cxv = Apply (Apply Min_6989586621679396270Sym0 a_a1Cxu) a_a1Cxv;
}
infix 4 >=
infix 4 >
infix 4 <
infix 4 <=
class SEq a_a1Ctu => SOrd a_a1Ctu
sCompare :: forall (t_a1CxJ :: a_a1Ctu) (t_a1CxK :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1CxJ -> Sing t_a1CxK -> Sing (Apply (Apply CompareSym0 t_a1CxJ) t_a1CxK :: Ordering)
(%<) :: forall (t_a1CxN :: a_a1Ctu) (t_a1CxO :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1CxN -> Sing t_a1CxO -> Sing (Apply (Apply (<@#@$) t_a1CxN) t_a1CxO :: Bool)
(%<=) :: forall (t_a1CxR :: a_a1Ctu) (t_a1CxS :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1CxR -> Sing t_a1CxS -> Sing (Apply (Apply (<=@#@$) t_a1CxR) t_a1CxS :: Bool)
(%>) :: forall (t_a1CxV :: a_a1Ctu) (t_a1CxW :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1CxV -> Sing t_a1CxW -> Sing (Apply (Apply (>@#@$) t_a1CxV) t_a1CxW :: Bool)
(%>=) :: forall (t_a1CxZ :: a_a1Ctu) (t_a1Cy0 :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1CxZ -> Sing t_a1Cy0 -> Sing (Apply (Apply (>=@#@$) t_a1CxZ) t_a1Cy0 :: Bool)
sMax :: forall (t_a1Cy3 :: a_a1Ctu) (t_a1Cy4 :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1Cy3 -> Sing t_a1Cy4 -> Sing (Apply (Apply MaxSym0 t_a1Cy3) t_a1Cy4 :: a_a1Ctu)
sMin :: forall (t_a1Cy7 :: a_a1Ctu) (t_a1Cy8 :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1Cy7 -> Sing t_a1Cy8 -> Sing (Apply (Apply MinSym0 t_a1Cy7) t_a1Cy8 :: a_a1Ctu)
sCompare :: forall (t_a1CxJ :: a_a1Ctu) (t_a1CxK :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply CompareSym0 t_a1CxJ) t_a1CxK :: Ordering) ~ Apply (Apply Compare_6989586621679396162Sym0 t_a1CxJ) t_a1CxK) => Sing t_a1CxJ -> Sing t_a1CxK -> Sing (Apply (Apply CompareSym0 t_a1CxJ) t_a1CxK :: Ordering)
(%<) :: forall (t_a1CxN :: a_a1Ctu) (t_a1CxO :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply (<@#@$) t_a1CxN) t_a1CxO :: Bool) ~ Apply (Apply TFHelper_6989586621679396180Sym0 t_a1CxN) t_a1CxO) => Sing t_a1CxN -> Sing t_a1CxO -> Sing (Apply (Apply (<@#@$) t_a1CxN) t_a1CxO :: Bool)
(%<=) :: forall (t_a1CxR :: a_a1Ctu) (t_a1CxS :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply (<=@#@$) t_a1CxR) t_a1CxS :: Bool) ~ Apply (Apply TFHelper_6989586621679396198Sym0 t_a1CxR) t_a1CxS) => Sing t_a1CxR -> Sing t_a1CxS -> Sing (Apply (Apply (<=@#@$) t_a1CxR) t_a1CxS :: Bool)
(%>) :: forall (t_a1CxV :: a_a1Ctu) (t_a1CxW :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply (>@#@$) t_a1CxV) t_a1CxW :: Bool) ~ Apply (Apply TFHelper_6989586621679396216Sym0 t_a1CxV) t_a1CxW) => Sing t_a1CxV -> Sing t_a1CxW -> Sing (Apply (Apply (>@#@$) t_a1CxV) t_a1CxW :: Bool)
(%>=) :: forall (t_a1CxZ :: a_a1Ctu) (t_a1Cy0 :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply (>=@#@$) t_a1CxZ) t_a1Cy0 :: Bool) ~ Apply (Apply TFHelper_6989586621679396234Sym0 t_a1CxZ) t_a1Cy0) => Sing t_a1CxZ -> Sing t_a1Cy0 -> Sing (Apply (Apply (>=@#@$) t_a1CxZ) t_a1Cy0 :: Bool)
sMax :: forall (t_a1Cy3 :: a_a1Ctu) (t_a1Cy4 :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply MaxSym0 t_a1Cy3) t_a1Cy4 :: a_a1Ctu) ~ Apply (Apply Max_6989586621679396252Sym0 t_a1Cy3) t_a1Cy4) => Sing t_a1Cy3 -> Sing t_a1Cy4 -> Sing (Apply (Apply MaxSym0 t_a1Cy3) t_a1Cy4 :: a_a1Ctu)
sMin :: forall (t_a1Cy7 :: a_a1Ctu) (t_a1Cy8 :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply MinSym0 t_a1Cy7) t_a1Cy8 :: a_a1Ctu) ~ Apply (Apply Min_6989586621679396270Sym0 t_a1Cy7) t_a1Cy8) => Sing t_a1Cy7 -> Sing t_a1Cy8 -> Sing (Apply (Apply MinSym0 t_a1Cy7) t_a1Cy8 :: a_a1Ctu)
infix 4 %<=
infix 4 %<
infix 4 %>
infix 4 %>=
type family ThenCmp (a_a1FcV :: Ordering) (a_a1FcW :: Ordering) :: Ordering
sThenCmp :: forall (t_a1Fd0 :: Ordering) (t_a1Fd1 :: Ordering). Sing t_a1Fd0 -> Sing t_a1Fd1 -> Sing (Apply (Apply ThenCmpSym0 t_a1Fd0) t_a1Fd1 :: Ordering)

-- | 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)
infix 4 %~

-- | Propositional equality. If <tt>a :~: b</tt> is inhabited by some
--   terminating value, then the type <tt>a</tt> is the same as the type
--   <tt>b</tt>. To use this equality in practice, pattern-match on the
--   <tt>a :~: b</tt> to get out the <tt>Refl</tt> constructor; in the body
--   of the pattern-match, the compiler knows that <tt>a ~ b</tt>.
data (:~:) (a :: k) (b :: k) :: forall k. () => k -> k -> Type
[Refl] :: forall k (a :: k) (b :: k). () => a :~: a
infix 4 :~:

-- | Uninhabited data type
data Void

-- | Because we can never create a value of type <a>Void</a>, a function
--   that type-checks at <tt>a -&gt; Void</tt> shows that objects of type
--   <tt>a</tt> can never exist. Thus, we say that <tt>a</tt> is
--   <a>Refuted</a>
type Refuted a = (a -> Void)

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

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

-- | Proof that no <tt>a</tt> exists
Disproved :: Refuted a -> Decision a
class PBounded (a_a38wk :: Type) where {
    type family MinBound :: a_a38wk;
    type family MaxBound :: a_a38wk;
}
class SBounded a_a38wk
sMinBound :: SBounded a_a38wk => Sing (MinBoundSym0 :: a_a38wk)
sMaxBound :: SBounded a_a38wk => Sing (MaxBoundSym0 :: a_a38wk)
class PEnum (a_a39Ce :: Type) where {
    type family ToEnum (arg_a39GS :: Nat) :: a_a39Ce;
    type family FromEnum (arg_a39GU :: a_a39Ce) :: Nat;
    type Succ a_a39Hh = Apply Succ_6989586621679762056Sym0 a_a39Hh;
    type Pred a_a39Hq = Apply Pred_6989586621679762065Sym0 a_a39Hq;
    type EnumFromTo a_a39HA a_a39HB = Apply (Apply EnumFromTo_6989586621679762076Sym0 a_a39HA) a_a39HB;
    type EnumFromThenTo a_a39HP a_a39HQ a_a39HR = Apply (Apply (Apply EnumFromThenTo_6989586621679762092Sym0 a_a39HP) a_a39HQ) a_a39HR;
}
class SEnum a_a39Ce
sToEnum :: forall (t_a39JQ :: Nat). SEnum a_a39Ce => Sing t_a39JQ -> Sing (Apply ToEnumSym0 t_a39JQ :: a_a39Ce)
sFromEnum :: forall (t_a39JS :: a_a39Ce). SEnum a_a39Ce => Sing t_a39JS -> Sing (Apply FromEnumSym0 t_a39JS :: Nat)
class PShow (a_a5nq5 :: Type) where {
    type family ShowsPrec (arg_a5nVx :: Nat) (arg_a5nVy :: a_a5nq5) (arg_a5nVz :: Symbol) :: Symbol;
    type family Show_ (arg_a5nVD :: a_a5nq5) :: Symbol;
    type family ShowList (arg_a5nVF :: [a_a5nq5]) (arg_a5nVG :: Symbol) :: Symbol;
    type ShowsPrec a_a5nVR a_a5nVS a_a5nVT = Apply (Apply (Apply ShowsPrec_6989586621680293434Sym0 a_a5nVR) a_a5nVS) a_a5nVT;
    type Show_ a_a5nW2 = Apply Show__6989586621680293443Sym0 a_a5nW2;
    type ShowList a_a5nWc a_a5nWd = Apply (Apply ShowList_6989586621680293454Sym0 a_a5nWc) a_a5nWd;
}
class SShow a_a5nq5
sShowsPrec :: forall (t_a5nZG :: Nat) (t_a5nZH :: a_a5nq5) (t_a5nZI :: Symbol). SShow a_a5nq5 => Sing t_a5nZG -> Sing t_a5nZH -> Sing t_a5nZI -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5nZG) t_a5nZH) t_a5nZI :: Symbol)
sShow_ :: forall (t_a5nZM :: a_a5nq5). SShow a_a5nq5 => Sing t_a5nZM -> Sing (Apply Show_Sym0 t_a5nZM :: Symbol)
sShowList :: forall (t_a5nZO :: [a_a5nq5]) (t_a5nZP :: Symbol). SShow a_a5nq5 => Sing t_a5nZO -> Sing t_a5nZP -> Sing (Apply (Apply ShowListSym0 t_a5nZO) t_a5nZP :: Symbol)
sShowsPrec :: forall (t_a5nZG :: Nat) (t_a5nZH :: a_a5nq5) (t_a5nZI :: Symbol). (SShow a_a5nq5, (Apply (Apply (Apply ShowsPrecSym0 t_a5nZG) t_a5nZH) t_a5nZI :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621680293434Sym0 t_a5nZG) t_a5nZH) t_a5nZI) => Sing t_a5nZG -> Sing t_a5nZH -> Sing t_a5nZI -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5nZG) t_a5nZH) t_a5nZI :: Symbol)
sShow_ :: forall (t_a5nZM :: a_a5nq5). (SShow a_a5nq5, (Apply Show_Sym0 t_a5nZM :: Symbol) ~ Apply Show__6989586621680293443Sym0 t_a5nZM) => Sing t_a5nZM -> Sing (Apply Show_Sym0 t_a5nZM :: Symbol)
sShowList :: forall (t_a5nZO :: [a_a5nq5]) (t_a5nZP :: Symbol). (SShow a_a5nq5, (Apply (Apply ShowListSym0 t_a5nZO) t_a5nZP :: Symbol) ~ Apply (Apply ShowList_6989586621680293454Sym0 t_a5nZO) t_a5nZP) => Sing t_a5nZO -> Sing t_a5nZP -> Sing (Apply (Apply ShowListSym0 t_a5nZO) t_a5nZP :: Symbol)
type family ShowString (a_a5nUe :: Symbol) (a_a5nUf :: Symbol) :: Symbol
sShowString :: forall (t_a5nYR :: Symbol) (t_a5nYS :: Symbol). Sing t_a5nYR -> Sing t_a5nYS -> Sing (Apply (Apply ShowStringSym0 t_a5nYR) t_a5nYS :: Symbol)
type family ShowParen (a_a5nUz :: Bool) (a_a5nUA :: (~>) Symbol Symbol) (a_a5nUB :: Symbol) :: Symbol
sShowParen :: forall (t_a5nZ1 :: Bool) (t_a5nZ2 :: (~>) Symbol Symbol) (t_a5nZ3 :: Symbol). Sing t_a5nZ1 -> Sing t_a5nZ2 -> Sing t_a5nZ3 -> Sing (Apply (Apply (Apply ShowParenSym0 t_a5nZ1) t_a5nZ2) t_a5nZ3 :: Symbol)
type family ShowSpace (a_a5nU1 :: Symbol) :: Symbol
sShowSpace :: forall (t_a5nYP :: Symbol). Sing t_a5nYP -> Sing (Apply ShowSpaceSym0 t_a5nYP :: Symbol)
type family ShowChar (a_a5nUt :: Symbol) (a_a5nUu :: Symbol) :: Symbol
sShowChar :: forall (t_a5nYX :: Symbol) (t_a5nYY :: Symbol). Sing t_a5nYX -> Sing t_a5nYY -> Sing (Apply (Apply ShowCharSym0 t_a5nYX) t_a5nYY :: Symbol)
type family ShowCommaSpace (a_a5nUm :: Symbol) :: Symbol
sShowCommaSpace :: forall (t_a5nYV :: Symbol). Sing t_a5nYV -> Sing (Apply ShowCommaSpaceSym0 t_a5nYV :: Symbol)
class PFunctor (f_a2k1w :: Type -> Type) where {
    type family Fmap (arg_a2k7S :: (~>) a_a2k1x b_a2k1y) (arg_a2k7T :: f_a2k1w a_a2k1x) :: f_a2k1w b_a2k1y;
    type family (<$) (arg_a2k7W :: a_a2k1z) (arg_a2k7X :: f_a2k1w b_a2k1A) :: f_a2k1w a_a2k1z;
    type (<$) a_a2k8a a_a2k8b = Apply (Apply TFHelper_6989586621679563836Sym0 a_a2k8a) a_a2k8b;
}
infixl 4 <$
class SFunctor (f_a2k1w :: Type -> Type)
sFmap :: forall a_a2k1x b_a2k1y (t_a2kcj :: (~>) a_a2k1x b_a2k1y) (t_a2kck :: f_a2k1w a_a2k1x). SFunctor f_a2k1w => Sing t_a2kcj -> Sing t_a2kck -> Sing (Apply (Apply FmapSym0 t_a2kcj) t_a2kck :: f_a2k1w b_a2k1y)
(%<$) :: forall a_a2k1z b_a2k1A (t_a2kcn :: a_a2k1z) (t_a2kco :: f_a2k1w b_a2k1A). SFunctor f_a2k1w => Sing t_a2kcn -> Sing t_a2kco -> Sing (Apply (Apply (<$@#@$) t_a2kcn) t_a2kco :: f_a2k1w a_a2k1z)
(%<$) :: forall a_a2k1z b_a2k1A (t_a2kcn :: a_a2k1z) (t_a2kco :: f_a2k1w b_a2k1A). (SFunctor f_a2k1w, (Apply (Apply (<$@#@$) t_a2kcn) t_a2kco :: f_a2k1w a_a2k1z) ~ Apply (Apply TFHelper_6989586621679563836Sym0 t_a2kcn) t_a2kco) => Sing t_a2kcn -> Sing t_a2kco -> Sing (Apply (Apply (<$@#@$) t_a2kcn) t_a2kco :: f_a2k1w a_a2k1z)
infixl 4 %<$
class PFoldable (t_a6c4M :: Type -> Type) where {
    type family Fold (arg_a6ceP :: t_a6c4M m_a6c4N) :: m_a6c4N;
    type family FoldMap (arg_a6ceR :: (~>) a_a6c4P m_a6c4O) (arg_a6ceS :: t_a6c4M a_a6c4P) :: m_a6c4O;
    type family Foldr (arg_a6ceV :: (~>) a_a6c4Q ((~>) b_a6c4R b_a6c4R)) (arg_a6ceW :: b_a6c4R) (arg_a6ceX :: t_a6c4M a_a6c4Q) :: b_a6c4R;
    type family Foldr' (arg_a6cf1 :: (~>) a_a6c4S ((~>) b_a6c4T b_a6c4T)) (arg_a6cf2 :: b_a6c4T) (arg_a6cf3 :: t_a6c4M a_a6c4S) :: b_a6c4T;
    type family Foldl (arg_a6cf7 :: (~>) b_a6c4U ((~>) a_a6c4V b_a6c4U)) (arg_a6cf8 :: b_a6c4U) (arg_a6cf9 :: t_a6c4M a_a6c4V) :: b_a6c4U;
    type family Foldl' (arg_a6cfd :: (~>) b_a6c4W ((~>) a_a6c4X b_a6c4W)) (arg_a6cfe :: b_a6c4W) (arg_a6cff :: t_a6c4M a_a6c4X) :: b_a6c4W;
    type family Foldr1 (arg_a6cfj :: (~>) a_a6c4Y ((~>) a_a6c4Y a_a6c4Y)) (arg_a6cfk :: t_a6c4M a_a6c4Y) :: a_a6c4Y;
    type family Foldl1 (arg_a6cfn :: (~>) a_a6c4Z ((~>) a_a6c4Z a_a6c4Z)) (arg_a6cfo :: t_a6c4M a_a6c4Z) :: a_a6c4Z;
    type family ToList (arg_a6cfr :: t_a6c4M a_a6c50) :: [a_a6c50];
    type family Null (arg_a6cft :: t_a6c4M a_a6c51) :: Bool;
    type family Length (arg_a6cfv :: t_a6c4M a_a6c52) :: Nat;
    type family Elem (arg_a6cfx :: a_a6c53) (arg_a6cfy :: t_a6c4M a_a6c53) :: Bool;
    type family Maximum (arg_a6cfB :: t_a6c4M a_a6c54) :: a_a6c54;
    type family Minimum (arg_a6cfD :: t_a6c4M a_a6c55) :: a_a6c55;
    type family Sum (arg_a6cfF :: t_a6c4M a_a6c56) :: a_a6c56;
    type family Product (arg_a6cfH :: t_a6c4M a_a6c57) :: a_a6c57;
    type Fold a_a6cfO = Apply Fold_6989586621680486869Sym0 a_a6cfO;
    type FoldMap a_a6cg0 a_a6cg1 = Apply (Apply FoldMap_6989586621680486882Sym0 a_a6cg0) a_a6cg1;
    type Foldr a_a6cgn a_a6cgo a_a6cgp = Apply (Apply (Apply Foldr_6989586621680486906Sym0 a_a6cgn) a_a6cgo) a_a6cgp;
    type Foldr' a_a6cgR a_a6cgS a_a6cgT = Apply (Apply (Apply Foldr'_6989586621680486936Sym0 a_a6cgR) a_a6cgS) a_a6cgT;
    type Foldl a_a6chg a_a6chh a_a6chi = Apply (Apply (Apply Foldl_6989586621680486961Sym0 a_a6chg) a_a6chh) a_a6chi;
    type Foldl' a_a6chK a_a6chL a_a6chM = Apply (Apply (Apply Foldl'_6989586621680486991Sym0 a_a6chK) a_a6chL) a_a6chM;
    type Foldr1 a_a6cib a_a6cic = Apply (Apply Foldr1_6989586621680487017Sym0 a_a6cib) a_a6cic;
    type Foldl1 a_a6ciA a_a6ciB = Apply (Apply Foldl1_6989586621680487042Sym0 a_a6ciA) a_a6ciB;
    type ToList a_a6ciL = Apply ToList_6989586621680487052Sym0 a_a6ciL;
    type Null a_a6cj6 = Apply Null_6989586621680487073Sym0 a_a6cj6;
    type Length a_a6cjs = Apply Length_6989586621680487095Sym0 a_a6cjs;
    type Elem a_a6cjG a_a6cjH = Apply (Apply Elem_6989586621680487110Sym0 a_a6cjG) a_a6cjH;
    type Maximum a_a6cjV = Apply Maximum_6989586621680487124Sym0 a_a6cjV;
    type Minimum a_a6ck8 = Apply Minimum_6989586621680487137Sym0 a_a6ck8;
    type Sum a_a6ckl = Apply Sum_6989586621680487150Sym0 a_a6ckl;
    type Product a_a6cky = Apply Product_6989586621680487163Sym0 a_a6cky;
}
class SFoldable (t_a6c4M :: Type -> Type)
sFold :: forall m_a6c4N (t_a6cAG :: t_a6c4M m_a6c4N). (SFoldable t_a6c4M, SMonoid m_a6c4N) => Sing t_a6cAG -> Sing (Apply FoldSym0 t_a6cAG :: m_a6c4N)
sFoldMap :: forall m_a6c4O a_a6c4P (t_a6cAI :: (~>) a_a6c4P m_a6c4O) (t_a6cAJ :: t_a6c4M a_a6c4P). (SFoldable t_a6c4M, SMonoid m_a6c4O) => Sing t_a6cAI -> Sing t_a6cAJ -> Sing (Apply (Apply FoldMapSym0 t_a6cAI) t_a6cAJ :: m_a6c4O)
sFoldr :: forall a_a6c4Q b_a6c4R (t_a6cAM :: (~>) a_a6c4Q ((~>) b_a6c4R b_a6c4R)) (t_a6cAN :: b_a6c4R) (t_a6cAO :: t_a6c4M a_a6c4Q). SFoldable t_a6c4M => Sing t_a6cAM -> Sing t_a6cAN -> Sing t_a6cAO -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cAM) t_a6cAN) t_a6cAO :: b_a6c4R)
sFoldr' :: forall a_a6c4S b_a6c4T (t_a6cAS :: (~>) a_a6c4S ((~>) b_a6c4T b_a6c4T)) (t_a6cAT :: b_a6c4T) (t_a6cAU :: t_a6c4M a_a6c4S). SFoldable t_a6c4M => Sing t_a6cAS -> Sing t_a6cAT -> Sing t_a6cAU -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a6cAS) t_a6cAT) t_a6cAU :: b_a6c4T)
sFoldl :: forall b_a6c4U a_a6c4V (t_a6cAY :: (~>) b_a6c4U ((~>) a_a6c4V b_a6c4U)) (t_a6cAZ :: b_a6c4U) (t_a6cB0 :: t_a6c4M a_a6c4V). SFoldable t_a6c4M => Sing t_a6cAY -> Sing t_a6cAZ -> Sing t_a6cB0 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cAY) t_a6cAZ) t_a6cB0 :: b_a6c4U)
sFoldl' :: forall b_a6c4W a_a6c4X (t_a6cB4 :: (~>) b_a6c4W ((~>) a_a6c4X b_a6c4W)) (t_a6cB5 :: b_a6c4W) (t_a6cB6 :: t_a6c4M a_a6c4X). SFoldable t_a6c4M => Sing t_a6cB4 -> Sing t_a6cB5 -> Sing t_a6cB6 -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6cB4) t_a6cB5) t_a6cB6 :: b_a6c4W)
sFoldr1 :: forall a_a6c4Y (t_a6cBa :: (~>) a_a6c4Y ((~>) a_a6c4Y a_a6c4Y)) (t_a6cBb :: t_a6c4M a_a6c4Y). SFoldable t_a6c4M => Sing t_a6cBa -> Sing t_a6cBb -> Sing (Apply (Apply Foldr1Sym0 t_a6cBa) t_a6cBb :: a_a6c4Y)
sFoldl1 :: forall a_a6c4Z (t_a6cBe :: (~>) a_a6c4Z ((~>) a_a6c4Z a_a6c4Z)) (t_a6cBf :: t_a6c4M a_a6c4Z). SFoldable t_a6c4M => Sing t_a6cBe -> Sing t_a6cBf -> Sing (Apply (Apply Foldl1Sym0 t_a6cBe) t_a6cBf :: a_a6c4Z)
sToList :: forall a_a6c50 (t_a6cBi :: t_a6c4M a_a6c50). SFoldable t_a6c4M => Sing t_a6cBi -> Sing (Apply ToListSym0 t_a6cBi :: [a_a6c50])
sNull :: forall a_a6c51 (t_a6cBk :: t_a6c4M a_a6c51). SFoldable t_a6c4M => Sing t_a6cBk -> Sing (Apply NullSym0 t_a6cBk :: Bool)
sLength :: forall a_a6c52 (t_a6cBm :: t_a6c4M a_a6c52). SFoldable t_a6c4M => Sing t_a6cBm -> Sing (Apply LengthSym0 t_a6cBm :: Nat)
sElem :: forall a_a6c53 (t_a6cBo :: a_a6c53) (t_a6cBp :: t_a6c4M a_a6c53). (SFoldable t_a6c4M, SEq a_a6c53) => Sing t_a6cBo -> Sing t_a6cBp -> Sing (Apply (Apply ElemSym0 t_a6cBo) t_a6cBp :: Bool)
sMaximum :: forall a_a6c54 (t_a6cBs :: t_a6c4M a_a6c54). (SFoldable t_a6c4M, SOrd a_a6c54) => Sing t_a6cBs -> Sing (Apply MaximumSym0 t_a6cBs :: a_a6c54)
sMinimum :: forall a_a6c55 (t_a6cBu :: t_a6c4M a_a6c55). (SFoldable t_a6c4M, SOrd a_a6c55) => Sing t_a6cBu -> Sing (Apply MinimumSym0 t_a6cBu :: a_a6c55)
sSum :: forall a_a6c56 (t_a6cBw :: t_a6c4M a_a6c56). (SFoldable t_a6c4M, SNum a_a6c56) => Sing t_a6cBw -> Sing (Apply SumSym0 t_a6cBw :: a_a6c56)
sProduct :: forall a_a6c57 (t_a6cBy :: t_a6c4M a_a6c57). (SFoldable t_a6c4M, SNum a_a6c57) => Sing t_a6cBy -> Sing (Apply ProductSym0 t_a6cBy :: a_a6c57)
sFold :: forall m_a6c4N (t_a6cAG :: t_a6c4M m_a6c4N). (SFoldable t_a6c4M, (Apply FoldSym0 t_a6cAG :: m_a6c4N) ~ Apply Fold_6989586621680486869Sym0 t_a6cAG, SMonoid m_a6c4N) => Sing t_a6cAG -> Sing (Apply FoldSym0 t_a6cAG :: m_a6c4N)
sFoldMap :: forall m_a6c4O a_a6c4P (t_a6cAI :: (~>) a_a6c4P m_a6c4O) (t_a6cAJ :: t_a6c4M a_a6c4P). (SFoldable t_a6c4M, (Apply (Apply FoldMapSym0 t_a6cAI) t_a6cAJ :: m_a6c4O) ~ Apply (Apply FoldMap_6989586621680486882Sym0 t_a6cAI) t_a6cAJ, SMonoid m_a6c4O) => Sing t_a6cAI -> Sing t_a6cAJ -> Sing (Apply (Apply FoldMapSym0 t_a6cAI) t_a6cAJ :: m_a6c4O)
sFoldr :: forall a_a6c4Q b_a6c4R (t_a6cAM :: (~>) a_a6c4Q ((~>) b_a6c4R b_a6c4R)) (t_a6cAN :: b_a6c4R) (t_a6cAO :: t_a6c4M a_a6c4Q). (SFoldable t_a6c4M, (Apply (Apply (Apply FoldrSym0 t_a6cAM) t_a6cAN) t_a6cAO :: b_a6c4R) ~ Apply (Apply (Apply Foldr_6989586621680486906Sym0 t_a6cAM) t_a6cAN) t_a6cAO) => Sing t_a6cAM -> Sing t_a6cAN -> Sing t_a6cAO -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cAM) t_a6cAN) t_a6cAO :: b_a6c4R)
sFoldr' :: forall a_a6c4S b_a6c4T (t_a6cAS :: (~>) a_a6c4S ((~>) b_a6c4T b_a6c4T)) (t_a6cAT :: b_a6c4T) (t_a6cAU :: t_a6c4M a_a6c4S). (SFoldable t_a6c4M, (Apply (Apply (Apply Foldr'Sym0 t_a6cAS) t_a6cAT) t_a6cAU :: b_a6c4T) ~ Apply (Apply (Apply Foldr'_6989586621680486936Sym0 t_a6cAS) t_a6cAT) t_a6cAU) => Sing t_a6cAS -> Sing t_a6cAT -> Sing t_a6cAU -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a6cAS) t_a6cAT) t_a6cAU :: b_a6c4T)
sFoldl :: forall b_a6c4U a_a6c4V (t_a6cAY :: (~>) b_a6c4U ((~>) a_a6c4V b_a6c4U)) (t_a6cAZ :: b_a6c4U) (t_a6cB0 :: t_a6c4M a_a6c4V). (SFoldable t_a6c4M, (Apply (Apply (Apply FoldlSym0 t_a6cAY) t_a6cAZ) t_a6cB0 :: b_a6c4U) ~ Apply (Apply (Apply Foldl_6989586621680486961Sym0 t_a6cAY) t_a6cAZ) t_a6cB0) => Sing t_a6cAY -> Sing t_a6cAZ -> Sing t_a6cB0 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cAY) t_a6cAZ) t_a6cB0 :: b_a6c4U)
sFoldl' :: forall b_a6c4W a_a6c4X (t_a6cB4 :: (~>) b_a6c4W ((~>) a_a6c4X b_a6c4W)) (t_a6cB5 :: b_a6c4W) (t_a6cB6 :: t_a6c4M a_a6c4X). (SFoldable t_a6c4M, (Apply (Apply (Apply Foldl'Sym0 t_a6cB4) t_a6cB5) t_a6cB6 :: b_a6c4W) ~ Apply (Apply (Apply Foldl'_6989586621680486991Sym0 t_a6cB4) t_a6cB5) t_a6cB6) => Sing t_a6cB4 -> Sing t_a6cB5 -> Sing t_a6cB6 -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6cB4) t_a6cB5) t_a6cB6 :: b_a6c4W)
sFoldr1 :: forall a_a6c4Y (t_a6cBa :: (~>) a_a6c4Y ((~>) a_a6c4Y a_a6c4Y)) (t_a6cBb :: t_a6c4M a_a6c4Y). (SFoldable t_a6c4M, (Apply (Apply Foldr1Sym0 t_a6cBa) t_a6cBb :: a_a6c4Y) ~ Apply (Apply Foldr1_6989586621680487017Sym0 t_a6cBa) t_a6cBb) => Sing t_a6cBa -> Sing t_a6cBb -> Sing (Apply (Apply Foldr1Sym0 t_a6cBa) t_a6cBb :: a_a6c4Y)
sFoldl1 :: forall a_a6c4Z (t_a6cBe :: (~>) a_a6c4Z ((~>) a_a6c4Z a_a6c4Z)) (t_a6cBf :: t_a6c4M a_a6c4Z). (SFoldable t_a6c4M, (Apply (Apply Foldl1Sym0 t_a6cBe) t_a6cBf :: a_a6c4Z) ~ Apply (Apply Foldl1_6989586621680487042Sym0 t_a6cBe) t_a6cBf) => Sing t_a6cBe -> Sing t_a6cBf -> Sing (Apply (Apply Foldl1Sym0 t_a6cBe) t_a6cBf :: a_a6c4Z)
sToList :: forall a_a6c50 (t_a6cBi :: t_a6c4M a_a6c50). (SFoldable t_a6c4M, (Apply ToListSym0 t_a6cBi :: [a_a6c50]) ~ Apply ToList_6989586621680487052Sym0 t_a6cBi) => Sing t_a6cBi -> Sing (Apply ToListSym0 t_a6cBi :: [a_a6c50])
sNull :: forall a_a6c51 (t_a6cBk :: t_a6c4M a_a6c51). (SFoldable t_a6c4M, (Apply NullSym0 t_a6cBk :: Bool) ~ Apply Null_6989586621680487073Sym0 t_a6cBk) => Sing t_a6cBk -> Sing (Apply NullSym0 t_a6cBk :: Bool)
sLength :: forall a_a6c52 (t_a6cBm :: t_a6c4M a_a6c52). (SFoldable t_a6c4M, (Apply LengthSym0 t_a6cBm :: Nat) ~ Apply Length_6989586621680487095Sym0 t_a6cBm) => Sing t_a6cBm -> Sing (Apply LengthSym0 t_a6cBm :: Nat)
sElem :: forall a_a6c53 (t_a6cBo :: a_a6c53) (t_a6cBp :: t_a6c4M a_a6c53). (SFoldable t_a6c4M, (Apply (Apply ElemSym0 t_a6cBo) t_a6cBp :: Bool) ~ Apply (Apply Elem_6989586621680487110Sym0 t_a6cBo) t_a6cBp, SEq a_a6c53) => Sing t_a6cBo -> Sing t_a6cBp -> Sing (Apply (Apply ElemSym0 t_a6cBo) t_a6cBp :: Bool)
sMaximum :: forall a_a6c54 (t_a6cBs :: t_a6c4M a_a6c54). (SFoldable t_a6c4M, (Apply MaximumSym0 t_a6cBs :: a_a6c54) ~ Apply Maximum_6989586621680487124Sym0 t_a6cBs, SOrd a_a6c54) => Sing t_a6cBs -> Sing (Apply MaximumSym0 t_a6cBs :: a_a6c54)
sMinimum :: forall a_a6c55 (t_a6cBu :: t_a6c4M a_a6c55). (SFoldable t_a6c4M, (Apply MinimumSym0 t_a6cBu :: a_a6c55) ~ Apply Minimum_6989586621680487137Sym0 t_a6cBu, SOrd a_a6c55) => Sing t_a6cBu -> Sing (Apply MinimumSym0 t_a6cBu :: a_a6c55)
sSum :: forall a_a6c56 (t_a6cBw :: t_a6c4M a_a6c56). (SFoldable t_a6c4M, (Apply SumSym0 t_a6cBw :: a_a6c56) ~ Apply Sum_6989586621680487150Sym0 t_a6cBw, SNum a_a6c56) => Sing t_a6cBw -> Sing (Apply SumSym0 t_a6cBw :: a_a6c56)
sProduct :: forall a_a6c57 (t_a6cBy :: t_a6c4M a_a6c57). (SFoldable t_a6c4M, (Apply ProductSym0 t_a6cBy :: a_a6c57) ~ Apply Product_6989586621680487163Sym0 t_a6cBy, SNum a_a6c57) => Sing t_a6cBy -> Sing (Apply ProductSym0 t_a6cBy :: a_a6c57)
class PSemigroup a_a5FDE => PMonoid (a_a5FDE :: Type) where {
    type family Mempty :: a_a5FDE;
    type family Mappend (arg_a5FJR :: a_a5FDE) (arg_a5FJS :: a_a5FDE) :: a_a5FDE;
    type family Mconcat (arg_a5FJV :: [a_a5FDE]) :: a_a5FDE;
    type Mappend a_a5FK7 a_a5FK8 = Apply (Apply Mappend_6989586621680361897Sym0 a_a5FK7) a_a5FK8;
    type Mconcat a_a5FKi = Apply Mconcat_6989586621680361907Sym0 a_a5FKi;
}
class SSemigroup a_a5FDE => SMonoid a_a5FDE
sMempty :: SMonoid a_a5FDE => Sing (MemptySym0 :: a_a5FDE)
sMappend :: forall (t_a5FLc :: a_a5FDE) (t_a5FLd :: a_a5FDE). SMonoid a_a5FDE => Sing t_a5FLc -> Sing t_a5FLd -> Sing (Apply (Apply MappendSym0 t_a5FLc) t_a5FLd :: a_a5FDE)
sMconcat :: forall (t_a5FLg :: [a_a5FDE]). SMonoid a_a5FDE => Sing t_a5FLg -> Sing (Apply MconcatSym0 t_a5FLg :: a_a5FDE)
sMappend :: forall (t_a5FLc :: a_a5FDE) (t_a5FLd :: a_a5FDE). (SMonoid a_a5FDE, (Apply (Apply MappendSym0 t_a5FLc) t_a5FLd :: a_a5FDE) ~ Apply (Apply Mappend_6989586621680361897Sym0 t_a5FLc) t_a5FLd) => Sing t_a5FLc -> Sing t_a5FLd -> Sing (Apply (Apply MappendSym0 t_a5FLc) t_a5FLd :: a_a5FDE)
sMconcat :: forall (t_a5FLg :: [a_a5FDE]). (SMonoid a_a5FDE, (Apply MconcatSym0 t_a5FLg :: a_a5FDE) ~ Apply Mconcat_6989586621680361907Sym0 t_a5FLg) => Sing t_a5FLg -> Sing (Apply MconcatSym0 t_a5FLg :: a_a5FDE)
class (PFunctor t_a7tbm, PFoldable t_a7tbm) => PTraversable (t_a7tbm :: Type -> Type) where {
    type family Traverse (arg_a7tby :: (~>) a_a7tbo (f_a7tbn b_a7tbp)) (arg_a7tbz :: t_a7tbm a_a7tbo) :: f_a7tbn (t_a7tbm b_a7tbp);
    type family SequenceA (arg_a7tbC :: t_a7tbm (f_a7tbq a_a7tbr)) :: f_a7tbq (t_a7tbm a_a7tbr);
    type family MapM (arg_a7tbE :: (~>) a_a7tbt (m_a7tbs b_a7tbu)) (arg_a7tbF :: t_a7tbm a_a7tbt) :: m_a7tbs (t_a7tbm b_a7tbu);
    type family Sequence (arg_a7tbI :: t_a7tbm (m_a7tbv a_a7tbw)) :: m_a7tbv (t_a7tbm a_a7tbw);
    type Traverse a_a7tbS a_a7tbT = Apply (Apply Traverse_6989586621680790302Sym0 a_a7tbS) a_a7tbT;
    type SequenceA a_a7tc3 = Apply SequenceA_6989586621680790312Sym0 a_a7tc3;
    type MapM a_a7tch a_a7tci = Apply (Apply MapM_6989586621680790327Sym0 a_a7tch) a_a7tci;
    type Sequence a_a7tcs = Apply Sequence_6989586621680790337Sym0 a_a7tcs;
}
class (SFunctor t_a7tbm, SFoldable t_a7tbm) => STraversable (t_a7tbm :: Type -> Type)
sTraverse :: forall f_a7tbn a_a7tbo b_a7tbp (t_a7tcw :: (~>) a_a7tbo (f_a7tbn b_a7tbp)) (t_a7tcx :: t_a7tbm a_a7tbo). (STraversable t_a7tbm, SApplicative f_a7tbn) => Sing t_a7tcw -> Sing t_a7tcx -> Sing (Apply (Apply TraverseSym0 t_a7tcw) t_a7tcx :: f_a7tbn (t_a7tbm b_a7tbp))
sSequenceA :: forall f_a7tbq a_a7tbr (t_a7tcA :: t_a7tbm (f_a7tbq a_a7tbr)). (STraversable t_a7tbm, SApplicative f_a7tbq) => Sing t_a7tcA -> Sing (Apply SequenceASym0 t_a7tcA :: f_a7tbq (t_a7tbm a_a7tbr))
sMapM :: forall m_a7tbs a_a7tbt b_a7tbu (t_a7tcC :: (~>) a_a7tbt (m_a7tbs b_a7tbu)) (t_a7tcD :: t_a7tbm a_a7tbt). (STraversable t_a7tbm, SMonad m_a7tbs) => Sing t_a7tcC -> Sing t_a7tcD -> Sing (Apply (Apply MapMSym0 t_a7tcC) t_a7tcD :: m_a7tbs (t_a7tbm b_a7tbu))
sSequence :: forall m_a7tbv a_a7tbw (t_a7tcG :: t_a7tbm (m_a7tbv a_a7tbw)). (STraversable t_a7tbm, SMonad m_a7tbv) => Sing t_a7tcG -> Sing (Apply SequenceSym0 t_a7tcG :: m_a7tbv (t_a7tbm a_a7tbw))
sTraverse :: forall f_a7tbn a_a7tbo b_a7tbp (t_a7tcw :: (~>) a_a7tbo (f_a7tbn b_a7tbp)) (t_a7tcx :: t_a7tbm a_a7tbo). (STraversable t_a7tbm, (Apply (Apply TraverseSym0 t_a7tcw) t_a7tcx :: f_a7tbn (t_a7tbm b_a7tbp)) ~ Apply (Apply Traverse_6989586621680790302Sym0 t_a7tcw) t_a7tcx, SApplicative f_a7tbn) => Sing t_a7tcw -> Sing t_a7tcx -> Sing (Apply (Apply TraverseSym0 t_a7tcw) t_a7tcx :: f_a7tbn (t_a7tbm b_a7tbp))
sSequenceA :: forall f_a7tbq a_a7tbr (t_a7tcA :: t_a7tbm (f_a7tbq a_a7tbr)). (STraversable t_a7tbm, (Apply SequenceASym0 t_a7tcA :: f_a7tbq (t_a7tbm a_a7tbr)) ~ Apply SequenceA_6989586621680790312Sym0 t_a7tcA, SApplicative f_a7tbq) => Sing t_a7tcA -> Sing (Apply SequenceASym0 t_a7tcA :: f_a7tbq (t_a7tbm a_a7tbr))
sMapM :: forall m_a7tbs a_a7tbt b_a7tbu (t_a7tcC :: (~>) a_a7tbt (m_a7tbs b_a7tbu)) (t_a7tcD :: t_a7tbm a_a7tbt). (STraversable t_a7tbm, (Apply (Apply MapMSym0 t_a7tcC) t_a7tcD :: m_a7tbs (t_a7tbm b_a7tbu)) ~ Apply (Apply MapM_6989586621680790327Sym0 t_a7tcC) t_a7tcD, SMonad m_a7tbs) => Sing t_a7tcC -> Sing t_a7tcD -> Sing (Apply (Apply MapMSym0 t_a7tcC) t_a7tcD :: m_a7tbs (t_a7tbm b_a7tbu))
sSequence :: forall m_a7tbv a_a7tbw (t_a7tcG :: t_a7tbm (m_a7tbv a_a7tbw)). (STraversable t_a7tbm, (Apply SequenceSym0 t_a7tcG :: m_a7tbv (t_a7tbm a_a7tbw)) ~ Apply Sequence_6989586621680790337Sym0 t_a7tcG, SMonad m_a7tbv) => Sing t_a7tcG -> Sing (Apply SequenceSym0 t_a7tcG :: m_a7tbv (t_a7tbm a_a7tbw))
class PFunctor f_a2k1B => PApplicative (f_a2k1B :: Type -> Type) where {
    type family Pure (arg_a2k8g :: a_a2k1C) :: f_a2k1B a_a2k1C;
    type family (<*>) (arg_a2k8i :: f_a2k1B ((~>) a_a2k1D b_a2k1E)) (arg_a2k8j :: f_a2k1B a_a2k1D) :: f_a2k1B b_a2k1E;
    type family LiftA2 (arg_a2k8m :: (~>) a_a2k1F ((~>) b_a2k1G c_a2k1H)) (arg_a2k8n :: f_a2k1B a_a2k1F) (arg_a2k8o :: f_a2k1B b_a2k1G) :: f_a2k1B c_a2k1H;
    type family (*>) (arg_a2k8s :: f_a2k1B a_a2k1I) (arg_a2k8t :: f_a2k1B b_a2k1J) :: f_a2k1B b_a2k1J;
    type family (<*) (arg_a2k8w :: f_a2k1B a_a2k1K) (arg_a2k8x :: f_a2k1B b_a2k1L) :: f_a2k1B a_a2k1K;
    type (<*>) a_a2k8K a_a2k8L = Apply (Apply TFHelper_6989586621679563872Sym0 a_a2k8K) a_a2k8L;
    type LiftA2 a_a2k91 a_a2k92 a_a2k93 = Apply (Apply (Apply LiftA2_6989586621679563890Sym0 a_a2k91) a_a2k92) a_a2k93;
    type (*>) a_a2k9f a_a2k9g = Apply (Apply TFHelper_6989586621679563903Sym0 a_a2k9f) a_a2k9g;
    type (<*) a_a2k9v a_a2k9w = Apply (Apply TFHelper_6989586621679563919Sym0 a_a2k9v) a_a2k9w;
}
infixl 4 <*>
infixl 4 *>
infixl 4 <*
class SFunctor f_a2k1B => SApplicative (f_a2k1B :: Type -> Type)
sPure :: forall a_a2k1C (t_a2kct :: a_a2k1C). SApplicative f_a2k1B => Sing t_a2kct -> Sing (Apply PureSym0 t_a2kct :: f_a2k1B a_a2k1C)
(%<*>) :: forall a_a2k1D b_a2k1E (t_a2kcv :: f_a2k1B ((~>) a_a2k1D b_a2k1E)) (t_a2kcw :: f_a2k1B a_a2k1D). SApplicative f_a2k1B => Sing t_a2kcv -> Sing t_a2kcw -> Sing (Apply (Apply (<*>@#@$) t_a2kcv) t_a2kcw :: f_a2k1B b_a2k1E)
sLiftA2 :: forall a_a2k1F b_a2k1G c_a2k1H (t_a2kcz :: (~>) a_a2k1F ((~>) b_a2k1G c_a2k1H)) (t_a2kcA :: f_a2k1B a_a2k1F) (t_a2kcB :: f_a2k1B b_a2k1G). SApplicative f_a2k1B => Sing t_a2kcz -> Sing t_a2kcA -> Sing t_a2kcB -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2kcz) t_a2kcA) t_a2kcB :: f_a2k1B c_a2k1H)
(%*>) :: forall a_a2k1I b_a2k1J (t_a2kcF :: f_a2k1B a_a2k1I) (t_a2kcG :: f_a2k1B b_a2k1J). SApplicative f_a2k1B => Sing t_a2kcF -> Sing t_a2kcG -> Sing (Apply (Apply (*>@#@$) t_a2kcF) t_a2kcG :: f_a2k1B b_a2k1J)
(%<*) :: forall a_a2k1K b_a2k1L (t_a2kcJ :: f_a2k1B a_a2k1K) (t_a2kcK :: f_a2k1B b_a2k1L). SApplicative f_a2k1B => Sing t_a2kcJ -> Sing t_a2kcK -> Sing (Apply (Apply (<*@#@$) t_a2kcJ) t_a2kcK :: f_a2k1B a_a2k1K)
(%<*>) :: forall a_a2k1D b_a2k1E (t_a2kcv :: f_a2k1B ((~>) a_a2k1D b_a2k1E)) (t_a2kcw :: f_a2k1B a_a2k1D). (SApplicative f_a2k1B, (Apply (Apply (<*>@#@$) t_a2kcv) t_a2kcw :: f_a2k1B b_a2k1E) ~ Apply (Apply TFHelper_6989586621679563872Sym0 t_a2kcv) t_a2kcw) => Sing t_a2kcv -> Sing t_a2kcw -> Sing (Apply (Apply (<*>@#@$) t_a2kcv) t_a2kcw :: f_a2k1B b_a2k1E)
sLiftA2 :: forall a_a2k1F b_a2k1G c_a2k1H (t_a2kcz :: (~>) a_a2k1F ((~>) b_a2k1G c_a2k1H)) (t_a2kcA :: f_a2k1B a_a2k1F) (t_a2kcB :: f_a2k1B b_a2k1G). (SApplicative f_a2k1B, (Apply (Apply (Apply LiftA2Sym0 t_a2kcz) t_a2kcA) t_a2kcB :: f_a2k1B c_a2k1H) ~ Apply (Apply (Apply LiftA2_6989586621679563890Sym0 t_a2kcz) t_a2kcA) t_a2kcB) => Sing t_a2kcz -> Sing t_a2kcA -> Sing t_a2kcB -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2kcz) t_a2kcA) t_a2kcB :: f_a2k1B c_a2k1H)
(%*>) :: forall a_a2k1I b_a2k1J (t_a2kcF :: f_a2k1B a_a2k1I) (t_a2kcG :: f_a2k1B b_a2k1J). (SApplicative f_a2k1B, (Apply (Apply (*>@#@$) t_a2kcF) t_a2kcG :: f_a2k1B b_a2k1J) ~ Apply (Apply TFHelper_6989586621679563903Sym0 t_a2kcF) t_a2kcG) => Sing t_a2kcF -> Sing t_a2kcG -> Sing (Apply (Apply (*>@#@$) t_a2kcF) t_a2kcG :: f_a2k1B b_a2k1J)
(%<*) :: forall a_a2k1K b_a2k1L (t_a2kcJ :: f_a2k1B a_a2k1K) (t_a2kcK :: f_a2k1B b_a2k1L). (SApplicative f_a2k1B, (Apply (Apply (<*@#@$) t_a2kcJ) t_a2kcK :: f_a2k1B a_a2k1K) ~ Apply (Apply TFHelper_6989586621679563919Sym0 t_a2kcJ) t_a2kcK) => Sing t_a2kcJ -> Sing t_a2kcK -> Sing (Apply (Apply (<*@#@$) t_a2kcJ) t_a2kcK :: f_a2k1B a_a2k1K)
infixl 4 %<*>
infixl 4 %*>
infixl 4 %<*
type family (:.) (a_a2dEr :: (~>) b_a2dBL c_a2dBM) (a_a2dEs :: (~>) a_a2dBN b_a2dBL) (a_a2dEt :: a_a2dBN) :: c_a2dBM
infixr 9 :.
(%.) :: forall b_a2dBL c_a2dBM a_a2dBN (t_a2dFY :: (~>) b_a2dBL c_a2dBM) (t_a2dFZ :: (~>) a_a2dBN b_a2dBL) (t_a2dG0 :: a_a2dBN). Sing t_a2dFY -> Sing t_a2dFZ -> Sing t_a2dG0 -> Sing (Apply (Apply (Apply (.@#@$) t_a2dFY) t_a2dFZ) t_a2dG0 :: c_a2dBM)
infixr 9 %.

-- | An <i>existentially-quantified</i> singleton. This type is useful when
--   you want a singleton type, but there is no way of knowing, at
--   compile-time, what the type index will be. To make use of this type,
--   you will generally have to use a pattern-match:
--   
--   <pre>
--   foo :: Bool -&gt; ...
--   foo b = case toSing b of
--             SomeSing sb -&gt; {- fancy dependently-typed code with sb -}
--   </pre>
--   
--   An example like the one above may be easier to write using
--   <a>withSomeSing</a>.
data SomeSing k
[SomeSing] :: Sing (a :: k) -> SomeSing k

-- | The promotion of <a>error</a>. This version is more poly-kinded for
--   easier use.
type family Error (str :: k0) :: k

-- | The singleton for <a>error</a>
sError :: HasCallStack => Sing (str :: Symbol) -> a
data ErrorSym0 :: forall k06989586621679484372 k6989586621679484371. (~>) k06989586621679484372 k6989586621679484371
type ErrorSym1 (str6989586621679484373 :: k06989586621679484372) = Error str6989586621679484373

-- | The promotion of <a>undefined</a>.
type family Undefined :: k

-- | The singleton for <a>undefined</a>.
sUndefined :: HasCallStack => a
type UndefinedSym0 = Undefined
type TrueSym0 =  'True
type FalseSym0 =  'False
data (==@#@$) :: forall a6989586621679381437. (~>) a6989586621679381437 ((~>) a6989586621679381437 Bool)
infix 4 ==@#@$
data (==@#@$$) (x6989586621679381438 :: a6989586621679381437) :: (~>) a6989586621679381437 Bool
infix 4 ==@#@$$
type (==@#@$$$) (x6989586621679381438 :: a6989586621679381437) (y6989586621679381439 :: a6989586621679381437) = (==) x6989586621679381438 y6989586621679381439
data (>@#@$) :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 Bool)
infix 4 >@#@$
data (>@#@$$) (arg6989586621679396126 :: a6989586621679396020) :: (~>) a6989586621679396020 Bool
infix 4 >@#@$$
type (>@#@$$$) (arg6989586621679396126 :: a6989586621679396020) (arg6989586621679396127 :: a6989586621679396020) = (>) arg6989586621679396126 arg6989586621679396127
type LTSym0 =  'LT
type EQSym0 =  'EQ
type GTSym0 =  'GT
type Tuple0Sym0 = '()
data Tuple2Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type)))
data Tuple2Sym1 (t6989586621679312534 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type). (~>) b3530822107858468866 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type))
type Tuple2Sym2 (t6989586621679312534 :: a3530822107858468865) (t6989586621679312535 :: b3530822107858468866) = '(t6989586621679312534, t6989586621679312535)
data Tuple3Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type))))
data Tuple3Sym1 (t6989586621679312565 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type)))
data Tuple3Sym2 (t6989586621679312565 :: (a3530822107858468865 :: Type)) (t6989586621679312566 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type). (~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type))
type Tuple3Sym3 (t6989586621679312565 :: a3530822107858468865) (t6989586621679312566 :: b3530822107858468866) (t6989586621679312567 :: c3530822107858468867) = '(t6989586621679312565, t6989586621679312566, t6989586621679312567)
data Tuple4Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type)))))
data Tuple4Sym1 (t6989586621679312612 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type))))
data Tuple4Sym2 (t6989586621679312612 :: (a3530822107858468865 :: Type)) (t6989586621679312613 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type)))
data Tuple4Sym3 (t6989586621679312612 :: (a3530822107858468865 :: Type)) (t6989586621679312613 :: (b3530822107858468866 :: Type)) (t6989586621679312614 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type). (~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type))
type Tuple4Sym4 (t6989586621679312612 :: a3530822107858468865) (t6989586621679312613 :: b3530822107858468866) (t6989586621679312614 :: c3530822107858468867) (t6989586621679312615 :: d3530822107858468868) = '(t6989586621679312612, t6989586621679312613, t6989586621679312614, t6989586621679312615)
data Tuple5Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type))))))
data Tuple5Sym1 (t6989586621679312677 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type)))))
data Tuple5Sym2 (t6989586621679312677 :: (a3530822107858468865 :: Type)) (t6989586621679312678 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type))))
data Tuple5Sym3 (t6989586621679312677 :: (a3530822107858468865 :: Type)) (t6989586621679312678 :: (b3530822107858468866 :: Type)) (t6989586621679312679 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type)))
data Tuple5Sym4 (t6989586621679312677 :: (a3530822107858468865 :: Type)) (t6989586621679312678 :: (b3530822107858468866 :: Type)) (t6989586621679312679 :: (c3530822107858468867 :: Type)) (t6989586621679312680 :: (d3530822107858468868 :: Type)) :: forall (e3530822107858468869 :: Type). (~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type))
type Tuple5Sym5 (t6989586621679312677 :: a3530822107858468865) (t6989586621679312678 :: b3530822107858468866) (t6989586621679312679 :: c3530822107858468867) (t6989586621679312680 :: d3530822107858468868) (t6989586621679312681 :: e3530822107858468869) = '(t6989586621679312677, t6989586621679312678, t6989586621679312679, t6989586621679312680, t6989586621679312681)
data Tuple6Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type)))))))
data Tuple6Sym1 (t6989586621679312762 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type))))))
data Tuple6Sym2 (t6989586621679312762 :: (a3530822107858468865 :: Type)) (t6989586621679312763 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type)))))
data Tuple6Sym3 (t6989586621679312762 :: (a3530822107858468865 :: Type)) (t6989586621679312763 :: (b3530822107858468866 :: Type)) (t6989586621679312764 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type))))
data Tuple6Sym4 (t6989586621679312762 :: (a3530822107858468865 :: Type)) (t6989586621679312763 :: (b3530822107858468866 :: Type)) (t6989586621679312764 :: (c3530822107858468867 :: Type)) (t6989586621679312765 :: (d3530822107858468868 :: Type)) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type)))
data Tuple6Sym5 (t6989586621679312762 :: (a3530822107858468865 :: Type)) (t6989586621679312763 :: (b3530822107858468866 :: Type)) (t6989586621679312764 :: (c3530822107858468867 :: Type)) (t6989586621679312765 :: (d3530822107858468868 :: Type)) (t6989586621679312766 :: (e3530822107858468869 :: Type)) :: forall (f3530822107858468870 :: Type). (~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type))
type Tuple6Sym6 (t6989586621679312762 :: a3530822107858468865) (t6989586621679312763 :: b3530822107858468866) (t6989586621679312764 :: c3530822107858468867) (t6989586621679312765 :: d3530822107858468868) (t6989586621679312766 :: e3530822107858468869) (t6989586621679312767 :: f3530822107858468870) = '(t6989586621679312762, t6989586621679312763, t6989586621679312764, t6989586621679312765, t6989586621679312766, t6989586621679312767)
data Tuple7Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type))))))))
data Tuple7Sym1 (t6989586621679312869 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type)))))))
data Tuple7Sym2 (t6989586621679312869 :: (a3530822107858468865 :: Type)) (t6989586621679312870 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type))))))
data Tuple7Sym3 (t6989586621679312869 :: (a3530822107858468865 :: Type)) (t6989586621679312870 :: (b3530822107858468866 :: Type)) (t6989586621679312871 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type)))))
data Tuple7Sym4 (t6989586621679312869 :: (a3530822107858468865 :: Type)) (t6989586621679312870 :: (b3530822107858468866 :: Type)) (t6989586621679312871 :: (c3530822107858468867 :: Type)) (t6989586621679312872 :: (d3530822107858468868 :: Type)) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type))))
data Tuple7Sym5 (t6989586621679312869 :: (a3530822107858468865 :: Type)) (t6989586621679312870 :: (b3530822107858468866 :: Type)) (t6989586621679312871 :: (c3530822107858468867 :: Type)) (t6989586621679312872 :: (d3530822107858468868 :: Type)) (t6989586621679312873 :: (e3530822107858468869 :: Type)) :: forall (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type)))
data Tuple7Sym6 (t6989586621679312869 :: (a3530822107858468865 :: Type)) (t6989586621679312870 :: (b3530822107858468866 :: Type)) (t6989586621679312871 :: (c3530822107858468867 :: Type)) (t6989586621679312872 :: (d3530822107858468868 :: Type)) (t6989586621679312873 :: (e3530822107858468869 :: Type)) (t6989586621679312874 :: (f3530822107858468870 :: Type)) :: forall (g3530822107858468871 :: Type). (~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type))
type Tuple7Sym7 (t6989586621679312869 :: a3530822107858468865) (t6989586621679312870 :: b3530822107858468866) (t6989586621679312871 :: c3530822107858468867) (t6989586621679312872 :: d3530822107858468868) (t6989586621679312873 :: e3530822107858468869) (t6989586621679312874 :: f3530822107858468870) (t6989586621679312875 :: g3530822107858468871) = '(t6989586621679312869, t6989586621679312870, t6989586621679312871, t6989586621679312872, t6989586621679312873, t6989586621679312874, t6989586621679312875)
data CompareSym0 :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 Ordering)
data CompareSym1 (arg6989586621679396114 :: a6989586621679396020) :: (~>) a6989586621679396020 Ordering
type CompareSym2 (arg6989586621679396114 :: a6989586621679396020) (arg6989586621679396115 :: a6989586621679396020) = Compare arg6989586621679396114 arg6989586621679396115
data ThenCmpSym0 :: (~>) Ordering ((~>) Ordering Ordering)
data ThenCmpSym1 (a6989586621679406525 :: Ordering) :: (~>) Ordering Ordering
type ThenCmpSym2 (a6989586621679406525 :: Ordering) (a6989586621679406526 :: Ordering) = ThenCmp a6989586621679406525 a6989586621679406526
data FoldlSym0 :: forall a6989586621680486193 b6989586621680486192 t6989586621680486184. (~>) ((~>) b6989586621680486192 ((~>) a6989586621680486193 b6989586621680486192)) ((~>) b6989586621680486192 ((~>) (t6989586621680486184 a6989586621680486193) b6989586621680486192))
data FoldlSym1 (arg6989586621680486825 :: (~>) b6989586621680486192 ((~>) a6989586621680486193 b6989586621680486192)) :: forall t6989586621680486184. (~>) b6989586621680486192 ((~>) (t6989586621680486184 a6989586621680486193) b6989586621680486192)
data FoldlSym2 (arg6989586621680486825 :: (~>) b6989586621680486192 ((~>) a6989586621680486193 b6989586621680486192)) (arg6989586621680486826 :: b6989586621680486192) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486193) b6989586621680486192
type FoldlSym3 (arg6989586621680486825 :: (~>) b6989586621680486192 ((~>) a6989586621680486193 b6989586621680486192)) (arg6989586621680486826 :: b6989586621680486192) (arg6989586621680486827 :: t6989586621680486184 a6989586621680486193) = Foldl arg6989586621680486825 arg6989586621680486826 arg6989586621680486827
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data ShowsPrecSym0 :: forall a6989586621680291461. (~>) Nat ((~>) a6989586621680291461 ((~>) Symbol Symbol))
data ShowsPrecSym1 (arg6989586621680293411 :: Nat) :: forall a6989586621680291461. (~>) a6989586621680291461 ((~>) Symbol Symbol)
data ShowsPrecSym2 (arg6989586621680293411 :: Nat) (arg6989586621680293412 :: a6989586621680291461) :: (~>) Symbol Symbol
type ShowsPrecSym3 (arg6989586621680293411 :: Nat) (arg6989586621680293412 :: a6989586621680291461) (arg6989586621680293413 :: Symbol) = ShowsPrec arg6989586621680293411 arg6989586621680293412 arg6989586621680293413
data ShowStringSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowStringSym1 (a6989586621680293330 :: Symbol) :: (~>) Symbol Symbol
type ShowStringSym2 (a6989586621680293330 :: Symbol) (a6989586621680293331 :: Symbol) = ShowString a6989586621680293330 a6989586621680293331
data ShowParenSym0 :: (~>) Bool ((~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol))
data ShowParenSym1 (a6989586621680293351 :: Bool) :: (~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol)
data ShowParenSym2 (a6989586621680293351 :: Bool) (a6989586621680293352 :: (~>) Symbol Symbol) :: (~>) Symbol Symbol
data ShowSpaceSym0 :: (~>) Symbol Symbol
type ShowSpaceSym1 (a6989586621680293317 :: Symbol) = ShowSpace a6989586621680293317
data ShowCharSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowCharSym1 (a6989586621680293345 :: Symbol) :: (~>) Symbol Symbol
type ShowCharSym2 (a6989586621680293345 :: Symbol) (a6989586621680293346 :: Symbol) = ShowChar a6989586621680293345 a6989586621680293346
data ShowCommaSpaceSym0 :: (~>) Symbol Symbol
type ShowCommaSpaceSym1 (a6989586621680293338 :: Symbol) = ShowCommaSpace a6989586621680293338
data FmapSym0 :: forall a6989586621679563423 b6989586621679563424 f6989586621679563422. (~>) ((~>) a6989586621679563423 b6989586621679563424) ((~>) (f6989586621679563422 a6989586621679563423) (f6989586621679563422 b6989586621679563424))
data FmapSym1 (arg6989586621679563816 :: (~>) a6989586621679563423 b6989586621679563424) :: forall f6989586621679563422. (~>) (f6989586621679563422 a6989586621679563423) (f6989586621679563422 b6989586621679563424)
type FmapSym2 (arg6989586621679563816 :: (~>) a6989586621679563423 b6989586621679563424) (arg6989586621679563817 :: f6989586621679563422 a6989586621679563423) = Fmap arg6989586621679563816 arg6989586621679563817
data (<$@#@$) :: forall a6989586621679563425 b6989586621679563426 f6989586621679563422. (~>) a6989586621679563425 ((~>) (f6989586621679563422 b6989586621679563426) (f6989586621679563422 a6989586621679563425))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679563820 :: a6989586621679563425) :: forall b6989586621679563426 f6989586621679563422. (~>) (f6989586621679563422 b6989586621679563426) (f6989586621679563422 a6989586621679563425)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679563820 :: a6989586621679563425) (arg6989586621679563821 :: f6989586621679563422 b6989586621679563426) = (<$) arg6989586621679563820 arg6989586621679563821
data FoldMapSym0 :: forall a6989586621680486187 m6989586621680486186 t6989586621680486184. (~>) ((~>) a6989586621680486187 m6989586621680486186) ((~>) (t6989586621680486184 a6989586621680486187) m6989586621680486186)
data FoldMapSym1 (arg6989586621680486809 :: (~>) a6989586621680486187 m6989586621680486186) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486187) m6989586621680486186
type FoldMapSym2 (arg6989586621680486809 :: (~>) a6989586621680486187 m6989586621680486186) (arg6989586621680486810 :: t6989586621680486184 a6989586621680486187) = FoldMap arg6989586621680486809 arg6989586621680486810
type MemptySym0 = Mempty
data MappendSym0 :: forall a6989586621680361494. (~>) a6989586621680361494 ((~>) a6989586621680361494 a6989586621680361494)
data MappendSym1 (arg6989586621680361879 :: a6989586621680361494) :: (~>) a6989586621680361494 a6989586621680361494
type MappendSym2 (arg6989586621680361879 :: a6989586621680361494) (arg6989586621680361880 :: a6989586621680361494) = Mappend arg6989586621680361879 arg6989586621680361880
data FoldrSym0 :: forall a6989586621680486188 b6989586621680486189 t6989586621680486184. (~>) ((~>) a6989586621680486188 ((~>) b6989586621680486189 b6989586621680486189)) ((~>) b6989586621680486189 ((~>) (t6989586621680486184 a6989586621680486188) b6989586621680486189))
data FoldrSym1 (arg6989586621680486813 :: (~>) a6989586621680486188 ((~>) b6989586621680486189 b6989586621680486189)) :: forall t6989586621680486184. (~>) b6989586621680486189 ((~>) (t6989586621680486184 a6989586621680486188) b6989586621680486189)
data FoldrSym2 (arg6989586621680486813 :: (~>) a6989586621680486188 ((~>) b6989586621680486189 b6989586621680486189)) (arg6989586621680486814 :: b6989586621680486189) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486188) b6989586621680486189
type FoldrSym3 (arg6989586621680486813 :: (~>) a6989586621680486188 ((~>) b6989586621680486189 b6989586621680486189)) (arg6989586621680486814 :: b6989586621680486189) (arg6989586621680486815 :: t6989586621680486184 a6989586621680486188) = Foldr arg6989586621680486813 arg6989586621680486814 arg6989586621680486815
data TraverseSym0 :: forall a6989586621680790270 b6989586621680790271 f6989586621680790269 t6989586621680790268. (~>) ((~>) a6989586621680790270 (f6989586621680790269 b6989586621680790271)) ((~>) (t6989586621680790268 a6989586621680790270) (f6989586621680790269 (t6989586621680790268 b6989586621680790271)))
data TraverseSym1 (arg6989586621680790280 :: (~>) a6989586621680790270 (f6989586621680790269 b6989586621680790271)) :: forall t6989586621680790268. (~>) (t6989586621680790268 a6989586621680790270) (f6989586621680790269 (t6989586621680790268 b6989586621680790271))
type TraverseSym2 (arg6989586621680790280 :: (~>) a6989586621680790270 (f6989586621680790269 b6989586621680790271)) (arg6989586621680790281 :: t6989586621680790268 a6989586621680790270) = Traverse arg6989586621680790280 arg6989586621680790281
data PureSym0 :: forall a6989586621679563428 f6989586621679563427. (~>) a6989586621679563428 (f6989586621679563427 a6989586621679563428)
type PureSym1 (arg6989586621679563840 :: a6989586621679563428) = Pure arg6989586621679563840
data (<*>@#@$) :: forall a6989586621679563429 b6989586621679563430 f6989586621679563427. (~>) (f6989586621679563427 ((~>) a6989586621679563429 b6989586621679563430)) ((~>) (f6989586621679563427 a6989586621679563429) (f6989586621679563427 b6989586621679563430))
infixl 4 <*>@#@$
data (<*>@#@$$) (arg6989586621679563842 :: f6989586621679563427 ((~>) a6989586621679563429 b6989586621679563430)) :: (~>) (f6989586621679563427 a6989586621679563429) (f6989586621679563427 b6989586621679563430)
infixl 4 <*>@#@$$
type (<*>@#@$$$) (arg6989586621679563842 :: f6989586621679563427 ((~>) a6989586621679563429 b6989586621679563430)) (arg6989586621679563843 :: f6989586621679563427 a6989586621679563429) = (<*>) arg6989586621679563842 arg6989586621679563843
data LiftA2Sym0 :: forall a6989586621679563431 b6989586621679563432 c6989586621679563433 f6989586621679563427. (~>) ((~>) a6989586621679563431 ((~>) b6989586621679563432 c6989586621679563433)) ((~>) (f6989586621679563427 a6989586621679563431) ((~>) (f6989586621679563427 b6989586621679563432) (f6989586621679563427 c6989586621679563433)))
data LiftA2Sym1 (arg6989586621679563846 :: (~>) a6989586621679563431 ((~>) b6989586621679563432 c6989586621679563433)) :: forall f6989586621679563427. (~>) (f6989586621679563427 a6989586621679563431) ((~>) (f6989586621679563427 b6989586621679563432) (f6989586621679563427 c6989586621679563433))
data LiftA2Sym2 (arg6989586621679563846 :: (~>) a6989586621679563431 ((~>) b6989586621679563432 c6989586621679563433)) (arg6989586621679563847 :: f6989586621679563427 a6989586621679563431) :: (~>) (f6989586621679563427 b6989586621679563432) (f6989586621679563427 c6989586621679563433)
type LiftA2Sym3 (arg6989586621679563846 :: (~>) a6989586621679563431 ((~>) b6989586621679563432 c6989586621679563433)) (arg6989586621679563847 :: f6989586621679563427 a6989586621679563431) (arg6989586621679563848 :: f6989586621679563427 b6989586621679563432) = LiftA2 arg6989586621679563846 arg6989586621679563847 arg6989586621679563848
data (.@#@$) :: forall a6989586621679538763 b6989586621679538761 c6989586621679538762. (~>) ((~>) b6989586621679538761 c6989586621679538762) ((~>) ((~>) a6989586621679538763 b6989586621679538761) ((~>) a6989586621679538763 c6989586621679538762))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679538927 :: (~>) b6989586621679538761 c6989586621679538762) :: forall a6989586621679538763. (~>) ((~>) a6989586621679538763 b6989586621679538761) ((~>) a6989586621679538763 c6989586621679538762)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679538927 :: (~>) b6989586621679538761 c6989586621679538762) (a6989586621679538928 :: (~>) a6989586621679538763 b6989586621679538761) :: (~>) a6989586621679538763 c6989586621679538762
infixr 9 .@#@$$$
type (.@#@$$$$) (a6989586621679538927 :: (~>) b6989586621679538761 c6989586621679538762) (a6989586621679538928 :: (~>) a6989586621679538763 b6989586621679538761) (a6989586621679538929 :: a6989586621679538763) = (:.) a6989586621679538927 a6989586621679538928 a6989586621679538929
data (:@#@$) :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 ((~>) [a3530822107858468865] [(a3530822107858468865 :: Type)])
infixr 5 :@#@$
data (:@#@$$) (t6989586621679312441 :: (a3530822107858468865 :: Type)) :: (~>) [a3530822107858468865] [(a3530822107858468865 :: Type)]
infixr 5 :@#@$$
type (:@#@$$$) (t6989586621679312441 :: a3530822107858468865) (t6989586621679312442 :: [a3530822107858468865]) =  '(:) t6989586621679312441 t6989586621679312442

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


-- | Defines a drop-in replacement for <a>TypeError</a> (from
--   <a>GHC.TypeLits</a>) that can be used at the value level as well.
--   Since this is a drop-in replacement, it is not recommended to import
--   all of <a>GHC.TypeLits</a> and <a>Data.Singletons.TypeError</a> at the
--   same time, as many of the definitons in the latter deliberately clash
--   with the former.
module Data.Singletons.TypeError

-- | A drop-in replacement for <a>TypeError</a>. This also exists at the
--   value-level as <a>typeError</a>.
type family TypeError (a :: PErrorMessage) :: b

-- | The singleton for <a>typeError</a>.
--   
--   Note that this is not quite as expressive as <a>TypeError</a>, as it
--   is unable to handle <a>ShowType</a> constructors at all.
sTypeError :: HasCallStack => Sing err -> Sing (TypeError err)

-- | The value-level counterpart to <a>TypeError</a>.
--   
--   Note that this is not quite as expressive as <a>TypeError</a>, as it
--   is unable to print the contents of <a>ShowType</a> constructors (it
--   will simply print <tt>"&lt;type&gt;"</tt> in their place).
typeError :: HasCallStack => ErrorMessage -> a

-- | A description of a custom type error.
--   
--   This is a variation on <a>ErrorMessage</a> that is parameterized over
--   what text type is used in the <a>Text</a> constructor. Instantiating
--   it with <a>Text</a> gives you <a>ErrorMessage</a>, and instantiating
--   it with <a>Symbol</a> gives you <a>PErrorMessage</a>.
data ErrorMessage' s

-- | Show the text as is.
Text :: s -> ErrorMessage' s

-- | Pretty print the type. <tt>ShowType :: k -&gt; ErrorMessage</tt>
ShowType :: t -> ErrorMessage' s

-- | Put two pieces of error message next to each other.
(:<>:) :: ErrorMessage' s -> ErrorMessage' s -> ErrorMessage' s

-- | Stack two pieces of error message on top of each other.
(:$$:) :: ErrorMessage' s -> ErrorMessage' s -> ErrorMessage' s
infixl 6 :<>:
infixl 5 :$$:

-- | A value-level <a>ErrorMessage'</a> which uses <a>Text</a> as its text
--   type.
type ErrorMessage = ErrorMessage' Text

-- | A type-level <a>ErrorMessage'</a> which uses <a>Symbol</a> as its text
--   kind.
type PErrorMessage = ErrorMessage' Symbol

-- | The singleton kind-indexed data family.
data family Sing :: k -> Type
infixl 6 :%<>:
infixl 5 :%$$:
type SErrorMessage = (Sing :: PErrorMessage -> Type)

-- | Convert a <a>PErrorMessage</a> to a <a>ErrorMessage</a> from
--   <a>GHC.TypeLits</a>.
type family ConvertPErrorMessage (a :: PErrorMessage) :: ErrorMessage

-- | Convert an <a>ErrorMessage</a> into a human-readable <a>String</a>.
showErrorMessage :: ErrorMessage -> String
data TextSym0 :: forall (s6989586621681311941 :: Type). (~>) s6989586621681311941 (ErrorMessage' (s6989586621681311941 :: Type))
type TextSym1 (t6989586621681312727 :: s6989586621681311941) =  'Text t6989586621681312727
data ShowTypeSym0 :: forall (s6989586621681311941 :: Type) t6989586621681311942. (~>) t6989586621681311942 (ErrorMessage' (s6989586621681311941 :: Type))
type ShowTypeSym1 (t6989586621681312729 :: t6989586621681311942) =  'ShowType t6989586621681312729
data (:<>:@#@$) :: forall (s6989586621681311941 :: Type). (~>) (ErrorMessage' s6989586621681311941) ((~>) (ErrorMessage' s6989586621681311941) (ErrorMessage' (s6989586621681311941 :: Type)))
infixl 6 :<>:@#@$
data (:<>:@#@$$) (t6989586621681312731 :: ErrorMessage' (s6989586621681311941 :: Type)) :: (~>) (ErrorMessage' s6989586621681311941) (ErrorMessage' (s6989586621681311941 :: Type))
infixl 6 :<>:@#@$$
type (:<>:@#@$$$) (t6989586621681312731 :: ErrorMessage' s6989586621681311941) (t6989586621681312732 :: ErrorMessage' s6989586621681311941) =  '(:<>:) t6989586621681312731 t6989586621681312732
data (:$$:@#@$) :: forall (s6989586621681311941 :: Type). (~>) (ErrorMessage' s6989586621681311941) ((~>) (ErrorMessage' s6989586621681311941) (ErrorMessage' (s6989586621681311941 :: Type)))
infixl 5 :$$:@#@$
data (:$$:@#@$$) (t6989586621681312735 :: ErrorMessage' (s6989586621681311941 :: Type)) :: (~>) (ErrorMessage' s6989586621681311941) (ErrorMessage' (s6989586621681311941 :: Type))
infixl 5 :$$:@#@$$
type (:$$:@#@$$$) (t6989586621681312735 :: ErrorMessage' s6989586621681311941) (t6989586621681312736 :: ErrorMessage' s6989586621681311941) =  '(:$$:) t6989586621681312735 t6989586621681312736
data TypeErrorSym0 :: forall b6989586621681311931. (~>) PErrorMessage b6989586621681311931
type TypeErrorSym1 (a6989586621681311932 :: PErrorMessage) = TypeError a6989586621681311932
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeError.TypeErrorSym0
instance Data.Singletons.Internal.SingI Data.Singletons.TypeError.TypeErrorSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeError.:$$:@#@$)
instance Data.Singletons.Internal.SingI (Data.Singletons.TypeError.:$$:@#@$)
instance forall s6989586621681311941 (t6989586621681312735 :: Data.Singletons.TypeError.ErrorMessage' s6989586621681311941). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.TypeError.:$$:@#@$$) t6989586621681312735)
instance Data.Singletons.Internal.SingI x => Data.Singletons.Internal.SingI ((Data.Singletons.TypeError.:$$:@#@$$) x)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeError.:<>:@#@$)
instance Data.Singletons.Internal.SingI (Data.Singletons.TypeError.:<>:@#@$)
instance forall s6989586621681311941 (t6989586621681312731 :: Data.Singletons.TypeError.ErrorMessage' s6989586621681311941). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.TypeError.:<>:@#@$$) t6989586621681312731)
instance Data.Singletons.Internal.SingI x => Data.Singletons.Internal.SingI ((Data.Singletons.TypeError.:<>:@#@$$) x)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeError.ShowTypeSym0
instance Data.Singletons.Internal.SingI Data.Singletons.TypeError.ShowTypeSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeError.TextSym0
instance Data.Singletons.Internal.SingI Data.Singletons.TypeError.TextSym0
instance Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon1 'Data.Singletons.TypeError.Text)
instance Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon1 'Data.Singletons.TypeError.ShowType)
instance Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon2 ('Data.Singletons.TypeError.:<>:))
instance Data.Singletons.Internal.SingI x => Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon1 (('Data.Singletons.TypeError.:<>:) x))
instance Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon2 ('Data.Singletons.TypeError.:$$:))
instance Data.Singletons.Internal.SingI x => Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon1 (('Data.Singletons.TypeError.:$$:) x))
instance Data.Singletons.Internal.SingKind Data.Singletons.TypeError.PErrorMessage
instance Data.Singletons.Internal.SingI t => Data.Singletons.Internal.SingI ('Data.Singletons.TypeError.Text t)
instance forall t (ty :: t). Data.Singletons.Internal.SingI ty => Data.Singletons.Internal.SingI ('Data.Singletons.TypeError.ShowType ty)
instance (Data.Singletons.Internal.SingI e1, Data.Singletons.Internal.SingI e2) => Data.Singletons.Internal.SingI (e1 'Data.Singletons.TypeError.:<>: e2)
instance (Data.Singletons.Internal.SingI e1, Data.Singletons.Internal.SingI e2) => Data.Singletons.Internal.SingI (e1 'Data.Singletons.TypeError.:$$: e2)


-- | 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.
data family Sing :: k -> Type
infixr 5 `SCons`
type SBool = (Sing :: Bool -> Type)
type SList = (Sing :: [a_11] -> Type)
type SMaybe = (Sing :: Maybe a_11 -> Type)
type SEither = (Sing :: Either a_akJH b_akJI -> 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>
type family If (cond :: Bool) (tru :: k) (fls :: k) :: k

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

-- | Type-level "not". An injective type family since <tt>4.10.0.0</tt>.
type family Not (a :: Bool) = (res :: Bool) | res -> a

-- | Negation of a singleton
sNot :: Sing a -> Sing (Not a)

-- | Type-level "and"
type family (&&) (a :: Bool) (b :: Bool) :: Bool
infixr 3 &&

-- | Type-level "or"
type family (||) (a :: Bool) (b :: Bool) :: Bool
infixr 2 ||

-- | Conjunction of singletons
(%&&) :: Sing a -> Sing b -> Sing (a && b)
infixr 3 %&&

-- | Disjunction of singletons
(%||) :: Sing a -> Sing b -> Sing (a || b)
infixr 2 %||
type family Otherwise :: Bool
sOtherwise :: Sing (OtherwiseSym0 :: Bool)

-- | The promotion of <a>error</a>. This version is more poly-kinded for
--   easier use.
type family Error (str :: k0) :: k

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

-- | The promotion of <a>errorWithoutStackTrace</a>. This version is more
--   poly-kinded for easier use.
type family ErrorWithoutStackTrace (str :: k0) :: k

-- | The singleton for <a>errorWithoutStackTrace</a>.
sErrorWithoutStackTrace :: Sing (str :: Symbol) -> a

-- | The promotion of <a>undefined</a>.
type family Undefined :: k

-- | The singleton for <a>undefined</a>.
sUndefined :: HasCallStack => a
class PEq a_a1Ctu => POrd (a_a1Ctu :: Type) where {
    type family Compare (arg_a1Cv0 :: a_a1Ctu) (arg_a1Cv1 :: a_a1Ctu) :: Ordering;
    type family (<) (arg_a1Cv4 :: a_a1Ctu) (arg_a1Cv5 :: a_a1Ctu) :: Bool;
    type family (<=) (arg_a1Cv8 :: a_a1Ctu) (arg_a1Cv9 :: a_a1Ctu) :: Bool;
    type family (>) (arg_a1Cvc :: a_a1Ctu) (arg_a1Cvd :: a_a1Ctu) :: Bool;
    type family (>=) (arg_a1Cvg :: a_a1Ctu) (arg_a1Cvh :: a_a1Ctu) :: Bool;
    type family Max (arg_a1Cvk :: a_a1Ctu) (arg_a1Cvl :: a_a1Ctu) :: a_a1Ctu;
    type family Min (arg_a1Cvo :: a_a1Ctu) (arg_a1Cvp :: a_a1Ctu) :: a_a1Ctu;
    type Compare a_a1CvK a_a1CvL = Apply (Apply Compare_6989586621679396162Sym0 a_a1CvK) a_a1CvL;
    type (<) a_a1Cw2 a_a1Cw3 = Apply (Apply TFHelper_6989586621679396180Sym0 a_a1Cw2) a_a1Cw3;
    type (<=) a_a1Cwk a_a1Cwl = Apply (Apply TFHelper_6989586621679396198Sym0 a_a1Cwk) a_a1Cwl;
    type (>) a_a1CwC a_a1CwD = Apply (Apply TFHelper_6989586621679396216Sym0 a_a1CwC) a_a1CwD;
    type (>=) a_a1CwU a_a1CwV = Apply (Apply TFHelper_6989586621679396234Sym0 a_a1CwU) a_a1CwV;
    type Max a_a1Cxc a_a1Cxd = Apply (Apply Max_6989586621679396252Sym0 a_a1Cxc) a_a1Cxd;
    type Min a_a1Cxu a_a1Cxv = Apply (Apply Min_6989586621679396270Sym0 a_a1Cxu) a_a1Cxv;
}
infix 4 >=
infix 4 >
infix 4 <
infix 4 <=
class SEq a_a1Ctu => SOrd a_a1Ctu
sCompare :: forall (t_a1CxJ :: a_a1Ctu) (t_a1CxK :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1CxJ -> Sing t_a1CxK -> Sing (Apply (Apply CompareSym0 t_a1CxJ) t_a1CxK :: Ordering)
(%<) :: forall (t_a1CxN :: a_a1Ctu) (t_a1CxO :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1CxN -> Sing t_a1CxO -> Sing (Apply (Apply (<@#@$) t_a1CxN) t_a1CxO :: Bool)
(%<=) :: forall (t_a1CxR :: a_a1Ctu) (t_a1CxS :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1CxR -> Sing t_a1CxS -> Sing (Apply (Apply (<=@#@$) t_a1CxR) t_a1CxS :: Bool)
(%>) :: forall (t_a1CxV :: a_a1Ctu) (t_a1CxW :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1CxV -> Sing t_a1CxW -> Sing (Apply (Apply (>@#@$) t_a1CxV) t_a1CxW :: Bool)
(%>=) :: forall (t_a1CxZ :: a_a1Ctu) (t_a1Cy0 :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1CxZ -> Sing t_a1Cy0 -> Sing (Apply (Apply (>=@#@$) t_a1CxZ) t_a1Cy0 :: Bool)
sMax :: forall (t_a1Cy3 :: a_a1Ctu) (t_a1Cy4 :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1Cy3 -> Sing t_a1Cy4 -> Sing (Apply (Apply MaxSym0 t_a1Cy3) t_a1Cy4 :: a_a1Ctu)
sMin :: forall (t_a1Cy7 :: a_a1Ctu) (t_a1Cy8 :: a_a1Ctu). SOrd a_a1Ctu => Sing t_a1Cy7 -> Sing t_a1Cy8 -> Sing (Apply (Apply MinSym0 t_a1Cy7) t_a1Cy8 :: a_a1Ctu)
sCompare :: forall (t_a1CxJ :: a_a1Ctu) (t_a1CxK :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply CompareSym0 t_a1CxJ) t_a1CxK :: Ordering) ~ Apply (Apply Compare_6989586621679396162Sym0 t_a1CxJ) t_a1CxK) => Sing t_a1CxJ -> Sing t_a1CxK -> Sing (Apply (Apply CompareSym0 t_a1CxJ) t_a1CxK :: Ordering)
(%<) :: forall (t_a1CxN :: a_a1Ctu) (t_a1CxO :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply (<@#@$) t_a1CxN) t_a1CxO :: Bool) ~ Apply (Apply TFHelper_6989586621679396180Sym0 t_a1CxN) t_a1CxO) => Sing t_a1CxN -> Sing t_a1CxO -> Sing (Apply (Apply (<@#@$) t_a1CxN) t_a1CxO :: Bool)
(%<=) :: forall (t_a1CxR :: a_a1Ctu) (t_a1CxS :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply (<=@#@$) t_a1CxR) t_a1CxS :: Bool) ~ Apply (Apply TFHelper_6989586621679396198Sym0 t_a1CxR) t_a1CxS) => Sing t_a1CxR -> Sing t_a1CxS -> Sing (Apply (Apply (<=@#@$) t_a1CxR) t_a1CxS :: Bool)
(%>) :: forall (t_a1CxV :: a_a1Ctu) (t_a1CxW :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply (>@#@$) t_a1CxV) t_a1CxW :: Bool) ~ Apply (Apply TFHelper_6989586621679396216Sym0 t_a1CxV) t_a1CxW) => Sing t_a1CxV -> Sing t_a1CxW -> Sing (Apply (Apply (>@#@$) t_a1CxV) t_a1CxW :: Bool)
(%>=) :: forall (t_a1CxZ :: a_a1Ctu) (t_a1Cy0 :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply (>=@#@$) t_a1CxZ) t_a1Cy0 :: Bool) ~ Apply (Apply TFHelper_6989586621679396234Sym0 t_a1CxZ) t_a1Cy0) => Sing t_a1CxZ -> Sing t_a1Cy0 -> Sing (Apply (Apply (>=@#@$) t_a1CxZ) t_a1Cy0 :: Bool)
sMax :: forall (t_a1Cy3 :: a_a1Ctu) (t_a1Cy4 :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply MaxSym0 t_a1Cy3) t_a1Cy4 :: a_a1Ctu) ~ Apply (Apply Max_6989586621679396252Sym0 t_a1Cy3) t_a1Cy4) => Sing t_a1Cy3 -> Sing t_a1Cy4 -> Sing (Apply (Apply MaxSym0 t_a1Cy3) t_a1Cy4 :: a_a1Ctu)
sMin :: forall (t_a1Cy7 :: a_a1Ctu) (t_a1Cy8 :: a_a1Ctu). (SOrd a_a1Ctu, (Apply (Apply MinSym0 t_a1Cy7) t_a1Cy8 :: a_a1Ctu) ~ Apply (Apply Min_6989586621679396270Sym0 t_a1Cy7) t_a1Cy8) => Sing t_a1Cy7 -> Sing t_a1Cy8 -> Sing (Apply (Apply MinSym0 t_a1Cy7) t_a1Cy8 :: a_a1Ctu)
infix 4 %<=
infix 4 %<
infix 4 %>
infix 4 %>=
class SBounded a_a38wk
sMinBound :: SBounded a_a38wk => Sing (MinBoundSym0 :: a_a38wk)
sMaxBound :: SBounded a_a38wk => Sing (MaxBoundSym0 :: a_a38wk)
class PBounded (a_a38wk :: Type) where {
    type family MinBound :: a_a38wk;
    type family MaxBound :: a_a38wk;
}
type MaxBoundSym0 = MaxBound
type MinBoundSym0 = MinBound
class SEnum a_a39Ce
sToEnum :: forall (t_a39JQ :: Nat). SEnum a_a39Ce => Sing t_a39JQ -> Sing (Apply ToEnumSym0 t_a39JQ :: a_a39Ce)
sFromEnum :: forall (t_a39JS :: a_a39Ce). SEnum a_a39Ce => Sing t_a39JS -> Sing (Apply FromEnumSym0 t_a39JS :: Nat)
sEnumFromTo :: forall (t_a39JU :: a_a39Ce) (t_a39JV :: a_a39Ce). SEnum a_a39Ce => Sing t_a39JU -> Sing t_a39JV -> Sing (Apply (Apply EnumFromToSym0 t_a39JU) t_a39JV :: [a_a39Ce])
sEnumFromThenTo :: forall (t_a39JY :: a_a39Ce) (t_a39JZ :: a_a39Ce) (t_a39K0 :: a_a39Ce). SEnum a_a39Ce => Sing t_a39JY -> Sing t_a39JZ -> Sing t_a39K0 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a39JY) t_a39JZ) t_a39K0 :: [a_a39Ce])
sEnumFromTo :: forall (t_a39JU :: a_a39Ce) (t_a39JV :: a_a39Ce). (SEnum a_a39Ce, (Apply (Apply EnumFromToSym0 t_a39JU) t_a39JV :: [a_a39Ce]) ~ Apply (Apply EnumFromTo_6989586621679762076Sym0 t_a39JU) t_a39JV) => Sing t_a39JU -> Sing t_a39JV -> Sing (Apply (Apply EnumFromToSym0 t_a39JU) t_a39JV :: [a_a39Ce])
sEnumFromThenTo :: forall (t_a39JY :: a_a39Ce) (t_a39JZ :: a_a39Ce) (t_a39K0 :: a_a39Ce). (SEnum a_a39Ce, (Apply (Apply (Apply EnumFromThenToSym0 t_a39JY) t_a39JZ) t_a39K0 :: [a_a39Ce]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679762092Sym0 t_a39JY) t_a39JZ) t_a39K0) => Sing t_a39JY -> Sing t_a39JZ -> Sing t_a39K0 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a39JY) t_a39JZ) t_a39K0 :: [a_a39Ce])
class PEnum (a_a39Ce :: Type) where {
    type family ToEnum (arg_a39GS :: Nat) :: a_a39Ce;
    type family FromEnum (arg_a39GU :: a_a39Ce) :: Nat;
    type family EnumFromTo (arg_a39GW :: a_a39Ce) (arg_a39GX :: a_a39Ce) :: [a_a39Ce];
    type family EnumFromThenTo (arg_a39H0 :: a_a39Ce) (arg_a39H1 :: a_a39Ce) (arg_a39H2 :: a_a39Ce) :: [a_a39Ce];
    type Succ a_a39Hh = Apply Succ_6989586621679762056Sym0 a_a39Hh;
    type Pred a_a39Hq = Apply Pred_6989586621679762065Sym0 a_a39Hq;
    type EnumFromTo a_a39HA a_a39HB = Apply (Apply EnumFromTo_6989586621679762076Sym0 a_a39HA) a_a39HB;
    type EnumFromThenTo a_a39HP a_a39HQ a_a39HR = Apply (Apply (Apply EnumFromThenTo_6989586621679762092Sym0 a_a39HP) a_a39HQ) a_a39HR;
}
data EnumFromThenToSym0 :: forall a6989586621679761742. (~>) a6989586621679761742 ((~>) a6989586621679761742 ((~>) a6989586621679761742 [a6989586621679761742]))
data EnumFromThenToSym1 (arg6989586621679762038 :: a6989586621679761742) :: (~>) a6989586621679761742 ((~>) a6989586621679761742 [a6989586621679761742])
data EnumFromThenToSym2 (arg6989586621679762038 :: a6989586621679761742) (arg6989586621679762039 :: a6989586621679761742) :: (~>) a6989586621679761742 [a6989586621679761742]
type EnumFromThenToSym3 (arg6989586621679762038 :: a6989586621679761742) (arg6989586621679762039 :: a6989586621679761742) (arg6989586621679762040 :: a6989586621679761742) = EnumFromThenTo arg6989586621679762038 arg6989586621679762039 arg6989586621679762040
data EnumFromToSym0 :: forall a6989586621679761742. (~>) a6989586621679761742 ((~>) a6989586621679761742 [a6989586621679761742])
data EnumFromToSym1 (arg6989586621679762034 :: a6989586621679761742) :: (~>) a6989586621679761742 [a6989586621679761742]
type EnumFromToSym2 (arg6989586621679762034 :: a6989586621679761742) (arg6989586621679762035 :: a6989586621679761742) = EnumFromTo arg6989586621679762034 arg6989586621679762035
data FromEnumSym0 :: forall a6989586621679761742. (~>) a6989586621679761742 Nat
type FromEnumSym1 (arg6989586621679762032 :: a6989586621679761742) = FromEnum arg6989586621679762032
data ToEnumSym0 :: forall a6989586621679761742. (~>) Nat a6989586621679761742
type ToEnumSym1 (arg6989586621679762030 :: Nat) = ToEnum arg6989586621679762030

-- | Exponentiation of type-level naturals.
type family (^) (a :: Nat) (b :: Nat) :: Nat
infixr 8 ^

-- | The singleton analogue of '(TN.^)' for <a>Nat</a>s.
(%^) :: Sing a -> Sing b -> Sing (a ^ b)
infixr 8 %^
class PShow (a_a5nq5 :: Type) where {
    type family ShowsPrec (arg_a5nVx :: Nat) (arg_a5nVy :: a_a5nq5) (arg_a5nVz :: Symbol) :: Symbol;
    type family Show_ (arg_a5nVD :: a_a5nq5) :: Symbol;
    type family ShowList (arg_a5nVF :: [a_a5nq5]) (arg_a5nVG :: Symbol) :: Symbol;
    type ShowsPrec a_a5nVR a_a5nVS a_a5nVT = Apply (Apply (Apply ShowsPrec_6989586621680293434Sym0 a_a5nVR) a_a5nVS) a_a5nVT;
    type Show_ a_a5nW2 = Apply Show__6989586621680293443Sym0 a_a5nW2;
    type ShowList a_a5nWc a_a5nWd = Apply (Apply ShowList_6989586621680293454Sym0 a_a5nWc) a_a5nWd;
}
class SShow a_a5nq5
sShowsPrec :: forall (t_a5nZG :: Nat) (t_a5nZH :: a_a5nq5) (t_a5nZI :: Symbol). SShow a_a5nq5 => Sing t_a5nZG -> Sing t_a5nZH -> Sing t_a5nZI -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5nZG) t_a5nZH) t_a5nZI :: Symbol)
sShow_ :: forall (t_a5nZM :: a_a5nq5). SShow a_a5nq5 => Sing t_a5nZM -> Sing (Apply Show_Sym0 t_a5nZM :: Symbol)
sShowList :: forall (t_a5nZO :: [a_a5nq5]) (t_a5nZP :: Symbol). SShow a_a5nq5 => Sing t_a5nZO -> Sing t_a5nZP -> Sing (Apply (Apply ShowListSym0 t_a5nZO) t_a5nZP :: Symbol)
sShowsPrec :: forall (t_a5nZG :: Nat) (t_a5nZH :: a_a5nq5) (t_a5nZI :: Symbol). (SShow a_a5nq5, (Apply (Apply (Apply ShowsPrecSym0 t_a5nZG) t_a5nZH) t_a5nZI :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621680293434Sym0 t_a5nZG) t_a5nZH) t_a5nZI) => Sing t_a5nZG -> Sing t_a5nZH -> Sing t_a5nZI -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5nZG) t_a5nZH) t_a5nZI :: Symbol)
sShow_ :: forall (t_a5nZM :: a_a5nq5). (SShow a_a5nq5, (Apply Show_Sym0 t_a5nZM :: Symbol) ~ Apply Show__6989586621680293443Sym0 t_a5nZM) => Sing t_a5nZM -> Sing (Apply Show_Sym0 t_a5nZM :: Symbol)
sShowList :: forall (t_a5nZO :: [a_a5nq5]) (t_a5nZP :: Symbol). (SShow a_a5nq5, (Apply (Apply ShowListSym0 t_a5nZO) t_a5nZP :: Symbol) ~ Apply (Apply ShowList_6989586621680293454Sym0 t_a5nZO) t_a5nZP) => Sing t_a5nZO -> Sing t_a5nZP -> Sing (Apply (Apply ShowListSym0 t_a5nZO) t_a5nZP :: Symbol)

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

-- | GHC currently has no notion of type-level <a>Char</a>s, so we fake
--   them with single-character <a>Symbol</a>s.
type SChar = Symbol
type family Shows (a_a5nVp :: a_a5npQ) (a_a5nVq :: Symbol) :: Symbol
sShows :: forall a_a5npQ (t_a5nZh :: a_a5npQ) (t_a5nZi :: Symbol). SShow a_a5npQ => Sing t_a5nZh -> Sing t_a5nZi -> Sing (Apply (Apply ShowsSym0 t_a5nZh) t_a5nZi :: Symbol)
type family ShowChar (a_a5nUt :: Symbol) (a_a5nUu :: Symbol) :: Symbol
sShowChar :: forall (t_a5nYX :: Symbol) (t_a5nYY :: Symbol). Sing t_a5nYX -> Sing t_a5nYY -> Sing (Apply (Apply ShowCharSym0 t_a5nYX) t_a5nYY :: Symbol)
type family ShowString (a_a5nUe :: Symbol) (a_a5nUf :: Symbol) :: Symbol
sShowString :: forall (t_a5nYR :: Symbol) (t_a5nYS :: Symbol). Sing t_a5nYR -> Sing t_a5nYS -> Sing (Apply (Apply ShowStringSym0 t_a5nYR) t_a5nYS :: Symbol)
type family ShowParen (a_a5nUz :: Bool) (a_a5nUA :: (~>) Symbol Symbol) (a_a5nUB :: Symbol) :: Symbol
sShowParen :: forall (t_a5nZ1 :: Bool) (t_a5nZ2 :: (~>) Symbol Symbol) (t_a5nZ3 :: Symbol). Sing t_a5nZ1 -> Sing t_a5nZ2 -> Sing t_a5nZ3 -> Sing (Apply (Apply (Apply ShowParenSym0 t_a5nZ1) t_a5nZ2) t_a5nZ3 :: Symbol)
class PSemigroup (a_a3sd1 :: Type) where {
    type family (<>) (arg_a3skQ :: a_a3sd1) (arg_a3skR :: a_a3sd1) :: a_a3sd1;
    type Sconcat a_a3slb = Apply Sconcat_6989586621679833722Sym0 a_a3slb;
}
infixr 6 <>
class SSemigroup a_a3sd1
(%<>) :: forall (t_a3soE :: a_a3sd1) (t_a3soF :: a_a3sd1). SSemigroup a_a3sd1 => Sing t_a3soE -> Sing t_a3soF -> Sing (Apply (Apply (<>@#@$) t_a3soE) t_a3soF :: a_a3sd1)
infixr 6 %<>
class PSemigroup a_a5FDE => PMonoid (a_a5FDE :: Type) where {
    type family Mempty :: a_a5FDE;
    type family Mappend (arg_a5FJR :: a_a5FDE) (arg_a5FJS :: a_a5FDE) :: a_a5FDE;
    type family Mconcat (arg_a5FJV :: [a_a5FDE]) :: a_a5FDE;
    type Mappend a_a5FK7 a_a5FK8 = Apply (Apply Mappend_6989586621680361897Sym0 a_a5FK7) a_a5FK8;
    type Mconcat a_a5FKi = Apply Mconcat_6989586621680361907Sym0 a_a5FKi;
}
class SSemigroup a_a5FDE => SMonoid a_a5FDE
sMempty :: SMonoid a_a5FDE => Sing (MemptySym0 :: a_a5FDE)
sMappend :: forall (t_a5FLc :: a_a5FDE) (t_a5FLd :: a_a5FDE). SMonoid a_a5FDE => Sing t_a5FLc -> Sing t_a5FLd -> Sing (Apply (Apply MappendSym0 t_a5FLc) t_a5FLd :: a_a5FDE)
sMconcat :: forall (t_a5FLg :: [a_a5FDE]). SMonoid a_a5FDE => Sing t_a5FLg -> Sing (Apply MconcatSym0 t_a5FLg :: a_a5FDE)
sMappend :: forall (t_a5FLc :: a_a5FDE) (t_a5FLd :: a_a5FDE). (SMonoid a_a5FDE, (Apply (Apply MappendSym0 t_a5FLc) t_a5FLd :: a_a5FDE) ~ Apply (Apply Mappend_6989586621680361897Sym0 t_a5FLc) t_a5FLd) => Sing t_a5FLc -> Sing t_a5FLd -> Sing (Apply (Apply MappendSym0 t_a5FLc) t_a5FLd :: a_a5FDE)
sMconcat :: forall (t_a5FLg :: [a_a5FDE]). (SMonoid a_a5FDE, (Apply MconcatSym0 t_a5FLg :: a_a5FDE) ~ Apply Mconcat_6989586621680361907Sym0 t_a5FLg) => Sing t_a5FLg -> Sing (Apply MconcatSym0 t_a5FLg :: a_a5FDE)
class PFunctor (f_a2k1w :: Type -> Type) where {
    type family Fmap (arg_a2k7S :: (~>) a_a2k1x b_a2k1y) (arg_a2k7T :: f_a2k1w a_a2k1x) :: f_a2k1w b_a2k1y;
    type family (<$) (arg_a2k7W :: a_a2k1z) (arg_a2k7X :: f_a2k1w b_a2k1A) :: f_a2k1w a_a2k1z;
    type (<$) a_a2k8a a_a2k8b = Apply (Apply TFHelper_6989586621679563836Sym0 a_a2k8a) a_a2k8b;
}
infixl 4 <$
class SFunctor (f_a2k1w :: Type -> Type)
sFmap :: forall a_a2k1x b_a2k1y (t_a2kcj :: (~>) a_a2k1x b_a2k1y) (t_a2kck :: f_a2k1w a_a2k1x). SFunctor f_a2k1w => Sing t_a2kcj -> Sing t_a2kck -> Sing (Apply (Apply FmapSym0 t_a2kcj) t_a2kck :: f_a2k1w b_a2k1y)
(%<$) :: forall a_a2k1z b_a2k1A (t_a2kcn :: a_a2k1z) (t_a2kco :: f_a2k1w b_a2k1A). SFunctor f_a2k1w => Sing t_a2kcn -> Sing t_a2kco -> Sing (Apply (Apply (<$@#@$) t_a2kcn) t_a2kco :: f_a2k1w a_a2k1z)
(%<$) :: forall a_a2k1z b_a2k1A (t_a2kcn :: a_a2k1z) (t_a2kco :: f_a2k1w b_a2k1A). (SFunctor f_a2k1w, (Apply (Apply (<$@#@$) t_a2kcn) t_a2kco :: f_a2k1w a_a2k1z) ~ Apply (Apply TFHelper_6989586621679563836Sym0 t_a2kcn) t_a2kco) => Sing t_a2kcn -> Sing t_a2kco -> Sing (Apply (Apply (<$@#@$) t_a2kcn) t_a2kco :: f_a2k1w a_a2k1z)
infixl 4 %<$
type family (<$>) (a_a32Sk :: (~>) a_a32R2 b_a32R3) (a_a32Sl :: f_a32R1 a_a32R2) :: f_a32R1 b_a32R3
infixl 4 <$>
(%<$>) :: forall f_a32R1 a_a32R2 b_a32R3 (t_a32TV :: (~>) a_a32R2 b_a32R3) (t_a32TW :: f_a32R1 a_a32R2). SFunctor f_a32R1 => Sing t_a32TV -> Sing t_a32TW -> Sing (Apply (Apply (<$>@#@$) t_a32TV) t_a32TW :: f_a32R1 b_a32R3)
infixl 4 %<$>
class PFunctor f_a2k1B => PApplicative (f_a2k1B :: Type -> Type) where {
    type family Pure (arg_a2k8g :: a_a2k1C) :: f_a2k1B a_a2k1C;
    type family (<*>) (arg_a2k8i :: f_a2k1B ((~>) a_a2k1D b_a2k1E)) (arg_a2k8j :: f_a2k1B a_a2k1D) :: f_a2k1B b_a2k1E;
    type family (*>) (arg_a2k8s :: f_a2k1B a_a2k1I) (arg_a2k8t :: f_a2k1B b_a2k1J) :: f_a2k1B b_a2k1J;
    type family (<*) (arg_a2k8w :: f_a2k1B a_a2k1K) (arg_a2k8x :: f_a2k1B b_a2k1L) :: f_a2k1B a_a2k1K;
    type (<*>) a_a2k8K a_a2k8L = Apply (Apply TFHelper_6989586621679563872Sym0 a_a2k8K) a_a2k8L;
    type LiftA2 a_a2k91 a_a2k92 a_a2k93 = Apply (Apply (Apply LiftA2_6989586621679563890Sym0 a_a2k91) a_a2k92) a_a2k93;
    type (*>) a_a2k9f a_a2k9g = Apply (Apply TFHelper_6989586621679563903Sym0 a_a2k9f) a_a2k9g;
    type (<*) a_a2k9v a_a2k9w = Apply (Apply TFHelper_6989586621679563919Sym0 a_a2k9v) a_a2k9w;
}
infixl 4 <*>
infixl 4 *>
infixl 4 <*
class SFunctor f_a2k1B => SApplicative (f_a2k1B :: Type -> Type)
sPure :: forall a_a2k1C (t_a2kct :: a_a2k1C). SApplicative f_a2k1B => Sing t_a2kct -> Sing (Apply PureSym0 t_a2kct :: f_a2k1B a_a2k1C)
(%<*>) :: forall a_a2k1D b_a2k1E (t_a2kcv :: f_a2k1B ((~>) a_a2k1D b_a2k1E)) (t_a2kcw :: f_a2k1B a_a2k1D). SApplicative f_a2k1B => Sing t_a2kcv -> Sing t_a2kcw -> Sing (Apply (Apply (<*>@#@$) t_a2kcv) t_a2kcw :: f_a2k1B b_a2k1E)
(%*>) :: forall a_a2k1I b_a2k1J (t_a2kcF :: f_a2k1B a_a2k1I) (t_a2kcG :: f_a2k1B b_a2k1J). SApplicative f_a2k1B => Sing t_a2kcF -> Sing t_a2kcG -> Sing (Apply (Apply (*>@#@$) t_a2kcF) t_a2kcG :: f_a2k1B b_a2k1J)
(%<*) :: forall a_a2k1K b_a2k1L (t_a2kcJ :: f_a2k1B a_a2k1K) (t_a2kcK :: f_a2k1B b_a2k1L). SApplicative f_a2k1B => Sing t_a2kcJ -> Sing t_a2kcK -> Sing (Apply (Apply (<*@#@$) t_a2kcJ) t_a2kcK :: f_a2k1B a_a2k1K)
(%<*>) :: forall a_a2k1D b_a2k1E (t_a2kcv :: f_a2k1B ((~>) a_a2k1D b_a2k1E)) (t_a2kcw :: f_a2k1B a_a2k1D). (SApplicative f_a2k1B, (Apply (Apply (<*>@#@$) t_a2kcv) t_a2kcw :: f_a2k1B b_a2k1E) ~ Apply (Apply TFHelper_6989586621679563872Sym0 t_a2kcv) t_a2kcw) => Sing t_a2kcv -> Sing t_a2kcw -> Sing (Apply (Apply (<*>@#@$) t_a2kcv) t_a2kcw :: f_a2k1B b_a2k1E)
(%*>) :: forall a_a2k1I b_a2k1J (t_a2kcF :: f_a2k1B a_a2k1I) (t_a2kcG :: f_a2k1B b_a2k1J). (SApplicative f_a2k1B, (Apply (Apply (*>@#@$) t_a2kcF) t_a2kcG :: f_a2k1B b_a2k1J) ~ Apply (Apply TFHelper_6989586621679563903Sym0 t_a2kcF) t_a2kcG) => Sing t_a2kcF -> Sing t_a2kcG -> Sing (Apply (Apply (*>@#@$) t_a2kcF) t_a2kcG :: f_a2k1B b_a2k1J)
(%<*) :: forall a_a2k1K b_a2k1L (t_a2kcJ :: f_a2k1B a_a2k1K) (t_a2kcK :: f_a2k1B b_a2k1L). (SApplicative f_a2k1B, (Apply (Apply (<*@#@$) t_a2kcJ) t_a2kcK :: f_a2k1B a_a2k1K) ~ Apply (Apply TFHelper_6989586621679563919Sym0 t_a2kcJ) t_a2kcK) => Sing t_a2kcJ -> Sing t_a2kcK -> Sing (Apply (Apply (<*@#@$) t_a2kcJ) t_a2kcK :: f_a2k1B a_a2k1K)
infixl 4 %<*>
infixl 4 %*>
infixl 4 %<*
class PApplicative m_a2k1Z => PMonad (m_a2k1Z :: Type -> Type) where {
    type family (>>=) (arg_a2k9B :: m_a2k1Z a_a2k20) (arg_a2k9C :: (~>) a_a2k20 (m_a2k1Z b_a2k21)) :: m_a2k1Z b_a2k21;
    type family (>>) (arg_a2k9F :: m_a2k1Z a_a2k22) (arg_a2k9G :: m_a2k1Z b_a2k23) :: m_a2k1Z b_a2k23;
    type family Return (arg_a2k9J :: a_a2k24) :: m_a2k1Z a_a2k24;
    type family Fail (arg_a2k9L :: Symbol) :: m_a2k1Z a_a2k25;
    type (>>) a_a2ka3 a_a2ka4 = Apply (Apply TFHelper_6989586621679563953Sym0 a_a2ka3) a_a2ka4;
    type Return a_a2kae = Apply Return_6989586621679563963Sym0 a_a2kae;
    type Fail a_a2kal = Apply Fail_6989586621679563970Sym0 a_a2kal;
}
infixl 1 >>=
infixl 1 >>
class SApplicative m_a2k1Z => SMonad (m_a2k1Z :: Type -> Type)
(%>>=) :: forall a_a2k20 b_a2k21 (t_a2kcU :: m_a2k1Z a_a2k20) (t_a2kcV :: (~>) a_a2k20 (m_a2k1Z b_a2k21)). SMonad m_a2k1Z => Sing t_a2kcU -> Sing t_a2kcV -> Sing (Apply (Apply (>>=@#@$) t_a2kcU) t_a2kcV :: m_a2k1Z b_a2k21)
(%>>) :: forall a_a2k22 b_a2k23 (t_a2kcY :: m_a2k1Z a_a2k22) (t_a2kcZ :: m_a2k1Z b_a2k23). SMonad m_a2k1Z => Sing t_a2kcY -> Sing t_a2kcZ -> Sing (Apply (Apply (>>@#@$) t_a2kcY) t_a2kcZ :: m_a2k1Z b_a2k23)
sReturn :: forall a_a2k24 (t_a2kd2 :: a_a2k24). SMonad m_a2k1Z => Sing t_a2kd2 -> Sing (Apply ReturnSym0 t_a2kd2 :: m_a2k1Z a_a2k24)
sFail :: forall a_a2k25 (t_a2kd4 :: Symbol). SMonad m_a2k1Z => Sing t_a2kd4 -> Sing (Apply FailSym0 t_a2kd4 :: m_a2k1Z a_a2k25)
(%>>) :: forall a_a2k22 b_a2k23 (t_a2kcY :: m_a2k1Z a_a2k22) (t_a2kcZ :: m_a2k1Z b_a2k23). (SMonad m_a2k1Z, (Apply (Apply (>>@#@$) t_a2kcY) t_a2kcZ :: m_a2k1Z b_a2k23) ~ Apply (Apply TFHelper_6989586621679563953Sym0 t_a2kcY) t_a2kcZ) => Sing t_a2kcY -> Sing t_a2kcZ -> Sing (Apply (Apply (>>@#@$) t_a2kcY) t_a2kcZ :: m_a2k1Z b_a2k23)
sReturn :: forall a_a2k24 (t_a2kd2 :: a_a2k24). (SMonad m_a2k1Z, (Apply ReturnSym0 t_a2kd2 :: m_a2k1Z a_a2k24) ~ Apply Return_6989586621679563963Sym0 t_a2kd2) => Sing t_a2kd2 -> Sing (Apply ReturnSym0 t_a2kd2 :: m_a2k1Z a_a2k24)
sFail :: forall a_a2k25 (t_a2kd4 :: Symbol). (SMonad m_a2k1Z, (Apply FailSym0 t_a2kd4 :: m_a2k1Z a_a2k25) ~ Apply Fail_6989586621679563970Sym0 t_a2kd4) => Sing t_a2kd4 -> Sing (Apply FailSym0 t_a2kd4 :: m_a2k1Z a_a2k25)
infixl 1 %>>=
infixl 1 %>>
type family MapM_ (a_a6cdx :: (~>) a_a6c3T (m_a6c3S b_a6c3U)) (a_a6cdy :: t_a6c3R a_a6c3T) :: m_a6c3S ()
sMapM_ :: forall t_a6c3R m_a6c3S a_a6c3T b_a6c3U (t_a6czz :: (~>) a_a6c3T (m_a6c3S b_a6c3U)) (t_a6czA :: t_a6c3R a_a6c3T). (SFoldable t_a6c3R, SMonad m_a6c3S) => Sing t_a6czz -> Sing t_a6czA -> Sing (Apply (Apply MapM_Sym0 t_a6czz) t_a6czA :: m_a6c3S ())
type family Sequence_ (a_a6cdp :: t_a6c3H (m_a6c3I a_a6c3J)) :: m_a6c3I ()
sSequence_ :: forall t_a6c3H m_a6c3I a_a6c3J (t_a6czv :: t_a6c3H (m_a6c3I a_a6c3J)). (SFoldable t_a6c3H, SMonad m_a6c3I) => Sing t_a6czv -> Sing (Apply Sequence_Sym0 t_a6czv :: m_a6c3I ())
type family (=<<) (a_a2k77 :: (~>) a_a2k0K (m_a2k0J b_a2k0L)) (a_a2k78 :: m_a2k0J a_a2k0K) :: m_a2k0J b_a2k0L
infixr 1 =<<
(%=<<) :: forall m_a2k0J a_a2k0K b_a2k0L (t_a2kbD :: (~>) a_a2k0K (m_a2k0J b_a2k0L)) (t_a2kbE :: m_a2k0J a_a2k0K). SMonad m_a2k0J => Sing t_a2kbD -> Sing t_a2kbE -> Sing (Apply (Apply (=<<@#@$) t_a2kbD) t_a2kbE :: m_a2k0J b_a2k0L)
infixr 1 %=<<
class PFoldable (t_a6c4M :: Type -> Type) where {
    type family FoldMap (arg_a6ceR :: (~>) a_a6c4P m_a6c4O) (arg_a6ceS :: t_a6c4M a_a6c4P) :: m_a6c4O;
    type family Foldr (arg_a6ceV :: (~>) a_a6c4Q ((~>) b_a6c4R b_a6c4R)) (arg_a6ceW :: b_a6c4R) (arg_a6ceX :: t_a6c4M a_a6c4Q) :: b_a6c4R;
    type family Foldl (arg_a6cf7 :: (~>) b_a6c4U ((~>) a_a6c4V b_a6c4U)) (arg_a6cf8 :: b_a6c4U) (arg_a6cf9 :: t_a6c4M a_a6c4V) :: b_a6c4U;
    type family Foldr1 (arg_a6cfj :: (~>) a_a6c4Y ((~>) a_a6c4Y a_a6c4Y)) (arg_a6cfk :: t_a6c4M a_a6c4Y) :: a_a6c4Y;
    type family Foldl1 (arg_a6cfn :: (~>) a_a6c4Z ((~>) a_a6c4Z a_a6c4Z)) (arg_a6cfo :: t_a6c4M a_a6c4Z) :: a_a6c4Z;
    type family Elem (arg_a6cfx :: a_a6c53) (arg_a6cfy :: t_a6c4M a_a6c53) :: Bool;
    type family Maximum (arg_a6cfB :: t_a6c4M a_a6c54) :: a_a6c54;
    type family Minimum (arg_a6cfD :: t_a6c4M a_a6c55) :: a_a6c55;
    type family Sum (arg_a6cfF :: t_a6c4M a_a6c56) :: a_a6c56;
    type family Product (arg_a6cfH :: t_a6c4M a_a6c57) :: a_a6c57;
    type Fold a_a6cfO = Apply Fold_6989586621680486869Sym0 a_a6cfO;
    type FoldMap a_a6cg0 a_a6cg1 = Apply (Apply FoldMap_6989586621680486882Sym0 a_a6cg0) a_a6cg1;
    type Foldr a_a6cgn a_a6cgo a_a6cgp = Apply (Apply (Apply Foldr_6989586621680486906Sym0 a_a6cgn) a_a6cgo) a_a6cgp;
    type Foldr' a_a6cgR a_a6cgS a_a6cgT = Apply (Apply (Apply Foldr'_6989586621680486936Sym0 a_a6cgR) a_a6cgS) a_a6cgT;
    type Foldl a_a6chg a_a6chh a_a6chi = Apply (Apply (Apply Foldl_6989586621680486961Sym0 a_a6chg) a_a6chh) a_a6chi;
    type Foldl' a_a6chK a_a6chL a_a6chM = Apply (Apply (Apply Foldl'_6989586621680486991Sym0 a_a6chK) a_a6chL) a_a6chM;
    type Foldr1 a_a6cib a_a6cic = Apply (Apply Foldr1_6989586621680487017Sym0 a_a6cib) a_a6cic;
    type Foldl1 a_a6ciA a_a6ciB = Apply (Apply Foldl1_6989586621680487042Sym0 a_a6ciA) a_a6ciB;
    type ToList a_a6ciL = Apply ToList_6989586621680487052Sym0 a_a6ciL;
    type Null a_a6cj6 = Apply Null_6989586621680487073Sym0 a_a6cj6;
    type Length a_a6cjs = Apply Length_6989586621680487095Sym0 a_a6cjs;
    type Elem a_a6cjG a_a6cjH = Apply (Apply Elem_6989586621680487110Sym0 a_a6cjG) a_a6cjH;
    type Maximum a_a6cjV = Apply Maximum_6989586621680487124Sym0 a_a6cjV;
    type Minimum a_a6ck8 = Apply Minimum_6989586621680487137Sym0 a_a6ck8;
    type Sum a_a6ckl = Apply Sum_6989586621680487150Sym0 a_a6ckl;
    type Product a_a6cky = Apply Product_6989586621680487163Sym0 a_a6cky;
}
class SFoldable (t_a6c4M :: Type -> Type)
sFoldMap :: forall m_a6c4O a_a6c4P (t_a6cAI :: (~>) a_a6c4P m_a6c4O) (t_a6cAJ :: t_a6c4M a_a6c4P). (SFoldable t_a6c4M, SMonoid m_a6c4O) => Sing t_a6cAI -> Sing t_a6cAJ -> Sing (Apply (Apply FoldMapSym0 t_a6cAI) t_a6cAJ :: m_a6c4O)
sFoldr :: forall a_a6c4Q b_a6c4R (t_a6cAM :: (~>) a_a6c4Q ((~>) b_a6c4R b_a6c4R)) (t_a6cAN :: b_a6c4R) (t_a6cAO :: t_a6c4M a_a6c4Q). SFoldable t_a6c4M => Sing t_a6cAM -> Sing t_a6cAN -> Sing t_a6cAO -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cAM) t_a6cAN) t_a6cAO :: b_a6c4R)
sFoldl :: forall b_a6c4U a_a6c4V (t_a6cAY :: (~>) b_a6c4U ((~>) a_a6c4V b_a6c4U)) (t_a6cAZ :: b_a6c4U) (t_a6cB0 :: t_a6c4M a_a6c4V). SFoldable t_a6c4M => Sing t_a6cAY -> Sing t_a6cAZ -> Sing t_a6cB0 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cAY) t_a6cAZ) t_a6cB0 :: b_a6c4U)
sFoldr1 :: forall a_a6c4Y (t_a6cBa :: (~>) a_a6c4Y ((~>) a_a6c4Y a_a6c4Y)) (t_a6cBb :: t_a6c4M a_a6c4Y). SFoldable t_a6c4M => Sing t_a6cBa -> Sing t_a6cBb -> Sing (Apply (Apply Foldr1Sym0 t_a6cBa) t_a6cBb :: a_a6c4Y)
sFoldl1 :: forall a_a6c4Z (t_a6cBe :: (~>) a_a6c4Z ((~>) a_a6c4Z a_a6c4Z)) (t_a6cBf :: t_a6c4M a_a6c4Z). SFoldable t_a6c4M => Sing t_a6cBe -> Sing t_a6cBf -> Sing (Apply (Apply Foldl1Sym0 t_a6cBe) t_a6cBf :: a_a6c4Z)
sElem :: forall a_a6c53 (t_a6cBo :: a_a6c53) (t_a6cBp :: t_a6c4M a_a6c53). (SFoldable t_a6c4M, SEq a_a6c53) => Sing t_a6cBo -> Sing t_a6cBp -> Sing (Apply (Apply ElemSym0 t_a6cBo) t_a6cBp :: Bool)
sMaximum :: forall a_a6c54 (t_a6cBs :: t_a6c4M a_a6c54). (SFoldable t_a6c4M, SOrd a_a6c54) => Sing t_a6cBs -> Sing (Apply MaximumSym0 t_a6cBs :: a_a6c54)
sMinimum :: forall a_a6c55 (t_a6cBu :: t_a6c4M a_a6c55). (SFoldable t_a6c4M, SOrd a_a6c55) => Sing t_a6cBu -> Sing (Apply MinimumSym0 t_a6cBu :: a_a6c55)
sSum :: forall a_a6c56 (t_a6cBw :: t_a6c4M a_a6c56). (SFoldable t_a6c4M, SNum a_a6c56) => Sing t_a6cBw -> Sing (Apply SumSym0 t_a6cBw :: a_a6c56)
sProduct :: forall a_a6c57 (t_a6cBy :: t_a6c4M a_a6c57). (SFoldable t_a6c4M, SNum a_a6c57) => Sing t_a6cBy -> Sing (Apply ProductSym0 t_a6cBy :: a_a6c57)
sFoldMap :: forall m_a6c4O a_a6c4P (t_a6cAI :: (~>) a_a6c4P m_a6c4O) (t_a6cAJ :: t_a6c4M a_a6c4P). (SFoldable t_a6c4M, (Apply (Apply FoldMapSym0 t_a6cAI) t_a6cAJ :: m_a6c4O) ~ Apply (Apply FoldMap_6989586621680486882Sym0 t_a6cAI) t_a6cAJ, SMonoid m_a6c4O) => Sing t_a6cAI -> Sing t_a6cAJ -> Sing (Apply (Apply FoldMapSym0 t_a6cAI) t_a6cAJ :: m_a6c4O)
sFoldr :: forall a_a6c4Q b_a6c4R (t_a6cAM :: (~>) a_a6c4Q ((~>) b_a6c4R b_a6c4R)) (t_a6cAN :: b_a6c4R) (t_a6cAO :: t_a6c4M a_a6c4Q). (SFoldable t_a6c4M, (Apply (Apply (Apply FoldrSym0 t_a6cAM) t_a6cAN) t_a6cAO :: b_a6c4R) ~ Apply (Apply (Apply Foldr_6989586621680486906Sym0 t_a6cAM) t_a6cAN) t_a6cAO) => Sing t_a6cAM -> Sing t_a6cAN -> Sing t_a6cAO -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cAM) t_a6cAN) t_a6cAO :: b_a6c4R)
sFoldl :: forall b_a6c4U a_a6c4V (t_a6cAY :: (~>) b_a6c4U ((~>) a_a6c4V b_a6c4U)) (t_a6cAZ :: b_a6c4U) (t_a6cB0 :: t_a6c4M a_a6c4V). (SFoldable t_a6c4M, (Apply (Apply (Apply FoldlSym0 t_a6cAY) t_a6cAZ) t_a6cB0 :: b_a6c4U) ~ Apply (Apply (Apply Foldl_6989586621680486961Sym0 t_a6cAY) t_a6cAZ) t_a6cB0) => Sing t_a6cAY -> Sing t_a6cAZ -> Sing t_a6cB0 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cAY) t_a6cAZ) t_a6cB0 :: b_a6c4U)
sFoldr1 :: forall a_a6c4Y (t_a6cBa :: (~>) a_a6c4Y ((~>) a_a6c4Y a_a6c4Y)) (t_a6cBb :: t_a6c4M a_a6c4Y). (SFoldable t_a6c4M, (Apply (Apply Foldr1Sym0 t_a6cBa) t_a6cBb :: a_a6c4Y) ~ Apply (Apply Foldr1_6989586621680487017Sym0 t_a6cBa) t_a6cBb) => Sing t_a6cBa -> Sing t_a6cBb -> Sing (Apply (Apply Foldr1Sym0 t_a6cBa) t_a6cBb :: a_a6c4Y)
sFoldl1 :: forall a_a6c4Z (t_a6cBe :: (~>) a_a6c4Z ((~>) a_a6c4Z a_a6c4Z)) (t_a6cBf :: t_a6c4M a_a6c4Z). (SFoldable t_a6c4M, (Apply (Apply Foldl1Sym0 t_a6cBe) t_a6cBf :: a_a6c4Z) ~ Apply (Apply Foldl1_6989586621680487042Sym0 t_a6cBe) t_a6cBf) => Sing t_a6cBe -> Sing t_a6cBf -> Sing (Apply (Apply Foldl1Sym0 t_a6cBe) t_a6cBf :: a_a6c4Z)
sElem :: forall a_a6c53 (t_a6cBo :: a_a6c53) (t_a6cBp :: t_a6c4M a_a6c53). (SFoldable t_a6c4M, (Apply (Apply ElemSym0 t_a6cBo) t_a6cBp :: Bool) ~ Apply (Apply Elem_6989586621680487110Sym0 t_a6cBo) t_a6cBp, SEq a_a6c53) => Sing t_a6cBo -> Sing t_a6cBp -> Sing (Apply (Apply ElemSym0 t_a6cBo) t_a6cBp :: Bool)
sMaximum :: forall a_a6c54 (t_a6cBs :: t_a6c4M a_a6c54). (SFoldable t_a6c4M, (Apply MaximumSym0 t_a6cBs :: a_a6c54) ~ Apply Maximum_6989586621680487124Sym0 t_a6cBs, SOrd a_a6c54) => Sing t_a6cBs -> Sing (Apply MaximumSym0 t_a6cBs :: a_a6c54)
sMinimum :: forall a_a6c55 (t_a6cBu :: t_a6c4M a_a6c55). (SFoldable t_a6c4M, (Apply MinimumSym0 t_a6cBu :: a_a6c55) ~ Apply Minimum_6989586621680487137Sym0 t_a6cBu, SOrd a_a6c55) => Sing t_a6cBu -> Sing (Apply MinimumSym0 t_a6cBu :: a_a6c55)
sSum :: forall a_a6c56 (t_a6cBw :: t_a6c4M a_a6c56). (SFoldable t_a6c4M, (Apply SumSym0 t_a6cBw :: a_a6c56) ~ Apply Sum_6989586621680487150Sym0 t_a6cBw, SNum a_a6c56) => Sing t_a6cBw -> Sing (Apply SumSym0 t_a6cBw :: a_a6c56)
sProduct :: forall a_a6c57 (t_a6cBy :: t_a6c4M a_a6c57). (SFoldable t_a6c4M, (Apply ProductSym0 t_a6cBy :: a_a6c57) ~ Apply Product_6989586621680487163Sym0 t_a6cBy, SNum a_a6c57) => Sing t_a6cBy -> Sing (Apply ProductSym0 t_a6cBy :: a_a6c57)
class (PFunctor t_a7tbm, PFoldable t_a7tbm) => PTraversable (t_a7tbm :: Type -> Type) where {
    type family Traverse (arg_a7tby :: (~>) a_a7tbo (f_a7tbn b_a7tbp)) (arg_a7tbz :: t_a7tbm a_a7tbo) :: f_a7tbn (t_a7tbm b_a7tbp);
    type family SequenceA (arg_a7tbC :: t_a7tbm (f_a7tbq a_a7tbr)) :: f_a7tbq (t_a7tbm a_a7tbr);
    type family MapM (arg_a7tbE :: (~>) a_a7tbt (m_a7tbs b_a7tbu)) (arg_a7tbF :: t_a7tbm a_a7tbt) :: m_a7tbs (t_a7tbm b_a7tbu);
    type family Sequence (arg_a7tbI :: t_a7tbm (m_a7tbv a_a7tbw)) :: m_a7tbv (t_a7tbm a_a7tbw);
    type Traverse a_a7tbS a_a7tbT = Apply (Apply Traverse_6989586621680790302Sym0 a_a7tbS) a_a7tbT;
    type SequenceA a_a7tc3 = Apply SequenceA_6989586621680790312Sym0 a_a7tc3;
    type MapM a_a7tch a_a7tci = Apply (Apply MapM_6989586621680790327Sym0 a_a7tch) a_a7tci;
    type Sequence a_a7tcs = Apply Sequence_6989586621680790337Sym0 a_a7tcs;
}
class (SFunctor t_a7tbm, SFoldable t_a7tbm) => STraversable (t_a7tbm :: Type -> Type)
sTraverse :: forall f_a7tbn a_a7tbo b_a7tbp (t_a7tcw :: (~>) a_a7tbo (f_a7tbn b_a7tbp)) (t_a7tcx :: t_a7tbm a_a7tbo). (STraversable t_a7tbm, SApplicative f_a7tbn) => Sing t_a7tcw -> Sing t_a7tcx -> Sing (Apply (Apply TraverseSym0 t_a7tcw) t_a7tcx :: f_a7tbn (t_a7tbm b_a7tbp))
sSequenceA :: forall f_a7tbq a_a7tbr (t_a7tcA :: t_a7tbm (f_a7tbq a_a7tbr)). (STraversable t_a7tbm, SApplicative f_a7tbq) => Sing t_a7tcA -> Sing (Apply SequenceASym0 t_a7tcA :: f_a7tbq (t_a7tbm a_a7tbr))
sMapM :: forall m_a7tbs a_a7tbt b_a7tbu (t_a7tcC :: (~>) a_a7tbt (m_a7tbs b_a7tbu)) (t_a7tcD :: t_a7tbm a_a7tbt). (STraversable t_a7tbm, SMonad m_a7tbs) => Sing t_a7tcC -> Sing t_a7tcD -> Sing (Apply (Apply MapMSym0 t_a7tcC) t_a7tcD :: m_a7tbs (t_a7tbm b_a7tbu))
sSequence :: forall m_a7tbv a_a7tbw (t_a7tcG :: t_a7tbm (m_a7tbv a_a7tbw)). (STraversable t_a7tbm, SMonad m_a7tbv) => Sing t_a7tcG -> Sing (Apply SequenceSym0 t_a7tcG :: m_a7tbv (t_a7tbm a_a7tbw))
sTraverse :: forall f_a7tbn a_a7tbo b_a7tbp (t_a7tcw :: (~>) a_a7tbo (f_a7tbn b_a7tbp)) (t_a7tcx :: t_a7tbm a_a7tbo). (STraversable t_a7tbm, (Apply (Apply TraverseSym0 t_a7tcw) t_a7tcx :: f_a7tbn (t_a7tbm b_a7tbp)) ~ Apply (Apply Traverse_6989586621680790302Sym0 t_a7tcw) t_a7tcx, SApplicative f_a7tbn) => Sing t_a7tcw -> Sing t_a7tcx -> Sing (Apply (Apply TraverseSym0 t_a7tcw) t_a7tcx :: f_a7tbn (t_a7tbm b_a7tbp))
sSequenceA :: forall f_a7tbq a_a7tbr (t_a7tcA :: t_a7tbm (f_a7tbq a_a7tbr)). (STraversable t_a7tbm, (Apply SequenceASym0 t_a7tcA :: f_a7tbq (t_a7tbm a_a7tbr)) ~ Apply SequenceA_6989586621680790312Sym0 t_a7tcA, SApplicative f_a7tbq) => Sing t_a7tcA -> Sing (Apply SequenceASym0 t_a7tcA :: f_a7tbq (t_a7tbm a_a7tbr))
sMapM :: forall m_a7tbs a_a7tbt b_a7tbu (t_a7tcC :: (~>) a_a7tbt (m_a7tbs b_a7tbu)) (t_a7tcD :: t_a7tbm a_a7tbt). (STraversable t_a7tbm, (Apply (Apply MapMSym0 t_a7tcC) t_a7tcD :: m_a7tbs (t_a7tbm b_a7tbu)) ~ Apply (Apply MapM_6989586621680790327Sym0 t_a7tcC) t_a7tcD, SMonad m_a7tbs) => Sing t_a7tcC -> Sing t_a7tcD -> Sing (Apply (Apply MapMSym0 t_a7tcC) t_a7tcD :: m_a7tbs (t_a7tbm b_a7tbu))
sSequence :: forall m_a7tbv a_a7tbw (t_a7tcG :: t_a7tbm (m_a7tbv a_a7tbw)). (STraversable t_a7tbm, (Apply SequenceSym0 t_a7tcG :: m_a7tbv (t_a7tbm a_a7tbw)) ~ Apply Sequence_6989586621680790337Sym0 t_a7tcG, SMonad m_a7tbv) => Sing t_a7tcG -> Sing (Apply SequenceSym0 t_a7tcG :: m_a7tbv (t_a7tbm a_a7tbw))
type family Id (a_a2dEZ :: a_a2dBQ) :: a_a2dBQ
sId :: forall a_a2dBQ (t_a2dGc :: a_a2dBQ). Sing t_a2dGc -> Sing (Apply IdSym0 t_a2dGc :: a_a2dBQ)
type family Const (a_a2dEK :: a_a2dBO) (a_a2dEL :: b_a2dBP) :: a_a2dBO
sConst :: forall a_a2dBO b_a2dBP (t_a2dG4 :: a_a2dBO) (t_a2dG5 :: b_a2dBP). Sing t_a2dG4 -> Sing t_a2dG5 -> Sing (Apply (Apply ConstSym0 t_a2dG4) t_a2dG5 :: a_a2dBO)
type family (:.) (a_a2dEr :: (~>) b_a2dBL c_a2dBM) (a_a2dEs :: (~>) a_a2dBN b_a2dBL) (a_a2dEt :: a_a2dBN) :: c_a2dBM
infixr 9 :.
(%.) :: forall b_a2dBL c_a2dBM a_a2dBN (t_a2dFY :: (~>) b_a2dBL c_a2dBM) (t_a2dFZ :: (~>) a_a2dBN b_a2dBL) (t_a2dG0 :: a_a2dBN). Sing t_a2dFY -> Sing t_a2dFZ -> Sing t_a2dG0 -> Sing (Apply (Apply (Apply (.@#@$) t_a2dFY) t_a2dFZ) t_a2dG0 :: c_a2dBM)
infixr 9 %.
type family ($) (a_a2dEc :: (~>) a_a2dBF b_a2dBG) (a_a2dEd :: a_a2dBF) :: b_a2dBG
infixr 0 $
(%$) :: forall a_a2dBF b_a2dBG (t_a2dFO :: (~>) a_a2dBF b_a2dBG) (t_a2dFP :: a_a2dBF). Sing t_a2dFO -> Sing t_a2dFP -> Sing (Apply (Apply ($@#@$) t_a2dFO) t_a2dFP :: b_a2dBG)
infixr 0 %$
type family ($!) (a_a2dE3 :: (~>) a_a2dBD b_a2dBE) (a_a2dE4 :: a_a2dBD) :: b_a2dBE
infixr 0 $!
(%$!) :: forall a_a2dBD b_a2dBE (t_a2dFK :: (~>) a_a2dBD b_a2dBE) (t_a2dFL :: a_a2dBD). Sing t_a2dFK -> Sing t_a2dFL -> Sing (Apply (Apply ($!@#@$) t_a2dFK) t_a2dFL :: b_a2dBE)
infixr 0 %$!
type family Flip (a_a2dEi :: (~>) a_a2dBI ((~>) b_a2dBJ c_a2dBK)) (a_a2dEj :: b_a2dBJ) (a_a2dEk :: a_a2dBI) :: c_a2dBK
sFlip :: forall a_a2dBI b_a2dBJ c_a2dBK (t_a2dFS :: (~>) a_a2dBI ((~>) b_a2dBJ c_a2dBK)) (t_a2dFT :: b_a2dBJ) (t_a2dFU :: a_a2dBI). Sing t_a2dFS -> Sing t_a2dFT -> Sing t_a2dFU -> Sing (Apply (Apply (Apply FlipSym0 t_a2dFS) t_a2dFT) t_a2dFU :: c_a2dBK)
type family AsTypeOf (a_a2dET :: a_a2dBH) (a_a2dEU :: a_a2dBH) :: a_a2dBH
sAsTypeOf :: forall a_a2dBH (t_a2dG8 :: a_a2dBH) (t_a2dG9 :: a_a2dBH). Sing t_a2dG8 -> Sing t_a2dG9 -> Sing (Apply (Apply AsTypeOfSym0 t_a2dG8) t_a2dG9 :: a_a2dBH)
type family Seq (a_a2dDy :: a_a2dBA) (a_a2dDz :: b_a2dBB) :: b_a2dBB
infixr 0 `Seq`
sSeq :: forall a_a2dBA b_a2dBB (t_a2dFA :: a_a2dBA) (t_a2dFB :: b_a2dBB). Sing t_a2dFA -> Sing t_a2dFB -> Sing (Apply (Apply SeqSym0 t_a2dFA) t_a2dFB :: b_a2dBB)
infixr 0 `sSeq`
type family Map (a_a2dFa :: (~>) a_a2dBS b_a2dBT) (a_a2dFb :: [a_a2dBS]) :: [b_a2dBT]
sMap :: forall a_a2dBS b_a2dBT (t_a2dGi :: (~>) a_a2dBS b_a2dBT) (t_a2dGj :: [a_a2dBS]). Sing t_a2dGi -> Sing t_a2dGj -> Sing (Apply (Apply MapSym0 t_a2dGi) t_a2dGj :: [b_a2dBT])
type family (++) (a_a2dF2 :: [a_a2dBR]) (a_a2dF3 :: [a_a2dBR]) :: [a_a2dBR]
infixr 5 ++
(%++) :: forall a_a2dBR (t_a2dGe :: [a_a2dBR]) (t_a2dGf :: [a_a2dBR]). Sing t_a2dGe -> Sing t_a2dGf -> Sing (Apply (Apply (++@#@$) t_a2dGe) t_a2dGf :: [a_a2dBR])
infixr 5 %++
type family Filter (a_a4384 :: (~>) a_a40Eb Bool) (a_a4385 :: [a_a40Eb]) :: [a_a40Eb]
sFilter :: forall a_a40Eb (t_a43qH :: (~>) a_a40Eb Bool) (t_a43qI :: [a_a40Eb]). Sing t_a43qH -> Sing t_a43qI -> Sing (Apply (Apply FilterSym0 t_a43qH) t_a43qI :: [a_a40Eb])
type family Head (a_a43pm :: [a_a40FD]) :: a_a40FD
sHead :: forall a_a40FD (t_a43uV :: [a_a40FD]). Sing t_a43uV -> Sing (Apply HeadSym0 t_a43uV :: a_a40FD)
type family Last (a_a43ph :: [a_a40FC]) :: a_a40FC
sLast :: forall a_a40FC (t_a43uT :: [a_a40FC]). Sing t_a43uT -> Sing (Apply LastSym0 t_a43uT :: a_a40FC)
type family Tail (a_a43pe :: [a_a40FB]) :: [a_a40FB]
sTail :: forall a_a40FB (t_a43uR :: [a_a40FB]). Sing t_a43uR -> Sing (Apply TailSym0 t_a43uR :: [a_a40FB])
type family Init (a_a43p0 :: [a_a40FA]) :: [a_a40FA]
sInit :: forall a_a40FA (t_a43uP :: [a_a40FA]). Sing t_a43uP -> Sing (Apply InitSym0 t_a43uP :: [a_a40FA])
type family Null (arg_a6cft :: t_a6c4M a_a6c51) :: Bool
sNull :: forall a_a6c51 (t_a6cBk :: t_a6c4M a_a6c51). SFoldable t_a6c4M => Sing t_a6cBk -> Sing (Apply NullSym0 t_a6cBk :: Bool)
type family Reverse (a_a43of :: [a_a40Fy]) :: [a_a40Fy]
sReverse :: forall a_a40Fy (t_a43uD :: [a_a40Fy]). Sing t_a43uD -> Sing (Apply ReverseSym0 t_a43uD :: [a_a40Fy])
type family And (a_a6ccC :: t_a6c3v Bool) :: Bool
sAnd :: forall t_a6c3v (t_a6czj :: t_a6c3v Bool). SFoldable t_a6c3v => Sing t_a6czj -> Sing (Apply AndSym0 t_a6czj :: Bool)
type family Or (a_a6cct :: t_a6c3u Bool) :: Bool
sOr :: forall t_a6c3u (t_a6czh :: t_a6c3u Bool). SFoldable t_a6c3u => Sing t_a6czh -> Sing (Apply OrSym0 t_a6czh :: Bool)
type family Any (a_a6ccg :: (~>) a_a6c3t Bool) (a_a6cch :: t_a6c3s a_a6c3t) :: Bool
sAny :: forall t_a6c3s a_a6c3t (t_a6czd :: (~>) a_a6c3t Bool) (t_a6cze :: t_a6c3s a_a6c3t). SFoldable t_a6c3s => Sing t_a6czd -> Sing t_a6cze -> Sing (Apply (Apply AnySym0 t_a6czd) t_a6cze :: Bool)
type family All (a_a6cc3 :: (~>) a_a6c3r Bool) (a_a6cc4 :: t_a6c3q a_a6c3r) :: Bool
sAll :: forall t_a6c3q a_a6c3r (t_a6cz9 :: (~>) a_a6c3r Bool) (t_a6cza :: t_a6c3q a_a6c3r). SFoldable t_a6c3q => Sing t_a6cz9 -> Sing t_a6cza -> Sing (Apply (Apply AllSym0 t_a6cz9) t_a6cza :: Bool)
type family Concat (a_a6cd1 :: t_a6c3z [a_a6c3A]) :: [a_a6c3A]
sConcat :: forall t_a6c3z a_a6c3A (t_a6czp :: t_a6c3z [a_a6c3A]). SFoldable t_a6c3z => Sing t_a6czp -> Sing (Apply ConcatSym0 t_a6czp :: [a_a6c3A])
type family ConcatMap (a_a6ccL :: (~>) a_a6c3x [b_a6c3y]) (a_a6ccM :: t_a6c3w a_a6c3x) :: [b_a6c3y]
sConcatMap :: forall t_a6c3w a_a6c3x b_a6c3y (t_a6czl :: (~>) a_a6c3x [b_a6c3y]) (t_a6czm :: t_a6c3w a_a6c3x). SFoldable t_a6c3w => Sing t_a6czl -> Sing t_a6czm -> Sing (Apply (Apply ConcatMapSym0 t_a6czl) t_a6czm :: [b_a6c3y])
type family Scanl (a_a43ij :: (~>) b_a40Fg ((~>) a_a40Fh b_a40Fg)) (a_a43ik :: b_a40Fg) (a_a43il :: [a_a40Fh]) :: [b_a40Fg]
sScanl :: forall b_a40Fg a_a40Fh (t_a43tb :: (~>) b_a40Fg ((~>) a_a40Fh b_a40Fg)) (t_a43tc :: b_a40Fg) (t_a43td :: [a_a40Fh]). Sing t_a43tb -> Sing t_a43tc -> Sing t_a43td -> Sing (Apply (Apply (Apply ScanlSym0 t_a43tb) t_a43tc) t_a43td :: [b_a40Fg])
type family Scanl1 (a_a43ix :: (~>) a_a40Ff ((~>) a_a40Ff a_a40Ff)) (a_a43iy :: [a_a40Ff]) :: [a_a40Ff]
sScanl1 :: forall a_a40Ff (t_a43th :: (~>) a_a40Ff ((~>) a_a40Ff a_a40Ff)) (t_a43ti :: [a_a40Ff]). Sing t_a43th -> Sing t_a43ti -> Sing (Apply (Apply Scanl1Sym0 t_a43th) t_a43ti :: [a_a40Ff])
type family Scanr (a_a43hY :: (~>) a_a40Fd ((~>) b_a40Fe b_a40Fe)) (a_a43hZ :: b_a40Fe) (a_a43i0 :: [a_a40Fd]) :: [b_a40Fe]
sScanr :: forall a_a40Fd b_a40Fe (t_a43t5 :: (~>) a_a40Fd ((~>) b_a40Fe b_a40Fe)) (t_a43t6 :: b_a40Fe) (t_a43t7 :: [a_a40Fd]). Sing t_a43t5 -> Sing t_a43t6 -> Sing t_a43t7 -> Sing (Apply (Apply (Apply ScanrSym0 t_a43t5) t_a43t6) t_a43t7 :: [b_a40Fe])
type family Scanr1 (a_a43hA :: (~>) a_a40Fc ((~>) a_a40Fc a_a40Fc)) (a_a43hB :: [a_a40Fc]) :: [a_a40Fc]
sScanr1 :: forall a_a40Fc (t_a43t1 :: (~>) a_a40Fc ((~>) a_a40Fc a_a40Fc)) (t_a43t2 :: [a_a40Fc]). Sing t_a43t1 -> Sing t_a43t2 -> Sing (Apply (Apply Scanr1Sym0 t_a43t1) t_a43t2 :: [a_a40Fc])
type family Replicate (a_a433K :: Nat) (a_a433L :: a_a40DI) :: [a_a40DI]
sReplicate :: forall a_a40DI (t_a43pL :: Nat) (t_a43pM :: a_a40DI). Sing t_a43pL -> Sing t_a43pM -> Sing (Apply (Apply ReplicateSym0 t_a43pL) t_a43pM :: [a_a40DI])
type family Take (a_a435i :: Nat) (a_a435j :: [a_a40DY]) :: [a_a40DY]
sTake :: forall a_a40DY (t_a43qd :: Nat) (t_a43qe :: [a_a40DY]). Sing t_a43qd -> Sing t_a43qe -> Sing (Apply (Apply TakeSym0 t_a43qd) t_a43qe :: [a_a40DY])
type family Drop (a_a4354 :: Nat) (a_a4355 :: [a_a40DX]) :: [a_a40DX]
sDrop :: forall a_a40DX (t_a43q9 :: Nat) (t_a43qa :: [a_a40DX]). Sing t_a43q9 -> Sing t_a43qa -> Sing (Apply (Apply DropSym0 t_a43q9) t_a43qa :: [a_a40DX])
type family SplitAt (a_a435w :: Nat) (a_a435x :: [a_a40DW]) :: ([a_a40DW], [a_a40DW])
sSplitAt :: forall a_a40DW (t_a43qh :: Nat) (t_a43qi :: [a_a40DW]). Sing t_a43qh -> Sing t_a43qi -> Sing (Apply (Apply SplitAtSym0 t_a43qh) t_a43qi :: ([a_a40DW], [a_a40DW]))
type family TakeWhile (a_a437Q :: (~>) a_a40E3 Bool) (a_a437R :: [a_a40E3]) :: [a_a40E3]
sTakeWhile :: forall a_a40E3 (t_a43qD :: (~>) a_a40E3 Bool) (t_a43qE :: [a_a40E3]). Sing t_a43qD -> Sing t_a43qE -> Sing (Apply (Apply TakeWhileSym0 t_a43qD) t_a43qE :: [a_a40E3])
type family Span (a_a436j :: (~>) a_a40E0 Bool) (a_a436k :: [a_a40E0]) :: ([a_a40E0], [a_a40E0])
sSpan :: forall a_a40E0 (t_a43qp :: (~>) a_a40E0 Bool) (t_a43qq :: [a_a40E0]). Sing t_a43qp -> Sing t_a43qq -> Sing (Apply (Apply SpanSym0 t_a43qp) t_a43qq :: ([a_a40E0], [a_a40E0]))
type family Break (a_a435C :: (~>) a_a40DZ Bool) (a_a435D :: [a_a40DZ]) :: ([a_a40DZ], [a_a40DZ])
sBreak :: forall a_a40DZ (t_a43ql :: (~>) a_a40DZ Bool) (t_a43qm :: [a_a40DZ]). Sing t_a43ql -> Sing t_a43qm -> Sing (Apply (Apply BreakSym0 t_a43ql) t_a43qm :: ([a_a40DZ], [a_a40DZ]))
type family NotElem (a_a6cb7 :: a_a6c3l) (a_a6cb8 :: t_a6c3k a_a6c3l) :: Bool
sNotElem :: forall t_a6c3k a_a6c3l (t_a6cyX :: a_a6c3l) (t_a6cyY :: t_a6c3k a_a6c3l). (SFoldable t_a6c3k, SEq a_a6c3l) => Sing t_a6cyX -> Sing t_a6cyY -> Sing (Apply (Apply NotElemSym0 t_a6cyX) t_a6cyY :: Bool)
type family Lookup (a_a434N :: a_a40DO) (a_a434O :: [(a_a40DO, b_a40DP)]) :: Maybe b_a40DP
sLookup :: forall a_a40DO b_a40DP (t_a43q5 :: a_a40DO) (t_a43q6 :: [(a_a40DO, b_a40DP)]). SEq a_a40DO => Sing t_a43q5 -> Sing t_a43q6 -> Sing (Apply (Apply LookupSym0 t_a43q5) t_a43q6 :: Maybe b_a40DP)
type family Zip (a_a43dr :: [a_a40EV]) (a_a43ds :: [b_a40EW]) :: [(a_a40EV, b_a40EW)]
sZip :: forall a_a40EV b_a40EW (t_a43s9 :: [a_a40EV]) (t_a43sa :: [b_a40EW]). Sing t_a43s9 -> Sing t_a43sa -> Sing (Apply (Apply ZipSym0 t_a43s9) t_a43sa :: [(a_a40EV, b_a40EW)])
type family Zip3 (a_a43df :: [a_a40ES]) (a_a43dg :: [b_a40ET]) (a_a43dh :: [c_a40EU]) :: [(a_a40ES, b_a40ET, c_a40EU)]
sZip3 :: forall a_a40ES b_a40ET c_a40EU (t_a43s3 :: [a_a40ES]) (t_a43s4 :: [b_a40ET]) (t_a43s5 :: [c_a40EU]). Sing t_a43s3 -> Sing t_a43s4 -> Sing t_a43s5 -> Sing (Apply (Apply (Apply Zip3Sym0 t_a43s3) t_a43s4) t_a43s5 :: [(a_a40ES, b_a40ET, c_a40EU)])
type family ZipWith (a_a43d4 :: (~>) a_a40EP ((~>) b_a40EQ c_a40ER)) (a_a43d5 :: [a_a40EP]) (a_a43d6 :: [b_a40EQ]) :: [c_a40ER]
sZipWith :: forall a_a40EP b_a40EQ c_a40ER (t_a43rX :: (~>) a_a40EP ((~>) b_a40EQ c_a40ER)) (t_a43rY :: [a_a40EP]) (t_a43rZ :: [b_a40EQ]). Sing t_a43rX -> Sing t_a43rY -> Sing t_a43rZ -> Sing (Apply (Apply (Apply ZipWithSym0 t_a43rX) t_a43rY) t_a43rZ :: [c_a40ER])
type family ZipWith3 (a_a43cP :: (~>) a_a40EL ((~>) b_a40EM ((~>) c_a40EN d_a40EO))) (a_a43cQ :: [a_a40EL]) (a_a43cR :: [b_a40EM]) (a_a43cS :: [c_a40EN]) :: [d_a40EO]
sZipWith3 :: forall a_a40EL b_a40EM c_a40EN d_a40EO (t_a43rP :: (~>) a_a40EL ((~>) b_a40EM ((~>) c_a40EN d_a40EO))) (t_a43rQ :: [a_a40EL]) (t_a43rR :: [b_a40EM]) (t_a43rS :: [c_a40EN]). Sing t_a43rP -> Sing t_a43rQ -> Sing t_a43rR -> Sing t_a43rS -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a43rP) t_a43rQ) t_a43rR) t_a43rS :: [d_a40EO])
type family Unzip (a_a43cw :: [(a_a40EJ, b_a40EK)]) :: ([a_a40EJ], [b_a40EK])
sUnzip :: forall a_a40EJ b_a40EK (t_a43rN :: [(a_a40EJ, b_a40EK)]). Sing t_a43rN -> Sing (Apply UnzipSym0 t_a43rN :: ([a_a40EJ], [b_a40EK]))
type family Unzip3 (a_a43cb :: [(a_a40EG, b_a40EH, c_a40EI)]) :: ([a_a40EG], [b_a40EH], [c_a40EI])
sUnzip3 :: forall a_a40EG b_a40EH c_a40EI (t_a43rL :: [(a_a40EG, b_a40EH, c_a40EI)]). Sing t_a43rL -> Sing (Apply Unzip3Sym0 t_a43rL :: ([a_a40EG], [b_a40EH], [c_a40EI]))
type family Unlines (a_a43ar :: [Symbol]) :: Symbol
sUnlines :: forall (t_a43rB :: [Symbol]). Sing t_a43rB -> Sing (Apply UnlinesSym0 t_a43rB :: Symbol)
type family Unwords (a_a43ag :: [Symbol]) :: Symbol
sUnwords :: forall (t_a43rz :: [Symbol]). Sing t_a43rz -> Sing (Apply UnwordsSym0 t_a43rz :: Symbol)
type family Maybe_ (a_a26yu :: b_a26yc) (a_a26yv :: (~>) a_a26yd b_a26yc) (a_a26yw :: Maybe a_a26yd) :: b_a26yc
sMaybe_ :: forall b_a26yc a_a26yd (t_a26yD :: b_a26yc) (t_a26yE :: (~>) a_a26yd b_a26yc) (t_a26yF :: Maybe a_a26yd). Sing t_a26yD -> Sing t_a26yE -> Sing t_a26yF -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a26yD) t_a26yE) t_a26yF :: b_a26yc)
type family Either_ (a_a66Ph :: (~>) a_a66OH c_a66OI) (a_a66Pi :: (~>) b_a66OJ c_a66OI) (a_a66Pj :: Either a_a66OH b_a66OJ) :: c_a66OI
sEither_ :: forall a_a66OH c_a66OI b_a66OJ (t_a66Pr :: (~>) a_a66OH c_a66OI) (t_a66Ps :: (~>) b_a66OJ c_a66OI) (t_a66Pt :: Either a_a66OH b_a66OJ). Sing t_a66Pr -> Sing t_a66Ps -> Sing t_a66Pt -> Sing (Apply (Apply (Apply Either_Sym0 t_a66Pr) t_a66Ps) t_a66Pt :: c_a66OI)
type family Fst (a_a1vVU :: (a_a1vUm, b_a1vUn)) :: a_a1vUm
sFst :: forall a_a1vUm b_a1vUn (t_a1vWd :: (a_a1vUm, b_a1vUn)). Sing t_a1vWd -> Sing (Apply FstSym0 t_a1vWd :: a_a1vUm)
type family Snd (a_a1vVR :: (a_a1vUk, b_a1vUl)) :: b_a1vUl
sSnd :: forall a_a1vUk b_a1vUl (t_a1vWb :: (a_a1vUk, b_a1vUl)). Sing t_a1vWb -> Sing (Apply SndSym0 t_a1vWb :: b_a1vUl)
type family Curry (a_a1vVI :: (~>) (a_a1vUh, b_a1vUi) c_a1vUj) (a_a1vVJ :: a_a1vUh) (a_a1vVK :: b_a1vUi) :: c_a1vUj
sCurry :: forall a_a1vUh b_a1vUi c_a1vUj (t_a1vW5 :: (~>) (a_a1vUh, b_a1vUi) c_a1vUj) (t_a1vW6 :: a_a1vUh) (t_a1vW7 :: b_a1vUi). Sing t_a1vW5 -> Sing t_a1vW6 -> Sing t_a1vW7 -> Sing (Apply (Apply (Apply CurrySym0 t_a1vW5) t_a1vW6) t_a1vW7 :: c_a1vUj)
type family Uncurry (a_a1vVX :: (~>) a_a1vUe ((~>) b_a1vUf c_a1vUg)) (a_a1vVY :: (a_a1vUe, b_a1vUf)) :: c_a1vUg
sUncurry :: forall a_a1vUe b_a1vUf c_a1vUg (t_a1vWf :: (~>) a_a1vUe ((~>) b_a1vUf c_a1vUg)) (t_a1vWg :: (a_a1vUe, b_a1vUf)). Sing t_a1vWf -> Sing t_a1vWg -> Sing (Apply (Apply UncurrySym0 t_a1vWf) t_a1vWg :: c_a1vUg)

-- | (Kind) This is the kind of type-level symbols. Declared here because
--   class IP needs it
data Symbol
either_ :: (a_a66OH -> c_a66OI) -> (b_a66OJ -> c_a66OI) -> Either a_a66OH b_a66OJ -> c_a66OI
maybe_ :: b_a26yc -> (a_a26yd -> b_a26yc) -> Maybe a_a26yd -> b_a26yc
bool_ :: a_a1xDR -> a_a1xDR -> Bool -> a_a1xDR

-- | <a>show</a>, but with an extra underscore so that its promoted
--   counterpart (<a>Show_</a>) will not clash with the <tt>Show</tt>
--   class.
show_ :: Show a => a -> String
type FalseSym0 =  'False
type TrueSym0 =  'True
data NotSym0 :: (~>) Bool Bool
type NotSym1 (a6989586621679378735 :: Bool) = Not a6989586621679378735
data (&&@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 3 &&@#@$
data (&&@#@$$) (a6989586621679378194 :: Bool) :: (~>) Bool Bool
infixr 3 &&@#@$$
type (&&@#@$$$) (a6989586621679378194 :: Bool) (b6989586621679378195 :: Bool) = (&&) a6989586621679378194 b6989586621679378195
data (||@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 2 ||@#@$
data (||@#@$$) (a6989586621679378435 :: Bool) :: (~>) Bool Bool
infixr 2 ||@#@$$
type (||@#@$$$) (a6989586621679378435 :: Bool) (b6989586621679378436 :: Bool) = (||) a6989586621679378435 b6989586621679378436
type OtherwiseSym0 = Otherwise
type NothingSym0 =  'Nothing
data JustSym0 :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 (Maybe (a3530822107858468865 :: Type))
type JustSym1 (t6989586621679312418 :: a3530822107858468865) =  'Just t6989586621679312418
data Maybe_Sym0 :: forall a6989586621679511633 b6989586621679511632. (~>) b6989586621679511632 ((~>) ((~>) a6989586621679511633 b6989586621679511632) ((~>) (Maybe a6989586621679511633) b6989586621679511632))
data Maybe_Sym1 (a6989586621679511650 :: b6989586621679511632) :: forall a6989586621679511633. (~>) ((~>) a6989586621679511633 b6989586621679511632) ((~>) (Maybe a6989586621679511633) b6989586621679511632)
data Maybe_Sym2 (a6989586621679511650 :: b6989586621679511632) (a6989586621679511651 :: (~>) a6989586621679511633 b6989586621679511632) :: (~>) (Maybe a6989586621679511633) b6989586621679511632
type Maybe_Sym3 (a6989586621679511650 :: b6989586621679511632) (a6989586621679511651 :: (~>) a6989586621679511633 b6989586621679511632) (a6989586621679511652 :: Maybe a6989586621679511633) = Maybe_ a6989586621679511650 a6989586621679511651 a6989586621679511652
data LeftSym0 :: forall (a6989586621679089505 :: Type) (b6989586621679089506 :: Type). (~>) a6989586621679089505 (Either (a6989586621679089505 :: Type) (b6989586621679089506 :: Type))
type LeftSym1 (t6989586621679312485 :: a6989586621679089505) =  'Left t6989586621679312485
data RightSym0 :: forall (a6989586621679089505 :: Type) (b6989586621679089506 :: Type). (~>) b6989586621679089506 (Either (a6989586621679089505 :: Type) (b6989586621679089506 :: Type))
type RightSym1 (t6989586621679312487 :: b6989586621679089506) =  'Right t6989586621679312487
data Either_Sym0 :: forall a6989586621680465967 b6989586621680465969 c6989586621680465968. (~>) ((~>) a6989586621680465967 c6989586621680465968) ((~>) ((~>) b6989586621680465969 c6989586621680465968) ((~>) (Either a6989586621680465967 b6989586621680465969) c6989586621680465968))
data Either_Sym1 (a6989586621680466003 :: (~>) a6989586621680465967 c6989586621680465968) :: forall b6989586621680465969. (~>) ((~>) b6989586621680465969 c6989586621680465968) ((~>) (Either a6989586621680465967 b6989586621680465969) c6989586621680465968)
data Either_Sym2 (a6989586621680466003 :: (~>) a6989586621680465967 c6989586621680465968) (a6989586621680466004 :: (~>) b6989586621680465969 c6989586621680465968) :: (~>) (Either a6989586621680465967 b6989586621680465969) c6989586621680465968
type Either_Sym3 (a6989586621680466003 :: (~>) a6989586621680465967 c6989586621680465968) (a6989586621680466004 :: (~>) b6989586621680465969 c6989586621680465968) (a6989586621680466005 :: Either a6989586621680465967 b6989586621680465969) = Either_ a6989586621680466003 a6989586621680466004 a6989586621680466005
type Tuple0Sym0 = '()
data Tuple2Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type)))
data Tuple2Sym1 (t6989586621679312534 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type). (~>) b3530822107858468866 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type))
type Tuple2Sym2 (t6989586621679312534 :: a3530822107858468865) (t6989586621679312535 :: b3530822107858468866) = '(t6989586621679312534, t6989586621679312535)
data Tuple3Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type))))
data Tuple3Sym1 (t6989586621679312565 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type)))
data Tuple3Sym2 (t6989586621679312565 :: (a3530822107858468865 :: Type)) (t6989586621679312566 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type). (~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type))
type Tuple3Sym3 (t6989586621679312565 :: a3530822107858468865) (t6989586621679312566 :: b3530822107858468866) (t6989586621679312567 :: c3530822107858468867) = '(t6989586621679312565, t6989586621679312566, t6989586621679312567)
data Tuple4Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type)))))
data Tuple4Sym1 (t6989586621679312612 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type))))
data Tuple4Sym2 (t6989586621679312612 :: (a3530822107858468865 :: Type)) (t6989586621679312613 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type)))
data Tuple4Sym3 (t6989586621679312612 :: (a3530822107858468865 :: Type)) (t6989586621679312613 :: (b3530822107858468866 :: Type)) (t6989586621679312614 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type). (~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type))
type Tuple4Sym4 (t6989586621679312612 :: a3530822107858468865) (t6989586621679312613 :: b3530822107858468866) (t6989586621679312614 :: c3530822107858468867) (t6989586621679312615 :: d3530822107858468868) = '(t6989586621679312612, t6989586621679312613, t6989586621679312614, t6989586621679312615)
data Tuple5Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type))))))
data Tuple5Sym1 (t6989586621679312677 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type)))))
data Tuple5Sym2 (t6989586621679312677 :: (a3530822107858468865 :: Type)) (t6989586621679312678 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type))))
data Tuple5Sym3 (t6989586621679312677 :: (a3530822107858468865 :: Type)) (t6989586621679312678 :: (b3530822107858468866 :: Type)) (t6989586621679312679 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type)))
data Tuple5Sym4 (t6989586621679312677 :: (a3530822107858468865 :: Type)) (t6989586621679312678 :: (b3530822107858468866 :: Type)) (t6989586621679312679 :: (c3530822107858468867 :: Type)) (t6989586621679312680 :: (d3530822107858468868 :: Type)) :: forall (e3530822107858468869 :: Type). (~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type))
type Tuple5Sym5 (t6989586621679312677 :: a3530822107858468865) (t6989586621679312678 :: b3530822107858468866) (t6989586621679312679 :: c3530822107858468867) (t6989586621679312680 :: d3530822107858468868) (t6989586621679312681 :: e3530822107858468869) = '(t6989586621679312677, t6989586621679312678, t6989586621679312679, t6989586621679312680, t6989586621679312681)
data Tuple6Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type)))))))
data Tuple6Sym1 (t6989586621679312762 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type))))))
data Tuple6Sym2 (t6989586621679312762 :: (a3530822107858468865 :: Type)) (t6989586621679312763 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type)))))
data Tuple6Sym3 (t6989586621679312762 :: (a3530822107858468865 :: Type)) (t6989586621679312763 :: (b3530822107858468866 :: Type)) (t6989586621679312764 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type))))
data Tuple6Sym4 (t6989586621679312762 :: (a3530822107858468865 :: Type)) (t6989586621679312763 :: (b3530822107858468866 :: Type)) (t6989586621679312764 :: (c3530822107858468867 :: Type)) (t6989586621679312765 :: (d3530822107858468868 :: Type)) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type)))
data Tuple6Sym5 (t6989586621679312762 :: (a3530822107858468865 :: Type)) (t6989586621679312763 :: (b3530822107858468866 :: Type)) (t6989586621679312764 :: (c3530822107858468867 :: Type)) (t6989586621679312765 :: (d3530822107858468868 :: Type)) (t6989586621679312766 :: (e3530822107858468869 :: Type)) :: forall (f3530822107858468870 :: Type). (~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type))
type Tuple6Sym6 (t6989586621679312762 :: a3530822107858468865) (t6989586621679312763 :: b3530822107858468866) (t6989586621679312764 :: c3530822107858468867) (t6989586621679312765 :: d3530822107858468868) (t6989586621679312766 :: e3530822107858468869) (t6989586621679312767 :: f3530822107858468870) = '(t6989586621679312762, t6989586621679312763, t6989586621679312764, t6989586621679312765, t6989586621679312766, t6989586621679312767)
data Tuple7Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type))))))))
data Tuple7Sym1 (t6989586621679312869 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type)))))))
data Tuple7Sym2 (t6989586621679312869 :: (a3530822107858468865 :: Type)) (t6989586621679312870 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type))))))
data Tuple7Sym3 (t6989586621679312869 :: (a3530822107858468865 :: Type)) (t6989586621679312870 :: (b3530822107858468866 :: Type)) (t6989586621679312871 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type)))))
data Tuple7Sym4 (t6989586621679312869 :: (a3530822107858468865 :: Type)) (t6989586621679312870 :: (b3530822107858468866 :: Type)) (t6989586621679312871 :: (c3530822107858468867 :: Type)) (t6989586621679312872 :: (d3530822107858468868 :: Type)) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type))))
data Tuple7Sym5 (t6989586621679312869 :: (a3530822107858468865 :: Type)) (t6989586621679312870 :: (b3530822107858468866 :: Type)) (t6989586621679312871 :: (c3530822107858468867 :: Type)) (t6989586621679312872 :: (d3530822107858468868 :: Type)) (t6989586621679312873 :: (e3530822107858468869 :: Type)) :: forall (f3530822107858468870 :: Type) (g3530822107858468871 :: Type). (~>) f3530822107858468870 ((~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type)))
data Tuple7Sym6 (t6989586621679312869 :: (a3530822107858468865 :: Type)) (t6989586621679312870 :: (b3530822107858468866 :: Type)) (t6989586621679312871 :: (c3530822107858468867 :: Type)) (t6989586621679312872 :: (d3530822107858468868 :: Type)) (t6989586621679312873 :: (e3530822107858468869 :: Type)) (t6989586621679312874 :: (f3530822107858468870 :: Type)) :: forall (g3530822107858468871 :: Type). (~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type))
type Tuple7Sym7 (t6989586621679312869 :: a3530822107858468865) (t6989586621679312870 :: b3530822107858468866) (t6989586621679312871 :: c3530822107858468867) (t6989586621679312872 :: d3530822107858468868) (t6989586621679312873 :: e3530822107858468869) (t6989586621679312874 :: f3530822107858468870) (t6989586621679312875 :: g3530822107858468871) = '(t6989586621679312869, t6989586621679312870, t6989586621679312871, t6989586621679312872, t6989586621679312873, t6989586621679312874, t6989586621679312875)
data FstSym0 :: forall a6989586621679370778 b6989586621679370779. (~>) (a6989586621679370778, b6989586621679370779) a6989586621679370778
type FstSym1 (a6989586621679370874 :: (a6989586621679370778, b6989586621679370779)) = Fst a6989586621679370874
data SndSym0 :: forall a6989586621679370776 b6989586621679370777. (~>) (a6989586621679370776, b6989586621679370777) b6989586621679370777
type SndSym1 (a6989586621679370871 :: (a6989586621679370776, b6989586621679370777)) = Snd a6989586621679370871
data CurrySym0 :: forall a6989586621679370773 b6989586621679370774 c6989586621679370775. (~>) ((~>) (a6989586621679370773, b6989586621679370774) c6989586621679370775) ((~>) a6989586621679370773 ((~>) b6989586621679370774 c6989586621679370775))
data CurrySym1 (a6989586621679370862 :: (~>) (a6989586621679370773, b6989586621679370774) c6989586621679370775) :: (~>) a6989586621679370773 ((~>) b6989586621679370774 c6989586621679370775)
data CurrySym2 (a6989586621679370862 :: (~>) (a6989586621679370773, b6989586621679370774) c6989586621679370775) (a6989586621679370863 :: a6989586621679370773) :: (~>) b6989586621679370774 c6989586621679370775
type CurrySym3 (a6989586621679370862 :: (~>) (a6989586621679370773, b6989586621679370774) c6989586621679370775) (a6989586621679370863 :: a6989586621679370773) (a6989586621679370864 :: b6989586621679370774) = Curry a6989586621679370862 a6989586621679370863 a6989586621679370864
data UncurrySym0 :: forall a6989586621679370770 b6989586621679370771 c6989586621679370772. (~>) ((~>) a6989586621679370770 ((~>) b6989586621679370771 c6989586621679370772)) ((~>) (a6989586621679370770, b6989586621679370771) c6989586621679370772)
data UncurrySym1 (a6989586621679370877 :: (~>) a6989586621679370770 ((~>) b6989586621679370771 c6989586621679370772)) :: (~>) (a6989586621679370770, b6989586621679370771) c6989586621679370772
type UncurrySym2 (a6989586621679370877 :: (~>) a6989586621679370770 ((~>) b6989586621679370771 c6989586621679370772)) (a6989586621679370878 :: (a6989586621679370770, b6989586621679370771)) = Uncurry a6989586621679370877 a6989586621679370878
data ErrorSym0 :: forall k06989586621679484372 k6989586621679484371. (~>) k06989586621679484372 k6989586621679484371
type ErrorSym1 (str6989586621679484373 :: k06989586621679484372) = Error str6989586621679484373
data ErrorWithoutStackTraceSym0 :: forall k06989586621679485422 k6989586621679485421. (~>) k06989586621679485422 k6989586621679485421
type ErrorWithoutStackTraceSym1 (str6989586621679485423 :: k06989586621679485422) = ErrorWithoutStackTrace str6989586621679485423
type UndefinedSym0 = Undefined
type LTSym0 =  'LT
type EQSym0 =  'EQ
type GTSym0 =  'GT
data CompareSym0 :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 Ordering)
data CompareSym1 (arg6989586621679396114 :: a6989586621679396020) :: (~>) a6989586621679396020 Ordering
type CompareSym2 (arg6989586621679396114 :: a6989586621679396020) (arg6989586621679396115 :: a6989586621679396020) = Compare arg6989586621679396114 arg6989586621679396115
data (<@#@$) :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 Bool)
infix 4 <@#@$
data (<@#@$$) (arg6989586621679396118 :: a6989586621679396020) :: (~>) a6989586621679396020 Bool
infix 4 <@#@$$
type (<@#@$$$) (arg6989586621679396118 :: a6989586621679396020) (arg6989586621679396119 :: a6989586621679396020) = (<) arg6989586621679396118 arg6989586621679396119
data (<=@#@$) :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 Bool)
infix 4 <=@#@$
data (<=@#@$$) (arg6989586621679396122 :: a6989586621679396020) :: (~>) a6989586621679396020 Bool
infix 4 <=@#@$$
type (<=@#@$$$) (arg6989586621679396122 :: a6989586621679396020) (arg6989586621679396123 :: a6989586621679396020) = (<=) arg6989586621679396122 arg6989586621679396123
data (>@#@$) :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 Bool)
infix 4 >@#@$
data (>@#@$$) (arg6989586621679396126 :: a6989586621679396020) :: (~>) a6989586621679396020 Bool
infix 4 >@#@$$
type (>@#@$$$) (arg6989586621679396126 :: a6989586621679396020) (arg6989586621679396127 :: a6989586621679396020) = (>) arg6989586621679396126 arg6989586621679396127
data (>=@#@$) :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 Bool)
infix 4 >=@#@$
data (>=@#@$$) (arg6989586621679396130 :: a6989586621679396020) :: (~>) a6989586621679396020 Bool
infix 4 >=@#@$$
type (>=@#@$$$) (arg6989586621679396130 :: a6989586621679396020) (arg6989586621679396131 :: a6989586621679396020) = (>=) arg6989586621679396130 arg6989586621679396131
data MaxSym0 :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 a6989586621679396020)
data MaxSym1 (arg6989586621679396134 :: a6989586621679396020) :: (~>) a6989586621679396020 a6989586621679396020
type MaxSym2 (arg6989586621679396134 :: a6989586621679396020) (arg6989586621679396135 :: a6989586621679396020) = Max arg6989586621679396134 arg6989586621679396135
data MinSym0 :: forall a6989586621679396020. (~>) a6989586621679396020 ((~>) a6989586621679396020 a6989586621679396020)
data MinSym1 (arg6989586621679396138 :: a6989586621679396020) :: (~>) a6989586621679396020 a6989586621679396020
type MinSym2 (arg6989586621679396138 :: a6989586621679396020) (arg6989586621679396139 :: a6989586621679396020) = Min arg6989586621679396138 arg6989586621679396139
data (^@#@$) :: (~>) Nat ((~>) Nat Nat)
infixr 8 ^@#@$
data (^@#@$$) (a3530822107858468865 :: Nat) :: (~>) Nat Nat
infixr 8 ^@#@$$
type (^@#@$$$) (a3530822107858468865 :: Nat) (b3530822107858468866 :: Nat) = (^) a3530822107858468865 b3530822107858468866
data ShowsPrecSym0 :: forall a6989586621680291461. (~>) Nat ((~>) a6989586621680291461 ((~>) Symbol Symbol))
data ShowsPrecSym1 (arg6989586621680293411 :: Nat) :: forall a6989586621680291461. (~>) a6989586621680291461 ((~>) Symbol Symbol)
data ShowsPrecSym2 (arg6989586621680293411 :: Nat) (arg6989586621680293412 :: a6989586621680291461) :: (~>) Symbol Symbol
type ShowsPrecSym3 (arg6989586621680293411 :: Nat) (arg6989586621680293412 :: a6989586621680291461) (arg6989586621680293413 :: Symbol) = ShowsPrec arg6989586621680293411 arg6989586621680293412 arg6989586621680293413
data Show_Sym0 :: forall a6989586621680291461. (~>) a6989586621680291461 Symbol
type Show_Sym1 (arg6989586621680293417 :: a6989586621680291461) = Show_ arg6989586621680293417
data ShowListSym0 :: forall a6989586621680291461. (~>) [a6989586621680291461] ((~>) Symbol Symbol)
data ShowListSym1 (arg6989586621680293419 :: [a6989586621680291461]) :: (~>) Symbol Symbol
type ShowListSym2 (arg6989586621680293419 :: [a6989586621680291461]) (arg6989586621680293420 :: Symbol) = ShowList arg6989586621680293419 arg6989586621680293420
data ShowsSym0 :: forall a6989586621680291446. (~>) a6989586621680291446 ((~>) Symbol Symbol)
data ShowsSym1 (a6989586621680293403 :: a6989586621680291446) :: (~>) Symbol Symbol
type ShowsSym2 (a6989586621680293403 :: a6989586621680291446) (a6989586621680293404 :: Symbol) = Shows a6989586621680293403 a6989586621680293404
data ShowCharSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowCharSym1 (a6989586621680293345 :: Symbol) :: (~>) Symbol Symbol
type ShowCharSym2 (a6989586621680293345 :: Symbol) (a6989586621680293346 :: Symbol) = ShowChar a6989586621680293345 a6989586621680293346
data ShowStringSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowStringSym1 (a6989586621680293330 :: Symbol) :: (~>) Symbol Symbol
type ShowStringSym2 (a6989586621680293330 :: Symbol) (a6989586621680293331 :: Symbol) = ShowString a6989586621680293330 a6989586621680293331
data ShowParenSym0 :: (~>) Bool ((~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol))
data ShowParenSym1 (a6989586621680293351 :: Bool) :: (~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol)
data ShowParenSym2 (a6989586621680293351 :: Bool) (a6989586621680293352 :: (~>) Symbol Symbol) :: (~>) Symbol Symbol
data (<>@#@$) :: forall a6989586621679833215. (~>) a6989586621679833215 ((~>) a6989586621679833215 a6989586621679833215)
infixr 6 <>@#@$
data (<>@#@$$) (arg6989586621679833700 :: a6989586621679833215) :: (~>) a6989586621679833215 a6989586621679833215
infixr 6 <>@#@$$
type (<>@#@$$$) (arg6989586621679833700 :: a6989586621679833215) (arg6989586621679833701 :: a6989586621679833215) = (<>) arg6989586621679833700 arg6989586621679833701
type MemptySym0 = Mempty
data MappendSym0 :: forall a6989586621680361494. (~>) a6989586621680361494 ((~>) a6989586621680361494 a6989586621680361494)
data MappendSym1 (arg6989586621680361879 :: a6989586621680361494) :: (~>) a6989586621680361494 a6989586621680361494
type MappendSym2 (arg6989586621680361879 :: a6989586621680361494) (arg6989586621680361880 :: a6989586621680361494) = Mappend arg6989586621680361879 arg6989586621680361880
data MconcatSym0 :: forall a6989586621680361494. (~>) [a6989586621680361494] a6989586621680361494
type MconcatSym1 (arg6989586621680361883 :: [a6989586621680361494]) = Mconcat arg6989586621680361883
data FmapSym0 :: forall a6989586621679563423 b6989586621679563424 f6989586621679563422. (~>) ((~>) a6989586621679563423 b6989586621679563424) ((~>) (f6989586621679563422 a6989586621679563423) (f6989586621679563422 b6989586621679563424))
data FmapSym1 (arg6989586621679563816 :: (~>) a6989586621679563423 b6989586621679563424) :: forall f6989586621679563422. (~>) (f6989586621679563422 a6989586621679563423) (f6989586621679563422 b6989586621679563424)
type FmapSym2 (arg6989586621679563816 :: (~>) a6989586621679563423 b6989586621679563424) (arg6989586621679563817 :: f6989586621679563422 a6989586621679563423) = Fmap arg6989586621679563816 arg6989586621679563817
data (<$@#@$) :: forall a6989586621679563425 b6989586621679563426 f6989586621679563422. (~>) a6989586621679563425 ((~>) (f6989586621679563422 b6989586621679563426) (f6989586621679563422 a6989586621679563425))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679563820 :: a6989586621679563425) :: forall b6989586621679563426 f6989586621679563422. (~>) (f6989586621679563422 b6989586621679563426) (f6989586621679563422 a6989586621679563425)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679563820 :: a6989586621679563425) (arg6989586621679563821 :: f6989586621679563422 b6989586621679563426) = (<$) arg6989586621679563820 arg6989586621679563821
data (<$>@#@$) :: forall a6989586621679735752 b6989586621679735753 f6989586621679735751. (~>) ((~>) a6989586621679735752 b6989586621679735753) ((~>) (f6989586621679735751 a6989586621679735752) (f6989586621679735751 b6989586621679735753))
infixl 4 <$>@#@$
data (<$>@#@$$) (a6989586621679735832 :: (~>) a6989586621679735752 b6989586621679735753) :: forall f6989586621679735751. (~>) (f6989586621679735751 a6989586621679735752) (f6989586621679735751 b6989586621679735753)
infixl 4 <$>@#@$$
type (<$>@#@$$$) (a6989586621679735832 :: (~>) a6989586621679735752 b6989586621679735753) (a6989586621679735833 :: f6989586621679735751 a6989586621679735752) = (<$>) a6989586621679735832 a6989586621679735833
data PureSym0 :: forall a6989586621679563428 f6989586621679563427. (~>) a6989586621679563428 (f6989586621679563427 a6989586621679563428)
type PureSym1 (arg6989586621679563840 :: a6989586621679563428) = Pure arg6989586621679563840
data (<*>@#@$) :: forall a6989586621679563429 b6989586621679563430 f6989586621679563427. (~>) (f6989586621679563427 ((~>) a6989586621679563429 b6989586621679563430)) ((~>) (f6989586621679563427 a6989586621679563429) (f6989586621679563427 b6989586621679563430))
infixl 4 <*>@#@$
data (<*>@#@$$) (arg6989586621679563842 :: f6989586621679563427 ((~>) a6989586621679563429 b6989586621679563430)) :: (~>) (f6989586621679563427 a6989586621679563429) (f6989586621679563427 b6989586621679563430)
infixl 4 <*>@#@$$
type (<*>@#@$$$) (arg6989586621679563842 :: f6989586621679563427 ((~>) a6989586621679563429 b6989586621679563430)) (arg6989586621679563843 :: f6989586621679563427 a6989586621679563429) = (<*>) arg6989586621679563842 arg6989586621679563843
data (*>@#@$) :: forall a6989586621679563434 b6989586621679563435 f6989586621679563427. (~>) (f6989586621679563427 a6989586621679563434) ((~>) (f6989586621679563427 b6989586621679563435) (f6989586621679563427 b6989586621679563435))
infixl 4 *>@#@$
data (*>@#@$$) (arg6989586621679563852 :: f6989586621679563427 a6989586621679563434) :: forall b6989586621679563435. (~>) (f6989586621679563427 b6989586621679563435) (f6989586621679563427 b6989586621679563435)
infixl 4 *>@#@$$
type (*>@#@$$$) (arg6989586621679563852 :: f6989586621679563427 a6989586621679563434) (arg6989586621679563853 :: f6989586621679563427 b6989586621679563435) = (*>) arg6989586621679563852 arg6989586621679563853
data (<*@#@$) :: forall a6989586621679563436 b6989586621679563437 f6989586621679563427. (~>) (f6989586621679563427 a6989586621679563436) ((~>) (f6989586621679563427 b6989586621679563437) (f6989586621679563427 a6989586621679563436))
infixl 4 <*@#@$
data (<*@#@$$) (arg6989586621679563856 :: f6989586621679563427 a6989586621679563436) :: forall b6989586621679563437. (~>) (f6989586621679563427 b6989586621679563437) (f6989586621679563427 a6989586621679563436)
infixl 4 <*@#@$$
type (<*@#@$$$) (arg6989586621679563856 :: f6989586621679563427 a6989586621679563436) (arg6989586621679563857 :: f6989586621679563427 b6989586621679563437) = (<*) arg6989586621679563856 arg6989586621679563857
data (>>=@#@$) :: forall a6989586621679563452 b6989586621679563453 m6989586621679563451. (~>) (m6989586621679563451 a6989586621679563452) ((~>) ((~>) a6989586621679563452 (m6989586621679563451 b6989586621679563453)) (m6989586621679563451 b6989586621679563453))
infixl 1 >>=@#@$
data (>>=@#@$$) (arg6989586621679563923 :: m6989586621679563451 a6989586621679563452) :: forall b6989586621679563453. (~>) ((~>) a6989586621679563452 (m6989586621679563451 b6989586621679563453)) (m6989586621679563451 b6989586621679563453)
infixl 1 >>=@#@$$
type (>>=@#@$$$) (arg6989586621679563923 :: m6989586621679563451 a6989586621679563452) (arg6989586621679563924 :: (~>) a6989586621679563452 (m6989586621679563451 b6989586621679563453)) = (>>=) arg6989586621679563923 arg6989586621679563924
data (>>@#@$) :: forall a6989586621679563454 b6989586621679563455 m6989586621679563451. (~>) (m6989586621679563451 a6989586621679563454) ((~>) (m6989586621679563451 b6989586621679563455) (m6989586621679563451 b6989586621679563455))
infixl 1 >>@#@$
data (>>@#@$$) (arg6989586621679563927 :: m6989586621679563451 a6989586621679563454) :: forall b6989586621679563455. (~>) (m6989586621679563451 b6989586621679563455) (m6989586621679563451 b6989586621679563455)
infixl 1 >>@#@$$
type (>>@#@$$$) (arg6989586621679563927 :: m6989586621679563451 a6989586621679563454) (arg6989586621679563928 :: m6989586621679563451 b6989586621679563455) = (>>) arg6989586621679563927 arg6989586621679563928
data ReturnSym0 :: forall a6989586621679563456 m6989586621679563451. (~>) a6989586621679563456 (m6989586621679563451 a6989586621679563456)
type ReturnSym1 (arg6989586621679563931 :: a6989586621679563456) = Return arg6989586621679563931
data FailSym0 :: forall a6989586621679563457 m6989586621679563451. (~>) Symbol (m6989586621679563451 a6989586621679563457)
type FailSym1 (arg6989586621679563933 :: Symbol) = Fail arg6989586621679563933
data MapM_Sym0 :: forall a6989586621680486129 b6989586621680486130 m6989586621680486128 t6989586621680486127. (~>) ((~>) a6989586621680486129 (m6989586621680486128 b6989586621680486130)) ((~>) (t6989586621680486127 a6989586621680486129) (m6989586621680486128 ()))
data MapM_Sym1 (a6989586621680486727 :: (~>) a6989586621680486129 (m6989586621680486128 b6989586621680486130)) :: forall t6989586621680486127. (~>) (t6989586621680486127 a6989586621680486129) (m6989586621680486128 ())
type MapM_Sym2 (a6989586621680486727 :: (~>) a6989586621680486129 (m6989586621680486128 b6989586621680486130)) (a6989586621680486728 :: t6989586621680486127 a6989586621680486129) = MapM_ a6989586621680486727 a6989586621680486728
data Sequence_Sym0 :: forall a6989586621680486119 m6989586621680486118 t6989586621680486117. (~>) (t6989586621680486117 (m6989586621680486118 a6989586621680486119)) (m6989586621680486118 ())
type Sequence_Sym1 (a6989586621680486719 :: t6989586621680486117 (m6989586621680486118 a6989586621680486119)) = Sequence_ a6989586621680486719
data (=<<@#@$) :: forall a6989586621679563374 b6989586621679563375 m6989586621679563373. (~>) ((~>) a6989586621679563374 (m6989586621679563373 b6989586621679563375)) ((~>) (m6989586621679563373 a6989586621679563374) (m6989586621679563373 b6989586621679563375))
infixr 1 =<<@#@$
data (=<<@#@$$) (a6989586621679563769 :: (~>) a6989586621679563374 (m6989586621679563373 b6989586621679563375)) :: (~>) (m6989586621679563373 a6989586621679563374) (m6989586621679563373 b6989586621679563375)
infixr 1 =<<@#@$$
type (=<<@#@$$$) (a6989586621679563769 :: (~>) a6989586621679563374 (m6989586621679563373 b6989586621679563375)) (a6989586621679563770 :: m6989586621679563373 a6989586621679563374) = (=<<) a6989586621679563769 a6989586621679563770
data ElemSym0 :: forall a6989586621680486201 t6989586621680486184. (~>) a6989586621680486201 ((~>) (t6989586621680486184 a6989586621680486201) Bool)
data ElemSym1 (arg6989586621680486851 :: a6989586621680486201) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486201) Bool
type ElemSym2 (arg6989586621680486851 :: a6989586621680486201) (arg6989586621680486852 :: t6989586621680486184 a6989586621680486201) = Elem arg6989586621680486851 arg6989586621680486852
data FoldMapSym0 :: forall a6989586621680486187 m6989586621680486186 t6989586621680486184. (~>) ((~>) a6989586621680486187 m6989586621680486186) ((~>) (t6989586621680486184 a6989586621680486187) m6989586621680486186)
data FoldMapSym1 (arg6989586621680486809 :: (~>) a6989586621680486187 m6989586621680486186) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486187) m6989586621680486186
type FoldMapSym2 (arg6989586621680486809 :: (~>) a6989586621680486187 m6989586621680486186) (arg6989586621680486810 :: t6989586621680486184 a6989586621680486187) = FoldMap arg6989586621680486809 arg6989586621680486810
data FoldrSym0 :: forall a6989586621680486188 b6989586621680486189 t6989586621680486184. (~>) ((~>) a6989586621680486188 ((~>) b6989586621680486189 b6989586621680486189)) ((~>) b6989586621680486189 ((~>) (t6989586621680486184 a6989586621680486188) b6989586621680486189))
data FoldrSym1 (arg6989586621680486813 :: (~>) a6989586621680486188 ((~>) b6989586621680486189 b6989586621680486189)) :: forall t6989586621680486184. (~>) b6989586621680486189 ((~>) (t6989586621680486184 a6989586621680486188) b6989586621680486189)
data FoldrSym2 (arg6989586621680486813 :: (~>) a6989586621680486188 ((~>) b6989586621680486189 b6989586621680486189)) (arg6989586621680486814 :: b6989586621680486189) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486188) b6989586621680486189
type FoldrSym3 (arg6989586621680486813 :: (~>) a6989586621680486188 ((~>) b6989586621680486189 b6989586621680486189)) (arg6989586621680486814 :: b6989586621680486189) (arg6989586621680486815 :: t6989586621680486184 a6989586621680486188) = Foldr arg6989586621680486813 arg6989586621680486814 arg6989586621680486815
data FoldlSym0 :: forall a6989586621680486193 b6989586621680486192 t6989586621680486184. (~>) ((~>) b6989586621680486192 ((~>) a6989586621680486193 b6989586621680486192)) ((~>) b6989586621680486192 ((~>) (t6989586621680486184 a6989586621680486193) b6989586621680486192))
data FoldlSym1 (arg6989586621680486825 :: (~>) b6989586621680486192 ((~>) a6989586621680486193 b6989586621680486192)) :: forall t6989586621680486184. (~>) b6989586621680486192 ((~>) (t6989586621680486184 a6989586621680486193) b6989586621680486192)
data FoldlSym2 (arg6989586621680486825 :: (~>) b6989586621680486192 ((~>) a6989586621680486193 b6989586621680486192)) (arg6989586621680486826 :: b6989586621680486192) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486193) b6989586621680486192
type FoldlSym3 (arg6989586621680486825 :: (~>) b6989586621680486192 ((~>) a6989586621680486193 b6989586621680486192)) (arg6989586621680486826 :: b6989586621680486192) (arg6989586621680486827 :: t6989586621680486184 a6989586621680486193) = Foldl arg6989586621680486825 arg6989586621680486826 arg6989586621680486827
data Foldr1Sym0 :: forall a6989586621680486196 t6989586621680486184. (~>) ((~>) a6989586621680486196 ((~>) a6989586621680486196 a6989586621680486196)) ((~>) (t6989586621680486184 a6989586621680486196) a6989586621680486196)
data Foldr1Sym1 (arg6989586621680486837 :: (~>) a6989586621680486196 ((~>) a6989586621680486196 a6989586621680486196)) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486196) a6989586621680486196
type Foldr1Sym2 (arg6989586621680486837 :: (~>) a6989586621680486196 ((~>) a6989586621680486196 a6989586621680486196)) (arg6989586621680486838 :: t6989586621680486184 a6989586621680486196) = Foldr1 arg6989586621680486837 arg6989586621680486838
data Foldl1Sym0 :: forall a6989586621680486197 t6989586621680486184. (~>) ((~>) a6989586621680486197 ((~>) a6989586621680486197 a6989586621680486197)) ((~>) (t6989586621680486184 a6989586621680486197) a6989586621680486197)
data Foldl1Sym1 (arg6989586621680486841 :: (~>) a6989586621680486197 ((~>) a6989586621680486197 a6989586621680486197)) :: forall t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486197) a6989586621680486197
type Foldl1Sym2 (arg6989586621680486841 :: (~>) a6989586621680486197 ((~>) a6989586621680486197 a6989586621680486197)) (arg6989586621680486842 :: t6989586621680486184 a6989586621680486197) = Foldl1 arg6989586621680486841 arg6989586621680486842
data MaximumSym0 :: forall a6989586621680486202 t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486202) a6989586621680486202
type MaximumSym1 (arg6989586621680486855 :: t6989586621680486184 a6989586621680486202) = Maximum arg6989586621680486855
data MinimumSym0 :: forall a6989586621680486203 t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486203) a6989586621680486203
type MinimumSym1 (arg6989586621680486857 :: t6989586621680486184 a6989586621680486203) = Minimum arg6989586621680486857
data SumSym0 :: forall a6989586621680486204 t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486204) a6989586621680486204
type SumSym1 (arg6989586621680486859 :: t6989586621680486184 a6989586621680486204) = Sum arg6989586621680486859
data ProductSym0 :: forall a6989586621680486205 t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486205) a6989586621680486205
type ProductSym1 (arg6989586621680486861 :: t6989586621680486184 a6989586621680486205) = Product arg6989586621680486861
data TraverseSym0 :: forall a6989586621680790270 b6989586621680790271 f6989586621680790269 t6989586621680790268. (~>) ((~>) a6989586621680790270 (f6989586621680790269 b6989586621680790271)) ((~>) (t6989586621680790268 a6989586621680790270) (f6989586621680790269 (t6989586621680790268 b6989586621680790271)))
data TraverseSym1 (arg6989586621680790280 :: (~>) a6989586621680790270 (f6989586621680790269 b6989586621680790271)) :: forall t6989586621680790268. (~>) (t6989586621680790268 a6989586621680790270) (f6989586621680790269 (t6989586621680790268 b6989586621680790271))
type TraverseSym2 (arg6989586621680790280 :: (~>) a6989586621680790270 (f6989586621680790269 b6989586621680790271)) (arg6989586621680790281 :: t6989586621680790268 a6989586621680790270) = Traverse arg6989586621680790280 arg6989586621680790281
data SequenceASym0 :: forall a6989586621680790273 f6989586621680790272 t6989586621680790268. (~>) (t6989586621680790268 (f6989586621680790272 a6989586621680790273)) (f6989586621680790272 (t6989586621680790268 a6989586621680790273))
type SequenceASym1 (arg6989586621680790284 :: t6989586621680790268 (f6989586621680790272 a6989586621680790273)) = SequenceA arg6989586621680790284
data MapMSym0 :: forall a6989586621680790275 b6989586621680790276 m6989586621680790274 t6989586621680790268. (~>) ((~>) a6989586621680790275 (m6989586621680790274 b6989586621680790276)) ((~>) (t6989586621680790268 a6989586621680790275) (m6989586621680790274 (t6989586621680790268 b6989586621680790276)))
data MapMSym1 (arg6989586621680790286 :: (~>) a6989586621680790275 (m6989586621680790274 b6989586621680790276)) :: forall t6989586621680790268. (~>) (t6989586621680790268 a6989586621680790275) (m6989586621680790274 (t6989586621680790268 b6989586621680790276))
type MapMSym2 (arg6989586621680790286 :: (~>) a6989586621680790275 (m6989586621680790274 b6989586621680790276)) (arg6989586621680790287 :: t6989586621680790268 a6989586621680790275) = MapM arg6989586621680790286 arg6989586621680790287
data SequenceSym0 :: forall a6989586621680790278 m6989586621680790277 t6989586621680790268. (~>) (t6989586621680790268 (m6989586621680790277 a6989586621680790278)) (m6989586621680790277 (t6989586621680790268 a6989586621680790278))
type SequenceSym1 (arg6989586621680790290 :: t6989586621680790268 (m6989586621680790277 a6989586621680790278)) = Sequence arg6989586621680790290
data IdSym0 :: forall a6989586621679538766. (~>) a6989586621679538766 a6989586621679538766
type IdSym1 (a6989586621679538961 :: a6989586621679538766) = Id a6989586621679538961
data ConstSym0 :: forall a6989586621679538764 b6989586621679538765. (~>) a6989586621679538764 ((~>) b6989586621679538765 a6989586621679538764)
data ConstSym1 (a6989586621679538946 :: a6989586621679538764) :: forall b6989586621679538765. (~>) b6989586621679538765 a6989586621679538764
type ConstSym2 (a6989586621679538946 :: a6989586621679538764) (a6989586621679538947 :: b6989586621679538765) = Const a6989586621679538946 a6989586621679538947
data (.@#@$) :: forall a6989586621679538763 b6989586621679538761 c6989586621679538762. (~>) ((~>) b6989586621679538761 c6989586621679538762) ((~>) ((~>) a6989586621679538763 b6989586621679538761) ((~>) a6989586621679538763 c6989586621679538762))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679538927 :: (~>) b6989586621679538761 c6989586621679538762) :: forall a6989586621679538763. (~>) ((~>) a6989586621679538763 b6989586621679538761) ((~>) a6989586621679538763 c6989586621679538762)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679538927 :: (~>) b6989586621679538761 c6989586621679538762) (a6989586621679538928 :: (~>) a6989586621679538763 b6989586621679538761) :: (~>) a6989586621679538763 c6989586621679538762
infixr 9 .@#@$$$
data ($@#@$) :: forall a6989586621679538755 b6989586621679538756. (~>) ((~>) a6989586621679538755 b6989586621679538756) ((~>) a6989586621679538755 b6989586621679538756)
infixr 0 $@#@$
data ($@#@$$) (a6989586621679538912 :: (~>) a6989586621679538755 b6989586621679538756) :: (~>) a6989586621679538755 b6989586621679538756
infixr 0 $@#@$$
type ($@#@$$$) (a6989586621679538912 :: (~>) a6989586621679538755 b6989586621679538756) (a6989586621679538913 :: a6989586621679538755) = ($) a6989586621679538912 a6989586621679538913
data ($!@#@$) :: forall a6989586621679538753 b6989586621679538754. (~>) ((~>) a6989586621679538753 b6989586621679538754) ((~>) a6989586621679538753 b6989586621679538754)
infixr 0 $!@#@$
data ($!@#@$$) (a6989586621679538903 :: (~>) a6989586621679538753 b6989586621679538754) :: (~>) a6989586621679538753 b6989586621679538754
infixr 0 $!@#@$$
type ($!@#@$$$) (a6989586621679538903 :: (~>) a6989586621679538753 b6989586621679538754) (a6989586621679538904 :: a6989586621679538753) = ($!) a6989586621679538903 a6989586621679538904
data FlipSym0 :: forall a6989586621679538758 b6989586621679538759 c6989586621679538760. (~>) ((~>) a6989586621679538758 ((~>) b6989586621679538759 c6989586621679538760)) ((~>) b6989586621679538759 ((~>) a6989586621679538758 c6989586621679538760))
data FlipSym1 (a6989586621679538918 :: (~>) a6989586621679538758 ((~>) b6989586621679538759 c6989586621679538760)) :: (~>) b6989586621679538759 ((~>) a6989586621679538758 c6989586621679538760)
data FlipSym2 (a6989586621679538918 :: (~>) a6989586621679538758 ((~>) b6989586621679538759 c6989586621679538760)) (a6989586621679538919 :: b6989586621679538759) :: (~>) a6989586621679538758 c6989586621679538760
data AsTypeOfSym0 :: forall a6989586621679538757. (~>) a6989586621679538757 ((~>) a6989586621679538757 a6989586621679538757)
data AsTypeOfSym1 (a6989586621679538955 :: a6989586621679538757) :: (~>) a6989586621679538757 a6989586621679538757
type AsTypeOfSym2 (a6989586621679538955 :: a6989586621679538757) (a6989586621679538956 :: a6989586621679538757) = AsTypeOf a6989586621679538955 a6989586621679538956
data SeqSym0 :: forall a6989586621679538750 b6989586621679538751. (~>) a6989586621679538750 ((~>) b6989586621679538751 b6989586621679538751)
infixr 0 `SeqSym0`
data SeqSym1 (a6989586621679538872 :: a6989586621679538750) :: forall b6989586621679538751. (~>) b6989586621679538751 b6989586621679538751
infixr 0 `SeqSym1`
type SeqSym2 (a6989586621679538872 :: a6989586621679538750) (a6989586621679538873 :: b6989586621679538751) = Seq a6989586621679538872 a6989586621679538873
data (:@#@$) :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 ((~>) [a3530822107858468865] [(a3530822107858468865 :: Type)])
infixr 5 :@#@$
data (:@#@$$) (t6989586621679312441 :: (a3530822107858468865 :: Type)) :: (~>) [a3530822107858468865] [(a3530822107858468865 :: Type)]
infixr 5 :@#@$$
type (:@#@$$$) (t6989586621679312441 :: a3530822107858468865) (t6989586621679312442 :: [a3530822107858468865]) =  '(:) t6989586621679312441 t6989586621679312442
type NilSym0 = '[]
data MapSym0 :: forall a6989586621679538768 b6989586621679538769. (~>) ((~>) a6989586621679538768 b6989586621679538769) ((~>) [a6989586621679538768] [b6989586621679538769])
data MapSym1 (a6989586621679538972 :: (~>) a6989586621679538768 b6989586621679538769) :: (~>) [a6989586621679538768] [b6989586621679538769]
type MapSym2 (a6989586621679538972 :: (~>) a6989586621679538768 b6989586621679538769) (a6989586621679538973 :: [a6989586621679538768]) = Map a6989586621679538972 a6989586621679538973
data ReverseSym0 :: forall a6989586621679965680. (~>) [a6989586621679965680] [a6989586621679965680]
type ReverseSym1 (a6989586621679976139 :: [a6989586621679965680]) = Reverse a6989586621679976139
data (++@#@$$) (a6989586621679538964 :: [a6989586621679538767]) :: (~>) [a6989586621679538767] [a6989586621679538767]
infixr 5 ++@#@$$
data (++@#@$) :: forall a6989586621679538767. (~>) [a6989586621679538767] ((~>) [a6989586621679538767] [a6989586621679538767])
infixr 5 ++@#@$
data FilterSym0 :: forall a6989586621679965595. (~>) ((~>) a6989586621679965595 Bool) ((~>) [a6989586621679965595] [a6989586621679965595])
data FilterSym1 (a6989586621679975136 :: (~>) a6989586621679965595 Bool) :: (~>) [a6989586621679965595] [a6989586621679965595]
type FilterSym2 (a6989586621679975136 :: (~>) a6989586621679965595 Bool) (a6989586621679975137 :: [a6989586621679965595]) = Filter a6989586621679975136 a6989586621679975137
data HeadSym0 :: forall a6989586621679965685. (~>) [a6989586621679965685] a6989586621679965685
type HeadSym1 (a6989586621679976208 :: [a6989586621679965685]) = Head a6989586621679976208
data LastSym0 :: forall a6989586621679965684. (~>) [a6989586621679965684] a6989586621679965684
type LastSym1 (a6989586621679976203 :: [a6989586621679965684]) = Last a6989586621679976203
data TailSym0 :: forall a6989586621679965683. (~>) [a6989586621679965683] [a6989586621679965683]
type TailSym1 (a6989586621679976200 :: [a6989586621679965683]) = Tail a6989586621679976200
data InitSym0 :: forall a6989586621679965682. (~>) [a6989586621679965682] [a6989586621679965682]
type InitSym1 (a6989586621679976186 :: [a6989586621679965682]) = Init a6989586621679976186
data NullSym0 :: forall a6989586621680486199 t6989586621680486184. (~>) (t6989586621680486184 a6989586621680486199) Bool
type NullSym1 (arg6989586621680486847 :: t6989586621680486184 a6989586621680486199) = Null arg6989586621680486847
data ConcatSym0 :: forall a6989586621680486110 t6989586621680486109. (~>) (t6989586621680486109 [a6989586621680486110]) [a6989586621680486110]
type ConcatSym1 (a6989586621680486695 :: t6989586621680486109 [a6989586621680486110]) = Concat a6989586621680486695
data ConcatMapSym0 :: forall a6989586621680486107 b6989586621680486108 t6989586621680486106. (~>) ((~>) a6989586621680486107 [b6989586621680486108]) ((~>) (t6989586621680486106 a6989586621680486107) [b6989586621680486108])
data ConcatMapSym1 (a6989586621680486679 :: (~>) a6989586621680486107 [b6989586621680486108]) :: forall t6989586621680486106. (~>) (t6989586621680486106 a6989586621680486107) [b6989586621680486108]
type ConcatMapSym2 (a6989586621680486679 :: (~>) a6989586621680486107 [b6989586621680486108]) (a6989586621680486680 :: t6989586621680486106 a6989586621680486107) = ConcatMap a6989586621680486679 a6989586621680486680
data AndSym0 :: forall t6989586621680486105. (~>) (t6989586621680486105 Bool) Bool
type AndSym1 (a6989586621680486670 :: t6989586621680486105 Bool) = And a6989586621680486670
data OrSym0 :: forall t6989586621680486104. (~>) (t6989586621680486104 Bool) Bool
type OrSym1 (a6989586621680486661 :: t6989586621680486104 Bool) = Or a6989586621680486661
data AnySym0 :: forall a6989586621680486103 t6989586621680486102. (~>) ((~>) a6989586621680486103 Bool) ((~>) (t6989586621680486102 a6989586621680486103) Bool)
data AnySym1 (a6989586621680486648 :: (~>) a6989586621680486103 Bool) :: forall t6989586621680486102. (~>) (t6989586621680486102 a6989586621680486103) Bool
type AnySym2 (a6989586621680486648 :: (~>) a6989586621680486103 Bool) (a6989586621680486649 :: t6989586621680486102 a6989586621680486103) = Any a6989586621680486648 a6989586621680486649
data AllSym0 :: forall a6989586621680486101 t6989586621680486100. (~>) ((~>) a6989586621680486101 Bool) ((~>) (t6989586621680486100 a6989586621680486101) Bool)
data AllSym1 (a6989586621680486635 :: (~>) a6989586621680486101 Bool) :: forall t6989586621680486100. (~>) (t6989586621680486100 a6989586621680486101) Bool
type AllSym2 (a6989586621680486635 :: (~>) a6989586621680486101 Bool) (a6989586621680486636 :: t6989586621680486100 a6989586621680486101) = All a6989586621680486635 a6989586621680486636
data ScanlSym0 :: forall a6989586621679965663 b6989586621679965662. (~>) ((~>) b6989586621679965662 ((~>) a6989586621679965663 b6989586621679965662)) ((~>) b6989586621679965662 ((~>) [a6989586621679965663] [b6989586621679965662]))
data ScanlSym1 (a6989586621679975771 :: (~>) b6989586621679965662 ((~>) a6989586621679965663 b6989586621679965662)) :: (~>) b6989586621679965662 ((~>) [a6989586621679965663] [b6989586621679965662])
data ScanlSym2 (a6989586621679975771 :: (~>) b6989586621679965662 ((~>) a6989586621679965663 b6989586621679965662)) (a6989586621679975772 :: b6989586621679965662) :: (~>) [a6989586621679965663] [b6989586621679965662]
type ScanlSym3 (a6989586621679975771 :: (~>) b6989586621679965662 ((~>) a6989586621679965663 b6989586621679965662)) (a6989586621679975772 :: b6989586621679965662) (a6989586621679975773 :: [a6989586621679965663]) = Scanl a6989586621679975771 a6989586621679975772 a6989586621679975773
data Scanl1Sym0 :: forall a6989586621679965661. (~>) ((~>) a6989586621679965661 ((~>) a6989586621679965661 a6989586621679965661)) ((~>) [a6989586621679965661] [a6989586621679965661])
data Scanl1Sym1 (a6989586621679975785 :: (~>) a6989586621679965661 ((~>) a6989586621679965661 a6989586621679965661)) :: (~>) [a6989586621679965661] [a6989586621679965661]
type Scanl1Sym2 (a6989586621679975785 :: (~>) a6989586621679965661 ((~>) a6989586621679965661 a6989586621679965661)) (a6989586621679975786 :: [a6989586621679965661]) = Scanl1 a6989586621679975785 a6989586621679975786
data ScanrSym0 :: forall a6989586621679965659 b6989586621679965660. (~>) ((~>) a6989586621679965659 ((~>) b6989586621679965660 b6989586621679965660)) ((~>) b6989586621679965660 ((~>) [a6989586621679965659] [b6989586621679965660]))
data ScanrSym1 (a6989586621679975750 :: (~>) a6989586621679965659 ((~>) b6989586621679965660 b6989586621679965660)) :: (~>) b6989586621679965660 ((~>) [a6989586621679965659] [b6989586621679965660])
data ScanrSym2 (a6989586621679975750 :: (~>) a6989586621679965659 ((~>) b6989586621679965660 b6989586621679965660)) (a6989586621679975751 :: b6989586621679965660) :: (~>) [a6989586621679965659] [b6989586621679965660]
type ScanrSym3 (a6989586621679975750 :: (~>) a6989586621679965659 ((~>) b6989586621679965660 b6989586621679965660)) (a6989586621679975751 :: b6989586621679965660) (a6989586621679975752 :: [a6989586621679965659]) = Scanr a6989586621679975750 a6989586621679975751 a6989586621679975752
data Scanr1Sym0 :: forall a6989586621679965658. (~>) ((~>) a6989586621679965658 ((~>) a6989586621679965658 a6989586621679965658)) ((~>) [a6989586621679965658] [a6989586621679965658])
data Scanr1Sym1 (a6989586621679975726 :: (~>) a6989586621679965658 ((~>) a6989586621679965658 a6989586621679965658)) :: (~>) [a6989586621679965658] [a6989586621679965658]
type Scanr1Sym2 (a6989586621679975726 :: (~>) a6989586621679965658 ((~>) a6989586621679965658 a6989586621679965658)) (a6989586621679975727 :: [a6989586621679965658]) = Scanr1 a6989586621679975726 a6989586621679975727
data ReplicateSym0 :: forall a6989586621679965566. (~>) Nat ((~>) a6989586621679965566 [a6989586621679965566])
data ReplicateSym1 (a6989586621679974868 :: Nat) :: forall a6989586621679965566. (~>) a6989586621679965566 [a6989586621679965566]
type ReplicateSym2 (a6989586621679974868 :: Nat) (a6989586621679974869 :: a6989586621679965566) = Replicate a6989586621679974868 a6989586621679974869
data TakeSym0 :: forall a6989586621679965582. (~>) Nat ((~>) [a6989586621679965582] [a6989586621679965582])
data TakeSym1 (a6989586621679974964 :: Nat) :: forall a6989586621679965582. (~>) [a6989586621679965582] [a6989586621679965582]
type TakeSym2 (a6989586621679974964 :: Nat) (a6989586621679974965 :: [a6989586621679965582]) = Take a6989586621679974964 a6989586621679974965
data DropSym0 :: forall a6989586621679965581. (~>) Nat ((~>) [a6989586621679965581] [a6989586621679965581])
data DropSym1 (a6989586621679974950 :: Nat) :: forall a6989586621679965581. (~>) [a6989586621679965581] [a6989586621679965581]
type DropSym2 (a6989586621679974950 :: Nat) (a6989586621679974951 :: [a6989586621679965581]) = Drop a6989586621679974950 a6989586621679974951
data SplitAtSym0 :: forall a6989586621679965580. (~>) Nat ((~>) [a6989586621679965580] ([a6989586621679965580], [a6989586621679965580]))
data SplitAtSym1 (a6989586621679974978 :: Nat) :: forall a6989586621679965580. (~>) [a6989586621679965580] ([a6989586621679965580], [a6989586621679965580])
type SplitAtSym2 (a6989586621679974978 :: Nat) (a6989586621679974979 :: [a6989586621679965580]) = SplitAt a6989586621679974978 a6989586621679974979
data TakeWhileSym0 :: forall a6989586621679965587. (~>) ((~>) a6989586621679965587 Bool) ((~>) [a6989586621679965587] [a6989586621679965587])
data TakeWhileSym1 (a6989586621679975122 :: (~>) a6989586621679965587 Bool) :: (~>) [a6989586621679965587] [a6989586621679965587]
type TakeWhileSym2 (a6989586621679975122 :: (~>) a6989586621679965587 Bool) (a6989586621679975123 :: [a6989586621679965587]) = TakeWhile a6989586621679975122 a6989586621679975123
data DropWhileSym0 :: forall a6989586621679965586. (~>) ((~>) a6989586621679965586 Bool) ((~>) [a6989586621679965586] [a6989586621679965586])
data DropWhileSym1 (a6989586621679975104 :: (~>) a6989586621679965586 Bool) :: (~>) [a6989586621679965586] [a6989586621679965586]
type DropWhileSym2 (a6989586621679975104 :: (~>) a6989586621679965586 Bool) (a6989586621679975105 :: [a6989586621679965586]) = DropWhile a6989586621679975104 a6989586621679975105
data DropWhileEndSym0 :: forall a6989586621679965585. (~>) ((~>) a6989586621679965585 Bool) ((~>) [a6989586621679965585] [a6989586621679965585])
data DropWhileEndSym1 (a6989586621679976160 :: (~>) a6989586621679965585 Bool) :: (~>) [a6989586621679965585] [a6989586621679965585]
type DropWhileEndSym2 (a6989586621679976160 :: (~>) a6989586621679965585 Bool) (a6989586621679976161 :: [a6989586621679965585]) = DropWhileEnd a6989586621679976160 a6989586621679976161
data SpanSym0 :: forall a6989586621679965584. (~>) ((~>) a6989586621679965584 Bool) ((~>) [a6989586621679965584] ([a6989586621679965584], [a6989586621679965584]))
data SpanSym1 (a6989586621679975027 :: (~>) a6989586621679965584 Bool) :: (~>) [a6989586621679965584] ([a6989586621679965584], [a6989586621679965584])
type SpanSym2 (a6989586621679975027 :: (~>) a6989586621679965584 Bool) (a6989586621679975028 :: [a6989586621679965584]) = Span a6989586621679975027 a6989586621679975028
data BreakSym0 :: forall a6989586621679965583. (~>) ((~>) a6989586621679965583 Bool) ((~>) [a6989586621679965583] ([a6989586621679965583], [a6989586621679965583]))
data BreakSym1 (a6989586621679974984 :: (~>) a6989586621679965583 Bool) :: (~>) [a6989586621679965583] ([a6989586621679965583], [a6989586621679965583])
type BreakSym2 (a6989586621679974984 :: (~>) a6989586621679965583 Bool) (a6989586621679974985 :: [a6989586621679965583]) = Break a6989586621679974984 a6989586621679974985
data NotElemSym0 :: forall a6989586621680486095 t6989586621680486094. (~>) a6989586621680486095 ((~>) (t6989586621680486094 a6989586621680486095) Bool)
data NotElemSym1 (a6989586621680486577 :: a6989586621680486095) :: forall t6989586621680486094. (~>) (t6989586621680486094 a6989586621680486095) Bool
type NotElemSym2 (a6989586621680486577 :: a6989586621680486095) (a6989586621680486578 :: t6989586621680486094 a6989586621680486095) = NotElem a6989586621680486577 a6989586621680486578
data ZipSym0 :: forall a6989586621679965641 b6989586621679965642. (~>) [a6989586621679965641] ((~>) [b6989586621679965642] [(a6989586621679965641, b6989586621679965642)])
data ZipSym1 (a6989586621679975469 :: [a6989586621679965641]) :: forall b6989586621679965642. (~>) [b6989586621679965642] [(a6989586621679965641, b6989586621679965642)]
type ZipSym2 (a6989586621679975469 :: [a6989586621679965641]) (a6989586621679975470 :: [b6989586621679965642]) = Zip a6989586621679975469 a6989586621679975470
data Zip3Sym0 :: forall a6989586621679965638 b6989586621679965639 c6989586621679965640. (~>) [a6989586621679965638] ((~>) [b6989586621679965639] ((~>) [c6989586621679965640] [(a6989586621679965638, b6989586621679965639, c6989586621679965640)]))
data Zip3Sym1 (a6989586621679975457 :: [a6989586621679965638]) :: forall b6989586621679965639 c6989586621679965640. (~>) [b6989586621679965639] ((~>) [c6989586621679965640] [(a6989586621679965638, b6989586621679965639, c6989586621679965640)])
data Zip3Sym2 (a6989586621679975457 :: [a6989586621679965638]) (a6989586621679975458 :: [b6989586621679965639]) :: forall c6989586621679965640. (~>) [c6989586621679965640] [(a6989586621679965638, b6989586621679965639, c6989586621679965640)]
type Zip3Sym3 (a6989586621679975457 :: [a6989586621679965638]) (a6989586621679975458 :: [b6989586621679965639]) (a6989586621679975459 :: [c6989586621679965640]) = Zip3 a6989586621679975457 a6989586621679975458 a6989586621679975459
data ZipWithSym0 :: forall a6989586621679965635 b6989586621679965636 c6989586621679965637. (~>) ((~>) a6989586621679965635 ((~>) b6989586621679965636 c6989586621679965637)) ((~>) [a6989586621679965635] ((~>) [b6989586621679965636] [c6989586621679965637]))
data ZipWithSym1 (a6989586621679975446 :: (~>) a6989586621679965635 ((~>) b6989586621679965636 c6989586621679965637)) :: (~>) [a6989586621679965635] ((~>) [b6989586621679965636] [c6989586621679965637])
data ZipWithSym2 (a6989586621679975446 :: (~>) a6989586621679965635 ((~>) b6989586621679965636 c6989586621679965637)) (a6989586621679975447 :: [a6989586621679965635]) :: (~>) [b6989586621679965636] [c6989586621679965637]
type ZipWithSym3 (a6989586621679975446 :: (~>) a6989586621679965635 ((~>) b6989586621679965636 c6989586621679965637)) (a6989586621679975447 :: [a6989586621679965635]) (a6989586621679975448 :: [b6989586621679965636]) = ZipWith a6989586621679975446 a6989586621679975447 a6989586621679975448
data ZipWith3Sym0 :: forall a6989586621679965631 b6989586621679965632 c6989586621679965633 d6989586621679965634. (~>) ((~>) a6989586621679965631 ((~>) b6989586621679965632 ((~>) c6989586621679965633 d6989586621679965634))) ((~>) [a6989586621679965631] ((~>) [b6989586621679965632] ((~>) [c6989586621679965633] [d6989586621679965634])))
data ZipWith3Sym1 (a6989586621679975431 :: (~>) a6989586621679965631 ((~>) b6989586621679965632 ((~>) c6989586621679965633 d6989586621679965634))) :: (~>) [a6989586621679965631] ((~>) [b6989586621679965632] ((~>) [c6989586621679965633] [d6989586621679965634]))
data ZipWith3Sym2 (a6989586621679975431 :: (~>) a6989586621679965631 ((~>) b6989586621679965632 ((~>) c6989586621679965633 d6989586621679965634))) (a6989586621679975432 :: [a6989586621679965631]) :: (~>) [b6989586621679965632] ((~>) [c6989586621679965633] [d6989586621679965634])
data ZipWith3Sym3 (a6989586621679975431 :: (~>) a6989586621679965631 ((~>) b6989586621679965632 ((~>) c6989586621679965633 d6989586621679965634))) (a6989586621679975432 :: [a6989586621679965631]) (a6989586621679975433 :: [b6989586621679965632]) :: (~>) [c6989586621679965633] [d6989586621679965634]
data UnzipSym0 :: forall a6989586621679965629 b6989586621679965630. (~>) [(a6989586621679965629, b6989586621679965630)] ([a6989586621679965629], [b6989586621679965630])
type UnzipSym1 (a6989586621679975412 :: [(a6989586621679965629, b6989586621679965630)]) = Unzip a6989586621679975412
data UnlinesSym0 :: (~>) [Symbol] Symbol
type UnlinesSym1 (a6989586621679975283 :: [Symbol]) = Unlines a6989586621679975283
data UnwordsSym0 :: (~>) [Symbol] Symbol
type UnwordsSym1 (a6989586621679975272 :: [Symbol]) = Unwords a6989586621679975272


-- | This file implements <a>singletonStar</a>, which generates a datatype
--   <tt>Rep</tt> and associated singleton from a list of types. The
--   promoted version of <tt>Rep</tt> is kind <tt>*</tt> and the Haskell
--   types themselves. This is still very experimental, so expect unusual
--   results!
module Data.Singletons.CustomStar

-- | Produce a representation and singleton for the collection of types
--   given.
--   
--   A datatype <tt>Rep</tt> is created, with one constructor per type in
--   the declared universe. When this type is promoted by the singletons
--   library, the constructors become full types in <tt>*</tt>, not just
--   promoted data constructors.
--   
--   For example,
--   
--   <pre>
--   $(singletonStar [''Nat, ''Bool, ''Maybe])
--   </pre>
--   
--   generates the following:
--   
--   <pre>
--   data Rep = Nat | Bool | Maybe Rep deriving (Eq, Ord, Read, Show)
--   </pre>
--   
--   and its singleton. However, because <tt>Rep</tt> is promoted to
--   <tt>*</tt>, the singleton is perhaps slightly unexpected:
--   
--   <pre>
--   data instance Sing (a :: *) where
--     SNat :: Sing Nat
--     SBool :: Sing Bool
--     SMaybe :: Sing a -&gt; Sing (Maybe a)
--   </pre>
--   
--   The unexpected part is that <tt>Nat</tt>, <tt>Bool</tt>, and
--   <tt>Maybe</tt> above are the real <tt>Nat</tt>, <tt>Bool</tt>, and
--   <tt>Maybe</tt>, not just promoted data constructors.
--   
--   Please note that this function is <i>very</i> experimental. Use at
--   your own risk.
singletonStar :: DsMonad q => [Name] -> q [Dec]
