-- 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_a1szr :: Void) :: a_a1szo
sAbsurd :: forall a_a1szo (t_a1szx :: Void). Sing t_a1szx -> Sing (Apply AbsurdSym0 t_a1szx :: a_a1szo)
data AbsurdSym0 :: forall a6989586621679357946. (~>) Void a6989586621679357946
type AbsurdSym1 (a6989586621679357949 :: Void) = Absurd a6989586621679357949
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_a1sOb :: (a_a1sMD, b_a1sME)) :: a_a1sMD
sFst :: forall a_a1sMD b_a1sME (t_a1sOu :: (a_a1sMD, b_a1sME)). Sing t_a1sOu -> Sing (Apply FstSym0 t_a1sOu :: a_a1sMD)
type family Snd (a_a1sO8 :: (a_a1sMB, b_a1sMC)) :: b_a1sMC
sSnd :: forall a_a1sMB b_a1sMC (t_a1sOs :: (a_a1sMB, b_a1sMC)). Sing t_a1sOs -> Sing (Apply SndSym0 t_a1sOs :: b_a1sMC)
type family Curry (a_a1sNZ :: (~>) (a_a1sMy, b_a1sMz) c_a1sMA) (a_a1sO0 :: a_a1sMy) (a_a1sO1 :: b_a1sMz) :: c_a1sMA
sCurry :: forall a_a1sMy b_a1sMz c_a1sMA (t_a1sOm :: (~>) (a_a1sMy, b_a1sMz) c_a1sMA) (t_a1sOn :: a_a1sMy) (t_a1sOo :: b_a1sMz). Sing t_a1sOm -> Sing t_a1sOn -> Sing t_a1sOo -> Sing (Apply (Apply (Apply CurrySym0 t_a1sOm) t_a1sOn) t_a1sOo :: c_a1sMA)
type family Uncurry (a_a1sOe :: (~>) a_a1sMv ((~>) b_a1sMw c_a1sMx)) (a_a1sOf :: (a_a1sMv, b_a1sMw)) :: c_a1sMx
sUncurry :: forall a_a1sMv b_a1sMw c_a1sMx (t_a1sOw :: (~>) a_a1sMv ((~>) b_a1sMw c_a1sMx)) (t_a1sOx :: (a_a1sMv, b_a1sMw)). Sing t_a1sOw -> Sing t_a1sOx -> Sing (Apply (Apply UncurrySym0 t_a1sOw) t_a1sOx :: c_a1sMx)
type family Swap (a_a1sNV :: (a_a1sMt, b_a1sMu)) :: (b_a1sMu, a_a1sMt)
sSwap :: forall a_a1sMt b_a1sMu (t_a1sOk :: (a_a1sMt, b_a1sMu)). Sing t_a1sOk -> Sing (Apply SwapSym0 t_a1sOk :: (b_a1sMu, a_a1sMt))
type Tuple0Sym0 = '()
data Tuple2Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type)))
data Tuple2Sym1 (t6989586621679301671 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type). (~>) b3530822107858468866 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type))
type Tuple2Sym2 (t6989586621679301671 :: a3530822107858468865) (t6989586621679301672 :: b3530822107858468866) = '(t6989586621679301671, t6989586621679301672)
data Tuple3Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type))))
data Tuple3Sym1 (t6989586621679301702 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type)))
data Tuple3Sym2 (t6989586621679301702 :: (a3530822107858468865 :: Type)) (t6989586621679301703 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type). (~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type))
type Tuple3Sym3 (t6989586621679301702 :: a3530822107858468865) (t6989586621679301703 :: b3530822107858468866) (t6989586621679301704 :: c3530822107858468867) = '(t6989586621679301702, t6989586621679301703, t6989586621679301704)
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 (t6989586621679301749 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type))))
data Tuple4Sym2 (t6989586621679301749 :: (a3530822107858468865 :: Type)) (t6989586621679301750 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type)))
data Tuple4Sym3 (t6989586621679301749 :: (a3530822107858468865 :: Type)) (t6989586621679301750 :: (b3530822107858468866 :: Type)) (t6989586621679301751 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type). (~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type))
type Tuple4Sym4 (t6989586621679301749 :: a3530822107858468865) (t6989586621679301750 :: b3530822107858468866) (t6989586621679301751 :: c3530822107858468867) (t6989586621679301752 :: d3530822107858468868) = '(t6989586621679301749, t6989586621679301750, t6989586621679301751, t6989586621679301752)
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 (t6989586621679301814 :: (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 (t6989586621679301814 :: (a3530822107858468865 :: Type)) (t6989586621679301815 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type))))
data Tuple5Sym3 (t6989586621679301814 :: (a3530822107858468865 :: Type)) (t6989586621679301815 :: (b3530822107858468866 :: Type)) (t6989586621679301816 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type)))
data Tuple5Sym4 (t6989586621679301814 :: (a3530822107858468865 :: Type)) (t6989586621679301815 :: (b3530822107858468866 :: Type)) (t6989586621679301816 :: (c3530822107858468867 :: Type)) (t6989586621679301817 :: (d3530822107858468868 :: Type)) :: forall (e3530822107858468869 :: Type). (~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type))
type Tuple5Sym5 (t6989586621679301814 :: a3530822107858468865) (t6989586621679301815 :: b3530822107858468866) (t6989586621679301816 :: c3530822107858468867) (t6989586621679301817 :: d3530822107858468868) (t6989586621679301818 :: e3530822107858468869) = '(t6989586621679301814, t6989586621679301815, t6989586621679301816, t6989586621679301817, t6989586621679301818)
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 (t6989586621679301899 :: (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 (t6989586621679301899 :: (a3530822107858468865 :: Type)) (t6989586621679301900 :: (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 (t6989586621679301899 :: (a3530822107858468865 :: Type)) (t6989586621679301900 :: (b3530822107858468866 :: Type)) (t6989586621679301901 :: (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 (t6989586621679301899 :: (a3530822107858468865 :: Type)) (t6989586621679301900 :: (b3530822107858468866 :: Type)) (t6989586621679301901 :: (c3530822107858468867 :: Type)) (t6989586621679301902 :: (d3530822107858468868 :: Type)) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type)))
data Tuple6Sym5 (t6989586621679301899 :: (a3530822107858468865 :: Type)) (t6989586621679301900 :: (b3530822107858468866 :: Type)) (t6989586621679301901 :: (c3530822107858468867 :: Type)) (t6989586621679301902 :: (d3530822107858468868 :: Type)) (t6989586621679301903 :: (e3530822107858468869 :: Type)) :: forall (f3530822107858468870 :: Type). (~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type))
type Tuple6Sym6 (t6989586621679301899 :: a3530822107858468865) (t6989586621679301900 :: b3530822107858468866) (t6989586621679301901 :: c3530822107858468867) (t6989586621679301902 :: d3530822107858468868) (t6989586621679301903 :: e3530822107858468869) (t6989586621679301904 :: f3530822107858468870) = '(t6989586621679301899, t6989586621679301900, t6989586621679301901, t6989586621679301902, t6989586621679301903, t6989586621679301904)
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 (t6989586621679302006 :: (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 (t6989586621679302006 :: (a3530822107858468865 :: Type)) (t6989586621679302007 :: (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 (t6989586621679302006 :: (a3530822107858468865 :: Type)) (t6989586621679302007 :: (b3530822107858468866 :: Type)) (t6989586621679302008 :: (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 (t6989586621679302006 :: (a3530822107858468865 :: Type)) (t6989586621679302007 :: (b3530822107858468866 :: Type)) (t6989586621679302008 :: (c3530822107858468867 :: Type)) (t6989586621679302009 :: (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 (t6989586621679302006 :: (a3530822107858468865 :: Type)) (t6989586621679302007 :: (b3530822107858468866 :: Type)) (t6989586621679302008 :: (c3530822107858468867 :: Type)) (t6989586621679302009 :: (d3530822107858468868 :: Type)) (t6989586621679302010 :: (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 (t6989586621679302006 :: (a3530822107858468865 :: Type)) (t6989586621679302007 :: (b3530822107858468866 :: Type)) (t6989586621679302008 :: (c3530822107858468867 :: Type)) (t6989586621679302009 :: (d3530822107858468868 :: Type)) (t6989586621679302010 :: (e3530822107858468869 :: Type)) (t6989586621679302011 :: (f3530822107858468870 :: Type)) :: forall (g3530822107858468871 :: Type). (~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type))
type Tuple7Sym7 (t6989586621679302006 :: a3530822107858468865) (t6989586621679302007 :: b3530822107858468866) (t6989586621679302008 :: c3530822107858468867) (t6989586621679302009 :: d3530822107858468868) (t6989586621679302010 :: e3530822107858468869) (t6989586621679302011 :: f3530822107858468870) (t6989586621679302012 :: g3530822107858468871) = '(t6989586621679302006, t6989586621679302007, t6989586621679302008, t6989586621679302009, t6989586621679302010, t6989586621679302011, t6989586621679302012)
data FstSym0 :: forall a6989586621679358767 b6989586621679358768. (~>) (a6989586621679358767, b6989586621679358768) a6989586621679358767
type FstSym1 (a6989586621679358863 :: (a6989586621679358767, b6989586621679358768)) = Fst a6989586621679358863
data SndSym0 :: forall a6989586621679358765 b6989586621679358766. (~>) (a6989586621679358765, b6989586621679358766) b6989586621679358766
type SndSym1 (a6989586621679358860 :: (a6989586621679358765, b6989586621679358766)) = Snd a6989586621679358860
data CurrySym0 :: forall a6989586621679358762 b6989586621679358763 c6989586621679358764. (~>) ((~>) (a6989586621679358762, b6989586621679358763) c6989586621679358764) ((~>) a6989586621679358762 ((~>) b6989586621679358763 c6989586621679358764))
data CurrySym1 (a6989586621679358851 :: (~>) (a6989586621679358762, b6989586621679358763) c6989586621679358764) :: (~>) a6989586621679358762 ((~>) b6989586621679358763 c6989586621679358764)
data CurrySym2 (a6989586621679358851 :: (~>) (a6989586621679358762, b6989586621679358763) c6989586621679358764) (a6989586621679358852 :: a6989586621679358762) :: (~>) b6989586621679358763 c6989586621679358764
type CurrySym3 (a6989586621679358851 :: (~>) (a6989586621679358762, b6989586621679358763) c6989586621679358764) (a6989586621679358852 :: a6989586621679358762) (a6989586621679358853 :: b6989586621679358763) = Curry a6989586621679358851 a6989586621679358852 a6989586621679358853
data UncurrySym0 :: forall a6989586621679358759 b6989586621679358760 c6989586621679358761. (~>) ((~>) a6989586621679358759 ((~>) b6989586621679358760 c6989586621679358761)) ((~>) (a6989586621679358759, b6989586621679358760) c6989586621679358761)
data UncurrySym1 (a6989586621679358866 :: (~>) a6989586621679358759 ((~>) b6989586621679358760 c6989586621679358761)) :: (~>) (a6989586621679358759, b6989586621679358760) c6989586621679358761
type UncurrySym2 (a6989586621679358866 :: (~>) a6989586621679358759 ((~>) b6989586621679358760 c6989586621679358761)) (a6989586621679358867 :: (a6989586621679358759, b6989586621679358760)) = Uncurry a6989586621679358866 a6989586621679358867
data SwapSym0 :: forall a6989586621679358757 b6989586621679358758. (~>) (a6989586621679358757, b6989586621679358758) (b6989586621679358758, a6989586621679358757)
type SwapSym1 (a6989586621679358847 :: (a6989586621679358757, b6989586621679358758)) = Swap a6989586621679358847
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Tuple.UncurrySym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Tuple.UncurrySym0
instance forall a6989586621679358759 b6989586621679358760 c6989586621679358761 (a6989586621679358866 :: a6989586621679358759 Data.Singletons.Internal.~> (b6989586621679358760 Data.Singletons.Internal.~> c6989586621679358761)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Tuple.UncurrySym1 a6989586621679358866)
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 a6989586621679358762 b6989586621679358763 c6989586621679358764 (a6989586621679358851 :: (a6989586621679358762, b6989586621679358763) Data.Singletons.Internal.~> c6989586621679358764). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Tuple.CurrySym1 a6989586621679358851)
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 a6989586621679358762 b6989586621679358763 c6989586621679358764 (a6989586621679358852 :: (a6989586621679358762, b6989586621679358763) Data.Singletons.Internal.~> c6989586621679358764) (a6989586621679358851 :: a6989586621679358762). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Tuple.CurrySym2 a6989586621679358852 a6989586621679358851)
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 s6989586621679363791
data ΣSym1 (s6989586621679363791 :: Type) t6989586621679363792
type ΣSym2 (s6989586621679363791 :: Type) (t6989586621679363792 :: (~>) s6989586621679363791 Type) = Σ s6989586621679363791 t6989586621679363792
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_a1uue -> a_a1uue -> Bool -> a_a1uue
type family Bool_ (a_a1uuk :: a_a1uue) (a_a1uul :: a_a1uue) (a_a1uum :: Bool) :: a_a1uue
sBool_ :: forall a_a1uue (t_a1uuu :: a_a1uue) (t_a1uuv :: a_a1uue) (t_a1uuw :: Bool). Sing t_a1uuu -> Sing t_a1uuv -> Sing t_a1uuw -> Sing (Apply (Apply (Apply Bool_Sym0 t_a1uuu) t_a1uuv) t_a1uuw :: a_a1uue)
type family Otherwise :: Bool
sOtherwise :: Sing (OtherwiseSym0 :: Bool)
type TrueSym0 =  'True
type FalseSym0 =  'False
data NotSym0 :: (~>) Bool Bool
type NotSym1 (a6989586621679366606 :: Bool) = Not a6989586621679366606
data (&&@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 3 &&@#@$
data (&&@#@$$) (a6989586621679366065 :: Bool) :: (~>) Bool Bool
infixr 3 &&@#@$$
type (&&@#@$$$) (a6989586621679366065 :: Bool) (b6989586621679366066 :: Bool) = (&&) a6989586621679366065 b6989586621679366066
data (||@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 2 ||@#@$
data (||@#@$$) (a6989586621679366306 :: Bool) :: (~>) Bool Bool
infixr 2 ||@#@$$
type (||@#@$$$) (a6989586621679366306 :: Bool) (b6989586621679366307 :: Bool) = (||) a6989586621679366306 b6989586621679366307
data Bool_Sym0 :: forall a6989586621679365314. (~>) a6989586621679365314 ((~>) a6989586621679365314 ((~>) Bool a6989586621679365314))
data Bool_Sym1 (a6989586621679365320 :: a6989586621679365314) :: (~>) a6989586621679365314 ((~>) Bool a6989586621679365314)
data Bool_Sym2 (a6989586621679365320 :: a6989586621679365314) (a6989586621679365321 :: a6989586621679365314) :: (~>) Bool a6989586621679365314
type Bool_Sym3 (a6989586621679365320 :: a6989586621679365314) (a6989586621679365321 :: a6989586621679365314) (a6989586621679365322 :: Bool) = Bool_ a6989586621679365320 a6989586621679365321 a6989586621679365322
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.||@#@$$) a6989586621679366306)
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.&&@#@$$) a6989586621679366065)
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 a6989586621679365314 (a6989586621679365320 :: a6989586621679365314). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Bool.Bool_Sym1 a6989586621679365320)
instance forall a (d :: a). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Bool.Bool_Sym1 d)
instance forall a6989586621679365314 (a6989586621679365321 :: a6989586621679365314) (a6989586621679365320 :: a6989586621679365314). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Bool.Bool_Sym2 a6989586621679365321 a6989586621679365320)
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 a6989586621679369249. (~>) a6989586621679369249 ((~>) a6989586621679369249 Bool)
infix 4 ==@#@$
data (==@#@$$) (x6989586621679369250 :: a6989586621679369249) :: (~>) a6989586621679369249 Bool
infix 4 ==@#@$$
type (==@#@$$$) (x6989586621679369250 :: a6989586621679369249) (y6989586621679369251 :: a6989586621679369249) = (==) x6989586621679369250 y6989586621679369251
data (/=@#@$) :: forall a6989586621679369249. (~>) a6989586621679369249 ((~>) a6989586621679369249 Bool)
infix 4 /=@#@$
data (/=@#@$$) (x6989586621679369252 :: a6989586621679369249) :: (~>) a6989586621679369249 Bool
infix 4 /=@#@$$
type (/=@#@$$$) (x6989586621679369252 :: a6989586621679369249) (y6989586621679369253 :: a6989586621679369249) = (/=) x6989586621679369252 y6989586621679369253
data DefaultEqSym0 :: forall k6989586621679369243. (~>) k6989586621679369243 ((~>) k6989586621679369243 Bool)
data DefaultEqSym1 (a6989586621679369244 :: k6989586621679369243) :: (~>) k6989586621679369243 Bool
type DefaultEqSym2 (a6989586621679369244 :: k6989586621679369243) (b6989586621679369245 :: k6989586621679369243) = DefaultEq a6989586621679369244 b6989586621679369245
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 k6989586621679369243 (a6989586621679369244 :: k6989586621679369243). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Eq.DefaultEqSym1 a6989586621679369244)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Eq./=@#@$)
instance forall a6989586621679369249 (x6989586621679369252 :: a6989586621679369249). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Eq./=@#@$$) x6989586621679369252)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Eq.==@#@$)
instance forall a6989586621679369249 (x6989586621679369250 :: a6989586621679369249). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Eq.==@#@$$) x6989586621679369250)


-- | 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_a1zcK => POrd (a_a1zcK :: Type) where {
    type family Compare (arg_a1zeg :: a_a1zcK) (arg_a1zeh :: a_a1zcK) :: Ordering;
    type family (<) (arg_a1zek :: a_a1zcK) (arg_a1zel :: a_a1zcK) :: Bool;
    type family (<=) (arg_a1zeo :: a_a1zcK) (arg_a1zep :: a_a1zcK) :: Bool;
    type family (>) (arg_a1zes :: a_a1zcK) (arg_a1zet :: a_a1zcK) :: Bool;
    type family (>=) (arg_a1zew :: a_a1zcK) (arg_a1zex :: a_a1zcK) :: Bool;
    type family Max (arg_a1zeA :: a_a1zcK) (arg_a1zeB :: a_a1zcK) :: a_a1zcK;
    type family Min (arg_a1zeE :: a_a1zcK) (arg_a1zeF :: a_a1zcK) :: a_a1zcK;
    type Compare a_a1zf0 a_a1zf1 = Apply (Apply Compare_6989586621679383592Sym0 a_a1zf0) a_a1zf1;
    type (<) a_a1zfi a_a1zfj = Apply (Apply TFHelper_6989586621679383610Sym0 a_a1zfi) a_a1zfj;
    type (<=) a_a1zfA a_a1zfB = Apply (Apply TFHelper_6989586621679383628Sym0 a_a1zfA) a_a1zfB;
    type (>) a_a1zfS a_a1zfT = Apply (Apply TFHelper_6989586621679383646Sym0 a_a1zfS) a_a1zfT;
    type (>=) a_a1zga a_a1zgb = Apply (Apply TFHelper_6989586621679383664Sym0 a_a1zga) a_a1zgb;
    type Max a_a1zgs a_a1zgt = Apply (Apply Max_6989586621679383682Sym0 a_a1zgs) a_a1zgt;
    type Min a_a1zgK a_a1zgL = Apply (Apply Min_6989586621679383700Sym0 a_a1zgK) a_a1zgL;
}
infix 4 >=
infix 4 >
infix 4 <
infix 4 <=
class SEq a_a1zcK => SOrd a_a1zcK
sCompare :: forall (t_a1zgZ :: a_a1zcK) (t_a1zh0 :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zgZ -> Sing t_a1zh0 -> Sing (Apply (Apply CompareSym0 t_a1zgZ) t_a1zh0 :: Ordering)
(%<) :: forall (t_a1zh3 :: a_a1zcK) (t_a1zh4 :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zh3 -> Sing t_a1zh4 -> Sing (Apply (Apply (<@#@$) t_a1zh3) t_a1zh4 :: Bool)
(%<=) :: forall (t_a1zh7 :: a_a1zcK) (t_a1zh8 :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zh7 -> Sing t_a1zh8 -> Sing (Apply (Apply (<=@#@$) t_a1zh7) t_a1zh8 :: Bool)
(%>) :: forall (t_a1zhb :: a_a1zcK) (t_a1zhc :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zhb -> Sing t_a1zhc -> Sing (Apply (Apply (>@#@$) t_a1zhb) t_a1zhc :: Bool)
(%>=) :: forall (t_a1zhf :: a_a1zcK) (t_a1zhg :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zhf -> Sing t_a1zhg -> Sing (Apply (Apply (>=@#@$) t_a1zhf) t_a1zhg :: Bool)
sMax :: forall (t_a1zhj :: a_a1zcK) (t_a1zhk :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zhj -> Sing t_a1zhk -> Sing (Apply (Apply MaxSym0 t_a1zhj) t_a1zhk :: a_a1zcK)
sMin :: forall (t_a1zhn :: a_a1zcK) (t_a1zho :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zhn -> Sing t_a1zho -> Sing (Apply (Apply MinSym0 t_a1zhn) t_a1zho :: a_a1zcK)
sCompare :: forall (t_a1zgZ :: a_a1zcK) (t_a1zh0 :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply CompareSym0 t_a1zgZ) t_a1zh0 :: Ordering) ~ Apply (Apply Compare_6989586621679383592Sym0 t_a1zgZ) t_a1zh0) => Sing t_a1zgZ -> Sing t_a1zh0 -> Sing (Apply (Apply CompareSym0 t_a1zgZ) t_a1zh0 :: Ordering)
(%<) :: forall (t_a1zh3 :: a_a1zcK) (t_a1zh4 :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply (<@#@$) t_a1zh3) t_a1zh4 :: Bool) ~ Apply (Apply TFHelper_6989586621679383610Sym0 t_a1zh3) t_a1zh4) => Sing t_a1zh3 -> Sing t_a1zh4 -> Sing (Apply (Apply (<@#@$) t_a1zh3) t_a1zh4 :: Bool)
(%<=) :: forall (t_a1zh7 :: a_a1zcK) (t_a1zh8 :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply (<=@#@$) t_a1zh7) t_a1zh8 :: Bool) ~ Apply (Apply TFHelper_6989586621679383628Sym0 t_a1zh7) t_a1zh8) => Sing t_a1zh7 -> Sing t_a1zh8 -> Sing (Apply (Apply (<=@#@$) t_a1zh7) t_a1zh8 :: Bool)
(%>) :: forall (t_a1zhb :: a_a1zcK) (t_a1zhc :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply (>@#@$) t_a1zhb) t_a1zhc :: Bool) ~ Apply (Apply TFHelper_6989586621679383646Sym0 t_a1zhb) t_a1zhc) => Sing t_a1zhb -> Sing t_a1zhc -> Sing (Apply (Apply (>@#@$) t_a1zhb) t_a1zhc :: Bool)
(%>=) :: forall (t_a1zhf :: a_a1zcK) (t_a1zhg :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply (>=@#@$) t_a1zhf) t_a1zhg :: Bool) ~ Apply (Apply TFHelper_6989586621679383664Sym0 t_a1zhf) t_a1zhg) => Sing t_a1zhf -> Sing t_a1zhg -> Sing (Apply (Apply (>=@#@$) t_a1zhf) t_a1zhg :: Bool)
sMax :: forall (t_a1zhj :: a_a1zcK) (t_a1zhk :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply MaxSym0 t_a1zhj) t_a1zhk :: a_a1zcK) ~ Apply (Apply Max_6989586621679383682Sym0 t_a1zhj) t_a1zhk) => Sing t_a1zhj -> Sing t_a1zhk -> Sing (Apply (Apply MaxSym0 t_a1zhj) t_a1zhk :: a_a1zcK)
sMin :: forall (t_a1zhn :: a_a1zcK) (t_a1zho :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply MinSym0 t_a1zhn) t_a1zho :: a_a1zcK) ~ Apply (Apply Min_6989586621679383700Sym0 t_a1zhn) t_a1zho) => Sing t_a1zhn -> Sing t_a1zho -> Sing (Apply (Apply MinSym0 t_a1zhn) t_a1zho :: a_a1zcK)
infix 4 %<=
infix 4 %<
infix 4 %>
infix 4 %>=
type family Comparing (a_a1ze7 :: (~>) b_a1zcA a_a1zcz) (a_a1ze8 :: b_a1zcA) (a_a1ze9 :: b_a1zcA) :: Ordering
sComparing :: forall a_a1zcz b_a1zcA (t_a1zgQ :: (~>) b_a1zcA a_a1zcz) (t_a1zgR :: b_a1zcA) (t_a1zgS :: b_a1zcA). SOrd a_a1zcz => Sing t_a1zgQ -> Sing t_a1zgR -> Sing t_a1zgS -> Sing (Apply (Apply (Apply ComparingSym0 t_a1zgQ) t_a1zgR) t_a1zgS :: Ordering)
thenCmp :: Ordering -> Ordering -> Ordering
type family ThenCmp (a_a1BWb :: Ordering) (a_a1BWc :: Ordering) :: Ordering
sThenCmp :: forall (t_a1BWg :: Ordering) (t_a1BWh :: Ordering). Sing t_a1BWg -> Sing t_a1BWh -> Sing (Apply (Apply ThenCmpSym0 t_a1BWg) t_a1BWh :: Ordering)

-- | The singleton kind-indexed data family.
data family Sing :: k -> Type
type SOrdering = (Sing :: Ordering -> Type)
type SDown = (Sing :: Down a_al80 -> Type)
data ThenCmpSym0 :: (~>) Ordering ((~>) Ordering Ordering)
data ThenCmpSym1 (a6989586621679393955 :: Ordering) :: (~>) Ordering Ordering
type ThenCmpSym2 (a6989586621679393955 :: Ordering) (a6989586621679393956 :: Ordering) = ThenCmp a6989586621679393955 a6989586621679393956
type LTSym0 =  'LT
type EQSym0 =  'EQ
type GTSym0 =  'GT
data CompareSym0 :: forall a6989586621679383450. (~>) a6989586621679383450 ((~>) a6989586621679383450 Ordering)
data CompareSym1 (arg6989586621679383544 :: a6989586621679383450) :: (~>) a6989586621679383450 Ordering
type CompareSym2 (arg6989586621679383544 :: a6989586621679383450) (arg6989586621679383545 :: a6989586621679383450) = Compare arg6989586621679383544 arg6989586621679383545
data (<@#@$) :: forall a6989586621679383450. (~>) a6989586621679383450 ((~>) a6989586621679383450 Bool)
infix 4 <@#@$
data (<@#@$$) (arg6989586621679383548 :: a6989586621679383450) :: (~>) a6989586621679383450 Bool
infix 4 <@#@$$
type (<@#@$$$) (arg6989586621679383548 :: a6989586621679383450) (arg6989586621679383549 :: a6989586621679383450) = (<) arg6989586621679383548 arg6989586621679383549
data (<=@#@$) :: forall a6989586621679383450. (~>) a6989586621679383450 ((~>) a6989586621679383450 Bool)
infix 4 <=@#@$
data (<=@#@$$) (arg6989586621679383552 :: a6989586621679383450) :: (~>) a6989586621679383450 Bool
infix 4 <=@#@$$
type (<=@#@$$$) (arg6989586621679383552 :: a6989586621679383450) (arg6989586621679383553 :: a6989586621679383450) = (<=) arg6989586621679383552 arg6989586621679383553
data (>@#@$) :: forall a6989586621679383450. (~>) a6989586621679383450 ((~>) a6989586621679383450 Bool)
infix 4 >@#@$
data (>@#@$$) (arg6989586621679383556 :: a6989586621679383450) :: (~>) a6989586621679383450 Bool
infix 4 >@#@$$
type (>@#@$$$) (arg6989586621679383556 :: a6989586621679383450) (arg6989586621679383557 :: a6989586621679383450) = (>) arg6989586621679383556 arg6989586621679383557
data (>=@#@$) :: forall a6989586621679383450. (~>) a6989586621679383450 ((~>) a6989586621679383450 Bool)
infix 4 >=@#@$
data (>=@#@$$) (arg6989586621679383560 :: a6989586621679383450) :: (~>) a6989586621679383450 Bool
infix 4 >=@#@$$
type (>=@#@$$$) (arg6989586621679383560 :: a6989586621679383450) (arg6989586621679383561 :: a6989586621679383450) = (>=) arg6989586621679383560 arg6989586621679383561
data MaxSym0 :: forall a6989586621679383450. (~>) a6989586621679383450 ((~>) a6989586621679383450 a6989586621679383450)
data MaxSym1 (arg6989586621679383564 :: a6989586621679383450) :: (~>) a6989586621679383450 a6989586621679383450
type MaxSym2 (arg6989586621679383564 :: a6989586621679383450) (arg6989586621679383565 :: a6989586621679383450) = Max arg6989586621679383564 arg6989586621679383565
data MinSym0 :: forall a6989586621679383450. (~>) a6989586621679383450 ((~>) a6989586621679383450 a6989586621679383450)
data MinSym1 (arg6989586621679383568 :: a6989586621679383450) :: (~>) a6989586621679383450 a6989586621679383450
type MinSym2 (arg6989586621679383568 :: a6989586621679383450) (arg6989586621679383569 :: a6989586621679383450) = Min arg6989586621679383568 arg6989586621679383569
data ComparingSym0 :: forall a6989586621679383439 b6989586621679383440. (~>) ((~>) b6989586621679383440 a6989586621679383439) ((~>) b6989586621679383440 ((~>) b6989586621679383440 Ordering))
data ComparingSym1 (a6989586621679383535 :: (~>) b6989586621679383440 a6989586621679383439) :: (~>) b6989586621679383440 ((~>) b6989586621679383440 Ordering)
data ComparingSym2 (a6989586621679383535 :: (~>) b6989586621679383440 a6989586621679383439) (a6989586621679383536 :: b6989586621679383440) :: (~>) b6989586621679383440 Ordering
type ComparingSym3 (a6989586621679383535 :: (~>) b6989586621679383440 a6989586621679383439) (a6989586621679383536 :: b6989586621679383440) (a6989586621679383537 :: b6989586621679383440) = Comparing a6989586621679383535 a6989586621679383536 a6989586621679383537
data DownSym0 :: forall (a6989586621679091012 :: Type). (~>) a6989586621679091012 (Down (a6989586621679091012 :: Type))
type DownSym1 (t6989586621679392637 :: a6989586621679091012) =  'Down t6989586621679392637
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679394872Sym0
instance Data.Singletons.Prelude.Ord.POrd ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679394872Sym1 a6989586621679394870)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679394862Sym0
instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679394862Sym1 a6989586621679394860)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679394852Sym0
instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679394852Sym1 a6989586621679394850)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679394840Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Functor.Identity.Identity a)
instance forall a6989586621679085222 (a6989586621679394838 :: Data.Functor.Identity.Identity a6989586621679085222). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679394840Sym1 a6989586621679394838)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679394807Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f, g)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 e3530822107858468869 f3530822107858468870 g3530822107858468871 (a6989586621679394805 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679394807Sym1 a6989586621679394805)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679394722Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 e3530822107858468869 f3530822107858468870 (a6989586621679394720 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679394722Sym1 a6989586621679394720)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679394648Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 e3530822107858468869 (a6989586621679394646 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679394648Sym1 a6989586621679394646)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679394585Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 (a6989586621679394583 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679394585Sym1 a6989586621679394583)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679394533Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 (a6989586621679394531 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679394533Sym1 a6989586621679394531)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679394492Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b)
instance forall a3530822107858468865 b3530822107858468866 (a6989586621679394490 :: (a3530822107858468865, b3530822107858468866)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679394492Sym1 a6989586621679394490)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679394464Sym0
instance Data.Singletons.Prelude.Ord.POrd Data.Void.Void
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679394464Sym1 a6989586621679394462)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679394450Sym0
instance Data.Singletons.Prelude.Ord.POrd (GHC.Base.NonEmpty a)
instance forall a6989586621679068602 (a6989586621679394448 :: GHC.Base.NonEmpty a6989586621679068602). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679394450Sym1 a6989586621679394448)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679394421Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Either.Either a b)
instance forall a6989586621679087510 b6989586621679087511 (a6989586621679394419 :: Data.Either.Either a6989586621679087510 b6989586621679087511). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679394421Sym1 a6989586621679394419)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679394375Sym0
instance Data.Singletons.Prelude.Ord.POrd [a]
instance forall a3530822107858468865 (a6989586621679394373 :: [a3530822107858468865]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679394375Sym1 a6989586621679394373)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679394341Sym0
instance Data.Singletons.Prelude.Ord.POrd (GHC.Maybe.Maybe a)
instance forall a3530822107858468865 (a6989586621679394339 :: GHC.Maybe.Maybe a3530822107858468865). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679394341Sym1 a6989586621679394339)
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 a6989586621679393955)
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_6989586621679393150Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Ord.Down a)
instance forall a6989586621679393122 (a6989586621679393148 :: Data.Ord.Down a6989586621679393122). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679393150Sym1 a6989586621679393148)
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 b6989586621679383440 a6989586621679383439 (a6989586621679383535 :: b6989586621679383440 Data.Singletons.Internal.~> a6989586621679383439). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.ComparingSym1 a6989586621679383535)
instance forall b6989586621679383440 a6989586621679383439 (a6989586621679383536 :: b6989586621679383440 Data.Singletons.Internal.~> a6989586621679383439) (a6989586621679383535 :: b6989586621679383440). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.ComparingSym2 a6989586621679383536 a6989586621679383535)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679383602Scrutinee_6989586621679383472Sym0
instance forall k1 (x6989586621679383600 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679383602Scrutinee_6989586621679383472Sym1 x6989586621679383600)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679383620Scrutinee_6989586621679383474Sym0
instance forall k1 (x6989586621679383618 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679383620Scrutinee_6989586621679383474Sym1 x6989586621679383618)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679383638Scrutinee_6989586621679383476Sym0
instance forall k1 (x6989586621679383636 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679383638Scrutinee_6989586621679383476Sym1 x6989586621679383636)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679383656Scrutinee_6989586621679383478Sym0
instance forall k1 (x6989586621679383654 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679383656Scrutinee_6989586621679383478Sym1 x6989586621679383654)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.<@#@$)
instance forall a6989586621679383450 (arg6989586621679383548 :: a6989586621679383450). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.<@#@$$) arg6989586621679383548)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679383583Scrutinee_6989586621679383470Sym0
instance forall k1 (x6989586621679383576 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679383583Scrutinee_6989586621679383470Sym1 x6989586621679383576)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679383674Scrutinee_6989586621679383480Sym0
instance forall k1 (x6989586621679383672 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679383674Scrutinee_6989586621679383480Sym1 x6989586621679383672)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679383692Scrutinee_6989586621679383482Sym0
instance forall k1 (x6989586621679383690 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679383692Scrutinee_6989586621679383482Sym1 x6989586621679383690)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.>@#@$)
instance forall a6989586621679383450 (arg6989586621679383556 :: a6989586621679383450). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.>@#@$$) arg6989586621679383556)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.>=@#@$)
instance forall a6989586621679383450 (arg6989586621679383560 :: a6989586621679383450). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.>=@#@$$) arg6989586621679383560)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.MaxSym0
instance forall a6989586621679383450 (arg6989586621679383564 :: a6989586621679383450). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.MaxSym1 arg6989586621679383564)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.MinSym0
instance forall a6989586621679383450 (arg6989586621679383568 :: a6989586621679383450). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.MinSym1 arg6989586621679383568)
instance forall a6989586621679383450 (arg6989586621679383544 :: a6989586621679383450). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.CompareSym1 arg6989586621679383544)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.CompareSym0
instance forall a6989586621679383450 (arg6989586621679383552 :: a6989586621679383450). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.<=@#@$$) arg6989586621679383552)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.<=@#@$)
instance forall a6989586621679383450 (a6989586621679383590 :: a6989586621679383450). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679383592Sym1 a6989586621679383590)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679383592Sym0
instance forall a6989586621679383450 (a6989586621679383608 :: a6989586621679383450). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679383610Sym1 a6989586621679383608)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679383610Sym0
instance forall a6989586621679383450 (a6989586621679383626 :: a6989586621679383450). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679383628Sym1 a6989586621679383626)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679383628Sym0
instance forall a6989586621679383450 (a6989586621679383644 :: a6989586621679383450). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679383646Sym1 a6989586621679383644)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679383646Sym0
instance forall a6989586621679383450 (a6989586621679383662 :: a6989586621679383450). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679383664Sym1 a6989586621679383662)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679383664Sym0
instance forall a6989586621679383450 (a6989586621679383680 :: a6989586621679383450). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Max_6989586621679383682Sym1 a6989586621679383680)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Max_6989586621679383682Sym0
instance forall a6989586621679383450 (a6989586621679383698 :: a6989586621679383450). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Min_6989586621679383700Sym1 a6989586621679383698)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Min_6989586621679383700Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679383578Scrutinee_6989586621679383468Sym0
instance forall k1 (x6989586621679383576 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679383578Scrutinee_6989586621679383468Sym1 x6989586621679383576)


-- | 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_a20xc :: Nat) (a_a20xd :: Nat) :: (Nat, Nat)
sDivMod :: Sing x -> Sing y -> Sing (DivMod x y)
type family Quot (a_a20x6 :: Nat) (a_a20x7 :: Nat) :: Nat
infixl 7 `Quot`
sQuot :: Sing x -> Sing y -> Sing (Quot x y)
infixl 7 `sQuot`
type family Rem (a_a20wW :: Nat) (a_a20wX :: Nat) :: Nat
infixl 7 `Rem`
sRem :: Sing x -> Sing y -> Sing (Rem x y)
infixl 7 `sRem`
type family QuotRem (a_a20xm :: Nat) (a_a20xn :: Nat) :: (Nat, Nat)
sQuotRem :: Sing x -> Sing y -> Sing (QuotRem x y)
data ErrorSym0 :: forall k06989586621679468915 k6989586621679468914. (~>) k06989586621679468915 k6989586621679468914
type ErrorSym1 (str6989586621679468916 :: k06989586621679468915) = Error str6989586621679468916
data ErrorWithoutStackTraceSym0 :: forall k06989586621679469965 k6989586621679469964. (~>) k06989586621679469965 k6989586621679469964
type ErrorWithoutStackTraceSym1 (str6989586621679469966 :: k06989586621679469965) = ErrorWithoutStackTrace str6989586621679469966
type UndefinedSym0 = Undefined
data KnownNatSym0 :: (~>) Nat Constraint
type KnownNatSym1 (n6989586621679469170 :: Nat) = KnownNat n6989586621679469170
data KnownSymbolSym0 :: (~>) Symbol Constraint
type KnownSymbolSym1 (n6989586621679469110 :: Symbol) = KnownSymbol n6989586621679469110
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 (a6989586621679488506 :: Nat) :: (~>) Nat (Nat, Nat)
type DivModSym2 (a6989586621679488506 :: Nat) (a6989586621679488507 :: Nat) = DivMod a6989586621679488506 a6989586621679488507
data QuotSym0 :: (~>) Nat ((~>) Nat Nat)
infixl 7 `QuotSym0`
data QuotSym1 (a6989586621679488500 :: Nat) :: (~>) Nat Nat
infixl 7 `QuotSym1`
type QuotSym2 (a6989586621679488500 :: Nat) (a6989586621679488501 :: Nat) = Quot a6989586621679488500 a6989586621679488501
data RemSym0 :: (~>) Nat ((~>) Nat Nat)
infixl 7 `RemSym0`
data RemSym1 (a6989586621679488490 :: Nat) :: (~>) Nat Nat
infixl 7 `RemSym1`
type RemSym2 (a6989586621679488490 :: Nat) (a6989586621679488491 :: Nat) = Rem a6989586621679488490 a6989586621679488491
data QuotRemSym0 :: (~>) Nat ((~>) Nat (Nat, Nat))
data QuotRemSym1 (a6989586621679488516 :: Nat) :: (~>) Nat (Nat, Nat)
type QuotRemSym2 (a6989586621679488516 :: Nat) (a6989586621679488517 :: Nat) = QuotRem a6989586621679488516 a6989586621679488517
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.QuotRemSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.QuotRemSym1 a6989586621679488516)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.DivModSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.DivModSym1 a6989586621679488506)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.QuotSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.QuotSym1 a6989586621679488500)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.RemSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.RemSym1 a6989586621679488490)
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_a22gl -> (a_a22gm -> b_a22gl) -> Maybe a_a22gm -> b_a22gl
type family Maybe_ (a_a22gD :: b_a22gl) (a_a22gE :: (~>) a_a22gm b_a22gl) (a_a22gF :: Maybe a_a22gm) :: b_a22gl
sMaybe_ :: forall b_a22gl a_a22gm (t_a22gM :: b_a22gl) (t_a22gN :: (~>) a_a22gm b_a22gl) (t_a22gO :: Maybe a_a22gm). Sing t_a22gM -> Sing t_a22gN -> Sing t_a22gO -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a22gM) t_a22gN) t_a22gO :: b_a22gl)
type family IsJust (a_a22GH :: Maybe a_a22Dp) :: Bool
sIsJust :: forall a_a22Dp (t_a22H1 :: Maybe a_a22Dp). Sing t_a22H1 -> Sing (Apply IsJustSym0 t_a22H1 :: Bool)
type family IsNothing (a_a22GF :: Maybe a_a22Do) :: Bool
sIsNothing :: forall a_a22Do (t_a22GZ :: Maybe a_a22Do). Sing t_a22GZ -> Sing (Apply IsNothingSym0 t_a22GZ :: Bool)
type family FromJust (a_a22GC :: Maybe a_a22Dn) :: a_a22Dn
sFromJust :: forall a_a22Dn (t_a22GX :: Maybe a_a22Dn). Sing t_a22GX -> Sing (Apply FromJustSym0 t_a22GX :: a_a22Dn)
type family FromMaybe (a_a22Gs :: a_a22Dm) (a_a22Gt :: Maybe a_a22Dm) :: a_a22Dm
sFromMaybe :: forall a_a22Dm (t_a22GT :: a_a22Dm) (t_a22GU :: Maybe a_a22Dm). Sing t_a22GT -> Sing t_a22GU -> Sing (Apply (Apply FromMaybeSym0 t_a22GT) t_a22GU :: a_a22Dm)
type family ListToMaybe (a_a22Gm :: [a_a22Dk]) :: Maybe a_a22Dk
sListToMaybe :: forall a_a22Dk (t_a22GP :: [a_a22Dk]). Sing t_a22GP -> Sing (Apply ListToMaybeSym0 t_a22GP :: Maybe a_a22Dk)
type family MaybeToList (a_a22Gp :: Maybe a_a22Dl) :: [a_a22Dl]
sMaybeToList :: forall a_a22Dl (t_a22GR :: Maybe a_a22Dl). Sing t_a22GR -> Sing (Apply MaybeToListSym0 t_a22GR :: [a_a22Dl])
type family CatMaybes (a_a22Gh :: [Maybe a_a22Dj]) :: [a_a22Dj]
sCatMaybes :: forall a_a22Dj (t_a22GN :: [Maybe a_a22Dj]). Sing t_a22GN -> Sing (Apply CatMaybesSym0 t_a22GN :: [a_a22Dj])
type family MapMaybe (a_a22FY :: (~>) a_a22Dh (Maybe b_a22Di)) (a_a22FZ :: [a_a22Dh]) :: [b_a22Di]
sMapMaybe :: forall a_a22Dh b_a22Di (t_a22GJ :: (~>) a_a22Dh (Maybe b_a22Di)) (t_a22GK :: [a_a22Dh]). Sing t_a22GJ -> Sing t_a22GK -> Sing (Apply (Apply MapMaybeSym0 t_a22GJ) t_a22GK :: [b_a22Di])
type NothingSym0 =  'Nothing
data JustSym0 :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 (Maybe (a3530822107858468865 :: Type))
type JustSym1 (t6989586621679301555 :: a3530822107858468865) =  'Just t6989586621679301555
data Maybe_Sym0 :: forall a6989586621679495150 b6989586621679495149. (~>) b6989586621679495149 ((~>) ((~>) a6989586621679495150 b6989586621679495149) ((~>) (Maybe a6989586621679495150) b6989586621679495149))
data Maybe_Sym1 (a6989586621679495167 :: b6989586621679495149) :: forall a6989586621679495150. (~>) ((~>) a6989586621679495150 b6989586621679495149) ((~>) (Maybe a6989586621679495150) b6989586621679495149)
data Maybe_Sym2 (a6989586621679495167 :: b6989586621679495149) (a6989586621679495168 :: (~>) a6989586621679495150 b6989586621679495149) :: (~>) (Maybe a6989586621679495150) b6989586621679495149
type Maybe_Sym3 (a6989586621679495167 :: b6989586621679495149) (a6989586621679495168 :: (~>) a6989586621679495150 b6989586621679495149) (a6989586621679495169 :: Maybe a6989586621679495150) = Maybe_ a6989586621679495167 a6989586621679495168 a6989586621679495169
data IsJustSym0 :: forall a6989586621679496579. (~>) (Maybe a6989586621679496579) Bool
type IsJustSym1 (a6989586621679496783 :: Maybe a6989586621679496579) = IsJust a6989586621679496783
data IsNothingSym0 :: forall a6989586621679496578. (~>) (Maybe a6989586621679496578) Bool
type IsNothingSym1 (a6989586621679496781 :: Maybe a6989586621679496578) = IsNothing a6989586621679496781
data FromJustSym0 :: forall a6989586621679496577. (~>) (Maybe a6989586621679496577) a6989586621679496577
type FromJustSym1 (a6989586621679496778 :: Maybe a6989586621679496577) = FromJust a6989586621679496778
data FromMaybeSym0 :: forall a6989586621679496576. (~>) a6989586621679496576 ((~>) (Maybe a6989586621679496576) a6989586621679496576)
data FromMaybeSym1 (a6989586621679496768 :: a6989586621679496576) :: (~>) (Maybe a6989586621679496576) a6989586621679496576
type FromMaybeSym2 (a6989586621679496768 :: a6989586621679496576) (a6989586621679496769 :: Maybe a6989586621679496576) = FromMaybe a6989586621679496768 a6989586621679496769
data ListToMaybeSym0 :: forall a6989586621679496574. (~>) [a6989586621679496574] (Maybe a6989586621679496574)
type ListToMaybeSym1 (a6989586621679496762 :: [a6989586621679496574]) = ListToMaybe a6989586621679496762
data MaybeToListSym0 :: forall a6989586621679496575. (~>) (Maybe a6989586621679496575) [a6989586621679496575]
type MaybeToListSym1 (a6989586621679496765 :: Maybe a6989586621679496575) = MaybeToList a6989586621679496765
data CatMaybesSym0 :: forall a6989586621679496573. (~>) [Maybe a6989586621679496573] [a6989586621679496573]
type CatMaybesSym1 (a6989586621679496757 :: [Maybe a6989586621679496573]) = CatMaybes a6989586621679496757
data MapMaybeSym0 :: forall a6989586621679496571 b6989586621679496572. (~>) ((~>) a6989586621679496571 (Maybe b6989586621679496572)) ((~>) [a6989586621679496571] [b6989586621679496572])
data MapMaybeSym1 (a6989586621679496738 :: (~>) a6989586621679496571 (Maybe b6989586621679496572)) :: (~>) [a6989586621679496571] [b6989586621679496572]
type MapMaybeSym2 (a6989586621679496738 :: (~>) a6989586621679496571 (Maybe b6989586621679496572)) (a6989586621679496739 :: [a6989586621679496571]) = MapMaybe a6989586621679496738 a6989586621679496739
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 a6989586621679496576 (a6989586621679496768 :: a6989586621679496576). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.FromMaybeSym1 a6989586621679496768)
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.Let6989586621679496745RsSym0
instance forall k a6989586621679496571 k1 (f6989586621679496742 :: a6989586621679496571 Data.Singletons.Internal.~> GHC.Maybe.Maybe k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679496745RsSym1 f6989586621679496742)
instance forall k a6989586621679496571 k1 (x6989586621679496743 :: a6989586621679496571 Data.Singletons.Internal.~> GHC.Maybe.Maybe k1) (f6989586621679496742 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679496745RsSym2 x6989586621679496743 f6989586621679496742)
instance forall a6989586621679496571 b6989586621679496572 (a6989586621679496738 :: a6989586621679496571 Data.Singletons.Internal.~> GHC.Maybe.Maybe b6989586621679496572). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.MapMaybeSym1 a6989586621679496738)
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.Let6989586621679496749Scrutinee_6989586621679496606Sym0
instance forall k1 k2 k3 (f6989586621679496742 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679496749Scrutinee_6989586621679496606Sym1 f6989586621679496742)
instance forall k1 k2 k3 (x6989586621679496743 :: k2 Data.Singletons.Internal.~> k3) (f6989586621679496742 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679496749Scrutinee_6989586621679496606Sym2 x6989586621679496743 f6989586621679496742)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Maybe_Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Maybe.Maybe_Sym0
instance forall a6989586621679495150 b6989586621679495149 (a6989586621679495167 :: b6989586621679495149). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Maybe_Sym1 a6989586621679495167)
instance forall b a (d :: b). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Maybe.Maybe_Sym1 d)
instance forall a6989586621679495150 b6989586621679495149 (a6989586621679495168 :: b6989586621679495149) (a6989586621679495167 :: a6989586621679495150 Data.Singletons.Internal.~> b6989586621679495149). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Maybe_Sym2 a6989586621679495168 a6989586621679495167)
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_a25ii :: Type) where {
    type family (+) (arg_a25iC :: a_a25ii) (arg_a25iD :: a_a25ii) :: a_a25ii;
    type family (-) (arg_a25iG :: a_a25ii) (arg_a25iH :: a_a25ii) :: a_a25ii;
    type family (*) (arg_a25iK :: a_a25ii) (arg_a25iL :: a_a25ii) :: a_a25ii;
    type family Negate (arg_a25iO :: a_a25ii) :: a_a25ii;
    type family Abs (arg_a25iQ :: a_a25ii) :: a_a25ii;
    type family Signum (arg_a25iS :: a_a25ii) :: a_a25ii;
    type family FromInteger (arg_a25iU :: Nat) :: a_a25ii;
    type (-) a_a25j2 a_a25j3 = Apply (Apply TFHelper_6989586621679506850Sym0 a_a25j2) a_a25j3;
    type Negate a_a25jb = Apply Negate_6989586621679506858Sym0 a_a25jb;
}
infixl 6 +
infixl 7 *
infixl 6 -
class SNum a_a25ii
(%+) :: forall (t_a25kA :: a_a25ii) (t_a25kB :: a_a25ii). SNum a_a25ii => Sing t_a25kA -> Sing t_a25kB -> Sing (Apply (Apply (+@#@$) t_a25kA) t_a25kB :: a_a25ii)
(%-) :: forall (t_a25kE :: a_a25ii) (t_a25kF :: a_a25ii). SNum a_a25ii => Sing t_a25kE -> Sing t_a25kF -> Sing (Apply (Apply (-@#@$) t_a25kE) t_a25kF :: a_a25ii)
(%*) :: forall (t_a25kI :: a_a25ii) (t_a25kJ :: a_a25ii). SNum a_a25ii => Sing t_a25kI -> Sing t_a25kJ -> Sing (Apply (Apply (*@#@$) t_a25kI) t_a25kJ :: a_a25ii)
sNegate :: forall (t_a25kM :: a_a25ii). SNum a_a25ii => Sing t_a25kM -> Sing (Apply NegateSym0 t_a25kM :: a_a25ii)
sAbs :: forall (t_a25kO :: a_a25ii). SNum a_a25ii => Sing t_a25kO -> Sing (Apply AbsSym0 t_a25kO :: a_a25ii)
sSignum :: forall (t_a25kQ :: a_a25ii). SNum a_a25ii => Sing t_a25kQ -> Sing (Apply SignumSym0 t_a25kQ :: a_a25ii)
sFromInteger :: forall (t_a25kS :: Nat). SNum a_a25ii => Sing t_a25kS -> Sing (Apply FromIntegerSym0 t_a25kS :: a_a25ii)
(%-) :: forall (t_a25kE :: a_a25ii) (t_a25kF :: a_a25ii). (SNum a_a25ii, (Apply (Apply (-@#@$) t_a25kE) t_a25kF :: a_a25ii) ~ Apply (Apply TFHelper_6989586621679506850Sym0 t_a25kE) t_a25kF) => Sing t_a25kE -> Sing t_a25kF -> Sing (Apply (Apply (-@#@$) t_a25kE) t_a25kF :: a_a25ii)
sNegate :: forall (t_a25kM :: a_a25ii). (SNum a_a25ii, (Apply NegateSym0 t_a25kM :: a_a25ii) ~ Apply Negate_6989586621679506858Sym0 t_a25kM) => Sing t_a25kM -> Sing (Apply NegateSym0 t_a25kM :: a_a25ii)
infixl 6 %+
infixl 6 %-
infixl 7 %*
type family Subtract (a_a26In :: a_a26Ij) (a_a26Io :: a_a26Ij) :: a_a26Ij
sSubtract :: forall a_a26Ij (t_a26It :: a_a26Ij) (t_a26Iu :: a_a26Ij). SNum a_a26Ij => Sing t_a26It -> Sing t_a26Iu -> Sing (Apply (Apply SubtractSym0 t_a26It) t_a26Iu :: a_a26Ij)
data (+@#@$) :: forall a6989586621679506802. (~>) a6989586621679506802 ((~>) a6989586621679506802 a6989586621679506802)
infixl 6 +@#@$
data (+@#@$$) (arg6989586621679506822 :: a6989586621679506802) :: (~>) a6989586621679506802 a6989586621679506802
infixl 6 +@#@$$
type (+@#@$$$) (arg6989586621679506822 :: a6989586621679506802) (arg6989586621679506823 :: a6989586621679506802) = (+) arg6989586621679506822 arg6989586621679506823
data (-@#@$) :: forall a6989586621679506802. (~>) a6989586621679506802 ((~>) a6989586621679506802 a6989586621679506802)
infixl 6 -@#@$
data (-@#@$$) (arg6989586621679506826 :: a6989586621679506802) :: (~>) a6989586621679506802 a6989586621679506802
infixl 6 -@#@$$
type (-@#@$$$) (arg6989586621679506826 :: a6989586621679506802) (arg6989586621679506827 :: a6989586621679506802) = (-) arg6989586621679506826 arg6989586621679506827
data (*@#@$) :: forall a6989586621679506802. (~>) a6989586621679506802 ((~>) a6989586621679506802 a6989586621679506802)
infixl 7 *@#@$
data (*@#@$$) (arg6989586621679506830 :: a6989586621679506802) :: (~>) a6989586621679506802 a6989586621679506802
infixl 7 *@#@$$
type (*@#@$$$) (arg6989586621679506830 :: a6989586621679506802) (arg6989586621679506831 :: a6989586621679506802) = (*) arg6989586621679506830 arg6989586621679506831
data NegateSym0 :: forall a6989586621679506802. (~>) a6989586621679506802 a6989586621679506802
type NegateSym1 (arg6989586621679506834 :: a6989586621679506802) = Negate arg6989586621679506834
data AbsSym0 :: forall a6989586621679506802. (~>) a6989586621679506802 a6989586621679506802
type AbsSym1 (arg6989586621679506836 :: a6989586621679506802) = Abs arg6989586621679506836
data SignumSym0 :: forall a6989586621679506802. (~>) a6989586621679506802 a6989586621679506802
type SignumSym1 (arg6989586621679506838 :: a6989586621679506802) = Signum arg6989586621679506838
data FromIntegerSym0 :: forall a6989586621679506802. (~>) Nat a6989586621679506802
type FromIntegerSym1 (arg6989586621679506840 :: Nat) = FromInteger arg6989586621679506840
data SubtractSym0 :: forall a6989586621679512259. (~>) a6989586621679512259 ((~>) a6989586621679512259 a6989586621679512259)
data SubtractSym1 (a6989586621679512263 :: a6989586621679512259) :: (~>) a6989586621679512259 a6989586621679512259
type SubtractSym2 (a6989586621679512263 :: a6989586621679512259) (a6989586621679512264 :: a6989586621679512259) = Subtract a6989586621679512263 a6989586621679512264
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 a6989586621679512259 (a6989586621679512263 :: a6989586621679512259). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.SubtractSym1 a6989586621679512263)
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_6989586621679506941Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Ord.Down a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Signum_6989586621679506934Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Abs_6989586621679506927Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Negate_6989586621679506920Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679506912Sym0
instance forall a6989586621679506802 (a6989586621679506910 :: a6989586621679506802). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679506912Sym1 a6989586621679506910)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679506900Sym0
instance forall a6989586621679506802 (a6989586621679506898 :: a6989586621679506802). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679506900Sym1 a6989586621679506898)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679506888Sym0
instance forall a6989586621679506802 (a6989586621679506886 :: a6989586621679506802). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679506888Sym1 a6989586621679506886)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.*@#@$)
instance forall a6989586621679506802 (arg6989586621679506830 :: a6989586621679506802). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Num.*@#@$$) arg6989586621679506830)
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 a6989586621679506802 (arg6989586621679506822 :: a6989586621679506802). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Num.+@#@$$) arg6989586621679506822)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.+@#@$)
instance forall a6989586621679506802 (arg6989586621679506826 :: a6989586621679506802). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Num.-@#@$$) arg6989586621679506826)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.-@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.NegateSym0
instance forall a6989586621679506802 (a6989586621679506848 :: a6989586621679506802). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679506850Sym1 a6989586621679506848)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679506850Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Negate_6989586621679506858Sym0


-- | 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_a29ef :: (~>) a_a29aS ((~>) b_a29aT b_a29aT)) (a_a29eg :: b_a29aT) (a_a29eh :: [a_a29aS]) :: b_a29aT
sFoldr :: forall a_a29aS b_a29aT (t_a29fk :: (~>) a_a29aS ((~>) b_a29aT b_a29aT)) (t_a29fl :: b_a29aT) (t_a29fm :: [a_a29aS]). Sing t_a29fk -> Sing t_a29fl -> Sing t_a29fm -> Sing (Apply (Apply (Apply FoldrSym0 t_a29fk) t_a29fl) t_a29fm :: b_a29aT)
type family Map (a_a29e8 :: (~>) a_a29aQ b_a29aR) (a_a29e9 :: [a_a29aQ]) :: [b_a29aR]
sMap :: forall a_a29aQ b_a29aR (t_a29fg :: (~>) a_a29aQ b_a29aR) (t_a29fh :: [a_a29aQ]). Sing t_a29fg -> Sing t_a29fh -> Sing (Apply (Apply MapSym0 t_a29fg) t_a29fh :: [b_a29aR])
type family (++) (a_a29e0 :: [a_a29aP]) (a_a29e1 :: [a_a29aP]) :: [a_a29aP]
infixr 5 ++
(%++) :: forall a_a29aP (t_a29fc :: [a_a29aP]) (t_a29fd :: [a_a29aP]). Sing t_a29fc -> Sing t_a29fd -> Sing (Apply (Apply (++@#@$) t_a29fc) t_a29fd :: [a_a29aP])
infixr 5 %++
type family Otherwise :: Bool
sOtherwise :: Sing (OtherwiseSym0 :: Bool)
type family Id (a_a29dX :: a_a29aO) :: a_a29aO
sId :: forall a_a29aO (t_a29fa :: a_a29aO). Sing t_a29fa -> Sing (Apply IdSym0 t_a29fa :: a_a29aO)
type family Const (a_a29dI :: a_a29aM) (a_a29dJ :: b_a29aN) :: a_a29aM
sConst :: forall a_a29aM b_a29aN (t_a29f2 :: a_a29aM) (t_a29f3 :: b_a29aN). Sing t_a29f2 -> Sing t_a29f3 -> Sing (Apply (Apply ConstSym0 t_a29f2) t_a29f3 :: a_a29aM)
type family (:.) (a_a29dp :: (~>) b_a29aJ c_a29aK) (a_a29dq :: (~>) a_a29aL b_a29aJ) (a_a29dr :: a_a29aL) :: c_a29aK
infixr 9 :.
(%.) :: forall b_a29aJ c_a29aK a_a29aL (t_a29eW :: (~>) b_a29aJ c_a29aK) (t_a29eX :: (~>) a_a29aL b_a29aJ) (t_a29eY :: a_a29aL). Sing t_a29eW -> Sing t_a29eX -> Sing t_a29eY -> Sing (Apply (Apply (Apply (.@#@$) t_a29eW) t_a29eX) t_a29eY :: c_a29aK)
infixr 9 %.
type family ($) (a_a29da :: (~>) a_a29aD b_a29aE) (a_a29db :: a_a29aD) :: b_a29aE
infixr 0 $
type family ($!) (a_a29d1 :: (~>) a_a29aB b_a29aC) (a_a29d2 :: a_a29aB) :: b_a29aC
infixr 0 $!
(%$) :: forall a_a29aD b_a29aE (t_a29eM :: (~>) a_a29aD b_a29aE) (t_a29eN :: a_a29aD). Sing t_a29eM -> Sing t_a29eN -> Sing (Apply (Apply ($@#@$) t_a29eM) t_a29eN :: b_a29aE)
infixr 0 %$
(%$!) :: forall a_a29aB b_a29aC (t_a29eI :: (~>) a_a29aB b_a29aC) (t_a29eJ :: a_a29aB). Sing t_a29eI -> Sing t_a29eJ -> Sing (Apply (Apply ($!@#@$) t_a29eI) t_a29eJ :: b_a29aC)
infixr 0 %$!
type family Until (a_a29cB :: (~>) a_a29aA Bool) (a_a29cC :: (~>) a_a29aA a_a29aA) (a_a29cD :: a_a29aA) :: a_a29aA
sUntil :: forall a_a29aA (t_a29eC :: (~>) a_a29aA Bool) (t_a29eD :: (~>) a_a29aA a_a29aA) (t_a29eE :: a_a29aA). Sing t_a29eC -> Sing t_a29eD -> Sing t_a29eE -> Sing (Apply (Apply (Apply UntilSym0 t_a29eC) t_a29eD) t_a29eE :: a_a29aA)
type family Flip (a_a29dg :: (~>) a_a29aG ((~>) b_a29aH c_a29aI)) (a_a29dh :: b_a29aH) (a_a29di :: a_a29aG) :: c_a29aI
sFlip :: forall a_a29aG b_a29aH c_a29aI (t_a29eQ :: (~>) a_a29aG ((~>) b_a29aH c_a29aI)) (t_a29eR :: b_a29aH) (t_a29eS :: a_a29aG). Sing t_a29eQ -> Sing t_a29eR -> Sing t_a29eS -> Sing (Apply (Apply (Apply FlipSym0 t_a29eQ) t_a29eR) t_a29eS :: c_a29aI)
type family AsTypeOf (a_a29dR :: a_a29aF) (a_a29dS :: a_a29aF) :: a_a29aF
sAsTypeOf :: forall a_a29aF (t_a29f6 :: a_a29aF) (t_a29f7 :: a_a29aF). Sing t_a29f6 -> Sing t_a29f7 -> Sing (Apply (Apply AsTypeOfSym0 t_a29f6) t_a29f7 :: a_a29aF)
type family Seq (a_a29cw :: a_a29ay) (a_a29cx :: b_a29az) :: b_a29az
infixr 0 `Seq`
sSeq :: forall a_a29ay b_a29az (t_a29ey :: a_a29ay) (t_a29ez :: b_a29az). Sing t_a29ey -> Sing t_a29ez -> Sing (Apply (Apply SeqSym0 t_a29ey) t_a29ez :: b_a29az)
infixr 0 `sSeq`
data FoldrSym0 :: forall a6989586621679521718 b6989586621679521719. (~>) ((~>) a6989586621679521718 ((~>) b6989586621679521719 b6989586621679521719)) ((~>) b6989586621679521719 ((~>) [a6989586621679521718] b6989586621679521719))
data FoldrSym1 (a6989586621679521927 :: (~>) a6989586621679521718 ((~>) b6989586621679521719 b6989586621679521719)) :: (~>) b6989586621679521719 ((~>) [a6989586621679521718] b6989586621679521719)
data FoldrSym2 (a6989586621679521927 :: (~>) a6989586621679521718 ((~>) b6989586621679521719 b6989586621679521719)) (a6989586621679521928 :: b6989586621679521719) :: (~>) [a6989586621679521718] b6989586621679521719
type FoldrSym3 (a6989586621679521927 :: (~>) a6989586621679521718 ((~>) b6989586621679521719 b6989586621679521719)) (a6989586621679521928 :: b6989586621679521719) (a6989586621679521929 :: [a6989586621679521718]) = Foldr a6989586621679521927 a6989586621679521928 a6989586621679521929
data MapSym0 :: forall a6989586621679521716 b6989586621679521717. (~>) ((~>) a6989586621679521716 b6989586621679521717) ((~>) [a6989586621679521716] [b6989586621679521717])
data MapSym1 (a6989586621679521920 :: (~>) a6989586621679521716 b6989586621679521717) :: (~>) [a6989586621679521716] [b6989586621679521717]
type MapSym2 (a6989586621679521920 :: (~>) a6989586621679521716 b6989586621679521717) (a6989586621679521921 :: [a6989586621679521716]) = Map a6989586621679521920 a6989586621679521921
data (++@#@$) :: forall a6989586621679521715. (~>) [a6989586621679521715] ((~>) [a6989586621679521715] [a6989586621679521715])
infixr 5 ++@#@$
data (++@#@$$) (a6989586621679521912 :: [a6989586621679521715]) :: (~>) [a6989586621679521715] [a6989586621679521715]
infixr 5 ++@#@$$
type (++@#@$$$) (a6989586621679521912 :: [a6989586621679521715]) (a6989586621679521913 :: [a6989586621679521715]) = (++) a6989586621679521912 a6989586621679521913
type OtherwiseSym0 = Otherwise
data IdSym0 :: forall a6989586621679521714. (~>) a6989586621679521714 a6989586621679521714
type IdSym1 (a6989586621679521909 :: a6989586621679521714) = Id a6989586621679521909
data ConstSym0 :: forall a6989586621679521712 b6989586621679521713. (~>) a6989586621679521712 ((~>) b6989586621679521713 a6989586621679521712)
data ConstSym1 (a6989586621679521894 :: a6989586621679521712) :: forall b6989586621679521713. (~>) b6989586621679521713 a6989586621679521712
type ConstSym2 (a6989586621679521894 :: a6989586621679521712) (a6989586621679521895 :: b6989586621679521713) = Const a6989586621679521894 a6989586621679521895
data (.@#@$) :: forall a6989586621679521711 b6989586621679521709 c6989586621679521710. (~>) ((~>) b6989586621679521709 c6989586621679521710) ((~>) ((~>) a6989586621679521711 b6989586621679521709) ((~>) a6989586621679521711 c6989586621679521710))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679521875 :: (~>) b6989586621679521709 c6989586621679521710) :: forall a6989586621679521711. (~>) ((~>) a6989586621679521711 b6989586621679521709) ((~>) a6989586621679521711 c6989586621679521710)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679521875 :: (~>) b6989586621679521709 c6989586621679521710) (a6989586621679521876 :: (~>) a6989586621679521711 b6989586621679521709) :: (~>) a6989586621679521711 c6989586621679521710
infixr 9 .@#@$$$
type (.@#@$$$$) (a6989586621679521875 :: (~>) b6989586621679521709 c6989586621679521710) (a6989586621679521876 :: (~>) a6989586621679521711 b6989586621679521709) (a6989586621679521877 :: a6989586621679521711) = (:.) a6989586621679521875 a6989586621679521876 a6989586621679521877
data ($@#@$) :: forall a6989586621679521703 b6989586621679521704. (~>) ((~>) a6989586621679521703 b6989586621679521704) ((~>) a6989586621679521703 b6989586621679521704)
infixr 0 $@#@$
data ($@#@$$) (a6989586621679521860 :: (~>) a6989586621679521703 b6989586621679521704) :: (~>) a6989586621679521703 b6989586621679521704
infixr 0 $@#@$$
type ($@#@$$$) (a6989586621679521860 :: (~>) a6989586621679521703 b6989586621679521704) (a6989586621679521861 :: a6989586621679521703) = ($) a6989586621679521860 a6989586621679521861
data ($!@#@$) :: forall a6989586621679521701 b6989586621679521702. (~>) ((~>) a6989586621679521701 b6989586621679521702) ((~>) a6989586621679521701 b6989586621679521702)
infixr 0 $!@#@$
data ($!@#@$$) (a6989586621679521851 :: (~>) a6989586621679521701 b6989586621679521702) :: (~>) a6989586621679521701 b6989586621679521702
infixr 0 $!@#@$$
type ($!@#@$$$) (a6989586621679521851 :: (~>) a6989586621679521701 b6989586621679521702) (a6989586621679521852 :: a6989586621679521701) = ($!) a6989586621679521851 a6989586621679521852
data UntilSym0 :: forall a6989586621679521700. (~>) ((~>) a6989586621679521700 Bool) ((~>) ((~>) a6989586621679521700 a6989586621679521700) ((~>) a6989586621679521700 a6989586621679521700))
data UntilSym1 (a6989586621679521825 :: (~>) a6989586621679521700 Bool) :: (~>) ((~>) a6989586621679521700 a6989586621679521700) ((~>) a6989586621679521700 a6989586621679521700)
data UntilSym2 (a6989586621679521825 :: (~>) a6989586621679521700 Bool) (a6989586621679521826 :: (~>) a6989586621679521700 a6989586621679521700) :: (~>) a6989586621679521700 a6989586621679521700
type UntilSym3 (a6989586621679521825 :: (~>) a6989586621679521700 Bool) (a6989586621679521826 :: (~>) a6989586621679521700 a6989586621679521700) (a6989586621679521827 :: a6989586621679521700) = Until a6989586621679521825 a6989586621679521826 a6989586621679521827
data FlipSym0 :: forall a6989586621679521706 b6989586621679521707 c6989586621679521708. (~>) ((~>) a6989586621679521706 ((~>) b6989586621679521707 c6989586621679521708)) ((~>) b6989586621679521707 ((~>) a6989586621679521706 c6989586621679521708))
data FlipSym1 (a6989586621679521866 :: (~>) a6989586621679521706 ((~>) b6989586621679521707 c6989586621679521708)) :: (~>) b6989586621679521707 ((~>) a6989586621679521706 c6989586621679521708)
data FlipSym2 (a6989586621679521866 :: (~>) a6989586621679521706 ((~>) b6989586621679521707 c6989586621679521708)) (a6989586621679521867 :: b6989586621679521707) :: (~>) a6989586621679521706 c6989586621679521708
type FlipSym3 (a6989586621679521866 :: (~>) a6989586621679521706 ((~>) b6989586621679521707 c6989586621679521708)) (a6989586621679521867 :: b6989586621679521707) (a6989586621679521868 :: a6989586621679521706) = Flip a6989586621679521866 a6989586621679521867 a6989586621679521868
data AsTypeOfSym0 :: forall a6989586621679521705. (~>) a6989586621679521705 ((~>) a6989586621679521705 a6989586621679521705)
data AsTypeOfSym1 (a6989586621679521903 :: a6989586621679521705) :: (~>) a6989586621679521705 a6989586621679521705
type AsTypeOfSym2 (a6989586621679521903 :: a6989586621679521705) (a6989586621679521904 :: a6989586621679521705) = AsTypeOf a6989586621679521903 a6989586621679521904
data SeqSym0 :: forall a6989586621679521698 b6989586621679521699. (~>) a6989586621679521698 ((~>) b6989586621679521699 b6989586621679521699)
infixr 0 `SeqSym0`
data SeqSym1 (a6989586621679521820 :: a6989586621679521698) :: forall b6989586621679521699. (~>) b6989586621679521699 b6989586621679521699
infixr 0 `SeqSym1`
type SeqSym2 (a6989586621679521820 :: a6989586621679521698) (a6989586621679521821 :: b6989586621679521699) = Seq a6989586621679521820 a6989586621679521821
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.FoldrSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Base.FoldrSym0
instance forall a6989586621679521718 b6989586621679521719 (a6989586621679521927 :: a6989586621679521718 Data.Singletons.Internal.~> (b6989586621679521719 Data.Singletons.Internal.~> b6989586621679521719)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FoldrSym1 a6989586621679521927)
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 a6989586621679521718 b6989586621679521719 (a6989586621679521928 :: a6989586621679521718 Data.Singletons.Internal.~> (b6989586621679521719 Data.Singletons.Internal.~> b6989586621679521719)) (a6989586621679521927 :: b6989586621679521719). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FoldrSym2 a6989586621679521928 a6989586621679521927)
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 a6989586621679521716 b6989586621679521717 (a6989586621679521920 :: a6989586621679521716 Data.Singletons.Internal.~> b6989586621679521717). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.MapSym1 a6989586621679521920)
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 a6989586621679521715 (a6989586621679521912 :: [a6989586621679521715]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base.++@#@$$) a6989586621679521912)
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 a6989586621679521705 (a6989586621679521903 :: a6989586621679521705). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.AsTypeOfSym1 a6989586621679521903)
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 b6989586621679521713 a6989586621679521712 (a6989586621679521894 :: a6989586621679521712). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.ConstSym1 a6989586621679521894)
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 a6989586621679521711 b6989586621679521709 c6989586621679521710 (a6989586621679521875 :: b6989586621679521709 Data.Singletons.Internal.~> c6989586621679521710). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base..@#@$$) a6989586621679521875)
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 a6989586621679521711 b6989586621679521709 c6989586621679521710 (a6989586621679521876 :: b6989586621679521709 Data.Singletons.Internal.~> c6989586621679521710) (a6989586621679521875 :: a6989586621679521711 Data.Singletons.Internal.~> b6989586621679521709). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (a6989586621679521876 Data.Singletons.Prelude.Base..@#@$$$ a6989586621679521875)
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 a6989586621679521706 b6989586621679521707 c6989586621679521708 (a6989586621679521866 :: a6989586621679521706 Data.Singletons.Internal.~> (b6989586621679521707 Data.Singletons.Internal.~> c6989586621679521708)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FlipSym1 a6989586621679521866)
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 a6989586621679521706 b6989586621679521707 c6989586621679521708 (a6989586621679521867 :: a6989586621679521706 Data.Singletons.Internal.~> (b6989586621679521707 Data.Singletons.Internal.~> c6989586621679521708)) (a6989586621679521866 :: b6989586621679521707). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FlipSym2 a6989586621679521867 a6989586621679521866)
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 a6989586621679521703 b6989586621679521704 (a6989586621679521860 :: a6989586621679521703 Data.Singletons.Internal.~> b6989586621679521704). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base.$@#@$$) a6989586621679521860)
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 a6989586621679521701 b6989586621679521702 (a6989586621679521851 :: a6989586621679521701 Data.Singletons.Internal.~> b6989586621679521702). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base.$!@#@$$) a6989586621679521851)
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 a6989586621679521700 (a6989586621679521825 :: a6989586621679521700 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.UntilSym1 a6989586621679521825)
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 a6989586621679521700 (a6989586621679521826 :: a6989586621679521700 Data.Singletons.Internal.~> GHC.Types.Bool) (a6989586621679521825 :: a6989586621679521700 Data.Singletons.Internal.~> a6989586621679521700). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.UntilSym2 a6989586621679521826 a6989586621679521825)
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 b6989586621679521699 a6989586621679521698 (a6989586621679521820 :: a6989586621679521698). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.SeqSym1 a6989586621679521820)
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.Let6989586621679521938GoSym0
instance forall k1 k2 k3 (k6989586621679521935 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679521938GoSym1 k6989586621679521935)
instance forall k1 k2 k3 (z6989586621679521936 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (k6989586621679521935 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679521938GoSym2 z6989586621679521936 k6989586621679521935)
instance forall k1 k2 k3 (a_69895866216795219336989586621679521937 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (z6989586621679521936 :: k3) (k6989586621679521935 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679521938GoSym3 a_69895866216795219336989586621679521937 z6989586621679521936 k6989586621679521935)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679521886Sym0
instance forall k2 k3 k4 k5 (f6989586621679521883 :: k4 Data.Singletons.Internal.~> k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Lambda_6989586621679521886Sym1 f6989586621679521883)
instance forall k2 k3 k4 k5 (g6989586621679521884 :: k4 Data.Singletons.Internal.~> k5) (f6989586621679521883 :: k3 Data.Singletons.Internal.~> k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Lambda_6989586621679521886Sym2 g6989586621679521884 f6989586621679521883)
instance forall k2 k3 k4 k5 (a_69895866216795218816989586621679521885 :: k4 Data.Singletons.Internal.~> k5) (g6989586621679521884 :: k3 Data.Singletons.Internal.~> k4) (f6989586621679521883 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Lambda_6989586621679521886Sym3 a_69895866216795218816989586621679521885 g6989586621679521884 f6989586621679521883)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679521857VxSym0
instance forall k1 k2 (f6989586621679521855 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679521857VxSym1 f6989586621679521855)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679521836GoSym0
instance forall k1 k2 (p6989586621679521833 :: k2 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679521836GoSym1 p6989586621679521833)
instance forall k1 k2 (f6989586621679521834 :: k2 Data.Singletons.Internal.~> GHC.Types.Bool) (p6989586621679521833 :: k2 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679521836GoSym2 f6989586621679521834 p6989586621679521833)
instance forall k1 k2 (a_69895866216795218316989586621679521835 :: k2 Data.Singletons.Internal.~> GHC.Types.Bool) (f6989586621679521834 :: k2 Data.Singletons.Internal.~> k2) (p6989586621679521833 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679521836GoSym3 a_69895866216795218316989586621679521835 f6989586621679521834 p6989586621679521833)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679521843Scrutinee_6989586621679521762Sym0
instance forall k1 k2 k3 k4 (p6989586621679521833 :: k3 Data.Singletons.Internal.~> k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679521843Scrutinee_6989586621679521762Sym1 p6989586621679521833)
instance forall k1 k2 k3 k4 (f6989586621679521834 :: k3 Data.Singletons.Internal.~> k4) (p6989586621679521833 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679521843Scrutinee_6989586621679521762Sym2 f6989586621679521834 p6989586621679521833)
instance forall k1 k2 k3 k4 (x6989586621679521842 :: k3 Data.Singletons.Internal.~> k4) (f6989586621679521834 :: k2) (p6989586621679521833 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679521843Scrutinee_6989586621679521762Sym3 x6989586621679521842 f6989586621679521834 p6989586621679521833)


-- | Defines the promoted and singled versions of the <a>Functor</a> type
--   class.
module Data.Singletons.Prelude.Functor
class PFunctor (f_a2ftT :: Type -> Type) where {
    type family Fmap (arg_a2fAf :: (~>) a_a2ftU b_a2ftV) (arg_a2fAg :: f_a2ftT a_a2ftU) :: f_a2ftT b_a2ftV;
    type family (<$) (arg_a2fAj :: a_a2ftW) (arg_a2fAk :: f_a2ftT b_a2ftX) :: f_a2ftT a_a2ftW;
    type (<$) a_a2fAx a_a2fAy = Apply (Apply TFHelper_6989586621679546375Sym0 a_a2fAx) a_a2fAy;
}
infixl 4 <$
class SFunctor (f_a2ftT :: Type -> Type)
sFmap :: forall a_a2ftU b_a2ftV (t_a2fEG :: (~>) a_a2ftU b_a2ftV) (t_a2fEH :: f_a2ftT a_a2ftU). SFunctor f_a2ftT => Sing t_a2fEG -> Sing t_a2fEH -> Sing (Apply (Apply FmapSym0 t_a2fEG) t_a2fEH :: f_a2ftT b_a2ftV)
(%<$) :: forall a_a2ftW b_a2ftX (t_a2fEK :: a_a2ftW) (t_a2fEL :: f_a2ftT b_a2ftX). SFunctor f_a2ftT => Sing t_a2fEK -> Sing t_a2fEL -> Sing (Apply (Apply (<$@#@$) t_a2fEK) t_a2fEL :: f_a2ftT a_a2ftW)
(%<$) :: forall a_a2ftW b_a2ftX (t_a2fEK :: a_a2ftW) (t_a2fEL :: f_a2ftT b_a2ftX). (SFunctor f_a2ftT, (Apply (Apply (<$@#@$) t_a2fEK) t_a2fEL :: f_a2ftT a_a2ftW) ~ Apply (Apply TFHelper_6989586621679546375Sym0 t_a2fEK) t_a2fEL) => Sing t_a2fEK -> Sing t_a2fEL -> Sing (Apply (Apply (<$@#@$) t_a2fEK) t_a2fEL :: f_a2ftT a_a2ftW)
infixl 4 %<$
type family ($>) (a_a2Xyf :: f_a2Xx0 a_a2Xx1) (a_a2Xyg :: b_a2Xx2) :: f_a2Xx0 b_a2Xx2
infixl 4 $>
(%$>) :: forall f_a2Xx0 a_a2Xx1 b_a2Xx2 (t_a2XzW :: f_a2Xx0 a_a2Xx1) (t_a2XzX :: b_a2Xx2). SFunctor f_a2Xx0 => Sing t_a2XzW -> Sing t_a2XzX -> Sing (Apply (Apply ($>@#@$) t_a2XzW) t_a2XzX :: f_a2Xx0 b_a2Xx2)
infixl 4 %$>
type family (<$>) (a_a2Xyp :: (~>) a_a2Xx7 b_a2Xx8) (a_a2Xyq :: f_a2Xx6 a_a2Xx7) :: f_a2Xx6 b_a2Xx8
infixl 4 <$>
(%<$>) :: forall f_a2Xx6 a_a2Xx7 b_a2Xx8 (t_a2XA0 :: (~>) a_a2Xx7 b_a2Xx8) (t_a2XA1 :: f_a2Xx6 a_a2Xx7). SFunctor f_a2Xx6 => Sing t_a2XA0 -> Sing t_a2XA1 -> Sing (Apply (Apply (<$>@#@$) t_a2XA0) t_a2XA1 :: f_a2Xx6 b_a2Xx8)
infixl 4 %<$>
type family (<&>) (a_a2Xyv :: f_a2Xx3 a_a2Xx4) (a_a2Xyw :: (~>) a_a2Xx4 b_a2Xx5) :: f_a2Xx3 b_a2Xx5
infixl 1 <&>
(%<&>) :: forall f_a2Xx3 a_a2Xx4 b_a2Xx5 (t_a2XA4 :: f_a2Xx3 a_a2Xx4) (t_a2XA5 :: (~>) a_a2Xx4 b_a2Xx5). SFunctor f_a2Xx3 => Sing t_a2XA4 -> Sing t_a2XA5 -> Sing (Apply (Apply (<&>@#@$) t_a2XA4) t_a2XA5 :: f_a2Xx3 b_a2Xx5)
infixl 1 %<&>
type family Void (a_a2Xy8 :: f_a2XwY a_a2XwZ) :: f_a2XwY ()
sVoid :: forall f_a2XwY a_a2XwZ (t_a2XzU :: f_a2XwY a_a2XwZ). SFunctor f_a2XwY => Sing t_a2XzU -> Sing (Apply VoidSym0 t_a2XzU :: f_a2XwY ())
data FmapSym0 :: forall a6989586621679545962 b6989586621679545963 f6989586621679545961. (~>) ((~>) a6989586621679545962 b6989586621679545963) ((~>) (f6989586621679545961 a6989586621679545962) (f6989586621679545961 b6989586621679545963))
data FmapSym1 (arg6989586621679546355 :: (~>) a6989586621679545962 b6989586621679545963) :: forall f6989586621679545961. (~>) (f6989586621679545961 a6989586621679545962) (f6989586621679545961 b6989586621679545963)
type FmapSym2 (arg6989586621679546355 :: (~>) a6989586621679545962 b6989586621679545963) (arg6989586621679546356 :: f6989586621679545961 a6989586621679545962) = Fmap arg6989586621679546355 arg6989586621679546356
data (<$@#@$) :: forall a6989586621679545964 b6989586621679545965 f6989586621679545961. (~>) a6989586621679545964 ((~>) (f6989586621679545961 b6989586621679545965) (f6989586621679545961 a6989586621679545964))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679546359 :: a6989586621679545964) :: forall b6989586621679545965 f6989586621679545961. (~>) (f6989586621679545961 b6989586621679545965) (f6989586621679545961 a6989586621679545964)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679546359 :: a6989586621679545964) (arg6989586621679546360 :: f6989586621679545961 b6989586621679545965) = (<$) arg6989586621679546359 arg6989586621679546360
data ($>@#@$) :: forall a6989586621679715291 b6989586621679715292 f6989586621679715290. (~>) (f6989586621679715290 a6989586621679715291) ((~>) b6989586621679715292 (f6989586621679715290 b6989586621679715292))
infixl 4 $>@#@$
data ($>@#@$$) (a6989586621679715367 :: f6989586621679715290 a6989586621679715291) :: forall b6989586621679715292. (~>) b6989586621679715292 (f6989586621679715290 b6989586621679715292)
infixl 4 $>@#@$$
type ($>@#@$$$) (a6989586621679715367 :: f6989586621679715290 a6989586621679715291) (a6989586621679715368 :: b6989586621679715292) = ($>) a6989586621679715367 a6989586621679715368
data (<$>@#@$) :: forall a6989586621679715297 b6989586621679715298 f6989586621679715296. (~>) ((~>) a6989586621679715297 b6989586621679715298) ((~>) (f6989586621679715296 a6989586621679715297) (f6989586621679715296 b6989586621679715298))
infixl 4 <$>@#@$
data (<$>@#@$$) (a6989586621679715377 :: (~>) a6989586621679715297 b6989586621679715298) :: forall f6989586621679715296. (~>) (f6989586621679715296 a6989586621679715297) (f6989586621679715296 b6989586621679715298)
infixl 4 <$>@#@$$
type (<$>@#@$$$) (a6989586621679715377 :: (~>) a6989586621679715297 b6989586621679715298) (a6989586621679715378 :: f6989586621679715296 a6989586621679715297) = (<$>) a6989586621679715377 a6989586621679715378
data (<&>@#@$) :: forall a6989586621679715294 b6989586621679715295 f6989586621679715293. (~>) (f6989586621679715293 a6989586621679715294) ((~>) ((~>) a6989586621679715294 b6989586621679715295) (f6989586621679715293 b6989586621679715295))
infixl 1 <&>@#@$
data (<&>@#@$$) (a6989586621679715383 :: f6989586621679715293 a6989586621679715294) :: forall b6989586621679715295. (~>) ((~>) a6989586621679715294 b6989586621679715295) (f6989586621679715293 b6989586621679715295)
infixl 1 <&>@#@$$
type (<&>@#@$$$) (a6989586621679715383 :: f6989586621679715293 a6989586621679715294) (a6989586621679715384 :: (~>) a6989586621679715294 b6989586621679715295) = (<&>) a6989586621679715383 a6989586621679715384
data VoidSym0 :: forall a6989586621679715289 f6989586621679715288. (~>) (f6989586621679715288 a6989586621679715289) (f6989586621679715288 ())
type VoidSym1 (a6989586621679715360 :: f6989586621679715288 a6989586621679715289) = Void a6989586621679715360
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.TFHelper_6989586621679715466Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Ord.Down
instance forall b6989586621679545965 a6989586621679545964 (a6989586621679715464 :: a6989586621679545964). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.TFHelper_6989586621679715466Sym1 a6989586621679715464)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679715457Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Ord.Down
instance forall k1 k2 k3 (_z_69895866216797153526989586621679715455 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679715457Sym1 _z_69895866216797153526989586621679715455)
instance forall k1 k2 k3 (a_69895866216797153586989586621679715456 :: k3) (_z_69895866216797153526989586621679715455 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679715457Sym2 a_69895866216797153586989586621679715456 _z_69895866216797153526989586621679715455)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Fmap_6989586621679715447Sym0
instance forall a6989586621679545962 b6989586621679545963 (a6989586621679715445 :: a6989586621679545962 Data.Singletons.Internal.~> b6989586621679545963). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Fmap_6989586621679715447Sym1 a6989586621679715445)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.TFHelper_6989586621679715435Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor ((,) a)
instance forall a6989586621679715306 b6989586621679545965 a6989586621679545964 (a6989586621679715433 :: a6989586621679545964). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.TFHelper_6989586621679715435Sym1 a6989586621679715433)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679715425Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor ((,) a)
instance forall k1 k2 k3 k4 (_z_69895866216797153306989586621679715414 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679715425Sym1 _z_69895866216797153306989586621679715414)
instance forall k1 k2 k3 k4 (a_69895866216797153426989586621679715415 :: k4) (_z_69895866216797153306989586621679715414 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679715425Sym2 a_69895866216797153426989586621679715415 _z_69895866216797153306989586621679715414)
instance forall k1 k2 k3 k4 (a_69895866216797153446989586621679715416 :: k4) (a_69895866216797153426989586621679715415 :: k3) (_z_69895866216797153306989586621679715414 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679715425Sym3 a_69895866216797153446989586621679715416 a_69895866216797153426989586621679715415 _z_69895866216797153306989586621679715414)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679715417Sym0
instance forall k1 k2 k3 k4 (_z_69895866216797153306989586621679715414 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679715417Sym1 _z_69895866216797153306989586621679715414)
instance forall k1 k2 k3 k4 (a_69895866216797153426989586621679715415 :: k4) (_z_69895866216797153306989586621679715414 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679715417Sym2 a_69895866216797153426989586621679715415 _z_69895866216797153306989586621679715414)
instance forall k1 k2 k3 k4 (a_69895866216797153446989586621679715416 :: k4) (a_69895866216797153426989586621679715415 :: k3) (_z_69895866216797153306989586621679715414 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679715417Sym3 a_69895866216797153446989586621679715416 a_69895866216797153426989586621679715415 _z_69895866216797153306989586621679715414)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Fmap_6989586621679715406Sym0
instance forall a6989586621679715306 a6989586621679545962 b6989586621679545963 (a6989586621679715404 :: a6989586621679545962 Data.Singletons.Internal.~> b6989586621679545963). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Fmap_6989586621679715406Sym1 a6989586621679715404)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679715396Sym0
instance forall k1 k2 k3 k4 (_f_69895866216797153286989586621679715393 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679715396Sym1 _f_69895866216797153286989586621679715393)
instance forall k1 k2 k3 k4 (a_69895866216797153346989586621679715394 :: k4) (_f_69895866216797153286989586621679715393 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679715396Sym2 a_69895866216797153346989586621679715394 _f_69895866216797153286989586621679715393)
instance forall k1 k2 k3 k4 (a_69895866216797153366989586621679715395 :: k4) (a_69895866216797153346989586621679715394 :: k3) (_f_69895866216797153286989586621679715393 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679715396Sym3 a_69895866216797153366989586621679715395 a_69895866216797153346989586621679715394 _f_69895866216797153286989586621679715393)
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 b6989586621679715295 (f6989586621679715293 :: * -> *) a6989586621679715294 (a6989586621679715383 :: f6989586621679715293 a6989586621679715294). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Functor.<&>@#@$$) a6989586621679715383)
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 (f6989586621679715296 :: * -> *) a6989586621679715297 b6989586621679715298 (a6989586621679715377 :: a6989586621679715297 Data.Singletons.Internal.~> b6989586621679715298). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Functor.<$>@#@$$) a6989586621679715377)
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 b6989586621679715292 (f6989586621679715290 :: * -> *) a6989586621679715291 (a6989586621679715367 :: f6989586621679715290 a6989586621679715291). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Functor.$>@#@$$) a6989586621679715367)
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_a29dX :: a_a29aO) :: a_a29aO
sId :: forall a_a29aO (t_a29fa :: a_a29aO). Sing t_a29fa -> Sing (Apply IdSym0 t_a29fa :: a_a29aO)
type family Const (a_a29dI :: a_a29aM) (a_a29dJ :: b_a29aN) :: a_a29aM
sConst :: forall a_a29aM b_a29aN (t_a29f2 :: a_a29aM) (t_a29f3 :: b_a29aN). Sing t_a29f2 -> Sing t_a29f3 -> Sing (Apply (Apply ConstSym0 t_a29f2) t_a29f3 :: a_a29aM)
type family (:.) (a_a29dp :: (~>) b_a29aJ c_a29aK) (a_a29dq :: (~>) a_a29aL b_a29aJ) (a_a29dr :: a_a29aL) :: c_a29aK
infixr 9 :.
(%.) :: forall b_a29aJ c_a29aK a_a29aL (t_a29eW :: (~>) b_a29aJ c_a29aK) (t_a29eX :: (~>) a_a29aL b_a29aJ) (t_a29eY :: a_a29aL). Sing t_a29eW -> Sing t_a29eX -> Sing t_a29eY -> Sing (Apply (Apply (Apply (.@#@$) t_a29eW) t_a29eX) t_a29eY :: c_a29aK)
infixr 9 %.
type family Flip (a_a29dg :: (~>) a_a29aG ((~>) b_a29aH c_a29aI)) (a_a29dh :: b_a29aH) (a_a29di :: a_a29aG) :: c_a29aI
sFlip :: forall a_a29aG b_a29aH c_a29aI (t_a29eQ :: (~>) a_a29aG ((~>) b_a29aH c_a29aI)) (t_a29eR :: b_a29aH) (t_a29eS :: a_a29aG). Sing t_a29eQ -> Sing t_a29eR -> Sing t_a29eS -> Sing (Apply (Apply (Apply FlipSym0 t_a29eQ) t_a29eR) t_a29eS :: c_a29aI)
type family ($) (a_a29da :: (~>) a_a29aD b_a29aE) (a_a29db :: a_a29aD) :: b_a29aE
infixr 0 $
(%$) :: forall a_a29aD b_a29aE (t_a29eM :: (~>) a_a29aD b_a29aE) (t_a29eN :: a_a29aD). Sing t_a29eM -> Sing t_a29eN -> Sing (Apply (Apply ($@#@$) t_a29eM) t_a29eN :: b_a29aE)
infixr 0 %$
type family (&) (a_a31ql :: a_a31q8) (a_a31qm :: (~>) a_a31q8 b_a31q9) :: b_a31q9
infixl 1 &
(%&) :: forall a_a31q8 b_a31q9 (t_a31qT :: a_a31q8) (t_a31qU :: (~>) a_a31q8 b_a31q9). Sing t_a31qT -> Sing t_a31qU -> Sing (Apply (Apply (&@#@$) t_a31qT) t_a31qU :: b_a31q9)
infixl 1 %&
type family On (a_a31qr :: (~>) b_a31qa ((~>) b_a31qa c_a31qb)) (a_a31qs :: (~>) a_a31qc b_a31qa) (a_a31qt :: a_a31qc) (a_a31qu :: a_a31qc) :: c_a31qb
infixl 0 `On`
sOn :: forall b_a31qa c_a31qb a_a31qc (t_a31qX :: (~>) b_a31qa ((~>) b_a31qa c_a31qb)) (t_a31qY :: (~>) a_a31qc b_a31qa) (t_a31qZ :: a_a31qc) (t_a31r0 :: a_a31qc). Sing t_a31qX -> Sing t_a31qY -> Sing t_a31qZ -> Sing t_a31r0 -> Sing (Apply (Apply (Apply (Apply OnSym0 t_a31qX) t_a31qY) t_a31qZ) t_a31r0 :: c_a31qb)
infixl 0 `sOn`
data IdSym0 :: forall a6989586621679521714. (~>) a6989586621679521714 a6989586621679521714
type IdSym1 (a6989586621679521909 :: a6989586621679521714) = Id a6989586621679521909
data ConstSym0 :: forall a6989586621679521712 b6989586621679521713. (~>) a6989586621679521712 ((~>) b6989586621679521713 a6989586621679521712)
data ConstSym1 (a6989586621679521894 :: a6989586621679521712) :: forall b6989586621679521713. (~>) b6989586621679521713 a6989586621679521712
type ConstSym2 (a6989586621679521894 :: a6989586621679521712) (a6989586621679521895 :: b6989586621679521713) = Const a6989586621679521894 a6989586621679521895
data (.@#@$) :: forall a6989586621679521711 b6989586621679521709 c6989586621679521710. (~>) ((~>) b6989586621679521709 c6989586621679521710) ((~>) ((~>) a6989586621679521711 b6989586621679521709) ((~>) a6989586621679521711 c6989586621679521710))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679521875 :: (~>) b6989586621679521709 c6989586621679521710) :: forall a6989586621679521711. (~>) ((~>) a6989586621679521711 b6989586621679521709) ((~>) a6989586621679521711 c6989586621679521710)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679521875 :: (~>) b6989586621679521709 c6989586621679521710) (a6989586621679521876 :: (~>) a6989586621679521711 b6989586621679521709) :: (~>) a6989586621679521711 c6989586621679521710
infixr 9 .@#@$$$
type (.@#@$$$$) (a6989586621679521875 :: (~>) b6989586621679521709 c6989586621679521710) (a6989586621679521876 :: (~>) a6989586621679521711 b6989586621679521709) (a6989586621679521877 :: a6989586621679521711) = (:.) a6989586621679521875 a6989586621679521876 a6989586621679521877
data FlipSym0 :: forall a6989586621679521706 b6989586621679521707 c6989586621679521708. (~>) ((~>) a6989586621679521706 ((~>) b6989586621679521707 c6989586621679521708)) ((~>) b6989586621679521707 ((~>) a6989586621679521706 c6989586621679521708))
data FlipSym1 (a6989586621679521866 :: (~>) a6989586621679521706 ((~>) b6989586621679521707 c6989586621679521708)) :: (~>) b6989586621679521707 ((~>) a6989586621679521706 c6989586621679521708)
data FlipSym2 (a6989586621679521866 :: (~>) a6989586621679521706 ((~>) b6989586621679521707 c6989586621679521708)) (a6989586621679521867 :: b6989586621679521707) :: (~>) a6989586621679521706 c6989586621679521708
type FlipSym3 (a6989586621679521866 :: (~>) a6989586621679521706 ((~>) b6989586621679521707 c6989586621679521708)) (a6989586621679521867 :: b6989586621679521707) (a6989586621679521868 :: a6989586621679521706) = Flip a6989586621679521866 a6989586621679521867 a6989586621679521868
data ($@#@$) :: forall a6989586621679521703 b6989586621679521704. (~>) ((~>) a6989586621679521703 b6989586621679521704) ((~>) a6989586621679521703 b6989586621679521704)
infixr 0 $@#@$
data ($@#@$$) (a6989586621679521860 :: (~>) a6989586621679521703 b6989586621679521704) :: (~>) a6989586621679521703 b6989586621679521704
infixr 0 $@#@$$
type ($@#@$$$) (a6989586621679521860 :: (~>) a6989586621679521703 b6989586621679521704) (a6989586621679521861 :: a6989586621679521703) = ($) a6989586621679521860 a6989586621679521861
data (&@#@$) :: forall a6989586621679730240 b6989586621679730241. (~>) a6989586621679730240 ((~>) ((~>) a6989586621679730240 b6989586621679730241) b6989586621679730241)
infixl 1 &@#@$
data (&@#@$$) (a6989586621679730253 :: a6989586621679730240) :: forall b6989586621679730241. (~>) ((~>) a6989586621679730240 b6989586621679730241) b6989586621679730241
infixl 1 &@#@$$
type (&@#@$$$) (a6989586621679730253 :: a6989586621679730240) (a6989586621679730254 :: (~>) a6989586621679730240 b6989586621679730241) = (&) a6989586621679730253 a6989586621679730254
data OnSym0 :: forall a6989586621679730244 b6989586621679730242 c6989586621679730243. (~>) ((~>) b6989586621679730242 ((~>) b6989586621679730242 c6989586621679730243)) ((~>) ((~>) a6989586621679730244 b6989586621679730242) ((~>) a6989586621679730244 ((~>) a6989586621679730244 c6989586621679730243)))
infixl 0 `OnSym0`
data OnSym1 (a6989586621679730259 :: (~>) b6989586621679730242 ((~>) b6989586621679730242 c6989586621679730243)) :: forall a6989586621679730244. (~>) ((~>) a6989586621679730244 b6989586621679730242) ((~>) a6989586621679730244 ((~>) a6989586621679730244 c6989586621679730243))
infixl 0 `OnSym1`
data OnSym2 (a6989586621679730259 :: (~>) b6989586621679730242 ((~>) b6989586621679730242 c6989586621679730243)) (a6989586621679730260 :: (~>) a6989586621679730244 b6989586621679730242) :: (~>) a6989586621679730244 ((~>) a6989586621679730244 c6989586621679730243)
infixl 0 `OnSym2`
data OnSym3 (a6989586621679730259 :: (~>) b6989586621679730242 ((~>) b6989586621679730242 c6989586621679730243)) (a6989586621679730260 :: (~>) a6989586621679730244 b6989586621679730242) (a6989586621679730261 :: a6989586621679730244) :: (~>) a6989586621679730244 c6989586621679730243
infixl 0 `OnSym3`
type OnSym4 (a6989586621679730259 :: (~>) b6989586621679730242 ((~>) b6989586621679730242 c6989586621679730243)) (a6989586621679730260 :: (~>) a6989586621679730244 b6989586621679730242) (a6989586621679730261 :: a6989586621679730244) (a6989586621679730262 :: a6989586621679730244) = On a6989586621679730259 a6989586621679730260 a6989586621679730261 a6989586621679730262
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.OnSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Function.OnSym0
instance forall a6989586621679730244 b6989586621679730242 c6989586621679730243 (a6989586621679730259 :: b6989586621679730242 Data.Singletons.Internal.~> (b6989586621679730242 Data.Singletons.Internal.~> c6989586621679730243)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.OnSym1 a6989586621679730259)
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 a6989586621679730244 b6989586621679730242 c6989586621679730243 (a6989586621679730260 :: b6989586621679730242 Data.Singletons.Internal.~> (b6989586621679730242 Data.Singletons.Internal.~> c6989586621679730243)) (a6989586621679730259 :: a6989586621679730244 Data.Singletons.Internal.~> b6989586621679730242). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.OnSym2 a6989586621679730260 a6989586621679730259)
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 a6989586621679730244 b6989586621679730242 c6989586621679730243 (a6989586621679730261 :: b6989586621679730242 Data.Singletons.Internal.~> (b6989586621679730242 Data.Singletons.Internal.~> c6989586621679730243)) (a6989586621679730260 :: a6989586621679730244 Data.Singletons.Internal.~> b6989586621679730242) (a6989586621679730259 :: a6989586621679730244). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.OnSym3 a6989586621679730261 a6989586621679730260 a6989586621679730259)
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 b6989586621679730241 a6989586621679730240 (a6989586621679730253 :: a6989586621679730240). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Function.&@#@$$) a6989586621679730253)
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_6989586621679730275Sym0
instance forall k2 k3 k4 k5 k6 (ty6989586621679730271 :: k5 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679730275Sym1 ty6989586621679730271)
instance forall k2 k3 k4 k5 k6 (f6989586621679730272 :: k5 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> k6)) (ty6989586621679730271 :: k4 Data.Singletons.Internal.~> k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679730275Sym2 f6989586621679730272 ty6989586621679730271)
instance forall k2 k3 k4 k5 k6 (a_69895866216797302676989586621679730273 :: k5 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> k6)) (f6989586621679730272 :: k4 Data.Singletons.Internal.~> k5) (ty6989586621679730271 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679730275Sym3 a_69895866216797302676989586621679730273 f6989586621679730272 ty6989586621679730271)
instance forall k2 k3 k4 k5 k6 (a_69895866216797302696989586621679730274 :: k5 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> k6)) (a_69895866216797302676989586621679730273 :: k4 Data.Singletons.Internal.~> k5) (f6989586621679730272 :: k3) (ty6989586621679730271 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679730275Sym4 a_69895866216797302696989586621679730274 a_69895866216797302676989586621679730273 f6989586621679730272 ty6989586621679730271)
instance forall k2 k3 k4 k5 k6 (t6989586621679730279 :: k5 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> k6)) (a_69895866216797302696989586621679730274 :: k4 Data.Singletons.Internal.~> k5) (a_69895866216797302676989586621679730273 :: k3) (f6989586621679730272 :: k2) (ty6989586621679730271 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679730275Sym5 t6989586621679730279 a_69895866216797302696989586621679730274 a_69895866216797302676989586621679730273 f6989586621679730272 ty6989586621679730271)


-- | Defines the promoted and singleton version of Bounded, <a>PBounded</a>
--   and <a>SBounded</a>
module Data.Singletons.Prelude.Enum
class PBounded (a_a336a :: Type) where {
    type family MinBound :: a_a336a;
    type family MaxBound :: a_a336a;
}
class SBounded a_a336a
sMinBound :: SBounded a_a336a => Sing (MinBoundSym0 :: a_a336a)
sMaxBound :: SBounded a_a336a => Sing (MaxBoundSym0 :: a_a336a)
class PEnum (a_a34c4 :: Type) where {
    type family Succ (arg_a34gE :: a_a34c4) :: a_a34c4;
    type family Pred (arg_a34gG :: a_a34c4) :: a_a34c4;
    type family ToEnum (arg_a34gI :: Nat) :: a_a34c4;
    type family FromEnum (arg_a34gK :: a_a34c4) :: Nat;
    type family EnumFromTo (arg_a34gM :: a_a34c4) (arg_a34gN :: a_a34c4) :: [a_a34c4];
    type family EnumFromThenTo (arg_a34gQ :: a_a34c4) (arg_a34gR :: a_a34c4) (arg_a34gS :: a_a34c4) :: [a_a34c4];
    type Succ a_a34h7 = Apply Succ_6989586621679741214Sym0 a_a34h7;
    type Pred a_a34hg = Apply Pred_6989586621679741223Sym0 a_a34hg;
    type EnumFromTo a_a34hq a_a34hr = Apply (Apply EnumFromTo_6989586621679741234Sym0 a_a34hq) a_a34hr;
    type EnumFromThenTo a_a34hF a_a34hG a_a34hH = Apply (Apply (Apply EnumFromThenTo_6989586621679741250Sym0 a_a34hF) a_a34hG) a_a34hH;
}
class SEnum a_a34c4
sSucc :: forall (t_a34jC :: a_a34c4). SEnum a_a34c4 => Sing t_a34jC -> Sing (Apply SuccSym0 t_a34jC :: a_a34c4)
sPred :: forall (t_a34jE :: a_a34c4). SEnum a_a34c4 => Sing t_a34jE -> Sing (Apply PredSym0 t_a34jE :: a_a34c4)
sToEnum :: forall (t_a34jG :: Nat). SEnum a_a34c4 => Sing t_a34jG -> Sing (Apply ToEnumSym0 t_a34jG :: a_a34c4)
sFromEnum :: forall (t_a34jI :: a_a34c4). SEnum a_a34c4 => Sing t_a34jI -> Sing (Apply FromEnumSym0 t_a34jI :: Nat)
sEnumFromTo :: forall (t_a34jK :: a_a34c4) (t_a34jL :: a_a34c4). SEnum a_a34c4 => Sing t_a34jK -> Sing t_a34jL -> Sing (Apply (Apply EnumFromToSym0 t_a34jK) t_a34jL :: [a_a34c4])
sEnumFromThenTo :: forall (t_a34jO :: a_a34c4) (t_a34jP :: a_a34c4) (t_a34jQ :: a_a34c4). SEnum a_a34c4 => Sing t_a34jO -> Sing t_a34jP -> Sing t_a34jQ -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a34jO) t_a34jP) t_a34jQ :: [a_a34c4])
sSucc :: forall (t_a34jC :: a_a34c4). (SEnum a_a34c4, (Apply SuccSym0 t_a34jC :: a_a34c4) ~ Apply Succ_6989586621679741214Sym0 t_a34jC) => Sing t_a34jC -> Sing (Apply SuccSym0 t_a34jC :: a_a34c4)
sPred :: forall (t_a34jE :: a_a34c4). (SEnum a_a34c4, (Apply PredSym0 t_a34jE :: a_a34c4) ~ Apply Pred_6989586621679741223Sym0 t_a34jE) => Sing t_a34jE -> Sing (Apply PredSym0 t_a34jE :: a_a34c4)
sEnumFromTo :: forall (t_a34jK :: a_a34c4) (t_a34jL :: a_a34c4). (SEnum a_a34c4, (Apply (Apply EnumFromToSym0 t_a34jK) t_a34jL :: [a_a34c4]) ~ Apply (Apply EnumFromTo_6989586621679741234Sym0 t_a34jK) t_a34jL) => Sing t_a34jK -> Sing t_a34jL -> Sing (Apply (Apply EnumFromToSym0 t_a34jK) t_a34jL :: [a_a34c4])
sEnumFromThenTo :: forall (t_a34jO :: a_a34c4) (t_a34jP :: a_a34c4) (t_a34jQ :: a_a34c4). (SEnum a_a34c4, (Apply (Apply (Apply EnumFromThenToSym0 t_a34jO) t_a34jP) t_a34jQ :: [a_a34c4]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679741250Sym0 t_a34jO) t_a34jP) t_a34jQ) => Sing t_a34jO -> Sing t_a34jP -> Sing t_a34jQ -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a34jO) t_a34jP) t_a34jQ :: [a_a34c4])
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data SuccSym0 :: forall a6989586621679740900. (~>) a6989586621679740900 a6989586621679740900
type SuccSym1 (arg6989586621679741184 :: a6989586621679740900) = Succ arg6989586621679741184
data PredSym0 :: forall a6989586621679740900. (~>) a6989586621679740900 a6989586621679740900
type PredSym1 (arg6989586621679741186 :: a6989586621679740900) = Pred arg6989586621679741186
data ToEnumSym0 :: forall a6989586621679740900. (~>) Nat a6989586621679740900
type ToEnumSym1 (arg6989586621679741188 :: Nat) = ToEnum arg6989586621679741188
data FromEnumSym0 :: forall a6989586621679740900. (~>) a6989586621679740900 Nat
type FromEnumSym1 (arg6989586621679741190 :: a6989586621679740900) = FromEnum arg6989586621679741190
data EnumFromToSym0 :: forall a6989586621679740900. (~>) a6989586621679740900 ((~>) a6989586621679740900 [a6989586621679740900])
data EnumFromToSym1 (arg6989586621679741192 :: a6989586621679740900) :: (~>) a6989586621679740900 [a6989586621679740900]
type EnumFromToSym2 (arg6989586621679741192 :: a6989586621679740900) (arg6989586621679741193 :: a6989586621679740900) = EnumFromTo arg6989586621679741192 arg6989586621679741193
data EnumFromThenToSym0 :: forall a6989586621679740900. (~>) a6989586621679740900 ((~>) a6989586621679740900 ((~>) a6989586621679740900 [a6989586621679740900]))
data EnumFromThenToSym1 (arg6989586621679741196 :: a6989586621679740900) :: (~>) a6989586621679740900 ((~>) a6989586621679740900 [a6989586621679740900])
data EnumFromThenToSym2 (arg6989586621679741196 :: a6989586621679740900) (arg6989586621679741197 :: a6989586621679740900) :: (~>) a6989586621679740900 [a6989586621679740900]
type EnumFromThenToSym3 (arg6989586621679741196 :: a6989586621679740900) (arg6989586621679741197 :: a6989586621679740900) (arg6989586621679741198 :: a6989586621679740900) = EnumFromThenTo arg6989586621679741196 arg6989586621679741197 arg6989586621679741198
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679764833Sym0
instance Data.Singletons.Prelude.Enum.PEnum ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679764827Sym0
instance Data.Singletons.Prelude.Enum.SEnum ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679764816Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679764810Sym0
instance Data.Singletons.Prelude.Enum.SEnum GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679764792Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679764786Sym0
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_6989586621679741317Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Nat
instance forall a6989586621679740900 (a6989586621679741314 :: a6989586621679740900). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679741317Sym1 a6989586621679741314)
instance forall a6989586621679740900 (a6989586621679741315 :: a6989586621679740900) (a6989586621679741314 :: a6989586621679740900). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679741317Sym2 a6989586621679741315 a6989586621679741314)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679741295Sym0
instance forall a6989586621679740900 (a6989586621679741293 :: a6989586621679740900). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679741295Sym1 a6989586621679741293)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679741280Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679741273Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Pred_6989586621679741266Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Succ_6989586621679741259Sym0
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 a6989586621679740900 (arg6989586621679741192 :: a6989586621679740900). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromToSym1 arg6989586621679741192)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromToSym0
instance forall a6989586621679740900 (arg6989586621679741197 :: a6989586621679740900) (arg6989586621679741196 :: a6989586621679740900). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenToSym2 arg6989586621679741197 arg6989586621679741196)
instance forall a6989586621679740900 (arg6989586621679741196 :: a6989586621679740900). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenToSym1 arg6989586621679741196)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenToSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Succ_6989586621679741214Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Pred_6989586621679741223Sym0
instance forall a6989586621679740900 (a6989586621679741232 :: a6989586621679740900). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679741234Sym1 a6989586621679741232)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679741234Sym0
instance forall a6989586621679740900 (a6989586621679741248 :: a6989586621679740900) (a6989586621679741247 :: a6989586621679740900). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679741250Sym2 a6989586621679741248 a6989586621679741247)
instance forall a6989586621679740900 (a6989586621679741247 :: a6989586621679740900). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679741250Sym1 a6989586621679741247)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679741250Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Lambda_6989586621679741207Sym0
instance forall k1 k2 (a_69895866216797412026989586621679741206 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Lambda_6989586621679741207Sym1 a_69895866216797412026989586621679741206)
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 a6989586621679741153)
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 a6989586621679741135)
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 a6989586621679741136 a6989586621679741135)
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 a6989586621679741078)
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 a6989586621679741079 a6989586621679741078)
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 a6989586621679741021)
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 a6989586621679741022 a6989586621679741021)
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.Let6989586621679741163GoSym0
instance forall k1 k2 k3 k4 (x06989586621679741161 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741163GoSym1 x06989586621679741161)
instance forall k1 k2 k3 k4 (y6989586621679741162 :: k4) (x06989586621679741161 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741163GoSym2 y6989586621679741162 x06989586621679741161)
instance forall k1 k2 k3 k4 (arg_69895866216797409336989586621679741157 :: k4) (y6989586621679741162 :: k3) (x06989586621679741161 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741163GoSym3 arg_69895866216797409336989586621679741157 y6989586621679741162 x06989586621679741161)
instance forall k1 k2 k3 k4 (arg_69895866216797409356989586621679741158 :: k4) (arg_69895866216797409336989586621679741157 :: k3) (y6989586621679741162 :: k2) (x06989586621679741161 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741163GoSym4 arg_69895866216797409356989586621679741158 arg_69895866216797409336989586621679741157 y6989586621679741162 x06989586621679741161)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679741171Scrutinee_6989586621679740937Sym0
instance forall k1 k2 k3 k4 (x06989586621679741161 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741171Scrutinee_6989586621679740937Sym1 x06989586621679741161)
instance forall k1 k2 k3 k4 (y6989586621679741162 :: k4) (x06989586621679741161 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741171Scrutinee_6989586621679740937Sym2 y6989586621679741162 x06989586621679741161)
instance forall k1 k2 k3 k4 (x6989586621679741170 :: k4) (y6989586621679741162 :: k3) (x06989586621679741161 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741171Scrutinee_6989586621679740937Sym3 x6989586621679741170 y6989586621679741162 x06989586621679741161)
instance forall k1 k2 k3 k4 (arg_69895866216797409336989586621679741157 :: k4) (x6989586621679741170 :: k3) (y6989586621679741162 :: k3) (x06989586621679741161 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741171Scrutinee_6989586621679740937Sym4 arg_69895866216797409336989586621679741157 x6989586621679741170 y6989586621679741162 x06989586621679741161)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679741104Go_upSym0
instance forall k1 k2 k3 k4 (x16989586621679741089 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741104Go_upSym1 x16989586621679741089)
instance forall k1 k2 k3 k4 (x26989586621679741090 :: k4) (x16989586621679741089 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741104Go_upSym2 x26989586621679741090 x16989586621679741089)
instance forall k1 k2 k3 k4 (y6989586621679741091 :: k4) (x26989586621679741090 :: k4) (x16989586621679741089 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741104Go_upSym3 y6989586621679741091 x26989586621679741090 x16989586621679741089)
instance forall k1 k2 k3 k4 (arg_69895866216797409456989586621679741084 :: k4) (y6989586621679741091 :: k4) (x26989586621679741090 :: k4) (x16989586621679741089 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741104Go_upSym4 arg_69895866216797409456989586621679741084 y6989586621679741091 x26989586621679741090 x16989586621679741089)
instance forall k1 k2 k3 k4 (arg_69895866216797409476989586621679741085 :: k4) (arg_69895866216797409456989586621679741084 :: k4) (y6989586621679741091 :: k4) (x26989586621679741090 :: k3) (x16989586621679741089 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741104Go_upSym5 arg_69895866216797409476989586621679741085 arg_69895866216797409456989586621679741084 y6989586621679741091 x26989586621679741090 x16989586621679741089)
instance forall k1 k2 k3 k4 (arg_69895866216797409496989586621679741086 :: k4) (arg_69895866216797409476989586621679741085 :: k4) (arg_69895866216797409456989586621679741084 :: k4) (y6989586621679741091 :: k3) (x26989586621679741090 :: k2) (x16989586621679741089 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741104Go_upSym6 arg_69895866216797409496989586621679741086 arg_69895866216797409476989586621679741085 arg_69895866216797409456989586621679741084 y6989586621679741091 x26989586621679741090 x16989586621679741089)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679741104Y'Sym0
instance forall k1 k2 k3 k4 (x16989586621679741089 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741104Y'Sym1 x16989586621679741089)
instance forall k1 k2 k3 k4 (x26989586621679741090 :: k4) (x16989586621679741089 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741104Y'Sym2 x26989586621679741090 x16989586621679741089)
instance forall k1 k2 k3 k4 (y6989586621679741091 :: k4) (x26989586621679741090 :: k4) (x16989586621679741089 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741104Y'Sym3 y6989586621679741091 x26989586621679741090 x16989586621679741089)
instance forall k1 k2 k3 k4 (arg_69895866216797409456989586621679741084 :: k4) (y6989586621679741091 :: k4) (x26989586621679741090 :: k4) (x16989586621679741089 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741104Y'Sym4 arg_69895866216797409456989586621679741084 y6989586621679741091 x26989586621679741090 x16989586621679741089)
instance forall k1 k2 k3 k4 (arg_69895866216797409476989586621679741085 :: k4) (arg_69895866216797409456989586621679741084 :: k4) (y6989586621679741091 :: k4) (x26989586621679741090 :: k3) (x16989586621679741089 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741104Y'Sym5 arg_69895866216797409476989586621679741085 arg_69895866216797409456989586621679741084 y6989586621679741091 x26989586621679741090 x16989586621679741089)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679741104DeltaSym0
instance forall k1 k2 k3 k4 k5 (x16989586621679741089 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741104DeltaSym1 x16989586621679741089)
instance forall k1 k2 k3 k4 k5 (x26989586621679741090 :: k5) (x16989586621679741089 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741104DeltaSym2 x26989586621679741090 x16989586621679741089)
instance forall k1 k2 k3 k4 k5 (y6989586621679741091 :: k5) (x26989586621679741090 :: k5) (x16989586621679741089 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741104DeltaSym3 y6989586621679741091 x26989586621679741090 x16989586621679741089)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797409456989586621679741084 :: k5) (y6989586621679741091 :: k5) (x26989586621679741090 :: k4) (x16989586621679741089 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741104DeltaSym4 arg_69895866216797409456989586621679741084 y6989586621679741091 x26989586621679741090 x16989586621679741089)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797409476989586621679741085 :: k5) (arg_69895866216797409456989586621679741084 :: k5) (y6989586621679741091 :: k4) (x26989586621679741090 :: k3) (x16989586621679741089 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741104DeltaSym5 arg_69895866216797409476989586621679741085 arg_69895866216797409456989586621679741084 y6989586621679741091 x26989586621679741090 x16989586621679741089)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679741094Scrutinee_6989586621679740951Sym0
instance forall k1 k2 k3 k4 k5 (x16989586621679741089 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741094Scrutinee_6989586621679740951Sym1 x16989586621679741089)
instance forall k1 k2 k3 k4 k5 (x26989586621679741090 :: k5) (x16989586621679741089 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741094Scrutinee_6989586621679740951Sym2 x26989586621679741090 x16989586621679741089)
instance forall k1 k2 k3 k4 k5 (y6989586621679741091 :: k5) (x26989586621679741090 :: k4) (x16989586621679741089 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741094Scrutinee_6989586621679740951Sym3 y6989586621679741091 x26989586621679741090 x16989586621679741089)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797409456989586621679741084 :: k5) (y6989586621679741091 :: k4) (x26989586621679741090 :: k5) (x16989586621679741089 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741094Scrutinee_6989586621679740951Sym4 arg_69895866216797409456989586621679741084 y6989586621679741091 x26989586621679741090 x16989586621679741089)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797409476989586621679741085 :: k5) (arg_69895866216797409456989586621679741084 :: k4) (y6989586621679741091 :: k5) (x26989586621679741090 :: k3) (x16989586621679741089 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741094Scrutinee_6989586621679740951Sym5 arg_69895866216797409476989586621679741085 arg_69895866216797409456989586621679741084 y6989586621679741091 x26989586621679741090 x16989586621679741089)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679741047Go_dnSym0
instance forall k1 k2 k3 k4 (x16989586621679741032 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741047Go_dnSym1 x16989586621679741032)
instance forall k1 k2 k3 k4 (x26989586621679741033 :: k4) (x16989586621679741032 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741047Go_dnSym2 x26989586621679741033 x16989586621679741032)
instance forall k1 k2 k3 k4 (y6989586621679741034 :: k4) (x26989586621679741033 :: k4) (x16989586621679741032 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741047Go_dnSym3 y6989586621679741034 x26989586621679741033 x16989586621679741032)
instance forall k1 k2 k3 k4 (arg_69895866216797409556989586621679741027 :: k4) (y6989586621679741034 :: k4) (x26989586621679741033 :: k4) (x16989586621679741032 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741047Go_dnSym4 arg_69895866216797409556989586621679741027 y6989586621679741034 x26989586621679741033 x16989586621679741032)
instance forall k1 k2 k3 k4 (arg_69895866216797409576989586621679741028 :: k4) (arg_69895866216797409556989586621679741027 :: k4) (y6989586621679741034 :: k4) (x26989586621679741033 :: k3) (x16989586621679741032 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741047Go_dnSym5 arg_69895866216797409576989586621679741028 arg_69895866216797409556989586621679741027 y6989586621679741034 x26989586621679741033 x16989586621679741032)
instance forall k1 k2 k3 k4 (arg_69895866216797409596989586621679741029 :: k4) (arg_69895866216797409576989586621679741028 :: k4) (arg_69895866216797409556989586621679741027 :: k4) (y6989586621679741034 :: k3) (x26989586621679741033 :: k2) (x16989586621679741032 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741047Go_dnSym6 arg_69895866216797409596989586621679741029 arg_69895866216797409576989586621679741028 arg_69895866216797409556989586621679741027 y6989586621679741034 x26989586621679741033 x16989586621679741032)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679741047Y'Sym0
instance forall k1 k2 k3 k4 (x16989586621679741032 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741047Y'Sym1 x16989586621679741032)
instance forall k1 k2 k3 k4 (x26989586621679741033 :: k4) (x16989586621679741032 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741047Y'Sym2 x26989586621679741033 x16989586621679741032)
instance forall k1 k2 k3 k4 (y6989586621679741034 :: k4) (x26989586621679741033 :: k4) (x16989586621679741032 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741047Y'Sym3 y6989586621679741034 x26989586621679741033 x16989586621679741032)
instance forall k1 k2 k3 k4 (arg_69895866216797409556989586621679741027 :: k4) (y6989586621679741034 :: k4) (x26989586621679741033 :: k4) (x16989586621679741032 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741047Y'Sym4 arg_69895866216797409556989586621679741027 y6989586621679741034 x26989586621679741033 x16989586621679741032)
instance forall k1 k2 k3 k4 (arg_69895866216797409576989586621679741028 :: k4) (arg_69895866216797409556989586621679741027 :: k4) (y6989586621679741034 :: k4) (x26989586621679741033 :: k3) (x16989586621679741032 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741047Y'Sym5 arg_69895866216797409576989586621679741028 arg_69895866216797409556989586621679741027 y6989586621679741034 x26989586621679741033 x16989586621679741032)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679741047DeltaSym0
instance forall k1 k2 k3 k4 k5 (x16989586621679741032 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741047DeltaSym1 x16989586621679741032)
instance forall k1 k2 k3 k4 k5 (x26989586621679741033 :: k5) (x16989586621679741032 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741047DeltaSym2 x26989586621679741033 x16989586621679741032)
instance forall k1 k2 k3 k4 k5 (y6989586621679741034 :: k5) (x26989586621679741033 :: k5) (x16989586621679741032 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741047DeltaSym3 y6989586621679741034 x26989586621679741033 x16989586621679741032)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797409556989586621679741027 :: k5) (y6989586621679741034 :: k5) (x26989586621679741033 :: k4) (x16989586621679741032 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741047DeltaSym4 arg_69895866216797409556989586621679741027 y6989586621679741034 x26989586621679741033 x16989586621679741032)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797409576989586621679741028 :: k5) (arg_69895866216797409556989586621679741027 :: k5) (y6989586621679741034 :: k4) (x26989586621679741033 :: k3) (x16989586621679741032 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741047DeltaSym5 arg_69895866216797409576989586621679741028 arg_69895866216797409556989586621679741027 y6989586621679741034 x26989586621679741033 x16989586621679741032)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679741037Scrutinee_6989586621679740961Sym0
instance forall k1 k2 k3 k4 k5 (x16989586621679741032 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741037Scrutinee_6989586621679740961Sym1 x16989586621679741032)
instance forall k1 k2 k3 k4 k5 (x26989586621679741033 :: k5) (x16989586621679741032 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741037Scrutinee_6989586621679740961Sym2 x26989586621679741033 x16989586621679741032)
instance forall k1 k2 k3 k4 k5 (y6989586621679741034 :: k5) (x26989586621679741033 :: k4) (x16989586621679741032 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741037Scrutinee_6989586621679740961Sym3 y6989586621679741034 x26989586621679741033 x16989586621679741032)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797409556989586621679741027 :: k5) (y6989586621679741034 :: k4) (x26989586621679741033 :: k5) (x16989586621679741032 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741037Scrutinee_6989586621679740961Sym4 arg_69895866216797409556989586621679741027 y6989586621679741034 x26989586621679741033 x16989586621679741032)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797409576989586621679741028 :: k5) (arg_69895866216797409556989586621679741027 :: k4) (y6989586621679741034 :: k5) (x26989586621679741033 :: k3) (x16989586621679741032 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679741037Scrutinee_6989586621679740961Sym5 arg_69895866216797409576989586621679741028 arg_69895866216797409556989586621679741027 y6989586621679741034 x26989586621679741033 x16989586621679741032)
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_a5eRN :: Type) where {
    type family ShowsPrec (arg_a5fnf :: Nat) (arg_a5fng :: a_a5eRN) (arg_a5fnh :: Symbol) :: Symbol;
    type family Show_ (arg_a5fnl :: a_a5eRN) :: Symbol;
    type family ShowList (arg_a5fnn :: [a_a5eRN]) (arg_a5fno :: Symbol) :: Symbol;
    type ShowsPrec a_a5fnz a_a5fnA a_a5fnB = Apply (Apply (Apply ShowsPrec_6989586621680260556Sym0 a_a5fnz) a_a5fnA) a_a5fnB;
    type Show_ a_a5fnK = Apply Show__6989586621680260565Sym0 a_a5fnK;
    type ShowList a_a5fnU a_a5fnV = Apply (Apply ShowList_6989586621680260576Sym0 a_a5fnU) a_a5fnV;
}
class SShow a_a5eRN
sShowsPrec :: forall (t_a5fro :: Nat) (t_a5frp :: a_a5eRN) (t_a5frq :: Symbol). SShow a_a5eRN => Sing t_a5fro -> Sing t_a5frp -> Sing t_a5frq -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5fro) t_a5frp) t_a5frq :: Symbol)
sShow_ :: forall (t_a5fru :: a_a5eRN). SShow a_a5eRN => Sing t_a5fru -> Sing (Apply Show_Sym0 t_a5fru :: Symbol)
sShowList :: forall (t_a5frw :: [a_a5eRN]) (t_a5frx :: Symbol). SShow a_a5eRN => Sing t_a5frw -> Sing t_a5frx -> Sing (Apply (Apply ShowListSym0 t_a5frw) t_a5frx :: Symbol)
sShowsPrec :: forall (t_a5fro :: Nat) (t_a5frp :: a_a5eRN) (t_a5frq :: Symbol). (SShow a_a5eRN, (Apply (Apply (Apply ShowsPrecSym0 t_a5fro) t_a5frp) t_a5frq :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621680260556Sym0 t_a5fro) t_a5frp) t_a5frq) => Sing t_a5fro -> Sing t_a5frp -> Sing t_a5frq -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5fro) t_a5frp) t_a5frq :: Symbol)
sShow_ :: forall (t_a5fru :: a_a5eRN). (SShow a_a5eRN, (Apply Show_Sym0 t_a5fru :: Symbol) ~ Apply Show__6989586621680260565Sym0 t_a5fru) => Sing t_a5fru -> Sing (Apply Show_Sym0 t_a5fru :: Symbol)
sShowList :: forall (t_a5frw :: [a_a5eRN]) (t_a5frx :: Symbol). (SShow a_a5eRN, (Apply (Apply ShowListSym0 t_a5frw) t_a5frx :: Symbol) ~ Apply (Apply ShowList_6989586621680260576Sym0 t_a5frw) t_a5frx) => Sing t_a5frw -> Sing t_a5frx -> Sing (Apply (Apply ShowListSym0 t_a5frw) t_a5frx :: 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_a5fn7 :: a_a5eRy) (a_a5fn8 :: Symbol) :: Symbol
sShows :: forall a_a5eRy (t_a5fqZ :: a_a5eRy) (t_a5fr0 :: Symbol). SShow a_a5eRy => Sing t_a5fqZ -> Sing t_a5fr0 -> Sing (Apply (Apply ShowsSym0 t_a5fqZ) t_a5fr0 :: Symbol)
type family ShowListWith (a_a5fmN :: (~>) a_a5eRx ((~>) Symbol Symbol)) (a_a5fmO :: [a_a5eRx]) (a_a5fmP :: Symbol) :: Symbol
sShowListWith :: forall a_a5eRx (t_a5fqT :: (~>) a_a5eRx ((~>) Symbol Symbol)) (t_a5fqU :: [a_a5eRx]) (t_a5fqV :: Symbol). Sing t_a5fqT -> Sing t_a5fqU -> Sing t_a5fqV -> Sing (Apply (Apply (Apply ShowListWithSym0 t_a5fqT) t_a5fqU) t_a5fqV :: Symbol)
type family ShowChar (a_a5fmb :: Symbol) (a_a5fmc :: Symbol) :: Symbol
sShowChar :: forall (t_a5fqF :: Symbol) (t_a5fqG :: Symbol). Sing t_a5fqF -> Sing t_a5fqG -> Sing (Apply (Apply ShowCharSym0 t_a5fqF) t_a5fqG :: Symbol)
type family ShowString (a_a5flW :: Symbol) (a_a5flX :: Symbol) :: Symbol
sShowString :: forall (t_a5fqz :: Symbol) (t_a5fqA :: Symbol). Sing t_a5fqz -> Sing t_a5fqA -> Sing (Apply (Apply ShowStringSym0 t_a5fqz) t_a5fqA :: Symbol)
type family ShowParen (a_a5fmh :: Bool) (a_a5fmi :: (~>) Symbol Symbol) (a_a5fmj :: Symbol) :: Symbol
sShowParen :: forall (t_a5fqJ :: Bool) (t_a5fqK :: (~>) Symbol Symbol) (t_a5fqL :: Symbol). Sing t_a5fqJ -> Sing t_a5fqK -> Sing t_a5fqL -> Sing (Apply (Apply (Apply ShowParenSym0 t_a5fqJ) t_a5fqK) t_a5fqL :: Symbol)
type family ShowSpace (a_a5flJ :: Symbol) :: Symbol
sShowSpace :: forall (t_a5fqx :: Symbol). Sing t_a5fqx -> Sing (Apply ShowSpaceSym0 t_a5fqx :: Symbol)
type family ShowCommaSpace (a_a5fm4 :: Symbol) :: Symbol
sShowCommaSpace :: forall (t_a5fqD :: Symbol). Sing t_a5fqD -> Sing (Apply ShowCommaSpaceSym0 t_a5fqD :: Symbol)
type family AppPrec :: Nat
sAppPrec :: Sing (AppPrecSym0 :: Nat)
type family AppPrec1 :: Nat
sAppPrec1 :: Sing (AppPrec1Sym0 :: Nat)
data ShowsPrecSym0 :: forall a6989586621680258583. (~>) Nat ((~>) a6989586621680258583 ((~>) Symbol Symbol))
data ShowsPrecSym1 (arg6989586621680260533 :: Nat) :: forall a6989586621680258583. (~>) a6989586621680258583 ((~>) Symbol Symbol)
data ShowsPrecSym2 (arg6989586621680260533 :: Nat) (arg6989586621680260534 :: a6989586621680258583) :: (~>) Symbol Symbol
type ShowsPrecSym3 (arg6989586621680260533 :: Nat) (arg6989586621680260534 :: a6989586621680258583) (arg6989586621680260535 :: Symbol) = ShowsPrec arg6989586621680260533 arg6989586621680260534 arg6989586621680260535
data Show_Sym0 :: forall a6989586621680258583. (~>) a6989586621680258583 Symbol
type Show_Sym1 (arg6989586621680260539 :: a6989586621680258583) = Show_ arg6989586621680260539
data ShowListSym0 :: forall a6989586621680258583. (~>) [a6989586621680258583] ((~>) Symbol Symbol)
data ShowListSym1 (arg6989586621680260541 :: [a6989586621680258583]) :: (~>) Symbol Symbol
type ShowListSym2 (arg6989586621680260541 :: [a6989586621680258583]) (arg6989586621680260542 :: Symbol) = ShowList arg6989586621680260541 arg6989586621680260542
data ShowsSym0 :: forall a6989586621680258568. (~>) a6989586621680258568 ((~>) Symbol Symbol)
data ShowsSym1 (a6989586621680260525 :: a6989586621680258568) :: (~>) Symbol Symbol
type ShowsSym2 (a6989586621680260525 :: a6989586621680258568) (a6989586621680260526 :: Symbol) = Shows a6989586621680260525 a6989586621680260526
data ShowListWithSym0 :: forall a6989586621680258567. (~>) ((~>) a6989586621680258567 ((~>) Symbol Symbol)) ((~>) [a6989586621680258567] ((~>) Symbol Symbol))
data ShowListWithSym1 (a6989586621680260505 :: (~>) a6989586621680258567 ((~>) Symbol Symbol)) :: (~>) [a6989586621680258567] ((~>) Symbol Symbol)
data ShowListWithSym2 (a6989586621680260505 :: (~>) a6989586621680258567 ((~>) Symbol Symbol)) (a6989586621680260506 :: [a6989586621680258567]) :: (~>) Symbol Symbol
type ShowListWithSym3 (a6989586621680260505 :: (~>) a6989586621680258567 ((~>) Symbol Symbol)) (a6989586621680260506 :: [a6989586621680258567]) (a6989586621680260507 :: Symbol) = ShowListWith a6989586621680260505 a6989586621680260506 a6989586621680260507
data ShowCharSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowCharSym1 (a6989586621680260467 :: Symbol) :: (~>) Symbol Symbol
type ShowCharSym2 (a6989586621680260467 :: Symbol) (a6989586621680260468 :: Symbol) = ShowChar a6989586621680260467 a6989586621680260468
data ShowStringSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowStringSym1 (a6989586621680260452 :: Symbol) :: (~>) Symbol Symbol
type ShowStringSym2 (a6989586621680260452 :: Symbol) (a6989586621680260453 :: Symbol) = ShowString a6989586621680260452 a6989586621680260453
data ShowParenSym0 :: (~>) Bool ((~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol))
data ShowParenSym1 (a6989586621680260473 :: Bool) :: (~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol)
data ShowParenSym2 (a6989586621680260473 :: Bool) (a6989586621680260474 :: (~>) Symbol Symbol) :: (~>) Symbol Symbol
data ShowSpaceSym0 :: (~>) Symbol Symbol
type ShowSpaceSym1 (a6989586621680260439 :: Symbol) = ShowSpace a6989586621680260439
data ShowCommaSpaceSym0 :: (~>) Symbol Symbol
type ShowCommaSpaceSym1 (a6989586621680260460 :: Symbol) = ShowCommaSpace a6989586621680260460
type AppPrecSym0 = AppPrec
type AppPrec1Sym0 = AppPrec1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278870Sym0
instance Data.Singletons.Prelude.Show.PShow Data.Void.Void
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278870Sym1 a6989586621680278867)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278870Sym2 a6989586621680278868 a6989586621680278867)
instance Data.Singletons.Prelude.Show.SShow Data.Void.Void
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278842Sym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278842Sym1 a6989586621680278839)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278842Sym2 a6989586621680278840 a6989586621680278839)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278815Sym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278815Sym1 a6989586621680278812)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278815Sym2 a6989586621680278813 a6989586621680278812)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278789Sym0
instance Data.Singletons.Prelude.Show.PShow (GHC.Base.NonEmpty a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278789Sym1 a6989586621680278786)
instance forall a6989586621679068602 (a6989586621680278787 :: GHC.Types.Nat) (a6989586621680278786 :: GHC.Base.NonEmpty a6989586621679068602). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278789Sym2 a6989586621680278787 a6989586621680278786)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278755Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Either.Either a b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278755Sym1 a6989586621680278752)
instance forall a6989586621679087510 b6989586621679087511 (a6989586621680278753 :: GHC.Types.Nat) (a6989586621680278752 :: Data.Either.Either a6989586621679087510 b6989586621679087511). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278755Sym2 a6989586621680278753 a6989586621680278752)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278701Sym0
instance Data.Singletons.Prelude.Show.PShow (GHC.Maybe.Maybe a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278701Sym1 a6989586621680278698)
instance forall a3530822107858468865 (a6989586621680278699 :: GHC.Types.Nat) (a6989586621680278698 :: GHC.Maybe.Maybe a3530822107858468865). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278701Sym2 a6989586621680278699 a6989586621680278698)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278664Sym0
instance Data.Singletons.Prelude.Show.PShow ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278664Sym1 a6989586621680278661)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680278664Sym2 a6989586621680278662 a6989586621680278661)
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 a6989586621680278052)
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_6989586621680260732Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d, e, f, g)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260732Sym1 a6989586621680260729)
instance forall a6989586621680258650 b6989586621680258651 c6989586621680258652 d6989586621680258653 e6989586621680258654 f6989586621680258655 g6989586621680258656 (a6989586621680260730 :: GHC.Types.Nat) (a6989586621680260729 :: (a6989586621680258650, b6989586621680258651, c6989586621680258652, d6989586621680258653, e6989586621680258654, f6989586621680258655, g6989586621680258656)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260732Sym2 a6989586621680260730 a6989586621680260729)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260710Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d, e, f)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260710Sym1 a6989586621680260707)
instance forall a6989586621680258637 b6989586621680258638 c6989586621680258639 d6989586621680258640 e6989586621680258641 f6989586621680258642 (a6989586621680260708 :: GHC.Types.Nat) (a6989586621680260707 :: (a6989586621680258637, b6989586621680258638, c6989586621680258639, d6989586621680258640, e6989586621680258641, f6989586621680258642)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260710Sym2 a6989586621680260708 a6989586621680260707)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260689Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d, e)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260689Sym1 a6989586621680260686)
instance forall a6989586621680258626 b6989586621680258627 c6989586621680258628 d6989586621680258629 e6989586621680258630 (a6989586621680260687 :: GHC.Types.Nat) (a6989586621680260686 :: (a6989586621680258626, b6989586621680258627, c6989586621680258628, d6989586621680258629, e6989586621680258630)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260689Sym2 a6989586621680260687 a6989586621680260686)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260669Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260669Sym1 a6989586621680260666)
instance forall a6989586621680258617 b6989586621680258618 c6989586621680258619 d6989586621680258620 (a6989586621680260667 :: GHC.Types.Nat) (a6989586621680260666 :: (a6989586621680258617, b6989586621680258618, c6989586621680258619, d6989586621680258620)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260669Sym2 a6989586621680260667 a6989586621680260666)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260650Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260650Sym1 a6989586621680260647)
instance forall a6989586621680258610 b6989586621680258611 c6989586621680258612 (a6989586621680260648 :: GHC.Types.Nat) (a6989586621680260647 :: (a6989586621680258610, b6989586621680258611, c6989586621680258612)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260650Sym2 a6989586621680260648 a6989586621680260647)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260632Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260632Sym1 a6989586621680260629)
instance forall a6989586621680258605 b6989586621680258606 (a6989586621680260630 :: GHC.Types.Nat) (a6989586621680260629 :: (a6989586621680258605, b6989586621680258606)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260632Sym2 a6989586621680260630 a6989586621680260629)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260615Sym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Symbol
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260615Sym1 a6989586621680260612)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260615Sym2 a6989586621680260613 a6989586621680260612)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260595Sym0
instance Data.Singletons.Prelude.Show.PShow [a]
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260595Sym1 a6989586621680260592)
instance forall a6989586621680258601 (a6989586621680260593 :: GHC.Types.Nat) (a6989586621680260592 :: [a6989586621680258601]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260595Sym2 a6989586621680260593 a6989586621680260592)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowListSym0
instance forall a6989586621680258583 (arg6989586621680260541 :: [a6989586621680258583]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowListSym1 arg6989586621680260541)
instance forall a6989586621680258568 (a6989586621680260525 :: a6989586621680258568). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsSym1 a6989586621680260525)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsSym0
instance forall a6989586621680258583 (arg6989586621680260534 :: GHC.Types.Nat) (arg6989586621680260533 :: a6989586621680258583). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrecSym2 arg6989586621680260534 arg6989586621680260533)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrecSym1 arg6989586621680260533)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrecSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Show_Sym0
instance forall a6989586621680258583 (a6989586621680260554 :: GHC.Types.Nat) (a6989586621680260553 :: a6989586621680258583). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260556Sym2 a6989586621680260554 a6989586621680260553)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260556Sym1 a6989586621680260553)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680260556Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Show__6989586621680260565Sym0
instance forall a6989586621680258583 (a6989586621680260574 :: [a6989586621680258583]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowList_6989586621680260576Sym1 a6989586621680260574)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowList_6989586621680260576Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowListWithSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Show.ShowListWithSym0
instance forall a6989586621680258567 (a6989586621680260505 :: a6989586621680258567 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowListWithSym1 a6989586621680260505)
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 a6989586621680258567 (a6989586621680260506 :: a6989586621680258567 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (a6989586621680260505 :: [a6989586621680258567]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowListWithSym2 a6989586621680260506 a6989586621680260505)
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 a6989586621680260487)
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 a6989586621680260473)
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 a6989586621680260474 a6989586621680260473)
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_6989586621680260495Sym0
instance forall k1 a6989586621679521711 c6989586621679521710 k2 (ss6989586621680260493 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680260495Sym1 ss6989586621680260493)
instance forall a6989586621679521711 c6989586621679521710 k1 k2 (a_69895866216802604916989586621680260494 :: k2) (ss6989586621680260493 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680260495Sym2 a_69895866216802604916989586621680260494 ss6989586621680260493)
instance forall a6989586621679521711 c6989586621679521710 k1 k2 (t6989586621680260499 :: k2) (a_69895866216802604916989586621680260494 :: k1) (ss6989586621680260493 :: GHC.Types.Symbol Data.Singletons.Internal.~> c6989586621679521710). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680260495Sym3 t6989586621680260499 a_69895866216802604916989586621680260494 ss6989586621680260493)
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 a6989586621680260467)
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 a6989586621680260452)
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.Let6989586621680260516ShowlSym0
instance forall k1 k2 k3 (showx6989586621680260512 :: k3 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680260516ShowlSym1 showx6989586621680260512)
instance forall k1 k2 k3 (x6989586621680260513 :: k3 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (showx6989586621680260512 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680260516ShowlSym2 x6989586621680260513 showx6989586621680260512)
instance forall k1 k2 k3 (xs6989586621680260514 :: k3 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (x6989586621680260513 :: k2) (showx6989586621680260512 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680260516ShowlSym3 xs6989586621680260514 x6989586621680260513 showx6989586621680260512)
instance forall k1 k2 k3 (s6989586621680260515 :: k3 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (xs6989586621680260514 :: k2) (x6989586621680260513 :: k1) (showx6989586621680260512 :: GHC.Types.Symbol). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680260516ShowlSym4 s6989586621680260515 xs6989586621680260514 x6989586621680260513 showx6989586621680260512)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Lambda_6989586621680260442Sym0
instance forall k (a_69895866216802604376989586621680260441 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680260442Sym1 a_69895866216802604376989586621680260441)


-- | 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_a5wyY => PMonoid (a_a5wyY :: Type) where {
    type family Mempty :: a_a5wyY;
    type family Mappend (arg_a5wFb :: a_a5wyY) (arg_a5wFc :: a_a5wyY) :: a_a5wyY;
    type family Mconcat (arg_a5wFf :: [a_a5wyY]) :: a_a5wyY;
    type Mappend a_a5wFr a_a5wFs = Apply (Apply Mappend_6989586621680327011Sym0 a_a5wFr) a_a5wFs;
    type Mconcat a_a5wFC = Apply Mconcat_6989586621680327021Sym0 a_a5wFC;
}
class SSemigroup a_a5wyY => SMonoid a_a5wyY
sMempty :: SMonoid a_a5wyY => Sing (MemptySym0 :: a_a5wyY)
sMappend :: forall (t_a5wGw :: a_a5wyY) (t_a5wGx :: a_a5wyY). SMonoid a_a5wyY => Sing t_a5wGw -> Sing t_a5wGx -> Sing (Apply (Apply MappendSym0 t_a5wGw) t_a5wGx :: a_a5wyY)
sMconcat :: forall (t_a5wGA :: [a_a5wyY]). SMonoid a_a5wyY => Sing t_a5wGA -> Sing (Apply MconcatSym0 t_a5wGA :: a_a5wyY)
sMappend :: forall (t_a5wGw :: a_a5wyY) (t_a5wGx :: a_a5wyY). (SMonoid a_a5wyY, (Apply (Apply MappendSym0 t_a5wGw) t_a5wGx :: a_a5wyY) ~ Apply (Apply Mappend_6989586621680327011Sym0 t_a5wGw) t_a5wGx) => Sing t_a5wGw -> Sing t_a5wGx -> Sing (Apply (Apply MappendSym0 t_a5wGw) t_a5wGx :: a_a5wyY)
sMconcat :: forall (t_a5wGA :: [a_a5wyY]). (SMonoid a_a5wyY, (Apply MconcatSym0 t_a5wGA :: a_a5wyY) ~ Apply Mconcat_6989586621680327021Sym0 t_a5wGA) => Sing t_a5wGA -> Sing (Apply MconcatSym0 t_a5wGA :: a_a5wyY)

-- | The singleton kind-indexed data family.
data family Sing :: k -> Type
type family GetDual (a_a3oOa :: Dual a_ajCj) :: a_ajCj
type family GetAll (a_a3oOo :: All) :: Bool
type family GetAny (a_a3oOC :: Any) :: Bool
type family GetSum (a_a3oOT :: Sum a_ajC4) :: a_ajC4
type family GetProduct (a_a3oPa :: Product a_ajC9) :: a_ajC9
type family GetFirst (a_a5xA4 :: First a_ajCM) :: Maybe a_ajCM
type family GetLast (a_a5xAp :: Last a_ajCH) :: Maybe a_ajCH
type SDual = (Sing :: Dual a_ajCj -> Type)
type SAll = (Sing :: All -> Type)
type SAny = (Sing :: Any -> Type)
type SSum = (Sing :: Sum a_ajC4 -> Type)
type SProduct = (Sing :: Product a_ajC9 -> Type)
type SFirst = (Sing :: First a_ajCM -> Type)
type SLast = (Sing :: Last a_ajCH -> Type)
type MemptySym0 = Mempty
data MappendSym0 :: forall a6989586621680326608. (~>) a6989586621680326608 ((~>) a6989586621680326608 a6989586621680326608)
data MappendSym1 (arg6989586621680326993 :: a6989586621680326608) :: (~>) a6989586621680326608 a6989586621680326608
type MappendSym2 (arg6989586621680326993 :: a6989586621680326608) (arg6989586621680326994 :: a6989586621680326608) = Mappend arg6989586621680326993 arg6989586621680326994
data MconcatSym0 :: forall a6989586621680326608. (~>) [a6989586621680326608] a6989586621680326608
type MconcatSym1 (arg6989586621680326997 :: [a6989586621680326608]) = Mconcat arg6989586621680326997
data DualSym0 :: forall (a6989586621679085203 :: Type). (~>) a6989586621679085203 (Dual (a6989586621679085203 :: Type))
type DualSym1 (t6989586621679820145 :: a6989586621679085203) =  'Dual t6989586621679820145
data GetDualSym0 :: forall a6989586621679085203. (~>) (Dual a6989586621679085203) a6989586621679085203
type GetDualSym1 (a6989586621679820142 :: Dual a6989586621679085203) = GetDual a6989586621679820142
data AllSym0 :: (~>) Bool All
type AllSym1 (t6989586621679820159 :: Bool) =  'All t6989586621679820159
data GetAllSym0 :: (~>) All Bool
type GetAllSym1 (a6989586621679820156 :: All) = GetAll a6989586621679820156
data AnySym0 :: (~>) Bool Any
type AnySym1 (t6989586621679820173 :: Bool) =  'Any t6989586621679820173
data GetAnySym0 :: (~>) Any Bool
type GetAnySym1 (a6989586621679820170 :: Any) = GetAny a6989586621679820170
data SumSym0 :: forall (a6989586621679085188 :: Type). (~>) a6989586621679085188 (Sum (a6989586621679085188 :: Type))
type SumSym1 (t6989586621679820190 :: a6989586621679085188) =  'Sum t6989586621679820190
data GetSumSym0 :: forall a6989586621679085188. (~>) (Sum a6989586621679085188) a6989586621679085188
type GetSumSym1 (a6989586621679820187 :: Sum a6989586621679085188) = GetSum a6989586621679820187
data ProductSym0 :: forall (a6989586621679085193 :: Type). (~>) a6989586621679085193 (Product (a6989586621679085193 :: Type))
type ProductSym1 (t6989586621679820207 :: a6989586621679085193) =  'Product t6989586621679820207
data GetProductSym0 :: forall a6989586621679085193. (~>) (Product a6989586621679085193) a6989586621679085193
type GetProductSym1 (a6989586621679820204 :: Product a6989586621679085193) = GetProduct a6989586621679820204
data FirstSym0 :: forall (a6989586621679085232 :: Type). (~>) (Maybe a6989586621679085232) (First (a6989586621679085232 :: Type))
type FirstSym1 (t6989586621680330523 :: Maybe a6989586621679085232) =  'First t6989586621680330523
data GetFirstSym0 :: forall a6989586621679085232. (~>) (First a6989586621679085232) (Maybe a6989586621679085232)
type GetFirstSym1 (a6989586621680330520 :: First a6989586621679085232) = GetFirst a6989586621680330520
data LastSym0 :: forall (a6989586621679085227 :: Type). (~>) (Maybe a6989586621679085227) (Last (a6989586621679085227 :: Type))
type LastSym1 (t6989586621680330544 :: Maybe a6989586621679085227) =  'Last t6989586621680330544
data GetLastSym0 :: forall a6989586621679085227. (~>) (Last a6989586621679085227) (Maybe a6989586621679085227)
type GetLastSym1 (a6989586621680330541 :: Last a6989586621679085227) = GetLast a6989586621680330541
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Monoid.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680336734Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Monoid.Last a)
instance forall a6989586621680336412 (a6989586621680336732 :: Data.Monoid.Last a6989586621680336412). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680336734Sym1 a6989586621680336732)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680336730BSym0
instance Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Monoid.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680336720Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Monoid.Last
instance forall b6989586621679545992 a6989586621679545991 (a6989586621680336718 :: Data.Monoid.Last a6989586621679545991). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680336720Sym1 a6989586621680336718)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Lambda_6989586621680336703Sym0
instance Data.Singletons.Prelude.Monad.Internal.SMonad Data.Monoid.Last
instance forall k1 a k (a6989586621680336701 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680336703Sym1 a6989586621680336701)
instance forall k1 a k (k6989586621680336702 :: k) (a6989586621680336701 :: k1 Data.Singletons.Internal.~> Data.Monoid.Last a). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680336703Sym2 k6989586621680336702 a6989586621680336701)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680336706Scrutinee_6989586621680336423Sym0
instance forall k1 k2 k3 (a6989586621680336701 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680336706Scrutinee_6989586621680336423Sym1 a6989586621680336701)
instance forall k1 k2 k3 (k6989586621680336702 :: k3) (a6989586621680336701 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680336706Scrutinee_6989586621680336423Sym2 k6989586621680336702 a6989586621680336701)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680336693Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Monoid.Last
instance forall b6989586621679545965 a6989586621679545964 (a6989586621680336691 :: a6989586621679545964). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680336693Sym1 a6989586621680336691)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Fmap_6989586621680336681Sym0
instance forall a6989586621679545962 b6989586621679545963 (a6989586621680336679 :: a6989586621679545962 Data.Singletons.Internal.~> b6989586621679545963). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Fmap_6989586621680336681Sym1 a6989586621680336679)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680336669Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Monoid.Last
instance forall a6989586621679545968 b6989586621679545969 (a6989586621680336667 :: Data.Monoid.Last (a6989586621679545968 Data.Singletons.Internal.~> b6989586621679545969)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680336669Sym1 a6989586621680336667)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Pure_6989586621680336658Sym0
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Monoid.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680336646Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Monoid.First a)
instance forall a6989586621680336402 (a6989586621680336644 :: Data.Monoid.First a6989586621680336402). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680336646Sym1 a6989586621680336644)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680336642ASym0
instance Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Monoid.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680336632Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Monoid.First
instance forall b6989586621679545992 a6989586621679545991 (a6989586621680336630 :: Data.Monoid.First a6989586621679545991). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680336632Sym1 a6989586621680336630)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Lambda_6989586621680336615Sym0
instance Data.Singletons.Prelude.Monad.Internal.SMonad Data.Monoid.First
instance forall k1 a k (a6989586621680336613 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680336615Sym1 a6989586621680336613)
instance forall k1 a k (k6989586621680336614 :: k) (a6989586621680336613 :: k1 Data.Singletons.Internal.~> Data.Monoid.First a). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680336615Sym2 k6989586621680336614 a6989586621680336613)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680336618Scrutinee_6989586621680336416Sym0
instance forall k1 k2 k3 (a6989586621680336613 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680336618Scrutinee_6989586621680336416Sym1 a6989586621680336613)
instance forall k1 k2 k3 (k6989586621680336614 :: k3) (a6989586621680336613 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680336618Scrutinee_6989586621680336416Sym2 k6989586621680336614 a6989586621680336613)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680336605Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Monoid.First
instance forall b6989586621679545965 a6989586621679545964 (a6989586621680336603 :: a6989586621679545964). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680336605Sym1 a6989586621680336603)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Fmap_6989586621680336593Sym0
instance forall a6989586621679545962 b6989586621679545963 (a6989586621680336591 :: a6989586621679545962 Data.Singletons.Internal.~> b6989586621679545963). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Fmap_6989586621680336593Sym1 a6989586621680336591)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680336581Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Monoid.First
instance forall a6989586621679545968 b6989586621679545969 (a6989586621680336579 :: Data.Monoid.First (a6989586621679545968 Data.Singletons.Internal.~> b6989586621679545969)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680336581Sym1 a6989586621680336579)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Pure_6989586621680336570Sym0
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_6989586621680333476Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Monoid.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680333476Sym1 a6989586621680333473)
instance forall a6989586621679085227 (a6989586621680333474 :: GHC.Types.Nat) (a6989586621680333473 :: Data.Monoid.Last a6989586621679085227). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680333476Sym2 a6989586621680333474 a6989586621680333473)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680333447Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Monoid.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680333447Sym1 a6989586621680333444)
instance forall a6989586621679085232 (a6989586621680333445 :: GHC.Types.Nat) (a6989586621680333444 :: Data.Monoid.First a6989586621679085232). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680333447Sym2 a6989586621680333445 a6989586621680333444)
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_6989586621680332183Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Monoid.Last a)
instance forall a6989586621679085227 (a6989586621680332181 :: Data.Monoid.Last a6989586621679085227). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Compare_6989586621680332183Sym1 a6989586621680332181)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Compare_6989586621680332162Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Monoid.First a)
instance forall a6989586621679085232 (a6989586621680332160 :: Data.Monoid.First a6989586621679085232). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Compare_6989586621680332162Sym1 a6989586621680332160)
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_6989586621680327059Sym0
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_6989586621680327044Sym0
instance Data.Singletons.Prelude.Monoid.PMonoid [a]
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.MconcatSym0
instance forall a6989586621680326608 (arg6989586621680326993 :: a6989586621680326608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.MappendSym1 arg6989586621680326993)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.MappendSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Mconcat_6989586621680327021Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Mappend_6989586621680327011Sym0
instance forall a6989586621680326608 (a6989586621680327009 :: a6989586621680326608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Mappend_6989586621680327011Sym1 a6989586621680327009)


-- | 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_akdw b_akdx -> Type)
either_ :: (a_a5X36 -> c_a5X37) -> (b_a5X38 -> c_a5X37) -> Either a_a5X36 b_a5X38 -> c_a5X37
type family Either_ (a_a5X3G :: (~>) a_a5X36 c_a5X37) (a_a5X3H :: (~>) b_a5X38 c_a5X37) (a_a5X3I :: Either a_a5X36 b_a5X38) :: c_a5X37
sEither_ :: forall a_a5X36 c_a5X37 b_a5X38 (t_a5X3Q :: (~>) a_a5X36 c_a5X37) (t_a5X3R :: (~>) b_a5X38 c_a5X37) (t_a5X3S :: Either a_a5X36 b_a5X38). Sing t_a5X3Q -> Sing t_a5X3R -> Sing t_a5X3S -> Sing (Apply (Apply (Apply Either_Sym0 t_a5X3Q) t_a5X3R) t_a5X3S :: c_a5X37)
type family Lefts (a_a5Xxe :: [Either a_a5XqW b_a5XqX]) :: [a_a5XqW]
sLefts :: forall a_a5XqW b_a5XqX (t_a5Xxr :: [Either a_a5XqW b_a5XqX]). Sing t_a5Xxr -> Sing (Apply LeftsSym0 t_a5Xxr :: [a_a5XqW])
type family Rights (a_a5Xx9 :: [Either a_a5XqU b_a5XqV]) :: [b_a5XqV]
sRights :: forall a_a5XqU b_a5XqV (t_a5Xxp :: [Either a_a5XqU b_a5XqV]). Sing t_a5Xxp -> Sing (Apply RightsSym0 t_a5Xxp :: [b_a5XqV])
type family PartitionEithers (a_a5XwP :: [Either a_a5XqS b_a5XqT]) :: ([a_a5XqS], [b_a5XqT])
sPartitionEithers :: forall a_a5XqS b_a5XqT (t_a5Xxn :: [Either a_a5XqS b_a5XqT]). Sing t_a5Xxn -> Sing (Apply PartitionEithersSym0 t_a5Xxn :: ([a_a5XqS], [b_a5XqT]))
type family IsLeft (a_a5XwL :: Either a_a5XqQ b_a5XqR) :: Bool
sIsLeft :: forall a_a5XqQ b_a5XqR (t_a5Xxl :: Either a_a5XqQ b_a5XqR). Sing t_a5Xxl -> Sing (Apply IsLeftSym0 t_a5Xxl :: Bool)
type family IsRight (a_a5XwJ :: Either a_a5XqO b_a5XqP) :: Bool
sIsRight :: forall a_a5XqO b_a5XqP (t_a5Xxj :: Either a_a5XqO b_a5XqP). Sing t_a5Xxj -> Sing (Apply IsRightSym0 t_a5Xxj :: Bool)
data LeftSym0 :: forall (a6989586621679087510 :: Type) (b6989586621679087511 :: Type). (~>) a6989586621679087510 (Either (a6989586621679087510 :: Type) (b6989586621679087511 :: Type))
type LeftSym1 (t6989586621679301622 :: a6989586621679087510) =  'Left t6989586621679301622
data RightSym0 :: forall (a6989586621679087510 :: Type) (b6989586621679087511 :: Type). (~>) b6989586621679087511 (Either (a6989586621679087510 :: Type) (b6989586621679087511 :: Type))
type RightSym1 (t6989586621679301624 :: b6989586621679087511) =  'Right t6989586621679301624
data Either_Sym0 :: forall a6989586621680428420 b6989586621680428422 c6989586621680428421. (~>) ((~>) a6989586621680428420 c6989586621680428421) ((~>) ((~>) b6989586621680428422 c6989586621680428421) ((~>) (Either a6989586621680428420 b6989586621680428422) c6989586621680428421))
data Either_Sym1 (a6989586621680428456 :: (~>) a6989586621680428420 c6989586621680428421) :: forall b6989586621680428422. (~>) ((~>) b6989586621680428422 c6989586621680428421) ((~>) (Either a6989586621680428420 b6989586621680428422) c6989586621680428421)
data Either_Sym2 (a6989586621680428456 :: (~>) a6989586621680428420 c6989586621680428421) (a6989586621680428457 :: (~>) b6989586621680428422 c6989586621680428421) :: (~>) (Either a6989586621680428420 b6989586621680428422) c6989586621680428421
type Either_Sym3 (a6989586621680428456 :: (~>) a6989586621680428420 c6989586621680428421) (a6989586621680428457 :: (~>) b6989586621680428422 c6989586621680428421) (a6989586621680428458 :: Either a6989586621680428420 b6989586621680428422) = Either_ a6989586621680428456 a6989586621680428457 a6989586621680428458
data LeftsSym0 :: forall a6989586621680429898 b6989586621680429899. (~>) [Either a6989586621680429898 b6989586621680429899] [a6989586621680429898]
type LeftsSym1 (a6989586621680430288 :: [Either a6989586621680429898 b6989586621680429899]) = Lefts a6989586621680430288
data RightsSym0 :: forall a6989586621680429896 b6989586621680429897. (~>) [Either a6989586621680429896 b6989586621680429897] [b6989586621680429897]
type RightsSym1 (a6989586621680430283 :: [Either a6989586621680429896 b6989586621680429897]) = Rights a6989586621680430283
data IsLeftSym0 :: forall a6989586621680429892 b6989586621680429893. (~>) (Either a6989586621680429892 b6989586621680429893) Bool
type IsLeftSym1 (a6989586621680430259 :: Either a6989586621680429892 b6989586621680429893) = IsLeft a6989586621680430259
data IsRightSym0 :: forall a6989586621680429890 b6989586621680429891. (~>) (Either a6989586621680429890 b6989586621680429891) Bool
type IsRightSym1 (a6989586621680430257 :: Either a6989586621680429890 b6989586621680429891) = IsRight a6989586621680430257
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.Let6989586621680430266LeftSym0
instance forall k2 k3 k (a_69895866216804302616989586621680430265 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680430266LeftSym1 a_69895866216804302616989586621680430265)
instance forall k2 k3 k (a6989586621680430275 :: k) (a_69895866216804302616989586621680430265 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680430266LeftSym2 a6989586621680430275 a_69895866216804302616989586621680430265)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621680430266RightSym0
instance forall k2 k3 k (a_69895866216804302616989586621680430265 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680430266RightSym1 a_69895866216804302616989586621680430265)
instance forall k2 k3 k (a6989586621680430267 :: k) (a_69895866216804302616989586621680430265 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680430266RightSym2 a6989586621680430267 a_69895866216804302616989586621680430265)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Either_Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Either.Either_Sym0
instance forall b6989586621680428422 a6989586621680428420 c6989586621680428421 (a6989586621680428456 :: a6989586621680428420 Data.Singletons.Internal.~> c6989586621680428421). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Either_Sym1 a6989586621680428456)
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 b6989586621680428422 a6989586621680428420 c6989586621680428421 (a6989586621680428457 :: a6989586621680428420 Data.Singletons.Internal.~> c6989586621680428421) (a6989586621680428456 :: b6989586621680428422 Data.Singletons.Internal.~> c6989586621680428421). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Either_Sym2 a6989586621680428457 a6989586621680428456)
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_a62g4 :: Type -> Type) where {
    type family Fold (arg_a62q7 :: t_a62g4 m_a62g5) :: m_a62g5;
    type family FoldMap (arg_a62q9 :: (~>) a_a62g7 m_a62g6) (arg_a62qa :: t_a62g4 a_a62g7) :: m_a62g6;
    type family Foldr (arg_a62qd :: (~>) a_a62g8 ((~>) b_a62g9 b_a62g9)) (arg_a62qe :: b_a62g9) (arg_a62qf :: t_a62g4 a_a62g8) :: b_a62g9;
    type family Foldr' (arg_a62qj :: (~>) a_a62ga ((~>) b_a62gb b_a62gb)) (arg_a62qk :: b_a62gb) (arg_a62ql :: t_a62g4 a_a62ga) :: b_a62gb;
    type family Foldl (arg_a62qp :: (~>) b_a62gc ((~>) a_a62gd b_a62gc)) (arg_a62qq :: b_a62gc) (arg_a62qr :: t_a62g4 a_a62gd) :: b_a62gc;
    type family Foldl' (arg_a62qv :: (~>) b_a62ge ((~>) a_a62gf b_a62ge)) (arg_a62qw :: b_a62ge) (arg_a62qx :: t_a62g4 a_a62gf) :: b_a62ge;
    type family Foldr1 (arg_a62qB :: (~>) a_a62gg ((~>) a_a62gg a_a62gg)) (arg_a62qC :: t_a62g4 a_a62gg) :: a_a62gg;
    type family Foldl1 (arg_a62qF :: (~>) a_a62gh ((~>) a_a62gh a_a62gh)) (arg_a62qG :: t_a62g4 a_a62gh) :: a_a62gh;
    type family ToList (arg_a62qJ :: t_a62g4 a_a62gi) :: [a_a62gi];
    type family Null (arg_a62qL :: t_a62g4 a_a62gj) :: Bool;
    type family Length (arg_a62qN :: t_a62g4 a_a62gk) :: Nat;
    type family Elem (arg_a62qP :: a_a62gl) (arg_a62qQ :: t_a62g4 a_a62gl) :: Bool;
    type family Maximum (arg_a62qT :: t_a62g4 a_a62gm) :: a_a62gm;
    type family Minimum (arg_a62qV :: t_a62g4 a_a62gn) :: a_a62gn;
    type family Sum (arg_a62qX :: t_a62g4 a_a62go) :: a_a62go;
    type family Product (arg_a62qZ :: t_a62g4 a_a62gp) :: a_a62gp;
    type Fold a_a62r6 = Apply Fold_6989586621680449129Sym0 a_a62r6;
    type FoldMap a_a62ri a_a62rj = Apply (Apply FoldMap_6989586621680449142Sym0 a_a62ri) a_a62rj;
    type Foldr a_a62rF a_a62rG a_a62rH = Apply (Apply (Apply Foldr_6989586621680449166Sym0 a_a62rF) a_a62rG) a_a62rH;
    type Foldr' a_a62s9 a_a62sa a_a62sb = Apply (Apply (Apply Foldr'_6989586621680449196Sym0 a_a62s9) a_a62sa) a_a62sb;
    type Foldl a_a62sy a_a62sz a_a62sA = Apply (Apply (Apply Foldl_6989586621680449221Sym0 a_a62sy) a_a62sz) a_a62sA;
    type Foldl' a_a62t2 a_a62t3 a_a62t4 = Apply (Apply (Apply Foldl'_6989586621680449251Sym0 a_a62t2) a_a62t3) a_a62t4;
    type Foldr1 a_a62tt a_a62tu = Apply (Apply Foldr1_6989586621680449277Sym0 a_a62tt) a_a62tu;
    type Foldl1 a_a62tS a_a62tT = Apply (Apply Foldl1_6989586621680449302Sym0 a_a62tS) a_a62tT;
    type ToList a_a62u3 = Apply ToList_6989586621680449312Sym0 a_a62u3;
    type Null a_a62uo = Apply Null_6989586621680449333Sym0 a_a62uo;
    type Length a_a62uK = Apply Length_6989586621680449355Sym0 a_a62uK;
    type Elem a_a62uY a_a62uZ = Apply (Apply Elem_6989586621680449370Sym0 a_a62uY) a_a62uZ;
    type Maximum a_a62vd = Apply Maximum_6989586621680449384Sym0 a_a62vd;
    type Minimum a_a62vq = Apply Minimum_6989586621680449397Sym0 a_a62vq;
    type Sum a_a62vD = Apply Sum_6989586621680449410Sym0 a_a62vD;
    type Product a_a62vQ = Apply Product_6989586621680449423Sym0 a_a62vQ;
}
class SFoldable (t_a62g4 :: Type -> Type)
sFold :: forall m_a62g5 (t_a62LY :: t_a62g4 m_a62g5). (SFoldable t_a62g4, SMonoid m_a62g5) => Sing t_a62LY -> Sing (Apply FoldSym0 t_a62LY :: m_a62g5)
sFoldMap :: forall m_a62g6 a_a62g7 (t_a62M0 :: (~>) a_a62g7 m_a62g6) (t_a62M1 :: t_a62g4 a_a62g7). (SFoldable t_a62g4, SMonoid m_a62g6) => Sing t_a62M0 -> Sing t_a62M1 -> Sing (Apply (Apply FoldMapSym0 t_a62M0) t_a62M1 :: m_a62g6)
sFoldr :: forall a_a62g8 b_a62g9 (t_a62M4 :: (~>) a_a62g8 ((~>) b_a62g9 b_a62g9)) (t_a62M5 :: b_a62g9) (t_a62M6 :: t_a62g4 a_a62g8). SFoldable t_a62g4 => Sing t_a62M4 -> Sing t_a62M5 -> Sing t_a62M6 -> Sing (Apply (Apply (Apply FoldrSym0 t_a62M4) t_a62M5) t_a62M6 :: b_a62g9)
sFoldr' :: forall a_a62ga b_a62gb (t_a62Ma :: (~>) a_a62ga ((~>) b_a62gb b_a62gb)) (t_a62Mb :: b_a62gb) (t_a62Mc :: t_a62g4 a_a62ga). SFoldable t_a62g4 => Sing t_a62Ma -> Sing t_a62Mb -> Sing t_a62Mc -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a62Ma) t_a62Mb) t_a62Mc :: b_a62gb)
sFoldl :: forall b_a62gc a_a62gd (t_a62Mg :: (~>) b_a62gc ((~>) a_a62gd b_a62gc)) (t_a62Mh :: b_a62gc) (t_a62Mi :: t_a62g4 a_a62gd). SFoldable t_a62g4 => Sing t_a62Mg -> Sing t_a62Mh -> Sing t_a62Mi -> Sing (Apply (Apply (Apply FoldlSym0 t_a62Mg) t_a62Mh) t_a62Mi :: b_a62gc)
sFoldl' :: forall b_a62ge a_a62gf (t_a62Mm :: (~>) b_a62ge ((~>) a_a62gf b_a62ge)) (t_a62Mn :: b_a62ge) (t_a62Mo :: t_a62g4 a_a62gf). SFoldable t_a62g4 => Sing t_a62Mm -> Sing t_a62Mn -> Sing t_a62Mo -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a62Mm) t_a62Mn) t_a62Mo :: b_a62ge)
sFoldr1 :: forall a_a62gg (t_a62Ms :: (~>) a_a62gg ((~>) a_a62gg a_a62gg)) (t_a62Mt :: t_a62g4 a_a62gg). SFoldable t_a62g4 => Sing t_a62Ms -> Sing t_a62Mt -> Sing (Apply (Apply Foldr1Sym0 t_a62Ms) t_a62Mt :: a_a62gg)
sFoldl1 :: forall a_a62gh (t_a62Mw :: (~>) a_a62gh ((~>) a_a62gh a_a62gh)) (t_a62Mx :: t_a62g4 a_a62gh). SFoldable t_a62g4 => Sing t_a62Mw -> Sing t_a62Mx -> Sing (Apply (Apply Foldl1Sym0 t_a62Mw) t_a62Mx :: a_a62gh)
sToList :: forall a_a62gi (t_a62MA :: t_a62g4 a_a62gi). SFoldable t_a62g4 => Sing t_a62MA -> Sing (Apply ToListSym0 t_a62MA :: [a_a62gi])
sNull :: forall a_a62gj (t_a62MC :: t_a62g4 a_a62gj). SFoldable t_a62g4 => Sing t_a62MC -> Sing (Apply NullSym0 t_a62MC :: Bool)
sLength :: forall a_a62gk (t_a62ME :: t_a62g4 a_a62gk). SFoldable t_a62g4 => Sing t_a62ME -> Sing (Apply LengthSym0 t_a62ME :: Nat)
sElem :: forall a_a62gl (t_a62MG :: a_a62gl) (t_a62MH :: t_a62g4 a_a62gl). (SFoldable t_a62g4, SEq a_a62gl) => Sing t_a62MG -> Sing t_a62MH -> Sing (Apply (Apply ElemSym0 t_a62MG) t_a62MH :: Bool)
sMaximum :: forall a_a62gm (t_a62MK :: t_a62g4 a_a62gm). (SFoldable t_a62g4, SOrd a_a62gm) => Sing t_a62MK -> Sing (Apply MaximumSym0 t_a62MK :: a_a62gm)
sMinimum :: forall a_a62gn (t_a62MM :: t_a62g4 a_a62gn). (SFoldable t_a62g4, SOrd a_a62gn) => Sing t_a62MM -> Sing (Apply MinimumSym0 t_a62MM :: a_a62gn)
sSum :: forall a_a62go (t_a62MO :: t_a62g4 a_a62go). (SFoldable t_a62g4, SNum a_a62go) => Sing t_a62MO -> Sing (Apply SumSym0 t_a62MO :: a_a62go)
sProduct :: forall a_a62gp (t_a62MQ :: t_a62g4 a_a62gp). (SFoldable t_a62g4, SNum a_a62gp) => Sing t_a62MQ -> Sing (Apply ProductSym0 t_a62MQ :: a_a62gp)
sFold :: forall m_a62g5 (t_a62LY :: t_a62g4 m_a62g5). (SFoldable t_a62g4, (Apply FoldSym0 t_a62LY :: m_a62g5) ~ Apply Fold_6989586621680449129Sym0 t_a62LY, SMonoid m_a62g5) => Sing t_a62LY -> Sing (Apply FoldSym0 t_a62LY :: m_a62g5)
sFoldMap :: forall m_a62g6 a_a62g7 (t_a62M0 :: (~>) a_a62g7 m_a62g6) (t_a62M1 :: t_a62g4 a_a62g7). (SFoldable t_a62g4, (Apply (Apply FoldMapSym0 t_a62M0) t_a62M1 :: m_a62g6) ~ Apply (Apply FoldMap_6989586621680449142Sym0 t_a62M0) t_a62M1, SMonoid m_a62g6) => Sing t_a62M0 -> Sing t_a62M1 -> Sing (Apply (Apply FoldMapSym0 t_a62M0) t_a62M1 :: m_a62g6)
sFoldr :: forall a_a62g8 b_a62g9 (t_a62M4 :: (~>) a_a62g8 ((~>) b_a62g9 b_a62g9)) (t_a62M5 :: b_a62g9) (t_a62M6 :: t_a62g4 a_a62g8). (SFoldable t_a62g4, (Apply (Apply (Apply FoldrSym0 t_a62M4) t_a62M5) t_a62M6 :: b_a62g9) ~ Apply (Apply (Apply Foldr_6989586621680449166Sym0 t_a62M4) t_a62M5) t_a62M6) => Sing t_a62M4 -> Sing t_a62M5 -> Sing t_a62M6 -> Sing (Apply (Apply (Apply FoldrSym0 t_a62M4) t_a62M5) t_a62M6 :: b_a62g9)
sFoldr' :: forall a_a62ga b_a62gb (t_a62Ma :: (~>) a_a62ga ((~>) b_a62gb b_a62gb)) (t_a62Mb :: b_a62gb) (t_a62Mc :: t_a62g4 a_a62ga). (SFoldable t_a62g4, (Apply (Apply (Apply Foldr'Sym0 t_a62Ma) t_a62Mb) t_a62Mc :: b_a62gb) ~ Apply (Apply (Apply Foldr'_6989586621680449196Sym0 t_a62Ma) t_a62Mb) t_a62Mc) => Sing t_a62Ma -> Sing t_a62Mb -> Sing t_a62Mc -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a62Ma) t_a62Mb) t_a62Mc :: b_a62gb)
sFoldl :: forall b_a62gc a_a62gd (t_a62Mg :: (~>) b_a62gc ((~>) a_a62gd b_a62gc)) (t_a62Mh :: b_a62gc) (t_a62Mi :: t_a62g4 a_a62gd). (SFoldable t_a62g4, (Apply (Apply (Apply FoldlSym0 t_a62Mg) t_a62Mh) t_a62Mi :: b_a62gc) ~ Apply (Apply (Apply Foldl_6989586621680449221Sym0 t_a62Mg) t_a62Mh) t_a62Mi) => Sing t_a62Mg -> Sing t_a62Mh -> Sing t_a62Mi -> Sing (Apply (Apply (Apply FoldlSym0 t_a62Mg) t_a62Mh) t_a62Mi :: b_a62gc)
sFoldl' :: forall b_a62ge a_a62gf (t_a62Mm :: (~>) b_a62ge ((~>) a_a62gf b_a62ge)) (t_a62Mn :: b_a62ge) (t_a62Mo :: t_a62g4 a_a62gf). (SFoldable t_a62g4, (Apply (Apply (Apply Foldl'Sym0 t_a62Mm) t_a62Mn) t_a62Mo :: b_a62ge) ~ Apply (Apply (Apply Foldl'_6989586621680449251Sym0 t_a62Mm) t_a62Mn) t_a62Mo) => Sing t_a62Mm -> Sing t_a62Mn -> Sing t_a62Mo -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a62Mm) t_a62Mn) t_a62Mo :: b_a62ge)
sFoldr1 :: forall a_a62gg (t_a62Ms :: (~>) a_a62gg ((~>) a_a62gg a_a62gg)) (t_a62Mt :: t_a62g4 a_a62gg). (SFoldable t_a62g4, (Apply (Apply Foldr1Sym0 t_a62Ms) t_a62Mt :: a_a62gg) ~ Apply (Apply Foldr1_6989586621680449277Sym0 t_a62Ms) t_a62Mt) => Sing t_a62Ms -> Sing t_a62Mt -> Sing (Apply (Apply Foldr1Sym0 t_a62Ms) t_a62Mt :: a_a62gg)
sFoldl1 :: forall a_a62gh (t_a62Mw :: (~>) a_a62gh ((~>) a_a62gh a_a62gh)) (t_a62Mx :: t_a62g4 a_a62gh). (SFoldable t_a62g4, (Apply (Apply Foldl1Sym0 t_a62Mw) t_a62Mx :: a_a62gh) ~ Apply (Apply Foldl1_6989586621680449302Sym0 t_a62Mw) t_a62Mx) => Sing t_a62Mw -> Sing t_a62Mx -> Sing (Apply (Apply Foldl1Sym0 t_a62Mw) t_a62Mx :: a_a62gh)
sToList :: forall a_a62gi (t_a62MA :: t_a62g4 a_a62gi). (SFoldable t_a62g4, (Apply ToListSym0 t_a62MA :: [a_a62gi]) ~ Apply ToList_6989586621680449312Sym0 t_a62MA) => Sing t_a62MA -> Sing (Apply ToListSym0 t_a62MA :: [a_a62gi])
sNull :: forall a_a62gj (t_a62MC :: t_a62g4 a_a62gj). (SFoldable t_a62g4, (Apply NullSym0 t_a62MC :: Bool) ~ Apply Null_6989586621680449333Sym0 t_a62MC) => Sing t_a62MC -> Sing (Apply NullSym0 t_a62MC :: Bool)
sLength :: forall a_a62gk (t_a62ME :: t_a62g4 a_a62gk). (SFoldable t_a62g4, (Apply LengthSym0 t_a62ME :: Nat) ~ Apply Length_6989586621680449355Sym0 t_a62ME) => Sing t_a62ME -> Sing (Apply LengthSym0 t_a62ME :: Nat)
sElem :: forall a_a62gl (t_a62MG :: a_a62gl) (t_a62MH :: t_a62g4 a_a62gl). (SFoldable t_a62g4, (Apply (Apply ElemSym0 t_a62MG) t_a62MH :: Bool) ~ Apply (Apply Elem_6989586621680449370Sym0 t_a62MG) t_a62MH, SEq a_a62gl) => Sing t_a62MG -> Sing t_a62MH -> Sing (Apply (Apply ElemSym0 t_a62MG) t_a62MH :: Bool)
sMaximum :: forall a_a62gm (t_a62MK :: t_a62g4 a_a62gm). (SFoldable t_a62g4, (Apply MaximumSym0 t_a62MK :: a_a62gm) ~ Apply Maximum_6989586621680449384Sym0 t_a62MK, SOrd a_a62gm) => Sing t_a62MK -> Sing (Apply MaximumSym0 t_a62MK :: a_a62gm)
sMinimum :: forall a_a62gn (t_a62MM :: t_a62g4 a_a62gn). (SFoldable t_a62g4, (Apply MinimumSym0 t_a62MM :: a_a62gn) ~ Apply Minimum_6989586621680449397Sym0 t_a62MM, SOrd a_a62gn) => Sing t_a62MM -> Sing (Apply MinimumSym0 t_a62MM :: a_a62gn)
sSum :: forall a_a62go (t_a62MO :: t_a62g4 a_a62go). (SFoldable t_a62g4, (Apply SumSym0 t_a62MO :: a_a62go) ~ Apply Sum_6989586621680449410Sym0 t_a62MO, SNum a_a62go) => Sing t_a62MO -> Sing (Apply SumSym0 t_a62MO :: a_a62go)
sProduct :: forall a_a62gp (t_a62MQ :: t_a62g4 a_a62gp). (SFoldable t_a62g4, (Apply ProductSym0 t_a62MQ :: a_a62gp) ~ Apply Product_6989586621680449423Sym0 t_a62MQ, SNum a_a62gp) => Sing t_a62MQ -> Sing (Apply ProductSym0 t_a62MQ :: a_a62gp)
type family FoldrM (a_a62pL :: (~>) a_a62fr ((~>) b_a62fs (m_a62fq b_a62fs))) (a_a62pM :: b_a62fs) (a_a62pN :: t_a62fp a_a62fr) :: m_a62fq b_a62fs
sFoldrM :: forall t_a62fp m_a62fq a_a62fr b_a62fs (t_a62Ld :: (~>) a_a62fr ((~>) b_a62fs (m_a62fq b_a62fs))) (t_a62Le :: b_a62fs) (t_a62Lf :: t_a62fp a_a62fr). (SFoldable t_a62fp, SMonad m_a62fq) => Sing t_a62Ld -> Sing t_a62Le -> Sing t_a62Lf -> Sing (Apply (Apply (Apply FoldrMSym0 t_a62Ld) t_a62Le) t_a62Lf :: m_a62fq b_a62fs)
type family FoldlM (a_a62pp :: (~>) b_a62fn ((~>) a_a62fo (m_a62fm b_a62fn))) (a_a62pq :: b_a62fn) (a_a62pr :: t_a62fl a_a62fo) :: m_a62fm b_a62fn
sFoldlM :: forall t_a62fl m_a62fm b_a62fn a_a62fo (t_a62L7 :: (~>) b_a62fn ((~>) a_a62fo (m_a62fm b_a62fn))) (t_a62L8 :: b_a62fn) (t_a62L9 :: t_a62fl a_a62fo). (SFoldable t_a62fl, SMonad m_a62fm) => Sing t_a62L7 -> Sing t_a62L8 -> Sing t_a62L9 -> Sing (Apply (Apply (Apply FoldlMSym0 t_a62L7) t_a62L8) t_a62L9 :: m_a62fm b_a62fn)
type family Traverse_ (a_a62p7 :: (~>) a_a62fj (f_a62fi b_a62fk)) (a_a62p8 :: t_a62fh a_a62fj) :: f_a62fi ()
sTraverse_ :: forall t_a62fh f_a62fi a_a62fj b_a62fk (t_a62KZ :: (~>) a_a62fj (f_a62fi b_a62fk)) (t_a62L0 :: t_a62fh a_a62fj). (SFoldable t_a62fh, SApplicative f_a62fi) => Sing t_a62KZ -> Sing t_a62L0 -> Sing (Apply (Apply Traverse_Sym0 t_a62KZ) t_a62L0 :: f_a62fi ())
type family For_ (a_a62pj :: t_a62fd a_a62ff) (a_a62pk :: (~>) a_a62ff (f_a62fe b_a62fg)) :: f_a62fe ()
sFor_ :: forall t_a62fd f_a62fe a_a62ff b_a62fg (t_a62L3 :: t_a62fd a_a62ff) (t_a62L4 :: (~>) a_a62ff (f_a62fe b_a62fg)). (SFoldable t_a62fd, SApplicative f_a62fe) => Sing t_a62L3 -> Sing t_a62L4 -> Sing (Apply (Apply For_Sym0 t_a62L3) t_a62L4 :: f_a62fe ())
type family SequenceA_ (a_a62oM :: t_a62f2 (f_a62f3 a_a62f4)) :: f_a62f3 ()
sSequenceA_ :: forall t_a62f2 f_a62f3 a_a62f4 (t_a62KP :: t_a62f2 (f_a62f3 a_a62f4)). (SFoldable t_a62f2, SApplicative f_a62f3) => Sing t_a62KP -> Sing (Apply SequenceA_Sym0 t_a62KP :: f_a62f3 ())
type family Asum (a_a62ox :: t_a62eW (f_a62eX a_a62eY)) :: f_a62eX a_a62eY
sAsum :: forall t_a62eW f_a62eX a_a62eY (t_a62KJ :: t_a62eW (f_a62eX a_a62eY)). (SFoldable t_a62eW, SAlternative f_a62eX) => Sing t_a62KJ -> Sing (Apply AsumSym0 t_a62KJ :: f_a62eX a_a62eY)
type family MapM_ (a_a62oP :: (~>) a_a62fb (m_a62fa b_a62fc)) (a_a62oQ :: t_a62f9 a_a62fb) :: m_a62fa ()
sMapM_ :: forall t_a62f9 m_a62fa a_a62fb b_a62fc (t_a62KR :: (~>) a_a62fb (m_a62fa b_a62fc)) (t_a62KS :: t_a62f9 a_a62fb). (SFoldable t_a62f9, SMonad m_a62fa) => Sing t_a62KR -> Sing t_a62KS -> Sing (Apply (Apply MapM_Sym0 t_a62KR) t_a62KS :: m_a62fa ())
type family ForM_ (a_a62p1 :: t_a62f5 a_a62f7) (a_a62p2 :: (~>) a_a62f7 (m_a62f6 b_a62f8)) :: m_a62f6 ()
sForM_ :: forall t_a62f5 m_a62f6 a_a62f7 b_a62f8 (t_a62KV :: t_a62f5 a_a62f7) (t_a62KW :: (~>) a_a62f7 (m_a62f6 b_a62f8)). (SFoldable t_a62f5, SMonad m_a62f6) => Sing t_a62KV -> Sing t_a62KW -> Sing (Apply (Apply ForM_Sym0 t_a62KV) t_a62KW :: m_a62f6 ())
type family Sequence_ (a_a62oH :: t_a62eZ (m_a62f0 a_a62f1)) :: m_a62f0 ()
sSequence_ :: forall t_a62eZ m_a62f0 a_a62f1 (t_a62KN :: t_a62eZ (m_a62f0 a_a62f1)). (SFoldable t_a62eZ, SMonad m_a62f0) => Sing t_a62KN -> Sing (Apply Sequence_Sym0 t_a62KN :: m_a62f0 ())
type family Msum (a_a62oC :: t_a62eT (m_a62eU a_a62eV)) :: m_a62eU a_a62eV
sMsum :: forall t_a62eT m_a62eU a_a62eV (t_a62KL :: t_a62eT (m_a62eU a_a62eV)). (SFoldable t_a62eT, SMonadPlus m_a62eU) => Sing t_a62KL -> Sing (Apply MsumSym0 t_a62KL :: m_a62eU a_a62eV)
type family Concat (a_a62oj :: t_a62eR [a_a62eS]) :: [a_a62eS]
sConcat :: forall t_a62eR a_a62eS (t_a62KH :: t_a62eR [a_a62eS]). SFoldable t_a62eR => Sing t_a62KH -> Sing (Apply ConcatSym0 t_a62KH :: [a_a62eS])
type family ConcatMap (a_a62o3 :: (~>) a_a62eP [b_a62eQ]) (a_a62o4 :: t_a62eO a_a62eP) :: [b_a62eQ]
sConcatMap :: forall t_a62eO a_a62eP b_a62eQ (t_a62KD :: (~>) a_a62eP [b_a62eQ]) (t_a62KE :: t_a62eO a_a62eP). SFoldable t_a62eO => Sing t_a62KD -> Sing t_a62KE -> Sing (Apply (Apply ConcatMapSym0 t_a62KD) t_a62KE :: [b_a62eQ])
type family And (a_a62nU :: t_a62eN Bool) :: Bool
sAnd :: forall t_a62eN (t_a62KB :: t_a62eN Bool). SFoldable t_a62eN => Sing t_a62KB -> Sing (Apply AndSym0 t_a62KB :: Bool)
type family Or (a_a62nL :: t_a62eM Bool) :: Bool
sOr :: forall t_a62eM (t_a62Kz :: t_a62eM Bool). SFoldable t_a62eM => Sing t_a62Kz -> Sing (Apply OrSym0 t_a62Kz :: Bool)
type family Any (a_a62ny :: (~>) a_a62eL Bool) (a_a62nz :: t_a62eK a_a62eL) :: Bool
sAny :: forall t_a62eK a_a62eL (t_a62Kv :: (~>) a_a62eL Bool) (t_a62Kw :: t_a62eK a_a62eL). SFoldable t_a62eK => Sing t_a62Kv -> Sing t_a62Kw -> Sing (Apply (Apply AnySym0 t_a62Kv) t_a62Kw :: Bool)
type family All (a_a62nl :: (~>) a_a62eJ Bool) (a_a62nm :: t_a62eI a_a62eJ) :: Bool
sAll :: forall t_a62eI a_a62eJ (t_a62Kr :: (~>) a_a62eJ Bool) (t_a62Ks :: t_a62eI a_a62eJ). SFoldable t_a62eI => Sing t_a62Kr -> Sing t_a62Ks -> Sing (Apply (Apply AllSym0 t_a62Kr) t_a62Ks :: Bool)
type family MaximumBy (a_a62mW :: (~>) a_a62eH ((~>) a_a62eH Ordering)) (a_a62mX :: t_a62eG a_a62eH) :: a_a62eH
sMaximumBy :: forall t_a62eG a_a62eH (t_a62Kn :: (~>) a_a62eH ((~>) a_a62eH Ordering)) (t_a62Ko :: t_a62eG a_a62eH). SFoldable t_a62eG => Sing t_a62Kn -> Sing t_a62Ko -> Sing (Apply (Apply MaximumBySym0 t_a62Kn) t_a62Ko :: a_a62eH)
type family MinimumBy (a_a62mx :: (~>) a_a62eF ((~>) a_a62eF Ordering)) (a_a62my :: t_a62eE a_a62eF) :: a_a62eF
sMinimumBy :: forall t_a62eE a_a62eF (t_a62Kj :: (~>) a_a62eF ((~>) a_a62eF Ordering)) (t_a62Kk :: t_a62eE a_a62eF). SFoldable t_a62eE => Sing t_a62Kj -> Sing t_a62Kk -> Sing (Apply (Apply MinimumBySym0 t_a62Kj) t_a62Kk :: a_a62eF)
type family NotElem (a_a62mp :: a_a62eD) (a_a62mq :: t_a62eC a_a62eD) :: Bool
sNotElem :: forall t_a62eC a_a62eD (t_a62Kf :: a_a62eD) (t_a62Kg :: t_a62eC a_a62eD). (SFoldable t_a62eC, SEq a_a62eD) => Sing t_a62Kf -> Sing t_a62Kg -> Sing (Apply (Apply NotElemSym0 t_a62Kf) t_a62Kg :: Bool)
type family Find (a_a62lY :: (~>) a_a62eB Bool) (a_a62lZ :: t_a62eA a_a62eB) :: Maybe a_a62eB
sFind :: forall t_a62eA a_a62eB (t_a62Kb :: (~>) a_a62eB Bool) (t_a62Kc :: t_a62eA a_a62eB). SFoldable t_a62eA => Sing t_a62Kb -> Sing t_a62Kc -> Sing (Apply (Apply FindSym0 t_a62Kb) t_a62Kc :: Maybe a_a62eB)
data FoldSym0 :: forall m6989586621680448445 t6989586621680448444. (~>) (t6989586621680448444 m6989586621680448445) m6989586621680448445
type FoldSym1 (arg6989586621680449067 :: t6989586621680448444 m6989586621680448445) = Fold arg6989586621680449067
data FoldMapSym0 :: forall a6989586621680448447 m6989586621680448446 t6989586621680448444. (~>) ((~>) a6989586621680448447 m6989586621680448446) ((~>) (t6989586621680448444 a6989586621680448447) m6989586621680448446)
data FoldMapSym1 (arg6989586621680449069 :: (~>) a6989586621680448447 m6989586621680448446) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448447) m6989586621680448446
type FoldMapSym2 (arg6989586621680449069 :: (~>) a6989586621680448447 m6989586621680448446) (arg6989586621680449070 :: t6989586621680448444 a6989586621680448447) = FoldMap arg6989586621680449069 arg6989586621680449070
data FoldrSym0 :: forall a6989586621680448448 b6989586621680448449 t6989586621680448444. (~>) ((~>) a6989586621680448448 ((~>) b6989586621680448449 b6989586621680448449)) ((~>) b6989586621680448449 ((~>) (t6989586621680448444 a6989586621680448448) b6989586621680448449))
data FoldrSym1 (arg6989586621680449073 :: (~>) a6989586621680448448 ((~>) b6989586621680448449 b6989586621680448449)) :: forall t6989586621680448444. (~>) b6989586621680448449 ((~>) (t6989586621680448444 a6989586621680448448) b6989586621680448449)
data FoldrSym2 (arg6989586621680449073 :: (~>) a6989586621680448448 ((~>) b6989586621680448449 b6989586621680448449)) (arg6989586621680449074 :: b6989586621680448449) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448448) b6989586621680448449
type FoldrSym3 (arg6989586621680449073 :: (~>) a6989586621680448448 ((~>) b6989586621680448449 b6989586621680448449)) (arg6989586621680449074 :: b6989586621680448449) (arg6989586621680449075 :: t6989586621680448444 a6989586621680448448) = Foldr arg6989586621680449073 arg6989586621680449074 arg6989586621680449075
data Foldr'Sym0 :: forall a6989586621680448450 b6989586621680448451 t6989586621680448444. (~>) ((~>) a6989586621680448450 ((~>) b6989586621680448451 b6989586621680448451)) ((~>) b6989586621680448451 ((~>) (t6989586621680448444 a6989586621680448450) b6989586621680448451))
data Foldr'Sym1 (arg6989586621680449079 :: (~>) a6989586621680448450 ((~>) b6989586621680448451 b6989586621680448451)) :: forall t6989586621680448444. (~>) b6989586621680448451 ((~>) (t6989586621680448444 a6989586621680448450) b6989586621680448451)
data Foldr'Sym2 (arg6989586621680449079 :: (~>) a6989586621680448450 ((~>) b6989586621680448451 b6989586621680448451)) (arg6989586621680449080 :: b6989586621680448451) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448450) b6989586621680448451
type Foldr'Sym3 (arg6989586621680449079 :: (~>) a6989586621680448450 ((~>) b6989586621680448451 b6989586621680448451)) (arg6989586621680449080 :: b6989586621680448451) (arg6989586621680449081 :: t6989586621680448444 a6989586621680448450) = Foldr' arg6989586621680449079 arg6989586621680449080 arg6989586621680449081
data FoldlSym0 :: forall a6989586621680448453 b6989586621680448452 t6989586621680448444. (~>) ((~>) b6989586621680448452 ((~>) a6989586621680448453 b6989586621680448452)) ((~>) b6989586621680448452 ((~>) (t6989586621680448444 a6989586621680448453) b6989586621680448452))
data FoldlSym1 (arg6989586621680449085 :: (~>) b6989586621680448452 ((~>) a6989586621680448453 b6989586621680448452)) :: forall t6989586621680448444. (~>) b6989586621680448452 ((~>) (t6989586621680448444 a6989586621680448453) b6989586621680448452)
data FoldlSym2 (arg6989586621680449085 :: (~>) b6989586621680448452 ((~>) a6989586621680448453 b6989586621680448452)) (arg6989586621680449086 :: b6989586621680448452) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448453) b6989586621680448452
type FoldlSym3 (arg6989586621680449085 :: (~>) b6989586621680448452 ((~>) a6989586621680448453 b6989586621680448452)) (arg6989586621680449086 :: b6989586621680448452) (arg6989586621680449087 :: t6989586621680448444 a6989586621680448453) = Foldl arg6989586621680449085 arg6989586621680449086 arg6989586621680449087
data Foldl'Sym0 :: forall a6989586621680448455 b6989586621680448454 t6989586621680448444. (~>) ((~>) b6989586621680448454 ((~>) a6989586621680448455 b6989586621680448454)) ((~>) b6989586621680448454 ((~>) (t6989586621680448444 a6989586621680448455) b6989586621680448454))
data Foldl'Sym1 (arg6989586621680449091 :: (~>) b6989586621680448454 ((~>) a6989586621680448455 b6989586621680448454)) :: forall t6989586621680448444. (~>) b6989586621680448454 ((~>) (t6989586621680448444 a6989586621680448455) b6989586621680448454)
data Foldl'Sym2 (arg6989586621680449091 :: (~>) b6989586621680448454 ((~>) a6989586621680448455 b6989586621680448454)) (arg6989586621680449092 :: b6989586621680448454) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448455) b6989586621680448454
type Foldl'Sym3 (arg6989586621680449091 :: (~>) b6989586621680448454 ((~>) a6989586621680448455 b6989586621680448454)) (arg6989586621680449092 :: b6989586621680448454) (arg6989586621680449093 :: t6989586621680448444 a6989586621680448455) = Foldl' arg6989586621680449091 arg6989586621680449092 arg6989586621680449093
data Foldr1Sym0 :: forall a6989586621680448456 t6989586621680448444. (~>) ((~>) a6989586621680448456 ((~>) a6989586621680448456 a6989586621680448456)) ((~>) (t6989586621680448444 a6989586621680448456) a6989586621680448456)
data Foldr1Sym1 (arg6989586621680449097 :: (~>) a6989586621680448456 ((~>) a6989586621680448456 a6989586621680448456)) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448456) a6989586621680448456
type Foldr1Sym2 (arg6989586621680449097 :: (~>) a6989586621680448456 ((~>) a6989586621680448456 a6989586621680448456)) (arg6989586621680449098 :: t6989586621680448444 a6989586621680448456) = Foldr1 arg6989586621680449097 arg6989586621680449098
data Foldl1Sym0 :: forall a6989586621680448457 t6989586621680448444. (~>) ((~>) a6989586621680448457 ((~>) a6989586621680448457 a6989586621680448457)) ((~>) (t6989586621680448444 a6989586621680448457) a6989586621680448457)
data Foldl1Sym1 (arg6989586621680449101 :: (~>) a6989586621680448457 ((~>) a6989586621680448457 a6989586621680448457)) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448457) a6989586621680448457
type Foldl1Sym2 (arg6989586621680449101 :: (~>) a6989586621680448457 ((~>) a6989586621680448457 a6989586621680448457)) (arg6989586621680449102 :: t6989586621680448444 a6989586621680448457) = Foldl1 arg6989586621680449101 arg6989586621680449102
data ToListSym0 :: forall a6989586621680448458 t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448458) [a6989586621680448458]
type ToListSym1 (arg6989586621680449105 :: t6989586621680448444 a6989586621680448458) = ToList arg6989586621680449105
data NullSym0 :: forall a6989586621680448459 t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448459) Bool
type NullSym1 (arg6989586621680449107 :: t6989586621680448444 a6989586621680448459) = Null arg6989586621680449107
data LengthSym0 :: forall a6989586621680448460 t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448460) Nat
type LengthSym1 (arg6989586621680449109 :: t6989586621680448444 a6989586621680448460) = Length arg6989586621680449109
data ElemSym0 :: forall a6989586621680448461 t6989586621680448444. (~>) a6989586621680448461 ((~>) (t6989586621680448444 a6989586621680448461) Bool)
data ElemSym1 (arg6989586621680449111 :: a6989586621680448461) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448461) Bool
type ElemSym2 (arg6989586621680449111 :: a6989586621680448461) (arg6989586621680449112 :: t6989586621680448444 a6989586621680448461) = Elem arg6989586621680449111 arg6989586621680449112
data MaximumSym0 :: forall a6989586621680448462 t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448462) a6989586621680448462
type MaximumSym1 (arg6989586621680449115 :: t6989586621680448444 a6989586621680448462) = Maximum arg6989586621680449115
data MinimumSym0 :: forall a6989586621680448463 t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448463) a6989586621680448463
type MinimumSym1 (arg6989586621680449117 :: t6989586621680448444 a6989586621680448463) = Minimum arg6989586621680449117
data SumSym0 :: forall a6989586621680448464 t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448464) a6989586621680448464
type SumSym1 (arg6989586621680449119 :: t6989586621680448444 a6989586621680448464) = Sum arg6989586621680449119
data ProductSym0 :: forall a6989586621680448465 t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448465) a6989586621680448465
type ProductSym1 (arg6989586621680449121 :: t6989586621680448444 a6989586621680448465) = Product arg6989586621680449121
data FoldrMSym0 :: forall a6989586621680448405 b6989586621680448406 m6989586621680448404 t6989586621680448403. (~>) ((~>) a6989586621680448405 ((~>) b6989586621680448406 (m6989586621680448404 b6989586621680448406))) ((~>) b6989586621680448406 ((~>) (t6989586621680448403 a6989586621680448405) (m6989586621680448404 b6989586621680448406)))
data FoldrMSym1 (a6989586621680449045 :: (~>) a6989586621680448405 ((~>) b6989586621680448406 (m6989586621680448404 b6989586621680448406))) :: forall t6989586621680448403. (~>) b6989586621680448406 ((~>) (t6989586621680448403 a6989586621680448405) (m6989586621680448404 b6989586621680448406))
data FoldrMSym2 (a6989586621680449045 :: (~>) a6989586621680448405 ((~>) b6989586621680448406 (m6989586621680448404 b6989586621680448406))) (a6989586621680449046 :: b6989586621680448406) :: forall t6989586621680448403. (~>) (t6989586621680448403 a6989586621680448405) (m6989586621680448404 b6989586621680448406)
type FoldrMSym3 (a6989586621680449045 :: (~>) a6989586621680448405 ((~>) b6989586621680448406 (m6989586621680448404 b6989586621680448406))) (a6989586621680449046 :: b6989586621680448406) (a6989586621680449047 :: t6989586621680448403 a6989586621680448405) = FoldrM a6989586621680449045 a6989586621680449046 a6989586621680449047
data FoldlMSym0 :: forall a6989586621680448402 b6989586621680448401 m6989586621680448400 t6989586621680448399. (~>) ((~>) b6989586621680448401 ((~>) a6989586621680448402 (m6989586621680448400 b6989586621680448401))) ((~>) b6989586621680448401 ((~>) (t6989586621680448399 a6989586621680448402) (m6989586621680448400 b6989586621680448401)))
data FoldlMSym1 (a6989586621680449023 :: (~>) b6989586621680448401 ((~>) a6989586621680448402 (m6989586621680448400 b6989586621680448401))) :: forall t6989586621680448399. (~>) b6989586621680448401 ((~>) (t6989586621680448399 a6989586621680448402) (m6989586621680448400 b6989586621680448401))
data FoldlMSym2 (a6989586621680449023 :: (~>) b6989586621680448401 ((~>) a6989586621680448402 (m6989586621680448400 b6989586621680448401))) (a6989586621680449024 :: b6989586621680448401) :: forall t6989586621680448399. (~>) (t6989586621680448399 a6989586621680448402) (m6989586621680448400 b6989586621680448401)
type FoldlMSym3 (a6989586621680449023 :: (~>) b6989586621680448401 ((~>) a6989586621680448402 (m6989586621680448400 b6989586621680448401))) (a6989586621680449024 :: b6989586621680448401) (a6989586621680449025 :: t6989586621680448399 a6989586621680448402) = FoldlM a6989586621680449023 a6989586621680449024 a6989586621680449025
data Traverse_Sym0 :: forall a6989586621680448397 b6989586621680448398 f6989586621680448396 t6989586621680448395. (~>) ((~>) a6989586621680448397 (f6989586621680448396 b6989586621680448398)) ((~>) (t6989586621680448395 a6989586621680448397) (f6989586621680448396 ()))
data Traverse_Sym1 (a6989586621680449005 :: (~>) a6989586621680448397 (f6989586621680448396 b6989586621680448398)) :: forall t6989586621680448395. (~>) (t6989586621680448395 a6989586621680448397) (f6989586621680448396 ())
type Traverse_Sym2 (a6989586621680449005 :: (~>) a6989586621680448397 (f6989586621680448396 b6989586621680448398)) (a6989586621680449006 :: t6989586621680448395 a6989586621680448397) = Traverse_ a6989586621680449005 a6989586621680449006
data For_Sym0 :: forall a6989586621680448393 b6989586621680448394 f6989586621680448392 t6989586621680448391. (~>) (t6989586621680448391 a6989586621680448393) ((~>) ((~>) a6989586621680448393 (f6989586621680448392 b6989586621680448394)) (f6989586621680448392 ()))
data For_Sym1 (a6989586621680449017 :: t6989586621680448391 a6989586621680448393) :: forall b6989586621680448394 f6989586621680448392. (~>) ((~>) a6989586621680448393 (f6989586621680448392 b6989586621680448394)) (f6989586621680448392 ())
type For_Sym2 (a6989586621680449017 :: t6989586621680448391 a6989586621680448393) (a6989586621680449018 :: (~>) a6989586621680448393 (f6989586621680448392 b6989586621680448394)) = For_ a6989586621680449017 a6989586621680449018
data SequenceA_Sym0 :: forall a6989586621680448382 f6989586621680448381 t6989586621680448380. (~>) (t6989586621680448380 (f6989586621680448381 a6989586621680448382)) (f6989586621680448381 ())
type SequenceA_Sym1 (a6989586621680448984 :: t6989586621680448380 (f6989586621680448381 a6989586621680448382)) = SequenceA_ a6989586621680448984
data AsumSym0 :: forall a6989586621680448376 f6989586621680448375 t6989586621680448374. (~>) (t6989586621680448374 (f6989586621680448375 a6989586621680448376)) (f6989586621680448375 a6989586621680448376)
type AsumSym1 (a6989586621680448969 :: t6989586621680448374 (f6989586621680448375 a6989586621680448376)) = Asum a6989586621680448969
data MapM_Sym0 :: forall a6989586621680448389 b6989586621680448390 m6989586621680448388 t6989586621680448387. (~>) ((~>) a6989586621680448389 (m6989586621680448388 b6989586621680448390)) ((~>) (t6989586621680448387 a6989586621680448389) (m6989586621680448388 ()))
data MapM_Sym1 (a6989586621680448987 :: (~>) a6989586621680448389 (m6989586621680448388 b6989586621680448390)) :: forall t6989586621680448387. (~>) (t6989586621680448387 a6989586621680448389) (m6989586621680448388 ())
type MapM_Sym2 (a6989586621680448987 :: (~>) a6989586621680448389 (m6989586621680448388 b6989586621680448390)) (a6989586621680448988 :: t6989586621680448387 a6989586621680448389) = MapM_ a6989586621680448987 a6989586621680448988
data ForM_Sym0 :: forall a6989586621680448385 b6989586621680448386 m6989586621680448384 t6989586621680448383. (~>) (t6989586621680448383 a6989586621680448385) ((~>) ((~>) a6989586621680448385 (m6989586621680448384 b6989586621680448386)) (m6989586621680448384 ()))
data ForM_Sym1 (a6989586621680448999 :: t6989586621680448383 a6989586621680448385) :: forall b6989586621680448386 m6989586621680448384. (~>) ((~>) a6989586621680448385 (m6989586621680448384 b6989586621680448386)) (m6989586621680448384 ())
type ForM_Sym2 (a6989586621680448999 :: t6989586621680448383 a6989586621680448385) (a6989586621680449000 :: (~>) a6989586621680448385 (m6989586621680448384 b6989586621680448386)) = ForM_ a6989586621680448999 a6989586621680449000
data Sequence_Sym0 :: forall a6989586621680448379 m6989586621680448378 t6989586621680448377. (~>) (t6989586621680448377 (m6989586621680448378 a6989586621680448379)) (m6989586621680448378 ())
type Sequence_Sym1 (a6989586621680448979 :: t6989586621680448377 (m6989586621680448378 a6989586621680448379)) = Sequence_ a6989586621680448979
data MsumSym0 :: forall a6989586621680448373 m6989586621680448372 t6989586621680448371. (~>) (t6989586621680448371 (m6989586621680448372 a6989586621680448373)) (m6989586621680448372 a6989586621680448373)
type MsumSym1 (a6989586621680448974 :: t6989586621680448371 (m6989586621680448372 a6989586621680448373)) = Msum a6989586621680448974
data ConcatSym0 :: forall a6989586621680448370 t6989586621680448369. (~>) (t6989586621680448369 [a6989586621680448370]) [a6989586621680448370]
type ConcatSym1 (a6989586621680448955 :: t6989586621680448369 [a6989586621680448370]) = Concat a6989586621680448955
data ConcatMapSym0 :: forall a6989586621680448367 b6989586621680448368 t6989586621680448366. (~>) ((~>) a6989586621680448367 [b6989586621680448368]) ((~>) (t6989586621680448366 a6989586621680448367) [b6989586621680448368])
data ConcatMapSym1 (a6989586621680448939 :: (~>) a6989586621680448367 [b6989586621680448368]) :: forall t6989586621680448366. (~>) (t6989586621680448366 a6989586621680448367) [b6989586621680448368]
type ConcatMapSym2 (a6989586621680448939 :: (~>) a6989586621680448367 [b6989586621680448368]) (a6989586621680448940 :: t6989586621680448366 a6989586621680448367) = ConcatMap a6989586621680448939 a6989586621680448940
data AndSym0 :: forall t6989586621680448365. (~>) (t6989586621680448365 Bool) Bool
type AndSym1 (a6989586621680448930 :: t6989586621680448365 Bool) = And a6989586621680448930
data OrSym0 :: forall t6989586621680448364. (~>) (t6989586621680448364 Bool) Bool
type OrSym1 (a6989586621680448921 :: t6989586621680448364 Bool) = Or a6989586621680448921
data AnySym0 :: forall a6989586621680448363 t6989586621680448362. (~>) ((~>) a6989586621680448363 Bool) ((~>) (t6989586621680448362 a6989586621680448363) Bool)
data AnySym1 (a6989586621680448908 :: (~>) a6989586621680448363 Bool) :: forall t6989586621680448362. (~>) (t6989586621680448362 a6989586621680448363) Bool
type AnySym2 (a6989586621680448908 :: (~>) a6989586621680448363 Bool) (a6989586621680448909 :: t6989586621680448362 a6989586621680448363) = Any a6989586621680448908 a6989586621680448909
data AllSym0 :: forall a6989586621680448361 t6989586621680448360. (~>) ((~>) a6989586621680448361 Bool) ((~>) (t6989586621680448360 a6989586621680448361) Bool)
data AllSym1 (a6989586621680448895 :: (~>) a6989586621680448361 Bool) :: forall t6989586621680448360. (~>) (t6989586621680448360 a6989586621680448361) Bool
type AllSym2 (a6989586621680448895 :: (~>) a6989586621680448361 Bool) (a6989586621680448896 :: t6989586621680448360 a6989586621680448361) = All a6989586621680448895 a6989586621680448896
data MaximumBySym0 :: forall a6989586621680448359 t6989586621680448358. (~>) ((~>) a6989586621680448359 ((~>) a6989586621680448359 Ordering)) ((~>) (t6989586621680448358 a6989586621680448359) a6989586621680448359)
data MaximumBySym1 (a6989586621680448870 :: (~>) a6989586621680448359 ((~>) a6989586621680448359 Ordering)) :: forall t6989586621680448358. (~>) (t6989586621680448358 a6989586621680448359) a6989586621680448359
type MaximumBySym2 (a6989586621680448870 :: (~>) a6989586621680448359 ((~>) a6989586621680448359 Ordering)) (a6989586621680448871 :: t6989586621680448358 a6989586621680448359) = MaximumBy a6989586621680448870 a6989586621680448871
data MinimumBySym0 :: forall a6989586621680448357 t6989586621680448356. (~>) ((~>) a6989586621680448357 ((~>) a6989586621680448357 Ordering)) ((~>) (t6989586621680448356 a6989586621680448357) a6989586621680448357)
data MinimumBySym1 (a6989586621680448845 :: (~>) a6989586621680448357 ((~>) a6989586621680448357 Ordering)) :: forall t6989586621680448356. (~>) (t6989586621680448356 a6989586621680448357) a6989586621680448357
type MinimumBySym2 (a6989586621680448845 :: (~>) a6989586621680448357 ((~>) a6989586621680448357 Ordering)) (a6989586621680448846 :: t6989586621680448356 a6989586621680448357) = MinimumBy a6989586621680448845 a6989586621680448846
data NotElemSym0 :: forall a6989586621680448355 t6989586621680448354. (~>) a6989586621680448355 ((~>) (t6989586621680448354 a6989586621680448355) Bool)
data NotElemSym1 (a6989586621680448837 :: a6989586621680448355) :: forall t6989586621680448354. (~>) (t6989586621680448354 a6989586621680448355) Bool
type NotElemSym2 (a6989586621680448837 :: a6989586621680448355) (a6989586621680448838 :: t6989586621680448354 a6989586621680448355) = NotElem a6989586621680448837 a6989586621680448838
data FindSym0 :: forall a6989586621680448353 t6989586621680448352. (~>) ((~>) a6989586621680448353 Bool) ((~>) (t6989586621680448352 a6989586621680448353) (Maybe a6989586621680448353))
data FindSym1 (a6989586621680448810 :: (~>) a6989586621680448353 Bool) :: forall t6989586621680448352. (~>) (t6989586621680448352 a6989586621680448353) (Maybe a6989586621680448353)
type FindSym2 (a6989586621680448810 :: (~>) a6989586621680448353 Bool) (a6989586621680448811 :: t6989586621680448352 a6989586621680448353) = Find a6989586621680448810 a6989586621680448811
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680530879Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Monoid.Last
instance forall a6989586621680448448 b6989586621680448449 (a6989586621680530876 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680530879Sym1 a6989586621680530876)
instance forall a6989586621680448448 b6989586621680448449 (a6989586621680530877 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)) (a6989586621680530876 :: b6989586621680448449). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680530879Sym2 a6989586621680530877 a6989586621680530876)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680530865Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable Data.Monoid.Last
instance forall k1 k2 (t6989586621680448444 :: * -> *) a6989586621680448448 k3 (_f_69895866216805307296989586621680530862 :: a6989586621680448448 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680530865Sym1 _f_69895866216805307296989586621680530862)
instance forall k1 (t6989586621680448444 :: * -> *) k2 a6989586621680448448 k3 (_z_69895866216805307316989586621680530863 :: a6989586621680448448 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (_f_69895866216805307296989586621680530862 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680530865Sym2 _z_69895866216805307316989586621680530863 _f_69895866216805307296989586621680530862)
instance forall (t6989586621680448444 :: * -> *) k1 k2 a6989586621680448448 k3 (a_69895866216805307516989586621680530864 :: a6989586621680448448 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (_z_69895866216805307316989586621680530863 :: k2) (_f_69895866216805307296989586621680530862 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680530865Sym3 a_69895866216805307516989586621680530864 _z_69895866216805307316989586621680530863 _f_69895866216805307296989586621680530862)
instance forall (t6989586621680448444 :: * -> *) k1 k2 a6989586621680448448 k3 (t6989586621680530869 :: a6989586621680448448 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (a_69895866216805307516989586621680530864 :: k2) (_z_69895866216805307316989586621680530863 :: k1) (_f_69895866216805307296989586621680530862 :: t6989586621680448444 a6989586621680448448). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680530865Sym4 t6989586621680530869 a_69895866216805307516989586621680530864 _z_69895866216805307316989586621680530863 _f_69895866216805307296989586621680530862)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680530852Sym0
instance forall a6989586621680448447 m6989586621680448446 (a6989586621680530850 :: a6989586621680448447 Data.Singletons.Internal.~> m6989586621680448446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680530852Sym1 a6989586621680530850)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680530839Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Monoid.First
instance forall a6989586621680448448 b6989586621680448449 (a6989586621680530836 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680530839Sym1 a6989586621680530836)
instance forall a6989586621680448448 b6989586621680448449 (a6989586621680530837 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)) (a6989586621680530836 :: b6989586621680448449). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680530839Sym2 a6989586621680530837 a6989586621680530836)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680530825Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable Data.Monoid.First
instance forall k1 k2 (t6989586621680448444 :: * -> *) a6989586621680448448 k3 (_f_69895866216805306956989586621680530822 :: a6989586621680448448 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680530825Sym1 _f_69895866216805306956989586621680530822)
instance forall k1 (t6989586621680448444 :: * -> *) k2 a6989586621680448448 k3 (_z_69895866216805306976989586621680530823 :: a6989586621680448448 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (_f_69895866216805306956989586621680530822 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680530825Sym2 _z_69895866216805306976989586621680530823 _f_69895866216805306956989586621680530822)
instance forall (t6989586621680448444 :: * -> *) k1 k2 a6989586621680448448 k3 (a_69895866216805307176989586621680530824 :: a6989586621680448448 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (_z_69895866216805306976989586621680530823 :: k2) (_f_69895866216805306956989586621680530822 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680530825Sym3 a_69895866216805307176989586621680530824 _z_69895866216805306976989586621680530823 _f_69895866216805306956989586621680530822)
instance forall (t6989586621680448444 :: * -> *) k1 k2 a6989586621680448448 k3 (t6989586621680530829 :: a6989586621680448448 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (a_69895866216805307176989586621680530824 :: k2) (_z_69895866216805306976989586621680530823 :: k1) (_f_69895866216805306956989586621680530822 :: t6989586621680448444 a6989586621680448448). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680530825Sym4 t6989586621680530829 a_69895866216805307176989586621680530824 _z_69895866216805306976989586621680530823 _f_69895866216805306956989586621680530822)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680530812Sym0
instance forall a6989586621680448447 m6989586621680448446 (a6989586621680530810 :: a6989586621680448447 Data.Singletons.Internal.~> m6989586621680448446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680530812Sym1 a6989586621680530810)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680530799Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable ((,) a)
instance forall a6989586621680530642 a6989586621680448448 b6989586621680448449 (a6989586621680530796 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680530799Sym1 a6989586621680530796)
instance forall a6989586621680530642 a6989586621680448448 b6989586621680448449 (a6989586621680530797 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)) (a6989586621680530796 :: b6989586621680448449). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680530799Sym2 a6989586621680530797 a6989586621680530796)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680530784Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable ((,) a)
instance forall k1 k2 k3 k4 k5 k6 (_f_69895866216805306676989586621680530780 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680530784Sym1 _f_69895866216805306676989586621680530780)
instance forall k1 k2 k3 k4 k5 k6 (_z_69895866216805306696989586621680530781 :: k6) (_f_69895866216805306676989586621680530780 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680530784Sym2 _z_69895866216805306696989586621680530781 _f_69895866216805306676989586621680530780)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216805306816989586621680530782 :: k6) (_z_69895866216805306696989586621680530781 :: k5) (_f_69895866216805306676989586621680530780 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680530784Sym3 a_69895866216805306816989586621680530782 _z_69895866216805306696989586621680530781 _f_69895866216805306676989586621680530780)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216805306836989586621680530783 :: k6) (a_69895866216805306816989586621680530782 :: k5) (_z_69895866216805306696989586621680530781 :: k4) (_f_69895866216805306676989586621680530780 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680530784Sym4 a_69895866216805306836989586621680530783 a_69895866216805306816989586621680530782 _z_69895866216805306696989586621680530781 _f_69895866216805306676989586621680530780)
instance forall k1 k2 k3 k4 k5 k6 (t6989586621680530788 :: k6) (a_69895866216805306836989586621680530783 :: k5) (a_69895866216805306816989586621680530782 :: k4) (_z_69895866216805306696989586621680530781 :: k3) (_f_69895866216805306676989586621680530780 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680530784Sym5 t6989586621680530788 a_69895866216805306836989586621680530783 a_69895866216805306816989586621680530782 _z_69895866216805306696989586621680530781 _f_69895866216805306676989586621680530780)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680530770Sym0
instance forall a6989586621680530642 a6989586621680448447 m6989586621680448446 (a6989586621680530768 :: a6989586621680448447 Data.Singletons.Internal.~> m6989586621680448446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680530770Sym1 a6989586621680530768)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680530760Sym0
instance forall k1 k2 k3 k4 k5 (_f_69895866216805306676989586621680530757 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680530760Sym1 _f_69895866216805306676989586621680530757)
instance forall k1 k2 k3 k4 k5 (a_69895866216805306736989586621680530758 :: k5) (_f_69895866216805306676989586621680530757 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680530760Sym2 a_69895866216805306736989586621680530758 _f_69895866216805306676989586621680530757)
instance forall k1 k2 k3 k4 k5 (a_69895866216805306756989586621680530759 :: k5) (a_69895866216805306736989586621680530758 :: k4) (_f_69895866216805306676989586621680530757 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680530760Sym3 a_69895866216805306756989586621680530759 a_69895866216805306736989586621680530758 _f_69895866216805306676989586621680530757)
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_6989586621680450308Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Internal.Product
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680450301Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680450294Sym0
instance forall k (a6989586621680448459 :: k) (t6989586621680448444 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680450287Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680450281Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680450274Sym0
instance forall k (a6989586621680448460 :: k) (t6989586621680448444 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680450267Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680450260Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448456 (a6989586621680450258 :: a6989586621680448456 Data.Singletons.Internal.~> (a6989586621680448456 Data.Singletons.Internal.~> a6989586621680448456)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680450260Sym1 a6989586621680450258)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680450248Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448450 b6989586621680448451 (a6989586621680450245 :: a6989586621680448450 Data.Singletons.Internal.~> (b6989586621680448451 Data.Singletons.Internal.~> b6989586621680448451)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680450248Sym1 a6989586621680450245)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448450 b6989586621680448451 (a6989586621680450246 :: a6989586621680448450 Data.Singletons.Internal.~> (b6989586621680448451 Data.Singletons.Internal.~> b6989586621680448451)) (a6989586621680450245 :: b6989586621680448451). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680450248Sym2 a6989586621680450246 a6989586621680450245)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680450225Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 b6989586621680448449 (a6989586621680450222 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680450225Sym1 a6989586621680450222)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 b6989586621680448449 (a6989586621680450223 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)) (a6989586621680450222 :: b6989586621680448449). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680450225Sym2 a6989586621680450223 a6989586621680450222)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680450209Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448457 (a6989586621680450207 :: a6989586621680448457 Data.Singletons.Internal.~> (a6989586621680448457 Data.Singletons.Internal.~> a6989586621680448457)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680450209Sym1 a6989586621680450207)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680450197Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448455 b6989586621680448454 (a6989586621680450194 :: b6989586621680448454 Data.Singletons.Internal.~> (a6989586621680448455 Data.Singletons.Internal.~> b6989586621680448454)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680450197Sym1 a6989586621680450194)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448455 b6989586621680448454 (a6989586621680450195 :: b6989586621680448454 Data.Singletons.Internal.~> (a6989586621680448455 Data.Singletons.Internal.~> b6989586621680448454)) (a6989586621680450194 :: b6989586621680448454). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680450197Sym2 a6989586621680450195 a6989586621680450194)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680450180Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448453 b6989586621680448452 (a6989586621680450177 :: b6989586621680448452 Data.Singletons.Internal.~> (a6989586621680448453 Data.Singletons.Internal.~> b6989586621680448452)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680450180Sym1 a6989586621680450177)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448453 b6989586621680448452 (a6989586621680450178 :: b6989586621680448452 Data.Singletons.Internal.~> (a6989586621680448453 Data.Singletons.Internal.~> b6989586621680448452)) (a6989586621680450177 :: b6989586621680448452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680450180Sym2 a6989586621680450178 a6989586621680450177)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680450164Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448461 (a6989586621680450162 :: a6989586621680448461). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680450164Sym1 a6989586621680450162)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680450152Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448447 m6989586621680448446 (a6989586621680450150 :: a6989586621680448447 Data.Singletons.Internal.~> m6989586621680448446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680450152Sym1 a6989586621680450150)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680450141Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Internal.Sum
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680450134Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680450127Sym0
instance forall k (a6989586621680448459 :: k) (t6989586621680448444 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680450120Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680450114Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680450107Sym0
instance forall k (a6989586621680448460 :: k) (t6989586621680448444 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680450100Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680450093Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448456 (a6989586621680450091 :: a6989586621680448456 Data.Singletons.Internal.~> (a6989586621680448456 Data.Singletons.Internal.~> a6989586621680448456)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680450093Sym1 a6989586621680450091)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680450081Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448450 b6989586621680448451 (a6989586621680450078 :: a6989586621680448450 Data.Singletons.Internal.~> (b6989586621680448451 Data.Singletons.Internal.~> b6989586621680448451)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680450081Sym1 a6989586621680450078)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448450 b6989586621680448451 (a6989586621680450079 :: a6989586621680448450 Data.Singletons.Internal.~> (b6989586621680448451 Data.Singletons.Internal.~> b6989586621680448451)) (a6989586621680450078 :: b6989586621680448451). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680450081Sym2 a6989586621680450079 a6989586621680450078)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680450058Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 b6989586621680448449 (a6989586621680450055 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680450058Sym1 a6989586621680450055)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 b6989586621680448449 (a6989586621680450056 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)) (a6989586621680450055 :: b6989586621680448449). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680450058Sym2 a6989586621680450056 a6989586621680450055)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680450042Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448457 (a6989586621680450040 :: a6989586621680448457 Data.Singletons.Internal.~> (a6989586621680448457 Data.Singletons.Internal.~> a6989586621680448457)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680450042Sym1 a6989586621680450040)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680450030Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448455 b6989586621680448454 (a6989586621680450027 :: b6989586621680448454 Data.Singletons.Internal.~> (a6989586621680448455 Data.Singletons.Internal.~> b6989586621680448454)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680450030Sym1 a6989586621680450027)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448455 b6989586621680448454 (a6989586621680450028 :: b6989586621680448454 Data.Singletons.Internal.~> (a6989586621680448455 Data.Singletons.Internal.~> b6989586621680448454)) (a6989586621680450027 :: b6989586621680448454). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680450030Sym2 a6989586621680450028 a6989586621680450027)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680450013Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448453 b6989586621680448452 (a6989586621680450010 :: b6989586621680448452 Data.Singletons.Internal.~> (a6989586621680448453 Data.Singletons.Internal.~> b6989586621680448452)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680450013Sym1 a6989586621680450010)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448453 b6989586621680448452 (a6989586621680450011 :: b6989586621680448452 Data.Singletons.Internal.~> (a6989586621680448453 Data.Singletons.Internal.~> b6989586621680448452)) (a6989586621680450010 :: b6989586621680448452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680450013Sym2 a6989586621680450011 a6989586621680450010)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680449997Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448461 (a6989586621680449995 :: a6989586621680448461). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680449997Sym1 a6989586621680449995)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680449985Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448447 m6989586621680448446 (a6989586621680449983 :: a6989586621680448447 Data.Singletons.Internal.~> m6989586621680448446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680449985Sym1 a6989586621680449983)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680449974Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Internal.Dual
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680449967Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680449960Sym0
instance forall k (a6989586621680448459 :: k) (t6989586621680448444 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680449953Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680449947Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680449940Sym0
instance forall k (a6989586621680448460 :: k) (t6989586621680448444 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680449933Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680449926Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448456 (a6989586621680449924 :: a6989586621680448456 Data.Singletons.Internal.~> (a6989586621680448456 Data.Singletons.Internal.~> a6989586621680448456)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680449926Sym1 a6989586621680449924)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680449914Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448450 b6989586621680448451 (a6989586621680449911 :: a6989586621680448450 Data.Singletons.Internal.~> (b6989586621680448451 Data.Singletons.Internal.~> b6989586621680448451)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680449914Sym1 a6989586621680449911)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448450 b6989586621680448451 (a6989586621680449912 :: a6989586621680448450 Data.Singletons.Internal.~> (b6989586621680448451 Data.Singletons.Internal.~> b6989586621680448451)) (a6989586621680449911 :: b6989586621680448451). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680449914Sym2 a6989586621680449912 a6989586621680449911)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680449891Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 b6989586621680448449 (a6989586621680449888 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680449891Sym1 a6989586621680449888)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 b6989586621680448449 (a6989586621680449889 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)) (a6989586621680449888 :: b6989586621680448449). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680449891Sym2 a6989586621680449889 a6989586621680449888)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680449875Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448457 (a6989586621680449873 :: a6989586621680448457 Data.Singletons.Internal.~> (a6989586621680448457 Data.Singletons.Internal.~> a6989586621680448457)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680449875Sym1 a6989586621680449873)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680449863Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448455 b6989586621680448454 (a6989586621680449860 :: b6989586621680448454 Data.Singletons.Internal.~> (a6989586621680448455 Data.Singletons.Internal.~> b6989586621680448454)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680449863Sym1 a6989586621680449860)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448455 b6989586621680448454 (a6989586621680449861 :: b6989586621680448454 Data.Singletons.Internal.~> (a6989586621680448455 Data.Singletons.Internal.~> b6989586621680448454)) (a6989586621680449860 :: b6989586621680448454). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680449863Sym2 a6989586621680449861 a6989586621680449860)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680449846Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448453 b6989586621680448452 (a6989586621680449843 :: b6989586621680448452 Data.Singletons.Internal.~> (a6989586621680448453 Data.Singletons.Internal.~> b6989586621680448452)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680449846Sym1 a6989586621680449843)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448453 b6989586621680448452 (a6989586621680449844 :: b6989586621680448452 Data.Singletons.Internal.~> (a6989586621680448453 Data.Singletons.Internal.~> b6989586621680448452)) (a6989586621680449843 :: b6989586621680448452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680449846Sym2 a6989586621680449844 a6989586621680449843)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680449830Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448461 (a6989586621680449828 :: a6989586621680448461). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680449830Sym1 a6989586621680449828)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680449818Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448447 m6989586621680448446 (a6989586621680449816 :: a6989586621680448447 Data.Singletons.Internal.~> m6989586621680448446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680449818Sym1 a6989586621680449816)
instance forall k (a6989586621680448459 :: k) (t6989586621680448444 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680449807Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable (Data.Either.Either a)
instance forall k (a6989586621680448460 :: k) (t6989586621680448444 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680449798Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680449790Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 b6989586621680448449 (a6989586621680449787 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680449790Sym1 a6989586621680449787)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 b6989586621680448449 (a6989586621680449788 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)) (a6989586621680449787 :: b6989586621680448449). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680449790Sym2 a6989586621680449788 a6989586621680449787)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680449773Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448447 m6989586621680448446 (a6989586621680449771 :: a6989586621680448447 Data.Singletons.Internal.~> m6989586621680448446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680449773Sym1 a6989586621680449771)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680449762Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable GHC.Base.NonEmpty
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Fold_6989586621680449754Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680449745Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448447 m6989586621680448446 (a6989586621680449743 :: a6989586621680448447 Data.Singletons.Internal.~> m6989586621680448446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680449745Sym1 a6989586621680449743)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680449732Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448456 (a6989586621680449730 :: a6989586621680448456 Data.Singletons.Internal.~> (a6989586621680448456 Data.Singletons.Internal.~> a6989586621680448456)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680449732Sym1 a6989586621680449730)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680449717GoSym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680449714 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449717GoSym1 f6989586621680449714)
instance forall k2 k3 k4 k5 k6 k7 (p6989586621680449715 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (f6989586621680449714 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449717GoSym2 p6989586621680449715 f6989586621680449714)
instance forall k2 k3 k4 k5 k6 k7 (ps6989586621680449716 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (p6989586621680449715 :: k4) (f6989586621680449714 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449717GoSym3 ps6989586621680449716 p6989586621680449715 f6989586621680449714)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680449718 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (ps6989586621680449716 :: k4) (p6989586621680449715 :: k3) (f6989586621680449714 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449717GoSym4 a6989586621680449718 ps6989586621680449716 p6989586621680449715 f6989586621680449714)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680449719 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (a6989586621680449718 :: k4) (ps6989586621680449716 :: k3) (p6989586621680449715 :: k2) (f6989586621680449714 :: k2 Data.Singletons.Internal.~> k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449717GoSym5 a6989586621680449719 a6989586621680449718 ps6989586621680449716 p6989586621680449715 f6989586621680449714)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680449706Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448457 (a6989586621680449704 :: a6989586621680448457 Data.Singletons.Internal.~> (a6989586621680448457 Data.Singletons.Internal.~> a6989586621680448457)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680449706Sym1 a6989586621680449704)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680449692Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448453 b6989586621680448452 (a6989586621680449689 :: b6989586621680448452 Data.Singletons.Internal.~> (a6989586621680448453 Data.Singletons.Internal.~> b6989586621680448452)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680449692Sym1 a6989586621680449689)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448453 b6989586621680448452 (a6989586621680449690 :: b6989586621680448452 Data.Singletons.Internal.~> (a6989586621680448453 Data.Singletons.Internal.~> b6989586621680448452)) (a6989586621680449689 :: b6989586621680448452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680449692Sym2 a6989586621680449690 a6989586621680449689)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680449674Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 b6989586621680448449 (a6989586621680449671 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680449674Sym1 a6989586621680449671)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 b6989586621680448449 (a6989586621680449672 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)) (a6989586621680449671 :: b6989586621680448449). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680449674Sym2 a6989586621680449672 a6989586621680449671)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680449658Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable []
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680449649Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680449640Sym0
instance forall k (a6989586621680448459 :: k) (t6989586621680448444 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680449631Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680449622Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680449613Sym0
instance forall k (a6989586621680448460 :: k) (t6989586621680448444 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680449604Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680449594Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448456 (a6989586621680449592 :: a6989586621680448456 Data.Singletons.Internal.~> (a6989586621680448456 Data.Singletons.Internal.~> a6989586621680448456)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680449594Sym1 a6989586621680449592)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680449577Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 b6989586621680448449 (a6989586621680449574 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680449577Sym1 a6989586621680449574)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 b6989586621680448449 (a6989586621680449575 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)) (a6989586621680449574 :: b6989586621680448449). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680449577Sym2 a6989586621680449575 a6989586621680449574)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680449555Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448457 (a6989586621680449553 :: a6989586621680448457 Data.Singletons.Internal.~> (a6989586621680448457 Data.Singletons.Internal.~> a6989586621680448457)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680449555Sym1 a6989586621680449553)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680449538Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448455 b6989586621680448454 (a6989586621680449535 :: b6989586621680448454 Data.Singletons.Internal.~> (a6989586621680448455 Data.Singletons.Internal.~> b6989586621680448454)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680449538Sym1 a6989586621680449535)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448455 b6989586621680448454 (a6989586621680449536 :: b6989586621680448454 Data.Singletons.Internal.~> (a6989586621680448455 Data.Singletons.Internal.~> b6989586621680448454)) (a6989586621680449535 :: b6989586621680448454). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680449538Sym2 a6989586621680449536 a6989586621680449535)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680449515Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448453 b6989586621680448452 (a6989586621680449512 :: b6989586621680448452 Data.Singletons.Internal.~> (a6989586621680448453 Data.Singletons.Internal.~> b6989586621680448452)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680449515Sym1 a6989586621680449512)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448453 b6989586621680448452 (a6989586621680449513 :: b6989586621680448452 Data.Singletons.Internal.~> (a6989586621680448453 Data.Singletons.Internal.~> b6989586621680448452)) (a6989586621680449512 :: b6989586621680448452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680449515Sym2 a6989586621680449513 a6989586621680449512)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680449493Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448461 (a6989586621680449491 :: a6989586621680448461). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680449493Sym1 a6989586621680449491)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680449476Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable GHC.Maybe.Maybe
instance forall (t6989586621680448444 :: * -> *) a6989586621680448453 b6989586621680448452 (a6989586621680449473 :: b6989586621680448452 Data.Singletons.Internal.~> (a6989586621680448453 Data.Singletons.Internal.~> b6989586621680448452)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680449476Sym1 a6989586621680449473)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448453 b6989586621680448452 (a6989586621680449474 :: b6989586621680448452 Data.Singletons.Internal.~> (a6989586621680448453 Data.Singletons.Internal.~> b6989586621680448452)) (a6989586621680449473 :: b6989586621680448452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680449476Sym2 a6989586621680449474 a6989586621680449473)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680449458Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 b6989586621680448449 (a6989586621680449455 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680449458Sym1 a6989586621680449455)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 b6989586621680448449 (a6989586621680449456 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)) (a6989586621680449455 :: b6989586621680448449). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680449458Sym2 a6989586621680449456 a6989586621680449455)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680449441Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448447 m6989586621680448446 (a6989586621680449439 :: a6989586621680448447 Data.Singletons.Internal.~> m6989586621680448446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680449441Sym1 a6989586621680449439)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680448816Scrutinee_6989586621680448703Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448447 (p6989586621680448814 :: a6989586621680448447 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680448816Scrutinee_6989586621680448703Sym1 p6989586621680448814)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FindSym0
instance forall (t6989586621680448352 :: * -> *) a6989586621680448353 (a6989586621680448810 :: a6989586621680448353 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FindSym1 a6989586621680448810)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680448901Scrutinee_6989586621680448697Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448447 (p6989586621680448899 :: a6989586621680448447 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680448901Scrutinee_6989586621680448697Sym1 p6989586621680448899)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.AllSym0
instance forall (t6989586621680448360 :: * -> *) a6989586621680448361 (a6989586621680448895 :: a6989586621680448361 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.AllSym1 a6989586621680448895)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680448914Scrutinee_6989586621680448695Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448447 (p6989586621680448912 :: a6989586621680448447 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680448914Scrutinee_6989586621680448695Sym1 p6989586621680448912)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680448924Scrutinee_6989586621680448693Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.OrSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680448933Scrutinee_6989586621680448691Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.AndSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680449155Scrutinee_6989586621680448656Sym0
instance forall k (t6989586621680448444 :: * -> *) a6989586621680448447 a (f6989586621680449152 :: a6989586621680448447 Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> a)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449155Scrutinee_6989586621680448656Sym1 f6989586621680449152)
instance forall (t6989586621680448444 :: * -> *) k a6989586621680448447 a (z6989586621680449153 :: a6989586621680448447 Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> a)) (f6989586621680449152 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449155Scrutinee_6989586621680448656Sym2 z6989586621680449153 f6989586621680449152)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680449210Scrutinee_6989586621680448659Sym0
instance forall k (t6989586621680448444 :: * -> *) a6989586621680448447 a (f6989586621680449207 :: a Data.Singletons.Internal.~> (a6989586621680448447 Data.Singletons.Internal.~> a)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449210Scrutinee_6989586621680448659Sym1 f6989586621680449207)
instance forall (t6989586621680448444 :: * -> *) k a6989586621680448447 a (z6989586621680449208 :: a Data.Singletons.Internal.~> (a6989586621680448447 Data.Singletons.Internal.~> a)) (f6989586621680449207 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449210Scrutinee_6989586621680448659Sym2 z6989586621680449208 f6989586621680449207)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680449377Scrutinee_6989586621680448679Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680449390Scrutinee_6989586621680448682Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680449403Scrutinee_6989586621680448685Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680449416Scrutinee_6989586621680448688Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ConcatMapSym0
instance forall (t6989586621680448366 :: * -> *) a6989586621680448367 b6989586621680448368 (a6989586621680448939 :: a6989586621680448367 Data.Singletons.Internal.~> [b6989586621680448368]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.ConcatMapSym1 a6989586621680448939)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680448945Sym0
instance forall k k1 (t6989586621680448444 :: * -> *) a6989586621680448448 (f6989586621680448943 :: k1 Data.Singletons.Internal.~> t6989586621680448444 a6989586621680448448). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680448945Sym1 f6989586621680448943)
instance forall k k1 (t6989586621680448444 :: * -> *) a6989586621680448448 (xs6989586621680448944 :: k1 Data.Singletons.Internal.~> t6989586621680448444 a6989586621680448448) (f6989586621680448943 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680448945Sym2 xs6989586621680448944 f6989586621680448943)
instance forall k k1 (t6989586621680448444 :: * -> *) a6989586621680448448 (t6989586621680448949 :: k1 Data.Singletons.Internal.~> t6989586621680448444 a6989586621680448448) (xs6989586621680448944 :: k) (f6989586621680448943 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680448945Sym3 t6989586621680448949 xs6989586621680448944 f6989586621680448943)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ConcatSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680448958Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 k (xs6989586621680448957 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680448958Sym1 xs6989586621680448957)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 k (t6989586621680448962 :: k) (xs6989586621680448957 :: t6989586621680448444 a6989586621680448448). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680448958Sym2 t6989586621680448962 xs6989586621680448957)
instance forall k (a6989586621680448373 :: k) (m6989586621680448372 :: k -> *) (t6989586621680448371 :: * -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MsumSym0
instance forall k (a6989586621680448376 :: k) (f6989586621680448375 :: k -> *) (t6989586621680448374 :: * -> *). 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 b6989586621680448386 (m6989586621680448384 :: * -> *) (t6989586621680448383 :: * -> *) a6989586621680448385 (a6989586621680448999 :: t6989586621680448383 a6989586621680448385). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.ForM_Sym1 a6989586621680448999)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MapM_Sym0
instance forall (t6989586621680448387 :: * -> *) a6989586621680448389 (m6989586621680448388 :: * -> *) b6989586621680448390 (a6989586621680448987 :: a6989586621680448389 Data.Singletons.Internal.~> m6989586621680448388 b6989586621680448390). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.MapM_Sym1 a6989586621680448987)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.For_Sym0
instance forall b6989586621680448394 (f6989586621680448392 :: * -> *) (t6989586621680448391 :: * -> *) a6989586621680448393 (a6989586621680449017 :: t6989586621680448391 a6989586621680448393). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.For_Sym1 a6989586621680449017)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Traverse_Sym0
instance forall (t6989586621680448395 :: * -> *) a6989586621680448397 (f6989586621680448396 :: * -> *) b6989586621680448398 (a6989586621680449005 :: a6989586621680448397 Data.Singletons.Internal.~> f6989586621680448396 b6989586621680448398). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Traverse_Sym1 a6989586621680449005)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldlMSym0
instance forall (t6989586621680448399 :: * -> *) a6989586621680448402 (m6989586621680448400 :: * -> *) b6989586621680448401 (a6989586621680449023 :: b6989586621680448401 Data.Singletons.Internal.~> (a6989586621680448402 Data.Singletons.Internal.~> m6989586621680448400 b6989586621680448401)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlMSym1 a6989586621680449023)
instance forall (t6989586621680448399 :: * -> *) a6989586621680448402 (m6989586621680448400 :: * -> *) b6989586621680448401 (a6989586621680449024 :: b6989586621680448401 Data.Singletons.Internal.~> (a6989586621680448402 Data.Singletons.Internal.~> m6989586621680448400 b6989586621680448401)) (a6989586621680449023 :: b6989586621680448401). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlMSym2 a6989586621680449024 a6989586621680449023)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448450 b6989586621680448451 (arg6989586621680449079 :: a6989586621680448450 Data.Singletons.Internal.~> (b6989586621680448451 Data.Singletons.Internal.~> b6989586621680448451)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'Sym1 arg6989586621680449079)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448450 b6989586621680448451 (arg6989586621680449080 :: a6989586621680448450 Data.Singletons.Internal.~> (b6989586621680448451 Data.Singletons.Internal.~> b6989586621680448451)) (arg6989586621680449079 :: b6989586621680448451). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'Sym2 arg6989586621680449080 arg6989586621680449079)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldrMSym0
instance forall (t6989586621680448403 :: * -> *) a6989586621680448405 (m6989586621680448404 :: * -> *) b6989586621680448406 (a6989586621680449045 :: a6989586621680448405 Data.Singletons.Internal.~> (b6989586621680448406 Data.Singletons.Internal.~> m6989586621680448404 b6989586621680448406)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrMSym1 a6989586621680449045)
instance forall (t6989586621680448403 :: * -> *) a6989586621680448405 (m6989586621680448404 :: * -> *) b6989586621680448406 (a6989586621680449046 :: a6989586621680448405 Data.Singletons.Internal.~> (b6989586621680448406 Data.Singletons.Internal.~> m6989586621680448404 b6989586621680448406)) (a6989586621680449045 :: b6989586621680448406). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrMSym2 a6989586621680449046 a6989586621680449045)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448456 (arg6989586621680449097 :: a6989586621680448456 Data.Singletons.Internal.~> (a6989586621680448456 Data.Singletons.Internal.~> a6989586621680448456)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1Sym1 arg6989586621680449097)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MinimumBySym0
instance forall (t6989586621680448356 :: * -> *) a6989586621680448357 (a6989586621680448845 :: a6989586621680448357 Data.Singletons.Internal.~> (a6989586621680448357 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.MinimumBySym1 a6989586621680448845)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MaximumBySym0
instance forall (t6989586621680448358 :: * -> *) a6989586621680448359 (a6989586621680448870 :: a6989586621680448359 Data.Singletons.Internal.~> (a6989586621680448359 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.MaximumBySym1 a6989586621680448870)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448457 (arg6989586621680449101 :: a6989586621680448457 Data.Singletons.Internal.~> (a6989586621680448457 Data.Singletons.Internal.~> a6989586621680448457)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1Sym1 arg6989586621680449101)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToListSym0
instance forall k (a6989586621680448459 :: k) (t6989586621680448444 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.NullSym0
instance forall k (a6989586621680448460 :: k) (t6989586621680448444 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.LengthSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.NotElemSym0
instance forall (t6989586621680448354 :: * -> *) a6989586621680448355 (a6989586621680448837 :: a6989586621680448355). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.NotElemSym1 a6989586621680448837)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ElemSym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448461 (arg6989586621680449111 :: a6989586621680448461). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.ElemSym1 arg6989586621680449111)
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 (t6989586621680448362 :: * -> *) a6989586621680448363 (a6989586621680448908 :: a6989586621680448363 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.AnySym1 a6989586621680448908)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.AnySym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448447 m6989586621680448446 (arg6989586621680449069 :: a6989586621680448447 Data.Singletons.Internal.~> m6989586621680448446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMapSym1 arg6989586621680449069)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMapSym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 b6989586621680448449 (arg6989586621680449074 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)) (arg6989586621680449073 :: b6989586621680448449). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrSym2 arg6989586621680449074 arg6989586621680449073)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 b6989586621680448449 (arg6989586621680449073 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrSym1 arg6989586621680449073)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldrSym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448453 b6989586621680448452 (arg6989586621680449086 :: b6989586621680448452 Data.Singletons.Internal.~> (a6989586621680448453 Data.Singletons.Internal.~> b6989586621680448452)) (arg6989586621680449085 :: b6989586621680448452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlSym2 arg6989586621680449086 arg6989586621680449085)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448453 b6989586621680448452 (arg6989586621680449085 :: b6989586621680448452 Data.Singletons.Internal.~> (a6989586621680448453 Data.Singletons.Internal.~> b6989586621680448452)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlSym1 arg6989586621680449085)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldlSym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448455 b6989586621680448454 (arg6989586621680449092 :: b6989586621680448454 Data.Singletons.Internal.~> (a6989586621680448455 Data.Singletons.Internal.~> b6989586621680448454)) (arg6989586621680449091 :: b6989586621680448454). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'Sym2 arg6989586621680449092 arg6989586621680449091)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448455 b6989586621680448454 (arg6989586621680449091 :: b6989586621680448454 Data.Singletons.Internal.~> (a6989586621680448455 Data.Singletons.Internal.~> b6989586621680448454)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'Sym1 arg6989586621680449091)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Fold_6989586621680449129Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448447 m6989586621680448446 (a6989586621680449140 :: a6989586621680448447 Data.Singletons.Internal.~> m6989586621680448446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680449142Sym1 a6989586621680449140)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680449142Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 b6989586621680448449 (a6989586621680449164 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)) (a6989586621680449163 :: b6989586621680448449). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680449166Sym2 a6989586621680449164 a6989586621680449163)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448448 b6989586621680448449 (a6989586621680449163 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680449166Sym1 a6989586621680449163)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680449166Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448450 b6989586621680448451 (a6989586621680449194 :: a6989586621680448450 Data.Singletons.Internal.~> (b6989586621680448451 Data.Singletons.Internal.~> b6989586621680448451)) (a6989586621680449193 :: b6989586621680448451). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680449196Sym2 a6989586621680449194 a6989586621680449193)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448450 b6989586621680448451 (a6989586621680449193 :: a6989586621680448450 Data.Singletons.Internal.~> (b6989586621680448451 Data.Singletons.Internal.~> b6989586621680448451)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680449196Sym1 a6989586621680449193)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680449196Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448453 b6989586621680448452 (a6989586621680449219 :: b6989586621680448452 Data.Singletons.Internal.~> (a6989586621680448453 Data.Singletons.Internal.~> b6989586621680448452)) (a6989586621680449218 :: b6989586621680448452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680449221Sym2 a6989586621680449219 a6989586621680449218)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448453 b6989586621680448452 (a6989586621680449218 :: b6989586621680448452 Data.Singletons.Internal.~> (a6989586621680448453 Data.Singletons.Internal.~> b6989586621680448452)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680449221Sym1 a6989586621680449218)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680449221Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448455 b6989586621680448454 (a6989586621680449249 :: b6989586621680448454 Data.Singletons.Internal.~> (a6989586621680448455 Data.Singletons.Internal.~> b6989586621680448454)) (a6989586621680449248 :: b6989586621680448454). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680449251Sym2 a6989586621680449249 a6989586621680449248)
instance forall (t6989586621680448444 :: * -> *) a6989586621680448455 b6989586621680448454 (a6989586621680449248 :: b6989586621680448454 Data.Singletons.Internal.~> (a6989586621680448455 Data.Singletons.Internal.~> b6989586621680448454)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680449251Sym1 a6989586621680449248)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680449251Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448456 (a6989586621680449275 :: a6989586621680448456 Data.Singletons.Internal.~> (a6989586621680448456 Data.Singletons.Internal.~> a6989586621680448456)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680449277Sym1 a6989586621680449275)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680449277Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448457 (a6989586621680449300 :: a6989586621680448457 Data.Singletons.Internal.~> (a6989586621680448457 Data.Singletons.Internal.~> a6989586621680448457)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680449302Sym1 a6989586621680449300)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680449302Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680449312Sym0
instance forall k (a6989586621680448459 :: k) (t6989586621680448444 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680449333Sym0
instance forall k (a6989586621680448460 :: k) (t6989586621680448444 :: k -> *). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680449355Sym0
instance forall (t6989586621680448444 :: * -> *) a6989586621680448461 (a6989586621680449368 :: a6989586621680448461). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680449370Sym1 a6989586621680449368)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680449370Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680449384Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680449397Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680449410Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680449423Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680449341Sym0
instance forall k1 k2 k3 (a_69895866216804493366989586621680449340 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680449341Sym1 a_69895866216804493366989586621680449340)
instance forall k1 k2 k3 (t6989586621680449349 :: k3) (a_69895866216804493366989586621680449340 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680449341Sym2 t6989586621680449349 a_69895866216804493366989586621680449340)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680449320Sym0
instance forall k1 k2 k3 (a_69895866216804493156989586621680449319 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680449320Sym1 a_69895866216804493156989586621680449319)
instance forall k1 k2 k3 (t6989586621680449327 :: k3) (a_69895866216804493156989586621680449319 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680449320Sym2 t6989586621680449327 a_69895866216804493156989586621680449319)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680449287MfSym0
instance forall k k2 k3 (f6989586621680449285 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449287MfSym1 f6989586621680449285)
instance forall k k2 k3 (xs6989586621680449286 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (f6989586621680449285 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449287MfSym2 xs6989586621680449286 f6989586621680449285)
instance forall k k2 k3 (a6989586621680449288 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (xs6989586621680449286 :: k) (f6989586621680449285 :: GHC.Maybe.Maybe k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449287MfSym3 a6989586621680449288 xs6989586621680449286 f6989586621680449285)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680449262MfSym0
instance forall k k2 k3 (f6989586621680449260 :: k3 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449262MfSym1 f6989586621680449260)
instance forall k k2 k3 (xs6989586621680449261 :: k3 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)) (f6989586621680449260 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449262MfSym2 xs6989586621680449261 f6989586621680449260)
instance forall k k2 k3 (a6989586621680449263 :: k3 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)) (xs6989586621680449261 :: k) (f6989586621680449260 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449262MfSym3 a6989586621680449263 xs6989586621680449261 f6989586621680449260)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680449235F'Sym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680449232 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449235F'Sym1 f6989586621680449232)
instance forall k2 k3 k4 k5 k6 k7 (z06989586621680449233 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (f6989586621680449232 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449235F'Sym2 z06989586621680449233 f6989586621680449232)
instance forall k2 k3 k4 k5 k6 k7 (xs6989586621680449234 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (z06989586621680449233 :: k4) (f6989586621680449232 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449235F'Sym3 xs6989586621680449234 z06989586621680449233 f6989586621680449232)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680449236 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (xs6989586621680449234 :: k4) (z06989586621680449233 :: k3) (f6989586621680449232 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449235F'Sym4 a6989586621680449236 xs6989586621680449234 z06989586621680449233 f6989586621680449232)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680449237 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (a6989586621680449236 :: k4) (xs6989586621680449234 :: k3) (z06989586621680449233 :: k6) (f6989586621680449232 :: k7 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449235F'Sym5 a6989586621680449237 a6989586621680449236 xs6989586621680449234 z06989586621680449233 f6989586621680449232)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680449180F'Sym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680449177 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449180F'Sym1 f6989586621680449177)
instance forall k2 k3 k4 k5 k6 k7 (z06989586621680449178 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (f6989586621680449177 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449180F'Sym2 z06989586621680449178 f6989586621680449177)
instance forall k2 k3 k4 k5 k6 k7 (xs6989586621680449179 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (z06989586621680449178 :: k4) (f6989586621680449177 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449180F'Sym3 xs6989586621680449179 z06989586621680449178 f6989586621680449177)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680449181 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (xs6989586621680449179 :: k4) (z06989586621680449178 :: k3) (f6989586621680449177 :: k7 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449180F'Sym4 a6989586621680449181 xs6989586621680449179 z06989586621680449178 f6989586621680449177)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680449182 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (a6989586621680449181 :: k4) (xs6989586621680449179 :: k3) (z06989586621680449178 :: k7 Data.Singletons.Internal.~> k2) (f6989586621680449177 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449180F'Sym5 a6989586621680449182 a6989586621680449181 xs6989586621680449179 z06989586621680449178 f6989586621680449177)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680449054F'Sym0
instance forall k2 k3 b6989586621679545992 k4 k5 (m6989586621679545990 :: * -> *) a6989586621679545991 (f6989586621680449051 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679545990 a6989586621679545991)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449054F'Sym1 f6989586621680449051)
instance forall k2 b6989586621679545992 k3 k4 k5 (m6989586621679545990 :: * -> *) a6989586621679545991 (z06989586621680449052 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679545990 a6989586621679545991)) (f6989586621680449051 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449054F'Sym2 z06989586621680449052 f6989586621680449051)
instance forall b6989586621679545992 k2 k3 k4 k5 (m6989586621679545990 :: * -> *) a6989586621679545991 (xs6989586621680449053 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679545990 a6989586621679545991)) (z06989586621680449052 :: k3) (f6989586621680449051 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449054F'Sym3 xs6989586621680449053 z06989586621680449052 f6989586621680449051)
instance forall b6989586621679545992 k2 k3 k4 k5 (m6989586621679545990 :: * -> *) a6989586621679545991 (a6989586621680449055 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679545990 a6989586621679545991)) (xs6989586621680449053 :: k3) (z06989586621680449052 :: k2) (f6989586621680449051 :: a6989586621679545991 Data.Singletons.Internal.~> m6989586621679545990 b6989586621679545992). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449054F'Sym4 a6989586621680449055 xs6989586621680449053 z06989586621680449052 f6989586621680449051)
instance forall b6989586621679545992 k2 k3 k4 k5 (m6989586621679545990 :: * -> *) a6989586621679545991 (a6989586621680449056 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679545990 a6989586621679545991)) (a6989586621680449055 :: k3) (xs6989586621680449053 :: k2) (z06989586621680449052 :: a6989586621679545991 Data.Singletons.Internal.~> m6989586621679545990 b6989586621679545992) (f6989586621680449051 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449054F'Sym5 a6989586621680449056 a6989586621680449055 xs6989586621680449053 z06989586621680449052 f6989586621680449051)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680449032F'Sym0
instance forall k2 k3 b6989586621679545992 k4 k5 (m6989586621679545990 :: * -> *) a6989586621679545991 (f6989586621680449029 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679545990 a6989586621679545991)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449032F'Sym1 f6989586621680449029)
instance forall k2 b6989586621679545992 k3 k4 k5 (m6989586621679545990 :: * -> *) a6989586621679545991 (z06989586621680449030 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679545990 a6989586621679545991)) (f6989586621680449029 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449032F'Sym2 z06989586621680449030 f6989586621680449029)
instance forall b6989586621679545992 k2 k3 k4 k5 (m6989586621679545990 :: * -> *) a6989586621679545991 (xs6989586621680449031 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679545990 a6989586621679545991)) (z06989586621680449030 :: k3) (f6989586621680449029 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449032F'Sym3 xs6989586621680449031 z06989586621680449030 f6989586621680449029)
instance forall b6989586621679545992 k2 k3 k4 k5 (m6989586621679545990 :: * -> *) a6989586621679545991 (a6989586621680449033 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679545990 a6989586621679545991)) (xs6989586621680449031 :: k3) (z06989586621680449030 :: k2) (f6989586621680449029 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449032F'Sym4 a6989586621680449033 xs6989586621680449031 z06989586621680449030 f6989586621680449029)
instance forall b6989586621679545992 k2 k3 k4 k5 (m6989586621679545990 :: * -> *) a6989586621679545991 (a6989586621680449034 :: k4 Data.Singletons.Internal.~> (k5 Data.Singletons.Internal.~> m6989586621679545990 a6989586621679545991)) (a6989586621680449033 :: k3) (xs6989586621680449031 :: k2) (z06989586621680449030 :: k5) (f6989586621680449029 :: a6989586621679545991 Data.Singletons.Internal.~> m6989586621679545990 b6989586621679545992). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680449032F'Sym5 a6989586621680449034 a6989586621680449033 xs6989586621680449031 z06989586621680449030 f6989586621680449029)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680448878Max'Sym0
instance forall k1 k2 (cmp6989586621680448876 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680448878Max'Sym1 cmp6989586621680448876)
instance forall k1 k2 (a_69895866216804488746989586621680448877 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> GHC.Types.Ordering)) (cmp6989586621680448876 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680448878Max'Sym2 a_69895866216804488746989586621680448877 cmp6989586621680448876)
instance forall k1 k2 (a6989586621680448879 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> GHC.Types.Ordering)) (a_69895866216804488746989586621680448877 :: k1) (cmp6989586621680448876 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680448878Max'Sym3 a6989586621680448879 a_69895866216804488746989586621680448877 cmp6989586621680448876)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680448887Scrutinee_6989586621680448699Sym0
instance forall k2 k3 k4 k5 (cmp6989586621680448876 :: k3 Data.Singletons.Internal.~> (k4 Data.Singletons.Internal.~> k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680448887Scrutinee_6989586621680448699Sym1 cmp6989586621680448876)
instance forall k2 k3 k4 k5 (x6989586621680448885 :: k3 Data.Singletons.Internal.~> (k4 Data.Singletons.Internal.~> k5)) (cmp6989586621680448876 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680448887Scrutinee_6989586621680448699Sym2 x6989586621680448885 cmp6989586621680448876)
instance forall k2 k3 k4 k5 (y6989586621680448886 :: k3 Data.Singletons.Internal.~> (k4 Data.Singletons.Internal.~> k5)) (x6989586621680448885 :: k3) (cmp6989586621680448876 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680448887Scrutinee_6989586621680448699Sym3 y6989586621680448886 x6989586621680448885 cmp6989586621680448876)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680448853Min'Sym0
instance forall k1 k2 (cmp6989586621680448851 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680448853Min'Sym1 cmp6989586621680448851)
instance forall k1 k2 (a_69895866216804488496989586621680448852 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> GHC.Types.Ordering)) (cmp6989586621680448851 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680448853Min'Sym2 a_69895866216804488496989586621680448852 cmp6989586621680448851)
instance forall k1 k2 (a6989586621680448854 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> GHC.Types.Ordering)) (a_69895866216804488496989586621680448852 :: k1) (cmp6989586621680448851 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680448853Min'Sym3 a6989586621680448854 a_69895866216804488496989586621680448852 cmp6989586621680448851)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680448862Scrutinee_6989586621680448701Sym0
instance forall k2 k3 k4 k5 (cmp6989586621680448851 :: k3 Data.Singletons.Internal.~> (k4 Data.Singletons.Internal.~> k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680448862Scrutinee_6989586621680448701Sym1 cmp6989586621680448851)
instance forall k2 k3 k4 k5 (x6989586621680448860 :: k3 Data.Singletons.Internal.~> (k4 Data.Singletons.Internal.~> k5)) (cmp6989586621680448851 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680448862Scrutinee_6989586621680448701Sym2 x6989586621680448860 cmp6989586621680448851)
instance forall k2 k3 k4 k5 (y6989586621680448861 :: k3 Data.Singletons.Internal.~> (k4 Data.Singletons.Internal.~> k5)) (x6989586621680448860 :: k3) (cmp6989586621680448851 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680448862Scrutinee_6989586621680448701Sym3 y6989586621680448861 x6989586621680448860 cmp6989586621680448851)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680448817Sym0
instance forall k a6989586621679085232 (p6989586621680448814 :: a6989586621679085232 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680448817Sym1 p6989586621680448814)
instance forall k a6989586621679085232 (y6989586621680448815 :: a6989586621679085232 Data.Singletons.Internal.~> GHC.Types.Bool) (p6989586621680448814 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680448817Sym2 y6989586621680448815 p6989586621680448814)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680448820Scrutinee_6989586621680448705Sym0
instance forall k1 k2 k3 (p6989586621680448814 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680448820Scrutinee_6989586621680448705Sym1 p6989586621680448814)
instance forall k1 k2 k3 (y6989586621680448815 :: k2 Data.Singletons.Internal.~> k3) (p6989586621680448814 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680448820Scrutinee_6989586621680448705Sym2 y6989586621680448815 p6989586621680448814)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Singletons.Prelude.Foldable.MinInternal a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.TFHelper_6989586621680440275Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Singletons.Prelude.Foldable.MinInternal a)
instance forall a6989586621680440195 (a6989586621680440273 :: Data.Singletons.Prelude.Foldable.MinInternal a6989586621680440195). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.TFHelper_6989586621680440275Sym1 a6989586621680440273)
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.Let6989586621680440267Scrutinee_6989586621680440205Sym0
instance forall k1 (x6989586621680440260 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680440267Scrutinee_6989586621680440205Sym1 x6989586621680440260)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680440262NSym0
instance forall k1 k (x6989586621680440260 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680440262NSym1 x6989586621680440260)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680440262MSym0
instance forall k k1 (x6989586621680440260 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680440262MSym1 x6989586621680440260)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Singletons.Prelude.Foldable.MaxInternal a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.TFHelper_6989586621680440248Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Singletons.Prelude.Foldable.MaxInternal a)
instance forall a6989586621680440187 (a6989586621680440246 :: Data.Singletons.Prelude.Foldable.MaxInternal a6989586621680440187). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.TFHelper_6989586621680440248Sym1 a6989586621680440246)
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.Let6989586621680440240Scrutinee_6989586621680440203Sym0
instance forall k1 (x6989586621680440233 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680440240Scrutinee_6989586621680440203Sym1 x6989586621680440233)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680440235NSym0
instance forall k1 k (x6989586621680440233 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680440235NSym1 x6989586621680440233)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680440235MSym0
instance forall k k1 (x6989586621680440233 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680440235MSym1 x6989586621680440233)
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_6989586621680438768Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Singletons.Prelude.Foldable.Endo a)
instance forall a6989586621680438746 (a6989586621680438766 :: Data.Singletons.Prelude.Foldable.Endo a6989586621680438746). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.TFHelper_6989586621680438768Sym1 a6989586621680438766)
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_ajCC -> Type)
type family RunIdentity (a_a1e22 :: Identity a_ajCC) :: a_ajCC
data IdentitySym0 :: forall (a6989586621679085222 :: Type). (~>) a6989586621679085222 (Identity (a6989586621679085222 :: Type))
type IdentitySym1 (t6989586621679302065 :: a6989586621679085222) =  'Identity t6989586621679302065
data RunIdentitySym0 :: forall a6989586621679085222. (~>) (Identity a6989586621679085222) a6989586621679085222
type RunIdentitySym1 (a6989586621679302062 :: Identity a6989586621679085222) = RunIdentity a6989586621679302062
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680672999Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Functor.Identity.Identity
instance forall b6989586621679545992 a6989586621679545991 (a6989586621680672997 :: Data.Functor.Identity.Identity a6989586621679545991). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680672999Sym1 a6989586621680672997)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.LiftA2_6989586621680672986Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Functor.Identity.Identity
instance forall a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621680672983 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.LiftA2_6989586621680672986Sym1 a6989586621680672983)
instance forall a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621680672984 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)) (a6989586621680672983 :: Data.Functor.Identity.Identity a6989586621679545970). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.LiftA2_6989586621680672986Sym2 a6989586621680672984 a6989586621680672983)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680672970Sym0
instance forall a6989586621679545968 b6989586621679545969 (a6989586621680672968 :: Data.Functor.Identity.Identity (a6989586621679545968 Data.Singletons.Internal.~> b6989586621679545969)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680672970Sym1 a6989586621680672968)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Pure_6989586621680672959Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.ToList_6989586621680672950Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Functor.Identity.Identity
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Sum_6989586621680672943Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Product_6989586621680672936Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Null_6989586621680672929Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Minimum_6989586621680672923Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Maximum_6989586621680672916Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Length_6989586621680672909Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldr1_6989586621680672902Sym0
instance forall a6989586621680448456 (a6989586621680672900 :: a6989586621680448456 Data.Singletons.Internal.~> (a6989586621680448456 Data.Singletons.Internal.~> a6989586621680448456)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr1_6989586621680672902Sym1 a6989586621680672900)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldr'_6989586621680672890Sym0
instance forall a6989586621680448450 b6989586621680448451 (a6989586621680672887 :: a6989586621680448450 Data.Singletons.Internal.~> (b6989586621680448451 Data.Singletons.Internal.~> b6989586621680448451)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr'_6989586621680672890Sym1 a6989586621680672887)
instance forall a6989586621680448450 b6989586621680448451 (a6989586621680672888 :: a6989586621680448450 Data.Singletons.Internal.~> (b6989586621680448451 Data.Singletons.Internal.~> b6989586621680448451)) (a6989586621680672887 :: b6989586621680448451). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr'_6989586621680672890Sym2 a6989586621680672888 a6989586621680672887)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldr_6989586621680672867Sym0
instance forall a6989586621680448448 b6989586621680448449 (a6989586621680672864 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr_6989586621680672867Sym1 a6989586621680672864)
instance forall a6989586621680448448 b6989586621680448449 (a6989586621680672865 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)) (a6989586621680672864 :: b6989586621680448449). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr_6989586621680672867Sym2 a6989586621680672865 a6989586621680672864)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldl1_6989586621680672851Sym0
instance forall a6989586621680448457 (a6989586621680672849 :: a6989586621680448457 Data.Singletons.Internal.~> (a6989586621680448457 Data.Singletons.Internal.~> a6989586621680448457)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl1_6989586621680672851Sym1 a6989586621680672849)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldl'_6989586621680672839Sym0
instance forall a6989586621680448455 b6989586621680448454 (a6989586621680672836 :: b6989586621680448454 Data.Singletons.Internal.~> (a6989586621680448455 Data.Singletons.Internal.~> b6989586621680448454)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl'_6989586621680672839Sym1 a6989586621680672836)
instance forall a6989586621680448455 b6989586621680448454 (a6989586621680672837 :: b6989586621680448454 Data.Singletons.Internal.~> (a6989586621680448455 Data.Singletons.Internal.~> b6989586621680448454)) (a6989586621680672836 :: b6989586621680448454). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl'_6989586621680672839Sym2 a6989586621680672837 a6989586621680672836)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldl_6989586621680672822Sym0
instance forall a6989586621680448453 b6989586621680448452 (a6989586621680672819 :: b6989586621680448452 Data.Singletons.Internal.~> (a6989586621680448453 Data.Singletons.Internal.~> b6989586621680448452)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl_6989586621680672822Sym1 a6989586621680672819)
instance forall a6989586621680448453 b6989586621680448452 (a6989586621680672820 :: b6989586621680448452 Data.Singletons.Internal.~> (a6989586621680448453 Data.Singletons.Internal.~> b6989586621680448452)) (a6989586621680672819 :: b6989586621680448452). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl_6989586621680672822Sym2 a6989586621680672820 a6989586621680672819)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Elem_6989586621680672806Sym0
instance forall a6989586621680448461 (a6989586621680672804 :: a6989586621680448461). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Elem_6989586621680672806Sym1 a6989586621680672804)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.FoldMap_6989586621680672794Sym0
instance forall a6989586621680448447 m6989586621680448446 (a6989586621680672792 :: a6989586621680448447 Data.Singletons.Internal.~> m6989586621680448446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.FoldMap_6989586621680672794Sym1 a6989586621680672792)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680672782Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Functor.Identity.Identity
instance forall b6989586621679545965 a6989586621679545964 (a6989586621680672780 :: a6989586621679545964). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680672782Sym1 a6989586621680672780)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Lambda_6989586621680672773Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Functor.Identity.Identity
instance forall k1 k2 k3 (_z_69895866216806725936989586621680672771 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Lambda_6989586621680672773Sym1 _z_69895866216806725936989586621680672771)
instance forall k1 k2 k3 (a_69895866216806725996989586621680672772 :: k3) (_z_69895866216806725936989586621680672771 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Lambda_6989586621680672773Sym2 a_69895866216806725996989586621680672772 _z_69895866216806725936989586621680672771)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Fmap_6989586621680672763Sym0
instance forall a6989586621679545962 b6989586621679545963 (a6989586621680672761 :: a6989586621679545962 Data.Singletons.Internal.~> b6989586621679545963). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Fmap_6989586621680672763Sym1 a6989586621680672761)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.ShowsPrec_6989586621680672750Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Functor.Identity.Identity a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.ShowsPrec_6989586621680672750Sym1 a6989586621680672747)
instance forall a6989586621680672240 (a6989586621680672748 :: GHC.Types.Nat) (a6989586621680672747 :: Data.Functor.Identity.Identity a6989586621680672240). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.ShowsPrec_6989586621680672750Sym2 a6989586621680672748 a6989586621680672747)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680672732Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Functor.Identity.Identity a)
instance forall a6989586621680672237 (a6989586621680672730 :: Data.Functor.Identity.Identity a6989586621680672237). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680672732Sym1 a6989586621680672730)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.FromInteger_6989586621680672721Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Functor.Identity.Identity a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Signum_6989586621680672714Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Abs_6989586621680672707Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Negate_6989586621680672700Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680672692Sym0
instance forall a6989586621680672226 (a6989586621680672690 :: Data.Functor.Identity.Identity a6989586621680672226). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680672692Sym1 a6989586621680672690)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680672680Sym0
instance forall a6989586621680672226 (a6989586621680672678 :: Data.Functor.Identity.Identity a6989586621680672226). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680672680Sym1 a6989586621680672678)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680672668Sym0
instance forall a6989586621680672226 (a6989586621680672666 :: Data.Functor.Identity.Identity a6989586621680672226). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680672668Sym1 a6989586621680672666)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Functor.Identity.Identity a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.EnumFromThenTo_6989586621680672653Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Functor.Identity.Identity a)
instance forall a6989586621680672215 (a6989586621680672650 :: Data.Functor.Identity.Identity a6989586621680672215). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.EnumFromThenTo_6989586621680672653Sym1 a6989586621680672650)
instance forall a6989586621680672215 (a6989586621680672651 :: Data.Functor.Identity.Identity a6989586621680672215) (a6989586621680672650 :: Data.Functor.Identity.Identity a6989586621680672215). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.EnumFromThenTo_6989586621680672653Sym2 a6989586621680672651 a6989586621680672650)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.EnumFromTo_6989586621680672637Sym0
instance forall a6989586621680672215 (a6989586621680672635 :: Data.Functor.Identity.Identity a6989586621680672215). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.EnumFromTo_6989586621680672637Sym1 a6989586621680672635)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.FromEnum_6989586621680672626Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.ToEnum_6989586621680672619Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Pred_6989586621680672612Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Succ_6989586621680672605Sym0
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_a77k9 :: Const a_a77k7 b_a77k8) :: a_a77k7
data ConstSym0 :: forall (a6989586621679091214 :: Type) k6989586621679091213 (b6989586621679091215 :: k6989586621679091213). (~>) a6989586621679091214 (Const (a6989586621679091214 :: Type) (b6989586621679091215 :: k6989586621679091213))
type ConstSym1 (t6989586621680705928 :: a6989586621679091214) =  'Const t6989586621680705928
data GetConstSym0 :: forall a6989586621680706243 b6989586621680706244. (~>) (Const a6989586621680706243 b6989586621680706244) a6989586621680706243
type GetConstSym1 (x6989586621680706245 :: Const a6989586621680706243 b6989586621680706244) = GetConst x6989586621680706245
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_6989586621680708381Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative (Data.Functor.Const.Const m)
instance forall m6989586621680707648 a6989586621679545968 b6989586621679545969 (a6989586621680708379 :: Data.Functor.Const.Const m6989586621680707648 (a6989586621679545968 Data.Singletons.Internal.~> b6989586621679545969)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680708381Sym1 a6989586621680708379)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.LiftA2_6989586621680708368Sym0
instance forall m6989586621680707648 a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621680708365 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.LiftA2_6989586621680708368Sym1 a6989586621680708365)
instance forall m6989586621680707648 a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621680708366 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)) (a6989586621680708365 :: Data.Functor.Const.Const m6989586621680707648 a6989586621679545970). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.LiftA2_6989586621680708368Sym2 a6989586621680708366 a6989586621680708365)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Pure_6989586621680708354Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Foldr_6989586621680708346Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable (Data.Functor.Const.Const m)
instance forall m6989586621680707647 a6989586621680448448 b6989586621680448449 (a6989586621680708343 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Foldr_6989586621680708346Sym1 a6989586621680708343)
instance forall m6989586621680707647 a6989586621680448448 b6989586621680448449 (a6989586621680708344 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)) (a6989586621680708343 :: b6989586621680448449). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Foldr_6989586621680708346Sym2 a6989586621680708344 a6989586621680708343)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680708332Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable (Data.Functor.Const.Const m)
instance forall k1 k2 k3 k4 k5 (_f_69895866216807080826989586621680708329 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680708332Sym1 _f_69895866216807080826989586621680708329)
instance forall k1 k2 k3 k4 k5 (_z_69895866216807080846989586621680708330 :: k5) (_f_69895866216807080826989586621680708329 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680708332Sym2 _z_69895866216807080846989586621680708330 _f_69895866216807080826989586621680708329)
instance forall k1 k2 k3 k4 k5 (a_69895866216807080946989586621680708331 :: k5) (_z_69895866216807080846989586621680708330 :: k4) (_f_69895866216807080826989586621680708329 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680708332Sym3 a_69895866216807080946989586621680708331 _z_69895866216807080846989586621680708330 _f_69895866216807080826989586621680708329)
instance forall k1 k2 k3 k4 k5 (t6989586621680708336 :: k5) (a_69895866216807080946989586621680708331 :: k4) (_z_69895866216807080846989586621680708330 :: k3) (_f_69895866216807080826989586621680708329 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680708332Sym4 t6989586621680708336 a_69895866216807080946989586621680708331 _z_69895866216807080846989586621680708330 _f_69895866216807080826989586621680708329)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.FoldMap_6989586621680708319Sym0
instance forall m6989586621680707647 a6989586621680448447 m6989586621680448446 (a6989586621680708317 :: a6989586621680448447 Data.Singletons.Internal.~> m6989586621680448446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.FoldMap_6989586621680708319Sym1 a6989586621680708317)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680708310Sym0
instance forall k1 k2 k3 k4 (_f_69895866216807080826989586621680708308 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680708310Sym1 _f_69895866216807080826989586621680708308)
instance forall k1 k2 k3 k4 (a_69895866216807080886989586621680708309 :: k4) (_f_69895866216807080826989586621680708308 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680708310Sym2 a_69895866216807080886989586621680708309 _f_69895866216807080826989586621680708308)
instance forall a6989586621679545964 k (b6989586621679545965 :: k) m6989586621680707646. Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680708300Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Functor.Const.Const m)
instance forall k (b6989586621679545965 :: k) m6989586621680707646 a6989586621679545964 (a6989586621680708298 :: a6989586621679545964). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680708300Sym1 a6989586621680708298)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680708291Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Functor.Const.Const m)
instance forall k1 k2 k3 (_z_69895866216807080616989586621680708289 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680708291Sym1 _z_69895866216807080616989586621680708289)
instance forall k1 k2 k3 (a_69895866216807080696989586621680708290 :: k3) (_z_69895866216807080616989586621680708289 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680708291Sym2 a_69895866216807080696989586621680708290 _z_69895866216807080616989586621680708289)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Fmap_6989586621680708281Sym0
instance forall m6989586621680707646 a6989586621679545962 b6989586621679545963 (a6989586621680708279 :: a6989586621679545962 Data.Singletons.Internal.~> b6989586621679545963). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Fmap_6989586621680708281Sym1 a6989586621680708279)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680708272Sym0
instance forall k1 k2 k3 (_f_69895866216807080596989586621680708270 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680708272Sym1 _f_69895866216807080596989586621680708270)
instance forall k1 k2 k3 (a_69895866216807080656989586621680708271 :: k3) (_f_69895866216807080596989586621680708270 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680708272Sym2 a_69895866216807080656989586621680708271 _f_69895866216807080596989586621680708270)
instance forall a6989586621680707642 k (b6989586621680707643 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.ShowsPrec_6989586621680708261Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Show.PShow (Data.Functor.Const.Const a b)
instance forall a6989586621680707642 k (b6989586621680707643 :: k) (a6989586621680708258 :: GHC.Types.Nat). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.ShowsPrec_6989586621680708261Sym1 a6989586621680708258)
instance forall a6989586621680707642 k (b6989586621680707643 :: k) (a6989586621680708259 :: GHC.Types.Nat) (a6989586621680708258 :: Data.Functor.Const.Const a6989586621680707642 b6989586621680707643). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.ShowsPrec_6989586621680708261Sym2 a6989586621680708259 a6989586621680708258)
instance forall a6989586621680707638 k (b6989586621680707639 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680708243Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Functor.Const.Const a b)
instance forall a6989586621680707638 k (b6989586621680707639 :: k) (a6989586621680708241 :: Data.Functor.Const.Const a6989586621680707638 b6989586621680707639). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680708243Sym1 a6989586621680708241)
instance forall a6989586621680707626 k (b6989586621680707627 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.FromInteger_6989586621680708232Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Num.PNum (Data.Functor.Const.Const a b)
instance forall a6989586621680707626 k (b6989586621680707627 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Signum_6989586621680708225Sym0
instance forall a6989586621680707626 k (b6989586621680707627 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Abs_6989586621680708218Sym0
instance forall a6989586621680707626 k (b6989586621680707627 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Negate_6989586621680708211Sym0
instance forall a6989586621680707626 k (b6989586621680707627 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680708203Sym0
instance forall a6989586621680707626 k (b6989586621680707627 :: k) (a6989586621680708201 :: Data.Functor.Const.Const a6989586621680707626 b6989586621680707627). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680708203Sym1 a6989586621680708201)
instance forall a6989586621680707626 k (b6989586621680707627 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680708191Sym0
instance forall a6989586621680707626 k (b6989586621680707627 :: k) (a6989586621680708189 :: Data.Functor.Const.Const a6989586621680707626 b6989586621680707627). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680708191Sym1 a6989586621680708189)
instance forall a6989586621680707626 k (b6989586621680707627 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680708179Sym0
instance forall a6989586621680707626 k (b6989586621680707627 :: k) (a6989586621680708177 :: Data.Functor.Const.Const a6989586621680707626 b6989586621680707627). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680708179Sym1 a6989586621680708177)
instance forall k a (b :: k). Data.Singletons.Prelude.Monoid.PMonoid (Data.Functor.Const.Const a b)
instance forall a6989586621680707613 k (b6989586621680707614 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.EnumFromThenTo_6989586621680708164Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Enum.PEnum (Data.Functor.Const.Const a b)
instance forall a6989586621680707613 k (b6989586621680707614 :: k) (a6989586621680708161 :: Data.Functor.Const.Const a6989586621680707613 b6989586621680707614). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.EnumFromThenTo_6989586621680708164Sym1 a6989586621680708161)
instance forall a6989586621680707613 k (b6989586621680707614 :: k) (a6989586621680708162 :: Data.Functor.Const.Const a6989586621680707613 b6989586621680707614) (a6989586621680708161 :: Data.Functor.Const.Const a6989586621680707613 b6989586621680707614). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.EnumFromThenTo_6989586621680708164Sym2 a6989586621680708162 a6989586621680708161)
instance forall a6989586621680707613 k (b6989586621680707614 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.EnumFromTo_6989586621680708148Sym0
instance forall a6989586621680707613 k (b6989586621680707614 :: k) (a6989586621680708146 :: Data.Functor.Const.Const a6989586621680707613 b6989586621680707614). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.EnumFromTo_6989586621680708148Sym1 a6989586621680708146)
instance forall a6989586621680707613 k (b6989586621680707614 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.FromEnum_6989586621680708137Sym0
instance forall a6989586621680707613 k (b6989586621680707614 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.ToEnum_6989586621680708130Sym0
instance forall a6989586621680707613 k (b6989586621680707614 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Pred_6989586621680708123Sym0
instance forall a6989586621680707613 k (b6989586621680707614 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Succ_6989586621680708116Sym0
instance forall a6989586621680707611 k (b6989586621680707612 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Compare_6989586621680708108Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Ord.POrd (Data.Functor.Const.Const a b)
instance forall a6989586621680707611 k (b6989586621680707612 :: k) (a6989586621680708106 :: Data.Functor.Const.Const a6989586621680707611 b6989586621680707612). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Compare_6989586621680708108Sym1 a6989586621680708106)
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 a6989586621680706243 k (b6989586621680706244 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.GetConstSym0
instance forall a6989586621679091214 k6989586621679091213 (b6989586621679091215 :: k6989586621679091213). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.ConstSym0
instance forall a6989586621679091214 k6989586621679091213 (b6989586621679091215 :: k6989586621679091213). 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_a7hnn, PFoldable t_a7hnn) => PTraversable (t_a7hnn :: Type -> Type) where {
    type family Traverse (arg_a7hnz :: (~>) a_a7hnp (f_a7hno b_a7hnq)) (arg_a7hnA :: t_a7hnn a_a7hnp) :: f_a7hno (t_a7hnn b_a7hnq);
    type family SequenceA (arg_a7hnD :: t_a7hnn (f_a7hnr a_a7hns)) :: f_a7hnr (t_a7hnn a_a7hns);
    type family MapM (arg_a7hnF :: (~>) a_a7hnu (m_a7hnt b_a7hnv)) (arg_a7hnG :: t_a7hnn a_a7hnu) :: m_a7hnt (t_a7hnn b_a7hnv);
    type family Sequence (arg_a7hnJ :: t_a7hnn (m_a7hnw a_a7hnx)) :: m_a7hnw (t_a7hnn a_a7hnx);
    type Traverse a_a7hnT a_a7hnU = Apply (Apply Traverse_6989586621680744919Sym0 a_a7hnT) a_a7hnU;
    type SequenceA a_a7ho4 = Apply SequenceA_6989586621680744929Sym0 a_a7ho4;
    type MapM a_a7hoi a_a7hoj = Apply (Apply MapM_6989586621680744944Sym0 a_a7hoi) a_a7hoj;
    type Sequence a_a7hot = Apply Sequence_6989586621680744954Sym0 a_a7hot;
}
class (SFunctor t_a7hnn, SFoldable t_a7hnn) => STraversable (t_a7hnn :: Type -> Type)
sTraverse :: forall f_a7hno a_a7hnp b_a7hnq (t_a7hox :: (~>) a_a7hnp (f_a7hno b_a7hnq)) (t_a7hoy :: t_a7hnn a_a7hnp). (STraversable t_a7hnn, SApplicative f_a7hno) => Sing t_a7hox -> Sing t_a7hoy -> Sing (Apply (Apply TraverseSym0 t_a7hox) t_a7hoy :: f_a7hno (t_a7hnn b_a7hnq))
sSequenceA :: forall f_a7hnr a_a7hns (t_a7hoB :: t_a7hnn (f_a7hnr a_a7hns)). (STraversable t_a7hnn, SApplicative f_a7hnr) => Sing t_a7hoB -> Sing (Apply SequenceASym0 t_a7hoB :: f_a7hnr (t_a7hnn a_a7hns))
sMapM :: forall m_a7hnt a_a7hnu b_a7hnv (t_a7hoD :: (~>) a_a7hnu (m_a7hnt b_a7hnv)) (t_a7hoE :: t_a7hnn a_a7hnu). (STraversable t_a7hnn, SMonad m_a7hnt) => Sing t_a7hoD -> Sing t_a7hoE -> Sing (Apply (Apply MapMSym0 t_a7hoD) t_a7hoE :: m_a7hnt (t_a7hnn b_a7hnv))
sSequence :: forall m_a7hnw a_a7hnx (t_a7hoH :: t_a7hnn (m_a7hnw a_a7hnx)). (STraversable t_a7hnn, SMonad m_a7hnw) => Sing t_a7hoH -> Sing (Apply SequenceSym0 t_a7hoH :: m_a7hnw (t_a7hnn a_a7hnx))
sTraverse :: forall f_a7hno a_a7hnp b_a7hnq (t_a7hox :: (~>) a_a7hnp (f_a7hno b_a7hnq)) (t_a7hoy :: t_a7hnn a_a7hnp). (STraversable t_a7hnn, (Apply (Apply TraverseSym0 t_a7hox) t_a7hoy :: f_a7hno (t_a7hnn b_a7hnq)) ~ Apply (Apply Traverse_6989586621680744919Sym0 t_a7hox) t_a7hoy, SApplicative f_a7hno) => Sing t_a7hox -> Sing t_a7hoy -> Sing (Apply (Apply TraverseSym0 t_a7hox) t_a7hoy :: f_a7hno (t_a7hnn b_a7hnq))
sSequenceA :: forall f_a7hnr a_a7hns (t_a7hoB :: t_a7hnn (f_a7hnr a_a7hns)). (STraversable t_a7hnn, (Apply SequenceASym0 t_a7hoB :: f_a7hnr (t_a7hnn a_a7hns)) ~ Apply SequenceA_6989586621680744929Sym0 t_a7hoB, SApplicative f_a7hnr) => Sing t_a7hoB -> Sing (Apply SequenceASym0 t_a7hoB :: f_a7hnr (t_a7hnn a_a7hns))
sMapM :: forall m_a7hnt a_a7hnu b_a7hnv (t_a7hoD :: (~>) a_a7hnu (m_a7hnt b_a7hnv)) (t_a7hoE :: t_a7hnn a_a7hnu). (STraversable t_a7hnn, (Apply (Apply MapMSym0 t_a7hoD) t_a7hoE :: m_a7hnt (t_a7hnn b_a7hnv)) ~ Apply (Apply MapM_6989586621680744944Sym0 t_a7hoD) t_a7hoE, SMonad m_a7hnt) => Sing t_a7hoD -> Sing t_a7hoE -> Sing (Apply (Apply MapMSym0 t_a7hoD) t_a7hoE :: m_a7hnt (t_a7hnn b_a7hnv))
sSequence :: forall m_a7hnw a_a7hnx (t_a7hoH :: t_a7hnn (m_a7hnw a_a7hnx)). (STraversable t_a7hnn, (Apply SequenceSym0 t_a7hoH :: m_a7hnw (t_a7hnn a_a7hnx)) ~ Apply Sequence_6989586621680744954Sym0 t_a7hoH, SMonad m_a7hnw) => Sing t_a7hoH -> Sing (Apply SequenceSym0 t_a7hoH :: m_a7hnw (t_a7hnn a_a7hnx))
type family For (a_a7iYx :: t_a7iPs a_a7iPu) (a_a7iYy :: (~>) a_a7iPu (f_a7iPt b_a7iPv)) :: f_a7iPt (t_a7iPs b_a7iPv)
sFor :: forall t_a7iPs f_a7iPt a_a7iPu b_a7iPv (t_a7j7U :: t_a7iPs a_a7iPu) (t_a7j7V :: (~>) a_a7iPu (f_a7iPt b_a7iPv)). (STraversable t_a7iPs, SApplicative f_a7iPt) => Sing t_a7j7U -> Sing t_a7j7V -> Sing (Apply (Apply ForSym0 t_a7j7U) t_a7j7V :: f_a7iPt (t_a7iPs b_a7iPv))
type family ForM (a_a7iYn :: t_a7iPo a_a7iPq) (a_a7iYo :: (~>) a_a7iPq (m_a7iPp b_a7iPr)) :: m_a7iPp (t_a7iPo b_a7iPr)
sForM :: forall t_a7iPo m_a7iPp a_a7iPq b_a7iPr (t_a7j7Q :: t_a7iPo a_a7iPq) (t_a7j7R :: (~>) a_a7iPq (m_a7iPp b_a7iPr)). (STraversable t_a7iPo, SMonad m_a7iPp) => Sing t_a7j7Q -> Sing t_a7j7R -> Sing (Apply (Apply ForMSym0 t_a7j7Q) t_a7j7R :: m_a7iPp (t_a7iPo b_a7iPr))
type family MapAccumL (a_a7iY2 :: (~>) a_a7iPl ((~>) b_a7iPm (a_a7iPl, c_a7iPn))) (a_a7iY3 :: a_a7iPl) (a_a7iY4 :: t_a7iPk b_a7iPm) :: (a_a7iPl, t_a7iPk c_a7iPn)
sMapAccumL :: forall t_a7iPk a_a7iPl b_a7iPm c_a7iPn (t_a7j7K :: (~>) a_a7iPl ((~>) b_a7iPm (a_a7iPl, c_a7iPn))) (t_a7j7L :: a_a7iPl) (t_a7j7M :: t_a7iPk b_a7iPm). STraversable t_a7iPk => Sing t_a7j7K -> Sing t_a7j7L -> Sing t_a7j7M -> Sing (Apply (Apply (Apply MapAccumLSym0 t_a7j7K) t_a7j7L) t_a7j7M :: (a_a7iPl, t_a7iPk c_a7iPn))
type family MapAccumR (a_a7iXL :: (~>) a_a7iPh ((~>) b_a7iPi (a_a7iPh, c_a7iPj))) (a_a7iXM :: a_a7iPh) (a_a7iXN :: t_a7iPg b_a7iPi) :: (a_a7iPh, t_a7iPg c_a7iPj)
sMapAccumR :: forall t_a7iPg a_a7iPh b_a7iPi c_a7iPj (t_a7j7E :: (~>) a_a7iPh ((~>) b_a7iPi (a_a7iPh, c_a7iPj))) (t_a7j7F :: a_a7iPh) (t_a7j7G :: t_a7iPg b_a7iPi). STraversable t_a7iPg => Sing t_a7j7E -> Sing t_a7j7F -> Sing t_a7j7G -> Sing (Apply (Apply (Apply MapAccumRSym0 t_a7j7E) t_a7j7F) t_a7j7G :: (a_a7iPh, t_a7iPg c_a7iPj))
type family FmapDefault (a_a7iXy :: (~>) a_a7iPe b_a7iPf) (a_a7iXz :: t_a7iPd a_a7iPe) :: t_a7iPd b_a7iPf
sFmapDefault :: forall t_a7iPd a_a7iPe b_a7iPf (t_a7j7A :: (~>) a_a7iPe b_a7iPf) (t_a7j7B :: t_a7iPd a_a7iPe). STraversable t_a7iPd => Sing t_a7j7A -> Sing t_a7j7B -> Sing (Apply (Apply FmapDefaultSym0 t_a7j7A) t_a7j7B :: t_a7iPd b_a7iPf)
type family FoldMapDefault (a_a7iXd :: (~>) a_a7iPc m_a7iPb) (a_a7iXe :: t_a7iPa a_a7iPc) :: m_a7iPb
sFoldMapDefault :: forall t_a7iPa m_a7iPb a_a7iPc (t_a7j7w :: (~>) a_a7iPc m_a7iPb) (t_a7j7x :: t_a7iPa a_a7iPc). (STraversable t_a7iPa, SMonoid m_a7iPb) => Sing t_a7j7w -> Sing t_a7j7x -> Sing (Apply (Apply FoldMapDefaultSym0 t_a7j7w) t_a7j7x :: m_a7iPb)
data TraverseSym0 :: forall a6989586621680744887 b6989586621680744888 f6989586621680744886 t6989586621680744885. (~>) ((~>) a6989586621680744887 (f6989586621680744886 b6989586621680744888)) ((~>) (t6989586621680744885 a6989586621680744887) (f6989586621680744886 (t6989586621680744885 b6989586621680744888)))
data TraverseSym1 (arg6989586621680744897 :: (~>) a6989586621680744887 (f6989586621680744886 b6989586621680744888)) :: forall t6989586621680744885. (~>) (t6989586621680744885 a6989586621680744887) (f6989586621680744886 (t6989586621680744885 b6989586621680744888))
type TraverseSym2 (arg6989586621680744897 :: (~>) a6989586621680744887 (f6989586621680744886 b6989586621680744888)) (arg6989586621680744898 :: t6989586621680744885 a6989586621680744887) = Traverse arg6989586621680744897 arg6989586621680744898
data SequenceASym0 :: forall a6989586621680744890 f6989586621680744889 t6989586621680744885. (~>) (t6989586621680744885 (f6989586621680744889 a6989586621680744890)) (f6989586621680744889 (t6989586621680744885 a6989586621680744890))
type SequenceASym1 (arg6989586621680744901 :: t6989586621680744885 (f6989586621680744889 a6989586621680744890)) = SequenceA arg6989586621680744901
data MapMSym0 :: forall a6989586621680744892 b6989586621680744893 m6989586621680744891 t6989586621680744885. (~>) ((~>) a6989586621680744892 (m6989586621680744891 b6989586621680744893)) ((~>) (t6989586621680744885 a6989586621680744892) (m6989586621680744891 (t6989586621680744885 b6989586621680744893)))
data MapMSym1 (arg6989586621680744903 :: (~>) a6989586621680744892 (m6989586621680744891 b6989586621680744893)) :: forall t6989586621680744885. (~>) (t6989586621680744885 a6989586621680744892) (m6989586621680744891 (t6989586621680744885 b6989586621680744893))
type MapMSym2 (arg6989586621680744903 :: (~>) a6989586621680744892 (m6989586621680744891 b6989586621680744893)) (arg6989586621680744904 :: t6989586621680744885 a6989586621680744892) = MapM arg6989586621680744903 arg6989586621680744904
data SequenceSym0 :: forall a6989586621680744895 m6989586621680744894 t6989586621680744885. (~>) (t6989586621680744885 (m6989586621680744894 a6989586621680744895)) (m6989586621680744894 (t6989586621680744885 a6989586621680744895))
type SequenceSym1 (arg6989586621680744907 :: t6989586621680744885 (m6989586621680744894 a6989586621680744895)) = Sequence arg6989586621680744907
data ForSym0 :: forall a6989586621680750472 b6989586621680750473 f6989586621680750471 t6989586621680750470. (~>) (t6989586621680750470 a6989586621680750472) ((~>) ((~>) a6989586621680750472 (f6989586621680750471 b6989586621680750473)) (f6989586621680750471 (t6989586621680750470 b6989586621680750473)))
data ForSym1 (a6989586621680751033 :: t6989586621680750470 a6989586621680750472) :: forall b6989586621680750473 f6989586621680750471. (~>) ((~>) a6989586621680750472 (f6989586621680750471 b6989586621680750473)) (f6989586621680750471 (t6989586621680750470 b6989586621680750473))
type ForSym2 (a6989586621680751033 :: t6989586621680750470 a6989586621680750472) (a6989586621680751034 :: (~>) a6989586621680750472 (f6989586621680750471 b6989586621680750473)) = For a6989586621680751033 a6989586621680751034
data ForMSym0 :: forall a6989586621680750468 b6989586621680750469 m6989586621680750467 t6989586621680750466. (~>) (t6989586621680750466 a6989586621680750468) ((~>) ((~>) a6989586621680750468 (m6989586621680750467 b6989586621680750469)) (m6989586621680750467 (t6989586621680750466 b6989586621680750469)))
data ForMSym1 (a6989586621680751023 :: t6989586621680750466 a6989586621680750468) :: forall b6989586621680750469 m6989586621680750467. (~>) ((~>) a6989586621680750468 (m6989586621680750467 b6989586621680750469)) (m6989586621680750467 (t6989586621680750466 b6989586621680750469))
type ForMSym2 (a6989586621680751023 :: t6989586621680750466 a6989586621680750468) (a6989586621680751024 :: (~>) a6989586621680750468 (m6989586621680750467 b6989586621680750469)) = ForM a6989586621680751023 a6989586621680751024
data MapAccumLSym0 :: forall a6989586621680750463 b6989586621680750464 c6989586621680750465 t6989586621680750462. (~>) ((~>) a6989586621680750463 ((~>) b6989586621680750464 (a6989586621680750463, c6989586621680750465))) ((~>) a6989586621680750463 ((~>) (t6989586621680750462 b6989586621680750464) (a6989586621680750463, t6989586621680750462 c6989586621680750465)))
data MapAccumLSym1 (a6989586621680751002 :: (~>) a6989586621680750463 ((~>) b6989586621680750464 (a6989586621680750463, c6989586621680750465))) :: forall t6989586621680750462. (~>) a6989586621680750463 ((~>) (t6989586621680750462 b6989586621680750464) (a6989586621680750463, t6989586621680750462 c6989586621680750465))
data MapAccumLSym2 (a6989586621680751002 :: (~>) a6989586621680750463 ((~>) b6989586621680750464 (a6989586621680750463, c6989586621680750465))) (a6989586621680751003 :: a6989586621680750463) :: forall t6989586621680750462. (~>) (t6989586621680750462 b6989586621680750464) (a6989586621680750463, t6989586621680750462 c6989586621680750465)
type MapAccumLSym3 (a6989586621680751002 :: (~>) a6989586621680750463 ((~>) b6989586621680750464 (a6989586621680750463, c6989586621680750465))) (a6989586621680751003 :: a6989586621680750463) (a6989586621680751004 :: t6989586621680750462 b6989586621680750464) = MapAccumL a6989586621680751002 a6989586621680751003 a6989586621680751004
data MapAccumRSym0 :: forall a6989586621680750459 b6989586621680750460 c6989586621680750461 t6989586621680750458. (~>) ((~>) a6989586621680750459 ((~>) b6989586621680750460 (a6989586621680750459, c6989586621680750461))) ((~>) a6989586621680750459 ((~>) (t6989586621680750458 b6989586621680750460) (a6989586621680750459, t6989586621680750458 c6989586621680750461)))
data MapAccumRSym1 (a6989586621680750985 :: (~>) a6989586621680750459 ((~>) b6989586621680750460 (a6989586621680750459, c6989586621680750461))) :: forall t6989586621680750458. (~>) a6989586621680750459 ((~>) (t6989586621680750458 b6989586621680750460) (a6989586621680750459, t6989586621680750458 c6989586621680750461))
data MapAccumRSym2 (a6989586621680750985 :: (~>) a6989586621680750459 ((~>) b6989586621680750460 (a6989586621680750459, c6989586621680750461))) (a6989586621680750986 :: a6989586621680750459) :: forall t6989586621680750458. (~>) (t6989586621680750458 b6989586621680750460) (a6989586621680750459, t6989586621680750458 c6989586621680750461)
type MapAccumRSym3 (a6989586621680750985 :: (~>) a6989586621680750459 ((~>) b6989586621680750460 (a6989586621680750459, c6989586621680750461))) (a6989586621680750986 :: a6989586621680750459) (a6989586621680750987 :: t6989586621680750458 b6989586621680750460) = MapAccumR a6989586621680750985 a6989586621680750986 a6989586621680750987
data FmapDefaultSym0 :: forall a6989586621680750456 b6989586621680750457 t6989586621680750455. (~>) ((~>) a6989586621680750456 b6989586621680750457) ((~>) (t6989586621680750455 a6989586621680750456) (t6989586621680750455 b6989586621680750457))
data FmapDefaultSym1 (a6989586621680750972 :: (~>) a6989586621680750456 b6989586621680750457) :: forall t6989586621680750455. (~>) (t6989586621680750455 a6989586621680750456) (t6989586621680750455 b6989586621680750457)
type FmapDefaultSym2 (a6989586621680750972 :: (~>) a6989586621680750456 b6989586621680750457) (a6989586621680750973 :: t6989586621680750455 a6989586621680750456) = FmapDefault a6989586621680750972 a6989586621680750973
data FoldMapDefaultSym0 :: forall a6989586621680750454 m6989586621680750453 t6989586621680750452. (~>) ((~>) a6989586621680750454 m6989586621680750453) ((~>) (t6989586621680750452 a6989586621680750454) m6989586621680750453)
data FoldMapDefaultSym1 (a6989586621680750951 :: (~>) a6989586621680750454 m6989586621680750453) :: forall t6989586621680750452. (~>) (t6989586621680750452 a6989586621680750454) m6989586621680750453
type FoldMapDefaultSym2 (a6989586621680750951 :: (~>) a6989586621680750454 m6989586621680750453) (a6989586621680750952 :: t6989586621680750452 a6989586621680750454) = FoldMapDefault a6989586621680750951 a6989586621680750952
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.LiftA2_6989586621680751585Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative (Data.Singletons.Prelude.Traversable.StateR s)
instance forall s6989586621680750513 a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621680751582 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680751585Sym1 a6989586621680751582)
instance forall s6989586621680750513 a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621680751583 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)) (a6989586621680751582 :: Data.Singletons.Prelude.Traversable.StateR s6989586621680750513 a6989586621679545970). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680751585Sym2 a6989586621680751583 a6989586621680751582)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680751521Sym0
instance Data.Singletons.Prelude.Monad.Internal.SApplicative (Data.Singletons.Prelude.Traversable.StateR s)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680751518 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680751521Sym1 f6989586621680751518)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680751519 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (f6989586621680751518 :: k3 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680751521Sym2 kx6989586621680751519 f6989586621680751518)
instance forall k2 k3 k4 k5 k6 k7 (ky6989586621680751520 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (kx6989586621680751519 :: k3 Data.Singletons.Internal.~> (k4, k5)) (f6989586621680751518 :: k2 Data.Singletons.Internal.~> (k3, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680751521Sym3 ky6989586621680751520 kx6989586621680751519 f6989586621680751518)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751524X_6989586621680751531Sym0
instance forall k2 k3 k4 k5 k6 (f6989586621680751518 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751524X_6989586621680751531Sym1 f6989586621680751518)
instance forall k2 k3 k4 k5 k6 (kx6989586621680751519 :: k6) (f6989586621680751518 :: k4 Data.Singletons.Internal.~> k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751524X_6989586621680751531Sym2 kx6989586621680751519 f6989586621680751518)
instance forall k2 k3 k4 k5 k6 (ky6989586621680751520 :: k6) (kx6989586621680751519 :: k4 Data.Singletons.Internal.~> k5) (f6989586621680751518 :: k2 Data.Singletons.Internal.~> (k4, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751524X_6989586621680751531Sym3 ky6989586621680751520 kx6989586621680751519 f6989586621680751518)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751524S''Sym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680751518 :: k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751524S''Sym1 f6989586621680751518)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680751519 :: k7) (f6989586621680751518 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751524S''Sym2 kx6989586621680751519 f6989586621680751518)
instance forall k2 k3 k4 k5 k6 k7 (ky6989586621680751520 :: k7) (kx6989586621680751519 :: k4 Data.Singletons.Internal.~> (k5, k6)) (f6989586621680751518 :: k2 Data.Singletons.Internal.~> (k4, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751524S''Sym3 ky6989586621680751520 kx6989586621680751519 f6989586621680751518)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751524XSym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680751518 :: k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751524XSym1 f6989586621680751518)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680751519 :: k7) (f6989586621680751518 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751524XSym2 kx6989586621680751519 f6989586621680751518)
instance forall k2 k3 k4 k5 k6 k7 (ky6989586621680751520 :: k7) (kx6989586621680751519 :: k4 Data.Singletons.Internal.~> (k5, k6)) (f6989586621680751518 :: k2 Data.Singletons.Internal.~> (k4, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751524XSym3 ky6989586621680751520 kx6989586621680751519 f6989586621680751518)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751524X_6989586621680751525Sym0
instance forall k1 k2 k3 k4 (f6989586621680751518 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751524X_6989586621680751525Sym1 f6989586621680751518)
instance forall k1 k2 k3 k4 (kx6989586621680751519 :: k4) (f6989586621680751518 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751524X_6989586621680751525Sym2 kx6989586621680751519 f6989586621680751518)
instance forall k1 k2 k3 k4 (ky6989586621680751520 :: k4) (kx6989586621680751519 :: k3) (f6989586621680751518 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751524X_6989586621680751525Sym3 ky6989586621680751520 kx6989586621680751519 f6989586621680751518)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751524S'Sym0
instance forall k1 k2 k3 k4 k5 (f6989586621680751518 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751524S'Sym1 f6989586621680751518)
instance forall k1 k2 k3 k4 k5 (kx6989586621680751519 :: k5) (f6989586621680751518 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751524S'Sym2 kx6989586621680751519 f6989586621680751518)
instance forall k1 k2 k3 k4 k5 (ky6989586621680751520 :: k5) (kx6989586621680751519 :: k4) (f6989586621680751518 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751524S'Sym3 ky6989586621680751520 kx6989586621680751519 f6989586621680751518)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751524YSym0
instance forall k1 k2 k3 k4 k5 (f6989586621680751518 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751524YSym1 f6989586621680751518)
instance forall k1 k2 k3 k4 k5 (kx6989586621680751519 :: k5) (f6989586621680751518 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751524YSym2 kx6989586621680751519 f6989586621680751518)
instance forall k1 k2 k3 k4 k5 (ky6989586621680751520 :: k5) (kx6989586621680751519 :: k4) (f6989586621680751518 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751524YSym3 ky6989586621680751520 kx6989586621680751519 f6989586621680751518)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.TFHelper_6989586621680751508Sym0
instance forall s6989586621680750513 a6989586621679545968 b6989586621679545969 (a6989586621680751506 :: Data.Singletons.Prelude.Traversable.StateR s6989586621680750513 (a6989586621679545968 Data.Singletons.Internal.~> b6989586621679545969)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.TFHelper_6989586621680751508Sym1 a6989586621680751506)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680751452Sym0
instance forall k2 k3 k4 k5 k6 (kf6989586621680751450 :: k3 Data.Singletons.Internal.~> (k4, k5 Data.Singletons.Internal.~> k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680751452Sym1 kf6989586621680751450)
instance forall k2 k3 k4 k5 k6 (kv6989586621680751451 :: k3 Data.Singletons.Internal.~> (k4, k5 Data.Singletons.Internal.~> k6)) (kf6989586621680751450 :: k2 Data.Singletons.Internal.~> (k3, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680751452Sym2 kv6989586621680751451 kf6989586621680751450)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751455X_6989586621680751462Sym0
instance forall k2 k3 k4 k5 (kf6989586621680751450 :: k4 Data.Singletons.Internal.~> k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751455X_6989586621680751462Sym1 kf6989586621680751450)
instance forall k2 k3 k4 k5 (kv6989586621680751451 :: k4 Data.Singletons.Internal.~> k5) (kf6989586621680751450 :: k2 Data.Singletons.Internal.~> (k4, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751455X_6989586621680751462Sym2 kv6989586621680751451 kf6989586621680751450)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751455S''Sym0
instance forall k2 k3 k4 k5 k6 (kf6989586621680751450 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751455S''Sym1 kf6989586621680751450)
instance forall k2 k3 k4 k5 k6 (kv6989586621680751451 :: k4 Data.Singletons.Internal.~> (k5, k6)) (kf6989586621680751450 :: k2 Data.Singletons.Internal.~> (k4, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751455S''Sym2 kv6989586621680751451 kf6989586621680751450)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751455FSym0
instance forall k2 k3 k4 k5 k6 (kf6989586621680751450 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751455FSym1 kf6989586621680751450)
instance forall k2 k3 k4 k5 k6 (kv6989586621680751451 :: k4 Data.Singletons.Internal.~> (k5, k6)) (kf6989586621680751450 :: k2 Data.Singletons.Internal.~> (k4, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751455FSym2 kv6989586621680751451 kf6989586621680751450)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751455X_6989586621680751456Sym0
instance forall k1 k2 k3 (kf6989586621680751450 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751455X_6989586621680751456Sym1 kf6989586621680751450)
instance forall k1 k2 k3 (kv6989586621680751451 :: k3) (kf6989586621680751450 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751455X_6989586621680751456Sym2 kv6989586621680751451 kf6989586621680751450)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751455S'Sym0
instance forall k1 k2 k3 k4 (kf6989586621680751450 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751455S'Sym1 kf6989586621680751450)
instance forall k1 k2 k3 k4 (kv6989586621680751451 :: k4) (kf6989586621680751450 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751455S'Sym2 kv6989586621680751451 kf6989586621680751450)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751455VSym0
instance forall k1 k2 k3 k4 (kf6989586621680751450 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751455VSym1 kf6989586621680751450)
instance forall k1 k2 k3 k4 (kv6989586621680751451 :: k4) (kf6989586621680751450 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751455VSym2 kv6989586621680751451 kf6989586621680751450)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Pure_6989586621680751443Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680751436Sym0
instance forall k2 k3 (x6989586621680751435 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680751436Sym1 x6989586621680751435)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Fmap_6989586621680751429Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Singletons.Prelude.Traversable.StateR s)
instance forall s6989586621680750507 a6989586621679545962 b6989586621679545963 (a6989586621680751427 :: a6989586621679545962 Data.Singletons.Internal.~> b6989586621679545963). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Fmap_6989586621680751429Sym1 a6989586621680751427)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680751396Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Singletons.Prelude.Traversable.StateR s)
instance forall k2 k k3 k4 (f6989586621680751394 :: k3 Data.Singletons.Internal.~> k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680751396Sym1 f6989586621680751394)
instance forall k2 k k3 k4 (k6989586621680751395 :: k3 Data.Singletons.Internal.~> k4) (f6989586621680751394 :: k2 Data.Singletons.Internal.~> (k, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680751396Sym2 k6989586621680751395 f6989586621680751394)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751399X_6989586621680751400Sym0
instance forall k1 k2 k3 (f6989586621680751394 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751399X_6989586621680751400Sym1 f6989586621680751394)
instance forall k1 k2 k3 (k6989586621680751395 :: k3) (f6989586621680751394 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751399X_6989586621680751400Sym2 k6989586621680751395 f6989586621680751394)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751399S'Sym0
instance forall k1 k2 k3 k4 (f6989586621680751394 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751399S'Sym1 f6989586621680751394)
instance forall k1 k2 k3 k4 (k6989586621680751395 :: k4) (f6989586621680751394 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751399S'Sym2 k6989586621680751395 f6989586621680751394)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751399VSym0
instance forall k1 k2 k3 k4 (f6989586621680751394 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751399VSym1 f6989586621680751394)
instance forall k1 k2 k3 k4 (k6989586621680751395 :: k4) (f6989586621680751394 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751399VSym2 k6989586621680751395 f6989586621680751394)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.LiftA2_6989586621680751385Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative (Data.Singletons.Prelude.Traversable.StateL s)
instance forall s6989586621680750489 a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621680751382 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680751385Sym1 a6989586621680751382)
instance forall s6989586621680750489 a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621680751383 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)) (a6989586621680751382 :: Data.Singletons.Prelude.Traversable.StateL s6989586621680750489 a6989586621679545970). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680751385Sym2 a6989586621680751383 a6989586621680751382)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680751321Sym0
instance Data.Singletons.Prelude.Monad.Internal.SApplicative (Data.Singletons.Prelude.Traversable.StateL s)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680751318 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680751321Sym1 f6989586621680751318)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680751319 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (f6989586621680751318 :: k3 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680751321Sym2 kx6989586621680751319 f6989586621680751318)
instance forall k2 k3 k4 k5 k6 k7 (ky6989586621680751320 :: k5 Data.Singletons.Internal.~> (k6 Data.Singletons.Internal.~> k7)) (kx6989586621680751319 :: k3 Data.Singletons.Internal.~> (k4, k5)) (f6989586621680751318 :: k4 Data.Singletons.Internal.~> (k2, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680751321Sym3 ky6989586621680751320 kx6989586621680751319 f6989586621680751318)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751324X_6989586621680751331Sym0
instance forall k2 k3 k4 k5 k6 (f6989586621680751318 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751324X_6989586621680751331Sym1 f6989586621680751318)
instance forall k2 k3 k4 k5 k6 (kx6989586621680751319 :: k6) (f6989586621680751318 :: k3 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751324X_6989586621680751331Sym2 kx6989586621680751319 f6989586621680751318)
instance forall k2 k3 k4 k5 k6 (ky6989586621680751320 :: k6) (kx6989586621680751319 :: k3 Data.Singletons.Internal.~> (k4, k5)) (f6989586621680751318 :: k4 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751324X_6989586621680751331Sym3 ky6989586621680751320 kx6989586621680751319 f6989586621680751318)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751324S''Sym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680751318 :: k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751324S''Sym1 f6989586621680751318)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680751319 :: k7) (f6989586621680751318 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751324S''Sym2 kx6989586621680751319 f6989586621680751318)
instance forall k2 k3 k4 k5 k6 k7 (ky6989586621680751320 :: k7) (kx6989586621680751319 :: k4 Data.Singletons.Internal.~> (k5, k6)) (f6989586621680751318 :: k5 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751324S''Sym3 ky6989586621680751320 kx6989586621680751319 f6989586621680751318)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751324YSym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680751318 :: k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751324YSym1 f6989586621680751318)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680751319 :: k7) (f6989586621680751318 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751324YSym2 kx6989586621680751319 f6989586621680751318)
instance forall k2 k3 k4 k5 k6 k7 (ky6989586621680751320 :: k7) (kx6989586621680751319 :: k4 Data.Singletons.Internal.~> (k5, k6)) (f6989586621680751318 :: k5 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751324YSym3 ky6989586621680751320 kx6989586621680751319 f6989586621680751318)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751324X_6989586621680751325Sym0
instance forall k1 k2 k3 k4 (f6989586621680751318 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751324X_6989586621680751325Sym1 f6989586621680751318)
instance forall k1 k2 k3 k4 (kx6989586621680751319 :: k4) (f6989586621680751318 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751324X_6989586621680751325Sym2 kx6989586621680751319 f6989586621680751318)
instance forall k1 k2 k3 k4 (ky6989586621680751320 :: k4) (kx6989586621680751319 :: k2 Data.Singletons.Internal.~> k3) (f6989586621680751318 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751324X_6989586621680751325Sym3 ky6989586621680751320 kx6989586621680751319 f6989586621680751318)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751324S'Sym0
instance forall k1 k2 k3 k4 k5 (f6989586621680751318 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751324S'Sym1 f6989586621680751318)
instance forall k1 k2 k3 k4 k5 (kx6989586621680751319 :: k5) (f6989586621680751318 :: k2 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751324S'Sym2 kx6989586621680751319 f6989586621680751318)
instance forall k1 k2 k3 k4 k5 (ky6989586621680751320 :: k5) (kx6989586621680751319 :: k2 Data.Singletons.Internal.~> (k3, k4)) (f6989586621680751318 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751324S'Sym3 ky6989586621680751320 kx6989586621680751319 f6989586621680751318)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751324XSym0
instance forall k1 k2 k3 k4 k5 (f6989586621680751318 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751324XSym1 f6989586621680751318)
instance forall k1 k2 k3 k4 k5 (kx6989586621680751319 :: k5) (f6989586621680751318 :: k2 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751324XSym2 kx6989586621680751319 f6989586621680751318)
instance forall k1 k2 k3 k4 k5 (ky6989586621680751320 :: k5) (kx6989586621680751319 :: k2 Data.Singletons.Internal.~> (k3, k4)) (f6989586621680751318 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751324XSym3 ky6989586621680751320 kx6989586621680751319 f6989586621680751318)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.TFHelper_6989586621680751308Sym0
instance forall s6989586621680750489 a6989586621679545968 b6989586621679545969 (a6989586621680751306 :: Data.Singletons.Prelude.Traversable.StateL s6989586621680750489 (a6989586621679545968 Data.Singletons.Internal.~> b6989586621679545969)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.TFHelper_6989586621680751308Sym1 a6989586621680751306)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680751252Sym0
instance forall k k2 k3 k4 k5 (kf6989586621680751250 :: k2 Data.Singletons.Internal.~> (k3, k4 Data.Singletons.Internal.~> k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680751252Sym1 kf6989586621680751250)
instance forall k k2 k3 k4 k5 (kv6989586621680751251 :: k2 Data.Singletons.Internal.~> (k3, k4 Data.Singletons.Internal.~> k5)) (kf6989586621680751250 :: k3 Data.Singletons.Internal.~> (k, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680751252Sym2 kv6989586621680751251 kf6989586621680751250)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751255X_6989586621680751262Sym0
instance forall k2 k3 k4 k5 (kf6989586621680751250 :: k3 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751255X_6989586621680751262Sym1 kf6989586621680751250)
instance forall k2 k3 k4 k5 (kv6989586621680751251 :: k3 Data.Singletons.Internal.~> (k4, k5)) (kf6989586621680751250 :: k4 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751255X_6989586621680751262Sym2 kv6989586621680751251 kf6989586621680751250)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751255S''Sym0
instance forall k2 k3 k4 k5 k6 (kf6989586621680751250 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751255S''Sym1 kf6989586621680751250)
instance forall k2 k3 k4 k5 k6 (kv6989586621680751251 :: k4 Data.Singletons.Internal.~> (k5, k6)) (kf6989586621680751250 :: k5 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751255S''Sym2 kv6989586621680751251 kf6989586621680751250)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751255VSym0
instance forall k2 k3 k4 k5 k6 (kf6989586621680751250 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751255VSym1 kf6989586621680751250)
instance forall k2 k3 k4 k5 k6 (kv6989586621680751251 :: k4 Data.Singletons.Internal.~> (k5, k6)) (kf6989586621680751250 :: k5 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751255VSym2 kv6989586621680751251 kf6989586621680751250)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751255X_6989586621680751256Sym0
instance forall k1 k2 k3 (kf6989586621680751250 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751255X_6989586621680751256Sym1 kf6989586621680751250)
instance forall k1 k2 k3 (kv6989586621680751251 :: k2 Data.Singletons.Internal.~> k3) (kf6989586621680751250 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751255X_6989586621680751256Sym2 kv6989586621680751251 kf6989586621680751250)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751255S'Sym0
instance forall k1 k2 k3 k4 (kf6989586621680751250 :: k2 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751255S'Sym1 kf6989586621680751250)
instance forall k1 k2 k3 k4 (kv6989586621680751251 :: k2 Data.Singletons.Internal.~> (k3, k4)) (kf6989586621680751250 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751255S'Sym2 kv6989586621680751251 kf6989586621680751250)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751255FSym0
instance forall k1 k2 k3 k4 (kf6989586621680751250 :: k2 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751255FSym1 kf6989586621680751250)
instance forall k1 k2 k3 k4 (kv6989586621680751251 :: k2 Data.Singletons.Internal.~> (k3, k4)) (kf6989586621680751250 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751255FSym2 kv6989586621680751251 kf6989586621680751250)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Pure_6989586621680751243Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680751236Sym0
instance forall k2 k3 (x6989586621680751235 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680751236Sym1 x6989586621680751235)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Fmap_6989586621680751229Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Singletons.Prelude.Traversable.StateL s)
instance forall s6989586621680750483 a6989586621679545962 b6989586621679545963 (a6989586621680751227 :: a6989586621679545962 Data.Singletons.Internal.~> b6989586621679545963). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Fmap_6989586621680751229Sym1 a6989586621680751227)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680751196Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Singletons.Prelude.Traversable.StateL s)
instance forall k2 k k3 k4 (f6989586621680751194 :: k3 Data.Singletons.Internal.~> k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680751196Sym1 f6989586621680751194)
instance forall k2 k k3 k4 (k6989586621680751195 :: k3 Data.Singletons.Internal.~> k4) (f6989586621680751194 :: k2 Data.Singletons.Internal.~> (k, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680751196Sym2 k6989586621680751195 f6989586621680751194)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751199X_6989586621680751200Sym0
instance forall k1 k2 k3 (f6989586621680751194 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751199X_6989586621680751200Sym1 f6989586621680751194)
instance forall k1 k2 k3 (k6989586621680751195 :: k3) (f6989586621680751194 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751199X_6989586621680751200Sym2 k6989586621680751195 f6989586621680751194)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751199S'Sym0
instance forall k1 k2 k3 k4 (f6989586621680751194 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751199S'Sym1 f6989586621680751194)
instance forall k1 k2 k3 k4 (k6989586621680751195 :: k4) (f6989586621680751194 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751199S'Sym2 k6989586621680751195 f6989586621680751194)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680751199VSym0
instance forall k1 k2 k3 k4 (f6989586621680751194 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751199VSym1 f6989586621680751194)
instance forall k1 k2 k3 k4 (k6989586621680751195 :: k4) (f6989586621680751194 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751199VSym2 k6989586621680751195 f6989586621680751194)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680751186Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Functor.Identity.Identity
instance forall a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (a6989586621680751184 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680751186Sym1 a6989586621680751184)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680751174Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Monoid.Last
instance forall a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (a6989586621680751172 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680751174Sym1 a6989586621680751172)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680751162Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Monoid.First
instance forall a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (a6989586621680751160 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680751162Sym1 a6989586621680751160)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680751150Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Internal.Product
instance forall a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (a6989586621680751148 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680751150Sym1 a6989586621680751148)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680751138Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Internal.Sum
instance forall a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (a6989586621680751136 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680751138Sym1 a6989586621680751136)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680751126Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Internal.Dual
instance forall a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (a6989586621680751124 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680751126Sym1 a6989586621680751124)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680751114Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable (Data.Functor.Const.Const m)
instance forall m6989586621680750482 a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (a6989586621680751112 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680751114Sym1 a6989586621680751112)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680751102Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable ((,) a)
instance forall a6989586621680750481 a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (a6989586621680751100 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680751102Sym1 a6989586621680751100)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680751089Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable (Data.Either.Either a)
instance forall a6989586621680750480 a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (a6989586621680751087 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680751089Sym1 a6989586621680751087)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680751075Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable GHC.Base.NonEmpty
instance forall a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (a6989586621680751073 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680751075Sym1 a6989586621680751073)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680751062Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable []
instance forall a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (a6989586621680751060 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680751062Sym1 a6989586621680751060)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680751048Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable GHC.Maybe.Maybe
instance forall a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (a6989586621680751046 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680751048Sym1 a6989586621680751046)
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 b6989586621680750473 (f6989586621680750471 :: * -> *) (t6989586621680750470 :: * -> *) a6989586621680750472 (a6989586621680751033 :: t6989586621680750470 a6989586621680750472). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.ForSym1 a6989586621680751033)
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 b6989586621680750469 (m6989586621680750467 :: * -> *) (t6989586621680750466 :: * -> *) a6989586621680750468 (a6989586621680751023 :: t6989586621680750466 a6989586621680750468). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.ForMSym1 a6989586621680751023)
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 (t6989586621680750462 :: * -> *) b6989586621680750464 a6989586621680750463 c6989586621680750465 (a6989586621680751002 :: a6989586621680750463 Data.Singletons.Internal.~> (b6989586621680750464 Data.Singletons.Internal.~> (a6989586621680750463, c6989586621680750465))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumLSym1 a6989586621680751002)
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 (t6989586621680750462 :: * -> *) b6989586621680750464 a6989586621680750463 c6989586621680750465 (a6989586621680751003 :: a6989586621680750463 Data.Singletons.Internal.~> (b6989586621680750464 Data.Singletons.Internal.~> (a6989586621680750463, c6989586621680750465))) (a6989586621680751002 :: a6989586621680750463). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumLSym2 a6989586621680751003 a6989586621680751002)
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 (t6989586621680750458 :: * -> *) b6989586621680750460 a6989586621680750459 c6989586621680750461 (a6989586621680750985 :: a6989586621680750459 Data.Singletons.Internal.~> (b6989586621680750460 Data.Singletons.Internal.~> (a6989586621680750459, c6989586621680750461))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumRSym1 a6989586621680750985)
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 (t6989586621680750458 :: * -> *) b6989586621680750460 a6989586621680750459 c6989586621680750461 (a6989586621680750986 :: a6989586621680750459 Data.Singletons.Internal.~> (b6989586621680750460 Data.Singletons.Internal.~> (a6989586621680750459, c6989586621680750461))) (a6989586621680750985 :: a6989586621680750459). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumRSym2 a6989586621680750986 a6989586621680750985)
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 (t6989586621680750455 :: * -> *) a6989586621680750456 b6989586621680750457 (a6989586621680750972 :: a6989586621680750456 Data.Singletons.Internal.~> b6989586621680750457). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.FmapDefaultSym1 a6989586621680750972)
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 (t6989586621680750452 :: * -> *) a6989586621680750454 m6989586621680750453 (a6989586621680750951 :: a6989586621680750454 Data.Singletons.Internal.~> m6989586621680750453). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.FoldMapDefaultSym1 a6989586621680750951)
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.Let6989586621680751011Scrutinee_6989586621680750546Sym0
instance forall k (t6989586621680744885 :: * -> *) a6989586621680744887 s b6989586621680744888 (f6989586621680751008 :: s Data.Singletons.Internal.~> (a6989586621680744887 Data.Singletons.Internal.~> (s, b6989586621680744888))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751011Scrutinee_6989586621680750546Sym1 f6989586621680751008)
instance forall (t6989586621680744885 :: * -> *) k a6989586621680744887 s b6989586621680744888 (s6989586621680751009 :: s Data.Singletons.Internal.~> (a6989586621680744887 Data.Singletons.Internal.~> (s, b6989586621680744888))) (f6989586621680751008 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680751011Scrutinee_6989586621680750546Sym2 s6989586621680751009 f6989586621680751008)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680750994Scrutinee_6989586621680750550Sym0
instance forall k (t6989586621680744885 :: * -> *) a6989586621680744887 s b6989586621680744888 (f6989586621680750991 :: s Data.Singletons.Internal.~> (a6989586621680744887 Data.Singletons.Internal.~> (s, b6989586621680744888))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680750994Scrutinee_6989586621680750550Sym1 f6989586621680750991)
instance forall (t6989586621680744885 :: * -> *) k a6989586621680744887 s b6989586621680744888 (s6989586621680750992 :: s Data.Singletons.Internal.~> (a6989586621680744887 Data.Singletons.Internal.~> (s, b6989586621680744888))) (f6989586621680750991 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680750994Scrutinee_6989586621680750550Sym2 s6989586621680750992 f6989586621680750991)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680750978Scrutinee_6989586621680750554Sym0
instance forall (t6989586621680744885 :: * -> *) a6989586621680744887 b6989586621680744888 (f6989586621680750976 :: a6989586621680744887 Data.Singletons.Internal.~> b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680750978Scrutinee_6989586621680750554Sym1 f6989586621680750976)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680750965Scrutinee_6989586621680750557Sym0
instance forall (t6989586621680744885 :: * -> *) a6989586621680744887 b6989586621679521709 (f6989586621680750955 :: a6989586621680744887 Data.Singletons.Internal.~> b6989586621679521709). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680750965Scrutinee_6989586621680750557Sym1 f6989586621680750955)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680750957MkConstSym0
instance forall k1 m6989586621680750453 k2 (f6989586621680750955 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680750957MkConstSym1 f6989586621680750955)
instance forall m6989586621680750453 k1 k2 (x6989586621680750956 :: k2) (f6989586621680750955 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680750957MkConstSym2 x6989586621680750956 f6989586621680750955)
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 (t6989586621680744885 :: * -> *) a6989586621680744892 (m6989586621680744891 :: * -> *) b6989586621680744893 (arg6989586621680744903 :: a6989586621680744892 Data.Singletons.Internal.~> m6989586621680744891 b6989586621680744893). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapMSym1 arg6989586621680744903)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.SequenceSym0
instance forall (t6989586621680744885 :: * -> *) a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (arg6989586621680744897 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.TraverseSym1 arg6989586621680744897)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.TraverseSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.SequenceASym0
instance forall (t6989586621680744885 :: * -> *) a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (a6989586621680744917 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680744919Sym1 a6989586621680744917)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680744919Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.SequenceA_6989586621680744929Sym0
instance forall (t6989586621680744885 :: * -> *) a6989586621680744892 (m6989586621680744891 :: * -> *) b6989586621680744893 (a6989586621680744942 :: a6989586621680744892 Data.Singletons.Internal.~> m6989586621680744891 b6989586621680744893). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapM_6989586621680744944Sym1 a6989586621680744942)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.MapM_6989586621680744944Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Sequence_6989586621680744954Sym0


-- | 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_a3mhC :: Type) where {
    type family (<>) (arg_a3mpr :: a_a3mhC) (arg_a3mps :: a_a3mhC) :: a_a3mhC;
    type family Sconcat (arg_a3mpv :: NonEmpty a_a3mhC) :: a_a3mhC;
    type Sconcat a_a3mpM = Apply Sconcat_6989586621679810943Sym0 a_a3mpM;
}
infixr 6 <>
class SSemigroup a_a3mhC
(%<>) :: forall (t_a3mtf :: a_a3mhC) (t_a3mtg :: a_a3mhC). SSemigroup a_a3mhC => Sing t_a3mtf -> Sing t_a3mtg -> Sing (Apply (Apply (<>@#@$) t_a3mtf) t_a3mtg :: a_a3mhC)
sSconcat :: forall (t_a3mtj :: NonEmpty a_a3mhC). SSemigroup a_a3mhC => Sing t_a3mtj -> Sing (Apply SconcatSym0 t_a3mtj :: a_a3mhC)
sSconcat :: forall (t_a3mtj :: NonEmpty a_a3mhC). (SSemigroup a_a3mhC, (Apply SconcatSym0 t_a3mtj :: a_a3mhC) ~ Apply Sconcat_6989586621679810943Sym0 t_a3mtj) => Sing t_a3mtj -> Sing (Apply SconcatSym0 t_a3mtj :: a_a3mhC)
infixr 6 %<>

-- | The singleton kind-indexed data family.
data family Sing :: k -> Type
type family GetMin (a_a3oPr :: Min a_adxg) :: a_adxg
type family GetMax (a_a3oPI :: Max a_adxm) :: a_adxm
type family GetFirst (a_a3oPZ :: First a_adxA) :: a_adxA
type family GetLast (a_a3oQg :: Last a_adxG) :: a_adxG
type family GetDual (a_a3oOa :: Dual a_ajCj) :: a_ajCj
type family GetAll (a_a3oOo :: All) :: Bool
type family GetAny (a_a3oOC :: Any) :: Bool
type family GetSum (a_a3oOT :: Sum a_ajC4) :: a_ajC4
type family GetProduct (a_a3oPa :: Product a_ajC9) :: a_ajC9
type family GetOption (a_a3oNT :: Option a_adxS) :: Maybe a_adxS
type SMin = (Sing :: Min a_adxg -> Type)
type SMax = (Sing :: Max a_adxm -> Type)
type SFirst = (Sing :: First a_adxA -> Type)
type SLast = (Sing :: Last a_adxG -> Type)
type SWrappedMonoid = (Sing :: WrappedMonoid m_adxM -> Type)
type SDual = (Sing :: Dual a_ajCj -> Type)
type SAll = (Sing :: All -> Type)
type SAny = (Sing :: Any -> Type)
type SSum = (Sing :: Sum a_ajC4 -> Type)
type SProduct = (Sing :: Product a_ajC9 -> Type)
type SOption = (Sing :: Option a_adxS -> Type)
type SArg = (Sing :: Arg a_adxt b_adxu -> Type)
option_ :: b_a885c -> (a_a885d -> b_a885c) -> Option a_a885d -> b_a885c
sOption_ :: forall b_a885c a_a885d (t_a885x :: b_a885c) (t_a885y :: (~>) a_a885d b_a885c) (t_a885z :: Option a_a885d). Sing t_a885x -> Sing t_a885y -> Sing t_a885z -> Sing (Apply (Apply (Apply Option_Sym0 t_a885x) t_a885y) t_a885z :: b_a885c)
type family Option_ (a_a885o :: b_a885c) (a_a885p :: (~>) a_a885d b_a885c) (a_a885q :: Option a_a885d) :: b_a885c
data (<>@#@$) :: forall a6989586621679810436. (~>) a6989586621679810436 ((~>) a6989586621679810436 a6989586621679810436)
infixr 6 <>@#@$
data (<>@#@$$) (arg6989586621679810921 :: a6989586621679810436) :: (~>) a6989586621679810436 a6989586621679810436
infixr 6 <>@#@$$
type (<>@#@$$$) (arg6989586621679810921 :: a6989586621679810436) (arg6989586621679810922 :: a6989586621679810436) = (<>) arg6989586621679810921 arg6989586621679810922
data SconcatSym0 :: forall a6989586621679810436. (~>) (NonEmpty a6989586621679810436) a6989586621679810436
type SconcatSym1 (arg6989586621679810925 :: NonEmpty a6989586621679810436) = Sconcat arg6989586621679810925
data MinSym0 :: forall (a6989586621679061826 :: Type). (~>) a6989586621679061826 (Min (a6989586621679061826 :: Type))
type MinSym1 (t6989586621679820224 :: a6989586621679061826) =  'Min t6989586621679820224
data GetMinSym0 :: forall a6989586621679061826. (~>) (Min a6989586621679061826) a6989586621679061826
type GetMinSym1 (a6989586621679820221 :: Min a6989586621679061826) = GetMin a6989586621679820221
data MaxSym0 :: forall (a6989586621679061832 :: Type). (~>) a6989586621679061832 (Max (a6989586621679061832 :: Type))
type MaxSym1 (t6989586621679820241 :: a6989586621679061832) =  'Max t6989586621679820241
data GetMaxSym0 :: forall a6989586621679061832. (~>) (Max a6989586621679061832) a6989586621679061832
type GetMaxSym1 (a6989586621679820238 :: Max a6989586621679061832) = GetMax a6989586621679820238
data FirstSym0 :: forall (a6989586621679061846 :: Type). (~>) a6989586621679061846 (First (a6989586621679061846 :: Type))
type FirstSym1 (t6989586621679820258 :: a6989586621679061846) =  'First t6989586621679820258
data GetFirstSym0 :: forall a6989586621679061846. (~>) (First a6989586621679061846) a6989586621679061846
type GetFirstSym1 (a6989586621679820255 :: First a6989586621679061846) = GetFirst a6989586621679820255
data LastSym0 :: forall (a6989586621679061852 :: Type). (~>) a6989586621679061852 (Last (a6989586621679061852 :: Type))
type LastSym1 (t6989586621679820275 :: a6989586621679061852) =  'Last t6989586621679820275
data GetLastSym0 :: forall a6989586621679061852. (~>) (Last a6989586621679061852) a6989586621679061852
type GetLastSym1 (a6989586621679820272 :: Last a6989586621679061852) = GetLast a6989586621679820272
data WrapMonoidSym0 :: forall (m6989586621679061858 :: Type). (~>) m6989586621679061858 (WrappedMonoid (m6989586621679061858 :: Type))
type WrapMonoidSym1 (t6989586621679820292 :: m6989586621679061858) =  'WrapMonoid t6989586621679820292
data UnwrapMonoidSym0 :: forall m6989586621679061858. (~>) (WrappedMonoid m6989586621679061858) m6989586621679061858
type UnwrapMonoidSym1 (a6989586621679820289 :: WrappedMonoid m6989586621679061858) = UnwrapMonoid a6989586621679820289
data DualSym0 :: forall (a6989586621679085203 :: Type). (~>) a6989586621679085203 (Dual (a6989586621679085203 :: Type))
type DualSym1 (t6989586621679820145 :: a6989586621679085203) =  'Dual t6989586621679820145
data GetDualSym0 :: forall a6989586621679085203. (~>) (Dual a6989586621679085203) a6989586621679085203
type GetDualSym1 (a6989586621679820142 :: Dual a6989586621679085203) = GetDual a6989586621679820142
data AllSym0 :: (~>) Bool All
type AllSym1 (t6989586621679820159 :: Bool) =  'All t6989586621679820159
data GetAllSym0 :: (~>) All Bool
type GetAllSym1 (a6989586621679820156 :: All) = GetAll a6989586621679820156
data AnySym0 :: (~>) Bool Any
type AnySym1 (t6989586621679820173 :: Bool) =  'Any t6989586621679820173
data GetAnySym0 :: (~>) Any Bool
type GetAnySym1 (a6989586621679820170 :: Any) = GetAny a6989586621679820170
data SumSym0 :: forall (a6989586621679085188 :: Type). (~>) a6989586621679085188 (Sum (a6989586621679085188 :: Type))
type SumSym1 (t6989586621679820190 :: a6989586621679085188) =  'Sum t6989586621679820190
data GetSumSym0 :: forall a6989586621679085188. (~>) (Sum a6989586621679085188) a6989586621679085188
type GetSumSym1 (a6989586621679820187 :: Sum a6989586621679085188) = GetSum a6989586621679820187
data ProductSym0 :: forall (a6989586621679085193 :: Type). (~>) a6989586621679085193 (Product (a6989586621679085193 :: Type))
type ProductSym1 (t6989586621679820207 :: a6989586621679085193) =  'Product t6989586621679820207
data GetProductSym0 :: forall a6989586621679085193. (~>) (Product a6989586621679085193) a6989586621679085193
type GetProductSym1 (a6989586621679820204 :: Product a6989586621679085193) = GetProduct a6989586621679820204
data OptionSym0 :: forall (a6989586621679061864 :: Type). (~>) (Maybe a6989586621679061864) (Option (a6989586621679061864 :: Type))
type OptionSym1 (t6989586621679820128 :: Maybe a6989586621679061864) =  'Option t6989586621679820128
data GetOptionSym0 :: forall a6989586621679061864. (~>) (Option a6989586621679061864) (Maybe a6989586621679061864)
type GetOptionSym1 (a6989586621679820125 :: Option a6989586621679061864) = GetOption a6989586621679820125
data ArgSym0 :: forall (a6989586621679061839 :: Type) (b6989586621679061840 :: Type). (~>) a6989586621679061839 ((~>) b6989586621679061840 (Arg (a6989586621679061839 :: Type) (b6989586621679061840 :: Type)))
data ArgSym1 (t6989586621680860190 :: (a6989586621679061839 :: Type)) :: forall (b6989586621679061840 :: Type). (~>) b6989586621679061840 (Arg (a6989586621679061839 :: Type) (b6989586621679061840 :: Type))
type ArgSym2 (t6989586621680860190 :: a6989586621679061839) (t6989586621680860191 :: b6989586621679061840) =  'Arg t6989586621680860190 t6989586621680860191
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Option_Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Semigroup.Option_Sym0
instance forall a6989586621680947491 b6989586621680947490 (a6989586621680947502 :: b6989586621680947490). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Option_Sym1 a6989586621680947502)
instance forall b a (d :: b). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Semigroup.Option_Sym1 d)
instance forall a6989586621680947491 b6989586621680947490 (a6989586621680947503 :: b6989586621680947490) (a6989586621680947502 :: a6989586621680947491 Data.Singletons.Internal.~> b6989586621680947490). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Option_Sym2 a6989586621680947503 a6989586621680947502)
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_6989586621680879980Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Option
instance forall a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (a6989586621680879978 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680879980Sym1 a6989586621680879978)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680879968Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Option
instance forall a6989586621680448447 m6989586621680448446 (a6989586621680879966 :: a6989586621680448447 Data.Singletons.Internal.~> m6989586621680448446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680879968Sym1 a6989586621680879966)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.Option a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879954Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Option a)
instance forall a6989586621680877952 (a6989586621680879952 :: Data.Semigroup.Option a6989586621680877952). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879954Sym1 a6989586621680879952)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879942Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Option
instance forall b6989586621679545994 a6989586621679545993 (a6989586621680879940 :: Data.Semigroup.Option a6989586621679545993). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879942Sym1 a6989586621680879940)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879926Sym0
instance forall b6989586621679545992 a6989586621679545991 (a6989586621680879924 :: Data.Semigroup.Option a6989586621679545991). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879926Sym1 a6989586621680879924)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879914Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Option
instance forall b6989586621679545965 a6989586621679545964 (a6989586621680879912 :: a6989586621679545964). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879914Sym1 a6989586621680879912)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680879902Sym0
instance forall a6989586621679545962 b6989586621679545963 (a6989586621680879900 :: a6989586621679545962 Data.Singletons.Internal.~> b6989586621679545963). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680879902Sym1 a6989586621680879900)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879890Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Option
instance forall b6989586621679545974 a6989586621679545973 (a6989586621680879888 :: Data.Semigroup.Option a6989586621679545973). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879890Sym1 a6989586621680879888)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680879878Sym0
instance forall a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621680879875 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680879878Sym1 a6989586621680879875)
instance forall a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621680879876 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)) (a6989586621680879875 :: Data.Semigroup.Option a6989586621679545970). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680879878Sym2 a6989586621680879876 a6989586621680879875)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879862Sym0
instance forall a6989586621679545968 b6989586621679545969 (a6989586621680879860 :: Data.Semigroup.Option (a6989586621679545968 Data.Singletons.Internal.~> b6989586621679545969)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879862Sym1 a6989586621680879860)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680879851Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879843Sym0
instance Data.Singletons.Prelude.Monad.Internal.PAlternative Data.Semigroup.Option
instance forall a6989586621679546045 (a6989586621680879841 :: Data.Semigroup.Option a6989586621679546045). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879843Sym1 a6989586621680879841)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680879839ASym0
instance Data.Singletons.Prelude.Monad.Internal.SAlternative Data.Semigroup.Option
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680879826Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.WrappedMonoid a)
instance forall a6989586621680877932 (a6989586621680879823 :: Data.Semigroup.WrappedMonoid a6989586621680877932). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680879826Sym1 a6989586621680879823)
instance forall a6989586621680877932 (a6989586621680879824 :: Data.Semigroup.WrappedMonoid a6989586621680877932) (a6989586621680879823 :: Data.Semigroup.WrappedMonoid a6989586621680877932). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680879826Sym2 a6989586621680879824 a6989586621680879823)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680879810Sym0
instance forall a6989586621680877932 (a6989586621680879808 :: Data.Semigroup.WrappedMonoid a6989586621680877932). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680879810Sym1 a6989586621680879808)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680879799Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680879792Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680879783Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680879776Sym0
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.WrappedMonoid m)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879766Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.WrappedMonoid m)
instance forall m6989586621680877928 (a6989586621680879764 :: Data.Semigroup.WrappedMonoid m6989586621680877928). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879766Sym1 a6989586621680879764)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680879754Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Last
instance forall a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (a6989586621680879752 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680879754Sym1 a6989586621680879752)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680879741Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Last
instance forall a6989586621680448448 b6989586621680448449 (a6989586621680879738 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680879741Sym1 a6989586621680879738)
instance forall a6989586621680448448 b6989586621680448449 (a6989586621680879739 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)) (a6989586621680879738 :: b6989586621680448449). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680879741Sym2 a6989586621680879739 a6989586621680879738)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680879725Sym0
instance forall a6989586621680448447 m6989586621680448446 (a6989586621680879723 :: a6989586621680448447 Data.Singletons.Internal.~> m6989586621680448446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680879725Sym1 a6989586621680879723)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879713Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Last a)
instance forall a6989586621680877926 (a6989586621680879711 :: Data.Semigroup.Last a6989586621680877926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879713Sym1 a6989586621680879711)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879702Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Last
instance forall b6989586621679545992 a6989586621679545991 (a6989586621680879700 :: Data.Semigroup.Last a6989586621679545991). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879702Sym1 a6989586621680879700)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879690Sym0
instance forall b6989586621679545994 a6989586621679545993 (a6989586621680879688 :: Data.Semigroup.Last a6989586621679545993). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879690Sym1 a6989586621680879688)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879674Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Last
instance forall b6989586621679545965 a6989586621679545964 (a6989586621680879672 :: a6989586621679545964). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879674Sym1 a6989586621680879672)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879665Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.Last
instance forall k1 k2 k3 (_z_69895866216808784166989586621680879663 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879665Sym1 _z_69895866216808784166989586621680879663)
instance forall k1 k2 k3 (a_69895866216808784226989586621680879664 :: k3) (_z_69895866216808784166989586621680879663 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879665Sym2 a_69895866216808784226989586621680879664 _z_69895866216808784166989586621680879663)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680879655Sym0
instance forall a6989586621679545962 b6989586621679545963 (a6989586621680879653 :: a6989586621679545962 Data.Singletons.Internal.~> b6989586621679545963). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680879655Sym1 a6989586621680879653)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680879642Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.Last a)
instance forall a6989586621680877915 (a6989586621680879639 :: Data.Semigroup.Last a6989586621680877915). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680879642Sym1 a6989586621680879639)
instance forall a6989586621680877915 (a6989586621680879640 :: Data.Semigroup.Last a6989586621680877915) (a6989586621680879639 :: Data.Semigroup.Last a6989586621680877915). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680879642Sym2 a6989586621680879640 a6989586621680879639)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680879626Sym0
instance forall a6989586621680877915 (a6989586621680879624 :: Data.Semigroup.Last a6989586621680877915). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680879626Sym1 a6989586621680879624)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680879615Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680879608Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680879599Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680879592Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680879583Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Last
instance forall a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621680879580 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680879583Sym1 a6989586621680879580)
instance forall a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621680879581 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)) (a6989586621680879580 :: Data.Semigroup.Last a6989586621679545970). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680879583Sym2 a6989586621680879581 a6989586621680879580)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879567Sym0
instance forall a6989586621679545968 b6989586621679545969 (a6989586621680879565 :: Data.Semigroup.Last (a6989586621679545968 Data.Singletons.Internal.~> b6989586621679545969)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879567Sym1 a6989586621680879565)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879555Sym0
instance forall b6989586621679545974 a6989586621679545973 (a6989586621680879553 :: Data.Semigroup.Last a6989586621679545973). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879555Sym1 a6989586621680879553)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879544Sym0
instance forall b6989586621679545976 a6989586621679545975 (a6989586621680879542 :: Data.Semigroup.Last a6989586621679545975). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879544Sym1 a6989586621680879542)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680879534Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680879526Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.First
instance forall a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (a6989586621680879524 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680879526Sym1 a6989586621680879524)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680879513Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.First
instance forall a6989586621680448448 b6989586621680448449 (a6989586621680879510 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680879513Sym1 a6989586621680879510)
instance forall a6989586621680448448 b6989586621680448449 (a6989586621680879511 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)) (a6989586621680879510 :: b6989586621680448449). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680879513Sym2 a6989586621680879511 a6989586621680879510)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680879497Sym0
instance forall a6989586621680448447 m6989586621680448446 (a6989586621680879495 :: a6989586621680448447 Data.Singletons.Internal.~> m6989586621680448446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680879497Sym1 a6989586621680879495)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879485Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.First a)
instance forall a6989586621680877905 (a6989586621680879483 :: Data.Semigroup.First a6989586621680877905). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879485Sym1 a6989586621680879483)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879474Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.First
instance forall b6989586621679545992 a6989586621679545991 (a6989586621680879472 :: Data.Semigroup.First a6989586621679545991). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879474Sym1 a6989586621680879472)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879462Sym0
instance forall b6989586621679545994 a6989586621679545993 (a6989586621680879460 :: Data.Semigroup.First a6989586621679545993). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879462Sym1 a6989586621680879460)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879446Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.First
instance forall b6989586621679545965 a6989586621679545964 (a6989586621680879444 :: a6989586621679545964). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879446Sym1 a6989586621680879444)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879437Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.First
instance forall k1 k2 k3 (_z_69895866216808783826989586621680879435 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879437Sym1 _z_69895866216808783826989586621680879435)
instance forall k1 k2 k3 (a_69895866216808783886989586621680879436 :: k3) (_z_69895866216808783826989586621680879435 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879437Sym2 a_69895866216808783886989586621680879436 _z_69895866216808783826989586621680879435)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680879427Sym0
instance forall a6989586621679545962 b6989586621679545963 (a6989586621680879425 :: a6989586621679545962 Data.Singletons.Internal.~> b6989586621679545963). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680879427Sym1 a6989586621680879425)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680879414Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.First a)
instance forall a6989586621680877894 (a6989586621680879411 :: Data.Semigroup.First a6989586621680877894). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680879414Sym1 a6989586621680879411)
instance forall a6989586621680877894 (a6989586621680879412 :: Data.Semigroup.First a6989586621680877894) (a6989586621680879411 :: Data.Semigroup.First a6989586621680877894). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680879414Sym2 a6989586621680879412 a6989586621680879411)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680879398Sym0
instance forall a6989586621680877894 (a6989586621680879396 :: Data.Semigroup.First a6989586621680877894). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680879398Sym1 a6989586621680879396)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680879387Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680879380Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680879371Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680879364Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680879355Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.First
instance forall a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621680879352 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680879355Sym1 a6989586621680879352)
instance forall a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621680879353 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)) (a6989586621680879352 :: Data.Semigroup.First a6989586621679545970). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680879355Sym2 a6989586621680879353 a6989586621680879352)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879339Sym0
instance forall a6989586621679545968 b6989586621679545969 (a6989586621680879337 :: Data.Semigroup.First (a6989586621679545968 Data.Singletons.Internal.~> b6989586621679545969)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879339Sym1 a6989586621680879337)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879327Sym0
instance forall b6989586621679545974 a6989586621679545973 (a6989586621680879325 :: Data.Semigroup.First a6989586621679545973). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879327Sym1 a6989586621680879325)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879316Sym0
instance forall b6989586621679545976 a6989586621679545975 (a6989586621680879314 :: Data.Semigroup.First a6989586621679545975). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879316Sym1 a6989586621680879314)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680879306Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680879298Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable (Data.Semigroup.Arg a)
instance forall a6989586621680877885 a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (a6989586621680879296 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680879298Sym1 a6989586621680879296)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680879284Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable (Data.Semigroup.Arg a)
instance forall a6989586621680877884 a6989586621680448448 b6989586621680448449 (a6989586621680879281 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680879284Sym1 a6989586621680879281)
instance forall a6989586621680877884 a6989586621680448448 b6989586621680448449 (a6989586621680879282 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)) (a6989586621680879281 :: b6989586621680448449). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680879284Sym2 a6989586621680879282 a6989586621680879281)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879269Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable (Data.Semigroup.Arg a)
instance forall k1 k2 k3 k4 k5 k6 (_f_69895866216808783446989586621680879265 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879269Sym1 _f_69895866216808783446989586621680879265)
instance forall k1 k2 k3 k4 k5 k6 (_z_69895866216808783466989586621680879266 :: k6) (_f_69895866216808783446989586621680879265 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879269Sym2 _z_69895866216808783466989586621680879266 _f_69895866216808783446989586621680879265)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216808783586989586621680879267 :: k6) (_z_69895866216808783466989586621680879266 :: k5) (_f_69895866216808783446989586621680879265 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879269Sym3 a_69895866216808783586989586621680879267 _z_69895866216808783466989586621680879266 _f_69895866216808783446989586621680879265)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216808783606989586621680879268 :: k6) (a_69895866216808783586989586621680879267 :: k5) (_z_69895866216808783466989586621680879266 :: k4) (_f_69895866216808783446989586621680879265 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879269Sym4 a_69895866216808783606989586621680879268 a_69895866216808783586989586621680879267 _z_69895866216808783466989586621680879266 _f_69895866216808783446989586621680879265)
instance forall k1 k2 k3 k4 k5 k6 (t6989586621680879273 :: k6) (a_69895866216808783606989586621680879268 :: k5) (a_69895866216808783586989586621680879267 :: k4) (_z_69895866216808783466989586621680879266 :: k3) (_f_69895866216808783446989586621680879265 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879269Sym5 t6989586621680879273 a_69895866216808783606989586621680879268 a_69895866216808783586989586621680879267 _z_69895866216808783466989586621680879266 _f_69895866216808783446989586621680879265)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680879255Sym0
instance forall a6989586621680877884 a6989586621680448447 m6989586621680448446 (a6989586621680879253 :: a6989586621680448447 Data.Singletons.Internal.~> m6989586621680448446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680879255Sym1 a6989586621680879253)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879245Sym0
instance forall k1 k2 k3 k4 k5 (_f_69895866216808783446989586621680879242 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879245Sym1 _f_69895866216808783446989586621680879242)
instance forall k1 k2 k3 k4 k5 (a_69895866216808783506989586621680879243 :: k5) (_f_69895866216808783446989586621680879242 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879245Sym2 a_69895866216808783506989586621680879243 _f_69895866216808783446989586621680879242)
instance forall k1 k2 k3 k4 k5 (a_69895866216808783526989586621680879244 :: k5) (a_69895866216808783506989586621680879243 :: k4) (_f_69895866216808783446989586621680879242 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879245Sym3 a_69895866216808783526989586621680879244 a_69895866216808783506989586621680879243 _f_69895866216808783446989586621680879242)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680879233Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Arg a b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680879233Sym1 a6989586621680879230)
instance forall a6989586621680877882 b6989586621680877883 (a6989586621680879231 :: GHC.Types.Nat) (a6989586621680879230 :: Data.Semigroup.Arg a6989586621680877882 b6989586621680877883). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680879233Sym2 a6989586621680879231 a6989586621680879230)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Max_6989586621680879214Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Semigroup.Arg a b)
instance forall a6989586621680877870 b6989586621680877871 (a6989586621680879212 :: Data.Semigroup.Arg a6989586621680877870 b6989586621680877871). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Max_6989586621680879214Sym1 a6989586621680879212)
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.Let6989586621680879195YSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680879191 :: k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879195YSym1 a6989586621680879191)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680879193 :: k7) (a6989586621680879191 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879195YSym2 b6989586621680879193 a6989586621680879191)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216808779726989586621680879187 :: k7) (b6989586621680879193 :: k6) (a6989586621680879191 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879195YSym3 arg_69895866216808779726989586621680879187 b6989586621680879193 a6989586621680879191)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216808779746989586621680879188 :: k7) (arg_69895866216808779726989586621680879187 :: k6) (b6989586621680879193 :: k5) (a6989586621680879191 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879195YSym4 arg_69895866216808779746989586621680879188 arg_69895866216808779726989586621680879187 b6989586621680879193 a6989586621680879191)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216808779766989586621680879192 :: k7) (arg_69895866216808779746989586621680879188 :: k6) (arg_69895866216808779726989586621680879187 :: k5) (b6989586621680879193 :: k4) (a6989586621680879191 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879195YSym5 wild_69895866216808779766989586621680879192 arg_69895866216808779746989586621680879188 arg_69895866216808779726989586621680879187 b6989586621680879193 a6989586621680879191)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680879195XSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680879191 :: k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879195XSym1 a6989586621680879191)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680879193 :: k7) (a6989586621680879191 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879195XSym2 b6989586621680879193 a6989586621680879191)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216808779726989586621680879187 :: k7) (b6989586621680879193 :: k6) (a6989586621680879191 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879195XSym3 arg_69895866216808779726989586621680879187 b6989586621680879193 a6989586621680879191)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216808779746989586621680879188 :: k7) (arg_69895866216808779726989586621680879187 :: k6) (b6989586621680879193 :: k5) (a6989586621680879191 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879195XSym4 arg_69895866216808779746989586621680879188 arg_69895866216808779726989586621680879187 b6989586621680879193 a6989586621680879191)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216808779766989586621680879192 :: k7) (arg_69895866216808779746989586621680879188 :: k6) (arg_69895866216808779726989586621680879187 :: k5) (b6989586621680879193 :: k4) (a6989586621680879191 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879195XSym5 wild_69895866216808779766989586621680879192 arg_69895866216808779746989586621680879188 arg_69895866216808779726989586621680879187 b6989586621680879193 a6989586621680879191)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Min_6989586621680879179Sym0
instance forall a6989586621680877870 b6989586621680877871 (a6989586621680879177 :: Data.Semigroup.Arg a6989586621680877870 b6989586621680877871). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Min_6989586621680879179Sym1 a6989586621680879177)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680879160YSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680879156 :: k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879160YSym1 a6989586621680879156)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680879158 :: k7) (a6989586621680879156 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879160YSym2 b6989586621680879158 a6989586621680879156)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216808779606989586621680879152 :: k7) (b6989586621680879158 :: k6) (a6989586621680879156 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879160YSym3 arg_69895866216808779606989586621680879152 b6989586621680879158 a6989586621680879156)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216808779626989586621680879153 :: k7) (arg_69895866216808779606989586621680879152 :: k6) (b6989586621680879158 :: k5) (a6989586621680879156 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879160YSym4 arg_69895866216808779626989586621680879153 arg_69895866216808779606989586621680879152 b6989586621680879158 a6989586621680879156)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216808779646989586621680879157 :: k7) (arg_69895866216808779626989586621680879153 :: k6) (arg_69895866216808779606989586621680879152 :: k5) (b6989586621680879158 :: k4) (a6989586621680879156 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879160YSym5 wild_69895866216808779646989586621680879157 arg_69895866216808779626989586621680879153 arg_69895866216808779606989586621680879152 b6989586621680879158 a6989586621680879156)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680879160XSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680879156 :: k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879160XSym1 a6989586621680879156)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680879158 :: k7) (a6989586621680879156 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879160XSym2 b6989586621680879158 a6989586621680879156)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216808779606989586621680879152 :: k7) (b6989586621680879158 :: k6) (a6989586621680879156 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879160XSym3 arg_69895866216808779606989586621680879152 b6989586621680879158 a6989586621680879156)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216808779626989586621680879153 :: k7) (arg_69895866216808779606989586621680879152 :: k6) (b6989586621680879158 :: k5) (a6989586621680879156 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879160XSym4 arg_69895866216808779626989586621680879153 arg_69895866216808779606989586621680879152 b6989586621680879158 a6989586621680879156)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216808779646989586621680879157 :: k7) (arg_69895866216808779626989586621680879153 :: k6) (arg_69895866216808779606989586621680879152 :: k5) (b6989586621680879158 :: k4) (a6989586621680879156 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680879160XSym5 wild_69895866216808779646989586621680879157 arg_69895866216808779626989586621680879153 arg_69895866216808779606989586621680879152 b6989586621680879158 a6989586621680879156)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Compare_6989586621680879144Sym0
instance forall a6989586621680877870 b6989586621680877871 (a6989586621680879142 :: Data.Semigroup.Arg a6989586621680877870 b6989586621680877871). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Compare_6989586621680879144Sym1 a6989586621680879142)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879132Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Semigroup.Arg a)
instance forall a6989586621680877869 b6989586621679545965 a6989586621679545964 (a6989586621680879130 :: a6989586621679545964). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879132Sym1 a6989586621680879130)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879122Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Semigroup.Arg a)
instance forall k1 k2 k3 k4 (_z_69895866216808783126989586621680879111 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879122Sym1 _z_69895866216808783126989586621680879111)
instance forall k1 k2 k3 k4 (a_69895866216808783246989586621680879112 :: k4) (_z_69895866216808783126989586621680879111 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879122Sym2 a_69895866216808783246989586621680879112 _z_69895866216808783126989586621680879111)
instance forall k1 k2 k3 k4 (a_69895866216808783266989586621680879113 :: k4) (a_69895866216808783246989586621680879112 :: k3) (_z_69895866216808783126989586621680879111 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879122Sym3 a_69895866216808783266989586621680879113 a_69895866216808783246989586621680879112 _z_69895866216808783126989586621680879111)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879114Sym0
instance forall k1 k2 k3 k4 (_z_69895866216808783126989586621680879111 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879114Sym1 _z_69895866216808783126989586621680879111)
instance forall k1 k2 k3 k4 (a_69895866216808783246989586621680879112 :: k4) (_z_69895866216808783126989586621680879111 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879114Sym2 a_69895866216808783246989586621680879112 _z_69895866216808783126989586621680879111)
instance forall k1 k2 k3 k4 (a_69895866216808783266989586621680879113 :: k4) (a_69895866216808783246989586621680879112 :: k3) (_z_69895866216808783126989586621680879111 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879114Sym3 a_69895866216808783266989586621680879113 a_69895866216808783246989586621680879112 _z_69895866216808783126989586621680879111)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680879103Sym0
instance forall a6989586621680877869 a6989586621679545962 b6989586621679545963 (a6989586621680879101 :: a6989586621679545962 Data.Singletons.Internal.~> b6989586621679545963). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680879103Sym1 a6989586621680879101)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879093Sym0
instance forall k1 k2 k3 k4 (_f_69895866216808783106989586621680879090 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879093Sym1 _f_69895866216808783106989586621680879090)
instance forall k1 k2 k3 k4 (a_69895866216808783166989586621680879091 :: k4) (_f_69895866216808783106989586621680879090 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879093Sym2 a_69895866216808783166989586621680879091 _f_69895866216808783106989586621680879090)
instance forall k1 k2 k3 k4 (a_69895866216808783186989586621680879092 :: k4) (a_69895866216808783166989586621680879091 :: k3) (_f_69895866216808783106989586621680879090 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680879093Sym3 a_69895866216808783186989586621680879092 a_69895866216808783166989586621680879091 _f_69895866216808783106989586621680879090)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879082Sym0
instance Data.Singletons.Prelude.Eq.PEq (Data.Semigroup.Arg a b)
instance forall a6989586621680877865 b6989586621680877866 (a6989586621680879080 :: Data.Semigroup.Arg a6989586621680877865 b6989586621680877866). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680879082Sym1 a6989586621680879080)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680879070Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Max
instance forall a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (a6989586621680879068 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680879070Sym1 a6989586621680879068)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680879057Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Max
instance forall a6989586621680448448 b6989586621680448449 (a6989586621680879054 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680879057Sym1 a6989586621680879054)
instance forall a6989586621680448448 b6989586621680448449 (a6989586621680879055 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)) (a6989586621680879054 :: b6989586621680448449). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680879057Sym2 a6989586621680879055 a6989586621680879054)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680879041Sym0
instance forall a6989586621680448447 m6989586621680448446 (a6989586621680879039 :: a6989586621680448447 Data.Singletons.Internal.~> m6989586621680448446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680879041Sym1 a6989586621680879039)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromInteger_6989586621680879030Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Semigroup.Max a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Signum_6989586621680879021Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Abs_6989586621680879014Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Negate_6989586621680879007Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878999Sym0
instance forall a6989586621680877855 (a6989586621680878997 :: Data.Semigroup.Max a6989586621680877855). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878999Sym1 a6989586621680878997)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878987Sym0
instance forall a6989586621680877855 (a6989586621680878985 :: Data.Semigroup.Max a6989586621680877855). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878987Sym1 a6989586621680878985)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878975Sym0
instance forall a6989586621680877855 (a6989586621680878973 :: Data.Semigroup.Max a6989586621680877855). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878975Sym1 a6989586621680878973)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.Max a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878961Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Max a)
instance forall a6989586621680877851 (a6989586621680878959 :: Data.Semigroup.Max a6989586621680877851). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878961Sym1 a6989586621680878959)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878949Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Max
instance forall b6989586621679545992 a6989586621679545991 (a6989586621680878947 :: Data.Semigroup.Max a6989586621679545991). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878949Sym1 a6989586621680878947)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878937Sym0
instance forall b6989586621679545994 a6989586621679545993 (a6989586621680878935 :: Data.Semigroup.Max a6989586621679545993). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878937Sym1 a6989586621680878935)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878921Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Max
instance forall b6989586621679545965 a6989586621679545964 (a6989586621680878919 :: a6989586621679545964). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878921Sym1 a6989586621680878919)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680878912Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.Max
instance forall k1 k2 k3 (_z_69895866216808782746989586621680878910 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680878912Sym1 _z_69895866216808782746989586621680878910)
instance forall k1 k2 k3 (a_69895866216808782806989586621680878911 :: k3) (_z_69895866216808782746989586621680878910 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680878912Sym2 a_69895866216808782806989586621680878911 _z_69895866216808782746989586621680878910)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680878902Sym0
instance forall a6989586621679545962 b6989586621679545963 (a6989586621680878900 :: a6989586621679545962 Data.Singletons.Internal.~> b6989586621679545963). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680878902Sym1 a6989586621680878900)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680878889Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.Max a)
instance forall a6989586621680877840 (a6989586621680878886 :: Data.Semigroup.Max a6989586621680877840). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680878889Sym1 a6989586621680878886)
instance forall a6989586621680877840 (a6989586621680878887 :: Data.Semigroup.Max a6989586621680877840) (a6989586621680878886 :: Data.Semigroup.Max a6989586621680877840). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680878889Sym2 a6989586621680878887 a6989586621680878886)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680878873Sym0
instance forall a6989586621680877840 (a6989586621680878871 :: Data.Semigroup.Max a6989586621680877840). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680878873Sym1 a6989586621680878871)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680878862Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680878855Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680878846Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680878839Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680878830Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Max
instance forall a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621680878827 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680878830Sym1 a6989586621680878827)
instance forall a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621680878828 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)) (a6989586621680878827 :: Data.Semigroup.Max a6989586621679545970). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680878830Sym2 a6989586621680878828 a6989586621680878827)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878814Sym0
instance forall a6989586621679545968 b6989586621679545969 (a6989586621680878812 :: Data.Semigroup.Max (a6989586621679545968 Data.Singletons.Internal.~> b6989586621679545969)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878814Sym1 a6989586621680878812)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878802Sym0
instance forall b6989586621679545974 a6989586621679545973 (a6989586621680878800 :: Data.Semigroup.Max a6989586621679545973). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878802Sym1 a6989586621680878800)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878791Sym0
instance forall b6989586621679545976 a6989586621679545975 (a6989586621680878789 :: Data.Semigroup.Max a6989586621679545975). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878791Sym1 a6989586621680878789)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680878781Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680878771Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Min
instance forall a6989586621680744887 (f6989586621680744886 :: * -> *) b6989586621680744888 (a6989586621680878769 :: a6989586621680744887 Data.Singletons.Internal.~> f6989586621680744886 b6989586621680744888). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680878771Sym1 a6989586621680878769)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680878758Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Min
instance forall a6989586621680448448 b6989586621680448449 (a6989586621680878755 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680878758Sym1 a6989586621680878755)
instance forall a6989586621680448448 b6989586621680448449 (a6989586621680878756 :: a6989586621680448448 Data.Singletons.Internal.~> (b6989586621680448449 Data.Singletons.Internal.~> b6989586621680448449)) (a6989586621680878755 :: b6989586621680448449). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680878758Sym2 a6989586621680878756 a6989586621680878755)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680878742Sym0
instance forall a6989586621680448447 m6989586621680448446 (a6989586621680878740 :: a6989586621680448447 Data.Singletons.Internal.~> m6989586621680448446). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680878742Sym1 a6989586621680878740)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromInteger_6989586621680878731Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Semigroup.Min a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Signum_6989586621680878722Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Abs_6989586621680878715Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Negate_6989586621680878708Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878700Sym0
instance forall a6989586621680877823 (a6989586621680878698 :: Data.Semigroup.Min a6989586621680877823). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878700Sym1 a6989586621680878698)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878688Sym0
instance forall a6989586621680877823 (a6989586621680878686 :: Data.Semigroup.Min a6989586621680877823). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878688Sym1 a6989586621680878686)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878676Sym0
instance forall a6989586621680877823 (a6989586621680878674 :: Data.Semigroup.Min a6989586621680877823). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878676Sym1 a6989586621680878674)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.Min a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878662Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Min a)
instance forall a6989586621680877819 (a6989586621680878660 :: Data.Semigroup.Min a6989586621680877819). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878662Sym1 a6989586621680878660)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878650Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Min
instance forall b6989586621679545992 a6989586621679545991 (a6989586621680878648 :: Data.Semigroup.Min a6989586621679545991). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878650Sym1 a6989586621680878648)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878638Sym0
instance forall b6989586621679545994 a6989586621679545993 (a6989586621680878636 :: Data.Semigroup.Min a6989586621679545993). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878638Sym1 a6989586621680878636)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878622Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Min
instance forall b6989586621679545965 a6989586621679545964 (a6989586621680878620 :: a6989586621679545964). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878622Sym1 a6989586621680878620)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680878613Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.Min
instance forall k1 k2 k3 (_z_69895866216808782406989586621680878611 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680878613Sym1 _z_69895866216808782406989586621680878611)
instance forall k1 k2 k3 (a_69895866216808782466989586621680878612 :: k3) (_z_69895866216808782406989586621680878611 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680878613Sym2 a_69895866216808782466989586621680878612 _z_69895866216808782406989586621680878611)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680878603Sym0
instance forall a6989586621679545962 b6989586621679545963 (a6989586621680878601 :: a6989586621679545962 Data.Singletons.Internal.~> b6989586621679545963). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680878603Sym1 a6989586621680878601)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680878590Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.Min a)
instance forall a6989586621680877808 (a6989586621680878587 :: Data.Semigroup.Min a6989586621680877808). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680878590Sym1 a6989586621680878587)
instance forall a6989586621680877808 (a6989586621680878588 :: Data.Semigroup.Min a6989586621680877808) (a6989586621680878587 :: Data.Semigroup.Min a6989586621680877808). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680878590Sym2 a6989586621680878588 a6989586621680878587)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680878574Sym0
instance forall a6989586621680877808 (a6989586621680878572 :: Data.Semigroup.Min a6989586621680877808). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680878574Sym1 a6989586621680878572)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680878563Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680878556Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680878547Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680878540Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680878531Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Min
instance forall a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621680878528 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680878531Sym1 a6989586621680878528)
instance forall a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621680878529 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)) (a6989586621680878528 :: Data.Semigroup.Min a6989586621679545970). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680878531Sym2 a6989586621680878529 a6989586621680878528)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878515Sym0
instance forall a6989586621679545968 b6989586621679545969 (a6989586621680878513 :: Data.Semigroup.Min (a6989586621679545968 Data.Singletons.Internal.~> b6989586621679545969)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878515Sym1 a6989586621680878513)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878503Sym0
instance forall b6989586621679545974 a6989586621679545973 (a6989586621680878501 :: Data.Semigroup.Min a6989586621679545973). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878503Sym1 a6989586621680878501)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878492Sym0
instance forall b6989586621679545976 a6989586621679545975 (a6989586621680878490 :: Data.Semigroup.Min a6989586621679545975). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680878492Sym1 a6989586621680878490)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680878482Sym0
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_6989586621680862067Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.WrappedMonoid m)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680862067Sym1 a6989586621680862064)
instance forall m6989586621679061858 (a6989586621680862065 :: GHC.Types.Nat) (a6989586621680862064 :: Data.Semigroup.WrappedMonoid m6989586621679061858). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680862067Sym2 a6989586621680862065 a6989586621680862064)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680862038Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680862038Sym1 a6989586621680862035)
instance forall a6989586621679061852 (a6989586621680862036 :: GHC.Types.Nat) (a6989586621680862035 :: Data.Semigroup.Last a6989586621679061852). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680862038Sym2 a6989586621680862036 a6989586621680862035)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680862009Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680862009Sym1 a6989586621680862006)
instance forall a6989586621679061846 (a6989586621680862007 :: GHC.Types.Nat) (a6989586621680862006 :: Data.Semigroup.First a6989586621679061846). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680862009Sym2 a6989586621680862007 a6989586621680862006)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861980Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Max a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861980Sym1 a6989586621680861977)
instance forall a6989586621679061832 (a6989586621680861978 :: GHC.Types.Nat) (a6989586621680861977 :: Data.Semigroup.Max a6989586621679061832). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861980Sym2 a6989586621680861978 a6989586621680861977)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861951Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Min a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861951Sym1 a6989586621680861948)
instance forall a6989586621679061826 (a6989586621680861949 :: GHC.Types.Nat) (a6989586621680861948 :: Data.Semigroup.Min a6989586621679061826). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861951Sym2 a6989586621680861949 a6989586621680861948)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861922Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Internal.Product a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861922Sym1 a6989586621680861919)
instance forall a6989586621679085193 (a6989586621680861920 :: GHC.Types.Nat) (a6989586621680861919 :: Data.Semigroup.Internal.Product a6989586621679085193). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861922Sym2 a6989586621680861920 a6989586621680861919)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861893Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Internal.Sum a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861893Sym1 a6989586621680861890)
instance forall a6989586621679085188 (a6989586621680861891 :: GHC.Types.Nat) (a6989586621680861890 :: Data.Semigroup.Internal.Sum a6989586621679085188). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861893Sym2 a6989586621680861891 a6989586621680861890)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861864Sym0
instance Data.Singletons.Prelude.Show.PShow Data.Semigroup.Internal.Any
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861864Sym1 a6989586621680861861)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861864Sym2 a6989586621680861862 a6989586621680861861)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861838Sym0
instance Data.Singletons.Prelude.Show.PShow Data.Semigroup.Internal.All
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861838Sym1 a6989586621680861835)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861838Sym2 a6989586621680861836 a6989586621680861835)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861812Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Internal.Dual a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861812Sym1 a6989586621680861809)
instance forall a6989586621679085203 (a6989586621680861810 :: GHC.Types.Nat) (a6989586621680861809 :: Data.Semigroup.Internal.Dual a6989586621679085203). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861812Sym2 a6989586621680861810 a6989586621680861809)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861783Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Option a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861783Sym1 a6989586621680861780)
instance forall a6989586621679061864 (a6989586621680861781 :: GHC.Types.Nat) (a6989586621680861780 :: Data.Semigroup.Option a6989586621679061864). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680861783Sym2 a6989586621680861781 a6989586621680861780)
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 b6989586621679061840 a6989586621679061839 (t6989586621680860190 :: a6989586621679061839). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ArgSym1 t6989586621680860190)
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_a29e0 :: [a_a29aP]) (a_a29e1 :: [a_a29aP]) :: [a_a29aP]
infixr 5 ++
(%++) :: forall a_a29aP (t_a29fc :: [a_a29aP]) (t_a29fd :: [a_a29aP]). Sing t_a29fc -> Sing t_a29fd -> Sing (Apply (Apply (++@#@$) t_a29fc) t_a29fd :: [a_a29aP])
infixr 5 %++
type family Head (a_a3WAk :: [a_a3TQB]) :: a_a3TQB
sHead :: forall a_a3TQB (t_a3WFT :: [a_a3TQB]). Sing t_a3WFT -> Sing (Apply HeadSym0 t_a3WFT :: a_a3TQB)
type family Last (a_a3WAf :: [a_a3TQA]) :: a_a3TQA
sLast :: forall a_a3TQA (t_a3WFR :: [a_a3TQA]). Sing t_a3WFR -> Sing (Apply LastSym0 t_a3WFR :: a_a3TQA)
type family Tail (a_a3WAc :: [a_a3TQz]) :: [a_a3TQz]
sTail :: forall a_a3TQz (t_a3WFP :: [a_a3TQz]). Sing t_a3WFP -> Sing (Apply TailSym0 t_a3WFP :: [a_a3TQz])
type family Init (a_a3WzY :: [a_a3TQy]) :: [a_a3TQy]
sInit :: forall a_a3TQy (t_a3WFN :: [a_a3TQy]). Sing t_a3WFN -> Sing (Apply InitSym0 t_a3WFN :: [a_a3TQy])
type family Null (arg_a62qL :: t_a62g4 a_a62gj) :: Bool
sNull :: forall a_a62gj (t_a62MC :: t_a62g4 a_a62gj). SFoldable t_a62g4 => Sing t_a62MC -> Sing (Apply NullSym0 t_a62MC :: Bool)
type family Length (arg_a62qN :: t_a62g4 a_a62gk) :: Nat
sLength :: forall a_a62gk (t_a62ME :: t_a62g4 a_a62gk). SFoldable t_a62g4 => Sing t_a62ME -> Sing (Apply LengthSym0 t_a62ME :: Nat)
type family Map (a_a29e8 :: (~>) a_a29aQ b_a29aR) (a_a29e9 :: [a_a29aQ]) :: [b_a29aR]
sMap :: forall a_a29aQ b_a29aR (t_a29fg :: (~>) a_a29aQ b_a29aR) (t_a29fh :: [a_a29aQ]). Sing t_a29fg -> Sing t_a29fh -> Sing (Apply (Apply MapSym0 t_a29fg) t_a29fh :: [b_a29aR])
type family Reverse (a_a3Wzd :: [a_a3TQw]) :: [a_a3TQw]
sReverse :: forall a_a3TQw (t_a3WFB :: [a_a3TQw]). Sing t_a3WFB -> Sing (Apply ReverseSym0 t_a3WFB :: [a_a3TQw])
type family Intersperse (a_a3Wz0 :: a_a3TQv) (a_a3Wz1 :: [a_a3TQv]) :: [a_a3TQv]
sIntersperse :: forall a_a3TQv (t_a3WFt :: a_a3TQv) (t_a3WFu :: [a_a3TQv]). Sing t_a3WFt -> Sing t_a3WFu -> Sing (Apply (Apply IntersperseSym0 t_a3WFt) t_a3WFu :: [a_a3TQv])
type family Intercalate (a_a3Wz7 :: [a_a3TQu]) (a_a3Wz8 :: [[a_a3TQu]]) :: [a_a3TQu]
sIntercalate :: forall a_a3TQu (t_a3WFx :: [a_a3TQu]) (t_a3WFy :: [[a_a3TQu]]). Sing t_a3WFx -> Sing t_a3WFy -> Sing (Apply (Apply IntercalateSym0 t_a3WFx) t_a3WFy :: [a_a3TQu])
type family Transpose (a_a3WAn :: [[a_a3TOF]]) :: [[a_a3TOF]]
sTranspose :: forall a_a3TOF (t_a3WFV :: [[a_a3TOF]]). Sing t_a3WFV -> Sing (Apply TransposeSym0 t_a3WFV :: [[a_a3TOF]])
type family Subsequences (a_a3WyX :: [a_a3TQt]) :: [[a_a3TQt]]
sSubsequences :: forall a_a3TQt (t_a3WFr :: [a_a3TQt]). Sing t_a3WFr -> Sing (Apply SubsequencesSym0 t_a3WFr :: [[a_a3TQt]])
type family Permutations (a_a3Wx3 :: [a_a3TQq]) :: [[a_a3TQq]]
sPermutations :: forall a_a3TQq (t_a3WFj :: [a_a3TQq]). Sing t_a3WFj -> Sing (Apply PermutationsSym0 t_a3WFj :: [[a_a3TQq]])
type family Foldl (arg_a62qp :: (~>) b_a62gc ((~>) a_a62gd b_a62gc)) (arg_a62qq :: b_a62gc) (arg_a62qr :: t_a62g4 a_a62gd) :: b_a62gc
sFoldl :: forall b_a62gc a_a62gd (t_a62Mg :: (~>) b_a62gc ((~>) a_a62gd b_a62gc)) (t_a62Mh :: b_a62gc) (t_a62Mi :: t_a62g4 a_a62gd). SFoldable t_a62g4 => Sing t_a62Mg -> Sing t_a62Mh -> Sing t_a62Mi -> Sing (Apply (Apply (Apply FoldlSym0 t_a62Mg) t_a62Mh) t_a62Mi :: b_a62gc)
type family Foldl' (arg_a62qv :: (~>) b_a62ge ((~>) a_a62gf b_a62ge)) (arg_a62qw :: b_a62ge) (arg_a62qx :: t_a62g4 a_a62gf) :: b_a62ge
sFoldl' :: forall b_a62ge a_a62gf (t_a62Mm :: (~>) b_a62ge ((~>) a_a62gf b_a62ge)) (t_a62Mn :: b_a62ge) (t_a62Mo :: t_a62g4 a_a62gf). SFoldable t_a62g4 => Sing t_a62Mm -> Sing t_a62Mn -> Sing t_a62Mo -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a62Mm) t_a62Mn) t_a62Mo :: b_a62ge)
type family Foldl1 (arg_a62qF :: (~>) a_a62gh ((~>) a_a62gh a_a62gh)) (arg_a62qG :: t_a62g4 a_a62gh) :: a_a62gh
sFoldl1 :: forall a_a62gh (t_a62Mw :: (~>) a_a62gh ((~>) a_a62gh a_a62gh)) (t_a62Mx :: t_a62g4 a_a62gh). SFoldable t_a62g4 => Sing t_a62Mw -> Sing t_a62Mx -> Sing (Apply (Apply Foldl1Sym0 t_a62Mw) t_a62Mx :: a_a62gh)
type family Foldl1' (a_a3WwW :: (~>) a_a3TQm ((~>) a_a3TQm a_a3TQm)) (a_a3WwX :: [a_a3TQm]) :: a_a3TQm
sFoldl1' :: forall a_a3TQm (t_a3WFf :: (~>) a_a3TQm ((~>) a_a3TQm a_a3TQm)) (t_a3WFg :: [a_a3TQm]). Sing t_a3WFf -> Sing t_a3WFg -> Sing (Apply (Apply Foldl1'Sym0 t_a3WFf) t_a3WFg :: a_a3TQm)
type family Foldr (arg_a62qd :: (~>) a_a62g8 ((~>) b_a62g9 b_a62g9)) (arg_a62qe :: b_a62g9) (arg_a62qf :: t_a62g4 a_a62g8) :: b_a62g9
sFoldr :: forall a_a62g8 b_a62g9 (t_a62M4 :: (~>) a_a62g8 ((~>) b_a62g9 b_a62g9)) (t_a62M5 :: b_a62g9) (t_a62M6 :: t_a62g4 a_a62g8). SFoldable t_a62g4 => Sing t_a62M4 -> Sing t_a62M5 -> Sing t_a62M6 -> Sing (Apply (Apply (Apply FoldrSym0 t_a62M4) t_a62M5) t_a62M6 :: b_a62g9)
type family Foldr1 (arg_a62qB :: (~>) a_a62gg ((~>) a_a62gg a_a62gg)) (arg_a62qC :: t_a62g4 a_a62gg) :: a_a62gg
sFoldr1 :: forall a_a62gg (t_a62Ms :: (~>) a_a62gg ((~>) a_a62gg a_a62gg)) (t_a62Mt :: t_a62g4 a_a62gg). SFoldable t_a62g4 => Sing t_a62Ms -> Sing t_a62Mt -> Sing (Apply (Apply Foldr1Sym0 t_a62Ms) t_a62Mt :: a_a62gg)
type family Concat (a_a62oj :: t_a62eR [a_a62eS]) :: [a_a62eS]
sConcat :: forall t_a62eR a_a62eS (t_a62KH :: t_a62eR [a_a62eS]). SFoldable t_a62eR => Sing t_a62KH -> Sing (Apply ConcatSym0 t_a62KH :: [a_a62eS])
type family ConcatMap (a_a62o3 :: (~>) a_a62eP [b_a62eQ]) (a_a62o4 :: t_a62eO a_a62eP) :: [b_a62eQ]
sConcatMap :: forall t_a62eO a_a62eP b_a62eQ (t_a62KD :: (~>) a_a62eP [b_a62eQ]) (t_a62KE :: t_a62eO a_a62eP). SFoldable t_a62eO => Sing t_a62KD -> Sing t_a62KE -> Sing (Apply (Apply ConcatMapSym0 t_a62KD) t_a62KE :: [b_a62eQ])
type family And (a_a62nU :: t_a62eN Bool) :: Bool
sAnd :: forall t_a62eN (t_a62KB :: t_a62eN Bool). SFoldable t_a62eN => Sing t_a62KB -> Sing (Apply AndSym0 t_a62KB :: Bool)
type family Or (a_a62nL :: t_a62eM Bool) :: Bool
sOr :: forall t_a62eM (t_a62Kz :: t_a62eM Bool). SFoldable t_a62eM => Sing t_a62Kz -> Sing (Apply OrSym0 t_a62Kz :: Bool)
type family Any (a_a62ny :: (~>) a_a62eL Bool) (a_a62nz :: t_a62eK a_a62eL) :: Bool
sAny :: forall t_a62eK a_a62eL (t_a62Kv :: (~>) a_a62eL Bool) (t_a62Kw :: t_a62eK a_a62eL). SFoldable t_a62eK => Sing t_a62Kv -> Sing t_a62Kw -> Sing (Apply (Apply AnySym0 t_a62Kv) t_a62Kw :: Bool)
type family All (a_a62nl :: (~>) a_a62eJ Bool) (a_a62nm :: t_a62eI a_a62eJ) :: Bool
sAll :: forall t_a62eI a_a62eJ (t_a62Kr :: (~>) a_a62eJ Bool) (t_a62Ks :: t_a62eI a_a62eJ). SFoldable t_a62eI => Sing t_a62Kr -> Sing t_a62Ks -> Sing (Apply (Apply AllSym0 t_a62Kr) t_a62Ks :: Bool)
type family Sum (arg_a62qX :: t_a62g4 a_a62go) :: a_a62go
sSum :: forall a_a62go (t_a62MO :: t_a62g4 a_a62go). (SFoldable t_a62g4, SNum a_a62go) => Sing t_a62MO -> Sing (Apply SumSym0 t_a62MO :: a_a62go)
type family Product (arg_a62qZ :: t_a62g4 a_a62gp) :: a_a62gp
sProduct :: forall a_a62gp (t_a62MQ :: t_a62g4 a_a62gp). (SFoldable t_a62g4, SNum a_a62gp) => Sing t_a62MQ -> Sing (Apply ProductSym0 t_a62MQ :: a_a62gp)
type family Maximum (arg_a62qT :: t_a62g4 a_a62gm) :: a_a62gm
sMaximum :: forall a_a62gm (t_a62MK :: t_a62g4 a_a62gm). (SFoldable t_a62g4, SOrd a_a62gm) => Sing t_a62MK -> Sing (Apply MaximumSym0 t_a62MK :: a_a62gm)
type family Minimum (arg_a62qV :: t_a62g4 a_a62gn) :: a_a62gn
sMinimum :: forall a_a62gn (t_a62MM :: t_a62g4 a_a62gn). (SFoldable t_a62g4, SOrd a_a62gn) => Sing t_a62MM -> Sing (Apply MinimumSym0 t_a62MM :: a_a62gn)
type family Scanl (a_a3Wth :: (~>) b_a3TQe ((~>) a_a3TQf b_a3TQe)) (a_a3Wti :: b_a3TQe) (a_a3Wtj :: [a_a3TQf]) :: [b_a3TQe]
sScanl :: forall b_a3TQe a_a3TQf (t_a3WE9 :: (~>) b_a3TQe ((~>) a_a3TQf b_a3TQe)) (t_a3WEa :: b_a3TQe) (t_a3WEb :: [a_a3TQf]). Sing t_a3WE9 -> Sing t_a3WEa -> Sing t_a3WEb -> Sing (Apply (Apply (Apply ScanlSym0 t_a3WE9) t_a3WEa) t_a3WEb :: [b_a3TQe])
type family Scanl1 (a_a3Wtv :: (~>) a_a3TQd ((~>) a_a3TQd a_a3TQd)) (a_a3Wtw :: [a_a3TQd]) :: [a_a3TQd]
sScanl1 :: forall a_a3TQd (t_a3WEf :: (~>) a_a3TQd ((~>) a_a3TQd a_a3TQd)) (t_a3WEg :: [a_a3TQd]). Sing t_a3WEf -> Sing t_a3WEg -> Sing (Apply (Apply Scanl1Sym0 t_a3WEf) t_a3WEg :: [a_a3TQd])
type family Scanr (a_a3WsW :: (~>) a_a3TQb ((~>) b_a3TQc b_a3TQc)) (a_a3WsX :: b_a3TQc) (a_a3WsY :: [a_a3TQb]) :: [b_a3TQc]
sScanr :: forall a_a3TQb b_a3TQc (t_a3WE3 :: (~>) a_a3TQb ((~>) b_a3TQc b_a3TQc)) (t_a3WE4 :: b_a3TQc) (t_a3WE5 :: [a_a3TQb]). Sing t_a3WE3 -> Sing t_a3WE4 -> Sing t_a3WE5 -> Sing (Apply (Apply (Apply ScanrSym0 t_a3WE3) t_a3WE4) t_a3WE5 :: [b_a3TQc])
type family Scanr1 (a_a3Wsy :: (~>) a_a3TQa ((~>) a_a3TQa a_a3TQa)) (a_a3Wsz :: [a_a3TQa]) :: [a_a3TQa]
sScanr1 :: forall a_a3TQa (t_a3WDZ :: (~>) a_a3TQa ((~>) a_a3TQa a_a3TQa)) (t_a3WE0 :: [a_a3TQa]). Sing t_a3WDZ -> Sing t_a3WE0 -> Sing (Apply (Apply Scanr1Sym0 t_a3WDZ) t_a3WE0 :: [a_a3TQa])
type family MapAccumL (a_a7iY2 :: (~>) a_a7iPl ((~>) b_a7iPm (a_a7iPl, c_a7iPn))) (a_a7iY3 :: a_a7iPl) (a_a7iY4 :: t_a7iPk b_a7iPm) :: (a_a7iPl, t_a7iPk c_a7iPn)
sMapAccumL :: forall t_a7iPk a_a7iPl b_a7iPm c_a7iPn (t_a7j7K :: (~>) a_a7iPl ((~>) b_a7iPm (a_a7iPl, c_a7iPn))) (t_a7j7L :: a_a7iPl) (t_a7j7M :: t_a7iPk b_a7iPm). STraversable t_a7iPk => Sing t_a7j7K -> Sing t_a7j7L -> Sing t_a7j7M -> Sing (Apply (Apply (Apply MapAccumLSym0 t_a7j7K) t_a7j7L) t_a7j7M :: (a_a7iPl, t_a7iPk c_a7iPn))
type family MapAccumR (a_a7iXL :: (~>) a_a7iPh ((~>) b_a7iPi (a_a7iPh, c_a7iPj))) (a_a7iXM :: a_a7iPh) (a_a7iXN :: t_a7iPg b_a7iPi) :: (a_a7iPh, t_a7iPg c_a7iPj)
sMapAccumR :: forall t_a7iPg a_a7iPh b_a7iPi c_a7iPj (t_a7j7E :: (~>) a_a7iPh ((~>) b_a7iPi (a_a7iPh, c_a7iPj))) (t_a7j7F :: a_a7iPh) (t_a7j7G :: t_a7iPg b_a7iPi). STraversable t_a7iPg => Sing t_a7j7E -> Sing t_a7j7F -> Sing t_a7j7G -> Sing (Apply (Apply (Apply MapAccumRSym0 t_a7j7E) t_a7j7F) t_a7j7G :: (a_a7iPh, t_a7iPg c_a7iPj))
type family Replicate (a_a3WeI :: Nat) (a_a3WeJ :: a_a3TOG) :: [a_a3TOG]
sReplicate :: forall a_a3TOG (t_a3WAJ :: Nat) (t_a3WAK :: a_a3TOG). Sing t_a3WAJ -> Sing t_a3WAK -> Sing (Apply (Apply ReplicateSym0 t_a3WAJ) t_a3WAK :: [a_a3TOG])
type family Unfoldr (a_a3Wqg :: (~>) b_a3TQ2 (Maybe (a_a3TQ3, b_a3TQ2))) (a_a3Wqh :: b_a3TQ2) :: [a_a3TQ3]
sUnfoldr :: forall b_a3TQ2 a_a3TQ3 (t_a3WDJ :: (~>) b_a3TQ2 (Maybe (a_a3TQ3, b_a3TQ2))) (t_a3WDK :: b_a3TQ2). Sing t_a3WDJ -> Sing t_a3WDK -> Sing (Apply (Apply UnfoldrSym0 t_a3WDJ) t_a3WDK :: [a_a3TQ3])
type family Take (a_a3Wgg :: Nat) (a_a3Wgh :: [a_a3TOW]) :: [a_a3TOW]
sTake :: forall a_a3TOW (t_a3WBb :: Nat) (t_a3WBc :: [a_a3TOW]). Sing t_a3WBb -> Sing t_a3WBc -> Sing (Apply (Apply TakeSym0 t_a3WBb) t_a3WBc :: [a_a3TOW])
type family Drop (a_a3Wg2 :: Nat) (a_a3Wg3 :: [a_a3TOV]) :: [a_a3TOV]
sDrop :: forall a_a3TOV (t_a3WB7 :: Nat) (t_a3WB8 :: [a_a3TOV]). Sing t_a3WB7 -> Sing t_a3WB8 -> Sing (Apply (Apply DropSym0 t_a3WB7) t_a3WB8 :: [a_a3TOV])
type family SplitAt (a_a3Wgu :: Nat) (a_a3Wgv :: [a_a3TOU]) :: ([a_a3TOU], [a_a3TOU])
sSplitAt :: forall a_a3TOU (t_a3WBf :: Nat) (t_a3WBg :: [a_a3TOU]). Sing t_a3WBf -> Sing t_a3WBg -> Sing (Apply (Apply SplitAtSym0 t_a3WBf) t_a3WBg :: ([a_a3TOU], [a_a3TOU]))
type family TakeWhile (a_a3WiO :: (~>) a_a3TP1 Bool) (a_a3WiP :: [a_a3TP1]) :: [a_a3TP1]
sTakeWhile :: forall a_a3TP1 (t_a3WBB :: (~>) a_a3TP1 Bool) (t_a3WBC :: [a_a3TP1]). Sing t_a3WBB -> Sing t_a3WBC -> Sing (Apply (Apply TakeWhileSym0 t_a3WBB) t_a3WBC :: [a_a3TP1])
type family DropWhile (a_a3Wiw :: (~>) a_a3TP0 Bool) (a_a3Wix :: [a_a3TP0]) :: [a_a3TP0]
sDropWhile :: forall a_a3TP0 (t_a3WBx :: (~>) a_a3TP0 Bool) (t_a3WBy :: [a_a3TP0]). Sing t_a3WBx -> Sing t_a3WBy -> Sing (Apply (Apply DropWhileSym0 t_a3WBx) t_a3WBy :: [a_a3TP0])
type family DropWhileEnd (a_a3Wzy :: (~>) a_a3TOZ Bool) (a_a3Wzz :: [a_a3TOZ]) :: [a_a3TOZ]
sDropWhileEnd :: forall a_a3TOZ (t_a3WFJ :: (~>) a_a3TOZ Bool) (t_a3WFK :: [a_a3TOZ]). Sing t_a3WFJ -> Sing t_a3WFK -> Sing (Apply (Apply DropWhileEndSym0 t_a3WFJ) t_a3WFK :: [a_a3TOZ])
type family Span (a_a3Whh :: (~>) a_a3TOY Bool) (a_a3Whi :: [a_a3TOY]) :: ([a_a3TOY], [a_a3TOY])
sSpan :: forall a_a3TOY (t_a3WBn :: (~>) a_a3TOY Bool) (t_a3WBo :: [a_a3TOY]). Sing t_a3WBn -> Sing t_a3WBo -> Sing (Apply (Apply SpanSym0 t_a3WBn) t_a3WBo :: ([a_a3TOY], [a_a3TOY]))
type family Break (a_a3WgA :: (~>) a_a3TOX Bool) (a_a3WgB :: [a_a3TOX]) :: ([a_a3TOX], [a_a3TOX])
sBreak :: forall a_a3TOX (t_a3WBj :: (~>) a_a3TOX Bool) (t_a3WBk :: [a_a3TOX]). Sing t_a3WBj -> Sing t_a3WBk -> Sing (Apply (Apply BreakSym0 t_a3WBj) t_a3WBk :: ([a_a3TOX], [a_a3TOX]))
type family StripPrefix (a_a4tXR :: [a_a4qER]) (a_a4tXS :: [a_a4qER]) :: Maybe [a_a4qER]
type family Group (a_a3Wit :: [a_a3TOT]) :: [[a_a3TOT]]
sGroup :: forall a_a3TOT (t_a3WBv :: [a_a3TOT]). SEq a_a3TOT => Sing t_a3WBv -> Sing (Apply GroupSym0 t_a3WBv :: [[a_a3TOT]])
type family Inits (a_a3Wq8 :: [a_a3TQ1]) :: [[a_a3TQ1]]
sInits :: forall a_a3TQ1 (t_a3WDH :: [a_a3TQ1]). Sing t_a3WDH -> Sing (Apply InitsSym0 t_a3WDH :: [[a_a3TQ1]])
type family Tails (a_a3Wq1 :: [a_a3TQ0]) :: [[a_a3TQ0]]
sTails :: forall a_a3TQ0 (t_a3WDF :: [a_a3TQ0]). Sing t_a3WDF -> Sing (Apply TailsSym0 t_a3WDF :: [[a_a3TQ0]])
type family IsPrefixOf (a_a3WpT :: [a_a3TPZ]) (a_a3WpU :: [a_a3TPZ]) :: Bool
sIsPrefixOf :: forall a_a3TPZ (t_a3WDB :: [a_a3TPZ]) (t_a3WDC :: [a_a3TPZ]). SEq a_a3TPZ => Sing t_a3WDB -> Sing t_a3WDC -> Sing (Apply (Apply IsPrefixOfSym0 t_a3WDB) t_a3WDC :: Bool)
type family IsSuffixOf (a_a3Wzq :: [a_a3TPY]) (a_a3Wzr :: [a_a3TPY]) :: Bool
sIsSuffixOf :: forall a_a3TPY (t_a3WFD :: [a_a3TPY]) (t_a3WFE :: [a_a3TPY]). SEq a_a3TPY => Sing t_a3WFD -> Sing t_a3WFE -> Sing (Apply (Apply IsSuffixOfSym0 t_a3WFD) t_a3WFE :: Bool)
type family IsInfixOf (a_a3WtJ :: [a_a3TPX]) (a_a3WtK :: [a_a3TPX]) :: Bool
sIsInfixOf :: forall a_a3TPX (t_a3WEn :: [a_a3TPX]) (t_a3WEo :: [a_a3TPX]). SEq a_a3TPX => Sing t_a3WEn -> Sing t_a3WEo -> Sing (Apply (Apply IsInfixOfSym0 t_a3WEn) t_a3WEo :: Bool)
type family Elem (arg_a62qP :: a_a62gl) (arg_a62qQ :: t_a62g4 a_a62gl) :: Bool
sElem :: forall a_a62gl (t_a62MG :: a_a62gl) (t_a62MH :: t_a62g4 a_a62gl). (SFoldable t_a62g4, SEq a_a62gl) => Sing t_a62MG -> Sing t_a62MH -> Sing (Apply (Apply ElemSym0 t_a62MG) t_a62MH :: Bool)
type family NotElem (a_a62mp :: a_a62eD) (a_a62mq :: t_a62eC a_a62eD) :: Bool
sNotElem :: forall t_a62eC a_a62eD (t_a62Kf :: a_a62eD) (t_a62Kg :: t_a62eC a_a62eD). (SFoldable t_a62eC, SEq a_a62eD) => Sing t_a62Kf -> Sing t_a62Kg -> Sing (Apply (Apply NotElemSym0 t_a62Kf) t_a62Kg :: Bool)
type family Lookup (a_a3WfL :: a_a3TOM) (a_a3WfM :: [(a_a3TOM, b_a3TON)]) :: Maybe b_a3TON
sLookup :: forall a_a3TOM b_a3TON (t_a3WB3 :: a_a3TOM) (t_a3WB4 :: [(a_a3TOM, b_a3TON)]). SEq a_a3TOM => Sing t_a3WB3 -> Sing t_a3WB4 -> Sing (Apply (Apply LookupSym0 t_a3WB3) t_a3WB4 :: Maybe b_a3TON)
type family Find (a_a62lY :: (~>) a_a62eB Bool) (a_a62lZ :: t_a62eA a_a62eB) :: Maybe a_a62eB
sFind :: forall t_a62eA a_a62eB (t_a62Kb :: (~>) a_a62eB Bool) (t_a62Kc :: t_a62eA a_a62eB). SFoldable t_a62eA => Sing t_a62Kb -> Sing t_a62Kc -> Sing (Apply (Apply FindSym0 t_a62Kb) t_a62Kc :: Maybe a_a62eB)
type family Filter (a_a3Wj2 :: (~>) a_a3TP9 Bool) (a_a3Wj3 :: [a_a3TP9]) :: [a_a3TP9]
sFilter :: forall a_a3TP9 (t_a3WBF :: (~>) a_a3TP9 Bool) (t_a3WBG :: [a_a3TP9]). Sing t_a3WBF -> Sing t_a3WBG -> Sing (Apply (Apply FilterSym0 t_a3WBF) t_a3WBG :: [a_a3TP9])
type family Partition (a_a3WfF :: (~>) a_a3TOL Bool) (a_a3WfG :: [a_a3TOL]) :: ([a_a3TOL], [a_a3TOL])
sPartition :: forall a_a3TOL (t_a3WAZ :: (~>) a_a3TOL Bool) (t_a3WB0 :: [a_a3TOL]). Sing t_a3WAZ -> Sing t_a3WB0 -> Sing (Apply (Apply PartitionSym0 t_a3WAZ) t_a3WB0 :: ([a_a3TOL], [a_a3TOL]))
type family (!!) (a_a3Weu :: [a_a3TOE]) (a_a3Wev :: Nat) :: a_a3TOE
infixl 9 !!
(%!!) :: forall a_a3TOE (t_a3WAF :: [a_a3TOE]) (t_a3WAG :: Nat). Sing t_a3WAF -> Sing t_a3WAG -> Sing (Apply (Apply (!!@#@$) t_a3WAF) t_a3WAG :: a_a3TOE)
infixl 9 %!!
type family ElemIndex (a_a3Wpd :: a_a3TP7) (a_a3Wpe :: [a_a3TP7]) :: Maybe Nat
sElemIndex :: forall a_a3TP7 (t_a3WDn :: a_a3TP7) (t_a3WDo :: [a_a3TP7]). SEq a_a3TP7 => Sing t_a3WDn -> Sing t_a3WDo -> Sing (Apply (Apply ElemIndexSym0 t_a3WDn) t_a3WDo :: Maybe Nat)
type family ElemIndices (a_a3WoX :: a_a3TP6) (a_a3WoY :: [a_a3TP6]) :: [Nat]
sElemIndices :: forall a_a3TP6 (t_a3WDf :: a_a3TP6) (t_a3WDg :: [a_a3TP6]). SEq a_a3TP6 => Sing t_a3WDf -> Sing t_a3WDg -> Sing (Apply (Apply ElemIndicesSym0 t_a3WDf) t_a3WDg :: [Nat])
type family FindIndex (a_a3Wp5 :: (~>) a_a3TP5 Bool) (a_a3Wp6 :: [a_a3TP5]) :: Maybe Nat
sFindIndex :: forall a_a3TP5 (t_a3WDj :: (~>) a_a3TP5 Bool) (t_a3WDk :: [a_a3TP5]). Sing t_a3WDj -> Sing t_a3WDk -> Sing (Apply (Apply FindIndexSym0 t_a3WDj) t_a3WDk :: Maybe Nat)
type family FindIndices (a_a3Wox :: (~>) a_a3TP4 Bool) (a_a3Woy :: [a_a3TP4]) :: [Nat]
sFindIndices :: forall a_a3TP4 (t_a3WDb :: (~>) a_a3TP4 Bool) (t_a3WDc :: [a_a3TP4]). Sing t_a3WDb -> Sing t_a3WDc -> Sing (Apply (Apply FindIndicesSym0 t_a3WDb) t_a3WDc :: [Nat])
type family Zip (a_a3Wop :: [a_a3TPT]) (a_a3Woq :: [b_a3TPU]) :: [(a_a3TPT, b_a3TPU)]
sZip :: forall a_a3TPT b_a3TPU (t_a3WD7 :: [a_a3TPT]) (t_a3WD8 :: [b_a3TPU]). Sing t_a3WD7 -> Sing t_a3WD8 -> Sing (Apply (Apply ZipSym0 t_a3WD7) t_a3WD8 :: [(a_a3TPT, b_a3TPU)])
type family Zip3 (a_a3Wod :: [a_a3TPQ]) (a_a3Woe :: [b_a3TPR]) (a_a3Wof :: [c_a3TPS]) :: [(a_a3TPQ, b_a3TPR, c_a3TPS)]
sZip3 :: forall a_a3TPQ b_a3TPR c_a3TPS (t_a3WD1 :: [a_a3TPQ]) (t_a3WD2 :: [b_a3TPR]) (t_a3WD3 :: [c_a3TPS]). Sing t_a3WD1 -> Sing t_a3WD2 -> Sing t_a3WD3 -> Sing (Apply (Apply (Apply Zip3Sym0 t_a3WD1) t_a3WD2) t_a3WD3 :: [(a_a3TPQ, b_a3TPR, c_a3TPS)])
type family Zip4 (a_a4tXF :: [a_a4qEN]) (a_a4tXG :: [b_a4qEO]) (a_a4tXH :: [c_a4qEP]) (a_a4tXI :: [d_a4qEQ]) :: [(a_a4qEN, b_a4qEO, c_a4qEP, d_a4qEQ)]
type family Zip5 (a_a4tXi :: [a_a4qEI]) (a_a4tXj :: [b_a4qEJ]) (a_a4tXk :: [c_a4qEK]) (a_a4tXl :: [d_a4qEL]) (a_a4tXm :: [e_a4qEM]) :: [(a_a4qEI, b_a4qEJ, c_a4qEK, d_a4qEL, e_a4qEM)]
type family Zip6 (a_a4tWQ :: [a_a4qEC]) (a_a4tWR :: [b_a4qED]) (a_a4tWS :: [c_a4qEE]) (a_a4tWT :: [d_a4qEF]) (a_a4tWU :: [e_a4qEG]) (a_a4tWV :: [f_a4qEH]) :: [(a_a4qEC, b_a4qED, c_a4qEE, d_a4qEF, e_a4qEG, f_a4qEH)]
type family Zip7 (a_a4tWj :: [a_a4qEv]) (a_a4tWk :: [b_a4qEw]) (a_a4tWl :: [c_a4qEx]) (a_a4tWm :: [d_a4qEy]) (a_a4tWn :: [e_a4qEz]) (a_a4tWo :: [f_a4qEA]) (a_a4tWp :: [g_a4qEB]) :: [(a_a4qEv, b_a4qEw, c_a4qEx, d_a4qEy, e_a4qEz, f_a4qEA, g_a4qEB)]
type family ZipWith (a_a3Wo2 :: (~>) a_a3TPN ((~>) b_a3TPO c_a3TPP)) (a_a3Wo3 :: [a_a3TPN]) (a_a3Wo4 :: [b_a3TPO]) :: [c_a3TPP]
sZipWith :: forall a_a3TPN b_a3TPO c_a3TPP (t_a3WCV :: (~>) a_a3TPN ((~>) b_a3TPO c_a3TPP)) (t_a3WCW :: [a_a3TPN]) (t_a3WCX :: [b_a3TPO]). Sing t_a3WCV -> Sing t_a3WCW -> Sing t_a3WCX -> Sing (Apply (Apply (Apply ZipWithSym0 t_a3WCV) t_a3WCW) t_a3WCX :: [c_a3TPP])
type family ZipWith3 (a_a3WnN :: (~>) a_a3TPJ ((~>) b_a3TPK ((~>) c_a3TPL d_a3TPM))) (a_a3WnO :: [a_a3TPJ]) (a_a3WnP :: [b_a3TPK]) (a_a3WnQ :: [c_a3TPL]) :: [d_a3TPM]
sZipWith3 :: forall a_a3TPJ b_a3TPK c_a3TPL d_a3TPM (t_a3WCN :: (~>) a_a3TPJ ((~>) b_a3TPK ((~>) c_a3TPL d_a3TPM))) (t_a3WCO :: [a_a3TPJ]) (t_a3WCP :: [b_a3TPK]) (t_a3WCQ :: [c_a3TPL]). Sing t_a3WCN -> Sing t_a3WCO -> Sing t_a3WCP -> Sing t_a3WCQ -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a3WCN) t_a3WCO) t_a3WCP) t_a3WCQ :: [d_a3TPM])
type family ZipWith4 (a_a4tVM :: (~>) a_a4qEq ((~>) b_a4qEr ((~>) c_a4qEs ((~>) d_a4qEt e_a4qEu)))) (a_a4tVN :: [a_a4qEq]) (a_a4tVO :: [b_a4qEr]) (a_a4tVP :: [c_a4qEs]) (a_a4tVQ :: [d_a4qEt]) :: [e_a4qEu]
type family ZipWith5 (a_a4tVp :: (~>) a_a4qEk ((~>) b_a4qEl ((~>) c_a4qEm ((~>) d_a4qEn ((~>) e_a4qEo f_a4qEp))))) (a_a4tVq :: [a_a4qEk]) (a_a4tVr :: [b_a4qEl]) (a_a4tVs :: [c_a4qEm]) (a_a4tVt :: [d_a4qEn]) (a_a4tVu :: [e_a4qEo]) :: [f_a4qEp]
type family ZipWith6 (a_a4tUY :: (~>) a_a4qEd ((~>) b_a4qEe ((~>) c_a4qEf ((~>) d_a4qEg ((~>) e_a4qEh ((~>) f_a4qEi g_a4qEj)))))) (a_a4tUZ :: [a_a4qEd]) (a_a4tV0 :: [b_a4qEe]) (a_a4tV1 :: [c_a4qEf]) (a_a4tV2 :: [d_a4qEg]) (a_a4tV3 :: [e_a4qEh]) (a_a4tV4 :: [f_a4qEi]) :: [g_a4qEj]
type family ZipWith7 (a_a4tUt :: (~>) a_a4qE5 ((~>) b_a4qE6 ((~>) c_a4qE7 ((~>) d_a4qE8 ((~>) e_a4qE9 ((~>) f_a4qEa ((~>) g_a4qEb h_a4qEc))))))) (a_a4tUu :: [a_a4qE5]) (a_a4tUv :: [b_a4qE6]) (a_a4tUw :: [c_a4qE7]) (a_a4tUx :: [d_a4qE8]) (a_a4tUy :: [e_a4qE9]) (a_a4tUz :: [f_a4qEa]) (a_a4tUA :: [g_a4qEb]) :: [h_a4qEc]
type family Unzip (a_a3Wnu :: [(a_a3TPH, b_a3TPI)]) :: ([a_a3TPH], [b_a3TPI])
sUnzip :: forall a_a3TPH b_a3TPI (t_a3WCL :: [(a_a3TPH, b_a3TPI)]). Sing t_a3WCL -> Sing (Apply UnzipSym0 t_a3WCL :: ([a_a3TPH], [b_a3TPI]))
type family Unzip3 (a_a3Wn9 :: [(a_a3TPE, b_a3TPF, c_a3TPG)]) :: ([a_a3TPE], [b_a3TPF], [c_a3TPG])
sUnzip3 :: forall a_a3TPE b_a3TPF c_a3TPG (t_a3WCJ :: [(a_a3TPE, b_a3TPF, c_a3TPG)]). Sing t_a3WCJ -> Sing (Apply Unzip3Sym0 t_a3WCJ :: ([a_a3TPE], [b_a3TPF], [c_a3TPG]))
type family Unzip4 (a_a3WmM :: [(a_a3TPA, b_a3TPB, c_a3TPC, d_a3TPD)]) :: ([a_a3TPA], [b_a3TPB], [c_a3TPC], [d_a3TPD])
sUnzip4 :: forall a_a3TPA b_a3TPB c_a3TPC d_a3TPD (t_a3WCH :: [(a_a3TPA, b_a3TPB, c_a3TPC, d_a3TPD)]). Sing t_a3WCH -> Sing (Apply Unzip4Sym0 t_a3WCH :: ([a_a3TPA], [b_a3TPB], [c_a3TPC], [d_a3TPD]))
type family Unzip5 (a_a3Wmn :: [(a_a3TPv, b_a3TPw, c_a3TPx, d_a3TPy, e_a3TPz)]) :: ([a_a3TPv], [b_a3TPw], [c_a3TPx], [d_a3TPy], [e_a3TPz])
sUnzip5 :: forall a_a3TPv b_a3TPw c_a3TPx d_a3TPy e_a3TPz (t_a3WCF :: [(a_a3TPv, b_a3TPw, c_a3TPx, d_a3TPy, e_a3TPz)]). Sing t_a3WCF -> Sing (Apply Unzip5Sym0 t_a3WCF :: ([a_a3TPv], [b_a3TPw], [c_a3TPx], [d_a3TPy], [e_a3TPz]))
type family Unzip6 (a_a3WlW :: [(a_a3TPp, b_a3TPq, c_a3TPr, d_a3TPs, e_a3TPt, f_a3TPu)]) :: ([a_a3TPp], [b_a3TPq], [c_a3TPr], [d_a3TPs], [e_a3TPt], [f_a3TPu])
sUnzip6 :: forall a_a3TPp b_a3TPq c_a3TPr d_a3TPs e_a3TPt f_a3TPu (t_a3WCD :: [(a_a3TPp, b_a3TPq, c_a3TPr, d_a3TPs, e_a3TPt, f_a3TPu)]). Sing t_a3WCD -> Sing (Apply Unzip6Sym0 t_a3WCD :: ([a_a3TPp], [b_a3TPq], [c_a3TPr], [d_a3TPs], [e_a3TPt], [f_a3TPu]))
type family Unzip7 (a_a3Wlt :: [(a_a3TPi, b_a3TPj, c_a3TPk, d_a3TPl, e_a3TPm, f_a3TPn, g_a3TPo)]) :: ([a_a3TPi], [b_a3TPj], [c_a3TPk], [d_a3TPl], [e_a3TPm], [f_a3TPn], [g_a3TPo])
sUnzip7 :: forall a_a3TPi b_a3TPj c_a3TPk d_a3TPl e_a3TPm f_a3TPn g_a3TPo (t_a3WCB :: [(a_a3TPi, b_a3TPj, c_a3TPk, d_a3TPl, e_a3TPm, f_a3TPn, g_a3TPo)]). Sing t_a3WCB -> Sing (Apply Unzip7Sym0 t_a3WCB :: ([a_a3TPi], [b_a3TPj], [c_a3TPk], [d_a3TPl], [e_a3TPm], [f_a3TPn], [g_a3TPo]))
type family Unlines (a_a3Wlp :: [Symbol]) :: Symbol
sUnlines :: forall (t_a3WCz :: [Symbol]). Sing t_a3WCz -> Sing (Apply UnlinesSym0 t_a3WCz :: Symbol)
type family Unwords (a_a3Wle :: [Symbol]) :: Symbol
sUnwords :: forall (t_a3WCx :: [Symbol]). Sing t_a3WCx -> Sing (Apply UnwordsSym0 t_a3WCx :: Symbol)
type family Nub (a_a3Wpz :: [a_a3TOD]) :: [a_a3TOD]
sNub :: forall a_a3TOD (t_a3WDz :: [a_a3TOD]). SEq a_a3TOD => Sing t_a3WDz -> Sing (Apply NubSym0 t_a3WDz :: [a_a3TOD])
type family Delete (a_a3WkY :: a_a3TPh) (a_a3WkZ :: [a_a3TPh]) :: [a_a3TPh]
sDelete :: forall a_a3TPh (t_a3WCp :: a_a3TPh) (t_a3WCq :: [a_a3TPh]). SEq a_a3TPh => Sing t_a3WCp -> Sing t_a3WCq -> Sing (Apply (Apply DeleteSym0 t_a3WCp) t_a3WCq :: [a_a3TPh])
type family (\\) (a_a3Wl8 :: [a_a3TPg]) (a_a3Wl9 :: [a_a3TPg]) :: [a_a3TPg]
infix 5 \\
(%\\) :: forall a_a3TPg (t_a3WCt :: [a_a3TPg]) (t_a3WCu :: [a_a3TPg]). SEq a_a3TPg => Sing t_a3WCt -> Sing t_a3WCu -> Sing (Apply (Apply (\\@#@$) t_a3WCt) t_a3WCu :: [a_a3TPg])
infix 5 %\\
type family Union (a_a3WkO :: [a_a3TOz]) (a_a3WkP :: [a_a3TOz]) :: [a_a3TOz]
sUnion :: forall a_a3TOz (t_a3WCl :: [a_a3TOz]) (t_a3WCm :: [a_a3TOz]). SEq a_a3TOz => Sing t_a3WCl -> Sing t_a3WCm -> Sing (Apply (Apply UnionSym0 t_a3WCl) t_a3WCm :: [a_a3TOz])
type family Intersect (a_a3Wup :: [a_a3TP3]) (a_a3Wuq :: [a_a3TP3]) :: [a_a3TP3]
sIntersect :: forall a_a3TP3 (t_a3WEx :: [a_a3TP3]) (t_a3WEy :: [a_a3TP3]). SEq a_a3TP3 => Sing t_a3WEx -> Sing t_a3WEy -> Sing (Apply (Apply IntersectSym0 t_a3WEx) t_a3WEy :: [a_a3TP3])
type family Insert (a_a3WjN :: a_a3TOQ) (a_a3WjO :: [a_a3TOQ]) :: [a_a3TOQ]
sInsert :: forall a_a3TOQ (t_a3WBT :: a_a3TOQ) (t_a3WBU :: [a_a3TOQ]). SOrd a_a3TOQ => Sing t_a3WBT -> Sing t_a3WBU -> Sing (Apply (Apply InsertSym0 t_a3WBT) t_a3WBU :: [a_a3TOQ])
type family Sort (a_a3Wk3 :: [a_a3TOP]) :: [a_a3TOP]
sSort :: forall a_a3TOP (t_a3WC1 :: [a_a3TOP]). SOrd a_a3TOP => Sing t_a3WC1 -> Sing (Apply SortSym0 t_a3WC1 :: [a_a3TOP])
type family NubBy (a_a3We5 :: (~>) a_a3TOC ((~>) a_a3TOC Bool)) (a_a3We6 :: [a_a3TOC]) :: [a_a3TOC]
sNubBy :: forall a_a3TOC (t_a3WAB :: (~>) a_a3TOC ((~>) a_a3TOC Bool)) (t_a3WAC :: [a_a3TOC]). Sing t_a3WAB -> Sing t_a3WAC -> Sing (Apply (Apply NubBySym0 t_a3WAB) t_a3WAC :: [a_a3TOC])
type family DeleteBy (a_a3Wk6 :: (~>) a_a3TPf ((~>) a_a3TPf Bool)) (a_a3Wk7 :: a_a3TPf) (a_a3Wk8 :: [a_a3TPf]) :: [a_a3TPf]
sDeleteBy :: forall a_a3TPf (t_a3WC3 :: (~>) a_a3TPf ((~>) a_a3TPf Bool)) (t_a3WC4 :: a_a3TPf) (t_a3WC5 :: [a_a3TPf]). Sing t_a3WC3 -> Sing t_a3WC4 -> Sing t_a3WC5 -> Sing (Apply (Apply (Apply DeleteBySym0 t_a3WC3) t_a3WC4) t_a3WC5 :: [a_a3TPf])
type family DeleteFirstsBy (a_a3Wko :: (~>) a_a3TPe ((~>) a_a3TPe Bool)) (a_a3Wkp :: [a_a3TPe]) (a_a3Wkq :: [a_a3TPe]) :: [a_a3TPe]
sDeleteFirstsBy :: forall a_a3TPe (t_a3WC9 :: (~>) a_a3TPe ((~>) a_a3TPe Bool)) (t_a3WCa :: [a_a3TPe]) (t_a3WCb :: [a_a3TPe]). Sing t_a3WC9 -> Sing t_a3WCa -> Sing t_a3WCb -> Sing (Apply (Apply (Apply DeleteFirstsBySym0 t_a3WC9) t_a3WCa) t_a3WCb :: [a_a3TPe])
type family UnionBy (a_a3WkB :: (~>) a_a3TOA ((~>) a_a3TOA Bool)) (a_a3WkC :: [a_a3TOA]) (a_a3WkD :: [a_a3TOA]) :: [a_a3TOA]
sUnionBy :: forall a_a3TOA (t_a3WCf :: (~>) a_a3TOA ((~>) a_a3TOA Bool)) (t_a3WCg :: [a_a3TOA]) (t_a3WCh :: [a_a3TOA]). Sing t_a3WCf -> Sing t_a3WCg -> Sing t_a3WCh -> Sing (Apply (Apply (Apply UnionBySym0 t_a3WCf) t_a3WCg) t_a3WCh :: [a_a3TOA])
type family IntersectBy (a_a3WtP :: (~>) a_a3TP2 ((~>) a_a3TP2 Bool)) (a_a3WtQ :: [a_a3TP2]) (a_a3WtR :: [a_a3TP2]) :: [a_a3TP2]
sIntersectBy :: forall a_a3TP2 (t_a3WEr :: (~>) a_a3TP2 ((~>) a_a3TP2 Bool)) (t_a3WEs :: [a_a3TP2]) (t_a3WEt :: [a_a3TP2]). Sing t_a3WEr -> Sing t_a3WEs -> Sing t_a3WEt -> Sing (Apply (Apply (Apply IntersectBySym0 t_a3WEr) t_a3WEs) t_a3WEt :: [a_a3TP2])
type family GroupBy (a_a3WhY :: (~>) a_a3TOO ((~>) a_a3TOO Bool)) (a_a3WhZ :: [a_a3TOO]) :: [[a_a3TOO]]
sGroupBy :: forall a_a3TOO (t_a3WBr :: (~>) a_a3TOO ((~>) a_a3TOO Bool)) (t_a3WBs :: [a_a3TOO]). Sing t_a3WBr -> Sing t_a3WBs -> Sing (Apply (Apply GroupBySym0 t_a3WBr) t_a3WBs :: [[a_a3TOO]])
type family SortBy (a_a3WjT :: (~>) a_a3TPd ((~>) a_a3TPd Ordering)) (a_a3WjU :: [a_a3TPd]) :: [a_a3TPd]
sSortBy :: forall a_a3TPd (t_a3WBX :: (~>) a_a3TPd ((~>) a_a3TPd Ordering)) (t_a3WBY :: [a_a3TPd]). Sing t_a3WBX -> Sing t_a3WBY -> Sing (Apply (Apply SortBySym0 t_a3WBX) t_a3WBY :: [a_a3TPd])
type family InsertBy (a_a3Wjp :: (~>) a_a3TPc ((~>) a_a3TPc Ordering)) (a_a3Wjq :: a_a3TPc) (a_a3Wjr :: [a_a3TPc]) :: [a_a3TPc]
sInsertBy :: forall a_a3TPc (t_a3WBN :: (~>) a_a3TPc ((~>) a_a3TPc Ordering)) (t_a3WBO :: a_a3TPc) (t_a3WBP :: [a_a3TPc]). Sing t_a3WBN -> Sing t_a3WBO -> Sing t_a3WBP -> Sing (Apply (Apply (Apply InsertBySym0 t_a3WBN) t_a3WBO) t_a3WBP :: [a_a3TPc])
type family MaximumBy (a_a62mW :: (~>) a_a62eH ((~>) a_a62eH Ordering)) (a_a62mX :: t_a62eG a_a62eH) :: a_a62eH
sMaximumBy :: forall t_a62eG a_a62eH (t_a62Kn :: (~>) a_a62eH ((~>) a_a62eH Ordering)) (t_a62Ko :: t_a62eG a_a62eH). SFoldable t_a62eG => Sing t_a62Kn -> Sing t_a62Ko -> Sing (Apply (Apply MaximumBySym0 t_a62Kn) t_a62Ko :: a_a62eH)
type family MinimumBy (a_a62mx :: (~>) a_a62eF ((~>) a_a62eF Ordering)) (a_a62my :: t_a62eE a_a62eF) :: a_a62eF
sMinimumBy :: forall t_a62eE a_a62eF (t_a62Kj :: (~>) a_a62eF ((~>) a_a62eF Ordering)) (t_a62Kk :: t_a62eE a_a62eF). SFoldable t_a62eE => Sing t_a62Kj -> Sing t_a62Kk -> Sing (Apply (Apply MinimumBySym0 t_a62Kj) t_a62Kk :: a_a62eF)
type family GenericLength (a_a3WdS :: [a_a3TOy]) :: i_a3TOx
sGenericLength :: forall i_a3TOx a_a3TOy (t_a3WAt :: [a_a3TOy]). SNum i_a3TOx => Sing t_a3WAt -> Sing (Apply GenericLengthSym0 t_a3WAt :: i_a3TOx)
type family GenericTake (a_a4tUn :: i_a4qE3) (a_a4tUo :: [a_a4qE4]) :: [a_a4qE4]
type family GenericDrop (a_a4tUd :: i_a4qE1) (a_a4tUe :: [a_a4qE2]) :: [a_a4qE2]
type family GenericSplitAt (a_a4tU3 :: i_a4qDZ) (a_a4tU4 :: [a_a4qE0]) :: ([a_a4qE0], [a_a4qE0])
type family GenericIndex (a_a4tTT :: [a_a4qDY]) (a_a4tTU :: i_a4qDX) :: a_a4qDY
type family GenericReplicate (a_a4tTJ :: i_a4qDV) (a_a4tTK :: a_a4qDW) :: [a_a4qDW]
type NilSym0 = '[]
data (:@#@$) :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 ((~>) [a3530822107858468865] [(a3530822107858468865 :: Type)])
infixr 5 :@#@$
data (:@#@$$) (t6989586621679301578 :: (a3530822107858468865 :: Type)) :: (~>) [a3530822107858468865] [(a3530822107858468865 :: Type)]
infixr 5 :@#@$$
type (:@#@$$$) (t6989586621679301578 :: a3530822107858468865) (t6989586621679301579 :: [a3530822107858468865]) =  '(:) t6989586621679301578 t6989586621679301579
type (++@#@$$$) (a6989586621679521912 :: [a6989586621679521715]) (a6989586621679521913 :: [a6989586621679521715]) = (++) a6989586621679521912 a6989586621679521913
data (++@#@$$) (a6989586621679521912 :: [a6989586621679521715]) :: (~>) [a6989586621679521715] [a6989586621679521715]
infixr 5 ++@#@$$
data (++@#@$) :: forall a6989586621679521715. (~>) [a6989586621679521715] ((~>) [a6989586621679521715] [a6989586621679521715])
infixr 5 ++@#@$
data HeadSym0 :: forall a6989586621679939457. (~>) [a6989586621679939457] a6989586621679939457
type HeadSym1 (a6989586621679949980 :: [a6989586621679939457]) = Head a6989586621679949980
data LastSym0 :: forall a6989586621679939456. (~>) [a6989586621679939456] a6989586621679939456
type LastSym1 (a6989586621679949975 :: [a6989586621679939456]) = Last a6989586621679949975
data TailSym0 :: forall a6989586621679939455. (~>) [a6989586621679939455] [a6989586621679939455]
type TailSym1 (a6989586621679949972 :: [a6989586621679939455]) = Tail a6989586621679949972
data InitSym0 :: forall a6989586621679939454. (~>) [a6989586621679939454] [a6989586621679939454]
type InitSym1 (a6989586621679949958 :: [a6989586621679939454]) = Init a6989586621679949958
data NullSym0 :: forall a6989586621680448459 t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448459) Bool
type NullSym1 (arg6989586621680449107 :: t6989586621680448444 a6989586621680448459) = Null arg6989586621680449107
data LengthSym0 :: forall a6989586621680448460 t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448460) Nat
type LengthSym1 (arg6989586621680449109 :: t6989586621680448444 a6989586621680448460) = Length arg6989586621680449109
data MapSym0 :: forall a6989586621679521716 b6989586621679521717. (~>) ((~>) a6989586621679521716 b6989586621679521717) ((~>) [a6989586621679521716] [b6989586621679521717])
data MapSym1 (a6989586621679521920 :: (~>) a6989586621679521716 b6989586621679521717) :: (~>) [a6989586621679521716] [b6989586621679521717]
type MapSym2 (a6989586621679521920 :: (~>) a6989586621679521716 b6989586621679521717) (a6989586621679521921 :: [a6989586621679521716]) = Map a6989586621679521920 a6989586621679521921
data ReverseSym0 :: forall a6989586621679939452. (~>) [a6989586621679939452] [a6989586621679939452]
type ReverseSym1 (a6989586621679949911 :: [a6989586621679939452]) = Reverse a6989586621679949911
data IntersperseSym0 :: forall a6989586621679939451. (~>) a6989586621679939451 ((~>) [a6989586621679939451] [a6989586621679939451])
data IntersperseSym1 (a6989586621679949898 :: a6989586621679939451) :: (~>) [a6989586621679939451] [a6989586621679939451]
type IntersperseSym2 (a6989586621679949898 :: a6989586621679939451) (a6989586621679949899 :: [a6989586621679939451]) = Intersperse a6989586621679949898 a6989586621679949899
data IntercalateSym0 :: forall a6989586621679939450. (~>) [a6989586621679939450] ((~>) [[a6989586621679939450]] [a6989586621679939450])
data IntercalateSym1 (a6989586621679949905 :: [a6989586621679939450]) :: (~>) [[a6989586621679939450]] [a6989586621679939450]
type IntercalateSym2 (a6989586621679949905 :: [a6989586621679939450]) (a6989586621679949906 :: [[a6989586621679939450]]) = Intercalate a6989586621679949905 a6989586621679949906
data TransposeSym0 :: forall a6989586621679939337. (~>) [[a6989586621679939337]] [[a6989586621679939337]]
type TransposeSym1 (a6989586621679949983 :: [[a6989586621679939337]]) = Transpose a6989586621679949983
data SubsequencesSym0 :: forall a6989586621679939449. (~>) [a6989586621679939449] [[a6989586621679939449]]
type SubsequencesSym1 (a6989586621679949895 :: [a6989586621679939449]) = Subsequences a6989586621679949895
data PermutationsSym0 :: forall a6989586621679939446. (~>) [a6989586621679939446] [[a6989586621679939446]]
type PermutationsSym1 (a6989586621679949777 :: [a6989586621679939446]) = Permutations a6989586621679949777
data FoldlSym0 :: forall a6989586621680448453 b6989586621680448452 t6989586621680448444. (~>) ((~>) b6989586621680448452 ((~>) a6989586621680448453 b6989586621680448452)) ((~>) b6989586621680448452 ((~>) (t6989586621680448444 a6989586621680448453) b6989586621680448452))
data FoldlSym1 (arg6989586621680449085 :: (~>) b6989586621680448452 ((~>) a6989586621680448453 b6989586621680448452)) :: forall t6989586621680448444. (~>) b6989586621680448452 ((~>) (t6989586621680448444 a6989586621680448453) b6989586621680448452)
data FoldlSym2 (arg6989586621680449085 :: (~>) b6989586621680448452 ((~>) a6989586621680448453 b6989586621680448452)) (arg6989586621680449086 :: b6989586621680448452) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448453) b6989586621680448452
type FoldlSym3 (arg6989586621680449085 :: (~>) b6989586621680448452 ((~>) a6989586621680448453 b6989586621680448452)) (arg6989586621680449086 :: b6989586621680448452) (arg6989586621680449087 :: t6989586621680448444 a6989586621680448453) = Foldl arg6989586621680449085 arg6989586621680449086 arg6989586621680449087
data Foldl'Sym0 :: forall a6989586621680448455 b6989586621680448454 t6989586621680448444. (~>) ((~>) b6989586621680448454 ((~>) a6989586621680448455 b6989586621680448454)) ((~>) b6989586621680448454 ((~>) (t6989586621680448444 a6989586621680448455) b6989586621680448454))
data Foldl'Sym1 (arg6989586621680449091 :: (~>) b6989586621680448454 ((~>) a6989586621680448455 b6989586621680448454)) :: forall t6989586621680448444. (~>) b6989586621680448454 ((~>) (t6989586621680448444 a6989586621680448455) b6989586621680448454)
data Foldl'Sym2 (arg6989586621680449091 :: (~>) b6989586621680448454 ((~>) a6989586621680448455 b6989586621680448454)) (arg6989586621680449092 :: b6989586621680448454) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448455) b6989586621680448454
type Foldl'Sym3 (arg6989586621680449091 :: (~>) b6989586621680448454 ((~>) a6989586621680448455 b6989586621680448454)) (arg6989586621680449092 :: b6989586621680448454) (arg6989586621680449093 :: t6989586621680448444 a6989586621680448455) = Foldl' arg6989586621680449091 arg6989586621680449092 arg6989586621680449093
data Foldl1Sym0 :: forall a6989586621680448457 t6989586621680448444. (~>) ((~>) a6989586621680448457 ((~>) a6989586621680448457 a6989586621680448457)) ((~>) (t6989586621680448444 a6989586621680448457) a6989586621680448457)
data Foldl1Sym1 (arg6989586621680449101 :: (~>) a6989586621680448457 ((~>) a6989586621680448457 a6989586621680448457)) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448457) a6989586621680448457
type Foldl1Sym2 (arg6989586621680449101 :: (~>) a6989586621680448457 ((~>) a6989586621680448457 a6989586621680448457)) (arg6989586621680449102 :: t6989586621680448444 a6989586621680448457) = Foldl1 arg6989586621680449101 arg6989586621680449102
data Foldl1'Sym0 :: forall a6989586621679939442. (~>) ((~>) a6989586621679939442 ((~>) a6989586621679939442 a6989586621679939442)) ((~>) [a6989586621679939442] a6989586621679939442)
data Foldl1'Sym1 (a6989586621679949770 :: (~>) a6989586621679939442 ((~>) a6989586621679939442 a6989586621679939442)) :: (~>) [a6989586621679939442] a6989586621679939442
type Foldl1'Sym2 (a6989586621679949770 :: (~>) a6989586621679939442 ((~>) a6989586621679939442 a6989586621679939442)) (a6989586621679949771 :: [a6989586621679939442]) = Foldl1' a6989586621679949770 a6989586621679949771
data FoldrSym0 :: forall a6989586621680448448 b6989586621680448449 t6989586621680448444. (~>) ((~>) a6989586621680448448 ((~>) b6989586621680448449 b6989586621680448449)) ((~>) b6989586621680448449 ((~>) (t6989586621680448444 a6989586621680448448) b6989586621680448449))
data FoldrSym1 (arg6989586621680449073 :: (~>) a6989586621680448448 ((~>) b6989586621680448449 b6989586621680448449)) :: forall t6989586621680448444. (~>) b6989586621680448449 ((~>) (t6989586621680448444 a6989586621680448448) b6989586621680448449)
data FoldrSym2 (arg6989586621680449073 :: (~>) a6989586621680448448 ((~>) b6989586621680448449 b6989586621680448449)) (arg6989586621680449074 :: b6989586621680448449) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448448) b6989586621680448449
type FoldrSym3 (arg6989586621680449073 :: (~>) a6989586621680448448 ((~>) b6989586621680448449 b6989586621680448449)) (arg6989586621680449074 :: b6989586621680448449) (arg6989586621680449075 :: t6989586621680448444 a6989586621680448448) = Foldr arg6989586621680449073 arg6989586621680449074 arg6989586621680449075
data Foldr1Sym0 :: forall a6989586621680448456 t6989586621680448444. (~>) ((~>) a6989586621680448456 ((~>) a6989586621680448456 a6989586621680448456)) ((~>) (t6989586621680448444 a6989586621680448456) a6989586621680448456)
data Foldr1Sym1 (arg6989586621680449097 :: (~>) a6989586621680448456 ((~>) a6989586621680448456 a6989586621680448456)) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448456) a6989586621680448456
type Foldr1Sym2 (arg6989586621680449097 :: (~>) a6989586621680448456 ((~>) a6989586621680448456 a6989586621680448456)) (arg6989586621680449098 :: t6989586621680448444 a6989586621680448456) = Foldr1 arg6989586621680449097 arg6989586621680449098
data ConcatSym0 :: forall a6989586621680448370 t6989586621680448369. (~>) (t6989586621680448369 [a6989586621680448370]) [a6989586621680448370]
type ConcatSym1 (a6989586621680448955 :: t6989586621680448369 [a6989586621680448370]) = Concat a6989586621680448955
data ConcatMapSym0 :: forall a6989586621680448367 b6989586621680448368 t6989586621680448366. (~>) ((~>) a6989586621680448367 [b6989586621680448368]) ((~>) (t6989586621680448366 a6989586621680448367) [b6989586621680448368])
data ConcatMapSym1 (a6989586621680448939 :: (~>) a6989586621680448367 [b6989586621680448368]) :: forall t6989586621680448366. (~>) (t6989586621680448366 a6989586621680448367) [b6989586621680448368]
type ConcatMapSym2 (a6989586621680448939 :: (~>) a6989586621680448367 [b6989586621680448368]) (a6989586621680448940 :: t6989586621680448366 a6989586621680448367) = ConcatMap a6989586621680448939 a6989586621680448940
data AndSym0 :: forall t6989586621680448365. (~>) (t6989586621680448365 Bool) Bool
type AndSym1 (a6989586621680448930 :: t6989586621680448365 Bool) = And a6989586621680448930
data OrSym0 :: forall t6989586621680448364. (~>) (t6989586621680448364 Bool) Bool
type OrSym1 (a6989586621680448921 :: t6989586621680448364 Bool) = Or a6989586621680448921
data AnySym0 :: forall a6989586621680448363 t6989586621680448362. (~>) ((~>) a6989586621680448363 Bool) ((~>) (t6989586621680448362 a6989586621680448363) Bool)
data AnySym1 (a6989586621680448908 :: (~>) a6989586621680448363 Bool) :: forall t6989586621680448362. (~>) (t6989586621680448362 a6989586621680448363) Bool
type AnySym2 (a6989586621680448908 :: (~>) a6989586621680448363 Bool) (a6989586621680448909 :: t6989586621680448362 a6989586621680448363) = Any a6989586621680448908 a6989586621680448909
data AllSym0 :: forall a6989586621680448361 t6989586621680448360. (~>) ((~>) a6989586621680448361 Bool) ((~>) (t6989586621680448360 a6989586621680448361) Bool)
data AllSym1 (a6989586621680448895 :: (~>) a6989586621680448361 Bool) :: forall t6989586621680448360. (~>) (t6989586621680448360 a6989586621680448361) Bool
type AllSym2 (a6989586621680448895 :: (~>) a6989586621680448361 Bool) (a6989586621680448896 :: t6989586621680448360 a6989586621680448361) = All a6989586621680448895 a6989586621680448896
data SumSym0 :: forall a6989586621680448464 t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448464) a6989586621680448464
type SumSym1 (arg6989586621680449119 :: t6989586621680448444 a6989586621680448464) = Sum arg6989586621680449119
data ProductSym0 :: forall a6989586621680448465 t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448465) a6989586621680448465
type ProductSym1 (arg6989586621680449121 :: t6989586621680448444 a6989586621680448465) = Product arg6989586621680449121
data MaximumSym0 :: forall a6989586621680448462 t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448462) a6989586621680448462
type MaximumSym1 (arg6989586621680449115 :: t6989586621680448444 a6989586621680448462) = Maximum arg6989586621680449115
data MinimumSym0 :: forall a6989586621680448463 t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448463) a6989586621680448463
type MinimumSym1 (arg6989586621680449117 :: t6989586621680448444 a6989586621680448463) = Minimum arg6989586621680449117
data ScanlSym0 :: forall a6989586621679939435 b6989586621679939434. (~>) ((~>) b6989586621679939434 ((~>) a6989586621679939435 b6989586621679939434)) ((~>) b6989586621679939434 ((~>) [a6989586621679939435] [b6989586621679939434]))
data ScanlSym1 (a6989586621679949543 :: (~>) b6989586621679939434 ((~>) a6989586621679939435 b6989586621679939434)) :: (~>) b6989586621679939434 ((~>) [a6989586621679939435] [b6989586621679939434])
data ScanlSym2 (a6989586621679949543 :: (~>) b6989586621679939434 ((~>) a6989586621679939435 b6989586621679939434)) (a6989586621679949544 :: b6989586621679939434) :: (~>) [a6989586621679939435] [b6989586621679939434]
type ScanlSym3 (a6989586621679949543 :: (~>) b6989586621679939434 ((~>) a6989586621679939435 b6989586621679939434)) (a6989586621679949544 :: b6989586621679939434) (a6989586621679949545 :: [a6989586621679939435]) = Scanl a6989586621679949543 a6989586621679949544 a6989586621679949545
data Scanl1Sym0 :: forall a6989586621679939433. (~>) ((~>) a6989586621679939433 ((~>) a6989586621679939433 a6989586621679939433)) ((~>) [a6989586621679939433] [a6989586621679939433])
data Scanl1Sym1 (a6989586621679949557 :: (~>) a6989586621679939433 ((~>) a6989586621679939433 a6989586621679939433)) :: (~>) [a6989586621679939433] [a6989586621679939433]
type Scanl1Sym2 (a6989586621679949557 :: (~>) a6989586621679939433 ((~>) a6989586621679939433 a6989586621679939433)) (a6989586621679949558 :: [a6989586621679939433]) = Scanl1 a6989586621679949557 a6989586621679949558
data ScanrSym0 :: forall a6989586621679939431 b6989586621679939432. (~>) ((~>) a6989586621679939431 ((~>) b6989586621679939432 b6989586621679939432)) ((~>) b6989586621679939432 ((~>) [a6989586621679939431] [b6989586621679939432]))
data ScanrSym1 (a6989586621679949522 :: (~>) a6989586621679939431 ((~>) b6989586621679939432 b6989586621679939432)) :: (~>) b6989586621679939432 ((~>) [a6989586621679939431] [b6989586621679939432])
data ScanrSym2 (a6989586621679949522 :: (~>) a6989586621679939431 ((~>) b6989586621679939432 b6989586621679939432)) (a6989586621679949523 :: b6989586621679939432) :: (~>) [a6989586621679939431] [b6989586621679939432]
type ScanrSym3 (a6989586621679949522 :: (~>) a6989586621679939431 ((~>) b6989586621679939432 b6989586621679939432)) (a6989586621679949523 :: b6989586621679939432) (a6989586621679949524 :: [a6989586621679939431]) = Scanr a6989586621679949522 a6989586621679949523 a6989586621679949524
data Scanr1Sym0 :: forall a6989586621679939430. (~>) ((~>) a6989586621679939430 ((~>) a6989586621679939430 a6989586621679939430)) ((~>) [a6989586621679939430] [a6989586621679939430])
data Scanr1Sym1 (a6989586621679949498 :: (~>) a6989586621679939430 ((~>) a6989586621679939430 a6989586621679939430)) :: (~>) [a6989586621679939430] [a6989586621679939430]
type Scanr1Sym2 (a6989586621679949498 :: (~>) a6989586621679939430 ((~>) a6989586621679939430 a6989586621679939430)) (a6989586621679949499 :: [a6989586621679939430]) = Scanr1 a6989586621679949498 a6989586621679949499
data MapAccumLSym0 :: forall a6989586621680750463 b6989586621680750464 c6989586621680750465 t6989586621680750462. (~>) ((~>) a6989586621680750463 ((~>) b6989586621680750464 (a6989586621680750463, c6989586621680750465))) ((~>) a6989586621680750463 ((~>) (t6989586621680750462 b6989586621680750464) (a6989586621680750463, t6989586621680750462 c6989586621680750465)))
data MapAccumLSym1 (a6989586621680751002 :: (~>) a6989586621680750463 ((~>) b6989586621680750464 (a6989586621680750463, c6989586621680750465))) :: forall t6989586621680750462. (~>) a6989586621680750463 ((~>) (t6989586621680750462 b6989586621680750464) (a6989586621680750463, t6989586621680750462 c6989586621680750465))
data MapAccumLSym2 (a6989586621680751002 :: (~>) a6989586621680750463 ((~>) b6989586621680750464 (a6989586621680750463, c6989586621680750465))) (a6989586621680751003 :: a6989586621680750463) :: forall t6989586621680750462. (~>) (t6989586621680750462 b6989586621680750464) (a6989586621680750463, t6989586621680750462 c6989586621680750465)
type MapAccumLSym3 (a6989586621680751002 :: (~>) a6989586621680750463 ((~>) b6989586621680750464 (a6989586621680750463, c6989586621680750465))) (a6989586621680751003 :: a6989586621680750463) (a6989586621680751004 :: t6989586621680750462 b6989586621680750464) = MapAccumL a6989586621680751002 a6989586621680751003 a6989586621680751004
data MapAccumRSym0 :: forall a6989586621680750459 b6989586621680750460 c6989586621680750461 t6989586621680750458. (~>) ((~>) a6989586621680750459 ((~>) b6989586621680750460 (a6989586621680750459, c6989586621680750461))) ((~>) a6989586621680750459 ((~>) (t6989586621680750458 b6989586621680750460) (a6989586621680750459, t6989586621680750458 c6989586621680750461)))
data MapAccumRSym1 (a6989586621680750985 :: (~>) a6989586621680750459 ((~>) b6989586621680750460 (a6989586621680750459, c6989586621680750461))) :: forall t6989586621680750458. (~>) a6989586621680750459 ((~>) (t6989586621680750458 b6989586621680750460) (a6989586621680750459, t6989586621680750458 c6989586621680750461))
data MapAccumRSym2 (a6989586621680750985 :: (~>) a6989586621680750459 ((~>) b6989586621680750460 (a6989586621680750459, c6989586621680750461))) (a6989586621680750986 :: a6989586621680750459) :: forall t6989586621680750458. (~>) (t6989586621680750458 b6989586621680750460) (a6989586621680750459, t6989586621680750458 c6989586621680750461)
type MapAccumRSym3 (a6989586621680750985 :: (~>) a6989586621680750459 ((~>) b6989586621680750460 (a6989586621680750459, c6989586621680750461))) (a6989586621680750986 :: a6989586621680750459) (a6989586621680750987 :: t6989586621680750458 b6989586621680750460) = MapAccumR a6989586621680750985 a6989586621680750986 a6989586621680750987
data ReplicateSym0 :: forall a6989586621679939338. (~>) Nat ((~>) a6989586621679939338 [a6989586621679939338])
data ReplicateSym1 (a6989586621679948640 :: Nat) :: forall a6989586621679939338. (~>) a6989586621679939338 [a6989586621679939338]
type ReplicateSym2 (a6989586621679948640 :: Nat) (a6989586621679948641 :: a6989586621679939338) = Replicate a6989586621679948640 a6989586621679948641
data UnfoldrSym0 :: forall a6989586621679939423 b6989586621679939422. (~>) ((~>) b6989586621679939422 (Maybe (a6989586621679939423, b6989586621679939422))) ((~>) b6989586621679939422 [a6989586621679939423])
data UnfoldrSym1 (a6989586621679949356 :: (~>) b6989586621679939422 (Maybe (a6989586621679939423, b6989586621679939422))) :: (~>) b6989586621679939422 [a6989586621679939423]
type UnfoldrSym2 (a6989586621679949356 :: (~>) b6989586621679939422 (Maybe (a6989586621679939423, b6989586621679939422))) (a6989586621679949357 :: b6989586621679939422) = Unfoldr a6989586621679949356 a6989586621679949357
data TakeSym0 :: forall a6989586621679939354. (~>) Nat ((~>) [a6989586621679939354] [a6989586621679939354])
data TakeSym1 (a6989586621679948736 :: Nat) :: forall a6989586621679939354. (~>) [a6989586621679939354] [a6989586621679939354]
type TakeSym2 (a6989586621679948736 :: Nat) (a6989586621679948737 :: [a6989586621679939354]) = Take a6989586621679948736 a6989586621679948737
data DropSym0 :: forall a6989586621679939353. (~>) Nat ((~>) [a6989586621679939353] [a6989586621679939353])
data DropSym1 (a6989586621679948722 :: Nat) :: forall a6989586621679939353. (~>) [a6989586621679939353] [a6989586621679939353]
type DropSym2 (a6989586621679948722 :: Nat) (a6989586621679948723 :: [a6989586621679939353]) = Drop a6989586621679948722 a6989586621679948723
data SplitAtSym0 :: forall a6989586621679939352. (~>) Nat ((~>) [a6989586621679939352] ([a6989586621679939352], [a6989586621679939352]))
data SplitAtSym1 (a6989586621679948750 :: Nat) :: forall a6989586621679939352. (~>) [a6989586621679939352] ([a6989586621679939352], [a6989586621679939352])
type SplitAtSym2 (a6989586621679948750 :: Nat) (a6989586621679948751 :: [a6989586621679939352]) = SplitAt a6989586621679948750 a6989586621679948751
data TakeWhileSym0 :: forall a6989586621679939359. (~>) ((~>) a6989586621679939359 Bool) ((~>) [a6989586621679939359] [a6989586621679939359])
data TakeWhileSym1 (a6989586621679948894 :: (~>) a6989586621679939359 Bool) :: (~>) [a6989586621679939359] [a6989586621679939359]
type TakeWhileSym2 (a6989586621679948894 :: (~>) a6989586621679939359 Bool) (a6989586621679948895 :: [a6989586621679939359]) = TakeWhile a6989586621679948894 a6989586621679948895
data DropWhileSym0 :: forall a6989586621679939358. (~>) ((~>) a6989586621679939358 Bool) ((~>) [a6989586621679939358] [a6989586621679939358])
data DropWhileSym1 (a6989586621679948876 :: (~>) a6989586621679939358 Bool) :: (~>) [a6989586621679939358] [a6989586621679939358]
type DropWhileSym2 (a6989586621679948876 :: (~>) a6989586621679939358 Bool) (a6989586621679948877 :: [a6989586621679939358]) = DropWhile a6989586621679948876 a6989586621679948877
data DropWhileEndSym0 :: forall a6989586621679939357. (~>) ((~>) a6989586621679939357 Bool) ((~>) [a6989586621679939357] [a6989586621679939357])
data DropWhileEndSym1 (a6989586621679949932 :: (~>) a6989586621679939357 Bool) :: (~>) [a6989586621679939357] [a6989586621679939357]
type DropWhileEndSym2 (a6989586621679949932 :: (~>) a6989586621679939357 Bool) (a6989586621679949933 :: [a6989586621679939357]) = DropWhileEnd a6989586621679949932 a6989586621679949933
data SpanSym0 :: forall a6989586621679939356. (~>) ((~>) a6989586621679939356 Bool) ((~>) [a6989586621679939356] ([a6989586621679939356], [a6989586621679939356]))
data SpanSym1 (a6989586621679948799 :: (~>) a6989586621679939356 Bool) :: (~>) [a6989586621679939356] ([a6989586621679939356], [a6989586621679939356])
type SpanSym2 (a6989586621679948799 :: (~>) a6989586621679939356 Bool) (a6989586621679948800 :: [a6989586621679939356]) = Span a6989586621679948799 a6989586621679948800
data BreakSym0 :: forall a6989586621679939355. (~>) ((~>) a6989586621679939355 Bool) ((~>) [a6989586621679939355] ([a6989586621679939355], [a6989586621679939355]))
data BreakSym1 (a6989586621679948756 :: (~>) a6989586621679939355 Bool) :: (~>) [a6989586621679939355] ([a6989586621679939355], [a6989586621679939355])
type BreakSym2 (a6989586621679948756 :: (~>) a6989586621679939355 Bool) (a6989586621679948757 :: [a6989586621679939355]) = Break a6989586621679948756 a6989586621679948757
data StripPrefixSym0 :: forall a6989586621680065581. (~>) [a6989586621680065581] ((~>) [a6989586621680065581] (Maybe [a6989586621680065581]))
data StripPrefixSym1 (a6989586621680078291 :: [a6989586621680065581]) :: (~>) [a6989586621680065581] (Maybe [a6989586621680065581])
type StripPrefixSym2 (a6989586621680078291 :: [a6989586621680065581]) (a6989586621680078292 :: [a6989586621680065581]) = StripPrefix a6989586621680078291 a6989586621680078292
data GroupSym0 :: forall a6989586621679939351. (~>) [a6989586621679939351] [[a6989586621679939351]]
type GroupSym1 (a6989586621679948873 :: [a6989586621679939351]) = Group a6989586621679948873
data InitsSym0 :: forall a6989586621679939421. (~>) [a6989586621679939421] [[a6989586621679939421]]
type InitsSym1 (a6989586621679949348 :: [a6989586621679939421]) = Inits a6989586621679949348
data TailsSym0 :: forall a6989586621679939420. (~>) [a6989586621679939420] [[a6989586621679939420]]
type TailsSym1 (a6989586621679949341 :: [a6989586621679939420]) = Tails a6989586621679949341
data IsPrefixOfSym0 :: forall a6989586621679939419. (~>) [a6989586621679939419] ((~>) [a6989586621679939419] Bool)
data IsPrefixOfSym1 (a6989586621679949333 :: [a6989586621679939419]) :: (~>) [a6989586621679939419] Bool
type IsPrefixOfSym2 (a6989586621679949333 :: [a6989586621679939419]) (a6989586621679949334 :: [a6989586621679939419]) = IsPrefixOf a6989586621679949333 a6989586621679949334
data IsSuffixOfSym0 :: forall a6989586621679939418. (~>) [a6989586621679939418] ((~>) [a6989586621679939418] Bool)
data IsSuffixOfSym1 (a6989586621679949924 :: [a6989586621679939418]) :: (~>) [a6989586621679939418] Bool
type IsSuffixOfSym2 (a6989586621679949924 :: [a6989586621679939418]) (a6989586621679949925 :: [a6989586621679939418]) = IsSuffixOf a6989586621679949924 a6989586621679949925
data IsInfixOfSym0 :: forall a6989586621679939417. (~>) [a6989586621679939417] ((~>) [a6989586621679939417] Bool)
data IsInfixOfSym1 (a6989586621679949571 :: [a6989586621679939417]) :: (~>) [a6989586621679939417] Bool
type IsInfixOfSym2 (a6989586621679949571 :: [a6989586621679939417]) (a6989586621679949572 :: [a6989586621679939417]) = IsInfixOf a6989586621679949571 a6989586621679949572
data ElemSym0 :: forall a6989586621680448461 t6989586621680448444. (~>) a6989586621680448461 ((~>) (t6989586621680448444 a6989586621680448461) Bool)
data ElemSym1 (arg6989586621680449111 :: a6989586621680448461) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448461) Bool
type ElemSym2 (arg6989586621680449111 :: a6989586621680448461) (arg6989586621680449112 :: t6989586621680448444 a6989586621680448461) = Elem arg6989586621680449111 arg6989586621680449112
data NotElemSym0 :: forall a6989586621680448355 t6989586621680448354. (~>) a6989586621680448355 ((~>) (t6989586621680448354 a6989586621680448355) Bool)
data NotElemSym1 (a6989586621680448837 :: a6989586621680448355) :: forall t6989586621680448354. (~>) (t6989586621680448354 a6989586621680448355) Bool
type NotElemSym2 (a6989586621680448837 :: a6989586621680448355) (a6989586621680448838 :: t6989586621680448354 a6989586621680448355) = NotElem a6989586621680448837 a6989586621680448838
data LookupSym0 :: forall a6989586621679939344 b6989586621679939345. (~>) a6989586621679939344 ((~>) [(a6989586621679939344, b6989586621679939345)] (Maybe b6989586621679939345))
data LookupSym1 (a6989586621679948705 :: a6989586621679939344) :: forall b6989586621679939345. (~>) [(a6989586621679939344, b6989586621679939345)] (Maybe b6989586621679939345)
type LookupSym2 (a6989586621679948705 :: a6989586621679939344) (a6989586621679948706 :: [(a6989586621679939344, b6989586621679939345)]) = Lookup a6989586621679948705 a6989586621679948706
data FindSym0 :: forall a6989586621680448353 t6989586621680448352. (~>) ((~>) a6989586621680448353 Bool) ((~>) (t6989586621680448352 a6989586621680448353) (Maybe a6989586621680448353))
data FindSym1 (a6989586621680448810 :: (~>) a6989586621680448353 Bool) :: forall t6989586621680448352. (~>) (t6989586621680448352 a6989586621680448353) (Maybe a6989586621680448353)
type FindSym2 (a6989586621680448810 :: (~>) a6989586621680448353 Bool) (a6989586621680448811 :: t6989586621680448352 a6989586621680448353) = Find a6989586621680448810 a6989586621680448811
data FilterSym0 :: forall a6989586621679939367. (~>) ((~>) a6989586621679939367 Bool) ((~>) [a6989586621679939367] [a6989586621679939367])
data FilterSym1 (a6989586621679948908 :: (~>) a6989586621679939367 Bool) :: (~>) [a6989586621679939367] [a6989586621679939367]
type FilterSym2 (a6989586621679948908 :: (~>) a6989586621679939367 Bool) (a6989586621679948909 :: [a6989586621679939367]) = Filter a6989586621679948908 a6989586621679948909
data PartitionSym0 :: forall a6989586621679939343. (~>) ((~>) a6989586621679939343 Bool) ((~>) [a6989586621679939343] ([a6989586621679939343], [a6989586621679939343]))
data PartitionSym1 (a6989586621679948699 :: (~>) a6989586621679939343 Bool) :: (~>) [a6989586621679939343] ([a6989586621679939343], [a6989586621679939343])
type PartitionSym2 (a6989586621679948699 :: (~>) a6989586621679939343 Bool) (a6989586621679948700 :: [a6989586621679939343]) = Partition a6989586621679948699 a6989586621679948700
data (!!@#@$) :: forall a6989586621679939336. (~>) [a6989586621679939336] ((~>) Nat a6989586621679939336)
infixl 9 !!@#@$
data (!!@#@$$) (a6989586621679948626 :: [a6989586621679939336]) :: (~>) Nat a6989586621679939336
infixl 9 !!@#@$$
type (!!@#@$$$) (a6989586621679948626 :: [a6989586621679939336]) (a6989586621679948627 :: Nat) = (!!) a6989586621679948626 a6989586621679948627
data ElemIndexSym0 :: forall a6989586621679939365. (~>) a6989586621679939365 ((~>) [a6989586621679939365] (Maybe Nat))
data ElemIndexSym1 (a6989586621679949291 :: a6989586621679939365) :: (~>) [a6989586621679939365] (Maybe Nat)
type ElemIndexSym2 (a6989586621679949291 :: a6989586621679939365) (a6989586621679949292 :: [a6989586621679939365]) = ElemIndex a6989586621679949291 a6989586621679949292
data ElemIndicesSym0 :: forall a6989586621679939364. (~>) a6989586621679939364 ((~>) [a6989586621679939364] [Nat])
data ElemIndicesSym1 (a6989586621679949275 :: a6989586621679939364) :: (~>) [a6989586621679939364] [Nat]
type ElemIndicesSym2 (a6989586621679949275 :: a6989586621679939364) (a6989586621679949276 :: [a6989586621679939364]) = ElemIndices a6989586621679949275 a6989586621679949276
data FindIndexSym0 :: forall a6989586621679939363. (~>) ((~>) a6989586621679939363 Bool) ((~>) [a6989586621679939363] (Maybe Nat))
data FindIndexSym1 (a6989586621679949283 :: (~>) a6989586621679939363 Bool) :: (~>) [a6989586621679939363] (Maybe Nat)
type FindIndexSym2 (a6989586621679949283 :: (~>) a6989586621679939363 Bool) (a6989586621679949284 :: [a6989586621679939363]) = FindIndex a6989586621679949283 a6989586621679949284
data FindIndicesSym0 :: forall a6989586621679939362. (~>) ((~>) a6989586621679939362 Bool) ((~>) [a6989586621679939362] [Nat])
data FindIndicesSym1 (a6989586621679949249 :: (~>) a6989586621679939362 Bool) :: (~>) [a6989586621679939362] [Nat]
type FindIndicesSym2 (a6989586621679949249 :: (~>) a6989586621679939362 Bool) (a6989586621679949250 :: [a6989586621679939362]) = FindIndices a6989586621679949249 a6989586621679949250
data ZipSym0 :: forall a6989586621679939413 b6989586621679939414. (~>) [a6989586621679939413] ((~>) [b6989586621679939414] [(a6989586621679939413, b6989586621679939414)])
data ZipSym1 (a6989586621679949241 :: [a6989586621679939413]) :: forall b6989586621679939414. (~>) [b6989586621679939414] [(a6989586621679939413, b6989586621679939414)]
type ZipSym2 (a6989586621679949241 :: [a6989586621679939413]) (a6989586621679949242 :: [b6989586621679939414]) = Zip a6989586621679949241 a6989586621679949242
data Zip3Sym0 :: forall a6989586621679939410 b6989586621679939411 c6989586621679939412. (~>) [a6989586621679939410] ((~>) [b6989586621679939411] ((~>) [c6989586621679939412] [(a6989586621679939410, b6989586621679939411, c6989586621679939412)]))
data Zip3Sym1 (a6989586621679949229 :: [a6989586621679939410]) :: forall b6989586621679939411 c6989586621679939412. (~>) [b6989586621679939411] ((~>) [c6989586621679939412] [(a6989586621679939410, b6989586621679939411, c6989586621679939412)])
data Zip3Sym2 (a6989586621679949229 :: [a6989586621679939410]) (a6989586621679949230 :: [b6989586621679939411]) :: forall c6989586621679939412. (~>) [c6989586621679939412] [(a6989586621679939410, b6989586621679939411, c6989586621679939412)]
type Zip3Sym3 (a6989586621679949229 :: [a6989586621679939410]) (a6989586621679949230 :: [b6989586621679939411]) (a6989586621679949231 :: [c6989586621679939412]) = Zip3 a6989586621679949229 a6989586621679949230 a6989586621679949231
data Zip4Sym0 :: forall a6989586621680065577 b6989586621680065578 c6989586621680065579 d6989586621680065580. (~>) [a6989586621680065577] ((~>) [b6989586621680065578] ((~>) [c6989586621680065579] ((~>) [d6989586621680065580] [(a6989586621680065577, b6989586621680065578, c6989586621680065579, d6989586621680065580)])))
data Zip4Sym1 (a6989586621680078279 :: [a6989586621680065577]) :: forall b6989586621680065578 c6989586621680065579 d6989586621680065580. (~>) [b6989586621680065578] ((~>) [c6989586621680065579] ((~>) [d6989586621680065580] [(a6989586621680065577, b6989586621680065578, c6989586621680065579, d6989586621680065580)]))
data Zip4Sym2 (a6989586621680078279 :: [a6989586621680065577]) (a6989586621680078280 :: [b6989586621680065578]) :: forall c6989586621680065579 d6989586621680065580. (~>) [c6989586621680065579] ((~>) [d6989586621680065580] [(a6989586621680065577, b6989586621680065578, c6989586621680065579, d6989586621680065580)])
data Zip4Sym3 (a6989586621680078279 :: [a6989586621680065577]) (a6989586621680078280 :: [b6989586621680065578]) (a6989586621680078281 :: [c6989586621680065579]) :: forall d6989586621680065580. (~>) [d6989586621680065580] [(a6989586621680065577, b6989586621680065578, c6989586621680065579, d6989586621680065580)]
type Zip4Sym4 (a6989586621680078279 :: [a6989586621680065577]) (a6989586621680078280 :: [b6989586621680065578]) (a6989586621680078281 :: [c6989586621680065579]) (a6989586621680078282 :: [d6989586621680065580]) = Zip4 a6989586621680078279 a6989586621680078280 a6989586621680078281 a6989586621680078282
data Zip5Sym0 :: forall a6989586621680065572 b6989586621680065573 c6989586621680065574 d6989586621680065575 e6989586621680065576. (~>) [a6989586621680065572] ((~>) [b6989586621680065573] ((~>) [c6989586621680065574] ((~>) [d6989586621680065575] ((~>) [e6989586621680065576] [(a6989586621680065572, b6989586621680065573, c6989586621680065574, d6989586621680065575, e6989586621680065576)]))))
data Zip5Sym1 (a6989586621680078256 :: [a6989586621680065572]) :: forall b6989586621680065573 c6989586621680065574 d6989586621680065575 e6989586621680065576. (~>) [b6989586621680065573] ((~>) [c6989586621680065574] ((~>) [d6989586621680065575] ((~>) [e6989586621680065576] [(a6989586621680065572, b6989586621680065573, c6989586621680065574, d6989586621680065575, e6989586621680065576)])))
data Zip5Sym2 (a6989586621680078256 :: [a6989586621680065572]) (a6989586621680078257 :: [b6989586621680065573]) :: forall c6989586621680065574 d6989586621680065575 e6989586621680065576. (~>) [c6989586621680065574] ((~>) [d6989586621680065575] ((~>) [e6989586621680065576] [(a6989586621680065572, b6989586621680065573, c6989586621680065574, d6989586621680065575, e6989586621680065576)]))
data Zip5Sym3 (a6989586621680078256 :: [a6989586621680065572]) (a6989586621680078257 :: [b6989586621680065573]) (a6989586621680078258 :: [c6989586621680065574]) :: forall d6989586621680065575 e6989586621680065576. (~>) [d6989586621680065575] ((~>) [e6989586621680065576] [(a6989586621680065572, b6989586621680065573, c6989586621680065574, d6989586621680065575, e6989586621680065576)])
data Zip5Sym4 (a6989586621680078256 :: [a6989586621680065572]) (a6989586621680078257 :: [b6989586621680065573]) (a6989586621680078258 :: [c6989586621680065574]) (a6989586621680078259 :: [d6989586621680065575]) :: forall e6989586621680065576. (~>) [e6989586621680065576] [(a6989586621680065572, b6989586621680065573, c6989586621680065574, d6989586621680065575, e6989586621680065576)]
type Zip5Sym5 (a6989586621680078256 :: [a6989586621680065572]) (a6989586621680078257 :: [b6989586621680065573]) (a6989586621680078258 :: [c6989586621680065574]) (a6989586621680078259 :: [d6989586621680065575]) (a6989586621680078260 :: [e6989586621680065576]) = Zip5 a6989586621680078256 a6989586621680078257 a6989586621680078258 a6989586621680078259 a6989586621680078260
data Zip6Sym0 :: forall a6989586621680065566 b6989586621680065567 c6989586621680065568 d6989586621680065569 e6989586621680065570 f6989586621680065571. (~>) [a6989586621680065566] ((~>) [b6989586621680065567] ((~>) [c6989586621680065568] ((~>) [d6989586621680065569] ((~>) [e6989586621680065570] ((~>) [f6989586621680065571] [(a6989586621680065566, b6989586621680065567, c6989586621680065568, d6989586621680065569, e6989586621680065570, f6989586621680065571)])))))
data Zip6Sym1 (a6989586621680078228 :: [a6989586621680065566]) :: forall b6989586621680065567 c6989586621680065568 d6989586621680065569 e6989586621680065570 f6989586621680065571. (~>) [b6989586621680065567] ((~>) [c6989586621680065568] ((~>) [d6989586621680065569] ((~>) [e6989586621680065570] ((~>) [f6989586621680065571] [(a6989586621680065566, b6989586621680065567, c6989586621680065568, d6989586621680065569, e6989586621680065570, f6989586621680065571)]))))
data Zip6Sym2 (a6989586621680078228 :: [a6989586621680065566]) (a6989586621680078229 :: [b6989586621680065567]) :: forall c6989586621680065568 d6989586621680065569 e6989586621680065570 f6989586621680065571. (~>) [c6989586621680065568] ((~>) [d6989586621680065569] ((~>) [e6989586621680065570] ((~>) [f6989586621680065571] [(a6989586621680065566, b6989586621680065567, c6989586621680065568, d6989586621680065569, e6989586621680065570, f6989586621680065571)])))
data Zip6Sym3 (a6989586621680078228 :: [a6989586621680065566]) (a6989586621680078229 :: [b6989586621680065567]) (a6989586621680078230 :: [c6989586621680065568]) :: forall d6989586621680065569 e6989586621680065570 f6989586621680065571. (~>) [d6989586621680065569] ((~>) [e6989586621680065570] ((~>) [f6989586621680065571] [(a6989586621680065566, b6989586621680065567, c6989586621680065568, d6989586621680065569, e6989586621680065570, f6989586621680065571)]))
data Zip6Sym4 (a6989586621680078228 :: [a6989586621680065566]) (a6989586621680078229 :: [b6989586621680065567]) (a6989586621680078230 :: [c6989586621680065568]) (a6989586621680078231 :: [d6989586621680065569]) :: forall e6989586621680065570 f6989586621680065571. (~>) [e6989586621680065570] ((~>) [f6989586621680065571] [(a6989586621680065566, b6989586621680065567, c6989586621680065568, d6989586621680065569, e6989586621680065570, f6989586621680065571)])
data Zip6Sym5 (a6989586621680078228 :: [a6989586621680065566]) (a6989586621680078229 :: [b6989586621680065567]) (a6989586621680078230 :: [c6989586621680065568]) (a6989586621680078231 :: [d6989586621680065569]) (a6989586621680078232 :: [e6989586621680065570]) :: forall f6989586621680065571. (~>) [f6989586621680065571] [(a6989586621680065566, b6989586621680065567, c6989586621680065568, d6989586621680065569, e6989586621680065570, f6989586621680065571)]
type Zip6Sym6 (a6989586621680078228 :: [a6989586621680065566]) (a6989586621680078229 :: [b6989586621680065567]) (a6989586621680078230 :: [c6989586621680065568]) (a6989586621680078231 :: [d6989586621680065569]) (a6989586621680078232 :: [e6989586621680065570]) (a6989586621680078233 :: [f6989586621680065571]) = Zip6 a6989586621680078228 a6989586621680078229 a6989586621680078230 a6989586621680078231 a6989586621680078232 a6989586621680078233
data Zip7Sym0 :: forall a6989586621680065559 b6989586621680065560 c6989586621680065561 d6989586621680065562 e6989586621680065563 f6989586621680065564 g6989586621680065565. (~>) [a6989586621680065559] ((~>) [b6989586621680065560] ((~>) [c6989586621680065561] ((~>) [d6989586621680065562] ((~>) [e6989586621680065563] ((~>) [f6989586621680065564] ((~>) [g6989586621680065565] [(a6989586621680065559, b6989586621680065560, c6989586621680065561, d6989586621680065562, e6989586621680065563, f6989586621680065564, g6989586621680065565)]))))))
data Zip7Sym1 (a6989586621680078195 :: [a6989586621680065559]) :: forall b6989586621680065560 c6989586621680065561 d6989586621680065562 e6989586621680065563 f6989586621680065564 g6989586621680065565. (~>) [b6989586621680065560] ((~>) [c6989586621680065561] ((~>) [d6989586621680065562] ((~>) [e6989586621680065563] ((~>) [f6989586621680065564] ((~>) [g6989586621680065565] [(a6989586621680065559, b6989586621680065560, c6989586621680065561, d6989586621680065562, e6989586621680065563, f6989586621680065564, g6989586621680065565)])))))
data Zip7Sym2 (a6989586621680078195 :: [a6989586621680065559]) (a6989586621680078196 :: [b6989586621680065560]) :: forall c6989586621680065561 d6989586621680065562 e6989586621680065563 f6989586621680065564 g6989586621680065565. (~>) [c6989586621680065561] ((~>) [d6989586621680065562] ((~>) [e6989586621680065563] ((~>) [f6989586621680065564] ((~>) [g6989586621680065565] [(a6989586621680065559, b6989586621680065560, c6989586621680065561, d6989586621680065562, e6989586621680065563, f6989586621680065564, g6989586621680065565)]))))
data Zip7Sym3 (a6989586621680078195 :: [a6989586621680065559]) (a6989586621680078196 :: [b6989586621680065560]) (a6989586621680078197 :: [c6989586621680065561]) :: forall d6989586621680065562 e6989586621680065563 f6989586621680065564 g6989586621680065565. (~>) [d6989586621680065562] ((~>) [e6989586621680065563] ((~>) [f6989586621680065564] ((~>) [g6989586621680065565] [(a6989586621680065559, b6989586621680065560, c6989586621680065561, d6989586621680065562, e6989586621680065563, f6989586621680065564, g6989586621680065565)])))
data Zip7Sym4 (a6989586621680078195 :: [a6989586621680065559]) (a6989586621680078196 :: [b6989586621680065560]) (a6989586621680078197 :: [c6989586621680065561]) (a6989586621680078198 :: [d6989586621680065562]) :: forall e6989586621680065563 f6989586621680065564 g6989586621680065565. (~>) [e6989586621680065563] ((~>) [f6989586621680065564] ((~>) [g6989586621680065565] [(a6989586621680065559, b6989586621680065560, c6989586621680065561, d6989586621680065562, e6989586621680065563, f6989586621680065564, g6989586621680065565)]))
data Zip7Sym5 (a6989586621680078195 :: [a6989586621680065559]) (a6989586621680078196 :: [b6989586621680065560]) (a6989586621680078197 :: [c6989586621680065561]) (a6989586621680078198 :: [d6989586621680065562]) (a6989586621680078199 :: [e6989586621680065563]) :: forall f6989586621680065564 g6989586621680065565. (~>) [f6989586621680065564] ((~>) [g6989586621680065565] [(a6989586621680065559, b6989586621680065560, c6989586621680065561, d6989586621680065562, e6989586621680065563, f6989586621680065564, g6989586621680065565)])
data Zip7Sym6 (a6989586621680078195 :: [a6989586621680065559]) (a6989586621680078196 :: [b6989586621680065560]) (a6989586621680078197 :: [c6989586621680065561]) (a6989586621680078198 :: [d6989586621680065562]) (a6989586621680078199 :: [e6989586621680065563]) (a6989586621680078200 :: [f6989586621680065564]) :: forall g6989586621680065565. (~>) [g6989586621680065565] [(a6989586621680065559, b6989586621680065560, c6989586621680065561, d6989586621680065562, e6989586621680065563, f6989586621680065564, g6989586621680065565)]
type Zip7Sym7 (a6989586621680078195 :: [a6989586621680065559]) (a6989586621680078196 :: [b6989586621680065560]) (a6989586621680078197 :: [c6989586621680065561]) (a6989586621680078198 :: [d6989586621680065562]) (a6989586621680078199 :: [e6989586621680065563]) (a6989586621680078200 :: [f6989586621680065564]) (a6989586621680078201 :: [g6989586621680065565]) = Zip7 a6989586621680078195 a6989586621680078196 a6989586621680078197 a6989586621680078198 a6989586621680078199 a6989586621680078200 a6989586621680078201
data ZipWithSym0 :: forall a6989586621679939407 b6989586621679939408 c6989586621679939409. (~>) ((~>) a6989586621679939407 ((~>) b6989586621679939408 c6989586621679939409)) ((~>) [a6989586621679939407] ((~>) [b6989586621679939408] [c6989586621679939409]))
data ZipWithSym1 (a6989586621679949218 :: (~>) a6989586621679939407 ((~>) b6989586621679939408 c6989586621679939409)) :: (~>) [a6989586621679939407] ((~>) [b6989586621679939408] [c6989586621679939409])
data ZipWithSym2 (a6989586621679949218 :: (~>) a6989586621679939407 ((~>) b6989586621679939408 c6989586621679939409)) (a6989586621679949219 :: [a6989586621679939407]) :: (~>) [b6989586621679939408] [c6989586621679939409]
type ZipWithSym3 (a6989586621679949218 :: (~>) a6989586621679939407 ((~>) b6989586621679939408 c6989586621679939409)) (a6989586621679949219 :: [a6989586621679939407]) (a6989586621679949220 :: [b6989586621679939408]) = ZipWith a6989586621679949218 a6989586621679949219 a6989586621679949220
data ZipWith3Sym0 :: forall a6989586621679939403 b6989586621679939404 c6989586621679939405 d6989586621679939406. (~>) ((~>) a6989586621679939403 ((~>) b6989586621679939404 ((~>) c6989586621679939405 d6989586621679939406))) ((~>) [a6989586621679939403] ((~>) [b6989586621679939404] ((~>) [c6989586621679939405] [d6989586621679939406])))
data ZipWith3Sym1 (a6989586621679949203 :: (~>) a6989586621679939403 ((~>) b6989586621679939404 ((~>) c6989586621679939405 d6989586621679939406))) :: (~>) [a6989586621679939403] ((~>) [b6989586621679939404] ((~>) [c6989586621679939405] [d6989586621679939406]))
data ZipWith3Sym2 (a6989586621679949203 :: (~>) a6989586621679939403 ((~>) b6989586621679939404 ((~>) c6989586621679939405 d6989586621679939406))) (a6989586621679949204 :: [a6989586621679939403]) :: (~>) [b6989586621679939404] ((~>) [c6989586621679939405] [d6989586621679939406])
data ZipWith3Sym3 (a6989586621679949203 :: (~>) a6989586621679939403 ((~>) b6989586621679939404 ((~>) c6989586621679939405 d6989586621679939406))) (a6989586621679949204 :: [a6989586621679939403]) (a6989586621679949205 :: [b6989586621679939404]) :: (~>) [c6989586621679939405] [d6989586621679939406]
type ZipWith3Sym4 (a6989586621679949203 :: (~>) a6989586621679939403 ((~>) b6989586621679939404 ((~>) c6989586621679939405 d6989586621679939406))) (a6989586621679949204 :: [a6989586621679939403]) (a6989586621679949205 :: [b6989586621679939404]) (a6989586621679949206 :: [c6989586621679939405]) = ZipWith3 a6989586621679949203 a6989586621679949204 a6989586621679949205 a6989586621679949206
data ZipWith4Sym0 :: forall a6989586621680065554 b6989586621680065555 c6989586621680065556 d6989586621680065557 e6989586621680065558. (~>) ((~>) a6989586621680065554 ((~>) b6989586621680065555 ((~>) c6989586621680065556 ((~>) d6989586621680065557 e6989586621680065558)))) ((~>) [a6989586621680065554] ((~>) [b6989586621680065555] ((~>) [c6989586621680065556] ((~>) [d6989586621680065557] [e6989586621680065558]))))
data ZipWith4Sym1 (a6989586621680078162 :: (~>) a6989586621680065554 ((~>) b6989586621680065555 ((~>) c6989586621680065556 ((~>) d6989586621680065557 e6989586621680065558)))) :: (~>) [a6989586621680065554] ((~>) [b6989586621680065555] ((~>) [c6989586621680065556] ((~>) [d6989586621680065557] [e6989586621680065558])))
data ZipWith4Sym2 (a6989586621680078162 :: (~>) a6989586621680065554 ((~>) b6989586621680065555 ((~>) c6989586621680065556 ((~>) d6989586621680065557 e6989586621680065558)))) (a6989586621680078163 :: [a6989586621680065554]) :: (~>) [b6989586621680065555] ((~>) [c6989586621680065556] ((~>) [d6989586621680065557] [e6989586621680065558]))
data ZipWith4Sym3 (a6989586621680078162 :: (~>) a6989586621680065554 ((~>) b6989586621680065555 ((~>) c6989586621680065556 ((~>) d6989586621680065557 e6989586621680065558)))) (a6989586621680078163 :: [a6989586621680065554]) (a6989586621680078164 :: [b6989586621680065555]) :: (~>) [c6989586621680065556] ((~>) [d6989586621680065557] [e6989586621680065558])
data ZipWith4Sym4 (a6989586621680078162 :: (~>) a6989586621680065554 ((~>) b6989586621680065555 ((~>) c6989586621680065556 ((~>) d6989586621680065557 e6989586621680065558)))) (a6989586621680078163 :: [a6989586621680065554]) (a6989586621680078164 :: [b6989586621680065555]) (a6989586621680078165 :: [c6989586621680065556]) :: (~>) [d6989586621680065557] [e6989586621680065558]
type ZipWith4Sym5 (a6989586621680078162 :: (~>) a6989586621680065554 ((~>) b6989586621680065555 ((~>) c6989586621680065556 ((~>) d6989586621680065557 e6989586621680065558)))) (a6989586621680078163 :: [a6989586621680065554]) (a6989586621680078164 :: [b6989586621680065555]) (a6989586621680078165 :: [c6989586621680065556]) (a6989586621680078166 :: [d6989586621680065557]) = ZipWith4 a6989586621680078162 a6989586621680078163 a6989586621680078164 a6989586621680078165 a6989586621680078166
data ZipWith5Sym0 :: forall a6989586621680065548 b6989586621680065549 c6989586621680065550 d6989586621680065551 e6989586621680065552 f6989586621680065553. (~>) ((~>) a6989586621680065548 ((~>) b6989586621680065549 ((~>) c6989586621680065550 ((~>) d6989586621680065551 ((~>) e6989586621680065552 f6989586621680065553))))) ((~>) [a6989586621680065548] ((~>) [b6989586621680065549] ((~>) [c6989586621680065550] ((~>) [d6989586621680065551] ((~>) [e6989586621680065552] [f6989586621680065553])))))
data ZipWith5Sym1 (a6989586621680078139 :: (~>) a6989586621680065548 ((~>) b6989586621680065549 ((~>) c6989586621680065550 ((~>) d6989586621680065551 ((~>) e6989586621680065552 f6989586621680065553))))) :: (~>) [a6989586621680065548] ((~>) [b6989586621680065549] ((~>) [c6989586621680065550] ((~>) [d6989586621680065551] ((~>) [e6989586621680065552] [f6989586621680065553]))))
data ZipWith5Sym2 (a6989586621680078139 :: (~>) a6989586621680065548 ((~>) b6989586621680065549 ((~>) c6989586621680065550 ((~>) d6989586621680065551 ((~>) e6989586621680065552 f6989586621680065553))))) (a6989586621680078140 :: [a6989586621680065548]) :: (~>) [b6989586621680065549] ((~>) [c6989586621680065550] ((~>) [d6989586621680065551] ((~>) [e6989586621680065552] [f6989586621680065553])))
data ZipWith5Sym3 (a6989586621680078139 :: (~>) a6989586621680065548 ((~>) b6989586621680065549 ((~>) c6989586621680065550 ((~>) d6989586621680065551 ((~>) e6989586621680065552 f6989586621680065553))))) (a6989586621680078140 :: [a6989586621680065548]) (a6989586621680078141 :: [b6989586621680065549]) :: (~>) [c6989586621680065550] ((~>) [d6989586621680065551] ((~>) [e6989586621680065552] [f6989586621680065553]))
data ZipWith5Sym4 (a6989586621680078139 :: (~>) a6989586621680065548 ((~>) b6989586621680065549 ((~>) c6989586621680065550 ((~>) d6989586621680065551 ((~>) e6989586621680065552 f6989586621680065553))))) (a6989586621680078140 :: [a6989586621680065548]) (a6989586621680078141 :: [b6989586621680065549]) (a6989586621680078142 :: [c6989586621680065550]) :: (~>) [d6989586621680065551] ((~>) [e6989586621680065552] [f6989586621680065553])
data ZipWith5Sym5 (a6989586621680078139 :: (~>) a6989586621680065548 ((~>) b6989586621680065549 ((~>) c6989586621680065550 ((~>) d6989586621680065551 ((~>) e6989586621680065552 f6989586621680065553))))) (a6989586621680078140 :: [a6989586621680065548]) (a6989586621680078141 :: [b6989586621680065549]) (a6989586621680078142 :: [c6989586621680065550]) (a6989586621680078143 :: [d6989586621680065551]) :: (~>) [e6989586621680065552] [f6989586621680065553]
type ZipWith5Sym6 (a6989586621680078139 :: (~>) a6989586621680065548 ((~>) b6989586621680065549 ((~>) c6989586621680065550 ((~>) d6989586621680065551 ((~>) e6989586621680065552 f6989586621680065553))))) (a6989586621680078140 :: [a6989586621680065548]) (a6989586621680078141 :: [b6989586621680065549]) (a6989586621680078142 :: [c6989586621680065550]) (a6989586621680078143 :: [d6989586621680065551]) (a6989586621680078144 :: [e6989586621680065552]) = ZipWith5 a6989586621680078139 a6989586621680078140 a6989586621680078141 a6989586621680078142 a6989586621680078143 a6989586621680078144
data ZipWith6Sym0 :: forall a6989586621680065541 b6989586621680065542 c6989586621680065543 d6989586621680065544 e6989586621680065545 f6989586621680065546 g6989586621680065547. (~>) ((~>) a6989586621680065541 ((~>) b6989586621680065542 ((~>) c6989586621680065543 ((~>) d6989586621680065544 ((~>) e6989586621680065545 ((~>) f6989586621680065546 g6989586621680065547)))))) ((~>) [a6989586621680065541] ((~>) [b6989586621680065542] ((~>) [c6989586621680065543] ((~>) [d6989586621680065544] ((~>) [e6989586621680065545] ((~>) [f6989586621680065546] [g6989586621680065547]))))))
data ZipWith6Sym1 (a6989586621680078112 :: (~>) a6989586621680065541 ((~>) b6989586621680065542 ((~>) c6989586621680065543 ((~>) d6989586621680065544 ((~>) e6989586621680065545 ((~>) f6989586621680065546 g6989586621680065547)))))) :: (~>) [a6989586621680065541] ((~>) [b6989586621680065542] ((~>) [c6989586621680065543] ((~>) [d6989586621680065544] ((~>) [e6989586621680065545] ((~>) [f6989586621680065546] [g6989586621680065547])))))
data ZipWith6Sym2 (a6989586621680078112 :: (~>) a6989586621680065541 ((~>) b6989586621680065542 ((~>) c6989586621680065543 ((~>) d6989586621680065544 ((~>) e6989586621680065545 ((~>) f6989586621680065546 g6989586621680065547)))))) (a6989586621680078113 :: [a6989586621680065541]) :: (~>) [b6989586621680065542] ((~>) [c6989586621680065543] ((~>) [d6989586621680065544] ((~>) [e6989586621680065545] ((~>) [f6989586621680065546] [g6989586621680065547]))))
data ZipWith6Sym3 (a6989586621680078112 :: (~>) a6989586621680065541 ((~>) b6989586621680065542 ((~>) c6989586621680065543 ((~>) d6989586621680065544 ((~>) e6989586621680065545 ((~>) f6989586621680065546 g6989586621680065547)))))) (a6989586621680078113 :: [a6989586621680065541]) (a6989586621680078114 :: [b6989586621680065542]) :: (~>) [c6989586621680065543] ((~>) [d6989586621680065544] ((~>) [e6989586621680065545] ((~>) [f6989586621680065546] [g6989586621680065547])))
data ZipWith6Sym4 (a6989586621680078112 :: (~>) a6989586621680065541 ((~>) b6989586621680065542 ((~>) c6989586621680065543 ((~>) d6989586621680065544 ((~>) e6989586621680065545 ((~>) f6989586621680065546 g6989586621680065547)))))) (a6989586621680078113 :: [a6989586621680065541]) (a6989586621680078114 :: [b6989586621680065542]) (a6989586621680078115 :: [c6989586621680065543]) :: (~>) [d6989586621680065544] ((~>) [e6989586621680065545] ((~>) [f6989586621680065546] [g6989586621680065547]))
data ZipWith6Sym5 (a6989586621680078112 :: (~>) a6989586621680065541 ((~>) b6989586621680065542 ((~>) c6989586621680065543 ((~>) d6989586621680065544 ((~>) e6989586621680065545 ((~>) f6989586621680065546 g6989586621680065547)))))) (a6989586621680078113 :: [a6989586621680065541]) (a6989586621680078114 :: [b6989586621680065542]) (a6989586621680078115 :: [c6989586621680065543]) (a6989586621680078116 :: [d6989586621680065544]) :: (~>) [e6989586621680065545] ((~>) [f6989586621680065546] [g6989586621680065547])
data ZipWith6Sym6 (a6989586621680078112 :: (~>) a6989586621680065541 ((~>) b6989586621680065542 ((~>) c6989586621680065543 ((~>) d6989586621680065544 ((~>) e6989586621680065545 ((~>) f6989586621680065546 g6989586621680065547)))))) (a6989586621680078113 :: [a6989586621680065541]) (a6989586621680078114 :: [b6989586621680065542]) (a6989586621680078115 :: [c6989586621680065543]) (a6989586621680078116 :: [d6989586621680065544]) (a6989586621680078117 :: [e6989586621680065545]) :: (~>) [f6989586621680065546] [g6989586621680065547]
type ZipWith6Sym7 (a6989586621680078112 :: (~>) a6989586621680065541 ((~>) b6989586621680065542 ((~>) c6989586621680065543 ((~>) d6989586621680065544 ((~>) e6989586621680065545 ((~>) f6989586621680065546 g6989586621680065547)))))) (a6989586621680078113 :: [a6989586621680065541]) (a6989586621680078114 :: [b6989586621680065542]) (a6989586621680078115 :: [c6989586621680065543]) (a6989586621680078116 :: [d6989586621680065544]) (a6989586621680078117 :: [e6989586621680065545]) (a6989586621680078118 :: [f6989586621680065546]) = ZipWith6 a6989586621680078112 a6989586621680078113 a6989586621680078114 a6989586621680078115 a6989586621680078116 a6989586621680078117 a6989586621680078118
data ZipWith7Sym0 :: forall a6989586621680065533 b6989586621680065534 c6989586621680065535 d6989586621680065536 e6989586621680065537 f6989586621680065538 g6989586621680065539 h6989586621680065540. (~>) ((~>) a6989586621680065533 ((~>) b6989586621680065534 ((~>) c6989586621680065535 ((~>) d6989586621680065536 ((~>) e6989586621680065537 ((~>) f6989586621680065538 ((~>) g6989586621680065539 h6989586621680065540))))))) ((~>) [a6989586621680065533] ((~>) [b6989586621680065534] ((~>) [c6989586621680065535] ((~>) [d6989586621680065536] ((~>) [e6989586621680065537] ((~>) [f6989586621680065538] ((~>) [g6989586621680065539] [h6989586621680065540])))))))
data ZipWith7Sym1 (a6989586621680078081 :: (~>) a6989586621680065533 ((~>) b6989586621680065534 ((~>) c6989586621680065535 ((~>) d6989586621680065536 ((~>) e6989586621680065537 ((~>) f6989586621680065538 ((~>) g6989586621680065539 h6989586621680065540))))))) :: (~>) [a6989586621680065533] ((~>) [b6989586621680065534] ((~>) [c6989586621680065535] ((~>) [d6989586621680065536] ((~>) [e6989586621680065537] ((~>) [f6989586621680065538] ((~>) [g6989586621680065539] [h6989586621680065540]))))))
data ZipWith7Sym2 (a6989586621680078081 :: (~>) a6989586621680065533 ((~>) b6989586621680065534 ((~>) c6989586621680065535 ((~>) d6989586621680065536 ((~>) e6989586621680065537 ((~>) f6989586621680065538 ((~>) g6989586621680065539 h6989586621680065540))))))) (a6989586621680078082 :: [a6989586621680065533]) :: (~>) [b6989586621680065534] ((~>) [c6989586621680065535] ((~>) [d6989586621680065536] ((~>) [e6989586621680065537] ((~>) [f6989586621680065538] ((~>) [g6989586621680065539] [h6989586621680065540])))))
data ZipWith7Sym3 (a6989586621680078081 :: (~>) a6989586621680065533 ((~>) b6989586621680065534 ((~>) c6989586621680065535 ((~>) d6989586621680065536 ((~>) e6989586621680065537 ((~>) f6989586621680065538 ((~>) g6989586621680065539 h6989586621680065540))))))) (a6989586621680078082 :: [a6989586621680065533]) (a6989586621680078083 :: [b6989586621680065534]) :: (~>) [c6989586621680065535] ((~>) [d6989586621680065536] ((~>) [e6989586621680065537] ((~>) [f6989586621680065538] ((~>) [g6989586621680065539] [h6989586621680065540]))))
data ZipWith7Sym4 (a6989586621680078081 :: (~>) a6989586621680065533 ((~>) b6989586621680065534 ((~>) c6989586621680065535 ((~>) d6989586621680065536 ((~>) e6989586621680065537 ((~>) f6989586621680065538 ((~>) g6989586621680065539 h6989586621680065540))))))) (a6989586621680078082 :: [a6989586621680065533]) (a6989586621680078083 :: [b6989586621680065534]) (a6989586621680078084 :: [c6989586621680065535]) :: (~>) [d6989586621680065536] ((~>) [e6989586621680065537] ((~>) [f6989586621680065538] ((~>) [g6989586621680065539] [h6989586621680065540])))
data ZipWith7Sym5 (a6989586621680078081 :: (~>) a6989586621680065533 ((~>) b6989586621680065534 ((~>) c6989586621680065535 ((~>) d6989586621680065536 ((~>) e6989586621680065537 ((~>) f6989586621680065538 ((~>) g6989586621680065539 h6989586621680065540))))))) (a6989586621680078082 :: [a6989586621680065533]) (a6989586621680078083 :: [b6989586621680065534]) (a6989586621680078084 :: [c6989586621680065535]) (a6989586621680078085 :: [d6989586621680065536]) :: (~>) [e6989586621680065537] ((~>) [f6989586621680065538] ((~>) [g6989586621680065539] [h6989586621680065540]))
data ZipWith7Sym6 (a6989586621680078081 :: (~>) a6989586621680065533 ((~>) b6989586621680065534 ((~>) c6989586621680065535 ((~>) d6989586621680065536 ((~>) e6989586621680065537 ((~>) f6989586621680065538 ((~>) g6989586621680065539 h6989586621680065540))))))) (a6989586621680078082 :: [a6989586621680065533]) (a6989586621680078083 :: [b6989586621680065534]) (a6989586621680078084 :: [c6989586621680065535]) (a6989586621680078085 :: [d6989586621680065536]) (a6989586621680078086 :: [e6989586621680065537]) :: (~>) [f6989586621680065538] ((~>) [g6989586621680065539] [h6989586621680065540])
data ZipWith7Sym7 (a6989586621680078081 :: (~>) a6989586621680065533 ((~>) b6989586621680065534 ((~>) c6989586621680065535 ((~>) d6989586621680065536 ((~>) e6989586621680065537 ((~>) f6989586621680065538 ((~>) g6989586621680065539 h6989586621680065540))))))) (a6989586621680078082 :: [a6989586621680065533]) (a6989586621680078083 :: [b6989586621680065534]) (a6989586621680078084 :: [c6989586621680065535]) (a6989586621680078085 :: [d6989586621680065536]) (a6989586621680078086 :: [e6989586621680065537]) (a6989586621680078087 :: [f6989586621680065538]) :: (~>) [g6989586621680065539] [h6989586621680065540]
type ZipWith7Sym8 (a6989586621680078081 :: (~>) a6989586621680065533 ((~>) b6989586621680065534 ((~>) c6989586621680065535 ((~>) d6989586621680065536 ((~>) e6989586621680065537 ((~>) f6989586621680065538 ((~>) g6989586621680065539 h6989586621680065540))))))) (a6989586621680078082 :: [a6989586621680065533]) (a6989586621680078083 :: [b6989586621680065534]) (a6989586621680078084 :: [c6989586621680065535]) (a6989586621680078085 :: [d6989586621680065536]) (a6989586621680078086 :: [e6989586621680065537]) (a6989586621680078087 :: [f6989586621680065538]) (a6989586621680078088 :: [g6989586621680065539]) = ZipWith7 a6989586621680078081 a6989586621680078082 a6989586621680078083 a6989586621680078084 a6989586621680078085 a6989586621680078086 a6989586621680078087 a6989586621680078088
data UnzipSym0 :: forall a6989586621679939401 b6989586621679939402. (~>) [(a6989586621679939401, b6989586621679939402)] ([a6989586621679939401], [b6989586621679939402])
type UnzipSym1 (a6989586621679949184 :: [(a6989586621679939401, b6989586621679939402)]) = Unzip a6989586621679949184
data Unzip3Sym0 :: forall a6989586621679939398 b6989586621679939399 c6989586621679939400. (~>) [(a6989586621679939398, b6989586621679939399, c6989586621679939400)] ([a6989586621679939398], [b6989586621679939399], [c6989586621679939400])
type Unzip3Sym1 (a6989586621679949163 :: [(a6989586621679939398, b6989586621679939399, c6989586621679939400)]) = Unzip3 a6989586621679949163
data Unzip4Sym0 :: forall a6989586621679939394 b6989586621679939395 c6989586621679939396 d6989586621679939397. (~>) [(a6989586621679939394, b6989586621679939395, c6989586621679939396, d6989586621679939397)] ([a6989586621679939394], [b6989586621679939395], [c6989586621679939396], [d6989586621679939397])
type Unzip4Sym1 (a6989586621679949140 :: [(a6989586621679939394, b6989586621679939395, c6989586621679939396, d6989586621679939397)]) = Unzip4 a6989586621679949140
data Unzip5Sym0 :: forall a6989586621679939389 b6989586621679939390 c6989586621679939391 d6989586621679939392 e6989586621679939393. (~>) [(a6989586621679939389, b6989586621679939390, c6989586621679939391, d6989586621679939392, e6989586621679939393)] ([a6989586621679939389], [b6989586621679939390], [c6989586621679939391], [d6989586621679939392], [e6989586621679939393])
type Unzip5Sym1 (a6989586621679949115 :: [(a6989586621679939389, b6989586621679939390, c6989586621679939391, d6989586621679939392, e6989586621679939393)]) = Unzip5 a6989586621679949115
data Unzip6Sym0 :: forall a6989586621679939383 b6989586621679939384 c6989586621679939385 d6989586621679939386 e6989586621679939387 f6989586621679939388. (~>) [(a6989586621679939383, b6989586621679939384, c6989586621679939385, d6989586621679939386, e6989586621679939387, f6989586621679939388)] ([a6989586621679939383], [b6989586621679939384], [c6989586621679939385], [d6989586621679939386], [e6989586621679939387], [f6989586621679939388])
type Unzip6Sym1 (a6989586621679949088 :: [(a6989586621679939383, b6989586621679939384, c6989586621679939385, d6989586621679939386, e6989586621679939387, f6989586621679939388)]) = Unzip6 a6989586621679949088
data Unzip7Sym0 :: forall a6989586621679939376 b6989586621679939377 c6989586621679939378 d6989586621679939379 e6989586621679939380 f6989586621679939381 g6989586621679939382. (~>) [(a6989586621679939376, b6989586621679939377, c6989586621679939378, d6989586621679939379, e6989586621679939380, f6989586621679939381, g6989586621679939382)] ([a6989586621679939376], [b6989586621679939377], [c6989586621679939378], [d6989586621679939379], [e6989586621679939380], [f6989586621679939381], [g6989586621679939382])
type Unzip7Sym1 (a6989586621679949059 :: [(a6989586621679939376, b6989586621679939377, c6989586621679939378, d6989586621679939379, e6989586621679939380, f6989586621679939381, g6989586621679939382)]) = Unzip7 a6989586621679949059
data UnlinesSym0 :: (~>) [Symbol] Symbol
type UnlinesSym1 (a6989586621679949055 :: [Symbol]) = Unlines a6989586621679949055
data UnwordsSym0 :: (~>) [Symbol] Symbol
type UnwordsSym1 (a6989586621679949044 :: [Symbol]) = Unwords a6989586621679949044
data NubSym0 :: forall a6989586621679939335. (~>) [a6989586621679939335] [a6989586621679939335]
type NubSym1 (a6989586621679949313 :: [a6989586621679939335]) = Nub a6989586621679949313
data DeleteSym0 :: forall a6989586621679939375. (~>) a6989586621679939375 ((~>) [a6989586621679939375] [a6989586621679939375])
data DeleteSym1 (a6989586621679949028 :: a6989586621679939375) :: (~>) [a6989586621679939375] [a6989586621679939375]
type DeleteSym2 (a6989586621679949028 :: a6989586621679939375) (a6989586621679949029 :: [a6989586621679939375]) = Delete a6989586621679949028 a6989586621679949029
data (\\@#@$) :: forall a6989586621679939374. (~>) [a6989586621679939374] ((~>) [a6989586621679939374] [a6989586621679939374])
infix 5 \\@#@$
data (\\@#@$$) (a6989586621679949038 :: [a6989586621679939374]) :: (~>) [a6989586621679939374] [a6989586621679939374]
infix 5 \\@#@$$
type (\\@#@$$$) (a6989586621679949038 :: [a6989586621679939374]) (a6989586621679949039 :: [a6989586621679939374]) = (\\) a6989586621679949038 a6989586621679949039
data UnionSym0 :: forall a6989586621679939331. (~>) [a6989586621679939331] ((~>) [a6989586621679939331] [a6989586621679939331])
data UnionSym1 (a6989586621679949018 :: [a6989586621679939331]) :: (~>) [a6989586621679939331] [a6989586621679939331]
type UnionSym2 (a6989586621679949018 :: [a6989586621679939331]) (a6989586621679949019 :: [a6989586621679939331]) = Union a6989586621679949018 a6989586621679949019
data IntersectSym0 :: forall a6989586621679939361. (~>) [a6989586621679939361] ((~>) [a6989586621679939361] [a6989586621679939361])
data IntersectSym1 (a6989586621679949613 :: [a6989586621679939361]) :: (~>) [a6989586621679939361] [a6989586621679939361]
type IntersectSym2 (a6989586621679949613 :: [a6989586621679939361]) (a6989586621679949614 :: [a6989586621679939361]) = Intersect a6989586621679949613 a6989586621679949614
data InsertSym0 :: forall a6989586621679939348. (~>) a6989586621679939348 ((~>) [a6989586621679939348] [a6989586621679939348])
data InsertSym1 (a6989586621679948955 :: a6989586621679939348) :: (~>) [a6989586621679939348] [a6989586621679939348]
type InsertSym2 (a6989586621679948955 :: a6989586621679939348) (a6989586621679948956 :: [a6989586621679939348]) = Insert a6989586621679948955 a6989586621679948956
data SortSym0 :: forall a6989586621679939347. (~>) [a6989586621679939347] [a6989586621679939347]
type SortSym1 (a6989586621679948971 :: [a6989586621679939347]) = Sort a6989586621679948971
data NubBySym0 :: forall a6989586621679939334. (~>) ((~>) a6989586621679939334 ((~>) a6989586621679939334 Bool)) ((~>) [a6989586621679939334] [a6989586621679939334])
data NubBySym1 (a6989586621679948601 :: (~>) a6989586621679939334 ((~>) a6989586621679939334 Bool)) :: (~>) [a6989586621679939334] [a6989586621679939334]
type NubBySym2 (a6989586621679948601 :: (~>) a6989586621679939334 ((~>) a6989586621679939334 Bool)) (a6989586621679948602 :: [a6989586621679939334]) = NubBy a6989586621679948601 a6989586621679948602
data DeleteBySym0 :: forall a6989586621679939373. (~>) ((~>) a6989586621679939373 ((~>) a6989586621679939373 Bool)) ((~>) a6989586621679939373 ((~>) [a6989586621679939373] [a6989586621679939373]))
data DeleteBySym1 (a6989586621679948974 :: (~>) a6989586621679939373 ((~>) a6989586621679939373 Bool)) :: (~>) a6989586621679939373 ((~>) [a6989586621679939373] [a6989586621679939373])
data DeleteBySym2 (a6989586621679948974 :: (~>) a6989586621679939373 ((~>) a6989586621679939373 Bool)) (a6989586621679948975 :: a6989586621679939373) :: (~>) [a6989586621679939373] [a6989586621679939373]
type DeleteBySym3 (a6989586621679948974 :: (~>) a6989586621679939373 ((~>) a6989586621679939373 Bool)) (a6989586621679948975 :: a6989586621679939373) (a6989586621679948976 :: [a6989586621679939373]) = DeleteBy a6989586621679948974 a6989586621679948975 a6989586621679948976
data DeleteFirstsBySym0 :: forall a6989586621679939372. (~>) ((~>) a6989586621679939372 ((~>) a6989586621679939372 Bool)) ((~>) [a6989586621679939372] ((~>) [a6989586621679939372] [a6989586621679939372]))
data DeleteFirstsBySym1 (a6989586621679948992 :: (~>) a6989586621679939372 ((~>) a6989586621679939372 Bool)) :: (~>) [a6989586621679939372] ((~>) [a6989586621679939372] [a6989586621679939372])
data DeleteFirstsBySym2 (a6989586621679948992 :: (~>) a6989586621679939372 ((~>) a6989586621679939372 Bool)) (a6989586621679948993 :: [a6989586621679939372]) :: (~>) [a6989586621679939372] [a6989586621679939372]
type DeleteFirstsBySym3 (a6989586621679948992 :: (~>) a6989586621679939372 ((~>) a6989586621679939372 Bool)) (a6989586621679948993 :: [a6989586621679939372]) (a6989586621679948994 :: [a6989586621679939372]) = DeleteFirstsBy a6989586621679948992 a6989586621679948993 a6989586621679948994
data UnionBySym0 :: forall a6989586621679939332. (~>) ((~>) a6989586621679939332 ((~>) a6989586621679939332 Bool)) ((~>) [a6989586621679939332] ((~>) [a6989586621679939332] [a6989586621679939332]))
data UnionBySym1 (a6989586621679949005 :: (~>) a6989586621679939332 ((~>) a6989586621679939332 Bool)) :: (~>) [a6989586621679939332] ((~>) [a6989586621679939332] [a6989586621679939332])
data UnionBySym2 (a6989586621679949005 :: (~>) a6989586621679939332 ((~>) a6989586621679939332 Bool)) (a6989586621679949006 :: [a6989586621679939332]) :: (~>) [a6989586621679939332] [a6989586621679939332]
type UnionBySym3 (a6989586621679949005 :: (~>) a6989586621679939332 ((~>) a6989586621679939332 Bool)) (a6989586621679949006 :: [a6989586621679939332]) (a6989586621679949007 :: [a6989586621679939332]) = UnionBy a6989586621679949005 a6989586621679949006 a6989586621679949007
data IntersectBySym0 :: forall a6989586621679939360. (~>) ((~>) a6989586621679939360 ((~>) a6989586621679939360 Bool)) ((~>) [a6989586621679939360] ((~>) [a6989586621679939360] [a6989586621679939360]))
data IntersectBySym1 (a6989586621679949577 :: (~>) a6989586621679939360 ((~>) a6989586621679939360 Bool)) :: (~>) [a6989586621679939360] ((~>) [a6989586621679939360] [a6989586621679939360])
data IntersectBySym2 (a6989586621679949577 :: (~>) a6989586621679939360 ((~>) a6989586621679939360 Bool)) (a6989586621679949578 :: [a6989586621679939360]) :: (~>) [a6989586621679939360] [a6989586621679939360]
type IntersectBySym3 (a6989586621679949577 :: (~>) a6989586621679939360 ((~>) a6989586621679939360 Bool)) (a6989586621679949578 :: [a6989586621679939360]) (a6989586621679949579 :: [a6989586621679939360]) = IntersectBy a6989586621679949577 a6989586621679949578 a6989586621679949579
data GroupBySym0 :: forall a6989586621679939346. (~>) ((~>) a6989586621679939346 ((~>) a6989586621679939346 Bool)) ((~>) [a6989586621679939346] [[a6989586621679939346]])
data GroupBySym1 (a6989586621679948842 :: (~>) a6989586621679939346 ((~>) a6989586621679939346 Bool)) :: (~>) [a6989586621679939346] [[a6989586621679939346]]
type GroupBySym2 (a6989586621679948842 :: (~>) a6989586621679939346 ((~>) a6989586621679939346 Bool)) (a6989586621679948843 :: [a6989586621679939346]) = GroupBy a6989586621679948842 a6989586621679948843
data SortBySym0 :: forall a6989586621679939371. (~>) ((~>) a6989586621679939371 ((~>) a6989586621679939371 Ordering)) ((~>) [a6989586621679939371] [a6989586621679939371])
data SortBySym1 (a6989586621679948961 :: (~>) a6989586621679939371 ((~>) a6989586621679939371 Ordering)) :: (~>) [a6989586621679939371] [a6989586621679939371]
type SortBySym2 (a6989586621679948961 :: (~>) a6989586621679939371 ((~>) a6989586621679939371 Ordering)) (a6989586621679948962 :: [a6989586621679939371]) = SortBy a6989586621679948961 a6989586621679948962
data InsertBySym0 :: forall a6989586621679939370. (~>) ((~>) a6989586621679939370 ((~>) a6989586621679939370 Ordering)) ((~>) a6989586621679939370 ((~>) [a6989586621679939370] [a6989586621679939370]))
data InsertBySym1 (a6989586621679948931 :: (~>) a6989586621679939370 ((~>) a6989586621679939370 Ordering)) :: (~>) a6989586621679939370 ((~>) [a6989586621679939370] [a6989586621679939370])
data InsertBySym2 (a6989586621679948931 :: (~>) a6989586621679939370 ((~>) a6989586621679939370 Ordering)) (a6989586621679948932 :: a6989586621679939370) :: (~>) [a6989586621679939370] [a6989586621679939370]
type InsertBySym3 (a6989586621679948931 :: (~>) a6989586621679939370 ((~>) a6989586621679939370 Ordering)) (a6989586621679948932 :: a6989586621679939370) (a6989586621679948933 :: [a6989586621679939370]) = InsertBy a6989586621679948931 a6989586621679948932 a6989586621679948933
data MaximumBySym0 :: forall a6989586621680448359 t6989586621680448358. (~>) ((~>) a6989586621680448359 ((~>) a6989586621680448359 Ordering)) ((~>) (t6989586621680448358 a6989586621680448359) a6989586621680448359)
data MaximumBySym1 (a6989586621680448870 :: (~>) a6989586621680448359 ((~>) a6989586621680448359 Ordering)) :: forall t6989586621680448358. (~>) (t6989586621680448358 a6989586621680448359) a6989586621680448359
type MaximumBySym2 (a6989586621680448870 :: (~>) a6989586621680448359 ((~>) a6989586621680448359 Ordering)) (a6989586621680448871 :: t6989586621680448358 a6989586621680448359) = MaximumBy a6989586621680448870 a6989586621680448871
data MinimumBySym0 :: forall a6989586621680448357 t6989586621680448356. (~>) ((~>) a6989586621680448357 ((~>) a6989586621680448357 Ordering)) ((~>) (t6989586621680448356 a6989586621680448357) a6989586621680448357)
data MinimumBySym1 (a6989586621680448845 :: (~>) a6989586621680448357 ((~>) a6989586621680448357 Ordering)) :: forall t6989586621680448356. (~>) (t6989586621680448356 a6989586621680448357) a6989586621680448357
type MinimumBySym2 (a6989586621680448845 :: (~>) a6989586621680448357 ((~>) a6989586621680448357 Ordering)) (a6989586621680448846 :: t6989586621680448356 a6989586621680448357) = MinimumBy a6989586621680448845 a6989586621680448846
data GenericLengthSym0 :: forall a6989586621679939330 i6989586621679939329. (~>) [a6989586621679939330] i6989586621679939329
type GenericLengthSym1 (a6989586621679948588 :: [a6989586621679939330]) = GenericLength a6989586621679948588
data GenericTakeSym0 :: forall a6989586621680065532 i6989586621680065531. (~>) i6989586621680065531 ((~>) [a6989586621680065532] [a6989586621680065532])
data GenericTakeSym1 (a6989586621680078075 :: i6989586621680065531) :: forall a6989586621680065532. (~>) [a6989586621680065532] [a6989586621680065532]
type GenericTakeSym2 (a6989586621680078075 :: i6989586621680065531) (a6989586621680078076 :: [a6989586621680065532]) = GenericTake a6989586621680078075 a6989586621680078076
data GenericDropSym0 :: forall a6989586621680065530 i6989586621680065529. (~>) i6989586621680065529 ((~>) [a6989586621680065530] [a6989586621680065530])
data GenericDropSym1 (a6989586621680078065 :: i6989586621680065529) :: forall a6989586621680065530. (~>) [a6989586621680065530] [a6989586621680065530]
type GenericDropSym2 (a6989586621680078065 :: i6989586621680065529) (a6989586621680078066 :: [a6989586621680065530]) = GenericDrop a6989586621680078065 a6989586621680078066
data GenericSplitAtSym0 :: forall a6989586621680065528 i6989586621680065527. (~>) i6989586621680065527 ((~>) [a6989586621680065528] ([a6989586621680065528], [a6989586621680065528]))
data GenericSplitAtSym1 (a6989586621680078055 :: i6989586621680065527) :: forall a6989586621680065528. (~>) [a6989586621680065528] ([a6989586621680065528], [a6989586621680065528])
type GenericSplitAtSym2 (a6989586621680078055 :: i6989586621680065527) (a6989586621680078056 :: [a6989586621680065528]) = GenericSplitAt a6989586621680078055 a6989586621680078056
data GenericIndexSym0 :: forall a6989586621680065526 i6989586621680065525. (~>) [a6989586621680065526] ((~>) i6989586621680065525 a6989586621680065526)
data GenericIndexSym1 (a6989586621680078045 :: [a6989586621680065526]) :: forall i6989586621680065525. (~>) i6989586621680065525 a6989586621680065526
type GenericIndexSym2 (a6989586621680078045 :: [a6989586621680065526]) (a6989586621680078046 :: i6989586621680065525) = GenericIndex a6989586621680078045 a6989586621680078046
data GenericReplicateSym0 :: forall a6989586621680065524 i6989586621680065523. (~>) i6989586621680065523 ((~>) a6989586621680065524 [a6989586621680065524])
data GenericReplicateSym1 (a6989586621680078035 :: i6989586621680065523) :: forall a6989586621680065524. (~>) a6989586621680065524 [a6989586621680065524]
type GenericReplicateSym2 (a6989586621680078035 :: i6989586621680065523) (a6989586621680078036 :: a6989586621680065524) = GenericReplicate a6989586621680078035 a6989586621680078036


-- | Defines the promoted and singled versions of the <a>MonadZip</a> type
--   class.
module Data.Singletons.Prelude.Monad.Zip
class PMonad m_a8Djb => PMonadZip (m_a8Djb :: Type -> Type) where {
    type family Mzip (arg_a8Dkp :: m_a8Djb a_a8Djc) (arg_a8Dkq :: m_a8Djb b_a8Djd) :: m_a8Djb (a_a8Djc, b_a8Djd);
    type family MzipWith (arg_a8Dkt :: (~>) a_a8Dje ((~>) b_a8Djf c_a8Djg)) (arg_a8Dku :: m_a8Djb a_a8Dje) (arg_a8Dkv :: m_a8Djb b_a8Djf) :: m_a8Djb c_a8Djg;
    type family Munzip (arg_a8Dkz :: m_a8Djb (a_a8Djh, b_a8Dji)) :: (m_a8Djb a_a8Djh, m_a8Djb b_a8Dji);
    type Mzip a_a8DkL a_a8DkM = Apply (Apply Mzip_6989586621681067621Sym0 a_a8DkL) a_a8DkM;
    type MzipWith a_a8Dl0 a_a8Dl1 a_a8Dl2 = Apply (Apply (Apply MzipWith_6989586621681067637Sym0 a_a8Dl0) a_a8Dl1) a_a8Dl2;
    type Munzip a_a8Dlb = Apply Munzip_6989586621681067646Sym0 a_a8Dlb;
}
class SMonad m_a8Djb => SMonadZip (m_a8Djb :: Type -> Type)
sMzip :: forall a_a8Djc b_a8Djd (t_a8Dpj :: m_a8Djb a_a8Djc) (t_a8Dpk :: m_a8Djb b_a8Djd). SMonadZip m_a8Djb => Sing t_a8Dpj -> Sing t_a8Dpk -> Sing (Apply (Apply MzipSym0 t_a8Dpj) t_a8Dpk :: m_a8Djb (a_a8Djc, b_a8Djd))
sMzipWith :: forall a_a8Dje b_a8Djf c_a8Djg (t_a8Dpn :: (~>) a_a8Dje ((~>) b_a8Djf c_a8Djg)) (t_a8Dpo :: m_a8Djb a_a8Dje) (t_a8Dpp :: m_a8Djb b_a8Djf). SMonadZip m_a8Djb => Sing t_a8Dpn -> Sing t_a8Dpo -> Sing t_a8Dpp -> Sing (Apply (Apply (Apply MzipWithSym0 t_a8Dpn) t_a8Dpo) t_a8Dpp :: m_a8Djb c_a8Djg)
sMunzip :: forall a_a8Djh b_a8Dji (t_a8Dpt :: m_a8Djb (a_a8Djh, b_a8Dji)). SMonadZip m_a8Djb => Sing t_a8Dpt -> Sing (Apply MunzipSym0 t_a8Dpt :: (m_a8Djb a_a8Djh, m_a8Djb b_a8Dji))
sMzip :: forall a_a8Djc b_a8Djd (t_a8Dpj :: m_a8Djb a_a8Djc) (t_a8Dpk :: m_a8Djb b_a8Djd). (SMonadZip m_a8Djb, (Apply (Apply MzipSym0 t_a8Dpj) t_a8Dpk :: m_a8Djb (a_a8Djc, b_a8Djd)) ~ Apply (Apply Mzip_6989586621681067621Sym0 t_a8Dpj) t_a8Dpk) => Sing t_a8Dpj -> Sing t_a8Dpk -> Sing (Apply (Apply MzipSym0 t_a8Dpj) t_a8Dpk :: m_a8Djb (a_a8Djc, b_a8Djd))
sMzipWith :: forall a_a8Dje b_a8Djf c_a8Djg (t_a8Dpn :: (~>) a_a8Dje ((~>) b_a8Djf c_a8Djg)) (t_a8Dpo :: m_a8Djb a_a8Dje) (t_a8Dpp :: m_a8Djb b_a8Djf). (SMonadZip m_a8Djb, (Apply (Apply (Apply MzipWithSym0 t_a8Dpn) t_a8Dpo) t_a8Dpp :: m_a8Djb c_a8Djg) ~ Apply (Apply (Apply MzipWith_6989586621681067637Sym0 t_a8Dpn) t_a8Dpo) t_a8Dpp) => Sing t_a8Dpn -> Sing t_a8Dpo -> Sing t_a8Dpp -> Sing (Apply (Apply (Apply MzipWithSym0 t_a8Dpn) t_a8Dpo) t_a8Dpp :: m_a8Djb c_a8Djg)
sMunzip :: forall a_a8Djh b_a8Dji (t_a8Dpt :: m_a8Djb (a_a8Djh, b_a8Dji)). (SMonadZip m_a8Djb, (Apply MunzipSym0 t_a8Dpt :: (m_a8Djb a_a8Djh, m_a8Djb b_a8Dji)) ~ Apply Munzip_6989586621681067646Sym0 t_a8Dpt) => Sing t_a8Dpt -> Sing (Apply MunzipSym0 t_a8Dpt :: (m_a8Djb a_a8Djh, m_a8Djb b_a8Dji))
data MzipSym0 :: forall a6989586621681067522 b6989586621681067523 m6989586621681067521. (~>) (m6989586621681067521 a6989586621681067522) ((~>) (m6989586621681067521 b6989586621681067523) (m6989586621681067521 (a6989586621681067522, b6989586621681067523)))
data MzipSym1 (arg6989586621681067597 :: m6989586621681067521 a6989586621681067522) :: forall b6989586621681067523. (~>) (m6989586621681067521 b6989586621681067523) (m6989586621681067521 (a6989586621681067522, b6989586621681067523))
type MzipSym2 (arg6989586621681067597 :: m6989586621681067521 a6989586621681067522) (arg6989586621681067598 :: m6989586621681067521 b6989586621681067523) = Mzip arg6989586621681067597 arg6989586621681067598
data MzipWithSym0 :: forall a6989586621681067524 b6989586621681067525 c6989586621681067526 m6989586621681067521. (~>) ((~>) a6989586621681067524 ((~>) b6989586621681067525 c6989586621681067526)) ((~>) (m6989586621681067521 a6989586621681067524) ((~>) (m6989586621681067521 b6989586621681067525) (m6989586621681067521 c6989586621681067526)))
data MzipWithSym1 (arg6989586621681067601 :: (~>) a6989586621681067524 ((~>) b6989586621681067525 c6989586621681067526)) :: forall m6989586621681067521. (~>) (m6989586621681067521 a6989586621681067524) ((~>) (m6989586621681067521 b6989586621681067525) (m6989586621681067521 c6989586621681067526))
data MzipWithSym2 (arg6989586621681067601 :: (~>) a6989586621681067524 ((~>) b6989586621681067525 c6989586621681067526)) (arg6989586621681067602 :: m6989586621681067521 a6989586621681067524) :: (~>) (m6989586621681067521 b6989586621681067525) (m6989586621681067521 c6989586621681067526)
type MzipWithSym3 (arg6989586621681067601 :: (~>) a6989586621681067524 ((~>) b6989586621681067525 c6989586621681067526)) (arg6989586621681067602 :: m6989586621681067521 a6989586621681067524) (arg6989586621681067603 :: m6989586621681067521 b6989586621681067525) = MzipWith arg6989586621681067601 arg6989586621681067602 arg6989586621681067603
data MunzipSym0 :: forall a6989586621681067527 b6989586621681067528 m6989586621681067521. (~>) (m6989586621681067521 (a6989586621681067527, b6989586621681067528)) (m6989586621681067521 a6989586621681067527, m6989586621681067521 b6989586621681067528)
type MunzipSym1 (arg6989586621681067607 :: m6989586621681067521 (a6989586621681067527, b6989586621681067528)) = Munzip arg6989586621681067607
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_6989586621681067896Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Monoid.Last
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681067893 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067896Sym1 a6989586621681067893)
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681067894 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)) (a6989586621681067893 :: m6989586621681067521 a6989586621681067524). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067896Sym2 a6989586621681067894 a6989586621681067893)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067873Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Monoid.First
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681067870 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067873Sym1 a6989586621681067870)
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681067871 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)) (a6989586621681067870 :: m6989586621681067521 a6989586621681067524). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067873Sym2 a6989586621681067871 a6989586621681067870)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067850Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip GHC.Maybe.Maybe
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681067847 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067850Sym1 a6989586621681067847)
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681067848 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)) (a6989586621681067847 :: m6989586621681067521 a6989586621681067524). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067850Sym2 a6989586621681067848 a6989586621681067847)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067827Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Semigroup.Internal.Product
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681067824 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067827Sym1 a6989586621681067824)
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681067825 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)) (a6989586621681067824 :: m6989586621681067521 a6989586621681067524). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067827Sym2 a6989586621681067825 a6989586621681067824)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067804Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Semigroup.Internal.Sum
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681067801 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067804Sym1 a6989586621681067801)
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681067802 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)) (a6989586621681067801 :: m6989586621681067521 a6989586621681067524). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067804Sym2 a6989586621681067802 a6989586621681067801)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067781Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Semigroup.Internal.Dual
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681067778 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067781Sym1 a6989586621681067778)
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681067779 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)) (a6989586621681067778 :: m6989586621681067521 a6989586621681067524). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067781Sym2 a6989586621681067779 a6989586621681067778)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Munzip_6989586621681067760Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Functor.Identity.Identity
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067750Sym0
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681067747 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067750Sym1 a6989586621681067747)
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681067748 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)) (a6989586621681067747 :: m6989586621681067521 a6989586621681067524). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067750Sym2 a6989586621681067748 a6989586621681067747)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Munzip_6989586621681067729Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip []
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067718Sym0
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681067715 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067718Sym1 a6989586621681067715)
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681067716 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)) (a6989586621681067715 :: m6989586621681067521 a6989586621681067524). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067718Sym2 a6989586621681067716 a6989586621681067715)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681067696Sym0
instance forall b6989586621681067523 (m6989586621681067521 :: * -> *) a6989586621681067522 (a6989586621681067694 :: m6989586621681067521 a6989586621681067522). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681067696Sym1 a6989586621681067694)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MunzipSym0
instance forall b6989586621681067523 (m6989586621681067521 :: * -> *) a6989586621681067522 (arg6989586621681067597 :: m6989586621681067521 a6989586621681067522). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipSym1 arg6989586621681067597)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipSym0
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (arg6989586621681067602 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)) (arg6989586621681067601 :: m6989586621681067521 a6989586621681067524). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWithSym2 arg6989586621681067602 arg6989586621681067601)
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (arg6989586621681067601 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWithSym1 arg6989586621681067601)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWithSym0
instance forall b6989586621681067523 (m6989586621681067521 :: * -> *) a6989586621681067522 (a6989586621681067619 :: m6989586621681067521 a6989586621681067522). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681067621Sym1 a6989586621681067619)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681067621Sym0
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681067635 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)) (a6989586621681067634 :: m6989586621681067521 a6989586621681067524). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067637Sym2 a6989586621681067635 a6989586621681067634)
instance forall (m6989586621681067521 :: * -> *) a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681067634 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067637Sym1 a6989586621681067634)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681067637Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Munzip_6989586621681067646Sym0


-- | 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_afiy -> Type)
type family Map (a_a8M18 :: (~>) a_a8LAZ b_a8LB0) (a_a8M19 :: NonEmpty a_a8LAZ) :: NonEmpty b_a8LB0
sMap :: forall a_a8LAZ b_a8LB0 (t_a8M7y :: (~>) a_a8LAZ b_a8LB0) (t_a8M7z :: NonEmpty a_a8LAZ). Sing t_a8M7y -> Sing t_a8M7z -> Sing (Apply (Apply MapSym0 t_a8M7y) t_a8M7z :: NonEmpty b_a8LB0)
type family Intersperse (a_a8M0Y :: a_a8LAP) (a_a8M0Z :: NonEmpty a_a8LAP) :: NonEmpty a_a8LAP
sIntersperse :: forall a_a8LAP (t_a8M7u :: a_a8LAP) (t_a8M7v :: NonEmpty a_a8LAP). Sing t_a8M7u -> Sing t_a8M7v -> Sing (Apply (Apply IntersperseSym0 t_a8M7u) t_a8M7v :: NonEmpty a_a8LAP)
type family Scanl (a_a8M3s :: (~>) b_a8LAU ((~>) a_a8LAV b_a8LAU)) (a_a8M3t :: b_a8LAU) (a_a8M3u :: [a_a8LAV]) :: NonEmpty b_a8LAU
sScanl :: forall b_a8LAU a_a8LAV (t_a8M8G :: (~>) b_a8LAU ((~>) a_a8LAV b_a8LAU)) (t_a8M8H :: b_a8LAU) (t_a8M8I :: [a_a8LAV]). Sing t_a8M8G -> Sing t_a8M8H -> Sing t_a8M8I -> Sing (Apply (Apply (Apply ScanlSym0 t_a8M8G) t_a8M8H) t_a8M8I :: NonEmpty b_a8LAU)
type family Scanr (a_a8M3D :: (~>) a_a8LAS ((~>) b_a8LAT b_a8LAT)) (a_a8M3E :: b_a8LAT) (a_a8M3F :: [a_a8LAS]) :: NonEmpty b_a8LAT
sScanr :: forall a_a8LAS b_a8LAT (t_a8M8M :: (~>) a_a8LAS ((~>) b_a8LAT b_a8LAT)) (t_a8M8N :: b_a8LAT) (t_a8M8O :: [a_a8LAS]). Sing t_a8M8M -> Sing t_a8M8N -> Sing t_a8M8O -> Sing (Apply (Apply (Apply ScanrSym0 t_a8M8M) t_a8M8N) t_a8M8O :: NonEmpty b_a8LAT)
type family Scanl1 (a_a8M3O :: (~>) a_a8LAR ((~>) a_a8LAR a_a8LAR)) (a_a8M3P :: NonEmpty a_a8LAR) :: NonEmpty a_a8LAR
sScanl1 :: forall a_a8LAR (t_a8M8S :: (~>) a_a8LAR ((~>) a_a8LAR a_a8LAR)) (t_a8M8T :: NonEmpty a_a8LAR). Sing t_a8M8S -> Sing t_a8M8T -> Sing (Apply (Apply Scanl1Sym0 t_a8M8S) t_a8M8T :: NonEmpty a_a8LAR)
type family Scanr1 (a_a8M3V :: (~>) a_a8LAQ ((~>) a_a8LAQ a_a8LAQ)) (a_a8M3W :: NonEmpty a_a8LAQ) :: NonEmpty a_a8LAQ
sScanr1 :: forall a_a8LAQ (t_a8M8W :: (~>) a_a8LAQ ((~>) a_a8LAQ a_a8LAQ)) (t_a8M8X :: NonEmpty a_a8LAQ). Sing t_a8M8W -> Sing t_a8M8X -> Sing (Apply (Apply Scanr1Sym0 t_a8M8W) t_a8M8X :: NonEmpty a_a8LAQ)
type family Transpose (a_a8M5R :: NonEmpty (NonEmpty a_a8LAh)) :: NonEmpty (NonEmpty a_a8LAh)
sTranspose :: forall a_a8LAh (t_a8M9C :: NonEmpty (NonEmpty a_a8LAh)). Sing t_a8M9C -> Sing (Apply TransposeSym0 t_a8M9C :: NonEmpty (NonEmpty a_a8LAh))
type family SortBy (a_a8M2K :: (~>) a_a8LAg ((~>) a_a8LAg Ordering)) (a_a8M2L :: NonEmpty a_a8LAg) :: NonEmpty a_a8LAg
sSortBy :: forall a_a8LAg (t_a8M8m :: (~>) a_a8LAg ((~>) a_a8LAg Ordering)) (t_a8M8n :: NonEmpty a_a8LAg). Sing t_a8M8m -> Sing t_a8M8n -> Sing (Apply (Apply SortBySym0 t_a8M8m) t_a8M8n :: NonEmpty a_a8LAg)
type family SortWith (a_a8M2W :: (~>) a_a8LAf o_a8LAe) (a_a8M2X :: NonEmpty a_a8LAf) :: NonEmpty a_a8LAf
sSortWith :: forall o_a8LAe a_a8LAf (t_a8M8q :: (~>) a_a8LAf o_a8LAe) (t_a8M8r :: NonEmpty a_a8LAf). SOrd o_a8LAe => Sing t_a8M8q -> Sing t_a8M8r -> Sing (Apply (Apply SortWithSym0 t_a8M8q) t_a8M8r :: NonEmpty a_a8LAf)
type family Length (a_a8M5F :: NonEmpty a_a8LBi) :: Nat
sLength :: forall a_a8LBi (t_a8M9w :: NonEmpty a_a8LBi). Sing t_a8M9w -> Sing (Apply LengthSym0 t_a8M9w :: Nat)
type family Head (a_a8M4z :: NonEmpty a_a8LBb) :: a_a8LBb
sHead :: forall a_a8LBb (t_a8M9g :: NonEmpty a_a8LBb). Sing t_a8M9g -> Sing (Apply HeadSym0 t_a8M9g :: a_a8LBb)
type family Tail (a_a8M4w :: NonEmpty a_a8LBa) :: [a_a8LBa]
sTail :: forall a_a8LBa (t_a8M9e :: NonEmpty a_a8LBa). Sing t_a8M9e -> Sing (Apply TailSym0 t_a8M9e :: [a_a8LBa])
type family Last (a_a8M4s :: NonEmpty a_a8LB9) :: a_a8LB9
sLast :: forall a_a8LB9 (t_a8M9c :: NonEmpty a_a8LB9). Sing t_a8M9c -> Sing (Apply LastSym0 t_a8M9c :: a_a8LB9)
type family Init (a_a8M4o :: NonEmpty a_a8LB8) :: [a_a8LB8]
sInit :: forall a_a8LB8 (t_a8M9a :: NonEmpty a_a8LB8). Sing t_a8M9a -> Sing (Apply InitSym0 t_a8M9a :: [a_a8LB8])
type family (<|) (a_a8M47 :: a_a8LB7) (a_a8M48 :: NonEmpty a_a8LB7) :: NonEmpty a_a8LB7
(%<|) :: forall a_a8LB7 (t_a8M92 :: a_a8LB7) (t_a8M93 :: NonEmpty a_a8LB7). Sing t_a8M92 -> Sing t_a8M93 -> Sing (Apply (Apply (<|@#@$) t_a8M92) t_a8M93 :: NonEmpty a_a8LB7)
type family Cons (a_a8M4i :: a_a8LB6) (a_a8M4j :: NonEmpty a_a8LB6) :: NonEmpty a_a8LB6
sCons :: forall a_a8LB6 (t_a8M96 :: a_a8LB6) (t_a8M97 :: NonEmpty a_a8LB6). Sing t_a8M96 -> Sing t_a8M97 -> Sing (Apply (Apply ConsSym0 t_a8M96) t_a8M97 :: NonEmpty a_a8LB6)
type family Uncons (a_a8M59 :: NonEmpty a_a8LBe) :: (a_a8LBe, Maybe (NonEmpty a_a8LBe))
sUncons :: forall a_a8LBe (t_a8M9o :: NonEmpty a_a8LBe). Sing t_a8M9o -> Sing (Apply UnconsSym0 t_a8M9o :: (a_a8LBe, Maybe (NonEmpty a_a8LBe)))
type family Unfoldr (a_a8M4C :: (~>) a_a8LBc (b_a8LBd, Maybe a_a8LBc)) (a_a8M4D :: a_a8LBc) :: NonEmpty b_a8LBd
sUnfoldr :: forall a_a8LBc b_a8LBd (t_a8M9i :: (~>) a_a8LBc (b_a8LBd, Maybe a_a8LBc)) (t_a8M9j :: a_a8LBc). Sing t_a8M9i -> Sing t_a8M9j -> Sing (Apply (Apply UnfoldrSym0 t_a8M9i) t_a8M9j :: NonEmpty b_a8LBd)
type family Sort (a_a8M44 :: NonEmpty a_a8LB5) :: NonEmpty a_a8LB5
sSort :: forall a_a8LB5 (t_a8M90 :: NonEmpty a_a8LB5). SOrd a_a8LB5 => Sing t_a8M90 -> Sing (Apply SortSym0 t_a8M90 :: NonEmpty a_a8LB5)
type family Reverse (a_a8M2H :: NonEmpty a_a8LAO) :: NonEmpty a_a8LAO
sReverse :: forall a_a8LAO (t_a8M8k :: NonEmpty a_a8LAO). Sing t_a8M8k -> Sing (Apply ReverseSym0 t_a8M8k :: NonEmpty a_a8LAO)
type family Inits (a_a8M3c :: [a_a8LAY]) :: NonEmpty [a_a8LAY]
sInits :: forall a_a8LAY (t_a8M8y :: [a_a8LAY]). Sing t_a8M8y -> Sing (Apply InitsSym0 t_a8M8y :: NonEmpty [a_a8LAY])
type family Tails (a_a8M3h :: [a_a8LAX]) :: NonEmpty [a_a8LAX]
sTails :: forall a_a8LAX (t_a8M8A :: [a_a8LAX]). Sing t_a8M8A -> Sing (Apply TailsSym0 t_a8M8A :: NonEmpty [a_a8LAX])
type family Unfold (a_a8M5d :: (~>) a_a8LBg (b_a8LBh, Maybe a_a8LBg)) (a_a8M5e :: a_a8LBg) :: NonEmpty b_a8LBh
sUnfold :: forall a_a8LBg b_a8LBh (t_a8M9q :: (~>) a_a8LBg (b_a8LBh, Maybe a_a8LBg)) (t_a8M9r :: a_a8LBg). Sing t_a8M9q -> Sing t_a8M9r -> Sing (Apply (Apply UnfoldSym0 t_a8M9q) t_a8M9r :: NonEmpty b_a8LBh)
type family Insert (a_a8M3k :: a_a8LAW) (a_a8M3l :: [a_a8LAW]) :: NonEmpty a_a8LAW
sInsert :: forall a_a8LAW (t_a8M8C :: a_a8LAW) (t_a8M8D :: [a_a8LAW]). SOrd a_a8LAW => Sing t_a8M8C -> Sing t_a8M8D -> Sing (Apply (Apply InsertSym0 t_a8M8C) t_a8M8D :: NonEmpty a_a8LAW)
type family Take (a_a8M1j :: Nat) (a_a8M1k :: NonEmpty a_a8LAN) :: [a_a8LAN]
sTake :: forall a_a8LAN (t_a8M7E :: Nat) (t_a8M7F :: NonEmpty a_a8LAN). Sing t_a8M7E -> Sing t_a8M7F -> Sing (Apply (Apply TakeSym0 t_a8M7E) t_a8M7F :: [a_a8LAN])
type family Drop (a_a8M1r :: Nat) (a_a8M1s :: NonEmpty a_a8LAM) :: [a_a8LAM]
sDrop :: forall a_a8LAM (t_a8M7I :: Nat) (t_a8M7J :: NonEmpty a_a8LAM). Sing t_a8M7I -> Sing t_a8M7J -> Sing (Apply (Apply DropSym0 t_a8M7I) t_a8M7J :: [a_a8LAM])
type family SplitAt (a_a8M1z :: Nat) (a_a8M1A :: NonEmpty a_a8LAL) :: ([a_a8LAL], [a_a8LAL])
sSplitAt :: forall a_a8LAL (t_a8M7M :: Nat) (t_a8M7N :: NonEmpty a_a8LAL). Sing t_a8M7M -> Sing t_a8M7N -> Sing (Apply (Apply SplitAtSym0 t_a8M7M) t_a8M7N :: ([a_a8LAL], [a_a8LAL]))
type family TakeWhile (a_a8M1H :: (~>) a_a8LAK Bool) (a_a8M1I :: NonEmpty a_a8LAK) :: [a_a8LAK]
sTakeWhile :: forall a_a8LAK (t_a8M7Q :: (~>) a_a8LAK Bool) (t_a8M7R :: NonEmpty a_a8LAK). Sing t_a8M7Q -> Sing t_a8M7R -> Sing (Apply (Apply TakeWhileSym0 t_a8M7Q) t_a8M7R :: [a_a8LAK])
type family DropWhile (a_a8M1P :: (~>) a_a8LAJ Bool) (a_a8M1Q :: NonEmpty a_a8LAJ) :: [a_a8LAJ]
sDropWhile :: forall a_a8LAJ (t_a8M7U :: (~>) a_a8LAJ Bool) (t_a8M7V :: NonEmpty a_a8LAJ). Sing t_a8M7U -> Sing t_a8M7V -> Sing (Apply (Apply DropWhileSym0 t_a8M7U) t_a8M7V :: [a_a8LAJ])
type family Span (a_a8M1X :: (~>) a_a8LAI Bool) (a_a8M1Y :: NonEmpty a_a8LAI) :: ([a_a8LAI], [a_a8LAI])
sSpan :: forall a_a8LAI (t_a8M7Y :: (~>) a_a8LAI Bool) (t_a8M7Z :: NonEmpty a_a8LAI). Sing t_a8M7Y -> Sing t_a8M7Z -> Sing (Apply (Apply SpanSym0 t_a8M7Y) t_a8M7Z :: ([a_a8LAI], [a_a8LAI]))
type family Break (a_a8M25 :: (~>) a_a8LAH Bool) (a_a8M26 :: NonEmpty a_a8LAH) :: ([a_a8LAH], [a_a8LAH])
sBreak :: forall a_a8LAH (t_a8M82 :: (~>) a_a8LAH Bool) (t_a8M83 :: NonEmpty a_a8LAH). Sing t_a8M82 -> Sing t_a8M83 -> Sing (Apply (Apply BreakSym0 t_a8M82) t_a8M83 :: ([a_a8LAH], [a_a8LAH]))
type family Filter (a_a8M2d :: (~>) a_a8LAG Bool) (a_a8M2e :: NonEmpty a_a8LAG) :: [a_a8LAG]
sFilter :: forall a_a8LAG (t_a8M86 :: (~>) a_a8LAG Bool) (t_a8M87 :: NonEmpty a_a8LAG). Sing t_a8M86 -> Sing t_a8M87 -> Sing (Apply (Apply FilterSym0 t_a8M86) t_a8M87 :: [a_a8LAG])
type family Partition (a_a8M2l :: (~>) a_a8LAF Bool) (a_a8M2m :: NonEmpty a_a8LAF) :: ([a_a8LAF], [a_a8LAF])
sPartition :: forall a_a8LAF (t_a8M8a :: (~>) a_a8LAF Bool) (t_a8M8b :: NonEmpty a_a8LAF). Sing t_a8M8a -> Sing t_a8M8b -> Sing (Apply (Apply PartitionSym0 t_a8M8a) t_a8M8b :: ([a_a8LAF], [a_a8LAF]))
type family Group (a_a8M0V :: [a_a8LAE]) :: [NonEmpty a_a8LAE]
sGroup :: forall a_a8LAE (t_a8M7s :: [a_a8LAE]). SEq a_a8LAE => Sing t_a8M7s -> Sing (Apply GroupSym0 t_a8M7s :: [NonEmpty a_a8LAE])
type family GroupBy (a_a8LZ9 :: (~>) a_a8LAD ((~>) a_a8LAD Bool)) (a_a8LZa :: [a_a8LAD]) :: [NonEmpty a_a8LAD]
sGroupBy :: forall a_a8LAD (t_a8M76 :: (~>) a_a8LAD ((~>) a_a8LAD Bool)) (t_a8M77 :: [a_a8LAD]). Sing t_a8M76 -> Sing t_a8M77 -> Sing (Apply (Apply GroupBySym0 t_a8M76) t_a8M77 :: [NonEmpty a_a8LAD])
type family GroupWith (a_a8LZV :: (~>) a_a8LAC b_a8LAB) (a_a8LZW :: [a_a8LAC]) :: [NonEmpty a_a8LAC]
sGroupWith :: forall b_a8LAB a_a8LAC (t_a8M7a :: (~>) a_a8LAC b_a8LAB) (t_a8M7b :: [a_a8LAC]). SEq b_a8LAB => Sing t_a8M7a -> Sing t_a8M7b -> Sing (Apply (Apply GroupWithSym0 t_a8M7a) t_a8M7b :: [NonEmpty a_a8LAC])
type family GroupAllWith (a_a8M03 :: (~>) a_a8LAA b_a8LAz) (a_a8M04 :: [a_a8LAA]) :: [NonEmpty a_a8LAA]
sGroupAllWith :: forall b_a8LAz a_a8LAA (t_a8M7e :: (~>) a_a8LAA b_a8LAz) (t_a8M7f :: [a_a8LAA]). SOrd b_a8LAz => Sing t_a8M7e -> Sing t_a8M7f -> Sing (Apply (Apply GroupAllWithSym0 t_a8M7e) t_a8M7f :: [NonEmpty a_a8LAA])
type family Group1 (a_a8M0I :: NonEmpty a_a8LAy) :: NonEmpty (NonEmpty a_a8LAy)
sGroup1 :: forall a_a8LAy (t_a8M7m :: NonEmpty a_a8LAy). SEq a_a8LAy => Sing t_a8M7m -> Sing (Apply Group1Sym0 t_a8M7m :: NonEmpty (NonEmpty a_a8LAy))
type family GroupBy1 (a_a8M0b :: (~>) a_a8LAx ((~>) a_a8LAx Bool)) (a_a8M0c :: NonEmpty a_a8LAx) :: NonEmpty (NonEmpty a_a8LAx)
sGroupBy1 :: forall a_a8LAx (t_a8M7i :: (~>) a_a8LAx ((~>) a_a8LAx Bool)) (t_a8M7j :: NonEmpty a_a8LAx). Sing t_a8M7i -> Sing t_a8M7j -> Sing (Apply (Apply GroupBy1Sym0 t_a8M7i) t_a8M7j :: NonEmpty (NonEmpty a_a8LAx))
type family GroupWith1 (a_a8M0L :: (~>) a_a8LAw b_a8LAv) (a_a8M0M :: NonEmpty a_a8LAw) :: NonEmpty (NonEmpty a_a8LAw)
sGroupWith1 :: forall b_a8LAv a_a8LAw (t_a8M7o :: (~>) a_a8LAw b_a8LAv) (t_a8M7p :: NonEmpty a_a8LAw). SEq b_a8LAv => Sing t_a8M7o -> Sing t_a8M7p -> Sing (Apply (Apply GroupWith1Sym0 t_a8M7o) t_a8M7p :: NonEmpty (NonEmpty a_a8LAw))
type family GroupAllWith1 (a_a8M32 :: (~>) a_a8LAu b_a8LAt) (a_a8M33 :: NonEmpty a_a8LAu) :: NonEmpty (NonEmpty a_a8LAu)
sGroupAllWith1 :: forall b_a8LAt a_a8LAu (t_a8M8u :: (~>) a_a8LAu b_a8LAt) (t_a8M8v :: NonEmpty a_a8LAu). SOrd b_a8LAt => Sing t_a8M8u -> Sing t_a8M8v -> Sing (Apply (Apply GroupAllWith1Sym0 t_a8M8u) t_a8M8v :: NonEmpty (NonEmpty a_a8LAu))
type family IsPrefixOf (a_a8LZ1 :: [a_a8LAs]) (a_a8LZ2 :: NonEmpty a_a8LAs) :: Bool
sIsPrefixOf :: forall a_a8LAs (t_a8M72 :: [a_a8LAs]) (t_a8M73 :: NonEmpty a_a8LAs). SEq a_a8LAs => Sing t_a8M72 -> Sing t_a8M73 -> Sing (Apply (Apply IsPrefixOfSym0 t_a8M72) t_a8M73 :: Bool)
type family Nub (a_a8LXU :: NonEmpty a_a8LAj) :: NonEmpty a_a8LAj
sNub :: forall a_a8LAj (t_a8M6K :: NonEmpty a_a8LAj). SEq a_a8LAj => Sing t_a8M6K -> Sing (Apply NubSym0 t_a8M6K :: NonEmpty a_a8LAj)
type family NubBy (a_a8LXD :: (~>) a_a8LAi ((~>) a_a8LAi Bool)) (a_a8LXE :: NonEmpty a_a8LAi) :: NonEmpty a_a8LAi
sNubBy :: forall a_a8LAi (t_a8M6G :: (~>) a_a8LAi ((~>) a_a8LAi Bool)) (t_a8M6H :: NonEmpty a_a8LAi). Sing t_a8M6G -> Sing t_a8M6H -> Sing (Apply (Apply NubBySym0 t_a8M6G) t_a8M6H :: NonEmpty a_a8LAi)
type family (!!) (a_a8LYJ :: NonEmpty a_a8LAr) (a_a8LYK :: Nat) :: a_a8LAr
(%!!) :: forall a_a8LAr (t_a8M6Y :: NonEmpty a_a8LAr) (t_a8M6Z :: Nat). Sing t_a8M6Y -> Sing t_a8M6Z -> Sing (Apply (Apply (!!@#@$) t_a8M6Y) t_a8M6Z :: a_a8LAr)
type family Zip (a_a8LYB :: NonEmpty a_a8LAp) (a_a8LYC :: NonEmpty b_a8LAq) :: NonEmpty (a_a8LAp, b_a8LAq)
sZip :: forall a_a8LAp b_a8LAq (t_a8M6U :: NonEmpty a_a8LAp) (t_a8M6V :: NonEmpty b_a8LAq). Sing t_a8M6U -> Sing t_a8M6V -> Sing (Apply (Apply ZipSym0 t_a8M6U) t_a8M6V :: NonEmpty (a_a8LAp, b_a8LAq))
type family ZipWith (a_a8LYq :: (~>) a_a8LAm ((~>) b_a8LAn c_a8LAo)) (a_a8LYr :: NonEmpty a_a8LAm) (a_a8LYs :: NonEmpty b_a8LAn) :: NonEmpty c_a8LAo
sZipWith :: forall a_a8LAm b_a8LAn c_a8LAo (t_a8M6O :: (~>) a_a8LAm ((~>) b_a8LAn c_a8LAo)) (t_a8M6P :: NonEmpty a_a8LAm) (t_a8M6Q :: NonEmpty b_a8LAn). Sing t_a8M6O -> Sing t_a8M6P -> Sing t_a8M6Q -> Sing (Apply (Apply (Apply ZipWithSym0 t_a8M6O) t_a8M6P) t_a8M6Q :: NonEmpty c_a8LAo)
type family Unzip (a_a8LXX :: NonEmpty (a_a8LAk, b_a8LAl)) :: (NonEmpty a_a8LAk, NonEmpty b_a8LAl)
sUnzip :: forall a_a8LAk b_a8LAl (t_a8M6M :: NonEmpty (a_a8LAk, b_a8LAl)). Sing t_a8M6M -> Sing (Apply UnzipSym0 t_a8M6M :: (NonEmpty a_a8LAk, NonEmpty b_a8LAl))
type family FromList (a_a8M2t :: [a_a8LB4]) :: NonEmpty a_a8LB4
sFromList :: forall a_a8LB4 (t_a8M8e :: [a_a8LB4]). Sing t_a8M8e -> Sing (Apply FromListSym0 t_a8M8e :: NonEmpty a_a8LB4)
type family ToList (a_a8M1f :: NonEmpty a_a8LB3) :: [a_a8LB3]
sToList :: forall a_a8LB3 (t_a8M7C :: NonEmpty a_a8LB3). Sing t_a8M7C -> Sing (Apply ToListSym0 t_a8M7C :: [a_a8LB3])
type family NonEmpty_ (a_a8M55 :: [a_a8LBf]) :: Maybe (NonEmpty a_a8LBf)
sNonEmpty_ :: forall a_a8LBf (t_a8M9m :: [a_a8LBf]). Sing t_a8M9m -> Sing (Apply NonEmpty_Sym0 t_a8M9m :: Maybe (NonEmpty a_a8LBf))
type family Xor (a_a8M5s :: NonEmpty Bool) :: Bool
sXor :: forall (t_a8M9u :: NonEmpty Bool). Sing t_a8M9u -> Sing (Apply XorSym0 t_a8M9u :: Bool)
data (:|@#@$) :: forall (a6989586621679068602 :: Type). (~>) a6989586621679068602 ((~>) [a6989586621679068602] (NonEmpty (a6989586621679068602 :: Type)))
infixr 5 :|@#@$
data (:|@#@$$) (t6989586621679301645 :: (a6989586621679068602 :: Type)) :: (~>) [a6989586621679068602] (NonEmpty (a6989586621679068602 :: Type))
infixr 5 :|@#@$$
type (:|@#@$$$) (t6989586621679301645 :: a6989586621679068602) (t6989586621679301646 :: [a6989586621679068602]) =  '(:|) t6989586621679301645 t6989586621679301646
data MapSym0 :: forall a6989586621681099377 b6989586621681099378. (~>) ((~>) a6989586621681099377 b6989586621681099378) ((~>) (NonEmpty a6989586621681099377) (NonEmpty b6989586621681099378))
data MapSym1 (a6989586621681100998 :: (~>) a6989586621681099377 b6989586621681099378) :: (~>) (NonEmpty a6989586621681099377) (NonEmpty b6989586621681099378)
type MapSym2 (a6989586621681100998 :: (~>) a6989586621681099377 b6989586621681099378) (a6989586621681100999 :: NonEmpty a6989586621681099377) = Map a6989586621681100998 a6989586621681100999
data IntersperseSym0 :: forall a6989586621681099367. (~>) a6989586621681099367 ((~>) (NonEmpty a6989586621681099367) (NonEmpty a6989586621681099367))
data IntersperseSym1 (a6989586621681100988 :: a6989586621681099367) :: (~>) (NonEmpty a6989586621681099367) (NonEmpty a6989586621681099367)
type IntersperseSym2 (a6989586621681100988 :: a6989586621681099367) (a6989586621681100989 :: NonEmpty a6989586621681099367) = Intersperse a6989586621681100988 a6989586621681100989
data ScanlSym0 :: forall a6989586621681099373 b6989586621681099372. (~>) ((~>) b6989586621681099372 ((~>) a6989586621681099373 b6989586621681099372)) ((~>) b6989586621681099372 ((~>) [a6989586621681099373] (NonEmpty b6989586621681099372)))
data ScanlSym1 (a6989586621681101142 :: (~>) b6989586621681099372 ((~>) a6989586621681099373 b6989586621681099372)) :: (~>) b6989586621681099372 ((~>) [a6989586621681099373] (NonEmpty b6989586621681099372))
data ScanlSym2 (a6989586621681101142 :: (~>) b6989586621681099372 ((~>) a6989586621681099373 b6989586621681099372)) (a6989586621681101143 :: b6989586621681099372) :: (~>) [a6989586621681099373] (NonEmpty b6989586621681099372)
type ScanlSym3 (a6989586621681101142 :: (~>) b6989586621681099372 ((~>) a6989586621681099373 b6989586621681099372)) (a6989586621681101143 :: b6989586621681099372) (a6989586621681101144 :: [a6989586621681099373]) = Scanl a6989586621681101142 a6989586621681101143 a6989586621681101144
data ScanrSym0 :: forall a6989586621681099370 b6989586621681099371. (~>) ((~>) a6989586621681099370 ((~>) b6989586621681099371 b6989586621681099371)) ((~>) b6989586621681099371 ((~>) [a6989586621681099370] (NonEmpty b6989586621681099371)))
data ScanrSym1 (a6989586621681101153 :: (~>) a6989586621681099370 ((~>) b6989586621681099371 b6989586621681099371)) :: (~>) b6989586621681099371 ((~>) [a6989586621681099370] (NonEmpty b6989586621681099371))
data ScanrSym2 (a6989586621681101153 :: (~>) a6989586621681099370 ((~>) b6989586621681099371 b6989586621681099371)) (a6989586621681101154 :: b6989586621681099371) :: (~>) [a6989586621681099370] (NonEmpty b6989586621681099371)
type ScanrSym3 (a6989586621681101153 :: (~>) a6989586621681099370 ((~>) b6989586621681099371 b6989586621681099371)) (a6989586621681101154 :: b6989586621681099371) (a6989586621681101155 :: [a6989586621681099370]) = Scanr a6989586621681101153 a6989586621681101154 a6989586621681101155
data Scanl1Sym0 :: forall a6989586621681099369. (~>) ((~>) a6989586621681099369 ((~>) a6989586621681099369 a6989586621681099369)) ((~>) (NonEmpty a6989586621681099369) (NonEmpty a6989586621681099369))
data Scanl1Sym1 (a6989586621681101164 :: (~>) a6989586621681099369 ((~>) a6989586621681099369 a6989586621681099369)) :: (~>) (NonEmpty a6989586621681099369) (NonEmpty a6989586621681099369)
type Scanl1Sym2 (a6989586621681101164 :: (~>) a6989586621681099369 ((~>) a6989586621681099369 a6989586621681099369)) (a6989586621681101165 :: NonEmpty a6989586621681099369) = Scanl1 a6989586621681101164 a6989586621681101165
data Scanr1Sym0 :: forall a6989586621681099368. (~>) ((~>) a6989586621681099368 ((~>) a6989586621681099368 a6989586621681099368)) ((~>) (NonEmpty a6989586621681099368) (NonEmpty a6989586621681099368))
data Scanr1Sym1 (a6989586621681101171 :: (~>) a6989586621681099368 ((~>) a6989586621681099368 a6989586621681099368)) :: (~>) (NonEmpty a6989586621681099368) (NonEmpty a6989586621681099368)
type Scanr1Sym2 (a6989586621681101171 :: (~>) a6989586621681099368 ((~>) a6989586621681099368 a6989586621681099368)) (a6989586621681101172 :: NonEmpty a6989586621681099368) = Scanr1 a6989586621681101171 a6989586621681101172
data TransposeSym0 :: forall a6989586621681099333. (~>) (NonEmpty (NonEmpty a6989586621681099333)) (NonEmpty (NonEmpty a6989586621681099333))
type TransposeSym1 (a6989586621681101291 :: NonEmpty (NonEmpty a6989586621681099333)) = Transpose a6989586621681101291
data SortBySym0 :: forall a6989586621681099332. (~>) ((~>) a6989586621681099332 ((~>) a6989586621681099332 Ordering)) ((~>) (NonEmpty a6989586621681099332) (NonEmpty a6989586621681099332))
data SortBySym1 (a6989586621681101098 :: (~>) a6989586621681099332 ((~>) a6989586621681099332 Ordering)) :: (~>) (NonEmpty a6989586621681099332) (NonEmpty a6989586621681099332)
type SortBySym2 (a6989586621681101098 :: (~>) a6989586621681099332 ((~>) a6989586621681099332 Ordering)) (a6989586621681101099 :: NonEmpty a6989586621681099332) = SortBy a6989586621681101098 a6989586621681101099
data SortWithSym0 :: forall a6989586621681099331 o6989586621681099330. (~>) ((~>) a6989586621681099331 o6989586621681099330) ((~>) (NonEmpty a6989586621681099331) (NonEmpty a6989586621681099331))
data SortWithSym1 (a6989586621681101110 :: (~>) a6989586621681099331 o6989586621681099330) :: (~>) (NonEmpty a6989586621681099331) (NonEmpty a6989586621681099331)
type SortWithSym2 (a6989586621681101110 :: (~>) a6989586621681099331 o6989586621681099330) (a6989586621681101111 :: NonEmpty a6989586621681099331) = SortWith a6989586621681101110 a6989586621681101111
data LengthSym0 :: forall a6989586621681099396. (~>) (NonEmpty a6989586621681099396) Nat
type LengthSym1 (a6989586621681101279 :: NonEmpty a6989586621681099396) = Length a6989586621681101279
data HeadSym0 :: forall a6989586621681099389. (~>) (NonEmpty a6989586621681099389) a6989586621681099389
type HeadSym1 (a6989586621681101211 :: NonEmpty a6989586621681099389) = Head a6989586621681101211
data TailSym0 :: forall a6989586621681099388. (~>) (NonEmpty a6989586621681099388) [a6989586621681099388]
type TailSym1 (a6989586621681101208 :: NonEmpty a6989586621681099388) = Tail a6989586621681101208
data LastSym0 :: forall a6989586621681099387. (~>) (NonEmpty a6989586621681099387) a6989586621681099387
type LastSym1 (a6989586621681101204 :: NonEmpty a6989586621681099387) = Last a6989586621681101204
data InitSym0 :: forall a6989586621681099386. (~>) (NonEmpty a6989586621681099386) [a6989586621681099386]
type InitSym1 (a6989586621681101200 :: NonEmpty a6989586621681099386) = Init a6989586621681101200
data (<|@#@$) :: forall a6989586621681099385. (~>) a6989586621681099385 ((~>) (NonEmpty a6989586621681099385) (NonEmpty a6989586621681099385))
data (<|@#@$$) (a6989586621681101183 :: a6989586621681099385) :: (~>) (NonEmpty a6989586621681099385) (NonEmpty a6989586621681099385)
type (<|@#@$$$) (a6989586621681101183 :: a6989586621681099385) (a6989586621681101184 :: NonEmpty a6989586621681099385) = (<|) a6989586621681101183 a6989586621681101184
data ConsSym0 :: forall a6989586621681099384. (~>) a6989586621681099384 ((~>) (NonEmpty a6989586621681099384) (NonEmpty a6989586621681099384))
data ConsSym1 (a6989586621681101194 :: a6989586621681099384) :: (~>) (NonEmpty a6989586621681099384) (NonEmpty a6989586621681099384)
type ConsSym2 (a6989586621681101194 :: a6989586621681099384) (a6989586621681101195 :: NonEmpty a6989586621681099384) = Cons a6989586621681101194 a6989586621681101195
data UnconsSym0 :: forall a6989586621681099392. (~>) (NonEmpty a6989586621681099392) (a6989586621681099392, Maybe (NonEmpty a6989586621681099392))
type UnconsSym1 (a6989586621681101247 :: NonEmpty a6989586621681099392) = Uncons a6989586621681101247
data UnfoldrSym0 :: forall a6989586621681099390 b6989586621681099391. (~>) ((~>) a6989586621681099390 (b6989586621681099391, Maybe a6989586621681099390)) ((~>) a6989586621681099390 (NonEmpty b6989586621681099391))
data UnfoldrSym1 (a6989586621681101214 :: (~>) a6989586621681099390 (b6989586621681099391, Maybe a6989586621681099390)) :: (~>) a6989586621681099390 (NonEmpty b6989586621681099391)
type UnfoldrSym2 (a6989586621681101214 :: (~>) a6989586621681099390 (b6989586621681099391, Maybe a6989586621681099390)) (a6989586621681101215 :: a6989586621681099390) = Unfoldr a6989586621681101214 a6989586621681101215
data SortSym0 :: forall a6989586621681099383. (~>) (NonEmpty a6989586621681099383) (NonEmpty a6989586621681099383)
type SortSym1 (a6989586621681101180 :: NonEmpty a6989586621681099383) = Sort a6989586621681101180
data ReverseSym0 :: forall a6989586621681099366. (~>) (NonEmpty a6989586621681099366) (NonEmpty a6989586621681099366)
type ReverseSym1 (a6989586621681101095 :: NonEmpty a6989586621681099366) = Reverse a6989586621681101095
data InitsSym0 :: forall a6989586621681099376. (~>) [a6989586621681099376] (NonEmpty [a6989586621681099376])
type InitsSym1 (a6989586621681101126 :: [a6989586621681099376]) = Inits a6989586621681101126
data TailsSym0 :: forall a6989586621681099375. (~>) [a6989586621681099375] (NonEmpty [a6989586621681099375])
type TailsSym1 (a6989586621681101131 :: [a6989586621681099375]) = Tails a6989586621681101131
data UnfoldSym0 :: forall a6989586621681099394 b6989586621681099395. (~>) ((~>) a6989586621681099394 (b6989586621681099395, Maybe a6989586621681099394)) ((~>) a6989586621681099394 (NonEmpty b6989586621681099395))
data UnfoldSym1 (a6989586621681101251 :: (~>) a6989586621681099394 (b6989586621681099395, Maybe a6989586621681099394)) :: (~>) a6989586621681099394 (NonEmpty b6989586621681099395)
data InsertSym0 :: forall a6989586621681099374. (~>) a6989586621681099374 ((~>) [a6989586621681099374] (NonEmpty a6989586621681099374))
data InsertSym1 (a6989586621681101134 :: a6989586621681099374) :: (~>) [a6989586621681099374] (NonEmpty a6989586621681099374)
type InsertSym2 (a6989586621681101134 :: a6989586621681099374) (a6989586621681101135 :: [a6989586621681099374]) = Insert a6989586621681101134 a6989586621681101135
data TakeSym0 :: forall a6989586621681099365. (~>) Nat ((~>) (NonEmpty a6989586621681099365) [a6989586621681099365])
data TakeSym1 (a6989586621681101009 :: Nat) :: forall a6989586621681099365. (~>) (NonEmpty a6989586621681099365) [a6989586621681099365]
type TakeSym2 (a6989586621681101009 :: Nat) (a6989586621681101010 :: NonEmpty a6989586621681099365) = Take a6989586621681101009 a6989586621681101010
data DropSym0 :: forall a6989586621681099364. (~>) Nat ((~>) (NonEmpty a6989586621681099364) [a6989586621681099364])
data DropSym1 (a6989586621681101017 :: Nat) :: forall a6989586621681099364. (~>) (NonEmpty a6989586621681099364) [a6989586621681099364]
type DropSym2 (a6989586621681101017 :: Nat) (a6989586621681101018 :: NonEmpty a6989586621681099364) = Drop a6989586621681101017 a6989586621681101018
data SplitAtSym0 :: forall a6989586621681099363. (~>) Nat ((~>) (NonEmpty a6989586621681099363) ([a6989586621681099363], [a6989586621681099363]))
data SplitAtSym1 (a6989586621681101025 :: Nat) :: forall a6989586621681099363. (~>) (NonEmpty a6989586621681099363) ([a6989586621681099363], [a6989586621681099363])
type SplitAtSym2 (a6989586621681101025 :: Nat) (a6989586621681101026 :: NonEmpty a6989586621681099363) = SplitAt a6989586621681101025 a6989586621681101026
data TakeWhileSym0 :: forall a6989586621681099362. (~>) ((~>) a6989586621681099362 Bool) ((~>) (NonEmpty a6989586621681099362) [a6989586621681099362])
data TakeWhileSym1 (a6989586621681101033 :: (~>) a6989586621681099362 Bool) :: (~>) (NonEmpty a6989586621681099362) [a6989586621681099362]
type TakeWhileSym2 (a6989586621681101033 :: (~>) a6989586621681099362 Bool) (a6989586621681101034 :: NonEmpty a6989586621681099362) = TakeWhile a6989586621681101033 a6989586621681101034
data DropWhileSym0 :: forall a6989586621681099361. (~>) ((~>) a6989586621681099361 Bool) ((~>) (NonEmpty a6989586621681099361) [a6989586621681099361])
data DropWhileSym1 (a6989586621681101041 :: (~>) a6989586621681099361 Bool) :: (~>) (NonEmpty a6989586621681099361) [a6989586621681099361]
type DropWhileSym2 (a6989586621681101041 :: (~>) a6989586621681099361 Bool) (a6989586621681101042 :: NonEmpty a6989586621681099361) = DropWhile a6989586621681101041 a6989586621681101042
data SpanSym0 :: forall a6989586621681099360. (~>) ((~>) a6989586621681099360 Bool) ((~>) (NonEmpty a6989586621681099360) ([a6989586621681099360], [a6989586621681099360]))
data SpanSym1 (a6989586621681101049 :: (~>) a6989586621681099360 Bool) :: (~>) (NonEmpty a6989586621681099360) ([a6989586621681099360], [a6989586621681099360])
type SpanSym2 (a6989586621681101049 :: (~>) a6989586621681099360 Bool) (a6989586621681101050 :: NonEmpty a6989586621681099360) = Span a6989586621681101049 a6989586621681101050
data BreakSym0 :: forall a6989586621681099359. (~>) ((~>) a6989586621681099359 Bool) ((~>) (NonEmpty a6989586621681099359) ([a6989586621681099359], [a6989586621681099359]))
data BreakSym1 (a6989586621681101057 :: (~>) a6989586621681099359 Bool) :: (~>) (NonEmpty a6989586621681099359) ([a6989586621681099359], [a6989586621681099359])
type BreakSym2 (a6989586621681101057 :: (~>) a6989586621681099359 Bool) (a6989586621681101058 :: NonEmpty a6989586621681099359) = Break a6989586621681101057 a6989586621681101058
data FilterSym0 :: forall a6989586621681099358. (~>) ((~>) a6989586621681099358 Bool) ((~>) (NonEmpty a6989586621681099358) [a6989586621681099358])
data FilterSym1 (a6989586621681101065 :: (~>) a6989586621681099358 Bool) :: (~>) (NonEmpty a6989586621681099358) [a6989586621681099358]
type FilterSym2 (a6989586621681101065 :: (~>) a6989586621681099358 Bool) (a6989586621681101066 :: NonEmpty a6989586621681099358) = Filter a6989586621681101065 a6989586621681101066
data PartitionSym0 :: forall a6989586621681099357. (~>) ((~>) a6989586621681099357 Bool) ((~>) (NonEmpty a6989586621681099357) ([a6989586621681099357], [a6989586621681099357]))
data PartitionSym1 (a6989586621681101073 :: (~>) a6989586621681099357 Bool) :: (~>) (NonEmpty a6989586621681099357) ([a6989586621681099357], [a6989586621681099357])
type PartitionSym2 (a6989586621681101073 :: (~>) a6989586621681099357 Bool) (a6989586621681101074 :: NonEmpty a6989586621681099357) = Partition a6989586621681101073 a6989586621681101074
data GroupSym0 :: forall a6989586621681099356. (~>) [a6989586621681099356] [NonEmpty a6989586621681099356]
type GroupSym1 (a6989586621681100985 :: [a6989586621681099356]) = Group a6989586621681100985
data GroupBySym0 :: forall a6989586621681099355. (~>) ((~>) a6989586621681099355 ((~>) a6989586621681099355 Bool)) ((~>) [a6989586621681099355] [NonEmpty a6989586621681099355])
data GroupBySym1 (a6989586621681100875 :: (~>) a6989586621681099355 ((~>) a6989586621681099355 Bool)) :: (~>) [a6989586621681099355] [NonEmpty a6989586621681099355]
type GroupBySym2 (a6989586621681100875 :: (~>) a6989586621681099355 ((~>) a6989586621681099355 Bool)) (a6989586621681100876 :: [a6989586621681099355]) = GroupBy a6989586621681100875 a6989586621681100876
data GroupWithSym0 :: forall a6989586621681099354 b6989586621681099353. (~>) ((~>) a6989586621681099354 b6989586621681099353) ((~>) [a6989586621681099354] [NonEmpty a6989586621681099354])
data GroupWithSym1 (a6989586621681100923 :: (~>) a6989586621681099354 b6989586621681099353) :: (~>) [a6989586621681099354] [NonEmpty a6989586621681099354]
type GroupWithSym2 (a6989586621681100923 :: (~>) a6989586621681099354 b6989586621681099353) (a6989586621681100924 :: [a6989586621681099354]) = GroupWith a6989586621681100923 a6989586621681100924
data GroupAllWithSym0 :: forall a6989586621681099352 b6989586621681099351. (~>) ((~>) a6989586621681099352 b6989586621681099351) ((~>) [a6989586621681099352] [NonEmpty a6989586621681099352])
data GroupAllWithSym1 (a6989586621681100931 :: (~>) a6989586621681099352 b6989586621681099351) :: (~>) [a6989586621681099352] [NonEmpty a6989586621681099352]
type GroupAllWithSym2 (a6989586621681100931 :: (~>) a6989586621681099352 b6989586621681099351) (a6989586621681100932 :: [a6989586621681099352]) = GroupAllWith a6989586621681100931 a6989586621681100932
data Group1Sym0 :: forall a6989586621681099350. (~>) (NonEmpty a6989586621681099350) (NonEmpty (NonEmpty a6989586621681099350))
type Group1Sym1 (a6989586621681100972 :: NonEmpty a6989586621681099350) = Group1 a6989586621681100972
data GroupBy1Sym0 :: forall a6989586621681099349. (~>) ((~>) a6989586621681099349 ((~>) a6989586621681099349 Bool)) ((~>) (NonEmpty a6989586621681099349) (NonEmpty (NonEmpty a6989586621681099349)))
data GroupBy1Sym1 (a6989586621681100939 :: (~>) a6989586621681099349 ((~>) a6989586621681099349 Bool)) :: (~>) (NonEmpty a6989586621681099349) (NonEmpty (NonEmpty a6989586621681099349))
type GroupBy1Sym2 (a6989586621681100939 :: (~>) a6989586621681099349 ((~>) a6989586621681099349 Bool)) (a6989586621681100940 :: NonEmpty a6989586621681099349) = GroupBy1 a6989586621681100939 a6989586621681100940
data GroupWith1Sym0 :: forall a6989586621681099348 b6989586621681099347. (~>) ((~>) a6989586621681099348 b6989586621681099347) ((~>) (NonEmpty a6989586621681099348) (NonEmpty (NonEmpty a6989586621681099348)))
data GroupWith1Sym1 (a6989586621681100975 :: (~>) a6989586621681099348 b6989586621681099347) :: (~>) (NonEmpty a6989586621681099348) (NonEmpty (NonEmpty a6989586621681099348))
type GroupWith1Sym2 (a6989586621681100975 :: (~>) a6989586621681099348 b6989586621681099347) (a6989586621681100976 :: NonEmpty a6989586621681099348) = GroupWith1 a6989586621681100975 a6989586621681100976
data GroupAllWith1Sym0 :: forall a6989586621681099346 b6989586621681099345. (~>) ((~>) a6989586621681099346 b6989586621681099345) ((~>) (NonEmpty a6989586621681099346) (NonEmpty (NonEmpty a6989586621681099346)))
data GroupAllWith1Sym1 (a6989586621681101116 :: (~>) a6989586621681099346 b6989586621681099345) :: (~>) (NonEmpty a6989586621681099346) (NonEmpty (NonEmpty a6989586621681099346))
type GroupAllWith1Sym2 (a6989586621681101116 :: (~>) a6989586621681099346 b6989586621681099345) (a6989586621681101117 :: NonEmpty a6989586621681099346) = GroupAllWith1 a6989586621681101116 a6989586621681101117
data IsPrefixOfSym0 :: forall a6989586621681099344. (~>) [a6989586621681099344] ((~>) (NonEmpty a6989586621681099344) Bool)
data IsPrefixOfSym1 (a6989586621681100867 :: [a6989586621681099344]) :: (~>) (NonEmpty a6989586621681099344) Bool
type IsPrefixOfSym2 (a6989586621681100867 :: [a6989586621681099344]) (a6989586621681100868 :: NonEmpty a6989586621681099344) = IsPrefixOf a6989586621681100867 a6989586621681100868
data NubSym0 :: forall a6989586621681099335. (~>) (NonEmpty a6989586621681099335) (NonEmpty a6989586621681099335)
type NubSym1 (a6989586621681100798 :: NonEmpty a6989586621681099335) = Nub a6989586621681100798
data NubBySym0 :: forall a6989586621681099334. (~>) ((~>) a6989586621681099334 ((~>) a6989586621681099334 Bool)) ((~>) (NonEmpty a6989586621681099334) (NonEmpty a6989586621681099334))
data NubBySym1 (a6989586621681100781 :: (~>) a6989586621681099334 ((~>) a6989586621681099334 Bool)) :: (~>) (NonEmpty a6989586621681099334) (NonEmpty a6989586621681099334)
type NubBySym2 (a6989586621681100781 :: (~>) a6989586621681099334 ((~>) a6989586621681099334 Bool)) (a6989586621681100782 :: NonEmpty a6989586621681099334) = NubBy a6989586621681100781 a6989586621681100782
data (!!@#@$) :: forall a6989586621681099343. (~>) (NonEmpty a6989586621681099343) ((~>) Nat a6989586621681099343)
data (!!@#@$$) (a6989586621681100849 :: NonEmpty a6989586621681099343) :: (~>) Nat a6989586621681099343
type (!!@#@$$$) (a6989586621681100849 :: NonEmpty a6989586621681099343) (a6989586621681100850 :: Nat) = (!!) a6989586621681100849 a6989586621681100850
data ZipSym0 :: forall a6989586621681099341 b6989586621681099342. (~>) (NonEmpty a6989586621681099341) ((~>) (NonEmpty b6989586621681099342) (NonEmpty (a6989586621681099341, b6989586621681099342)))
data ZipSym1 (a6989586621681100841 :: NonEmpty a6989586621681099341) :: forall b6989586621681099342. (~>) (NonEmpty b6989586621681099342) (NonEmpty (a6989586621681099341, b6989586621681099342))
type ZipSym2 (a6989586621681100841 :: NonEmpty a6989586621681099341) (a6989586621681100842 :: NonEmpty b6989586621681099342) = Zip a6989586621681100841 a6989586621681100842
data ZipWithSym0 :: forall a6989586621681099338 b6989586621681099339 c6989586621681099340. (~>) ((~>) a6989586621681099338 ((~>) b6989586621681099339 c6989586621681099340)) ((~>) (NonEmpty a6989586621681099338) ((~>) (NonEmpty b6989586621681099339) (NonEmpty c6989586621681099340)))
data ZipWithSym1 (a6989586621681100830 :: (~>) a6989586621681099338 ((~>) b6989586621681099339 c6989586621681099340)) :: (~>) (NonEmpty a6989586621681099338) ((~>) (NonEmpty b6989586621681099339) (NonEmpty c6989586621681099340))
data ZipWithSym2 (a6989586621681100830 :: (~>) a6989586621681099338 ((~>) b6989586621681099339 c6989586621681099340)) (a6989586621681100831 :: NonEmpty a6989586621681099338) :: (~>) (NonEmpty b6989586621681099339) (NonEmpty c6989586621681099340)
type ZipWithSym3 (a6989586621681100830 :: (~>) a6989586621681099338 ((~>) b6989586621681099339 c6989586621681099340)) (a6989586621681100831 :: NonEmpty a6989586621681099338) (a6989586621681100832 :: NonEmpty b6989586621681099339) = ZipWith a6989586621681100830 a6989586621681100831 a6989586621681100832
data UnzipSym0 :: forall a6989586621681099336 b6989586621681099337. (~>) (NonEmpty (a6989586621681099336, b6989586621681099337)) (NonEmpty a6989586621681099336, NonEmpty b6989586621681099337)
type UnzipSym1 (a6989586621681100801 :: NonEmpty (a6989586621681099336, b6989586621681099337)) = Unzip a6989586621681100801
data FromListSym0 :: forall a6989586621681099382. (~>) [a6989586621681099382] (NonEmpty a6989586621681099382)
type FromListSym1 (a6989586621681101081 :: [a6989586621681099382]) = FromList a6989586621681101081
data ToListSym0 :: forall a6989586621681099381. (~>) (NonEmpty a6989586621681099381) [a6989586621681099381]
type ToListSym1 (a6989586621681101005 :: NonEmpty a6989586621681099381) = ToList a6989586621681101005
data NonEmpty_Sym0 :: forall a6989586621681099393. (~>) [a6989586621681099393] (Maybe (NonEmpty a6989586621681099393))
type NonEmpty_Sym1 (a6989586621681101243 :: [a6989586621681099393]) = NonEmpty_ a6989586621681101243
data XorSym0 :: (~>) (NonEmpty Bool) Bool
type XorSym1 (a6989586621681101266 :: NonEmpty Bool) = Xor a6989586621681101266
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Munzip_6989586621681101339Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip GHC.Base.NonEmpty
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.MzipWith_6989586621681101328Sym0
instance forall a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681101325 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.MzipWith_6989586621681101328Sym1 a6989586621681101325)
instance forall a6989586621681067524 b6989586621681067525 c6989586621681067526 (a6989586621681101326 :: a6989586621681067524 Data.Singletons.Internal.~> (b6989586621681067525 Data.Singletons.Internal.~> c6989586621681067526)) (a6989586621681101325 :: GHC.Base.NonEmpty a6989586621681067524). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.MzipWith_6989586621681101328Sym2 a6989586621681101326 a6989586621681101325)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Mzip_6989586621681101306Sym0
instance forall b6989586621681067523 a6989586621681067522 (a6989586621681101304 :: GHC.Base.NonEmpty a6989586621681067522). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Mzip_6989586621681101306Sym1 a6989586621681101304)
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 a6989586621681099397 b6989586621681099398 (a6989586621681101282 :: a6989586621681099397 Data.Singletons.Internal.~> b6989586621681099398). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.FmapSym1 a6989586621681101282)
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 b6989586621681099395 a6989586621681099394 (a6989586621681101251 :: a6989586621681099394 Data.Singletons.Internal.~> (b6989586621681099395, GHC.Maybe.Maybe a6989586621681099394)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.UnfoldSym1 a6989586621681101251)
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 b6989586621681099391 a6989586621681099390 (a6989586621681101214 :: a6989586621681099390 Data.Singletons.Internal.~> (b6989586621681099391, GHC.Maybe.Maybe a6989586621681099390)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.UnfoldrSym1 a6989586621681101214)
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 a6989586621681099384 (a6989586621681101194 :: a6989586621681099384). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ConsSym1 a6989586621681101194)
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 a6989586621681099385 (a6989586621681101183 :: a6989586621681099385). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.List.NonEmpty.<|@#@$$) a6989586621681101183)
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 a6989586621681099368 (a6989586621681101171 :: a6989586621681099368 Data.Singletons.Internal.~> (a6989586621681099368 Data.Singletons.Internal.~> a6989586621681099368)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Scanr1Sym1 a6989586621681101171)
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 a6989586621681099369 (a6989586621681101164 :: a6989586621681099369 Data.Singletons.Internal.~> (a6989586621681099369 Data.Singletons.Internal.~> a6989586621681099369)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Scanl1Sym1 a6989586621681101164)
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 a6989586621681099370 b6989586621681099371 (a6989586621681101153 :: a6989586621681099370 Data.Singletons.Internal.~> (b6989586621681099371 Data.Singletons.Internal.~> b6989586621681099371)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanrSym1 a6989586621681101153)
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 a6989586621681099370 b6989586621681099371 (a6989586621681101154 :: a6989586621681099370 Data.Singletons.Internal.~> (b6989586621681099371 Data.Singletons.Internal.~> b6989586621681099371)) (a6989586621681101153 :: b6989586621681099371). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanrSym2 a6989586621681101154 a6989586621681101153)
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 a6989586621681099373 b6989586621681099372 (a6989586621681101142 :: b6989586621681099372 Data.Singletons.Internal.~> (a6989586621681099373 Data.Singletons.Internal.~> b6989586621681099372)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanlSym1 a6989586621681101142)
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 a6989586621681099373 b6989586621681099372 (a6989586621681101143 :: b6989586621681099372 Data.Singletons.Internal.~> (a6989586621681099373 Data.Singletons.Internal.~> b6989586621681099372)) (a6989586621681101142 :: b6989586621681099372). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanlSym2 a6989586621681101143 a6989586621681101142)
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 a6989586621681099374 (a6989586621681101134 :: a6989586621681099374). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.InsertSym1 a6989586621681101134)
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 a6989586621681099346 b6989586621681099345 (a6989586621681101116 :: a6989586621681099346 Data.Singletons.Internal.~> b6989586621681099345). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupAllWith1Sym1 a6989586621681101116)
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 a6989586621681099331 o6989586621681099330 (a6989586621681101110 :: a6989586621681099331 Data.Singletons.Internal.~> o6989586621681099330). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.SortWithSym1 a6989586621681101110)
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 a6989586621681099332 (a6989586621681101098 :: a6989586621681099332 Data.Singletons.Internal.~> (a6989586621681099332 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.SortBySym1 a6989586621681101098)
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 a6989586621681099379 b6989586621681099380 (a6989586621681101085 :: [a6989586621681099379] Data.Singletons.Internal.~> [b6989586621681099380]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.LiftSym1 a6989586621681101085)
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 a6989586621681099357 (a6989586621681101073 :: a6989586621681099357 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.PartitionSym1 a6989586621681101073)
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 a6989586621681099358 (a6989586621681101065 :: a6989586621681099358 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.FilterSym1 a6989586621681101065)
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 a6989586621681099359 (a6989586621681101057 :: a6989586621681099359 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.BreakSym1 a6989586621681101057)
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 a6989586621681099360 (a6989586621681101049 :: a6989586621681099360 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.SpanSym1 a6989586621681101049)
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 a6989586621681099361 (a6989586621681101041 :: a6989586621681099361 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.DropWhileSym1 a6989586621681101041)
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 a6989586621681099362 (a6989586621681101033 :: a6989586621681099362 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.TakeWhileSym1 a6989586621681101033)
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 a6989586621681101025)
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 a6989586621681101017)
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 a6989586621681101009)
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 a6989586621681099377 b6989586621681099378 (a6989586621681100998 :: a6989586621681099377 Data.Singletons.Internal.~> b6989586621681099378). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.MapSym1 a6989586621681100998)
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 a6989586621681099367 (a6989586621681100988 :: a6989586621681099367). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.IntersperseSym1 a6989586621681100988)
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 a6989586621681099348 b6989586621681099347 (a6989586621681100975 :: a6989586621681099348 Data.Singletons.Internal.~> b6989586621681099347). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupWith1Sym1 a6989586621681100975)
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 a6989586621681099349 (a6989586621681100939 :: a6989586621681099349 Data.Singletons.Internal.~> (a6989586621681099349 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupBy1Sym1 a6989586621681100939)
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 a6989586621681099352 b6989586621681099351 (a6989586621681100931 :: a6989586621681099352 Data.Singletons.Internal.~> b6989586621681099351). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupAllWithSym1 a6989586621681100931)
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 a6989586621681099354 b6989586621681099353 (a6989586621681100923 :: a6989586621681099354 Data.Singletons.Internal.~> b6989586621681099353). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupWithSym1 a6989586621681100923)
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.Let6989586621681100883GoSym0
instance forall k1 a6989586621680385000 k2 (eq06989586621681100881 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100883GoSym1 eq06989586621681100881)
instance forall a6989586621680385000 k1 k2 (a6989586621681100884 :: k2) (a_69895866216811008796989586621681100882 :: k1) (eq06989586621681100881 :: a6989586621680385000 Data.Singletons.Internal.~> (a6989586621680385000 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100883GoSym3 a6989586621681100884 a_69895866216811008796989586621681100882 eq06989586621681100881)
instance forall a6989586621680385000 k1 k2 (a_69895866216811008796989586621681100882 :: k2) (eq06989586621681100881 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100883GoSym2 a_69895866216811008796989586621681100882 eq06989586621681100881)
instance forall a6989586621681099355 (a6989586621681100875 :: a6989586621681099355 Data.Singletons.Internal.~> (a6989586621681099355 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupBySym1 a6989586621681100875)
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 a6989586621681099344 (a6989586621681100867 :: [a6989586621681099344]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.IsPrefixOfSym1 a6989586621681100867)
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 a6989586621681099343 (a6989586621681100849 :: GHC.Base.NonEmpty a6989586621681099343). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.List.NonEmpty.!!@#@$$) a6989586621681100849)
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 b6989586621681099342 a6989586621681099341 (a6989586621681100841 :: GHC.Base.NonEmpty a6989586621681099341). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ZipSym1 a6989586621681100841)
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 a6989586621681099338 b6989586621681099339 c6989586621681099340 (a6989586621681100830 :: a6989586621681099338 Data.Singletons.Internal.~> (b6989586621681099339 Data.Singletons.Internal.~> c6989586621681099340)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ZipWithSym1 a6989586621681100830)
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 a6989586621681099338 b6989586621681099339 c6989586621681099340 (a6989586621681100831 :: a6989586621681099338 Data.Singletons.Internal.~> (b6989586621681099339 Data.Singletons.Internal.~> c6989586621681099340)) (a6989586621681100830 :: GHC.Base.NonEmpty a6989586621681099338). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ZipWithSym2 a6989586621681100831 a6989586621681100830)
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 a6989586621681099334 (a6989586621681100781 :: a6989586621681099334 Data.Singletons.Internal.~> (a6989586621681099334 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.NubBySym1 a6989586621681100781)
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.Let6989586621681101270Xor'Sym0
instance forall k1 k2 (x6989586621681101268 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681101270Xor'Sym1 x6989586621681101268)
instance forall k1 k2 (xs6989586621681101269 :: k2) (x6989586621681101268 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681101270Xor'Sym2 xs6989586621681101269 x6989586621681101268)
instance forall k1 k2 (a6989586621681101271 :: k2) (xs6989586621681101269 :: k1) (x6989586621681101268 :: GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681101270Xor'Sym3 a6989586621681101271 xs6989586621681101269 x6989586621681101268)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681101257Scrutinee_6989586621681099561Sym0
instance forall k1 k (f6989586621681101255 :: k1 Data.Singletons.Internal.~> k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681101257Scrutinee_6989586621681099561Sym1 f6989586621681101255)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681101235Scrutinee_6989586621681099571Sym0
instance forall k1 k (f6989586621681101218 :: k1 Data.Singletons.Internal.~> k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681101235Scrutinee_6989586621681099571Sym1 f6989586621681101218)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681101220GoSym0
instance forall k k2 k3 (f6989586621681101218 :: k3 Data.Singletons.Internal.~> (k2, GHC.Maybe.Maybe k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681101220GoSym1 f6989586621681101218)
instance forall k k2 k3 (a6989586621681101219 :: k3 Data.Singletons.Internal.~> (k2, GHC.Maybe.Maybe k3)) (f6989586621681101218 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681101220GoSym2 a6989586621681101219 f6989586621681101218)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681101226Scrutinee_6989586621681099575Sym0
instance forall k1 k2 k3 (f6989586621681101218 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681101226Scrutinee_6989586621681099575Sym1 f6989586621681101218)
instance forall k1 k2 k3 (a6989586621681101219 :: k2 Data.Singletons.Internal.~> k3) (f6989586621681101218 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681101226Scrutinee_6989586621681099575Sym2 a6989586621681101219 f6989586621681101218)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100946X_6989586621681100947Sym0
instance forall k1 a6989586621680385000 (eq6989586621681100943 :: k1 Data.Singletons.Internal.~> (a6989586621680385000 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100946X_6989586621681100947Sym1 eq6989586621681100943)
instance forall k1 a6989586621680385000 (x6989586621681100944 :: k1 Data.Singletons.Internal.~> (a6989586621680385000 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681100943 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100946X_6989586621681100947Sym2 x6989586621681100944 eq6989586621681100943)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100946YsSym0
instance forall k1 a6989586621680385000 (eq6989586621681100943 :: k1 Data.Singletons.Internal.~> (a6989586621680385000 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100946YsSym1 eq6989586621681100943)
instance forall k1 a6989586621680385000 (x6989586621681100944 :: k1 Data.Singletons.Internal.~> (a6989586621680385000 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681100943 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100946YsSym2 x6989586621681100944 eq6989586621681100943)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100946ZsSym0
instance forall k1 a6989586621680385000 (eq6989586621681100943 :: k1 Data.Singletons.Internal.~> (a6989586621680385000 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100946ZsSym1 eq6989586621681100943)
instance forall k1 a6989586621680385000 (x6989586621681100944 :: k1 Data.Singletons.Internal.~> (a6989586621680385000 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681100943 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100946ZsSym2 x6989586621681100944 eq6989586621681100943)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100893X_6989586621681100894Sym0
instance forall k1 k2 a6989586621680385000 k3 (eq06989586621681100881 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100893X_6989586621681100894Sym1 eq06989586621681100881)
instance forall k1 k2 a6989586621680385000 k3 (eq6989586621681100890 :: k3) (eq06989586621681100881 :: k2 Data.Singletons.Internal.~> (a6989586621680385000 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100893X_6989586621681100894Sym2 eq6989586621681100890 eq06989586621681100881)
instance forall k1 k2 a6989586621680385000 k3 (x6989586621681100891 :: k3) (eq6989586621681100890 :: k2 Data.Singletons.Internal.~> (a6989586621680385000 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq06989586621681100881 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100893X_6989586621681100894Sym3 x6989586621681100891 eq6989586621681100890 eq06989586621681100881)
instance forall k1 k2 a6989586621680385000 k3 (xs6989586621681100892 :: k3) (x6989586621681100891 :: k2 Data.Singletons.Internal.~> (a6989586621680385000 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681100890 :: k2) (eq06989586621681100881 :: [a6989586621680385000]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100893X_6989586621681100894Sym4 xs6989586621681100892 x6989586621681100891 eq6989586621681100890 eq06989586621681100881)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100893YsSym0
instance forall k1 k2 a6989586621680385000 k3 (eq06989586621681100881 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100893YsSym1 eq06989586621681100881)
instance forall k1 k2 a6989586621680385000 k3 (eq6989586621681100890 :: k3) (eq06989586621681100881 :: k2 Data.Singletons.Internal.~> (a6989586621680385000 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100893YsSym2 eq6989586621681100890 eq06989586621681100881)
instance forall k1 k2 a6989586621680385000 k3 (x6989586621681100891 :: k3) (eq6989586621681100890 :: k2 Data.Singletons.Internal.~> (a6989586621680385000 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq06989586621681100881 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100893YsSym3 x6989586621681100891 eq6989586621681100890 eq06989586621681100881)
instance forall k1 k2 a6989586621680385000 k3 (xs6989586621681100892 :: k3) (x6989586621681100891 :: k2 Data.Singletons.Internal.~> (a6989586621680385000 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681100890 :: k2) (eq06989586621681100881 :: [a6989586621680385000]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100893YsSym4 xs6989586621681100892 x6989586621681100891 eq6989586621681100890 eq06989586621681100881)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100893ZsSym0
instance forall k1 k2 a6989586621680385000 k3 (eq06989586621681100881 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100893ZsSym1 eq06989586621681100881)
instance forall k1 k2 a6989586621680385000 k3 (eq6989586621681100890 :: k3) (eq06989586621681100881 :: k2 Data.Singletons.Internal.~> (a6989586621680385000 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100893ZsSym2 eq6989586621681100890 eq06989586621681100881)
instance forall k1 k2 a6989586621680385000 k3 (x6989586621681100891 :: k3) (eq6989586621681100890 :: k2 Data.Singletons.Internal.~> (a6989586621680385000 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq06989586621681100881 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100893ZsSym3 x6989586621681100891 eq6989586621681100890 eq06989586621681100881)
instance forall k1 k2 a6989586621680385000 k3 (xs6989586621681100892 :: k3) (x6989586621681100891 :: k2 Data.Singletons.Internal.~> (a6989586621680385000 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681100890 :: k2) (eq06989586621681100881 :: [a6989586621680385000]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100893ZsSym4 xs6989586621681100892 x6989586621681100891 eq6989586621681100890 eq06989586621681100881)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100806X_6989586621681100807Sym0
instance forall k1 a6989586621680384987 b6989586621680384988 k2 (a6989586621681100803 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100806X_6989586621681100807Sym1 a6989586621681100803)
instance forall a6989586621680384987 b6989586621680384988 k1 k2 (b6989586621681100804 :: k2) (a6989586621681100803 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100806X_6989586621681100807Sym2 b6989586621681100804 a6989586621681100803)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100806AsSym0
instance forall k1 b6989586621680384988 a6989586621680384987 k2 (a6989586621681100803 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100806AsSym1 a6989586621681100803)
instance forall b6989586621680384988 a6989586621680384987 k1 k2 (b6989586621681100804 :: k2) (a6989586621681100803 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100806AsSym2 b6989586621681100804 a6989586621681100803)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100806BsSym0
instance forall k1 a6989586621680384987 b6989586621680384988 k2 (a6989586621681100803 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100806BsSym1 a6989586621681100803)
instance forall a6989586621680384987 b6989586621680384988 k1 k2 (b6989586621681100804 :: k2) (a6989586621681100803 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681100806BsSym2 b6989586621681100804 a6989586621681100803)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681100788Sym0
instance forall k k2 k3 (eq6989586621681100785 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681100788Sym1 eq6989586621681100785)
instance forall k k2 k3 (a6989586621681100786 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681100785 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681100788Sym2 a6989586621681100786 eq6989586621681100785)
instance forall k k2 k3 (as6989586621681100787 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> GHC.Types.Bool)) (a6989586621681100786 :: k2) (eq6989586621681100785 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681100788Sym3 as6989586621681100787 a6989586621681100786 eq6989586621681100785)


-- | 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_a99Hn :: Type) where {
    type family FromString (arg_a99HX :: Symbol) :: a_a99Hn;
}
class SIsString a_a99Hn
sFromString :: forall (t_a99Id :: Symbol). SIsString a_a99Hn => Sing t_a99Id -> Sing (Apply FromStringSym0 t_a99Id :: a_a99Hn)
data FromStringSym0 :: forall a6989586621681192029. (~>) Symbol a6989586621681192029
type FromStringSym1 (arg6989586621681192065 :: Symbol) = FromString arg6989586621681192065
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_6989586621681192078Sym0
instance Data.Singletons.Prelude.IsString.PIsString (Data.Functor.Identity.Identity a)
instance forall a6989586621681192031 k6989586621681192030 (b6989586621681192032 :: k6989586621681192030). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.IsString.FromString_6989586621681192071Sym0
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_a2ftY => PApplicative (f_a2ftY :: Type -> Type) where {
    type family Pure (arg_a2fAD :: a_a2ftZ) :: f_a2ftY a_a2ftZ;
    type family (<*>) (arg_a2fAF :: f_a2ftY ((~>) a_a2fu0 b_a2fu1)) (arg_a2fAG :: f_a2ftY a_a2fu0) :: f_a2ftY b_a2fu1;
    type family LiftA2 (arg_a2fAJ :: (~>) a_a2fu2 ((~>) b_a2fu3 c_a2fu4)) (arg_a2fAK :: f_a2ftY a_a2fu2) (arg_a2fAL :: f_a2ftY b_a2fu3) :: f_a2ftY c_a2fu4;
    type family (*>) (arg_a2fAP :: f_a2ftY a_a2fu5) (arg_a2fAQ :: f_a2ftY b_a2fu6) :: f_a2ftY b_a2fu6;
    type family (<*) (arg_a2fAT :: f_a2ftY a_a2fu7) (arg_a2fAU :: f_a2ftY b_a2fu8) :: f_a2ftY a_a2fu7;
    type (<*>) a_a2fB7 a_a2fB8 = Apply (Apply TFHelper_6989586621679546411Sym0 a_a2fB7) a_a2fB8;
    type LiftA2 a_a2fBo a_a2fBp a_a2fBq = Apply (Apply (Apply LiftA2_6989586621679546429Sym0 a_a2fBo) a_a2fBp) a_a2fBq;
    type (*>) a_a2fBC a_a2fBD = Apply (Apply TFHelper_6989586621679546442Sym0 a_a2fBC) a_a2fBD;
    type (<*) a_a2fBS a_a2fBT = Apply (Apply TFHelper_6989586621679546458Sym0 a_a2fBS) a_a2fBT;
}
infixl 4 <*>
infixl 4 *>
infixl 4 <*
class SFunctor f_a2ftY => SApplicative (f_a2ftY :: Type -> Type)
sPure :: forall a_a2ftZ (t_a2fEQ :: a_a2ftZ). SApplicative f_a2ftY => Sing t_a2fEQ -> Sing (Apply PureSym0 t_a2fEQ :: f_a2ftY a_a2ftZ)
(%<*>) :: forall a_a2fu0 b_a2fu1 (t_a2fES :: f_a2ftY ((~>) a_a2fu0 b_a2fu1)) (t_a2fET :: f_a2ftY a_a2fu0). SApplicative f_a2ftY => Sing t_a2fES -> Sing t_a2fET -> Sing (Apply (Apply (<*>@#@$) t_a2fES) t_a2fET :: f_a2ftY b_a2fu1)
sLiftA2 :: forall a_a2fu2 b_a2fu3 c_a2fu4 (t_a2fEW :: (~>) a_a2fu2 ((~>) b_a2fu3 c_a2fu4)) (t_a2fEX :: f_a2ftY a_a2fu2) (t_a2fEY :: f_a2ftY b_a2fu3). SApplicative f_a2ftY => Sing t_a2fEW -> Sing t_a2fEX -> Sing t_a2fEY -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2fEW) t_a2fEX) t_a2fEY :: f_a2ftY c_a2fu4)
(%*>) :: forall a_a2fu5 b_a2fu6 (t_a2fF2 :: f_a2ftY a_a2fu5) (t_a2fF3 :: f_a2ftY b_a2fu6). SApplicative f_a2ftY => Sing t_a2fF2 -> Sing t_a2fF3 -> Sing (Apply (Apply (*>@#@$) t_a2fF2) t_a2fF3 :: f_a2ftY b_a2fu6)
(%<*) :: forall a_a2fu7 b_a2fu8 (t_a2fF6 :: f_a2ftY a_a2fu7) (t_a2fF7 :: f_a2ftY b_a2fu8). SApplicative f_a2ftY => Sing t_a2fF6 -> Sing t_a2fF7 -> Sing (Apply (Apply (<*@#@$) t_a2fF6) t_a2fF7 :: f_a2ftY a_a2fu7)
(%<*>) :: forall a_a2fu0 b_a2fu1 (t_a2fES :: f_a2ftY ((~>) a_a2fu0 b_a2fu1)) (t_a2fET :: f_a2ftY a_a2fu0). (SApplicative f_a2ftY, (Apply (Apply (<*>@#@$) t_a2fES) t_a2fET :: f_a2ftY b_a2fu1) ~ Apply (Apply TFHelper_6989586621679546411Sym0 t_a2fES) t_a2fET) => Sing t_a2fES -> Sing t_a2fET -> Sing (Apply (Apply (<*>@#@$) t_a2fES) t_a2fET :: f_a2ftY b_a2fu1)
sLiftA2 :: forall a_a2fu2 b_a2fu3 c_a2fu4 (t_a2fEW :: (~>) a_a2fu2 ((~>) b_a2fu3 c_a2fu4)) (t_a2fEX :: f_a2ftY a_a2fu2) (t_a2fEY :: f_a2ftY b_a2fu3). (SApplicative f_a2ftY, (Apply (Apply (Apply LiftA2Sym0 t_a2fEW) t_a2fEX) t_a2fEY :: f_a2ftY c_a2fu4) ~ Apply (Apply (Apply LiftA2_6989586621679546429Sym0 t_a2fEW) t_a2fEX) t_a2fEY) => Sing t_a2fEW -> Sing t_a2fEX -> Sing t_a2fEY -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2fEW) t_a2fEX) t_a2fEY :: f_a2ftY c_a2fu4)
(%*>) :: forall a_a2fu5 b_a2fu6 (t_a2fF2 :: f_a2ftY a_a2fu5) (t_a2fF3 :: f_a2ftY b_a2fu6). (SApplicative f_a2ftY, (Apply (Apply (*>@#@$) t_a2fF2) t_a2fF3 :: f_a2ftY b_a2fu6) ~ Apply (Apply TFHelper_6989586621679546442Sym0 t_a2fF2) t_a2fF3) => Sing t_a2fF2 -> Sing t_a2fF3 -> Sing (Apply (Apply (*>@#@$) t_a2fF2) t_a2fF3 :: f_a2ftY b_a2fu6)
(%<*) :: forall a_a2fu7 b_a2fu8 (t_a2fF6 :: f_a2ftY a_a2fu7) (t_a2fF7 :: f_a2ftY b_a2fu8). (SApplicative f_a2ftY, (Apply (Apply (<*@#@$) t_a2fF6) t_a2fF7 :: f_a2ftY a_a2fu7) ~ Apply (Apply TFHelper_6989586621679546458Sym0 t_a2fF6) t_a2fF7) => Sing t_a2fF6 -> Sing t_a2fF7 -> Sing (Apply (Apply (<*@#@$) t_a2fF6) t_a2fF7 :: f_a2ftY a_a2fu7)
infixl 4 %<*>
infixl 4 %*>
infixl 4 %<*
class PApplicative f_a2fvd => PAlternative (f_a2fvd :: Type -> Type) where {
    type family Empty :: f_a2fvd a_a2fve;
    type family (<|>) (arg_a2fCM :: f_a2fvd a_a2fvf) (arg_a2fCN :: f_a2fvd a_a2fvf) :: f_a2fvd a_a2fvf;
}
infixl 3 <|>
class SApplicative f_a2fvd => SAlternative (f_a2fvd :: Type -> Type)
sEmpty :: forall a_a2fve. SAlternative f_a2fvd => Sing (EmptySym0 :: f_a2fvd a_a2fve)
(%<|>) :: forall a_a2fvf (t_a2fFx :: f_a2fvd a_a2fvf) (t_a2fFy :: f_a2fvd a_a2fvf). SAlternative f_a2fvd => Sing t_a2fFx -> Sing t_a2fFy -> Sing (Apply (Apply (<|>@#@$) t_a2fFx) t_a2fFy :: f_a2fvd a_a2fvf)
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_a77k9 :: Const a_a77k7 b_a77k8) :: a_a77k7
type family (<$>) (a_a2Xyp :: (~>) a_a2Xx7 b_a2Xx8) (a_a2Xyq :: f_a2Xx6 a_a2Xx7) :: f_a2Xx6 b_a2Xx8
infixl 4 <$>
(%<$>) :: forall f_a2Xx6 a_a2Xx7 b_a2Xx8 (t_a2XA0 :: (~>) a_a2Xx7 b_a2Xx8) (t_a2XA1 :: f_a2Xx6 a_a2Xx7). SFunctor f_a2Xx6 => Sing t_a2XA0 -> Sing t_a2XA1 -> Sing (Apply (Apply (<$>@#@$) t_a2XA0) t_a2XA1 :: f_a2Xx6 b_a2Xx8)
infixl 4 %<$>
type family (<$) (arg_a2fAj :: a_a2ftW) (arg_a2fAk :: f_a2ftT b_a2ftX) :: f_a2ftT a_a2ftW
infixl 4 <$
(%<$) :: forall a_a2ftW b_a2ftX (t_a2fEK :: a_a2ftW) (t_a2fEL :: f_a2ftT b_a2ftX). SFunctor f_a2ftT => Sing t_a2fEK -> Sing t_a2fEL -> Sing (Apply (Apply (<$@#@$) t_a2fEK) t_a2fEL :: f_a2ftT a_a2ftW)
infixl 4 %<$
type family (<**>) (a_a2fzZ :: f_a2ftj a_a2ftk) (a_a2fA0 :: f_a2ftj ((~>) a_a2ftk b_a2ftl)) :: f_a2ftj b_a2ftl
infixl 4 <**>
(%<**>) :: forall f_a2ftj a_a2ftk b_a2ftl (t_a2fEi :: f_a2ftj a_a2ftk) (t_a2fEj :: f_a2ftj ((~>) a_a2ftk b_a2ftl)). SApplicative f_a2ftj => Sing t_a2fEi -> Sing t_a2fEj -> Sing (Apply (Apply (<**>@#@$) t_a2fEi) t_a2fEj :: f_a2ftj b_a2ftl)
infixl 4 %<**>
type family LiftA (a_a2fzP :: (~>) a_a2fth b_a2fti) (a_a2fzQ :: f_a2ftg a_a2fth) :: f_a2ftg b_a2fti
sLiftA :: forall f_a2ftg a_a2fth b_a2fti (t_a2fEe :: (~>) a_a2fth b_a2fti) (t_a2fEf :: f_a2ftg a_a2fth). SApplicative f_a2ftg => Sing t_a2fEe -> Sing t_a2fEf -> Sing (Apply (Apply LiftASym0 t_a2fEe) t_a2fEf :: f_a2ftg b_a2fti)
type family LiftA3 (a_a2fzD :: (~>) a_a2ftc ((~>) b_a2ftd ((~>) c_a2fte d_a2ftf))) (a_a2fzE :: f_a2ftb a_a2ftc) (a_a2fzF :: f_a2ftb b_a2ftd) (a_a2fzG :: f_a2ftb c_a2fte) :: f_a2ftb d_a2ftf
sLiftA3 :: forall f_a2ftb a_a2ftc b_a2ftd c_a2fte d_a2ftf (t_a2fE6 :: (~>) a_a2ftc ((~>) b_a2ftd ((~>) c_a2fte d_a2ftf))) (t_a2fE7 :: f_a2ftb a_a2ftc) (t_a2fE8 :: f_a2ftb b_a2ftd) (t_a2fE9 :: f_a2ftb c_a2fte). SApplicative f_a2ftb => Sing t_a2fE6 -> Sing t_a2fE7 -> Sing t_a2fE8 -> Sing t_a2fE9 -> Sing (Apply (Apply (Apply (Apply LiftA3Sym0 t_a2fE6) t_a2fE7) t_a2fE8) t_a2fE9 :: f_a2ftb d_a2ftf)
type family Optional (a_a9akb :: f_a9ajx a_a9ajy) :: f_a9ajx (Maybe a_a9ajy)
sOptional :: forall f_a9ajx a_a9ajy (t_a9ald :: f_a9ajx a_a9ajy). SAlternative f_a9ajx => Sing t_a9ald -> Sing (Apply OptionalSym0 t_a9ald :: f_a9ajx (Maybe a_a9ajy))
data PureSym0 :: forall a6989586621679545967 f6989586621679545966. (~>) a6989586621679545967 (f6989586621679545966 a6989586621679545967)
type PureSym1 (arg6989586621679546379 :: a6989586621679545967) = Pure arg6989586621679546379
data (<*>@#@$) :: forall a6989586621679545968 b6989586621679545969 f6989586621679545966. (~>) (f6989586621679545966 ((~>) a6989586621679545968 b6989586621679545969)) ((~>) (f6989586621679545966 a6989586621679545968) (f6989586621679545966 b6989586621679545969))
infixl 4 <*>@#@$
data (<*>@#@$$) (arg6989586621679546381 :: f6989586621679545966 ((~>) a6989586621679545968 b6989586621679545969)) :: (~>) (f6989586621679545966 a6989586621679545968) (f6989586621679545966 b6989586621679545969)
infixl 4 <*>@#@$$
type (<*>@#@$$$) (arg6989586621679546381 :: f6989586621679545966 ((~>) a6989586621679545968 b6989586621679545969)) (arg6989586621679546382 :: f6989586621679545966 a6989586621679545968) = (<*>) arg6989586621679546381 arg6989586621679546382
data (*>@#@$) :: forall a6989586621679545973 b6989586621679545974 f6989586621679545966. (~>) (f6989586621679545966 a6989586621679545973) ((~>) (f6989586621679545966 b6989586621679545974) (f6989586621679545966 b6989586621679545974))
infixl 4 *>@#@$
data (*>@#@$$) (arg6989586621679546391 :: f6989586621679545966 a6989586621679545973) :: forall b6989586621679545974. (~>) (f6989586621679545966 b6989586621679545974) (f6989586621679545966 b6989586621679545974)
infixl 4 *>@#@$$
type (*>@#@$$$) (arg6989586621679546391 :: f6989586621679545966 a6989586621679545973) (arg6989586621679546392 :: f6989586621679545966 b6989586621679545974) = (*>) arg6989586621679546391 arg6989586621679546392
data (<*@#@$) :: forall a6989586621679545975 b6989586621679545976 f6989586621679545966. (~>) (f6989586621679545966 a6989586621679545975) ((~>) (f6989586621679545966 b6989586621679545976) (f6989586621679545966 a6989586621679545975))
infixl 4 <*@#@$
data (<*@#@$$) (arg6989586621679546395 :: f6989586621679545966 a6989586621679545975) :: forall b6989586621679545976. (~>) (f6989586621679545966 b6989586621679545976) (f6989586621679545966 a6989586621679545975)
infixl 4 <*@#@$$
type (<*@#@$$$) (arg6989586621679546395 :: f6989586621679545966 a6989586621679545975) (arg6989586621679546396 :: f6989586621679545966 b6989586621679545976) = (<*) arg6989586621679546395 arg6989586621679546396
type EmptySym0 = Empty
data (<|>@#@$) :: forall a6989586621679546045 f6989586621679546043. (~>) (f6989586621679546043 a6989586621679546045) ((~>) (f6989586621679546043 a6989586621679546045) (f6989586621679546043 a6989586621679546045))
infixl 3 <|>@#@$
data (<|>@#@$$) (arg6989586621679546512 :: f6989586621679546043 a6989586621679546045) :: (~>) (f6989586621679546043 a6989586621679546045) (f6989586621679546043 a6989586621679546045)
infixl 3 <|>@#@$$
type (<|>@#@$$$) (arg6989586621679546512 :: f6989586621679546043 a6989586621679546045) (arg6989586621679546513 :: f6989586621679546043 a6989586621679546045) = (<|>) arg6989586621679546512 arg6989586621679546513
data ConstSym0 :: forall (a6989586621679091214 :: Type) k6989586621679091213 (b6989586621679091215 :: k6989586621679091213). (~>) a6989586621679091214 (Const (a6989586621679091214 :: Type) (b6989586621679091215 :: k6989586621679091213))
type ConstSym1 (t6989586621680705928 :: a6989586621679091214) =  'Const t6989586621680705928
data GetConstSym0 :: forall a6989586621680706243 b6989586621680706244. (~>) (Const a6989586621680706243 b6989586621680706244) a6989586621680706243
type GetConstSym1 (x6989586621680706245 :: Const a6989586621680706243 b6989586621680706244) = GetConst x6989586621680706245
data (<$>@#@$) :: forall a6989586621679715297 b6989586621679715298 f6989586621679715296. (~>) ((~>) a6989586621679715297 b6989586621679715298) ((~>) (f6989586621679715296 a6989586621679715297) (f6989586621679715296 b6989586621679715298))
infixl 4 <$>@#@$
data (<$>@#@$$) (a6989586621679715377 :: (~>) a6989586621679715297 b6989586621679715298) :: forall f6989586621679715296. (~>) (f6989586621679715296 a6989586621679715297) (f6989586621679715296 b6989586621679715298)
infixl 4 <$>@#@$$
type (<$>@#@$$$) (a6989586621679715377 :: (~>) a6989586621679715297 b6989586621679715298) (a6989586621679715378 :: f6989586621679715296 a6989586621679715297) = (<$>) a6989586621679715377 a6989586621679715378
data (<$@#@$) :: forall a6989586621679545964 b6989586621679545965 f6989586621679545961. (~>) a6989586621679545964 ((~>) (f6989586621679545961 b6989586621679545965) (f6989586621679545961 a6989586621679545964))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679546359 :: a6989586621679545964) :: forall b6989586621679545965 f6989586621679545961. (~>) (f6989586621679545961 b6989586621679545965) (f6989586621679545961 a6989586621679545964)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679546359 :: a6989586621679545964) (arg6989586621679546360 :: f6989586621679545961 b6989586621679545965) = (<$) arg6989586621679546359 arg6989586621679546360
data (<**>@#@$) :: forall a6989586621679545926 b6989586621679545927 f6989586621679545925. (~>) (f6989586621679545925 a6989586621679545926) ((~>) (f6989586621679545925 ((~>) a6989586621679545926 b6989586621679545927)) (f6989586621679545925 b6989586621679545927))
infixl 4 <**>@#@$
data (<**>@#@$$) (a6989586621679546339 :: f6989586621679545925 a6989586621679545926) :: forall b6989586621679545927. (~>) (f6989586621679545925 ((~>) a6989586621679545926 b6989586621679545927)) (f6989586621679545925 b6989586621679545927)
infixl 4 <**>@#@$$
type (<**>@#@$$$) (a6989586621679546339 :: f6989586621679545925 a6989586621679545926) (a6989586621679546340 :: f6989586621679545925 ((~>) a6989586621679545926 b6989586621679545927)) = (<**>) a6989586621679546339 a6989586621679546340
data LiftASym0 :: forall a6989586621679545923 b6989586621679545924 f6989586621679545922. (~>) ((~>) a6989586621679545923 b6989586621679545924) ((~>) (f6989586621679545922 a6989586621679545923) (f6989586621679545922 b6989586621679545924))
data LiftASym1 (a6989586621679546329 :: (~>) a6989586621679545923 b6989586621679545924) :: forall f6989586621679545922. (~>) (f6989586621679545922 a6989586621679545923) (f6989586621679545922 b6989586621679545924)
type LiftASym2 (a6989586621679546329 :: (~>) a6989586621679545923 b6989586621679545924) (a6989586621679546330 :: f6989586621679545922 a6989586621679545923) = LiftA a6989586621679546329 a6989586621679546330
data LiftA2Sym0 :: forall a6989586621679545970 b6989586621679545971 c6989586621679545972 f6989586621679545966. (~>) ((~>) a6989586621679545970 ((~>) b6989586621679545971 c6989586621679545972)) ((~>) (f6989586621679545966 a6989586621679545970) ((~>) (f6989586621679545966 b6989586621679545971) (f6989586621679545966 c6989586621679545972)))
data LiftA2Sym1 (arg6989586621679546385 :: (~>) a6989586621679545970 ((~>) b6989586621679545971 c6989586621679545972)) :: forall f6989586621679545966. (~>) (f6989586621679545966 a6989586621679545970) ((~>) (f6989586621679545966 b6989586621679545971) (f6989586621679545966 c6989586621679545972))
data LiftA2Sym2 (arg6989586621679546385 :: (~>) a6989586621679545970 ((~>) b6989586621679545971 c6989586621679545972)) (arg6989586621679546386 :: f6989586621679545966 a6989586621679545970) :: (~>) (f6989586621679545966 b6989586621679545971) (f6989586621679545966 c6989586621679545972)
type LiftA2Sym3 (arg6989586621679546385 :: (~>) a6989586621679545970 ((~>) b6989586621679545971 c6989586621679545972)) (arg6989586621679546386 :: f6989586621679545966 a6989586621679545970) (arg6989586621679546387 :: f6989586621679545966 b6989586621679545971) = LiftA2 arg6989586621679546385 arg6989586621679546386 arg6989586621679546387
data LiftA3Sym0 :: forall a6989586621679545918 b6989586621679545919 c6989586621679545920 d6989586621679545921 f6989586621679545917. (~>) ((~>) a6989586621679545918 ((~>) b6989586621679545919 ((~>) c6989586621679545920 d6989586621679545921))) ((~>) (f6989586621679545917 a6989586621679545918) ((~>) (f6989586621679545917 b6989586621679545919) ((~>) (f6989586621679545917 c6989586621679545920) (f6989586621679545917 d6989586621679545921))))
data LiftA3Sym1 (a6989586621679546317 :: (~>) a6989586621679545918 ((~>) b6989586621679545919 ((~>) c6989586621679545920 d6989586621679545921))) :: forall f6989586621679545917. (~>) (f6989586621679545917 a6989586621679545918) ((~>) (f6989586621679545917 b6989586621679545919) ((~>) (f6989586621679545917 c6989586621679545920) (f6989586621679545917 d6989586621679545921)))
data LiftA3Sym2 (a6989586621679546317 :: (~>) a6989586621679545918 ((~>) b6989586621679545919 ((~>) c6989586621679545920 d6989586621679545921))) (a6989586621679546318 :: f6989586621679545917 a6989586621679545918) :: (~>) (f6989586621679545917 b6989586621679545919) ((~>) (f6989586621679545917 c6989586621679545920) (f6989586621679545917 d6989586621679545921))
data LiftA3Sym3 (a6989586621679546317 :: (~>) a6989586621679545918 ((~>) b6989586621679545919 ((~>) c6989586621679545920 d6989586621679545921))) (a6989586621679546318 :: f6989586621679545917 a6989586621679545918) (a6989586621679546319 :: f6989586621679545917 b6989586621679545919) :: (~>) (f6989586621679545917 c6989586621679545920) (f6989586621679545917 d6989586621679545921)
data OptionalSym0 :: forall a6989586621681194396 f6989586621681194395. (~>) (f6989586621681194395 a6989586621681194396) (f6989586621681194395 (Maybe a6989586621681194396))
type OptionalSym1 (a6989586621681194435 :: f6989586621681194395 a6989586621681194396) = Optional a6989586621681194435
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.TFHelper_6989586621681194495Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Ord.Down
instance forall a6989586621679545968 b6989586621679545969 (a6989586621681194493 :: Data.Ord.Down (a6989586621679545968 Data.Singletons.Internal.~> b6989586621679545969)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.TFHelper_6989586621681194495Sym1 a6989586621681194493)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.Pure_6989586621681194484Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.LiftA2_6989586621681194473Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative ((,) a)
instance forall a6989586621681194399 a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621681194470 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.LiftA2_6989586621681194473Sym1 a6989586621681194470)
instance forall a6989586621681194399 a6989586621679545970 b6989586621679545971 c6989586621679545972 (a6989586621681194471 :: a6989586621679545970 Data.Singletons.Internal.~> (b6989586621679545971 Data.Singletons.Internal.~> c6989586621679545972)) (a6989586621681194470 :: (a6989586621681194399, a6989586621679545970)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.LiftA2_6989586621681194473Sym2 a6989586621681194471 a6989586621681194470)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.TFHelper_6989586621681194455Sym0
instance forall a6989586621681194399 a6989586621679545968 b6989586621679545969 (a6989586621681194453 :: (a6989586621681194399, a6989586621679545968 Data.Singletons.Internal.~> b6989586621679545969)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.TFHelper_6989586621681194455Sym1 a6989586621681194453)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.Pure_6989586621681194442Sym0
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_a2ftT :: Type -> Type) where {
    type family Fmap (arg_a2fAf :: (~>) a_a2ftU b_a2ftV) (arg_a2fAg :: f_a2ftT a_a2ftU) :: f_a2ftT b_a2ftV;
    type (<$) a_a2fAx a_a2fAy = Apply (Apply TFHelper_6989586621679546375Sym0 a_a2fAx) a_a2fAy;
}
class SFunctor (f_a2ftT :: Type -> Type)
sFmap :: forall a_a2ftU b_a2ftV (t_a2fEG :: (~>) a_a2ftU b_a2ftV) (t_a2fEH :: f_a2ftT a_a2ftU). SFunctor f_a2ftT => Sing t_a2fEG -> Sing t_a2fEH -> Sing (Apply (Apply FmapSym0 t_a2fEG) t_a2fEH :: f_a2ftT b_a2ftV)
class PApplicative m_a2fum => PMonad (m_a2fum :: Type -> Type) where {
    type family (>>=) (arg_a2fBY :: m_a2fum a_a2fun) (arg_a2fBZ :: (~>) a_a2fun (m_a2fum b_a2fuo)) :: m_a2fum b_a2fuo;
    type family (>>) (arg_a2fC2 :: m_a2fum a_a2fup) (arg_a2fC3 :: m_a2fum b_a2fuq) :: m_a2fum b_a2fuq;
    type family Return (arg_a2fC6 :: a_a2fur) :: m_a2fum a_a2fur;
    type family Fail (arg_a2fC8 :: Symbol) :: m_a2fum a_a2fus;
    type (>>) a_a2fCq a_a2fCr = Apply (Apply TFHelper_6989586621679546492Sym0 a_a2fCq) a_a2fCr;
    type Return a_a2fCB = Apply Return_6989586621679546502Sym0 a_a2fCB;
    type Fail a_a2fCI = Apply Fail_6989586621679546509Sym0 a_a2fCI;
}
infixl 1 >>=
infixl 1 >>
class SApplicative m_a2fum => SMonad (m_a2fum :: Type -> Type)
(%>>=) :: forall a_a2fun b_a2fuo (t_a2fFh :: m_a2fum a_a2fun) (t_a2fFi :: (~>) a_a2fun (m_a2fum b_a2fuo)). SMonad m_a2fum => Sing t_a2fFh -> Sing t_a2fFi -> Sing (Apply (Apply (>>=@#@$) t_a2fFh) t_a2fFi :: m_a2fum b_a2fuo)
(%>>) :: forall a_a2fup b_a2fuq (t_a2fFl :: m_a2fum a_a2fup) (t_a2fFm :: m_a2fum b_a2fuq). SMonad m_a2fum => Sing t_a2fFl -> Sing t_a2fFm -> Sing (Apply (Apply (>>@#@$) t_a2fFl) t_a2fFm :: m_a2fum b_a2fuq)
sReturn :: forall a_a2fur (t_a2fFp :: a_a2fur). SMonad m_a2fum => Sing t_a2fFp -> Sing (Apply ReturnSym0 t_a2fFp :: m_a2fum a_a2fur)
sFail :: forall a_a2fus (t_a2fFr :: Symbol). SMonad m_a2fum => Sing t_a2fFr -> Sing (Apply FailSym0 t_a2fFr :: m_a2fum a_a2fus)
(%>>) :: forall a_a2fup b_a2fuq (t_a2fFl :: m_a2fum a_a2fup) (t_a2fFm :: m_a2fum b_a2fuq). (SMonad m_a2fum, (Apply (Apply (>>@#@$) t_a2fFl) t_a2fFm :: m_a2fum b_a2fuq) ~ Apply (Apply TFHelper_6989586621679546492Sym0 t_a2fFl) t_a2fFm) => Sing t_a2fFl -> Sing t_a2fFm -> Sing (Apply (Apply (>>@#@$) t_a2fFl) t_a2fFm :: m_a2fum b_a2fuq)
sReturn :: forall a_a2fur (t_a2fFp :: a_a2fur). (SMonad m_a2fum, (Apply ReturnSym0 t_a2fFp :: m_a2fum a_a2fur) ~ Apply Return_6989586621679546502Sym0 t_a2fFp) => Sing t_a2fFp -> Sing (Apply ReturnSym0 t_a2fFp :: m_a2fum a_a2fur)
sFail :: forall a_a2fus (t_a2fFr :: Symbol). (SMonad m_a2fum, (Apply FailSym0 t_a2fFr :: m_a2fum a_a2fus) ~ Apply Fail_6989586621679546509Sym0 t_a2fFr) => Sing t_a2fFr -> Sing (Apply FailSym0 t_a2fFr :: m_a2fum a_a2fus)
infixl 1 %>>=
infixl 1 %>>
class (PAlternative m_a2fvg, PMonad m_a2fvg) => PMonadPlus (m_a2fvg :: Type -> Type) where {
    type family Mzero :: m_a2fvg a_a2fvh;
    type family Mplus (arg_a2fCQ :: m_a2fvg a_a2fvi) (arg_a2fCR :: m_a2fvg a_a2fvi) :: m_a2fvg a_a2fvi;
    type Mzero = Mzero_6989586621679546520Sym0;
    type Mplus a_a2fD6 a_a2fD7 = Apply (Apply Mplus_6989586621679546534Sym0 a_a2fD6) a_a2fD7;
}
class (SAlternative m_a2fvg, SMonad m_a2fvg) => SMonadPlus (m_a2fvg :: Type -> Type)
sMzero :: forall a_a2fvh. SMonadPlus m_a2fvg => Sing (MzeroSym0 :: m_a2fvg a_a2fvh)
sMplus :: forall a_a2fvi (t_a2fFB :: m_a2fvg a_a2fvi) (t_a2fFC :: m_a2fvg a_a2fvi). SMonadPlus m_a2fvg => Sing t_a2fFB -> Sing t_a2fFC -> Sing (Apply (Apply MplusSym0 t_a2fFB) t_a2fFC :: m_a2fvg a_a2fvi)
sMzero :: forall a_a2fvh. (SMonadPlus m_a2fvg, (MzeroSym0 :: m_a2fvg a_a2fvh) ~ Mzero_6989586621679546520Sym0) => Sing (MzeroSym0 :: m_a2fvg a_a2fvh)
sMplus :: forall a_a2fvi (t_a2fFB :: m_a2fvg a_a2fvi) (t_a2fFC :: m_a2fvg a_a2fvi). (SMonadPlus m_a2fvg, (Apply (Apply MplusSym0 t_a2fFB) t_a2fFC :: m_a2fvg a_a2fvi) ~ Apply (Apply Mplus_6989586621679546534Sym0 t_a2fFB) t_a2fFC) => Sing t_a2fFB -> Sing t_a2fFC -> Sing (Apply (Apply MplusSym0 t_a2fFB) t_a2fFC :: m_a2fvg a_a2fvi)
type family MapM (arg_a7hnF :: (~>) a_a7hnu (m_a7hnt b_a7hnv)) (arg_a7hnG :: t_a7hnn a_a7hnu) :: m_a7hnt (t_a7hnn b_a7hnv)
sMapM :: forall m_a7hnt a_a7hnu b_a7hnv (t_a7hoD :: (~>) a_a7hnu (m_a7hnt b_a7hnv)) (t_a7hoE :: t_a7hnn a_a7hnu). (STraversable t_a7hnn, SMonad m_a7hnt) => Sing t_a7hoD -> Sing t_a7hoE -> Sing (Apply (Apply MapMSym0 t_a7hoD) t_a7hoE :: m_a7hnt (t_a7hnn b_a7hnv))
type family MapM_ (a_a62oP :: (~>) a_a62fb (m_a62fa b_a62fc)) (a_a62oQ :: t_a62f9 a_a62fb) :: m_a62fa ()
sMapM_ :: forall t_a62f9 m_a62fa a_a62fb b_a62fc (t_a62KR :: (~>) a_a62fb (m_a62fa b_a62fc)) (t_a62KS :: t_a62f9 a_a62fb). (SFoldable t_a62f9, SMonad m_a62fa) => Sing t_a62KR -> Sing t_a62KS -> Sing (Apply (Apply MapM_Sym0 t_a62KR) t_a62KS :: m_a62fa ())
type family ForM (a_a7iYn :: t_a7iPo a_a7iPq) (a_a7iYo :: (~>) a_a7iPq (m_a7iPp b_a7iPr)) :: m_a7iPp (t_a7iPo b_a7iPr)
sForM :: forall t_a7iPo m_a7iPp a_a7iPq b_a7iPr (t_a7j7Q :: t_a7iPo a_a7iPq) (t_a7j7R :: (~>) a_a7iPq (m_a7iPp b_a7iPr)). (STraversable t_a7iPo, SMonad m_a7iPp) => Sing t_a7j7Q -> Sing t_a7j7R -> Sing (Apply (Apply ForMSym0 t_a7j7Q) t_a7j7R :: m_a7iPp (t_a7iPo b_a7iPr))
type family Sequence (arg_a7hnJ :: t_a7hnn (m_a7hnw a_a7hnx)) :: m_a7hnw (t_a7hnn a_a7hnx)
sSequence :: forall m_a7hnw a_a7hnx (t_a7hoH :: t_a7hnn (m_a7hnw a_a7hnx)). (STraversable t_a7hnn, SMonad m_a7hnw) => Sing t_a7hoH -> Sing (Apply SequenceSym0 t_a7hoH :: m_a7hnw (t_a7hnn a_a7hnx))
type family Sequence_ (a_a62oH :: t_a62eZ (m_a62f0 a_a62f1)) :: m_a62f0 ()
sSequence_ :: forall t_a62eZ m_a62f0 a_a62f1 (t_a62KN :: t_a62eZ (m_a62f0 a_a62f1)). (SFoldable t_a62eZ, SMonad m_a62f0) => Sing t_a62KN -> Sing (Apply Sequence_Sym0 t_a62KN :: m_a62f0 ())
type family (=<<) (a_a2fzu :: (~>) a_a2ft7 (m_a2ft6 b_a2ft8)) (a_a2fzv :: m_a2ft6 a_a2ft7) :: m_a2ft6 b_a2ft8
infixr 1 =<<
(%=<<) :: forall m_a2ft6 a_a2ft7 b_a2ft8 (t_a2fE0 :: (~>) a_a2ft7 (m_a2ft6 b_a2ft8)) (t_a2fE1 :: m_a2ft6 a_a2ft7). SMonad m_a2ft6 => Sing t_a2fE0 -> Sing t_a2fE1 -> Sing (Apply (Apply (=<<@#@$) t_a2fE0) t_a2fE1 :: m_a2ft6 b_a2ft8)
infixr 1 %=<<
type family (>=>) (a_a9cHX :: (~>) a_a9cAY (m_a9cAX b_a9cAZ)) (a_a9cHY :: (~>) b_a9cAZ (m_a9cAX c_a9cB0)) (a_a9cHZ :: a_a9cAY) :: m_a9cAX c_a9cB0
infixr 1 >=>
(%>=>) :: forall m_a9cAX a_a9cAY b_a9cAZ c_a9cB0 (t_a9cKf :: (~>) a_a9cAY (m_a9cAX b_a9cAZ)) (t_a9cKg :: (~>) b_a9cAZ (m_a9cAX c_a9cB0)) (t_a9cKh :: a_a9cAY). SMonad m_a9cAX => Sing t_a9cKf -> Sing t_a9cKg -> Sing t_a9cKh -> Sing (Apply (Apply (Apply (>=>@#@$) t_a9cKf) t_a9cKg) t_a9cKh :: m_a9cAX c_a9cB0)
infixr 1 %>=>
type family (<=<) (a_a9cIm :: (~>) b_a9cAU (m_a9cAT c_a9cAV)) (a_a9cIn :: (~>) a_a9cAW (m_a9cAT b_a9cAU)) (a_a9cIo :: a_a9cAW) :: m_a9cAT c_a9cAV
infixr 1 <=<
(%<=<) :: forall m_a9cAT b_a9cAU c_a9cAV a_a9cAW (t_a9cKl :: (~>) b_a9cAU (m_a9cAT c_a9cAV)) (t_a9cKm :: (~>) a_a9cAW (m_a9cAT b_a9cAU)) (t_a9cKn :: a_a9cAW). SMonad m_a9cAT => Sing t_a9cKl -> Sing t_a9cKm -> Sing t_a9cKn -> Sing (Apply (Apply (Apply (<=<@#@$) t_a9cKl) t_a9cKm) t_a9cKn :: m_a9cAT c_a9cAV)
infixr 1 %<=<
type family Void (a_a2Xy8 :: f_a2XwY a_a2XwZ) :: f_a2XwY ()
sVoid :: forall f_a2XwY a_a2XwZ (t_a2XzU :: f_a2XwY a_a2XwZ). SFunctor f_a2XwY => Sing t_a2XzU -> Sing (Apply VoidSym0 t_a2XzU :: f_a2XwY ())
type family Join (a_a2fzA :: m_a2ft9 (m_a2ft9 a_a2fta)) :: m_a2ft9 a_a2fta
sJoin :: forall m_a2ft9 a_a2fta (t_a2fE4 :: m_a2ft9 (m_a2ft9 a_a2fta)). SMonad m_a2ft9 => Sing t_a2fE4 -> Sing (Apply JoinSym0 t_a2fE4 :: m_a2ft9 a_a2fta)
type family Msum (a_a62oC :: t_a62eT (m_a62eU a_a62eV)) :: m_a62eU a_a62eV
sMsum :: forall t_a62eT m_a62eU a_a62eV (t_a62KL :: t_a62eT (m_a62eU a_a62eV)). (SFoldable t_a62eT, SMonadPlus m_a62eU) => Sing t_a62KL -> Sing (Apply MsumSym0 t_a62KL :: m_a62eU a_a62eV)
type family Mfilter (a_a9cFP :: (~>) a_a9cAq Bool) (a_a9cFQ :: m_a9cAp a_a9cAq) :: m_a9cAp a_a9cAq
sMfilter :: forall m_a9cAp a_a9cAq (t_a9cJt :: (~>) a_a9cAq Bool) (t_a9cJu :: m_a9cAp a_a9cAq). SMonadPlus m_a9cAp => Sing t_a9cJt -> Sing t_a9cJu -> Sing (Apply (Apply MfilterSym0 t_a9cJt) t_a9cJu :: m_a9cAp a_a9cAq)
type family FilterM (a_a9cIv :: (~>) a_a9cB2 (m_a9cB1 Bool)) (a_a9cIw :: [a_a9cB2]) :: m_a9cB1 [a_a9cB2]
sFilterM :: forall m_a9cB1 a_a9cB2 (t_a9cKr :: (~>) a_a9cB2 (m_a9cB1 Bool)) (t_a9cKs :: [a_a9cB2]). SApplicative m_a9cB1 => Sing t_a9cKr -> Sing t_a9cKs -> Sing (Apply (Apply FilterMSym0 t_a9cKr) t_a9cKs :: m_a9cB1 [a_a9cB2])
type family MapAndUnzipM (a_a9cHR :: (~>) a_a9cAQ (m_a9cAP (b_a9cAR, c_a9cAS))) (a_a9cHS :: [a_a9cAQ]) :: m_a9cAP ([b_a9cAR], [c_a9cAS])
sMapAndUnzipM :: forall m_a9cAP a_a9cAQ b_a9cAR c_a9cAS (t_a9cKb :: (~>) a_a9cAQ (m_a9cAP (b_a9cAR, c_a9cAS))) (t_a9cKc :: [a_a9cAQ]). SApplicative m_a9cAP => Sing t_a9cKb -> Sing t_a9cKc -> Sing (Apply (Apply MapAndUnzipMSym0 t_a9cKb) t_a9cKc :: m_a9cAP ([b_a9cAR], [c_a9cAS]))
type family ZipWithM (a_a9cHI :: (~>) a_a9cAM ((~>) b_a9cAN (m_a9cAL c_a9cAO))) (a_a9cHJ :: [a_a9cAM]) (a_a9cHK :: [b_a9cAN]) :: m_a9cAL [c_a9cAO]
sZipWithM :: forall m_a9cAL a_a9cAM b_a9cAN c_a9cAO (t_a9cK5 :: (~>) a_a9cAM ((~>) b_a9cAN (m_a9cAL c_a9cAO))) (t_a9cK6 :: [a_a9cAM]) (t_a9cK7 :: [b_a9cAN]). SApplicative m_a9cAL => Sing t_a9cK5 -> Sing t_a9cK6 -> Sing t_a9cK7 -> Sing (Apply (Apply (Apply ZipWithMSym0 t_a9cK5) t_a9cK6) t_a9cK7 :: m_a9cAL [c_a9cAO])
type family ZipWithM_ (a_a9cHz :: (~>) a_a9cAI ((~>) b_a9cAJ (m_a9cAH c_a9cAK))) (a_a9cHA :: [a_a9cAI]) (a_a9cHB :: [b_a9cAJ]) :: m_a9cAH ()
sZipWithM_ :: forall m_a9cAH a_a9cAI b_a9cAJ c_a9cAK (t_a9cJZ :: (~>) a_a9cAI ((~>) b_a9cAJ (m_a9cAH c_a9cAK))) (t_a9cK0 :: [a_a9cAI]) (t_a9cK1 :: [b_a9cAJ]). SApplicative m_a9cAH => Sing t_a9cJZ -> Sing t_a9cK0 -> Sing t_a9cK1 -> Sing (Apply (Apply (Apply ZipWithM_Sym0 t_a9cJZ) t_a9cK0) t_a9cK1 :: m_a9cAH ())
type family FoldlM (a_a62pp :: (~>) b_a62fn ((~>) a_a62fo (m_a62fm b_a62fn))) (a_a62pq :: b_a62fn) (a_a62pr :: t_a62fl a_a62fo) :: m_a62fm b_a62fn
sFoldlM :: forall t_a62fl m_a62fm b_a62fn a_a62fo (t_a62L7 :: (~>) b_a62fn ((~>) a_a62fo (m_a62fm b_a62fn))) (t_a62L8 :: b_a62fn) (t_a62L9 :: t_a62fl a_a62fo). (SFoldable t_a62fl, SMonad m_a62fm) => Sing t_a62L7 -> Sing t_a62L8 -> Sing t_a62L9 -> Sing (Apply (Apply (Apply FoldlMSym0 t_a62L7) t_a62L8) t_a62L9 :: m_a62fm b_a62fn)
type family ReplicateM (a_a9cGS :: Nat) (a_a9cGT :: m_a9cAx a_a9cAy) :: m_a9cAx [a_a9cAy]
sReplicateM :: forall m_a9cAx a_a9cAy (t_a9cJJ :: Nat) (t_a9cJK :: m_a9cAx a_a9cAy). SApplicative m_a9cAx => Sing t_a9cJJ -> Sing t_a9cJK -> Sing (Apply (Apply ReplicateMSym0 t_a9cJJ) t_a9cJK :: m_a9cAx [a_a9cAy])
type family ReplicateM_ (a_a9cGz :: Nat) (a_a9cGA :: m_a9cAv a_a9cAw) :: m_a9cAv ()
sReplicateM_ :: forall m_a9cAv a_a9cAw (t_a9cJF :: Nat) (t_a9cJG :: m_a9cAv a_a9cAw). SApplicative m_a9cAv => Sing t_a9cJF -> Sing t_a9cJG -> Sing (Apply (Apply ReplicateM_Sym0 t_a9cJF) t_a9cJG :: m_a9cAv ())
type family Guard (a_a2fvl :: Bool) :: f_a2fsC ()
sGuard :: forall f_a2fsC (t_a2fDc :: Bool). SAlternative f_a2fsC => Sing t_a2fDc -> Sing (Apply GuardSym0 t_a2fDc :: f_a2fsC ())
type family When (a_a2fzl :: Bool) (a_a2fzm :: f_a2ft5 ()) :: f_a2ft5 ()
sWhen :: forall f_a2ft5 (t_a2fDW :: Bool) (t_a2fDX :: f_a2ft5 ()). SApplicative f_a2ft5 => Sing t_a2fDW -> Sing t_a2fDX -> Sing (Apply (Apply WhenSym0 t_a2fDW) t_a2fDX :: f_a2ft5 ())
type family Unless (a_a9cGq :: Bool) (a_a9cGr :: f_a9cAu ()) :: f_a9cAu ()
sUnless :: forall f_a9cAu (t_a9cJB :: Bool) (t_a9cJC :: f_a9cAu ()). SApplicative f_a9cAu => Sing t_a9cJB -> Sing t_a9cJC -> Sing (Apply (Apply UnlessSym0 t_a9cJB) t_a9cJC :: f_a9cAu ())
type family LiftM (a_a2fz8 :: (~>) a1_a2ft3 r_a2ft4) (a_a2fz9 :: m_a2ft2 a1_a2ft3) :: m_a2ft2 r_a2ft4
sLiftM :: forall m_a2ft2 a1_a2ft3 r_a2ft4 (t_a2fDS :: (~>) a1_a2ft3 r_a2ft4) (t_a2fDT :: m_a2ft2 a1_a2ft3). SMonad m_a2ft2 => Sing t_a2fDS -> Sing t_a2fDT -> Sing (Apply (Apply LiftMSym0 t_a2fDS) t_a2fDT :: m_a2ft2 r_a2ft4)
type family LiftM2 (a_a2fyI :: (~>) a1_a2fsZ ((~>) a2_a2ft0 r_a2ft1)) (a_a2fyJ :: m_a2fsY a1_a2fsZ) (a_a2fyK :: m_a2fsY a2_a2ft0) :: m_a2fsY r_a2ft1
sLiftM2 :: forall m_a2fsY a1_a2fsZ a2_a2ft0 r_a2ft1 (t_a2fDM :: (~>) a1_a2fsZ ((~>) a2_a2ft0 r_a2ft1)) (t_a2fDN :: m_a2fsY a1_a2fsZ) (t_a2fDO :: m_a2fsY a2_a2ft0). SMonad m_a2fsY => Sing t_a2fDM -> Sing t_a2fDN -> Sing t_a2fDO -> Sing (Apply (Apply (Apply LiftM2Sym0 t_a2fDM) t_a2fDN) t_a2fDO :: m_a2fsY r_a2ft1)
type family LiftM3 (a_a2fy2 :: (~>) a1_a2fsU ((~>) a2_a2fsV ((~>) a3_a2fsW r_a2fsX))) (a_a2fy3 :: m_a2fsT a1_a2fsU) (a_a2fy4 :: m_a2fsT a2_a2fsV) (a_a2fy5 :: m_a2fsT a3_a2fsW) :: m_a2fsT r_a2fsX
sLiftM3 :: forall m_a2fsT a1_a2fsU a2_a2fsV a3_a2fsW r_a2fsX (t_a2fDE :: (~>) a1_a2fsU ((~>) a2_a2fsV ((~>) a3_a2fsW r_a2fsX))) (t_a2fDF :: m_a2fsT a1_a2fsU) (t_a2fDG :: m_a2fsT a2_a2fsV) (t_a2fDH :: m_a2fsT a3_a2fsW). SMonad m_a2fsT => Sing t_a2fDE -> Sing t_a2fDF -> Sing t_a2fDG -> Sing t_a2fDH -> Sing (Apply (Apply (Apply (Apply LiftM3Sym0 t_a2fDE) t_a2fDF) t_a2fDG) t_a2fDH :: m_a2fsT r_a2fsX)
type family LiftM4 (a_a2fx3 :: (~>) a1_a2fsO ((~>) a2_a2fsP ((~>) a3_a2fsQ ((~>) a4_a2fsR r_a2fsS)))) (a_a2fx4 :: m_a2fsN a1_a2fsO) (a_a2fx5 :: m_a2fsN a2_a2fsP) (a_a2fx6 :: m_a2fsN a3_a2fsQ) (a_a2fx7 :: m_a2fsN a4_a2fsR) :: m_a2fsN r_a2fsS
sLiftM4 :: forall m_a2fsN a1_a2fsO a2_a2fsP a3_a2fsQ a4_a2fsR r_a2fsS (t_a2fDu :: (~>) a1_a2fsO ((~>) a2_a2fsP ((~>) a3_a2fsQ ((~>) a4_a2fsR r_a2fsS)))) (t_a2fDv :: m_a2fsN a1_a2fsO) (t_a2fDw :: m_a2fsN a2_a2fsP) (t_a2fDx :: m_a2fsN a3_a2fsQ) (t_a2fDy :: m_a2fsN a4_a2fsR). SMonad m_a2fsN => Sing t_a2fDu -> Sing t_a2fDv -> Sing t_a2fDw -> Sing t_a2fDx -> Sing t_a2fDy -> Sing (Apply (Apply (Apply (Apply (Apply LiftM4Sym0 t_a2fDu) t_a2fDv) t_a2fDw) t_a2fDx) t_a2fDy :: m_a2fsN r_a2fsS)
type family LiftM5 (a_a2fvI :: (~>) a1_a2fsH ((~>) a2_a2fsI ((~>) a3_a2fsJ ((~>) a4_a2fsK ((~>) a5_a2fsL r_a2fsM))))) (a_a2fvJ :: m_a2fsG a1_a2fsH) (a_a2fvK :: m_a2fsG a2_a2fsI) (a_a2fvL :: m_a2fsG a3_a2fsJ) (a_a2fvM :: m_a2fsG a4_a2fsK) (a_a2fvN :: m_a2fsG a5_a2fsL) :: m_a2fsG r_a2fsM
sLiftM5 :: forall m_a2fsG a1_a2fsH a2_a2fsI a3_a2fsJ a4_a2fsK a5_a2fsL r_a2fsM (t_a2fDi :: (~>) a1_a2fsH ((~>) a2_a2fsI ((~>) a3_a2fsJ ((~>) a4_a2fsK ((~>) a5_a2fsL r_a2fsM))))) (t_a2fDj :: m_a2fsG a1_a2fsH) (t_a2fDk :: m_a2fsG a2_a2fsI) (t_a2fDl :: m_a2fsG a3_a2fsJ) (t_a2fDm :: m_a2fsG a4_a2fsK) (t_a2fDn :: m_a2fsG a5_a2fsL). SMonad m_a2fsG => Sing t_a2fDi -> Sing t_a2fDj -> Sing t_a2fDk -> Sing t_a2fDl -> Sing t_a2fDm -> Sing t_a2fDn -> Sing (Apply (Apply (Apply (Apply (Apply (Apply LiftM5Sym0 t_a2fDi) t_a2fDj) t_a2fDk) t_a2fDl) t_a2fDm) t_a2fDn :: m_a2fsG r_a2fsM)
type family Ap (a_a2fvn :: m_a2fsD ((~>) a_a2fsE b_a2fsF)) (a_a2fvo :: m_a2fsD a_a2fsE) :: m_a2fsD b_a2fsF
sAp :: forall m_a2fsD a_a2fsE b_a2fsF (t_a2fDe :: m_a2fsD ((~>) a_a2fsE b_a2fsF)) (t_a2fDf :: m_a2fsD a_a2fsE). SMonad m_a2fsD => Sing t_a2fDe -> Sing t_a2fDf -> Sing (Apply (Apply ApSym0 t_a2fDe) t_a2fDf :: m_a2fsD b_a2fsF)
type family (<$!>) (a_a9cG9 :: (~>) a_a9cAs b_a9cAt) (a_a9cGa :: m_a9cAr a_a9cAs) :: m_a9cAr b_a9cAt
infixl 4 <$!>
(%<$!>) :: forall m_a9cAr a_a9cAs b_a9cAt (t_a9cJx :: (~>) a_a9cAs b_a9cAt) (t_a9cJy :: m_a9cAr a_a9cAs). SMonad m_a9cAr => Sing t_a9cJx -> Sing t_a9cJy -> Sing (Apply (Apply (<$!>@#@$) t_a9cJx) t_a9cJy :: m_a9cAr b_a9cAt)
infixl 4 %<$!>
data FmapSym0 :: forall a6989586621679545962 b6989586621679545963 f6989586621679545961. (~>) ((~>) a6989586621679545962 b6989586621679545963) ((~>) (f6989586621679545961 a6989586621679545962) (f6989586621679545961 b6989586621679545963))
data FmapSym1 (arg6989586621679546355 :: (~>) a6989586621679545962 b6989586621679545963) :: forall f6989586621679545961. (~>) (f6989586621679545961 a6989586621679545962) (f6989586621679545961 b6989586621679545963)
type FmapSym2 (arg6989586621679546355 :: (~>) a6989586621679545962 b6989586621679545963) (arg6989586621679546356 :: f6989586621679545961 a6989586621679545962) = Fmap arg6989586621679546355 arg6989586621679546356
data (>>=@#@$) :: forall a6989586621679545991 b6989586621679545992 m6989586621679545990. (~>) (m6989586621679545990 a6989586621679545991) ((~>) ((~>) a6989586621679545991 (m6989586621679545990 b6989586621679545992)) (m6989586621679545990 b6989586621679545992))
infixl 1 >>=@#@$
data (>>=@#@$$) (arg6989586621679546462 :: m6989586621679545990 a6989586621679545991) :: forall b6989586621679545992. (~>) ((~>) a6989586621679545991 (m6989586621679545990 b6989586621679545992)) (m6989586621679545990 b6989586621679545992)
infixl 1 >>=@#@$$
type (>>=@#@$$$) (arg6989586621679546462 :: m6989586621679545990 a6989586621679545991) (arg6989586621679546463 :: (~>) a6989586621679545991 (m6989586621679545990 b6989586621679545992)) = (>>=) arg6989586621679546462 arg6989586621679546463
data (>>@#@$) :: forall a6989586621679545993 b6989586621679545994 m6989586621679545990. (~>) (m6989586621679545990 a6989586621679545993) ((~>) (m6989586621679545990 b6989586621679545994) (m6989586621679545990 b6989586621679545994))
infixl 1 >>@#@$
data (>>@#@$$) (arg6989586621679546466 :: m6989586621679545990 a6989586621679545993) :: forall b6989586621679545994. (~>) (m6989586621679545990 b6989586621679545994) (m6989586621679545990 b6989586621679545994)
infixl 1 >>@#@$$
type (>>@#@$$$) (arg6989586621679546466 :: m6989586621679545990 a6989586621679545993) (arg6989586621679546467 :: m6989586621679545990 b6989586621679545994) = (>>) arg6989586621679546466 arg6989586621679546467
data ReturnSym0 :: forall a6989586621679545995 m6989586621679545990. (~>) a6989586621679545995 (m6989586621679545990 a6989586621679545995)
type ReturnSym1 (arg6989586621679546470 :: a6989586621679545995) = Return arg6989586621679546470
data FailSym0 :: forall a6989586621679545996 m6989586621679545990. (~>) Symbol (m6989586621679545990 a6989586621679545996)
type FailSym1 (arg6989586621679546472 :: Symbol) = Fail arg6989586621679546472
type MzeroSym0 = Mzero
data MplusSym0 :: forall a6989586621679546048 m6989586621679546046. (~>) (m6989586621679546046 a6989586621679546048) ((~>) (m6989586621679546046 a6989586621679546048) (m6989586621679546046 a6989586621679546048))
data MplusSym1 (arg6989586621679546516 :: m6989586621679546046 a6989586621679546048) :: (~>) (m6989586621679546046 a6989586621679546048) (m6989586621679546046 a6989586621679546048)
type MplusSym2 (arg6989586621679546516 :: m6989586621679546046 a6989586621679546048) (arg6989586621679546517 :: m6989586621679546046 a6989586621679546048) = Mplus arg6989586621679546516 arg6989586621679546517
data MapMSym0 :: forall a6989586621680744892 b6989586621680744893 m6989586621680744891 t6989586621680744885. (~>) ((~>) a6989586621680744892 (m6989586621680744891 b6989586621680744893)) ((~>) (t6989586621680744885 a6989586621680744892) (m6989586621680744891 (t6989586621680744885 b6989586621680744893)))
data MapMSym1 (arg6989586621680744903 :: (~>) a6989586621680744892 (m6989586621680744891 b6989586621680744893)) :: forall t6989586621680744885. (~>) (t6989586621680744885 a6989586621680744892) (m6989586621680744891 (t6989586621680744885 b6989586621680744893))
type MapMSym2 (arg6989586621680744903 :: (~>) a6989586621680744892 (m6989586621680744891 b6989586621680744893)) (arg6989586621680744904 :: t6989586621680744885 a6989586621680744892) = MapM arg6989586621680744903 arg6989586621680744904
data MapM_Sym0 :: forall a6989586621680448389 b6989586621680448390 m6989586621680448388 t6989586621680448387. (~>) ((~>) a6989586621680448389 (m6989586621680448388 b6989586621680448390)) ((~>) (t6989586621680448387 a6989586621680448389) (m6989586621680448388 ()))
data MapM_Sym1 (a6989586621680448987 :: (~>) a6989586621680448389 (m6989586621680448388 b6989586621680448390)) :: forall t6989586621680448387. (~>) (t6989586621680448387 a6989586621680448389) (m6989586621680448388 ())
type MapM_Sym2 (a6989586621680448987 :: (~>) a6989586621680448389 (m6989586621680448388 b6989586621680448390)) (a6989586621680448988 :: t6989586621680448387 a6989586621680448389) = MapM_ a6989586621680448987 a6989586621680448988
data ForMSym0 :: forall a6989586621680750468 b6989586621680750469 m6989586621680750467 t6989586621680750466. (~>) (t6989586621680750466 a6989586621680750468) ((~>) ((~>) a6989586621680750468 (m6989586621680750467 b6989586621680750469)) (m6989586621680750467 (t6989586621680750466 b6989586621680750469)))
data ForMSym1 (a6989586621680751023 :: t6989586621680750466 a6989586621680750468) :: forall b6989586621680750469 m6989586621680750467. (~>) ((~>) a6989586621680750468 (m6989586621680750467 b6989586621680750469)) (m6989586621680750467 (t6989586621680750466 b6989586621680750469))
type ForMSym2 (a6989586621680751023 :: t6989586621680750466 a6989586621680750468) (a6989586621680751024 :: (~>) a6989586621680750468 (m6989586621680750467 b6989586621680750469)) = ForM a6989586621680751023 a6989586621680751024
data SequenceSym0 :: forall a6989586621680744895 m6989586621680744894 t6989586621680744885. (~>) (t6989586621680744885 (m6989586621680744894 a6989586621680744895)) (m6989586621680744894 (t6989586621680744885 a6989586621680744895))
type SequenceSym1 (arg6989586621680744907 :: t6989586621680744885 (m6989586621680744894 a6989586621680744895)) = Sequence arg6989586621680744907
data Sequence_Sym0 :: forall a6989586621680448379 m6989586621680448378 t6989586621680448377. (~>) (t6989586621680448377 (m6989586621680448378 a6989586621680448379)) (m6989586621680448378 ())
type Sequence_Sym1 (a6989586621680448979 :: t6989586621680448377 (m6989586621680448378 a6989586621680448379)) = Sequence_ a6989586621680448979
data (=<<@#@$) :: forall a6989586621679545913 b6989586621679545914 m6989586621679545912. (~>) ((~>) a6989586621679545913 (m6989586621679545912 b6989586621679545914)) ((~>) (m6989586621679545912 a6989586621679545913) (m6989586621679545912 b6989586621679545914))
infixr 1 =<<@#@$
data (=<<@#@$$) (a6989586621679546308 :: (~>) a6989586621679545913 (m6989586621679545912 b6989586621679545914)) :: (~>) (m6989586621679545912 a6989586621679545913) (m6989586621679545912 b6989586621679545914)
infixr 1 =<<@#@$$
type (=<<@#@$$$) (a6989586621679546308 :: (~>) a6989586621679545913 (m6989586621679545912 b6989586621679545914)) (a6989586621679546309 :: m6989586621679545912 a6989586621679545913) = (=<<) a6989586621679546308 a6989586621679546309
data (>=>@#@$) :: forall a6989586621681203164 b6989586621681203165 c6989586621681203166 m6989586621681203163. (~>) ((~>) a6989586621681203164 (m6989586621681203163 b6989586621681203165)) ((~>) ((~>) b6989586621681203165 (m6989586621681203163 c6989586621681203166)) ((~>) a6989586621681203164 (m6989586621681203163 c6989586621681203166)))
infixr 1 >=>@#@$
data (>=>@#@$$) (a6989586621681203597 :: (~>) a6989586621681203164 (m6989586621681203163 b6989586621681203165)) :: forall c6989586621681203166. (~>) ((~>) b6989586621681203165 (m6989586621681203163 c6989586621681203166)) ((~>) a6989586621681203164 (m6989586621681203163 c6989586621681203166))
infixr 1 >=>@#@$$
data (>=>@#@$$$) (a6989586621681203597 :: (~>) a6989586621681203164 (m6989586621681203163 b6989586621681203165)) (a6989586621681203598 :: (~>) b6989586621681203165 (m6989586621681203163 c6989586621681203166)) :: (~>) a6989586621681203164 (m6989586621681203163 c6989586621681203166)
infixr 1 >=>@#@$$$
data (<=<@#@$) :: forall a6989586621681203162 b6989586621681203160 c6989586621681203161 m6989586621681203159. (~>) ((~>) b6989586621681203160 (m6989586621681203159 c6989586621681203161)) ((~>) ((~>) a6989586621681203162 (m6989586621681203159 b6989586621681203160)) ((~>) a6989586621681203162 (m6989586621681203159 c6989586621681203161)))
infixr 1 <=<@#@$
data (<=<@#@$$) (a6989586621681203622 :: (~>) b6989586621681203160 (m6989586621681203159 c6989586621681203161)) :: forall a6989586621681203162. (~>) ((~>) a6989586621681203162 (m6989586621681203159 b6989586621681203160)) ((~>) a6989586621681203162 (m6989586621681203159 c6989586621681203161))
infixr 1 <=<@#@$$
data (<=<@#@$$$) (a6989586621681203622 :: (~>) b6989586621681203160 (m6989586621681203159 c6989586621681203161)) (a6989586621681203623 :: (~>) a6989586621681203162 (m6989586621681203159 b6989586621681203160)) :: (~>) a6989586621681203162 (m6989586621681203159 c6989586621681203161)
infixr 1 <=<@#@$$$
data VoidSym0 :: forall a6989586621679715289 f6989586621679715288. (~>) (f6989586621679715288 a6989586621679715289) (f6989586621679715288 ())
type VoidSym1 (a6989586621679715360 :: f6989586621679715288 a6989586621679715289) = Void a6989586621679715360
data JoinSym0 :: forall a6989586621679545916 m6989586621679545915. (~>) (m6989586621679545915 (m6989586621679545915 a6989586621679545916)) (m6989586621679545915 a6989586621679545916)
type JoinSym1 (a6989586621679546314 :: m6989586621679545915 (m6989586621679545915 a6989586621679545916)) = Join a6989586621679546314
data MsumSym0 :: forall a6989586621680448373 m6989586621680448372 t6989586621680448371. (~>) (t6989586621680448371 (m6989586621680448372 a6989586621680448373)) (m6989586621680448372 a6989586621680448373)
type MsumSym1 (a6989586621680448974 :: t6989586621680448371 (m6989586621680448372 a6989586621680448373)) = Msum a6989586621680448974
data MfilterSym0 :: forall a6989586621681203130 m6989586621681203129. (~>) ((~>) a6989586621681203130 Bool) ((~>) (m6989586621681203129 a6989586621681203130) (m6989586621681203129 a6989586621681203130))
data MfilterSym1 (a6989586621681203465 :: (~>) a6989586621681203130 Bool) :: forall m6989586621681203129. (~>) (m6989586621681203129 a6989586621681203130) (m6989586621681203129 a6989586621681203130)
type MfilterSym2 (a6989586621681203465 :: (~>) a6989586621681203130 Bool) (a6989586621681203466 :: m6989586621681203129 a6989586621681203130) = Mfilter a6989586621681203465 a6989586621681203466
data FilterMSym0 :: forall a6989586621681203168 m6989586621681203167. (~>) ((~>) a6989586621681203168 (m6989586621681203167 Bool)) ((~>) [a6989586621681203168] (m6989586621681203167 [a6989586621681203168]))
data FilterMSym1 (a6989586621681203631 :: (~>) a6989586621681203168 (m6989586621681203167 Bool)) :: (~>) [a6989586621681203168] (m6989586621681203167 [a6989586621681203168])
type FilterMSym2 (a6989586621681203631 :: (~>) a6989586621681203168 (m6989586621681203167 Bool)) (a6989586621681203632 :: [a6989586621681203168]) = FilterM a6989586621681203631 a6989586621681203632
data MapAndUnzipMSym0 :: forall a6989586621681203156 b6989586621681203157 c6989586621681203158 m6989586621681203155. (~>) ((~>) a6989586621681203156 (m6989586621681203155 (b6989586621681203157, c6989586621681203158))) ((~>) [a6989586621681203156] (m6989586621681203155 ([b6989586621681203157], [c6989586621681203158])))
data MapAndUnzipMSym1 (a6989586621681203591 :: (~>) a6989586621681203156 (m6989586621681203155 (b6989586621681203157, c6989586621681203158))) :: (~>) [a6989586621681203156] (m6989586621681203155 ([b6989586621681203157], [c6989586621681203158]))
type MapAndUnzipMSym2 (a6989586621681203591 :: (~>) a6989586621681203156 (m6989586621681203155 (b6989586621681203157, c6989586621681203158))) (a6989586621681203592 :: [a6989586621681203156]) = MapAndUnzipM a6989586621681203591 a6989586621681203592
data ZipWithMSym0 :: forall a6989586621681203152 b6989586621681203153 c6989586621681203154 m6989586621681203151. (~>) ((~>) a6989586621681203152 ((~>) b6989586621681203153 (m6989586621681203151 c6989586621681203154))) ((~>) [a6989586621681203152] ((~>) [b6989586621681203153] (m6989586621681203151 [c6989586621681203154])))
data ZipWithMSym1 (a6989586621681203582 :: (~>) a6989586621681203152 ((~>) b6989586621681203153 (m6989586621681203151 c6989586621681203154))) :: (~>) [a6989586621681203152] ((~>) [b6989586621681203153] (m6989586621681203151 [c6989586621681203154]))
data ZipWithMSym2 (a6989586621681203582 :: (~>) a6989586621681203152 ((~>) b6989586621681203153 (m6989586621681203151 c6989586621681203154))) (a6989586621681203583 :: [a6989586621681203152]) :: (~>) [b6989586621681203153] (m6989586621681203151 [c6989586621681203154])
type ZipWithMSym3 (a6989586621681203582 :: (~>) a6989586621681203152 ((~>) b6989586621681203153 (m6989586621681203151 c6989586621681203154))) (a6989586621681203583 :: [a6989586621681203152]) (a6989586621681203584 :: [b6989586621681203153]) = ZipWithM a6989586621681203582 a6989586621681203583 a6989586621681203584
data ZipWithM_Sym0 :: forall a6989586621681203148 b6989586621681203149 c6989586621681203150 m6989586621681203147. (~>) ((~>) a6989586621681203148 ((~>) b6989586621681203149 (m6989586621681203147 c6989586621681203150))) ((~>) [a6989586621681203148] ((~>) [b6989586621681203149] (m6989586621681203147 ())))
data ZipWithM_Sym1 (a6989586621681203573 :: (~>) a6989586621681203148 ((~>) b6989586621681203149 (m6989586621681203147 c6989586621681203150))) :: (~>) [a6989586621681203148] ((~>) [b6989586621681203149] (m6989586621681203147 ()))
data ZipWithM_Sym2 (a6989586621681203573 :: (~>) a6989586621681203148 ((~>) b6989586621681203149 (m6989586621681203147 c6989586621681203150))) (a6989586621681203574 :: [a6989586621681203148]) :: (~>) [b6989586621681203149] (m6989586621681203147 ())
type ZipWithM_Sym3 (a6989586621681203573 :: (~>) a6989586621681203148 ((~>) b6989586621681203149 (m6989586621681203147 c6989586621681203150))) (a6989586621681203574 :: [a6989586621681203148]) (a6989586621681203575 :: [b6989586621681203149]) = ZipWithM_ a6989586621681203573 a6989586621681203574 a6989586621681203575
data FoldlMSym0 :: forall a6989586621680448402 b6989586621680448401 m6989586621680448400 t6989586621680448399. (~>) ((~>) b6989586621680448401 ((~>) a6989586621680448402 (m6989586621680448400 b6989586621680448401))) ((~>) b6989586621680448401 ((~>) (t6989586621680448399 a6989586621680448402) (m6989586621680448400 b6989586621680448401)))
data FoldlMSym1 (a6989586621680449023 :: (~>) b6989586621680448401 ((~>) a6989586621680448402 (m6989586621680448400 b6989586621680448401))) :: forall t6989586621680448399. (~>) b6989586621680448401 ((~>) (t6989586621680448399 a6989586621680448402) (m6989586621680448400 b6989586621680448401))
data FoldlMSym2 (a6989586621680449023 :: (~>) b6989586621680448401 ((~>) a6989586621680448402 (m6989586621680448400 b6989586621680448401))) (a6989586621680449024 :: b6989586621680448401) :: forall t6989586621680448399. (~>) (t6989586621680448399 a6989586621680448402) (m6989586621680448400 b6989586621680448401)
type FoldlMSym3 (a6989586621680449023 :: (~>) b6989586621680448401 ((~>) a6989586621680448402 (m6989586621680448400 b6989586621680448401))) (a6989586621680449024 :: b6989586621680448401) (a6989586621680449025 :: t6989586621680448399 a6989586621680448402) = FoldlM a6989586621680449023 a6989586621680449024 a6989586621680449025
data ReplicateMSym0 :: forall a6989586621681203138 m6989586621681203137. (~>) Nat ((~>) (m6989586621681203137 a6989586621681203138) (m6989586621681203137 [a6989586621681203138]))
data ReplicateMSym1 (a6989586621681203530 :: Nat) :: forall a6989586621681203138 m6989586621681203137. (~>) (m6989586621681203137 a6989586621681203138) (m6989586621681203137 [a6989586621681203138])
type ReplicateMSym2 (a6989586621681203530 :: Nat) (a6989586621681203531 :: m6989586621681203137 a6989586621681203138) = ReplicateM a6989586621681203530 a6989586621681203531
data ReplicateM_Sym0 :: forall a6989586621681203136 m6989586621681203135. (~>) Nat ((~>) (m6989586621681203135 a6989586621681203136) (m6989586621681203135 ()))
data ReplicateM_Sym1 (a6989586621681203511 :: Nat) :: forall a6989586621681203136 m6989586621681203135. (~>) (m6989586621681203135 a6989586621681203136) (m6989586621681203135 ())
type ReplicateM_Sym2 (a6989586621681203511 :: Nat) (a6989586621681203512 :: m6989586621681203135 a6989586621681203136) = ReplicateM_ a6989586621681203511 a6989586621681203512
data GuardSym0 :: forall f6989586621679545882. (~>) Bool (f6989586621679545882 ())
type GuardSym1 (a6989586621679546051 :: Bool) = Guard a6989586621679546051
data WhenSym0 :: forall f6989586621679545911. (~>) Bool ((~>) (f6989586621679545911 ()) (f6989586621679545911 ()))
data WhenSym1 (a6989586621679546299 :: Bool) :: forall f6989586621679545911. (~>) (f6989586621679545911 ()) (f6989586621679545911 ())
type WhenSym2 (a6989586621679546299 :: Bool) (a6989586621679546300 :: f6989586621679545911 ()) = When a6989586621679546299 a6989586621679546300
data UnlessSym0 :: forall f6989586621681203134. (~>) Bool ((~>) (f6989586621681203134 ()) (f6989586621681203134 ()))
data UnlessSym1 (a6989586621681203502 :: Bool) :: forall f6989586621681203134. (~>) (f6989586621681203134 ()) (f6989586621681203134 ())
type UnlessSym2 (a6989586621681203502 :: Bool) (a6989586621681203503 :: f6989586621681203134 ()) = Unless a6989586621681203502 a6989586621681203503
data LiftMSym0 :: forall a16989586621679545909 m6989586621679545908 r6989586621679545910. (~>) ((~>) a16989586621679545909 r6989586621679545910) ((~>) (m6989586621679545908 a16989586621679545909) (m6989586621679545908 r6989586621679545910))
data LiftMSym1 (a6989586621679546286 :: (~>) a16989586621679545909 r6989586621679545910) :: forall m6989586621679545908. (~>) (m6989586621679545908 a16989586621679545909) (m6989586621679545908 r6989586621679545910)
type LiftMSym2 (a6989586621679546286 :: (~>) a16989586621679545909 r6989586621679545910) (a6989586621679546287 :: m6989586621679545908 a16989586621679545909) = LiftM a6989586621679546286 a6989586621679546287
data LiftM2Sym0 :: forall a16989586621679545905 a26989586621679545906 m6989586621679545904 r6989586621679545907. (~>) ((~>) a16989586621679545905 ((~>) a26989586621679545906 r6989586621679545907)) ((~>) (m6989586621679545904 a16989586621679545905) ((~>) (m6989586621679545904 a26989586621679545906) (m6989586621679545904 r6989586621679545907)))
data LiftM2Sym1 (a6989586621679546260 :: (~>) a16989586621679545905 ((~>) a26989586621679545906 r6989586621679545907)) :: forall m6989586621679545904. (~>) (m6989586621679545904 a16989586621679545905) ((~>) (m6989586621679545904 a26989586621679545906) (m6989586621679545904 r6989586621679545907))
data LiftM2Sym2 (a6989586621679546260 :: (~>) a16989586621679545905 ((~>) a26989586621679545906 r6989586621679545907)) (a6989586621679546261 :: m6989586621679545904 a16989586621679545905) :: (~>) (m6989586621679545904 a26989586621679545906) (m6989586621679545904 r6989586621679545907)
type LiftM2Sym3 (a6989586621679546260 :: (~>) a16989586621679545905 ((~>) a26989586621679545906 r6989586621679545907)) (a6989586621679546261 :: m6989586621679545904 a16989586621679545905) (a6989586621679546262 :: m6989586621679545904 a26989586621679545906) = LiftM2 a6989586621679546260 a6989586621679546261 a6989586621679546262
data LiftM3Sym0 :: forall a16989586621679545900 a26989586621679545901 a36989586621679545902 m6989586621679545899 r6989586621679545903. (~>) ((~>) a16989586621679545900 ((~>) a26989586621679545901 ((~>) a36989586621679545902 r6989586621679545903))) ((~>) (m6989586621679545899 a16989586621679545900) ((~>) (m6989586621679545899 a26989586621679545901) ((~>) (m6989586621679545899 a36989586621679545902) (m6989586621679545899 r6989586621679545903))))
data LiftM3Sym1 (a6989586621679546218 :: (~>) a16989586621679545900 ((~>) a26989586621679545901 ((~>) a36989586621679545902 r6989586621679545903))) :: forall m6989586621679545899. (~>) (m6989586621679545899 a16989586621679545900) ((~>) (m6989586621679545899 a26989586621679545901) ((~>) (m6989586621679545899 a36989586621679545902) (m6989586621679545899 r6989586621679545903)))
data LiftM3Sym2 (a6989586621679546218 :: (~>) a16989586621679545900 ((~>) a26989586621679545901 ((~>) a36989586621679545902 r6989586621679545903))) (a6989586621679546219 :: m6989586621679545899 a16989586621679545900) :: (~>) (m6989586621679545899 a26989586621679545901) ((~>) (m6989586621679545899 a36989586621679545902) (m6989586621679545899 r6989586621679545903))
data LiftM3Sym3 (a6989586621679546218 :: (~>) a16989586621679545900 ((~>) a26989586621679545901 ((~>) a36989586621679545902 r6989586621679545903))) (a6989586621679546219 :: m6989586621679545899 a16989586621679545900) (a6989586621679546220 :: m6989586621679545899 a26989586621679545901) :: (~>) (m6989586621679545899 a36989586621679545902) (m6989586621679545899 r6989586621679545903)
type LiftM3Sym4 (a6989586621679546218 :: (~>) a16989586621679545900 ((~>) a26989586621679545901 ((~>) a36989586621679545902 r6989586621679545903))) (a6989586621679546219 :: m6989586621679545899 a16989586621679545900) (a6989586621679546220 :: m6989586621679545899 a26989586621679545901) (a6989586621679546221 :: m6989586621679545899 a36989586621679545902) = LiftM3 a6989586621679546218 a6989586621679546219 a6989586621679546220 a6989586621679546221
data LiftM4Sym0 :: forall a16989586621679545894 a26989586621679545895 a36989586621679545896 a46989586621679545897 m6989586621679545893 r6989586621679545898. (~>) ((~>) a16989586621679545894 ((~>) a26989586621679545895 ((~>) a36989586621679545896 ((~>) a46989586621679545897 r6989586621679545898)))) ((~>) (m6989586621679545893 a16989586621679545894) ((~>) (m6989586621679545893 a26989586621679545895) ((~>) (m6989586621679545893 a36989586621679545896) ((~>) (m6989586621679545893 a46989586621679545897) (m6989586621679545893 r6989586621679545898)))))
data LiftM4Sym1 (a6989586621679546157 :: (~>) a16989586621679545894 ((~>) a26989586621679545895 ((~>) a36989586621679545896 ((~>) a46989586621679545897 r6989586621679545898)))) :: forall m6989586621679545893. (~>) (m6989586621679545893 a16989586621679545894) ((~>) (m6989586621679545893 a26989586621679545895) ((~>) (m6989586621679545893 a36989586621679545896) ((~>) (m6989586621679545893 a46989586621679545897) (m6989586621679545893 r6989586621679545898))))
data LiftM4Sym2 (a6989586621679546157 :: (~>) a16989586621679545894 ((~>) a26989586621679545895 ((~>) a36989586621679545896 ((~>) a46989586621679545897 r6989586621679545898)))) (a6989586621679546158 :: m6989586621679545893 a16989586621679545894) :: (~>) (m6989586621679545893 a26989586621679545895) ((~>) (m6989586621679545893 a36989586621679545896) ((~>) (m6989586621679545893 a46989586621679545897) (m6989586621679545893 r6989586621679545898)))
data LiftM4Sym3 (a6989586621679546157 :: (~>) a16989586621679545894 ((~>) a26989586621679545895 ((~>) a36989586621679545896 ((~>) a46989586621679545897 r6989586621679545898)))) (a6989586621679546158 :: m6989586621679545893 a16989586621679545894) (a6989586621679546159 :: m6989586621679545893 a26989586621679545895) :: (~>) (m6989586621679545893 a36989586621679545896) ((~>) (m6989586621679545893 a46989586621679545897) (m6989586621679545893 r6989586621679545898))
data LiftM4Sym4 (a6989586621679546157 :: (~>) a16989586621679545894 ((~>) a26989586621679545895 ((~>) a36989586621679545896 ((~>) a46989586621679545897 r6989586621679545898)))) (a6989586621679546158 :: m6989586621679545893 a16989586621679545894) (a6989586621679546159 :: m6989586621679545893 a26989586621679545895) (a6989586621679546160 :: m6989586621679545893 a36989586621679545896) :: (~>) (m6989586621679545893 a46989586621679545897) (m6989586621679545893 r6989586621679545898)
type LiftM4Sym5 (a6989586621679546157 :: (~>) a16989586621679545894 ((~>) a26989586621679545895 ((~>) a36989586621679545896 ((~>) a46989586621679545897 r6989586621679545898)))) (a6989586621679546158 :: m6989586621679545893 a16989586621679545894) (a6989586621679546159 :: m6989586621679545893 a26989586621679545895) (a6989586621679546160 :: m6989586621679545893 a36989586621679545896) (a6989586621679546161 :: m6989586621679545893 a46989586621679545897) = LiftM4 a6989586621679546157 a6989586621679546158 a6989586621679546159 a6989586621679546160 a6989586621679546161
data LiftM5Sym0 :: forall a16989586621679545887 a26989586621679545888 a36989586621679545889 a46989586621679545890 a56989586621679545891 m6989586621679545886 r6989586621679545892. (~>) ((~>) a16989586621679545887 ((~>) a26989586621679545888 ((~>) a36989586621679545889 ((~>) a46989586621679545890 ((~>) a56989586621679545891 r6989586621679545892))))) ((~>) (m6989586621679545886 a16989586621679545887) ((~>) (m6989586621679545886 a26989586621679545888) ((~>) (m6989586621679545886 a36989586621679545889) ((~>) (m6989586621679545886 a46989586621679545890) ((~>) (m6989586621679545886 a56989586621679545891) (m6989586621679545886 r6989586621679545892))))))
data LiftM5Sym1 (a6989586621679546074 :: (~>) a16989586621679545887 ((~>) a26989586621679545888 ((~>) a36989586621679545889 ((~>) a46989586621679545890 ((~>) a56989586621679545891 r6989586621679545892))))) :: forall m6989586621679545886. (~>) (m6989586621679545886 a16989586621679545887) ((~>) (m6989586621679545886 a26989586621679545888) ((~>) (m6989586621679545886 a36989586621679545889) ((~>) (m6989586621679545886 a46989586621679545890) ((~>) (m6989586621679545886 a56989586621679545891) (m6989586621679545886 r6989586621679545892)))))
data LiftM5Sym2 (a6989586621679546074 :: (~>) a16989586621679545887 ((~>) a26989586621679545888 ((~>) a36989586621679545889 ((~>) a46989586621679545890 ((~>) a56989586621679545891 r6989586621679545892))))) (a6989586621679546075 :: m6989586621679545886 a16989586621679545887) :: (~>) (m6989586621679545886 a26989586621679545888) ((~>) (m6989586621679545886 a36989586621679545889) ((~>) (m6989586621679545886 a46989586621679545890) ((~>) (m6989586621679545886 a56989586621679545891) (m6989586621679545886 r6989586621679545892))))
data LiftM5Sym3 (a6989586621679546074 :: (~>) a16989586621679545887 ((~>) a26989586621679545888 ((~>) a36989586621679545889 ((~>) a46989586621679545890 ((~>) a56989586621679545891 r6989586621679545892))))) (a6989586621679546075 :: m6989586621679545886 a16989586621679545887) (a6989586621679546076 :: m6989586621679545886 a26989586621679545888) :: (~>) (m6989586621679545886 a36989586621679545889) ((~>) (m6989586621679545886 a46989586621679545890) ((~>) (m6989586621679545886 a56989586621679545891) (m6989586621679545886 r6989586621679545892)))
data LiftM5Sym4 (a6989586621679546074 :: (~>) a16989586621679545887 ((~>) a26989586621679545888 ((~>) a36989586621679545889 ((~>) a46989586621679545890 ((~>) a56989586621679545891 r6989586621679545892))))) (a6989586621679546075 :: m6989586621679545886 a16989586621679545887) (a6989586621679546076 :: m6989586621679545886 a26989586621679545888) (a6989586621679546077 :: m6989586621679545886 a36989586621679545889) :: (~>) (m6989586621679545886 a46989586621679545890) ((~>) (m6989586621679545886 a56989586621679545891) (m6989586621679545886 r6989586621679545892))
data LiftM5Sym5 (a6989586621679546074 :: (~>) a16989586621679545887 ((~>) a26989586621679545888 ((~>) a36989586621679545889 ((~>) a46989586621679545890 ((~>) a56989586621679545891 r6989586621679545892))))) (a6989586621679546075 :: m6989586621679545886 a16989586621679545887) (a6989586621679546076 :: m6989586621679545886 a26989586621679545888) (a6989586621679546077 :: m6989586621679545886 a36989586621679545889) (a6989586621679546078 :: m6989586621679545886 a46989586621679545890) :: (~>) (m6989586621679545886 a56989586621679545891) (m6989586621679545886 r6989586621679545892)
type LiftM5Sym6 (a6989586621679546074 :: (~>) a16989586621679545887 ((~>) a26989586621679545888 ((~>) a36989586621679545889 ((~>) a46989586621679545890 ((~>) a56989586621679545891 r6989586621679545892))))) (a6989586621679546075 :: m6989586621679545886 a16989586621679545887) (a6989586621679546076 :: m6989586621679545886 a26989586621679545888) (a6989586621679546077 :: m6989586621679545886 a36989586621679545889) (a6989586621679546078 :: m6989586621679545886 a46989586621679545890) (a6989586621679546079 :: m6989586621679545886 a56989586621679545891) = LiftM5 a6989586621679546074 a6989586621679546075 a6989586621679546076 a6989586621679546077 a6989586621679546078 a6989586621679546079
data ApSym0 :: forall a6989586621679545884 b6989586621679545885 m6989586621679545883. (~>) (m6989586621679545883 ((~>) a6989586621679545884 b6989586621679545885)) ((~>) (m6989586621679545883 a6989586621679545884) (m6989586621679545883 b6989586621679545885))
data ApSym1 (a6989586621679546053 :: m6989586621679545883 ((~>) a6989586621679545884 b6989586621679545885)) :: (~>) (m6989586621679545883 a6989586621679545884) (m6989586621679545883 b6989586621679545885)
type ApSym2 (a6989586621679546053 :: m6989586621679545883 ((~>) a6989586621679545884 b6989586621679545885)) (a6989586621679546054 :: m6989586621679545883 a6989586621679545884) = Ap a6989586621679546053 a6989586621679546054
data (<$!>@#@$) :: forall a6989586621681203132 b6989586621681203133 m6989586621681203131. (~>) ((~>) a6989586621681203132 b6989586621681203133) ((~>) (m6989586621681203131 a6989586621681203132) (m6989586621681203131 b6989586621681203133))
infixl 4 <$!>@#@$
data (<$!>@#@$$) (a6989586621681203485 :: (~>) a6989586621681203132 b6989586621681203133) :: forall m6989586621681203131. (~>) (m6989586621681203131 a6989586621681203132) (m6989586621681203131 b6989586621681203133)
infixl 4 <$!>@#@$$
type (<$!>@#@$$$) (a6989586621681203485 :: (~>) a6989586621681203132 b6989586621681203133) (a6989586621681203486 :: m6989586621681203131 a6989586621681203132) = (<$!>) a6989586621681203485 a6989586621681203486
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.TFHelper_6989586621681203687Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Ord.Down
instance forall b6989586621679545992 a6989586621679545991 (a6989586621681203685 :: Data.Ord.Down a6989586621679545991). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.TFHelper_6989586621681203687Sym1 a6989586621681203685)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.TFHelper_6989586621681203675Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad ((,) a)
instance forall b6989586621679545992 a6989586621681203216 a6989586621679545991 (a6989586621681203673 :: (a6989586621681203216, a6989586621679545991)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.TFHelper_6989586621681203675Sym1 a6989586621681203673)
instance Data.Singletons.Prelude.Monoid.SMonoid a => Data.Singletons.Prelude.Monad.Internal.SMonad ((,) a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681203664Scrutinee_6989586621681203230Sym0
instance forall k1 k2 k3 (u6989586621681203661 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681203664Scrutinee_6989586621681203230Sym1 u6989586621681203661)
instance forall k1 k2 k3 (a6989586621681203662 :: k3) (u6989586621681203661 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681203664Scrutinee_6989586621681203230Sym2 a6989586621681203662 u6989586621681203661)
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 a6989586621681203168 (m6989586621681203167 :: * -> *) (a6989586621681203631 :: a6989586621681203168 Data.Singletons.Internal.~> m6989586621681203167 GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FilterMSym1 a6989586621681203631)
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 a6989586621681203162 b6989586621681203160 (m6989586621681203159 :: * -> *) c6989586621681203161 (a6989586621681203622 :: b6989586621681203160 Data.Singletons.Internal.~> m6989586621681203159 c6989586621681203161). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Monad.<=<@#@$$) a6989586621681203622)
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 a6989586621681203162 b6989586621681203160 (m6989586621681203159 :: * -> *) c6989586621681203161 (a6989586621681203623 :: b6989586621681203160 Data.Singletons.Internal.~> m6989586621681203159 c6989586621681203161) (a6989586621681203622 :: a6989586621681203162 Data.Singletons.Internal.~> m6989586621681203159 b6989586621681203160). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (a6989586621681203623 Data.Singletons.Prelude.Monad.<=<@#@$$$ a6989586621681203622)
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 c6989586621681203166 a6989586621681203164 (m6989586621681203163 :: * -> *) b6989586621681203165 (a6989586621681203597 :: a6989586621681203164 Data.Singletons.Internal.~> m6989586621681203163 b6989586621681203165). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Monad.>=>@#@$$) a6989586621681203597)
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 c6989586621681203166 a6989586621681203164 (m6989586621681203163 :: * -> *) b6989586621681203165 (a6989586621681203598 :: a6989586621681203164 Data.Singletons.Internal.~> m6989586621681203163 b6989586621681203165) (a6989586621681203597 :: b6989586621681203165 Data.Singletons.Internal.~> m6989586621681203163 c6989586621681203166). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (a6989586621681203598 Data.Singletons.Prelude.Monad.>=>@#@$$$ a6989586621681203597)
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 a6989586621681203156 (m6989586621681203155 :: * -> *) b6989586621681203157 c6989586621681203158 (a6989586621681203591 :: a6989586621681203156 Data.Singletons.Internal.~> m6989586621681203155 (b6989586621681203157, c6989586621681203158)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.MapAndUnzipMSym1 a6989586621681203591)
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 a6989586621681203152 b6989586621681203153 (m6989586621681203151 :: * -> *) c6989586621681203154 (a6989586621681203582 :: a6989586621681203152 Data.Singletons.Internal.~> (b6989586621681203153 Data.Singletons.Internal.~> m6989586621681203151 c6989586621681203154)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithMSym1 a6989586621681203582)
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 a6989586621681203152 b6989586621681203153 (m6989586621681203151 :: * -> *) c6989586621681203154 (a6989586621681203583 :: a6989586621681203152 Data.Singletons.Internal.~> (b6989586621681203153 Data.Singletons.Internal.~> m6989586621681203151 c6989586621681203154)) (a6989586621681203582 :: [a6989586621681203152]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithMSym2 a6989586621681203583 a6989586621681203582)
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 a6989586621681203148 b6989586621681203149 (m6989586621681203147 :: * -> *) c6989586621681203150 (a6989586621681203573 :: a6989586621681203148 Data.Singletons.Internal.~> (b6989586621681203149 Data.Singletons.Internal.~> m6989586621681203147 c6989586621681203150)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithM_Sym1 a6989586621681203573)
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 a6989586621681203148 b6989586621681203149 (m6989586621681203147 :: * -> *) c6989586621681203150 (a6989586621681203574 :: a6989586621681203148 Data.Singletons.Internal.~> (b6989586621681203149 Data.Singletons.Internal.~> m6989586621681203147 c6989586621681203150)) (a6989586621681203573 :: [a6989586621681203148]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithM_Sym2 a6989586621681203574 a6989586621681203573)
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 (t6989586621681203143 :: * -> *) a6989586621681203146 (m6989586621681203144 :: * -> *) b6989586621681203145 (a6989586621681203564 :: b6989586621681203145 Data.Singletons.Internal.~> (a6989586621681203146 Data.Singletons.Internal.~> m6989586621681203144 b6989586621681203145)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldMSym1 a6989586621681203564)
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 (t6989586621681203143 :: * -> *) a6989586621681203146 (m6989586621681203144 :: * -> *) b6989586621681203145 (a6989586621681203565 :: b6989586621681203145 Data.Singletons.Internal.~> (a6989586621681203146 Data.Singletons.Internal.~> m6989586621681203144 b6989586621681203145)) (a6989586621681203564 :: b6989586621681203145). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldMSym2 a6989586621681203565 a6989586621681203564)
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 (t6989586621681203139 :: * -> *) a6989586621681203142 (m6989586621681203140 :: * -> *) b6989586621681203141 (a6989586621681203549 :: b6989586621681203141 Data.Singletons.Internal.~> (a6989586621681203142 Data.Singletons.Internal.~> m6989586621681203140 b6989586621681203141)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldM_Sym1 a6989586621681203549)
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 (t6989586621681203139 :: * -> *) a6989586621681203142 (m6989586621681203140 :: * -> *) b6989586621681203141 (a6989586621681203550 :: b6989586621681203141 Data.Singletons.Internal.~> (a6989586621681203142 Data.Singletons.Internal.~> m6989586621681203140 b6989586621681203141)) (a6989586621681203549 :: b6989586621681203141). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldM_Sym2 a6989586621681203550 a6989586621681203549)
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 a6989586621681203530)
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 a6989586621681203511)
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 a6989586621681203502)
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 (m6989586621681203131 :: * -> *) a6989586621681203132 b6989586621681203133 (a6989586621681203485 :: a6989586621681203132 Data.Singletons.Internal.~> b6989586621681203133). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Monad.<$!>@#@$$) a6989586621681203485)
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 (m6989586621681203129 :: * -> *) a6989586621681203130 (a6989586621681203465 :: a6989586621681203130 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.MfilterSym1 a6989586621681203465)
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_6989586621681203639Sym0
instance forall k2 k3 (f6989586621679545966 :: * -> *) (p6989586621681203637 :: k3 Data.Singletons.Internal.~> f6989586621679545966 GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681203639Sym1 p6989586621681203637)
instance forall k2 k3 (f6989586621679545966 :: * -> *) (a_69895866216812036356989586621681203638 :: k3 Data.Singletons.Internal.~> f6989586621679545966 GHC.Types.Bool) (p6989586621681203637 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681203639Sym2 a_69895866216812036356989586621681203638 p6989586621681203637)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681203642Sym0
instance forall k1 k2 k3 (p6989586621681203637 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681203642Sym1 p6989586621681203637)
instance forall k1 k2 k3 (x6989586621681203641 :: k3) (p6989586621681203637 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681203642Sym2 x6989586621681203641 p6989586621681203637)
instance forall k1 k2 k3 (a_69895866216812036356989586621681203638 :: k3) (x6989586621681203641 :: k2) (p6989586621681203637 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681203642Sym3 a_69895866216812036356989586621681203638 x6989586621681203641 p6989586621681203637)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681203608Sym0
instance forall k b6989586621679545992 k1 (m6989586621679545990 :: * -> *) a6989586621679545991 (f6989586621681203605 :: k1 Data.Singletons.Internal.~> m6989586621679545990 a6989586621679545991). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681203608Sym1 f6989586621681203605)
instance forall k b6989586621679545992 k1 (m6989586621679545990 :: * -> *) a6989586621679545991 (g6989586621681203606 :: k1 Data.Singletons.Internal.~> m6989586621679545990 a6989586621679545991) (f6989586621681203605 :: a6989586621679545991 Data.Singletons.Internal.~> m6989586621679545990 b6989586621679545992). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681203608Sym2 g6989586621681203606 f6989586621681203605)
instance forall k b6989586621679545992 k1 (m6989586621679545990 :: * -> *) a6989586621679545991 (a_69895866216812036036989586621681203607 :: k1 Data.Singletons.Internal.~> m6989586621679545990 a6989586621679545991) (g6989586621681203606 :: a6989586621679545991 Data.Singletons.Internal.~> m6989586621679545990 b6989586621679545992) (f6989586621681203605 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681203608Sym3 a_69895866216812036036989586621681203607 g6989586621681203606 f6989586621681203605)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681203536LoopSym0
instance forall k1 (f6989586621679545966 :: * -> *) k2 k3 (cnt06989586621681203534 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681203536LoopSym1 cnt06989586621681203534)
instance forall k1 (f6989586621679545966 :: * -> *) k2 k3 (f6989586621681203535 :: k3) (cnt06989586621681203534 :: f6989586621679545966 k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681203536LoopSym2 f6989586621681203535 cnt06989586621681203534)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681203517LoopSym0
instance forall a6989586621679545973 k1 (f6989586621679545966 :: * -> *) k2 (cnt06989586621681203515 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681203517LoopSym1 cnt06989586621681203515)
instance forall k1 (f6989586621679545966 :: * -> *) a6989586621679545973 k2 (f6989586621681203516 :: k2) (cnt06989586621681203515 :: f6989586621679545966 a6989586621679545973). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681203517LoopSym2 f6989586621681203516 cnt06989586621681203515)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681203491Sym0
instance forall k (m6989586621679545990 :: * -> *) k2 k3 (f6989586621681203489 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681203491Sym1 f6989586621681203489)
instance forall (m6989586621679545990 :: * -> *) k k2 k3 (m6989586621681203490 :: k2 Data.Singletons.Internal.~> k3) (f6989586621681203489 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681203491Sym2 m6989586621681203490 f6989586621681203489)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681203494ZSym0
instance forall k1 k2 k3 (f6989586621681203489 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681203494ZSym1 f6989586621681203489)
instance forall k1 k2 k3 (m6989586621681203490 :: k2 Data.Singletons.Internal.~> k3) (f6989586621681203489 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681203494ZSym2 m6989586621681203490 f6989586621681203489)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681203471Sym0
instance forall k (m6989586621679545990 :: * -> *) k1 (p6989586621681203469 :: k1 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681203471Sym1 p6989586621681203469)
instance forall (m6989586621679545990 :: * -> *) k k1 (ma6989586621681203470 :: k1 Data.Singletons.Internal.~> GHC.Types.Bool) (p6989586621681203469 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681203471Sym2 ma6989586621681203470 p6989586621681203469)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681203474Scrutinee_6989586621681203228Sym0
instance forall k1 k2 k3 (p6989586621681203469 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681203474Scrutinee_6989586621681203228Sym1 p6989586621681203469)
instance forall k1 k2 k3 (ma6989586621681203470 :: k2 Data.Singletons.Internal.~> k3) (p6989586621681203469 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681203474Scrutinee_6989586621681203228Sym2 ma6989586621681203470 p6989586621681203469)
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 (k6989586621679025105 :: Type) = Demote k6989586621679025105
data SameKindSym0 a6989586621679025111
data SameKindSym1 (a6989586621679025111 :: k6989586621679025110) b6989586621679025112
type SameKindSym2 (a6989586621679025111 :: k6989586621679025110) (b6989586621679025112 :: k6989586621679025110) = SameKind a6989586621679025111 b6989586621679025112
data KindOfSym0 a6989586621679025114
type KindOfSym1 (a6989586621679025114 :: k6989586621679025113) = KindOf a6989586621679025114
data (~>@#@$) a6989586621679023255
infixr 0 ~>@#@$
data (~>@#@$$) (a6989586621679023255 :: Type) b6989586621679023256
infixr 0 ~>@#@$$
type (~>@#@$$$) (a6989586621679023255 :: Type) (b6989586621679023256 :: Type) = (~>) a6989586621679023255 b6989586621679023256
data ApplySym0 :: forall k16989586621679023252 k26989586621679023251. (~>) ((~>) k16989586621679023252 k26989586621679023251) ((~>) k16989586621679023252 k26989586621679023251)
data ApplySym1 (f6989586621679023253 :: (~>) k16989586621679023252 k26989586621679023251) :: (~>) k16989586621679023252 k26989586621679023251
type ApplySym2 (f6989586621679023253 :: (~>) k16989586621679023252 k26989586621679023251) (x6989586621679023254 :: k16989586621679023252) = Apply f6989586621679023253 x6989586621679023254
data (@@@#@$) a6989586621679023249
infixl 9 @@@#@$
data (@@@#@$$) (a6989586621679023249 :: (~>) k16989586621679029429 k6989586621679029427) b6989586621679023250
infixl 9 @@@#@$$
type (@@@#@$$$) (a6989586621679023249 :: (~>) k16989586621679029429 k6989586621679029427) (b6989586621679023250 :: k16989586621679029429) = (@@) a6989586621679023249 b6989586621679023250
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.@@@#@$)
instance forall k16989586621679029429 k6989586621679029427 (a6989586621679023249 :: k16989586621679029429 Data.Singletons.Internal.~> k6989586621679029427). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.@@@#@$$) a6989586621679023249)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.ApplySym0
instance forall k16989586621679023252 k26989586621679023251 (f6989586621679023253 :: k16989586621679023252 Data.Singletons.Internal.~> k26989586621679023251). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.ApplySym1 f6989586621679023253)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.~>@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.~>@#@$$) a6989586621679023255)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.KindOfSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.SameKindSym0
instance forall k6989586621679025110 (a6989586621679025111 :: k6989586621679025110). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.SameKindSym1 a6989586621679025111)
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_a1zcK => POrd (a_a1zcK :: Type) where {
    type family Compare (arg_a1zeg :: a_a1zcK) (arg_a1zeh :: a_a1zcK) :: Ordering;
    type family (<) (arg_a1zek :: a_a1zcK) (arg_a1zel :: a_a1zcK) :: Bool;
    type family (<=) (arg_a1zeo :: a_a1zcK) (arg_a1zep :: a_a1zcK) :: Bool;
    type family (>) (arg_a1zes :: a_a1zcK) (arg_a1zet :: a_a1zcK) :: Bool;
    type family (>=) (arg_a1zew :: a_a1zcK) (arg_a1zex :: a_a1zcK) :: Bool;
    type family Max (arg_a1zeA :: a_a1zcK) (arg_a1zeB :: a_a1zcK) :: a_a1zcK;
    type family Min (arg_a1zeE :: a_a1zcK) (arg_a1zeF :: a_a1zcK) :: a_a1zcK;
    type Compare a_a1zf0 a_a1zf1 = Apply (Apply Compare_6989586621679383592Sym0 a_a1zf0) a_a1zf1;
    type (<) a_a1zfi a_a1zfj = Apply (Apply TFHelper_6989586621679383610Sym0 a_a1zfi) a_a1zfj;
    type (<=) a_a1zfA a_a1zfB = Apply (Apply TFHelper_6989586621679383628Sym0 a_a1zfA) a_a1zfB;
    type (>) a_a1zfS a_a1zfT = Apply (Apply TFHelper_6989586621679383646Sym0 a_a1zfS) a_a1zfT;
    type (>=) a_a1zga a_a1zgb = Apply (Apply TFHelper_6989586621679383664Sym0 a_a1zga) a_a1zgb;
    type Max a_a1zgs a_a1zgt = Apply (Apply Max_6989586621679383682Sym0 a_a1zgs) a_a1zgt;
    type Min a_a1zgK a_a1zgL = Apply (Apply Min_6989586621679383700Sym0 a_a1zgK) a_a1zgL;
}
infix 4 >=
infix 4 >
infix 4 <
infix 4 <=
class SEq a_a1zcK => SOrd a_a1zcK
sCompare :: forall (t_a1zgZ :: a_a1zcK) (t_a1zh0 :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zgZ -> Sing t_a1zh0 -> Sing (Apply (Apply CompareSym0 t_a1zgZ) t_a1zh0 :: Ordering)
(%<) :: forall (t_a1zh3 :: a_a1zcK) (t_a1zh4 :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zh3 -> Sing t_a1zh4 -> Sing (Apply (Apply (<@#@$) t_a1zh3) t_a1zh4 :: Bool)
(%<=) :: forall (t_a1zh7 :: a_a1zcK) (t_a1zh8 :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zh7 -> Sing t_a1zh8 -> Sing (Apply (Apply (<=@#@$) t_a1zh7) t_a1zh8 :: Bool)
(%>) :: forall (t_a1zhb :: a_a1zcK) (t_a1zhc :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zhb -> Sing t_a1zhc -> Sing (Apply (Apply (>@#@$) t_a1zhb) t_a1zhc :: Bool)
(%>=) :: forall (t_a1zhf :: a_a1zcK) (t_a1zhg :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zhf -> Sing t_a1zhg -> Sing (Apply (Apply (>=@#@$) t_a1zhf) t_a1zhg :: Bool)
sMax :: forall (t_a1zhj :: a_a1zcK) (t_a1zhk :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zhj -> Sing t_a1zhk -> Sing (Apply (Apply MaxSym0 t_a1zhj) t_a1zhk :: a_a1zcK)
sMin :: forall (t_a1zhn :: a_a1zcK) (t_a1zho :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zhn -> Sing t_a1zho -> Sing (Apply (Apply MinSym0 t_a1zhn) t_a1zho :: a_a1zcK)
sCompare :: forall (t_a1zgZ :: a_a1zcK) (t_a1zh0 :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply CompareSym0 t_a1zgZ) t_a1zh0 :: Ordering) ~ Apply (Apply Compare_6989586621679383592Sym0 t_a1zgZ) t_a1zh0) => Sing t_a1zgZ -> Sing t_a1zh0 -> Sing (Apply (Apply CompareSym0 t_a1zgZ) t_a1zh0 :: Ordering)
(%<) :: forall (t_a1zh3 :: a_a1zcK) (t_a1zh4 :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply (<@#@$) t_a1zh3) t_a1zh4 :: Bool) ~ Apply (Apply TFHelper_6989586621679383610Sym0 t_a1zh3) t_a1zh4) => Sing t_a1zh3 -> Sing t_a1zh4 -> Sing (Apply (Apply (<@#@$) t_a1zh3) t_a1zh4 :: Bool)
(%<=) :: forall (t_a1zh7 :: a_a1zcK) (t_a1zh8 :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply (<=@#@$) t_a1zh7) t_a1zh8 :: Bool) ~ Apply (Apply TFHelper_6989586621679383628Sym0 t_a1zh7) t_a1zh8) => Sing t_a1zh7 -> Sing t_a1zh8 -> Sing (Apply (Apply (<=@#@$) t_a1zh7) t_a1zh8 :: Bool)
(%>) :: forall (t_a1zhb :: a_a1zcK) (t_a1zhc :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply (>@#@$) t_a1zhb) t_a1zhc :: Bool) ~ Apply (Apply TFHelper_6989586621679383646Sym0 t_a1zhb) t_a1zhc) => Sing t_a1zhb -> Sing t_a1zhc -> Sing (Apply (Apply (>@#@$) t_a1zhb) t_a1zhc :: Bool)
(%>=) :: forall (t_a1zhf :: a_a1zcK) (t_a1zhg :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply (>=@#@$) t_a1zhf) t_a1zhg :: Bool) ~ Apply (Apply TFHelper_6989586621679383664Sym0 t_a1zhf) t_a1zhg) => Sing t_a1zhf -> Sing t_a1zhg -> Sing (Apply (Apply (>=@#@$) t_a1zhf) t_a1zhg :: Bool)
sMax :: forall (t_a1zhj :: a_a1zcK) (t_a1zhk :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply MaxSym0 t_a1zhj) t_a1zhk :: a_a1zcK) ~ Apply (Apply Max_6989586621679383682Sym0 t_a1zhj) t_a1zhk) => Sing t_a1zhj -> Sing t_a1zhk -> Sing (Apply (Apply MaxSym0 t_a1zhj) t_a1zhk :: a_a1zcK)
sMin :: forall (t_a1zhn :: a_a1zcK) (t_a1zho :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply MinSym0 t_a1zhn) t_a1zho :: a_a1zcK) ~ Apply (Apply Min_6989586621679383700Sym0 t_a1zhn) t_a1zho) => Sing t_a1zhn -> Sing t_a1zho -> Sing (Apply (Apply MinSym0 t_a1zhn) t_a1zho :: a_a1zcK)
infix 4 %<=
infix 4 %<
infix 4 %>
infix 4 %>=
type family ThenCmp (a_a1BWb :: Ordering) (a_a1BWc :: Ordering) :: Ordering
sThenCmp :: forall (t_a1BWg :: Ordering) (t_a1BWh :: Ordering). Sing t_a1BWg -> Sing t_a1BWh -> Sing (Apply (Apply ThenCmpSym0 t_a1BWg) t_a1BWh :: 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_a336a :: Type) where {
    type family MinBound :: a_a336a;
    type family MaxBound :: a_a336a;
}
class SBounded a_a336a
sMinBound :: SBounded a_a336a => Sing (MinBoundSym0 :: a_a336a)
sMaxBound :: SBounded a_a336a => Sing (MaxBoundSym0 :: a_a336a)
class PEnum (a_a34c4 :: Type) where {
    type family ToEnum (arg_a34gI :: Nat) :: a_a34c4;
    type family FromEnum (arg_a34gK :: a_a34c4) :: Nat;
    type Succ a_a34h7 = Apply Succ_6989586621679741214Sym0 a_a34h7;
    type Pred a_a34hg = Apply Pred_6989586621679741223Sym0 a_a34hg;
    type EnumFromTo a_a34hq a_a34hr = Apply (Apply EnumFromTo_6989586621679741234Sym0 a_a34hq) a_a34hr;
    type EnumFromThenTo a_a34hF a_a34hG a_a34hH = Apply (Apply (Apply EnumFromThenTo_6989586621679741250Sym0 a_a34hF) a_a34hG) a_a34hH;
}
class SEnum a_a34c4
sToEnum :: forall (t_a34jG :: Nat). SEnum a_a34c4 => Sing t_a34jG -> Sing (Apply ToEnumSym0 t_a34jG :: a_a34c4)
sFromEnum :: forall (t_a34jI :: a_a34c4). SEnum a_a34c4 => Sing t_a34jI -> Sing (Apply FromEnumSym0 t_a34jI :: Nat)
class PShow (a_a5eRN :: Type) where {
    type family ShowsPrec (arg_a5fnf :: Nat) (arg_a5fng :: a_a5eRN) (arg_a5fnh :: Symbol) :: Symbol;
    type family Show_ (arg_a5fnl :: a_a5eRN) :: Symbol;
    type family ShowList (arg_a5fnn :: [a_a5eRN]) (arg_a5fno :: Symbol) :: Symbol;
    type ShowsPrec a_a5fnz a_a5fnA a_a5fnB = Apply (Apply (Apply ShowsPrec_6989586621680260556Sym0 a_a5fnz) a_a5fnA) a_a5fnB;
    type Show_ a_a5fnK = Apply Show__6989586621680260565Sym0 a_a5fnK;
    type ShowList a_a5fnU a_a5fnV = Apply (Apply ShowList_6989586621680260576Sym0 a_a5fnU) a_a5fnV;
}
class SShow a_a5eRN
sShowsPrec :: forall (t_a5fro :: Nat) (t_a5frp :: a_a5eRN) (t_a5frq :: Symbol). SShow a_a5eRN => Sing t_a5fro -> Sing t_a5frp -> Sing t_a5frq -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5fro) t_a5frp) t_a5frq :: Symbol)
sShow_ :: forall (t_a5fru :: a_a5eRN). SShow a_a5eRN => Sing t_a5fru -> Sing (Apply Show_Sym0 t_a5fru :: Symbol)
sShowList :: forall (t_a5frw :: [a_a5eRN]) (t_a5frx :: Symbol). SShow a_a5eRN => Sing t_a5frw -> Sing t_a5frx -> Sing (Apply (Apply ShowListSym0 t_a5frw) t_a5frx :: Symbol)
sShowsPrec :: forall (t_a5fro :: Nat) (t_a5frp :: a_a5eRN) (t_a5frq :: Symbol). (SShow a_a5eRN, (Apply (Apply (Apply ShowsPrecSym0 t_a5fro) t_a5frp) t_a5frq :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621680260556Sym0 t_a5fro) t_a5frp) t_a5frq) => Sing t_a5fro -> Sing t_a5frp -> Sing t_a5frq -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5fro) t_a5frp) t_a5frq :: Symbol)
sShow_ :: forall (t_a5fru :: a_a5eRN). (SShow a_a5eRN, (Apply Show_Sym0 t_a5fru :: Symbol) ~ Apply Show__6989586621680260565Sym0 t_a5fru) => Sing t_a5fru -> Sing (Apply Show_Sym0 t_a5fru :: Symbol)
sShowList :: forall (t_a5frw :: [a_a5eRN]) (t_a5frx :: Symbol). (SShow a_a5eRN, (Apply (Apply ShowListSym0 t_a5frw) t_a5frx :: Symbol) ~ Apply (Apply ShowList_6989586621680260576Sym0 t_a5frw) t_a5frx) => Sing t_a5frw -> Sing t_a5frx -> Sing (Apply (Apply ShowListSym0 t_a5frw) t_a5frx :: Symbol)
type family ShowString (a_a5flW :: Symbol) (a_a5flX :: Symbol) :: Symbol
sShowString :: forall (t_a5fqz :: Symbol) (t_a5fqA :: Symbol). Sing t_a5fqz -> Sing t_a5fqA -> Sing (Apply (Apply ShowStringSym0 t_a5fqz) t_a5fqA :: Symbol)
type family ShowParen (a_a5fmh :: Bool) (a_a5fmi :: (~>) Symbol Symbol) (a_a5fmj :: Symbol) :: Symbol
sShowParen :: forall (t_a5fqJ :: Bool) (t_a5fqK :: (~>) Symbol Symbol) (t_a5fqL :: Symbol). Sing t_a5fqJ -> Sing t_a5fqK -> Sing t_a5fqL -> Sing (Apply (Apply (Apply ShowParenSym0 t_a5fqJ) t_a5fqK) t_a5fqL :: Symbol)
type family ShowSpace (a_a5flJ :: Symbol) :: Symbol
sShowSpace :: forall (t_a5fqx :: Symbol). Sing t_a5fqx -> Sing (Apply ShowSpaceSym0 t_a5fqx :: Symbol)
type family ShowChar (a_a5fmb :: Symbol) (a_a5fmc :: Symbol) :: Symbol
sShowChar :: forall (t_a5fqF :: Symbol) (t_a5fqG :: Symbol). Sing t_a5fqF -> Sing t_a5fqG -> Sing (Apply (Apply ShowCharSym0 t_a5fqF) t_a5fqG :: Symbol)
type family ShowCommaSpace (a_a5fm4 :: Symbol) :: Symbol
sShowCommaSpace :: forall (t_a5fqD :: Symbol). Sing t_a5fqD -> Sing (Apply ShowCommaSpaceSym0 t_a5fqD :: Symbol)
class PFunctor (f_a2ftT :: Type -> Type) where {
    type family Fmap (arg_a2fAf :: (~>) a_a2ftU b_a2ftV) (arg_a2fAg :: f_a2ftT a_a2ftU) :: f_a2ftT b_a2ftV;
    type family (<$) (arg_a2fAj :: a_a2ftW) (arg_a2fAk :: f_a2ftT b_a2ftX) :: f_a2ftT a_a2ftW;
    type (<$) a_a2fAx a_a2fAy = Apply (Apply TFHelper_6989586621679546375Sym0 a_a2fAx) a_a2fAy;
}
infixl 4 <$
class SFunctor (f_a2ftT :: Type -> Type)
sFmap :: forall a_a2ftU b_a2ftV (t_a2fEG :: (~>) a_a2ftU b_a2ftV) (t_a2fEH :: f_a2ftT a_a2ftU). SFunctor f_a2ftT => Sing t_a2fEG -> Sing t_a2fEH -> Sing (Apply (Apply FmapSym0 t_a2fEG) t_a2fEH :: f_a2ftT b_a2ftV)
(%<$) :: forall a_a2ftW b_a2ftX (t_a2fEK :: a_a2ftW) (t_a2fEL :: f_a2ftT b_a2ftX). SFunctor f_a2ftT => Sing t_a2fEK -> Sing t_a2fEL -> Sing (Apply (Apply (<$@#@$) t_a2fEK) t_a2fEL :: f_a2ftT a_a2ftW)
(%<$) :: forall a_a2ftW b_a2ftX (t_a2fEK :: a_a2ftW) (t_a2fEL :: f_a2ftT b_a2ftX). (SFunctor f_a2ftT, (Apply (Apply (<$@#@$) t_a2fEK) t_a2fEL :: f_a2ftT a_a2ftW) ~ Apply (Apply TFHelper_6989586621679546375Sym0 t_a2fEK) t_a2fEL) => Sing t_a2fEK -> Sing t_a2fEL -> Sing (Apply (Apply (<$@#@$) t_a2fEK) t_a2fEL :: f_a2ftT a_a2ftW)
infixl 4 %<$
class PFoldable (t_a62g4 :: Type -> Type) where {
    type family Fold (arg_a62q7 :: t_a62g4 m_a62g5) :: m_a62g5;
    type family FoldMap (arg_a62q9 :: (~>) a_a62g7 m_a62g6) (arg_a62qa :: t_a62g4 a_a62g7) :: m_a62g6;
    type family Foldr (arg_a62qd :: (~>) a_a62g8 ((~>) b_a62g9 b_a62g9)) (arg_a62qe :: b_a62g9) (arg_a62qf :: t_a62g4 a_a62g8) :: b_a62g9;
    type family Foldr' (arg_a62qj :: (~>) a_a62ga ((~>) b_a62gb b_a62gb)) (arg_a62qk :: b_a62gb) (arg_a62ql :: t_a62g4 a_a62ga) :: b_a62gb;
    type family Foldl (arg_a62qp :: (~>) b_a62gc ((~>) a_a62gd b_a62gc)) (arg_a62qq :: b_a62gc) (arg_a62qr :: t_a62g4 a_a62gd) :: b_a62gc;
    type family Foldl' (arg_a62qv :: (~>) b_a62ge ((~>) a_a62gf b_a62ge)) (arg_a62qw :: b_a62ge) (arg_a62qx :: t_a62g4 a_a62gf) :: b_a62ge;
    type family Foldr1 (arg_a62qB :: (~>) a_a62gg ((~>) a_a62gg a_a62gg)) (arg_a62qC :: t_a62g4 a_a62gg) :: a_a62gg;
    type family Foldl1 (arg_a62qF :: (~>) a_a62gh ((~>) a_a62gh a_a62gh)) (arg_a62qG :: t_a62g4 a_a62gh) :: a_a62gh;
    type family ToList (arg_a62qJ :: t_a62g4 a_a62gi) :: [a_a62gi];
    type family Null (arg_a62qL :: t_a62g4 a_a62gj) :: Bool;
    type family Length (arg_a62qN :: t_a62g4 a_a62gk) :: Nat;
    type family Elem (arg_a62qP :: a_a62gl) (arg_a62qQ :: t_a62g4 a_a62gl) :: Bool;
    type family Maximum (arg_a62qT :: t_a62g4 a_a62gm) :: a_a62gm;
    type family Minimum (arg_a62qV :: t_a62g4 a_a62gn) :: a_a62gn;
    type family Sum (arg_a62qX :: t_a62g4 a_a62go) :: a_a62go;
    type family Product (arg_a62qZ :: t_a62g4 a_a62gp) :: a_a62gp;
    type Fold a_a62r6 = Apply Fold_6989586621680449129Sym0 a_a62r6;
    type FoldMap a_a62ri a_a62rj = Apply (Apply FoldMap_6989586621680449142Sym0 a_a62ri) a_a62rj;
    type Foldr a_a62rF a_a62rG a_a62rH = Apply (Apply (Apply Foldr_6989586621680449166Sym0 a_a62rF) a_a62rG) a_a62rH;
    type Foldr' a_a62s9 a_a62sa a_a62sb = Apply (Apply (Apply Foldr'_6989586621680449196Sym0 a_a62s9) a_a62sa) a_a62sb;
    type Foldl a_a62sy a_a62sz a_a62sA = Apply (Apply (Apply Foldl_6989586621680449221Sym0 a_a62sy) a_a62sz) a_a62sA;
    type Foldl' a_a62t2 a_a62t3 a_a62t4 = Apply (Apply (Apply Foldl'_6989586621680449251Sym0 a_a62t2) a_a62t3) a_a62t4;
    type Foldr1 a_a62tt a_a62tu = Apply (Apply Foldr1_6989586621680449277Sym0 a_a62tt) a_a62tu;
    type Foldl1 a_a62tS a_a62tT = Apply (Apply Foldl1_6989586621680449302Sym0 a_a62tS) a_a62tT;
    type ToList a_a62u3 = Apply ToList_6989586621680449312Sym0 a_a62u3;
    type Null a_a62uo = Apply Null_6989586621680449333Sym0 a_a62uo;
    type Length a_a62uK = Apply Length_6989586621680449355Sym0 a_a62uK;
    type Elem a_a62uY a_a62uZ = Apply (Apply Elem_6989586621680449370Sym0 a_a62uY) a_a62uZ;
    type Maximum a_a62vd = Apply Maximum_6989586621680449384Sym0 a_a62vd;
    type Minimum a_a62vq = Apply Minimum_6989586621680449397Sym0 a_a62vq;
    type Sum a_a62vD = Apply Sum_6989586621680449410Sym0 a_a62vD;
    type Product a_a62vQ = Apply Product_6989586621680449423Sym0 a_a62vQ;
}
class SFoldable (t_a62g4 :: Type -> Type)
sFold :: forall m_a62g5 (t_a62LY :: t_a62g4 m_a62g5). (SFoldable t_a62g4, SMonoid m_a62g5) => Sing t_a62LY -> Sing (Apply FoldSym0 t_a62LY :: m_a62g5)
sFoldMap :: forall m_a62g6 a_a62g7 (t_a62M0 :: (~>) a_a62g7 m_a62g6) (t_a62M1 :: t_a62g4 a_a62g7). (SFoldable t_a62g4, SMonoid m_a62g6) => Sing t_a62M0 -> Sing t_a62M1 -> Sing (Apply (Apply FoldMapSym0 t_a62M0) t_a62M1 :: m_a62g6)
sFoldr :: forall a_a62g8 b_a62g9 (t_a62M4 :: (~>) a_a62g8 ((~>) b_a62g9 b_a62g9)) (t_a62M5 :: b_a62g9) (t_a62M6 :: t_a62g4 a_a62g8). SFoldable t_a62g4 => Sing t_a62M4 -> Sing t_a62M5 -> Sing t_a62M6 -> Sing (Apply (Apply (Apply FoldrSym0 t_a62M4) t_a62M5) t_a62M6 :: b_a62g9)
sFoldr' :: forall a_a62ga b_a62gb (t_a62Ma :: (~>) a_a62ga ((~>) b_a62gb b_a62gb)) (t_a62Mb :: b_a62gb) (t_a62Mc :: t_a62g4 a_a62ga). SFoldable t_a62g4 => Sing t_a62Ma -> Sing t_a62Mb -> Sing t_a62Mc -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a62Ma) t_a62Mb) t_a62Mc :: b_a62gb)
sFoldl :: forall b_a62gc a_a62gd (t_a62Mg :: (~>) b_a62gc ((~>) a_a62gd b_a62gc)) (t_a62Mh :: b_a62gc) (t_a62Mi :: t_a62g4 a_a62gd). SFoldable t_a62g4 => Sing t_a62Mg -> Sing t_a62Mh -> Sing t_a62Mi -> Sing (Apply (Apply (Apply FoldlSym0 t_a62Mg) t_a62Mh) t_a62Mi :: b_a62gc)
sFoldl' :: forall b_a62ge a_a62gf (t_a62Mm :: (~>) b_a62ge ((~>) a_a62gf b_a62ge)) (t_a62Mn :: b_a62ge) (t_a62Mo :: t_a62g4 a_a62gf). SFoldable t_a62g4 => Sing t_a62Mm -> Sing t_a62Mn -> Sing t_a62Mo -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a62Mm) t_a62Mn) t_a62Mo :: b_a62ge)
sFoldr1 :: forall a_a62gg (t_a62Ms :: (~>) a_a62gg ((~>) a_a62gg a_a62gg)) (t_a62Mt :: t_a62g4 a_a62gg). SFoldable t_a62g4 => Sing t_a62Ms -> Sing t_a62Mt -> Sing (Apply (Apply Foldr1Sym0 t_a62Ms) t_a62Mt :: a_a62gg)
sFoldl1 :: forall a_a62gh (t_a62Mw :: (~>) a_a62gh ((~>) a_a62gh a_a62gh)) (t_a62Mx :: t_a62g4 a_a62gh). SFoldable t_a62g4 => Sing t_a62Mw -> Sing t_a62Mx -> Sing (Apply (Apply Foldl1Sym0 t_a62Mw) t_a62Mx :: a_a62gh)
sToList :: forall a_a62gi (t_a62MA :: t_a62g4 a_a62gi). SFoldable t_a62g4 => Sing t_a62MA -> Sing (Apply ToListSym0 t_a62MA :: [a_a62gi])
sNull :: forall a_a62gj (t_a62MC :: t_a62g4 a_a62gj). SFoldable t_a62g4 => Sing t_a62MC -> Sing (Apply NullSym0 t_a62MC :: Bool)
sLength :: forall a_a62gk (t_a62ME :: t_a62g4 a_a62gk). SFoldable t_a62g4 => Sing t_a62ME -> Sing (Apply LengthSym0 t_a62ME :: Nat)
sElem :: forall a_a62gl (t_a62MG :: a_a62gl) (t_a62MH :: t_a62g4 a_a62gl). (SFoldable t_a62g4, SEq a_a62gl) => Sing t_a62MG -> Sing t_a62MH -> Sing (Apply (Apply ElemSym0 t_a62MG) t_a62MH :: Bool)
sMaximum :: forall a_a62gm (t_a62MK :: t_a62g4 a_a62gm). (SFoldable t_a62g4, SOrd a_a62gm) => Sing t_a62MK -> Sing (Apply MaximumSym0 t_a62MK :: a_a62gm)
sMinimum :: forall a_a62gn (t_a62MM :: t_a62g4 a_a62gn). (SFoldable t_a62g4, SOrd a_a62gn) => Sing t_a62MM -> Sing (Apply MinimumSym0 t_a62MM :: a_a62gn)
sSum :: forall a_a62go (t_a62MO :: t_a62g4 a_a62go). (SFoldable t_a62g4, SNum a_a62go) => Sing t_a62MO -> Sing (Apply SumSym0 t_a62MO :: a_a62go)
sProduct :: forall a_a62gp (t_a62MQ :: t_a62g4 a_a62gp). (SFoldable t_a62g4, SNum a_a62gp) => Sing t_a62MQ -> Sing (Apply ProductSym0 t_a62MQ :: a_a62gp)
sFold :: forall m_a62g5 (t_a62LY :: t_a62g4 m_a62g5). (SFoldable t_a62g4, (Apply FoldSym0 t_a62LY :: m_a62g5) ~ Apply Fold_6989586621680449129Sym0 t_a62LY, SMonoid m_a62g5) => Sing t_a62LY -> Sing (Apply FoldSym0 t_a62LY :: m_a62g5)
sFoldMap :: forall m_a62g6 a_a62g7 (t_a62M0 :: (~>) a_a62g7 m_a62g6) (t_a62M1 :: t_a62g4 a_a62g7). (SFoldable t_a62g4, (Apply (Apply FoldMapSym0 t_a62M0) t_a62M1 :: m_a62g6) ~ Apply (Apply FoldMap_6989586621680449142Sym0 t_a62M0) t_a62M1, SMonoid m_a62g6) => Sing t_a62M0 -> Sing t_a62M1 -> Sing (Apply (Apply FoldMapSym0 t_a62M0) t_a62M1 :: m_a62g6)
sFoldr :: forall a_a62g8 b_a62g9 (t_a62M4 :: (~>) a_a62g8 ((~>) b_a62g9 b_a62g9)) (t_a62M5 :: b_a62g9) (t_a62M6 :: t_a62g4 a_a62g8). (SFoldable t_a62g4, (Apply (Apply (Apply FoldrSym0 t_a62M4) t_a62M5) t_a62M6 :: b_a62g9) ~ Apply (Apply (Apply Foldr_6989586621680449166Sym0 t_a62M4) t_a62M5) t_a62M6) => Sing t_a62M4 -> Sing t_a62M5 -> Sing t_a62M6 -> Sing (Apply (Apply (Apply FoldrSym0 t_a62M4) t_a62M5) t_a62M6 :: b_a62g9)
sFoldr' :: forall a_a62ga b_a62gb (t_a62Ma :: (~>) a_a62ga ((~>) b_a62gb b_a62gb)) (t_a62Mb :: b_a62gb) (t_a62Mc :: t_a62g4 a_a62ga). (SFoldable t_a62g4, (Apply (Apply (Apply Foldr'Sym0 t_a62Ma) t_a62Mb) t_a62Mc :: b_a62gb) ~ Apply (Apply (Apply Foldr'_6989586621680449196Sym0 t_a62Ma) t_a62Mb) t_a62Mc) => Sing t_a62Ma -> Sing t_a62Mb -> Sing t_a62Mc -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a62Ma) t_a62Mb) t_a62Mc :: b_a62gb)
sFoldl :: forall b_a62gc a_a62gd (t_a62Mg :: (~>) b_a62gc ((~>) a_a62gd b_a62gc)) (t_a62Mh :: b_a62gc) (t_a62Mi :: t_a62g4 a_a62gd). (SFoldable t_a62g4, (Apply (Apply (Apply FoldlSym0 t_a62Mg) t_a62Mh) t_a62Mi :: b_a62gc) ~ Apply (Apply (Apply Foldl_6989586621680449221Sym0 t_a62Mg) t_a62Mh) t_a62Mi) => Sing t_a62Mg -> Sing t_a62Mh -> Sing t_a62Mi -> Sing (Apply (Apply (Apply FoldlSym0 t_a62Mg) t_a62Mh) t_a62Mi :: b_a62gc)
sFoldl' :: forall b_a62ge a_a62gf (t_a62Mm :: (~>) b_a62ge ((~>) a_a62gf b_a62ge)) (t_a62Mn :: b_a62ge) (t_a62Mo :: t_a62g4 a_a62gf). (SFoldable t_a62g4, (Apply (Apply (Apply Foldl'Sym0 t_a62Mm) t_a62Mn) t_a62Mo :: b_a62ge) ~ Apply (Apply (Apply Foldl'_6989586621680449251Sym0 t_a62Mm) t_a62Mn) t_a62Mo) => Sing t_a62Mm -> Sing t_a62Mn -> Sing t_a62Mo -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a62Mm) t_a62Mn) t_a62Mo :: b_a62ge)
sFoldr1 :: forall a_a62gg (t_a62Ms :: (~>) a_a62gg ((~>) a_a62gg a_a62gg)) (t_a62Mt :: t_a62g4 a_a62gg). (SFoldable t_a62g4, (Apply (Apply Foldr1Sym0 t_a62Ms) t_a62Mt :: a_a62gg) ~ Apply (Apply Foldr1_6989586621680449277Sym0 t_a62Ms) t_a62Mt) => Sing t_a62Ms -> Sing t_a62Mt -> Sing (Apply (Apply Foldr1Sym0 t_a62Ms) t_a62Mt :: a_a62gg)
sFoldl1 :: forall a_a62gh (t_a62Mw :: (~>) a_a62gh ((~>) a_a62gh a_a62gh)) (t_a62Mx :: t_a62g4 a_a62gh). (SFoldable t_a62g4, (Apply (Apply Foldl1Sym0 t_a62Mw) t_a62Mx :: a_a62gh) ~ Apply (Apply Foldl1_6989586621680449302Sym0 t_a62Mw) t_a62Mx) => Sing t_a62Mw -> Sing t_a62Mx -> Sing (Apply (Apply Foldl1Sym0 t_a62Mw) t_a62Mx :: a_a62gh)
sToList :: forall a_a62gi (t_a62MA :: t_a62g4 a_a62gi). (SFoldable t_a62g4, (Apply ToListSym0 t_a62MA :: [a_a62gi]) ~ Apply ToList_6989586621680449312Sym0 t_a62MA) => Sing t_a62MA -> Sing (Apply ToListSym0 t_a62MA :: [a_a62gi])
sNull :: forall a_a62gj (t_a62MC :: t_a62g4 a_a62gj). (SFoldable t_a62g4, (Apply NullSym0 t_a62MC :: Bool) ~ Apply Null_6989586621680449333Sym0 t_a62MC) => Sing t_a62MC -> Sing (Apply NullSym0 t_a62MC :: Bool)
sLength :: forall a_a62gk (t_a62ME :: t_a62g4 a_a62gk). (SFoldable t_a62g4, (Apply LengthSym0 t_a62ME :: Nat) ~ Apply Length_6989586621680449355Sym0 t_a62ME) => Sing t_a62ME -> Sing (Apply LengthSym0 t_a62ME :: Nat)
sElem :: forall a_a62gl (t_a62MG :: a_a62gl) (t_a62MH :: t_a62g4 a_a62gl). (SFoldable t_a62g4, (Apply (Apply ElemSym0 t_a62MG) t_a62MH :: Bool) ~ Apply (Apply Elem_6989586621680449370Sym0 t_a62MG) t_a62MH, SEq a_a62gl) => Sing t_a62MG -> Sing t_a62MH -> Sing (Apply (Apply ElemSym0 t_a62MG) t_a62MH :: Bool)
sMaximum :: forall a_a62gm (t_a62MK :: t_a62g4 a_a62gm). (SFoldable t_a62g4, (Apply MaximumSym0 t_a62MK :: a_a62gm) ~ Apply Maximum_6989586621680449384Sym0 t_a62MK, SOrd a_a62gm) => Sing t_a62MK -> Sing (Apply MaximumSym0 t_a62MK :: a_a62gm)
sMinimum :: forall a_a62gn (t_a62MM :: t_a62g4 a_a62gn). (SFoldable t_a62g4, (Apply MinimumSym0 t_a62MM :: a_a62gn) ~ Apply Minimum_6989586621680449397Sym0 t_a62MM, SOrd a_a62gn) => Sing t_a62MM -> Sing (Apply MinimumSym0 t_a62MM :: a_a62gn)
sSum :: forall a_a62go (t_a62MO :: t_a62g4 a_a62go). (SFoldable t_a62g4, (Apply SumSym0 t_a62MO :: a_a62go) ~ Apply Sum_6989586621680449410Sym0 t_a62MO, SNum a_a62go) => Sing t_a62MO -> Sing (Apply SumSym0 t_a62MO :: a_a62go)
sProduct :: forall a_a62gp (t_a62MQ :: t_a62g4 a_a62gp). (SFoldable t_a62g4, (Apply ProductSym0 t_a62MQ :: a_a62gp) ~ Apply Product_6989586621680449423Sym0 t_a62MQ, SNum a_a62gp) => Sing t_a62MQ -> Sing (Apply ProductSym0 t_a62MQ :: a_a62gp)
class PSemigroup a_a5wyY => PMonoid (a_a5wyY :: Type) where {
    type family Mempty :: a_a5wyY;
    type family Mappend (arg_a5wFb :: a_a5wyY) (arg_a5wFc :: a_a5wyY) :: a_a5wyY;
    type family Mconcat (arg_a5wFf :: [a_a5wyY]) :: a_a5wyY;
    type Mappend a_a5wFr a_a5wFs = Apply (Apply Mappend_6989586621680327011Sym0 a_a5wFr) a_a5wFs;
    type Mconcat a_a5wFC = Apply Mconcat_6989586621680327021Sym0 a_a5wFC;
}
class SSemigroup a_a5wyY => SMonoid a_a5wyY
sMempty :: SMonoid a_a5wyY => Sing (MemptySym0 :: a_a5wyY)
sMappend :: forall (t_a5wGw :: a_a5wyY) (t_a5wGx :: a_a5wyY). SMonoid a_a5wyY => Sing t_a5wGw -> Sing t_a5wGx -> Sing (Apply (Apply MappendSym0 t_a5wGw) t_a5wGx :: a_a5wyY)
sMconcat :: forall (t_a5wGA :: [a_a5wyY]). SMonoid a_a5wyY => Sing t_a5wGA -> Sing (Apply MconcatSym0 t_a5wGA :: a_a5wyY)
sMappend :: forall (t_a5wGw :: a_a5wyY) (t_a5wGx :: a_a5wyY). (SMonoid a_a5wyY, (Apply (Apply MappendSym0 t_a5wGw) t_a5wGx :: a_a5wyY) ~ Apply (Apply Mappend_6989586621680327011Sym0 t_a5wGw) t_a5wGx) => Sing t_a5wGw -> Sing t_a5wGx -> Sing (Apply (Apply MappendSym0 t_a5wGw) t_a5wGx :: a_a5wyY)
sMconcat :: forall (t_a5wGA :: [a_a5wyY]). (SMonoid a_a5wyY, (Apply MconcatSym0 t_a5wGA :: a_a5wyY) ~ Apply Mconcat_6989586621680327021Sym0 t_a5wGA) => Sing t_a5wGA -> Sing (Apply MconcatSym0 t_a5wGA :: a_a5wyY)
class (PFunctor t_a7hnn, PFoldable t_a7hnn) => PTraversable (t_a7hnn :: Type -> Type) where {
    type family Traverse (arg_a7hnz :: (~>) a_a7hnp (f_a7hno b_a7hnq)) (arg_a7hnA :: t_a7hnn a_a7hnp) :: f_a7hno (t_a7hnn b_a7hnq);
    type family SequenceA (arg_a7hnD :: t_a7hnn (f_a7hnr a_a7hns)) :: f_a7hnr (t_a7hnn a_a7hns);
    type family MapM (arg_a7hnF :: (~>) a_a7hnu (m_a7hnt b_a7hnv)) (arg_a7hnG :: t_a7hnn a_a7hnu) :: m_a7hnt (t_a7hnn b_a7hnv);
    type family Sequence (arg_a7hnJ :: t_a7hnn (m_a7hnw a_a7hnx)) :: m_a7hnw (t_a7hnn a_a7hnx);
    type Traverse a_a7hnT a_a7hnU = Apply (Apply Traverse_6989586621680744919Sym0 a_a7hnT) a_a7hnU;
    type SequenceA a_a7ho4 = Apply SequenceA_6989586621680744929Sym0 a_a7ho4;
    type MapM a_a7hoi a_a7hoj = Apply (Apply MapM_6989586621680744944Sym0 a_a7hoi) a_a7hoj;
    type Sequence a_a7hot = Apply Sequence_6989586621680744954Sym0 a_a7hot;
}
class (SFunctor t_a7hnn, SFoldable t_a7hnn) => STraversable (t_a7hnn :: Type -> Type)
sTraverse :: forall f_a7hno a_a7hnp b_a7hnq (t_a7hox :: (~>) a_a7hnp (f_a7hno b_a7hnq)) (t_a7hoy :: t_a7hnn a_a7hnp). (STraversable t_a7hnn, SApplicative f_a7hno) => Sing t_a7hox -> Sing t_a7hoy -> Sing (Apply (Apply TraverseSym0 t_a7hox) t_a7hoy :: f_a7hno (t_a7hnn b_a7hnq))
sSequenceA :: forall f_a7hnr a_a7hns (t_a7hoB :: t_a7hnn (f_a7hnr a_a7hns)). (STraversable t_a7hnn, SApplicative f_a7hnr) => Sing t_a7hoB -> Sing (Apply SequenceASym0 t_a7hoB :: f_a7hnr (t_a7hnn a_a7hns))
sMapM :: forall m_a7hnt a_a7hnu b_a7hnv (t_a7hoD :: (~>) a_a7hnu (m_a7hnt b_a7hnv)) (t_a7hoE :: t_a7hnn a_a7hnu). (STraversable t_a7hnn, SMonad m_a7hnt) => Sing t_a7hoD -> Sing t_a7hoE -> Sing (Apply (Apply MapMSym0 t_a7hoD) t_a7hoE :: m_a7hnt (t_a7hnn b_a7hnv))
sSequence :: forall m_a7hnw a_a7hnx (t_a7hoH :: t_a7hnn (m_a7hnw a_a7hnx)). (STraversable t_a7hnn, SMonad m_a7hnw) => Sing t_a7hoH -> Sing (Apply SequenceSym0 t_a7hoH :: m_a7hnw (t_a7hnn a_a7hnx))
sTraverse :: forall f_a7hno a_a7hnp b_a7hnq (t_a7hox :: (~>) a_a7hnp (f_a7hno b_a7hnq)) (t_a7hoy :: t_a7hnn a_a7hnp). (STraversable t_a7hnn, (Apply (Apply TraverseSym0 t_a7hox) t_a7hoy :: f_a7hno (t_a7hnn b_a7hnq)) ~ Apply (Apply Traverse_6989586621680744919Sym0 t_a7hox) t_a7hoy, SApplicative f_a7hno) => Sing t_a7hox -> Sing t_a7hoy -> Sing (Apply (Apply TraverseSym0 t_a7hox) t_a7hoy :: f_a7hno (t_a7hnn b_a7hnq))
sSequenceA :: forall f_a7hnr a_a7hns (t_a7hoB :: t_a7hnn (f_a7hnr a_a7hns)). (STraversable t_a7hnn, (Apply SequenceASym0 t_a7hoB :: f_a7hnr (t_a7hnn a_a7hns)) ~ Apply SequenceA_6989586621680744929Sym0 t_a7hoB, SApplicative f_a7hnr) => Sing t_a7hoB -> Sing (Apply SequenceASym0 t_a7hoB :: f_a7hnr (t_a7hnn a_a7hns))
sMapM :: forall m_a7hnt a_a7hnu b_a7hnv (t_a7hoD :: (~>) a_a7hnu (m_a7hnt b_a7hnv)) (t_a7hoE :: t_a7hnn a_a7hnu). (STraversable t_a7hnn, (Apply (Apply MapMSym0 t_a7hoD) t_a7hoE :: m_a7hnt (t_a7hnn b_a7hnv)) ~ Apply (Apply MapM_6989586621680744944Sym0 t_a7hoD) t_a7hoE, SMonad m_a7hnt) => Sing t_a7hoD -> Sing t_a7hoE -> Sing (Apply (Apply MapMSym0 t_a7hoD) t_a7hoE :: m_a7hnt (t_a7hnn b_a7hnv))
sSequence :: forall m_a7hnw a_a7hnx (t_a7hoH :: t_a7hnn (m_a7hnw a_a7hnx)). (STraversable t_a7hnn, (Apply SequenceSym0 t_a7hoH :: m_a7hnw (t_a7hnn a_a7hnx)) ~ Apply Sequence_6989586621680744954Sym0 t_a7hoH, SMonad m_a7hnw) => Sing t_a7hoH -> Sing (Apply SequenceSym0 t_a7hoH :: m_a7hnw (t_a7hnn a_a7hnx))
class PFunctor f_a2ftY => PApplicative (f_a2ftY :: Type -> Type) where {
    type family Pure (arg_a2fAD :: a_a2ftZ) :: f_a2ftY a_a2ftZ;
    type family (<*>) (arg_a2fAF :: f_a2ftY ((~>) a_a2fu0 b_a2fu1)) (arg_a2fAG :: f_a2ftY a_a2fu0) :: f_a2ftY b_a2fu1;
    type family LiftA2 (arg_a2fAJ :: (~>) a_a2fu2 ((~>) b_a2fu3 c_a2fu4)) (arg_a2fAK :: f_a2ftY a_a2fu2) (arg_a2fAL :: f_a2ftY b_a2fu3) :: f_a2ftY c_a2fu4;
    type family (*>) (arg_a2fAP :: f_a2ftY a_a2fu5) (arg_a2fAQ :: f_a2ftY b_a2fu6) :: f_a2ftY b_a2fu6;
    type family (<*) (arg_a2fAT :: f_a2ftY a_a2fu7) (arg_a2fAU :: f_a2ftY b_a2fu8) :: f_a2ftY a_a2fu7;
    type (<*>) a_a2fB7 a_a2fB8 = Apply (Apply TFHelper_6989586621679546411Sym0 a_a2fB7) a_a2fB8;
    type LiftA2 a_a2fBo a_a2fBp a_a2fBq = Apply (Apply (Apply LiftA2_6989586621679546429Sym0 a_a2fBo) a_a2fBp) a_a2fBq;
    type (*>) a_a2fBC a_a2fBD = Apply (Apply TFHelper_6989586621679546442Sym0 a_a2fBC) a_a2fBD;
    type (<*) a_a2fBS a_a2fBT = Apply (Apply TFHelper_6989586621679546458Sym0 a_a2fBS) a_a2fBT;
}
infixl 4 <*>
infixl 4 *>
infixl 4 <*
class SFunctor f_a2ftY => SApplicative (f_a2ftY :: Type -> Type)
sPure :: forall a_a2ftZ (t_a2fEQ :: a_a2ftZ). SApplicative f_a2ftY => Sing t_a2fEQ -> Sing (Apply PureSym0 t_a2fEQ :: f_a2ftY a_a2ftZ)
(%<*>) :: forall a_a2fu0 b_a2fu1 (t_a2fES :: f_a2ftY ((~>) a_a2fu0 b_a2fu1)) (t_a2fET :: f_a2ftY a_a2fu0). SApplicative f_a2ftY => Sing t_a2fES -> Sing t_a2fET -> Sing (Apply (Apply (<*>@#@$) t_a2fES) t_a2fET :: f_a2ftY b_a2fu1)
sLiftA2 :: forall a_a2fu2 b_a2fu3 c_a2fu4 (t_a2fEW :: (~>) a_a2fu2 ((~>) b_a2fu3 c_a2fu4)) (t_a2fEX :: f_a2ftY a_a2fu2) (t_a2fEY :: f_a2ftY b_a2fu3). SApplicative f_a2ftY => Sing t_a2fEW -> Sing t_a2fEX -> Sing t_a2fEY -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2fEW) t_a2fEX) t_a2fEY :: f_a2ftY c_a2fu4)
(%*>) :: forall a_a2fu5 b_a2fu6 (t_a2fF2 :: f_a2ftY a_a2fu5) (t_a2fF3 :: f_a2ftY b_a2fu6). SApplicative f_a2ftY => Sing t_a2fF2 -> Sing t_a2fF3 -> Sing (Apply (Apply (*>@#@$) t_a2fF2) t_a2fF3 :: f_a2ftY b_a2fu6)
(%<*) :: forall a_a2fu7 b_a2fu8 (t_a2fF6 :: f_a2ftY a_a2fu7) (t_a2fF7 :: f_a2ftY b_a2fu8). SApplicative f_a2ftY => Sing t_a2fF6 -> Sing t_a2fF7 -> Sing (Apply (Apply (<*@#@$) t_a2fF6) t_a2fF7 :: f_a2ftY a_a2fu7)
(%<*>) :: forall a_a2fu0 b_a2fu1 (t_a2fES :: f_a2ftY ((~>) a_a2fu0 b_a2fu1)) (t_a2fET :: f_a2ftY a_a2fu0). (SApplicative f_a2ftY, (Apply (Apply (<*>@#@$) t_a2fES) t_a2fET :: f_a2ftY b_a2fu1) ~ Apply (Apply TFHelper_6989586621679546411Sym0 t_a2fES) t_a2fET) => Sing t_a2fES -> Sing t_a2fET -> Sing (Apply (Apply (<*>@#@$) t_a2fES) t_a2fET :: f_a2ftY b_a2fu1)
sLiftA2 :: forall a_a2fu2 b_a2fu3 c_a2fu4 (t_a2fEW :: (~>) a_a2fu2 ((~>) b_a2fu3 c_a2fu4)) (t_a2fEX :: f_a2ftY a_a2fu2) (t_a2fEY :: f_a2ftY b_a2fu3). (SApplicative f_a2ftY, (Apply (Apply (Apply LiftA2Sym0 t_a2fEW) t_a2fEX) t_a2fEY :: f_a2ftY c_a2fu4) ~ Apply (Apply (Apply LiftA2_6989586621679546429Sym0 t_a2fEW) t_a2fEX) t_a2fEY) => Sing t_a2fEW -> Sing t_a2fEX -> Sing t_a2fEY -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2fEW) t_a2fEX) t_a2fEY :: f_a2ftY c_a2fu4)
(%*>) :: forall a_a2fu5 b_a2fu6 (t_a2fF2 :: f_a2ftY a_a2fu5) (t_a2fF3 :: f_a2ftY b_a2fu6). (SApplicative f_a2ftY, (Apply (Apply (*>@#@$) t_a2fF2) t_a2fF3 :: f_a2ftY b_a2fu6) ~ Apply (Apply TFHelper_6989586621679546442Sym0 t_a2fF2) t_a2fF3) => Sing t_a2fF2 -> Sing t_a2fF3 -> Sing (Apply (Apply (*>@#@$) t_a2fF2) t_a2fF3 :: f_a2ftY b_a2fu6)
(%<*) :: forall a_a2fu7 b_a2fu8 (t_a2fF6 :: f_a2ftY a_a2fu7) (t_a2fF7 :: f_a2ftY b_a2fu8). (SApplicative f_a2ftY, (Apply (Apply (<*@#@$) t_a2fF6) t_a2fF7 :: f_a2ftY a_a2fu7) ~ Apply (Apply TFHelper_6989586621679546458Sym0 t_a2fF6) t_a2fF7) => Sing t_a2fF6 -> Sing t_a2fF7 -> Sing (Apply (Apply (<*@#@$) t_a2fF6) t_a2fF7 :: f_a2ftY a_a2fu7)
infixl 4 %<*>
infixl 4 %*>
infixl 4 %<*
type family (:.) (a_a29dp :: (~>) b_a29aJ c_a29aK) (a_a29dq :: (~>) a_a29aL b_a29aJ) (a_a29dr :: a_a29aL) :: c_a29aK
infixr 9 :.
(%.) :: forall b_a29aJ c_a29aK a_a29aL (t_a29eW :: (~>) b_a29aJ c_a29aK) (t_a29eX :: (~>) a_a29aL b_a29aJ) (t_a29eY :: a_a29aL). Sing t_a29eW -> Sing t_a29eX -> Sing t_a29eY -> Sing (Apply (Apply (Apply (.@#@$) t_a29eW) t_a29eX) t_a29eY :: c_a29aK)
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 k06989586621679468915 k6989586621679468914. (~>) k06989586621679468915 k6989586621679468914
type ErrorSym1 (str6989586621679468916 :: k06989586621679468915) = Error str6989586621679468916

-- | 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 a6989586621679369249. (~>) a6989586621679369249 ((~>) a6989586621679369249 Bool)
infix 4 ==@#@$
data (==@#@$$) (x6989586621679369250 :: a6989586621679369249) :: (~>) a6989586621679369249 Bool
infix 4 ==@#@$$
type (==@#@$$$) (x6989586621679369250 :: a6989586621679369249) (y6989586621679369251 :: a6989586621679369249) = (==) x6989586621679369250 y6989586621679369251
data (>@#@$) :: forall a6989586621679383450. (~>) a6989586621679383450 ((~>) a6989586621679383450 Bool)
infix 4 >@#@$
data (>@#@$$) (arg6989586621679383556 :: a6989586621679383450) :: (~>) a6989586621679383450 Bool
infix 4 >@#@$$
type (>@#@$$$) (arg6989586621679383556 :: a6989586621679383450) (arg6989586621679383557 :: a6989586621679383450) = (>) arg6989586621679383556 arg6989586621679383557
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 (t6989586621679301671 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type). (~>) b3530822107858468866 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type))
type Tuple2Sym2 (t6989586621679301671 :: a3530822107858468865) (t6989586621679301672 :: b3530822107858468866) = '(t6989586621679301671, t6989586621679301672)
data Tuple3Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type))))
data Tuple3Sym1 (t6989586621679301702 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type)))
data Tuple3Sym2 (t6989586621679301702 :: (a3530822107858468865 :: Type)) (t6989586621679301703 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type). (~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type))
type Tuple3Sym3 (t6989586621679301702 :: a3530822107858468865) (t6989586621679301703 :: b3530822107858468866) (t6989586621679301704 :: c3530822107858468867) = '(t6989586621679301702, t6989586621679301703, t6989586621679301704)
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 (t6989586621679301749 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type))))
data Tuple4Sym2 (t6989586621679301749 :: (a3530822107858468865 :: Type)) (t6989586621679301750 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type)))
data Tuple4Sym3 (t6989586621679301749 :: (a3530822107858468865 :: Type)) (t6989586621679301750 :: (b3530822107858468866 :: Type)) (t6989586621679301751 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type). (~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type))
type Tuple4Sym4 (t6989586621679301749 :: a3530822107858468865) (t6989586621679301750 :: b3530822107858468866) (t6989586621679301751 :: c3530822107858468867) (t6989586621679301752 :: d3530822107858468868) = '(t6989586621679301749, t6989586621679301750, t6989586621679301751, t6989586621679301752)
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 (t6989586621679301814 :: (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 (t6989586621679301814 :: (a3530822107858468865 :: Type)) (t6989586621679301815 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type))))
data Tuple5Sym3 (t6989586621679301814 :: (a3530822107858468865 :: Type)) (t6989586621679301815 :: (b3530822107858468866 :: Type)) (t6989586621679301816 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type)))
data Tuple5Sym4 (t6989586621679301814 :: (a3530822107858468865 :: Type)) (t6989586621679301815 :: (b3530822107858468866 :: Type)) (t6989586621679301816 :: (c3530822107858468867 :: Type)) (t6989586621679301817 :: (d3530822107858468868 :: Type)) :: forall (e3530822107858468869 :: Type). (~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type))
type Tuple5Sym5 (t6989586621679301814 :: a3530822107858468865) (t6989586621679301815 :: b3530822107858468866) (t6989586621679301816 :: c3530822107858468867) (t6989586621679301817 :: d3530822107858468868) (t6989586621679301818 :: e3530822107858468869) = '(t6989586621679301814, t6989586621679301815, t6989586621679301816, t6989586621679301817, t6989586621679301818)
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 (t6989586621679301899 :: (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 (t6989586621679301899 :: (a3530822107858468865 :: Type)) (t6989586621679301900 :: (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 (t6989586621679301899 :: (a3530822107858468865 :: Type)) (t6989586621679301900 :: (b3530822107858468866 :: Type)) (t6989586621679301901 :: (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 (t6989586621679301899 :: (a3530822107858468865 :: Type)) (t6989586621679301900 :: (b3530822107858468866 :: Type)) (t6989586621679301901 :: (c3530822107858468867 :: Type)) (t6989586621679301902 :: (d3530822107858468868 :: Type)) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type)))
data Tuple6Sym5 (t6989586621679301899 :: (a3530822107858468865 :: Type)) (t6989586621679301900 :: (b3530822107858468866 :: Type)) (t6989586621679301901 :: (c3530822107858468867 :: Type)) (t6989586621679301902 :: (d3530822107858468868 :: Type)) (t6989586621679301903 :: (e3530822107858468869 :: Type)) :: forall (f3530822107858468870 :: Type). (~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type))
type Tuple6Sym6 (t6989586621679301899 :: a3530822107858468865) (t6989586621679301900 :: b3530822107858468866) (t6989586621679301901 :: c3530822107858468867) (t6989586621679301902 :: d3530822107858468868) (t6989586621679301903 :: e3530822107858468869) (t6989586621679301904 :: f3530822107858468870) = '(t6989586621679301899, t6989586621679301900, t6989586621679301901, t6989586621679301902, t6989586621679301903, t6989586621679301904)
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 (t6989586621679302006 :: (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 (t6989586621679302006 :: (a3530822107858468865 :: Type)) (t6989586621679302007 :: (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 (t6989586621679302006 :: (a3530822107858468865 :: Type)) (t6989586621679302007 :: (b3530822107858468866 :: Type)) (t6989586621679302008 :: (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 (t6989586621679302006 :: (a3530822107858468865 :: Type)) (t6989586621679302007 :: (b3530822107858468866 :: Type)) (t6989586621679302008 :: (c3530822107858468867 :: Type)) (t6989586621679302009 :: (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 (t6989586621679302006 :: (a3530822107858468865 :: Type)) (t6989586621679302007 :: (b3530822107858468866 :: Type)) (t6989586621679302008 :: (c3530822107858468867 :: Type)) (t6989586621679302009 :: (d3530822107858468868 :: Type)) (t6989586621679302010 :: (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 (t6989586621679302006 :: (a3530822107858468865 :: Type)) (t6989586621679302007 :: (b3530822107858468866 :: Type)) (t6989586621679302008 :: (c3530822107858468867 :: Type)) (t6989586621679302009 :: (d3530822107858468868 :: Type)) (t6989586621679302010 :: (e3530822107858468869 :: Type)) (t6989586621679302011 :: (f3530822107858468870 :: Type)) :: forall (g3530822107858468871 :: Type). (~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type))
type Tuple7Sym7 (t6989586621679302006 :: a3530822107858468865) (t6989586621679302007 :: b3530822107858468866) (t6989586621679302008 :: c3530822107858468867) (t6989586621679302009 :: d3530822107858468868) (t6989586621679302010 :: e3530822107858468869) (t6989586621679302011 :: f3530822107858468870) (t6989586621679302012 :: g3530822107858468871) = '(t6989586621679302006, t6989586621679302007, t6989586621679302008, t6989586621679302009, t6989586621679302010, t6989586621679302011, t6989586621679302012)
data CompareSym0 :: forall a6989586621679383450. (~>) a6989586621679383450 ((~>) a6989586621679383450 Ordering)
data CompareSym1 (arg6989586621679383544 :: a6989586621679383450) :: (~>) a6989586621679383450 Ordering
type CompareSym2 (arg6989586621679383544 :: a6989586621679383450) (arg6989586621679383545 :: a6989586621679383450) = Compare arg6989586621679383544 arg6989586621679383545
data ThenCmpSym0 :: (~>) Ordering ((~>) Ordering Ordering)
data ThenCmpSym1 (a6989586621679393955 :: Ordering) :: (~>) Ordering Ordering
type ThenCmpSym2 (a6989586621679393955 :: Ordering) (a6989586621679393956 :: Ordering) = ThenCmp a6989586621679393955 a6989586621679393956
data FoldlSym0 :: forall a6989586621680448453 b6989586621680448452 t6989586621680448444. (~>) ((~>) b6989586621680448452 ((~>) a6989586621680448453 b6989586621680448452)) ((~>) b6989586621680448452 ((~>) (t6989586621680448444 a6989586621680448453) b6989586621680448452))
data FoldlSym1 (arg6989586621680449085 :: (~>) b6989586621680448452 ((~>) a6989586621680448453 b6989586621680448452)) :: forall t6989586621680448444. (~>) b6989586621680448452 ((~>) (t6989586621680448444 a6989586621680448453) b6989586621680448452)
data FoldlSym2 (arg6989586621680449085 :: (~>) b6989586621680448452 ((~>) a6989586621680448453 b6989586621680448452)) (arg6989586621680449086 :: b6989586621680448452) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448453) b6989586621680448452
type FoldlSym3 (arg6989586621680449085 :: (~>) b6989586621680448452 ((~>) a6989586621680448453 b6989586621680448452)) (arg6989586621680449086 :: b6989586621680448452) (arg6989586621680449087 :: t6989586621680448444 a6989586621680448453) = Foldl arg6989586621680449085 arg6989586621680449086 arg6989586621680449087
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data ShowsPrecSym0 :: forall a6989586621680258583. (~>) Nat ((~>) a6989586621680258583 ((~>) Symbol Symbol))
data ShowsPrecSym1 (arg6989586621680260533 :: Nat) :: forall a6989586621680258583. (~>) a6989586621680258583 ((~>) Symbol Symbol)
data ShowsPrecSym2 (arg6989586621680260533 :: Nat) (arg6989586621680260534 :: a6989586621680258583) :: (~>) Symbol Symbol
type ShowsPrecSym3 (arg6989586621680260533 :: Nat) (arg6989586621680260534 :: a6989586621680258583) (arg6989586621680260535 :: Symbol) = ShowsPrec arg6989586621680260533 arg6989586621680260534 arg6989586621680260535
data ShowStringSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowStringSym1 (a6989586621680260452 :: Symbol) :: (~>) Symbol Symbol
type ShowStringSym2 (a6989586621680260452 :: Symbol) (a6989586621680260453 :: Symbol) = ShowString a6989586621680260452 a6989586621680260453
data ShowParenSym0 :: (~>) Bool ((~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol))
data ShowParenSym1 (a6989586621680260473 :: Bool) :: (~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol)
data ShowParenSym2 (a6989586621680260473 :: Bool) (a6989586621680260474 :: (~>) Symbol Symbol) :: (~>) Symbol Symbol
data ShowSpaceSym0 :: (~>) Symbol Symbol
type ShowSpaceSym1 (a6989586621680260439 :: Symbol) = ShowSpace a6989586621680260439
data ShowCharSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowCharSym1 (a6989586621680260467 :: Symbol) :: (~>) Symbol Symbol
type ShowCharSym2 (a6989586621680260467 :: Symbol) (a6989586621680260468 :: Symbol) = ShowChar a6989586621680260467 a6989586621680260468
data ShowCommaSpaceSym0 :: (~>) Symbol Symbol
type ShowCommaSpaceSym1 (a6989586621680260460 :: Symbol) = ShowCommaSpace a6989586621680260460
data FmapSym0 :: forall a6989586621679545962 b6989586621679545963 f6989586621679545961. (~>) ((~>) a6989586621679545962 b6989586621679545963) ((~>) (f6989586621679545961 a6989586621679545962) (f6989586621679545961 b6989586621679545963))
data FmapSym1 (arg6989586621679546355 :: (~>) a6989586621679545962 b6989586621679545963) :: forall f6989586621679545961. (~>) (f6989586621679545961 a6989586621679545962) (f6989586621679545961 b6989586621679545963)
type FmapSym2 (arg6989586621679546355 :: (~>) a6989586621679545962 b6989586621679545963) (arg6989586621679546356 :: f6989586621679545961 a6989586621679545962) = Fmap arg6989586621679546355 arg6989586621679546356
data (<$@#@$) :: forall a6989586621679545964 b6989586621679545965 f6989586621679545961. (~>) a6989586621679545964 ((~>) (f6989586621679545961 b6989586621679545965) (f6989586621679545961 a6989586621679545964))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679546359 :: a6989586621679545964) :: forall b6989586621679545965 f6989586621679545961. (~>) (f6989586621679545961 b6989586621679545965) (f6989586621679545961 a6989586621679545964)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679546359 :: a6989586621679545964) (arg6989586621679546360 :: f6989586621679545961 b6989586621679545965) = (<$) arg6989586621679546359 arg6989586621679546360
data FoldMapSym0 :: forall a6989586621680448447 m6989586621680448446 t6989586621680448444. (~>) ((~>) a6989586621680448447 m6989586621680448446) ((~>) (t6989586621680448444 a6989586621680448447) m6989586621680448446)
data FoldMapSym1 (arg6989586621680449069 :: (~>) a6989586621680448447 m6989586621680448446) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448447) m6989586621680448446
type FoldMapSym2 (arg6989586621680449069 :: (~>) a6989586621680448447 m6989586621680448446) (arg6989586621680449070 :: t6989586621680448444 a6989586621680448447) = FoldMap arg6989586621680449069 arg6989586621680449070
type MemptySym0 = Mempty
data MappendSym0 :: forall a6989586621680326608. (~>) a6989586621680326608 ((~>) a6989586621680326608 a6989586621680326608)
data MappendSym1 (arg6989586621680326993 :: a6989586621680326608) :: (~>) a6989586621680326608 a6989586621680326608
type MappendSym2 (arg6989586621680326993 :: a6989586621680326608) (arg6989586621680326994 :: a6989586621680326608) = Mappend arg6989586621680326993 arg6989586621680326994
data FoldrSym0 :: forall a6989586621680448448 b6989586621680448449 t6989586621680448444. (~>) ((~>) a6989586621680448448 ((~>) b6989586621680448449 b6989586621680448449)) ((~>) b6989586621680448449 ((~>) (t6989586621680448444 a6989586621680448448) b6989586621680448449))
data FoldrSym1 (arg6989586621680449073 :: (~>) a6989586621680448448 ((~>) b6989586621680448449 b6989586621680448449)) :: forall t6989586621680448444. (~>) b6989586621680448449 ((~>) (t6989586621680448444 a6989586621680448448) b6989586621680448449)
data FoldrSym2 (arg6989586621680449073 :: (~>) a6989586621680448448 ((~>) b6989586621680448449 b6989586621680448449)) (arg6989586621680449074 :: b6989586621680448449) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448448) b6989586621680448449
type FoldrSym3 (arg6989586621680449073 :: (~>) a6989586621680448448 ((~>) b6989586621680448449 b6989586621680448449)) (arg6989586621680449074 :: b6989586621680448449) (arg6989586621680449075 :: t6989586621680448444 a6989586621680448448) = Foldr arg6989586621680449073 arg6989586621680449074 arg6989586621680449075
data TraverseSym0 :: forall a6989586621680744887 b6989586621680744888 f6989586621680744886 t6989586621680744885. (~>) ((~>) a6989586621680744887 (f6989586621680744886 b6989586621680744888)) ((~>) (t6989586621680744885 a6989586621680744887) (f6989586621680744886 (t6989586621680744885 b6989586621680744888)))
data TraverseSym1 (arg6989586621680744897 :: (~>) a6989586621680744887 (f6989586621680744886 b6989586621680744888)) :: forall t6989586621680744885. (~>) (t6989586621680744885 a6989586621680744887) (f6989586621680744886 (t6989586621680744885 b6989586621680744888))
type TraverseSym2 (arg6989586621680744897 :: (~>) a6989586621680744887 (f6989586621680744886 b6989586621680744888)) (arg6989586621680744898 :: t6989586621680744885 a6989586621680744887) = Traverse arg6989586621680744897 arg6989586621680744898
data PureSym0 :: forall a6989586621679545967 f6989586621679545966. (~>) a6989586621679545967 (f6989586621679545966 a6989586621679545967)
type PureSym1 (arg6989586621679546379 :: a6989586621679545967) = Pure arg6989586621679546379
data (<*>@#@$) :: forall a6989586621679545968 b6989586621679545969 f6989586621679545966. (~>) (f6989586621679545966 ((~>) a6989586621679545968 b6989586621679545969)) ((~>) (f6989586621679545966 a6989586621679545968) (f6989586621679545966 b6989586621679545969))
infixl 4 <*>@#@$
data (<*>@#@$$) (arg6989586621679546381 :: f6989586621679545966 ((~>) a6989586621679545968 b6989586621679545969)) :: (~>) (f6989586621679545966 a6989586621679545968) (f6989586621679545966 b6989586621679545969)
infixl 4 <*>@#@$$
type (<*>@#@$$$) (arg6989586621679546381 :: f6989586621679545966 ((~>) a6989586621679545968 b6989586621679545969)) (arg6989586621679546382 :: f6989586621679545966 a6989586621679545968) = (<*>) arg6989586621679546381 arg6989586621679546382
data LiftA2Sym0 :: forall a6989586621679545970 b6989586621679545971 c6989586621679545972 f6989586621679545966. (~>) ((~>) a6989586621679545970 ((~>) b6989586621679545971 c6989586621679545972)) ((~>) (f6989586621679545966 a6989586621679545970) ((~>) (f6989586621679545966 b6989586621679545971) (f6989586621679545966 c6989586621679545972)))
data LiftA2Sym1 (arg6989586621679546385 :: (~>) a6989586621679545970 ((~>) b6989586621679545971 c6989586621679545972)) :: forall f6989586621679545966. (~>) (f6989586621679545966 a6989586621679545970) ((~>) (f6989586621679545966 b6989586621679545971) (f6989586621679545966 c6989586621679545972))
data LiftA2Sym2 (arg6989586621679546385 :: (~>) a6989586621679545970 ((~>) b6989586621679545971 c6989586621679545972)) (arg6989586621679546386 :: f6989586621679545966 a6989586621679545970) :: (~>) (f6989586621679545966 b6989586621679545971) (f6989586621679545966 c6989586621679545972)
type LiftA2Sym3 (arg6989586621679546385 :: (~>) a6989586621679545970 ((~>) b6989586621679545971 c6989586621679545972)) (arg6989586621679546386 :: f6989586621679545966 a6989586621679545970) (arg6989586621679546387 :: f6989586621679545966 b6989586621679545971) = LiftA2 arg6989586621679546385 arg6989586621679546386 arg6989586621679546387
data (.@#@$) :: forall a6989586621679521711 b6989586621679521709 c6989586621679521710. (~>) ((~>) b6989586621679521709 c6989586621679521710) ((~>) ((~>) a6989586621679521711 b6989586621679521709) ((~>) a6989586621679521711 c6989586621679521710))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679521875 :: (~>) b6989586621679521709 c6989586621679521710) :: forall a6989586621679521711. (~>) ((~>) a6989586621679521711 b6989586621679521709) ((~>) a6989586621679521711 c6989586621679521710)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679521875 :: (~>) b6989586621679521709 c6989586621679521710) (a6989586621679521876 :: (~>) a6989586621679521711 b6989586621679521709) :: (~>) a6989586621679521711 c6989586621679521710
infixr 9 .@#@$$$
type (.@#@$$$$) (a6989586621679521875 :: (~>) b6989586621679521709 c6989586621679521710) (a6989586621679521876 :: (~>) a6989586621679521711 b6989586621679521709) (a6989586621679521877 :: a6989586621679521711) = (:.) a6989586621679521875 a6989586621679521876 a6989586621679521877
data (:@#@$) :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 ((~>) [a3530822107858468865] [(a3530822107858468865 :: Type)])
infixr 5 :@#@$
data (:@#@$$) (t6989586621679301578 :: (a3530822107858468865 :: Type)) :: (~>) [a3530822107858468865] [(a3530822107858468865 :: Type)]
infixr 5 :@#@$$
type (:@#@$$$) (t6989586621679301578 :: a3530822107858468865) (t6989586621679301579 :: [a3530822107858468865]) =  '(:) t6989586621679301578 t6989586621679301579

-- | 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 (s6989586621681254413 :: Type). (~>) s6989586621681254413 (ErrorMessage' (s6989586621681254413 :: Type))
type TextSym1 (t6989586621681255199 :: s6989586621681254413) =  'Text t6989586621681255199
data ShowTypeSym0 :: forall (s6989586621681254413 :: Type) t6989586621681254414. (~>) t6989586621681254414 (ErrorMessage' (s6989586621681254413 :: Type))
type ShowTypeSym1 (t6989586621681255201 :: t6989586621681254414) =  'ShowType t6989586621681255201
data (:<>:@#@$) :: forall (s6989586621681254413 :: Type). (~>) (ErrorMessage' s6989586621681254413) ((~>) (ErrorMessage' s6989586621681254413) (ErrorMessage' (s6989586621681254413 :: Type)))
infixl 6 :<>:@#@$
data (:<>:@#@$$) (t6989586621681255203 :: ErrorMessage' (s6989586621681254413 :: Type)) :: (~>) (ErrorMessage' s6989586621681254413) (ErrorMessage' (s6989586621681254413 :: Type))
infixl 6 :<>:@#@$$
type (:<>:@#@$$$) (t6989586621681255203 :: ErrorMessage' s6989586621681254413) (t6989586621681255204 :: ErrorMessage' s6989586621681254413) =  '(:<>:) t6989586621681255203 t6989586621681255204
data (:$$:@#@$) :: forall (s6989586621681254413 :: Type). (~>) (ErrorMessage' s6989586621681254413) ((~>) (ErrorMessage' s6989586621681254413) (ErrorMessage' (s6989586621681254413 :: Type)))
infixl 5 :$$:@#@$
data (:$$:@#@$$) (t6989586621681255207 :: ErrorMessage' (s6989586621681254413 :: Type)) :: (~>) (ErrorMessage' s6989586621681254413) (ErrorMessage' (s6989586621681254413 :: Type))
infixl 5 :$$:@#@$$
type (:$$:@#@$$$) (t6989586621681255207 :: ErrorMessage' s6989586621681254413) (t6989586621681255208 :: ErrorMessage' s6989586621681254413) =  '(:$$:) t6989586621681255207 t6989586621681255208
data TypeErrorSym0 :: forall b6989586621681254403. (~>) PErrorMessage b6989586621681254403
type TypeErrorSym1 (a6989586621681254404 :: PErrorMessage) = TypeError a6989586621681254404
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 s6989586621681254413 (t6989586621681255207 :: Data.Singletons.TypeError.ErrorMessage' s6989586621681254413). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.TypeError.:$$:@#@$$) t6989586621681255207)
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 s6989586621681254413 (t6989586621681255203 :: Data.Singletons.TypeError.ErrorMessage' s6989586621681254413). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.TypeError.:<>:@#@$$) t6989586621681255203)
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_akdw b_akdx -> 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_a1zcK => POrd (a_a1zcK :: Type) where {
    type family Compare (arg_a1zeg :: a_a1zcK) (arg_a1zeh :: a_a1zcK) :: Ordering;
    type family (<) (arg_a1zek :: a_a1zcK) (arg_a1zel :: a_a1zcK) :: Bool;
    type family (<=) (arg_a1zeo :: a_a1zcK) (arg_a1zep :: a_a1zcK) :: Bool;
    type family (>) (arg_a1zes :: a_a1zcK) (arg_a1zet :: a_a1zcK) :: Bool;
    type family (>=) (arg_a1zew :: a_a1zcK) (arg_a1zex :: a_a1zcK) :: Bool;
    type family Max (arg_a1zeA :: a_a1zcK) (arg_a1zeB :: a_a1zcK) :: a_a1zcK;
    type family Min (arg_a1zeE :: a_a1zcK) (arg_a1zeF :: a_a1zcK) :: a_a1zcK;
    type Compare a_a1zf0 a_a1zf1 = Apply (Apply Compare_6989586621679383592Sym0 a_a1zf0) a_a1zf1;
    type (<) a_a1zfi a_a1zfj = Apply (Apply TFHelper_6989586621679383610Sym0 a_a1zfi) a_a1zfj;
    type (<=) a_a1zfA a_a1zfB = Apply (Apply TFHelper_6989586621679383628Sym0 a_a1zfA) a_a1zfB;
    type (>) a_a1zfS a_a1zfT = Apply (Apply TFHelper_6989586621679383646Sym0 a_a1zfS) a_a1zfT;
    type (>=) a_a1zga a_a1zgb = Apply (Apply TFHelper_6989586621679383664Sym0 a_a1zga) a_a1zgb;
    type Max a_a1zgs a_a1zgt = Apply (Apply Max_6989586621679383682Sym0 a_a1zgs) a_a1zgt;
    type Min a_a1zgK a_a1zgL = Apply (Apply Min_6989586621679383700Sym0 a_a1zgK) a_a1zgL;
}
infix 4 >=
infix 4 >
infix 4 <
infix 4 <=
class SEq a_a1zcK => SOrd a_a1zcK
sCompare :: forall (t_a1zgZ :: a_a1zcK) (t_a1zh0 :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zgZ -> Sing t_a1zh0 -> Sing (Apply (Apply CompareSym0 t_a1zgZ) t_a1zh0 :: Ordering)
(%<) :: forall (t_a1zh3 :: a_a1zcK) (t_a1zh4 :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zh3 -> Sing t_a1zh4 -> Sing (Apply (Apply (<@#@$) t_a1zh3) t_a1zh4 :: Bool)
(%<=) :: forall (t_a1zh7 :: a_a1zcK) (t_a1zh8 :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zh7 -> Sing t_a1zh8 -> Sing (Apply (Apply (<=@#@$) t_a1zh7) t_a1zh8 :: Bool)
(%>) :: forall (t_a1zhb :: a_a1zcK) (t_a1zhc :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zhb -> Sing t_a1zhc -> Sing (Apply (Apply (>@#@$) t_a1zhb) t_a1zhc :: Bool)
(%>=) :: forall (t_a1zhf :: a_a1zcK) (t_a1zhg :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zhf -> Sing t_a1zhg -> Sing (Apply (Apply (>=@#@$) t_a1zhf) t_a1zhg :: Bool)
sMax :: forall (t_a1zhj :: a_a1zcK) (t_a1zhk :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zhj -> Sing t_a1zhk -> Sing (Apply (Apply MaxSym0 t_a1zhj) t_a1zhk :: a_a1zcK)
sMin :: forall (t_a1zhn :: a_a1zcK) (t_a1zho :: a_a1zcK). SOrd a_a1zcK => Sing t_a1zhn -> Sing t_a1zho -> Sing (Apply (Apply MinSym0 t_a1zhn) t_a1zho :: a_a1zcK)
sCompare :: forall (t_a1zgZ :: a_a1zcK) (t_a1zh0 :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply CompareSym0 t_a1zgZ) t_a1zh0 :: Ordering) ~ Apply (Apply Compare_6989586621679383592Sym0 t_a1zgZ) t_a1zh0) => Sing t_a1zgZ -> Sing t_a1zh0 -> Sing (Apply (Apply CompareSym0 t_a1zgZ) t_a1zh0 :: Ordering)
(%<) :: forall (t_a1zh3 :: a_a1zcK) (t_a1zh4 :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply (<@#@$) t_a1zh3) t_a1zh4 :: Bool) ~ Apply (Apply TFHelper_6989586621679383610Sym0 t_a1zh3) t_a1zh4) => Sing t_a1zh3 -> Sing t_a1zh4 -> Sing (Apply (Apply (<@#@$) t_a1zh3) t_a1zh4 :: Bool)
(%<=) :: forall (t_a1zh7 :: a_a1zcK) (t_a1zh8 :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply (<=@#@$) t_a1zh7) t_a1zh8 :: Bool) ~ Apply (Apply TFHelper_6989586621679383628Sym0 t_a1zh7) t_a1zh8) => Sing t_a1zh7 -> Sing t_a1zh8 -> Sing (Apply (Apply (<=@#@$) t_a1zh7) t_a1zh8 :: Bool)
(%>) :: forall (t_a1zhb :: a_a1zcK) (t_a1zhc :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply (>@#@$) t_a1zhb) t_a1zhc :: Bool) ~ Apply (Apply TFHelper_6989586621679383646Sym0 t_a1zhb) t_a1zhc) => Sing t_a1zhb -> Sing t_a1zhc -> Sing (Apply (Apply (>@#@$) t_a1zhb) t_a1zhc :: Bool)
(%>=) :: forall (t_a1zhf :: a_a1zcK) (t_a1zhg :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply (>=@#@$) t_a1zhf) t_a1zhg :: Bool) ~ Apply (Apply TFHelper_6989586621679383664Sym0 t_a1zhf) t_a1zhg) => Sing t_a1zhf -> Sing t_a1zhg -> Sing (Apply (Apply (>=@#@$) t_a1zhf) t_a1zhg :: Bool)
sMax :: forall (t_a1zhj :: a_a1zcK) (t_a1zhk :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply MaxSym0 t_a1zhj) t_a1zhk :: a_a1zcK) ~ Apply (Apply Max_6989586621679383682Sym0 t_a1zhj) t_a1zhk) => Sing t_a1zhj -> Sing t_a1zhk -> Sing (Apply (Apply MaxSym0 t_a1zhj) t_a1zhk :: a_a1zcK)
sMin :: forall (t_a1zhn :: a_a1zcK) (t_a1zho :: a_a1zcK). (SOrd a_a1zcK, (Apply (Apply MinSym0 t_a1zhn) t_a1zho :: a_a1zcK) ~ Apply (Apply Min_6989586621679383700Sym0 t_a1zhn) t_a1zho) => Sing t_a1zhn -> Sing t_a1zho -> Sing (Apply (Apply MinSym0 t_a1zhn) t_a1zho :: a_a1zcK)
infix 4 %<=
infix 4 %<
infix 4 %>
infix 4 %>=
class SBounded a_a336a
sMinBound :: SBounded a_a336a => Sing (MinBoundSym0 :: a_a336a)
sMaxBound :: SBounded a_a336a => Sing (MaxBoundSym0 :: a_a336a)
class PBounded (a_a336a :: Type) where {
    type family MinBound :: a_a336a;
    type family MaxBound :: a_a336a;
}
type MaxBoundSym0 = MaxBound
type MinBoundSym0 = MinBound
class SEnum a_a34c4
sToEnum :: forall (t_a34jG :: Nat). SEnum a_a34c4 => Sing t_a34jG -> Sing (Apply ToEnumSym0 t_a34jG :: a_a34c4)
sFromEnum :: forall (t_a34jI :: a_a34c4). SEnum a_a34c4 => Sing t_a34jI -> Sing (Apply FromEnumSym0 t_a34jI :: Nat)
sEnumFromTo :: forall (t_a34jK :: a_a34c4) (t_a34jL :: a_a34c4). SEnum a_a34c4 => Sing t_a34jK -> Sing t_a34jL -> Sing (Apply (Apply EnumFromToSym0 t_a34jK) t_a34jL :: [a_a34c4])
sEnumFromThenTo :: forall (t_a34jO :: a_a34c4) (t_a34jP :: a_a34c4) (t_a34jQ :: a_a34c4). SEnum a_a34c4 => Sing t_a34jO -> Sing t_a34jP -> Sing t_a34jQ -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a34jO) t_a34jP) t_a34jQ :: [a_a34c4])
sEnumFromTo :: forall (t_a34jK :: a_a34c4) (t_a34jL :: a_a34c4). (SEnum a_a34c4, (Apply (Apply EnumFromToSym0 t_a34jK) t_a34jL :: [a_a34c4]) ~ Apply (Apply EnumFromTo_6989586621679741234Sym0 t_a34jK) t_a34jL) => Sing t_a34jK -> Sing t_a34jL -> Sing (Apply (Apply EnumFromToSym0 t_a34jK) t_a34jL :: [a_a34c4])
sEnumFromThenTo :: forall (t_a34jO :: a_a34c4) (t_a34jP :: a_a34c4) (t_a34jQ :: a_a34c4). (SEnum a_a34c4, (Apply (Apply (Apply EnumFromThenToSym0 t_a34jO) t_a34jP) t_a34jQ :: [a_a34c4]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679741250Sym0 t_a34jO) t_a34jP) t_a34jQ) => Sing t_a34jO -> Sing t_a34jP -> Sing t_a34jQ -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a34jO) t_a34jP) t_a34jQ :: [a_a34c4])
class PEnum (a_a34c4 :: Type) where {
    type family ToEnum (arg_a34gI :: Nat) :: a_a34c4;
    type family FromEnum (arg_a34gK :: a_a34c4) :: Nat;
    type family EnumFromTo (arg_a34gM :: a_a34c4) (arg_a34gN :: a_a34c4) :: [a_a34c4];
    type family EnumFromThenTo (arg_a34gQ :: a_a34c4) (arg_a34gR :: a_a34c4) (arg_a34gS :: a_a34c4) :: [a_a34c4];
    type Succ a_a34h7 = Apply Succ_6989586621679741214Sym0 a_a34h7;
    type Pred a_a34hg = Apply Pred_6989586621679741223Sym0 a_a34hg;
    type EnumFromTo a_a34hq a_a34hr = Apply (Apply EnumFromTo_6989586621679741234Sym0 a_a34hq) a_a34hr;
    type EnumFromThenTo a_a34hF a_a34hG a_a34hH = Apply (Apply (Apply EnumFromThenTo_6989586621679741250Sym0 a_a34hF) a_a34hG) a_a34hH;
}
data EnumFromThenToSym0 :: forall a6989586621679740900. (~>) a6989586621679740900 ((~>) a6989586621679740900 ((~>) a6989586621679740900 [a6989586621679740900]))
data EnumFromThenToSym1 (arg6989586621679741196 :: a6989586621679740900) :: (~>) a6989586621679740900 ((~>) a6989586621679740900 [a6989586621679740900])
data EnumFromThenToSym2 (arg6989586621679741196 :: a6989586621679740900) (arg6989586621679741197 :: a6989586621679740900) :: (~>) a6989586621679740900 [a6989586621679740900]
type EnumFromThenToSym3 (arg6989586621679741196 :: a6989586621679740900) (arg6989586621679741197 :: a6989586621679740900) (arg6989586621679741198 :: a6989586621679740900) = EnumFromThenTo arg6989586621679741196 arg6989586621679741197 arg6989586621679741198
data EnumFromToSym0 :: forall a6989586621679740900. (~>) a6989586621679740900 ((~>) a6989586621679740900 [a6989586621679740900])
data EnumFromToSym1 (arg6989586621679741192 :: a6989586621679740900) :: (~>) a6989586621679740900 [a6989586621679740900]
type EnumFromToSym2 (arg6989586621679741192 :: a6989586621679740900) (arg6989586621679741193 :: a6989586621679740900) = EnumFromTo arg6989586621679741192 arg6989586621679741193
data FromEnumSym0 :: forall a6989586621679740900. (~>) a6989586621679740900 Nat
type FromEnumSym1 (arg6989586621679741190 :: a6989586621679740900) = FromEnum arg6989586621679741190
data ToEnumSym0 :: forall a6989586621679740900. (~>) Nat a6989586621679740900
type ToEnumSym1 (arg6989586621679741188 :: Nat) = ToEnum arg6989586621679741188

-- | 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_a5eRN :: Type) where {
    type family ShowsPrec (arg_a5fnf :: Nat) (arg_a5fng :: a_a5eRN) (arg_a5fnh :: Symbol) :: Symbol;
    type family Show_ (arg_a5fnl :: a_a5eRN) :: Symbol;
    type family ShowList (arg_a5fnn :: [a_a5eRN]) (arg_a5fno :: Symbol) :: Symbol;
    type ShowsPrec a_a5fnz a_a5fnA a_a5fnB = Apply (Apply (Apply ShowsPrec_6989586621680260556Sym0 a_a5fnz) a_a5fnA) a_a5fnB;
    type Show_ a_a5fnK = Apply Show__6989586621680260565Sym0 a_a5fnK;
    type ShowList a_a5fnU a_a5fnV = Apply (Apply ShowList_6989586621680260576Sym0 a_a5fnU) a_a5fnV;
}
class SShow a_a5eRN
sShowsPrec :: forall (t_a5fro :: Nat) (t_a5frp :: a_a5eRN) (t_a5frq :: Symbol). SShow a_a5eRN => Sing t_a5fro -> Sing t_a5frp -> Sing t_a5frq -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5fro) t_a5frp) t_a5frq :: Symbol)
sShow_ :: forall (t_a5fru :: a_a5eRN). SShow a_a5eRN => Sing t_a5fru -> Sing (Apply Show_Sym0 t_a5fru :: Symbol)
sShowList :: forall (t_a5frw :: [a_a5eRN]) (t_a5frx :: Symbol). SShow a_a5eRN => Sing t_a5frw -> Sing t_a5frx -> Sing (Apply (Apply ShowListSym0 t_a5frw) t_a5frx :: Symbol)
sShowsPrec :: forall (t_a5fro :: Nat) (t_a5frp :: a_a5eRN) (t_a5frq :: Symbol). (SShow a_a5eRN, (Apply (Apply (Apply ShowsPrecSym0 t_a5fro) t_a5frp) t_a5frq :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621680260556Sym0 t_a5fro) t_a5frp) t_a5frq) => Sing t_a5fro -> Sing t_a5frp -> Sing t_a5frq -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5fro) t_a5frp) t_a5frq :: Symbol)
sShow_ :: forall (t_a5fru :: a_a5eRN). (SShow a_a5eRN, (Apply Show_Sym0 t_a5fru :: Symbol) ~ Apply Show__6989586621680260565Sym0 t_a5fru) => Sing t_a5fru -> Sing (Apply Show_Sym0 t_a5fru :: Symbol)
sShowList :: forall (t_a5frw :: [a_a5eRN]) (t_a5frx :: Symbol). (SShow a_a5eRN, (Apply (Apply ShowListSym0 t_a5frw) t_a5frx :: Symbol) ~ Apply (Apply ShowList_6989586621680260576Sym0 t_a5frw) t_a5frx) => Sing t_a5frw -> Sing t_a5frx -> Sing (Apply (Apply ShowListSym0 t_a5frw) t_a5frx :: 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_a5fn7 :: a_a5eRy) (a_a5fn8 :: Symbol) :: Symbol
sShows :: forall a_a5eRy (t_a5fqZ :: a_a5eRy) (t_a5fr0 :: Symbol). SShow a_a5eRy => Sing t_a5fqZ -> Sing t_a5fr0 -> Sing (Apply (Apply ShowsSym0 t_a5fqZ) t_a5fr0 :: Symbol)
type family ShowChar (a_a5fmb :: Symbol) (a_a5fmc :: Symbol) :: Symbol
sShowChar :: forall (t_a5fqF :: Symbol) (t_a5fqG :: Symbol). Sing t_a5fqF -> Sing t_a5fqG -> Sing (Apply (Apply ShowCharSym0 t_a5fqF) t_a5fqG :: Symbol)
type family ShowString (a_a5flW :: Symbol) (a_a5flX :: Symbol) :: Symbol
sShowString :: forall (t_a5fqz :: Symbol) (t_a5fqA :: Symbol). Sing t_a5fqz -> Sing t_a5fqA -> Sing (Apply (Apply ShowStringSym0 t_a5fqz) t_a5fqA :: Symbol)
type family ShowParen (a_a5fmh :: Bool) (a_a5fmi :: (~>) Symbol Symbol) (a_a5fmj :: Symbol) :: Symbol
sShowParen :: forall (t_a5fqJ :: Bool) (t_a5fqK :: (~>) Symbol Symbol) (t_a5fqL :: Symbol). Sing t_a5fqJ -> Sing t_a5fqK -> Sing t_a5fqL -> Sing (Apply (Apply (Apply ShowParenSym0 t_a5fqJ) t_a5fqK) t_a5fqL :: Symbol)
class PSemigroup (a_a3mhC :: Type) where {
    type family (<>) (arg_a3mpr :: a_a3mhC) (arg_a3mps :: a_a3mhC) :: a_a3mhC;
    type Sconcat a_a3mpM = Apply Sconcat_6989586621679810943Sym0 a_a3mpM;
}
infixr 6 <>
class SSemigroup a_a3mhC
(%<>) :: forall (t_a3mtf :: a_a3mhC) (t_a3mtg :: a_a3mhC). SSemigroup a_a3mhC => Sing t_a3mtf -> Sing t_a3mtg -> Sing (Apply (Apply (<>@#@$) t_a3mtf) t_a3mtg :: a_a3mhC)
infixr 6 %<>
class PSemigroup a_a5wyY => PMonoid (a_a5wyY :: Type) where {
    type family Mempty :: a_a5wyY;
    type family Mappend (arg_a5wFb :: a_a5wyY) (arg_a5wFc :: a_a5wyY) :: a_a5wyY;
    type family Mconcat (arg_a5wFf :: [a_a5wyY]) :: a_a5wyY;
    type Mappend a_a5wFr a_a5wFs = Apply (Apply Mappend_6989586621680327011Sym0 a_a5wFr) a_a5wFs;
    type Mconcat a_a5wFC = Apply Mconcat_6989586621680327021Sym0 a_a5wFC;
}
class SSemigroup a_a5wyY => SMonoid a_a5wyY
sMempty :: SMonoid a_a5wyY => Sing (MemptySym0 :: a_a5wyY)
sMappend :: forall (t_a5wGw :: a_a5wyY) (t_a5wGx :: a_a5wyY). SMonoid a_a5wyY => Sing t_a5wGw -> Sing t_a5wGx -> Sing (Apply (Apply MappendSym0 t_a5wGw) t_a5wGx :: a_a5wyY)
sMconcat :: forall (t_a5wGA :: [a_a5wyY]). SMonoid a_a5wyY => Sing t_a5wGA -> Sing (Apply MconcatSym0 t_a5wGA :: a_a5wyY)
sMappend :: forall (t_a5wGw :: a_a5wyY) (t_a5wGx :: a_a5wyY). (SMonoid a_a5wyY, (Apply (Apply MappendSym0 t_a5wGw) t_a5wGx :: a_a5wyY) ~ Apply (Apply Mappend_6989586621680327011Sym0 t_a5wGw) t_a5wGx) => Sing t_a5wGw -> Sing t_a5wGx -> Sing (Apply (Apply MappendSym0 t_a5wGw) t_a5wGx :: a_a5wyY)
sMconcat :: forall (t_a5wGA :: [a_a5wyY]). (SMonoid a_a5wyY, (Apply MconcatSym0 t_a5wGA :: a_a5wyY) ~ Apply Mconcat_6989586621680327021Sym0 t_a5wGA) => Sing t_a5wGA -> Sing (Apply MconcatSym0 t_a5wGA :: a_a5wyY)
class PFunctor (f_a2ftT :: Type -> Type) where {
    type family Fmap (arg_a2fAf :: (~>) a_a2ftU b_a2ftV) (arg_a2fAg :: f_a2ftT a_a2ftU) :: f_a2ftT b_a2ftV;
    type family (<$) (arg_a2fAj :: a_a2ftW) (arg_a2fAk :: f_a2ftT b_a2ftX) :: f_a2ftT a_a2ftW;
    type (<$) a_a2fAx a_a2fAy = Apply (Apply TFHelper_6989586621679546375Sym0 a_a2fAx) a_a2fAy;
}
infixl 4 <$
class SFunctor (f_a2ftT :: Type -> Type)
sFmap :: forall a_a2ftU b_a2ftV (t_a2fEG :: (~>) a_a2ftU b_a2ftV) (t_a2fEH :: f_a2ftT a_a2ftU). SFunctor f_a2ftT => Sing t_a2fEG -> Sing t_a2fEH -> Sing (Apply (Apply FmapSym0 t_a2fEG) t_a2fEH :: f_a2ftT b_a2ftV)
(%<$) :: forall a_a2ftW b_a2ftX (t_a2fEK :: a_a2ftW) (t_a2fEL :: f_a2ftT b_a2ftX). SFunctor f_a2ftT => Sing t_a2fEK -> Sing t_a2fEL -> Sing (Apply (Apply (<$@#@$) t_a2fEK) t_a2fEL :: f_a2ftT a_a2ftW)
(%<$) :: forall a_a2ftW b_a2ftX (t_a2fEK :: a_a2ftW) (t_a2fEL :: f_a2ftT b_a2ftX). (SFunctor f_a2ftT, (Apply (Apply (<$@#@$) t_a2fEK) t_a2fEL :: f_a2ftT a_a2ftW) ~ Apply (Apply TFHelper_6989586621679546375Sym0 t_a2fEK) t_a2fEL) => Sing t_a2fEK -> Sing t_a2fEL -> Sing (Apply (Apply (<$@#@$) t_a2fEK) t_a2fEL :: f_a2ftT a_a2ftW)
infixl 4 %<$
type family (<$>) (a_a2Xyp :: (~>) a_a2Xx7 b_a2Xx8) (a_a2Xyq :: f_a2Xx6 a_a2Xx7) :: f_a2Xx6 b_a2Xx8
infixl 4 <$>
(%<$>) :: forall f_a2Xx6 a_a2Xx7 b_a2Xx8 (t_a2XA0 :: (~>) a_a2Xx7 b_a2Xx8) (t_a2XA1 :: f_a2Xx6 a_a2Xx7). SFunctor f_a2Xx6 => Sing t_a2XA0 -> Sing t_a2XA1 -> Sing (Apply (Apply (<$>@#@$) t_a2XA0) t_a2XA1 :: f_a2Xx6 b_a2Xx8)
infixl 4 %<$>
class PFunctor f_a2ftY => PApplicative (f_a2ftY :: Type -> Type) where {
    type family Pure (arg_a2fAD :: a_a2ftZ) :: f_a2ftY a_a2ftZ;
    type family (<*>) (arg_a2fAF :: f_a2ftY ((~>) a_a2fu0 b_a2fu1)) (arg_a2fAG :: f_a2ftY a_a2fu0) :: f_a2ftY b_a2fu1;
    type family (*>) (arg_a2fAP :: f_a2ftY a_a2fu5) (arg_a2fAQ :: f_a2ftY b_a2fu6) :: f_a2ftY b_a2fu6;
    type family (<*) (arg_a2fAT :: f_a2ftY a_a2fu7) (arg_a2fAU :: f_a2ftY b_a2fu8) :: f_a2ftY a_a2fu7;
    type (<*>) a_a2fB7 a_a2fB8 = Apply (Apply TFHelper_6989586621679546411Sym0 a_a2fB7) a_a2fB8;
    type LiftA2 a_a2fBo a_a2fBp a_a2fBq = Apply (Apply (Apply LiftA2_6989586621679546429Sym0 a_a2fBo) a_a2fBp) a_a2fBq;
    type (*>) a_a2fBC a_a2fBD = Apply (Apply TFHelper_6989586621679546442Sym0 a_a2fBC) a_a2fBD;
    type (<*) a_a2fBS a_a2fBT = Apply (Apply TFHelper_6989586621679546458Sym0 a_a2fBS) a_a2fBT;
}
infixl 4 <*>
infixl 4 *>
infixl 4 <*
class SFunctor f_a2ftY => SApplicative (f_a2ftY :: Type -> Type)
sPure :: forall a_a2ftZ (t_a2fEQ :: a_a2ftZ). SApplicative f_a2ftY => Sing t_a2fEQ -> Sing (Apply PureSym0 t_a2fEQ :: f_a2ftY a_a2ftZ)
(%<*>) :: forall a_a2fu0 b_a2fu1 (t_a2fES :: f_a2ftY ((~>) a_a2fu0 b_a2fu1)) (t_a2fET :: f_a2ftY a_a2fu0). SApplicative f_a2ftY => Sing t_a2fES -> Sing t_a2fET -> Sing (Apply (Apply (<*>@#@$) t_a2fES) t_a2fET :: f_a2ftY b_a2fu1)
(%*>) :: forall a_a2fu5 b_a2fu6 (t_a2fF2 :: f_a2ftY a_a2fu5) (t_a2fF3 :: f_a2ftY b_a2fu6). SApplicative f_a2ftY => Sing t_a2fF2 -> Sing t_a2fF3 -> Sing (Apply (Apply (*>@#@$) t_a2fF2) t_a2fF3 :: f_a2ftY b_a2fu6)
(%<*) :: forall a_a2fu7 b_a2fu8 (t_a2fF6 :: f_a2ftY a_a2fu7) (t_a2fF7 :: f_a2ftY b_a2fu8). SApplicative f_a2ftY => Sing t_a2fF6 -> Sing t_a2fF7 -> Sing (Apply (Apply (<*@#@$) t_a2fF6) t_a2fF7 :: f_a2ftY a_a2fu7)
(%<*>) :: forall a_a2fu0 b_a2fu1 (t_a2fES :: f_a2ftY ((~>) a_a2fu0 b_a2fu1)) (t_a2fET :: f_a2ftY a_a2fu0). (SApplicative f_a2ftY, (Apply (Apply (<*>@#@$) t_a2fES) t_a2fET :: f_a2ftY b_a2fu1) ~ Apply (Apply TFHelper_6989586621679546411Sym0 t_a2fES) t_a2fET) => Sing t_a2fES -> Sing t_a2fET -> Sing (Apply (Apply (<*>@#@$) t_a2fES) t_a2fET :: f_a2ftY b_a2fu1)
(%*>) :: forall a_a2fu5 b_a2fu6 (t_a2fF2 :: f_a2ftY a_a2fu5) (t_a2fF3 :: f_a2ftY b_a2fu6). (SApplicative f_a2ftY, (Apply (Apply (*>@#@$) t_a2fF2) t_a2fF3 :: f_a2ftY b_a2fu6) ~ Apply (Apply TFHelper_6989586621679546442Sym0 t_a2fF2) t_a2fF3) => Sing t_a2fF2 -> Sing t_a2fF3 -> Sing (Apply (Apply (*>@#@$) t_a2fF2) t_a2fF3 :: f_a2ftY b_a2fu6)
(%<*) :: forall a_a2fu7 b_a2fu8 (t_a2fF6 :: f_a2ftY a_a2fu7) (t_a2fF7 :: f_a2ftY b_a2fu8). (SApplicative f_a2ftY, (Apply (Apply (<*@#@$) t_a2fF6) t_a2fF7 :: f_a2ftY a_a2fu7) ~ Apply (Apply TFHelper_6989586621679546458Sym0 t_a2fF6) t_a2fF7) => Sing t_a2fF6 -> Sing t_a2fF7 -> Sing (Apply (Apply (<*@#@$) t_a2fF6) t_a2fF7 :: f_a2ftY a_a2fu7)
infixl 4 %<*>
infixl 4 %*>
infixl 4 %<*
class PApplicative m_a2fum => PMonad (m_a2fum :: Type -> Type) where {
    type family (>>=) (arg_a2fBY :: m_a2fum a_a2fun) (arg_a2fBZ :: (~>) a_a2fun (m_a2fum b_a2fuo)) :: m_a2fum b_a2fuo;
    type family (>>) (arg_a2fC2 :: m_a2fum a_a2fup) (arg_a2fC3 :: m_a2fum b_a2fuq) :: m_a2fum b_a2fuq;
    type family Return (arg_a2fC6 :: a_a2fur) :: m_a2fum a_a2fur;
    type family Fail (arg_a2fC8 :: Symbol) :: m_a2fum a_a2fus;
    type (>>) a_a2fCq a_a2fCr = Apply (Apply TFHelper_6989586621679546492Sym0 a_a2fCq) a_a2fCr;
    type Return a_a2fCB = Apply Return_6989586621679546502Sym0 a_a2fCB;
    type Fail a_a2fCI = Apply Fail_6989586621679546509Sym0 a_a2fCI;
}
infixl 1 >>=
infixl 1 >>
class SApplicative m_a2fum => SMonad (m_a2fum :: Type -> Type)
(%>>=) :: forall a_a2fun b_a2fuo (t_a2fFh :: m_a2fum a_a2fun) (t_a2fFi :: (~>) a_a2fun (m_a2fum b_a2fuo)). SMonad m_a2fum => Sing t_a2fFh -> Sing t_a2fFi -> Sing (Apply (Apply (>>=@#@$) t_a2fFh) t_a2fFi :: m_a2fum b_a2fuo)
(%>>) :: forall a_a2fup b_a2fuq (t_a2fFl :: m_a2fum a_a2fup) (t_a2fFm :: m_a2fum b_a2fuq). SMonad m_a2fum => Sing t_a2fFl -> Sing t_a2fFm -> Sing (Apply (Apply (>>@#@$) t_a2fFl) t_a2fFm :: m_a2fum b_a2fuq)
sReturn :: forall a_a2fur (t_a2fFp :: a_a2fur). SMonad m_a2fum => Sing t_a2fFp -> Sing (Apply ReturnSym0 t_a2fFp :: m_a2fum a_a2fur)
sFail :: forall a_a2fus (t_a2fFr :: Symbol). SMonad m_a2fum => Sing t_a2fFr -> Sing (Apply FailSym0 t_a2fFr :: m_a2fum a_a2fus)
(%>>) :: forall a_a2fup b_a2fuq (t_a2fFl :: m_a2fum a_a2fup) (t_a2fFm :: m_a2fum b_a2fuq). (SMonad m_a2fum, (Apply (Apply (>>@#@$) t_a2fFl) t_a2fFm :: m_a2fum b_a2fuq) ~ Apply (Apply TFHelper_6989586621679546492Sym0 t_a2fFl) t_a2fFm) => Sing t_a2fFl -> Sing t_a2fFm -> Sing (Apply (Apply (>>@#@$) t_a2fFl) t_a2fFm :: m_a2fum b_a2fuq)
sReturn :: forall a_a2fur (t_a2fFp :: a_a2fur). (SMonad m_a2fum, (Apply ReturnSym0 t_a2fFp :: m_a2fum a_a2fur) ~ Apply Return_6989586621679546502Sym0 t_a2fFp) => Sing t_a2fFp -> Sing (Apply ReturnSym0 t_a2fFp :: m_a2fum a_a2fur)
sFail :: forall a_a2fus (t_a2fFr :: Symbol). (SMonad m_a2fum, (Apply FailSym0 t_a2fFr :: m_a2fum a_a2fus) ~ Apply Fail_6989586621679546509Sym0 t_a2fFr) => Sing t_a2fFr -> Sing (Apply FailSym0 t_a2fFr :: m_a2fum a_a2fus)
infixl 1 %>>=
infixl 1 %>>
type family MapM_ (a_a62oP :: (~>) a_a62fb (m_a62fa b_a62fc)) (a_a62oQ :: t_a62f9 a_a62fb) :: m_a62fa ()
sMapM_ :: forall t_a62f9 m_a62fa a_a62fb b_a62fc (t_a62KR :: (~>) a_a62fb (m_a62fa b_a62fc)) (t_a62KS :: t_a62f9 a_a62fb). (SFoldable t_a62f9, SMonad m_a62fa) => Sing t_a62KR -> Sing t_a62KS -> Sing (Apply (Apply MapM_Sym0 t_a62KR) t_a62KS :: m_a62fa ())
type family Sequence_ (a_a62oH :: t_a62eZ (m_a62f0 a_a62f1)) :: m_a62f0 ()
sSequence_ :: forall t_a62eZ m_a62f0 a_a62f1 (t_a62KN :: t_a62eZ (m_a62f0 a_a62f1)). (SFoldable t_a62eZ, SMonad m_a62f0) => Sing t_a62KN -> Sing (Apply Sequence_Sym0 t_a62KN :: m_a62f0 ())
type family (=<<) (a_a2fzu :: (~>) a_a2ft7 (m_a2ft6 b_a2ft8)) (a_a2fzv :: m_a2ft6 a_a2ft7) :: m_a2ft6 b_a2ft8
infixr 1 =<<
(%=<<) :: forall m_a2ft6 a_a2ft7 b_a2ft8 (t_a2fE0 :: (~>) a_a2ft7 (m_a2ft6 b_a2ft8)) (t_a2fE1 :: m_a2ft6 a_a2ft7). SMonad m_a2ft6 => Sing t_a2fE0 -> Sing t_a2fE1 -> Sing (Apply (Apply (=<<@#@$) t_a2fE0) t_a2fE1 :: m_a2ft6 b_a2ft8)
infixr 1 %=<<
class PFoldable (t_a62g4 :: Type -> Type) where {
    type family FoldMap (arg_a62q9 :: (~>) a_a62g7 m_a62g6) (arg_a62qa :: t_a62g4 a_a62g7) :: m_a62g6;
    type family Foldr (arg_a62qd :: (~>) a_a62g8 ((~>) b_a62g9 b_a62g9)) (arg_a62qe :: b_a62g9) (arg_a62qf :: t_a62g4 a_a62g8) :: b_a62g9;
    type family Foldl (arg_a62qp :: (~>) b_a62gc ((~>) a_a62gd b_a62gc)) (arg_a62qq :: b_a62gc) (arg_a62qr :: t_a62g4 a_a62gd) :: b_a62gc;
    type family Foldr1 (arg_a62qB :: (~>) a_a62gg ((~>) a_a62gg a_a62gg)) (arg_a62qC :: t_a62g4 a_a62gg) :: a_a62gg;
    type family Foldl1 (arg_a62qF :: (~>) a_a62gh ((~>) a_a62gh a_a62gh)) (arg_a62qG :: t_a62g4 a_a62gh) :: a_a62gh;
    type family Elem (arg_a62qP :: a_a62gl) (arg_a62qQ :: t_a62g4 a_a62gl) :: Bool;
    type family Maximum (arg_a62qT :: t_a62g4 a_a62gm) :: a_a62gm;
    type family Minimum (arg_a62qV :: t_a62g4 a_a62gn) :: a_a62gn;
    type family Sum (arg_a62qX :: t_a62g4 a_a62go) :: a_a62go;
    type family Product (arg_a62qZ :: t_a62g4 a_a62gp) :: a_a62gp;
    type Fold a_a62r6 = Apply Fold_6989586621680449129Sym0 a_a62r6;
    type FoldMap a_a62ri a_a62rj = Apply (Apply FoldMap_6989586621680449142Sym0 a_a62ri) a_a62rj;
    type Foldr a_a62rF a_a62rG a_a62rH = Apply (Apply (Apply Foldr_6989586621680449166Sym0 a_a62rF) a_a62rG) a_a62rH;
    type Foldr' a_a62s9 a_a62sa a_a62sb = Apply (Apply (Apply Foldr'_6989586621680449196Sym0 a_a62s9) a_a62sa) a_a62sb;
    type Foldl a_a62sy a_a62sz a_a62sA = Apply (Apply (Apply Foldl_6989586621680449221Sym0 a_a62sy) a_a62sz) a_a62sA;
    type Foldl' a_a62t2 a_a62t3 a_a62t4 = Apply (Apply (Apply Foldl'_6989586621680449251Sym0 a_a62t2) a_a62t3) a_a62t4;
    type Foldr1 a_a62tt a_a62tu = Apply (Apply Foldr1_6989586621680449277Sym0 a_a62tt) a_a62tu;
    type Foldl1 a_a62tS a_a62tT = Apply (Apply Foldl1_6989586621680449302Sym0 a_a62tS) a_a62tT;
    type ToList a_a62u3 = Apply ToList_6989586621680449312Sym0 a_a62u3;
    type Null a_a62uo = Apply Null_6989586621680449333Sym0 a_a62uo;
    type Length a_a62uK = Apply Length_6989586621680449355Sym0 a_a62uK;
    type Elem a_a62uY a_a62uZ = Apply (Apply Elem_6989586621680449370Sym0 a_a62uY) a_a62uZ;
    type Maximum a_a62vd = Apply Maximum_6989586621680449384Sym0 a_a62vd;
    type Minimum a_a62vq = Apply Minimum_6989586621680449397Sym0 a_a62vq;
    type Sum a_a62vD = Apply Sum_6989586621680449410Sym0 a_a62vD;
    type Product a_a62vQ = Apply Product_6989586621680449423Sym0 a_a62vQ;
}
class SFoldable (t_a62g4 :: Type -> Type)
sFoldMap :: forall m_a62g6 a_a62g7 (t_a62M0 :: (~>) a_a62g7 m_a62g6) (t_a62M1 :: t_a62g4 a_a62g7). (SFoldable t_a62g4, SMonoid m_a62g6) => Sing t_a62M0 -> Sing t_a62M1 -> Sing (Apply (Apply FoldMapSym0 t_a62M0) t_a62M1 :: m_a62g6)
sFoldr :: forall a_a62g8 b_a62g9 (t_a62M4 :: (~>) a_a62g8 ((~>) b_a62g9 b_a62g9)) (t_a62M5 :: b_a62g9) (t_a62M6 :: t_a62g4 a_a62g8). SFoldable t_a62g4 => Sing t_a62M4 -> Sing t_a62M5 -> Sing t_a62M6 -> Sing (Apply (Apply (Apply FoldrSym0 t_a62M4) t_a62M5) t_a62M6 :: b_a62g9)
sFoldl :: forall b_a62gc a_a62gd (t_a62Mg :: (~>) b_a62gc ((~>) a_a62gd b_a62gc)) (t_a62Mh :: b_a62gc) (t_a62Mi :: t_a62g4 a_a62gd). SFoldable t_a62g4 => Sing t_a62Mg -> Sing t_a62Mh -> Sing t_a62Mi -> Sing (Apply (Apply (Apply FoldlSym0 t_a62Mg) t_a62Mh) t_a62Mi :: b_a62gc)
sFoldr1 :: forall a_a62gg (t_a62Ms :: (~>) a_a62gg ((~>) a_a62gg a_a62gg)) (t_a62Mt :: t_a62g4 a_a62gg). SFoldable t_a62g4 => Sing t_a62Ms -> Sing t_a62Mt -> Sing (Apply (Apply Foldr1Sym0 t_a62Ms) t_a62Mt :: a_a62gg)
sFoldl1 :: forall a_a62gh (t_a62Mw :: (~>) a_a62gh ((~>) a_a62gh a_a62gh)) (t_a62Mx :: t_a62g4 a_a62gh). SFoldable t_a62g4 => Sing t_a62Mw -> Sing t_a62Mx -> Sing (Apply (Apply Foldl1Sym0 t_a62Mw) t_a62Mx :: a_a62gh)
sElem :: forall a_a62gl (t_a62MG :: a_a62gl) (t_a62MH :: t_a62g4 a_a62gl). (SFoldable t_a62g4, SEq a_a62gl) => Sing t_a62MG -> Sing t_a62MH -> Sing (Apply (Apply ElemSym0 t_a62MG) t_a62MH :: Bool)
sMaximum :: forall a_a62gm (t_a62MK :: t_a62g4 a_a62gm). (SFoldable t_a62g4, SOrd a_a62gm) => Sing t_a62MK -> Sing (Apply MaximumSym0 t_a62MK :: a_a62gm)
sMinimum :: forall a_a62gn (t_a62MM :: t_a62g4 a_a62gn). (SFoldable t_a62g4, SOrd a_a62gn) => Sing t_a62MM -> Sing (Apply MinimumSym0 t_a62MM :: a_a62gn)
sSum :: forall a_a62go (t_a62MO :: t_a62g4 a_a62go). (SFoldable t_a62g4, SNum a_a62go) => Sing t_a62MO -> Sing (Apply SumSym0 t_a62MO :: a_a62go)
sProduct :: forall a_a62gp (t_a62MQ :: t_a62g4 a_a62gp). (SFoldable t_a62g4, SNum a_a62gp) => Sing t_a62MQ -> Sing (Apply ProductSym0 t_a62MQ :: a_a62gp)
sFoldMap :: forall m_a62g6 a_a62g7 (t_a62M0 :: (~>) a_a62g7 m_a62g6) (t_a62M1 :: t_a62g4 a_a62g7). (SFoldable t_a62g4, (Apply (Apply FoldMapSym0 t_a62M0) t_a62M1 :: m_a62g6) ~ Apply (Apply FoldMap_6989586621680449142Sym0 t_a62M0) t_a62M1, SMonoid m_a62g6) => Sing t_a62M0 -> Sing t_a62M1 -> Sing (Apply (Apply FoldMapSym0 t_a62M0) t_a62M1 :: m_a62g6)
sFoldr :: forall a_a62g8 b_a62g9 (t_a62M4 :: (~>) a_a62g8 ((~>) b_a62g9 b_a62g9)) (t_a62M5 :: b_a62g9) (t_a62M6 :: t_a62g4 a_a62g8). (SFoldable t_a62g4, (Apply (Apply (Apply FoldrSym0 t_a62M4) t_a62M5) t_a62M6 :: b_a62g9) ~ Apply (Apply (Apply Foldr_6989586621680449166Sym0 t_a62M4) t_a62M5) t_a62M6) => Sing t_a62M4 -> Sing t_a62M5 -> Sing t_a62M6 -> Sing (Apply (Apply (Apply FoldrSym0 t_a62M4) t_a62M5) t_a62M6 :: b_a62g9)
sFoldl :: forall b_a62gc a_a62gd (t_a62Mg :: (~>) b_a62gc ((~>) a_a62gd b_a62gc)) (t_a62Mh :: b_a62gc) (t_a62Mi :: t_a62g4 a_a62gd). (SFoldable t_a62g4, (Apply (Apply (Apply FoldlSym0 t_a62Mg) t_a62Mh) t_a62Mi :: b_a62gc) ~ Apply (Apply (Apply Foldl_6989586621680449221Sym0 t_a62Mg) t_a62Mh) t_a62Mi) => Sing t_a62Mg -> Sing t_a62Mh -> Sing t_a62Mi -> Sing (Apply (Apply (Apply FoldlSym0 t_a62Mg) t_a62Mh) t_a62Mi :: b_a62gc)
sFoldr1 :: forall a_a62gg (t_a62Ms :: (~>) a_a62gg ((~>) a_a62gg a_a62gg)) (t_a62Mt :: t_a62g4 a_a62gg). (SFoldable t_a62g4, (Apply (Apply Foldr1Sym0 t_a62Ms) t_a62Mt :: a_a62gg) ~ Apply (Apply Foldr1_6989586621680449277Sym0 t_a62Ms) t_a62Mt) => Sing t_a62Ms -> Sing t_a62Mt -> Sing (Apply (Apply Foldr1Sym0 t_a62Ms) t_a62Mt :: a_a62gg)
sFoldl1 :: forall a_a62gh (t_a62Mw :: (~>) a_a62gh ((~>) a_a62gh a_a62gh)) (t_a62Mx :: t_a62g4 a_a62gh). (SFoldable t_a62g4, (Apply (Apply Foldl1Sym0 t_a62Mw) t_a62Mx :: a_a62gh) ~ Apply (Apply Foldl1_6989586621680449302Sym0 t_a62Mw) t_a62Mx) => Sing t_a62Mw -> Sing t_a62Mx -> Sing (Apply (Apply Foldl1Sym0 t_a62Mw) t_a62Mx :: a_a62gh)
sElem :: forall a_a62gl (t_a62MG :: a_a62gl) (t_a62MH :: t_a62g4 a_a62gl). (SFoldable t_a62g4, (Apply (Apply ElemSym0 t_a62MG) t_a62MH :: Bool) ~ Apply (Apply Elem_6989586621680449370Sym0 t_a62MG) t_a62MH, SEq a_a62gl) => Sing t_a62MG -> Sing t_a62MH -> Sing (Apply (Apply ElemSym0 t_a62MG) t_a62MH :: Bool)
sMaximum :: forall a_a62gm (t_a62MK :: t_a62g4 a_a62gm). (SFoldable t_a62g4, (Apply MaximumSym0 t_a62MK :: a_a62gm) ~ Apply Maximum_6989586621680449384Sym0 t_a62MK, SOrd a_a62gm) => Sing t_a62MK -> Sing (Apply MaximumSym0 t_a62MK :: a_a62gm)
sMinimum :: forall a_a62gn (t_a62MM :: t_a62g4 a_a62gn). (SFoldable t_a62g4, (Apply MinimumSym0 t_a62MM :: a_a62gn) ~ Apply Minimum_6989586621680449397Sym0 t_a62MM, SOrd a_a62gn) => Sing t_a62MM -> Sing (Apply MinimumSym0 t_a62MM :: a_a62gn)
sSum :: forall a_a62go (t_a62MO :: t_a62g4 a_a62go). (SFoldable t_a62g4, (Apply SumSym0 t_a62MO :: a_a62go) ~ Apply Sum_6989586621680449410Sym0 t_a62MO, SNum a_a62go) => Sing t_a62MO -> Sing (Apply SumSym0 t_a62MO :: a_a62go)
sProduct :: forall a_a62gp (t_a62MQ :: t_a62g4 a_a62gp). (SFoldable t_a62g4, (Apply ProductSym0 t_a62MQ :: a_a62gp) ~ Apply Product_6989586621680449423Sym0 t_a62MQ, SNum a_a62gp) => Sing t_a62MQ -> Sing (Apply ProductSym0 t_a62MQ :: a_a62gp)
class (PFunctor t_a7hnn, PFoldable t_a7hnn) => PTraversable (t_a7hnn :: Type -> Type) where {
    type family Traverse (arg_a7hnz :: (~>) a_a7hnp (f_a7hno b_a7hnq)) (arg_a7hnA :: t_a7hnn a_a7hnp) :: f_a7hno (t_a7hnn b_a7hnq);
    type family SequenceA (arg_a7hnD :: t_a7hnn (f_a7hnr a_a7hns)) :: f_a7hnr (t_a7hnn a_a7hns);
    type family MapM (arg_a7hnF :: (~>) a_a7hnu (m_a7hnt b_a7hnv)) (arg_a7hnG :: t_a7hnn a_a7hnu) :: m_a7hnt (t_a7hnn b_a7hnv);
    type family Sequence (arg_a7hnJ :: t_a7hnn (m_a7hnw a_a7hnx)) :: m_a7hnw (t_a7hnn a_a7hnx);
    type Traverse a_a7hnT a_a7hnU = Apply (Apply Traverse_6989586621680744919Sym0 a_a7hnT) a_a7hnU;
    type SequenceA a_a7ho4 = Apply SequenceA_6989586621680744929Sym0 a_a7ho4;
    type MapM a_a7hoi a_a7hoj = Apply (Apply MapM_6989586621680744944Sym0 a_a7hoi) a_a7hoj;
    type Sequence a_a7hot = Apply Sequence_6989586621680744954Sym0 a_a7hot;
}
class (SFunctor t_a7hnn, SFoldable t_a7hnn) => STraversable (t_a7hnn :: Type -> Type)
sTraverse :: forall f_a7hno a_a7hnp b_a7hnq (t_a7hox :: (~>) a_a7hnp (f_a7hno b_a7hnq)) (t_a7hoy :: t_a7hnn a_a7hnp). (STraversable t_a7hnn, SApplicative f_a7hno) => Sing t_a7hox -> Sing t_a7hoy -> Sing (Apply (Apply TraverseSym0 t_a7hox) t_a7hoy :: f_a7hno (t_a7hnn b_a7hnq))
sSequenceA :: forall f_a7hnr a_a7hns (t_a7hoB :: t_a7hnn (f_a7hnr a_a7hns)). (STraversable t_a7hnn, SApplicative f_a7hnr) => Sing t_a7hoB -> Sing (Apply SequenceASym0 t_a7hoB :: f_a7hnr (t_a7hnn a_a7hns))
sMapM :: forall m_a7hnt a_a7hnu b_a7hnv (t_a7hoD :: (~>) a_a7hnu (m_a7hnt b_a7hnv)) (t_a7hoE :: t_a7hnn a_a7hnu). (STraversable t_a7hnn, SMonad m_a7hnt) => Sing t_a7hoD -> Sing t_a7hoE -> Sing (Apply (Apply MapMSym0 t_a7hoD) t_a7hoE :: m_a7hnt (t_a7hnn b_a7hnv))
sSequence :: forall m_a7hnw a_a7hnx (t_a7hoH :: t_a7hnn (m_a7hnw a_a7hnx)). (STraversable t_a7hnn, SMonad m_a7hnw) => Sing t_a7hoH -> Sing (Apply SequenceSym0 t_a7hoH :: m_a7hnw (t_a7hnn a_a7hnx))
sTraverse :: forall f_a7hno a_a7hnp b_a7hnq (t_a7hox :: (~>) a_a7hnp (f_a7hno b_a7hnq)) (t_a7hoy :: t_a7hnn a_a7hnp). (STraversable t_a7hnn, (Apply (Apply TraverseSym0 t_a7hox) t_a7hoy :: f_a7hno (t_a7hnn b_a7hnq)) ~ Apply (Apply Traverse_6989586621680744919Sym0 t_a7hox) t_a7hoy, SApplicative f_a7hno) => Sing t_a7hox -> Sing t_a7hoy -> Sing (Apply (Apply TraverseSym0 t_a7hox) t_a7hoy :: f_a7hno (t_a7hnn b_a7hnq))
sSequenceA :: forall f_a7hnr a_a7hns (t_a7hoB :: t_a7hnn (f_a7hnr a_a7hns)). (STraversable t_a7hnn, (Apply SequenceASym0 t_a7hoB :: f_a7hnr (t_a7hnn a_a7hns)) ~ Apply SequenceA_6989586621680744929Sym0 t_a7hoB, SApplicative f_a7hnr) => Sing t_a7hoB -> Sing (Apply SequenceASym0 t_a7hoB :: f_a7hnr (t_a7hnn a_a7hns))
sMapM :: forall m_a7hnt a_a7hnu b_a7hnv (t_a7hoD :: (~>) a_a7hnu (m_a7hnt b_a7hnv)) (t_a7hoE :: t_a7hnn a_a7hnu). (STraversable t_a7hnn, (Apply (Apply MapMSym0 t_a7hoD) t_a7hoE :: m_a7hnt (t_a7hnn b_a7hnv)) ~ Apply (Apply MapM_6989586621680744944Sym0 t_a7hoD) t_a7hoE, SMonad m_a7hnt) => Sing t_a7hoD -> Sing t_a7hoE -> Sing (Apply (Apply MapMSym0 t_a7hoD) t_a7hoE :: m_a7hnt (t_a7hnn b_a7hnv))
sSequence :: forall m_a7hnw a_a7hnx (t_a7hoH :: t_a7hnn (m_a7hnw a_a7hnx)). (STraversable t_a7hnn, (Apply SequenceSym0 t_a7hoH :: m_a7hnw (t_a7hnn a_a7hnx)) ~ Apply Sequence_6989586621680744954Sym0 t_a7hoH, SMonad m_a7hnw) => Sing t_a7hoH -> Sing (Apply SequenceSym0 t_a7hoH :: m_a7hnw (t_a7hnn a_a7hnx))
type family Id (a_a29dX :: a_a29aO) :: a_a29aO
sId :: forall a_a29aO (t_a29fa :: a_a29aO). Sing t_a29fa -> Sing (Apply IdSym0 t_a29fa :: a_a29aO)
type family Const (a_a29dI :: a_a29aM) (a_a29dJ :: b_a29aN) :: a_a29aM
sConst :: forall a_a29aM b_a29aN (t_a29f2 :: a_a29aM) (t_a29f3 :: b_a29aN). Sing t_a29f2 -> Sing t_a29f3 -> Sing (Apply (Apply ConstSym0 t_a29f2) t_a29f3 :: a_a29aM)
type family (:.) (a_a29dp :: (~>) b_a29aJ c_a29aK) (a_a29dq :: (~>) a_a29aL b_a29aJ) (a_a29dr :: a_a29aL) :: c_a29aK
infixr 9 :.
(%.) :: forall b_a29aJ c_a29aK a_a29aL (t_a29eW :: (~>) b_a29aJ c_a29aK) (t_a29eX :: (~>) a_a29aL b_a29aJ) (t_a29eY :: a_a29aL). Sing t_a29eW -> Sing t_a29eX -> Sing t_a29eY -> Sing (Apply (Apply (Apply (.@#@$) t_a29eW) t_a29eX) t_a29eY :: c_a29aK)
infixr 9 %.
type family ($) (a_a29da :: (~>) a_a29aD b_a29aE) (a_a29db :: a_a29aD) :: b_a29aE
infixr 0 $
(%$) :: forall a_a29aD b_a29aE (t_a29eM :: (~>) a_a29aD b_a29aE) (t_a29eN :: a_a29aD). Sing t_a29eM -> Sing t_a29eN -> Sing (Apply (Apply ($@#@$) t_a29eM) t_a29eN :: b_a29aE)
infixr 0 %$
type family ($!) (a_a29d1 :: (~>) a_a29aB b_a29aC) (a_a29d2 :: a_a29aB) :: b_a29aC
infixr 0 $!
(%$!) :: forall a_a29aB b_a29aC (t_a29eI :: (~>) a_a29aB b_a29aC) (t_a29eJ :: a_a29aB). Sing t_a29eI -> Sing t_a29eJ -> Sing (Apply (Apply ($!@#@$) t_a29eI) t_a29eJ :: b_a29aC)
infixr 0 %$!
type family Flip (a_a29dg :: (~>) a_a29aG ((~>) b_a29aH c_a29aI)) (a_a29dh :: b_a29aH) (a_a29di :: a_a29aG) :: c_a29aI
sFlip :: forall a_a29aG b_a29aH c_a29aI (t_a29eQ :: (~>) a_a29aG ((~>) b_a29aH c_a29aI)) (t_a29eR :: b_a29aH) (t_a29eS :: a_a29aG). Sing t_a29eQ -> Sing t_a29eR -> Sing t_a29eS -> Sing (Apply (Apply (Apply FlipSym0 t_a29eQ) t_a29eR) t_a29eS :: c_a29aI)
type family AsTypeOf (a_a29dR :: a_a29aF) (a_a29dS :: a_a29aF) :: a_a29aF
sAsTypeOf :: forall a_a29aF (t_a29f6 :: a_a29aF) (t_a29f7 :: a_a29aF). Sing t_a29f6 -> Sing t_a29f7 -> Sing (Apply (Apply AsTypeOfSym0 t_a29f6) t_a29f7 :: a_a29aF)
type family Seq (a_a29cw :: a_a29ay) (a_a29cx :: b_a29az) :: b_a29az
infixr 0 `Seq`
sSeq :: forall a_a29ay b_a29az (t_a29ey :: a_a29ay) (t_a29ez :: b_a29az). Sing t_a29ey -> Sing t_a29ez -> Sing (Apply (Apply SeqSym0 t_a29ey) t_a29ez :: b_a29az)
infixr 0 `sSeq`
type family Map (a_a29e8 :: (~>) a_a29aQ b_a29aR) (a_a29e9 :: [a_a29aQ]) :: [b_a29aR]
sMap :: forall a_a29aQ b_a29aR (t_a29fg :: (~>) a_a29aQ b_a29aR) (t_a29fh :: [a_a29aQ]). Sing t_a29fg -> Sing t_a29fh -> Sing (Apply (Apply MapSym0 t_a29fg) t_a29fh :: [b_a29aR])
type family (++) (a_a29e0 :: [a_a29aP]) (a_a29e1 :: [a_a29aP]) :: [a_a29aP]
infixr 5 ++
(%++) :: forall a_a29aP (t_a29fc :: [a_a29aP]) (t_a29fd :: [a_a29aP]). Sing t_a29fc -> Sing t_a29fd -> Sing (Apply (Apply (++@#@$) t_a29fc) t_a29fd :: [a_a29aP])
infixr 5 %++
type family Filter (a_a3Wj2 :: (~>) a_a3TP9 Bool) (a_a3Wj3 :: [a_a3TP9]) :: [a_a3TP9]
sFilter :: forall a_a3TP9 (t_a3WBF :: (~>) a_a3TP9 Bool) (t_a3WBG :: [a_a3TP9]). Sing t_a3WBF -> Sing t_a3WBG -> Sing (Apply (Apply FilterSym0 t_a3WBF) t_a3WBG :: [a_a3TP9])
type family Head (a_a3WAk :: [a_a3TQB]) :: a_a3TQB
sHead :: forall a_a3TQB (t_a3WFT :: [a_a3TQB]). Sing t_a3WFT -> Sing (Apply HeadSym0 t_a3WFT :: a_a3TQB)
type family Last (a_a3WAf :: [a_a3TQA]) :: a_a3TQA
sLast :: forall a_a3TQA (t_a3WFR :: [a_a3TQA]). Sing t_a3WFR -> Sing (Apply LastSym0 t_a3WFR :: a_a3TQA)
type family Tail (a_a3WAc :: [a_a3TQz]) :: [a_a3TQz]
sTail :: forall a_a3TQz (t_a3WFP :: [a_a3TQz]). Sing t_a3WFP -> Sing (Apply TailSym0 t_a3WFP :: [a_a3TQz])
type family Init (a_a3WzY :: [a_a3TQy]) :: [a_a3TQy]
sInit :: forall a_a3TQy (t_a3WFN :: [a_a3TQy]). Sing t_a3WFN -> Sing (Apply InitSym0 t_a3WFN :: [a_a3TQy])
type family Null (arg_a62qL :: t_a62g4 a_a62gj) :: Bool
sNull :: forall a_a62gj (t_a62MC :: t_a62g4 a_a62gj). SFoldable t_a62g4 => Sing t_a62MC -> Sing (Apply NullSym0 t_a62MC :: Bool)
type family Reverse (a_a3Wzd :: [a_a3TQw]) :: [a_a3TQw]
sReverse :: forall a_a3TQw (t_a3WFB :: [a_a3TQw]). Sing t_a3WFB -> Sing (Apply ReverseSym0 t_a3WFB :: [a_a3TQw])
type family And (a_a62nU :: t_a62eN Bool) :: Bool
sAnd :: forall t_a62eN (t_a62KB :: t_a62eN Bool). SFoldable t_a62eN => Sing t_a62KB -> Sing (Apply AndSym0 t_a62KB :: Bool)
type family Or (a_a62nL :: t_a62eM Bool) :: Bool
sOr :: forall t_a62eM (t_a62Kz :: t_a62eM Bool). SFoldable t_a62eM => Sing t_a62Kz -> Sing (Apply OrSym0 t_a62Kz :: Bool)
type family Any (a_a62ny :: (~>) a_a62eL Bool) (a_a62nz :: t_a62eK a_a62eL) :: Bool
sAny :: forall t_a62eK a_a62eL (t_a62Kv :: (~>) a_a62eL Bool) (t_a62Kw :: t_a62eK a_a62eL). SFoldable t_a62eK => Sing t_a62Kv -> Sing t_a62Kw -> Sing (Apply (Apply AnySym0 t_a62Kv) t_a62Kw :: Bool)
type family All (a_a62nl :: (~>) a_a62eJ Bool) (a_a62nm :: t_a62eI a_a62eJ) :: Bool
sAll :: forall t_a62eI a_a62eJ (t_a62Kr :: (~>) a_a62eJ Bool) (t_a62Ks :: t_a62eI a_a62eJ). SFoldable t_a62eI => Sing t_a62Kr -> Sing t_a62Ks -> Sing (Apply (Apply AllSym0 t_a62Kr) t_a62Ks :: Bool)
type family Concat (a_a62oj :: t_a62eR [a_a62eS]) :: [a_a62eS]
sConcat :: forall t_a62eR a_a62eS (t_a62KH :: t_a62eR [a_a62eS]). SFoldable t_a62eR => Sing t_a62KH -> Sing (Apply ConcatSym0 t_a62KH :: [a_a62eS])
type family ConcatMap (a_a62o3 :: (~>) a_a62eP [b_a62eQ]) (a_a62o4 :: t_a62eO a_a62eP) :: [b_a62eQ]
sConcatMap :: forall t_a62eO a_a62eP b_a62eQ (t_a62KD :: (~>) a_a62eP [b_a62eQ]) (t_a62KE :: t_a62eO a_a62eP). SFoldable t_a62eO => Sing t_a62KD -> Sing t_a62KE -> Sing (Apply (Apply ConcatMapSym0 t_a62KD) t_a62KE :: [b_a62eQ])
type family Scanl (a_a3Wth :: (~>) b_a3TQe ((~>) a_a3TQf b_a3TQe)) (a_a3Wti :: b_a3TQe) (a_a3Wtj :: [a_a3TQf]) :: [b_a3TQe]
sScanl :: forall b_a3TQe a_a3TQf (t_a3WE9 :: (~>) b_a3TQe ((~>) a_a3TQf b_a3TQe)) (t_a3WEa :: b_a3TQe) (t_a3WEb :: [a_a3TQf]). Sing t_a3WE9 -> Sing t_a3WEa -> Sing t_a3WEb -> Sing (Apply (Apply (Apply ScanlSym0 t_a3WE9) t_a3WEa) t_a3WEb :: [b_a3TQe])
type family Scanl1 (a_a3Wtv :: (~>) a_a3TQd ((~>) a_a3TQd a_a3TQd)) (a_a3Wtw :: [a_a3TQd]) :: [a_a3TQd]
sScanl1 :: forall a_a3TQd (t_a3WEf :: (~>) a_a3TQd ((~>) a_a3TQd a_a3TQd)) (t_a3WEg :: [a_a3TQd]). Sing t_a3WEf -> Sing t_a3WEg -> Sing (Apply (Apply Scanl1Sym0 t_a3WEf) t_a3WEg :: [a_a3TQd])
type family Scanr (a_a3WsW :: (~>) a_a3TQb ((~>) b_a3TQc b_a3TQc)) (a_a3WsX :: b_a3TQc) (a_a3WsY :: [a_a3TQb]) :: [b_a3TQc]
sScanr :: forall a_a3TQb b_a3TQc (t_a3WE3 :: (~>) a_a3TQb ((~>) b_a3TQc b_a3TQc)) (t_a3WE4 :: b_a3TQc) (t_a3WE5 :: [a_a3TQb]). Sing t_a3WE3 -> Sing t_a3WE4 -> Sing t_a3WE5 -> Sing (Apply (Apply (Apply ScanrSym0 t_a3WE3) t_a3WE4) t_a3WE5 :: [b_a3TQc])
type family Scanr1 (a_a3Wsy :: (~>) a_a3TQa ((~>) a_a3TQa a_a3TQa)) (a_a3Wsz :: [a_a3TQa]) :: [a_a3TQa]
sScanr1 :: forall a_a3TQa (t_a3WDZ :: (~>) a_a3TQa ((~>) a_a3TQa a_a3TQa)) (t_a3WE0 :: [a_a3TQa]). Sing t_a3WDZ -> Sing t_a3WE0 -> Sing (Apply (Apply Scanr1Sym0 t_a3WDZ) t_a3WE0 :: [a_a3TQa])
type family Replicate (a_a3WeI :: Nat) (a_a3WeJ :: a_a3TOG) :: [a_a3TOG]
sReplicate :: forall a_a3TOG (t_a3WAJ :: Nat) (t_a3WAK :: a_a3TOG). Sing t_a3WAJ -> Sing t_a3WAK -> Sing (Apply (Apply ReplicateSym0 t_a3WAJ) t_a3WAK :: [a_a3TOG])
type family Take (a_a3Wgg :: Nat) (a_a3Wgh :: [a_a3TOW]) :: [a_a3TOW]
sTake :: forall a_a3TOW (t_a3WBb :: Nat) (t_a3WBc :: [a_a3TOW]). Sing t_a3WBb -> Sing t_a3WBc -> Sing (Apply (Apply TakeSym0 t_a3WBb) t_a3WBc :: [a_a3TOW])
type family Drop (a_a3Wg2 :: Nat) (a_a3Wg3 :: [a_a3TOV]) :: [a_a3TOV]
sDrop :: forall a_a3TOV (t_a3WB7 :: Nat) (t_a3WB8 :: [a_a3TOV]). Sing t_a3WB7 -> Sing t_a3WB8 -> Sing (Apply (Apply DropSym0 t_a3WB7) t_a3WB8 :: [a_a3TOV])
type family SplitAt (a_a3Wgu :: Nat) (a_a3Wgv :: [a_a3TOU]) :: ([a_a3TOU], [a_a3TOU])
sSplitAt :: forall a_a3TOU (t_a3WBf :: Nat) (t_a3WBg :: [a_a3TOU]). Sing t_a3WBf -> Sing t_a3WBg -> Sing (Apply (Apply SplitAtSym0 t_a3WBf) t_a3WBg :: ([a_a3TOU], [a_a3TOU]))
type family TakeWhile (a_a3WiO :: (~>) a_a3TP1 Bool) (a_a3WiP :: [a_a3TP1]) :: [a_a3TP1]
sTakeWhile :: forall a_a3TP1 (t_a3WBB :: (~>) a_a3TP1 Bool) (t_a3WBC :: [a_a3TP1]). Sing t_a3WBB -> Sing t_a3WBC -> Sing (Apply (Apply TakeWhileSym0 t_a3WBB) t_a3WBC :: [a_a3TP1])
type family Span (a_a3Whh :: (~>) a_a3TOY Bool) (a_a3Whi :: [a_a3TOY]) :: ([a_a3TOY], [a_a3TOY])
sSpan :: forall a_a3TOY (t_a3WBn :: (~>) a_a3TOY Bool) (t_a3WBo :: [a_a3TOY]). Sing t_a3WBn -> Sing t_a3WBo -> Sing (Apply (Apply SpanSym0 t_a3WBn) t_a3WBo :: ([a_a3TOY], [a_a3TOY]))
type family Break (a_a3WgA :: (~>) a_a3TOX Bool) (a_a3WgB :: [a_a3TOX]) :: ([a_a3TOX], [a_a3TOX])
sBreak :: forall a_a3TOX (t_a3WBj :: (~>) a_a3TOX Bool) (t_a3WBk :: [a_a3TOX]). Sing t_a3WBj -> Sing t_a3WBk -> Sing (Apply (Apply BreakSym0 t_a3WBj) t_a3WBk :: ([a_a3TOX], [a_a3TOX]))
type family NotElem (a_a62mp :: a_a62eD) (a_a62mq :: t_a62eC a_a62eD) :: Bool
sNotElem :: forall t_a62eC a_a62eD (t_a62Kf :: a_a62eD) (t_a62Kg :: t_a62eC a_a62eD). (SFoldable t_a62eC, SEq a_a62eD) => Sing t_a62Kf -> Sing t_a62Kg -> Sing (Apply (Apply NotElemSym0 t_a62Kf) t_a62Kg :: Bool)
type family Lookup (a_a3WfL :: a_a3TOM) (a_a3WfM :: [(a_a3TOM, b_a3TON)]) :: Maybe b_a3TON
sLookup :: forall a_a3TOM b_a3TON (t_a3WB3 :: a_a3TOM) (t_a3WB4 :: [(a_a3TOM, b_a3TON)]). SEq a_a3TOM => Sing t_a3WB3 -> Sing t_a3WB4 -> Sing (Apply (Apply LookupSym0 t_a3WB3) t_a3WB4 :: Maybe b_a3TON)
type family Zip (a_a3Wop :: [a_a3TPT]) (a_a3Woq :: [b_a3TPU]) :: [(a_a3TPT, b_a3TPU)]
sZip :: forall a_a3TPT b_a3TPU (t_a3WD7 :: [a_a3TPT]) (t_a3WD8 :: [b_a3TPU]). Sing t_a3WD7 -> Sing t_a3WD8 -> Sing (Apply (Apply ZipSym0 t_a3WD7) t_a3WD8 :: [(a_a3TPT, b_a3TPU)])
type family Zip3 (a_a3Wod :: [a_a3TPQ]) (a_a3Woe :: [b_a3TPR]) (a_a3Wof :: [c_a3TPS]) :: [(a_a3TPQ, b_a3TPR, c_a3TPS)]
sZip3 :: forall a_a3TPQ b_a3TPR c_a3TPS (t_a3WD1 :: [a_a3TPQ]) (t_a3WD2 :: [b_a3TPR]) (t_a3WD3 :: [c_a3TPS]). Sing t_a3WD1 -> Sing t_a3WD2 -> Sing t_a3WD3 -> Sing (Apply (Apply (Apply Zip3Sym0 t_a3WD1) t_a3WD2) t_a3WD3 :: [(a_a3TPQ, b_a3TPR, c_a3TPS)])
type family ZipWith (a_a3Wo2 :: (~>) a_a3TPN ((~>) b_a3TPO c_a3TPP)) (a_a3Wo3 :: [a_a3TPN]) (a_a3Wo4 :: [b_a3TPO]) :: [c_a3TPP]
sZipWith :: forall a_a3TPN b_a3TPO c_a3TPP (t_a3WCV :: (~>) a_a3TPN ((~>) b_a3TPO c_a3TPP)) (t_a3WCW :: [a_a3TPN]) (t_a3WCX :: [b_a3TPO]). Sing t_a3WCV -> Sing t_a3WCW -> Sing t_a3WCX -> Sing (Apply (Apply (Apply ZipWithSym0 t_a3WCV) t_a3WCW) t_a3WCX :: [c_a3TPP])
type family ZipWith3 (a_a3WnN :: (~>) a_a3TPJ ((~>) b_a3TPK ((~>) c_a3TPL d_a3TPM))) (a_a3WnO :: [a_a3TPJ]) (a_a3WnP :: [b_a3TPK]) (a_a3WnQ :: [c_a3TPL]) :: [d_a3TPM]
sZipWith3 :: forall a_a3TPJ b_a3TPK c_a3TPL d_a3TPM (t_a3WCN :: (~>) a_a3TPJ ((~>) b_a3TPK ((~>) c_a3TPL d_a3TPM))) (t_a3WCO :: [a_a3TPJ]) (t_a3WCP :: [b_a3TPK]) (t_a3WCQ :: [c_a3TPL]). Sing t_a3WCN -> Sing t_a3WCO -> Sing t_a3WCP -> Sing t_a3WCQ -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a3WCN) t_a3WCO) t_a3WCP) t_a3WCQ :: [d_a3TPM])
type family Unzip (a_a3Wnu :: [(a_a3TPH, b_a3TPI)]) :: ([a_a3TPH], [b_a3TPI])
sUnzip :: forall a_a3TPH b_a3TPI (t_a3WCL :: [(a_a3TPH, b_a3TPI)]). Sing t_a3WCL -> Sing (Apply UnzipSym0 t_a3WCL :: ([a_a3TPH], [b_a3TPI]))
type family Unzip3 (a_a3Wn9 :: [(a_a3TPE, b_a3TPF, c_a3TPG)]) :: ([a_a3TPE], [b_a3TPF], [c_a3TPG])
sUnzip3 :: forall a_a3TPE b_a3TPF c_a3TPG (t_a3WCJ :: [(a_a3TPE, b_a3TPF, c_a3TPG)]). Sing t_a3WCJ -> Sing (Apply Unzip3Sym0 t_a3WCJ :: ([a_a3TPE], [b_a3TPF], [c_a3TPG]))
type family Unlines (a_a3Wlp :: [Symbol]) :: Symbol
sUnlines :: forall (t_a3WCz :: [Symbol]). Sing t_a3WCz -> Sing (Apply UnlinesSym0 t_a3WCz :: Symbol)
type family Unwords (a_a3Wle :: [Symbol]) :: Symbol
sUnwords :: forall (t_a3WCx :: [Symbol]). Sing t_a3WCx -> Sing (Apply UnwordsSym0 t_a3WCx :: Symbol)
type family Maybe_ (a_a22gD :: b_a22gl) (a_a22gE :: (~>) a_a22gm b_a22gl) (a_a22gF :: Maybe a_a22gm) :: b_a22gl
sMaybe_ :: forall b_a22gl a_a22gm (t_a22gM :: b_a22gl) (t_a22gN :: (~>) a_a22gm b_a22gl) (t_a22gO :: Maybe a_a22gm). Sing t_a22gM -> Sing t_a22gN -> Sing t_a22gO -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a22gM) t_a22gN) t_a22gO :: b_a22gl)
type family Either_ (a_a5X3G :: (~>) a_a5X36 c_a5X37) (a_a5X3H :: (~>) b_a5X38 c_a5X37) (a_a5X3I :: Either a_a5X36 b_a5X38) :: c_a5X37
sEither_ :: forall a_a5X36 c_a5X37 b_a5X38 (t_a5X3Q :: (~>) a_a5X36 c_a5X37) (t_a5X3R :: (~>) b_a5X38 c_a5X37) (t_a5X3S :: Either a_a5X36 b_a5X38). Sing t_a5X3Q -> Sing t_a5X3R -> Sing t_a5X3S -> Sing (Apply (Apply (Apply Either_Sym0 t_a5X3Q) t_a5X3R) t_a5X3S :: c_a5X37)
type family Fst (a_a1sOb :: (a_a1sMD, b_a1sME)) :: a_a1sMD
sFst :: forall a_a1sMD b_a1sME (t_a1sOu :: (a_a1sMD, b_a1sME)). Sing t_a1sOu -> Sing (Apply FstSym0 t_a1sOu :: a_a1sMD)
type family Snd (a_a1sO8 :: (a_a1sMB, b_a1sMC)) :: b_a1sMC
sSnd :: forall a_a1sMB b_a1sMC (t_a1sOs :: (a_a1sMB, b_a1sMC)). Sing t_a1sOs -> Sing (Apply SndSym0 t_a1sOs :: b_a1sMC)
type family Curry (a_a1sNZ :: (~>) (a_a1sMy, b_a1sMz) c_a1sMA) (a_a1sO0 :: a_a1sMy) (a_a1sO1 :: b_a1sMz) :: c_a1sMA
sCurry :: forall a_a1sMy b_a1sMz c_a1sMA (t_a1sOm :: (~>) (a_a1sMy, b_a1sMz) c_a1sMA) (t_a1sOn :: a_a1sMy) (t_a1sOo :: b_a1sMz). Sing t_a1sOm -> Sing t_a1sOn -> Sing t_a1sOo -> Sing (Apply (Apply (Apply CurrySym0 t_a1sOm) t_a1sOn) t_a1sOo :: c_a1sMA)
type family Uncurry (a_a1sOe :: (~>) a_a1sMv ((~>) b_a1sMw c_a1sMx)) (a_a1sOf :: (a_a1sMv, b_a1sMw)) :: c_a1sMx
sUncurry :: forall a_a1sMv b_a1sMw c_a1sMx (t_a1sOw :: (~>) a_a1sMv ((~>) b_a1sMw c_a1sMx)) (t_a1sOx :: (a_a1sMv, b_a1sMw)). Sing t_a1sOw -> Sing t_a1sOx -> Sing (Apply (Apply UncurrySym0 t_a1sOw) t_a1sOx :: c_a1sMx)

-- | (Kind) This is the kind of type-level symbols. Declared here because
--   class IP needs it
data Symbol
either_ :: (a_a5X36 -> c_a5X37) -> (b_a5X38 -> c_a5X37) -> Either a_a5X36 b_a5X38 -> c_a5X37
maybe_ :: b_a22gl -> (a_a22gm -> b_a22gl) -> Maybe a_a22gm -> b_a22gl
bool_ :: a_a1uue -> a_a1uue -> Bool -> a_a1uue

-- | <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 (a6989586621679366606 :: Bool) = Not a6989586621679366606
data (&&@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 3 &&@#@$
data (&&@#@$$) (a6989586621679366065 :: Bool) :: (~>) Bool Bool
infixr 3 &&@#@$$
type (&&@#@$$$) (a6989586621679366065 :: Bool) (b6989586621679366066 :: Bool) = (&&) a6989586621679366065 b6989586621679366066
data (||@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 2 ||@#@$
data (||@#@$$) (a6989586621679366306 :: Bool) :: (~>) Bool Bool
infixr 2 ||@#@$$
type (||@#@$$$) (a6989586621679366306 :: Bool) (b6989586621679366307 :: Bool) = (||) a6989586621679366306 b6989586621679366307
type OtherwiseSym0 = Otherwise
type NothingSym0 =  'Nothing
data JustSym0 :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 (Maybe (a3530822107858468865 :: Type))
type JustSym1 (t6989586621679301555 :: a3530822107858468865) =  'Just t6989586621679301555
data Maybe_Sym0 :: forall a6989586621679495150 b6989586621679495149. (~>) b6989586621679495149 ((~>) ((~>) a6989586621679495150 b6989586621679495149) ((~>) (Maybe a6989586621679495150) b6989586621679495149))
data Maybe_Sym1 (a6989586621679495167 :: b6989586621679495149) :: forall a6989586621679495150. (~>) ((~>) a6989586621679495150 b6989586621679495149) ((~>) (Maybe a6989586621679495150) b6989586621679495149)
data Maybe_Sym2 (a6989586621679495167 :: b6989586621679495149) (a6989586621679495168 :: (~>) a6989586621679495150 b6989586621679495149) :: (~>) (Maybe a6989586621679495150) b6989586621679495149
type Maybe_Sym3 (a6989586621679495167 :: b6989586621679495149) (a6989586621679495168 :: (~>) a6989586621679495150 b6989586621679495149) (a6989586621679495169 :: Maybe a6989586621679495150) = Maybe_ a6989586621679495167 a6989586621679495168 a6989586621679495169
data LeftSym0 :: forall (a6989586621679087510 :: Type) (b6989586621679087511 :: Type). (~>) a6989586621679087510 (Either (a6989586621679087510 :: Type) (b6989586621679087511 :: Type))
type LeftSym1 (t6989586621679301622 :: a6989586621679087510) =  'Left t6989586621679301622
data RightSym0 :: forall (a6989586621679087510 :: Type) (b6989586621679087511 :: Type). (~>) b6989586621679087511 (Either (a6989586621679087510 :: Type) (b6989586621679087511 :: Type))
type RightSym1 (t6989586621679301624 :: b6989586621679087511) =  'Right t6989586621679301624
data Either_Sym0 :: forall a6989586621680428420 b6989586621680428422 c6989586621680428421. (~>) ((~>) a6989586621680428420 c6989586621680428421) ((~>) ((~>) b6989586621680428422 c6989586621680428421) ((~>) (Either a6989586621680428420 b6989586621680428422) c6989586621680428421))
data Either_Sym1 (a6989586621680428456 :: (~>) a6989586621680428420 c6989586621680428421) :: forall b6989586621680428422. (~>) ((~>) b6989586621680428422 c6989586621680428421) ((~>) (Either a6989586621680428420 b6989586621680428422) c6989586621680428421)
data Either_Sym2 (a6989586621680428456 :: (~>) a6989586621680428420 c6989586621680428421) (a6989586621680428457 :: (~>) b6989586621680428422 c6989586621680428421) :: (~>) (Either a6989586621680428420 b6989586621680428422) c6989586621680428421
type Either_Sym3 (a6989586621680428456 :: (~>) a6989586621680428420 c6989586621680428421) (a6989586621680428457 :: (~>) b6989586621680428422 c6989586621680428421) (a6989586621680428458 :: Either a6989586621680428420 b6989586621680428422) = Either_ a6989586621680428456 a6989586621680428457 a6989586621680428458
type Tuple0Sym0 = '()
data Tuple2Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type)))
data Tuple2Sym1 (t6989586621679301671 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type). (~>) b3530822107858468866 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type))
type Tuple2Sym2 (t6989586621679301671 :: a3530822107858468865) (t6989586621679301672 :: b3530822107858468866) = '(t6989586621679301671, t6989586621679301672)
data Tuple3Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type))))
data Tuple3Sym1 (t6989586621679301702 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type)))
data Tuple3Sym2 (t6989586621679301702 :: (a3530822107858468865 :: Type)) (t6989586621679301703 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type). (~>) c3530822107858468867 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type))
type Tuple3Sym3 (t6989586621679301702 :: a3530822107858468865) (t6989586621679301703 :: b3530822107858468866) (t6989586621679301704 :: c3530822107858468867) = '(t6989586621679301702, t6989586621679301703, t6989586621679301704)
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 (t6989586621679301749 :: (a3530822107858468865 :: Type)) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type))))
data Tuple4Sym2 (t6989586621679301749 :: (a3530822107858468865 :: Type)) (t6989586621679301750 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type)))
data Tuple4Sym3 (t6989586621679301749 :: (a3530822107858468865 :: Type)) (t6989586621679301750 :: (b3530822107858468866 :: Type)) (t6989586621679301751 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type). (~>) d3530822107858468868 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type))
type Tuple4Sym4 (t6989586621679301749 :: a3530822107858468865) (t6989586621679301750 :: b3530822107858468866) (t6989586621679301751 :: c3530822107858468867) (t6989586621679301752 :: d3530822107858468868) = '(t6989586621679301749, t6989586621679301750, t6989586621679301751, t6989586621679301752)
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 (t6989586621679301814 :: (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 (t6989586621679301814 :: (a3530822107858468865 :: Type)) (t6989586621679301815 :: (b3530822107858468866 :: Type)) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type))))
data Tuple5Sym3 (t6989586621679301814 :: (a3530822107858468865 :: Type)) (t6989586621679301815 :: (b3530822107858468866 :: Type)) (t6989586621679301816 :: (c3530822107858468867 :: Type)) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type)))
data Tuple5Sym4 (t6989586621679301814 :: (a3530822107858468865 :: Type)) (t6989586621679301815 :: (b3530822107858468866 :: Type)) (t6989586621679301816 :: (c3530822107858468867 :: Type)) (t6989586621679301817 :: (d3530822107858468868 :: Type)) :: forall (e3530822107858468869 :: Type). (~>) e3530822107858468869 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type))
type Tuple5Sym5 (t6989586621679301814 :: a3530822107858468865) (t6989586621679301815 :: b3530822107858468866) (t6989586621679301816 :: c3530822107858468867) (t6989586621679301817 :: d3530822107858468868) (t6989586621679301818 :: e3530822107858468869) = '(t6989586621679301814, t6989586621679301815, t6989586621679301816, t6989586621679301817, t6989586621679301818)
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 (t6989586621679301899 :: (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 (t6989586621679301899 :: (a3530822107858468865 :: Type)) (t6989586621679301900 :: (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 (t6989586621679301899 :: (a3530822107858468865 :: Type)) (t6989586621679301900 :: (b3530822107858468866 :: Type)) (t6989586621679301901 :: (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 (t6989586621679301899 :: (a3530822107858468865 :: Type)) (t6989586621679301900 :: (b3530822107858468866 :: Type)) (t6989586621679301901 :: (c3530822107858468867 :: Type)) (t6989586621679301902 :: (d3530822107858468868 :: Type)) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type)))
data Tuple6Sym5 (t6989586621679301899 :: (a3530822107858468865 :: Type)) (t6989586621679301900 :: (b3530822107858468866 :: Type)) (t6989586621679301901 :: (c3530822107858468867 :: Type)) (t6989586621679301902 :: (d3530822107858468868 :: Type)) (t6989586621679301903 :: (e3530822107858468869 :: Type)) :: forall (f3530822107858468870 :: Type). (~>) f3530822107858468870 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type))
type Tuple6Sym6 (t6989586621679301899 :: a3530822107858468865) (t6989586621679301900 :: b3530822107858468866) (t6989586621679301901 :: c3530822107858468867) (t6989586621679301902 :: d3530822107858468868) (t6989586621679301903 :: e3530822107858468869) (t6989586621679301904 :: f3530822107858468870) = '(t6989586621679301899, t6989586621679301900, t6989586621679301901, t6989586621679301902, t6989586621679301903, t6989586621679301904)
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 (t6989586621679302006 :: (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 (t6989586621679302006 :: (a3530822107858468865 :: Type)) (t6989586621679302007 :: (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 (t6989586621679302006 :: (a3530822107858468865 :: Type)) (t6989586621679302007 :: (b3530822107858468866 :: Type)) (t6989586621679302008 :: (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 (t6989586621679302006 :: (a3530822107858468865 :: Type)) (t6989586621679302007 :: (b3530822107858468866 :: Type)) (t6989586621679302008 :: (c3530822107858468867 :: Type)) (t6989586621679302009 :: (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 (t6989586621679302006 :: (a3530822107858468865 :: Type)) (t6989586621679302007 :: (b3530822107858468866 :: Type)) (t6989586621679302008 :: (c3530822107858468867 :: Type)) (t6989586621679302009 :: (d3530822107858468868 :: Type)) (t6989586621679302010 :: (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 (t6989586621679302006 :: (a3530822107858468865 :: Type)) (t6989586621679302007 :: (b3530822107858468866 :: Type)) (t6989586621679302008 :: (c3530822107858468867 :: Type)) (t6989586621679302009 :: (d3530822107858468868 :: Type)) (t6989586621679302010 :: (e3530822107858468869 :: Type)) (t6989586621679302011 :: (f3530822107858468870 :: Type)) :: forall (g3530822107858468871 :: Type). (~>) g3530822107858468871 ((a3530822107858468865 :: Type), (b3530822107858468866 :: Type), (c3530822107858468867 :: Type), (d3530822107858468868 :: Type), (e3530822107858468869 :: Type), (f3530822107858468870 :: Type), (g3530822107858468871 :: Type))
type Tuple7Sym7 (t6989586621679302006 :: a3530822107858468865) (t6989586621679302007 :: b3530822107858468866) (t6989586621679302008 :: c3530822107858468867) (t6989586621679302009 :: d3530822107858468868) (t6989586621679302010 :: e3530822107858468869) (t6989586621679302011 :: f3530822107858468870) (t6989586621679302012 :: g3530822107858468871) = '(t6989586621679302006, t6989586621679302007, t6989586621679302008, t6989586621679302009, t6989586621679302010, t6989586621679302011, t6989586621679302012)
data FstSym0 :: forall a6989586621679358767 b6989586621679358768. (~>) (a6989586621679358767, b6989586621679358768) a6989586621679358767
type FstSym1 (a6989586621679358863 :: (a6989586621679358767, b6989586621679358768)) = Fst a6989586621679358863
data SndSym0 :: forall a6989586621679358765 b6989586621679358766. (~>) (a6989586621679358765, b6989586621679358766) b6989586621679358766
type SndSym1 (a6989586621679358860 :: (a6989586621679358765, b6989586621679358766)) = Snd a6989586621679358860
data CurrySym0 :: forall a6989586621679358762 b6989586621679358763 c6989586621679358764. (~>) ((~>) (a6989586621679358762, b6989586621679358763) c6989586621679358764) ((~>) a6989586621679358762 ((~>) b6989586621679358763 c6989586621679358764))
data CurrySym1 (a6989586621679358851 :: (~>) (a6989586621679358762, b6989586621679358763) c6989586621679358764) :: (~>) a6989586621679358762 ((~>) b6989586621679358763 c6989586621679358764)
data CurrySym2 (a6989586621679358851 :: (~>) (a6989586621679358762, b6989586621679358763) c6989586621679358764) (a6989586621679358852 :: a6989586621679358762) :: (~>) b6989586621679358763 c6989586621679358764
type CurrySym3 (a6989586621679358851 :: (~>) (a6989586621679358762, b6989586621679358763) c6989586621679358764) (a6989586621679358852 :: a6989586621679358762) (a6989586621679358853 :: b6989586621679358763) = Curry a6989586621679358851 a6989586621679358852 a6989586621679358853
data UncurrySym0 :: forall a6989586621679358759 b6989586621679358760 c6989586621679358761. (~>) ((~>) a6989586621679358759 ((~>) b6989586621679358760 c6989586621679358761)) ((~>) (a6989586621679358759, b6989586621679358760) c6989586621679358761)
data UncurrySym1 (a6989586621679358866 :: (~>) a6989586621679358759 ((~>) b6989586621679358760 c6989586621679358761)) :: (~>) (a6989586621679358759, b6989586621679358760) c6989586621679358761
type UncurrySym2 (a6989586621679358866 :: (~>) a6989586621679358759 ((~>) b6989586621679358760 c6989586621679358761)) (a6989586621679358867 :: (a6989586621679358759, b6989586621679358760)) = Uncurry a6989586621679358866 a6989586621679358867
data ErrorSym0 :: forall k06989586621679468915 k6989586621679468914. (~>) k06989586621679468915 k6989586621679468914
type ErrorSym1 (str6989586621679468916 :: k06989586621679468915) = Error str6989586621679468916
data ErrorWithoutStackTraceSym0 :: forall k06989586621679469965 k6989586621679469964. (~>) k06989586621679469965 k6989586621679469964
type ErrorWithoutStackTraceSym1 (str6989586621679469966 :: k06989586621679469965) = ErrorWithoutStackTrace str6989586621679469966
type UndefinedSym0 = Undefined
type LTSym0 =  'LT
type EQSym0 =  'EQ
type GTSym0 =  'GT
data CompareSym0 :: forall a6989586621679383450. (~>) a6989586621679383450 ((~>) a6989586621679383450 Ordering)
data CompareSym1 (arg6989586621679383544 :: a6989586621679383450) :: (~>) a6989586621679383450 Ordering
type CompareSym2 (arg6989586621679383544 :: a6989586621679383450) (arg6989586621679383545 :: a6989586621679383450) = Compare arg6989586621679383544 arg6989586621679383545
data (<@#@$) :: forall a6989586621679383450. (~>) a6989586621679383450 ((~>) a6989586621679383450 Bool)
infix 4 <@#@$
data (<@#@$$) (arg6989586621679383548 :: a6989586621679383450) :: (~>) a6989586621679383450 Bool
infix 4 <@#@$$
type (<@#@$$$) (arg6989586621679383548 :: a6989586621679383450) (arg6989586621679383549 :: a6989586621679383450) = (<) arg6989586621679383548 arg6989586621679383549
data (<=@#@$) :: forall a6989586621679383450. (~>) a6989586621679383450 ((~>) a6989586621679383450 Bool)
infix 4 <=@#@$
data (<=@#@$$) (arg6989586621679383552 :: a6989586621679383450) :: (~>) a6989586621679383450 Bool
infix 4 <=@#@$$
type (<=@#@$$$) (arg6989586621679383552 :: a6989586621679383450) (arg6989586621679383553 :: a6989586621679383450) = (<=) arg6989586621679383552 arg6989586621679383553
data (>@#@$) :: forall a6989586621679383450. (~>) a6989586621679383450 ((~>) a6989586621679383450 Bool)
infix 4 >@#@$
data (>@#@$$) (arg6989586621679383556 :: a6989586621679383450) :: (~>) a6989586621679383450 Bool
infix 4 >@#@$$
type (>@#@$$$) (arg6989586621679383556 :: a6989586621679383450) (arg6989586621679383557 :: a6989586621679383450) = (>) arg6989586621679383556 arg6989586621679383557
data (>=@#@$) :: forall a6989586621679383450. (~>) a6989586621679383450 ((~>) a6989586621679383450 Bool)
infix 4 >=@#@$
data (>=@#@$$) (arg6989586621679383560 :: a6989586621679383450) :: (~>) a6989586621679383450 Bool
infix 4 >=@#@$$
type (>=@#@$$$) (arg6989586621679383560 :: a6989586621679383450) (arg6989586621679383561 :: a6989586621679383450) = (>=) arg6989586621679383560 arg6989586621679383561
data MaxSym0 :: forall a6989586621679383450. (~>) a6989586621679383450 ((~>) a6989586621679383450 a6989586621679383450)
data MaxSym1 (arg6989586621679383564 :: a6989586621679383450) :: (~>) a6989586621679383450 a6989586621679383450
type MaxSym2 (arg6989586621679383564 :: a6989586621679383450) (arg6989586621679383565 :: a6989586621679383450) = Max arg6989586621679383564 arg6989586621679383565
data MinSym0 :: forall a6989586621679383450. (~>) a6989586621679383450 ((~>) a6989586621679383450 a6989586621679383450)
data MinSym1 (arg6989586621679383568 :: a6989586621679383450) :: (~>) a6989586621679383450 a6989586621679383450
type MinSym2 (arg6989586621679383568 :: a6989586621679383450) (arg6989586621679383569 :: a6989586621679383450) = Min arg6989586621679383568 arg6989586621679383569
data (^@#@$) :: (~>) Nat ((~>) Nat Nat)
infixr 8 ^@#@$
data (^@#@$$) (a3530822107858468865 :: Nat) :: (~>) Nat Nat
infixr 8 ^@#@$$
type (^@#@$$$) (a3530822107858468865 :: Nat) (b3530822107858468866 :: Nat) = (^) a3530822107858468865 b3530822107858468866
data ShowsPrecSym0 :: forall a6989586621680258583. (~>) Nat ((~>) a6989586621680258583 ((~>) Symbol Symbol))
data ShowsPrecSym1 (arg6989586621680260533 :: Nat) :: forall a6989586621680258583. (~>) a6989586621680258583 ((~>) Symbol Symbol)
data ShowsPrecSym2 (arg6989586621680260533 :: Nat) (arg6989586621680260534 :: a6989586621680258583) :: (~>) Symbol Symbol
type ShowsPrecSym3 (arg6989586621680260533 :: Nat) (arg6989586621680260534 :: a6989586621680258583) (arg6989586621680260535 :: Symbol) = ShowsPrec arg6989586621680260533 arg6989586621680260534 arg6989586621680260535
data Show_Sym0 :: forall a6989586621680258583. (~>) a6989586621680258583 Symbol
type Show_Sym1 (arg6989586621680260539 :: a6989586621680258583) = Show_ arg6989586621680260539
data ShowListSym0 :: forall a6989586621680258583. (~>) [a6989586621680258583] ((~>) Symbol Symbol)
data ShowListSym1 (arg6989586621680260541 :: [a6989586621680258583]) :: (~>) Symbol Symbol
type ShowListSym2 (arg6989586621680260541 :: [a6989586621680258583]) (arg6989586621680260542 :: Symbol) = ShowList arg6989586621680260541 arg6989586621680260542
data ShowsSym0 :: forall a6989586621680258568. (~>) a6989586621680258568 ((~>) Symbol Symbol)
data ShowsSym1 (a6989586621680260525 :: a6989586621680258568) :: (~>) Symbol Symbol
type ShowsSym2 (a6989586621680260525 :: a6989586621680258568) (a6989586621680260526 :: Symbol) = Shows a6989586621680260525 a6989586621680260526
data ShowCharSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowCharSym1 (a6989586621680260467 :: Symbol) :: (~>) Symbol Symbol
type ShowCharSym2 (a6989586621680260467 :: Symbol) (a6989586621680260468 :: Symbol) = ShowChar a6989586621680260467 a6989586621680260468
data ShowStringSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowStringSym1 (a6989586621680260452 :: Symbol) :: (~>) Symbol Symbol
type ShowStringSym2 (a6989586621680260452 :: Symbol) (a6989586621680260453 :: Symbol) = ShowString a6989586621680260452 a6989586621680260453
data ShowParenSym0 :: (~>) Bool ((~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol))
data ShowParenSym1 (a6989586621680260473 :: Bool) :: (~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol)
data ShowParenSym2 (a6989586621680260473 :: Bool) (a6989586621680260474 :: (~>) Symbol Symbol) :: (~>) Symbol Symbol
data (<>@#@$) :: forall a6989586621679810436. (~>) a6989586621679810436 ((~>) a6989586621679810436 a6989586621679810436)
infixr 6 <>@#@$
data (<>@#@$$) (arg6989586621679810921 :: a6989586621679810436) :: (~>) a6989586621679810436 a6989586621679810436
infixr 6 <>@#@$$
type (<>@#@$$$) (arg6989586621679810921 :: a6989586621679810436) (arg6989586621679810922 :: a6989586621679810436) = (<>) arg6989586621679810921 arg6989586621679810922
type MemptySym0 = Mempty
data MappendSym0 :: forall a6989586621680326608. (~>) a6989586621680326608 ((~>) a6989586621680326608 a6989586621680326608)
data MappendSym1 (arg6989586621680326993 :: a6989586621680326608) :: (~>) a6989586621680326608 a6989586621680326608
type MappendSym2 (arg6989586621680326993 :: a6989586621680326608) (arg6989586621680326994 :: a6989586621680326608) = Mappend arg6989586621680326993 arg6989586621680326994
data MconcatSym0 :: forall a6989586621680326608. (~>) [a6989586621680326608] a6989586621680326608
type MconcatSym1 (arg6989586621680326997 :: [a6989586621680326608]) = Mconcat arg6989586621680326997
data FmapSym0 :: forall a6989586621679545962 b6989586621679545963 f6989586621679545961. (~>) ((~>) a6989586621679545962 b6989586621679545963) ((~>) (f6989586621679545961 a6989586621679545962) (f6989586621679545961 b6989586621679545963))
data FmapSym1 (arg6989586621679546355 :: (~>) a6989586621679545962 b6989586621679545963) :: forall f6989586621679545961. (~>) (f6989586621679545961 a6989586621679545962) (f6989586621679545961 b6989586621679545963)
type FmapSym2 (arg6989586621679546355 :: (~>) a6989586621679545962 b6989586621679545963) (arg6989586621679546356 :: f6989586621679545961 a6989586621679545962) = Fmap arg6989586621679546355 arg6989586621679546356
data (<$@#@$) :: forall a6989586621679545964 b6989586621679545965 f6989586621679545961. (~>) a6989586621679545964 ((~>) (f6989586621679545961 b6989586621679545965) (f6989586621679545961 a6989586621679545964))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679546359 :: a6989586621679545964) :: forall b6989586621679545965 f6989586621679545961. (~>) (f6989586621679545961 b6989586621679545965) (f6989586621679545961 a6989586621679545964)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679546359 :: a6989586621679545964) (arg6989586621679546360 :: f6989586621679545961 b6989586621679545965) = (<$) arg6989586621679546359 arg6989586621679546360
data (<$>@#@$) :: forall a6989586621679715297 b6989586621679715298 f6989586621679715296. (~>) ((~>) a6989586621679715297 b6989586621679715298) ((~>) (f6989586621679715296 a6989586621679715297) (f6989586621679715296 b6989586621679715298))
infixl 4 <$>@#@$
data (<$>@#@$$) (a6989586621679715377 :: (~>) a6989586621679715297 b6989586621679715298) :: forall f6989586621679715296. (~>) (f6989586621679715296 a6989586621679715297) (f6989586621679715296 b6989586621679715298)
infixl 4 <$>@#@$$
type (<$>@#@$$$) (a6989586621679715377 :: (~>) a6989586621679715297 b6989586621679715298) (a6989586621679715378 :: f6989586621679715296 a6989586621679715297) = (<$>) a6989586621679715377 a6989586621679715378
data PureSym0 :: forall a6989586621679545967 f6989586621679545966. (~>) a6989586621679545967 (f6989586621679545966 a6989586621679545967)
type PureSym1 (arg6989586621679546379 :: a6989586621679545967) = Pure arg6989586621679546379
data (<*>@#@$) :: forall a6989586621679545968 b6989586621679545969 f6989586621679545966. (~>) (f6989586621679545966 ((~>) a6989586621679545968 b6989586621679545969)) ((~>) (f6989586621679545966 a6989586621679545968) (f6989586621679545966 b6989586621679545969))
infixl 4 <*>@#@$
data (<*>@#@$$) (arg6989586621679546381 :: f6989586621679545966 ((~>) a6989586621679545968 b6989586621679545969)) :: (~>) (f6989586621679545966 a6989586621679545968) (f6989586621679545966 b6989586621679545969)
infixl 4 <*>@#@$$
type (<*>@#@$$$) (arg6989586621679546381 :: f6989586621679545966 ((~>) a6989586621679545968 b6989586621679545969)) (arg6989586621679546382 :: f6989586621679545966 a6989586621679545968) = (<*>) arg6989586621679546381 arg6989586621679546382
data (*>@#@$) :: forall a6989586621679545973 b6989586621679545974 f6989586621679545966. (~>) (f6989586621679545966 a6989586621679545973) ((~>) (f6989586621679545966 b6989586621679545974) (f6989586621679545966 b6989586621679545974))
infixl 4 *>@#@$
data (*>@#@$$) (arg6989586621679546391 :: f6989586621679545966 a6989586621679545973) :: forall b6989586621679545974. (~>) (f6989586621679545966 b6989586621679545974) (f6989586621679545966 b6989586621679545974)
infixl 4 *>@#@$$
type (*>@#@$$$) (arg6989586621679546391 :: f6989586621679545966 a6989586621679545973) (arg6989586621679546392 :: f6989586621679545966 b6989586621679545974) = (*>) arg6989586621679546391 arg6989586621679546392
data (<*@#@$) :: forall a6989586621679545975 b6989586621679545976 f6989586621679545966. (~>) (f6989586621679545966 a6989586621679545975) ((~>) (f6989586621679545966 b6989586621679545976) (f6989586621679545966 a6989586621679545975))
infixl 4 <*@#@$
data (<*@#@$$) (arg6989586621679546395 :: f6989586621679545966 a6989586621679545975) :: forall b6989586621679545976. (~>) (f6989586621679545966 b6989586621679545976) (f6989586621679545966 a6989586621679545975)
infixl 4 <*@#@$$
type (<*@#@$$$) (arg6989586621679546395 :: f6989586621679545966 a6989586621679545975) (arg6989586621679546396 :: f6989586621679545966 b6989586621679545976) = (<*) arg6989586621679546395 arg6989586621679546396
data (>>=@#@$) :: forall a6989586621679545991 b6989586621679545992 m6989586621679545990. (~>) (m6989586621679545990 a6989586621679545991) ((~>) ((~>) a6989586621679545991 (m6989586621679545990 b6989586621679545992)) (m6989586621679545990 b6989586621679545992))
infixl 1 >>=@#@$
data (>>=@#@$$) (arg6989586621679546462 :: m6989586621679545990 a6989586621679545991) :: forall b6989586621679545992. (~>) ((~>) a6989586621679545991 (m6989586621679545990 b6989586621679545992)) (m6989586621679545990 b6989586621679545992)
infixl 1 >>=@#@$$
type (>>=@#@$$$) (arg6989586621679546462 :: m6989586621679545990 a6989586621679545991) (arg6989586621679546463 :: (~>) a6989586621679545991 (m6989586621679545990 b6989586621679545992)) = (>>=) arg6989586621679546462 arg6989586621679546463
data (>>@#@$) :: forall a6989586621679545993 b6989586621679545994 m6989586621679545990. (~>) (m6989586621679545990 a6989586621679545993) ((~>) (m6989586621679545990 b6989586621679545994) (m6989586621679545990 b6989586621679545994))
infixl 1 >>@#@$
data (>>@#@$$) (arg6989586621679546466 :: m6989586621679545990 a6989586621679545993) :: forall b6989586621679545994. (~>) (m6989586621679545990 b6989586621679545994) (m6989586621679545990 b6989586621679545994)
infixl 1 >>@#@$$
type (>>@#@$$$) (arg6989586621679546466 :: m6989586621679545990 a6989586621679545993) (arg6989586621679546467 :: m6989586621679545990 b6989586621679545994) = (>>) arg6989586621679546466 arg6989586621679546467
data ReturnSym0 :: forall a6989586621679545995 m6989586621679545990. (~>) a6989586621679545995 (m6989586621679545990 a6989586621679545995)
type ReturnSym1 (arg6989586621679546470 :: a6989586621679545995) = Return arg6989586621679546470
data FailSym0 :: forall a6989586621679545996 m6989586621679545990. (~>) Symbol (m6989586621679545990 a6989586621679545996)
type FailSym1 (arg6989586621679546472 :: Symbol) = Fail arg6989586621679546472
data MapM_Sym0 :: forall a6989586621680448389 b6989586621680448390 m6989586621680448388 t6989586621680448387. (~>) ((~>) a6989586621680448389 (m6989586621680448388 b6989586621680448390)) ((~>) (t6989586621680448387 a6989586621680448389) (m6989586621680448388 ()))
data MapM_Sym1 (a6989586621680448987 :: (~>) a6989586621680448389 (m6989586621680448388 b6989586621680448390)) :: forall t6989586621680448387. (~>) (t6989586621680448387 a6989586621680448389) (m6989586621680448388 ())
type MapM_Sym2 (a6989586621680448987 :: (~>) a6989586621680448389 (m6989586621680448388 b6989586621680448390)) (a6989586621680448988 :: t6989586621680448387 a6989586621680448389) = MapM_ a6989586621680448987 a6989586621680448988
data Sequence_Sym0 :: forall a6989586621680448379 m6989586621680448378 t6989586621680448377. (~>) (t6989586621680448377 (m6989586621680448378 a6989586621680448379)) (m6989586621680448378 ())
type Sequence_Sym1 (a6989586621680448979 :: t6989586621680448377 (m6989586621680448378 a6989586621680448379)) = Sequence_ a6989586621680448979
data (=<<@#@$) :: forall a6989586621679545913 b6989586621679545914 m6989586621679545912. (~>) ((~>) a6989586621679545913 (m6989586621679545912 b6989586621679545914)) ((~>) (m6989586621679545912 a6989586621679545913) (m6989586621679545912 b6989586621679545914))
infixr 1 =<<@#@$
data (=<<@#@$$) (a6989586621679546308 :: (~>) a6989586621679545913 (m6989586621679545912 b6989586621679545914)) :: (~>) (m6989586621679545912 a6989586621679545913) (m6989586621679545912 b6989586621679545914)
infixr 1 =<<@#@$$
type (=<<@#@$$$) (a6989586621679546308 :: (~>) a6989586621679545913 (m6989586621679545912 b6989586621679545914)) (a6989586621679546309 :: m6989586621679545912 a6989586621679545913) = (=<<) a6989586621679546308 a6989586621679546309
data ElemSym0 :: forall a6989586621680448461 t6989586621680448444. (~>) a6989586621680448461 ((~>) (t6989586621680448444 a6989586621680448461) Bool)
data ElemSym1 (arg6989586621680449111 :: a6989586621680448461) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448461) Bool
type ElemSym2 (arg6989586621680449111 :: a6989586621680448461) (arg6989586621680449112 :: t6989586621680448444 a6989586621680448461) = Elem arg6989586621680449111 arg6989586621680449112
data FoldMapSym0 :: forall a6989586621680448447 m6989586621680448446 t6989586621680448444. (~>) ((~>) a6989586621680448447 m6989586621680448446) ((~>) (t6989586621680448444 a6989586621680448447) m6989586621680448446)
data FoldMapSym1 (arg6989586621680449069 :: (~>) a6989586621680448447 m6989586621680448446) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448447) m6989586621680448446
type FoldMapSym2 (arg6989586621680449069 :: (~>) a6989586621680448447 m6989586621680448446) (arg6989586621680449070 :: t6989586621680448444 a6989586621680448447) = FoldMap arg6989586621680449069 arg6989586621680449070
data FoldrSym0 :: forall a6989586621680448448 b6989586621680448449 t6989586621680448444. (~>) ((~>) a6989586621680448448 ((~>) b6989586621680448449 b6989586621680448449)) ((~>) b6989586621680448449 ((~>) (t6989586621680448444 a6989586621680448448) b6989586621680448449))
data FoldrSym1 (arg6989586621680449073 :: (~>) a6989586621680448448 ((~>) b6989586621680448449 b6989586621680448449)) :: forall t6989586621680448444. (~>) b6989586621680448449 ((~>) (t6989586621680448444 a6989586621680448448) b6989586621680448449)
data FoldrSym2 (arg6989586621680449073 :: (~>) a6989586621680448448 ((~>) b6989586621680448449 b6989586621680448449)) (arg6989586621680449074 :: b6989586621680448449) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448448) b6989586621680448449
type FoldrSym3 (arg6989586621680449073 :: (~>) a6989586621680448448 ((~>) b6989586621680448449 b6989586621680448449)) (arg6989586621680449074 :: b6989586621680448449) (arg6989586621680449075 :: t6989586621680448444 a6989586621680448448) = Foldr arg6989586621680449073 arg6989586621680449074 arg6989586621680449075
data FoldlSym0 :: forall a6989586621680448453 b6989586621680448452 t6989586621680448444. (~>) ((~>) b6989586621680448452 ((~>) a6989586621680448453 b6989586621680448452)) ((~>) b6989586621680448452 ((~>) (t6989586621680448444 a6989586621680448453) b6989586621680448452))
data FoldlSym1 (arg6989586621680449085 :: (~>) b6989586621680448452 ((~>) a6989586621680448453 b6989586621680448452)) :: forall t6989586621680448444. (~>) b6989586621680448452 ((~>) (t6989586621680448444 a6989586621680448453) b6989586621680448452)
data FoldlSym2 (arg6989586621680449085 :: (~>) b6989586621680448452 ((~>) a6989586621680448453 b6989586621680448452)) (arg6989586621680449086 :: b6989586621680448452) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448453) b6989586621680448452
type FoldlSym3 (arg6989586621680449085 :: (~>) b6989586621680448452 ((~>) a6989586621680448453 b6989586621680448452)) (arg6989586621680449086 :: b6989586621680448452) (arg6989586621680449087 :: t6989586621680448444 a6989586621680448453) = Foldl arg6989586621680449085 arg6989586621680449086 arg6989586621680449087
data Foldr1Sym0 :: forall a6989586621680448456 t6989586621680448444. (~>) ((~>) a6989586621680448456 ((~>) a6989586621680448456 a6989586621680448456)) ((~>) (t6989586621680448444 a6989586621680448456) a6989586621680448456)
data Foldr1Sym1 (arg6989586621680449097 :: (~>) a6989586621680448456 ((~>) a6989586621680448456 a6989586621680448456)) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448456) a6989586621680448456
type Foldr1Sym2 (arg6989586621680449097 :: (~>) a6989586621680448456 ((~>) a6989586621680448456 a6989586621680448456)) (arg6989586621680449098 :: t6989586621680448444 a6989586621680448456) = Foldr1 arg6989586621680449097 arg6989586621680449098
data Foldl1Sym0 :: forall a6989586621680448457 t6989586621680448444. (~>) ((~>) a6989586621680448457 ((~>) a6989586621680448457 a6989586621680448457)) ((~>) (t6989586621680448444 a6989586621680448457) a6989586621680448457)
data Foldl1Sym1 (arg6989586621680449101 :: (~>) a6989586621680448457 ((~>) a6989586621680448457 a6989586621680448457)) :: forall t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448457) a6989586621680448457
type Foldl1Sym2 (arg6989586621680449101 :: (~>) a6989586621680448457 ((~>) a6989586621680448457 a6989586621680448457)) (arg6989586621680449102 :: t6989586621680448444 a6989586621680448457) = Foldl1 arg6989586621680449101 arg6989586621680449102
data MaximumSym0 :: forall a6989586621680448462 t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448462) a6989586621680448462
type MaximumSym1 (arg6989586621680449115 :: t6989586621680448444 a6989586621680448462) = Maximum arg6989586621680449115
data MinimumSym0 :: forall a6989586621680448463 t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448463) a6989586621680448463
type MinimumSym1 (arg6989586621680449117 :: t6989586621680448444 a6989586621680448463) = Minimum arg6989586621680449117
data SumSym0 :: forall a6989586621680448464 t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448464) a6989586621680448464
type SumSym1 (arg6989586621680449119 :: t6989586621680448444 a6989586621680448464) = Sum arg6989586621680449119
data ProductSym0 :: forall a6989586621680448465 t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448465) a6989586621680448465
type ProductSym1 (arg6989586621680449121 :: t6989586621680448444 a6989586621680448465) = Product arg6989586621680449121
data TraverseSym0 :: forall a6989586621680744887 b6989586621680744888 f6989586621680744886 t6989586621680744885. (~>) ((~>) a6989586621680744887 (f6989586621680744886 b6989586621680744888)) ((~>) (t6989586621680744885 a6989586621680744887) (f6989586621680744886 (t6989586621680744885 b6989586621680744888)))
data TraverseSym1 (arg6989586621680744897 :: (~>) a6989586621680744887 (f6989586621680744886 b6989586621680744888)) :: forall t6989586621680744885. (~>) (t6989586621680744885 a6989586621680744887) (f6989586621680744886 (t6989586621680744885 b6989586621680744888))
type TraverseSym2 (arg6989586621680744897 :: (~>) a6989586621680744887 (f6989586621680744886 b6989586621680744888)) (arg6989586621680744898 :: t6989586621680744885 a6989586621680744887) = Traverse arg6989586621680744897 arg6989586621680744898
data SequenceASym0 :: forall a6989586621680744890 f6989586621680744889 t6989586621680744885. (~>) (t6989586621680744885 (f6989586621680744889 a6989586621680744890)) (f6989586621680744889 (t6989586621680744885 a6989586621680744890))
type SequenceASym1 (arg6989586621680744901 :: t6989586621680744885 (f6989586621680744889 a6989586621680744890)) = SequenceA arg6989586621680744901
data MapMSym0 :: forall a6989586621680744892 b6989586621680744893 m6989586621680744891 t6989586621680744885. (~>) ((~>) a6989586621680744892 (m6989586621680744891 b6989586621680744893)) ((~>) (t6989586621680744885 a6989586621680744892) (m6989586621680744891 (t6989586621680744885 b6989586621680744893)))
data MapMSym1 (arg6989586621680744903 :: (~>) a6989586621680744892 (m6989586621680744891 b6989586621680744893)) :: forall t6989586621680744885. (~>) (t6989586621680744885 a6989586621680744892) (m6989586621680744891 (t6989586621680744885 b6989586621680744893))
type MapMSym2 (arg6989586621680744903 :: (~>) a6989586621680744892 (m6989586621680744891 b6989586621680744893)) (arg6989586621680744904 :: t6989586621680744885 a6989586621680744892) = MapM arg6989586621680744903 arg6989586621680744904
data SequenceSym0 :: forall a6989586621680744895 m6989586621680744894 t6989586621680744885. (~>) (t6989586621680744885 (m6989586621680744894 a6989586621680744895)) (m6989586621680744894 (t6989586621680744885 a6989586621680744895))
type SequenceSym1 (arg6989586621680744907 :: t6989586621680744885 (m6989586621680744894 a6989586621680744895)) = Sequence arg6989586621680744907
data IdSym0 :: forall a6989586621679521714. (~>) a6989586621679521714 a6989586621679521714
type IdSym1 (a6989586621679521909 :: a6989586621679521714) = Id a6989586621679521909
data ConstSym0 :: forall a6989586621679521712 b6989586621679521713. (~>) a6989586621679521712 ((~>) b6989586621679521713 a6989586621679521712)
data ConstSym1 (a6989586621679521894 :: a6989586621679521712) :: forall b6989586621679521713. (~>) b6989586621679521713 a6989586621679521712
type ConstSym2 (a6989586621679521894 :: a6989586621679521712) (a6989586621679521895 :: b6989586621679521713) = Const a6989586621679521894 a6989586621679521895
data (.@#@$) :: forall a6989586621679521711 b6989586621679521709 c6989586621679521710. (~>) ((~>) b6989586621679521709 c6989586621679521710) ((~>) ((~>) a6989586621679521711 b6989586621679521709) ((~>) a6989586621679521711 c6989586621679521710))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679521875 :: (~>) b6989586621679521709 c6989586621679521710) :: forall a6989586621679521711. (~>) ((~>) a6989586621679521711 b6989586621679521709) ((~>) a6989586621679521711 c6989586621679521710)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679521875 :: (~>) b6989586621679521709 c6989586621679521710) (a6989586621679521876 :: (~>) a6989586621679521711 b6989586621679521709) :: (~>) a6989586621679521711 c6989586621679521710
infixr 9 .@#@$$$
data ($@#@$) :: forall a6989586621679521703 b6989586621679521704. (~>) ((~>) a6989586621679521703 b6989586621679521704) ((~>) a6989586621679521703 b6989586621679521704)
infixr 0 $@#@$
data ($@#@$$) (a6989586621679521860 :: (~>) a6989586621679521703 b6989586621679521704) :: (~>) a6989586621679521703 b6989586621679521704
infixr 0 $@#@$$
type ($@#@$$$) (a6989586621679521860 :: (~>) a6989586621679521703 b6989586621679521704) (a6989586621679521861 :: a6989586621679521703) = ($) a6989586621679521860 a6989586621679521861
data ($!@#@$) :: forall a6989586621679521701 b6989586621679521702. (~>) ((~>) a6989586621679521701 b6989586621679521702) ((~>) a6989586621679521701 b6989586621679521702)
infixr 0 $!@#@$
data ($!@#@$$) (a6989586621679521851 :: (~>) a6989586621679521701 b6989586621679521702) :: (~>) a6989586621679521701 b6989586621679521702
infixr 0 $!@#@$$
type ($!@#@$$$) (a6989586621679521851 :: (~>) a6989586621679521701 b6989586621679521702) (a6989586621679521852 :: a6989586621679521701) = ($!) a6989586621679521851 a6989586621679521852
data FlipSym0 :: forall a6989586621679521706 b6989586621679521707 c6989586621679521708. (~>) ((~>) a6989586621679521706 ((~>) b6989586621679521707 c6989586621679521708)) ((~>) b6989586621679521707 ((~>) a6989586621679521706 c6989586621679521708))
data FlipSym1 (a6989586621679521866 :: (~>) a6989586621679521706 ((~>) b6989586621679521707 c6989586621679521708)) :: (~>) b6989586621679521707 ((~>) a6989586621679521706 c6989586621679521708)
data FlipSym2 (a6989586621679521866 :: (~>) a6989586621679521706 ((~>) b6989586621679521707 c6989586621679521708)) (a6989586621679521867 :: b6989586621679521707) :: (~>) a6989586621679521706 c6989586621679521708
data AsTypeOfSym0 :: forall a6989586621679521705. (~>) a6989586621679521705 ((~>) a6989586621679521705 a6989586621679521705)
data AsTypeOfSym1 (a6989586621679521903 :: a6989586621679521705) :: (~>) a6989586621679521705 a6989586621679521705
type AsTypeOfSym2 (a6989586621679521903 :: a6989586621679521705) (a6989586621679521904 :: a6989586621679521705) = AsTypeOf a6989586621679521903 a6989586621679521904
data SeqSym0 :: forall a6989586621679521698 b6989586621679521699. (~>) a6989586621679521698 ((~>) b6989586621679521699 b6989586621679521699)
infixr 0 `SeqSym0`
data SeqSym1 (a6989586621679521820 :: a6989586621679521698) :: forall b6989586621679521699. (~>) b6989586621679521699 b6989586621679521699
infixr 0 `SeqSym1`
type SeqSym2 (a6989586621679521820 :: a6989586621679521698) (a6989586621679521821 :: b6989586621679521699) = Seq a6989586621679521820 a6989586621679521821
data (:@#@$) :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 ((~>) [a3530822107858468865] [(a3530822107858468865 :: Type)])
infixr 5 :@#@$
data (:@#@$$) (t6989586621679301578 :: (a3530822107858468865 :: Type)) :: (~>) [a3530822107858468865] [(a3530822107858468865 :: Type)]
infixr 5 :@#@$$
type (:@#@$$$) (t6989586621679301578 :: a3530822107858468865) (t6989586621679301579 :: [a3530822107858468865]) =  '(:) t6989586621679301578 t6989586621679301579
type NilSym0 = '[]
data MapSym0 :: forall a6989586621679521716 b6989586621679521717. (~>) ((~>) a6989586621679521716 b6989586621679521717) ((~>) [a6989586621679521716] [b6989586621679521717])
data MapSym1 (a6989586621679521920 :: (~>) a6989586621679521716 b6989586621679521717) :: (~>) [a6989586621679521716] [b6989586621679521717]
type MapSym2 (a6989586621679521920 :: (~>) a6989586621679521716 b6989586621679521717) (a6989586621679521921 :: [a6989586621679521716]) = Map a6989586621679521920 a6989586621679521921
data ReverseSym0 :: forall a6989586621679939452. (~>) [a6989586621679939452] [a6989586621679939452]
type ReverseSym1 (a6989586621679949911 :: [a6989586621679939452]) = Reverse a6989586621679949911
data (++@#@$$) (a6989586621679521912 :: [a6989586621679521715]) :: (~>) [a6989586621679521715] [a6989586621679521715]
infixr 5 ++@#@$$
data (++@#@$) :: forall a6989586621679521715. (~>) [a6989586621679521715] ((~>) [a6989586621679521715] [a6989586621679521715])
infixr 5 ++@#@$
data FilterSym0 :: forall a6989586621679939367. (~>) ((~>) a6989586621679939367 Bool) ((~>) [a6989586621679939367] [a6989586621679939367])
data FilterSym1 (a6989586621679948908 :: (~>) a6989586621679939367 Bool) :: (~>) [a6989586621679939367] [a6989586621679939367]
type FilterSym2 (a6989586621679948908 :: (~>) a6989586621679939367 Bool) (a6989586621679948909 :: [a6989586621679939367]) = Filter a6989586621679948908 a6989586621679948909
data HeadSym0 :: forall a6989586621679939457. (~>) [a6989586621679939457] a6989586621679939457
type HeadSym1 (a6989586621679949980 :: [a6989586621679939457]) = Head a6989586621679949980
data LastSym0 :: forall a6989586621679939456. (~>) [a6989586621679939456] a6989586621679939456
type LastSym1 (a6989586621679949975 :: [a6989586621679939456]) = Last a6989586621679949975
data TailSym0 :: forall a6989586621679939455. (~>) [a6989586621679939455] [a6989586621679939455]
type TailSym1 (a6989586621679949972 :: [a6989586621679939455]) = Tail a6989586621679949972
data InitSym0 :: forall a6989586621679939454. (~>) [a6989586621679939454] [a6989586621679939454]
type InitSym1 (a6989586621679949958 :: [a6989586621679939454]) = Init a6989586621679949958
data NullSym0 :: forall a6989586621680448459 t6989586621680448444. (~>) (t6989586621680448444 a6989586621680448459) Bool
type NullSym1 (arg6989586621680449107 :: t6989586621680448444 a6989586621680448459) = Null arg6989586621680449107
data ConcatSym0 :: forall a6989586621680448370 t6989586621680448369. (~>) (t6989586621680448369 [a6989586621680448370]) [a6989586621680448370]
type ConcatSym1 (a6989586621680448955 :: t6989586621680448369 [a6989586621680448370]) = Concat a6989586621680448955
data ConcatMapSym0 :: forall a6989586621680448367 b6989586621680448368 t6989586621680448366. (~>) ((~>) a6989586621680448367 [b6989586621680448368]) ((~>) (t6989586621680448366 a6989586621680448367) [b6989586621680448368])
data ConcatMapSym1 (a6989586621680448939 :: (~>) a6989586621680448367 [b6989586621680448368]) :: forall t6989586621680448366. (~>) (t6989586621680448366 a6989586621680448367) [b6989586621680448368]
type ConcatMapSym2 (a6989586621680448939 :: (~>) a6989586621680448367 [b6989586621680448368]) (a6989586621680448940 :: t6989586621680448366 a6989586621680448367) = ConcatMap a6989586621680448939 a6989586621680448940
data AndSym0 :: forall t6989586621680448365. (~>) (t6989586621680448365 Bool) Bool
type AndSym1 (a6989586621680448930 :: t6989586621680448365 Bool) = And a6989586621680448930
data OrSym0 :: forall t6989586621680448364. (~>) (t6989586621680448364 Bool) Bool
type OrSym1 (a6989586621680448921 :: t6989586621680448364 Bool) = Or a6989586621680448921
data AnySym0 :: forall a6989586621680448363 t6989586621680448362. (~>) ((~>) a6989586621680448363 Bool) ((~>) (t6989586621680448362 a6989586621680448363) Bool)
data AnySym1 (a6989586621680448908 :: (~>) a6989586621680448363 Bool) :: forall t6989586621680448362. (~>) (t6989586621680448362 a6989586621680448363) Bool
type AnySym2 (a6989586621680448908 :: (~>) a6989586621680448363 Bool) (a6989586621680448909 :: t6989586621680448362 a6989586621680448363) = Any a6989586621680448908 a6989586621680448909
data AllSym0 :: forall a6989586621680448361 t6989586621680448360. (~>) ((~>) a6989586621680448361 Bool) ((~>) (t6989586621680448360 a6989586621680448361) Bool)
data AllSym1 (a6989586621680448895 :: (~>) a6989586621680448361 Bool) :: forall t6989586621680448360. (~>) (t6989586621680448360 a6989586621680448361) Bool
type AllSym2 (a6989586621680448895 :: (~>) a6989586621680448361 Bool) (a6989586621680448896 :: t6989586621680448360 a6989586621680448361) = All a6989586621680448895 a6989586621680448896
data ScanlSym0 :: forall a6989586621679939435 b6989586621679939434. (~>) ((~>) b6989586621679939434 ((~>) a6989586621679939435 b6989586621679939434)) ((~>) b6989586621679939434 ((~>) [a6989586621679939435] [b6989586621679939434]))
data ScanlSym1 (a6989586621679949543 :: (~>) b6989586621679939434 ((~>) a6989586621679939435 b6989586621679939434)) :: (~>) b6989586621679939434 ((~>) [a6989586621679939435] [b6989586621679939434])
data ScanlSym2 (a6989586621679949543 :: (~>) b6989586621679939434 ((~>) a6989586621679939435 b6989586621679939434)) (a6989586621679949544 :: b6989586621679939434) :: (~>) [a6989586621679939435] [b6989586621679939434]
type ScanlSym3 (a6989586621679949543 :: (~>) b6989586621679939434 ((~>) a6989586621679939435 b6989586621679939434)) (a6989586621679949544 :: b6989586621679939434) (a6989586621679949545 :: [a6989586621679939435]) = Scanl a6989586621679949543 a6989586621679949544 a6989586621679949545
data Scanl1Sym0 :: forall a6989586621679939433. (~>) ((~>) a6989586621679939433 ((~>) a6989586621679939433 a6989586621679939433)) ((~>) [a6989586621679939433] [a6989586621679939433])
data Scanl1Sym1 (a6989586621679949557 :: (~>) a6989586621679939433 ((~>) a6989586621679939433 a6989586621679939433)) :: (~>) [a6989586621679939433] [a6989586621679939433]
type Scanl1Sym2 (a6989586621679949557 :: (~>) a6989586621679939433 ((~>) a6989586621679939433 a6989586621679939433)) (a6989586621679949558 :: [a6989586621679939433]) = Scanl1 a6989586621679949557 a6989586621679949558
data ScanrSym0 :: forall a6989586621679939431 b6989586621679939432. (~>) ((~>) a6989586621679939431 ((~>) b6989586621679939432 b6989586621679939432)) ((~>) b6989586621679939432 ((~>) [a6989586621679939431] [b6989586621679939432]))
data ScanrSym1 (a6989586621679949522 :: (~>) a6989586621679939431 ((~>) b6989586621679939432 b6989586621679939432)) :: (~>) b6989586621679939432 ((~>) [a6989586621679939431] [b6989586621679939432])
data ScanrSym2 (a6989586621679949522 :: (~>) a6989586621679939431 ((~>) b6989586621679939432 b6989586621679939432)) (a6989586621679949523 :: b6989586621679939432) :: (~>) [a6989586621679939431] [b6989586621679939432]
type ScanrSym3 (a6989586621679949522 :: (~>) a6989586621679939431 ((~>) b6989586621679939432 b6989586621679939432)) (a6989586621679949523 :: b6989586621679939432) (a6989586621679949524 :: [a6989586621679939431]) = Scanr a6989586621679949522 a6989586621679949523 a6989586621679949524
data Scanr1Sym0 :: forall a6989586621679939430. (~>) ((~>) a6989586621679939430 ((~>) a6989586621679939430 a6989586621679939430)) ((~>) [a6989586621679939430] [a6989586621679939430])
data Scanr1Sym1 (a6989586621679949498 :: (~>) a6989586621679939430 ((~>) a6989586621679939430 a6989586621679939430)) :: (~>) [a6989586621679939430] [a6989586621679939430]
type Scanr1Sym2 (a6989586621679949498 :: (~>) a6989586621679939430 ((~>) a6989586621679939430 a6989586621679939430)) (a6989586621679949499 :: [a6989586621679939430]) = Scanr1 a6989586621679949498 a6989586621679949499
data ReplicateSym0 :: forall a6989586621679939338. (~>) Nat ((~>) a6989586621679939338 [a6989586621679939338])
data ReplicateSym1 (a6989586621679948640 :: Nat) :: forall a6989586621679939338. (~>) a6989586621679939338 [a6989586621679939338]
type ReplicateSym2 (a6989586621679948640 :: Nat) (a6989586621679948641 :: a6989586621679939338) = Replicate a6989586621679948640 a6989586621679948641
data TakeSym0 :: forall a6989586621679939354. (~>) Nat ((~>) [a6989586621679939354] [a6989586621679939354])
data TakeSym1 (a6989586621679948736 :: Nat) :: forall a6989586621679939354. (~>) [a6989586621679939354] [a6989586621679939354]
type TakeSym2 (a6989586621679948736 :: Nat) (a6989586621679948737 :: [a6989586621679939354]) = Take a6989586621679948736 a6989586621679948737
data DropSym0 :: forall a6989586621679939353. (~>) Nat ((~>) [a6989586621679939353] [a6989586621679939353])
data DropSym1 (a6989586621679948722 :: Nat) :: forall a6989586621679939353. (~>) [a6989586621679939353] [a6989586621679939353]
type DropSym2 (a6989586621679948722 :: Nat) (a6989586621679948723 :: [a6989586621679939353]) = Drop a6989586621679948722 a6989586621679948723
data SplitAtSym0 :: forall a6989586621679939352. (~>) Nat ((~>) [a6989586621679939352] ([a6989586621679939352], [a6989586621679939352]))
data SplitAtSym1 (a6989586621679948750 :: Nat) :: forall a6989586621679939352. (~>) [a6989586621679939352] ([a6989586621679939352], [a6989586621679939352])
type SplitAtSym2 (a6989586621679948750 :: Nat) (a6989586621679948751 :: [a6989586621679939352]) = SplitAt a6989586621679948750 a6989586621679948751
data TakeWhileSym0 :: forall a6989586621679939359. (~>) ((~>) a6989586621679939359 Bool) ((~>) [a6989586621679939359] [a6989586621679939359])
data TakeWhileSym1 (a6989586621679948894 :: (~>) a6989586621679939359 Bool) :: (~>) [a6989586621679939359] [a6989586621679939359]
type TakeWhileSym2 (a6989586621679948894 :: (~>) a6989586621679939359 Bool) (a6989586621679948895 :: [a6989586621679939359]) = TakeWhile a6989586621679948894 a6989586621679948895
data DropWhileSym0 :: forall a6989586621679939358. (~>) ((~>) a6989586621679939358 Bool) ((~>) [a6989586621679939358] [a6989586621679939358])
data DropWhileSym1 (a6989586621679948876 :: (~>) a6989586621679939358 Bool) :: (~>) [a6989586621679939358] [a6989586621679939358]
type DropWhileSym2 (a6989586621679948876 :: (~>) a6989586621679939358 Bool) (a6989586621679948877 :: [a6989586621679939358]) = DropWhile a6989586621679948876 a6989586621679948877
data DropWhileEndSym0 :: forall a6989586621679939357. (~>) ((~>) a6989586621679939357 Bool) ((~>) [a6989586621679939357] [a6989586621679939357])
data DropWhileEndSym1 (a6989586621679949932 :: (~>) a6989586621679939357 Bool) :: (~>) [a6989586621679939357] [a6989586621679939357]
type DropWhileEndSym2 (a6989586621679949932 :: (~>) a6989586621679939357 Bool) (a6989586621679949933 :: [a6989586621679939357]) = DropWhileEnd a6989586621679949932 a6989586621679949933
data SpanSym0 :: forall a6989586621679939356. (~>) ((~>) a6989586621679939356 Bool) ((~>) [a6989586621679939356] ([a6989586621679939356], [a6989586621679939356]))
data SpanSym1 (a6989586621679948799 :: (~>) a6989586621679939356 Bool) :: (~>) [a6989586621679939356] ([a6989586621679939356], [a6989586621679939356])
type SpanSym2 (a6989586621679948799 :: (~>) a6989586621679939356 Bool) (a6989586621679948800 :: [a6989586621679939356]) = Span a6989586621679948799 a6989586621679948800
data BreakSym0 :: forall a6989586621679939355. (~>) ((~>) a6989586621679939355 Bool) ((~>) [a6989586621679939355] ([a6989586621679939355], [a6989586621679939355]))
data BreakSym1 (a6989586621679948756 :: (~>) a6989586621679939355 Bool) :: (~>) [a6989586621679939355] ([a6989586621679939355], [a6989586621679939355])
type BreakSym2 (a6989586621679948756 :: (~>) a6989586621679939355 Bool) (a6989586621679948757 :: [a6989586621679939355]) = Break a6989586621679948756 a6989586621679948757
data NotElemSym0 :: forall a6989586621680448355 t6989586621680448354. (~>) a6989586621680448355 ((~>) (t6989586621680448354 a6989586621680448355) Bool)
data NotElemSym1 (a6989586621680448837 :: a6989586621680448355) :: forall t6989586621680448354. (~>) (t6989586621680448354 a6989586621680448355) Bool
type NotElemSym2 (a6989586621680448837 :: a6989586621680448355) (a6989586621680448838 :: t6989586621680448354 a6989586621680448355) = NotElem a6989586621680448837 a6989586621680448838
data ZipSym0 :: forall a6989586621679939413 b6989586621679939414. (~>) [a6989586621679939413] ((~>) [b6989586621679939414] [(a6989586621679939413, b6989586621679939414)])
data ZipSym1 (a6989586621679949241 :: [a6989586621679939413]) :: forall b6989586621679939414. (~>) [b6989586621679939414] [(a6989586621679939413, b6989586621679939414)]
type ZipSym2 (a6989586621679949241 :: [a6989586621679939413]) (a6989586621679949242 :: [b6989586621679939414]) = Zip a6989586621679949241 a6989586621679949242
data Zip3Sym0 :: forall a6989586621679939410 b6989586621679939411 c6989586621679939412. (~>) [a6989586621679939410] ((~>) [b6989586621679939411] ((~>) [c6989586621679939412] [(a6989586621679939410, b6989586621679939411, c6989586621679939412)]))
data Zip3Sym1 (a6989586621679949229 :: [a6989586621679939410]) :: forall b6989586621679939411 c6989586621679939412. (~>) [b6989586621679939411] ((~>) [c6989586621679939412] [(a6989586621679939410, b6989586621679939411, c6989586621679939412)])
data Zip3Sym2 (a6989586621679949229 :: [a6989586621679939410]) (a6989586621679949230 :: [b6989586621679939411]) :: forall c6989586621679939412. (~>) [c6989586621679939412] [(a6989586621679939410, b6989586621679939411, c6989586621679939412)]
type Zip3Sym3 (a6989586621679949229 :: [a6989586621679939410]) (a6989586621679949230 :: [b6989586621679939411]) (a6989586621679949231 :: [c6989586621679939412]) = Zip3 a6989586621679949229 a6989586621679949230 a6989586621679949231
data ZipWithSym0 :: forall a6989586621679939407 b6989586621679939408 c6989586621679939409. (~>) ((~>) a6989586621679939407 ((~>) b6989586621679939408 c6989586621679939409)) ((~>) [a6989586621679939407] ((~>) [b6989586621679939408] [c6989586621679939409]))
data ZipWithSym1 (a6989586621679949218 :: (~>) a6989586621679939407 ((~>) b6989586621679939408 c6989586621679939409)) :: (~>) [a6989586621679939407] ((~>) [b6989586621679939408] [c6989586621679939409])
data ZipWithSym2 (a6989586621679949218 :: (~>) a6989586621679939407 ((~>) b6989586621679939408 c6989586621679939409)) (a6989586621679949219 :: [a6989586621679939407]) :: (~>) [b6989586621679939408] [c6989586621679939409]
type ZipWithSym3 (a6989586621679949218 :: (~>) a6989586621679939407 ((~>) b6989586621679939408 c6989586621679939409)) (a6989586621679949219 :: [a6989586621679939407]) (a6989586621679949220 :: [b6989586621679939408]) = ZipWith a6989586621679949218 a6989586621679949219 a6989586621679949220
data ZipWith3Sym0 :: forall a6989586621679939403 b6989586621679939404 c6989586621679939405 d6989586621679939406. (~>) ((~>) a6989586621679939403 ((~>) b6989586621679939404 ((~>) c6989586621679939405 d6989586621679939406))) ((~>) [a6989586621679939403] ((~>) [b6989586621679939404] ((~>) [c6989586621679939405] [d6989586621679939406])))
data ZipWith3Sym1 (a6989586621679949203 :: (~>) a6989586621679939403 ((~>) b6989586621679939404 ((~>) c6989586621679939405 d6989586621679939406))) :: (~>) [a6989586621679939403] ((~>) [b6989586621679939404] ((~>) [c6989586621679939405] [d6989586621679939406]))
data ZipWith3Sym2 (a6989586621679949203 :: (~>) a6989586621679939403 ((~>) b6989586621679939404 ((~>) c6989586621679939405 d6989586621679939406))) (a6989586621679949204 :: [a6989586621679939403]) :: (~>) [b6989586621679939404] ((~>) [c6989586621679939405] [d6989586621679939406])
data ZipWith3Sym3 (a6989586621679949203 :: (~>) a6989586621679939403 ((~>) b6989586621679939404 ((~>) c6989586621679939405 d6989586621679939406))) (a6989586621679949204 :: [a6989586621679939403]) (a6989586621679949205 :: [b6989586621679939404]) :: (~>) [c6989586621679939405] [d6989586621679939406]
data UnzipSym0 :: forall a6989586621679939401 b6989586621679939402. (~>) [(a6989586621679939401, b6989586621679939402)] ([a6989586621679939401], [b6989586621679939402])
type UnzipSym1 (a6989586621679949184 :: [(a6989586621679939401, b6989586621679939402)]) = Unzip a6989586621679949184
data UnlinesSym0 :: (~>) [Symbol] Symbol
type UnlinesSym1 (a6989586621679949055 :: [Symbol]) = Unlines a6989586621679949055
data UnwordsSym0 :: (~>) [Symbol] Symbol
type UnwordsSym1 (a6989586621679949044 :: [Symbol]) = Unwords a6989586621679949044


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