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


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

-- | A suitable default implementation for <a>testEquality</a> that
--   leverages <a>SDecide</a>.
decideEquality :: forall k (a :: k) (b :: k). SDecide k => Sing a -> Sing b -> Maybe (a :~: b)

-- | A suitable default implementation for <a>testCoercion</a> that
--   leverages <a>SDecide</a>.
decideCoercion :: forall k (a :: k) (b :: k). SDecide k => Sing a -> Sing b -> Maybe (Coercion a b)
instance Data.Singletons.Decide.SDecide k => Data.Type.Equality.TestEquality Data.Singletons.Internal.WrappedSing
instance Data.Singletons.Decide.SDecide k => Data.Type.Coercion.TestCoercion Data.Singletons.Internal.WrappedSing

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 type family.
type family Sing :: k -> Type
data SVoid :: Void -> Type
type family Absurd (a_a1usG :: Void) :: a_a1usD
sAbsurd :: forall a_a1usD (t_a1usM :: Void). Sing t_a1usM -> Sing (Apply AbsurdSym0 t_a1usM :: a_a1usD)
data AbsurdSym0 :: forall a6989586621679365215. (~>) Void a6989586621679365215
type AbsurdSym1 (a6989586621679365218 :: Void) = Absurd a6989586621679365218
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 type family.
type family Sing :: k -> Type
data STuple0 :: () -> Type
[STuple0] :: STuple0 '()
data STuple2 :: forall a_11 b_12. (a_11, b_12) -> Type
[STuple2] :: forall a_11 b_12 (n_a1gmB :: a_11) (n_a1gmC :: b_12). () => Sing (n_a1gmB :: a_11) -> Sing (n_a1gmC :: b_12) -> STuple2 '(n_a1gmB, n_a1gmC)
data STuple3 :: forall a_11 b_12 c_13. (a_11, b_12, c_13) -> Type
[STuple3] :: forall a_11 b_12 c_13 (n_a1gn8 :: a_11) (n_a1gn9 :: b_12) (n_a1gna :: c_13). () => Sing (n_a1gn8 :: a_11) -> Sing (n_a1gn9 :: b_12) -> Sing (n_a1gna :: c_13) -> STuple3 '(n_a1gn8, n_a1gn9, n_a1gna)
data STuple4 :: forall a_11 b_12 c_13 d_14. (a_11, b_12, c_13, d_14) -> Type
[STuple4] :: forall a_11 b_12 c_13 d_14 (n_a1gnV :: a_11) (n_a1gnW :: b_12) (n_a1gnX :: c_13) (n_a1gnY :: d_14). () => Sing (n_a1gnV :: a_11) -> Sing (n_a1gnW :: b_12) -> Sing (n_a1gnX :: c_13) -> Sing (n_a1gnY :: d_14) -> STuple4 '(n_a1gnV, n_a1gnW, n_a1gnX, n_a1gnY)
data STuple5 :: forall a_11 b_12 c_13 d_14 e_15. (a_11, b_12, c_13, d_14, e_15) -> Type
[STuple5] :: forall a_11 b_12 c_13 d_14 e_15 (n_a1gp0 :: a_11) (n_a1gp1 :: b_12) (n_a1gp2 :: c_13) (n_a1gp3 :: d_14) (n_a1gp4 :: e_15). () => Sing (n_a1gp0 :: a_11) -> Sing (n_a1gp1 :: b_12) -> Sing (n_a1gp2 :: c_13) -> Sing (n_a1gp3 :: d_14) -> Sing (n_a1gp4 :: e_15) -> STuple5 '(n_a1gp0, n_a1gp1, n_a1gp2, n_a1gp3, n_a1gp4)
data STuple6 :: forall a_11 b_12 c_13 d_14 e_15 f_16. (a_11, b_12, c_13, d_14, e_15, f_16) -> Type
[STuple6] :: forall a_11 b_12 c_13 d_14 e_15 f_16 (n_a1gqp :: a_11) (n_a1gqq :: b_12) (n_a1gqr :: c_13) (n_a1gqs :: d_14) (n_a1gqt :: e_15) (n_a1gqu :: f_16). () => Sing (n_a1gqp :: a_11) -> Sing (n_a1gqq :: b_12) -> Sing (n_a1gqr :: c_13) -> Sing (n_a1gqs :: d_14) -> Sing (n_a1gqt :: e_15) -> Sing (n_a1gqu :: f_16) -> STuple6 '(n_a1gqp, n_a1gqq, n_a1gqr, n_a1gqs, n_a1gqt, n_a1gqu)
data STuple7 :: forall a_11 b_12 c_13 d_14 e_15 f_16 g_17. (a_11, b_12, c_13, d_14, e_15, f_16, g_17) -> Type
[STuple7] :: forall a_11 b_12 c_13 d_14 e_15 f_16 g_17 (n_a1gsa :: a_11) (n_a1gsb :: b_12) (n_a1gsc :: c_13) (n_a1gsd :: d_14) (n_a1gse :: e_15) (n_a1gsf :: f_16) (n_a1gsg :: g_17). () => Sing (n_a1gsa :: a_11) -> Sing (n_a1gsb :: b_12) -> Sing (n_a1gsc :: c_13) -> Sing (n_a1gsd :: d_14) -> Sing (n_a1gse :: e_15) -> Sing (n_a1gsf :: f_16) -> Sing (n_a1gsg :: g_17) -> STuple7 '(n_a1gsa, n_a1gsb, n_a1gsc, n_a1gsd, n_a1gse, n_a1gsf, n_a1gsg)
type family Fst (a_a1uIk :: (a_a1uGG, b_a1uGH)) :: a_a1uGG
sFst :: forall a_a1uGG b_a1uGH (t_a1uIB :: (a_a1uGG, b_a1uGH)). Sing t_a1uIB -> Sing (Apply FstSym0 t_a1uIB :: a_a1uGG)
type family Snd (a_a1uIh :: (a_a1uGE, b_a1uGF)) :: b_a1uGF
sSnd :: forall a_a1uGE b_a1uGF (t_a1uIz :: (a_a1uGE, b_a1uGF)). Sing t_a1uIz -> Sing (Apply SndSym0 t_a1uIz :: b_a1uGF)
type family Curry (a_a1uI8 :: (~>) (a_a1uGB, b_a1uGC) c_a1uGD) (a_a1uI9 :: a_a1uGB) (a_a1uIa :: b_a1uGC) :: c_a1uGD
sCurry :: forall a_a1uGB b_a1uGC c_a1uGD (t_a1uIt :: (~>) (a_a1uGB, b_a1uGC) c_a1uGD) (t_a1uIu :: a_a1uGB) (t_a1uIv :: b_a1uGC). Sing t_a1uIt -> Sing t_a1uIu -> Sing t_a1uIv -> Sing (Apply (Apply (Apply CurrySym0 t_a1uIt) t_a1uIu) t_a1uIv :: c_a1uGD)
type family Uncurry (a_a1uI2 :: (~>) a_a1uGy ((~>) b_a1uGz c_a1uGA)) (a_a1uI3 :: (a_a1uGy, b_a1uGz)) :: c_a1uGA
sUncurry :: forall a_a1uGy b_a1uGz c_a1uGA (t_a1uIp :: (~>) a_a1uGy ((~>) b_a1uGz c_a1uGA)) (t_a1uIq :: (a_a1uGy, b_a1uGz)). Sing t_a1uIp -> Sing t_a1uIq -> Sing (Apply (Apply UncurrySym0 t_a1uIp) t_a1uIq :: c_a1uGA)
type family Swap (a_a1uHY :: (a_a1uGw, b_a1uGx)) :: (b_a1uGx, a_a1uGw)
sSwap :: forall a_a1uGw b_a1uGx (t_a1uIn :: (a_a1uGw, b_a1uGx)). Sing t_a1uIn -> Sing (Apply SwapSym0 t_a1uIn :: (b_a1uGx, a_a1uGw))
type Tuple0Sym0 = '()
data Tuple2Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 (a3530822107858468865 :: Type, b3530822107858468866 :: Type))
data Tuple2Sym1 (t6989586621679311021 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type). (~>) b3530822107858468866 (a3530822107858468865 :: Type, b3530822107858468866 :: Type)
type Tuple2Sym2 (t6989586621679311021 :: a3530822107858468865) (t6989586621679311022 :: b3530822107858468866) = '(t6989586621679311021, t6989586621679311022)
data Tuple3Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type)))
data Tuple3Sym1 (t6989586621679311052 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type))
data Tuple3Sym2 (t6989586621679311052 :: a3530822107858468865 :: Type) (t6989586621679311053 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type). (~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type)
type Tuple3Sym3 (t6989586621679311052 :: a3530822107858468865) (t6989586621679311053 :: b3530822107858468866) (t6989586621679311054 :: c3530822107858468867) = '(t6989586621679311052, t6989586621679311053, t6989586621679311054)
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 (t6989586621679311099 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type)))
data Tuple4Sym2 (t6989586621679311099 :: a3530822107858468865 :: Type) (t6989586621679311100 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type))
data Tuple4Sym3 (t6989586621679311099 :: a3530822107858468865 :: Type) (t6989586621679311100 :: b3530822107858468866 :: Type) (t6989586621679311101 :: c3530822107858468867 :: Type) :: forall (d3530822107858468868 :: Type). (~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type)
type Tuple4Sym4 (t6989586621679311099 :: a3530822107858468865) (t6989586621679311100 :: b3530822107858468866) (t6989586621679311101 :: c3530822107858468867) (t6989586621679311102 :: d3530822107858468868) = '(t6989586621679311099, t6989586621679311100, t6989586621679311101, t6989586621679311102)
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 (t6989586621679311164 :: 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 (t6989586621679311164 :: a3530822107858468865 :: Type) (t6989586621679311165 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type)))
data Tuple5Sym3 (t6989586621679311164 :: a3530822107858468865 :: Type) (t6989586621679311165 :: b3530822107858468866 :: Type) (t6989586621679311166 :: c3530822107858468867 :: Type) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type))
data Tuple5Sym4 (t6989586621679311164 :: a3530822107858468865 :: Type) (t6989586621679311165 :: b3530822107858468866 :: Type) (t6989586621679311166 :: c3530822107858468867 :: Type) (t6989586621679311167 :: d3530822107858468868 :: Type) :: forall (e3530822107858468869 :: Type). (~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type)
type Tuple5Sym5 (t6989586621679311164 :: a3530822107858468865) (t6989586621679311165 :: b3530822107858468866) (t6989586621679311166 :: c3530822107858468867) (t6989586621679311167 :: d3530822107858468868) (t6989586621679311168 :: e3530822107858468869) = '(t6989586621679311164, t6989586621679311165, t6989586621679311166, t6989586621679311167, t6989586621679311168)
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 (t6989586621679311249 :: 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 (t6989586621679311249 :: a3530822107858468865 :: Type) (t6989586621679311250 :: 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 (t6989586621679311249 :: a3530822107858468865 :: Type) (t6989586621679311250 :: b3530822107858468866 :: Type) (t6989586621679311251 :: 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 (t6989586621679311249 :: a3530822107858468865 :: Type) (t6989586621679311250 :: b3530822107858468866 :: Type) (t6989586621679311251 :: c3530822107858468867 :: Type) (t6989586621679311252 :: d3530822107858468868 :: Type) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type))
data Tuple6Sym5 (t6989586621679311249 :: a3530822107858468865 :: Type) (t6989586621679311250 :: b3530822107858468866 :: Type) (t6989586621679311251 :: c3530822107858468867 :: Type) (t6989586621679311252 :: d3530822107858468868 :: Type) (t6989586621679311253 :: e3530822107858468869 :: Type) :: forall (f3530822107858468870 :: Type). (~>) f3530822107858468870 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type)
type Tuple6Sym6 (t6989586621679311249 :: a3530822107858468865) (t6989586621679311250 :: b3530822107858468866) (t6989586621679311251 :: c3530822107858468867) (t6989586621679311252 :: d3530822107858468868) (t6989586621679311253 :: e3530822107858468869) (t6989586621679311254 :: f3530822107858468870) = '(t6989586621679311249, t6989586621679311250, t6989586621679311251, t6989586621679311252, t6989586621679311253, t6989586621679311254)
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 (t6989586621679311356 :: 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 (t6989586621679311356 :: a3530822107858468865 :: Type) (t6989586621679311357 :: 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 (t6989586621679311356 :: a3530822107858468865 :: Type) (t6989586621679311357 :: b3530822107858468866 :: Type) (t6989586621679311358 :: 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 (t6989586621679311356 :: a3530822107858468865 :: Type) (t6989586621679311357 :: b3530822107858468866 :: Type) (t6989586621679311358 :: c3530822107858468867 :: Type) (t6989586621679311359 :: 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 (t6989586621679311356 :: a3530822107858468865 :: Type) (t6989586621679311357 :: b3530822107858468866 :: Type) (t6989586621679311358 :: c3530822107858468867 :: Type) (t6989586621679311359 :: d3530822107858468868 :: Type) (t6989586621679311360 :: 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 (t6989586621679311356 :: a3530822107858468865 :: Type) (t6989586621679311357 :: b3530822107858468866 :: Type) (t6989586621679311358 :: c3530822107858468867 :: Type) (t6989586621679311359 :: d3530822107858468868 :: Type) (t6989586621679311360 :: e3530822107858468869 :: Type) (t6989586621679311361 :: f3530822107858468870 :: Type) :: forall (g3530822107858468871 :: Type). (~>) g3530822107858468871 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type, g3530822107858468871 :: Type)
type Tuple7Sym7 (t6989586621679311356 :: a3530822107858468865) (t6989586621679311357 :: b3530822107858468866) (t6989586621679311358 :: c3530822107858468867) (t6989586621679311359 :: d3530822107858468868) (t6989586621679311360 :: e3530822107858468869) (t6989586621679311361 :: f3530822107858468870) (t6989586621679311362 :: g3530822107858468871) = '(t6989586621679311356, t6989586621679311357, t6989586621679311358, t6989586621679311359, t6989586621679311360, t6989586621679311361, t6989586621679311362)
data FstSym0 :: forall a6989586621679366086 b6989586621679366087. (~>) (a6989586621679366086, b6989586621679366087) a6989586621679366086
type FstSym1 (a6989586621679366188 :: (a6989586621679366086, b6989586621679366087)) = Fst a6989586621679366188
data SndSym0 :: forall a6989586621679366084 b6989586621679366085. (~>) (a6989586621679366084, b6989586621679366085) b6989586621679366085
type SndSym1 (a6989586621679366185 :: (a6989586621679366084, b6989586621679366085)) = Snd a6989586621679366185
data CurrySym0 :: forall a6989586621679366081 b6989586621679366082 c6989586621679366083. (~>) ((~>) (a6989586621679366081, b6989586621679366082) c6989586621679366083) ((~>) a6989586621679366081 ((~>) b6989586621679366082 c6989586621679366083))
data CurrySym1 (a6989586621679366176 :: (~>) (a6989586621679366081, b6989586621679366082) c6989586621679366083) :: (~>) a6989586621679366081 ((~>) b6989586621679366082 c6989586621679366083)
data CurrySym2 (a6989586621679366176 :: (~>) (a6989586621679366081, b6989586621679366082) c6989586621679366083) (a6989586621679366177 :: a6989586621679366081) :: (~>) b6989586621679366082 c6989586621679366083
type CurrySym3 (a6989586621679366176 :: (~>) (a6989586621679366081, b6989586621679366082) c6989586621679366083) (a6989586621679366177 :: a6989586621679366081) (a6989586621679366178 :: b6989586621679366082) = Curry a6989586621679366176 a6989586621679366177 a6989586621679366178
data UncurrySym0 :: forall a6989586621679366078 b6989586621679366079 c6989586621679366080. (~>) ((~>) a6989586621679366078 ((~>) b6989586621679366079 c6989586621679366080)) ((~>) (a6989586621679366078, b6989586621679366079) c6989586621679366080)
data UncurrySym1 (a6989586621679366170 :: (~>) a6989586621679366078 ((~>) b6989586621679366079 c6989586621679366080)) :: (~>) (a6989586621679366078, b6989586621679366079) c6989586621679366080
type UncurrySym2 (a6989586621679366170 :: (~>) a6989586621679366078 ((~>) b6989586621679366079 c6989586621679366080)) (a6989586621679366171 :: (a6989586621679366078, b6989586621679366079)) = Uncurry a6989586621679366170 a6989586621679366171
data SwapSym0 :: forall a6989586621679366076 b6989586621679366077. (~>) (a6989586621679366076, b6989586621679366077) (b6989586621679366077, a6989586621679366076)
type SwapSym1 (a6989586621679366166 :: (a6989586621679366076, b6989586621679366077)) = Swap a6989586621679366166
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Tuple.UncurrySym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Tuple.UncurrySym0
instance forall a6989586621679366078 b6989586621679366079 c6989586621679366080 (a6989586621679366170 :: a6989586621679366078 Data.Singletons.Internal.~> (b6989586621679366079 Data.Singletons.Internal.~> c6989586621679366080)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Tuple.UncurrySym1 a6989586621679366170)
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 a6989586621679366081 b6989586621679366082 c6989586621679366083 (a6989586621679366176 :: (a6989586621679366081, b6989586621679366082) Data.Singletons.Internal.~> c6989586621679366083). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Tuple.CurrySym1 a6989586621679366176)
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 a6989586621679366081 b6989586621679366082 c6989586621679366083 (a6989586621679366177 :: (a6989586621679366081, b6989586621679366082) Data.Singletons.Internal.~> c6989586621679366083) (a6989586621679366176 :: a6989586621679366081). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Tuple.CurrySym2 a6989586621679366177 a6989586621679366176)
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 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 type family.
type family Sing :: k -> Type
data SBool :: Bool -> Type
[SFalse] :: SBool 'False
[STrue] :: SBool 'True
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 family Not (a :: Bool) = (res :: Bool) | res -> a

-- | Negation of a singleton
sNot :: Sing a -> Sing (Not a)
type family (a :: Bool) && (b :: Bool) :: Bool
type family (a :: Bool) || (b :: Bool) :: Bool

-- | 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_a1w8x -> a_a1w8x -> Bool -> a_a1w8x
type family Bool_ (a_a1w8D :: a_a1w8x) (a_a1w8E :: a_a1w8x) (a_a1w8F :: Bool) :: a_a1w8x
sBool_ :: forall a_a1w8x (t_a1w8N :: a_a1w8x) (t_a1w8O :: a_a1w8x) (t_a1w8P :: Bool). Sing t_a1w8N -> Sing t_a1w8O -> Sing t_a1w8P -> Sing (Apply (Apply (Apply Bool_Sym0 t_a1w8N) t_a1w8O) t_a1w8P :: a_a1w8x)
type family Otherwise :: Bool
sOtherwise :: Sing (OtherwiseSym0 :: Bool)
type TrueSym0 = 'True
type FalseSym0 = 'False
data NotSym0 :: (~>) Bool Bool
type NotSym1 (a6989586621679372951 :: Bool) = Not a6989586621679372951
data (&&@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 3 &&@#@$
data (&&@#@$$) (a6989586621679372419 :: Bool) :: (~>) Bool Bool
infixr 3 &&@#@$$
type (&&@#@$$$) (a6989586621679372419 :: Bool) (b6989586621679372420 :: Bool) = (&&) a6989586621679372419 b6989586621679372420
data (||@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 2 ||@#@$
data (||@#@$$) (a6989586621679372657 :: Bool) :: (~>) Bool Bool
infixr 2 ||@#@$$
type (||@#@$$$) (a6989586621679372657 :: Bool) (b6989586621679372658 :: Bool) = (||) a6989586621679372657 b6989586621679372658
data Bool_Sym0 :: forall a6989586621679371657. (~>) a6989586621679371657 ((~>) a6989586621679371657 ((~>) Bool a6989586621679371657))
data Bool_Sym1 (a6989586621679371663 :: a6989586621679371657) :: (~>) a6989586621679371657 ((~>) Bool a6989586621679371657)
data Bool_Sym2 (a6989586621679371663 :: a6989586621679371657) (a6989586621679371664 :: a6989586621679371657) :: (~>) Bool a6989586621679371657
type Bool_Sym3 (a6989586621679371663 :: a6989586621679371657) (a6989586621679371664 :: a6989586621679371657) (a6989586621679371665 :: Bool) = Bool_ a6989586621679371663 a6989586621679371664 a6989586621679371665
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.||@#@$$) a6989586621679372657)
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.&&@#@$$) a6989586621679372419)
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 a6989586621679371657 (a6989586621679371663 :: a6989586621679371657). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Bool.Bool_Sym1 a6989586621679371663)
instance forall a (d :: a). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Bool.Bool_Sym1 d)
instance forall a6989586621679371657 (a6989586621679371664 :: a6989586621679371657) (a6989586621679371663 :: a6989586621679371657). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Bool.Bool_Sym2 a6989586621679371664 a6989586621679371663)
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
--   <a>(==)</a>, 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
--   <a>(%==)</a>. You may also supply a body for <a>(%/=)</a>.
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 <a>(==)</a> type
--   family from <a>Data.Type.Equality</a> in <tt>base</tt>, as <a>(==)</a>
--   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
--   <a>(==)</a>.
type family DefaultEq (a :: k) (b :: k) :: Bool
data (==@#@$) :: forall a6989586621679375787. (~>) a6989586621679375787 ((~>) a6989586621679375787 Bool)
infix 4 ==@#@$
data (==@#@$$) (x6989586621679375788 :: a6989586621679375787) :: (~>) a6989586621679375787 Bool
infix 4 ==@#@$$
type (==@#@$$$) (x6989586621679375788 :: a6989586621679375787) (y6989586621679375789 :: a6989586621679375787) = (==) x6989586621679375788 y6989586621679375789
data (/=@#@$) :: forall a6989586621679375787. (~>) a6989586621679375787 ((~>) a6989586621679375787 Bool)
infix 4 /=@#@$
data (/=@#@$$) (x6989586621679375790 :: a6989586621679375787) :: (~>) a6989586621679375787 Bool
infix 4 /=@#@$$
type (/=@#@$$$) (x6989586621679375790 :: a6989586621679375787) (y6989586621679375791 :: a6989586621679375787) = (/=) x6989586621679375790 y6989586621679375791
data DefaultEqSym0 :: forall k6989586621679375781. (~>) k6989586621679375781 ((~>) k6989586621679375781 Bool)
data DefaultEqSym1 (a6989586621679375782 :: k6989586621679375781) :: (~>) k6989586621679375781 Bool
type DefaultEqSym2 (a6989586621679375782 :: k6989586621679375781) (b6989586621679375783 :: k6989586621679375781) = DefaultEq a6989586621679375782 b6989586621679375783
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 k6989586621679375781 (a6989586621679375782 :: k6989586621679375781). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Eq.DefaultEqSym1 a6989586621679375782)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Eq./=@#@$)
instance forall a6989586621679375787 (x6989586621679375790 :: a6989586621679375787). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Eq./=@#@$$) x6989586621679375790)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Eq.==@#@$)
instance forall a6989586621679375787 (x6989586621679375788 :: a6989586621679375787). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Eq.==@#@$$) x6989586621679375788)


-- | 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 type family.
type 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.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 POrd (a_a1AQq :: Type) where {
    type family Compare (arg_a1ARR :: a_a1AQq) (arg_a1ARS :: a_a1AQq) :: Ordering;
    type family (<) (arg_a1ARV :: a_a1AQq) (arg_a1ARW :: a_a1AQq) :: Bool;
    type family (<=) (arg_a1ARZ :: a_a1AQq) (arg_a1AS0 :: a_a1AQq) :: Bool;
    type family (>) (arg_a1AS3 :: a_a1AQq) (arg_a1AS4 :: a_a1AQq) :: Bool;
    type family (>=) (arg_a1AS7 :: a_a1AQq) (arg_a1AS8 :: a_a1AQq) :: Bool;
    type family Max (arg_a1ASb :: a_a1AQq) (arg_a1ASc :: a_a1AQq) :: a_a1AQq;
    type family Min (arg_a1ASf :: a_a1AQq) (arg_a1ASg :: a_a1AQq) :: a_a1AQq;
    type Compare a_a1ASj a_a1ASk = Apply (Apply Compare_6989586621679389873Sym0 a_a1ASj) a_a1ASk;
    type (<) a_a1ASH a_a1ASI = Apply (Apply TFHelper_6989586621679389897Sym0 a_a1ASH) a_a1ASI;
    type (<=) a_a1ASZ a_a1AT0 = Apply (Apply TFHelper_6989586621679389915Sym0 a_a1ASZ) a_a1AT0;
    type (>) a_a1ATh a_a1ATi = Apply (Apply TFHelper_6989586621679389933Sym0 a_a1ATh) a_a1ATi;
    type (>=) a_a1ATz a_a1ATA = Apply (Apply TFHelper_6989586621679389951Sym0 a_a1ATz) a_a1ATA;
    type Max a_a1ATR a_a1ATS = Apply (Apply Max_6989586621679389969Sym0 a_a1ATR) a_a1ATS;
    type Min a_a1AU9 a_a1AUa = Apply (Apply Min_6989586621679389987Sym0 a_a1AU9) a_a1AUa;
}
infix 4 >=
infix 4 <
infix 4 <=
infix 4 >
class SEq a_a1AQq => SOrd a_a1AQq
sCompare :: forall (t_a1AUA :: a_a1AQq) (t_a1AUB :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUA -> Sing t_a1AUB -> Sing (Apply (Apply CompareSym0 t_a1AUA) t_a1AUB :: Ordering)
(%<) :: forall (t_a1AUE :: a_a1AQq) (t_a1AUF :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUE -> Sing t_a1AUF -> Sing (Apply (Apply (<@#@$) t_a1AUE) t_a1AUF :: Bool)
(%<=) :: forall (t_a1AUI :: a_a1AQq) (t_a1AUJ :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUI -> Sing t_a1AUJ -> Sing (Apply (Apply (<=@#@$) t_a1AUI) t_a1AUJ :: Bool)
(%>) :: forall (t_a1AUM :: a_a1AQq) (t_a1AUN :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUM -> Sing t_a1AUN -> Sing (Apply (Apply (>@#@$) t_a1AUM) t_a1AUN :: Bool)
(%>=) :: forall (t_a1AUQ :: a_a1AQq) (t_a1AUR :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUQ -> Sing t_a1AUR -> Sing (Apply (Apply (>=@#@$) t_a1AUQ) t_a1AUR :: Bool)
sMax :: forall (t_a1AUU :: a_a1AQq) (t_a1AUV :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUU -> Sing t_a1AUV -> Sing (Apply (Apply MaxSym0 t_a1AUU) t_a1AUV :: a_a1AQq)
sMin :: forall (t_a1AUY :: a_a1AQq) (t_a1AUZ :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUY -> Sing t_a1AUZ -> Sing (Apply (Apply MinSym0 t_a1AUY) t_a1AUZ :: a_a1AQq)
sCompare :: forall (t_a1AUA :: a_a1AQq) (t_a1AUB :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply CompareSym0 t_a1AUA) t_a1AUB :: Ordering) ~ Apply (Apply Compare_6989586621679389873Sym0 t_a1AUA) t_a1AUB) => Sing t_a1AUA -> Sing t_a1AUB -> Sing (Apply (Apply CompareSym0 t_a1AUA) t_a1AUB :: Ordering)
(%<) :: forall (t_a1AUE :: a_a1AQq) (t_a1AUF :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply (<@#@$) t_a1AUE) t_a1AUF :: Bool) ~ Apply (Apply TFHelper_6989586621679389897Sym0 t_a1AUE) t_a1AUF) => Sing t_a1AUE -> Sing t_a1AUF -> Sing (Apply (Apply (<@#@$) t_a1AUE) t_a1AUF :: Bool)
(%<=) :: forall (t_a1AUI :: a_a1AQq) (t_a1AUJ :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply (<=@#@$) t_a1AUI) t_a1AUJ :: Bool) ~ Apply (Apply TFHelper_6989586621679389915Sym0 t_a1AUI) t_a1AUJ) => Sing t_a1AUI -> Sing t_a1AUJ -> Sing (Apply (Apply (<=@#@$) t_a1AUI) t_a1AUJ :: Bool)
(%>) :: forall (t_a1AUM :: a_a1AQq) (t_a1AUN :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply (>@#@$) t_a1AUM) t_a1AUN :: Bool) ~ Apply (Apply TFHelper_6989586621679389933Sym0 t_a1AUM) t_a1AUN) => Sing t_a1AUM -> Sing t_a1AUN -> Sing (Apply (Apply (>@#@$) t_a1AUM) t_a1AUN :: Bool)
(%>=) :: forall (t_a1AUQ :: a_a1AQq) (t_a1AUR :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply (>=@#@$) t_a1AUQ) t_a1AUR :: Bool) ~ Apply (Apply TFHelper_6989586621679389951Sym0 t_a1AUQ) t_a1AUR) => Sing t_a1AUQ -> Sing t_a1AUR -> Sing (Apply (Apply (>=@#@$) t_a1AUQ) t_a1AUR :: Bool)
sMax :: forall (t_a1AUU :: a_a1AQq) (t_a1AUV :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply MaxSym0 t_a1AUU) t_a1AUV :: a_a1AQq) ~ Apply (Apply Max_6989586621679389969Sym0 t_a1AUU) t_a1AUV) => Sing t_a1AUU -> Sing t_a1AUV -> Sing (Apply (Apply MaxSym0 t_a1AUU) t_a1AUV :: a_a1AQq)
sMin :: forall (t_a1AUY :: a_a1AQq) (t_a1AUZ :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply MinSym0 t_a1AUY) t_a1AUZ :: a_a1AQq) ~ Apply (Apply Min_6989586621679389987Sym0 t_a1AUY) t_a1AUZ) => Sing t_a1AUY -> Sing t_a1AUZ -> Sing (Apply (Apply MinSym0 t_a1AUY) t_a1AUZ :: a_a1AQq)
infix 4 %<=
infix 4 %>=
infix 4 %>
infix 4 %<
type family Comparing (a_a1ARI :: (~>) b_a1AQg a_a1AQf) (a_a1ARJ :: b_a1AQg) (a_a1ARK :: b_a1AQg) :: Ordering
sComparing :: forall b_a1AQg a_a1AQf (t_a1AUr :: (~>) b_a1AQg a_a1AQf) (t_a1AUs :: b_a1AQg) (t_a1AUt :: b_a1AQg). SOrd a_a1AQf => Sing t_a1AUr -> Sing t_a1AUs -> Sing t_a1AUt -> Sing (Apply (Apply (Apply ComparingSym0 t_a1AUr) t_a1AUs) t_a1AUt :: Ordering)
thenCmp :: Ordering -> Ordering -> Ordering
type family ThenCmp (a_a1DyH :: Ordering) (a_a1DyI :: Ordering) :: Ordering
sThenCmp :: forall (t_a1DyM :: Ordering) (t_a1DyN :: Ordering). Sing t_a1DyM -> Sing t_a1DyN -> Sing (Apply (Apply ThenCmpSym0 t_a1DyM) t_a1DyN :: Ordering)

-- | The singleton kind-indexed type family.
type family Sing :: k -> Type
data SOrdering :: Ordering -> Type
[SLT] :: SOrdering 'LT
[SEQ] :: SOrdering 'EQ
[SGT] :: SOrdering 'GT
data SDown :: forall a_akPO. Down a_akPO -> Type
[SDown] :: forall a_akPO (n_a1Dda :: a_akPO). () => Sing (n_a1Dda :: a_akPO) -> SDown ('Down n_a1Dda)
data ThenCmpSym0 :: (~>) Ordering ((~>) Ordering Ordering)
data ThenCmpSym1 (a6989586621679400187 :: Ordering) :: (~>) Ordering Ordering
type ThenCmpSym2 (a6989586621679400187 :: Ordering) (a6989586621679400188 :: Ordering) = ThenCmp a6989586621679400187 a6989586621679400188
type LTSym0 = 'LT
type EQSym0 = 'EQ
type GTSym0 = 'GT
data CompareSym0 :: forall a6989586621679389754. (~>) a6989586621679389754 ((~>) a6989586621679389754 Ordering)
data CompareSym1 (arg6989586621679389843 :: a6989586621679389754) :: (~>) a6989586621679389754 Ordering
type CompareSym2 (arg6989586621679389843 :: a6989586621679389754) (arg6989586621679389844 :: a6989586621679389754) = Compare arg6989586621679389843 arg6989586621679389844
data (<@#@$) :: forall a6989586621679389754. (~>) a6989586621679389754 ((~>) a6989586621679389754 Bool)
infix 4 <@#@$
data (<@#@$$) (arg6989586621679389847 :: a6989586621679389754) :: (~>) a6989586621679389754 Bool
infix 4 <@#@$$
type (<@#@$$$) (arg6989586621679389847 :: a6989586621679389754) (arg6989586621679389848 :: a6989586621679389754) = (<) arg6989586621679389847 arg6989586621679389848
data (<=@#@$) :: forall a6989586621679389754. (~>) a6989586621679389754 ((~>) a6989586621679389754 Bool)
infix 4 <=@#@$
data (<=@#@$$) (arg6989586621679389851 :: a6989586621679389754) :: (~>) a6989586621679389754 Bool
infix 4 <=@#@$$
type (<=@#@$$$) (arg6989586621679389851 :: a6989586621679389754) (arg6989586621679389852 :: a6989586621679389754) = (<=) arg6989586621679389851 arg6989586621679389852
data (>@#@$) :: forall a6989586621679389754. (~>) a6989586621679389754 ((~>) a6989586621679389754 Bool)
infix 4 >@#@$
data (>@#@$$) (arg6989586621679389855 :: a6989586621679389754) :: (~>) a6989586621679389754 Bool
infix 4 >@#@$$
type (>@#@$$$) (arg6989586621679389855 :: a6989586621679389754) (arg6989586621679389856 :: a6989586621679389754) = (>) arg6989586621679389855 arg6989586621679389856
data (>=@#@$) :: forall a6989586621679389754. (~>) a6989586621679389754 ((~>) a6989586621679389754 Bool)
infix 4 >=@#@$
data (>=@#@$$) (arg6989586621679389859 :: a6989586621679389754) :: (~>) a6989586621679389754 Bool
infix 4 >=@#@$$
type (>=@#@$$$) (arg6989586621679389859 :: a6989586621679389754) (arg6989586621679389860 :: a6989586621679389754) = (>=) arg6989586621679389859 arg6989586621679389860
data MaxSym0 :: forall a6989586621679389754. (~>) a6989586621679389754 ((~>) a6989586621679389754 a6989586621679389754)
data MaxSym1 (arg6989586621679389863 :: a6989586621679389754) :: (~>) a6989586621679389754 a6989586621679389754
type MaxSym2 (arg6989586621679389863 :: a6989586621679389754) (arg6989586621679389864 :: a6989586621679389754) = Max arg6989586621679389863 arg6989586621679389864
data MinSym0 :: forall a6989586621679389754. (~>) a6989586621679389754 ((~>) a6989586621679389754 a6989586621679389754)
data MinSym1 (arg6989586621679389867 :: a6989586621679389754) :: (~>) a6989586621679389754 a6989586621679389754
type MinSym2 (arg6989586621679389867 :: a6989586621679389754) (arg6989586621679389868 :: a6989586621679389754) = Min arg6989586621679389867 arg6989586621679389868
data ComparingSym0 :: forall b6989586621679389744 a6989586621679389743. (~>) ((~>) b6989586621679389744 a6989586621679389743) ((~>) b6989586621679389744 ((~>) b6989586621679389744 Ordering))
data ComparingSym1 (a6989586621679389834 :: (~>) b6989586621679389744 a6989586621679389743) :: (~>) b6989586621679389744 ((~>) b6989586621679389744 Ordering)
data ComparingSym2 (a6989586621679389834 :: (~>) b6989586621679389744 a6989586621679389743) (a6989586621679389835 :: b6989586621679389744) :: (~>) b6989586621679389744 Ordering
type ComparingSym3 (a6989586621679389834 :: (~>) b6989586621679389744 a6989586621679389743) (a6989586621679389835 :: b6989586621679389744) (a6989586621679389836 :: b6989586621679389744) = Comparing a6989586621679389834 a6989586621679389835 a6989586621679389836
data DownSym0 :: forall (a6989586621679089884 :: Type). (~>) a6989586621679089884 (Down (a6989586621679089884 :: Type))
type DownSym1 (t6989586621679398850 :: a6989586621679089884) = 'Down t6989586621679398850
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679401100Sym0
instance Data.Singletons.Prelude.Ord.POrd ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679401100Sym1 a6989586621679401098)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679401090Sym0
instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679401090Sym1 a6989586621679401088)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679401080Sym0
instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679401080Sym1 a6989586621679401078)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679401066Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Functor.Identity.Identity a)
instance forall a6989586621679082654 (a6989586621679401064 :: Data.Functor.Identity.Identity a6989586621679082654). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679401066Sym1 a6989586621679401064)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679401021Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f, g)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 e3530822107858468869 f3530822107858468870 g3530822107858468871 (a6989586621679401019 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679401021Sym1 a6989586621679401019)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400938Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 e3530822107858468869 f3530822107858468870 (a6989586621679400936 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400938Sym1 a6989586621679400936)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400866Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 e3530822107858468869 (a6989586621679400864 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400866Sym1 a6989586621679400864)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400805Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 (a6989586621679400803 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400805Sym1 a6989586621679400803)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400755Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 (a6989586621679400753 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400755Sym1 a6989586621679400753)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400716Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b)
instance forall a3530822107858468865 b3530822107858468866 (a6989586621679400714 :: (a3530822107858468865, b3530822107858468866)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400716Sym1 a6989586621679400714)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400692Sym0
instance Data.Singletons.Prelude.Ord.POrd Data.Void.Void
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400692Sym1 a6989586621679400690)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400674Sym0
instance Data.Singletons.Prelude.Ord.POrd (GHC.Base.NonEmpty a)
instance forall a6989586621679059393 (a6989586621679400672 :: GHC.Base.NonEmpty a6989586621679059393). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400674Sym1 a6989586621679400672)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400645Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Either.Either a b)
instance forall a6989586621679086099 b6989586621679086100 (a6989586621679400643 :: Data.Either.Either a6989586621679086099 b6989586621679086100). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400645Sym1 a6989586621679400643)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400599Sym0
instance Data.Singletons.Prelude.Ord.POrd [a]
instance forall a3530822107858468865 (a6989586621679400597 :: [a3530822107858468865]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400599Sym1 a6989586621679400597)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400567Sym0
instance Data.Singletons.Prelude.Ord.POrd (GHC.Maybe.Maybe a)
instance forall a3530822107858468865 (a6989586621679400565 :: GHC.Maybe.Maybe a3530822107858468865). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400567Sym1 a6989586621679400565)
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 a6989586621679400187)
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_6989586621679399294Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Ord.Down a)
instance forall a6989586621679399274 (a6989586621679399292 :: Data.Ord.Down a6989586621679399274). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679399294Sym1 a6989586621679399292)
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.Decide.SDecide a => Data.Type.Equality.TestEquality Data.Singletons.Prelude.Ord.SDown
instance Data.Singletons.Decide.SDecide a => Data.Type.Coercion.TestCoercion Data.Singletons.Prelude.Ord.SDown
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.Prelude.Ord.DownSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.DownSym0
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 b6989586621679389744 a6989586621679389743 (a6989586621679389834 :: b6989586621679389744 Data.Singletons.Internal.~> a6989586621679389743). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.ComparingSym1 a6989586621679389834)
instance forall b6989586621679389744 a6989586621679389743 (a6989586621679389835 :: b6989586621679389744 Data.Singletons.Internal.~> a6989586621679389743) (a6989586621679389834 :: b6989586621679389744). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.ComparingSym2 a6989586621679389835 a6989586621679389834)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679389905Scrutinee_6989586621679389776Sym0
instance forall k1 (x6989586621679389903 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679389905Scrutinee_6989586621679389776Sym1 x6989586621679389903)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679389923Scrutinee_6989586621679389778Sym0
instance forall k1 (x6989586621679389921 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679389923Scrutinee_6989586621679389778Sym1 x6989586621679389921)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679389941Scrutinee_6989586621679389780Sym0
instance forall k1 (x6989586621679389939 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679389941Scrutinee_6989586621679389780Sym1 x6989586621679389939)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679389959Scrutinee_6989586621679389782Sym0
instance forall k1 (x6989586621679389957 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679389959Scrutinee_6989586621679389782Sym1 x6989586621679389957)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.<@#@$)
instance forall a6989586621679389754 (arg6989586621679389847 :: a6989586621679389754). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.<@#@$$) arg6989586621679389847)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679389886Scrutinee_6989586621679389774Sym0
instance forall k1 (x6989586621679389879 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679389886Scrutinee_6989586621679389774Sym1 x6989586621679389879)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679389977Scrutinee_6989586621679389784Sym0
instance forall k1 (x6989586621679389975 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679389977Scrutinee_6989586621679389784Sym1 x6989586621679389975)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679389995Scrutinee_6989586621679389786Sym0
instance forall k1 (x6989586621679389993 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679389995Scrutinee_6989586621679389786Sym1 x6989586621679389993)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.>@#@$)
instance forall a6989586621679389754 (arg6989586621679389855 :: a6989586621679389754). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.>@#@$$) arg6989586621679389855)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.>=@#@$)
instance forall a6989586621679389754 (arg6989586621679389859 :: a6989586621679389754). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.>=@#@$$) arg6989586621679389859)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.MaxSym0
instance forall a6989586621679389754 (arg6989586621679389863 :: a6989586621679389754). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.MaxSym1 arg6989586621679389863)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.MinSym0
instance forall a6989586621679389754 (arg6989586621679389867 :: a6989586621679389754). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.MinSym1 arg6989586621679389867)
instance forall a6989586621679389754 (arg6989586621679389843 :: a6989586621679389754). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.CompareSym1 arg6989586621679389843)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.CompareSym0
instance forall a6989586621679389754 (arg6989586621679389851 :: a6989586621679389754). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.<=@#@$$) arg6989586621679389851)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.<=@#@$)
instance forall a6989586621679389754 (a6989586621679389871 :: a6989586621679389754). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679389873Sym1 a6989586621679389871)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679389873Sym0
instance forall a6989586621679389754 (a6989586621679389895 :: a6989586621679389754). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679389897Sym1 a6989586621679389895)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679389897Sym0
instance forall a6989586621679389754 (a6989586621679389913 :: a6989586621679389754). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679389915Sym1 a6989586621679389913)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679389915Sym0
instance forall a6989586621679389754 (a6989586621679389931 :: a6989586621679389754). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679389933Sym1 a6989586621679389931)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679389933Sym0
instance forall a6989586621679389754 (a6989586621679389949 :: a6989586621679389754). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679389951Sym1 a6989586621679389949)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679389951Sym0
instance forall a6989586621679389754 (a6989586621679389967 :: a6989586621679389754). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Max_6989586621679389969Sym1 a6989586621679389967)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Max_6989586621679389969Sym0
instance forall a6989586621679389754 (a6989586621679389985 :: a6989586621679389754). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Min_6989586621679389987Sym1 a6989586621679389985)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Min_6989586621679389987Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679389881Scrutinee_6989586621679389772Sym0
instance forall k1 (x6989586621679389879 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679389881Scrutinee_6989586621679389772Sym1 x6989586621679389879)


-- | 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>
--   instance ??? =&gt; <a>Show</a> (<a>SList</a> (z :: [k])) where
--     showsPrec p <a>SNil</a> = showString "SNil"
--     showsPrec p (<a>SCons</a> sx sxs) =
--       showParen (p &gt; 10) $ showString "SCons " . showsPrec 11 sx
--                          . showSpace . showsPrec 11 sxs
--   </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>(<a>Show</a> (<a>Sing</a> (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. <a>Show</a> (<a>Sing</a> (a :: k)))</tt>,
--   which demands that there be an instance for <tt><a>Show</a>
--   (<a>Sing</a> (a :: k))</tt> that is parametric in the use of
--   <tt>a</tt>. This lets us write something closer to this:
--   
--   <pre>
--   instance (forall a. <a>Show</a> (<a>Sing</a> (a :: k))) =&gt; <a>SList</a> (<a>Sing</a> (z :: [k])) where ...
--   </pre>
--   
--   The <a>ShowSing</a> class is a thin wrapper around <tt>(forall a.
--   <a>Show</a> (<a>Sing</a> (a :: k)))</tt>. With <a>ShowSing</a>, our
--   final instance declaration becomes this:
--   
--   <pre>
--   instance <a>ShowSing</a> k =&gt; <a>Show</a> (<a>SList</a> (z :: [k])) where
--     showsPrec p <a>SNil</a> = showString "SNil"
--     showsPrec p (<a>SCons</a> (sx :: <a>Sing</a> x) (sxs :: <a>Sing</a> xs)) =
--       (showParen (p &gt; 10) $ showString "SCons " . showsPrec 11 sx
--                           . showSpace . showsPrec 11 sxs)
--         :: (ShowSing' x, ShowSing' xs) =&gt; ShowS
--   </pre>
--   
--   (Note that the actual definition of <a>ShowSing</a> is slightly more
--   complicated than what this documentation might suggest. For the full
--   story, as well as an explanation of why we need an explicit
--   <tt>(ShowSing' x, ShowSing' xs) =&gt; ShowS</tt> signature at the end,
--   refer to the documentation for <a>ShowSing</a>`.)
--   
--   When singling a derived <a>Show</a> instance, <tt>singletons</tt> will
--   also generate 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). ShowSing' z) => ShowSing k

-- | The workhorse that powers <a>ShowSing</a>. The only reason that
--   <a>ShowSing</a>` exists is to work around GHC's inability to put type
--   families in the head of a quantified constraint (see <a>this GHC
--   issue</a> for more details on this point). In other words, GHC will
--   not let you define <a>ShowSing</a> like so:
--   
--   <pre>
--   class (forall (z :: k). <a>Show</a> (<a>Sing</a> z)) =&gt; <a>ShowSing</a> k
--   </pre>
--   
--   By replacing <tt><a>Show</a> (<a>Sing</a> z)</tt> with <tt>ShowSing'
--   z</tt>, we are able to avoid this restriction for the most part. There
--   is one major downside to using <tt>ShowSing'</tt>, however: deriving
--   <a>Show</a> instances for singleton types does not work out of the
--   box. In other words, if you try to do this:
--   
--   <pre>
--   deriving instance <a>ShowSing</a> k =&gt; <a>Show</a> (<a>SList</a> (z :: [k]))
--   </pre>
--   
--   Then GHC will complain to the effect that it could not deduce a
--   <tt><a>Show</a> (<a>Sing</a> x)</tt> constraint. This is due to
--   <a>another unfortunate GHC bug</a> that prevents GHC from realizing
--   that <tt><a>ShowSing</a> k</tt> implies <tt><a>Show</a> (<a>Sing</a>
--   (x :: k))</tt>. The workaround is to force GHC to come to its senses
--   by using an explicit type signature:
--   
--   <pre>
--   instance <a>ShowSing</a> k =&gt; <a>Show</a> (<a>SList</a> (z :: [k])) where
--     showsPrec p <a>SNil</a> = showString "SNil"
--     showsPrec p (<a>SCons</a> (sx :: <a>Sing</a> x) (sxs :: <a>Sing</a> xs)) =
--       (showParen (p &gt; 10) $ showString "SCons " . showsPrec 11 sx
--                           . showSpace . showsPrec 11 sxs)
--         :: (ShowSing' x, ShowSing' xs) =&gt; ShowS
--   </pre>
--   
--   The use of <tt>ShowSing' x</tt> in the signature is sufficient to make
--   the constraint solver connect the dots between <tt><a>ShowSing</a>
--   k</tt> and <tt><a>Show</a> (<a>Sing</a> (x :: k))</tt>. (The
--   <tt>ShowSing' xs</tt> constraint is not strictly necessary, but it is
--   shown here since that is in fact the code that <tt>singletons</tt>
--   will generate for this instance.)
--   
--   Because <tt>deriving <a>Show</a></tt> will not insert these explicit
--   signatures for us, it is not possible to derive <a>Show</a> instances
--   for singleton types. Thankfully, <tt>singletons</tt>' Template Haskell
--   machinery can do this manual gruntwork for us 99% of the time, but if
--   you ever find yourself in a situation where you must define a
--   <a>Show</a> instance for a singleton type by hand, this is important
--   to keep in mind.
--   
--   Note that there is one potential future direction that might alleviate
--   this pain. We could define <a>ShowSing</a>` like this instead:
--   
--   <pre>
--   class (forall sing. sing ~ <a>Sing</a> =&gt; <a>Show</a> (sing z)) =&gt; ShowSing' z
--   instance <a>Show</a> (<a>Sing</a> z) =&gt; ShowSing' z
--   </pre>
--   
--   For many examples, this lets you just derive <a>Show</a> instances for
--   singleton types like you would expect. Alas, this topples over on
--   <tt>Bar</tt> in the following example:
--   
--   <pre>
--   newtype Foo a = MkFoo a
--   data SFoo :: forall a. Foo a -&gt; Type where
--     SMkFoo :: Sing x -&gt; SFoo (MkFoo x)
--   type instance Sing = SFoo
--   deriving instance ShowSing a =&gt; Show (SFoo (z :: Foo a))
--   
--   newtype Bar a = MkBar (Foo a)
--   data SBar :: forall a. Bar a -&gt; Type where
--     SMkBar :: Sing x -&gt; SBar (MkBar x)
--   type instance Sing = SBar
--   deriving instance ShowSing (Foo a) =&gt; Show (SBar (z :: Bar a))
--   </pre>
--   
--   This fails because of—you guessed it—<a>another GHC bug</a>. Bummer.
--   Unless that bug were to be fixed, the current definition of
--   <a>ShowSing</a>` is the best that we can do.
class Show (Sing z) => ShowSing' z
instance forall a (z :: GHC.Maybe.Maybe a). Data.Singletons.ShowSing.ShowSing a => GHC.Show.Show (Data.Singletons.Prelude.Instances.SMaybe z)
instance forall a (z :: [a]). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing [a]) => GHC.Show.Show (Data.Singletons.Prelude.Instances.SList 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.Prelude.Instances.SEither z)
instance forall a (z :: GHC.Base.NonEmpty a). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing [a]) => GHC.Show.Show (Data.Singletons.Prelude.Instances.SNonEmpty z)
instance GHC.Show.Show (Data.Singletons.Prelude.Instances.SVoid z)
instance forall a b (z :: (a, b)). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b) => GHC.Show.Show (Data.Singletons.Prelude.Instances.STuple2 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.Prelude.Instances.STuple3 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.Prelude.Instances.STuple4 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.Prelude.Instances.STuple5 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.Prelude.Instances.STuple6 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.Prelude.Instances.STuple7 z)
instance forall a (z :: Data.Functor.Identity.Identity a). Data.Singletons.ShowSing.ShowSing a => GHC.Show.Show (Data.Singletons.Prelude.Instances.SIdentity z)
instance GHC.Show.Show (Data.Singletons.Prelude.Instances.SBool z)
instance GHC.Show.Show (Data.Singletons.Prelude.Instances.SOrdering z)
instance GHC.Show.Show (Data.Singletons.Prelude.Instances.STuple0 z)
instance (forall (z :: k). Data.Singletons.ShowSing.ShowSing' z) => Data.Singletons.ShowSing.ShowSing k
instance forall k (a :: k). Data.Singletons.ShowSing.ShowSing k => GHC.Show.Show (Data.Singletons.Internal.WrappedSing a)
instance forall k (a :: k) (ws :: Data.Singletons.Internal.WrappedSing a). Data.Singletons.ShowSing.ShowSing k => GHC.Show.Show (Data.Singletons.Internal.SWrappedSing ws)
instance forall k (z :: k). GHC.Show.Show (Data.Singletons.Internal.Sing z) => Data.Singletons.ShowSing.ShowSing' z
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
data Nat
data Symbol

-- | The singleton kind-indexed type family.
type family Sing :: k -> Type
data SNat (n :: Nat)
SNat :: SNat (n :: Nat)
data SSymbol (n :: Symbol)
SSym :: SSymbol (n :: Symbol)

-- | 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
class KnownNat (n :: Nat)
natVal :: forall (n :: Nat) proxy. KnownNat n => proxy n -> Natural
class KnownSymbol (n :: Symbol)
symbolVal :: forall (n :: Symbol) proxy. KnownSymbol n => proxy n -> String
type family (a :: Nat) ^ (b :: Nat) :: Nat

-- | The singleton analogue of <a>(^)</a> for <a>Nat</a>s.
(%^) :: Sing a -> Sing b -> Sing (a ^ b)
infixr 8 %^
type family (a :: Nat) <=? (b :: Nat) :: Bool

-- | 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 %<=?
type family Log2 (a :: Nat) :: Nat
sLog2 :: Sing x -> Sing (Log2 x)
type family Div (a :: Nat) (b :: Nat) :: Nat
sDiv :: Sing x -> Sing y -> Sing (Div x y)
infixl 7 `sDiv`
type family Mod (a :: Nat) (b :: Nat) :: Nat
sMod :: Sing x -> Sing y -> Sing (Mod x y)
infixl 7 `sMod`
type family DivMod (a_a24CA :: Nat) (a_a24CB :: Nat) :: (Nat, Nat)
sDivMod :: Sing x -> Sing y -> Sing (DivMod x y)
type family Quot (a_a24Ck :: Nat) (a_a24Cl :: Nat) :: Nat
infixl 7 `Quot`
sQuot :: Sing x -> Sing y -> Sing (Quot x y)
infixl 7 `sQuot`
type family Rem (a_a24Ca :: Nat) (a_a24Cb :: Nat) :: Nat
infixl 7 `Rem`
sRem :: Sing x -> Sing y -> Sing (Rem x y)
infixl 7 `sRem`
type family QuotRem (a_a24Cu :: Nat) (a_a24Cv :: Nat) :: (Nat, Nat)
sQuotRem :: Sing x -> Sing y -> Sing (QuotRem x y)
data ErrorSym0 :: forall k06989586621679481929 k6989586621679481930. (~>) k06989586621679481929 k6989586621679481930
type ErrorSym1 (str6989586621679481931 :: k06989586621679481929) = Error str6989586621679481931
data ErrorWithoutStackTraceSym0 :: forall k06989586621679483019 k6989586621679483020. (~>) k06989586621679483019 k6989586621679483020
type ErrorWithoutStackTraceSym1 (str6989586621679483021 :: k06989586621679483019) = ErrorWithoutStackTrace str6989586621679483021
type UndefinedSym0 = Undefined
data KnownNatSym0 :: (~>) Nat Constraint
type KnownNatSym1 (n6989586621679482086 :: Nat) = KnownNat n6989586621679482086
data KnownSymbolSym0 :: (~>) Symbol Constraint
type KnownSymbolSym1 (n6989586621679482152 :: Symbol) = KnownSymbol n6989586621679482152
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 (a6989586621679504216 :: Nat) :: (~>) Nat (Nat, Nat)
type DivModSym2 (a6989586621679504216 :: Nat) (a6989586621679504217 :: Nat) = DivMod a6989586621679504216 a6989586621679504217
data QuotSym0 :: (~>) Nat ((~>) Nat Nat)
infixl 7 `QuotSym0`
data QuotSym1 (a6989586621679504200 :: Nat) :: (~>) Nat Nat
infixl 7 `QuotSym1`
type QuotSym2 (a6989586621679504200 :: Nat) (a6989586621679504201 :: Nat) = Quot a6989586621679504200 a6989586621679504201
data RemSym0 :: (~>) Nat ((~>) Nat Nat)
infixl 7 `RemSym0`
data RemSym1 (a6989586621679504190 :: Nat) :: (~>) Nat Nat
infixl 7 `RemSym1`
type RemSym2 (a6989586621679504190 :: Nat) (a6989586621679504191 :: Nat) = Rem a6989586621679504190 a6989586621679504191
data QuotRemSym0 :: (~>) Nat ((~>) Nat (Nat, Nat))
data QuotRemSym1 (a6989586621679504210 :: Nat) :: (~>) Nat (Nat, Nat)
type QuotRemSym2 (a6989586621679504210 :: Nat) (a6989586621679504211 :: Nat) = QuotRem a6989586621679504210 a6989586621679504211
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.QuotRemSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.QuotRemSym1 a6989586621679504210)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.DivModSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.DivModSym1 a6989586621679504216)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.QuotSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.QuotSym1 a6989586621679504200)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.RemSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.RemSym1 a6989586621679504190)
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 type family.
type family Sing :: k -> Type
data SMaybe :: forall a_11. Maybe a_11 -> Type
[SNothing] :: SMaybe 'Nothing
[SJust] :: forall a_11 (n_a1gkG :: a_11). () => Sing (n_a1gkG :: a_11) -> SMaybe ('Just n_a1gkG)
maybe_ :: b_a26nR -> (a_a26nS -> b_a26nR) -> Maybe a_a26nS -> b_a26nR
type family Maybe_ (a_a26o9 :: b_a26nR) (a_a26oa :: (~>) a_a26nS b_a26nR) (a_a26ob :: Maybe a_a26nS) :: b_a26nR
sMaybe_ :: forall b_a26nR a_a26nS (t_a26oi :: b_a26nR) (t_a26oj :: (~>) a_a26nS b_a26nR) (t_a26ok :: Maybe a_a26nS). Sing t_a26oi -> Sing t_a26oj -> Sing t_a26ok -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a26oi) t_a26oj) t_a26ok :: b_a26nR)
type family IsJust (a_a26O7 :: Maybe a_a26KV) :: Bool
sIsJust :: forall a_a26KV (t_a26Or :: Maybe a_a26KV). Sing t_a26Or -> Sing (Apply IsJustSym0 t_a26Or :: Bool)
type family IsNothing (a_a26O5 :: Maybe a_a26KU) :: Bool
sIsNothing :: forall a_a26KU (t_a26Op :: Maybe a_a26KU). Sing t_a26Op -> Sing (Apply IsNothingSym0 t_a26Op :: Bool)
type family FromJust (a_a26O2 :: Maybe a_a26KT) :: a_a26KT
sFromJust :: forall a_a26KT (t_a26On :: Maybe a_a26KT). Sing t_a26On -> Sing (Apply FromJustSym0 t_a26On :: a_a26KT)
type family FromMaybe (a_a26NS :: a_a26KS) (a_a26NT :: Maybe a_a26KS) :: a_a26KS
sFromMaybe :: forall a_a26KS (t_a26Oj :: a_a26KS) (t_a26Ok :: Maybe a_a26KS). Sing t_a26Oj -> Sing t_a26Ok -> Sing (Apply (Apply FromMaybeSym0 t_a26Oj) t_a26Ok :: a_a26KS)
type family ListToMaybe (a_a26NM :: [a_a26KQ]) :: Maybe a_a26KQ
sListToMaybe :: forall a_a26KQ (t_a26Of :: [a_a26KQ]). Sing t_a26Of -> Sing (Apply ListToMaybeSym0 t_a26Of :: Maybe a_a26KQ)
type family MaybeToList (a_a26NP :: Maybe a_a26KR) :: [a_a26KR]
sMaybeToList :: forall a_a26KR (t_a26Oh :: Maybe a_a26KR). Sing t_a26Oh -> Sing (Apply MaybeToListSym0 t_a26Oh :: [a_a26KR])
type family CatMaybes (a_a26NH :: [Maybe a_a26KP]) :: [a_a26KP]
sCatMaybes :: forall a_a26KP (t_a26Od :: [Maybe a_a26KP]). Sing t_a26Od -> Sing (Apply CatMaybesSym0 t_a26Od :: [a_a26KP])
type family MapMaybe (a_a26No :: (~>) a_a26KN (Maybe b_a26KO)) (a_a26Np :: [a_a26KN]) :: [b_a26KO]
sMapMaybe :: forall a_a26KN b_a26KO (t_a26O9 :: (~>) a_a26KN (Maybe b_a26KO)) (t_a26Oa :: [a_a26KN]). Sing t_a26O9 -> Sing t_a26Oa -> Sing (Apply (Apply MapMaybeSym0 t_a26O9) t_a26Oa :: [b_a26KO])
type NothingSym0 = 'Nothing
data JustSym0 :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 (Maybe (a3530822107858468865 :: Type))
type JustSym1 (t6989586621679310904 :: a3530822107858468865) = 'Just t6989586621679310904
data Maybe_Sym0 :: forall b6989586621679510991 a6989586621679510992. (~>) b6989586621679510991 ((~>) ((~>) a6989586621679510992 b6989586621679510991) ((~>) (Maybe a6989586621679510992) b6989586621679510991))
data Maybe_Sym1 (a6989586621679511009 :: b6989586621679510991) :: forall a6989586621679510992. (~>) ((~>) a6989586621679510992 b6989586621679510991) ((~>) (Maybe a6989586621679510992) b6989586621679510991)
data Maybe_Sym2 (a6989586621679511009 :: b6989586621679510991) (a6989586621679511010 :: (~>) a6989586621679510992 b6989586621679510991) :: (~>) (Maybe a6989586621679510992) b6989586621679510991
type Maybe_Sym3 (a6989586621679511009 :: b6989586621679510991) (a6989586621679511010 :: (~>) a6989586621679510992 b6989586621679510991) (a6989586621679511011 :: Maybe a6989586621679510992) = Maybe_ a6989586621679511009 a6989586621679511010 a6989586621679511011
data IsJustSym0 :: forall a6989586621679512421. (~>) (Maybe a6989586621679512421) Bool
type IsJustSym1 (a6989586621679512619 :: Maybe a6989586621679512421) = IsJust a6989586621679512619
data IsNothingSym0 :: forall a6989586621679512420. (~>) (Maybe a6989586621679512420) Bool
type IsNothingSym1 (a6989586621679512617 :: Maybe a6989586621679512420) = IsNothing a6989586621679512617
data FromJustSym0 :: forall a6989586621679512419. (~>) (Maybe a6989586621679512419) a6989586621679512419
type FromJustSym1 (a6989586621679512614 :: Maybe a6989586621679512419) = FromJust a6989586621679512614
data FromMaybeSym0 :: forall a6989586621679512418. (~>) a6989586621679512418 ((~>) (Maybe a6989586621679512418) a6989586621679512418)
data FromMaybeSym1 (a6989586621679512604 :: a6989586621679512418) :: (~>) (Maybe a6989586621679512418) a6989586621679512418
type FromMaybeSym2 (a6989586621679512604 :: a6989586621679512418) (a6989586621679512605 :: Maybe a6989586621679512418) = FromMaybe a6989586621679512604 a6989586621679512605
data ListToMaybeSym0 :: forall a6989586621679512416. (~>) [a6989586621679512416] (Maybe a6989586621679512416)
type ListToMaybeSym1 (a6989586621679512598 :: [a6989586621679512416]) = ListToMaybe a6989586621679512598
data MaybeToListSym0 :: forall a6989586621679512417. (~>) (Maybe a6989586621679512417) [a6989586621679512417]
type MaybeToListSym1 (a6989586621679512601 :: Maybe a6989586621679512417) = MaybeToList a6989586621679512601
data CatMaybesSym0 :: forall a6989586621679512415. (~>) [Maybe a6989586621679512415] [a6989586621679512415]
type CatMaybesSym1 (a6989586621679512593 :: [Maybe a6989586621679512415]) = CatMaybes a6989586621679512593
data MapMaybeSym0 :: forall a6989586621679512413 b6989586621679512414. (~>) ((~>) a6989586621679512413 (Maybe b6989586621679512414)) ((~>) [a6989586621679512413] [b6989586621679512414])
data MapMaybeSym1 (a6989586621679512574 :: (~>) a6989586621679512413 (Maybe b6989586621679512414)) :: (~>) [a6989586621679512413] [b6989586621679512414]
type MapMaybeSym2 (a6989586621679512574 :: (~>) a6989586621679512413 (Maybe b6989586621679512414)) (a6989586621679512575 :: [a6989586621679512413]) = MapMaybe a6989586621679512574 a6989586621679512575
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 a6989586621679512418 (a6989586621679512604 :: a6989586621679512418). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.FromMaybeSym1 a6989586621679512604)
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.Let6989586621679512581RsSym0
instance forall a6989586621679512413 k1 k (f6989586621679512578 :: a6989586621679512413 Data.Singletons.Internal.~> GHC.Maybe.Maybe k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679512581RsSym1 f6989586621679512578)
instance forall a6989586621679512413 k1 k (x6989586621679512579 :: a6989586621679512413 Data.Singletons.Internal.~> GHC.Maybe.Maybe k1) (f6989586621679512578 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679512581RsSym2 x6989586621679512579 f6989586621679512578)
instance forall a6989586621679512413 b6989586621679512414 (a6989586621679512574 :: a6989586621679512413 Data.Singletons.Internal.~> GHC.Maybe.Maybe b6989586621679512414). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.MapMaybeSym1 a6989586621679512574)
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.Let6989586621679512585Scrutinee_6989586621679512448Sym0
instance forall k1 k2 k3 (f6989586621679512578 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679512585Scrutinee_6989586621679512448Sym1 f6989586621679512578)
instance forall k1 k2 k3 (x6989586621679512579 :: k1 Data.Singletons.Internal.~> k2) (f6989586621679512578 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679512585Scrutinee_6989586621679512448Sym2 x6989586621679512579 f6989586621679512578)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Maybe_Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Maybe.Maybe_Sym0
instance forall b6989586621679510991 a6989586621679510992 (a6989586621679511009 :: b6989586621679510991). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Maybe_Sym1 a6989586621679511009)
instance forall b a (d :: b). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Maybe.Maybe_Sym1 d)
instance forall b6989586621679510991 a6989586621679510992 (a6989586621679511010 :: b6989586621679510991) (a6989586621679511009 :: a6989586621679510992 Data.Singletons.Internal.~> b6989586621679510991). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Maybe_Sym2 a6989586621679511010 a6989586621679511009)
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 <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 Σ = Sigma

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

-- | The singleton type for <a>Sigma</a>.
data SSigma :: forall s (t :: s ~> Type). Sigma s t -> Type
[:%&:] :: forall s t (fst :: s) (sfst :: Sing fst) (snd :: t @@ fst). Sing ('WrapSing sfst) -> Sing snd -> SSigma (sfst :&: snd :: Sigma s t)
infixr 4 :%&:

-- | Unicode shorthand for <a>SSigma</a>.
type SΣ = SSigma

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

-- | Project the first element out of a dependent pair.
type family FstSigma (sig :: Sigma s t) :: s

-- | Project the second element out of a dependent pair.
sndSigma :: forall s t (sig :: Sigma s t). SingKind (t @@ FstSigma sig) => SSigma sig -> Demote (t @@ FstSigma sig)

-- | Project the second element out of a dependent pair.
type family SndSigma (sig :: Sigma s t) :: t @@ FstSigma sig

-- | Project the first element out of a dependent pair using
--   continuation-passing style.
projSigma1 :: (forall (fst :: s). Sing fst -> r) -> Sigma s t -> r

-- | Project the second element out of a dependent pair using
--   continuation-passing style.
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

-- | Convert an uncurried function on <a>Sigma</a> to a curried one.
--   
--   Together, <a>currySigma</a> and <a>uncurrySigma</a> witness an
--   isomorphism such that the following identities hold:
--   
--   <pre>
--   id1 :: forall a (b :: a ~&gt; Type) (c :: <a>Sigma</a> a b ~&gt; Type).
--          (forall (p :: Sigma a b). <a>SSigma</a> p -&gt; c @<tt> p)
--       -&gt; (forall (p :: Sigma a b). <a>SSigma</a> p -&gt; c </tt><tt> p)
--   id1 f = <a>uncurrySigma</a> </tt>a <tt>b </tt>c (<a>currySigma</a> <tt>a </tt>b <tt>c f)
--   
--   id2 :: forall a (b :: a ~&gt; Type) (c :: <a>Sigma</a> a b ~&gt; Type).
--          (forall (x :: a) (sx :: Sing x) (y :: b </tt><tt> x). Sing (<a>WrapSing</a> sx) -&gt; Sing y -&gt; c </tt><tt> (sx :&amp;: y))
--       -&gt; (forall (x :: a) (sx :: Sing x) (y :: b </tt><tt> x). Sing (<a>WrapSing</a> sx) -&gt; Sing y -&gt; c </tt><tt> (sx :&amp;: y))
--   id2 f = <a>currySigma</a> </tt>a <tt>b </tt>c (<a>uncurrySigma</a> <tt>a </tt>b @c f)
--   </pre>
currySigma :: forall a (b :: a ~> Type) (c :: Sigma a b ~> Type). (forall (p :: Sigma a b). SSigma p -> c @@ p) -> forall (x :: a) (sx :: Sing x) (y :: b @@ x). Sing ('WrapSing sx) -> Sing y -> c @@ (sx :&: y)

-- | Convert a curried function on <a>Sigma</a> to an uncurried one.
--   
--   Together, <a>currySigma</a> and <a>uncurrySigma</a> witness an
--   isomorphism. (Refer to the documentation for <a>currySigma</a> for
--   more details.)
uncurrySigma :: forall a (b :: a ~> Type) (c :: Sigma a b ~> Type). (forall (x :: a) (sx :: Sing x) (y :: b @@ x). Sing ('WrapSing sx) -> Sing y -> c @@ (sx :&: y)) -> forall (p :: Sigma a b). SSigma p -> c @@ p
class (forall (x :: a). ShowApply' f x) => ShowApply (f :: a ~> Type)
class (forall (x :: a) (z :: Apply f x). ShowSingApply' f x z) => ShowSingApply (f :: a ~> Type)
class Show (Apply f x) => ShowApply' (f :: a ~> Type) (x :: a)
class Show (Sing z) => ShowSingApply' (f :: a ~> Type) (x :: a) (z :: Apply f x)
instance forall s (t :: s Data.Singletons.Internal.~> *) (sig :: Data.Singletons.Sigma.Sigma s t). (Data.Singletons.ShowSing.ShowSing s, Data.Singletons.Sigma.ShowSingApply t) => GHC.Show.Show (Data.Singletons.Sigma.SSigma sig)
instance forall a (f :: a Data.Singletons.Internal.~> *). (forall (x :: a) (z :: Data.Singletons.Internal.Apply f x). Data.Singletons.Sigma.ShowSingApply' f x z) => Data.Singletons.Sigma.ShowSingApply f
instance forall a (f :: a Data.Singletons.Internal.~> *) (x :: a) (z :: Data.Singletons.Internal.Apply f x). GHC.Show.Show (Data.Singletons.Internal.Sing z) => Data.Singletons.Sigma.ShowSingApply' f x z
instance forall s (t :: s Data.Singletons.Internal.~> *). (Data.Singletons.ShowSing.ShowSing s, Data.Singletons.Sigma.ShowApply t) => GHC.Show.Show (Data.Singletons.Sigma.Sigma s t)
instance forall a (f :: a Data.Singletons.Internal.~> *). (forall (x :: a). Data.Singletons.Sigma.ShowApply' f x) => Data.Singletons.Sigma.ShowApply f
instance forall a (f :: a Data.Singletons.Internal.~> *) (x :: a). GHC.Show.Show (Data.Singletons.Internal.Apply f x) => Data.Singletons.Sigma.ShowApply' f x
instance forall s (t :: s Data.Singletons.Internal.~> *) (fst :: s) (a :: Data.Singletons.Internal.Sing fst) (b :: t Data.Singletons.Internal.@@ fst). (Data.Singletons.Internal.SingI fst, Data.Singletons.Internal.SingI b) => Data.Singletons.Internal.SingI (a 'Data.Singletons.Sigma.:&: b)


-- | 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_a2a9n :: Type) where {
    type family (+) (arg_a2a9G :: a_a2a9n) (arg_a2a9H :: a_a2a9n) :: a_a2a9n;
    type family (-) (arg_a2a9K :: a_a2a9n) (arg_a2a9L :: a_a2a9n) :: a_a2a9n;
    type family (*) (arg_a2a9O :: a_a2a9n) (arg_a2a9P :: a_a2a9n) :: a_a2a9n;
    type family Negate (arg_a2a9S :: a_a2a9n) :: a_a2a9n;
    type family Abs (arg_a2a9U :: a_a2a9n) :: a_a2a9n;
    type family Signum (arg_a2a9W :: a_a2a9n) :: a_a2a9n;
    type family FromInteger (arg_a2a9Y :: Nat) :: a_a2a9n;
    type (-) a_a2aa0 a_a2aa1 = Apply (Apply TFHelper_6989586621679525510Sym0 a_a2aa0) a_a2aa1;
    type Negate a_a2aac = Apply Negate_6989586621679525521Sym0 a_a2aac;
}
infixl 6 +
infixl 7 *
infixl 6 -
class SNum a_a2a9n
(%+) :: forall (t_a2abE :: a_a2a9n) (t_a2abF :: a_a2a9n). SNum a_a2a9n => Sing t_a2abE -> Sing t_a2abF -> Sing (Apply (Apply (+@#@$) t_a2abE) t_a2abF :: a_a2a9n)
(%-) :: forall (t_a2abI :: a_a2a9n) (t_a2abJ :: a_a2a9n). SNum a_a2a9n => Sing t_a2abI -> Sing t_a2abJ -> Sing (Apply (Apply (-@#@$) t_a2abI) t_a2abJ :: a_a2a9n)
(%*) :: forall (t_a2abM :: a_a2a9n) (t_a2abN :: a_a2a9n). SNum a_a2a9n => Sing t_a2abM -> Sing t_a2abN -> Sing (Apply (Apply (*@#@$) t_a2abM) t_a2abN :: a_a2a9n)
sNegate :: forall (t_a2abQ :: a_a2a9n). SNum a_a2a9n => Sing t_a2abQ -> Sing (Apply NegateSym0 t_a2abQ :: a_a2a9n)
sAbs :: forall (t_a2abS :: a_a2a9n). SNum a_a2a9n => Sing t_a2abS -> Sing (Apply AbsSym0 t_a2abS :: a_a2a9n)
sSignum :: forall (t_a2abU :: a_a2a9n). SNum a_a2a9n => Sing t_a2abU -> Sing (Apply SignumSym0 t_a2abU :: a_a2a9n)
sFromInteger :: forall (t_a2abW :: Nat). SNum a_a2a9n => Sing t_a2abW -> Sing (Apply FromIntegerSym0 t_a2abW :: a_a2a9n)
(%-) :: forall (t_a2abI :: a_a2a9n) (t_a2abJ :: a_a2a9n). (SNum a_a2a9n, (Apply (Apply (-@#@$) t_a2abI) t_a2abJ :: a_a2a9n) ~ Apply (Apply TFHelper_6989586621679525510Sym0 t_a2abI) t_a2abJ) => Sing t_a2abI -> Sing t_a2abJ -> Sing (Apply (Apply (-@#@$) t_a2abI) t_a2abJ :: a_a2a9n)
sNegate :: forall (t_a2abQ :: a_a2a9n). (SNum a_a2a9n, (Apply NegateSym0 t_a2abQ :: a_a2a9n) ~ Apply Negate_6989586621679525521Sym0 t_a2abQ) => Sing t_a2abQ -> Sing (Apply NegateSym0 t_a2abQ :: a_a2a9n)
infixl 6 %+
infixl 6 %-
infixl 7 %*
type family Subtract (a_a2bDr :: a_a2bDn) (a_a2bDs :: a_a2bDn) :: a_a2bDn
sSubtract :: forall a_a2bDn (t_a2bDx :: a_a2bDn) (t_a2bDy :: a_a2bDn). SNum a_a2bDn => Sing t_a2bDx -> Sing t_a2bDy -> Sing (Apply (Apply SubtractSym0 t_a2bDx) t_a2bDy :: a_a2bDn)
data (+@#@$) :: forall a6989586621679525469. (~>) a6989586621679525469 ((~>) a6989586621679525469 a6989586621679525469)
infixl 6 +@#@$
data (+@#@$$) (arg6989586621679525488 :: a6989586621679525469) :: (~>) a6989586621679525469 a6989586621679525469
infixl 6 +@#@$$
type (+@#@$$$) (arg6989586621679525488 :: a6989586621679525469) (arg6989586621679525489 :: a6989586621679525469) = (+) arg6989586621679525488 arg6989586621679525489
data (-@#@$) :: forall a6989586621679525469. (~>) a6989586621679525469 ((~>) a6989586621679525469 a6989586621679525469)
infixl 6 -@#@$
data (-@#@$$) (arg6989586621679525492 :: a6989586621679525469) :: (~>) a6989586621679525469 a6989586621679525469
infixl 6 -@#@$$
type (-@#@$$$) (arg6989586621679525492 :: a6989586621679525469) (arg6989586621679525493 :: a6989586621679525469) = (-) arg6989586621679525492 arg6989586621679525493
data (*@#@$) :: forall a6989586621679525469. (~>) a6989586621679525469 ((~>) a6989586621679525469 a6989586621679525469)
infixl 7 *@#@$
data (*@#@$$) (arg6989586621679525496 :: a6989586621679525469) :: (~>) a6989586621679525469 a6989586621679525469
infixl 7 *@#@$$
type (*@#@$$$) (arg6989586621679525496 :: a6989586621679525469) (arg6989586621679525497 :: a6989586621679525469) = (*) arg6989586621679525496 arg6989586621679525497
data NegateSym0 :: forall a6989586621679525469. (~>) a6989586621679525469 a6989586621679525469
type NegateSym1 (arg6989586621679525500 :: a6989586621679525469) = Negate arg6989586621679525500
data AbsSym0 :: forall a6989586621679525469. (~>) a6989586621679525469 a6989586621679525469
type AbsSym1 (arg6989586621679525502 :: a6989586621679525469) = Abs arg6989586621679525502
data SignumSym0 :: forall a6989586621679525469. (~>) a6989586621679525469 a6989586621679525469
type SignumSym1 (arg6989586621679525504 :: a6989586621679525469) = Signum arg6989586621679525504
data FromIntegerSym0 :: forall a6989586621679525469. (~>) Nat a6989586621679525469
type FromIntegerSym1 (arg6989586621679525506 :: Nat) = FromInteger arg6989586621679525506
data SubtractSym0 :: forall a6989586621679531173. (~>) a6989586621679531173 ((~>) a6989586621679531173 a6989586621679531173)
data SubtractSym1 (a6989586621679531177 :: a6989586621679531173) :: (~>) a6989586621679531173 a6989586621679531173
type SubtractSym2 (a6989586621679531177 :: a6989586621679531173) (a6989586621679531178 :: a6989586621679531173) = Subtract a6989586621679531177 a6989586621679531178
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 a6989586621679531173 (a6989586621679531177 :: a6989586621679531173). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.SubtractSym1 a6989586621679531177)
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_6989586621679525604Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Ord.Down a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Signum_6989586621679525597Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Abs_6989586621679525590Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Negate_6989586621679525583Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679525572Sym0
instance forall a6989586621679525469 (a6989586621679525570 :: a6989586621679525469). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679525572Sym1 a6989586621679525570)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679525560Sym0
instance forall a6989586621679525469 (a6989586621679525558 :: a6989586621679525469). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679525560Sym1 a6989586621679525558)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679525548Sym0
instance forall a6989586621679525469 (a6989586621679525546 :: a6989586621679525469). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679525548Sym1 a6989586621679525546)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.*@#@$)
instance forall a6989586621679525469 (arg6989586621679525496 :: a6989586621679525469). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Num.*@#@$$) arg6989586621679525496)
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 a6989586621679525469 (arg6989586621679525488 :: a6989586621679525469). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Num.+@#@$$) arg6989586621679525488)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.+@#@$)
instance forall a6989586621679525469 (arg6989586621679525492 :: a6989586621679525469). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Num.-@#@$$) arg6989586621679525492)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.-@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.NegateSym0
instance forall a6989586621679525469 (a6989586621679525508 :: a6989586621679525469). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679525510Sym1 a6989586621679525508)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679525510Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Negate_6989586621679525521Sym0


-- | 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_a2eoj :: (~>) a_a2ekW ((~>) b_a2ekX b_a2ekX)) (a_a2eok :: b_a2ekX) (a_a2eol :: [a_a2ekW]) :: b_a2ekX
sFoldr :: forall a_a2ekW b_a2ekX (t_a2epo :: (~>) a_a2ekW ((~>) b_a2ekX b_a2ekX)) (t_a2epp :: b_a2ekX) (t_a2epq :: [a_a2ekW]). Sing t_a2epo -> Sing t_a2epp -> Sing t_a2epq -> Sing (Apply (Apply (Apply FoldrSym0 t_a2epo) t_a2epp) t_a2epq :: b_a2ekX)
type family Map (a_a2eoc :: (~>) a_a2ekU b_a2ekV) (a_a2eod :: [a_a2ekU]) :: [b_a2ekV]
sMap :: forall a_a2ekU b_a2ekV (t_a2epk :: (~>) a_a2ekU b_a2ekV) (t_a2epl :: [a_a2ekU]). Sing t_a2epk -> Sing t_a2epl -> Sing (Apply (Apply MapSym0 t_a2epk) t_a2epl :: [b_a2ekV])
type family (++) (a_a2eo4 :: [a_a2ekT]) (a_a2eo5 :: [a_a2ekT]) :: [a_a2ekT]
infixr 5 ++
(%++) :: forall a_a2ekT (t_a2epg :: [a_a2ekT]) (t_a2eph :: [a_a2ekT]). Sing t_a2epg -> Sing t_a2eph -> Sing (Apply (Apply (++@#@$) t_a2epg) t_a2eph :: [a_a2ekT])
infixr 5 %++
type family Otherwise :: Bool
sOtherwise :: Sing (OtherwiseSym0 :: Bool)
type family Id (a_a2eo1 :: a_a2ekS) :: a_a2ekS
sId :: forall a_a2ekS (t_a2epe :: a_a2ekS). Sing t_a2epe -> Sing (Apply IdSym0 t_a2epe :: a_a2ekS)
type family Const (a_a2enW :: a_a2ekQ) (a_a2enX :: b_a2ekR) :: a_a2ekQ
sConst :: forall a_a2ekQ b_a2ekR (t_a2epa :: a_a2ekQ) (t_a2epb :: b_a2ekR). Sing t_a2epa -> Sing t_a2epb -> Sing (Apply (Apply ConstSym0 t_a2epa) t_a2epb :: a_a2ekQ)
type family (.) (a_a2enD :: (~>) b_a2ekN c_a2ekO) (a_a2enE :: (~>) a_a2ekP b_a2ekN) (a_a2enF :: a_a2ekP) :: c_a2ekO
infixr 9 .
(%.) :: forall b_a2ekN c_a2ekO a_a2ekP (t_a2ep4 :: (~>) b_a2ekN c_a2ekO) (t_a2ep5 :: (~>) a_a2ekP b_a2ekN) (t_a2ep6 :: a_a2ekP). Sing t_a2ep4 -> Sing t_a2ep5 -> Sing t_a2ep6 -> Sing (Apply (Apply (Apply (.@#@$) t_a2ep4) t_a2ep5) t_a2ep6 :: c_a2ekO)
infixr 9 %.
type family ($) (a_a2ene :: (~>) a_a2ekH b_a2ekI) (a_a2enf :: a_a2ekH) :: b_a2ekI
infixr 0 $
type family ($!) (a_a2en5 :: (~>) a_a2ekF b_a2ekG) (a_a2en6 :: a_a2ekF) :: b_a2ekG
infixr 0 $!
(%$) :: forall a_a2ekH b_a2ekI (t_a2eoQ :: (~>) a_a2ekH b_a2ekI) (t_a2eoR :: a_a2ekH). Sing t_a2eoQ -> Sing t_a2eoR -> Sing (Apply (Apply ($@#@$) t_a2eoQ) t_a2eoR :: b_a2ekI)
infixr 0 %$
(%$!) :: forall a_a2ekF b_a2ekG (t_a2eoM :: (~>) a_a2ekF b_a2ekG) (t_a2eoN :: a_a2ekF). Sing t_a2eoM -> Sing t_a2eoN -> Sing (Apply (Apply ($!@#@$) t_a2eoM) t_a2eoN :: b_a2ekG)
infixr 0 %$!
type family Until (a_a2emF :: (~>) a_a2ekE Bool) (a_a2emG :: (~>) a_a2ekE a_a2ekE) (a_a2emH :: a_a2ekE) :: a_a2ekE
sUntil :: forall a_a2ekE (t_a2eoG :: (~>) a_a2ekE Bool) (t_a2eoH :: (~>) a_a2ekE a_a2ekE) (t_a2eoI :: a_a2ekE). Sing t_a2eoG -> Sing t_a2eoH -> Sing t_a2eoI -> Sing (Apply (Apply (Apply UntilSym0 t_a2eoG) t_a2eoH) t_a2eoI :: a_a2ekE)
type family Flip (a_a2enu :: (~>) a_a2ekK ((~>) b_a2ekL c_a2ekM)) (a_a2env :: b_a2ekL) (a_a2enw :: a_a2ekK) :: c_a2ekM
sFlip :: forall a_a2ekK b_a2ekL c_a2ekM (t_a2eoY :: (~>) a_a2ekK ((~>) b_a2ekL c_a2ekM)) (t_a2eoZ :: b_a2ekL) (t_a2ep0 :: a_a2ekK). Sing t_a2eoY -> Sing t_a2eoZ -> Sing t_a2ep0 -> Sing (Apply (Apply (Apply FlipSym0 t_a2eoY) t_a2eoZ) t_a2ep0 :: c_a2ekM)
type family AsTypeOf (a_a2eno :: a_a2ekJ) (a_a2enp :: a_a2ekJ) :: a_a2ekJ
sAsTypeOf :: forall a_a2ekJ (t_a2eoU :: a_a2ekJ) (t_a2eoV :: a_a2ekJ). Sing t_a2eoU -> Sing t_a2eoV -> Sing (Apply (Apply AsTypeOfSym0 t_a2eoU) t_a2eoV :: a_a2ekJ)
type family Seq (a_a2emA :: a_a2ekC) (a_a2emB :: b_a2ekD) :: b_a2ekD
infixr 0 `Seq`
sSeq :: forall a_a2ekC b_a2ekD (t_a2eoC :: a_a2ekC) (t_a2eoD :: b_a2ekD). Sing t_a2eoC -> Sing t_a2eoD -> Sing (Apply (Apply SeqSym0 t_a2eoC) t_a2eoD :: b_a2ekD)
infixr 0 `sSeq`
data FoldrSym0 :: forall a6989586621679541562 b6989586621679541563. (~>) ((~>) a6989586621679541562 ((~>) b6989586621679541563 b6989586621679541563)) ((~>) b6989586621679541563 ((~>) [a6989586621679541562] b6989586621679541563))
data FoldrSym1 (a6989586621679541771 :: (~>) a6989586621679541562 ((~>) b6989586621679541563 b6989586621679541563)) :: (~>) b6989586621679541563 ((~>) [a6989586621679541562] b6989586621679541563)
data FoldrSym2 (a6989586621679541771 :: (~>) a6989586621679541562 ((~>) b6989586621679541563 b6989586621679541563)) (a6989586621679541772 :: b6989586621679541563) :: (~>) [a6989586621679541562] b6989586621679541563
type FoldrSym3 (a6989586621679541771 :: (~>) a6989586621679541562 ((~>) b6989586621679541563 b6989586621679541563)) (a6989586621679541772 :: b6989586621679541563) (a6989586621679541773 :: [a6989586621679541562]) = Foldr a6989586621679541771 a6989586621679541772 a6989586621679541773
data MapSym0 :: forall a6989586621679541560 b6989586621679541561. (~>) ((~>) a6989586621679541560 b6989586621679541561) ((~>) [a6989586621679541560] [b6989586621679541561])
data MapSym1 (a6989586621679541764 :: (~>) a6989586621679541560 b6989586621679541561) :: (~>) [a6989586621679541560] [b6989586621679541561]
type MapSym2 (a6989586621679541764 :: (~>) a6989586621679541560 b6989586621679541561) (a6989586621679541765 :: [a6989586621679541560]) = Map a6989586621679541764 a6989586621679541765
data (++@#@$) :: forall a6989586621679541559. (~>) [a6989586621679541559] ((~>) [a6989586621679541559] [a6989586621679541559])
infixr 5 ++@#@$
data (++@#@$$) (a6989586621679541756 :: [a6989586621679541559]) :: (~>) [a6989586621679541559] [a6989586621679541559]
infixr 5 ++@#@$$
type (++@#@$$$) (a6989586621679541756 :: [a6989586621679541559]) (a6989586621679541757 :: [a6989586621679541559]) = (++) a6989586621679541756 a6989586621679541757
type OtherwiseSym0 = Otherwise
data IdSym0 :: forall a6989586621679541558. (~>) a6989586621679541558 a6989586621679541558
type IdSym1 (a6989586621679541753 :: a6989586621679541558) = Id a6989586621679541753
data ConstSym0 :: forall a6989586621679541556 b6989586621679541557. (~>) a6989586621679541556 ((~>) b6989586621679541557 a6989586621679541556)
data ConstSym1 (a6989586621679541748 :: a6989586621679541556) :: forall b6989586621679541557. (~>) b6989586621679541557 a6989586621679541556
type ConstSym2 (a6989586621679541748 :: a6989586621679541556) (a6989586621679541749 :: b6989586621679541557) = Const a6989586621679541748 a6989586621679541749
data (.@#@$) :: forall b6989586621679541553 c6989586621679541554 a6989586621679541555. (~>) ((~>) b6989586621679541553 c6989586621679541554) ((~>) ((~>) a6989586621679541555 b6989586621679541553) ((~>) a6989586621679541555 c6989586621679541554))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679541729 :: (~>) b6989586621679541553 c6989586621679541554) :: forall a6989586621679541555. (~>) ((~>) a6989586621679541555 b6989586621679541553) ((~>) a6989586621679541555 c6989586621679541554)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679541729 :: (~>) b6989586621679541553 c6989586621679541554) (a6989586621679541730 :: (~>) a6989586621679541555 b6989586621679541553) :: (~>) a6989586621679541555 c6989586621679541554
infixr 9 .@#@$$$
type (.@#@$$$$) (a6989586621679541729 :: (~>) b6989586621679541553 c6989586621679541554) (a6989586621679541730 :: (~>) a6989586621679541555 b6989586621679541553) (a6989586621679541731 :: a6989586621679541555) = (.) a6989586621679541729 a6989586621679541730 a6989586621679541731
data ($@#@$) :: forall a6989586621679541547 b6989586621679541548. (~>) ((~>) a6989586621679541547 b6989586621679541548) ((~>) a6989586621679541547 b6989586621679541548)
infixr 0 $@#@$
data ($@#@$$) (a6989586621679541704 :: (~>) a6989586621679541547 b6989586621679541548) :: (~>) a6989586621679541547 b6989586621679541548
infixr 0 $@#@$$
type ($@#@$$$) (a6989586621679541704 :: (~>) a6989586621679541547 b6989586621679541548) (a6989586621679541705 :: a6989586621679541547) = ($) a6989586621679541704 a6989586621679541705
data ($!@#@$) :: forall a6989586621679541545 b6989586621679541546. (~>) ((~>) a6989586621679541545 b6989586621679541546) ((~>) a6989586621679541545 b6989586621679541546)
infixr 0 $!@#@$
data ($!@#@$$) (a6989586621679541695 :: (~>) a6989586621679541545 b6989586621679541546) :: (~>) a6989586621679541545 b6989586621679541546
infixr 0 $!@#@$$
type ($!@#@$$$) (a6989586621679541695 :: (~>) a6989586621679541545 b6989586621679541546) (a6989586621679541696 :: a6989586621679541545) = ($!) a6989586621679541695 a6989586621679541696
data UntilSym0 :: forall a6989586621679541544. (~>) ((~>) a6989586621679541544 Bool) ((~>) ((~>) a6989586621679541544 a6989586621679541544) ((~>) a6989586621679541544 a6989586621679541544))
data UntilSym1 (a6989586621679541669 :: (~>) a6989586621679541544 Bool) :: (~>) ((~>) a6989586621679541544 a6989586621679541544) ((~>) a6989586621679541544 a6989586621679541544)
data UntilSym2 (a6989586621679541669 :: (~>) a6989586621679541544 Bool) (a6989586621679541670 :: (~>) a6989586621679541544 a6989586621679541544) :: (~>) a6989586621679541544 a6989586621679541544
type UntilSym3 (a6989586621679541669 :: (~>) a6989586621679541544 Bool) (a6989586621679541670 :: (~>) a6989586621679541544 a6989586621679541544) (a6989586621679541671 :: a6989586621679541544) = Until a6989586621679541669 a6989586621679541670 a6989586621679541671
data FlipSym0 :: forall a6989586621679541550 b6989586621679541551 c6989586621679541552. (~>) ((~>) a6989586621679541550 ((~>) b6989586621679541551 c6989586621679541552)) ((~>) b6989586621679541551 ((~>) a6989586621679541550 c6989586621679541552))
data FlipSym1 (a6989586621679541720 :: (~>) a6989586621679541550 ((~>) b6989586621679541551 c6989586621679541552)) :: (~>) b6989586621679541551 ((~>) a6989586621679541550 c6989586621679541552)
data FlipSym2 (a6989586621679541720 :: (~>) a6989586621679541550 ((~>) b6989586621679541551 c6989586621679541552)) (a6989586621679541721 :: b6989586621679541551) :: (~>) a6989586621679541550 c6989586621679541552
type FlipSym3 (a6989586621679541720 :: (~>) a6989586621679541550 ((~>) b6989586621679541551 c6989586621679541552)) (a6989586621679541721 :: b6989586621679541551) (a6989586621679541722 :: a6989586621679541550) = Flip a6989586621679541720 a6989586621679541721 a6989586621679541722
data AsTypeOfSym0 :: forall a6989586621679541549. (~>) a6989586621679541549 ((~>) a6989586621679541549 a6989586621679541549)
data AsTypeOfSym1 (a6989586621679541714 :: a6989586621679541549) :: (~>) a6989586621679541549 a6989586621679541549
type AsTypeOfSym2 (a6989586621679541714 :: a6989586621679541549) (a6989586621679541715 :: a6989586621679541549) = AsTypeOf a6989586621679541714 a6989586621679541715
data SeqSym0 :: forall a6989586621679541542 b6989586621679541543. (~>) a6989586621679541542 ((~>) b6989586621679541543 b6989586621679541543)
infixr 0 `SeqSym0`
data SeqSym1 (a6989586621679541664 :: a6989586621679541542) :: forall b6989586621679541543. (~>) b6989586621679541543 b6989586621679541543
infixr 0 `SeqSym1`
type SeqSym2 (a6989586621679541664 :: a6989586621679541542) (a6989586621679541665 :: b6989586621679541543) = Seq a6989586621679541664 a6989586621679541665
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.FoldrSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Base.FoldrSym0
instance forall a6989586621679541562 b6989586621679541563 (a6989586621679541771 :: a6989586621679541562 Data.Singletons.Internal.~> (b6989586621679541563 Data.Singletons.Internal.~> b6989586621679541563)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FoldrSym1 a6989586621679541771)
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 a6989586621679541562 b6989586621679541563 (a6989586621679541772 :: a6989586621679541562 Data.Singletons.Internal.~> (b6989586621679541563 Data.Singletons.Internal.~> b6989586621679541563)) (a6989586621679541771 :: b6989586621679541563). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FoldrSym2 a6989586621679541772 a6989586621679541771)
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 a6989586621679541560 b6989586621679541561 (a6989586621679541764 :: a6989586621679541560 Data.Singletons.Internal.~> b6989586621679541561). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.MapSym1 a6989586621679541764)
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 a6989586621679541559 (a6989586621679541756 :: [a6989586621679541559]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base.++@#@$$) a6989586621679541756)
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 a6989586621679541549 (a6989586621679541714 :: a6989586621679541549). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.AsTypeOfSym1 a6989586621679541714)
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 a6989586621679541556 b6989586621679541557 (a6989586621679541748 :: a6989586621679541556). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.ConstSym1 a6989586621679541748)
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 b6989586621679541553 c6989586621679541554 a6989586621679541555 (a6989586621679541729 :: b6989586621679541553 Data.Singletons.Internal.~> c6989586621679541554). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base..@#@$$) a6989586621679541729)
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 b6989586621679541553 c6989586621679541554 a6989586621679541555 (a6989586621679541730 :: b6989586621679541553 Data.Singletons.Internal.~> c6989586621679541554) (a6989586621679541729 :: a6989586621679541555 Data.Singletons.Internal.~> b6989586621679541553). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (a6989586621679541730 Data.Singletons.Prelude.Base..@#@$$$ a6989586621679541729)
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 a6989586621679541550 b6989586621679541551 c6989586621679541552 (a6989586621679541720 :: a6989586621679541550 Data.Singletons.Internal.~> (b6989586621679541551 Data.Singletons.Internal.~> c6989586621679541552)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FlipSym1 a6989586621679541720)
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 a6989586621679541550 b6989586621679541551 c6989586621679541552 (a6989586621679541721 :: a6989586621679541550 Data.Singletons.Internal.~> (b6989586621679541551 Data.Singletons.Internal.~> c6989586621679541552)) (a6989586621679541720 :: b6989586621679541551). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FlipSym2 a6989586621679541721 a6989586621679541720)
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 a6989586621679541547 b6989586621679541548 (a6989586621679541704 :: a6989586621679541547 Data.Singletons.Internal.~> b6989586621679541548). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base.$@#@$$) a6989586621679541704)
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 a6989586621679541545 b6989586621679541546 (a6989586621679541695 :: a6989586621679541545 Data.Singletons.Internal.~> b6989586621679541546). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base.$!@#@$$) a6989586621679541695)
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 a6989586621679541544 (a6989586621679541669 :: a6989586621679541544 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.UntilSym1 a6989586621679541669)
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 a6989586621679541544 (a6989586621679541670 :: a6989586621679541544 Data.Singletons.Internal.~> GHC.Types.Bool) (a6989586621679541669 :: a6989586621679541544 Data.Singletons.Internal.~> a6989586621679541544). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.UntilSym2 a6989586621679541670 a6989586621679541669)
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 a6989586621679541542 b6989586621679541543 (a6989586621679541664 :: a6989586621679541542). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.SeqSym1 a6989586621679541664)
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.Let6989586621679541782GoSym0
instance forall k1 k2 k3 (k6989586621679541779 :: k1 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541782GoSym1 k6989586621679541779)
instance forall k1 k2 k3 (z6989586621679541780 :: k1 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k2)) (k6989586621679541779 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541782GoSym2 z6989586621679541780 k6989586621679541779)
instance forall k1 k2 k3 (a_69895866216795417776989586621679541781 :: k1 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k2)) (z6989586621679541780 :: k2) (k6989586621679541779 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541782GoSym3 a_69895866216795417776989586621679541781 z6989586621679541780 k6989586621679541779)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679541740Sym0
instance forall k2 k3 k4 k5 (f6989586621679541737 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Lambda_6989586621679541740Sym1 f6989586621679541737)
instance forall k2 k3 k4 k5 (g6989586621679541738 :: k2 Data.Singletons.Internal.~> k3) (f6989586621679541737 :: k4 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Lambda_6989586621679541740Sym2 g6989586621679541738 f6989586621679541737)
instance forall k2 k3 k4 k5 (a_69895866216795417356989586621679541739 :: k2 Data.Singletons.Internal.~> k3) (g6989586621679541738 :: k4 Data.Singletons.Internal.~> k2) (f6989586621679541737 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Lambda_6989586621679541740Sym3 a_69895866216795417356989586621679541739 g6989586621679541738 f6989586621679541737)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679541701VxSym0
instance forall k1 k2 (f6989586621679541699 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541701VxSym1 f6989586621679541699)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679541680GoSym0
instance forall k1 k2 (p6989586621679541677 :: k1 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541680GoSym1 p6989586621679541677)
instance forall k1 k2 (f6989586621679541678 :: k1 Data.Singletons.Internal.~> GHC.Types.Bool) (p6989586621679541677 :: k1 Data.Singletons.Internal.~> k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541680GoSym2 f6989586621679541678 p6989586621679541677)
instance forall k1 k2 (a_69895866216795416756989586621679541679 :: k1 Data.Singletons.Internal.~> GHC.Types.Bool) (f6989586621679541678 :: k1 Data.Singletons.Internal.~> k1) (p6989586621679541677 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541680GoSym3 a_69895866216795416756989586621679541679 f6989586621679541678 p6989586621679541677)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679541687Scrutinee_6989586621679541606Sym0
instance forall k1 k2 k3 k4 (x6989586621679541686 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541687Scrutinee_6989586621679541606Sym1 x6989586621679541686)
instance forall k1 k2 k3 k4 (p6989586621679541677 :: k1) (x6989586621679541686 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541687Scrutinee_6989586621679541606Sym2 p6989586621679541677 x6989586621679541686)
instance forall k1 k2 k3 k4 (f6989586621679541678 :: k1) (p6989586621679541677 :: k1 Data.Singletons.Internal.~> k2) (x6989586621679541686 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541687Scrutinee_6989586621679541606Sym3 f6989586621679541678 p6989586621679541677 x6989586621679541686)


-- | Defines the promoted and singled versions of the <a>MonadFail</a> type
--   class.
module Data.Singletons.Prelude.Monad.Fail
class PMonadFail (m_a32Fv :: Type -> Type) where {
    type family Fail (arg_a32FP :: [Char]) :: m_a32Fv a_a32Fw;
}
class SMonad m_a32Fv => SMonadFail (m_a32Fv :: Type -> Type)
sFail :: forall a_a32Fw (t_a32G3 :: [Char]). SMonadFail m_a32Fv => Sing t_a32G3 -> Sing (Apply FailSym0 t_a32G3 :: m_a32Fv a_a32Fw)
data FailSym0 :: forall m6989586621679735037 a6989586621679735038. (~>) [Char] (m6989586621679735037 a6989586621679735038)
type FailSym1 (arg6989586621679735057 :: [Char]) = Fail arg6989586621679735057
instance Data.Singletons.Prelude.Monad.Fail.SMonadFail GHC.Maybe.Maybe
instance Data.Singletons.Prelude.Monad.Fail.SMonadFail []
instance Data.Singletons.Prelude.Monad.Fail.SMonadFail m => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Monad.Fail.FailSym0
instance forall k (m6989586621679735037 :: k -> *) (a6989586621679735038 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Fail.Fail_6989586621679735066Sym0
instance Data.Singletons.Prelude.Monad.Fail.PMonadFail []
instance forall k (m6989586621679735037 :: k -> *) (a6989586621679735038 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Fail.Fail_6989586621679735060Sym0
instance Data.Singletons.Prelude.Monad.Fail.PMonadFail GHC.Maybe.Maybe
instance forall k (m6989586621679735037 :: k -> *) (a6989586621679735038 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Fail.FailSym0


-- | Defines the promoted and singled versions of the <a>Functor</a> type
--   class.
module Data.Singletons.Prelude.Functor
class PFunctor (f_a2kWl :: Type -> Type) where {
    type family Fmap (arg_a2l2F :: (~>) a_a2kWm b_a2kWn) (arg_a2l2G :: f_a2kWl a_a2kWm) :: f_a2kWl b_a2kWn;
    type family (<$) (arg_a2l2J :: a_a2kWo) (arg_a2l2K :: f_a2kWl b_a2kWp) :: f_a2kWl a_a2kWo;
    type (<$) a_a2l2N a_a2l2O = Apply (Apply TFHelper_6989586621679567347Sym0 a_a2l2N) a_a2l2O;
}
infixl 4 <$
class SFunctor (f_a2kWl :: Type -> Type)
sFmap :: forall a_a2kWm b_a2kWn (t_a2l6X :: (~>) a_a2kWm b_a2kWn) (t_a2l6Y :: f_a2kWl a_a2kWm). SFunctor f_a2kWl => Sing t_a2l6X -> Sing t_a2l6Y -> Sing (Apply (Apply FmapSym0 t_a2l6X) t_a2l6Y :: f_a2kWl b_a2kWn)
(%<$) :: forall a_a2kWo b_a2kWp (t_a2l71 :: a_a2kWo) (t_a2l72 :: f_a2kWl b_a2kWp). SFunctor f_a2kWl => Sing t_a2l71 -> Sing t_a2l72 -> Sing (Apply (Apply (<$@#@$) t_a2l71) t_a2l72 :: f_a2kWl a_a2kWo)
(%<$) :: forall a_a2kWo b_a2kWp (t_a2l71 :: a_a2kWo) (t_a2l72 :: f_a2kWl b_a2kWp). (SFunctor f_a2kWl, (Apply (Apply (<$@#@$) t_a2l71) t_a2l72 :: f_a2kWl a_a2kWo) ~ Apply (Apply TFHelper_6989586621679567347Sym0 t_a2l71) t_a2l72) => Sing t_a2l71 -> Sing t_a2l72 -> Sing (Apply (Apply (<$@#@$) t_a2l71) t_a2l72 :: f_a2kWl a_a2kWo)
infixl 4 %<$
type family ($>) (a_a33eb :: f_a33d1 a_a33d2) (a_a33ec :: b_a33d3) :: f_a33d1 b_a33d3
infixl 4 $>
(%$>) :: forall f_a33d1 a_a33d2 b_a33d3 (t_a33fS :: f_a33d1 a_a33d2) (t_a33fT :: b_a33d3). SFunctor f_a33d1 => Sing t_a33fS -> Sing t_a33fT -> Sing (Apply (Apply ($>@#@$) t_a33fS) t_a33fT :: f_a33d1 b_a33d3)
infixl 4 %$>
type family (<$>) (a_a33er :: (~>) a_a33d8 b_a33d9) (a_a33es :: f_a33d7 a_a33d8) :: f_a33d7 b_a33d9
infixl 4 <$>
(%<$>) :: forall a_a33d8 b_a33d9 f_a33d7 (t_a33g0 :: (~>) a_a33d8 b_a33d9) (t_a33g1 :: f_a33d7 a_a33d8). SFunctor f_a33d7 => Sing t_a33g0 -> Sing t_a33g1 -> Sing (Apply (Apply (<$>@#@$) t_a33g0) t_a33g1 :: f_a33d7 b_a33d9)
infixl 4 %<$>
type family (<&>) (a_a33eh :: f_a33d4 a_a33d5) (a_a33ei :: (~>) a_a33d5 b_a33d6) :: f_a33d4 b_a33d6
infixl 1 <&>
(%<&>) :: forall f_a33d4 a_a33d5 b_a33d6 (t_a33fW :: f_a33d4 a_a33d5) (t_a33fX :: (~>) a_a33d5 b_a33d6). SFunctor f_a33d4 => Sing t_a33fW -> Sing t_a33fX -> Sing (Apply (Apply (<&>@#@$) t_a33fW) t_a33fX :: f_a33d4 b_a33d6)
infixl 1 %<&>
type family Void (a_a33e4 :: f_a33cZ a_a33d0) :: f_a33cZ ()
sVoid :: forall f_a33cZ a_a33d0 (t_a33fQ :: f_a33cZ a_a33d0). SFunctor f_a33cZ => Sing t_a33fQ -> Sing (Apply VoidSym0 t_a33fQ :: f_a33cZ ())
data FmapSym0 :: forall a6989586621679566946 b6989586621679566947 f6989586621679566945. (~>) ((~>) a6989586621679566946 b6989586621679566947) ((~>) (f6989586621679566945 a6989586621679566946) (f6989586621679566945 b6989586621679566947))
data FmapSym1 (arg6989586621679567337 :: (~>) a6989586621679566946 b6989586621679566947) :: forall f6989586621679566945. (~>) (f6989586621679566945 a6989586621679566946) (f6989586621679566945 b6989586621679566947)
type FmapSym2 (arg6989586621679567337 :: (~>) a6989586621679566946 b6989586621679566947) (arg6989586621679567338 :: f6989586621679566945 a6989586621679566946) = Fmap arg6989586621679567337 arg6989586621679567338
data (<$@#@$) :: forall a6989586621679566948 f6989586621679566945 b6989586621679566949. (~>) a6989586621679566948 ((~>) (f6989586621679566945 b6989586621679566949) (f6989586621679566945 a6989586621679566948))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679567341 :: a6989586621679566948) :: forall f6989586621679566945 b6989586621679566949. (~>) (f6989586621679566945 b6989586621679566949) (f6989586621679566945 a6989586621679566948)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679567341 :: a6989586621679566948) (arg6989586621679567342 :: f6989586621679566945 b6989586621679566949) = (<$) arg6989586621679567341 arg6989586621679567342
data ($>@#@$) :: forall f6989586621679737115 a6989586621679737116 b6989586621679737117. (~>) (f6989586621679737115 a6989586621679737116) ((~>) b6989586621679737117 (f6989586621679737115 b6989586621679737117))
infixl 4 $>@#@$
data ($>@#@$$) (a6989586621679737187 :: f6989586621679737115 a6989586621679737116) :: forall b6989586621679737117. (~>) b6989586621679737117 (f6989586621679737115 b6989586621679737117)
infixl 4 $>@#@$$
type ($>@#@$$$) (a6989586621679737187 :: f6989586621679737115 a6989586621679737116) (a6989586621679737188 :: b6989586621679737117) = ($>) a6989586621679737187 a6989586621679737188
data (<$>@#@$) :: forall a6989586621679737122 b6989586621679737123 f6989586621679737121. (~>) ((~>) a6989586621679737122 b6989586621679737123) ((~>) (f6989586621679737121 a6989586621679737122) (f6989586621679737121 b6989586621679737123))
infixl 4 <$>@#@$
data (<$>@#@$$) (a6989586621679737203 :: (~>) a6989586621679737122 b6989586621679737123) :: forall f6989586621679737121. (~>) (f6989586621679737121 a6989586621679737122) (f6989586621679737121 b6989586621679737123)
infixl 4 <$>@#@$$
type (<$>@#@$$$) (a6989586621679737203 :: (~>) a6989586621679737122 b6989586621679737123) (a6989586621679737204 :: f6989586621679737121 a6989586621679737122) = (<$>) a6989586621679737203 a6989586621679737204
data (<&>@#@$) :: forall f6989586621679737118 a6989586621679737119 b6989586621679737120. (~>) (f6989586621679737118 a6989586621679737119) ((~>) ((~>) a6989586621679737119 b6989586621679737120) (f6989586621679737118 b6989586621679737120))
infixl 1 <&>@#@$
data (<&>@#@$$) (a6989586621679737193 :: f6989586621679737118 a6989586621679737119) :: forall b6989586621679737120. (~>) ((~>) a6989586621679737119 b6989586621679737120) (f6989586621679737118 b6989586621679737120)
infixl 1 <&>@#@$$
type (<&>@#@$$$) (a6989586621679737193 :: f6989586621679737118 a6989586621679737119) (a6989586621679737194 :: (~>) a6989586621679737119 b6989586621679737120) = (<&>) a6989586621679737193 a6989586621679737194
data VoidSym0 :: forall f6989586621679737113 a6989586621679737114. (~>) (f6989586621679737113 a6989586621679737114) (f6989586621679737113 ())
type VoidSym1 (a6989586621679737180 :: f6989586621679737113 a6989586621679737114) = Void a6989586621679737180
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.TFHelper_6989586621679737273Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Ord.Down
instance forall a6989586621679566948 b6989586621679566949 (a6989586621679737271 :: a6989586621679566948). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.TFHelper_6989586621679737273Sym1 a6989586621679737271)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679737281Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Ord.Down
instance forall k1 k2 k3 (_z_69895866216797371726989586621679737279 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737281Sym1 _z_69895866216797371726989586621679737279)
instance forall k1 k2 k3 (a_69895866216797371786989586621679737280 :: k1) (_z_69895866216797371726989586621679737279 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737281Sym2 a_69895866216797371786989586621679737280 _z_69895866216797371726989586621679737279)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Fmap_6989586621679737261Sym0
instance forall a6989586621679566946 b6989586621679566947 (a6989586621679737259 :: a6989586621679566946 Data.Singletons.Internal.~> b6989586621679566947). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Fmap_6989586621679737261Sym1 a6989586621679737259)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.TFHelper_6989586621679737232Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor ((,) a)
instance forall a6989586621679566948 a6989586621679737131 b6989586621679566949 (a6989586621679737230 :: a6989586621679566948). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.TFHelper_6989586621679737232Sym1 a6989586621679737230)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679737249Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor ((,) a)
instance forall k1 k2 k3 k4 (_z_69895866216797371516989586621679737238 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737249Sym1 _z_69895866216797371516989586621679737238)
instance forall k1 k2 k3 k4 (a_69895866216797371636989586621679737239 :: k1) (_z_69895866216797371516989586621679737238 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737249Sym2 a_69895866216797371636989586621679737239 _z_69895866216797371516989586621679737238)
instance forall k1 k2 k3 k4 (a_69895866216797371656989586621679737240 :: k1) (a_69895866216797371636989586621679737239 :: k2) (_z_69895866216797371516989586621679737238 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737249Sym3 a_69895866216797371656989586621679737240 a_69895866216797371636989586621679737239 _z_69895866216797371516989586621679737238)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679737241Sym0
instance forall k1 k2 k3 k4 (_z_69895866216797371516989586621679737238 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737241Sym1 _z_69895866216797371516989586621679737238)
instance forall k1 k2 k3 k4 (a_69895866216797371636989586621679737239 :: k1) (_z_69895866216797371516989586621679737238 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737241Sym2 a_69895866216797371636989586621679737239 _z_69895866216797371516989586621679737238)
instance forall k1 k2 k3 k4 (a_69895866216797371656989586621679737240 :: k1) (a_69895866216797371636989586621679737239 :: k2) (_z_69895866216797371516989586621679737238 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737241Sym3 a_69895866216797371656989586621679737240 a_69895866216797371636989586621679737239 _z_69895866216797371516989586621679737238)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Fmap_6989586621679737211Sym0
instance forall a6989586621679566946 b6989586621679566947 a6989586621679737131 (a6989586621679737209 :: a6989586621679566946 Data.Singletons.Internal.~> b6989586621679566947). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Fmap_6989586621679737211Sym1 a6989586621679737209)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679737220Sym0
instance forall k1 k2 k3 k4 (_f_69895866216797371496989586621679737217 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737220Sym1 _f_69895866216797371496989586621679737217)
instance forall k1 k2 k3 k4 (a_69895866216797371556989586621679737218 :: k1) (_f_69895866216797371496989586621679737217 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737220Sym2 a_69895866216797371556989586621679737218 _f_69895866216797371496989586621679737217)
instance forall k1 k2 k3 k4 (a_69895866216797371576989586621679737219 :: k1) (a_69895866216797371556989586621679737218 :: k2) (_f_69895866216797371496989586621679737217 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737220Sym3 a_69895866216797371576989586621679737219 a_69895866216797371556989586621679737218 _f_69895866216797371496989586621679737217)
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 (f6989586621679737118 :: * -> *) a6989586621679737119 b6989586621679737120 (a6989586621679737193 :: f6989586621679737118 a6989586621679737119). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Functor.<&>@#@$$) a6989586621679737193)
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 a6989586621679737122 b6989586621679737123 (f6989586621679737121 :: * -> *) (a6989586621679737203 :: a6989586621679737122 Data.Singletons.Internal.~> b6989586621679737123). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Functor.<$>@#@$$) a6989586621679737203)
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 (f6989586621679737115 :: * -> *) a6989586621679737116 b6989586621679737117 (a6989586621679737187 :: f6989586621679737115 a6989586621679737116). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Functor.$>@#@$$) a6989586621679737187)
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_a2eo1 :: a_a2ekS) :: a_a2ekS
sId :: forall a_a2ekS (t_a2epe :: a_a2ekS). Sing t_a2epe -> Sing (Apply IdSym0 t_a2epe :: a_a2ekS)
type family Const (a_a2enW :: a_a2ekQ) (a_a2enX :: b_a2ekR) :: a_a2ekQ
sConst :: forall a_a2ekQ b_a2ekR (t_a2epa :: a_a2ekQ) (t_a2epb :: b_a2ekR). Sing t_a2epa -> Sing t_a2epb -> Sing (Apply (Apply ConstSym0 t_a2epa) t_a2epb :: a_a2ekQ)
type family (.) (a_a2enD :: (~>) b_a2ekN c_a2ekO) (a_a2enE :: (~>) a_a2ekP b_a2ekN) (a_a2enF :: a_a2ekP) :: c_a2ekO
infixr 9 .
(%.) :: forall b_a2ekN c_a2ekO a_a2ekP (t_a2ep4 :: (~>) b_a2ekN c_a2ekO) (t_a2ep5 :: (~>) a_a2ekP b_a2ekN) (t_a2ep6 :: a_a2ekP). Sing t_a2ep4 -> Sing t_a2ep5 -> Sing t_a2ep6 -> Sing (Apply (Apply (Apply (.@#@$) t_a2ep4) t_a2ep5) t_a2ep6 :: c_a2ekO)
infixr 9 %.
type family Flip (a_a2enu :: (~>) a_a2ekK ((~>) b_a2ekL c_a2ekM)) (a_a2env :: b_a2ekL) (a_a2enw :: a_a2ekK) :: c_a2ekM
sFlip :: forall a_a2ekK b_a2ekL c_a2ekM (t_a2eoY :: (~>) a_a2ekK ((~>) b_a2ekL c_a2ekM)) (t_a2eoZ :: b_a2ekL) (t_a2ep0 :: a_a2ekK). Sing t_a2eoY -> Sing t_a2eoZ -> Sing t_a2ep0 -> Sing (Apply (Apply (Apply FlipSym0 t_a2eoY) t_a2eoZ) t_a2ep0 :: c_a2ekM)
type family ($) (a_a2ene :: (~>) a_a2ekH b_a2ekI) (a_a2enf :: a_a2ekH) :: b_a2ekI
infixr 0 $
(%$) :: forall a_a2ekH b_a2ekI (t_a2eoQ :: (~>) a_a2ekH b_a2ekI) (t_a2eoR :: a_a2ekH). Sing t_a2eoQ -> Sing t_a2eoR -> Sing (Apply (Apply ($@#@$) t_a2eoQ) t_a2eoR :: b_a2ekI)
infixr 0 %$
type family (&) (a_a37gi :: a_a37g5) (a_a37gj :: (~>) a_a37g5 b_a37g6) :: b_a37g6
infixl 1 &
(%&) :: forall a_a37g5 b_a37g6 (t_a37gQ :: a_a37g5) (t_a37gR :: (~>) a_a37g5 b_a37g6). Sing t_a37gQ -> Sing t_a37gR -> Sing (Apply (Apply (&@#@$) t_a37gQ) t_a37gR :: b_a37g6)
infixl 1 %&
type family On (a_a37go :: (~>) b_a37g7 ((~>) b_a37g7 c_a37g8)) (a_a37gp :: (~>) a_a37g9 b_a37g7) (a_a37gq :: a_a37g9) (a_a37gr :: a_a37g9) :: c_a37g8
infixl 0 `On`
sOn :: forall b_a37g7 c_a37g8 a_a37g9 (t_a37gU :: (~>) b_a37g7 ((~>) b_a37g7 c_a37g8)) (t_a37gV :: (~>) a_a37g9 b_a37g7) (t_a37gW :: a_a37g9) (t_a37gX :: a_a37g9). Sing t_a37gU -> Sing t_a37gV -> Sing t_a37gW -> Sing t_a37gX -> Sing (Apply (Apply (Apply (Apply OnSym0 t_a37gU) t_a37gV) t_a37gW) t_a37gX :: c_a37g8)
infixl 0 `sOn`
data IdSym0 :: forall a6989586621679541558. (~>) a6989586621679541558 a6989586621679541558
type IdSym1 (a6989586621679541753 :: a6989586621679541558) = Id a6989586621679541753
data ConstSym0 :: forall a6989586621679541556 b6989586621679541557. (~>) a6989586621679541556 ((~>) b6989586621679541557 a6989586621679541556)
data ConstSym1 (a6989586621679541748 :: a6989586621679541556) :: forall b6989586621679541557. (~>) b6989586621679541557 a6989586621679541556
type ConstSym2 (a6989586621679541748 :: a6989586621679541556) (a6989586621679541749 :: b6989586621679541557) = Const a6989586621679541748 a6989586621679541749
data (.@#@$) :: forall b6989586621679541553 c6989586621679541554 a6989586621679541555. (~>) ((~>) b6989586621679541553 c6989586621679541554) ((~>) ((~>) a6989586621679541555 b6989586621679541553) ((~>) a6989586621679541555 c6989586621679541554))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679541729 :: (~>) b6989586621679541553 c6989586621679541554) :: forall a6989586621679541555. (~>) ((~>) a6989586621679541555 b6989586621679541553) ((~>) a6989586621679541555 c6989586621679541554)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679541729 :: (~>) b6989586621679541553 c6989586621679541554) (a6989586621679541730 :: (~>) a6989586621679541555 b6989586621679541553) :: (~>) a6989586621679541555 c6989586621679541554
infixr 9 .@#@$$$
type (.@#@$$$$) (a6989586621679541729 :: (~>) b6989586621679541553 c6989586621679541554) (a6989586621679541730 :: (~>) a6989586621679541555 b6989586621679541553) (a6989586621679541731 :: a6989586621679541555) = (.) a6989586621679541729 a6989586621679541730 a6989586621679541731
data FlipSym0 :: forall a6989586621679541550 b6989586621679541551 c6989586621679541552. (~>) ((~>) a6989586621679541550 ((~>) b6989586621679541551 c6989586621679541552)) ((~>) b6989586621679541551 ((~>) a6989586621679541550 c6989586621679541552))
data FlipSym1 (a6989586621679541720 :: (~>) a6989586621679541550 ((~>) b6989586621679541551 c6989586621679541552)) :: (~>) b6989586621679541551 ((~>) a6989586621679541550 c6989586621679541552)
data FlipSym2 (a6989586621679541720 :: (~>) a6989586621679541550 ((~>) b6989586621679541551 c6989586621679541552)) (a6989586621679541721 :: b6989586621679541551) :: (~>) a6989586621679541550 c6989586621679541552
type FlipSym3 (a6989586621679541720 :: (~>) a6989586621679541550 ((~>) b6989586621679541551 c6989586621679541552)) (a6989586621679541721 :: b6989586621679541551) (a6989586621679541722 :: a6989586621679541550) = Flip a6989586621679541720 a6989586621679541721 a6989586621679541722
data ($@#@$) :: forall a6989586621679541547 b6989586621679541548. (~>) ((~>) a6989586621679541547 b6989586621679541548) ((~>) a6989586621679541547 b6989586621679541548)
infixr 0 $@#@$
data ($@#@$$) (a6989586621679541704 :: (~>) a6989586621679541547 b6989586621679541548) :: (~>) a6989586621679541547 b6989586621679541548
infixr 0 $@#@$$
type ($@#@$$$) (a6989586621679541704 :: (~>) a6989586621679541547 b6989586621679541548) (a6989586621679541705 :: a6989586621679541547) = ($) a6989586621679541704 a6989586621679541705
data (&@#@$) :: forall a6989586621679752681 b6989586621679752682. (~>) a6989586621679752681 ((~>) ((~>) a6989586621679752681 b6989586621679752682) b6989586621679752682)
infixl 1 &@#@$
data (&@#@$$) (a6989586621679752694 :: a6989586621679752681) :: forall b6989586621679752682. (~>) ((~>) a6989586621679752681 b6989586621679752682) b6989586621679752682
infixl 1 &@#@$$
type (&@#@$$$) (a6989586621679752694 :: a6989586621679752681) (a6989586621679752695 :: (~>) a6989586621679752681 b6989586621679752682) = (&) a6989586621679752694 a6989586621679752695
data OnSym0 :: forall b6989586621679752683 c6989586621679752684 a6989586621679752685. (~>) ((~>) b6989586621679752683 ((~>) b6989586621679752683 c6989586621679752684)) ((~>) ((~>) a6989586621679752685 b6989586621679752683) ((~>) a6989586621679752685 ((~>) a6989586621679752685 c6989586621679752684)))
infixl 0 `OnSym0`
data OnSym1 (a6989586621679752700 :: (~>) b6989586621679752683 ((~>) b6989586621679752683 c6989586621679752684)) :: forall a6989586621679752685. (~>) ((~>) a6989586621679752685 b6989586621679752683) ((~>) a6989586621679752685 ((~>) a6989586621679752685 c6989586621679752684))
infixl 0 `OnSym1`
data OnSym2 (a6989586621679752700 :: (~>) b6989586621679752683 ((~>) b6989586621679752683 c6989586621679752684)) (a6989586621679752701 :: (~>) a6989586621679752685 b6989586621679752683) :: (~>) a6989586621679752685 ((~>) a6989586621679752685 c6989586621679752684)
infixl 0 `OnSym2`
data OnSym3 (a6989586621679752700 :: (~>) b6989586621679752683 ((~>) b6989586621679752683 c6989586621679752684)) (a6989586621679752701 :: (~>) a6989586621679752685 b6989586621679752683) (a6989586621679752702 :: a6989586621679752685) :: (~>) a6989586621679752685 c6989586621679752684
infixl 0 `OnSym3`
type OnSym4 (a6989586621679752700 :: (~>) b6989586621679752683 ((~>) b6989586621679752683 c6989586621679752684)) (a6989586621679752701 :: (~>) a6989586621679752685 b6989586621679752683) (a6989586621679752702 :: a6989586621679752685) (a6989586621679752703 :: a6989586621679752685) = On a6989586621679752700 a6989586621679752701 a6989586621679752702 a6989586621679752703
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.OnSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Function.OnSym0
instance forall b6989586621679752683 c6989586621679752684 a6989586621679752685 (a6989586621679752700 :: b6989586621679752683 Data.Singletons.Internal.~> (b6989586621679752683 Data.Singletons.Internal.~> c6989586621679752684)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.OnSym1 a6989586621679752700)
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 b6989586621679752683 c6989586621679752684 a6989586621679752685 (a6989586621679752701 :: b6989586621679752683 Data.Singletons.Internal.~> (b6989586621679752683 Data.Singletons.Internal.~> c6989586621679752684)) (a6989586621679752700 :: a6989586621679752685 Data.Singletons.Internal.~> b6989586621679752683). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.OnSym2 a6989586621679752701 a6989586621679752700)
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 b6989586621679752683 c6989586621679752684 a6989586621679752685 (a6989586621679752702 :: b6989586621679752683 Data.Singletons.Internal.~> (b6989586621679752683 Data.Singletons.Internal.~> c6989586621679752684)) (a6989586621679752701 :: a6989586621679752685 Data.Singletons.Internal.~> b6989586621679752683) (a6989586621679752700 :: a6989586621679752685). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.OnSym3 a6989586621679752702 a6989586621679752701 a6989586621679752700)
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 a6989586621679752681 b6989586621679752682 (a6989586621679752694 :: a6989586621679752681). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Function.&@#@$$) a6989586621679752694)
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_6989586621679752716Sym0
instance forall k2 k3 k4 k5 k6 (ty6989586621679752712 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679752716Sym1 ty6989586621679752712)
instance forall k2 k3 k4 k5 k6 (f6989586621679752713 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)) (ty6989586621679752712 :: k4 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679752716Sym2 f6989586621679752713 ty6989586621679752712)
instance forall k2 k3 k4 k5 k6 (a_69895866216797527086989586621679752714 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)) (f6989586621679752713 :: k4 Data.Singletons.Internal.~> k2) (ty6989586621679752712 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679752716Sym3 a_69895866216797527086989586621679752714 f6989586621679752713 ty6989586621679752712)
instance forall k2 k3 k4 k5 k6 (a_69895866216797527106989586621679752715 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)) (a_69895866216797527086989586621679752714 :: k4 Data.Singletons.Internal.~> k2) (f6989586621679752713 :: k5) (ty6989586621679752712 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679752716Sym4 a_69895866216797527106989586621679752715 a_69895866216797527086989586621679752714 f6989586621679752713 ty6989586621679752712)
instance forall k2 k3 k4 k5 k6 (t6989586621679752720 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)) (a_69895866216797527106989586621679752715 :: k4 Data.Singletons.Internal.~> k2) (a_69895866216797527086989586621679752714 :: k5) (f6989586621679752713 :: k6) (ty6989586621679752712 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679752716Sym5 t6989586621679752720 a_69895866216797527106989586621679752715 a_69895866216797527086989586621679752714 f6989586621679752713 ty6989586621679752712)


-- | Defines the promoted and singleton version of Bounded, <a>PBounded</a>
--   and <a>SBounded</a>
module Data.Singletons.Prelude.Enum
class PBounded (a_a38Xi :: Type) where {
    type family MinBound :: a_a38Xi;
    type family MaxBound :: a_a38Xi;
}
class SBounded a_a38Xi
sMinBound :: SBounded a_a38Xi => Sing (MinBoundSym0 :: a_a38Xi)
sMaxBound :: SBounded a_a38Xi => Sing (MaxBoundSym0 :: a_a38Xi)
class PEnum (a_a39Z7 :: Type) where {
    type family Succ (arg_a3a3H :: a_a39Z7) :: a_a39Z7;
    type family Pred (arg_a3a3J :: a_a39Z7) :: a_a39Z7;
    type family ToEnum (arg_a3a3L :: Nat) :: a_a39Z7;
    type family FromEnum (arg_a3a3N :: a_a39Z7) :: Nat;
    type family EnumFromTo (arg_a3a3P :: a_a39Z7) (arg_a3a3Q :: a_a39Z7) :: [a_a39Z7];
    type family EnumFromThenTo (arg_a3a3T :: a_a39Z7) (arg_a3a3U :: a_a39Z7) (arg_a3a3V :: a_a39Z7) :: [a_a39Z7];
    type Succ a_a3a3Z = Apply Succ_6989586621679763464Sym0 a_a3a3Z;
    type Pred a_a3a4e = Apply Pred_6989586621679763479Sym0 a_a3a4e;
    type EnumFromTo a_a3a4n a_a3a4o = Apply (Apply EnumFromTo_6989586621679763489Sym0 a_a3a4n) a_a3a4o;
    type EnumFromThenTo a_a3a4z a_a3a4A a_a3a4B = Apply (Apply (Apply EnumFromThenTo_6989586621679763502Sym0 a_a3a4z) a_a3a4A) a_a3a4B;
}
class SEnum a_a39Z7
sSucc :: forall (t_a3a6F :: a_a39Z7). SEnum a_a39Z7 => Sing t_a3a6F -> Sing (Apply SuccSym0 t_a3a6F :: a_a39Z7)
sPred :: forall (t_a3a6H :: a_a39Z7). SEnum a_a39Z7 => Sing t_a3a6H -> Sing (Apply PredSym0 t_a3a6H :: a_a39Z7)
sToEnum :: forall (t_a3a6J :: Nat). SEnum a_a39Z7 => Sing t_a3a6J -> Sing (Apply ToEnumSym0 t_a3a6J :: a_a39Z7)
sFromEnum :: forall (t_a3a6L :: a_a39Z7). SEnum a_a39Z7 => Sing t_a3a6L -> Sing (Apply FromEnumSym0 t_a3a6L :: Nat)
sEnumFromTo :: forall (t_a3a6N :: a_a39Z7) (t_a3a6O :: a_a39Z7). SEnum a_a39Z7 => Sing t_a3a6N -> Sing t_a3a6O -> Sing (Apply (Apply EnumFromToSym0 t_a3a6N) t_a3a6O :: [a_a39Z7])
sEnumFromThenTo :: forall (t_a3a6R :: a_a39Z7) (t_a3a6S :: a_a39Z7) (t_a3a6T :: a_a39Z7). SEnum a_a39Z7 => Sing t_a3a6R -> Sing t_a3a6S -> Sing t_a3a6T -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3a6R) t_a3a6S) t_a3a6T :: [a_a39Z7])
sSucc :: forall (t_a3a6F :: a_a39Z7). (SEnum a_a39Z7, (Apply SuccSym0 t_a3a6F :: a_a39Z7) ~ Apply Succ_6989586621679763464Sym0 t_a3a6F) => Sing t_a3a6F -> Sing (Apply SuccSym0 t_a3a6F :: a_a39Z7)
sPred :: forall (t_a3a6H :: a_a39Z7). (SEnum a_a39Z7, (Apply PredSym0 t_a3a6H :: a_a39Z7) ~ Apply Pred_6989586621679763479Sym0 t_a3a6H) => Sing t_a3a6H -> Sing (Apply PredSym0 t_a3a6H :: a_a39Z7)
sEnumFromTo :: forall (t_a3a6N :: a_a39Z7) (t_a3a6O :: a_a39Z7). (SEnum a_a39Z7, (Apply (Apply EnumFromToSym0 t_a3a6N) t_a3a6O :: [a_a39Z7]) ~ Apply (Apply EnumFromTo_6989586621679763489Sym0 t_a3a6N) t_a3a6O) => Sing t_a3a6N -> Sing t_a3a6O -> Sing (Apply (Apply EnumFromToSym0 t_a3a6N) t_a3a6O :: [a_a39Z7])
sEnumFromThenTo :: forall (t_a3a6R :: a_a39Z7) (t_a3a6S :: a_a39Z7) (t_a3a6T :: a_a39Z7). (SEnum a_a39Z7, (Apply (Apply (Apply EnumFromThenToSym0 t_a3a6R) t_a3a6S) t_a3a6T :: [a_a39Z7]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679763502Sym0 t_a3a6R) t_a3a6S) t_a3a6T) => Sing t_a3a6R -> Sing t_a3a6S -> Sing t_a3a6T -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3a6R) t_a3a6S) t_a3a6T :: [a_a39Z7])
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data SuccSym0 :: forall a6989586621679763161. (~>) a6989586621679763161 a6989586621679763161
type SuccSym1 (arg6989586621679763445 :: a6989586621679763161) = Succ arg6989586621679763445
data PredSym0 :: forall a6989586621679763161. (~>) a6989586621679763161 a6989586621679763161
type PredSym1 (arg6989586621679763447 :: a6989586621679763161) = Pred arg6989586621679763447
data ToEnumSym0 :: forall a6989586621679763161. (~>) Nat a6989586621679763161
type ToEnumSym1 (arg6989586621679763449 :: Nat) = ToEnum arg6989586621679763449
data FromEnumSym0 :: forall a6989586621679763161. (~>) a6989586621679763161 Nat
type FromEnumSym1 (arg6989586621679763451 :: a6989586621679763161) = FromEnum arg6989586621679763451
data EnumFromToSym0 :: forall a6989586621679763161. (~>) a6989586621679763161 ((~>) a6989586621679763161 [a6989586621679763161])
data EnumFromToSym1 (arg6989586621679763453 :: a6989586621679763161) :: (~>) a6989586621679763161 [a6989586621679763161]
type EnumFromToSym2 (arg6989586621679763453 :: a6989586621679763161) (arg6989586621679763454 :: a6989586621679763161) = EnumFromTo arg6989586621679763453 arg6989586621679763454
data EnumFromThenToSym0 :: forall a6989586621679763161. (~>) a6989586621679763161 ((~>) a6989586621679763161 ((~>) a6989586621679763161 [a6989586621679763161]))
data EnumFromThenToSym1 (arg6989586621679763457 :: a6989586621679763161) :: (~>) a6989586621679763161 ((~>) a6989586621679763161 [a6989586621679763161])
data EnumFromThenToSym2 (arg6989586621679763457 :: a6989586621679763161) (arg6989586621679763458 :: a6989586621679763161) :: (~>) a6989586621679763161 [a6989586621679763161]
type EnumFromThenToSym3 (arg6989586621679763457 :: a6989586621679763161) (arg6989586621679763458 :: a6989586621679763161) (arg6989586621679763459 :: a6989586621679763161) = EnumFromThenTo arg6989586621679763457 arg6989586621679763458 arg6989586621679763459
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679786856Sym0
instance Data.Singletons.Prelude.Enum.PEnum ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679786846Sym0
instance Data.Singletons.Prelude.Enum.SEnum ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679786839Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679786823Sym0
instance Data.Singletons.Prelude.Enum.SEnum GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679786815Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679786802Sym0
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_6989586621679763563Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Nat
instance forall a6989586621679763161 (a6989586621679763560 :: a6989586621679763161). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679763563Sym1 a6989586621679763560)
instance forall a6989586621679763161 (a6989586621679763561 :: a6989586621679763161) (a6989586621679763560 :: a6989586621679763161). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679763563Sym2 a6989586621679763561 a6989586621679763560)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679763546Sym0
instance forall a6989586621679763161 (a6989586621679763544 :: a6989586621679763161). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679763546Sym1 a6989586621679763544)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679763538Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679763531Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Pred_6989586621679763524Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Succ_6989586621679763517Sym0
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 a6989586621679763161 (arg6989586621679763453 :: a6989586621679763161). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromToSym1 arg6989586621679763453)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromToSym0
instance forall a6989586621679763161 (arg6989586621679763458 :: a6989586621679763161) (arg6989586621679763457 :: a6989586621679763161). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenToSym2 arg6989586621679763458 arg6989586621679763457)
instance forall a6989586621679763161 (arg6989586621679763457 :: a6989586621679763161). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenToSym1 arg6989586621679763457)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenToSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Succ_6989586621679763464Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Pred_6989586621679763479Sym0
instance forall a6989586621679763161 (a6989586621679763487 :: a6989586621679763161). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679763489Sym1 a6989586621679763487)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679763489Sym0
instance forall a6989586621679763161 (a6989586621679763500 :: a6989586621679763161) (a6989586621679763499 :: a6989586621679763161). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679763502Sym2 a6989586621679763500 a6989586621679763499)
instance forall a6989586621679763161 (a6989586621679763499 :: a6989586621679763161). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679763502Sym1 a6989586621679763499)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679763502Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Lambda_6989586621679763471Sym0
instance forall k1 k2 (a_69895866216797634666989586621679763470 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Lambda_6989586621679763471Sym1 a_69895866216797634666989586621679763470)
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 a6989586621679763414)
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 a6989586621679763396)
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 a6989586621679763397 a6989586621679763396)
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 a6989586621679763339)
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 a6989586621679763340 a6989586621679763339)
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 a6989586621679763282)
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 a6989586621679763283 a6989586621679763282)
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.Let6989586621679763424GoSym0
instance forall k1 k2 k3 k4 (x06989586621679763422 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763424GoSym1 x06989586621679763422)
instance forall k1 k2 k3 k4 (y6989586621679763423 :: k1) (x06989586621679763422 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763424GoSym2 y6989586621679763423 x06989586621679763422)
instance forall k1 k2 k3 k4 (arg_69895866216797631946989586621679763418 :: k1) (y6989586621679763423 :: k2) (x06989586621679763422 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763424GoSym3 arg_69895866216797631946989586621679763418 y6989586621679763423 x06989586621679763422)
instance forall k1 k2 k3 k4 (arg_69895866216797631966989586621679763419 :: k1) (arg_69895866216797631946989586621679763418 :: k2) (y6989586621679763423 :: k3) (x06989586621679763422 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763424GoSym4 arg_69895866216797631966989586621679763419 arg_69895866216797631946989586621679763418 y6989586621679763423 x06989586621679763422)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679763432Scrutinee_6989586621679763198Sym0
instance forall k1 k2 k3 k4 (x6989586621679763431 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763432Scrutinee_6989586621679763198Sym1 x6989586621679763431)
instance forall k1 k2 k3 k4 (x06989586621679763422 :: k1) (x6989586621679763431 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763432Scrutinee_6989586621679763198Sym2 x06989586621679763422 x6989586621679763431)
instance forall k1 k2 k3 k4 (y6989586621679763423 :: k1) (x06989586621679763422 :: k2) (x6989586621679763431 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763432Scrutinee_6989586621679763198Sym3 y6989586621679763423 x06989586621679763422 x6989586621679763431)
instance forall k1 k2 k3 k4 (arg_69895866216797631946989586621679763418 :: k1) (y6989586621679763423 :: k2) (x06989586621679763422 :: k1) (x6989586621679763431 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763432Scrutinee_6989586621679763198Sym4 arg_69895866216797631946989586621679763418 y6989586621679763423 x06989586621679763422 x6989586621679763431)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679763365Go_upSym0
instance forall k1 k2 k3 k4 (x16989586621679763350 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763365Go_upSym1 x16989586621679763350)
instance forall k1 k2 k3 k4 (x26989586621679763351 :: k1) (x16989586621679763350 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763365Go_upSym2 x26989586621679763351 x16989586621679763350)
instance forall k1 k2 k3 k4 (y6989586621679763352 :: k1) (x26989586621679763351 :: k1) (x16989586621679763350 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763365Go_upSym3 y6989586621679763352 x26989586621679763351 x16989586621679763350)
instance forall k1 k2 k3 k4 (arg_69895866216797632066989586621679763345 :: k1) (y6989586621679763352 :: k1) (x26989586621679763351 :: k1) (x16989586621679763350 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763365Go_upSym4 arg_69895866216797632066989586621679763345 y6989586621679763352 x26989586621679763351 x16989586621679763350)
instance forall k1 k2 k3 k4 (arg_69895866216797632086989586621679763346 :: k1) (arg_69895866216797632066989586621679763345 :: k1) (y6989586621679763352 :: k1) (x26989586621679763351 :: k2) (x16989586621679763350 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763365Go_upSym5 arg_69895866216797632086989586621679763346 arg_69895866216797632066989586621679763345 y6989586621679763352 x26989586621679763351 x16989586621679763350)
instance forall k1 k2 k3 k4 (arg_69895866216797632106989586621679763347 :: k1) (arg_69895866216797632086989586621679763346 :: k1) (arg_69895866216797632066989586621679763345 :: k1) (y6989586621679763352 :: k2) (x26989586621679763351 :: k3) (x16989586621679763350 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763365Go_upSym6 arg_69895866216797632106989586621679763347 arg_69895866216797632086989586621679763346 arg_69895866216797632066989586621679763345 y6989586621679763352 x26989586621679763351 x16989586621679763350)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679763365DeltaSym0
instance forall k1 k2 k3 k4 k5 (x16989586621679763350 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763365DeltaSym1 x16989586621679763350)
instance forall k1 k2 k3 k4 k5 (x26989586621679763351 :: k1) (x16989586621679763350 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763365DeltaSym2 x26989586621679763351 x16989586621679763350)
instance forall k1 k2 k3 k4 k5 (y6989586621679763352 :: k1) (x26989586621679763351 :: k1) (x16989586621679763350 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763365DeltaSym3 y6989586621679763352 x26989586621679763351 x16989586621679763350)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797632066989586621679763345 :: k1) (y6989586621679763352 :: k1) (x26989586621679763351 :: k2) (x16989586621679763350 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763365DeltaSym4 arg_69895866216797632066989586621679763345 y6989586621679763352 x26989586621679763351 x16989586621679763350)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797632086989586621679763346 :: k1) (arg_69895866216797632066989586621679763345 :: k1) (y6989586621679763352 :: k2) (x26989586621679763351 :: k3) (x16989586621679763350 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763365DeltaSym5 arg_69895866216797632086989586621679763346 arg_69895866216797632066989586621679763345 y6989586621679763352 x26989586621679763351 x16989586621679763350)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679763365Y'Sym0
instance forall k1 k2 k3 k4 (x16989586621679763350 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763365Y'Sym1 x16989586621679763350)
instance forall k1 k2 k3 k4 (x26989586621679763351 :: k1) (x16989586621679763350 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763365Y'Sym2 x26989586621679763351 x16989586621679763350)
instance forall k1 k2 k3 k4 (y6989586621679763352 :: k1) (x26989586621679763351 :: k1) (x16989586621679763350 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763365Y'Sym3 y6989586621679763352 x26989586621679763351 x16989586621679763350)
instance forall k1 k2 k3 k4 (arg_69895866216797632066989586621679763345 :: k1) (y6989586621679763352 :: k1) (x26989586621679763351 :: k1) (x16989586621679763350 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763365Y'Sym4 arg_69895866216797632066989586621679763345 y6989586621679763352 x26989586621679763351 x16989586621679763350)
instance forall k1 k2 k3 k4 (arg_69895866216797632086989586621679763346 :: k1) (arg_69895866216797632066989586621679763345 :: k1) (y6989586621679763352 :: k1) (x26989586621679763351 :: k2) (x16989586621679763350 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763365Y'Sym5 arg_69895866216797632086989586621679763346 arg_69895866216797632066989586621679763345 y6989586621679763352 x26989586621679763351 x16989586621679763350)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679763355Scrutinee_6989586621679763212Sym0
instance forall k1 k2 k3 k4 k5 (x16989586621679763350 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763355Scrutinee_6989586621679763212Sym1 x16989586621679763350)
instance forall k1 k2 k3 k4 k5 (x26989586621679763351 :: k1) (x16989586621679763350 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763355Scrutinee_6989586621679763212Sym2 x26989586621679763351 x16989586621679763350)
instance forall k1 k2 k3 k4 k5 (y6989586621679763352 :: k1) (x26989586621679763351 :: k2) (x16989586621679763350 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763355Scrutinee_6989586621679763212Sym3 y6989586621679763352 x26989586621679763351 x16989586621679763350)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797632066989586621679763345 :: k1) (y6989586621679763352 :: k2) (x26989586621679763351 :: k1) (x16989586621679763350 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763355Scrutinee_6989586621679763212Sym4 arg_69895866216797632066989586621679763345 y6989586621679763352 x26989586621679763351 x16989586621679763350)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797632086989586621679763346 :: k1) (arg_69895866216797632066989586621679763345 :: k2) (y6989586621679763352 :: k1) (x26989586621679763351 :: k3) (x16989586621679763350 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763355Scrutinee_6989586621679763212Sym5 arg_69895866216797632086989586621679763346 arg_69895866216797632066989586621679763345 y6989586621679763352 x26989586621679763351 x16989586621679763350)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679763308Go_dnSym0
instance forall k1 k2 k3 k4 (x16989586621679763293 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763308Go_dnSym1 x16989586621679763293)
instance forall k1 k2 k3 k4 (x26989586621679763294 :: k1) (x16989586621679763293 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763308Go_dnSym2 x26989586621679763294 x16989586621679763293)
instance forall k1 k2 k3 k4 (y6989586621679763295 :: k1) (x26989586621679763294 :: k1) (x16989586621679763293 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763308Go_dnSym3 y6989586621679763295 x26989586621679763294 x16989586621679763293)
instance forall k1 k2 k3 k4 (arg_69895866216797632166989586621679763288 :: k1) (y6989586621679763295 :: k1) (x26989586621679763294 :: k1) (x16989586621679763293 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763308Go_dnSym4 arg_69895866216797632166989586621679763288 y6989586621679763295 x26989586621679763294 x16989586621679763293)
instance forall k1 k2 k3 k4 (arg_69895866216797632186989586621679763289 :: k1) (arg_69895866216797632166989586621679763288 :: k1) (y6989586621679763295 :: k1) (x26989586621679763294 :: k2) (x16989586621679763293 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763308Go_dnSym5 arg_69895866216797632186989586621679763289 arg_69895866216797632166989586621679763288 y6989586621679763295 x26989586621679763294 x16989586621679763293)
instance forall k1 k2 k3 k4 (arg_69895866216797632206989586621679763290 :: k1) (arg_69895866216797632186989586621679763289 :: k1) (arg_69895866216797632166989586621679763288 :: k1) (y6989586621679763295 :: k2) (x26989586621679763294 :: k3) (x16989586621679763293 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763308Go_dnSym6 arg_69895866216797632206989586621679763290 arg_69895866216797632186989586621679763289 arg_69895866216797632166989586621679763288 y6989586621679763295 x26989586621679763294 x16989586621679763293)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679763308DeltaSym0
instance forall k1 k2 k3 k4 k5 (x16989586621679763293 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763308DeltaSym1 x16989586621679763293)
instance forall k1 k2 k3 k4 k5 (x26989586621679763294 :: k1) (x16989586621679763293 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763308DeltaSym2 x26989586621679763294 x16989586621679763293)
instance forall k1 k2 k3 k4 k5 (y6989586621679763295 :: k1) (x26989586621679763294 :: k1) (x16989586621679763293 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763308DeltaSym3 y6989586621679763295 x26989586621679763294 x16989586621679763293)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797632166989586621679763288 :: k1) (y6989586621679763295 :: k1) (x26989586621679763294 :: k2) (x16989586621679763293 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763308DeltaSym4 arg_69895866216797632166989586621679763288 y6989586621679763295 x26989586621679763294 x16989586621679763293)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797632186989586621679763289 :: k1) (arg_69895866216797632166989586621679763288 :: k1) (y6989586621679763295 :: k2) (x26989586621679763294 :: k3) (x16989586621679763293 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763308DeltaSym5 arg_69895866216797632186989586621679763289 arg_69895866216797632166989586621679763288 y6989586621679763295 x26989586621679763294 x16989586621679763293)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679763308Y'Sym0
instance forall k1 k2 k3 k4 (x16989586621679763293 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763308Y'Sym1 x16989586621679763293)
instance forall k1 k2 k3 k4 (x26989586621679763294 :: k1) (x16989586621679763293 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763308Y'Sym2 x26989586621679763294 x16989586621679763293)
instance forall k1 k2 k3 k4 (y6989586621679763295 :: k1) (x26989586621679763294 :: k1) (x16989586621679763293 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763308Y'Sym3 y6989586621679763295 x26989586621679763294 x16989586621679763293)
instance forall k1 k2 k3 k4 (arg_69895866216797632166989586621679763288 :: k1) (y6989586621679763295 :: k1) (x26989586621679763294 :: k1) (x16989586621679763293 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763308Y'Sym4 arg_69895866216797632166989586621679763288 y6989586621679763295 x26989586621679763294 x16989586621679763293)
instance forall k1 k2 k3 k4 (arg_69895866216797632186989586621679763289 :: k1) (arg_69895866216797632166989586621679763288 :: k1) (y6989586621679763295 :: k1) (x26989586621679763294 :: k2) (x16989586621679763293 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763308Y'Sym5 arg_69895866216797632186989586621679763289 arg_69895866216797632166989586621679763288 y6989586621679763295 x26989586621679763294 x16989586621679763293)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679763298Scrutinee_6989586621679763222Sym0
instance forall k1 k2 k3 k4 k5 (x16989586621679763293 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763298Scrutinee_6989586621679763222Sym1 x16989586621679763293)
instance forall k1 k2 k3 k4 k5 (x26989586621679763294 :: k1) (x16989586621679763293 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763298Scrutinee_6989586621679763222Sym2 x26989586621679763294 x16989586621679763293)
instance forall k1 k2 k3 k4 k5 (y6989586621679763295 :: k1) (x26989586621679763294 :: k2) (x16989586621679763293 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763298Scrutinee_6989586621679763222Sym3 y6989586621679763295 x26989586621679763294 x16989586621679763293)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797632166989586621679763288 :: k1) (y6989586621679763295 :: k2) (x26989586621679763294 :: k1) (x16989586621679763293 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763298Scrutinee_6989586621679763222Sym4 arg_69895866216797632166989586621679763288 y6989586621679763295 x26989586621679763294 x16989586621679763293)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797632186989586621679763289 :: k1) (arg_69895866216797632166989586621679763288 :: k2) (y6989586621679763295 :: k1) (x26989586621679763294 :: k3) (x16989586621679763293 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763298Scrutinee_6989586621679763222Sym5 arg_69895866216797632186989586621679763289 arg_69895866216797632166989586621679763288 y6989586621679763295 x26989586621679763294 x16989586621679763293)
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_a5nez :: Type) where {
    type family ShowsPrec (arg_a5nlD :: Nat) (arg_a5nlE :: a_a5nez) (arg_a5nlF :: Symbol) :: Symbol;
    type family Show_ (arg_a5nlJ :: a_a5nez) :: Symbol;
    type family ShowList (arg_a5nlL :: [a_a5nez]) (arg_a5nlM :: Symbol) :: Symbol;
    type ShowsPrec a_a5nlP a_a5nlQ a_a5nlR = Apply (Apply (Apply ShowsPrec_6989586621680291200Sym0 a_a5nlP) a_a5nlQ) a_a5nlR;
    type Show_ a_a5nm5 = Apply Show__6989586621680291214Sym0 a_a5nm5;
    type ShowList a_a5nmc a_a5nmd = Apply (Apply ShowList_6989586621680291222Sym0 a_a5nmc) a_a5nmd;
}
class SShow a_a5nez
sShowsPrec :: forall (t_a5npM :: Nat) (t_a5npN :: a_a5nez) (t_a5npO :: Symbol). SShow a_a5nez => Sing t_a5npM -> Sing t_a5npN -> Sing t_a5npO -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5npM) t_a5npN) t_a5npO :: Symbol)
sShow_ :: forall (t_a5npS :: a_a5nez). SShow a_a5nez => Sing t_a5npS -> Sing (Apply Show_Sym0 t_a5npS :: Symbol)
sShowList :: forall (t_a5npU :: [a_a5nez]) (t_a5npV :: Symbol). SShow a_a5nez => Sing t_a5npU -> Sing t_a5npV -> Sing (Apply (Apply ShowListSym0 t_a5npU) t_a5npV :: Symbol)
sShowsPrec :: forall (t_a5npM :: Nat) (t_a5npN :: a_a5nez) (t_a5npO :: Symbol). (SShow a_a5nez, (Apply (Apply (Apply ShowsPrecSym0 t_a5npM) t_a5npN) t_a5npO :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621680291200Sym0 t_a5npM) t_a5npN) t_a5npO) => Sing t_a5npM -> Sing t_a5npN -> Sing t_a5npO -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5npM) t_a5npN) t_a5npO :: Symbol)
sShow_ :: forall (t_a5npS :: a_a5nez). (SShow a_a5nez, (Apply Show_Sym0 t_a5npS :: Symbol) ~ Apply Show__6989586621680291214Sym0 t_a5npS) => Sing t_a5npS -> Sing (Apply Show_Sym0 t_a5npS :: Symbol)
sShowList :: forall (t_a5npU :: [a_a5nez]) (t_a5npV :: Symbol). (SShow a_a5nez, (Apply (Apply ShowListSym0 t_a5npU) t_a5npV :: Symbol) ~ Apply (Apply ShowList_6989586621680291222Sym0 t_a5npU) t_a5npV) => Sing t_a5npU -> Sing t_a5npV -> Sing (Apply (Apply ShowListSym0 t_a5npU) t_a5npV :: 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_a5nlv :: a_a5nek) (a_a5nlw :: Symbol) :: Symbol
sShows :: forall a_a5nek (t_a5npn :: a_a5nek) (t_a5npo :: Symbol). SShow a_a5nek => Sing t_a5npn -> Sing t_a5npo -> Sing (Apply (Apply ShowsSym0 t_a5npn) t_a5npo :: Symbol)
type family ShowListWith (a_a5nlb :: (~>) a_a5nej ((~>) Symbol Symbol)) (a_a5nlc :: [a_a5nej]) (a_a5nld :: Symbol) :: Symbol
sShowListWith :: forall a_a5nej (t_a5nph :: (~>) a_a5nej ((~>) Symbol Symbol)) (t_a5npi :: [a_a5nej]) (t_a5npj :: Symbol). Sing t_a5nph -> Sing t_a5npi -> Sing t_a5npj -> Sing (Apply (Apply (Apply ShowListWithSym0 t_a5nph) t_a5npi) t_a5npj :: Symbol)
type family ShowChar (a_a5nl5 :: Symbol) (a_a5nl6 :: Symbol) :: Symbol
sShowChar :: forall (t_a5npd :: Symbol) (t_a5npe :: Symbol). Sing t_a5npd -> Sing t_a5npe -> Sing (Apply (Apply ShowCharSym0 t_a5npd) t_a5npe :: Symbol)
type family ShowString (a_a5nkV :: Symbol) (a_a5nkW :: Symbol) :: Symbol
sShowString :: forall (t_a5np9 :: Symbol) (t_a5npa :: Symbol). Sing t_a5np9 -> Sing t_a5npa -> Sing (Apply (Apply ShowStringSym0 t_a5np9) t_a5npa :: Symbol)
type family ShowParen (a_a5nkD :: Bool) (a_a5nkE :: (~>) Symbol Symbol) (a_a5nkF :: Symbol) :: Symbol
sShowParen :: forall (t_a5np3 :: Bool) (t_a5np4 :: (~>) Symbol Symbol) (t_a5np5 :: Symbol). Sing t_a5np3 -> Sing t_a5np4 -> Sing t_a5np5 -> Sing (Apply (Apply (Apply ShowParenSym0 t_a5np3) t_a5np4) t_a5np5 :: Symbol)
type family ShowSpace (a_a5nku :: Symbol) :: Symbol
sShowSpace :: forall (t_a5np1 :: Symbol). Sing t_a5np1 -> Sing (Apply ShowSpaceSym0 t_a5np1 :: Symbol)
type family ShowCommaSpace (a_a5nkp :: Symbol) :: Symbol
sShowCommaSpace :: forall (t_a5noZ :: Symbol). Sing t_a5noZ -> Sing (Apply ShowCommaSpaceSym0 t_a5noZ :: Symbol)
type family AppPrec :: Nat
sAppPrec :: Sing (AppPrecSym0 :: Nat)
type family AppPrec1 :: Nat
sAppPrec1 :: Sing (AppPrec1Sym0 :: Nat)
data ShowsPrecSym0 :: forall a6989586621680290747. (~>) Nat ((~>) a6989586621680290747 ((~>) Symbol Symbol))
data ShowsPrecSym1 (arg6989586621680291185 :: Nat) :: forall a6989586621680290747. (~>) a6989586621680290747 ((~>) Symbol Symbol)
data ShowsPrecSym2 (arg6989586621680291185 :: Nat) (arg6989586621680291186 :: a6989586621680290747) :: (~>) Symbol Symbol
type ShowsPrecSym3 (arg6989586621680291185 :: Nat) (arg6989586621680291186 :: a6989586621680290747) (arg6989586621680291187 :: Symbol) = ShowsPrec arg6989586621680291185 arg6989586621680291186 arg6989586621680291187
data Show_Sym0 :: forall a6989586621680290747. (~>) a6989586621680290747 Symbol
type Show_Sym1 (arg6989586621680291191 :: a6989586621680290747) = Show_ arg6989586621680291191
data ShowListSym0 :: forall a6989586621680290747. (~>) [a6989586621680290747] ((~>) Symbol Symbol)
data ShowListSym1 (arg6989586621680291193 :: [a6989586621680290747]) :: (~>) Symbol Symbol
type ShowListSym2 (arg6989586621680291193 :: [a6989586621680290747]) (arg6989586621680291194 :: Symbol) = ShowList arg6989586621680291193 arg6989586621680291194
data ShowsSym0 :: forall a6989586621680290732. (~>) a6989586621680290732 ((~>) Symbol Symbol)
data ShowsSym1 (a6989586621680291177 :: a6989586621680290732) :: (~>) Symbol Symbol
type ShowsSym2 (a6989586621680291177 :: a6989586621680290732) (a6989586621680291178 :: Symbol) = Shows a6989586621680291177 a6989586621680291178
data ShowListWithSym0 :: forall a6989586621680290731. (~>) ((~>) a6989586621680290731 ((~>) Symbol Symbol)) ((~>) [a6989586621680290731] ((~>) Symbol Symbol))
data ShowListWithSym1 (a6989586621680291157 :: (~>) a6989586621680290731 ((~>) Symbol Symbol)) :: (~>) [a6989586621680290731] ((~>) Symbol Symbol)
data ShowListWithSym2 (a6989586621680291157 :: (~>) a6989586621680290731 ((~>) Symbol Symbol)) (a6989586621680291158 :: [a6989586621680290731]) :: (~>) Symbol Symbol
type ShowListWithSym3 (a6989586621680291157 :: (~>) a6989586621680290731 ((~>) Symbol Symbol)) (a6989586621680291158 :: [a6989586621680290731]) (a6989586621680291159 :: Symbol) = ShowListWith a6989586621680291157 a6989586621680291158 a6989586621680291159
data ShowCharSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowCharSym1 (a6989586621680291151 :: Symbol) :: (~>) Symbol Symbol
type ShowCharSym2 (a6989586621680291151 :: Symbol) (a6989586621680291152 :: Symbol) = ShowChar a6989586621680291151 a6989586621680291152
data ShowStringSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowStringSym1 (a6989586621680291141 :: Symbol) :: (~>) Symbol Symbol
type ShowStringSym2 (a6989586621680291141 :: Symbol) (a6989586621680291142 :: Symbol) = ShowString a6989586621680291141 a6989586621680291142
data ShowParenSym0 :: (~>) Bool ((~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol))
data ShowParenSym1 (a6989586621680291123 :: Bool) :: (~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol)
data ShowParenSym2 (a6989586621680291123 :: Bool) (a6989586621680291124 :: (~>) Symbol Symbol) :: (~>) Symbol Symbol
data ShowSpaceSym0 :: (~>) Symbol Symbol
type ShowSpaceSym1 (a6989586621680291114 :: Symbol) = ShowSpace a6989586621680291114
data ShowCommaSpaceSym0 :: (~>) Symbol Symbol
type ShowCommaSpaceSym1 (a6989586621680291109 :: Symbol) = ShowCommaSpace a6989586621680291109
type AppPrecSym0 = AppPrec
type AppPrec1Sym0 = AppPrec1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309267Sym0
instance Data.Singletons.Prelude.Show.PShow Data.Void.Void
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309267Sym1 a6989586621680309264)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309267Sym2 a6989586621680309265 a6989586621680309264)
instance Data.Singletons.Prelude.Show.SShow Data.Void.Void
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309237Sym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309237Sym1 a6989586621680309234)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309237Sym2 a6989586621680309235 a6989586621680309234)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309213Sym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309213Sym1 a6989586621680309210)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309213Sym2 a6989586621680309211 a6989586621680309210)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309187Sym0
instance Data.Singletons.Prelude.Show.PShow (GHC.Base.NonEmpty a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309187Sym1 a6989586621680309184)
instance forall a6989586621679059393 (a6989586621680309185 :: GHC.Types.Nat) (a6989586621680309184 :: GHC.Base.NonEmpty a6989586621679059393). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309187Sym2 a6989586621680309185 a6989586621680309184)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309145Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Either.Either a b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309145Sym1 a6989586621680309142)
instance forall a6989586621679086099 b6989586621679086100 (a6989586621680309143 :: GHC.Types.Nat) (a6989586621680309142 :: Data.Either.Either a6989586621679086099 b6989586621679086100). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309145Sym2 a6989586621680309143 a6989586621680309142)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309089Sym0
instance Data.Singletons.Prelude.Show.PShow (GHC.Maybe.Maybe a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309089Sym1 a6989586621680309086)
instance forall a3530822107858468865 (a6989586621680309087 :: GHC.Types.Nat) (a6989586621680309086 :: GHC.Maybe.Maybe a3530822107858468865). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309089Sym2 a6989586621680309087 a6989586621680309086)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309055Sym0
instance Data.Singletons.Prelude.Show.PShow ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309055Sym1 a6989586621680309052)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309055Sym2 a6989586621680309053 a6989586621680309052)
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 a6989586621680308560)
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_6989586621680291370Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d, e, f, g)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291370Sym1 a6989586621680291367)
instance forall a6989586621680290814 b6989586621680290815 c6989586621680290816 d6989586621680290817 e6989586621680290818 f6989586621680290819 g6989586621680290820 (a6989586621680291368 :: GHC.Types.Nat) (a6989586621680291367 :: (a6989586621680290814, b6989586621680290815, c6989586621680290816, d6989586621680290817, e6989586621680290818, f6989586621680290819, g6989586621680290820)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291370Sym2 a6989586621680291368 a6989586621680291367)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291349Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d, e, f)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291349Sym1 a6989586621680291346)
instance forall a6989586621680290801 b6989586621680290802 c6989586621680290803 d6989586621680290804 e6989586621680290805 f6989586621680290806 (a6989586621680291347 :: GHC.Types.Nat) (a6989586621680291346 :: (a6989586621680290801, b6989586621680290802, c6989586621680290803, d6989586621680290804, e6989586621680290805, f6989586621680290806)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291349Sym2 a6989586621680291347 a6989586621680291346)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291329Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d, e)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291329Sym1 a6989586621680291326)
instance forall a6989586621680290790 b6989586621680290791 c6989586621680290792 d6989586621680290793 e6989586621680290794 (a6989586621680291327 :: GHC.Types.Nat) (a6989586621680291326 :: (a6989586621680290790, b6989586621680290791, c6989586621680290792, d6989586621680290793, e6989586621680290794)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291329Sym2 a6989586621680291327 a6989586621680291326)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291310Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291310Sym1 a6989586621680291307)
instance forall a6989586621680290781 b6989586621680290782 c6989586621680290783 d6989586621680290784 (a6989586621680291308 :: GHC.Types.Nat) (a6989586621680291307 :: (a6989586621680290781, b6989586621680290782, c6989586621680290783, d6989586621680290784)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291310Sym2 a6989586621680291308 a6989586621680291307)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291292Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291292Sym1 a6989586621680291289)
instance forall a6989586621680290774 b6989586621680290775 c6989586621680290776 (a6989586621680291290 :: GHC.Types.Nat) (a6989586621680291289 :: (a6989586621680290774, b6989586621680290775, c6989586621680290776)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291292Sym2 a6989586621680291290 a6989586621680291289)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291275Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291275Sym1 a6989586621680291272)
instance forall a6989586621680290769 b6989586621680290770 (a6989586621680291273 :: GHC.Types.Nat) (a6989586621680291272 :: (a6989586621680290769, b6989586621680290770)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291275Sym2 a6989586621680291273 a6989586621680291272)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291255Sym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Symbol
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291255Sym1 a6989586621680291252)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291255Sym2 a6989586621680291253 a6989586621680291252)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291235Sym0
instance Data.Singletons.Prelude.Show.PShow [a]
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291235Sym1 a6989586621680291232)
instance forall a6989586621680290765 (a6989586621680291233 :: GHC.Types.Nat) (a6989586621680291232 :: [a6989586621680290765]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291235Sym2 a6989586621680291233 a6989586621680291232)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowListSym0
instance forall a6989586621680290747 (arg6989586621680291193 :: [a6989586621680290747]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowListSym1 arg6989586621680291193)
instance forall a6989586621680290732 (a6989586621680291177 :: a6989586621680290732). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsSym1 a6989586621680291177)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsSym0
instance forall a6989586621680290747 (arg6989586621680291186 :: GHC.Types.Nat) (arg6989586621680291185 :: a6989586621680290747). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrecSym2 arg6989586621680291186 arg6989586621680291185)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrecSym1 arg6989586621680291185)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrecSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Show_Sym0
instance forall a6989586621680290747 (a6989586621680291198 :: GHC.Types.Nat) (a6989586621680291197 :: a6989586621680290747). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291200Sym2 a6989586621680291198 a6989586621680291197)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291200Sym1 a6989586621680291197)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291200Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Show__6989586621680291214Sym0
instance forall a6989586621680290747 (a6989586621680291220 :: [a6989586621680290747]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowList_6989586621680291222Sym1 a6989586621680291220)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowList_6989586621680291222Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowListWithSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Show.ShowListWithSym0
instance forall a6989586621680290731 (a6989586621680291157 :: a6989586621680290731 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowListWithSym1 a6989586621680291157)
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 a6989586621680290731 (a6989586621680291158 :: a6989586621680290731 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (a6989586621680291157 :: [a6989586621680290731]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowListWithSym2 a6989586621680291158 a6989586621680291157)
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 a6989586621680291089)
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.Lambda_6989586621680291097Sym0
instance forall k1 k2 c6989586621679541554 a6989586621679541555 (ss6989586621680291095 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680291097Sym1 ss6989586621680291095)
instance forall k1 k2 c6989586621679541554 a6989586621679541555 (a_69895866216802910936989586621680291096 :: k1) (ss6989586621680291095 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680291097Sym2 a_69895866216802910936989586621680291096 ss6989586621680291095)
instance forall k1 k2 c6989586621679541554 a6989586621679541555 (t6989586621680291101 :: k1) (a_69895866216802910936989586621680291096 :: k2) (ss6989586621680291095 :: GHC.Types.Symbol Data.Singletons.Internal.~> c6989586621679541554). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680291097Sym3 t6989586621680291101 a_69895866216802910936989586621680291096 ss6989586621680291095)
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 a6989586621680291123)
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 a6989586621680291124 a6989586621680291123)
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.ShowCharSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Show.ShowCharSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowCharSym1 a6989586621680291151)
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 a6989586621680291141)
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.Let6989586621680291168ShowlSym0
instance forall k1 k2 k3 (showx6989586621680291164 :: k1 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680291168ShowlSym1 showx6989586621680291164)
instance forall k1 k2 k3 (x6989586621680291165 :: k1 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (showx6989586621680291164 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680291168ShowlSym2 x6989586621680291165 showx6989586621680291164)
instance forall k1 k2 k3 (xs6989586621680291166 :: k1 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (x6989586621680291165 :: k2) (showx6989586621680291164 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680291168ShowlSym3 xs6989586621680291166 x6989586621680291165 showx6989586621680291164)
instance forall k1 k2 k3 (s6989586621680291167 :: k1 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (xs6989586621680291166 :: k2) (x6989586621680291165 :: k3) (showx6989586621680291164 :: GHC.Types.Symbol). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680291168ShowlSym4 s6989586621680291167 xs6989586621680291166 x6989586621680291165 showx6989586621680291164)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Lambda_6989586621680291117Sym0
instance forall k (a_69895866216802911126989586621680291116 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680291117Sym1 a_69895866216802911126989586621680291116)


-- | Defines the promoted version of <a>Monoid</a>, <a>PMonoid</a>, and the
--   singleton version, <a>SMonoid</a>.
module Data.Singletons.Prelude.Monoid
class PMonoid (a_a5Ftd :: Type) where {
    type family Mempty :: a_a5Ftd;
    type family Mappend (arg_a5Fvs :: a_a5Ftd) (arg_a5Fvt :: a_a5Ftd) :: a_a5Ftd;
    type family Mconcat (arg_a5Fvw :: [a_a5Ftd]) :: a_a5Ftd;
    type Mappend a_a5Fvy a_a5Fvz = Apply (Apply Mappend_6989586621680360994Sym0 a_a5Fvy) a_a5Fvz;
    type Mconcat a_a5FvO = Apply Mconcat_6989586621680361009Sym0 a_a5FvO;
}
class SSemigroup a_a5Ftd => SMonoid a_a5Ftd
sMempty :: SMonoid a_a5Ftd => Sing (MemptySym0 :: a_a5Ftd)
sMappend :: forall (t_a5FwM :: a_a5Ftd) (t_a5FwN :: a_a5Ftd). SMonoid a_a5Ftd => Sing t_a5FwM -> Sing t_a5FwN -> Sing (Apply (Apply MappendSym0 t_a5FwM) t_a5FwN :: a_a5Ftd)
sMconcat :: forall (t_a5FwQ :: [a_a5Ftd]). SMonoid a_a5Ftd => Sing t_a5FwQ -> Sing (Apply MconcatSym0 t_a5FwQ :: a_a5Ftd)
sMappend :: forall (t_a5FwM :: a_a5Ftd) (t_a5FwN :: a_a5Ftd). (SMonoid a_a5Ftd, (Apply (Apply MappendSym0 t_a5FwM) t_a5FwN :: a_a5Ftd) ~ Apply (Apply Mappend_6989586621680360994Sym0 t_a5FwM) t_a5FwN) => Sing t_a5FwM -> Sing t_a5FwN -> Sing (Apply (Apply MappendSym0 t_a5FwM) t_a5FwN :: a_a5Ftd)
sMconcat :: forall (t_a5FwQ :: [a_a5Ftd]). (SMonoid a_a5Ftd, (Apply MconcatSym0 t_a5FwQ :: a_a5Ftd) ~ Apply Mconcat_6989586621680361009Sym0 t_a5FwQ) => Sing t_a5FwQ -> Sing (Apply MconcatSym0 t_a5FwQ :: a_a5Ftd)

-- | The singleton kind-indexed type family.
type family Sing :: k -> Type
data SDual :: forall a_aiWy. Dual a_aiWy -> Type
[SDual] :: forall a_aiWy (n_a3vBF :: a_aiWy). () => {sGetDual :: Sing (n_a3vBF :: a_aiWy)} -> SDual ('Dual n_a3vBF)
data SAll :: All -> Type
[SAll] :: forall (n_a3vBT :: Bool). () => {sGetAll :: Sing (n_a3vBT :: Bool)} -> SAll ('All n_a3vBT)
data SAny :: Any -> Type
[SAny] :: forall (n_a3vC7 :: Bool). () => {sGetAny :: Sing (n_a3vC7 :: Bool)} -> SAny ('Any n_a3vC7)
data SSum :: forall a_aiWj. Sum a_aiWj -> Type
[SSum] :: forall a_aiWj (n_a3vCq :: a_aiWj). () => {sGetSum :: Sing (n_a3vCq :: a_aiWj)} -> SSum ('Sum n_a3vCq)
data SProduct :: forall a_aiWo. Product a_aiWo -> Type
[SProduct] :: forall a_aiWo (n_a3vCJ :: a_aiWo). () => {sGetProduct :: Sing (n_a3vCJ :: a_aiWo)} -> SProduct ('Product n_a3vCJ)
data SFirst :: forall a_aiXm. First a_aiXm -> Type
[SFirst] :: forall a_aiXm (n_a5GoP :: Maybe a_aiXm). () => {sGetFirst :: Sing (n_a5GoP :: Maybe a_aiXm)} -> SFirst ('First n_a5GoP)
data SLast :: forall a_aiXh. Last a_aiXh -> Type
[SLast] :: forall a_aiXh (n_a5Gpc :: Maybe a_aiXh). () => {sGetLast :: Sing (n_a5Gpc :: Maybe a_aiXh)} -> SLast ('Last n_a5Gpc)
type family GetDual (a_a3vBA :: Dual (a_aiWy :: Type)) :: a_aiWy
type family GetAll (a_a3vBO :: All) :: Bool
type family GetAny (a_a3vC2 :: Any) :: Bool
type family GetSum (a_a3vCl :: Sum (a_aiWj :: Type)) :: a_aiWj
type family GetProduct (a_a3vCE :: Product (a_aiWo :: Type)) :: a_aiWo
type family GetFirst (a_a5GoK :: First (a_aiXm :: Type)) :: Maybe a_aiXm
type family GetLast (a_a5Gp7 :: Last (a_aiXh :: Type)) :: Maybe a_aiXh
type MemptySym0 = Mempty
data MappendSym0 :: forall a6989586621680360847. (~>) a6989586621680360847 ((~>) a6989586621680360847 a6989586621680360847)
data MappendSym1 (arg6989586621680360986 :: a6989586621680360847) :: (~>) a6989586621680360847 a6989586621680360847
type MappendSym2 (arg6989586621680360986 :: a6989586621680360847) (arg6989586621680360987 :: a6989586621680360847) = Mappend arg6989586621680360986 arg6989586621680360987
data MconcatSym0 :: forall a6989586621680360847. (~>) [a6989586621680360847] a6989586621680360847
type MconcatSym1 (arg6989586621680360990 :: [a6989586621680360847]) = Mconcat arg6989586621680360990
data DualSym0 :: forall (a6989586621679082614 :: Type). (~>) a6989586621679082614 (Dual (a6989586621679082614 :: Type))
type DualSym1 (t6989586621679846273 :: a6989586621679082614) = 'Dual t6989586621679846273
data GetDualSym0 :: forall (a6989586621679082614 :: Type). (~>) (Dual (a6989586621679082614 :: Type)) a6989586621679082614
type GetDualSym1 (a6989586621679846270 :: Dual (a6989586621679082614 :: Type)) = GetDual a6989586621679846270
data AllSym0 :: (~>) Bool All
type AllSym1 (t6989586621679846287 :: Bool) = 'All t6989586621679846287
data GetAllSym0 :: (~>) All Bool
type GetAllSym1 (a6989586621679846284 :: All) = GetAll a6989586621679846284
data AnySym0 :: (~>) Bool Any
type AnySym1 (t6989586621679846301 :: Bool) = 'Any t6989586621679846301
data GetAnySym0 :: (~>) Any Bool
type GetAnySym1 (a6989586621679846298 :: Any) = GetAny a6989586621679846298
data SumSym0 :: forall (a6989586621679082599 :: Type). (~>) a6989586621679082599 (Sum (a6989586621679082599 :: Type))
type SumSym1 (t6989586621679846320 :: a6989586621679082599) = 'Sum t6989586621679846320
data GetSumSym0 :: forall (a6989586621679082599 :: Type). (~>) (Sum (a6989586621679082599 :: Type)) a6989586621679082599
type GetSumSym1 (a6989586621679846317 :: Sum (a6989586621679082599 :: Type)) = GetSum a6989586621679846317
data ProductSym0 :: forall (a6989586621679082604 :: Type). (~>) a6989586621679082604 (Product (a6989586621679082604 :: Type))
type ProductSym1 (t6989586621679846339 :: a6989586621679082604) = 'Product t6989586621679846339
data GetProductSym0 :: forall (a6989586621679082604 :: Type). (~>) (Product (a6989586621679082604 :: Type)) a6989586621679082604
type GetProductSym1 (a6989586621679846336 :: Product (a6989586621679082604 :: Type)) = GetProduct a6989586621679846336
data FirstSym0 :: forall (a6989586621679082664 :: Type). (~>) (Maybe a6989586621679082664) (First (a6989586621679082664 :: Type))
type FirstSym1 (t6989586621680364417 :: Maybe a6989586621679082664) = 'First t6989586621680364417
data GetFirstSym0 :: forall (a6989586621679082664 :: Type). (~>) (First (a6989586621679082664 :: Type)) (Maybe a6989586621679082664)
type GetFirstSym1 (a6989586621680364414 :: First (a6989586621679082664 :: Type)) = GetFirst a6989586621680364414
data LastSym0 :: forall (a6989586621679082659 :: Type). (~>) (Maybe a6989586621679082659) (Last (a6989586621679082659 :: Type))
type LastSym1 (t6989586621680364440 :: Maybe a6989586621679082659) = 'Last t6989586621680364440
data GetLastSym0 :: forall (a6989586621679082659 :: Type). (~>) (Last (a6989586621679082659 :: Type)) (Maybe a6989586621679082659)
type GetLastSym1 (a6989586621680364437 :: Last (a6989586621679082659 :: Type)) = GetLast a6989586621680364437
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Monoid.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370694Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Monoid.Last a)
instance forall a6989586621680370390 (a6989586621680370692 :: Data.Monoid.Last a6989586621680370390). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370694Sym1 a6989586621680370692)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680370702BSym0
instance Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Monoid.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370667Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Monoid.Last
instance forall a6989586621679566975 b6989586621679566976 (a6989586621680370665 :: Data.Monoid.Last a6989586621679566975). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370667Sym1 a6989586621680370665)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Lambda_6989586621680370675Sym0
instance Data.Singletons.Prelude.Monad.Internal.SMonad Data.Monoid.Last
instance forall k k1 a (a6989586621680370673 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680370675Sym1 a6989586621680370673)
instance forall k k1 a (k6989586621680370674 :: k) (a6989586621680370673 :: k1 Data.Singletons.Internal.~> Data.Monoid.Last a). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680370675Sym2 k6989586621680370674 a6989586621680370673)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680370678Scrutinee_6989586621680370401Sym0
instance forall k1 k2 k3 (x6989586621680370677 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680370678Scrutinee_6989586621680370401Sym1 x6989586621680370677)
instance forall k1 k2 k3 (a6989586621680370673 :: k1) (x6989586621680370677 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680370678Scrutinee_6989586621680370401Sym2 a6989586621680370673 x6989586621680370677)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370655Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Monoid.Last
instance forall a6989586621679566948 b6989586621679566949 (a6989586621680370653 :: a6989586621679566948). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370655Sym1 a6989586621680370653)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Fmap_6989586621680370643Sym0
instance forall a6989586621679566946 b6989586621679566947 (a6989586621680370641 :: a6989586621679566946 Data.Singletons.Internal.~> b6989586621679566947). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Fmap_6989586621680370643Sym1 a6989586621680370641)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370631Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Monoid.Last
instance forall a6989586621679566952 b6989586621679566953 (a6989586621680370629 :: Data.Monoid.Last (a6989586621679566952 Data.Singletons.Internal.~> b6989586621679566953)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370631Sym1 a6989586621680370629)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Pure_6989586621680370621Sym0
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Monoid.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370606Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Monoid.First a)
instance forall a6989586621680370380 (a6989586621680370604 :: Data.Monoid.First a6989586621680370380). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370606Sym1 a6989586621680370604)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680370614ASym0
instance Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Monoid.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370579Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Monoid.First
instance forall a6989586621679566975 b6989586621679566976 (a6989586621680370577 :: Data.Monoid.First a6989586621679566975). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370579Sym1 a6989586621680370577)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Lambda_6989586621680370587Sym0
instance Data.Singletons.Prelude.Monad.Internal.SMonad Data.Monoid.First
instance forall k k1 a (a6989586621680370585 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680370587Sym1 a6989586621680370585)
instance forall k k1 a (k6989586621680370586 :: k) (a6989586621680370585 :: k1 Data.Singletons.Internal.~> Data.Monoid.First a). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680370587Sym2 k6989586621680370586 a6989586621680370585)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680370590Scrutinee_6989586621680370394Sym0
instance forall k1 k2 k3 (x6989586621680370589 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680370590Scrutinee_6989586621680370394Sym1 x6989586621680370589)
instance forall k1 k2 k3 (a6989586621680370585 :: k1) (x6989586621680370589 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680370590Scrutinee_6989586621680370394Sym2 a6989586621680370585 x6989586621680370589)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370567Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Monoid.First
instance forall a6989586621679566948 b6989586621679566949 (a6989586621680370565 :: a6989586621679566948). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370567Sym1 a6989586621680370565)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Fmap_6989586621680370555Sym0
instance forall a6989586621679566946 b6989586621679566947 (a6989586621680370553 :: a6989586621679566946 Data.Singletons.Internal.~> b6989586621679566947). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Fmap_6989586621680370555Sym1 a6989586621680370553)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370543Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Monoid.First
instance forall a6989586621679566952 b6989586621679566953 (a6989586621680370541 :: Data.Monoid.First (a6989586621679566952 Data.Singletons.Internal.~> b6989586621679566953)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370543Sym1 a6989586621680370541)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Pure_6989586621680370533Sym0
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_6989586621680367481Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Monoid.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680367481Sym1 a6989586621680367478)
instance forall a6989586621679082659 (a6989586621680367479 :: GHC.Types.Nat) (a6989586621680367478 :: Data.Monoid.Last a6989586621679082659). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680367481Sym2 a6989586621680367479 a6989586621680367478)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680367450Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Monoid.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680367450Sym1 a6989586621680367447)
instance forall a6989586621679082664 (a6989586621680367448 :: GHC.Types.Nat) (a6989586621680367447 :: Data.Monoid.First a6989586621679082664). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680367450Sym2 a6989586621680367448 a6989586621680367447)
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_6989586621680366175Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Monoid.Last a)
instance forall a6989586621679082659 (a6989586621680366173 :: Data.Monoid.Last a6989586621679082659). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Compare_6989586621680366175Sym1 a6989586621680366173)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Compare_6989586621680366154Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Monoid.First a)
instance forall a6989586621679082664 (a6989586621680366152 :: Data.Monoid.First a6989586621679082664). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Compare_6989586621680366154Sym1 a6989586621680366152)
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.Type.Equality.TestEquality Data.Singletons.Prelude.Monoid.SFirst
instance Data.Singletons.Decide.SDecide (GHC.Maybe.Maybe a) => Data.Type.Coercion.TestCoercion Data.Singletons.Prelude.Monoid.SFirst
instance Data.Singletons.Decide.SDecide (GHC.Maybe.Maybe a) => Data.Singletons.Decide.SDecide (Data.Monoid.Last a)
instance Data.Singletons.Decide.SDecide (GHC.Maybe.Maybe a) => Data.Type.Equality.TestEquality Data.Singletons.Prelude.Monoid.SLast
instance Data.Singletons.Decide.SDecide (GHC.Maybe.Maybe a) => Data.Type.Coercion.TestCoercion Data.Singletons.Prelude.Monoid.SLast
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.Prelude.Monoid.SFirst z)
instance forall a (z :: Data.Monoid.Last a). Data.Singletons.ShowSing.ShowSing (GHC.Maybe.Maybe a) => GHC.Show.Show (Data.Singletons.Prelude.Monoid.SLast z)
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.Prelude.Monoid.LastSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.LastSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.GetLastSym0
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.Prelude.Monoid.FirstSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.FirstSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.GetFirstSym0
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_6989586621680361049Sym0
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_6989586621680361038Sym0
instance Data.Singletons.Prelude.Monoid.PMonoid [a]
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.MconcatSym0
instance forall a6989586621680360847 (arg6989586621680360986 :: a6989586621680360847). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.MappendSym1 arg6989586621680360986)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.MappendSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Mconcat_6989586621680361009Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Mappend_6989586621680360994Sym0
instance forall a6989586621680360847 (a6989586621680360992 :: a6989586621680360847). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Mappend_6989586621680360994Sym1 a6989586621680360992)


-- | 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 type family.
type family Sing :: k -> Type
data SEither :: forall a_ajQL b_ajQM. Either a_ajQL b_ajQM -> Type
[SLeft] :: forall a_ajQL (n_a1glN :: a_ajQL). () => Sing (n_a1glN :: a_ajQL) -> SEither ('Left n_a1glN)
[SRight] :: forall b_ajQM (n_a1glP :: b_ajQM). () => Sing (n_a1glP :: b_ajQM) -> SEither ('Right n_a1glP)
either_ :: (a_a66RP -> c_a66RQ) -> (b_a66RR -> c_a66RQ) -> Either a_a66RP b_a66RR -> c_a66RQ
type family Either_ (a_a66Sp :: (~>) a_a66RP c_a66RQ) (a_a66Sq :: (~>) b_a66RR c_a66RQ) (a_a66Sr :: Either a_a66RP b_a66RR) :: c_a66RQ
sEither_ :: forall a_a66RP c_a66RQ b_a66RR (t_a66Sz :: (~>) a_a66RP c_a66RQ) (t_a66SA :: (~>) b_a66RR c_a66RQ) (t_a66SB :: Either a_a66RP b_a66RR). Sing t_a66Sz -> Sing t_a66SA -> Sing t_a66SB -> Sing (Apply (Apply (Apply Either_Sym0 t_a66Sz) t_a66SA) t_a66SB :: c_a66RQ)
type family Lefts (a_a67k7 :: [Either a_a67fJ b_a67fK]) :: [a_a67fJ]
sLefts :: forall a_a67fJ b_a67fK (t_a67kk :: [Either a_a67fJ b_a67fK]). Sing t_a67kk -> Sing (Apply LeftsSym0 t_a67kk :: [a_a67fJ])
type family Rights (a_a67k2 :: [Either a_a67fH b_a67fI]) :: [b_a67fI]
sRights :: forall a_a67fH b_a67fI (t_a67ki :: [Either a_a67fH b_a67fI]). Sing t_a67ki -> Sing (Apply RightsSym0 t_a67ki :: [b_a67fI])
type family PartitionEithers (a_a67jI :: [Either a_a67fF b_a67fG]) :: ([a_a67fF], [b_a67fG])
sPartitionEithers :: forall a_a67fF b_a67fG (t_a67kg :: [Either a_a67fF b_a67fG]). Sing t_a67kg -> Sing (Apply PartitionEithersSym0 t_a67kg :: ([a_a67fF], [b_a67fG]))
type family IsLeft (a_a67jE :: Either a_a67fD b_a67fE) :: Bool
sIsLeft :: forall a_a67fD b_a67fE (t_a67ke :: Either a_a67fD b_a67fE). Sing t_a67ke -> Sing (Apply IsLeftSym0 t_a67ke :: Bool)
type family IsRight (a_a67jC :: Either a_a67fB b_a67fC) :: Bool
sIsRight :: forall a_a67fB b_a67fC (t_a67kc :: Either a_a67fB b_a67fC). Sing t_a67kc -> Sing (Apply IsRightSym0 t_a67kc :: Bool)
data LeftSym0 :: forall (a6989586621679086099 :: Type) (b6989586621679086100 :: Type). (~>) a6989586621679086099 (Either (a6989586621679086099 :: Type) (b6989586621679086100 :: Type))
type LeftSym1 (t6989586621679310971 :: a6989586621679086099) = 'Left t6989586621679310971
data RightSym0 :: forall (b6989586621679086100 :: Type) (a6989586621679086099 :: Type). (~>) b6989586621679086100 (Either (a6989586621679086099 :: Type) (b6989586621679086100 :: Type))
type RightSym1 (t6989586621679310973 :: b6989586621679086100) = 'Right t6989586621679310973
data Either_Sym0 :: forall a6989586621680466161 c6989586621680466162 b6989586621680466163. (~>) ((~>) a6989586621680466161 c6989586621680466162) ((~>) ((~>) b6989586621680466163 c6989586621680466162) ((~>) (Either a6989586621680466161 b6989586621680466163) c6989586621680466162))
data Either_Sym1 (a6989586621680466197 :: (~>) a6989586621680466161 c6989586621680466162) :: forall b6989586621680466163. (~>) ((~>) b6989586621680466163 c6989586621680466162) ((~>) (Either a6989586621680466161 b6989586621680466163) c6989586621680466162)
data Either_Sym2 (a6989586621680466197 :: (~>) a6989586621680466161 c6989586621680466162) (a6989586621680466198 :: (~>) b6989586621680466163 c6989586621680466162) :: (~>) (Either a6989586621680466161 b6989586621680466163) c6989586621680466162
type Either_Sym3 (a6989586621680466197 :: (~>) a6989586621680466161 c6989586621680466162) (a6989586621680466198 :: (~>) b6989586621680466163 c6989586621680466162) (a6989586621680466199 :: Either a6989586621680466161 b6989586621680466163) = Either_ a6989586621680466197 a6989586621680466198 a6989586621680466199
data LeftsSym0 :: forall a6989586621680467643 b6989586621680467644. (~>) [Either a6989586621680467643 b6989586621680467644] [a6989586621680467643]
type LeftsSym1 (a6989586621680467915 :: [Either a6989586621680467643 b6989586621680467644]) = Lefts a6989586621680467915
data RightsSym0 :: forall a6989586621680467641 b6989586621680467642. (~>) [Either a6989586621680467641 b6989586621680467642] [b6989586621680467642]
type RightsSym1 (a6989586621680467910 :: [Either a6989586621680467641 b6989586621680467642]) = Rights a6989586621680467910
data IsLeftSym0 :: forall a6989586621680467637 b6989586621680467638. (~>) (Either a6989586621680467637 b6989586621680467638) Bool
type IsLeftSym1 (a6989586621680467886 :: Either a6989586621680467637 b6989586621680467638) = IsLeft a6989586621680467886
data IsRightSym0 :: forall a6989586621680467635 b6989586621680467636. (~>) (Either a6989586621680467635 b6989586621680467636) Bool
type IsRightSym1 (a6989586621680467884 :: Either a6989586621680467635 b6989586621680467636) = IsRight a6989586621680467884
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.Let6989586621680467893LeftSym0
instance forall k k2 k3 (a_69895866216804678886989586621680467892 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680467893LeftSym1 a_69895866216804678886989586621680467892)
instance forall k k2 k3 (a6989586621680467902 :: k) (a_69895866216804678886989586621680467892 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680467893LeftSym2 a6989586621680467902 a_69895866216804678886989586621680467892)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621680467893RightSym0
instance forall k k2 k3 (a_69895866216804678886989586621680467892 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680467893RightSym1 a_69895866216804678886989586621680467892)
instance forall k k2 k3 (a6989586621680467894 :: k) (a_69895866216804678886989586621680467892 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680467893RightSym2 a6989586621680467894 a_69895866216804678886989586621680467892)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Either_Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Either.Either_Sym0
instance forall a6989586621680466161 c6989586621680466162 b6989586621680466163 (a6989586621680466197 :: a6989586621680466161 Data.Singletons.Internal.~> c6989586621680466162). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Either_Sym1 a6989586621680466197)
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 a6989586621680466161 c6989586621680466162 b6989586621680466163 (a6989586621680466198 :: a6989586621680466161 Data.Singletons.Internal.~> c6989586621680466162) (a6989586621680466197 :: b6989586621680466163 Data.Singletons.Internal.~> c6989586621680466162). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Either_Sym2 a6989586621680466198 a6989586621680466197)
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_a6cbW :: Type -> Type) where {
    type family Fold (arg_a6clV :: t_a6cbW m_a6cbX) :: m_a6cbX;
    type family FoldMap (arg_a6clX :: (~>) a_a6cbZ m_a6cbY) (arg_a6clY :: t_a6cbW a_a6cbZ) :: m_a6cbY;
    type family Foldr (arg_a6cm1 :: (~>) a_a6cc0 ((~>) b_a6cc1 b_a6cc1)) (arg_a6cm2 :: b_a6cc1) (arg_a6cm3 :: t_a6cbW a_a6cc0) :: b_a6cc1;
    type family Foldr' (arg_a6cm7 :: (~>) a_a6cc2 ((~>) b_a6cc3 b_a6cc3)) (arg_a6cm8 :: b_a6cc3) (arg_a6cm9 :: t_a6cbW a_a6cc2) :: b_a6cc3;
    type family Foldl (arg_a6cmd :: (~>) b_a6cc4 ((~>) a_a6cc5 b_a6cc4)) (arg_a6cme :: b_a6cc4) (arg_a6cmf :: t_a6cbW a_a6cc5) :: b_a6cc4;
    type family Foldl' (arg_a6cmj :: (~>) b_a6cc6 ((~>) a_a6cc7 b_a6cc6)) (arg_a6cmk :: b_a6cc6) (arg_a6cml :: t_a6cbW a_a6cc7) :: b_a6cc6;
    type family Foldr1 (arg_a6cmp :: (~>) a_a6cc8 ((~>) a_a6cc8 a_a6cc8)) (arg_a6cmq :: t_a6cbW a_a6cc8) :: a_a6cc8;
    type family Foldl1 (arg_a6cmt :: (~>) a_a6cc9 ((~>) a_a6cc9 a_a6cc9)) (arg_a6cmu :: t_a6cbW a_a6cc9) :: a_a6cc9;
    type family ToList (arg_a6cmx :: t_a6cbW a_a6cca) :: [a_a6cca];
    type family Null (arg_a6cmz :: t_a6cbW a_a6ccb) :: Bool;
    type family Length (arg_a6cmB :: t_a6cbW a_a6ccc) :: Nat;
    type family Elem (arg_a6cmD :: a_a6ccd) (arg_a6cmE :: t_a6cbW a_a6ccd) :: Bool;
    type family Maximum (arg_a6cmH :: t_a6cbW a_a6cce) :: a_a6cce;
    type family Minimum (arg_a6cmJ :: t_a6cbW a_a6ccf) :: a_a6ccf;
    type family Sum (arg_a6cmL :: t_a6cbW a_a6ccg) :: a_a6ccg;
    type family Product (arg_a6cmN :: t_a6cbW a_a6cch) :: a_a6cch;
    type Fold a_a6cmP = Apply Fold_6989586621680487304Sym0 a_a6cmP;
    type FoldMap a_a6cmY a_a6cmZ = Apply (Apply FoldMap_6989586621680487314Sym0 a_a6cmY) a_a6cmZ;
    type Foldr a_a6cnc a_a6cnd a_a6cne = Apply (Apply (Apply Foldr_6989586621680487329Sym0 a_a6cnc) a_a6cnd) a_a6cne;
    type Foldr' a_a6cnB a_a6cnC a_a6cnD = Apply (Apply (Apply Foldr'_6989586621680487354Sym0 a_a6cnB) a_a6cnC) a_a6cnD;
    type Foldl a_a6co5 a_a6co6 a_a6co7 = Apply (Apply (Apply Foldl_6989586621680487384Sym0 a_a6co5) a_a6co6) a_a6co7;
    type Foldl' a_a6cou a_a6cov a_a6cow = Apply (Apply (Apply Foldl'_6989586621680487409Sym0 a_a6cou) a_a6cov) a_a6cow;
    type Foldr1 a_a6coY a_a6coZ = Apply (Apply Foldr1_6989586621680487438Sym0 a_a6coY) a_a6coZ;
    type Foldl1 a_a6cpn a_a6cpo = Apply (Apply Foldl1_6989586621680487463Sym0 a_a6cpn) a_a6cpo;
    type ToList a_a6cpM = Apply ToList_6989586621680487487Sym0 a_a6cpM;
    type Null a_a6cpV = Apply Null_6989586621680487496Sym0 a_a6cpV;
    type Length a_a6cqg = Apply Length_6989586621680487517Sym0 a_a6cqg;
    type Elem a_a6cqC a_a6cqD = Apply (Apply Elem_6989586621680487540Sym0 a_a6cqC) a_a6cqD;
    type Maximum a_a6cqS = Apply Maximum_6989586621680487555Sym0 a_a6cqS;
    type Minimum a_a6cr5 = Apply Minimum_6989586621680487568Sym0 a_a6cr5;
    type Sum a_a6cri = Apply Sum_6989586621680487581Sym0 a_a6cri;
    type Product a_a6crv = Apply Product_6989586621680487594Sym0 a_a6crv;
}
class SFoldable (t_a6cbW :: Type -> Type)
sFold :: forall m_a6cbX (t_a6cHN :: t_a6cbW m_a6cbX). (SFoldable t_a6cbW, SMonoid m_a6cbX) => Sing t_a6cHN -> Sing (Apply FoldSym0 t_a6cHN :: m_a6cbX)
sFoldMap :: forall a_a6cbZ m_a6cbY (t_a6cHP :: (~>) a_a6cbZ m_a6cbY) (t_a6cHQ :: t_a6cbW a_a6cbZ). (SFoldable t_a6cbW, SMonoid m_a6cbY) => Sing t_a6cHP -> Sing t_a6cHQ -> Sing (Apply (Apply FoldMapSym0 t_a6cHP) t_a6cHQ :: m_a6cbY)
sFoldr :: forall a_a6cc0 b_a6cc1 (t_a6cHT :: (~>) a_a6cc0 ((~>) b_a6cc1 b_a6cc1)) (t_a6cHU :: b_a6cc1) (t_a6cHV :: t_a6cbW a_a6cc0). SFoldable t_a6cbW => Sing t_a6cHT -> Sing t_a6cHU -> Sing t_a6cHV -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cHT) t_a6cHU) t_a6cHV :: b_a6cc1)
sFoldr' :: forall a_a6cc2 b_a6cc3 (t_a6cHZ :: (~>) a_a6cc2 ((~>) b_a6cc3 b_a6cc3)) (t_a6cI0 :: b_a6cc3) (t_a6cI1 :: t_a6cbW a_a6cc2). SFoldable t_a6cbW => Sing t_a6cHZ -> Sing t_a6cI0 -> Sing t_a6cI1 -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a6cHZ) t_a6cI0) t_a6cI1 :: b_a6cc3)
sFoldl :: forall b_a6cc4 a_a6cc5 (t_a6cI5 :: (~>) b_a6cc4 ((~>) a_a6cc5 b_a6cc4)) (t_a6cI6 :: b_a6cc4) (t_a6cI7 :: t_a6cbW a_a6cc5). SFoldable t_a6cbW => Sing t_a6cI5 -> Sing t_a6cI6 -> Sing t_a6cI7 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cI5) t_a6cI6) t_a6cI7 :: b_a6cc4)
sFoldl' :: forall b_a6cc6 a_a6cc7 (t_a6cIb :: (~>) b_a6cc6 ((~>) a_a6cc7 b_a6cc6)) (t_a6cIc :: b_a6cc6) (t_a6cId :: t_a6cbW a_a6cc7). SFoldable t_a6cbW => Sing t_a6cIb -> Sing t_a6cIc -> Sing t_a6cId -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6cIb) t_a6cIc) t_a6cId :: b_a6cc6)
sFoldr1 :: forall a_a6cc8 (t_a6cIh :: (~>) a_a6cc8 ((~>) a_a6cc8 a_a6cc8)) (t_a6cIi :: t_a6cbW a_a6cc8). SFoldable t_a6cbW => Sing t_a6cIh -> Sing t_a6cIi -> Sing (Apply (Apply Foldr1Sym0 t_a6cIh) t_a6cIi :: a_a6cc8)
sFoldl1 :: forall a_a6cc9 (t_a6cIl :: (~>) a_a6cc9 ((~>) a_a6cc9 a_a6cc9)) (t_a6cIm :: t_a6cbW a_a6cc9). SFoldable t_a6cbW => Sing t_a6cIl -> Sing t_a6cIm -> Sing (Apply (Apply Foldl1Sym0 t_a6cIl) t_a6cIm :: a_a6cc9)
sToList :: forall a_a6cca (t_a6cIp :: t_a6cbW a_a6cca). SFoldable t_a6cbW => Sing t_a6cIp -> Sing (Apply ToListSym0 t_a6cIp :: [a_a6cca])
sNull :: forall a_a6ccb (t_a6cIr :: t_a6cbW a_a6ccb). SFoldable t_a6cbW => Sing t_a6cIr -> Sing (Apply NullSym0 t_a6cIr :: Bool)
sLength :: forall a_a6ccc (t_a6cIt :: t_a6cbW a_a6ccc). SFoldable t_a6cbW => Sing t_a6cIt -> Sing (Apply LengthSym0 t_a6cIt :: Nat)
sElem :: forall a_a6ccd (t_a6cIv :: a_a6ccd) (t_a6cIw :: t_a6cbW a_a6ccd). (SFoldable t_a6cbW, SEq a_a6ccd) => Sing t_a6cIv -> Sing t_a6cIw -> Sing (Apply (Apply ElemSym0 t_a6cIv) t_a6cIw :: Bool)
sMaximum :: forall a_a6cce (t_a6cIz :: t_a6cbW a_a6cce). (SFoldable t_a6cbW, SOrd a_a6cce) => Sing t_a6cIz -> Sing (Apply MaximumSym0 t_a6cIz :: a_a6cce)
sMinimum :: forall a_a6ccf (t_a6cIB :: t_a6cbW a_a6ccf). (SFoldable t_a6cbW, SOrd a_a6ccf) => Sing t_a6cIB -> Sing (Apply MinimumSym0 t_a6cIB :: a_a6ccf)
sSum :: forall a_a6ccg (t_a6cID :: t_a6cbW a_a6ccg). (SFoldable t_a6cbW, SNum a_a6ccg) => Sing t_a6cID -> Sing (Apply SumSym0 t_a6cID :: a_a6ccg)
sProduct :: forall a_a6cch (t_a6cIF :: t_a6cbW a_a6cch). (SFoldable t_a6cbW, SNum a_a6cch) => Sing t_a6cIF -> Sing (Apply ProductSym0 t_a6cIF :: a_a6cch)
sFold :: forall m_a6cbX (t_a6cHN :: t_a6cbW m_a6cbX). (SFoldable t_a6cbW, (Apply FoldSym0 t_a6cHN :: m_a6cbX) ~ Apply Fold_6989586621680487304Sym0 t_a6cHN, SMonoid m_a6cbX) => Sing t_a6cHN -> Sing (Apply FoldSym0 t_a6cHN :: m_a6cbX)
sFoldMap :: forall a_a6cbZ m_a6cbY (t_a6cHP :: (~>) a_a6cbZ m_a6cbY) (t_a6cHQ :: t_a6cbW a_a6cbZ). (SFoldable t_a6cbW, (Apply (Apply FoldMapSym0 t_a6cHP) t_a6cHQ :: m_a6cbY) ~ Apply (Apply FoldMap_6989586621680487314Sym0 t_a6cHP) t_a6cHQ, SMonoid m_a6cbY) => Sing t_a6cHP -> Sing t_a6cHQ -> Sing (Apply (Apply FoldMapSym0 t_a6cHP) t_a6cHQ :: m_a6cbY)
sFoldr :: forall a_a6cc0 b_a6cc1 (t_a6cHT :: (~>) a_a6cc0 ((~>) b_a6cc1 b_a6cc1)) (t_a6cHU :: b_a6cc1) (t_a6cHV :: t_a6cbW a_a6cc0). (SFoldable t_a6cbW, (Apply (Apply (Apply FoldrSym0 t_a6cHT) t_a6cHU) t_a6cHV :: b_a6cc1) ~ Apply (Apply (Apply Foldr_6989586621680487329Sym0 t_a6cHT) t_a6cHU) t_a6cHV) => Sing t_a6cHT -> Sing t_a6cHU -> Sing t_a6cHV -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cHT) t_a6cHU) t_a6cHV :: b_a6cc1)
sFoldr' :: forall a_a6cc2 b_a6cc3 (t_a6cHZ :: (~>) a_a6cc2 ((~>) b_a6cc3 b_a6cc3)) (t_a6cI0 :: b_a6cc3) (t_a6cI1 :: t_a6cbW a_a6cc2). (SFoldable t_a6cbW, (Apply (Apply (Apply Foldr'Sym0 t_a6cHZ) t_a6cI0) t_a6cI1 :: b_a6cc3) ~ Apply (Apply (Apply Foldr'_6989586621680487354Sym0 t_a6cHZ) t_a6cI0) t_a6cI1) => Sing t_a6cHZ -> Sing t_a6cI0 -> Sing t_a6cI1 -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a6cHZ) t_a6cI0) t_a6cI1 :: b_a6cc3)
sFoldl :: forall b_a6cc4 a_a6cc5 (t_a6cI5 :: (~>) b_a6cc4 ((~>) a_a6cc5 b_a6cc4)) (t_a6cI6 :: b_a6cc4) (t_a6cI7 :: t_a6cbW a_a6cc5). (SFoldable t_a6cbW, (Apply (Apply (Apply FoldlSym0 t_a6cI5) t_a6cI6) t_a6cI7 :: b_a6cc4) ~ Apply (Apply (Apply Foldl_6989586621680487384Sym0 t_a6cI5) t_a6cI6) t_a6cI7) => Sing t_a6cI5 -> Sing t_a6cI6 -> Sing t_a6cI7 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cI5) t_a6cI6) t_a6cI7 :: b_a6cc4)
sFoldl' :: forall b_a6cc6 a_a6cc7 (t_a6cIb :: (~>) b_a6cc6 ((~>) a_a6cc7 b_a6cc6)) (t_a6cIc :: b_a6cc6) (t_a6cId :: t_a6cbW a_a6cc7). (SFoldable t_a6cbW, (Apply (Apply (Apply Foldl'Sym0 t_a6cIb) t_a6cIc) t_a6cId :: b_a6cc6) ~ Apply (Apply (Apply Foldl'_6989586621680487409Sym0 t_a6cIb) t_a6cIc) t_a6cId) => Sing t_a6cIb -> Sing t_a6cIc -> Sing t_a6cId -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6cIb) t_a6cIc) t_a6cId :: b_a6cc6)
sFoldr1 :: forall a_a6cc8 (t_a6cIh :: (~>) a_a6cc8 ((~>) a_a6cc8 a_a6cc8)) (t_a6cIi :: t_a6cbW a_a6cc8). (SFoldable t_a6cbW, (Apply (Apply Foldr1Sym0 t_a6cIh) t_a6cIi :: a_a6cc8) ~ Apply (Apply Foldr1_6989586621680487438Sym0 t_a6cIh) t_a6cIi) => Sing t_a6cIh -> Sing t_a6cIi -> Sing (Apply (Apply Foldr1Sym0 t_a6cIh) t_a6cIi :: a_a6cc8)
sFoldl1 :: forall a_a6cc9 (t_a6cIl :: (~>) a_a6cc9 ((~>) a_a6cc9 a_a6cc9)) (t_a6cIm :: t_a6cbW a_a6cc9). (SFoldable t_a6cbW, (Apply (Apply Foldl1Sym0 t_a6cIl) t_a6cIm :: a_a6cc9) ~ Apply (Apply Foldl1_6989586621680487463Sym0 t_a6cIl) t_a6cIm) => Sing t_a6cIl -> Sing t_a6cIm -> Sing (Apply (Apply Foldl1Sym0 t_a6cIl) t_a6cIm :: a_a6cc9)
sToList :: forall a_a6cca (t_a6cIp :: t_a6cbW a_a6cca). (SFoldable t_a6cbW, (Apply ToListSym0 t_a6cIp :: [a_a6cca]) ~ Apply ToList_6989586621680487487Sym0 t_a6cIp) => Sing t_a6cIp -> Sing (Apply ToListSym0 t_a6cIp :: [a_a6cca])
sNull :: forall a_a6ccb (t_a6cIr :: t_a6cbW a_a6ccb). (SFoldable t_a6cbW, (Apply NullSym0 t_a6cIr :: Bool) ~ Apply Null_6989586621680487496Sym0 t_a6cIr) => Sing t_a6cIr -> Sing (Apply NullSym0 t_a6cIr :: Bool)
sLength :: forall a_a6ccc (t_a6cIt :: t_a6cbW a_a6ccc). (SFoldable t_a6cbW, (Apply LengthSym0 t_a6cIt :: Nat) ~ Apply Length_6989586621680487517Sym0 t_a6cIt) => Sing t_a6cIt -> Sing (Apply LengthSym0 t_a6cIt :: Nat)
sElem :: forall a_a6ccd (t_a6cIv :: a_a6ccd) (t_a6cIw :: t_a6cbW a_a6ccd). (SFoldable t_a6cbW, (Apply (Apply ElemSym0 t_a6cIv) t_a6cIw :: Bool) ~ Apply (Apply Elem_6989586621680487540Sym0 t_a6cIv) t_a6cIw, SEq a_a6ccd) => Sing t_a6cIv -> Sing t_a6cIw -> Sing (Apply (Apply ElemSym0 t_a6cIv) t_a6cIw :: Bool)
sMaximum :: forall a_a6cce (t_a6cIz :: t_a6cbW a_a6cce). (SFoldable t_a6cbW, (Apply MaximumSym0 t_a6cIz :: a_a6cce) ~ Apply Maximum_6989586621680487555Sym0 t_a6cIz, SOrd a_a6cce) => Sing t_a6cIz -> Sing (Apply MaximumSym0 t_a6cIz :: a_a6cce)
sMinimum :: forall a_a6ccf (t_a6cIB :: t_a6cbW a_a6ccf). (SFoldable t_a6cbW, (Apply MinimumSym0 t_a6cIB :: a_a6ccf) ~ Apply Minimum_6989586621680487568Sym0 t_a6cIB, SOrd a_a6ccf) => Sing t_a6cIB -> Sing (Apply MinimumSym0 t_a6cIB :: a_a6ccf)
sSum :: forall a_a6ccg (t_a6cID :: t_a6cbW a_a6ccg). (SFoldable t_a6cbW, (Apply SumSym0 t_a6cID :: a_a6ccg) ~ Apply Sum_6989586621680487581Sym0 t_a6cID, SNum a_a6ccg) => Sing t_a6cID -> Sing (Apply SumSym0 t_a6cID :: a_a6ccg)
sProduct :: forall a_a6cch (t_a6cIF :: t_a6cbW a_a6cch). (SFoldable t_a6cbW, (Apply ProductSym0 t_a6cIF :: a_a6cch) ~ Apply Product_6989586621680487594Sym0 t_a6cIF, SNum a_a6cch) => Sing t_a6cIF -> Sing (Apply ProductSym0 t_a6cIF :: a_a6cch)
type family FoldrM (a_a6clz :: (~>) a_a6cbj ((~>) b_a6cbk (m_a6cbi b_a6cbk))) (a_a6clA :: b_a6cbk) (a_a6clB :: t_a6cbh a_a6cbj) :: m_a6cbi b_a6cbk
sFoldrM :: forall a_a6cbj b_a6cbk m_a6cbi t_a6cbh (t_a6cH2 :: (~>) a_a6cbj ((~>) b_a6cbk (m_a6cbi b_a6cbk))) (t_a6cH3 :: b_a6cbk) (t_a6cH4 :: t_a6cbh a_a6cbj). (SFoldable t_a6cbh, SMonad m_a6cbi) => Sing t_a6cH2 -> Sing t_a6cH3 -> Sing t_a6cH4 -> Sing (Apply (Apply (Apply FoldrMSym0 t_a6cH2) t_a6cH3) t_a6cH4 :: m_a6cbi b_a6cbk)
type family FoldlM (a_a6cld :: (~>) b_a6cbf ((~>) a_a6cbg (m_a6cbe b_a6cbf))) (a_a6cle :: b_a6cbf) (a_a6clf :: t_a6cbd a_a6cbg) :: m_a6cbe b_a6cbf
sFoldlM :: forall b_a6cbf a_a6cbg m_a6cbe t_a6cbd (t_a6cGW :: (~>) b_a6cbf ((~>) a_a6cbg (m_a6cbe b_a6cbf))) (t_a6cGX :: b_a6cbf) (t_a6cGY :: t_a6cbd a_a6cbg). (SFoldable t_a6cbd, SMonad m_a6cbe) => Sing t_a6cGW -> Sing t_a6cGX -> Sing t_a6cGY -> Sing (Apply (Apply (Apply FoldlMSym0 t_a6cGW) t_a6cGX) t_a6cGY :: m_a6cbe b_a6cbf)
type family Traverse_ (a_a6cl5 :: (~>) a_a6cbb (f_a6cba b_a6cbc)) (a_a6cl6 :: t_a6cb9 a_a6cbb) :: f_a6cba ()
sTraverse_ :: forall a_a6cbb f_a6cba b_a6cbc t_a6cb9 (t_a6cGS :: (~>) a_a6cbb (f_a6cba b_a6cbc)) (t_a6cGT :: t_a6cb9 a_a6cbb). (SFoldable t_a6cb9, SApplicative f_a6cba) => Sing t_a6cGS -> Sing t_a6cGT -> Sing (Apply (Apply Traverse_Sym0 t_a6cGS) t_a6cGT :: f_a6cba ())
type family For_ (a_a6ckZ :: t_a6cb5 a_a6cb7) (a_a6cl0 :: (~>) a_a6cb7 (f_a6cb6 b_a6cb8)) :: f_a6cb6 ()
sFor_ :: forall t_a6cb5 a_a6cb7 f_a6cb6 b_a6cb8 (t_a6cGO :: t_a6cb5 a_a6cb7) (t_a6cGP :: (~>) a_a6cb7 (f_a6cb6 b_a6cb8)). (SFoldable t_a6cb5, SApplicative f_a6cb6) => Sing t_a6cGO -> Sing t_a6cGP -> Sing (Apply (Apply For_Sym0 t_a6cGO) t_a6cGP :: f_a6cb6 ())
type family SequenceA_ (a_a6ckA :: t_a6caU (f_a6caV a_a6caW)) :: f_a6caV ()
sSequenceA_ :: forall t_a6caU f_a6caV a_a6caW (t_a6cGE :: t_a6caU (f_a6caV a_a6caW)). (SFoldable t_a6caU, SApplicative f_a6caV) => Sing t_a6cGE -> Sing (Apply SequenceA_Sym0 t_a6cGE :: f_a6caV ())
type family Asum (a_a6ckq :: t_a6caO (f_a6caP a_a6caQ)) :: f_a6caP a_a6caQ
sAsum :: forall t_a6caO f_a6caP a_a6caQ (t_a6cGA :: t_a6caO (f_a6caP a_a6caQ)). (SFoldable t_a6caO, SAlternative f_a6caP) => Sing t_a6cGA -> Sing (Apply AsumSym0 t_a6cGA :: f_a6caP a_a6caQ)
type family MapM_ (a_a6ckN :: (~>) a_a6cb3 (m_a6cb2 b_a6cb4)) (a_a6ckO :: t_a6cb1 a_a6cb3) :: m_a6cb2 ()
sMapM_ :: forall a_a6cb3 m_a6cb2 b_a6cb4 t_a6cb1 (t_a6cGK :: (~>) a_a6cb3 (m_a6cb2 b_a6cb4)) (t_a6cGL :: t_a6cb1 a_a6cb3). (SFoldable t_a6cb1, SMonad m_a6cb2) => Sing t_a6cGK -> Sing t_a6cGL -> Sing (Apply (Apply MapM_Sym0 t_a6cGK) t_a6cGL :: m_a6cb2 ())
type family ForM_ (a_a6ckH :: t_a6caX a_a6caZ) (a_a6ckI :: (~>) a_a6caZ (m_a6caY b_a6cb0)) :: m_a6caY ()
sForM_ :: forall t_a6caX a_a6caZ m_a6caY b_a6cb0 (t_a6cGG :: t_a6caX a_a6caZ) (t_a6cGH :: (~>) a_a6caZ (m_a6caY b_a6cb0)). (SFoldable t_a6caX, SMonad m_a6caY) => Sing t_a6cGG -> Sing t_a6cGH -> Sing (Apply (Apply ForM_Sym0 t_a6cGG) t_a6cGH :: m_a6caY ())
type family Sequence_ (a_a6ckv :: t_a6caR (m_a6caS a_a6caT)) :: m_a6caS ()
sSequence_ :: forall t_a6caR m_a6caS a_a6caT (t_a6cGC :: t_a6caR (m_a6caS a_a6caT)). (SFoldable t_a6caR, SMonad m_a6caS) => Sing t_a6cGC -> Sing (Apply Sequence_Sym0 t_a6cGC :: m_a6caS ())
type family Msum (a_a6ckl :: t_a6caL (m_a6caM a_a6caN)) :: m_a6caM a_a6caN
sMsum :: forall t_a6caL m_a6caM a_a6caN (t_a6cGy :: t_a6caL (m_a6caM a_a6caN)). (SFoldable t_a6caL, SMonadPlus m_a6caM) => Sing t_a6cGy -> Sing (Apply MsumSym0 t_a6cGy :: m_a6caM a_a6caN)
type family Concat (a_a6ck7 :: t_a6caJ [a_a6caK]) :: [a_a6caK]
sConcat :: forall t_a6caJ a_a6caK (t_a6cGw :: t_a6caJ [a_a6caK]). SFoldable t_a6caJ => Sing t_a6cGw -> Sing (Apply ConcatSym0 t_a6cGw :: [a_a6caK])
type family ConcatMap (a_a6cjR :: (~>) a_a6caH [b_a6caI]) (a_a6cjS :: t_a6caG a_a6caH) :: [b_a6caI]
sConcatMap :: forall a_a6caH b_a6caI t_a6caG (t_a6cGs :: (~>) a_a6caH [b_a6caI]) (t_a6cGt :: t_a6caG a_a6caH). SFoldable t_a6caG => Sing t_a6cGs -> Sing t_a6cGt -> Sing (Apply (Apply ConcatMapSym0 t_a6cGs) t_a6cGt :: [b_a6caI])
type family And (a_a6cjI :: t_a6caF Bool) :: Bool
sAnd :: forall t_a6caF (t_a6cGq :: t_a6caF Bool). SFoldable t_a6caF => Sing t_a6cGq -> Sing (Apply AndSym0 t_a6cGq :: Bool)
type family Or (a_a6cjz :: t_a6caE Bool) :: Bool
sOr :: forall t_a6caE (t_a6cGo :: t_a6caE Bool). SFoldable t_a6caE => Sing t_a6cGo -> Sing (Apply OrSym0 t_a6cGo :: Bool)
type family Any (a_a6cjm :: (~>) a_a6caD Bool) (a_a6cjn :: t_a6caC a_a6caD) :: Bool
sAny :: forall a_a6caD t_a6caC (t_a6cGk :: (~>) a_a6caD Bool) (t_a6cGl :: t_a6caC a_a6caD). SFoldable t_a6caC => Sing t_a6cGk -> Sing t_a6cGl -> Sing (Apply (Apply AnySym0 t_a6cGk) t_a6cGl :: Bool)
type family All (a_a6cj9 :: (~>) a_a6caB Bool) (a_a6cja :: t_a6caA a_a6caB) :: Bool
sAll :: forall a_a6caB t_a6caA (t_a6cGg :: (~>) a_a6caB Bool) (t_a6cGh :: t_a6caA a_a6caB). SFoldable t_a6caA => Sing t_a6cGg -> Sing t_a6cGh -> Sing (Apply (Apply AllSym0 t_a6cGg) t_a6cGh :: Bool)
type family MaximumBy (a_a6ciK :: (~>) a_a6caz ((~>) a_a6caz Ordering)) (a_a6ciL :: t_a6cay a_a6caz) :: a_a6caz
sMaximumBy :: forall a_a6caz t_a6cay (t_a6cGc :: (~>) a_a6caz ((~>) a_a6caz Ordering)) (t_a6cGd :: t_a6cay a_a6caz). SFoldable t_a6cay => Sing t_a6cGc -> Sing t_a6cGd -> Sing (Apply (Apply MaximumBySym0 t_a6cGc) t_a6cGd :: a_a6caz)
type family MinimumBy (a_a6cil :: (~>) a_a6cax ((~>) a_a6cax Ordering)) (a_a6cim :: t_a6caw a_a6cax) :: a_a6cax
sMinimumBy :: forall a_a6cax t_a6caw (t_a6cG8 :: (~>) a_a6cax ((~>) a_a6cax Ordering)) (t_a6cG9 :: t_a6caw a_a6cax). SFoldable t_a6caw => Sing t_a6cG8 -> Sing t_a6cG9 -> Sing (Apply (Apply MinimumBySym0 t_a6cG8) t_a6cG9 :: a_a6cax)
type family NotElem (a_a6cid :: a_a6cav) (a_a6cie :: t_a6cau a_a6cav) :: Bool
sNotElem :: forall a_a6cav t_a6cau (t_a6cG4 :: a_a6cav) (t_a6cG5 :: t_a6cau a_a6cav). (SFoldable t_a6cau, SEq a_a6cav) => Sing t_a6cG4 -> Sing t_a6cG5 -> Sing (Apply (Apply NotElemSym0 t_a6cG4) t_a6cG5 :: Bool)
type family Find (a_a6chM :: (~>) a_a6cat Bool) (a_a6chN :: t_a6cas a_a6cat) :: Maybe a_a6cat
sFind :: forall a_a6cat t_a6cas (t_a6cG0 :: (~>) a_a6cat Bool) (t_a6cG1 :: t_a6cas a_a6cat). SFoldable t_a6cas => Sing t_a6cG0 -> Sing t_a6cG1 -> Sing (Apply (Apply FindSym0 t_a6cG0) t_a6cG1 :: Maybe a_a6cat)
data FoldSym0 :: forall t6989586621680486628 m6989586621680486629. (~>) (t6989586621680486628 m6989586621680486629) m6989586621680486629
type FoldSym1 (arg6989586621680487247 :: t6989586621680486628 m6989586621680486629) = Fold arg6989586621680487247
data FoldMapSym0 :: forall a6989586621680486631 m6989586621680486630 t6989586621680486628. (~>) ((~>) a6989586621680486631 m6989586621680486630) ((~>) (t6989586621680486628 a6989586621680486631) m6989586621680486630)
data FoldMapSym1 (arg6989586621680487249 :: (~>) a6989586621680486631 m6989586621680486630) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486631) m6989586621680486630
type FoldMapSym2 (arg6989586621680487249 :: (~>) a6989586621680486631 m6989586621680486630) (arg6989586621680487250 :: t6989586621680486628 a6989586621680486631) = FoldMap arg6989586621680487249 arg6989586621680487250
data FoldrSym0 :: forall a6989586621680486632 b6989586621680486633 t6989586621680486628. (~>) ((~>) a6989586621680486632 ((~>) b6989586621680486633 b6989586621680486633)) ((~>) b6989586621680486633 ((~>) (t6989586621680486628 a6989586621680486632) b6989586621680486633))
data FoldrSym1 (arg6989586621680487253 :: (~>) a6989586621680486632 ((~>) b6989586621680486633 b6989586621680486633)) :: forall t6989586621680486628. (~>) b6989586621680486633 ((~>) (t6989586621680486628 a6989586621680486632) b6989586621680486633)
data FoldrSym2 (arg6989586621680487253 :: (~>) a6989586621680486632 ((~>) b6989586621680486633 b6989586621680486633)) (arg6989586621680487254 :: b6989586621680486633) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486632) b6989586621680486633
type FoldrSym3 (arg6989586621680487253 :: (~>) a6989586621680486632 ((~>) b6989586621680486633 b6989586621680486633)) (arg6989586621680487254 :: b6989586621680486633) (arg6989586621680487255 :: t6989586621680486628 a6989586621680486632) = Foldr arg6989586621680487253 arg6989586621680487254 arg6989586621680487255
data Foldr'Sym0 :: forall a6989586621680486634 b6989586621680486635 t6989586621680486628. (~>) ((~>) a6989586621680486634 ((~>) b6989586621680486635 b6989586621680486635)) ((~>) b6989586621680486635 ((~>) (t6989586621680486628 a6989586621680486634) b6989586621680486635))
data Foldr'Sym1 (arg6989586621680487259 :: (~>) a6989586621680486634 ((~>) b6989586621680486635 b6989586621680486635)) :: forall t6989586621680486628. (~>) b6989586621680486635 ((~>) (t6989586621680486628 a6989586621680486634) b6989586621680486635)
data Foldr'Sym2 (arg6989586621680487259 :: (~>) a6989586621680486634 ((~>) b6989586621680486635 b6989586621680486635)) (arg6989586621680487260 :: b6989586621680486635) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486634) b6989586621680486635
type Foldr'Sym3 (arg6989586621680487259 :: (~>) a6989586621680486634 ((~>) b6989586621680486635 b6989586621680486635)) (arg6989586621680487260 :: b6989586621680486635) (arg6989586621680487261 :: t6989586621680486628 a6989586621680486634) = Foldr' arg6989586621680487259 arg6989586621680487260 arg6989586621680487261
data FoldlSym0 :: forall b6989586621680486636 a6989586621680486637 t6989586621680486628. (~>) ((~>) b6989586621680486636 ((~>) a6989586621680486637 b6989586621680486636)) ((~>) b6989586621680486636 ((~>) (t6989586621680486628 a6989586621680486637) b6989586621680486636))
data FoldlSym1 (arg6989586621680487265 :: (~>) b6989586621680486636 ((~>) a6989586621680486637 b6989586621680486636)) :: forall t6989586621680486628. (~>) b6989586621680486636 ((~>) (t6989586621680486628 a6989586621680486637) b6989586621680486636)
data FoldlSym2 (arg6989586621680487265 :: (~>) b6989586621680486636 ((~>) a6989586621680486637 b6989586621680486636)) (arg6989586621680487266 :: b6989586621680486636) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486637) b6989586621680486636
type FoldlSym3 (arg6989586621680487265 :: (~>) b6989586621680486636 ((~>) a6989586621680486637 b6989586621680486636)) (arg6989586621680487266 :: b6989586621680486636) (arg6989586621680487267 :: t6989586621680486628 a6989586621680486637) = Foldl arg6989586621680487265 arg6989586621680487266 arg6989586621680487267
data Foldl'Sym0 :: forall b6989586621680486638 a6989586621680486639 t6989586621680486628. (~>) ((~>) b6989586621680486638 ((~>) a6989586621680486639 b6989586621680486638)) ((~>) b6989586621680486638 ((~>) (t6989586621680486628 a6989586621680486639) b6989586621680486638))
data Foldl'Sym1 (arg6989586621680487271 :: (~>) b6989586621680486638 ((~>) a6989586621680486639 b6989586621680486638)) :: forall t6989586621680486628. (~>) b6989586621680486638 ((~>) (t6989586621680486628 a6989586621680486639) b6989586621680486638)
data Foldl'Sym2 (arg6989586621680487271 :: (~>) b6989586621680486638 ((~>) a6989586621680486639 b6989586621680486638)) (arg6989586621680487272 :: b6989586621680486638) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486639) b6989586621680486638
type Foldl'Sym3 (arg6989586621680487271 :: (~>) b6989586621680486638 ((~>) a6989586621680486639 b6989586621680486638)) (arg6989586621680487272 :: b6989586621680486638) (arg6989586621680487273 :: t6989586621680486628 a6989586621680486639) = Foldl' arg6989586621680487271 arg6989586621680487272 arg6989586621680487273
data Foldr1Sym0 :: forall a6989586621680486640 t6989586621680486628. (~>) ((~>) a6989586621680486640 ((~>) a6989586621680486640 a6989586621680486640)) ((~>) (t6989586621680486628 a6989586621680486640) a6989586621680486640)
data Foldr1Sym1 (arg6989586621680487277 :: (~>) a6989586621680486640 ((~>) a6989586621680486640 a6989586621680486640)) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486640) a6989586621680486640
type Foldr1Sym2 (arg6989586621680487277 :: (~>) a6989586621680486640 ((~>) a6989586621680486640 a6989586621680486640)) (arg6989586621680487278 :: t6989586621680486628 a6989586621680486640) = Foldr1 arg6989586621680487277 arg6989586621680487278
data Foldl1Sym0 :: forall a6989586621680486641 t6989586621680486628. (~>) ((~>) a6989586621680486641 ((~>) a6989586621680486641 a6989586621680486641)) ((~>) (t6989586621680486628 a6989586621680486641) a6989586621680486641)
data Foldl1Sym1 (arg6989586621680487281 :: (~>) a6989586621680486641 ((~>) a6989586621680486641 a6989586621680486641)) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486641) a6989586621680486641
type Foldl1Sym2 (arg6989586621680487281 :: (~>) a6989586621680486641 ((~>) a6989586621680486641 a6989586621680486641)) (arg6989586621680487282 :: t6989586621680486628 a6989586621680486641) = Foldl1 arg6989586621680487281 arg6989586621680487282
data ToListSym0 :: forall t6989586621680486628 a6989586621680486642. (~>) (t6989586621680486628 a6989586621680486642) [a6989586621680486642]
type ToListSym1 (arg6989586621680487285 :: t6989586621680486628 a6989586621680486642) = ToList arg6989586621680487285
data NullSym0 :: forall t6989586621680486628 a6989586621680486643. (~>) (t6989586621680486628 a6989586621680486643) Bool
type NullSym1 (arg6989586621680487287 :: t6989586621680486628 a6989586621680486643) = Null arg6989586621680487287
data LengthSym0 :: forall t6989586621680486628 a6989586621680486644. (~>) (t6989586621680486628 a6989586621680486644) Nat
type LengthSym1 (arg6989586621680487289 :: t6989586621680486628 a6989586621680486644) = Length arg6989586621680487289
data ElemSym0 :: forall a6989586621680486645 t6989586621680486628. (~>) a6989586621680486645 ((~>) (t6989586621680486628 a6989586621680486645) Bool)
data ElemSym1 (arg6989586621680487291 :: a6989586621680486645) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486645) Bool
type ElemSym2 (arg6989586621680487291 :: a6989586621680486645) (arg6989586621680487292 :: t6989586621680486628 a6989586621680486645) = Elem arg6989586621680487291 arg6989586621680487292
data MaximumSym0 :: forall t6989586621680486628 a6989586621680486646. (~>) (t6989586621680486628 a6989586621680486646) a6989586621680486646
type MaximumSym1 (arg6989586621680487295 :: t6989586621680486628 a6989586621680486646) = Maximum arg6989586621680487295
data MinimumSym0 :: forall t6989586621680486628 a6989586621680486647. (~>) (t6989586621680486628 a6989586621680486647) a6989586621680486647
type MinimumSym1 (arg6989586621680487297 :: t6989586621680486628 a6989586621680486647) = Minimum arg6989586621680487297
data SumSym0 :: forall t6989586621680486628 a6989586621680486648. (~>) (t6989586621680486628 a6989586621680486648) a6989586621680486648
type SumSym1 (arg6989586621680487299 :: t6989586621680486628 a6989586621680486648) = Sum arg6989586621680487299
data ProductSym0 :: forall t6989586621680486628 a6989586621680486649. (~>) (t6989586621680486628 a6989586621680486649) a6989586621680486649
type ProductSym1 (arg6989586621680487301 :: t6989586621680486628 a6989586621680486649) = Product arg6989586621680487301
data FoldrMSym0 :: forall a6989586621680486589 b6989586621680486590 m6989586621680486588 t6989586621680486587. (~>) ((~>) a6989586621680486589 ((~>) b6989586621680486590 (m6989586621680486588 b6989586621680486590))) ((~>) b6989586621680486590 ((~>) (t6989586621680486587 a6989586621680486589) (m6989586621680486588 b6989586621680486590)))
data FoldrMSym1 (a6989586621680487225 :: (~>) a6989586621680486589 ((~>) b6989586621680486590 (m6989586621680486588 b6989586621680486590))) :: forall t6989586621680486587. (~>) b6989586621680486590 ((~>) (t6989586621680486587 a6989586621680486589) (m6989586621680486588 b6989586621680486590))
data FoldrMSym2 (a6989586621680487225 :: (~>) a6989586621680486589 ((~>) b6989586621680486590 (m6989586621680486588 b6989586621680486590))) (a6989586621680487226 :: b6989586621680486590) :: forall t6989586621680486587. (~>) (t6989586621680486587 a6989586621680486589) (m6989586621680486588 b6989586621680486590)
type FoldrMSym3 (a6989586621680487225 :: (~>) a6989586621680486589 ((~>) b6989586621680486590 (m6989586621680486588 b6989586621680486590))) (a6989586621680487226 :: b6989586621680486590) (a6989586621680487227 :: t6989586621680486587 a6989586621680486589) = FoldrM a6989586621680487225 a6989586621680487226 a6989586621680487227
data FoldlMSym0 :: forall b6989586621680486585 a6989586621680486586 m6989586621680486584 t6989586621680486583. (~>) ((~>) b6989586621680486585 ((~>) a6989586621680486586 (m6989586621680486584 b6989586621680486585))) ((~>) b6989586621680486585 ((~>) (t6989586621680486583 a6989586621680486586) (m6989586621680486584 b6989586621680486585)))
data FoldlMSym1 (a6989586621680487203 :: (~>) b6989586621680486585 ((~>) a6989586621680486586 (m6989586621680486584 b6989586621680486585))) :: forall t6989586621680486583. (~>) b6989586621680486585 ((~>) (t6989586621680486583 a6989586621680486586) (m6989586621680486584 b6989586621680486585))
data FoldlMSym2 (a6989586621680487203 :: (~>) b6989586621680486585 ((~>) a6989586621680486586 (m6989586621680486584 b6989586621680486585))) (a6989586621680487204 :: b6989586621680486585) :: forall t6989586621680486583. (~>) (t6989586621680486583 a6989586621680486586) (m6989586621680486584 b6989586621680486585)
type FoldlMSym3 (a6989586621680487203 :: (~>) b6989586621680486585 ((~>) a6989586621680486586 (m6989586621680486584 b6989586621680486585))) (a6989586621680487204 :: b6989586621680486585) (a6989586621680487205 :: t6989586621680486583 a6989586621680486586) = FoldlM a6989586621680487203 a6989586621680487204 a6989586621680487205
data Traverse_Sym0 :: forall a6989586621680486581 f6989586621680486580 b6989586621680486582 t6989586621680486579. (~>) ((~>) a6989586621680486581 (f6989586621680486580 b6989586621680486582)) ((~>) (t6989586621680486579 a6989586621680486581) (f6989586621680486580 ()))
data Traverse_Sym1 (a6989586621680487195 :: (~>) a6989586621680486581 (f6989586621680486580 b6989586621680486582)) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486581) (f6989586621680486580 ())
type Traverse_Sym2 (a6989586621680487195 :: (~>) a6989586621680486581 (f6989586621680486580 b6989586621680486582)) (a6989586621680487196 :: t6989586621680486579 a6989586621680486581) = Traverse_ a6989586621680487195 a6989586621680487196
data For_Sym0 :: forall t6989586621680486575 a6989586621680486577 f6989586621680486576 b6989586621680486578. (~>) (t6989586621680486575 a6989586621680486577) ((~>) ((~>) a6989586621680486577 (f6989586621680486576 b6989586621680486578)) (f6989586621680486576 ()))
data For_Sym1 (a6989586621680487189 :: t6989586621680486575 a6989586621680486577) :: forall f6989586621680486576 b6989586621680486578. (~>) ((~>) a6989586621680486577 (f6989586621680486576 b6989586621680486578)) (f6989586621680486576 ())
type For_Sym2 (a6989586621680487189 :: t6989586621680486575 a6989586621680486577) (a6989586621680487190 :: (~>) a6989586621680486577 (f6989586621680486576 b6989586621680486578)) = For_ a6989586621680487189 a6989586621680487190
data SequenceA_Sym0 :: forall t6989586621680486564 f6989586621680486565 a6989586621680486566. (~>) (t6989586621680486564 (f6989586621680486565 a6989586621680486566)) (f6989586621680486565 ())
type SequenceA_Sym1 (a6989586621680487164 :: t6989586621680486564 (f6989586621680486565 a6989586621680486566)) = SequenceA_ a6989586621680487164
data AsumSym0 :: forall t6989586621680486558 f6989586621680486559 a6989586621680486560. (~>) (t6989586621680486558 (f6989586621680486559 a6989586621680486560)) (f6989586621680486559 a6989586621680486560)
type AsumSym1 (a6989586621680487154 :: t6989586621680486558 (f6989586621680486559 a6989586621680486560)) = Asum a6989586621680487154
data MapM_Sym0 :: forall a6989586621680486573 m6989586621680486572 b6989586621680486574 t6989586621680486571. (~>) ((~>) a6989586621680486573 (m6989586621680486572 b6989586621680486574)) ((~>) (t6989586621680486571 a6989586621680486573) (m6989586621680486572 ()))
data MapM_Sym1 (a6989586621680487177 :: (~>) a6989586621680486573 (m6989586621680486572 b6989586621680486574)) :: forall t6989586621680486571. (~>) (t6989586621680486571 a6989586621680486573) (m6989586621680486572 ())
type MapM_Sym2 (a6989586621680487177 :: (~>) a6989586621680486573 (m6989586621680486572 b6989586621680486574)) (a6989586621680487178 :: t6989586621680486571 a6989586621680486573) = MapM_ a6989586621680487177 a6989586621680487178
data ForM_Sym0 :: forall t6989586621680486567 a6989586621680486569 m6989586621680486568 b6989586621680486570. (~>) (t6989586621680486567 a6989586621680486569) ((~>) ((~>) a6989586621680486569 (m6989586621680486568 b6989586621680486570)) (m6989586621680486568 ()))
data ForM_Sym1 (a6989586621680487171 :: t6989586621680486567 a6989586621680486569) :: forall m6989586621680486568 b6989586621680486570. (~>) ((~>) a6989586621680486569 (m6989586621680486568 b6989586621680486570)) (m6989586621680486568 ())
type ForM_Sym2 (a6989586621680487171 :: t6989586621680486567 a6989586621680486569) (a6989586621680487172 :: (~>) a6989586621680486569 (m6989586621680486568 b6989586621680486570)) = ForM_ a6989586621680487171 a6989586621680487172
data Sequence_Sym0 :: forall t6989586621680486561 m6989586621680486562 a6989586621680486563. (~>) (t6989586621680486561 (m6989586621680486562 a6989586621680486563)) (m6989586621680486562 ())
type Sequence_Sym1 (a6989586621680487159 :: t6989586621680486561 (m6989586621680486562 a6989586621680486563)) = Sequence_ a6989586621680487159
data MsumSym0 :: forall t6989586621680486555 m6989586621680486556 a6989586621680486557. (~>) (t6989586621680486555 (m6989586621680486556 a6989586621680486557)) (m6989586621680486556 a6989586621680486557)
type MsumSym1 (a6989586621680487149 :: t6989586621680486555 (m6989586621680486556 a6989586621680486557)) = Msum a6989586621680487149
data ConcatSym0 :: forall t6989586621680486553 a6989586621680486554. (~>) (t6989586621680486553 [a6989586621680486554]) [a6989586621680486554]
type ConcatSym1 (a6989586621680487135 :: t6989586621680486553 [a6989586621680486554]) = Concat a6989586621680487135
data ConcatMapSym0 :: forall a6989586621680486551 b6989586621680486552 t6989586621680486550. (~>) ((~>) a6989586621680486551 [b6989586621680486552]) ((~>) (t6989586621680486550 a6989586621680486551) [b6989586621680486552])
data ConcatMapSym1 (a6989586621680487119 :: (~>) a6989586621680486551 [b6989586621680486552]) :: forall t6989586621680486550. (~>) (t6989586621680486550 a6989586621680486551) [b6989586621680486552]
type ConcatMapSym2 (a6989586621680487119 :: (~>) a6989586621680486551 [b6989586621680486552]) (a6989586621680487120 :: t6989586621680486550 a6989586621680486551) = ConcatMap a6989586621680487119 a6989586621680487120
data AndSym0 :: forall t6989586621680486549. (~>) (t6989586621680486549 Bool) Bool
type AndSym1 (a6989586621680487110 :: t6989586621680486549 Bool) = And a6989586621680487110
data OrSym0 :: forall t6989586621680486548. (~>) (t6989586621680486548 Bool) Bool
type OrSym1 (a6989586621680487101 :: t6989586621680486548 Bool) = Or a6989586621680487101
data AnySym0 :: forall a6989586621680486547 t6989586621680486546. (~>) ((~>) a6989586621680486547 Bool) ((~>) (t6989586621680486546 a6989586621680486547) Bool)
data AnySym1 (a6989586621680487088 :: (~>) a6989586621680486547 Bool) :: forall t6989586621680486546. (~>) (t6989586621680486546 a6989586621680486547) Bool
type AnySym2 (a6989586621680487088 :: (~>) a6989586621680486547 Bool) (a6989586621680487089 :: t6989586621680486546 a6989586621680486547) = Any a6989586621680487088 a6989586621680487089
data AllSym0 :: forall a6989586621680486545 t6989586621680486544. (~>) ((~>) a6989586621680486545 Bool) ((~>) (t6989586621680486544 a6989586621680486545) Bool)
data AllSym1 (a6989586621680487075 :: (~>) a6989586621680486545 Bool) :: forall t6989586621680486544. (~>) (t6989586621680486544 a6989586621680486545) Bool
type AllSym2 (a6989586621680487075 :: (~>) a6989586621680486545 Bool) (a6989586621680487076 :: t6989586621680486544 a6989586621680486545) = All a6989586621680487075 a6989586621680487076
data MaximumBySym0 :: forall a6989586621680486543 t6989586621680486542. (~>) ((~>) a6989586621680486543 ((~>) a6989586621680486543 Ordering)) ((~>) (t6989586621680486542 a6989586621680486543) a6989586621680486543)
data MaximumBySym1 (a6989586621680487050 :: (~>) a6989586621680486543 ((~>) a6989586621680486543 Ordering)) :: forall t6989586621680486542. (~>) (t6989586621680486542 a6989586621680486543) a6989586621680486543
type MaximumBySym2 (a6989586621680487050 :: (~>) a6989586621680486543 ((~>) a6989586621680486543 Ordering)) (a6989586621680487051 :: t6989586621680486542 a6989586621680486543) = MaximumBy a6989586621680487050 a6989586621680487051
data MinimumBySym0 :: forall a6989586621680486541 t6989586621680486540. (~>) ((~>) a6989586621680486541 ((~>) a6989586621680486541 Ordering)) ((~>) (t6989586621680486540 a6989586621680486541) a6989586621680486541)
data MinimumBySym1 (a6989586621680487025 :: (~>) a6989586621680486541 ((~>) a6989586621680486541 Ordering)) :: forall t6989586621680486540. (~>) (t6989586621680486540 a6989586621680486541) a6989586621680486541
type MinimumBySym2 (a6989586621680487025 :: (~>) a6989586621680486541 ((~>) a6989586621680486541 Ordering)) (a6989586621680487026 :: t6989586621680486540 a6989586621680486541) = MinimumBy a6989586621680487025 a6989586621680487026
data NotElemSym0 :: forall a6989586621680486539 t6989586621680486538. (~>) a6989586621680486539 ((~>) (t6989586621680486538 a6989586621680486539) Bool)
data NotElemSym1 (a6989586621680487017 :: a6989586621680486539) :: forall t6989586621680486538. (~>) (t6989586621680486538 a6989586621680486539) Bool
type NotElemSym2 (a6989586621680487017 :: a6989586621680486539) (a6989586621680487018 :: t6989586621680486538 a6989586621680486539) = NotElem a6989586621680487017 a6989586621680487018
data FindSym0 :: forall a6989586621680486537 t6989586621680486536. (~>) ((~>) a6989586621680486537 Bool) ((~>) (t6989586621680486536 a6989586621680486537) (Maybe a6989586621680486537))
data FindSym1 (a6989586621680486990 :: (~>) a6989586621680486537 Bool) :: forall t6989586621680486536. (~>) (t6989586621680486536 a6989586621680486537) (Maybe a6989586621680486537)
type FindSym2 (a6989586621680486990 :: (~>) a6989586621680486537 Bool) (a6989586621680486991 :: t6989586621680486536 a6989586621680486537) = Find a6989586621680486990 a6989586621680486991
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680568450Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Monoid.Last
instance forall a6989586621680486632 b6989586621680486633 (a6989586621680568447 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680568450Sym1 a6989586621680568447)
instance forall a6989586621680486632 b6989586621680486633 (a6989586621680568448 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)) (a6989586621680568447 :: b6989586621680486633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680568450Sym2 a6989586621680568448 a6989586621680568447)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680568461Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable Data.Monoid.Last
instance forall a6989586621680486632 k1 k2 k3 (t6989586621680486628 :: * -> *) (_f_69895866216805683206989586621680568458 :: a6989586621680486632 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568461Sym1 _f_69895866216805683206989586621680568458)
instance forall a6989586621680486632 k1 k2 k3 (t6989586621680486628 :: * -> *) (_z_69895866216805683226989586621680568459 :: a6989586621680486632 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)) (_f_69895866216805683206989586621680568458 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568461Sym2 _z_69895866216805683226989586621680568459 _f_69895866216805683206989586621680568458)
instance forall a6989586621680486632 k1 k2 k3 (t6989586621680486628 :: * -> *) (a_69895866216805683426989586621680568460 :: a6989586621680486632 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)) (_z_69895866216805683226989586621680568459 :: k2) (_f_69895866216805683206989586621680568458 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568461Sym3 a_69895866216805683426989586621680568460 _z_69895866216805683226989586621680568459 _f_69895866216805683206989586621680568458)
instance forall a6989586621680486632 k1 k2 k3 (t6989586621680486628 :: * -> *) (t6989586621680568465 :: a6989586621680486632 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)) (a_69895866216805683426989586621680568460 :: k2) (_z_69895866216805683226989586621680568459 :: k3) (_f_69895866216805683206989586621680568458 :: t6989586621680486628 a6989586621680486632). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568461Sym4 t6989586621680568465 a_69895866216805683426989586621680568460 _z_69895866216805683226989586621680568459 _f_69895866216805683206989586621680568458)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680568437Sym0
instance forall a6989586621680486631 m6989586621680486630 (a6989586621680568435 :: a6989586621680486631 Data.Singletons.Internal.~> m6989586621680486630). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680568437Sym1 a6989586621680568435)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680568410Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Monoid.First
instance forall a6989586621680486632 b6989586621680486633 (a6989586621680568407 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680568410Sym1 a6989586621680568407)
instance forall a6989586621680486632 b6989586621680486633 (a6989586621680568408 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)) (a6989586621680568407 :: b6989586621680486633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680568410Sym2 a6989586621680568408 a6989586621680568407)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680568421Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable Data.Monoid.First
instance forall a6989586621680486632 k1 k2 k3 (t6989586621680486628 :: * -> *) (_f_69895866216805682876989586621680568418 :: a6989586621680486632 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568421Sym1 _f_69895866216805682876989586621680568418)
instance forall a6989586621680486632 k1 k2 k3 (t6989586621680486628 :: * -> *) (_z_69895866216805682896989586621680568419 :: a6989586621680486632 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)) (_f_69895866216805682876989586621680568418 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568421Sym2 _z_69895866216805682896989586621680568419 _f_69895866216805682876989586621680568418)
instance forall a6989586621680486632 k1 k2 k3 (t6989586621680486628 :: * -> *) (a_69895866216805683096989586621680568420 :: a6989586621680486632 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)) (_z_69895866216805682896989586621680568419 :: k2) (_f_69895866216805682876989586621680568418 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568421Sym3 a_69895866216805683096989586621680568420 _z_69895866216805682896989586621680568419 _f_69895866216805682876989586621680568418)
instance forall a6989586621680486632 k1 k2 k3 (t6989586621680486628 :: * -> *) (t6989586621680568425 :: a6989586621680486632 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)) (a_69895866216805683096989586621680568420 :: k2) (_z_69895866216805682896989586621680568419 :: k3) (_f_69895866216805682876989586621680568418 :: t6989586621680486628 a6989586621680486632). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568421Sym4 t6989586621680568425 a_69895866216805683096989586621680568420 _z_69895866216805682896989586621680568419 _f_69895866216805682876989586621680568418)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680568397Sym0
instance forall a6989586621680486631 m6989586621680486630 (a6989586621680568395 :: a6989586621680486631 Data.Singletons.Internal.~> m6989586621680486630). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680568397Sym1 a6989586621680568395)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680568368Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable ((,) a)
instance forall a6989586621680486632 b6989586621680486633 a6989586621680568239 (a6989586621680568365 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680568368Sym1 a6989586621680568365)
instance forall a6989586621680486632 b6989586621680486633 a6989586621680568239 (a6989586621680568366 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)) (a6989586621680568365 :: b6989586621680486633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680568368Sym2 a6989586621680568366 a6989586621680568365)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680568380Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable ((,) a)
instance forall k1 k2 k3 k4 k5 k6 (_f_69895866216805682606989586621680568376 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568380Sym1 _f_69895866216805682606989586621680568376)
instance forall k1 k2 k3 k4 k5 k6 (_z_69895866216805682626989586621680568377 :: k1) (_f_69895866216805682606989586621680568376 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568380Sym2 _z_69895866216805682626989586621680568377 _f_69895866216805682606989586621680568376)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216805682746989586621680568378 :: k1) (_z_69895866216805682626989586621680568377 :: k2) (_f_69895866216805682606989586621680568376 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568380Sym3 a_69895866216805682746989586621680568378 _z_69895866216805682626989586621680568377 _f_69895866216805682606989586621680568376)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216805682766989586621680568379 :: k1) (a_69895866216805682746989586621680568378 :: k2) (_z_69895866216805682626989586621680568377 :: k3) (_f_69895866216805682606989586621680568376 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568380Sym4 a_69895866216805682766989586621680568379 a_69895866216805682746989586621680568378 _z_69895866216805682626989586621680568377 _f_69895866216805682606989586621680568376)
instance forall k1 k2 k3 k4 k5 k6 (t6989586621680568384 :: k1) (a_69895866216805682766989586621680568379 :: k2) (a_69895866216805682746989586621680568378 :: k3) (_z_69895866216805682626989586621680568377 :: k4) (_f_69895866216805682606989586621680568376 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568380Sym5 t6989586621680568384 a_69895866216805682766989586621680568379 a_69895866216805682746989586621680568378 _z_69895866216805682626989586621680568377 _f_69895866216805682606989586621680568376)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680568346Sym0
instance forall a6989586621680486631 m6989586621680486630 a6989586621680568239 (a6989586621680568344 :: a6989586621680486631 Data.Singletons.Internal.~> m6989586621680486630). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680568346Sym1 a6989586621680568344)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680568355Sym0
instance forall k1 k2 k3 k4 k5 (_f_69895866216805682606989586621680568352 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568355Sym1 _f_69895866216805682606989586621680568352)
instance forall k1 k2 k3 k4 k5 (a_69895866216805682666989586621680568353 :: k1) (_f_69895866216805682606989586621680568352 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568355Sym2 a_69895866216805682666989586621680568353 _f_69895866216805682606989586621680568352)
instance forall k1 k2 k3 k4 k5 (a_69895866216805682686989586621680568354 :: k1) (a_69895866216805682666989586621680568353 :: k2) (_f_69895866216805682606989586621680568352 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568355Sym3 a_69895866216805682686989586621680568354 a_69895866216805682666989586621680568353 _f_69895866216805682606989586621680568352)
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.SMonadPlus m) => Data.Singletons.Internal.SingI Data.Singletons.Prelude.Foldable.MsumSym0
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.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.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.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.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.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.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_6989586621680488486Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Internal.Product
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680488479Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680488472Sym0
instance forall k (t6989586621680486628 :: k -> *) (a6989586621680486643 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680488466Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680488459Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680488452Sym0
instance forall k (t6989586621680486628 :: k -> *) (a6989586621680486644 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680488446Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680488436Sym0
instance forall a6989586621680486640 (t6989586621680486628 :: * -> *) (a6989586621680488434 :: a6989586621680486640 Data.Singletons.Internal.~> (a6989586621680486640 Data.Singletons.Internal.~> a6989586621680486640)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680488436Sym1 a6989586621680488434)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680488414Sym0
instance forall a6989586621680486634 b6989586621680486635 (t6989586621680486628 :: * -> *) (a6989586621680488411 :: a6989586621680486634 Data.Singletons.Internal.~> (b6989586621680486635 Data.Singletons.Internal.~> b6989586621680486635)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680488414Sym1 a6989586621680488411)
instance forall a6989586621680486634 b6989586621680486635 (t6989586621680486628 :: * -> *) (a6989586621680488412 :: a6989586621680486634 Data.Singletons.Internal.~> (b6989586621680486635 Data.Singletons.Internal.~> b6989586621680486635)) (a6989586621680488411 :: b6989586621680486635). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680488414Sym2 a6989586621680488412 a6989586621680488411)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680488397Sym0
instance forall a6989586621680486632 b6989586621680486633 (t6989586621680486628 :: * -> *) (a6989586621680488394 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680488397Sym1 a6989586621680488394)
instance forall a6989586621680486632 b6989586621680486633 (t6989586621680486628 :: * -> *) (a6989586621680488395 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)) (a6989586621680488394 :: b6989586621680486633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680488397Sym2 a6989586621680488395 a6989586621680488394)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680488385Sym0
instance forall a6989586621680486641 (t6989586621680486628 :: * -> *) (a6989586621680488383 :: a6989586621680486641 Data.Singletons.Internal.~> (a6989586621680486641 Data.Singletons.Internal.~> a6989586621680486641)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680488385Sym1 a6989586621680488383)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680488369Sym0
instance forall b6989586621680486638 a6989586621680486639 (t6989586621680486628 :: * -> *) (a6989586621680488366 :: b6989586621680486638 Data.Singletons.Internal.~> (a6989586621680486639 Data.Singletons.Internal.~> b6989586621680486638)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680488369Sym1 a6989586621680488366)
instance forall b6989586621680486638 a6989586621680486639 (t6989586621680486628 :: * -> *) (a6989586621680488367 :: b6989586621680486638 Data.Singletons.Internal.~> (a6989586621680486639 Data.Singletons.Internal.~> b6989586621680486638)) (a6989586621680488366 :: b6989586621680486638). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680488369Sym2 a6989586621680488367 a6989586621680488366)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680488352Sym0
instance forall b6989586621680486636 a6989586621680486637 (t6989586621680486628 :: * -> *) (a6989586621680488349 :: b6989586621680486636 Data.Singletons.Internal.~> (a6989586621680486637 Data.Singletons.Internal.~> b6989586621680486636)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680488352Sym1 a6989586621680488349)
instance forall b6989586621680486636 a6989586621680486637 (t6989586621680486628 :: * -> *) (a6989586621680488350 :: b6989586621680486636 Data.Singletons.Internal.~> (a6989586621680486637 Data.Singletons.Internal.~> b6989586621680486636)) (a6989586621680488349 :: b6989586621680486636). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680488352Sym2 a6989586621680488350 a6989586621680488349)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680488339Sym0
instance forall a6989586621680486645 (t6989586621680486628 :: * -> *) (a6989586621680488337 :: a6989586621680486645). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680488339Sym1 a6989586621680488337)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680488327Sym0
instance forall a6989586621680486631 m6989586621680486630 (t6989586621680486628 :: * -> *) (a6989586621680488325 :: a6989586621680486631 Data.Singletons.Internal.~> m6989586621680486630). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680488327Sym1 a6989586621680488325)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680488319Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Internal.Sum
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680488312Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680488305Sym0
instance forall k (t6989586621680486628 :: k -> *) (a6989586621680486643 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680488299Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680488292Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680488285Sym0
instance forall k (t6989586621680486628 :: k -> *) (a6989586621680486644 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680488279Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680488269Sym0
instance forall a6989586621680486640 (t6989586621680486628 :: * -> *) (a6989586621680488267 :: a6989586621680486640 Data.Singletons.Internal.~> (a6989586621680486640 Data.Singletons.Internal.~> a6989586621680486640)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680488269Sym1 a6989586621680488267)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680488247Sym0
instance forall a6989586621680486634 b6989586621680486635 (t6989586621680486628 :: * -> *) (a6989586621680488244 :: a6989586621680486634 Data.Singletons.Internal.~> (b6989586621680486635 Data.Singletons.Internal.~> b6989586621680486635)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680488247Sym1 a6989586621680488244)
instance forall a6989586621680486634 b6989586621680486635 (t6989586621680486628 :: * -> *) (a6989586621680488245 :: a6989586621680486634 Data.Singletons.Internal.~> (b6989586621680486635 Data.Singletons.Internal.~> b6989586621680486635)) (a6989586621680488244 :: b6989586621680486635). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680488247Sym2 a6989586621680488245 a6989586621680488244)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680488230Sym0
instance forall a6989586621680486632 b6989586621680486633 (t6989586621680486628 :: * -> *) (a6989586621680488227 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680488230Sym1 a6989586621680488227)
instance forall a6989586621680486632 b6989586621680486633 (t6989586621680486628 :: * -> *) (a6989586621680488228 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)) (a6989586621680488227 :: b6989586621680486633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680488230Sym2 a6989586621680488228 a6989586621680488227)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680488218Sym0
instance forall a6989586621680486641 (t6989586621680486628 :: * -> *) (a6989586621680488216 :: a6989586621680486641 Data.Singletons.Internal.~> (a6989586621680486641 Data.Singletons.Internal.~> a6989586621680486641)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680488218Sym1 a6989586621680488216)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680488202Sym0
instance forall b6989586621680486638 a6989586621680486639 (t6989586621680486628 :: * -> *) (a6989586621680488199 :: b6989586621680486638 Data.Singletons.Internal.~> (a6989586621680486639 Data.Singletons.Internal.~> b6989586621680486638)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680488202Sym1 a6989586621680488199)
instance forall b6989586621680486638 a6989586621680486639 (t6989586621680486628 :: * -> *) (a6989586621680488200 :: b6989586621680486638 Data.Singletons.Internal.~> (a6989586621680486639 Data.Singletons.Internal.~> b6989586621680486638)) (a6989586621680488199 :: b6989586621680486638). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680488202Sym2 a6989586621680488200 a6989586621680488199)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680488185Sym0
instance forall b6989586621680486636 a6989586621680486637 (t6989586621680486628 :: * -> *) (a6989586621680488182 :: b6989586621680486636 Data.Singletons.Internal.~> (a6989586621680486637 Data.Singletons.Internal.~> b6989586621680486636)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680488185Sym1 a6989586621680488182)
instance forall b6989586621680486636 a6989586621680486637 (t6989586621680486628 :: * -> *) (a6989586621680488183 :: b6989586621680486636 Data.Singletons.Internal.~> (a6989586621680486637 Data.Singletons.Internal.~> b6989586621680486636)) (a6989586621680488182 :: b6989586621680486636). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680488185Sym2 a6989586621680488183 a6989586621680488182)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680488172Sym0
instance forall a6989586621680486645 (t6989586621680486628 :: * -> *) (a6989586621680488170 :: a6989586621680486645). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680488172Sym1 a6989586621680488170)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680488160Sym0
instance forall a6989586621680486631 m6989586621680486630 (t6989586621680486628 :: * -> *) (a6989586621680488158 :: a6989586621680486631 Data.Singletons.Internal.~> m6989586621680486630). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680488160Sym1 a6989586621680488158)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680488152Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Internal.Dual
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680488145Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680488138Sym0
instance forall k (t6989586621680486628 :: k -> *) (a6989586621680486643 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680488132Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680488125Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680488118Sym0
instance forall k (t6989586621680486628 :: k -> *) (a6989586621680486644 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680488112Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680488102Sym0
instance forall a6989586621680486640 (t6989586621680486628 :: * -> *) (a6989586621680488100 :: a6989586621680486640 Data.Singletons.Internal.~> (a6989586621680486640 Data.Singletons.Internal.~> a6989586621680486640)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680488102Sym1 a6989586621680488100)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680488080Sym0
instance forall a6989586621680486634 b6989586621680486635 (t6989586621680486628 :: * -> *) (a6989586621680488077 :: a6989586621680486634 Data.Singletons.Internal.~> (b6989586621680486635 Data.Singletons.Internal.~> b6989586621680486635)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680488080Sym1 a6989586621680488077)
instance forall a6989586621680486634 b6989586621680486635 (t6989586621680486628 :: * -> *) (a6989586621680488078 :: a6989586621680486634 Data.Singletons.Internal.~> (b6989586621680486635 Data.Singletons.Internal.~> b6989586621680486635)) (a6989586621680488077 :: b6989586621680486635). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680488080Sym2 a6989586621680488078 a6989586621680488077)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680488063Sym0
instance forall a6989586621680486632 b6989586621680486633 (t6989586621680486628 :: * -> *) (a6989586621680488060 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680488063Sym1 a6989586621680488060)
instance forall a6989586621680486632 b6989586621680486633 (t6989586621680486628 :: * -> *) (a6989586621680488061 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)) (a6989586621680488060 :: b6989586621680486633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680488063Sym2 a6989586621680488061 a6989586621680488060)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680488051Sym0
instance forall a6989586621680486641 (t6989586621680486628 :: * -> *) (a6989586621680488049 :: a6989586621680486641 Data.Singletons.Internal.~> (a6989586621680486641 Data.Singletons.Internal.~> a6989586621680486641)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680488051Sym1 a6989586621680488049)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680488035Sym0
instance forall b6989586621680486638 a6989586621680486639 (t6989586621680486628 :: * -> *) (a6989586621680488032 :: b6989586621680486638 Data.Singletons.Internal.~> (a6989586621680486639 Data.Singletons.Internal.~> b6989586621680486638)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680488035Sym1 a6989586621680488032)
instance forall b6989586621680486638 a6989586621680486639 (t6989586621680486628 :: * -> *) (a6989586621680488033 :: b6989586621680486638 Data.Singletons.Internal.~> (a6989586621680486639 Data.Singletons.Internal.~> b6989586621680486638)) (a6989586621680488032 :: b6989586621680486638). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680488035Sym2 a6989586621680488033 a6989586621680488032)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680488018Sym0
instance forall b6989586621680486636 a6989586621680486637 (t6989586621680486628 :: * -> *) (a6989586621680488015 :: b6989586621680486636 Data.Singletons.Internal.~> (a6989586621680486637 Data.Singletons.Internal.~> b6989586621680486636)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680488018Sym1 a6989586621680488015)
instance forall b6989586621680486636 a6989586621680486637 (t6989586621680486628 :: * -> *) (a6989586621680488016 :: b6989586621680486636 Data.Singletons.Internal.~> (a6989586621680486637 Data.Singletons.Internal.~> b6989586621680486636)) (a6989586621680488015 :: b6989586621680486636). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680488018Sym2 a6989586621680488016 a6989586621680488015)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680488005Sym0
instance forall a6989586621680486645 (t6989586621680486628 :: * -> *) (a6989586621680488003 :: a6989586621680486645). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680488005Sym1 a6989586621680488003)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487993Sym0
instance forall a6989586621680486631 m6989586621680486630 (t6989586621680486628 :: * -> *) (a6989586621680487991 :: a6989586621680486631 Data.Singletons.Internal.~> m6989586621680486630). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487993Sym1 a6989586621680487991)
instance forall k (t6989586621680486628 :: k -> *) (a6989586621680486643 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680487983Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable (Data.Either.Either a)
instance forall k (t6989586621680486628 :: k -> *) (a6989586621680486644 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680487977Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680487961Sym0
instance forall a6989586621680486632 b6989586621680486633 (t6989586621680486628 :: * -> *) (a6989586621680487958 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487961Sym1 a6989586621680487958)
instance forall a6989586621680486632 b6989586621680486633 (t6989586621680486628 :: * -> *) (a6989586621680487959 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)) (a6989586621680487958 :: b6989586621680486633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487961Sym2 a6989586621680487959 a6989586621680487958)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487948Sym0
instance forall a6989586621680486631 m6989586621680486630 (t6989586621680486628 :: * -> *) (a6989586621680487946 :: a6989586621680486631 Data.Singletons.Internal.~> m6989586621680486630). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487948Sym1 a6989586621680487946)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680487939Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable GHC.Base.NonEmpty
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Fold_6989586621680487931Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487919Sym0
instance forall a6989586621680486631 m6989586621680486630 (t6989586621680486628 :: * -> *) (a6989586621680487917 :: a6989586621680486631 Data.Singletons.Internal.~> m6989586621680486630). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487919Sym1 a6989586621680487917)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487893Sym0
instance forall a6989586621680486640 (t6989586621680486628 :: * -> *) (a6989586621680487891 :: a6989586621680486640 Data.Singletons.Internal.~> (a6989586621680486640 Data.Singletons.Internal.~> a6989586621680486640)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487893Sym1 a6989586621680487891)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487902GoSym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680487899 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487902GoSym1 f6989586621680487899)
instance forall k2 k3 k4 k5 k6 k7 (p6989586621680487900 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (f6989586621680487899 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487902GoSym2 p6989586621680487900 f6989586621680487899)
instance forall k2 k3 k4 k5 k6 k7 (ps6989586621680487901 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (p6989586621680487900 :: k5) (f6989586621680487899 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487902GoSym3 ps6989586621680487901 p6989586621680487900 f6989586621680487899)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680487903 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (ps6989586621680487901 :: k5) (p6989586621680487900 :: k6) (f6989586621680487899 :: k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487902GoSym4 a6989586621680487903 ps6989586621680487901 p6989586621680487900 f6989586621680487899)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680487904 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (a6989586621680487903 :: k5) (ps6989586621680487901 :: k6) (p6989586621680487900 :: k7) (f6989586621680487899 :: k7 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487902GoSym5 a6989586621680487904 a6989586621680487903 ps6989586621680487901 p6989586621680487900 f6989586621680487899)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487880Sym0
instance forall a6989586621680486641 (t6989586621680486628 :: * -> *) (a6989586621680487878 :: a6989586621680486641 Data.Singletons.Internal.~> (a6989586621680486641 Data.Singletons.Internal.~> a6989586621680486641)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487880Sym1 a6989586621680487878)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680487863Sym0
instance forall b6989586621680486636 a6989586621680486637 (t6989586621680486628 :: * -> *) (a6989586621680487860 :: b6989586621680486636 Data.Singletons.Internal.~> (a6989586621680486637 Data.Singletons.Internal.~> b6989586621680486636)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487863Sym1 a6989586621680487860)
instance forall b6989586621680486636 a6989586621680486637 (t6989586621680486628 :: * -> *) (a6989586621680487861 :: b6989586621680486636 Data.Singletons.Internal.~> (a6989586621680486637 Data.Singletons.Internal.~> b6989586621680486636)) (a6989586621680487860 :: b6989586621680486636). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487863Sym2 a6989586621680487861 a6989586621680487860)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680487845Sym0
instance forall a6989586621680486632 b6989586621680486633 (t6989586621680486628 :: * -> *) (a6989586621680487842 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487845Sym1 a6989586621680487842)
instance forall a6989586621680486632 b6989586621680486633 (t6989586621680486628 :: * -> *) (a6989586621680487843 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)) (a6989586621680487842 :: b6989586621680486633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487845Sym2 a6989586621680487843 a6989586621680487842)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680487834Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable []
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680487825Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680487816Sym0
instance forall k (t6989586621680486628 :: k -> *) (a6989586621680486643 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680487807Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680487798Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680487789Sym0
instance forall k (t6989586621680486628 :: k -> *) (a6989586621680486644 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680487780Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487765Sym0
instance forall a6989586621680486640 (t6989586621680486628 :: * -> *) (a6989586621680487763 :: a6989586621680486640 Data.Singletons.Internal.~> (a6989586621680486640 Data.Singletons.Internal.~> a6989586621680486640)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487765Sym1 a6989586621680487763)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680487743Sym0
instance forall a6989586621680486632 b6989586621680486633 (t6989586621680486628 :: * -> *) (a6989586621680487740 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487743Sym1 a6989586621680487740)
instance forall a6989586621680486632 b6989586621680486633 (t6989586621680486628 :: * -> *) (a6989586621680487741 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)) (a6989586621680487740 :: b6989586621680486633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487743Sym2 a6989586621680487741 a6989586621680487740)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487726Sym0
instance forall a6989586621680486641 (t6989586621680486628 :: * -> *) (a6989586621680487724 :: a6989586621680486641 Data.Singletons.Internal.~> (a6989586621680486641 Data.Singletons.Internal.~> a6989586621680486641)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487726Sym1 a6989586621680487724)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487704Sym0
instance forall b6989586621680486638 a6989586621680486639 (t6989586621680486628 :: * -> *) (a6989586621680487701 :: b6989586621680486638 Data.Singletons.Internal.~> (a6989586621680486639 Data.Singletons.Internal.~> b6989586621680486638)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487704Sym1 a6989586621680487701)
instance forall b6989586621680486638 a6989586621680486639 (t6989586621680486628 :: * -> *) (a6989586621680487702 :: b6989586621680486638 Data.Singletons.Internal.~> (a6989586621680486639 Data.Singletons.Internal.~> b6989586621680486638)) (a6989586621680487701 :: b6989586621680486638). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487704Sym2 a6989586621680487702 a6989586621680487701)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680487681Sym0
instance forall b6989586621680486636 a6989586621680486637 (t6989586621680486628 :: * -> *) (a6989586621680487678 :: b6989586621680486636 Data.Singletons.Internal.~> (a6989586621680486637 Data.Singletons.Internal.~> b6989586621680486636)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487681Sym1 a6989586621680487678)
instance forall b6989586621680486636 a6989586621680486637 (t6989586621680486628 :: * -> *) (a6989586621680487679 :: b6989586621680486636 Data.Singletons.Internal.~> (a6989586621680486637 Data.Singletons.Internal.~> b6989586621680486636)) (a6989586621680487678 :: b6989586621680486636). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487681Sym2 a6989586621680487679 a6989586621680487678)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680487664Sym0
instance forall a6989586621680486645 (t6989586621680486628 :: * -> *) (a6989586621680487662 :: a6989586621680486645). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680487664Sym1 a6989586621680487662)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680487647Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable GHC.Maybe.Maybe
instance forall b6989586621680486636 a6989586621680486637 (t6989586621680486628 :: * -> *) (a6989586621680487644 :: b6989586621680486636 Data.Singletons.Internal.~> (a6989586621680486637 Data.Singletons.Internal.~> b6989586621680486636)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487647Sym1 a6989586621680487644)
instance forall b6989586621680486636 a6989586621680486637 (t6989586621680486628 :: * -> *) (a6989586621680487645 :: b6989586621680486636 Data.Singletons.Internal.~> (a6989586621680486637 Data.Singletons.Internal.~> b6989586621680486636)) (a6989586621680487644 :: b6989586621680486636). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487647Sym2 a6989586621680487645 a6989586621680487644)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680487629Sym0
instance forall a6989586621680486632 b6989586621680486633 (t6989586621680486628 :: * -> *) (a6989586621680487626 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487629Sym1 a6989586621680487626)
instance forall a6989586621680486632 b6989586621680486633 (t6989586621680486628 :: * -> *) (a6989586621680487627 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)) (a6989586621680487626 :: b6989586621680486633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487629Sym2 a6989586621680487627 a6989586621680487626)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487612Sym0
instance forall a6989586621680486631 m6989586621680486630 (t6989586621680486628 :: * -> *) (a6989586621680487610 :: a6989586621680486631 Data.Singletons.Internal.~> m6989586621680486630). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487612Sym1 a6989586621680487610)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486996Scrutinee_6989586621680486887Sym0
instance forall a6989586621680486631 (t6989586621680486628 :: * -> *) (p6989586621680486994 :: a6989586621680486631 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486996Scrutinee_6989586621680486887Sym1 p6989586621680486994)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FindSym0
instance forall a6989586621680486537 (t6989586621680486536 :: * -> *) (a6989586621680486990 :: a6989586621680486537 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FindSym1 a6989586621680486990)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487081Scrutinee_6989586621680486881Sym0
instance forall a6989586621680486631 (t6989586621680486628 :: * -> *) (p6989586621680487079 :: a6989586621680486631 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487081Scrutinee_6989586621680486881Sym1 p6989586621680487079)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.AllSym0
instance forall a6989586621680486545 (t6989586621680486544 :: * -> *) (a6989586621680487075 :: a6989586621680486545 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.AllSym1 a6989586621680487075)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487094Scrutinee_6989586621680486879Sym0
instance forall a6989586621680486631 (t6989586621680486628 :: * -> *) (p6989586621680487092 :: a6989586621680486631 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487094Scrutinee_6989586621680486879Sym1 p6989586621680487092)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487104Scrutinee_6989586621680486877Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.OrSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487113Scrutinee_6989586621680486875Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.AndSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487340Scrutinee_6989586621680486840Sym0
instance forall a6989586621680486631 a k (t6989586621680486628 :: * -> *) (f6989586621680487337 :: a6989586621680486631 Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> a)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487340Scrutinee_6989586621680486840Sym1 f6989586621680487337)
instance forall a6989586621680486631 a k (t6989586621680486628 :: * -> *) (z6989586621680487338 :: a6989586621680486631 Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> a)) (f6989586621680487337 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487340Scrutinee_6989586621680486840Sym2 z6989586621680487338 f6989586621680487337)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487395Scrutinee_6989586621680486843Sym0
instance forall a a6989586621680486631 k (t6989586621680486628 :: * -> *) (f6989586621680487392 :: a Data.Singletons.Internal.~> (a6989586621680486631 Data.Singletons.Internal.~> a)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487395Scrutinee_6989586621680486843Sym1 f6989586621680487392)
instance forall a a6989586621680486631 k (t6989586621680486628 :: * -> *) (z6989586621680487393 :: a Data.Singletons.Internal.~> (a6989586621680486631 Data.Singletons.Internal.~> a)) (f6989586621680487392 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487395Scrutinee_6989586621680486843Sym2 z6989586621680487393 f6989586621680487392)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487560Scrutinee_6989586621680486863Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487573Scrutinee_6989586621680486866Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487586Scrutinee_6989586621680486869Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487599Scrutinee_6989586621680486872Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ConcatMapSym0
instance forall a6989586621680486551 b6989586621680486552 (t6989586621680486550 :: * -> *) (a6989586621680487119 :: a6989586621680486551 Data.Singletons.Internal.~> [b6989586621680486552]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.ConcatMapSym1 a6989586621680487119)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680487125Sym0
instance forall k1 (t6989586621680486628 :: * -> *) a6989586621680486632 k (f6989586621680487123 :: k1 Data.Singletons.Internal.~> t6989586621680486628 a6989586621680486632). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487125Sym1 f6989586621680487123)
instance forall k1 (t6989586621680486628 :: * -> *) a6989586621680486632 k (xs6989586621680487124 :: k1 Data.Singletons.Internal.~> t6989586621680486628 a6989586621680486632) (f6989586621680487123 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487125Sym2 xs6989586621680487124 f6989586621680487123)
instance forall k1 (t6989586621680486628 :: * -> *) a6989586621680486632 k (t6989586621680487129 :: k1 Data.Singletons.Internal.~> t6989586621680486628 a6989586621680486632) (xs6989586621680487124 :: k) (f6989586621680487123 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487125Sym3 t6989586621680487129 xs6989586621680487124 f6989586621680487123)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ConcatSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680487138Sym0
instance forall k (t6989586621680486628 :: * -> *) a6989586621680486632 (xs6989586621680487137 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487138Sym1 xs6989586621680487137)
instance forall k (t6989586621680486628 :: * -> *) a6989586621680486632 (t6989586621680487142 :: k) (xs6989586621680487137 :: t6989586621680486628 a6989586621680486632). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487138Sym2 t6989586621680487142 xs6989586621680487137)
instance forall (t6989586621680486555 :: * -> *) k (m6989586621680486556 :: k -> *) (a6989586621680486557 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MsumSym0
instance forall (t6989586621680486558 :: * -> *) k (f6989586621680486559 :: k -> *) (a6989586621680486560 :: k). 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 (t6989586621680486567 :: * -> *) a6989586621680486569 (m6989586621680486568 :: * -> *) b6989586621680486570 (a6989586621680487171 :: t6989586621680486567 a6989586621680486569). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.ForM_Sym1 a6989586621680487171)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MapM_Sym0
instance forall a6989586621680486573 (m6989586621680486572 :: * -> *) b6989586621680486574 (t6989586621680486571 :: * -> *) (a6989586621680487177 :: a6989586621680486573 Data.Singletons.Internal.~> m6989586621680486572 b6989586621680486574). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.MapM_Sym1 a6989586621680487177)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.For_Sym0
instance forall (t6989586621680486575 :: * -> *) a6989586621680486577 (f6989586621680486576 :: * -> *) b6989586621680486578 (a6989586621680487189 :: t6989586621680486575 a6989586621680486577). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.For_Sym1 a6989586621680487189)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Traverse_Sym0
instance forall a6989586621680486581 (f6989586621680486580 :: * -> *) b6989586621680486582 (t6989586621680486579 :: * -> *) (a6989586621680487195 :: a6989586621680486581 Data.Singletons.Internal.~> f6989586621680486580 b6989586621680486582). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Traverse_Sym1 a6989586621680487195)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldlMSym0
instance forall b6989586621680486585 a6989586621680486586 (m6989586621680486584 :: * -> *) (t6989586621680486583 :: * -> *) (a6989586621680487203 :: b6989586621680486585 Data.Singletons.Internal.~> (a6989586621680486586 Data.Singletons.Internal.~> m6989586621680486584 b6989586621680486585)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlMSym1 a6989586621680487203)
instance forall b6989586621680486585 a6989586621680486586 (m6989586621680486584 :: * -> *) (t6989586621680486583 :: * -> *) (a6989586621680487204 :: b6989586621680486585 Data.Singletons.Internal.~> (a6989586621680486586 Data.Singletons.Internal.~> m6989586621680486584 b6989586621680486585)) (a6989586621680487203 :: b6989586621680486585). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlMSym2 a6989586621680487204 a6989586621680487203)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'Sym0
instance forall a6989586621680486634 b6989586621680486635 (t6989586621680486628 :: * -> *) (arg6989586621680487259 :: a6989586621680486634 Data.Singletons.Internal.~> (b6989586621680486635 Data.Singletons.Internal.~> b6989586621680486635)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'Sym1 arg6989586621680487259)
instance forall a6989586621680486634 b6989586621680486635 (t6989586621680486628 :: * -> *) (arg6989586621680487260 :: a6989586621680486634 Data.Singletons.Internal.~> (b6989586621680486635 Data.Singletons.Internal.~> b6989586621680486635)) (arg6989586621680487259 :: b6989586621680486635). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'Sym2 arg6989586621680487260 arg6989586621680487259)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldrMSym0
instance forall a6989586621680486589 b6989586621680486590 (m6989586621680486588 :: * -> *) (t6989586621680486587 :: * -> *) (a6989586621680487225 :: a6989586621680486589 Data.Singletons.Internal.~> (b6989586621680486590 Data.Singletons.Internal.~> m6989586621680486588 b6989586621680486590)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrMSym1 a6989586621680487225)
instance forall a6989586621680486589 b6989586621680486590 (m6989586621680486588 :: * -> *) (t6989586621680486587 :: * -> *) (a6989586621680487226 :: a6989586621680486589 Data.Singletons.Internal.~> (b6989586621680486590 Data.Singletons.Internal.~> m6989586621680486588 b6989586621680486590)) (a6989586621680487225 :: b6989586621680486590). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrMSym2 a6989586621680487226 a6989586621680487225)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1Sym0
instance forall a6989586621680486640 (t6989586621680486628 :: * -> *) (arg6989586621680487277 :: a6989586621680486640 Data.Singletons.Internal.~> (a6989586621680486640 Data.Singletons.Internal.~> a6989586621680486640)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1Sym1 arg6989586621680487277)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MinimumBySym0
instance forall a6989586621680486541 (t6989586621680486540 :: * -> *) (a6989586621680487025 :: a6989586621680486541 Data.Singletons.Internal.~> (a6989586621680486541 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.MinimumBySym1 a6989586621680487025)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MaximumBySym0
instance forall a6989586621680486543 (t6989586621680486542 :: * -> *) (a6989586621680487050 :: a6989586621680486543 Data.Singletons.Internal.~> (a6989586621680486543 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.MaximumBySym1 a6989586621680487050)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1Sym0
instance forall a6989586621680486641 (t6989586621680486628 :: * -> *) (arg6989586621680487281 :: a6989586621680486641 Data.Singletons.Internal.~> (a6989586621680486641 Data.Singletons.Internal.~> a6989586621680486641)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1Sym1 arg6989586621680487281)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToListSym0
instance forall k (t6989586621680486628 :: k -> *) (a6989586621680486643 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.NullSym0
instance forall k (t6989586621680486628 :: k -> *) (a6989586621680486644 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.LengthSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.NotElemSym0
instance forall a6989586621680486539 (t6989586621680486538 :: * -> *) (a6989586621680487017 :: a6989586621680486539). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.NotElemSym1 a6989586621680487017)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ElemSym0
instance forall a6989586621680486645 (t6989586621680486628 :: * -> *) (arg6989586621680487291 :: a6989586621680486645). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.ElemSym1 arg6989586621680487291)
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 a6989586621680486547 (t6989586621680486546 :: * -> *) (a6989586621680487088 :: a6989586621680486547 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.AnySym1 a6989586621680487088)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.AnySym0
instance forall a6989586621680486631 m6989586621680486630 (t6989586621680486628 :: * -> *) (arg6989586621680487249 :: a6989586621680486631 Data.Singletons.Internal.~> m6989586621680486630). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMapSym1 arg6989586621680487249)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMapSym0
instance forall a6989586621680486632 b6989586621680486633 (t6989586621680486628 :: * -> *) (arg6989586621680487254 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)) (arg6989586621680487253 :: b6989586621680486633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrSym2 arg6989586621680487254 arg6989586621680487253)
instance forall a6989586621680486632 b6989586621680486633 (t6989586621680486628 :: * -> *) (arg6989586621680487253 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrSym1 arg6989586621680487253)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldrSym0
instance forall b6989586621680486636 a6989586621680486637 (t6989586621680486628 :: * -> *) (arg6989586621680487266 :: b6989586621680486636 Data.Singletons.Internal.~> (a6989586621680486637 Data.Singletons.Internal.~> b6989586621680486636)) (arg6989586621680487265 :: b6989586621680486636). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlSym2 arg6989586621680487266 arg6989586621680487265)
instance forall b6989586621680486636 a6989586621680486637 (t6989586621680486628 :: * -> *) (arg6989586621680487265 :: b6989586621680486636 Data.Singletons.Internal.~> (a6989586621680486637 Data.Singletons.Internal.~> b6989586621680486636)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlSym1 arg6989586621680487265)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldlSym0
instance forall b6989586621680486638 a6989586621680486639 (t6989586621680486628 :: * -> *) (arg6989586621680487272 :: b6989586621680486638 Data.Singletons.Internal.~> (a6989586621680486639 Data.Singletons.Internal.~> b6989586621680486638)) (arg6989586621680487271 :: b6989586621680486638). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'Sym2 arg6989586621680487272 arg6989586621680487271)
instance forall b6989586621680486638 a6989586621680486639 (t6989586621680486628 :: * -> *) (arg6989586621680487271 :: b6989586621680486638 Data.Singletons.Internal.~> (a6989586621680486639 Data.Singletons.Internal.~> b6989586621680486638)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'Sym1 arg6989586621680487271)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Fold_6989586621680487304Sym0
instance forall a6989586621680486631 m6989586621680486630 (t6989586621680486628 :: * -> *) (a6989586621680487312 :: a6989586621680486631 Data.Singletons.Internal.~> m6989586621680486630). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487314Sym1 a6989586621680487312)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487314Sym0
instance forall a6989586621680486632 b6989586621680486633 (t6989586621680486628 :: * -> *) (a6989586621680487327 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)) (a6989586621680487326 :: b6989586621680486633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487329Sym2 a6989586621680487327 a6989586621680487326)
instance forall a6989586621680486632 b6989586621680486633 (t6989586621680486628 :: * -> *) (a6989586621680487326 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487329Sym1 a6989586621680487326)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680487329Sym0
instance forall a6989586621680486634 b6989586621680486635 (t6989586621680486628 :: * -> *) (a6989586621680487352 :: a6989586621680486634 Data.Singletons.Internal.~> (b6989586621680486635 Data.Singletons.Internal.~> b6989586621680486635)) (a6989586621680487351 :: b6989586621680486635). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680487354Sym2 a6989586621680487352 a6989586621680487351)
instance forall a6989586621680486634 b6989586621680486635 (t6989586621680486628 :: * -> *) (a6989586621680487351 :: a6989586621680486634 Data.Singletons.Internal.~> (b6989586621680486635 Data.Singletons.Internal.~> b6989586621680486635)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680487354Sym1 a6989586621680487351)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680487354Sym0
instance forall b6989586621680486636 a6989586621680486637 (t6989586621680486628 :: * -> *) (a6989586621680487382 :: b6989586621680486636 Data.Singletons.Internal.~> (a6989586621680486637 Data.Singletons.Internal.~> b6989586621680486636)) (a6989586621680487381 :: b6989586621680486636). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487384Sym2 a6989586621680487382 a6989586621680487381)
instance forall b6989586621680486636 a6989586621680486637 (t6989586621680486628 :: * -> *) (a6989586621680487381 :: b6989586621680486636 Data.Singletons.Internal.~> (a6989586621680486637 Data.Singletons.Internal.~> b6989586621680486636)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487384Sym1 a6989586621680487381)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680487384Sym0
instance forall b6989586621680486638 a6989586621680486639 (t6989586621680486628 :: * -> *) (a6989586621680487407 :: b6989586621680486638 Data.Singletons.Internal.~> (a6989586621680486639 Data.Singletons.Internal.~> b6989586621680486638)) (a6989586621680487406 :: b6989586621680486638). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487409Sym2 a6989586621680487407 a6989586621680487406)
instance forall b6989586621680486638 a6989586621680486639 (t6989586621680486628 :: * -> *) (a6989586621680487406 :: b6989586621680486638 Data.Singletons.Internal.~> (a6989586621680486639 Data.Singletons.Internal.~> b6989586621680486638)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487409Sym1 a6989586621680487406)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487409Sym0
instance forall a6989586621680486640 (t6989586621680486628 :: * -> *) (a6989586621680487436 :: a6989586621680486640 Data.Singletons.Internal.~> (a6989586621680486640 Data.Singletons.Internal.~> a6989586621680486640)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487438Sym1 a6989586621680487436)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487438Sym0
instance forall a6989586621680486641 (t6989586621680486628 :: * -> *) (a6989586621680487461 :: a6989586621680486641 Data.Singletons.Internal.~> (a6989586621680486641 Data.Singletons.Internal.~> a6989586621680486641)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487463Sym1 a6989586621680487461)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487463Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680487487Sym0
instance forall k (t6989586621680486628 :: k -> *) (a6989586621680486643 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680487496Sym0
instance forall k (t6989586621680486628 :: k -> *) (a6989586621680486644 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680487517Sym0
instance forall a6989586621680486645 (t6989586621680486628 :: * -> *) (a6989586621680487538 :: a6989586621680486645). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680487540Sym1 a6989586621680487538)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680487540Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680487555Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680487568Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680487581Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680487594Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680487524Sym0
instance forall k1 k2 k3 (a_69895866216804875196989586621680487523 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487524Sym1 a_69895866216804875196989586621680487523)
instance forall k1 k2 k3 (t6989586621680487532 :: k1) (a_69895866216804875196989586621680487523 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487524Sym2 t6989586621680487532 a_69895866216804875196989586621680487523)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680487503Sym0
instance forall k1 k2 k3 (a_69895866216804874986989586621680487502 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487503Sym1 a_69895866216804874986989586621680487502)
instance forall k1 k2 k3 (t6989586621680487510 :: k1) (a_69895866216804874986989586621680487502 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487503Sym2 t6989586621680487510 a_69895866216804874986989586621680487502)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487471MfSym0
instance forall k2 k3 k (f6989586621680487469 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487471MfSym1 f6989586621680487469)
instance forall k2 k3 k (xs6989586621680487470 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (f6989586621680487469 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487471MfSym2 xs6989586621680487470 f6989586621680487469)
instance forall k2 k3 k (a6989586621680487472 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (xs6989586621680487470 :: k) (f6989586621680487469 :: GHC.Maybe.Maybe k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487471MfSym3 a6989586621680487472 xs6989586621680487470 f6989586621680487469)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487446MfSym0
instance forall k2 k3 k (f6989586621680487444 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487446MfSym1 f6989586621680487444)
instance forall k2 k3 k (xs6989586621680487445 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k2)) (f6989586621680487444 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487446MfSym2 xs6989586621680487445 f6989586621680487444)
instance forall k2 k3 k (a6989586621680487447 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k2)) (xs6989586621680487445 :: k) (f6989586621680487444 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487446MfSym3 a6989586621680487447 xs6989586621680487445 f6989586621680487444)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487420F'Sym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680487417 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487420F'Sym1 f6989586621680487417)
instance forall k2 k3 k4 k5 k6 k7 (z06989586621680487418 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (f6989586621680487417 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487420F'Sym2 z06989586621680487418 f6989586621680487417)
instance forall k2 k3 k4 k5 k6 k7 (xs6989586621680487419 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (z06989586621680487418 :: k5) (f6989586621680487417 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487420F'Sym3 xs6989586621680487419 z06989586621680487418 f6989586621680487417)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680487421 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (xs6989586621680487419 :: k5) (z06989586621680487418 :: k6) (f6989586621680487417 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487420F'Sym4 a6989586621680487421 xs6989586621680487419 z06989586621680487418 f6989586621680487417)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680487422 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (a6989586621680487421 :: k5) (xs6989586621680487419 :: k6) (z06989586621680487418 :: k3) (f6989586621680487417 :: k4 Data.Singletons.Internal.~> k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487420F'Sym5 a6989586621680487422 a6989586621680487421 xs6989586621680487419 z06989586621680487418 f6989586621680487417)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487365F'Sym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680487362 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487365F'Sym1 f6989586621680487362)
instance forall k2 k3 k4 k5 k6 k7 (z06989586621680487363 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (f6989586621680487362 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487365F'Sym2 z06989586621680487363 f6989586621680487362)
instance forall k2 k3 k4 k5 k6 k7 (xs6989586621680487364 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (z06989586621680487363 :: k5) (f6989586621680487362 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487365F'Sym3 xs6989586621680487364 z06989586621680487363 f6989586621680487362)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680487366 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (xs6989586621680487364 :: k5) (z06989586621680487363 :: k6) (f6989586621680487362 :: k4 Data.Singletons.Internal.~> k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487365F'Sym4 a6989586621680487366 xs6989586621680487364 z06989586621680487363 f6989586621680487362)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680487367 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (a6989586621680487366 :: k5) (xs6989586621680487364 :: k6) (z06989586621680487363 :: k4 Data.Singletons.Internal.~> k7) (f6989586621680487362 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487365F'Sym5 a6989586621680487367 a6989586621680487366 xs6989586621680487364 z06989586621680487363 f6989586621680487362)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487234F'Sym0
instance forall k2 k3 (m6989586621679566974 :: * -> *) a6989586621679566975 k4 k5 b6989586621679566976 (f6989586621680487231 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566974 a6989586621679566975)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487234F'Sym1 f6989586621680487231)
instance forall k2 k3 (m6989586621679566974 :: * -> *) a6989586621679566975 k4 k5 b6989586621679566976 (z06989586621680487232 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566974 a6989586621679566975)) (f6989586621680487231 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487234F'Sym2 z06989586621680487232 f6989586621680487231)
instance forall k2 k3 (m6989586621679566974 :: * -> *) a6989586621679566975 k4 k5 b6989586621679566976 (xs6989586621680487233 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566974 a6989586621679566975)) (z06989586621680487232 :: k4) (f6989586621680487231 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487234F'Sym3 xs6989586621680487233 z06989586621680487232 f6989586621680487231)
instance forall k2 k3 (m6989586621679566974 :: * -> *) a6989586621679566975 k4 k5 b6989586621679566976 (a6989586621680487235 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566974 a6989586621679566975)) (xs6989586621680487233 :: k4) (z06989586621680487232 :: k5) (f6989586621680487231 :: a6989586621679566975 Data.Singletons.Internal.~> m6989586621679566974 b6989586621679566976). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487234F'Sym4 a6989586621680487235 xs6989586621680487233 z06989586621680487232 f6989586621680487231)
instance forall k2 k3 (m6989586621679566974 :: * -> *) a6989586621679566975 k4 k5 b6989586621679566976 (a6989586621680487236 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566974 a6989586621679566975)) (a6989586621680487235 :: k4) (xs6989586621680487233 :: k5) (z06989586621680487232 :: a6989586621679566975 Data.Singletons.Internal.~> m6989586621679566974 b6989586621679566976) (f6989586621680487231 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487234F'Sym5 a6989586621680487236 a6989586621680487235 xs6989586621680487233 z06989586621680487232 f6989586621680487231)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487212F'Sym0
instance forall k2 k3 (m6989586621679566974 :: * -> *) a6989586621679566975 k4 k5 b6989586621679566976 (f6989586621680487209 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566974 a6989586621679566975)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487212F'Sym1 f6989586621680487209)
instance forall k2 k3 (m6989586621679566974 :: * -> *) a6989586621679566975 k4 k5 b6989586621679566976 (z06989586621680487210 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566974 a6989586621679566975)) (f6989586621680487209 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487212F'Sym2 z06989586621680487210 f6989586621680487209)
instance forall k2 k3 (m6989586621679566974 :: * -> *) a6989586621679566975 k4 k5 b6989586621679566976 (xs6989586621680487211 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566974 a6989586621679566975)) (z06989586621680487210 :: k4) (f6989586621680487209 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487212F'Sym3 xs6989586621680487211 z06989586621680487210 f6989586621680487209)
instance forall k2 k3 (m6989586621679566974 :: * -> *) a6989586621679566975 k4 k5 b6989586621679566976 (a6989586621680487213 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566974 a6989586621679566975)) (xs6989586621680487211 :: k4) (z06989586621680487210 :: k5) (f6989586621680487209 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487212F'Sym4 a6989586621680487213 xs6989586621680487211 z06989586621680487210 f6989586621680487209)
instance forall k2 k3 (m6989586621679566974 :: * -> *) a6989586621679566975 k4 k5 b6989586621679566976 (a6989586621680487214 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566974 a6989586621679566975)) (a6989586621680487213 :: k4) (xs6989586621680487211 :: k5) (z06989586621680487210 :: k3) (f6989586621680487209 :: a6989586621679566975 Data.Singletons.Internal.~> m6989586621679566974 b6989586621679566976). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487212F'Sym5 a6989586621680487214 a6989586621680487213 xs6989586621680487211 z06989586621680487210 f6989586621680487209)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487058Max'Sym0
instance forall k1 k2 (cmp6989586621680487056 :: k1 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487058Max'Sym1 cmp6989586621680487056)
instance forall k1 k2 (a_69895866216804870546989586621680487057 :: k1 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> GHC.Types.Ordering)) (cmp6989586621680487056 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487058Max'Sym2 a_69895866216804870546989586621680487057 cmp6989586621680487056)
instance forall k1 k2 (a6989586621680487059 :: k1 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> GHC.Types.Ordering)) (a_69895866216804870546989586621680487057 :: k2) (cmp6989586621680487056 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487058Max'Sym3 a6989586621680487059 a_69895866216804870546989586621680487057 cmp6989586621680487056)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487067Scrutinee_6989586621680486883Sym0
instance forall k2 k3 k4 k5 (x6989586621680487065 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487067Scrutinee_6989586621680486883Sym1 x6989586621680487065)
instance forall k2 k3 k4 k5 (y6989586621680487066 :: k2) (x6989586621680487065 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487067Scrutinee_6989586621680486883Sym2 y6989586621680487066 x6989586621680487065)
instance forall k2 k3 k4 k5 (cmp6989586621680487056 :: k2) (y6989586621680487066 :: k3) (x6989586621680487065 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487067Scrutinee_6989586621680486883Sym3 cmp6989586621680487056 y6989586621680487066 x6989586621680487065)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487033Min'Sym0
instance forall k1 k2 (cmp6989586621680487031 :: k1 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487033Min'Sym1 cmp6989586621680487031)
instance forall k1 k2 (a_69895866216804870296989586621680487032 :: k1 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> GHC.Types.Ordering)) (cmp6989586621680487031 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487033Min'Sym2 a_69895866216804870296989586621680487032 cmp6989586621680487031)
instance forall k1 k2 (a6989586621680487034 :: k1 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> GHC.Types.Ordering)) (a_69895866216804870296989586621680487032 :: k2) (cmp6989586621680487031 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487033Min'Sym3 a6989586621680487034 a_69895866216804870296989586621680487032 cmp6989586621680487031)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487042Scrutinee_6989586621680486885Sym0
instance forall k2 k3 k4 k5 (x6989586621680487040 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487042Scrutinee_6989586621680486885Sym1 x6989586621680487040)
instance forall k2 k3 k4 k5 (y6989586621680487041 :: k2) (x6989586621680487040 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487042Scrutinee_6989586621680486885Sym2 y6989586621680487041 x6989586621680487040)
instance forall k2 k3 k4 k5 (cmp6989586621680487031 :: k2) (y6989586621680487041 :: k3) (x6989586621680487040 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487042Scrutinee_6989586621680486885Sym3 cmp6989586621680487031 y6989586621680487041 x6989586621680487040)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680486997Sym0
instance forall a6989586621679082664 k (p6989586621680486994 :: a6989586621679082664 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680486997Sym1 p6989586621680486994)
instance forall a6989586621679082664 k (y6989586621680486995 :: a6989586621679082664 Data.Singletons.Internal.~> GHC.Types.Bool) (p6989586621680486994 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680486997Sym2 y6989586621680486995 p6989586621680486994)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487000Scrutinee_6989586621680486889Sym0
instance forall k1 k2 k3 (x6989586621680486999 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487000Scrutinee_6989586621680486889Sym1 x6989586621680486999)
instance forall k1 k2 k3 (p6989586621680486994 :: k1) (x6989586621680486999 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487000Scrutinee_6989586621680486889Sym2 p6989586621680486994 x6989586621680486999)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Singletons.Prelude.Foldable.MinInternal a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.TFHelper_6989586621680478556Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Singletons.Prelude.Foldable.MinInternal a)
instance forall a6989586621680478499 (a6989586621680478554 :: Data.Singletons.Prelude.Foldable.MinInternal a6989586621680478499). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.TFHelper_6989586621680478556Sym1 a6989586621680478554)
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.Let6989586621680478571Scrutinee_6989586621680478509Sym0
instance forall k1 (x6989586621680478564 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680478571Scrutinee_6989586621680478509Sym1 x6989586621680478564)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680478566MSym0
instance forall k1 k (x6989586621680478564 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680478566MSym1 x6989586621680478564)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680478566NSym0
instance forall k k1 (x6989586621680478564 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680478566NSym1 x6989586621680478564)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Singletons.Prelude.Foldable.MaxInternal a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.TFHelper_6989586621680478529Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Singletons.Prelude.Foldable.MaxInternal a)
instance forall a6989586621680478491 (a6989586621680478527 :: Data.Singletons.Prelude.Foldable.MaxInternal a6989586621680478491). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.TFHelper_6989586621680478529Sym1 a6989586621680478527)
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.Let6989586621680478544Scrutinee_6989586621680478507Sym0
instance forall k1 (x6989586621680478537 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680478544Scrutinee_6989586621680478507Sym1 x6989586621680478537)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680478539MSym0
instance forall k1 k (x6989586621680478537 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680478539MSym1 x6989586621680478537)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680478539NSym0
instance forall k k1 (x6989586621680478537 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680478539NSym1 x6989586621680478537)
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_6989586621680477091Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Singletons.Prelude.Foldable.Endo a)
instance forall a6989586621680477077 (a6989586621680477089 :: Data.Singletons.Prelude.Foldable.Endo a6989586621680477077). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.TFHelper_6989586621680477091Sym1 a6989586621680477089)
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 type family.
type family Sing :: k -> Type
data SIdentity :: forall a_aiXc. Identity a_aiXc -> Type
[SIdentity] :: forall a_aiXc (n_a1gsX :: a_aiXc). () => {sRunIdentity :: Sing (n_a1gsX :: a_aiXc)} -> SIdentity ('Identity n_a1gsX)
type family RunIdentity (a_a1gsS :: Identity (a_aiXc :: Type)) :: a_aiXc
data IdentitySym0 :: forall (a6989586621679082654 :: Type). (~>) a6989586621679082654 (Identity (a6989586621679082654 :: Type))
type IdentitySym1 (t6989586621679311417 :: a6989586621679082654) = 'Identity t6989586621679311417
data RunIdentitySym0 :: forall (a6989586621679082654 :: Type). (~>) (Identity (a6989586621679082654 :: Type)) a6989586621679082654
type RunIdentitySym1 (a6989586621679311414 :: Identity (a6989586621679082654 :: Type)) = RunIdentity a6989586621679311414
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680719936Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Functor.Identity.Identity
instance forall a6989586621679566975 b6989586621679566976 (a6989586621680719934 :: Data.Functor.Identity.Identity a6989586621679566975). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680719936Sym1 a6989586621680719934)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.LiftA2_6989586621680719920Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Functor.Identity.Identity
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 (a6989586621680719917 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.LiftA2_6989586621680719920Sym1 a6989586621680719917)
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 (a6989586621680719918 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)) (a6989586621680719917 :: Data.Functor.Identity.Identity a6989586621679566954). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.LiftA2_6989586621680719920Sym2 a6989586621680719918 a6989586621680719917)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680719907Sym0
instance forall a6989586621679566952 b6989586621679566953 (a6989586621680719905 :: Data.Functor.Identity.Identity (a6989586621679566952 Data.Singletons.Internal.~> b6989586621679566953)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680719907Sym1 a6989586621680719905)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Pure_6989586621680719897Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.ToList_6989586621680719890Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Functor.Identity.Identity
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Sum_6989586621680719883Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Product_6989586621680719876Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Null_6989586621680719870Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Minimum_6989586621680719863Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Maximum_6989586621680719856Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Length_6989586621680719850Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldr1_6989586621680719840Sym0
instance forall a6989586621680486640 (a6989586621680719838 :: a6989586621680486640 Data.Singletons.Internal.~> (a6989586621680486640 Data.Singletons.Internal.~> a6989586621680486640)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr1_6989586621680719840Sym1 a6989586621680719838)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldr'_6989586621680719818Sym0
instance forall a6989586621680486634 b6989586621680486635 (a6989586621680719815 :: a6989586621680486634 Data.Singletons.Internal.~> (b6989586621680486635 Data.Singletons.Internal.~> b6989586621680486635)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr'_6989586621680719818Sym1 a6989586621680719815)
instance forall a6989586621680486634 b6989586621680486635 (a6989586621680719816 :: a6989586621680486634 Data.Singletons.Internal.~> (b6989586621680486635 Data.Singletons.Internal.~> b6989586621680486635)) (a6989586621680719815 :: b6989586621680486635). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr'_6989586621680719818Sym2 a6989586621680719816 a6989586621680719815)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldr_6989586621680719801Sym0
instance forall a6989586621680486632 b6989586621680486633 (a6989586621680719798 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr_6989586621680719801Sym1 a6989586621680719798)
instance forall a6989586621680486632 b6989586621680486633 (a6989586621680719799 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)) (a6989586621680719798 :: b6989586621680486633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr_6989586621680719801Sym2 a6989586621680719799 a6989586621680719798)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldl1_6989586621680719789Sym0
instance forall a6989586621680486641 (a6989586621680719787 :: a6989586621680486641 Data.Singletons.Internal.~> (a6989586621680486641 Data.Singletons.Internal.~> a6989586621680486641)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl1_6989586621680719789Sym1 a6989586621680719787)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldl'_6989586621680719773Sym0
instance forall b6989586621680486638 a6989586621680486639 (a6989586621680719770 :: b6989586621680486638 Data.Singletons.Internal.~> (a6989586621680486639 Data.Singletons.Internal.~> b6989586621680486638)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl'_6989586621680719773Sym1 a6989586621680719770)
instance forall b6989586621680486638 a6989586621680486639 (a6989586621680719771 :: b6989586621680486638 Data.Singletons.Internal.~> (a6989586621680486639 Data.Singletons.Internal.~> b6989586621680486638)) (a6989586621680719770 :: b6989586621680486638). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl'_6989586621680719773Sym2 a6989586621680719771 a6989586621680719770)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldl_6989586621680719756Sym0
instance forall b6989586621680486636 a6989586621680486637 (a6989586621680719753 :: b6989586621680486636 Data.Singletons.Internal.~> (a6989586621680486637 Data.Singletons.Internal.~> b6989586621680486636)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl_6989586621680719756Sym1 a6989586621680719753)
instance forall b6989586621680486636 a6989586621680486637 (a6989586621680719754 :: b6989586621680486636 Data.Singletons.Internal.~> (a6989586621680486637 Data.Singletons.Internal.~> b6989586621680486636)) (a6989586621680719753 :: b6989586621680486636). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl_6989586621680719756Sym2 a6989586621680719754 a6989586621680719753)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Elem_6989586621680719743Sym0
instance forall a6989586621680486645 (a6989586621680719741 :: a6989586621680486645). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Elem_6989586621680719743Sym1 a6989586621680719741)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.FoldMap_6989586621680719731Sym0
instance forall a6989586621680486631 m6989586621680486630 (a6989586621680719729 :: a6989586621680486631 Data.Singletons.Internal.~> m6989586621680486630). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.FoldMap_6989586621680719731Sym1 a6989586621680719729)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680719712Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Functor.Identity.Identity
instance forall a6989586621679566948 b6989586621679566949 (a6989586621680719710 :: a6989586621679566948). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680719712Sym1 a6989586621680719710)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Lambda_6989586621680719720Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Functor.Identity.Identity
instance forall k1 k2 k3 (_z_69895866216807195366989586621680719718 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Lambda_6989586621680719720Sym1 _z_69895866216807195366989586621680719718)
instance forall k1 k2 k3 (a_69895866216807195426989586621680719719 :: k1) (_z_69895866216807195366989586621680719718 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Lambda_6989586621680719720Sym2 a_69895866216807195426989586621680719719 _z_69895866216807195366989586621680719718)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Fmap_6989586621680719700Sym0
instance forall a6989586621679566946 b6989586621679566947 (a6989586621680719698 :: a6989586621679566946 Data.Singletons.Internal.~> b6989586621679566947). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Fmap_6989586621680719700Sym1 a6989586621680719698)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.ShowsPrec_6989586621680719682Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Functor.Identity.Identity a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.ShowsPrec_6989586621680719682Sym1 a6989586621680719679)
instance forall a6989586621680719183 (a6989586621680719680 :: GHC.Types.Nat) (a6989586621680719679 :: Data.Functor.Identity.Identity a6989586621680719183). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.ShowsPrec_6989586621680719682Sym2 a6989586621680719680 a6989586621680719679)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680719669Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Functor.Identity.Identity a)
instance forall a6989586621680719180 (a6989586621680719667 :: Data.Functor.Identity.Identity a6989586621680719180). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680719669Sym1 a6989586621680719667)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.FromInteger_6989586621680719661Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Functor.Identity.Identity a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Signum_6989586621680719654Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Abs_6989586621680719647Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Negate_6989586621680719640Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680719629Sym0
instance forall a6989586621680719169 (a6989586621680719627 :: Data.Functor.Identity.Identity a6989586621680719169). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680719629Sym1 a6989586621680719627)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680719617Sym0
instance forall a6989586621680719169 (a6989586621680719615 :: Data.Functor.Identity.Identity a6989586621680719169). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680719617Sym1 a6989586621680719615)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680719605Sym0
instance forall a6989586621680719169 (a6989586621680719603 :: Data.Functor.Identity.Identity a6989586621680719169). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680719605Sym1 a6989586621680719603)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Functor.Identity.Identity a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.EnumFromThenTo_6989586621680719587Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Functor.Identity.Identity a)
instance forall a6989586621680719158 (a6989586621680719584 :: Data.Functor.Identity.Identity a6989586621680719158). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.EnumFromThenTo_6989586621680719587Sym1 a6989586621680719584)
instance forall a6989586621680719158 (a6989586621680719585 :: Data.Functor.Identity.Identity a6989586621680719158) (a6989586621680719584 :: Data.Functor.Identity.Identity a6989586621680719158). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.EnumFromThenTo_6989586621680719587Sym2 a6989586621680719585 a6989586621680719584)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.EnumFromTo_6989586621680719574Sym0
instance forall a6989586621680719158 (a6989586621680719572 :: Data.Functor.Identity.Identity a6989586621680719158). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.EnumFromTo_6989586621680719574Sym1 a6989586621680719572)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.FromEnum_6989586621680719566Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.ToEnum_6989586621680719559Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Pred_6989586621680719552Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Succ_6989586621680719545Sym0
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 type family.
type family Sing :: k -> Type
data SConst :: forall (k :: Type) (a :: Type) (b :: k). Const a b -> Type
[SConst] :: {sGetConst :: Sing a} -> SConst ('Const a)
type family GetConst (x_a7jXz :: Const a_a7jXx b_a7jXy) :: a_a7jXx
data ConstSym0 :: forall (a6989586621679090105 :: Type) k6989586621679090104 (b6989586621679090106 :: k6989586621679090104). (~>) a6989586621679090105 (Const (a6989586621679090105 :: Type) (b6989586621679090106 :: k6989586621679090104))
type ConstSym1 (t6989586621680754547 :: a6989586621679090105) = 'Const t6989586621680754547
data GetConstSym0 :: forall a6989586621680754815 b6989586621680754816. (~>) (Const a6989586621680754815 b6989586621680754816) a6989586621680754815
type GetConstSym1 (x6989586621680754817 :: Const a6989586621680754815 b6989586621680754816) = GetConst x6989586621680754817
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_6989586621680756852Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative (Data.Functor.Const.Const m)
instance forall m6989586621680756210 a6989586621679566952 b6989586621679566953 (a6989586621680756850 :: Data.Functor.Const.Const m6989586621680756210 (a6989586621679566952 Data.Singletons.Internal.~> b6989586621679566953)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680756852Sym1 a6989586621680756850)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.LiftA2_6989586621680756837Sym0
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 m6989586621680756210 (a6989586621680756834 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.LiftA2_6989586621680756837Sym1 a6989586621680756834)
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 m6989586621680756210 (a6989586621680756835 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)) (a6989586621680756834 :: Data.Functor.Const.Const m6989586621680756210 a6989586621679566954). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.LiftA2_6989586621680756837Sym2 a6989586621680756835 a6989586621680756834)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Pure_6989586621680756829Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Foldr_6989586621680756803Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable (Data.Functor.Const.Const m)
instance forall a6989586621680486632 b6989586621680486633 m6989586621680756209 (a6989586621680756800 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Foldr_6989586621680756803Sym1 a6989586621680756800)
instance forall a6989586621680486632 b6989586621680486633 m6989586621680756209 (a6989586621680756801 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)) (a6989586621680756800 :: b6989586621680486633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Foldr_6989586621680756803Sym2 a6989586621680756801 a6989586621680756800)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680756814Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable (Data.Functor.Const.Const m)
instance forall k1 k2 k3 k4 k5 (_f_69895866216807565596989586621680756811 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756814Sym1 _f_69895866216807565596989586621680756811)
instance forall k1 k2 k3 k4 k5 (_z_69895866216807565616989586621680756812 :: k1) (_f_69895866216807565596989586621680756811 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756814Sym2 _z_69895866216807565616989586621680756812 _f_69895866216807565596989586621680756811)
instance forall k1 k2 k3 k4 k5 (a_69895866216807565716989586621680756813 :: k1) (_z_69895866216807565616989586621680756812 :: k2) (_f_69895866216807565596989586621680756811 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756814Sym3 a_69895866216807565716989586621680756813 _z_69895866216807565616989586621680756812 _f_69895866216807565596989586621680756811)
instance forall k1 k2 k3 k4 k5 (t6989586621680756818 :: k1) (a_69895866216807565716989586621680756813 :: k2) (_z_69895866216807565616989586621680756812 :: k3) (_f_69895866216807565596989586621680756811 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756814Sym4 t6989586621680756818 a_69895866216807565716989586621680756813 _z_69895866216807565616989586621680756812 _f_69895866216807565596989586621680756811)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.FoldMap_6989586621680756783Sym0
instance forall a6989586621680486631 m6989586621680486630 m6989586621680756209 (a6989586621680756781 :: a6989586621680486631 Data.Singletons.Internal.~> m6989586621680486630). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.FoldMap_6989586621680756783Sym1 a6989586621680756781)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680756791Sym0
instance forall k1 k2 k3 k4 (_f_69895866216807565596989586621680756789 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756791Sym1 _f_69895866216807565596989586621680756789)
instance forall k1 k2 k3 k4 (a_69895866216807565656989586621680756790 :: k1) (_f_69895866216807565596989586621680756789 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756791Sym2 a_69895866216807565656989586621680756790 _f_69895866216807565596989586621680756789)
instance forall a6989586621679566948 k m6989586621680756208 (b6989586621679566949 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680756764Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Functor.Const.Const m)
instance forall a6989586621679566948 k m6989586621680756208 (b6989586621679566949 :: k) (a6989586621680756762 :: a6989586621679566948). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680756764Sym1 a6989586621680756762)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680756772Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Functor.Const.Const m)
instance forall k1 k2 k3 (_z_69895866216807565406989586621680756770 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756772Sym1 _z_69895866216807565406989586621680756770)
instance forall k1 k2 k3 (a_69895866216807565486989586621680756771 :: k1) (_z_69895866216807565406989586621680756770 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756772Sym2 a_69895866216807565486989586621680756771 _z_69895866216807565406989586621680756770)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Fmap_6989586621680756745Sym0
instance forall a6989586621679566946 b6989586621679566947 m6989586621680756208 (a6989586621680756743 :: a6989586621679566946 Data.Singletons.Internal.~> b6989586621679566947). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Fmap_6989586621680756745Sym1 a6989586621680756743)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680756753Sym0
instance forall k1 k2 k3 (_f_69895866216807565386989586621680756751 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756753Sym1 _f_69895866216807565386989586621680756751)
instance forall k1 k2 k3 (a_69895866216807565446989586621680756752 :: k1) (_f_69895866216807565386989586621680756751 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756753Sym2 a_69895866216807565446989586621680756752 _f_69895866216807565386989586621680756751)
instance forall k a6989586621680756204 (b6989586621680756205 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.ShowsPrec_6989586621680756727Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Show.PShow (Data.Functor.Const.Const a b)
instance forall k a6989586621680756204 (b6989586621680756205 :: k) (a6989586621680756724 :: GHC.Types.Nat). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.ShowsPrec_6989586621680756727Sym1 a6989586621680756724)
instance forall k a6989586621680756204 (b6989586621680756205 :: k) (a6989586621680756725 :: GHC.Types.Nat) (a6989586621680756724 :: Data.Functor.Const.Const a6989586621680756204 b6989586621680756205). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.ShowsPrec_6989586621680756727Sym2 a6989586621680756725 a6989586621680756724)
instance forall k a6989586621680756200 (b6989586621680756201 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680756714Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Functor.Const.Const a b)
instance forall k a6989586621680756200 (b6989586621680756201 :: k) (a6989586621680756712 :: Data.Functor.Const.Const a6989586621680756200 b6989586621680756201). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680756714Sym1 a6989586621680756712)
instance forall k a6989586621680756188 (b6989586621680756189 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.FromInteger_6989586621680756706Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Num.PNum (Data.Functor.Const.Const a b)
instance forall k a6989586621680756188 (b6989586621680756189 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Signum_6989586621680756699Sym0
instance forall k a6989586621680756188 (b6989586621680756189 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Abs_6989586621680756692Sym0
instance forall k a6989586621680756188 (b6989586621680756189 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Negate_6989586621680756685Sym0
instance forall k a6989586621680756188 (b6989586621680756189 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680756674Sym0
instance forall k a6989586621680756188 (b6989586621680756189 :: k) (a6989586621680756672 :: Data.Functor.Const.Const a6989586621680756188 b6989586621680756189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680756674Sym1 a6989586621680756672)
instance forall k a6989586621680756188 (b6989586621680756189 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680756662Sym0
instance forall k a6989586621680756188 (b6989586621680756189 :: k) (a6989586621680756660 :: Data.Functor.Const.Const a6989586621680756188 b6989586621680756189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680756662Sym1 a6989586621680756660)
instance forall k a6989586621680756188 (b6989586621680756189 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680756650Sym0
instance forall k a6989586621680756188 (b6989586621680756189 :: k) (a6989586621680756648 :: Data.Functor.Const.Const a6989586621680756188 b6989586621680756189). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680756650Sym1 a6989586621680756648)
instance forall k a (b :: k). Data.Singletons.Prelude.Monoid.PMonoid (Data.Functor.Const.Const a b)
instance forall k a6989586621680756175 (b6989586621680756176 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.EnumFromThenTo_6989586621680756632Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Enum.PEnum (Data.Functor.Const.Const a b)
instance forall k a6989586621680756175 (b6989586621680756176 :: k) (a6989586621680756629 :: Data.Functor.Const.Const a6989586621680756175 b6989586621680756176). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.EnumFromThenTo_6989586621680756632Sym1 a6989586621680756629)
instance forall k a6989586621680756175 (b6989586621680756176 :: k) (a6989586621680756630 :: Data.Functor.Const.Const a6989586621680756175 b6989586621680756176) (a6989586621680756629 :: Data.Functor.Const.Const a6989586621680756175 b6989586621680756176). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.EnumFromThenTo_6989586621680756632Sym2 a6989586621680756630 a6989586621680756629)
instance forall k a6989586621680756175 (b6989586621680756176 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.EnumFromTo_6989586621680756619Sym0
instance forall k a6989586621680756175 (b6989586621680756176 :: k) (a6989586621680756617 :: Data.Functor.Const.Const a6989586621680756175 b6989586621680756176). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.EnumFromTo_6989586621680756619Sym1 a6989586621680756617)
instance forall k a6989586621680756175 (b6989586621680756176 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.FromEnum_6989586621680756611Sym0
instance forall k a6989586621680756175 (b6989586621680756176 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.ToEnum_6989586621680756604Sym0
instance forall k a6989586621680756175 (b6989586621680756176 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Pred_6989586621680756597Sym0
instance forall k a6989586621680756175 (b6989586621680756176 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Succ_6989586621680756590Sym0
instance forall k a6989586621680756173 (b6989586621680756174 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Compare_6989586621680756579Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Ord.POrd (Data.Functor.Const.Const a b)
instance forall k a6989586621680756173 (b6989586621680756174 :: k) (a6989586621680756577 :: Data.Functor.Const.Const a6989586621680756173 b6989586621680756174). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Compare_6989586621680756579Sym1 a6989586621680756577)
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 k a (b :: k). Data.Singletons.Decide.SDecide a => Data.Type.Equality.TestEquality Data.Singletons.Prelude.Const.SConst
instance forall k a (b :: k). Data.Singletons.Decide.SDecide a => Data.Type.Coercion.TestCoercion Data.Singletons.Prelude.Const.SConst
instance forall k a6989586621680754815 (b6989586621680754816 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.GetConstSym0
instance forall a6989586621679090105 k6989586621679090104 (b6989586621679090106 :: k6989586621679090104). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.ConstSym0
instance forall a6989586621679090105 k6989586621679090104 (b6989586621679090106 :: k6989586621679090104). Data.Singletons.Internal.SingI Data.Singletons.Prelude.Const.ConstSym0
instance forall k a (b :: k). Data.Singletons.Internal.SingKind a => Data.Singletons.Internal.SingKind (Data.Functor.Const.Const a b)
instance forall a1 k (b :: k) (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 PTraversable (t_a7umL :: Type -> Type) where {
    type family Traverse (arg_a7umX :: (~>) a_a7umN (f_a7umM b_a7umO)) (arg_a7umY :: t_a7umL a_a7umN) :: f_a7umM (t_a7umL b_a7umO);
    type family SequenceA (arg_a7un1 :: t_a7umL (f_a7umP a_a7umQ)) :: f_a7umP (t_a7umL a_a7umQ);
    type family MapM (arg_a7un3 :: (~>) a_a7umS (m_a7umR b_a7umT)) (arg_a7un4 :: t_a7umL a_a7umS) :: m_a7umR (t_a7umL b_a7umT);
    type family Sequence (arg_a7un7 :: t_a7umL (m_a7umU a_a7umV)) :: m_a7umU (t_a7umL a_a7umV);
    type Traverse a_a7un9 a_a7una = Apply (Apply Traverse_6989586621680794845Sym0 a_a7un9) a_a7una;
    type SequenceA a_a7unn = Apply SequenceA_6989586621680794858Sym0 a_a7unn;
    type MapM a_a7unw a_a7unx = Apply (Apply MapM_6989586621680794868Sym0 a_a7unw) a_a7unx;
    type Sequence a_a7unM = Apply Sequence_6989586621680794883Sym0 a_a7unM;
}
class (SFunctor t_a7umL, SFoldable t_a7umL) => STraversable (t_a7umL :: Type -> Type)
sTraverse :: forall a_a7umN f_a7umM b_a7umO (t_a7unV :: (~>) a_a7umN (f_a7umM b_a7umO)) (t_a7unW :: t_a7umL a_a7umN). (STraversable t_a7umL, SApplicative f_a7umM) => Sing t_a7unV -> Sing t_a7unW -> Sing (Apply (Apply TraverseSym0 t_a7unV) t_a7unW :: f_a7umM (t_a7umL b_a7umO))
sSequenceA :: forall f_a7umP a_a7umQ (t_a7unZ :: t_a7umL (f_a7umP a_a7umQ)). (STraversable t_a7umL, SApplicative f_a7umP) => Sing t_a7unZ -> Sing (Apply SequenceASym0 t_a7unZ :: f_a7umP (t_a7umL a_a7umQ))
sMapM :: forall a_a7umS m_a7umR b_a7umT (t_a7uo1 :: (~>) a_a7umS (m_a7umR b_a7umT)) (t_a7uo2 :: t_a7umL a_a7umS). (STraversable t_a7umL, SMonad m_a7umR) => Sing t_a7uo1 -> Sing t_a7uo2 -> Sing (Apply (Apply MapMSym0 t_a7uo1) t_a7uo2 :: m_a7umR (t_a7umL b_a7umT))
sSequence :: forall m_a7umU a_a7umV (t_a7uo5 :: t_a7umL (m_a7umU a_a7umV)). (STraversable t_a7umL, SMonad m_a7umU) => Sing t_a7uo5 -> Sing (Apply SequenceSym0 t_a7uo5 :: m_a7umU (t_a7umL a_a7umV))
sTraverse :: forall a_a7umN f_a7umM b_a7umO (t_a7unV :: (~>) a_a7umN (f_a7umM b_a7umO)) (t_a7unW :: t_a7umL a_a7umN). (STraversable t_a7umL, (Apply (Apply TraverseSym0 t_a7unV) t_a7unW :: f_a7umM (t_a7umL b_a7umO)) ~ Apply (Apply Traverse_6989586621680794845Sym0 t_a7unV) t_a7unW, SApplicative f_a7umM) => Sing t_a7unV -> Sing t_a7unW -> Sing (Apply (Apply TraverseSym0 t_a7unV) t_a7unW :: f_a7umM (t_a7umL b_a7umO))
sSequenceA :: forall f_a7umP a_a7umQ (t_a7unZ :: t_a7umL (f_a7umP a_a7umQ)). (STraversable t_a7umL, (Apply SequenceASym0 t_a7unZ :: f_a7umP (t_a7umL a_a7umQ)) ~ Apply SequenceA_6989586621680794858Sym0 t_a7unZ, SApplicative f_a7umP) => Sing t_a7unZ -> Sing (Apply SequenceASym0 t_a7unZ :: f_a7umP (t_a7umL a_a7umQ))
sMapM :: forall a_a7umS m_a7umR b_a7umT (t_a7uo1 :: (~>) a_a7umS (m_a7umR b_a7umT)) (t_a7uo2 :: t_a7umL a_a7umS). (STraversable t_a7umL, (Apply (Apply MapMSym0 t_a7uo1) t_a7uo2 :: m_a7umR (t_a7umL b_a7umT)) ~ Apply (Apply MapM_6989586621680794868Sym0 t_a7uo1) t_a7uo2, SMonad m_a7umR) => Sing t_a7uo1 -> Sing t_a7uo2 -> Sing (Apply (Apply MapMSym0 t_a7uo1) t_a7uo2 :: m_a7umR (t_a7umL b_a7umT))
sSequence :: forall m_a7umU a_a7umV (t_a7uo5 :: t_a7umL (m_a7umU a_a7umV)). (STraversable t_a7umL, (Apply SequenceSym0 t_a7uo5 :: m_a7umU (t_a7umL a_a7umV)) ~ Apply Sequence_6989586621680794883Sym0 t_a7uo5, SMonad m_a7umU) => Sing t_a7uo5 -> Sing (Apply SequenceSym0 t_a7uo5 :: m_a7umU (t_a7umL a_a7umV))
type family For (a_a7vWD :: t_a7vO8 a_a7vOa) (a_a7vWE :: (~>) a_a7vOa (f_a7vO9 b_a7vOb)) :: f_a7vO9 (t_a7vO8 b_a7vOb)
sFor :: forall t_a7vO8 a_a7vOa f_a7vO9 b_a7vOb (t_a7w60 :: t_a7vO8 a_a7vOa) (t_a7w61 :: (~>) a_a7vOa (f_a7vO9 b_a7vOb)). (STraversable t_a7vO8, SApplicative f_a7vO9) => Sing t_a7w60 -> Sing t_a7w61 -> Sing (Apply (Apply ForSym0 t_a7w60) t_a7w61 :: f_a7vO9 (t_a7vO8 b_a7vOb))
type family ForM (a_a7vWt :: t_a7vO4 a_a7vO6) (a_a7vWu :: (~>) a_a7vO6 (m_a7vO5 b_a7vO7)) :: m_a7vO5 (t_a7vO4 b_a7vO7)
sForM :: forall t_a7vO4 a_a7vO6 m_a7vO5 b_a7vO7 (t_a7w5W :: t_a7vO4 a_a7vO6) (t_a7w5X :: (~>) a_a7vO6 (m_a7vO5 b_a7vO7)). (STraversable t_a7vO4, SMonad m_a7vO5) => Sing t_a7w5W -> Sing t_a7w5X -> Sing (Apply (Apply ForMSym0 t_a7w5W) t_a7w5X :: m_a7vO5 (t_a7vO4 b_a7vO7))
type family MapAccumL (a_a7vW8 :: (~>) a_a7vO1 ((~>) b_a7vO2 (a_a7vO1, c_a7vO3))) (a_a7vW9 :: a_a7vO1) (a_a7vWa :: t_a7vO0 b_a7vO2) :: (a_a7vO1, t_a7vO0 c_a7vO3)
sMapAccumL :: forall a_a7vO1 b_a7vO2 c_a7vO3 t_a7vO0 (t_a7w5Q :: (~>) a_a7vO1 ((~>) b_a7vO2 (a_a7vO1, c_a7vO3))) (t_a7w5R :: a_a7vO1) (t_a7w5S :: t_a7vO0 b_a7vO2). STraversable t_a7vO0 => Sing t_a7w5Q -> Sing t_a7w5R -> Sing t_a7w5S -> Sing (Apply (Apply (Apply MapAccumLSym0 t_a7w5Q) t_a7w5R) t_a7w5S :: (a_a7vO1, t_a7vO0 c_a7vO3))
type family MapAccumR (a_a7vVR :: (~>) a_a7vNX ((~>) b_a7vNY (a_a7vNX, c_a7vNZ))) (a_a7vVS :: a_a7vNX) (a_a7vVT :: t_a7vNW b_a7vNY) :: (a_a7vNX, t_a7vNW c_a7vNZ)
sMapAccumR :: forall a_a7vNX b_a7vNY c_a7vNZ t_a7vNW (t_a7w5K :: (~>) a_a7vNX ((~>) b_a7vNY (a_a7vNX, c_a7vNZ))) (t_a7w5L :: a_a7vNX) (t_a7w5M :: t_a7vNW b_a7vNY). STraversable t_a7vNW => Sing t_a7w5K -> Sing t_a7w5L -> Sing t_a7w5M -> Sing (Apply (Apply (Apply MapAccumRSym0 t_a7w5K) t_a7w5L) t_a7w5M :: (a_a7vNX, t_a7vNW c_a7vNZ))
type family FmapDefault (a_a7vVE :: (~>) a_a7vNU b_a7vNV) (a_a7vVF :: t_a7vNT a_a7vNU) :: t_a7vNT b_a7vNV
sFmapDefault :: forall a_a7vNU b_a7vNV t_a7vNT (t_a7w5G :: (~>) a_a7vNU b_a7vNV) (t_a7w5H :: t_a7vNT a_a7vNU). STraversable t_a7vNT => Sing t_a7w5G -> Sing t_a7w5H -> Sing (Apply (Apply FmapDefaultSym0 t_a7w5G) t_a7w5H :: t_a7vNT b_a7vNV)
type family FoldMapDefault (a_a7vVj :: (~>) a_a7vNS m_a7vNR) (a_a7vVk :: t_a7vNQ a_a7vNS) :: m_a7vNR
sFoldMapDefault :: forall a_a7vNS m_a7vNR t_a7vNQ (t_a7w5C :: (~>) a_a7vNS m_a7vNR) (t_a7w5D :: t_a7vNQ a_a7vNS). (STraversable t_a7vNQ, SMonoid m_a7vNR) => Sing t_a7w5C -> Sing t_a7w5D -> Sing (Apply (Apply FoldMapDefaultSym0 t_a7w5C) t_a7w5D :: m_a7vNR)
data TraverseSym0 :: forall a6989586621680794821 f6989586621680794820 b6989586621680794822 t6989586621680794819. (~>) ((~>) a6989586621680794821 (f6989586621680794820 b6989586621680794822)) ((~>) (t6989586621680794819 a6989586621680794821) (f6989586621680794820 (t6989586621680794819 b6989586621680794822)))
data TraverseSym1 (arg6989586621680794831 :: (~>) a6989586621680794821 (f6989586621680794820 b6989586621680794822)) :: forall t6989586621680794819. (~>) (t6989586621680794819 a6989586621680794821) (f6989586621680794820 (t6989586621680794819 b6989586621680794822))
type TraverseSym2 (arg6989586621680794831 :: (~>) a6989586621680794821 (f6989586621680794820 b6989586621680794822)) (arg6989586621680794832 :: t6989586621680794819 a6989586621680794821) = Traverse arg6989586621680794831 arg6989586621680794832
data SequenceASym0 :: forall t6989586621680794819 f6989586621680794823 a6989586621680794824. (~>) (t6989586621680794819 (f6989586621680794823 a6989586621680794824)) (f6989586621680794823 (t6989586621680794819 a6989586621680794824))
type SequenceASym1 (arg6989586621680794835 :: t6989586621680794819 (f6989586621680794823 a6989586621680794824)) = SequenceA arg6989586621680794835
data MapMSym0 :: forall a6989586621680794826 m6989586621680794825 b6989586621680794827 t6989586621680794819. (~>) ((~>) a6989586621680794826 (m6989586621680794825 b6989586621680794827)) ((~>) (t6989586621680794819 a6989586621680794826) (m6989586621680794825 (t6989586621680794819 b6989586621680794827)))
data MapMSym1 (arg6989586621680794837 :: (~>) a6989586621680794826 (m6989586621680794825 b6989586621680794827)) :: forall t6989586621680794819. (~>) (t6989586621680794819 a6989586621680794826) (m6989586621680794825 (t6989586621680794819 b6989586621680794827))
type MapMSym2 (arg6989586621680794837 :: (~>) a6989586621680794826 (m6989586621680794825 b6989586621680794827)) (arg6989586621680794838 :: t6989586621680794819 a6989586621680794826) = MapM arg6989586621680794837 arg6989586621680794838
data SequenceSym0 :: forall t6989586621680794819 m6989586621680794828 a6989586621680794829. (~>) (t6989586621680794819 (m6989586621680794828 a6989586621680794829)) (m6989586621680794828 (t6989586621680794819 a6989586621680794829))
type SequenceSym1 (arg6989586621680794841 :: t6989586621680794819 (m6989586621680794828 a6989586621680794829)) = Sequence arg6989586621680794841
data ForSym0 :: forall t6989586621680800360 a6989586621680800362 f6989586621680800361 b6989586621680800363. (~>) (t6989586621680800360 a6989586621680800362) ((~>) ((~>) a6989586621680800362 (f6989586621680800361 b6989586621680800363)) (f6989586621680800361 (t6989586621680800360 b6989586621680800363)))
data ForSym1 (a6989586621680800887 :: t6989586621680800360 a6989586621680800362) :: forall f6989586621680800361 b6989586621680800363. (~>) ((~>) a6989586621680800362 (f6989586621680800361 b6989586621680800363)) (f6989586621680800361 (t6989586621680800360 b6989586621680800363))
type ForSym2 (a6989586621680800887 :: t6989586621680800360 a6989586621680800362) (a6989586621680800888 :: (~>) a6989586621680800362 (f6989586621680800361 b6989586621680800363)) = For a6989586621680800887 a6989586621680800888
data ForMSym0 :: forall t6989586621680800356 a6989586621680800358 m6989586621680800357 b6989586621680800359. (~>) (t6989586621680800356 a6989586621680800358) ((~>) ((~>) a6989586621680800358 (m6989586621680800357 b6989586621680800359)) (m6989586621680800357 (t6989586621680800356 b6989586621680800359)))
data ForMSym1 (a6989586621680800877 :: t6989586621680800356 a6989586621680800358) :: forall m6989586621680800357 b6989586621680800359. (~>) ((~>) a6989586621680800358 (m6989586621680800357 b6989586621680800359)) (m6989586621680800357 (t6989586621680800356 b6989586621680800359))
type ForMSym2 (a6989586621680800877 :: t6989586621680800356 a6989586621680800358) (a6989586621680800878 :: (~>) a6989586621680800358 (m6989586621680800357 b6989586621680800359)) = ForM a6989586621680800877 a6989586621680800878
data MapAccumLSym0 :: forall a6989586621680800353 b6989586621680800354 c6989586621680800355 t6989586621680800352. (~>) ((~>) a6989586621680800353 ((~>) b6989586621680800354 (a6989586621680800353, c6989586621680800355))) ((~>) a6989586621680800353 ((~>) (t6989586621680800352 b6989586621680800354) (a6989586621680800353, t6989586621680800352 c6989586621680800355)))
data MapAccumLSym1 (a6989586621680800856 :: (~>) a6989586621680800353 ((~>) b6989586621680800354 (a6989586621680800353, c6989586621680800355))) :: forall t6989586621680800352. (~>) a6989586621680800353 ((~>) (t6989586621680800352 b6989586621680800354) (a6989586621680800353, t6989586621680800352 c6989586621680800355))
data MapAccumLSym2 (a6989586621680800856 :: (~>) a6989586621680800353 ((~>) b6989586621680800354 (a6989586621680800353, c6989586621680800355))) (a6989586621680800857 :: a6989586621680800353) :: forall t6989586621680800352. (~>) (t6989586621680800352 b6989586621680800354) (a6989586621680800353, t6989586621680800352 c6989586621680800355)
type MapAccumLSym3 (a6989586621680800856 :: (~>) a6989586621680800353 ((~>) b6989586621680800354 (a6989586621680800353, c6989586621680800355))) (a6989586621680800857 :: a6989586621680800353) (a6989586621680800858 :: t6989586621680800352 b6989586621680800354) = MapAccumL a6989586621680800856 a6989586621680800857 a6989586621680800858
data MapAccumRSym0 :: forall a6989586621680800349 b6989586621680800350 c6989586621680800351 t6989586621680800348. (~>) ((~>) a6989586621680800349 ((~>) b6989586621680800350 (a6989586621680800349, c6989586621680800351))) ((~>) a6989586621680800349 ((~>) (t6989586621680800348 b6989586621680800350) (a6989586621680800349, t6989586621680800348 c6989586621680800351)))
data MapAccumRSym1 (a6989586621680800839 :: (~>) a6989586621680800349 ((~>) b6989586621680800350 (a6989586621680800349, c6989586621680800351))) :: forall t6989586621680800348. (~>) a6989586621680800349 ((~>) (t6989586621680800348 b6989586621680800350) (a6989586621680800349, t6989586621680800348 c6989586621680800351))
data MapAccumRSym2 (a6989586621680800839 :: (~>) a6989586621680800349 ((~>) b6989586621680800350 (a6989586621680800349, c6989586621680800351))) (a6989586621680800840 :: a6989586621680800349) :: forall t6989586621680800348. (~>) (t6989586621680800348 b6989586621680800350) (a6989586621680800349, t6989586621680800348 c6989586621680800351)
type MapAccumRSym3 (a6989586621680800839 :: (~>) a6989586621680800349 ((~>) b6989586621680800350 (a6989586621680800349, c6989586621680800351))) (a6989586621680800840 :: a6989586621680800349) (a6989586621680800841 :: t6989586621680800348 b6989586621680800350) = MapAccumR a6989586621680800839 a6989586621680800840 a6989586621680800841
data FmapDefaultSym0 :: forall a6989586621680800346 b6989586621680800347 t6989586621680800345. (~>) ((~>) a6989586621680800346 b6989586621680800347) ((~>) (t6989586621680800345 a6989586621680800346) (t6989586621680800345 b6989586621680800347))
data FmapDefaultSym1 (a6989586621680800826 :: (~>) a6989586621680800346 b6989586621680800347) :: forall t6989586621680800345. (~>) (t6989586621680800345 a6989586621680800346) (t6989586621680800345 b6989586621680800347)
type FmapDefaultSym2 (a6989586621680800826 :: (~>) a6989586621680800346 b6989586621680800347) (a6989586621680800827 :: t6989586621680800345 a6989586621680800346) = FmapDefault a6989586621680800826 a6989586621680800827
data FoldMapDefaultSym0 :: forall a6989586621680800344 m6989586621680800343 t6989586621680800342. (~>) ((~>) a6989586621680800344 m6989586621680800343) ((~>) (t6989586621680800342 a6989586621680800344) m6989586621680800343)
data FoldMapDefaultSym1 (a6989586621680800805 :: (~>) a6989586621680800344 m6989586621680800343) :: forall t6989586621680800342. (~>) (t6989586621680800342 a6989586621680800344) m6989586621680800343
type FoldMapDefaultSym2 (a6989586621680800805 :: (~>) a6989586621680800344 m6989586621680800343) (a6989586621680800806 :: t6989586621680800342 a6989586621680800344) = FoldMapDefault a6989586621680800805 a6989586621680800806
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.LiftA2_6989586621680801369Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative (Data.Singletons.Prelude.Traversable.StateR s)
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 s6989586621680800403 (a6989586621680801366 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680801369Sym1 a6989586621680801366)
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 s6989586621680800403 (a6989586621680801367 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)) (a6989586621680801366 :: Data.Singletons.Prelude.Traversable.StateR s6989586621680800403 a6989586621679566954). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680801369Sym2 a6989586621680801367 a6989586621680801366)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680801380Sym0
instance Data.Singletons.Prelude.Monad.Internal.SApplicative (Data.Singletons.Prelude.Traversable.StateR s)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680801377 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801380Sym1 f6989586621680801377)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680801378 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (f6989586621680801377 :: k5 Data.Singletons.Internal.~> (k6, k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801380Sym2 kx6989586621680801378 f6989586621680801377)
instance forall k2 k3 k4 k5 k6 k7 (ky6989586621680801379 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (kx6989586621680801378 :: k5 Data.Singletons.Internal.~> (k6, k2)) (f6989586621680801377 :: k7 Data.Singletons.Internal.~> (k5, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801380Sym3 ky6989586621680801379 kx6989586621680801378 f6989586621680801377)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801383X_6989586621680801384Sym0
instance forall k1 k2 k3 k4 (s6989586621680801382 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801383X_6989586621680801384Sym1 s6989586621680801382)
instance forall k1 k2 k3 k4 (f6989586621680801377 :: k1) (s6989586621680801382 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801383X_6989586621680801384Sym2 f6989586621680801377 s6989586621680801382)
instance forall k1 k2 k3 k4 (kx6989586621680801378 :: k1) (f6989586621680801377 :: k2) (s6989586621680801382 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801383X_6989586621680801384Sym3 kx6989586621680801378 f6989586621680801377 s6989586621680801382)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801383YSym0
instance forall k1 k2 k3 k4 k5 (s6989586621680801382 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801383YSym1 s6989586621680801382)
instance forall k1 k2 k3 k4 k5 (f6989586621680801377 :: k1) (s6989586621680801382 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801383YSym2 f6989586621680801377 s6989586621680801382)
instance forall k1 k2 k3 k4 k5 (kx6989586621680801378 :: k1) (f6989586621680801377 :: k2) (s6989586621680801382 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801383YSym3 kx6989586621680801378 f6989586621680801377 s6989586621680801382)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801383S'Sym0
instance forall k1 k2 k3 k4 k5 (s6989586621680801382 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801383S'Sym1 s6989586621680801382)
instance forall k1 k2 k3 k4 k5 (f6989586621680801377 :: k1) (s6989586621680801382 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801383S'Sym2 f6989586621680801377 s6989586621680801382)
instance forall k1 k2 k3 k4 k5 (kx6989586621680801378 :: k1) (f6989586621680801377 :: k2) (s6989586621680801382 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801383S'Sym3 kx6989586621680801378 f6989586621680801377 s6989586621680801382)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801383X_6989586621680801390Sym0
instance forall k2 k3 k4 k5 k6 (s6989586621680801382 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801383X_6989586621680801390Sym1 s6989586621680801382)
instance forall k2 k3 k4 k5 k6 (f6989586621680801377 :: k2) (s6989586621680801382 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801383X_6989586621680801390Sym2 f6989586621680801377 s6989586621680801382)
instance forall k2 k3 k4 k5 k6 (kx6989586621680801378 :: k2) (f6989586621680801377 :: k3) (s6989586621680801382 :: k4 Data.Singletons.Internal.~> k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801383X_6989586621680801390Sym3 kx6989586621680801378 f6989586621680801377 s6989586621680801382)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801383XSym0
instance forall k2 k3 k4 k5 k6 k7 (s6989586621680801382 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801383XSym1 s6989586621680801382)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680801377 :: k2) (s6989586621680801382 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801383XSym2 f6989586621680801377 s6989586621680801382)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680801378 :: k2) (f6989586621680801377 :: k3) (s6989586621680801382 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801383XSym3 kx6989586621680801378 f6989586621680801377 s6989586621680801382)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801383S''Sym0
instance forall k2 k3 k4 k5 k6 k7 (s6989586621680801382 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801383S''Sym1 s6989586621680801382)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680801377 :: k2) (s6989586621680801382 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801383S''Sym2 f6989586621680801377 s6989586621680801382)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680801378 :: k2) (f6989586621680801377 :: k3) (s6989586621680801382 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801383S''Sym3 kx6989586621680801378 f6989586621680801377 s6989586621680801382)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.TFHelper_6989586621680801302Sym0
instance forall s6989586621680800403 a6989586621679566952 b6989586621679566953 (a6989586621680801300 :: Data.Singletons.Prelude.Traversable.StateR s6989586621680800403 (a6989586621679566952 Data.Singletons.Internal.~> b6989586621679566953)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.TFHelper_6989586621680801302Sym1 a6989586621680801300)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680801310Sym0
instance forall k2 k3 k4 k5 k6 (kf6989586621680801308 :: k2 Data.Singletons.Internal.~> (k3, k4 Data.Singletons.Internal.~> k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801310Sym1 kf6989586621680801308)
instance forall k2 k3 k4 k5 k6 (kv6989586621680801309 :: k2 Data.Singletons.Internal.~> (k3, k4 Data.Singletons.Internal.~> k5)) (kf6989586621680801308 :: k6 Data.Singletons.Internal.~> (k2, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801310Sym2 kv6989586621680801309 kf6989586621680801308)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801313X_6989586621680801314Sym0
instance forall k1 k2 k3 (s6989586621680801312 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801313X_6989586621680801314Sym1 s6989586621680801312)
instance forall k1 k2 k3 (kf6989586621680801308 :: k1) (s6989586621680801312 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801313X_6989586621680801314Sym2 kf6989586621680801308 s6989586621680801312)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801313VSym0
instance forall k1 k2 k3 k4 (s6989586621680801312 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801313VSym1 s6989586621680801312)
instance forall k1 k2 k3 k4 (kf6989586621680801308 :: k1) (s6989586621680801312 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801313VSym2 kf6989586621680801308 s6989586621680801312)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801313S'Sym0
instance forall k1 k2 k3 k4 (s6989586621680801312 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801313S'Sym1 s6989586621680801312)
instance forall k1 k2 k3 k4 (kf6989586621680801308 :: k1) (s6989586621680801312 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801313S'Sym2 kf6989586621680801308 s6989586621680801312)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801313X_6989586621680801320Sym0
instance forall k2 k3 k4 k5 (s6989586621680801312 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801313X_6989586621680801320Sym1 s6989586621680801312)
instance forall k2 k3 k4 k5 (kf6989586621680801308 :: k2) (s6989586621680801312 :: k3 Data.Singletons.Internal.~> k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801313X_6989586621680801320Sym2 kf6989586621680801308 s6989586621680801312)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801313FSym0
instance forall k2 k3 k4 k5 k6 (s6989586621680801312 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801313FSym1 s6989586621680801312)
instance forall k2 k3 k4 k5 k6 (kf6989586621680801308 :: k2) (s6989586621680801312 :: k3 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801313FSym2 kf6989586621680801308 s6989586621680801312)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801313S''Sym0
instance forall k2 k3 k4 k5 k6 (s6989586621680801312 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801313S''Sym1 s6989586621680801312)
instance forall k2 k3 k4 k5 k6 (kf6989586621680801308 :: k2) (s6989586621680801312 :: k3 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801313S''Sym2 kf6989586621680801308 s6989586621680801312)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Pure_6989586621680801288Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680801293Sym0
instance forall k2 k3 (x6989586621680801292 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801293Sym1 x6989586621680801292)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Fmap_6989586621680801246Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Singletons.Prelude.Traversable.StateR s)
instance forall a6989586621679566946 b6989586621679566947 s6989586621680800397 (a6989586621680801244 :: a6989586621679566946 Data.Singletons.Internal.~> b6989586621679566947). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Fmap_6989586621680801246Sym1 a6989586621680801244)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680801254Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Singletons.Prelude.Traversable.StateR s)
instance forall k2 k3 k4 k (f6989586621680801252 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801254Sym1 f6989586621680801252)
instance forall k2 k3 k4 k (k6989586621680801253 :: k2 Data.Singletons.Internal.~> k3) (f6989586621680801252 :: k4 Data.Singletons.Internal.~> (k, k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801254Sym2 k6989586621680801253 f6989586621680801252)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801257X_6989586621680801258Sym0
instance forall k1 k2 k3 (s6989586621680801256 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801257X_6989586621680801258Sym1 s6989586621680801256)
instance forall k1 k2 k3 (f6989586621680801252 :: k1) (s6989586621680801256 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801257X_6989586621680801258Sym2 f6989586621680801252 s6989586621680801256)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801257VSym0
instance forall k1 k2 k3 k4 (s6989586621680801256 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801257VSym1 s6989586621680801256)
instance forall k1 k2 k3 k4 (f6989586621680801252 :: k1) (s6989586621680801256 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801257VSym2 f6989586621680801252 s6989586621680801256)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801257S'Sym0
instance forall k1 k2 k3 k4 (s6989586621680801256 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801257S'Sym1 s6989586621680801256)
instance forall k1 k2 k3 k4 (f6989586621680801252 :: k1) (s6989586621680801256 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801257S'Sym2 f6989586621680801252 s6989586621680801256)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.LiftA2_6989586621680801169Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative (Data.Singletons.Prelude.Traversable.StateL s)
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 s6989586621680800379 (a6989586621680801166 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680801169Sym1 a6989586621680801166)
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 s6989586621680800379 (a6989586621680801167 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)) (a6989586621680801166 :: Data.Singletons.Prelude.Traversable.StateL s6989586621680800379 a6989586621679566954). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680801169Sym2 a6989586621680801167 a6989586621680801166)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680801180Sym0
instance Data.Singletons.Prelude.Monad.Internal.SApplicative (Data.Singletons.Prelude.Traversable.StateL s)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680801177 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801180Sym1 f6989586621680801177)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680801178 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (f6989586621680801177 :: k5 Data.Singletons.Internal.~> (k6, k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801180Sym2 kx6989586621680801178 f6989586621680801177)
instance forall k2 k3 k4 k5 k6 k7 (ky6989586621680801179 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (kx6989586621680801178 :: k5 Data.Singletons.Internal.~> (k6, k2)) (f6989586621680801177 :: k6 Data.Singletons.Internal.~> (k7, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801180Sym3 ky6989586621680801179 kx6989586621680801178 f6989586621680801177)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801183X_6989586621680801184Sym0
instance forall k1 k2 k3 k4 (s6989586621680801182 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801183X_6989586621680801184Sym1 s6989586621680801182)
instance forall k1 k2 k3 k4 (f6989586621680801177 :: k1) (s6989586621680801182 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801183X_6989586621680801184Sym2 f6989586621680801177 s6989586621680801182)
instance forall k1 k2 k3 k4 (kx6989586621680801178 :: k1) (f6989586621680801177 :: k2) (s6989586621680801182 :: k1 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801183X_6989586621680801184Sym3 kx6989586621680801178 f6989586621680801177 s6989586621680801182)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801183XSym0
instance forall k1 k2 k3 k4 k5 (s6989586621680801182 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801183XSym1 s6989586621680801182)
instance forall k1 k2 k3 k4 k5 (f6989586621680801177 :: k1) (s6989586621680801182 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801183XSym2 f6989586621680801177 s6989586621680801182)
instance forall k1 k2 k3 k4 k5 (kx6989586621680801178 :: k1) (f6989586621680801177 :: k2) (s6989586621680801182 :: k1 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801183XSym3 kx6989586621680801178 f6989586621680801177 s6989586621680801182)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801183S'Sym0
instance forall k1 k2 k3 k4 k5 (s6989586621680801182 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801183S'Sym1 s6989586621680801182)
instance forall k1 k2 k3 k4 k5 (f6989586621680801177 :: k1) (s6989586621680801182 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801183S'Sym2 f6989586621680801177 s6989586621680801182)
instance forall k1 k2 k3 k4 k5 (kx6989586621680801178 :: k1) (f6989586621680801177 :: k2) (s6989586621680801182 :: k1 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801183S'Sym3 kx6989586621680801178 f6989586621680801177 s6989586621680801182)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801183X_6989586621680801190Sym0
instance forall k2 k3 k4 k5 k6 (s6989586621680801182 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801183X_6989586621680801190Sym1 s6989586621680801182)
instance forall k2 k3 k4 k5 k6 (f6989586621680801177 :: k2) (s6989586621680801182 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801183X_6989586621680801190Sym2 f6989586621680801177 s6989586621680801182)
instance forall k2 k3 k4 k5 k6 (kx6989586621680801178 :: k2) (f6989586621680801177 :: k3) (s6989586621680801182 :: k2 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801183X_6989586621680801190Sym3 kx6989586621680801178 f6989586621680801177 s6989586621680801182)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801183YSym0
instance forall k2 k3 k4 k5 k6 k7 (s6989586621680801182 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801183YSym1 s6989586621680801182)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680801177 :: k2) (s6989586621680801182 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801183YSym2 f6989586621680801177 s6989586621680801182)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680801178 :: k2) (f6989586621680801177 :: k3) (s6989586621680801182 :: k2 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801183YSym3 kx6989586621680801178 f6989586621680801177 s6989586621680801182)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801183S''Sym0
instance forall k2 k3 k4 k5 k6 k7 (s6989586621680801182 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801183S''Sym1 s6989586621680801182)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680801177 :: k2) (s6989586621680801182 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801183S''Sym2 f6989586621680801177 s6989586621680801182)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680801178 :: k2) (f6989586621680801177 :: k3) (s6989586621680801182 :: k2 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801183S''Sym3 kx6989586621680801178 f6989586621680801177 s6989586621680801182)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.TFHelper_6989586621680801102Sym0
instance forall s6989586621680800379 a6989586621679566952 b6989586621679566953 (a6989586621680801100 :: Data.Singletons.Prelude.Traversable.StateL s6989586621680800379 (a6989586621679566952 Data.Singletons.Internal.~> b6989586621679566953)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.TFHelper_6989586621680801102Sym1 a6989586621680801100)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680801110Sym0
instance forall k2 k3 k4 k5 k (kf6989586621680801108 :: k2 Data.Singletons.Internal.~> (k3, k4 Data.Singletons.Internal.~> k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801110Sym1 kf6989586621680801108)
instance forall k2 k3 k4 k5 k (kv6989586621680801109 :: k2 Data.Singletons.Internal.~> (k3, k4 Data.Singletons.Internal.~> k5)) (kf6989586621680801108 :: k3 Data.Singletons.Internal.~> (k, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801110Sym2 kv6989586621680801109 kf6989586621680801108)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801113X_6989586621680801114Sym0
instance forall k1 k2 k3 (s6989586621680801112 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801113X_6989586621680801114Sym1 s6989586621680801112)
instance forall k1 k2 k3 (kf6989586621680801108 :: k1) (s6989586621680801112 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801113X_6989586621680801114Sym2 kf6989586621680801108 s6989586621680801112)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801113FSym0
instance forall k1 k2 k3 k4 (s6989586621680801112 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801113FSym1 s6989586621680801112)
instance forall k1 k2 k3 k4 (kf6989586621680801108 :: k1) (s6989586621680801112 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801113FSym2 kf6989586621680801108 s6989586621680801112)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801113S'Sym0
instance forall k1 k2 k3 k4 (s6989586621680801112 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801113S'Sym1 s6989586621680801112)
instance forall k1 k2 k3 k4 (kf6989586621680801108 :: k1) (s6989586621680801112 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801113S'Sym2 kf6989586621680801108 s6989586621680801112)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801113X_6989586621680801120Sym0
instance forall k2 k3 k4 k5 (s6989586621680801112 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801113X_6989586621680801120Sym1 s6989586621680801112)
instance forall k2 k3 k4 k5 (kf6989586621680801108 :: k2) (s6989586621680801112 :: k2 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801113X_6989586621680801120Sym2 kf6989586621680801108 s6989586621680801112)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801113VSym0
instance forall k2 k3 k4 k5 k6 (s6989586621680801112 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801113VSym1 s6989586621680801112)
instance forall k2 k3 k4 k5 k6 (kf6989586621680801108 :: k2) (s6989586621680801112 :: k2 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801113VSym2 kf6989586621680801108 s6989586621680801112)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801113S''Sym0
instance forall k2 k3 k4 k5 k6 (s6989586621680801112 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801113S''Sym1 s6989586621680801112)
instance forall k2 k3 k4 k5 k6 (kf6989586621680801108 :: k2) (s6989586621680801112 :: k2 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801113S''Sym2 kf6989586621680801108 s6989586621680801112)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Pure_6989586621680801088Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680801093Sym0
instance forall k2 k3 (x6989586621680801092 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801093Sym1 x6989586621680801092)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Fmap_6989586621680801046Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Singletons.Prelude.Traversable.StateL s)
instance forall a6989586621679566946 b6989586621679566947 s6989586621680800373 (a6989586621680801044 :: a6989586621679566946 Data.Singletons.Internal.~> b6989586621679566947). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Fmap_6989586621680801046Sym1 a6989586621680801044)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680801054Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Singletons.Prelude.Traversable.StateL s)
instance forall k2 k3 k4 k (f6989586621680801052 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801054Sym1 f6989586621680801052)
instance forall k2 k3 k4 k (k6989586621680801053 :: k2 Data.Singletons.Internal.~> k3) (f6989586621680801052 :: k4 Data.Singletons.Internal.~> (k, k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801054Sym2 k6989586621680801053 f6989586621680801052)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801057X_6989586621680801058Sym0
instance forall k1 k2 k3 (s6989586621680801056 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801057X_6989586621680801058Sym1 s6989586621680801056)
instance forall k1 k2 k3 (f6989586621680801052 :: k1) (s6989586621680801056 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801057X_6989586621680801058Sym2 f6989586621680801052 s6989586621680801056)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801057VSym0
instance forall k1 k2 k3 k4 (s6989586621680801056 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801057VSym1 s6989586621680801056)
instance forall k1 k2 k3 k4 (f6989586621680801052 :: k1) (s6989586621680801056 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801057VSym2 f6989586621680801052 s6989586621680801056)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801057S'Sym0
instance forall k1 k2 k3 k4 (s6989586621680801056 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801057S'Sym1 s6989586621680801056)
instance forall k1 k2 k3 k4 (f6989586621680801052 :: k1) (s6989586621680801056 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801057S'Sym2 f6989586621680801052 s6989586621680801056)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680801034Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Functor.Identity.Identity
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 (a6989586621680801032 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680801034Sym1 a6989586621680801032)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680801022Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Monoid.Last
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 (a6989586621680801020 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680801022Sym1 a6989586621680801020)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680801010Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Monoid.First
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 (a6989586621680801008 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680801010Sym1 a6989586621680801008)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800998Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Internal.Product
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 (a6989586621680800996 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800998Sym1 a6989586621680800996)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800986Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Internal.Sum
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 (a6989586621680800984 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800986Sym1 a6989586621680800984)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800974Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Internal.Dual
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 (a6989586621680800972 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800974Sym1 a6989586621680800972)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800962Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable (Data.Functor.Const.Const m)
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 m6989586621680800372 (a6989586621680800960 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800962Sym1 a6989586621680800960)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800949Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable ((,) a)
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 a6989586621680800371 (a6989586621680800947 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800949Sym1 a6989586621680800947)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800935Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable (Data.Either.Either a)
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 a6989586621680800370 (a6989586621680800933 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800935Sym1 a6989586621680800933)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800922Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable GHC.Base.NonEmpty
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 (a6989586621680800920 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800922Sym1 a6989586621680800920)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800908Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable []
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 (a6989586621680800906 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800908Sym1 a6989586621680800906)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800895Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable GHC.Maybe.Maybe
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 (a6989586621680800893 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800895Sym1 a6989586621680800893)
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 (t6989586621680800360 :: * -> *) a6989586621680800362 (f6989586621680800361 :: * -> *) b6989586621680800363 (a6989586621680800887 :: t6989586621680800360 a6989586621680800362). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.ForSym1 a6989586621680800887)
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 (t6989586621680800356 :: * -> *) a6989586621680800358 (m6989586621680800357 :: * -> *) b6989586621680800359 (a6989586621680800877 :: t6989586621680800356 a6989586621680800358). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.ForMSym1 a6989586621680800877)
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 a6989586621680800353 b6989586621680800354 c6989586621680800355 (t6989586621680800352 :: * -> *) (a6989586621680800856 :: a6989586621680800353 Data.Singletons.Internal.~> (b6989586621680800354 Data.Singletons.Internal.~> (a6989586621680800353, c6989586621680800355))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumLSym1 a6989586621680800856)
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 a6989586621680800353 b6989586621680800354 c6989586621680800355 (t6989586621680800352 :: * -> *) (a6989586621680800857 :: a6989586621680800353 Data.Singletons.Internal.~> (b6989586621680800354 Data.Singletons.Internal.~> (a6989586621680800353, c6989586621680800355))) (a6989586621680800856 :: a6989586621680800353). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumLSym2 a6989586621680800857 a6989586621680800856)
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 a6989586621680800349 b6989586621680800350 c6989586621680800351 (t6989586621680800348 :: * -> *) (a6989586621680800839 :: a6989586621680800349 Data.Singletons.Internal.~> (b6989586621680800350 Data.Singletons.Internal.~> (a6989586621680800349, c6989586621680800351))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumRSym1 a6989586621680800839)
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 a6989586621680800349 b6989586621680800350 c6989586621680800351 (t6989586621680800348 :: * -> *) (a6989586621680800840 :: a6989586621680800349 Data.Singletons.Internal.~> (b6989586621680800350 Data.Singletons.Internal.~> (a6989586621680800349, c6989586621680800351))) (a6989586621680800839 :: a6989586621680800349). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumRSym2 a6989586621680800840 a6989586621680800839)
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 a6989586621680800346 b6989586621680800347 (t6989586621680800345 :: * -> *) (a6989586621680800826 :: a6989586621680800346 Data.Singletons.Internal.~> b6989586621680800347). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.FmapDefaultSym1 a6989586621680800826)
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 a6989586621680800344 m6989586621680800343 (t6989586621680800342 :: * -> *) (a6989586621680800805 :: a6989586621680800344 Data.Singletons.Internal.~> m6989586621680800343). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.FoldMapDefaultSym1 a6989586621680800805)
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.Let6989586621680800865Scrutinee_6989586621680800436Sym0
instance forall s a6989586621680794821 b6989586621680794822 k (t6989586621680794819 :: * -> *) (f6989586621680800862 :: s Data.Singletons.Internal.~> (a6989586621680794821 Data.Singletons.Internal.~> (s, b6989586621680794822))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680800865Scrutinee_6989586621680800436Sym1 f6989586621680800862)
instance forall s a6989586621680794821 b6989586621680794822 k (t6989586621680794819 :: * -> *) (s6989586621680800863 :: s Data.Singletons.Internal.~> (a6989586621680794821 Data.Singletons.Internal.~> (s, b6989586621680794822))) (f6989586621680800862 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680800865Scrutinee_6989586621680800436Sym2 s6989586621680800863 f6989586621680800862)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680800848Scrutinee_6989586621680800440Sym0
instance forall s a6989586621680794821 b6989586621680794822 k (t6989586621680794819 :: * -> *) (f6989586621680800845 :: s Data.Singletons.Internal.~> (a6989586621680794821 Data.Singletons.Internal.~> (s, b6989586621680794822))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680800848Scrutinee_6989586621680800440Sym1 f6989586621680800845)
instance forall s a6989586621680794821 b6989586621680794822 k (t6989586621680794819 :: * -> *) (s6989586621680800846 :: s Data.Singletons.Internal.~> (a6989586621680794821 Data.Singletons.Internal.~> (s, b6989586621680794822))) (f6989586621680800845 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680800848Scrutinee_6989586621680800440Sym2 s6989586621680800846 f6989586621680800845)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680800832Scrutinee_6989586621680800444Sym0
instance forall a6989586621680794821 b6989586621680794822 (t6989586621680794819 :: * -> *) (f6989586621680800830 :: a6989586621680794821 Data.Singletons.Internal.~> b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680800832Scrutinee_6989586621680800444Sym1 f6989586621680800830)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680800819Scrutinee_6989586621680800447Sym0
instance forall a6989586621680794821 b6989586621679541553 (t6989586621680794819 :: * -> *) (f6989586621680800809 :: a6989586621680794821 Data.Singletons.Internal.~> b6989586621679541553). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680800819Scrutinee_6989586621680800447Sym1 f6989586621680800809)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680800811MkConstSym0
instance forall k1 k2 m6989586621680800343 (f6989586621680800809 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680800811MkConstSym1 f6989586621680800809)
instance forall k1 k2 m6989586621680800343 (x6989586621680800810 :: k1) (f6989586621680800809 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680800811MkConstSym2 x6989586621680800810 f6989586621680800809)
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 a6989586621680794826 (m6989586621680794825 :: * -> *) b6989586621680794827 (t6989586621680794819 :: * -> *) (arg6989586621680794837 :: a6989586621680794826 Data.Singletons.Internal.~> m6989586621680794825 b6989586621680794827). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapMSym1 arg6989586621680794837)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.SequenceSym0
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 (t6989586621680794819 :: * -> *) (arg6989586621680794831 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.TraverseSym1 arg6989586621680794831)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.TraverseSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.SequenceASym0
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 (t6989586621680794819 :: * -> *) (a6989586621680794843 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680794845Sym1 a6989586621680794843)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680794845Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.SequenceA_6989586621680794858Sym0
instance forall a6989586621680794826 (m6989586621680794825 :: * -> *) b6989586621680794827 (t6989586621680794819 :: * -> *) (a6989586621680794866 :: a6989586621680794826 Data.Singletons.Internal.~> m6989586621680794825 b6989586621680794827). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapM_6989586621680794868Sym1 a6989586621680794866)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.MapM_6989586621680794868Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Sequence_6989586621680794883Sym0


-- | 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_a3t7Q :: Type) where {
    type family (<>) (arg_a3tbD :: a_a3t7Q) (arg_a3tbE :: a_a3t7Q) :: a_a3t7Q;
    type family Sconcat (arg_a3tbH :: NonEmpty a_a3t7Q) :: a_a3t7Q;
    type Sconcat a_a3tbJ = Apply Sconcat_6989586621679836980Sym0 a_a3tbJ;
}
infixr 6 <>
class SSemigroup a_a3t7Q
(%<>) :: forall (t_a3tfs :: a_a3t7Q) (t_a3tft :: a_a3t7Q). SSemigroup a_a3t7Q => Sing t_a3tfs -> Sing t_a3tft -> Sing (Apply (Apply (<>@#@$) t_a3tfs) t_a3tft :: a_a3t7Q)
sSconcat :: forall (t_a3tfw :: NonEmpty a_a3t7Q). SSemigroup a_a3t7Q => Sing t_a3tfw -> Sing (Apply SconcatSym0 t_a3tfw :: a_a3t7Q)
sSconcat :: forall (t_a3tfw :: NonEmpty a_a3t7Q). (SSemigroup a_a3t7Q, (Apply SconcatSym0 t_a3tfw :: a_a3t7Q) ~ Apply Sconcat_6989586621679836980Sym0 t_a3tfw) => Sing t_a3tfw -> Sing (Apply SconcatSym0 t_a3tfw :: a_a3t7Q)
infixr 6 %<>

-- | The singleton kind-indexed type family.
type family Sing :: k -> Type
data SMin :: forall a_acT2. Min a_acT2 -> Type
[SMin] :: forall a_acT2 (n_a3vD2 :: a_acT2). () => {sGetMin :: Sing (n_a3vD2 :: a_acT2)} -> SMin ('Min n_a3vD2)
data SMax :: forall a_acT6. Max a_acT6 -> Type
[SMax] :: forall a_acT6 (n_a3vDl :: a_acT6). () => {sGetMax :: Sing (n_a3vDl :: a_acT6)} -> SMax ('Max n_a3vDl)
data SFirst :: forall a_acTe. First a_acTe -> Type
[SFirst] :: forall a_acTe (n_a3vDE :: a_acTe). () => {sGetFirst :: Sing (n_a3vDE :: a_acTe)} -> SFirst ('First n_a3vDE)
data SLast :: forall a_acTa. Last a_acTa -> Type
[SLast] :: forall a_acTa (n_a3vDX :: a_acTa). () => {sGetLast :: Sing (n_a3vDX :: a_acTa)} -> SLast ('Last n_a3vDX)
data SWrappedMonoid :: forall m_ajNg. WrappedMonoid m_ajNg -> Type
[SWrapMonoid] :: forall m_ajNg (n_a3vEg :: m_ajNg). () => {sUnwrapMonoid :: Sing (n_a3vEg :: m_ajNg)} -> SWrappedMonoid ('WrapMonoid n_a3vEg)
data SDual :: forall a_aiWy. Dual a_aiWy -> Type
[SDual] :: forall a_aiWy (n_a3vBF :: a_aiWy). () => {sGetDual :: Sing (n_a3vBF :: a_aiWy)} -> SDual ('Dual n_a3vBF)
data SAll :: All -> Type
[SAll] :: forall (n_a3vBT :: Bool). () => {sGetAll :: Sing (n_a3vBT :: Bool)} -> SAll ('All n_a3vBT)
data SAny :: Any -> Type
[SAny] :: forall (n_a3vC7 :: Bool). () => {sGetAny :: Sing (n_a3vC7 :: Bool)} -> SAny ('Any n_a3vC7)
data SSum :: forall a_aiWj. Sum a_aiWj -> Type
[SSum] :: forall a_aiWj (n_a3vCq :: a_aiWj). () => {sGetSum :: Sing (n_a3vCq :: a_aiWj)} -> SSum ('Sum n_a3vCq)
data SProduct :: forall a_aiWo. Product a_aiWo -> Type
[SProduct] :: forall a_aiWo (n_a3vCJ :: a_aiWo). () => {sGetProduct :: Sing (n_a3vCJ :: a_aiWo)} -> SProduct ('Product n_a3vCJ)
data SOption :: forall a_acSY. Option a_acSY -> Type
[SOption] :: forall a_acSY (n_a3vBm :: Maybe a_acSY). () => {sGetOption :: Sing (n_a3vBm :: Maybe a_acSY)} -> SOption ('Option n_a3vBm)
data SArg :: forall a_ad9C b_ad9D. Arg a_ad9C b_ad9D -> Type
[SArg] :: forall a_ad9C b_ad9D (n_a7YMn :: a_ad9C) (n_a7YMo :: b_ad9D). () => Sing (n_a7YMn :: a_ad9C) -> Sing (n_a7YMo :: b_ad9D) -> SArg ('Arg n_a7YMn n_a7YMo)
type family GetMin (a_a3vCX :: Min (a_acT2 :: Type)) :: a_acT2
type family GetMax (a_a3vDg :: Max (a_acT6 :: Type)) :: a_acT6
type family GetFirst (a_a3vDz :: First (a_acTe :: Type)) :: a_acTe
type family GetLast (a_a3vDS :: Last (a_acTa :: Type)) :: a_acTa
type family UnwrapMonoid (a_a3vEb :: WrappedMonoid (m_ajNg :: Type)) :: m_ajNg
type family GetDual (a_a3vBA :: Dual (a_aiWy :: Type)) :: a_aiWy
type family GetAll (a_a3vBO :: All) :: Bool
type family GetAny (a_a3vC2 :: Any) :: Bool
type family GetSum (a_a3vCl :: Sum (a_aiWj :: Type)) :: a_aiWj
type family GetProduct (a_a3vCE :: Product (a_aiWo :: Type)) :: a_aiWo
type family GetOption (a_a3vBh :: Option (a_acSY :: Type)) :: Maybe a_acSY
option_ :: b_a8l7O -> (a_a8l7P -> b_a8l7O) -> Option a_a8l7P -> b_a8l7O
sOption_ :: forall b_a8l7O a_a8l7P (t_a8l89 :: b_a8l7O) (t_a8l8a :: (~>) a_a8l7P b_a8l7O) (t_a8l8b :: Option a_a8l7P). Sing t_a8l89 -> Sing t_a8l8a -> Sing t_a8l8b -> Sing (Apply (Apply (Apply Option_Sym0 t_a8l89) t_a8l8a) t_a8l8b :: b_a8l7O)
type family Option_ (a_a8l80 :: b_a8l7O) (a_a8l81 :: (~>) a_a8l7P b_a8l7O) (a_a8l82 :: Option a_a8l7P) :: b_a8l7O
data (<>@#@$) :: forall a6989586621679836738. (~>) a6989586621679836738 ((~>) a6989586621679836738 a6989586621679836738)
infixr 6 <>@#@$
data (<>@#@$$) (arg6989586621679836973 :: a6989586621679836738) :: (~>) a6989586621679836738 a6989586621679836738
infixr 6 <>@#@$$
type (<>@#@$$$) (arg6989586621679836973 :: a6989586621679836738) (arg6989586621679836974 :: a6989586621679836738) = (<>) arg6989586621679836973 arg6989586621679836974
data SconcatSym0 :: forall a6989586621679836738. (~>) (NonEmpty a6989586621679836738) a6989586621679836738
type SconcatSym1 (arg6989586621679836977 :: NonEmpty a6989586621679836738) = Sconcat arg6989586621679836977
data MinSym0 :: forall (a6989586621679059332 :: Type). (~>) a6989586621679059332 (Min (a6989586621679059332 :: Type))
type MinSym1 (t6989586621679846358 :: a6989586621679059332) = 'Min t6989586621679846358
data GetMinSym0 :: forall (a6989586621679059332 :: Type). (~>) (Min (a6989586621679059332 :: Type)) a6989586621679059332
type GetMinSym1 (a6989586621679846355 :: Min (a6989586621679059332 :: Type)) = GetMin a6989586621679846355
data MaxSym0 :: forall (a6989586621679059336 :: Type). (~>) a6989586621679059336 (Max (a6989586621679059336 :: Type))
type MaxSym1 (t6989586621679846377 :: a6989586621679059336) = 'Max t6989586621679846377
data GetMaxSym0 :: forall (a6989586621679059336 :: Type). (~>) (Max (a6989586621679059336 :: Type)) a6989586621679059336
type GetMaxSym1 (a6989586621679846374 :: Max (a6989586621679059336 :: Type)) = GetMax a6989586621679846374
data FirstSym0 :: forall (a6989586621679059344 :: Type). (~>) a6989586621679059344 (First (a6989586621679059344 :: Type))
type FirstSym1 (t6989586621679846396 :: a6989586621679059344) = 'First t6989586621679846396
data GetFirstSym0 :: forall (a6989586621679059344 :: Type). (~>) (First (a6989586621679059344 :: Type)) a6989586621679059344
type GetFirstSym1 (a6989586621679846393 :: First (a6989586621679059344 :: Type)) = GetFirst a6989586621679846393
data LastSym0 :: forall (a6989586621679059340 :: Type). (~>) a6989586621679059340 (Last (a6989586621679059340 :: Type))
type LastSym1 (t6989586621679846415 :: a6989586621679059340) = 'Last t6989586621679846415
data GetLastSym0 :: forall (a6989586621679059340 :: Type). (~>) (Last (a6989586621679059340 :: Type)) a6989586621679059340
type GetLastSym1 (a6989586621679846412 :: Last (a6989586621679059340 :: Type)) = GetLast a6989586621679846412
data WrapMonoidSym0 :: forall (m6989586621679085882 :: Type). (~>) m6989586621679085882 (WrappedMonoid (m6989586621679085882 :: Type))
type WrapMonoidSym1 (t6989586621679846434 :: m6989586621679085882) = 'WrapMonoid t6989586621679846434
data UnwrapMonoidSym0 :: forall (m6989586621679085882 :: Type). (~>) (WrappedMonoid (m6989586621679085882 :: Type)) m6989586621679085882
type UnwrapMonoidSym1 (a6989586621679846431 :: WrappedMonoid (m6989586621679085882 :: Type)) = UnwrapMonoid a6989586621679846431
data DualSym0 :: forall (a6989586621679082614 :: Type). (~>) a6989586621679082614 (Dual (a6989586621679082614 :: Type))
type DualSym1 (t6989586621679846273 :: a6989586621679082614) = 'Dual t6989586621679846273
data GetDualSym0 :: forall (a6989586621679082614 :: Type). (~>) (Dual (a6989586621679082614 :: Type)) a6989586621679082614
type GetDualSym1 (a6989586621679846270 :: Dual (a6989586621679082614 :: Type)) = GetDual a6989586621679846270
data AllSym0 :: (~>) Bool All
type AllSym1 (t6989586621679846287 :: Bool) = 'All t6989586621679846287
data GetAllSym0 :: (~>) All Bool
type GetAllSym1 (a6989586621679846284 :: All) = GetAll a6989586621679846284
data AnySym0 :: (~>) Bool Any
type AnySym1 (t6989586621679846301 :: Bool) = 'Any t6989586621679846301
data GetAnySym0 :: (~>) Any Bool
type GetAnySym1 (a6989586621679846298 :: Any) = GetAny a6989586621679846298
data SumSym0 :: forall (a6989586621679082599 :: Type). (~>) a6989586621679082599 (Sum (a6989586621679082599 :: Type))
type SumSym1 (t6989586621679846320 :: a6989586621679082599) = 'Sum t6989586621679846320
data GetSumSym0 :: forall (a6989586621679082599 :: Type). (~>) (Sum (a6989586621679082599 :: Type)) a6989586621679082599
type GetSumSym1 (a6989586621679846317 :: Sum (a6989586621679082599 :: Type)) = GetSum a6989586621679846317
data ProductSym0 :: forall (a6989586621679082604 :: Type). (~>) a6989586621679082604 (Product (a6989586621679082604 :: Type))
type ProductSym1 (t6989586621679846339 :: a6989586621679082604) = 'Product t6989586621679846339
data GetProductSym0 :: forall (a6989586621679082604 :: Type). (~>) (Product (a6989586621679082604 :: Type)) a6989586621679082604
type GetProductSym1 (a6989586621679846336 :: Product (a6989586621679082604 :: Type)) = GetProduct a6989586621679846336
data OptionSym0 :: forall (a6989586621679059328 :: Type). (~>) (Maybe a6989586621679059328) (Option (a6989586621679059328 :: Type))
type OptionSym1 (t6989586621679846254 :: Maybe a6989586621679059328) = 'Option t6989586621679846254
data GetOptionSym0 :: forall (a6989586621679059328 :: Type). (~>) (Option (a6989586621679059328 :: Type)) (Maybe a6989586621679059328)
type GetOptionSym1 (a6989586621679846251 :: Option (a6989586621679059328 :: Type)) = GetOption a6989586621679846251
data ArgSym0 :: forall (a6989586621679060360 :: Type) (b6989586621679060361 :: Type). (~>) a6989586621679060360 ((~>) b6989586621679060361 (Arg (a6989586621679060360 :: Type) (b6989586621679060361 :: Type)))
data ArgSym1 (t6989586621680911723 :: a6989586621679060360 :: Type) :: forall (b6989586621679060361 :: Type). (~>) b6989586621679060361 (Arg (a6989586621679060360 :: Type) (b6989586621679060361 :: Type))
type ArgSym2 (t6989586621680911723 :: a6989586621679060360) (t6989586621680911724 :: b6989586621679060361) = 'Arg t6989586621680911723 t6989586621680911724
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Option_Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Semigroup.Option_Sym0
instance forall b6989586621680997624 a6989586621680997625 (a6989586621680997636 :: b6989586621680997624). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Option_Sym1 a6989586621680997636)
instance forall b a (d :: b). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Semigroup.Option_Sym1 d)
instance forall b6989586621680997624 a6989586621680997625 (a6989586621680997637 :: b6989586621680997624) (a6989586621680997636 :: a6989586621680997625 Data.Singletons.Internal.~> b6989586621680997624). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Option_Sym2 a6989586621680997637 a6989586621680997636)
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 Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680931510Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Option
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 (a6989586621680931508 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680931510Sym1 a6989586621680931508)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680931498Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Option
instance forall a6989586621680486631 m6989586621680486630 (a6989586621680931496 :: a6989586621680486631 Data.Singletons.Internal.~> m6989586621680486630). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680931498Sym1 a6989586621680931496)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.Option a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931484Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Option a)
instance forall a6989586621680929544 (a6989586621680931482 :: Data.Semigroup.Option a6989586621680929544). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931484Sym1 a6989586621680931482)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931468Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Option
instance forall a6989586621679566977 b6989586621679566978 (a6989586621680931466 :: Data.Semigroup.Option a6989586621679566977). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931468Sym1 a6989586621680931466)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931456Sym0
instance forall a6989586621679566975 b6989586621679566976 (a6989586621680931454 :: Data.Semigroup.Option a6989586621679566975). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931456Sym1 a6989586621680931454)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931444Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Option
instance forall a6989586621679566948 b6989586621679566949 (a6989586621680931442 :: a6989586621679566948). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931444Sym1 a6989586621680931442)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680931432Sym0
instance forall a6989586621679566946 b6989586621679566947 (a6989586621680931430 :: a6989586621679566946 Data.Singletons.Internal.~> b6989586621679566947). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680931432Sym1 a6989586621680931430)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931421Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Option
instance forall a6989586621679566957 b6989586621679566958 (a6989586621680931419 :: Data.Semigroup.Option a6989586621679566957). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931421Sym1 a6989586621680931419)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680931405Sym0
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 (a6989586621680931402 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680931405Sym1 a6989586621680931402)
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 (a6989586621680931403 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)) (a6989586621680931402 :: Data.Semigroup.Option a6989586621679566954). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680931405Sym2 a6989586621680931403 a6989586621680931402)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931392Sym0
instance forall a6989586621679566952 b6989586621679566953 (a6989586621680931390 :: Data.Semigroup.Option (a6989586621679566952 Data.Singletons.Internal.~> b6989586621679566953)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931392Sym1 a6989586621680931390)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680931384Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931371Sym0
instance Data.Singletons.Prelude.Monad.Internal.PAlternative Data.Semigroup.Option
instance forall a6989586621679567027 (a6989586621680931369 :: Data.Semigroup.Option a6989586621679567027). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931371Sym1 a6989586621680931369)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680931379ASym0
instance Data.Singletons.Prelude.Monad.Internal.SAlternative Data.Semigroup.Option
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680931353Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.WrappedMonoid a)
instance forall a6989586621680929524 (a6989586621680931350 :: Data.Semigroup.WrappedMonoid a6989586621680929524). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680931353Sym1 a6989586621680931350)
instance forall a6989586621680929524 (a6989586621680931351 :: Data.Semigroup.WrappedMonoid a6989586621680929524) (a6989586621680931350 :: Data.Semigroup.WrappedMonoid a6989586621680929524). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680931353Sym2 a6989586621680931351 a6989586621680931350)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680931340Sym0
instance forall a6989586621680929524 (a6989586621680931338 :: Data.Semigroup.WrappedMonoid a6989586621680929524). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680931340Sym1 a6989586621680931338)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680931332Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680931323Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680931316Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680931309Sym0
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.WrappedMonoid m)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931296Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.WrappedMonoid m)
instance forall m6989586621680929520 (a6989586621680931294 :: Data.Semigroup.WrappedMonoid m6989586621680929520). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931296Sym1 a6989586621680931294)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680931284Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Last
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 (a6989586621680931282 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680931284Sym1 a6989586621680931282)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680931268Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Last
instance forall a6989586621680486632 b6989586621680486633 (a6989586621680931265 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680931268Sym1 a6989586621680931265)
instance forall a6989586621680486632 b6989586621680486633 (a6989586621680931266 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)) (a6989586621680931265 :: b6989586621680486633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680931268Sym2 a6989586621680931266 a6989586621680931265)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680931255Sym0
instance forall a6989586621680486631 m6989586621680486630 (a6989586621680931253 :: a6989586621680486631 Data.Singletons.Internal.~> m6989586621680486630). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680931255Sym1 a6989586621680931253)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931244Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Last a)
instance forall a6989586621680929518 (a6989586621680931242 :: Data.Semigroup.Last a6989586621680929518). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931244Sym1 a6989586621680931242)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931232Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Last
instance forall a6989586621679566975 b6989586621679566976 (a6989586621680931230 :: Data.Semigroup.Last a6989586621679566975). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931232Sym1 a6989586621680931230)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931216Sym0
instance forall a6989586621679566977 b6989586621679566978 (a6989586621680931214 :: Data.Semigroup.Last a6989586621679566977). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931216Sym1 a6989586621680931214)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931197Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Last
instance forall a6989586621679566948 b6989586621679566949 (a6989586621680931195 :: a6989586621679566948). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931197Sym1 a6989586621680931195)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680931205Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.Last
instance forall k1 k2 k3 (_z_69895866216809299556989586621680931203 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680931205Sym1 _z_69895866216809299556989586621680931203)
instance forall k1 k2 k3 (a_69895866216809299616989586621680931204 :: k1) (_z_69895866216809299556989586621680931203 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680931205Sym2 a_69895866216809299616989586621680931204 _z_69895866216809299556989586621680931203)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680931185Sym0
instance forall a6989586621679566946 b6989586621679566947 (a6989586621680931183 :: a6989586621679566946 Data.Singletons.Internal.~> b6989586621679566947). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680931185Sym1 a6989586621680931183)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680931169Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.Last a)
instance forall a6989586621680929507 (a6989586621680931166 :: Data.Semigroup.Last a6989586621680929507). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680931169Sym1 a6989586621680931166)
instance forall a6989586621680929507 (a6989586621680931167 :: Data.Semigroup.Last a6989586621680929507) (a6989586621680931166 :: Data.Semigroup.Last a6989586621680929507). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680931169Sym2 a6989586621680931167 a6989586621680931166)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680931156Sym0
instance forall a6989586621680929507 (a6989586621680931154 :: Data.Semigroup.Last a6989586621680929507). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680931156Sym1 a6989586621680931154)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680931148Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680931139Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680931132Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680931125Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680931110Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Last
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 (a6989586621680931107 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680931110Sym1 a6989586621680931107)
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 (a6989586621680931108 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)) (a6989586621680931107 :: Data.Semigroup.Last a6989586621679566954). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680931110Sym2 a6989586621680931108 a6989586621680931107)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931097Sym0
instance forall a6989586621679566952 b6989586621679566953 (a6989586621680931095 :: Data.Semigroup.Last (a6989586621679566952 Data.Singletons.Internal.~> b6989586621679566953)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931097Sym1 a6989586621680931095)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931086Sym0
instance forall a6989586621679566957 b6989586621679566958 (a6989586621680931084 :: Data.Semigroup.Last a6989586621679566957). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931086Sym1 a6989586621680931084)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931075Sym0
instance forall a6989586621679566959 b6989586621679566960 (a6989586621680931073 :: Data.Semigroup.Last a6989586621679566959). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931075Sym1 a6989586621680931073)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680931067Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680931056Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.First
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 (a6989586621680931054 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680931056Sym1 a6989586621680931054)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680931040Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.First
instance forall a6989586621680486632 b6989586621680486633 (a6989586621680931037 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680931040Sym1 a6989586621680931037)
instance forall a6989586621680486632 b6989586621680486633 (a6989586621680931038 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)) (a6989586621680931037 :: b6989586621680486633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680931040Sym2 a6989586621680931038 a6989586621680931037)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680931027Sym0
instance forall a6989586621680486631 m6989586621680486630 (a6989586621680931025 :: a6989586621680486631 Data.Singletons.Internal.~> m6989586621680486630). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680931027Sym1 a6989586621680931025)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931016Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.First a)
instance forall a6989586621680929497 (a6989586621680931014 :: Data.Semigroup.First a6989586621680929497). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931016Sym1 a6989586621680931014)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931004Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.First
instance forall a6989586621679566975 b6989586621679566976 (a6989586621680931002 :: Data.Semigroup.First a6989586621679566975). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931004Sym1 a6989586621680931002)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930988Sym0
instance forall a6989586621679566977 b6989586621679566978 (a6989586621680930986 :: Data.Semigroup.First a6989586621679566977). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930988Sym1 a6989586621680930986)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930969Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.First
instance forall a6989586621679566948 b6989586621679566949 (a6989586621680930967 :: a6989586621679566948). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930969Sym1 a6989586621680930967)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930977Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.First
instance forall k1 k2 k3 (_z_69895866216809299246989586621680930975 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930977Sym1 _z_69895866216809299246989586621680930975)
instance forall k1 k2 k3 (a_69895866216809299306989586621680930976 :: k1) (_z_69895866216809299246989586621680930975 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930977Sym2 a_69895866216809299306989586621680930976 _z_69895866216809299246989586621680930975)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680930957Sym0
instance forall a6989586621679566946 b6989586621679566947 (a6989586621680930955 :: a6989586621679566946 Data.Singletons.Internal.~> b6989586621679566947). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680930957Sym1 a6989586621680930955)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680930941Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.First a)
instance forall a6989586621680929486 (a6989586621680930938 :: Data.Semigroup.First a6989586621680929486). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680930941Sym1 a6989586621680930938)
instance forall a6989586621680929486 (a6989586621680930939 :: Data.Semigroup.First a6989586621680929486) (a6989586621680930938 :: Data.Semigroup.First a6989586621680929486). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680930941Sym2 a6989586621680930939 a6989586621680930938)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680930928Sym0
instance forall a6989586621680929486 (a6989586621680930926 :: Data.Semigroup.First a6989586621680929486). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680930928Sym1 a6989586621680930926)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680930920Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680930911Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680930904Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680930897Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680930882Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.First
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 (a6989586621680930879 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680930882Sym1 a6989586621680930879)
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 (a6989586621680930880 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)) (a6989586621680930879 :: Data.Semigroup.First a6989586621679566954). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680930882Sym2 a6989586621680930880 a6989586621680930879)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930869Sym0
instance forall a6989586621679566952 b6989586621679566953 (a6989586621680930867 :: Data.Semigroup.First (a6989586621679566952 Data.Singletons.Internal.~> b6989586621679566953)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930869Sym1 a6989586621680930867)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930858Sym0
instance forall a6989586621679566957 b6989586621679566958 (a6989586621680930856 :: Data.Semigroup.First a6989586621679566957). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930858Sym1 a6989586621680930856)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930847Sym0
instance forall a6989586621679566959 b6989586621679566960 (a6989586621680930845 :: Data.Semigroup.First a6989586621679566959). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930847Sym1 a6989586621680930845)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680930839Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680930827Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable (Data.Semigroup.Arg a)
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 a6989586621680929477 (a6989586621680930825 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680930827Sym1 a6989586621680930825)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930798Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable (Data.Semigroup.Arg a)
instance forall a6989586621680486632 b6989586621680486633 a6989586621680929476 (a6989586621680930795 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930798Sym1 a6989586621680930795)
instance forall a6989586621680486632 b6989586621680486633 a6989586621680929476 (a6989586621680930796 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)) (a6989586621680930795 :: b6989586621680486633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930798Sym2 a6989586621680930796 a6989586621680930795)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930810Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable (Data.Semigroup.Arg a)
instance forall k1 k2 k3 k4 k5 k6 (_f_69895866216809298896989586621680930806 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930810Sym1 _f_69895866216809298896989586621680930806)
instance forall k1 k2 k3 k4 k5 k6 (_z_69895866216809298916989586621680930807 :: k1) (_f_69895866216809298896989586621680930806 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930810Sym2 _z_69895866216809298916989586621680930807 _f_69895866216809298896989586621680930806)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216809299036989586621680930808 :: k1) (_z_69895866216809298916989586621680930807 :: k2) (_f_69895866216809298896989586621680930806 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930810Sym3 a_69895866216809299036989586621680930808 _z_69895866216809298916989586621680930807 _f_69895866216809298896989586621680930806)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216809299056989586621680930809 :: k1) (a_69895866216809299036989586621680930808 :: k2) (_z_69895866216809298916989586621680930807 :: k3) (_f_69895866216809298896989586621680930806 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930810Sym4 a_69895866216809299056989586621680930809 a_69895866216809299036989586621680930808 _z_69895866216809298916989586621680930807 _f_69895866216809298896989586621680930806)
instance forall k1 k2 k3 k4 k5 k6 (t6989586621680930814 :: k1) (a_69895866216809299056989586621680930809 :: k2) (a_69895866216809299036989586621680930808 :: k3) (_z_69895866216809298916989586621680930807 :: k4) (_f_69895866216809298896989586621680930806 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930810Sym5 t6989586621680930814 a_69895866216809299056989586621680930809 a_69895866216809299036989586621680930808 _z_69895866216809298916989586621680930807 _f_69895866216809298896989586621680930806)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680930776Sym0
instance forall a6989586621680486631 m6989586621680486630 a6989586621680929476 (a6989586621680930774 :: a6989586621680486631 Data.Singletons.Internal.~> m6989586621680486630). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680930776Sym1 a6989586621680930774)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930785Sym0
instance forall k1 k2 k3 k4 k5 (_f_69895866216809298896989586621680930782 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930785Sym1 _f_69895866216809298896989586621680930782)
instance forall k1 k2 k3 k4 k5 (a_69895866216809298956989586621680930783 :: k1) (_f_69895866216809298896989586621680930782 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930785Sym2 a_69895866216809298956989586621680930783 _f_69895866216809298896989586621680930782)
instance forall k1 k2 k3 k4 k5 (a_69895866216809298976989586621680930784 :: k1) (a_69895866216809298956989586621680930783 :: k2) (_f_69895866216809298896989586621680930782 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930785Sym3 a_69895866216809298976989586621680930784 a_69895866216809298956989586621680930783 _f_69895866216809298896989586621680930782)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680930757Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Arg a b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680930757Sym1 a6989586621680930754)
instance forall a6989586621680929474 b6989586621680929475 (a6989586621680930755 :: GHC.Types.Nat) (a6989586621680930754 :: Data.Semigroup.Arg a6989586621680929474 b6989586621680929475). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680930757Sym2 a6989586621680930755 a6989586621680930754)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Max_6989586621680930721Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Semigroup.Arg a b)
instance forall a6989586621680929462 b6989586621680929463 (a6989586621680930719 :: Data.Semigroup.Arg a6989586621680929462 b6989586621680929463). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Max_6989586621680930721Sym1 a6989586621680930719)
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.Let6989586621680930735XSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680930731 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930735XSym1 a6989586621680930731)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809295686989586621680930732 :: k2) (a6989586621680930731 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930735XSym2 wild_69895866216809295686989586621680930732 a6989586621680930731)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680930733 :: k2) (wild_69895866216809295686989586621680930732 :: k3) (a6989586621680930731 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930735XSym3 b6989586621680930733 wild_69895866216809295686989586621680930732 a6989586621680930731)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809295706989586621680930734 :: k2) (b6989586621680930733 :: k3) (wild_69895866216809295686989586621680930732 :: k4) (a6989586621680930731 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930735XSym4 wild_69895866216809295706989586621680930734 b6989586621680930733 wild_69895866216809295686989586621680930732 a6989586621680930731)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809295646989586621680930727 :: k2) (wild_69895866216809295706989586621680930734 :: k3) (b6989586621680930733 :: k4) (wild_69895866216809295686989586621680930732 :: k5) (a6989586621680930731 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930735XSym5 arg_69895866216809295646989586621680930727 wild_69895866216809295706989586621680930734 b6989586621680930733 wild_69895866216809295686989586621680930732 a6989586621680930731)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680930735YSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680930731 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930735YSym1 a6989586621680930731)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809295686989586621680930732 :: k2) (a6989586621680930731 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930735YSym2 wild_69895866216809295686989586621680930732 a6989586621680930731)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680930733 :: k2) (wild_69895866216809295686989586621680930732 :: k3) (a6989586621680930731 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930735YSym3 b6989586621680930733 wild_69895866216809295686989586621680930732 a6989586621680930731)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809295706989586621680930734 :: k2) (b6989586621680930733 :: k3) (wild_69895866216809295686989586621680930732 :: k4) (a6989586621680930731 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930735YSym4 wild_69895866216809295706989586621680930734 b6989586621680930733 wild_69895866216809295686989586621680930732 a6989586621680930731)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809295646989586621680930727 :: k2) (wild_69895866216809295706989586621680930734 :: k3) (b6989586621680930733 :: k4) (wild_69895866216809295686989586621680930732 :: k5) (a6989586621680930731 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930735YSym5 arg_69895866216809295646989586621680930727 wild_69895866216809295706989586621680930734 b6989586621680930733 wild_69895866216809295686989586621680930732 a6989586621680930731)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Min_6989586621680930686Sym0
instance forall a6989586621680929462 b6989586621680929463 (a6989586621680930684 :: Data.Semigroup.Arg a6989586621680929462 b6989586621680929463). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Min_6989586621680930686Sym1 a6989586621680930684)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680930700XSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680930696 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930700XSym1 a6989586621680930696)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809295566989586621680930697 :: k2) (a6989586621680930696 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930700XSym2 wild_69895866216809295566989586621680930697 a6989586621680930696)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680930698 :: k2) (wild_69895866216809295566989586621680930697 :: k3) (a6989586621680930696 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930700XSym3 b6989586621680930698 wild_69895866216809295566989586621680930697 a6989586621680930696)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809295586989586621680930699 :: k2) (b6989586621680930698 :: k3) (wild_69895866216809295566989586621680930697 :: k4) (a6989586621680930696 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930700XSym4 wild_69895866216809295586989586621680930699 b6989586621680930698 wild_69895866216809295566989586621680930697 a6989586621680930696)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809295526989586621680930692 :: k2) (wild_69895866216809295586989586621680930699 :: k3) (b6989586621680930698 :: k4) (wild_69895866216809295566989586621680930697 :: k5) (a6989586621680930696 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930700XSym5 arg_69895866216809295526989586621680930692 wild_69895866216809295586989586621680930699 b6989586621680930698 wild_69895866216809295566989586621680930697 a6989586621680930696)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680930700YSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680930696 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930700YSym1 a6989586621680930696)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809295566989586621680930697 :: k2) (a6989586621680930696 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930700YSym2 wild_69895866216809295566989586621680930697 a6989586621680930696)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680930698 :: k2) (wild_69895866216809295566989586621680930697 :: k3) (a6989586621680930696 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930700YSym3 b6989586621680930698 wild_69895866216809295566989586621680930697 a6989586621680930696)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809295586989586621680930699 :: k2) (b6989586621680930698 :: k3) (wild_69895866216809295566989586621680930697 :: k4) (a6989586621680930696 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930700YSym4 wild_69895866216809295586989586621680930699 b6989586621680930698 wild_69895866216809295566989586621680930697 a6989586621680930696)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809295526989586621680930692 :: k2) (wild_69895866216809295586989586621680930699 :: k3) (b6989586621680930698 :: k4) (wild_69895866216809295566989586621680930697 :: k5) (a6989586621680930696 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930700YSym5 arg_69895866216809295526989586621680930692 wild_69895866216809295586989586621680930699 b6989586621680930698 wild_69895866216809295566989586621680930697 a6989586621680930696)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Compare_6989586621680930674Sym0
instance forall a6989586621680929462 b6989586621680929463 (a6989586621680930672 :: Data.Semigroup.Arg a6989586621680929462 b6989586621680929463). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Compare_6989586621680930674Sym1 a6989586621680930672)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930645Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Semigroup.Arg a)
instance forall a6989586621679566948 a6989586621680929461 b6989586621679566949 (a6989586621680930643 :: a6989586621679566948). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930645Sym1 a6989586621680930643)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930662Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Semigroup.Arg a)
instance forall k1 k2 k3 k4 (_z_69895866216809298556989586621680930651 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930662Sym1 _z_69895866216809298556989586621680930651)
instance forall k1 k2 k3 k4 (a_69895866216809298676989586621680930652 :: k1) (_z_69895866216809298556989586621680930651 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930662Sym2 a_69895866216809298676989586621680930652 _z_69895866216809298556989586621680930651)
instance forall k1 k2 k3 k4 (a_69895866216809298696989586621680930653 :: k1) (a_69895866216809298676989586621680930652 :: k2) (_z_69895866216809298556989586621680930651 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930662Sym3 a_69895866216809298696989586621680930653 a_69895866216809298676989586621680930652 _z_69895866216809298556989586621680930651)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930654Sym0
instance forall k1 k2 k3 k4 (_z_69895866216809298556989586621680930651 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930654Sym1 _z_69895866216809298556989586621680930651)
instance forall k1 k2 k3 k4 (a_69895866216809298676989586621680930652 :: k1) (_z_69895866216809298556989586621680930651 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930654Sym2 a_69895866216809298676989586621680930652 _z_69895866216809298556989586621680930651)
instance forall k1 k2 k3 k4 (a_69895866216809298696989586621680930653 :: k1) (a_69895866216809298676989586621680930652 :: k2) (_z_69895866216809298556989586621680930651 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930654Sym3 a_69895866216809298696989586621680930653 a_69895866216809298676989586621680930652 _z_69895866216809298556989586621680930651)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680930624Sym0
instance forall a6989586621679566946 b6989586621679566947 a6989586621680929461 (a6989586621680930622 :: a6989586621679566946 Data.Singletons.Internal.~> b6989586621679566947). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680930624Sym1 a6989586621680930622)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930633Sym0
instance forall k1 k2 k3 k4 (_f_69895866216809298536989586621680930630 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930633Sym1 _f_69895866216809298536989586621680930630)
instance forall k1 k2 k3 k4 (a_69895866216809298596989586621680930631 :: k1) (_f_69895866216809298536989586621680930630 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930633Sym2 a_69895866216809298596989586621680930631 _f_69895866216809298536989586621680930630)
instance forall k1 k2 k3 k4 (a_69895866216809298616989586621680930632 :: k1) (a_69895866216809298596989586621680930631 :: k2) (_f_69895866216809298536989586621680930630 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930633Sym3 a_69895866216809298616989586621680930632 a_69895866216809298596989586621680930631 _f_69895866216809298536989586621680930630)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930612Sym0
instance Data.Singletons.Prelude.Eq.PEq (Data.Semigroup.Arg a b)
instance forall a6989586621680929457 b6989586621680929458 (a6989586621680930610 :: Data.Semigroup.Arg a6989586621680929457 b6989586621680929458). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930612Sym1 a6989586621680930610)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680930600Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Max
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 (a6989586621680930598 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680930600Sym1 a6989586621680930598)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930584Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Max
instance forall a6989586621680486632 b6989586621680486633 (a6989586621680930581 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930584Sym1 a6989586621680930581)
instance forall a6989586621680486632 b6989586621680486633 (a6989586621680930582 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)) (a6989586621680930581 :: b6989586621680486633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930584Sym2 a6989586621680930582 a6989586621680930581)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680930571Sym0
instance forall a6989586621680486631 m6989586621680486630 (a6989586621680930569 :: a6989586621680486631 Data.Singletons.Internal.~> m6989586621680486630). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680930571Sym1 a6989586621680930569)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromInteger_6989586621680930561Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Semigroup.Max a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Signum_6989586621680930554Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Abs_6989586621680930547Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Negate_6989586621680930540Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930529Sym0
instance forall a6989586621680929447 (a6989586621680930527 :: Data.Semigroup.Max a6989586621680929447). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930529Sym1 a6989586621680930527)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930517Sym0
instance forall a6989586621680929447 (a6989586621680930515 :: Data.Semigroup.Max a6989586621680929447). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930517Sym1 a6989586621680930515)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930505Sym0
instance forall a6989586621680929447 (a6989586621680930503 :: Data.Semigroup.Max a6989586621680929447). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930505Sym1 a6989586621680930503)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.Max a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930491Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Max a)
instance forall a6989586621680929443 (a6989586621680930489 :: Data.Semigroup.Max a6989586621680929443). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930491Sym1 a6989586621680930489)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930479Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Max
instance forall a6989586621679566975 b6989586621679566976 (a6989586621680930477 :: Data.Semigroup.Max a6989586621679566975). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930479Sym1 a6989586621680930477)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930463Sym0
instance forall a6989586621679566977 b6989586621679566978 (a6989586621680930461 :: Data.Semigroup.Max a6989586621679566977). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930463Sym1 a6989586621680930461)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930444Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Max
instance forall a6989586621679566948 b6989586621679566949 (a6989586621680930442 :: a6989586621679566948). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930444Sym1 a6989586621680930442)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930452Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.Max
instance forall k1 k2 k3 (_z_69895866216809298216989586621680930450 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930452Sym1 _z_69895866216809298216989586621680930450)
instance forall k1 k2 k3 (a_69895866216809298276989586621680930451 :: k1) (_z_69895866216809298216989586621680930450 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930452Sym2 a_69895866216809298276989586621680930451 _z_69895866216809298216989586621680930450)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680930432Sym0
instance forall a6989586621679566946 b6989586621679566947 (a6989586621680930430 :: a6989586621679566946 Data.Singletons.Internal.~> b6989586621679566947). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680930432Sym1 a6989586621680930430)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680930416Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.Max a)
instance forall a6989586621680929432 (a6989586621680930413 :: Data.Semigroup.Max a6989586621680929432). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680930416Sym1 a6989586621680930413)
instance forall a6989586621680929432 (a6989586621680930414 :: Data.Semigroup.Max a6989586621680929432) (a6989586621680930413 :: Data.Semigroup.Max a6989586621680929432). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680930416Sym2 a6989586621680930414 a6989586621680930413)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680930403Sym0
instance forall a6989586621680929432 (a6989586621680930401 :: Data.Semigroup.Max a6989586621680929432). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680930403Sym1 a6989586621680930401)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680930395Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680930386Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680930379Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680930372Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680930357Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Max
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 (a6989586621680930354 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680930357Sym1 a6989586621680930354)
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 (a6989586621680930355 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)) (a6989586621680930354 :: Data.Semigroup.Max a6989586621679566954). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680930357Sym2 a6989586621680930355 a6989586621680930354)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930344Sym0
instance forall a6989586621679566952 b6989586621679566953 (a6989586621680930342 :: Data.Semigroup.Max (a6989586621679566952 Data.Singletons.Internal.~> b6989586621679566953)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930344Sym1 a6989586621680930342)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930333Sym0
instance forall a6989586621679566957 b6989586621679566958 (a6989586621680930331 :: Data.Semigroup.Max a6989586621679566957). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930333Sym1 a6989586621680930331)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930322Sym0
instance forall a6989586621679566959 b6989586621679566960 (a6989586621680930320 :: Data.Semigroup.Max a6989586621679566959). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930322Sym1 a6989586621680930320)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680930312Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680930301Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Min
instance forall a6989586621680794821 (f6989586621680794820 :: * -> *) b6989586621680794822 (a6989586621680930299 :: a6989586621680794821 Data.Singletons.Internal.~> f6989586621680794820 b6989586621680794822). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680930301Sym1 a6989586621680930299)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930285Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Min
instance forall a6989586621680486632 b6989586621680486633 (a6989586621680930282 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930285Sym1 a6989586621680930282)
instance forall a6989586621680486632 b6989586621680486633 (a6989586621680930283 :: a6989586621680486632 Data.Singletons.Internal.~> (b6989586621680486633 Data.Singletons.Internal.~> b6989586621680486633)) (a6989586621680930282 :: b6989586621680486633). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930285Sym2 a6989586621680930283 a6989586621680930282)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680930272Sym0
instance forall a6989586621680486631 m6989586621680486630 (a6989586621680930270 :: a6989586621680486631 Data.Singletons.Internal.~> m6989586621680486630). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680930272Sym1 a6989586621680930270)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromInteger_6989586621680930262Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Semigroup.Min a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Signum_6989586621680930255Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Abs_6989586621680930248Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Negate_6989586621680930241Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930230Sym0
instance forall a6989586621680929415 (a6989586621680930228 :: Data.Semigroup.Min a6989586621680929415). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930230Sym1 a6989586621680930228)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930218Sym0
instance forall a6989586621680929415 (a6989586621680930216 :: Data.Semigroup.Min a6989586621680929415). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930218Sym1 a6989586621680930216)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930206Sym0
instance forall a6989586621680929415 (a6989586621680930204 :: Data.Semigroup.Min a6989586621680929415). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930206Sym1 a6989586621680930204)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.Min a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930192Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Min a)
instance forall a6989586621680929411 (a6989586621680930190 :: Data.Semigroup.Min a6989586621680929411). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930192Sym1 a6989586621680930190)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930180Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Min
instance forall a6989586621679566975 b6989586621679566976 (a6989586621680930178 :: Data.Semigroup.Min a6989586621679566975). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930180Sym1 a6989586621680930178)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930164Sym0
instance forall a6989586621679566977 b6989586621679566978 (a6989586621680930162 :: Data.Semigroup.Min a6989586621679566977). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930164Sym1 a6989586621680930162)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930145Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Min
instance forall a6989586621679566948 b6989586621679566949 (a6989586621680930143 :: a6989586621679566948). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930145Sym1 a6989586621680930143)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930153Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.Min
instance forall k1 k2 k3 (_z_69895866216809297906989586621680930151 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930153Sym1 _z_69895866216809297906989586621680930151)
instance forall k1 k2 k3 (a_69895866216809297966989586621680930152 :: k1) (_z_69895866216809297906989586621680930151 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930153Sym2 a_69895866216809297966989586621680930152 _z_69895866216809297906989586621680930151)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680930133Sym0
instance forall a6989586621679566946 b6989586621679566947 (a6989586621680930131 :: a6989586621679566946 Data.Singletons.Internal.~> b6989586621679566947). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680930133Sym1 a6989586621680930131)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680930117Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.Min a)
instance forall a6989586621680929400 (a6989586621680930114 :: Data.Semigroup.Min a6989586621680929400). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680930117Sym1 a6989586621680930114)
instance forall a6989586621680929400 (a6989586621680930115 :: Data.Semigroup.Min a6989586621680929400) (a6989586621680930114 :: Data.Semigroup.Min a6989586621680929400). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680930117Sym2 a6989586621680930115 a6989586621680930114)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680930104Sym0
instance forall a6989586621680929400 (a6989586621680930102 :: Data.Semigroup.Min a6989586621680929400). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680930104Sym1 a6989586621680930102)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680930096Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680930087Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680930080Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680930073Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680930058Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Min
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 (a6989586621680930055 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680930058Sym1 a6989586621680930055)
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 (a6989586621680930056 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)) (a6989586621680930055 :: Data.Semigroup.Min a6989586621679566954). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680930058Sym2 a6989586621680930056 a6989586621680930055)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930045Sym0
instance forall a6989586621679566952 b6989586621679566953 (a6989586621680930043 :: Data.Semigroup.Min (a6989586621679566952 Data.Singletons.Internal.~> b6989586621679566953)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930045Sym1 a6989586621680930043)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930034Sym0
instance forall a6989586621679566957 b6989586621679566958 (a6989586621680930032 :: Data.Semigroup.Min a6989586621679566957). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930034Sym1 a6989586621680930032)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930023Sym0
instance forall a6989586621679566959 b6989586621679566960 (a6989586621680930021 :: Data.Semigroup.Min a6989586621679566959). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930023Sym1 a6989586621680930021)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680930013Sym0
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 forall a b (z :: Data.Semigroup.Arg a b). (Data.Singletons.ShowSing.ShowSing a, Data.Singletons.ShowSing.ShowSing b) => GHC.Show.Show (Data.Singletons.Prelude.Semigroup.SArg z)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913839Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.WrappedMonoid m)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913839Sym1 a6989586621680913836)
instance forall m6989586621679085882 (a6989586621680913837 :: GHC.Types.Nat) (a6989586621680913836 :: Data.Semigroup.WrappedMonoid m6989586621679085882). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913839Sym2 a6989586621680913837 a6989586621680913836)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913808Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913808Sym1 a6989586621680913805)
instance forall a6989586621679059340 (a6989586621680913806 :: GHC.Types.Nat) (a6989586621680913805 :: Data.Semigroup.Last a6989586621679059340). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913808Sym2 a6989586621680913806 a6989586621680913805)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913777Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913777Sym1 a6989586621680913774)
instance forall a6989586621679059344 (a6989586621680913775 :: GHC.Types.Nat) (a6989586621680913774 :: Data.Semigroup.First a6989586621679059344). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913777Sym2 a6989586621680913775 a6989586621680913774)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913746Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Max a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913746Sym1 a6989586621680913743)
instance forall a6989586621679059336 (a6989586621680913744 :: GHC.Types.Nat) (a6989586621680913743 :: Data.Semigroup.Max a6989586621679059336). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913746Sym2 a6989586621680913744 a6989586621680913743)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913715Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Min a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913715Sym1 a6989586621680913712)
instance forall a6989586621679059332 (a6989586621680913713 :: GHC.Types.Nat) (a6989586621680913712 :: Data.Semigroup.Min a6989586621679059332). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913715Sym2 a6989586621680913713 a6989586621680913712)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913684Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Internal.Product a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913684Sym1 a6989586621680913681)
instance forall a6989586621679082604 (a6989586621680913682 :: GHC.Types.Nat) (a6989586621680913681 :: Data.Semigroup.Internal.Product a6989586621679082604). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913684Sym2 a6989586621680913682 a6989586621680913681)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913653Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Internal.Sum a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913653Sym1 a6989586621680913650)
instance forall a6989586621679082599 (a6989586621680913651 :: GHC.Types.Nat) (a6989586621680913650 :: Data.Semigroup.Internal.Sum a6989586621679082599). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913653Sym2 a6989586621680913651 a6989586621680913650)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913622Sym0
instance Data.Singletons.Prelude.Show.PShow Data.Semigroup.Internal.Any
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913622Sym1 a6989586621680913619)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913622Sym2 a6989586621680913620 a6989586621680913619)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913594Sym0
instance Data.Singletons.Prelude.Show.PShow Data.Semigroup.Internal.All
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913594Sym1 a6989586621680913591)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913594Sym2 a6989586621680913592 a6989586621680913591)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913566Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Internal.Dual a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913566Sym1 a6989586621680913563)
instance forall a6989586621679082614 (a6989586621680913564 :: GHC.Types.Nat) (a6989586621680913563 :: Data.Semigroup.Internal.Dual a6989586621679082614). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913566Sym2 a6989586621680913564 a6989586621680913563)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913535Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Option a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913535Sym1 a6989586621680913532)
instance forall a6989586621679059328 (a6989586621680913533 :: GHC.Types.Nat) (a6989586621680913532 :: Data.Semigroup.Option a6989586621679059328). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913535Sym2 a6989586621680913533 a6989586621680913532)
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.Prelude.Semigroup.Internal.SOption z)
instance forall a (z :: Data.Semigroup.Internal.Dual a). Data.Singletons.ShowSing.ShowSing a => GHC.Show.Show (Data.Singletons.Prelude.Semigroup.Internal.SDual z)
instance Data.Singletons.ShowSing.ShowSing GHC.Types.Bool => GHC.Show.Show (Data.Singletons.Prelude.Semigroup.Internal.SAll z)
instance Data.Singletons.ShowSing.ShowSing GHC.Types.Bool => GHC.Show.Show (Data.Singletons.Prelude.Semigroup.Internal.SAny z)
instance forall a (z :: Data.Semigroup.Internal.Sum a). Data.Singletons.ShowSing.ShowSing a => GHC.Show.Show (Data.Singletons.Prelude.Semigroup.Internal.SSum z)
instance forall a (z :: Data.Semigroup.Internal.Product a). Data.Singletons.ShowSing.ShowSing a => GHC.Show.Show (Data.Singletons.Prelude.Semigroup.Internal.SProduct z)
instance forall a (z :: Data.Semigroup.Min a). Data.Singletons.ShowSing.ShowSing a => GHC.Show.Show (Data.Singletons.Prelude.Semigroup.Internal.SMin z)
instance forall a (z :: Data.Semigroup.Max a). Data.Singletons.ShowSing.ShowSing a => GHC.Show.Show (Data.Singletons.Prelude.Semigroup.Internal.SMax z)
instance forall a (z :: Data.Semigroup.First a). Data.Singletons.ShowSing.ShowSing a => GHC.Show.Show (Data.Singletons.Prelude.Semigroup.Internal.SFirst z)
instance forall a (z :: Data.Semigroup.Last a). Data.Singletons.ShowSing.ShowSing a => GHC.Show.Show (Data.Singletons.Prelude.Semigroup.Internal.SLast z)
instance forall m (z :: Data.Semigroup.WrappedMonoid m). Data.Singletons.ShowSing.ShowSing m => GHC.Show.Show (Data.Singletons.Prelude.Semigroup.Internal.SWrappedMonoid z)
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.Prelude.Semigroup.ArgSym0
instance forall a b (d :: a). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Semigroup.ArgSym1 d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ArgSym0
instance forall a6989586621679060360 b6989586621679060361 (t6989586621680911723 :: a6989586621679060360). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ArgSym1 t6989586621680911723)


-- | 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 type family.
type family Sing :: k -> Type
data SList :: forall a_11. [a_11] -> Type
[SNil] :: SList '[]
[SCons] :: forall a_11 (n_a1gl5 :: a_11) (n_a1gl6 :: [a_11]). () => Sing (n_a1gl5 :: a_11) -> Sing (n_a1gl6 :: [a_11]) -> SList ('(:) n_a1gl5 n_a1gl6)
infixr 5 `SCons`
type family (++) (a_a2eo4 :: [a_a2ekT]) (a_a2eo5 :: [a_a2ekT]) :: [a_a2ekT]
infixr 5 ++
(%++) :: forall a_a2ekT (t_a2epg :: [a_a2ekT]) (t_a2eph :: [a_a2ekT]). Sing t_a2epg -> Sing t_a2eph -> Sing (Apply (Apply (++@#@$) t_a2epg) t_a2eph :: [a_a2ekT])
infixr 5 %++
type family Head (a_a43gs :: [a_a41Sd]) :: a_a41Sd
sHead :: forall a_a41Sd (t_a43lX :: [a_a41Sd]). Sing t_a43lX -> Sing (Apply HeadSym0 t_a43lX :: a_a41Sd)
type family Last (a_a43gn :: [a_a41Sc]) :: a_a41Sc
sLast :: forall a_a41Sc (t_a43lV :: [a_a41Sc]). Sing t_a43lV -> Sing (Apply LastSym0 t_a43lV :: a_a41Sc)
type family Tail (a_a43gk :: [a_a41Sb]) :: [a_a41Sb]
sTail :: forall a_a41Sb (t_a43lT :: [a_a41Sb]). Sing t_a43lT -> Sing (Apply TailSym0 t_a43lT :: [a_a41Sb])
type family Init (a_a43g6 :: [a_a41Sa]) :: [a_a41Sa]
sInit :: forall a_a41Sa (t_a43lR :: [a_a41Sa]). Sing t_a43lR -> Sing (Apply InitSym0 t_a43lR :: [a_a41Sa])
type family Null (arg_a6cmz :: t_a6cbW a_a6ccb) :: Bool
sNull :: forall a_a6ccb (t_a6cIr :: t_a6cbW a_a6ccb). SFoldable t_a6cbW => Sing t_a6cIr -> Sing (Apply NullSym0 t_a6cIr :: Bool)
type family Length (arg_a6cmB :: t_a6cbW a_a6ccc) :: Nat
sLength :: forall a_a6ccc (t_a6cIt :: t_a6cbW a_a6ccc). SFoldable t_a6cbW => Sing t_a6cIt -> Sing (Apply LengthSym0 t_a6cIt :: Nat)
type family Map (a_a2eoc :: (~>) a_a2ekU b_a2ekV) (a_a2eod :: [a_a2ekU]) :: [b_a2ekV]
sMap :: forall a_a2ekU b_a2ekV (t_a2epk :: (~>) a_a2ekU b_a2ekV) (t_a2epl :: [a_a2ekU]). Sing t_a2epk -> Sing t_a2epl -> Sing (Apply (Apply MapSym0 t_a2epk) t_a2epl :: [b_a2ekV])
type family Reverse (a_a43fR :: [a_a41S8]) :: [a_a41S8]
sReverse :: forall a_a41S8 (t_a43lN :: [a_a41S8]). Sing t_a43lN -> Sing (Apply ReverseSym0 t_a43lN :: [a_a41S8])
type family Intersperse (a_a43fK :: a_a41S7) (a_a43fL :: [a_a41S7]) :: [a_a41S7]
sIntersperse :: forall a_a41S7 (t_a43lJ :: a_a41S7) (t_a43lK :: [a_a41S7]). Sing t_a43lJ -> Sing t_a43lK -> Sing (Apply (Apply IntersperseSym0 t_a43lJ) t_a43lK :: [a_a41S7])
type family Intercalate (a_a43fE :: [a_a41S6]) (a_a43fF :: [[a_a41S6]]) :: [a_a41S6]
sIntercalate :: forall a_a41S6 (t_a43lF :: [a_a41S6]) (t_a43lG :: [[a_a41S6]]). Sing t_a43lF -> Sing t_a43lG -> Sing (Apply (Apply IntercalateSym0 t_a43lF) t_a43lG :: [a_a41S6])
type family Transpose (a_a42Vn :: [[a_a41Qh]]) :: [[a_a41Qh]]
sTranspose :: forall a_a41Qh (t_a43gX :: [[a_a41Qh]]). Sing t_a43gX -> Sing (Apply TransposeSym0 t_a43gX :: [[a_a41Qh]])
type family Subsequences (a_a43fB :: [a_a41S5]) :: [[a_a41S5]]
sSubsequences :: forall a_a41S5 (t_a43lD :: [a_a41S5]). Sing t_a43lD -> Sing (Apply SubsequencesSym0 t_a43lD :: [[a_a41S5]])
type family Permutations (a_a43dH :: [a_a41S2]) :: [[a_a41S2]]
sPermutations :: forall a_a41S2 (t_a43lv :: [a_a41S2]). Sing t_a43lv -> Sing (Apply PermutationsSym0 t_a43lv :: [[a_a41S2]])
type family Foldl (arg_a6cmd :: (~>) b_a6cc4 ((~>) a_a6cc5 b_a6cc4)) (arg_a6cme :: b_a6cc4) (arg_a6cmf :: t_a6cbW a_a6cc5) :: b_a6cc4
sFoldl :: forall b_a6cc4 a_a6cc5 (t_a6cI5 :: (~>) b_a6cc4 ((~>) a_a6cc5 b_a6cc4)) (t_a6cI6 :: b_a6cc4) (t_a6cI7 :: t_a6cbW a_a6cc5). SFoldable t_a6cbW => Sing t_a6cI5 -> Sing t_a6cI6 -> Sing t_a6cI7 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cI5) t_a6cI6) t_a6cI7 :: b_a6cc4)
type family Foldl' (arg_a6cmj :: (~>) b_a6cc6 ((~>) a_a6cc7 b_a6cc6)) (arg_a6cmk :: b_a6cc6) (arg_a6cml :: t_a6cbW a_a6cc7) :: b_a6cc6
sFoldl' :: forall b_a6cc6 a_a6cc7 (t_a6cIb :: (~>) b_a6cc6 ((~>) a_a6cc7 b_a6cc6)) (t_a6cIc :: b_a6cc6) (t_a6cId :: t_a6cbW a_a6cc7). SFoldable t_a6cbW => Sing t_a6cIb -> Sing t_a6cIc -> Sing t_a6cId -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6cIb) t_a6cIc) t_a6cId :: b_a6cc6)
type family Foldl1 (arg_a6cmt :: (~>) a_a6cc9 ((~>) a_a6cc9 a_a6cc9)) (arg_a6cmu :: t_a6cbW a_a6cc9) :: a_a6cc9
sFoldl1 :: forall a_a6cc9 (t_a6cIl :: (~>) a_a6cc9 ((~>) a_a6cc9 a_a6cc9)) (t_a6cIm :: t_a6cbW a_a6cc9). SFoldable t_a6cbW => Sing t_a6cIl -> Sing t_a6cIm -> Sing (Apply (Apply Foldl1Sym0 t_a6cIl) t_a6cIm :: a_a6cc9)
type family Foldl1' (a_a43d1 :: (~>) a_a41RY ((~>) a_a41RY a_a41RY)) (a_a43d2 :: [a_a41RY]) :: a_a41RY
sFoldl1' :: forall a_a41RY (t_a43lh :: (~>) a_a41RY ((~>) a_a41RY a_a41RY)) (t_a43li :: [a_a41RY]). Sing t_a43lh -> Sing t_a43li -> Sing (Apply (Apply Foldl1'Sym0 t_a43lh) t_a43li :: a_a41RY)
type family Foldr (arg_a6cm1 :: (~>) a_a6cc0 ((~>) b_a6cc1 b_a6cc1)) (arg_a6cm2 :: b_a6cc1) (arg_a6cm3 :: t_a6cbW a_a6cc0) :: b_a6cc1
sFoldr :: forall a_a6cc0 b_a6cc1 (t_a6cHT :: (~>) a_a6cc0 ((~>) b_a6cc1 b_a6cc1)) (t_a6cHU :: b_a6cc1) (t_a6cHV :: t_a6cbW a_a6cc0). SFoldable t_a6cbW => Sing t_a6cHT -> Sing t_a6cHU -> Sing t_a6cHV -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cHT) t_a6cHU) t_a6cHV :: b_a6cc1)
type family Foldr1 (arg_a6cmp :: (~>) a_a6cc8 ((~>) a_a6cc8 a_a6cc8)) (arg_a6cmq :: t_a6cbW a_a6cc8) :: a_a6cc8
sFoldr1 :: forall a_a6cc8 (t_a6cIh :: (~>) a_a6cc8 ((~>) a_a6cc8 a_a6cc8)) (t_a6cIi :: t_a6cbW a_a6cc8). SFoldable t_a6cbW => Sing t_a6cIh -> Sing t_a6cIi -> Sing (Apply (Apply Foldr1Sym0 t_a6cIh) t_a6cIi :: a_a6cc8)
type family Concat (a_a6ck7 :: t_a6caJ [a_a6caK]) :: [a_a6caK]
sConcat :: forall t_a6caJ a_a6caK (t_a6cGw :: t_a6caJ [a_a6caK]). SFoldable t_a6caJ => Sing t_a6cGw -> Sing (Apply ConcatSym0 t_a6cGw :: [a_a6caK])
type family ConcatMap (a_a6cjR :: (~>) a_a6caH [b_a6caI]) (a_a6cjS :: t_a6caG a_a6caH) :: [b_a6caI]
sConcatMap :: forall a_a6caH b_a6caI t_a6caG (t_a6cGs :: (~>) a_a6caH [b_a6caI]) (t_a6cGt :: t_a6caG a_a6caH). SFoldable t_a6caG => Sing t_a6cGs -> Sing t_a6cGt -> Sing (Apply (Apply ConcatMapSym0 t_a6cGs) t_a6cGt :: [b_a6caI])
type family And (a_a6cjI :: t_a6caF Bool) :: Bool
sAnd :: forall t_a6caF (t_a6cGq :: t_a6caF Bool). SFoldable t_a6caF => Sing t_a6cGq -> Sing (Apply AndSym0 t_a6cGq :: Bool)
type family Or (a_a6cjz :: t_a6caE Bool) :: Bool
sOr :: forall t_a6caE (t_a6cGo :: t_a6caE Bool). SFoldable t_a6caE => Sing t_a6cGo -> Sing (Apply OrSym0 t_a6cGo :: Bool)
type family Any (a_a6cjm :: (~>) a_a6caD Bool) (a_a6cjn :: t_a6caC a_a6caD) :: Bool
sAny :: forall a_a6caD t_a6caC (t_a6cGk :: (~>) a_a6caD Bool) (t_a6cGl :: t_a6caC a_a6caD). SFoldable t_a6caC => Sing t_a6cGk -> Sing t_a6cGl -> Sing (Apply (Apply AnySym0 t_a6cGk) t_a6cGl :: Bool)
type family All (a_a6cj9 :: (~>) a_a6caB Bool) (a_a6cja :: t_a6caA a_a6caB) :: Bool
sAll :: forall a_a6caB t_a6caA (t_a6cGg :: (~>) a_a6caB Bool) (t_a6cGh :: t_a6caA a_a6caB). SFoldable t_a6caA => Sing t_a6cGg -> Sing t_a6cGh -> Sing (Apply (Apply AllSym0 t_a6cGg) t_a6cGh :: Bool)
type family Sum (arg_a6cmL :: t_a6cbW a_a6ccg) :: a_a6ccg
sSum :: forall a_a6ccg (t_a6cID :: t_a6cbW a_a6ccg). (SFoldable t_a6cbW, SNum a_a6ccg) => Sing t_a6cID -> Sing (Apply SumSym0 t_a6cID :: a_a6ccg)
type family Product (arg_a6cmN :: t_a6cbW a_a6cch) :: a_a6cch
sProduct :: forall a_a6cch (t_a6cIF :: t_a6cbW a_a6cch). (SFoldable t_a6cbW, SNum a_a6cch) => Sing t_a6cIF -> Sing (Apply ProductSym0 t_a6cIF :: a_a6cch)
type family Maximum (arg_a6cmH :: t_a6cbW a_a6cce) :: a_a6cce
sMaximum :: forall a_a6cce (t_a6cIz :: t_a6cbW a_a6cce). (SFoldable t_a6cbW, SOrd a_a6cce) => Sing t_a6cIz -> Sing (Apply MaximumSym0 t_a6cIz :: a_a6cce)
type family Minimum (arg_a6cmJ :: t_a6cbW a_a6ccf) :: a_a6ccf
sMinimum :: forall a_a6ccf (t_a6cIB :: t_a6cbW a_a6ccf). (SFoldable t_a6cbW, SOrd a_a6ccf) => Sing t_a6cIB -> Sing (Apply MinimumSym0 t_a6cIB :: a_a6ccf)
type family Scanl (a_a43c0 :: (~>) b_a41RQ ((~>) a_a41RR b_a41RQ)) (a_a43c1 :: b_a41RQ) (a_a43c2 :: [a_a41RR]) :: [b_a41RQ]
sScanl :: forall b_a41RQ a_a41RR (t_a43kP :: (~>) b_a41RQ ((~>) a_a41RR b_a41RQ)) (t_a43kQ :: b_a41RQ) (t_a43kR :: [a_a41RR]). Sing t_a43kP -> Sing t_a43kQ -> Sing t_a43kR -> Sing (Apply (Apply (Apply ScanlSym0 t_a43kP) t_a43kQ) t_a43kR :: [b_a41RQ])
type family Scanl1 (a_a43bT :: (~>) a_a41RP ((~>) a_a41RP a_a41RP)) (a_a43bU :: [a_a41RP]) :: [a_a41RP]
sScanl1 :: forall a_a41RP (t_a43kL :: (~>) a_a41RP ((~>) a_a41RP a_a41RP)) (t_a43kM :: [a_a41RP]). Sing t_a43kL -> Sing t_a43kM -> Sing (Apply (Apply Scanl1Sym0 t_a43kL) t_a43kM :: [a_a41RP])
type family Scanr (a_a43by :: (~>) a_a41RN ((~>) b_a41RO b_a41RO)) (a_a43bz :: b_a41RO) (a_a43bA :: [a_a41RN]) :: [b_a41RO]
sScanr :: forall a_a41RN b_a41RO (t_a43kF :: (~>) a_a41RN ((~>) b_a41RO b_a41RO)) (t_a43kG :: b_a41RO) (t_a43kH :: [a_a41RN]). Sing t_a43kF -> Sing t_a43kG -> Sing t_a43kH -> Sing (Apply (Apply (Apply ScanrSym0 t_a43kF) t_a43kG) t_a43kH :: [b_a41RO])
type family Scanr1 (a_a43ba :: (~>) a_a41RM ((~>) a_a41RM a_a41RM)) (a_a43bb :: [a_a41RM]) :: [a_a41RM]
sScanr1 :: forall a_a41RM (t_a43kB :: (~>) a_a41RM ((~>) a_a41RM a_a41RM)) (t_a43kC :: [a_a41RM]). Sing t_a43kB -> Sing t_a43kC -> Sing (Apply (Apply Scanr1Sym0 t_a43kB) t_a43kC :: [a_a41RM])
type family MapAccumL (a_a7vW8 :: (~>) a_a7vO1 ((~>) b_a7vO2 (a_a7vO1, c_a7vO3))) (a_a7vW9 :: a_a7vO1) (a_a7vWa :: t_a7vO0 b_a7vO2) :: (a_a7vO1, t_a7vO0 c_a7vO3)
sMapAccumL :: forall a_a7vO1 b_a7vO2 c_a7vO3 t_a7vO0 (t_a7w5Q :: (~>) a_a7vO1 ((~>) b_a7vO2 (a_a7vO1, c_a7vO3))) (t_a7w5R :: a_a7vO1) (t_a7w5S :: t_a7vO0 b_a7vO2). STraversable t_a7vO0 => Sing t_a7w5Q -> Sing t_a7w5R -> Sing t_a7w5S -> Sing (Apply (Apply (Apply MapAccumLSym0 t_a7w5Q) t_a7w5R) t_a7w5S :: (a_a7vO1, t_a7vO0 c_a7vO3))
type family MapAccumR (a_a7vVR :: (~>) a_a7vNX ((~>) b_a7vNY (a_a7vNX, c_a7vNZ))) (a_a7vVS :: a_a7vNX) (a_a7vVT :: t_a7vNW b_a7vNY) :: (a_a7vNX, t_a7vNW c_a7vNZ)
sMapAccumR :: forall a_a7vNX b_a7vNY c_a7vNZ t_a7vNW (t_a7w5K :: (~>) a_a7vNX ((~>) b_a7vNY (a_a7vNX, c_a7vNZ))) (t_a7w5L :: a_a7vNX) (t_a7w5M :: t_a7vNW b_a7vNY). STraversable t_a7vNW => Sing t_a7w5K -> Sing t_a7w5L -> Sing t_a7w5M -> Sing (Apply (Apply (Apply MapAccumRSym0 t_a7w5K) t_a7w5L) t_a7w5M :: (a_a7vNX, t_a7vNW c_a7vNZ))
type family Replicate (a_a42Vt :: Nat) (a_a42Vu :: a_a41Qi) :: [a_a41Qi]
sReplicate :: forall a_a41Qi (t_a43gZ :: Nat) (t_a43h0 :: a_a41Qi). Sing t_a43gZ -> Sing t_a43h0 -> Sing (Apply (Apply ReplicateSym0 t_a43gZ) t_a43h0 :: [a_a41Qi])
type family Unfoldr (a_a438S :: (~>) b_a41RE (Maybe (a_a41RF, b_a41RE))) (a_a438T :: b_a41RE) :: [a_a41RF]
sUnfoldr :: forall b_a41RE a_a41RF (t_a43kl :: (~>) b_a41RE (Maybe (a_a41RF, b_a41RE))) (t_a43km :: b_a41RE). Sing t_a43kl -> Sing t_a43km -> Sing (Apply (Apply UnfoldrSym0 t_a43kl) t_a43km :: [a_a41RF])
type family Take (a_a42Y4 :: Nat) (a_a42Y5 :: [a_a41Qy]) :: [a_a41Qy]
sTake :: forall a_a41Qy (t_a43hL :: Nat) (t_a43hM :: [a_a41Qy]). Sing t_a43hL -> Sing t_a43hM -> Sing (Apply (Apply TakeSym0 t_a43hL) t_a43hM :: [a_a41Qy])
type family Drop (a_a42XQ :: Nat) (a_a42XR :: [a_a41Qx]) :: [a_a41Qx]
sDrop :: forall a_a41Qx (t_a43hH :: Nat) (t_a43hI :: [a_a41Qx]). Sing t_a43hH -> Sing t_a43hI -> Sing (Apply (Apply DropSym0 t_a43hH) t_a43hI :: [a_a41Qx])
type family SplitAt (a_a42XK :: Nat) (a_a42XL :: [a_a41Qw]) :: ([a_a41Qw], [a_a41Qw])
sSplitAt :: forall a_a41Qw (t_a43hD :: Nat) (t_a43hE :: [a_a41Qw]). Sing t_a43hD -> Sing t_a43hE -> Sing (Apply (Apply SplitAtSym0 t_a43hD) t_a43hE :: ([a_a41Qw], [a_a41Qw]))
type family TakeWhile (a_a430o :: (~>) a_a41QD Bool) (a_a430p :: [a_a41QD]) :: [a_a41QD]
sTakeWhile :: forall a_a41QD (t_a43i5 :: (~>) a_a41QD Bool) (t_a43i6 :: [a_a41QD]). Sing t_a43i5 -> Sing t_a43i6 -> Sing (Apply (Apply TakeWhileSym0 t_a43i5) t_a43i6 :: [a_a41QD])
type family DropWhile (a_a4306 :: (~>) a_a41QC Bool) (a_a4307 :: [a_a41QC]) :: [a_a41QC]
sDropWhile :: forall a_a41QC (t_a43i1 :: (~>) a_a41QC Bool) (t_a43i2 :: [a_a41QC]). Sing t_a43i1 -> Sing t_a43i2 -> Sing (Apply (Apply DropWhileSym0 t_a43i1) t_a43i2 :: [a_a41QC])
type family DropWhileEnd (a_a42ZG :: (~>) a_a41QB Bool) (a_a42ZH :: [a_a41QB]) :: [a_a41QB]
sDropWhileEnd :: forall a_a41QB (t_a43hX :: (~>) a_a41QB Bool) (t_a43hY :: [a_a41QB]). Sing t_a43hX -> Sing t_a43hY -> Sing (Apply (Apply DropWhileEndSym0 t_a43hX) t_a43hY :: [a_a41QB])
type family Span (a_a42YZ :: (~>) a_a41QA Bool) (a_a42Z0 :: [a_a41QA]) :: ([a_a41QA], [a_a41QA])
sSpan :: forall a_a41QA (t_a43hT :: (~>) a_a41QA Bool) (t_a43hU :: [a_a41QA]). Sing t_a43hT -> Sing t_a43hU -> Sing (Apply (Apply SpanSym0 t_a43hT) t_a43hU :: ([a_a41QA], [a_a41QA]))
type family Break (a_a42Yi :: (~>) a_a41Qz Bool) (a_a42Yj :: [a_a41Qz]) :: ([a_a41Qz], [a_a41Qz])
sBreak :: forall a_a41Qz (t_a43hP :: (~>) a_a41Qz Bool) (t_a43hQ :: [a_a41Qz]). Sing t_a43hP -> Sing t_a43hQ -> Sing (Apply (Apply BreakSym0 t_a43hP) t_a43hQ :: ([a_a41Qz], [a_a41Qz]))
type family StripPrefix (a_a4y4J :: [a_a4xDn]) (a_a4y4K :: [a_a4xDn]) :: Maybe [a_a4xDn]
type family Group (a_a42XH :: [a_a41Qv]) :: [[a_a41Qv]]
sGroup :: forall a_a41Qv (t_a43hB :: [a_a41Qv]). SEq a_a41Qv => Sing t_a43hB -> Sing (Apply GroupSym0 t_a43hB :: [[a_a41Qv]])
type family Inits (a_a438K :: [a_a41RD]) :: [[a_a41RD]]
sInits :: forall a_a41RD (t_a43kj :: [a_a41RD]). Sing t_a43kj -> Sing (Apply InitsSym0 t_a43kj :: [[a_a41RD]])
type family Tails (a_a438D :: [a_a41RC]) :: [[a_a41RC]]
sTails :: forall a_a41RC (t_a43kh :: [a_a41RC]). Sing t_a43kh -> Sing (Apply TailsSym0 t_a43kh :: [[a_a41RC]])
type family IsPrefixOf (a_a438v :: [a_a41RB]) (a_a438w :: [a_a41RB]) :: Bool
sIsPrefixOf :: forall a_a41RB (t_a43kd :: [a_a41RB]) (t_a43ke :: [a_a41RB]). SEq a_a41RB => Sing t_a43kd -> Sing t_a43ke -> Sing (Apply (Apply IsPrefixOfSym0 t_a43kd) t_a43ke :: Bool)
type family IsSuffixOf (a_a438p :: [a_a41RA]) (a_a438q :: [a_a41RA]) :: Bool
sIsSuffixOf :: forall a_a41RA (t_a43k9 :: [a_a41RA]) (t_a43ka :: [a_a41RA]). SEq a_a41RA => Sing t_a43k9 -> Sing t_a43ka -> Sing (Apply (Apply IsSuffixOfSym0 t_a43k9) t_a43ka :: Bool)
type family IsInfixOf (a_a438j :: [a_a41Rz]) (a_a438k :: [a_a41Rz]) :: Bool
sIsInfixOf :: forall a_a41Rz (t_a43k5 :: [a_a41Rz]) (t_a43k6 :: [a_a41Rz]). SEq a_a41Rz => Sing t_a43k5 -> Sing t_a43k6 -> Sing (Apply (Apply IsInfixOfSym0 t_a43k5) t_a43k6 :: Bool)
type family Elem (arg_a6cmD :: a_a6ccd) (arg_a6cmE :: t_a6cbW a_a6ccd) :: Bool
sElem :: forall a_a6ccd (t_a6cIv :: a_a6ccd) (t_a6cIw :: t_a6cbW a_a6ccd). (SFoldable t_a6cbW, SEq a_a6ccd) => Sing t_a6cIv -> Sing t_a6cIw -> Sing (Apply (Apply ElemSym0 t_a6cIv) t_a6cIw :: Bool)
type family NotElem (a_a6cid :: a_a6cav) (a_a6cie :: t_a6cau a_a6cav) :: Bool
sNotElem :: forall a_a6cav t_a6cau (t_a6cG4 :: a_a6cav) (t_a6cG5 :: t_a6cau a_a6cav). (SFoldable t_a6cau, SEq a_a6cav) => Sing t_a6cG4 -> Sing t_a6cG5 -> Sing (Apply (Apply NotElemSym0 t_a6cG4) t_a6cG5 :: Bool)
type family Lookup (a_a42Ww :: a_a41Qo) (a_a42Wx :: [(a_a41Qo, b_a41Qp)]) :: Maybe b_a41Qp
sLookup :: forall a_a41Qo b_a41Qp (t_a43hj :: a_a41Qo) (t_a43hk :: [(a_a41Qo, b_a41Qp)]). SEq a_a41Qo => Sing t_a43hj -> Sing t_a43hk -> Sing (Apply (Apply LookupSym0 t_a43hj) t_a43hk :: Maybe b_a41Qp)
type family Find (a_a6chM :: (~>) a_a6cat Bool) (a_a6chN :: t_a6cas a_a6cat) :: Maybe a_a6cat
sFind :: forall a_a6cat t_a6cas (t_a6cG0 :: (~>) a_a6cat Bool) (t_a6cG1 :: t_a6cas a_a6cat). SFoldable t_a6cas => Sing t_a6cG0 -> Sing t_a6cG1 -> Sing (Apply (Apply FindSym0 t_a6cG0) t_a6cG1 :: Maybe a_a6cat)
type family Filter (a_a432e :: (~>) a_a41QL Bool) (a_a432f :: [a_a41QL]) :: [a_a41QL]
sFilter :: forall a_a41QL (t_a43iD :: (~>) a_a41QL Bool) (t_a43iE :: [a_a41QL]). Sing t_a43iD -> Sing t_a43iE -> Sing (Apply (Apply FilterSym0 t_a43iD) t_a43iE :: [a_a41QL])
type family Partition (a_a42Wq :: (~>) a_a41Qn Bool) (a_a42Wr :: [a_a41Qn]) :: ([a_a41Qn], [a_a41Qn])
sPartition :: forall a_a41Qn (t_a43hf :: (~>) a_a41Qn Bool) (t_a43hg :: [a_a41Qn]). Sing t_a43hf -> Sing t_a43hg -> Sing (Apply (Apply PartitionSym0 t_a43hf) t_a43hg :: ([a_a41Qn], [a_a41Qn]))
type family (!!) (a_a42V9 :: [a_a41Qg]) (a_a42Va :: Nat) :: a_a41Qg
infixl 9 !!
(%!!) :: forall a_a41Qg (t_a43gT :: [a_a41Qg]) (t_a43gU :: Nat). Sing t_a43gT -> Sing t_a43gU -> Sing (Apply (Apply (!!@#@$) t_a43gT) t_a43gU :: a_a41Qg)
infixl 9 %!!
type family ElemIndex (a_a431Y :: a_a41QJ) (a_a431Z :: [a_a41QJ]) :: Maybe Nat
sElemIndex :: forall a_a41QJ (t_a43iv :: a_a41QJ) (t_a43iw :: [a_a41QJ]). SEq a_a41QJ => Sing t_a43iv -> Sing t_a43iw -> Sing (Apply (Apply ElemIndexSym0 t_a43iv) t_a43iw :: Maybe Nat)
type family ElemIndices (a_a431Q :: a_a41QI) (a_a431R :: [a_a41QI]) :: [Nat]
sElemIndices :: forall a_a41QI (t_a43ir :: a_a41QI) (t_a43is :: [a_a41QI]). SEq a_a41QI => Sing t_a43ir -> Sing t_a43is -> Sing (Apply (Apply ElemIndicesSym0 t_a43ir) t_a43is :: [Nat])
type family FindIndex (a_a431I :: (~>) a_a41QH Bool) (a_a431J :: [a_a41QH]) :: Maybe Nat
sFindIndex :: forall a_a41QH (t_a43in :: (~>) a_a41QH Bool) (t_a43io :: [a_a41QH]). Sing t_a43in -> Sing t_a43io -> Sing (Apply (Apply FindIndexSym0 t_a43in) t_a43io :: Maybe Nat)
type family FindIndices (a_a431i :: (~>) a_a41QG Bool) (a_a431j :: [a_a41QG]) :: [Nat]
sFindIndices :: forall a_a41QG (t_a43ij :: (~>) a_a41QG Bool) (t_a43ik :: [a_a41QG]). Sing t_a43ij -> Sing t_a43ik -> Sing (Apply (Apply FindIndicesSym0 t_a43ij) t_a43ik :: [Nat])
type family Zip (a_a437X :: [a_a41Rv]) (a_a437Y :: [b_a41Rw]) :: [(a_a41Rv, b_a41Rw)]
sZip :: forall a_a41Rv b_a41Rw (t_a43jT :: [a_a41Rv]) (t_a43jU :: [b_a41Rw]). Sing t_a43jT -> Sing t_a43jU -> Sing (Apply (Apply ZipSym0 t_a43jT) t_a43jU :: [(a_a41Rv, b_a41Rw)])
type family Zip3 (a_a437L :: [a_a41Rs]) (a_a437M :: [b_a41Rt]) (a_a437N :: [c_a41Ru]) :: [(a_a41Rs, b_a41Rt, c_a41Ru)]
sZip3 :: forall a_a41Rs b_a41Rt c_a41Ru (t_a43jN :: [a_a41Rs]) (t_a43jO :: [b_a41Rt]) (t_a43jP :: [c_a41Ru]). Sing t_a43jN -> Sing t_a43jO -> Sing t_a43jP -> Sing (Apply (Apply (Apply Zip3Sym0 t_a43jN) t_a43jO) t_a43jP :: [(a_a41Rs, b_a41Rt, c_a41Ru)])
type family Zip4 (a_a4y4x :: [a_a4xDj]) (a_a4y4y :: [b_a4xDk]) (a_a4y4z :: [c_a4xDl]) (a_a4y4A :: [d_a4xDm]) :: [(a_a4xDj, b_a4xDk, c_a4xDl, d_a4xDm)]
type family Zip5 (a_a4y4a :: [a_a4xDe]) (a_a4y4b :: [b_a4xDf]) (a_a4y4c :: [c_a4xDg]) (a_a4y4d :: [d_a4xDh]) (a_a4y4e :: [e_a4xDi]) :: [(a_a4xDe, b_a4xDf, c_a4xDg, d_a4xDh, e_a4xDi)]
type family Zip6 (a_a4y3I :: [a_a4xD8]) (a_a4y3J :: [b_a4xD9]) (a_a4y3K :: [c_a4xDa]) (a_a4y3L :: [d_a4xDb]) (a_a4y3M :: [e_a4xDc]) (a_a4y3N :: [f_a4xDd]) :: [(a_a4xD8, b_a4xD9, c_a4xDa, d_a4xDb, e_a4xDc, f_a4xDd)]
type family Zip7 (a_a4y3b :: [a_a4xD1]) (a_a4y3c :: [b_a4xD2]) (a_a4y3d :: [c_a4xD3]) (a_a4y3e :: [d_a4xD4]) (a_a4y3f :: [e_a4xD5]) (a_a4y3g :: [f_a4xD6]) (a_a4y3h :: [g_a4xD7]) :: [(a_a4xD1, b_a4xD2, c_a4xD3, d_a4xD4, e_a4xD5, f_a4xD6, g_a4xD7)]
type family ZipWith (a_a437A :: (~>) a_a41Rp ((~>) b_a41Rq c_a41Rr)) (a_a437B :: [a_a41Rp]) (a_a437C :: [b_a41Rq]) :: [c_a41Rr]
sZipWith :: forall a_a41Rp b_a41Rq c_a41Rr (t_a43jH :: (~>) a_a41Rp ((~>) b_a41Rq c_a41Rr)) (t_a43jI :: [a_a41Rp]) (t_a43jJ :: [b_a41Rq]). Sing t_a43jH -> Sing t_a43jI -> Sing t_a43jJ -> Sing (Apply (Apply (Apply ZipWithSym0 t_a43jH) t_a43jI) t_a43jJ :: [c_a41Rr])
type family ZipWith3 (a_a437l :: (~>) a_a41Rl ((~>) b_a41Rm ((~>) c_a41Rn d_a41Ro))) (a_a437m :: [a_a41Rl]) (a_a437n :: [b_a41Rm]) (a_a437o :: [c_a41Rn]) :: [d_a41Ro]
sZipWith3 :: forall a_a41Rl b_a41Rm c_a41Rn d_a41Ro (t_a43jz :: (~>) a_a41Rl ((~>) b_a41Rm ((~>) c_a41Rn d_a41Ro))) (t_a43jA :: [a_a41Rl]) (t_a43jB :: [b_a41Rm]) (t_a43jC :: [c_a41Rn]). Sing t_a43jz -> Sing t_a43jA -> Sing t_a43jB -> Sing t_a43jC -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a43jz) t_a43jA) t_a43jB) t_a43jC :: [d_a41Ro])
type family ZipWith4 (a_a4y2E :: (~>) a_a4xCW ((~>) b_a4xCX ((~>) c_a4xCY ((~>) d_a4xCZ e_a4xD0)))) (a_a4y2F :: [a_a4xCW]) (a_a4y2G :: [b_a4xCX]) (a_a4y2H :: [c_a4xCY]) (a_a4y2I :: [d_a4xCZ]) :: [e_a4xD0]
type family ZipWith5 (a_a4y2h :: (~>) a_a4xCQ ((~>) b_a4xCR ((~>) c_a4xCS ((~>) d_a4xCT ((~>) e_a4xCU f_a4xCV))))) (a_a4y2i :: [a_a4xCQ]) (a_a4y2j :: [b_a4xCR]) (a_a4y2k :: [c_a4xCS]) (a_a4y2l :: [d_a4xCT]) (a_a4y2m :: [e_a4xCU]) :: [f_a4xCV]
type family ZipWith6 (a_a4y1Q :: (~>) a_a4xCJ ((~>) b_a4xCK ((~>) c_a4xCL ((~>) d_a4xCM ((~>) e_a4xCN ((~>) f_a4xCO g_a4xCP)))))) (a_a4y1R :: [a_a4xCJ]) (a_a4y1S :: [b_a4xCK]) (a_a4y1T :: [c_a4xCL]) (a_a4y1U :: [d_a4xCM]) (a_a4y1V :: [e_a4xCN]) (a_a4y1W :: [f_a4xCO]) :: [g_a4xCP]
type family ZipWith7 (a_a4y1l :: (~>) a_a4xCB ((~>) b_a4xCC ((~>) c_a4xCD ((~>) d_a4xCE ((~>) e_a4xCF ((~>) f_a4xCG ((~>) g_a4xCH h_a4xCI))))))) (a_a4y1m :: [a_a4xCB]) (a_a4y1n :: [b_a4xCC]) (a_a4y1o :: [c_a4xCD]) (a_a4y1p :: [d_a4xCE]) (a_a4y1q :: [e_a4xCF]) (a_a4y1r :: [f_a4xCG]) (a_a4y1s :: [g_a4xCH]) :: [h_a4xCI]
type family Unzip (a_a4372 :: [(a_a41Rj, b_a41Rk)]) :: ([a_a41Rj], [b_a41Rk])
sUnzip :: forall a_a41Rj b_a41Rk (t_a43jx :: [(a_a41Rj, b_a41Rk)]). Sing t_a43jx -> Sing (Apply UnzipSym0 t_a43jx :: ([a_a41Rj], [b_a41Rk]))
type family Unzip3 (a_a436H :: [(a_a41Rg, b_a41Rh, c_a41Ri)]) :: ([a_a41Rg], [b_a41Rh], [c_a41Ri])
sUnzip3 :: forall a_a41Rg b_a41Rh c_a41Ri (t_a43jv :: [(a_a41Rg, b_a41Rh, c_a41Ri)]). Sing t_a43jv -> Sing (Apply Unzip3Sym0 t_a43jv :: ([a_a41Rg], [b_a41Rh], [c_a41Ri]))
type family Unzip4 (a_a436k :: [(a_a41Rc, b_a41Rd, c_a41Re, d_a41Rf)]) :: ([a_a41Rc], [b_a41Rd], [c_a41Re], [d_a41Rf])
sUnzip4 :: forall a_a41Rc b_a41Rd c_a41Re d_a41Rf (t_a43jt :: [(a_a41Rc, b_a41Rd, c_a41Re, d_a41Rf)]). Sing t_a43jt -> Sing (Apply Unzip4Sym0 t_a43jt :: ([a_a41Rc], [b_a41Rd], [c_a41Re], [d_a41Rf]))
type family Unzip5 (a_a435V :: [(a_a41R7, b_a41R8, c_a41R9, d_a41Ra, e_a41Rb)]) :: ([a_a41R7], [b_a41R8], [c_a41R9], [d_a41Ra], [e_a41Rb])
sUnzip5 :: forall a_a41R7 b_a41R8 c_a41R9 d_a41Ra e_a41Rb (t_a43jr :: [(a_a41R7, b_a41R8, c_a41R9, d_a41Ra, e_a41Rb)]). Sing t_a43jr -> Sing (Apply Unzip5Sym0 t_a43jr :: ([a_a41R7], [b_a41R8], [c_a41R9], [d_a41Ra], [e_a41Rb]))
type family Unzip6 (a_a435u :: [(a_a41R1, b_a41R2, c_a41R3, d_a41R4, e_a41R5, f_a41R6)]) :: ([a_a41R1], [b_a41R2], [c_a41R3], [d_a41R4], [e_a41R5], [f_a41R6])
sUnzip6 :: forall a_a41R1 b_a41R2 c_a41R3 d_a41R4 e_a41R5 f_a41R6 (t_a43jp :: [(a_a41R1, b_a41R2, c_a41R3, d_a41R4, e_a41R5, f_a41R6)]). Sing t_a43jp -> Sing (Apply Unzip6Sym0 t_a43jp :: ([a_a41R1], [b_a41R2], [c_a41R3], [d_a41R4], [e_a41R5], [f_a41R6]))
type family Unzip7 (a_a4351 :: [(a_a41QU, b_a41QV, c_a41QW, d_a41QX, e_a41QY, f_a41QZ, g_a41R0)]) :: ([a_a41QU], [b_a41QV], [c_a41QW], [d_a41QX], [e_a41QY], [f_a41QZ], [g_a41R0])
sUnzip7 :: forall a_a41QU b_a41QV c_a41QW d_a41QX e_a41QY f_a41QZ g_a41R0 (t_a43jn :: [(a_a41QU, b_a41QV, c_a41QW, d_a41QX, e_a41QY, f_a41QZ, g_a41R0)]). Sing t_a43jn -> Sing (Apply Unzip7Sym0 t_a43jn :: ([a_a41QU], [b_a41QV], [c_a41QW], [d_a41QX], [e_a41QY], [f_a41QZ], [g_a41R0]))
type family Unlines (a_a434X :: [Symbol]) :: Symbol
sUnlines :: forall (t_a43jl :: [Symbol]). Sing t_a43jl -> Sing (Apply UnlinesSym0 t_a43jl :: Symbol)
type family Unwords (a_a434M :: [Symbol]) :: Symbol
sUnwords :: forall (t_a43jj :: [Symbol]). Sing t_a43jj -> Sing (Apply UnwordsSym0 t_a43jj :: Symbol)
type family Nub (a_a42UP :: [a_a41Qf]) :: [a_a41Qf]
sNub :: forall a_a41Qf (t_a43gR :: [a_a41Qf]). SEq a_a41Qf => Sing t_a43gR -> Sing (Apply NubSym0 t_a43gR :: [a_a41Qf])
type family Delete (a_a434G :: a_a41QT) (a_a434H :: [a_a41QT]) :: [a_a41QT]
sDelete :: forall a_a41QT (t_a43jf :: a_a41QT) (t_a43jg :: [a_a41QT]). SEq a_a41QT => Sing t_a43jf -> Sing t_a43jg -> Sing (Apply (Apply DeleteSym0 t_a43jf) t_a43jg :: [a_a41QT])
type family (\\) (a_a434w :: [a_a41QS]) (a_a434x :: [a_a41QS]) :: [a_a41QS]
infix 5 \\
(%\\) :: forall a_a41QS (t_a43jb :: [a_a41QS]) (t_a43jc :: [a_a41QS]). SEq a_a41QS => Sing t_a43jb -> Sing t_a43jc -> Sing (Apply (Apply (\\@#@$) t_a43jb) t_a43jc :: [a_a41QS])
infix 5 %\\
type family Union (a_a42U1 :: [a_a41Qb]) (a_a42U2 :: [a_a41Qb]) :: [a_a41Qb]
sUnion :: forall a_a41Qb (t_a43gx :: [a_a41Qb]) (t_a43gy :: [a_a41Qb]). SEq a_a41Qb => Sing t_a43gx -> Sing t_a43gy -> Sing (Apply (Apply UnionSym0 t_a43gx) t_a43gy :: [a_a41Qb])
type family Intersect (a_a431c :: [a_a41QF]) (a_a431d :: [a_a41QF]) :: [a_a41QF]
sIntersect :: forall a_a41QF (t_a43if :: [a_a41QF]) (t_a43ig :: [a_a41QF]). SEq a_a41QF => Sing t_a43if -> Sing t_a43ig -> Sing (Apply (Apply IntersectSym0 t_a43if) t_a43ig :: [a_a41QF])
type family Insert (a_a42Xn :: a_a41Qs) (a_a42Xo :: [a_a41Qs]) :: [a_a41Qs]
sInsert :: forall a_a41Qs (t_a43ht :: a_a41Qs) (t_a43hu :: [a_a41Qs]). SOrd a_a41Qs => Sing t_a43ht -> Sing t_a43hu -> Sing (Apply (Apply InsertSym0 t_a43ht) t_a43hu :: [a_a41Qs])
type family Sort (a_a42Xk :: [a_a41Qr]) :: [a_a41Qr]
sSort :: forall a_a41Qr (t_a43hr :: [a_a41Qr]). SOrd a_a41Qr => Sing t_a43hr -> Sing (Apply SortSym0 t_a43hr :: [a_a41Qr])
type family NubBy (a_a42Uq :: (~>) a_a41Qe ((~>) a_a41Qe Bool)) (a_a42Ur :: [a_a41Qe]) :: [a_a41Qe]
sNubBy :: forall a_a41Qe (t_a43gN :: (~>) a_a41Qe ((~>) a_a41Qe Bool)) (t_a43gO :: [a_a41Qe]). Sing t_a43gN -> Sing t_a43gO -> Sing (Apply (Apply NubBySym0 t_a43gN) t_a43gO :: [a_a41Qe])
type family DeleteBy (a_a434a :: (~>) a_a41QR ((~>) a_a41QR Bool)) (a_a434b :: a_a41QR) (a_a434c :: [a_a41QR]) :: [a_a41QR]
sDeleteBy :: forall a_a41QR (t_a43j5 :: (~>) a_a41QR ((~>) a_a41QR Bool)) (t_a43j6 :: a_a41QR) (t_a43j7 :: [a_a41QR]). Sing t_a43j5 -> Sing t_a43j6 -> Sing t_a43j7 -> Sing (Apply (Apply (Apply DeleteBySym0 t_a43j5) t_a43j6) t_a43j7 :: [a_a41QR])
type family DeleteFirstsBy (a_a433X :: (~>) a_a41QQ ((~>) a_a41QQ Bool)) (a_a433Y :: [a_a41QQ]) (a_a433Z :: [a_a41QQ]) :: [a_a41QQ]
sDeleteFirstsBy :: forall a_a41QQ (t_a43iZ :: (~>) a_a41QQ ((~>) a_a41QQ Bool)) (t_a43j0 :: [a_a41QQ]) (t_a43j1 :: [a_a41QQ]). Sing t_a43iZ -> Sing t_a43j0 -> Sing t_a43j1 -> Sing (Apply (Apply (Apply DeleteFirstsBySym0 t_a43iZ) t_a43j0) t_a43j1 :: [a_a41QQ])
type family UnionBy (a_a42U7 :: (~>) a_a41Qc ((~>) a_a41Qc Bool)) (a_a42U8 :: [a_a41Qc]) (a_a42U9 :: [a_a41Qc]) :: [a_a41Qc]
sUnionBy :: forall a_a41Qc (t_a43gB :: (~>) a_a41Qc ((~>) a_a41Qc Bool)) (t_a43gC :: [a_a41Qc]) (t_a43gD :: [a_a41Qc]). Sing t_a43gB -> Sing t_a43gC -> Sing t_a43gD -> Sing (Apply (Apply (Apply UnionBySym0 t_a43gB) t_a43gC) t_a43gD :: [a_a41Qc])
type family IntersectBy (a_a430C :: (~>) a_a41QE ((~>) a_a41QE Bool)) (a_a430D :: [a_a41QE]) (a_a430E :: [a_a41QE]) :: [a_a41QE]
sIntersectBy :: forall a_a41QE (t_a43i9 :: (~>) a_a41QE ((~>) a_a41QE Bool)) (t_a43ia :: [a_a41QE]) (t_a43ib :: [a_a41QE]). Sing t_a43i9 -> Sing t_a43ia -> Sing t_a43ib -> Sing (Apply (Apply (Apply IntersectBySym0 t_a43i9) t_a43ia) t_a43ib :: [a_a41QE])
type family GroupBy (a_a42WN :: (~>) a_a41Qq ((~>) a_a41Qq Bool)) (a_a42WO :: [a_a41Qq]) :: [[a_a41Qq]]
sGroupBy :: forall a_a41Qq (t_a43hn :: (~>) a_a41Qq ((~>) a_a41Qq Bool)) (t_a43ho :: [a_a41Qq]). Sing t_a43hn -> Sing t_a43ho -> Sing (Apply (Apply GroupBySym0 t_a43hn) t_a43ho :: [[a_a41Qq]])
type family SortBy (a_a433P :: (~>) a_a41QP ((~>) a_a41QP Ordering)) (a_a433Q :: [a_a41QP]) :: [a_a41QP]
sSortBy :: forall a_a41QP (t_a43iV :: (~>) a_a41QP ((~>) a_a41QP Ordering)) (t_a43iW :: [a_a41QP]). Sing t_a43iV -> Sing t_a43iW -> Sing (Apply (Apply SortBySym0 t_a43iV) t_a43iW :: [a_a41QP])
type family InsertBy (a_a433r :: (~>) a_a41QO ((~>) a_a41QO Ordering)) (a_a433s :: a_a41QO) (a_a433t :: [a_a41QO]) :: [a_a41QO]
sInsertBy :: forall a_a41QO (t_a43iP :: (~>) a_a41QO ((~>) a_a41QO Ordering)) (t_a43iQ :: a_a41QO) (t_a43iR :: [a_a41QO]). Sing t_a43iP -> Sing t_a43iQ -> Sing t_a43iR -> Sing (Apply (Apply (Apply InsertBySym0 t_a43iP) t_a43iQ) t_a43iR :: [a_a41QO])
type family MaximumBy (a_a6ciK :: (~>) a_a6caz ((~>) a_a6caz Ordering)) (a_a6ciL :: t_a6cay a_a6caz) :: a_a6caz
sMaximumBy :: forall a_a6caz t_a6cay (t_a6cGc :: (~>) a_a6caz ((~>) a_a6caz Ordering)) (t_a6cGd :: t_a6cay a_a6caz). SFoldable t_a6cay => Sing t_a6cGc -> Sing t_a6cGd -> Sing (Apply (Apply MaximumBySym0 t_a6cGc) t_a6cGd :: a_a6caz)
type family MinimumBy (a_a6cil :: (~>) a_a6cax ((~>) a_a6cax Ordering)) (a_a6cim :: t_a6caw a_a6cax) :: a_a6cax
sMinimumBy :: forall a_a6cax t_a6caw (t_a6cG8 :: (~>) a_a6cax ((~>) a_a6cax Ordering)) (t_a6cG9 :: t_a6caw a_a6cax). SFoldable t_a6caw => Sing t_a6cG8 -> Sing t_a6cG9 -> Sing (Apply (Apply MinimumBySym0 t_a6cG8) t_a6cG9 :: a_a6cax)
type family GenericLength (a_a42TU :: [a_a41Qa]) :: i_a41Q9
sGenericLength :: forall a_a41Qa i_a41Q9 (t_a43gv :: [a_a41Qa]). SNum i_a41Q9 => Sing t_a43gv -> Sing (Apply GenericLengthSym0 t_a43gv :: i_a41Q9)
type family GenericTake (a_a4y1f :: i_a4xCz) (a_a4y1g :: [a_a4xCA]) :: [a_a4xCA]
type family GenericDrop (a_a4y15 :: i_a4xCx) (a_a4y16 :: [a_a4xCy]) :: [a_a4xCy]
type family GenericSplitAt (a_a4y0V :: i_a4xCv) (a_a4y0W :: [a_a4xCw]) :: ([a_a4xCw], [a_a4xCw])
type family GenericIndex (a_a4y0L :: [a_a4xCu]) (a_a4y0M :: i_a4xCt) :: a_a4xCu
type family GenericReplicate (a_a4y0B :: i_a4xCr) (a_a4y0C :: a_a4xCs) :: [a_a4xCs]
type NilSym0 = '[]
data (:@#@$) :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 ((~>) [a3530822107858468865] [a3530822107858468865 :: Type])
infixr 5 :@#@$
data (:@#@$$) (t6989586621679310927 :: a3530822107858468865 :: Type) :: (~>) [a3530822107858468865] [a3530822107858468865 :: Type]
infixr 5 :@#@$$
type (:@#@$$$) (t6989586621679310927 :: a3530822107858468865) (t6989586621679310928 :: [a3530822107858468865]) = '(:) t6989586621679310927 t6989586621679310928
type (++@#@$$$) (a6989586621679541756 :: [a6989586621679541559]) (a6989586621679541757 :: [a6989586621679541559]) = (++) a6989586621679541756 a6989586621679541757
data (++@#@$$) (a6989586621679541756 :: [a6989586621679541559]) :: (~>) [a6989586621679541559] [a6989586621679541559]
infixr 5 ++@#@$$
data (++@#@$) :: forall a6989586621679541559. (~>) [a6989586621679541559] ((~>) [a6989586621679541559] [a6989586621679541559])
infixr 5 ++@#@$
data HeadSym0 :: forall a6989586621679970309. (~>) [a6989586621679970309] a6989586621679970309
type HeadSym1 (a6989586621679975656 :: [a6989586621679970309]) = Head a6989586621679975656
data LastSym0 :: forall a6989586621679970308. (~>) [a6989586621679970308] a6989586621679970308
type LastSym1 (a6989586621679975651 :: [a6989586621679970308]) = Last a6989586621679975651
data TailSym0 :: forall a6989586621679970307. (~>) [a6989586621679970307] [a6989586621679970307]
type TailSym1 (a6989586621679975648 :: [a6989586621679970307]) = Tail a6989586621679975648
data InitSym0 :: forall a6989586621679970306. (~>) [a6989586621679970306] [a6989586621679970306]
type InitSym1 (a6989586621679975634 :: [a6989586621679970306]) = Init a6989586621679975634
data NullSym0 :: forall t6989586621680486628 a6989586621680486643. (~>) (t6989586621680486628 a6989586621680486643) Bool
type NullSym1 (arg6989586621680487287 :: t6989586621680486628 a6989586621680486643) = Null arg6989586621680487287
data LengthSym0 :: forall t6989586621680486628 a6989586621680486644. (~>) (t6989586621680486628 a6989586621680486644) Nat
type LengthSym1 (arg6989586621680487289 :: t6989586621680486628 a6989586621680486644) = Length arg6989586621680487289
data MapSym0 :: forall a6989586621679541560 b6989586621679541561. (~>) ((~>) a6989586621679541560 b6989586621679541561) ((~>) [a6989586621679541560] [b6989586621679541561])
data MapSym1 (a6989586621679541764 :: (~>) a6989586621679541560 b6989586621679541561) :: (~>) [a6989586621679541560] [b6989586621679541561]
type MapSym2 (a6989586621679541764 :: (~>) a6989586621679541560 b6989586621679541561) (a6989586621679541765 :: [a6989586621679541560]) = Map a6989586621679541764 a6989586621679541765
data ReverseSym0 :: forall a6989586621679970304. (~>) [a6989586621679970304] [a6989586621679970304]
type ReverseSym1 (a6989586621679975619 :: [a6989586621679970304]) = Reverse a6989586621679975619
data IntersperseSym0 :: forall a6989586621679970303. (~>) a6989586621679970303 ((~>) [a6989586621679970303] [a6989586621679970303])
data IntersperseSym1 (a6989586621679975612 :: a6989586621679970303) :: (~>) [a6989586621679970303] [a6989586621679970303]
type IntersperseSym2 (a6989586621679975612 :: a6989586621679970303) (a6989586621679975613 :: [a6989586621679970303]) = Intersperse a6989586621679975612 a6989586621679975613
data IntercalateSym0 :: forall a6989586621679970302. (~>) [a6989586621679970302] ((~>) [[a6989586621679970302]] [a6989586621679970302])
data IntercalateSym1 (a6989586621679975606 :: [a6989586621679970302]) :: (~>) [[a6989586621679970302]] [a6989586621679970302]
type IntercalateSym2 (a6989586621679975606 :: [a6989586621679970302]) (a6989586621679975607 :: [[a6989586621679970302]]) = Intercalate a6989586621679975606 a6989586621679975607
data TransposeSym0 :: forall a6989586621679970189. (~>) [[a6989586621679970189]] [[a6989586621679970189]]
type TransposeSym1 (a6989586621679974349 :: [[a6989586621679970189]]) = Transpose a6989586621679974349
data SubsequencesSym0 :: forall a6989586621679970301. (~>) [a6989586621679970301] [[a6989586621679970301]]
type SubsequencesSym1 (a6989586621679975603 :: [a6989586621679970301]) = Subsequences a6989586621679975603
data PermutationsSym0 :: forall a6989586621679970298. (~>) [a6989586621679970298] [[a6989586621679970298]]
type PermutationsSym1 (a6989586621679975485 :: [a6989586621679970298]) = Permutations a6989586621679975485
data FoldlSym0 :: forall b6989586621680486636 a6989586621680486637 t6989586621680486628. (~>) ((~>) b6989586621680486636 ((~>) a6989586621680486637 b6989586621680486636)) ((~>) b6989586621680486636 ((~>) (t6989586621680486628 a6989586621680486637) b6989586621680486636))
data FoldlSym1 (arg6989586621680487265 :: (~>) b6989586621680486636 ((~>) a6989586621680486637 b6989586621680486636)) :: forall t6989586621680486628. (~>) b6989586621680486636 ((~>) (t6989586621680486628 a6989586621680486637) b6989586621680486636)
data FoldlSym2 (arg6989586621680487265 :: (~>) b6989586621680486636 ((~>) a6989586621680486637 b6989586621680486636)) (arg6989586621680487266 :: b6989586621680486636) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486637) b6989586621680486636
type FoldlSym3 (arg6989586621680487265 :: (~>) b6989586621680486636 ((~>) a6989586621680486637 b6989586621680486636)) (arg6989586621680487266 :: b6989586621680486636) (arg6989586621680487267 :: t6989586621680486628 a6989586621680486637) = Foldl arg6989586621680487265 arg6989586621680487266 arg6989586621680487267
data Foldl'Sym0 :: forall b6989586621680486638 a6989586621680486639 t6989586621680486628. (~>) ((~>) b6989586621680486638 ((~>) a6989586621680486639 b6989586621680486638)) ((~>) b6989586621680486638 ((~>) (t6989586621680486628 a6989586621680486639) b6989586621680486638))
data Foldl'Sym1 (arg6989586621680487271 :: (~>) b6989586621680486638 ((~>) a6989586621680486639 b6989586621680486638)) :: forall t6989586621680486628. (~>) b6989586621680486638 ((~>) (t6989586621680486628 a6989586621680486639) b6989586621680486638)
data Foldl'Sym2 (arg6989586621680487271 :: (~>) b6989586621680486638 ((~>) a6989586621680486639 b6989586621680486638)) (arg6989586621680487272 :: b6989586621680486638) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486639) b6989586621680486638
type Foldl'Sym3 (arg6989586621680487271 :: (~>) b6989586621680486638 ((~>) a6989586621680486639 b6989586621680486638)) (arg6989586621680487272 :: b6989586621680486638) (arg6989586621680487273 :: t6989586621680486628 a6989586621680486639) = Foldl' arg6989586621680487271 arg6989586621680487272 arg6989586621680487273
data Foldl1Sym0 :: forall a6989586621680486641 t6989586621680486628. (~>) ((~>) a6989586621680486641 ((~>) a6989586621680486641 a6989586621680486641)) ((~>) (t6989586621680486628 a6989586621680486641) a6989586621680486641)
data Foldl1Sym1 (arg6989586621680487281 :: (~>) a6989586621680486641 ((~>) a6989586621680486641 a6989586621680486641)) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486641) a6989586621680486641
type Foldl1Sym2 (arg6989586621680487281 :: (~>) a6989586621680486641 ((~>) a6989586621680486641 a6989586621680486641)) (arg6989586621680487282 :: t6989586621680486628 a6989586621680486641) = Foldl1 arg6989586621680487281 arg6989586621680487282
data Foldl1'Sym0 :: forall a6989586621679970294. (~>) ((~>) a6989586621679970294 ((~>) a6989586621679970294 a6989586621679970294)) ((~>) [a6989586621679970294] a6989586621679970294)
data Foldl1'Sym1 (a6989586621679975443 :: (~>) a6989586621679970294 ((~>) a6989586621679970294 a6989586621679970294)) :: (~>) [a6989586621679970294] a6989586621679970294
type Foldl1'Sym2 (a6989586621679975443 :: (~>) a6989586621679970294 ((~>) a6989586621679970294 a6989586621679970294)) (a6989586621679975444 :: [a6989586621679970294]) = Foldl1' a6989586621679975443 a6989586621679975444
data FoldrSym0 :: forall a6989586621680486632 b6989586621680486633 t6989586621680486628. (~>) ((~>) a6989586621680486632 ((~>) b6989586621680486633 b6989586621680486633)) ((~>) b6989586621680486633 ((~>) (t6989586621680486628 a6989586621680486632) b6989586621680486633))
data FoldrSym1 (arg6989586621680487253 :: (~>) a6989586621680486632 ((~>) b6989586621680486633 b6989586621680486633)) :: forall t6989586621680486628. (~>) b6989586621680486633 ((~>) (t6989586621680486628 a6989586621680486632) b6989586621680486633)
data FoldrSym2 (arg6989586621680487253 :: (~>) a6989586621680486632 ((~>) b6989586621680486633 b6989586621680486633)) (arg6989586621680487254 :: b6989586621680486633) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486632) b6989586621680486633
type FoldrSym3 (arg6989586621680487253 :: (~>) a6989586621680486632 ((~>) b6989586621680486633 b6989586621680486633)) (arg6989586621680487254 :: b6989586621680486633) (arg6989586621680487255 :: t6989586621680486628 a6989586621680486632) = Foldr arg6989586621680487253 arg6989586621680487254 arg6989586621680487255
data Foldr1Sym0 :: forall a6989586621680486640 t6989586621680486628. (~>) ((~>) a6989586621680486640 ((~>) a6989586621680486640 a6989586621680486640)) ((~>) (t6989586621680486628 a6989586621680486640) a6989586621680486640)
data Foldr1Sym1 (arg6989586621680487277 :: (~>) a6989586621680486640 ((~>) a6989586621680486640 a6989586621680486640)) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486640) a6989586621680486640
type Foldr1Sym2 (arg6989586621680487277 :: (~>) a6989586621680486640 ((~>) a6989586621680486640 a6989586621680486640)) (arg6989586621680487278 :: t6989586621680486628 a6989586621680486640) = Foldr1 arg6989586621680487277 arg6989586621680487278
data ConcatSym0 :: forall t6989586621680486553 a6989586621680486554. (~>) (t6989586621680486553 [a6989586621680486554]) [a6989586621680486554]
type ConcatSym1 (a6989586621680487135 :: t6989586621680486553 [a6989586621680486554]) = Concat a6989586621680487135
data ConcatMapSym0 :: forall a6989586621680486551 b6989586621680486552 t6989586621680486550. (~>) ((~>) a6989586621680486551 [b6989586621680486552]) ((~>) (t6989586621680486550 a6989586621680486551) [b6989586621680486552])
data ConcatMapSym1 (a6989586621680487119 :: (~>) a6989586621680486551 [b6989586621680486552]) :: forall t6989586621680486550. (~>) (t6989586621680486550 a6989586621680486551) [b6989586621680486552]
type ConcatMapSym2 (a6989586621680487119 :: (~>) a6989586621680486551 [b6989586621680486552]) (a6989586621680487120 :: t6989586621680486550 a6989586621680486551) = ConcatMap a6989586621680487119 a6989586621680487120
data AndSym0 :: forall t6989586621680486549. (~>) (t6989586621680486549 Bool) Bool
type AndSym1 (a6989586621680487110 :: t6989586621680486549 Bool) = And a6989586621680487110
data OrSym0 :: forall t6989586621680486548. (~>) (t6989586621680486548 Bool) Bool
type OrSym1 (a6989586621680487101 :: t6989586621680486548 Bool) = Or a6989586621680487101
data AnySym0 :: forall a6989586621680486547 t6989586621680486546. (~>) ((~>) a6989586621680486547 Bool) ((~>) (t6989586621680486546 a6989586621680486547) Bool)
data AnySym1 (a6989586621680487088 :: (~>) a6989586621680486547 Bool) :: forall t6989586621680486546. (~>) (t6989586621680486546 a6989586621680486547) Bool
type AnySym2 (a6989586621680487088 :: (~>) a6989586621680486547 Bool) (a6989586621680487089 :: t6989586621680486546 a6989586621680486547) = Any a6989586621680487088 a6989586621680487089
data AllSym0 :: forall a6989586621680486545 t6989586621680486544. (~>) ((~>) a6989586621680486545 Bool) ((~>) (t6989586621680486544 a6989586621680486545) Bool)
data AllSym1 (a6989586621680487075 :: (~>) a6989586621680486545 Bool) :: forall t6989586621680486544. (~>) (t6989586621680486544 a6989586621680486545) Bool
type AllSym2 (a6989586621680487075 :: (~>) a6989586621680486545 Bool) (a6989586621680487076 :: t6989586621680486544 a6989586621680486545) = All a6989586621680487075 a6989586621680487076
data SumSym0 :: forall t6989586621680486628 a6989586621680486648. (~>) (t6989586621680486628 a6989586621680486648) a6989586621680486648
type SumSym1 (arg6989586621680487299 :: t6989586621680486628 a6989586621680486648) = Sum arg6989586621680487299
data ProductSym0 :: forall t6989586621680486628 a6989586621680486649. (~>) (t6989586621680486628 a6989586621680486649) a6989586621680486649
type ProductSym1 (arg6989586621680487301 :: t6989586621680486628 a6989586621680486649) = Product arg6989586621680487301
data MaximumSym0 :: forall t6989586621680486628 a6989586621680486646. (~>) (t6989586621680486628 a6989586621680486646) a6989586621680486646
type MaximumSym1 (arg6989586621680487295 :: t6989586621680486628 a6989586621680486646) = Maximum arg6989586621680487295
data MinimumSym0 :: forall t6989586621680486628 a6989586621680486647. (~>) (t6989586621680486628 a6989586621680486647) a6989586621680486647
type MinimumSym1 (arg6989586621680487297 :: t6989586621680486628 a6989586621680486647) = Minimum arg6989586621680487297
data ScanlSym0 :: forall b6989586621679970286 a6989586621679970287. (~>) ((~>) b6989586621679970286 ((~>) a6989586621679970287 b6989586621679970286)) ((~>) b6989586621679970286 ((~>) [a6989586621679970287] [b6989586621679970286]))
data ScanlSym1 (a6989586621679975380 :: (~>) b6989586621679970286 ((~>) a6989586621679970287 b6989586621679970286)) :: (~>) b6989586621679970286 ((~>) [a6989586621679970287] [b6989586621679970286])
data ScanlSym2 (a6989586621679975380 :: (~>) b6989586621679970286 ((~>) a6989586621679970287 b6989586621679970286)) (a6989586621679975381 :: b6989586621679970286) :: (~>) [a6989586621679970287] [b6989586621679970286]
type ScanlSym3 (a6989586621679975380 :: (~>) b6989586621679970286 ((~>) a6989586621679970287 b6989586621679970286)) (a6989586621679975381 :: b6989586621679970286) (a6989586621679975382 :: [a6989586621679970287]) = Scanl a6989586621679975380 a6989586621679975381 a6989586621679975382
data Scanl1Sym0 :: forall a6989586621679970285. (~>) ((~>) a6989586621679970285 ((~>) a6989586621679970285 a6989586621679970285)) ((~>) [a6989586621679970285] [a6989586621679970285])
data Scanl1Sym1 (a6989586621679975373 :: (~>) a6989586621679970285 ((~>) a6989586621679970285 a6989586621679970285)) :: (~>) [a6989586621679970285] [a6989586621679970285]
type Scanl1Sym2 (a6989586621679975373 :: (~>) a6989586621679970285 ((~>) a6989586621679970285 a6989586621679970285)) (a6989586621679975374 :: [a6989586621679970285]) = Scanl1 a6989586621679975373 a6989586621679975374
data ScanrSym0 :: forall a6989586621679970283 b6989586621679970284. (~>) ((~>) a6989586621679970283 ((~>) b6989586621679970284 b6989586621679970284)) ((~>) b6989586621679970284 ((~>) [a6989586621679970283] [b6989586621679970284]))
data ScanrSym1 (a6989586621679975352 :: (~>) a6989586621679970283 ((~>) b6989586621679970284 b6989586621679970284)) :: (~>) b6989586621679970284 ((~>) [a6989586621679970283] [b6989586621679970284])
data ScanrSym2 (a6989586621679975352 :: (~>) a6989586621679970283 ((~>) b6989586621679970284 b6989586621679970284)) (a6989586621679975353 :: b6989586621679970284) :: (~>) [a6989586621679970283] [b6989586621679970284]
type ScanrSym3 (a6989586621679975352 :: (~>) a6989586621679970283 ((~>) b6989586621679970284 b6989586621679970284)) (a6989586621679975353 :: b6989586621679970284) (a6989586621679975354 :: [a6989586621679970283]) = Scanr a6989586621679975352 a6989586621679975353 a6989586621679975354
data Scanr1Sym0 :: forall a6989586621679970282. (~>) ((~>) a6989586621679970282 ((~>) a6989586621679970282 a6989586621679970282)) ((~>) [a6989586621679970282] [a6989586621679970282])
data Scanr1Sym1 (a6989586621679975328 :: (~>) a6989586621679970282 ((~>) a6989586621679970282 a6989586621679970282)) :: (~>) [a6989586621679970282] [a6989586621679970282]
type Scanr1Sym2 (a6989586621679975328 :: (~>) a6989586621679970282 ((~>) a6989586621679970282 a6989586621679970282)) (a6989586621679975329 :: [a6989586621679970282]) = Scanr1 a6989586621679975328 a6989586621679975329
data MapAccumLSym0 :: forall a6989586621680800353 b6989586621680800354 c6989586621680800355 t6989586621680800352. (~>) ((~>) a6989586621680800353 ((~>) b6989586621680800354 (a6989586621680800353, c6989586621680800355))) ((~>) a6989586621680800353 ((~>) (t6989586621680800352 b6989586621680800354) (a6989586621680800353, t6989586621680800352 c6989586621680800355)))
data MapAccumLSym1 (a6989586621680800856 :: (~>) a6989586621680800353 ((~>) b6989586621680800354 (a6989586621680800353, c6989586621680800355))) :: forall t6989586621680800352. (~>) a6989586621680800353 ((~>) (t6989586621680800352 b6989586621680800354) (a6989586621680800353, t6989586621680800352 c6989586621680800355))
data MapAccumLSym2 (a6989586621680800856 :: (~>) a6989586621680800353 ((~>) b6989586621680800354 (a6989586621680800353, c6989586621680800355))) (a6989586621680800857 :: a6989586621680800353) :: forall t6989586621680800352. (~>) (t6989586621680800352 b6989586621680800354) (a6989586621680800353, t6989586621680800352 c6989586621680800355)
type MapAccumLSym3 (a6989586621680800856 :: (~>) a6989586621680800353 ((~>) b6989586621680800354 (a6989586621680800353, c6989586621680800355))) (a6989586621680800857 :: a6989586621680800353) (a6989586621680800858 :: t6989586621680800352 b6989586621680800354) = MapAccumL a6989586621680800856 a6989586621680800857 a6989586621680800858
data MapAccumRSym0 :: forall a6989586621680800349 b6989586621680800350 c6989586621680800351 t6989586621680800348. (~>) ((~>) a6989586621680800349 ((~>) b6989586621680800350 (a6989586621680800349, c6989586621680800351))) ((~>) a6989586621680800349 ((~>) (t6989586621680800348 b6989586621680800350) (a6989586621680800349, t6989586621680800348 c6989586621680800351)))
data MapAccumRSym1 (a6989586621680800839 :: (~>) a6989586621680800349 ((~>) b6989586621680800350 (a6989586621680800349, c6989586621680800351))) :: forall t6989586621680800348. (~>) a6989586621680800349 ((~>) (t6989586621680800348 b6989586621680800350) (a6989586621680800349, t6989586621680800348 c6989586621680800351))
data MapAccumRSym2 (a6989586621680800839 :: (~>) a6989586621680800349 ((~>) b6989586621680800350 (a6989586621680800349, c6989586621680800351))) (a6989586621680800840 :: a6989586621680800349) :: forall t6989586621680800348. (~>) (t6989586621680800348 b6989586621680800350) (a6989586621680800349, t6989586621680800348 c6989586621680800351)
type MapAccumRSym3 (a6989586621680800839 :: (~>) a6989586621680800349 ((~>) b6989586621680800350 (a6989586621680800349, c6989586621680800351))) (a6989586621680800840 :: a6989586621680800349) (a6989586621680800841 :: t6989586621680800348 b6989586621680800350) = MapAccumR a6989586621680800839 a6989586621680800840 a6989586621680800841
data ReplicateSym0 :: forall a6989586621679970190. (~>) Nat ((~>) a6989586621679970190 [a6989586621679970190])
data ReplicateSym1 (a6989586621679974355 :: Nat) :: forall a6989586621679970190. (~>) a6989586621679970190 [a6989586621679970190]
type ReplicateSym2 (a6989586621679974355 :: Nat) (a6989586621679974356 :: a6989586621679970190) = Replicate a6989586621679974355 a6989586621679974356
data UnfoldrSym0 :: forall b6989586621679970274 a6989586621679970275. (~>) ((~>) b6989586621679970274 (Maybe (a6989586621679970275, b6989586621679970274))) ((~>) b6989586621679970274 [a6989586621679970275])
data UnfoldrSym1 (a6989586621679975186 :: (~>) b6989586621679970274 (Maybe (a6989586621679970275, b6989586621679970274))) :: (~>) b6989586621679970274 [a6989586621679970275]
type UnfoldrSym2 (a6989586621679975186 :: (~>) b6989586621679970274 (Maybe (a6989586621679970275, b6989586621679970274))) (a6989586621679975187 :: b6989586621679970274) = Unfoldr a6989586621679975186 a6989586621679975187
data TakeSym0 :: forall a6989586621679970206. (~>) Nat ((~>) [a6989586621679970206] [a6989586621679970206])
data TakeSym1 (a6989586621679974516 :: Nat) :: forall a6989586621679970206. (~>) [a6989586621679970206] [a6989586621679970206]
type TakeSym2 (a6989586621679974516 :: Nat) (a6989586621679974517 :: [a6989586621679970206]) = Take a6989586621679974516 a6989586621679974517
data DropSym0 :: forall a6989586621679970205. (~>) Nat ((~>) [a6989586621679970205] [a6989586621679970205])
data DropSym1 (a6989586621679974502 :: Nat) :: forall a6989586621679970205. (~>) [a6989586621679970205] [a6989586621679970205]
type DropSym2 (a6989586621679974502 :: Nat) (a6989586621679974503 :: [a6989586621679970205]) = Drop a6989586621679974502 a6989586621679974503
data SplitAtSym0 :: forall a6989586621679970204. (~>) Nat ((~>) [a6989586621679970204] ([a6989586621679970204], [a6989586621679970204]))
data SplitAtSym1 (a6989586621679974496 :: Nat) :: forall a6989586621679970204. (~>) [a6989586621679970204] ([a6989586621679970204], [a6989586621679970204])
type SplitAtSym2 (a6989586621679974496 :: Nat) (a6989586621679974497 :: [a6989586621679970204]) = SplitAt a6989586621679974496 a6989586621679974497
data TakeWhileSym0 :: forall a6989586621679970211. (~>) ((~>) a6989586621679970211 Bool) ((~>) [a6989586621679970211] [a6989586621679970211])
data TakeWhileSym1 (a6989586621679974660 :: (~>) a6989586621679970211 Bool) :: (~>) [a6989586621679970211] [a6989586621679970211]
type TakeWhileSym2 (a6989586621679974660 :: (~>) a6989586621679970211 Bool) (a6989586621679974661 :: [a6989586621679970211]) = TakeWhile a6989586621679974660 a6989586621679974661
data DropWhileSym0 :: forall a6989586621679970210. (~>) ((~>) a6989586621679970210 Bool) ((~>) [a6989586621679970210] [a6989586621679970210])
data DropWhileSym1 (a6989586621679974642 :: (~>) a6989586621679970210 Bool) :: (~>) [a6989586621679970210] [a6989586621679970210]
type DropWhileSym2 (a6989586621679974642 :: (~>) a6989586621679970210 Bool) (a6989586621679974643 :: [a6989586621679970210]) = DropWhile a6989586621679974642 a6989586621679974643
data DropWhileEndSym0 :: forall a6989586621679970209. (~>) ((~>) a6989586621679970209 Bool) ((~>) [a6989586621679970209] [a6989586621679970209])
data DropWhileEndSym1 (a6989586621679974616 :: (~>) a6989586621679970209 Bool) :: (~>) [a6989586621679970209] [a6989586621679970209]
type DropWhileEndSym2 (a6989586621679974616 :: (~>) a6989586621679970209 Bool) (a6989586621679974617 :: [a6989586621679970209]) = DropWhileEnd a6989586621679974616 a6989586621679974617
data SpanSym0 :: forall a6989586621679970208. (~>) ((~>) a6989586621679970208 Bool) ((~>) [a6989586621679970208] ([a6989586621679970208], [a6989586621679970208]))
data SpanSym1 (a6989586621679974573 :: (~>) a6989586621679970208 Bool) :: (~>) [a6989586621679970208] ([a6989586621679970208], [a6989586621679970208])
type SpanSym2 (a6989586621679974573 :: (~>) a6989586621679970208 Bool) (a6989586621679974574 :: [a6989586621679970208]) = Span a6989586621679974573 a6989586621679974574
data BreakSym0 :: forall a6989586621679970207. (~>) ((~>) a6989586621679970207 Bool) ((~>) [a6989586621679970207] ([a6989586621679970207], [a6989586621679970207]))
data BreakSym1 (a6989586621679974530 :: (~>) a6989586621679970207 Bool) :: (~>) [a6989586621679970207] ([a6989586621679970207], [a6989586621679970207])
type BreakSym2 (a6989586621679974530 :: (~>) a6989586621679970207 Bool) (a6989586621679974531 :: [a6989586621679970207]) = Break a6989586621679974530 a6989586621679974531
data StripPrefixSym0 :: forall a6989586621680092397. (~>) [a6989586621680092397] ((~>) [a6989586621680092397] (Maybe [a6989586621680092397]))
data StripPrefixSym1 (a6989586621680094093 :: [a6989586621680092397]) :: (~>) [a6989586621680092397] (Maybe [a6989586621680092397])
type StripPrefixSym2 (a6989586621680094093 :: [a6989586621680092397]) (a6989586621680094094 :: [a6989586621680092397]) = StripPrefix a6989586621680094093 a6989586621680094094
data GroupSym0 :: forall a6989586621679970203. (~>) [a6989586621679970203] [[a6989586621679970203]]
type GroupSym1 (a6989586621679974493 :: [a6989586621679970203]) = Group a6989586621679974493
data InitsSym0 :: forall a6989586621679970273. (~>) [a6989586621679970273] [[a6989586621679970273]]
type InitsSym1 (a6989586621679975178 :: [a6989586621679970273]) = Inits a6989586621679975178
data TailsSym0 :: forall a6989586621679970272. (~>) [a6989586621679970272] [[a6989586621679970272]]
type TailsSym1 (a6989586621679975171 :: [a6989586621679970272]) = Tails a6989586621679975171
data IsPrefixOfSym0 :: forall a6989586621679970271. (~>) [a6989586621679970271] ((~>) [a6989586621679970271] Bool)
data IsPrefixOfSym1 (a6989586621679975163 :: [a6989586621679970271]) :: (~>) [a6989586621679970271] Bool
type IsPrefixOfSym2 (a6989586621679975163 :: [a6989586621679970271]) (a6989586621679975164 :: [a6989586621679970271]) = IsPrefixOf a6989586621679975163 a6989586621679975164
data IsSuffixOfSym0 :: forall a6989586621679970270. (~>) [a6989586621679970270] ((~>) [a6989586621679970270] Bool)
data IsSuffixOfSym1 (a6989586621679975157 :: [a6989586621679970270]) :: (~>) [a6989586621679970270] Bool
type IsSuffixOfSym2 (a6989586621679975157 :: [a6989586621679970270]) (a6989586621679975158 :: [a6989586621679970270]) = IsSuffixOf a6989586621679975157 a6989586621679975158
data IsInfixOfSym0 :: forall a6989586621679970269. (~>) [a6989586621679970269] ((~>) [a6989586621679970269] Bool)
data IsInfixOfSym1 (a6989586621679975151 :: [a6989586621679970269]) :: (~>) [a6989586621679970269] Bool
type IsInfixOfSym2 (a6989586621679975151 :: [a6989586621679970269]) (a6989586621679975152 :: [a6989586621679970269]) = IsInfixOf a6989586621679975151 a6989586621679975152
data ElemSym0 :: forall a6989586621680486645 t6989586621680486628. (~>) a6989586621680486645 ((~>) (t6989586621680486628 a6989586621680486645) Bool)
data ElemSym1 (arg6989586621680487291 :: a6989586621680486645) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486645) Bool
type ElemSym2 (arg6989586621680487291 :: a6989586621680486645) (arg6989586621680487292 :: t6989586621680486628 a6989586621680486645) = Elem arg6989586621680487291 arg6989586621680487292
data NotElemSym0 :: forall a6989586621680486539 t6989586621680486538. (~>) a6989586621680486539 ((~>) (t6989586621680486538 a6989586621680486539) Bool)
data NotElemSym1 (a6989586621680487017 :: a6989586621680486539) :: forall t6989586621680486538. (~>) (t6989586621680486538 a6989586621680486539) Bool
type NotElemSym2 (a6989586621680487017 :: a6989586621680486539) (a6989586621680487018 :: t6989586621680486538 a6989586621680486539) = NotElem a6989586621680487017 a6989586621680487018
data LookupSym0 :: forall a6989586621679970196 b6989586621679970197. (~>) a6989586621679970196 ((~>) [(a6989586621679970196, b6989586621679970197)] (Maybe b6989586621679970197))
data LookupSym1 (a6989586621679974420 :: a6989586621679970196) :: forall b6989586621679970197. (~>) [(a6989586621679970196, b6989586621679970197)] (Maybe b6989586621679970197)
type LookupSym2 (a6989586621679974420 :: a6989586621679970196) (a6989586621679974421 :: [(a6989586621679970196, b6989586621679970197)]) = Lookup a6989586621679974420 a6989586621679974421
data FindSym0 :: forall a6989586621680486537 t6989586621680486536. (~>) ((~>) a6989586621680486537 Bool) ((~>) (t6989586621680486536 a6989586621680486537) (Maybe a6989586621680486537))
data FindSym1 (a6989586621680486990 :: (~>) a6989586621680486537 Bool) :: forall t6989586621680486536. (~>) (t6989586621680486536 a6989586621680486537) (Maybe a6989586621680486537)
type FindSym2 (a6989586621680486990 :: (~>) a6989586621680486537 Bool) (a6989586621680486991 :: t6989586621680486536 a6989586621680486537) = Find a6989586621680486990 a6989586621680486991
data FilterSym0 :: forall a6989586621679970219. (~>) ((~>) a6989586621679970219 Bool) ((~>) [a6989586621679970219] [a6989586621679970219])
data FilterSym1 (a6989586621679974774 :: (~>) a6989586621679970219 Bool) :: (~>) [a6989586621679970219] [a6989586621679970219]
type FilterSym2 (a6989586621679974774 :: (~>) a6989586621679970219 Bool) (a6989586621679974775 :: [a6989586621679970219]) = Filter a6989586621679974774 a6989586621679974775
data PartitionSym0 :: forall a6989586621679970195. (~>) ((~>) a6989586621679970195 Bool) ((~>) [a6989586621679970195] ([a6989586621679970195], [a6989586621679970195]))
data PartitionSym1 (a6989586621679974414 :: (~>) a6989586621679970195 Bool) :: (~>) [a6989586621679970195] ([a6989586621679970195], [a6989586621679970195])
type PartitionSym2 (a6989586621679974414 :: (~>) a6989586621679970195 Bool) (a6989586621679974415 :: [a6989586621679970195]) = Partition a6989586621679974414 a6989586621679974415
data (!!@#@$) :: forall a6989586621679970188. (~>) [a6989586621679970188] ((~>) Nat a6989586621679970188)
infixl 9 !!@#@$
data (!!@#@$$) (a6989586621679974335 :: [a6989586621679970188]) :: (~>) Nat a6989586621679970188
infixl 9 !!@#@$$
type (!!@#@$$$) (a6989586621679974335 :: [a6989586621679970188]) (a6989586621679974336 :: Nat) = (!!) a6989586621679974335 a6989586621679974336
data ElemIndexSym0 :: forall a6989586621679970217. (~>) a6989586621679970217 ((~>) [a6989586621679970217] (Maybe Nat))
data ElemIndexSym1 (a6989586621679974758 :: a6989586621679970217) :: (~>) [a6989586621679970217] (Maybe Nat)
type ElemIndexSym2 (a6989586621679974758 :: a6989586621679970217) (a6989586621679974759 :: [a6989586621679970217]) = ElemIndex a6989586621679974758 a6989586621679974759
data ElemIndicesSym0 :: forall a6989586621679970216. (~>) a6989586621679970216 ((~>) [a6989586621679970216] [Nat])
data ElemIndicesSym1 (a6989586621679974750 :: a6989586621679970216) :: (~>) [a6989586621679970216] [Nat]
type ElemIndicesSym2 (a6989586621679974750 :: a6989586621679970216) (a6989586621679974751 :: [a6989586621679970216]) = ElemIndices a6989586621679974750 a6989586621679974751
data FindIndexSym0 :: forall a6989586621679970215. (~>) ((~>) a6989586621679970215 Bool) ((~>) [a6989586621679970215] (Maybe Nat))
data FindIndexSym1 (a6989586621679974742 :: (~>) a6989586621679970215 Bool) :: (~>) [a6989586621679970215] (Maybe Nat)
type FindIndexSym2 (a6989586621679974742 :: (~>) a6989586621679970215 Bool) (a6989586621679974743 :: [a6989586621679970215]) = FindIndex a6989586621679974742 a6989586621679974743
data FindIndicesSym0 :: forall a6989586621679970214. (~>) ((~>) a6989586621679970214 Bool) ((~>) [a6989586621679970214] [Nat])
data FindIndicesSym1 (a6989586621679974716 :: (~>) a6989586621679970214 Bool) :: (~>) [a6989586621679970214] [Nat]
type FindIndicesSym2 (a6989586621679974716 :: (~>) a6989586621679970214 Bool) (a6989586621679974717 :: [a6989586621679970214]) = FindIndices a6989586621679974716 a6989586621679974717
data ZipSym0 :: forall a6989586621679970265 b6989586621679970266. (~>) [a6989586621679970265] ((~>) [b6989586621679970266] [(a6989586621679970265, b6989586621679970266)])
data ZipSym1 (a6989586621679975129 :: [a6989586621679970265]) :: forall b6989586621679970266. (~>) [b6989586621679970266] [(a6989586621679970265, b6989586621679970266)]
type ZipSym2 (a6989586621679975129 :: [a6989586621679970265]) (a6989586621679975130 :: [b6989586621679970266]) = Zip a6989586621679975129 a6989586621679975130
data Zip3Sym0 :: forall a6989586621679970262 b6989586621679970263 c6989586621679970264. (~>) [a6989586621679970262] ((~>) [b6989586621679970263] ((~>) [c6989586621679970264] [(a6989586621679970262, b6989586621679970263, c6989586621679970264)]))
data Zip3Sym1 (a6989586621679975117 :: [a6989586621679970262]) :: forall b6989586621679970263 c6989586621679970264. (~>) [b6989586621679970263] ((~>) [c6989586621679970264] [(a6989586621679970262, b6989586621679970263, c6989586621679970264)])
data Zip3Sym2 (a6989586621679975117 :: [a6989586621679970262]) (a6989586621679975118 :: [b6989586621679970263]) :: forall c6989586621679970264. (~>) [c6989586621679970264] [(a6989586621679970262, b6989586621679970263, c6989586621679970264)]
type Zip3Sym3 (a6989586621679975117 :: [a6989586621679970262]) (a6989586621679975118 :: [b6989586621679970263]) (a6989586621679975119 :: [c6989586621679970264]) = Zip3 a6989586621679975117 a6989586621679975118 a6989586621679975119
data Zip4Sym0 :: forall a6989586621680092393 b6989586621680092394 c6989586621680092395 d6989586621680092396. (~>) [a6989586621680092393] ((~>) [b6989586621680092394] ((~>) [c6989586621680092395] ((~>) [d6989586621680092396] [(a6989586621680092393, b6989586621680092394, c6989586621680092395, d6989586621680092396)])))
data Zip4Sym1 (a6989586621680094081 :: [a6989586621680092393]) :: forall b6989586621680092394 c6989586621680092395 d6989586621680092396. (~>) [b6989586621680092394] ((~>) [c6989586621680092395] ((~>) [d6989586621680092396] [(a6989586621680092393, b6989586621680092394, c6989586621680092395, d6989586621680092396)]))
data Zip4Sym2 (a6989586621680094081 :: [a6989586621680092393]) (a6989586621680094082 :: [b6989586621680092394]) :: forall c6989586621680092395 d6989586621680092396. (~>) [c6989586621680092395] ((~>) [d6989586621680092396] [(a6989586621680092393, b6989586621680092394, c6989586621680092395, d6989586621680092396)])
data Zip4Sym3 (a6989586621680094081 :: [a6989586621680092393]) (a6989586621680094082 :: [b6989586621680092394]) (a6989586621680094083 :: [c6989586621680092395]) :: forall d6989586621680092396. (~>) [d6989586621680092396] [(a6989586621680092393, b6989586621680092394, c6989586621680092395, d6989586621680092396)]
type Zip4Sym4 (a6989586621680094081 :: [a6989586621680092393]) (a6989586621680094082 :: [b6989586621680092394]) (a6989586621680094083 :: [c6989586621680092395]) (a6989586621680094084 :: [d6989586621680092396]) = Zip4 a6989586621680094081 a6989586621680094082 a6989586621680094083 a6989586621680094084
data Zip5Sym0 :: forall a6989586621680092388 b6989586621680092389 c6989586621680092390 d6989586621680092391 e6989586621680092392. (~>) [a6989586621680092388] ((~>) [b6989586621680092389] ((~>) [c6989586621680092390] ((~>) [d6989586621680092391] ((~>) [e6989586621680092392] [(a6989586621680092388, b6989586621680092389, c6989586621680092390, d6989586621680092391, e6989586621680092392)]))))
data Zip5Sym1 (a6989586621680094058 :: [a6989586621680092388]) :: forall b6989586621680092389 c6989586621680092390 d6989586621680092391 e6989586621680092392. (~>) [b6989586621680092389] ((~>) [c6989586621680092390] ((~>) [d6989586621680092391] ((~>) [e6989586621680092392] [(a6989586621680092388, b6989586621680092389, c6989586621680092390, d6989586621680092391, e6989586621680092392)])))
data Zip5Sym2 (a6989586621680094058 :: [a6989586621680092388]) (a6989586621680094059 :: [b6989586621680092389]) :: forall c6989586621680092390 d6989586621680092391 e6989586621680092392. (~>) [c6989586621680092390] ((~>) [d6989586621680092391] ((~>) [e6989586621680092392] [(a6989586621680092388, b6989586621680092389, c6989586621680092390, d6989586621680092391, e6989586621680092392)]))
data Zip5Sym3 (a6989586621680094058 :: [a6989586621680092388]) (a6989586621680094059 :: [b6989586621680092389]) (a6989586621680094060 :: [c6989586621680092390]) :: forall d6989586621680092391 e6989586621680092392. (~>) [d6989586621680092391] ((~>) [e6989586621680092392] [(a6989586621680092388, b6989586621680092389, c6989586621680092390, d6989586621680092391, e6989586621680092392)])
data Zip5Sym4 (a6989586621680094058 :: [a6989586621680092388]) (a6989586621680094059 :: [b6989586621680092389]) (a6989586621680094060 :: [c6989586621680092390]) (a6989586621680094061 :: [d6989586621680092391]) :: forall e6989586621680092392. (~>) [e6989586621680092392] [(a6989586621680092388, b6989586621680092389, c6989586621680092390, d6989586621680092391, e6989586621680092392)]
type Zip5Sym5 (a6989586621680094058 :: [a6989586621680092388]) (a6989586621680094059 :: [b6989586621680092389]) (a6989586621680094060 :: [c6989586621680092390]) (a6989586621680094061 :: [d6989586621680092391]) (a6989586621680094062 :: [e6989586621680092392]) = Zip5 a6989586621680094058 a6989586621680094059 a6989586621680094060 a6989586621680094061 a6989586621680094062
data Zip6Sym0 :: forall a6989586621680092382 b6989586621680092383 c6989586621680092384 d6989586621680092385 e6989586621680092386 f6989586621680092387. (~>) [a6989586621680092382] ((~>) [b6989586621680092383] ((~>) [c6989586621680092384] ((~>) [d6989586621680092385] ((~>) [e6989586621680092386] ((~>) [f6989586621680092387] [(a6989586621680092382, b6989586621680092383, c6989586621680092384, d6989586621680092385, e6989586621680092386, f6989586621680092387)])))))
data Zip6Sym1 (a6989586621680094030 :: [a6989586621680092382]) :: forall b6989586621680092383 c6989586621680092384 d6989586621680092385 e6989586621680092386 f6989586621680092387. (~>) [b6989586621680092383] ((~>) [c6989586621680092384] ((~>) [d6989586621680092385] ((~>) [e6989586621680092386] ((~>) [f6989586621680092387] [(a6989586621680092382, b6989586621680092383, c6989586621680092384, d6989586621680092385, e6989586621680092386, f6989586621680092387)]))))
data Zip6Sym2 (a6989586621680094030 :: [a6989586621680092382]) (a6989586621680094031 :: [b6989586621680092383]) :: forall c6989586621680092384 d6989586621680092385 e6989586621680092386 f6989586621680092387. (~>) [c6989586621680092384] ((~>) [d6989586621680092385] ((~>) [e6989586621680092386] ((~>) [f6989586621680092387] [(a6989586621680092382, b6989586621680092383, c6989586621680092384, d6989586621680092385, e6989586621680092386, f6989586621680092387)])))
data Zip6Sym3 (a6989586621680094030 :: [a6989586621680092382]) (a6989586621680094031 :: [b6989586621680092383]) (a6989586621680094032 :: [c6989586621680092384]) :: forall d6989586621680092385 e6989586621680092386 f6989586621680092387. (~>) [d6989586621680092385] ((~>) [e6989586621680092386] ((~>) [f6989586621680092387] [(a6989586621680092382, b6989586621680092383, c6989586621680092384, d6989586621680092385, e6989586621680092386, f6989586621680092387)]))
data Zip6Sym4 (a6989586621680094030 :: [a6989586621680092382]) (a6989586621680094031 :: [b6989586621680092383]) (a6989586621680094032 :: [c6989586621680092384]) (a6989586621680094033 :: [d6989586621680092385]) :: forall e6989586621680092386 f6989586621680092387. (~>) [e6989586621680092386] ((~>) [f6989586621680092387] [(a6989586621680092382, b6989586621680092383, c6989586621680092384, d6989586621680092385, e6989586621680092386, f6989586621680092387)])
data Zip6Sym5 (a6989586621680094030 :: [a6989586621680092382]) (a6989586621680094031 :: [b6989586621680092383]) (a6989586621680094032 :: [c6989586621680092384]) (a6989586621680094033 :: [d6989586621680092385]) (a6989586621680094034 :: [e6989586621680092386]) :: forall f6989586621680092387. (~>) [f6989586621680092387] [(a6989586621680092382, b6989586621680092383, c6989586621680092384, d6989586621680092385, e6989586621680092386, f6989586621680092387)]
type Zip6Sym6 (a6989586621680094030 :: [a6989586621680092382]) (a6989586621680094031 :: [b6989586621680092383]) (a6989586621680094032 :: [c6989586621680092384]) (a6989586621680094033 :: [d6989586621680092385]) (a6989586621680094034 :: [e6989586621680092386]) (a6989586621680094035 :: [f6989586621680092387]) = Zip6 a6989586621680094030 a6989586621680094031 a6989586621680094032 a6989586621680094033 a6989586621680094034 a6989586621680094035
data Zip7Sym0 :: forall a6989586621680092375 b6989586621680092376 c6989586621680092377 d6989586621680092378 e6989586621680092379 f6989586621680092380 g6989586621680092381. (~>) [a6989586621680092375] ((~>) [b6989586621680092376] ((~>) [c6989586621680092377] ((~>) [d6989586621680092378] ((~>) [e6989586621680092379] ((~>) [f6989586621680092380] ((~>) [g6989586621680092381] [(a6989586621680092375, b6989586621680092376, c6989586621680092377, d6989586621680092378, e6989586621680092379, f6989586621680092380, g6989586621680092381)]))))))
data Zip7Sym1 (a6989586621680093997 :: [a6989586621680092375]) :: forall b6989586621680092376 c6989586621680092377 d6989586621680092378 e6989586621680092379 f6989586621680092380 g6989586621680092381. (~>) [b6989586621680092376] ((~>) [c6989586621680092377] ((~>) [d6989586621680092378] ((~>) [e6989586621680092379] ((~>) [f6989586621680092380] ((~>) [g6989586621680092381] [(a6989586621680092375, b6989586621680092376, c6989586621680092377, d6989586621680092378, e6989586621680092379, f6989586621680092380, g6989586621680092381)])))))
data Zip7Sym2 (a6989586621680093997 :: [a6989586621680092375]) (a6989586621680093998 :: [b6989586621680092376]) :: forall c6989586621680092377 d6989586621680092378 e6989586621680092379 f6989586621680092380 g6989586621680092381. (~>) [c6989586621680092377] ((~>) [d6989586621680092378] ((~>) [e6989586621680092379] ((~>) [f6989586621680092380] ((~>) [g6989586621680092381] [(a6989586621680092375, b6989586621680092376, c6989586621680092377, d6989586621680092378, e6989586621680092379, f6989586621680092380, g6989586621680092381)]))))
data Zip7Sym3 (a6989586621680093997 :: [a6989586621680092375]) (a6989586621680093998 :: [b6989586621680092376]) (a6989586621680093999 :: [c6989586621680092377]) :: forall d6989586621680092378 e6989586621680092379 f6989586621680092380 g6989586621680092381. (~>) [d6989586621680092378] ((~>) [e6989586621680092379] ((~>) [f6989586621680092380] ((~>) [g6989586621680092381] [(a6989586621680092375, b6989586621680092376, c6989586621680092377, d6989586621680092378, e6989586621680092379, f6989586621680092380, g6989586621680092381)])))
data Zip7Sym4 (a6989586621680093997 :: [a6989586621680092375]) (a6989586621680093998 :: [b6989586621680092376]) (a6989586621680093999 :: [c6989586621680092377]) (a6989586621680094000 :: [d6989586621680092378]) :: forall e6989586621680092379 f6989586621680092380 g6989586621680092381. (~>) [e6989586621680092379] ((~>) [f6989586621680092380] ((~>) [g6989586621680092381] [(a6989586621680092375, b6989586621680092376, c6989586621680092377, d6989586621680092378, e6989586621680092379, f6989586621680092380, g6989586621680092381)]))
data Zip7Sym5 (a6989586621680093997 :: [a6989586621680092375]) (a6989586621680093998 :: [b6989586621680092376]) (a6989586621680093999 :: [c6989586621680092377]) (a6989586621680094000 :: [d6989586621680092378]) (a6989586621680094001 :: [e6989586621680092379]) :: forall f6989586621680092380 g6989586621680092381. (~>) [f6989586621680092380] ((~>) [g6989586621680092381] [(a6989586621680092375, b6989586621680092376, c6989586621680092377, d6989586621680092378, e6989586621680092379, f6989586621680092380, g6989586621680092381)])
data Zip7Sym6 (a6989586621680093997 :: [a6989586621680092375]) (a6989586621680093998 :: [b6989586621680092376]) (a6989586621680093999 :: [c6989586621680092377]) (a6989586621680094000 :: [d6989586621680092378]) (a6989586621680094001 :: [e6989586621680092379]) (a6989586621680094002 :: [f6989586621680092380]) :: forall g6989586621680092381. (~>) [g6989586621680092381] [(a6989586621680092375, b6989586621680092376, c6989586621680092377, d6989586621680092378, e6989586621680092379, f6989586621680092380, g6989586621680092381)]
type Zip7Sym7 (a6989586621680093997 :: [a6989586621680092375]) (a6989586621680093998 :: [b6989586621680092376]) (a6989586621680093999 :: [c6989586621680092377]) (a6989586621680094000 :: [d6989586621680092378]) (a6989586621680094001 :: [e6989586621680092379]) (a6989586621680094002 :: [f6989586621680092380]) (a6989586621680094003 :: [g6989586621680092381]) = Zip7 a6989586621680093997 a6989586621680093998 a6989586621680093999 a6989586621680094000 a6989586621680094001 a6989586621680094002 a6989586621680094003
data ZipWithSym0 :: forall a6989586621679970259 b6989586621679970260 c6989586621679970261. (~>) ((~>) a6989586621679970259 ((~>) b6989586621679970260 c6989586621679970261)) ((~>) [a6989586621679970259] ((~>) [b6989586621679970260] [c6989586621679970261]))
data ZipWithSym1 (a6989586621679975106 :: (~>) a6989586621679970259 ((~>) b6989586621679970260 c6989586621679970261)) :: (~>) [a6989586621679970259] ((~>) [b6989586621679970260] [c6989586621679970261])
data ZipWithSym2 (a6989586621679975106 :: (~>) a6989586621679970259 ((~>) b6989586621679970260 c6989586621679970261)) (a6989586621679975107 :: [a6989586621679970259]) :: (~>) [b6989586621679970260] [c6989586621679970261]
type ZipWithSym3 (a6989586621679975106 :: (~>) a6989586621679970259 ((~>) b6989586621679970260 c6989586621679970261)) (a6989586621679975107 :: [a6989586621679970259]) (a6989586621679975108 :: [b6989586621679970260]) = ZipWith a6989586621679975106 a6989586621679975107 a6989586621679975108
data ZipWith3Sym0 :: forall a6989586621679970255 b6989586621679970256 c6989586621679970257 d6989586621679970258. (~>) ((~>) a6989586621679970255 ((~>) b6989586621679970256 ((~>) c6989586621679970257 d6989586621679970258))) ((~>) [a6989586621679970255] ((~>) [b6989586621679970256] ((~>) [c6989586621679970257] [d6989586621679970258])))
data ZipWith3Sym1 (a6989586621679975091 :: (~>) a6989586621679970255 ((~>) b6989586621679970256 ((~>) c6989586621679970257 d6989586621679970258))) :: (~>) [a6989586621679970255] ((~>) [b6989586621679970256] ((~>) [c6989586621679970257] [d6989586621679970258]))
data ZipWith3Sym2 (a6989586621679975091 :: (~>) a6989586621679970255 ((~>) b6989586621679970256 ((~>) c6989586621679970257 d6989586621679970258))) (a6989586621679975092 :: [a6989586621679970255]) :: (~>) [b6989586621679970256] ((~>) [c6989586621679970257] [d6989586621679970258])
data ZipWith3Sym3 (a6989586621679975091 :: (~>) a6989586621679970255 ((~>) b6989586621679970256 ((~>) c6989586621679970257 d6989586621679970258))) (a6989586621679975092 :: [a6989586621679970255]) (a6989586621679975093 :: [b6989586621679970256]) :: (~>) [c6989586621679970257] [d6989586621679970258]
type ZipWith3Sym4 (a6989586621679975091 :: (~>) a6989586621679970255 ((~>) b6989586621679970256 ((~>) c6989586621679970257 d6989586621679970258))) (a6989586621679975092 :: [a6989586621679970255]) (a6989586621679975093 :: [b6989586621679970256]) (a6989586621679975094 :: [c6989586621679970257]) = ZipWith3 a6989586621679975091 a6989586621679975092 a6989586621679975093 a6989586621679975094
data ZipWith4Sym0 :: forall a6989586621680092370 b6989586621680092371 c6989586621680092372 d6989586621680092373 e6989586621680092374. (~>) ((~>) a6989586621680092370 ((~>) b6989586621680092371 ((~>) c6989586621680092372 ((~>) d6989586621680092373 e6989586621680092374)))) ((~>) [a6989586621680092370] ((~>) [b6989586621680092371] ((~>) [c6989586621680092372] ((~>) [d6989586621680092373] [e6989586621680092374]))))
data ZipWith4Sym1 (a6989586621680093964 :: (~>) a6989586621680092370 ((~>) b6989586621680092371 ((~>) c6989586621680092372 ((~>) d6989586621680092373 e6989586621680092374)))) :: (~>) [a6989586621680092370] ((~>) [b6989586621680092371] ((~>) [c6989586621680092372] ((~>) [d6989586621680092373] [e6989586621680092374])))
data ZipWith4Sym2 (a6989586621680093964 :: (~>) a6989586621680092370 ((~>) b6989586621680092371 ((~>) c6989586621680092372 ((~>) d6989586621680092373 e6989586621680092374)))) (a6989586621680093965 :: [a6989586621680092370]) :: (~>) [b6989586621680092371] ((~>) [c6989586621680092372] ((~>) [d6989586621680092373] [e6989586621680092374]))
data ZipWith4Sym3 (a6989586621680093964 :: (~>) a6989586621680092370 ((~>) b6989586621680092371 ((~>) c6989586621680092372 ((~>) d6989586621680092373 e6989586621680092374)))) (a6989586621680093965 :: [a6989586621680092370]) (a6989586621680093966 :: [b6989586621680092371]) :: (~>) [c6989586621680092372] ((~>) [d6989586621680092373] [e6989586621680092374])
data ZipWith4Sym4 (a6989586621680093964 :: (~>) a6989586621680092370 ((~>) b6989586621680092371 ((~>) c6989586621680092372 ((~>) d6989586621680092373 e6989586621680092374)))) (a6989586621680093965 :: [a6989586621680092370]) (a6989586621680093966 :: [b6989586621680092371]) (a6989586621680093967 :: [c6989586621680092372]) :: (~>) [d6989586621680092373] [e6989586621680092374]
type ZipWith4Sym5 (a6989586621680093964 :: (~>) a6989586621680092370 ((~>) b6989586621680092371 ((~>) c6989586621680092372 ((~>) d6989586621680092373 e6989586621680092374)))) (a6989586621680093965 :: [a6989586621680092370]) (a6989586621680093966 :: [b6989586621680092371]) (a6989586621680093967 :: [c6989586621680092372]) (a6989586621680093968 :: [d6989586621680092373]) = ZipWith4 a6989586621680093964 a6989586621680093965 a6989586621680093966 a6989586621680093967 a6989586621680093968
data ZipWith5Sym0 :: forall a6989586621680092364 b6989586621680092365 c6989586621680092366 d6989586621680092367 e6989586621680092368 f6989586621680092369. (~>) ((~>) a6989586621680092364 ((~>) b6989586621680092365 ((~>) c6989586621680092366 ((~>) d6989586621680092367 ((~>) e6989586621680092368 f6989586621680092369))))) ((~>) [a6989586621680092364] ((~>) [b6989586621680092365] ((~>) [c6989586621680092366] ((~>) [d6989586621680092367] ((~>) [e6989586621680092368] [f6989586621680092369])))))
data ZipWith5Sym1 (a6989586621680093941 :: (~>) a6989586621680092364 ((~>) b6989586621680092365 ((~>) c6989586621680092366 ((~>) d6989586621680092367 ((~>) e6989586621680092368 f6989586621680092369))))) :: (~>) [a6989586621680092364] ((~>) [b6989586621680092365] ((~>) [c6989586621680092366] ((~>) [d6989586621680092367] ((~>) [e6989586621680092368] [f6989586621680092369]))))
data ZipWith5Sym2 (a6989586621680093941 :: (~>) a6989586621680092364 ((~>) b6989586621680092365 ((~>) c6989586621680092366 ((~>) d6989586621680092367 ((~>) e6989586621680092368 f6989586621680092369))))) (a6989586621680093942 :: [a6989586621680092364]) :: (~>) [b6989586621680092365] ((~>) [c6989586621680092366] ((~>) [d6989586621680092367] ((~>) [e6989586621680092368] [f6989586621680092369])))
data ZipWith5Sym3 (a6989586621680093941 :: (~>) a6989586621680092364 ((~>) b6989586621680092365 ((~>) c6989586621680092366 ((~>) d6989586621680092367 ((~>) e6989586621680092368 f6989586621680092369))))) (a6989586621680093942 :: [a6989586621680092364]) (a6989586621680093943 :: [b6989586621680092365]) :: (~>) [c6989586621680092366] ((~>) [d6989586621680092367] ((~>) [e6989586621680092368] [f6989586621680092369]))
data ZipWith5Sym4 (a6989586621680093941 :: (~>) a6989586621680092364 ((~>) b6989586621680092365 ((~>) c6989586621680092366 ((~>) d6989586621680092367 ((~>) e6989586621680092368 f6989586621680092369))))) (a6989586621680093942 :: [a6989586621680092364]) (a6989586621680093943 :: [b6989586621680092365]) (a6989586621680093944 :: [c6989586621680092366]) :: (~>) [d6989586621680092367] ((~>) [e6989586621680092368] [f6989586621680092369])
data ZipWith5Sym5 (a6989586621680093941 :: (~>) a6989586621680092364 ((~>) b6989586621680092365 ((~>) c6989586621680092366 ((~>) d6989586621680092367 ((~>) e6989586621680092368 f6989586621680092369))))) (a6989586621680093942 :: [a6989586621680092364]) (a6989586621680093943 :: [b6989586621680092365]) (a6989586621680093944 :: [c6989586621680092366]) (a6989586621680093945 :: [d6989586621680092367]) :: (~>) [e6989586621680092368] [f6989586621680092369]
type ZipWith5Sym6 (a6989586621680093941 :: (~>) a6989586621680092364 ((~>) b6989586621680092365 ((~>) c6989586621680092366 ((~>) d6989586621680092367 ((~>) e6989586621680092368 f6989586621680092369))))) (a6989586621680093942 :: [a6989586621680092364]) (a6989586621680093943 :: [b6989586621680092365]) (a6989586621680093944 :: [c6989586621680092366]) (a6989586621680093945 :: [d6989586621680092367]) (a6989586621680093946 :: [e6989586621680092368]) = ZipWith5 a6989586621680093941 a6989586621680093942 a6989586621680093943 a6989586621680093944 a6989586621680093945 a6989586621680093946
data ZipWith6Sym0 :: forall a6989586621680092357 b6989586621680092358 c6989586621680092359 d6989586621680092360 e6989586621680092361 f6989586621680092362 g6989586621680092363. (~>) ((~>) a6989586621680092357 ((~>) b6989586621680092358 ((~>) c6989586621680092359 ((~>) d6989586621680092360 ((~>) e6989586621680092361 ((~>) f6989586621680092362 g6989586621680092363)))))) ((~>) [a6989586621680092357] ((~>) [b6989586621680092358] ((~>) [c6989586621680092359] ((~>) [d6989586621680092360] ((~>) [e6989586621680092361] ((~>) [f6989586621680092362] [g6989586621680092363]))))))
data ZipWith6Sym1 (a6989586621680093914 :: (~>) a6989586621680092357 ((~>) b6989586621680092358 ((~>) c6989586621680092359 ((~>) d6989586621680092360 ((~>) e6989586621680092361 ((~>) f6989586621680092362 g6989586621680092363)))))) :: (~>) [a6989586621680092357] ((~>) [b6989586621680092358] ((~>) [c6989586621680092359] ((~>) [d6989586621680092360] ((~>) [e6989586621680092361] ((~>) [f6989586621680092362] [g6989586621680092363])))))
data ZipWith6Sym2 (a6989586621680093914 :: (~>) a6989586621680092357 ((~>) b6989586621680092358 ((~>) c6989586621680092359 ((~>) d6989586621680092360 ((~>) e6989586621680092361 ((~>) f6989586621680092362 g6989586621680092363)))))) (a6989586621680093915 :: [a6989586621680092357]) :: (~>) [b6989586621680092358] ((~>) [c6989586621680092359] ((~>) [d6989586621680092360] ((~>) [e6989586621680092361] ((~>) [f6989586621680092362] [g6989586621680092363]))))
data ZipWith6Sym3 (a6989586621680093914 :: (~>) a6989586621680092357 ((~>) b6989586621680092358 ((~>) c6989586621680092359 ((~>) d6989586621680092360 ((~>) e6989586621680092361 ((~>) f6989586621680092362 g6989586621680092363)))))) (a6989586621680093915 :: [a6989586621680092357]) (a6989586621680093916 :: [b6989586621680092358]) :: (~>) [c6989586621680092359] ((~>) [d6989586621680092360] ((~>) [e6989586621680092361] ((~>) [f6989586621680092362] [g6989586621680092363])))
data ZipWith6Sym4 (a6989586621680093914 :: (~>) a6989586621680092357 ((~>) b6989586621680092358 ((~>) c6989586621680092359 ((~>) d6989586621680092360 ((~>) e6989586621680092361 ((~>) f6989586621680092362 g6989586621680092363)))))) (a6989586621680093915 :: [a6989586621680092357]) (a6989586621680093916 :: [b6989586621680092358]) (a6989586621680093917 :: [c6989586621680092359]) :: (~>) [d6989586621680092360] ((~>) [e6989586621680092361] ((~>) [f6989586621680092362] [g6989586621680092363]))
data ZipWith6Sym5 (a6989586621680093914 :: (~>) a6989586621680092357 ((~>) b6989586621680092358 ((~>) c6989586621680092359 ((~>) d6989586621680092360 ((~>) e6989586621680092361 ((~>) f6989586621680092362 g6989586621680092363)))))) (a6989586621680093915 :: [a6989586621680092357]) (a6989586621680093916 :: [b6989586621680092358]) (a6989586621680093917 :: [c6989586621680092359]) (a6989586621680093918 :: [d6989586621680092360]) :: (~>) [e6989586621680092361] ((~>) [f6989586621680092362] [g6989586621680092363])
data ZipWith6Sym6 (a6989586621680093914 :: (~>) a6989586621680092357 ((~>) b6989586621680092358 ((~>) c6989586621680092359 ((~>) d6989586621680092360 ((~>) e6989586621680092361 ((~>) f6989586621680092362 g6989586621680092363)))))) (a6989586621680093915 :: [a6989586621680092357]) (a6989586621680093916 :: [b6989586621680092358]) (a6989586621680093917 :: [c6989586621680092359]) (a6989586621680093918 :: [d6989586621680092360]) (a6989586621680093919 :: [e6989586621680092361]) :: (~>) [f6989586621680092362] [g6989586621680092363]
type ZipWith6Sym7 (a6989586621680093914 :: (~>) a6989586621680092357 ((~>) b6989586621680092358 ((~>) c6989586621680092359 ((~>) d6989586621680092360 ((~>) e6989586621680092361 ((~>) f6989586621680092362 g6989586621680092363)))))) (a6989586621680093915 :: [a6989586621680092357]) (a6989586621680093916 :: [b6989586621680092358]) (a6989586621680093917 :: [c6989586621680092359]) (a6989586621680093918 :: [d6989586621680092360]) (a6989586621680093919 :: [e6989586621680092361]) (a6989586621680093920 :: [f6989586621680092362]) = ZipWith6 a6989586621680093914 a6989586621680093915 a6989586621680093916 a6989586621680093917 a6989586621680093918 a6989586621680093919 a6989586621680093920
data ZipWith7Sym0 :: forall a6989586621680092349 b6989586621680092350 c6989586621680092351 d6989586621680092352 e6989586621680092353 f6989586621680092354 g6989586621680092355 h6989586621680092356. (~>) ((~>) a6989586621680092349 ((~>) b6989586621680092350 ((~>) c6989586621680092351 ((~>) d6989586621680092352 ((~>) e6989586621680092353 ((~>) f6989586621680092354 ((~>) g6989586621680092355 h6989586621680092356))))))) ((~>) [a6989586621680092349] ((~>) [b6989586621680092350] ((~>) [c6989586621680092351] ((~>) [d6989586621680092352] ((~>) [e6989586621680092353] ((~>) [f6989586621680092354] ((~>) [g6989586621680092355] [h6989586621680092356])))))))
data ZipWith7Sym1 (a6989586621680093883 :: (~>) a6989586621680092349 ((~>) b6989586621680092350 ((~>) c6989586621680092351 ((~>) d6989586621680092352 ((~>) e6989586621680092353 ((~>) f6989586621680092354 ((~>) g6989586621680092355 h6989586621680092356))))))) :: (~>) [a6989586621680092349] ((~>) [b6989586621680092350] ((~>) [c6989586621680092351] ((~>) [d6989586621680092352] ((~>) [e6989586621680092353] ((~>) [f6989586621680092354] ((~>) [g6989586621680092355] [h6989586621680092356]))))))
data ZipWith7Sym2 (a6989586621680093883 :: (~>) a6989586621680092349 ((~>) b6989586621680092350 ((~>) c6989586621680092351 ((~>) d6989586621680092352 ((~>) e6989586621680092353 ((~>) f6989586621680092354 ((~>) g6989586621680092355 h6989586621680092356))))))) (a6989586621680093884 :: [a6989586621680092349]) :: (~>) [b6989586621680092350] ((~>) [c6989586621680092351] ((~>) [d6989586621680092352] ((~>) [e6989586621680092353] ((~>) [f6989586621680092354] ((~>) [g6989586621680092355] [h6989586621680092356])))))
data ZipWith7Sym3 (a6989586621680093883 :: (~>) a6989586621680092349 ((~>) b6989586621680092350 ((~>) c6989586621680092351 ((~>) d6989586621680092352 ((~>) e6989586621680092353 ((~>) f6989586621680092354 ((~>) g6989586621680092355 h6989586621680092356))))))) (a6989586621680093884 :: [a6989586621680092349]) (a6989586621680093885 :: [b6989586621680092350]) :: (~>) [c6989586621680092351] ((~>) [d6989586621680092352] ((~>) [e6989586621680092353] ((~>) [f6989586621680092354] ((~>) [g6989586621680092355] [h6989586621680092356]))))
data ZipWith7Sym4 (a6989586621680093883 :: (~>) a6989586621680092349 ((~>) b6989586621680092350 ((~>) c6989586621680092351 ((~>) d6989586621680092352 ((~>) e6989586621680092353 ((~>) f6989586621680092354 ((~>) g6989586621680092355 h6989586621680092356))))))) (a6989586621680093884 :: [a6989586621680092349]) (a6989586621680093885 :: [b6989586621680092350]) (a6989586621680093886 :: [c6989586621680092351]) :: (~>) [d6989586621680092352] ((~>) [e6989586621680092353] ((~>) [f6989586621680092354] ((~>) [g6989586621680092355] [h6989586621680092356])))
data ZipWith7Sym5 (a6989586621680093883 :: (~>) a6989586621680092349 ((~>) b6989586621680092350 ((~>) c6989586621680092351 ((~>) d6989586621680092352 ((~>) e6989586621680092353 ((~>) f6989586621680092354 ((~>) g6989586621680092355 h6989586621680092356))))))) (a6989586621680093884 :: [a6989586621680092349]) (a6989586621680093885 :: [b6989586621680092350]) (a6989586621680093886 :: [c6989586621680092351]) (a6989586621680093887 :: [d6989586621680092352]) :: (~>) [e6989586621680092353] ((~>) [f6989586621680092354] ((~>) [g6989586621680092355] [h6989586621680092356]))
data ZipWith7Sym6 (a6989586621680093883 :: (~>) a6989586621680092349 ((~>) b6989586621680092350 ((~>) c6989586621680092351 ((~>) d6989586621680092352 ((~>) e6989586621680092353 ((~>) f6989586621680092354 ((~>) g6989586621680092355 h6989586621680092356))))))) (a6989586621680093884 :: [a6989586621680092349]) (a6989586621680093885 :: [b6989586621680092350]) (a6989586621680093886 :: [c6989586621680092351]) (a6989586621680093887 :: [d6989586621680092352]) (a6989586621680093888 :: [e6989586621680092353]) :: (~>) [f6989586621680092354] ((~>) [g6989586621680092355] [h6989586621680092356])
data ZipWith7Sym7 (a6989586621680093883 :: (~>) a6989586621680092349 ((~>) b6989586621680092350 ((~>) c6989586621680092351 ((~>) d6989586621680092352 ((~>) e6989586621680092353 ((~>) f6989586621680092354 ((~>) g6989586621680092355 h6989586621680092356))))))) (a6989586621680093884 :: [a6989586621680092349]) (a6989586621680093885 :: [b6989586621680092350]) (a6989586621680093886 :: [c6989586621680092351]) (a6989586621680093887 :: [d6989586621680092352]) (a6989586621680093888 :: [e6989586621680092353]) (a6989586621680093889 :: [f6989586621680092354]) :: (~>) [g6989586621680092355] [h6989586621680092356]
type ZipWith7Sym8 (a6989586621680093883 :: (~>) a6989586621680092349 ((~>) b6989586621680092350 ((~>) c6989586621680092351 ((~>) d6989586621680092352 ((~>) e6989586621680092353 ((~>) f6989586621680092354 ((~>) g6989586621680092355 h6989586621680092356))))))) (a6989586621680093884 :: [a6989586621680092349]) (a6989586621680093885 :: [b6989586621680092350]) (a6989586621680093886 :: [c6989586621680092351]) (a6989586621680093887 :: [d6989586621680092352]) (a6989586621680093888 :: [e6989586621680092353]) (a6989586621680093889 :: [f6989586621680092354]) (a6989586621680093890 :: [g6989586621680092355]) = ZipWith7 a6989586621680093883 a6989586621680093884 a6989586621680093885 a6989586621680093886 a6989586621680093887 a6989586621680093888 a6989586621680093889 a6989586621680093890
data UnzipSym0 :: forall a6989586621679970253 b6989586621679970254. (~>) [(a6989586621679970253, b6989586621679970254)] ([a6989586621679970253], [b6989586621679970254])
type UnzipSym1 (a6989586621679975072 :: [(a6989586621679970253, b6989586621679970254)]) = Unzip a6989586621679975072
data Unzip3Sym0 :: forall a6989586621679970250 b6989586621679970251 c6989586621679970252. (~>) [(a6989586621679970250, b6989586621679970251, c6989586621679970252)] ([a6989586621679970250], [b6989586621679970251], [c6989586621679970252])
type Unzip3Sym1 (a6989586621679975051 :: [(a6989586621679970250, b6989586621679970251, c6989586621679970252)]) = Unzip3 a6989586621679975051
data Unzip4Sym0 :: forall a6989586621679970246 b6989586621679970247 c6989586621679970248 d6989586621679970249. (~>) [(a6989586621679970246, b6989586621679970247, c6989586621679970248, d6989586621679970249)] ([a6989586621679970246], [b6989586621679970247], [c6989586621679970248], [d6989586621679970249])
type Unzip4Sym1 (a6989586621679975028 :: [(a6989586621679970246, b6989586621679970247, c6989586621679970248, d6989586621679970249)]) = Unzip4 a6989586621679975028
data Unzip5Sym0 :: forall a6989586621679970241 b6989586621679970242 c6989586621679970243 d6989586621679970244 e6989586621679970245. (~>) [(a6989586621679970241, b6989586621679970242, c6989586621679970243, d6989586621679970244, e6989586621679970245)] ([a6989586621679970241], [b6989586621679970242], [c6989586621679970243], [d6989586621679970244], [e6989586621679970245])
type Unzip5Sym1 (a6989586621679975003 :: [(a6989586621679970241, b6989586621679970242, c6989586621679970243, d6989586621679970244, e6989586621679970245)]) = Unzip5 a6989586621679975003
data Unzip6Sym0 :: forall a6989586621679970235 b6989586621679970236 c6989586621679970237 d6989586621679970238 e6989586621679970239 f6989586621679970240. (~>) [(a6989586621679970235, b6989586621679970236, c6989586621679970237, d6989586621679970238, e6989586621679970239, f6989586621679970240)] ([a6989586621679970235], [b6989586621679970236], [c6989586621679970237], [d6989586621679970238], [e6989586621679970239], [f6989586621679970240])
type Unzip6Sym1 (a6989586621679974976 :: [(a6989586621679970235, b6989586621679970236, c6989586621679970237, d6989586621679970238, e6989586621679970239, f6989586621679970240)]) = Unzip6 a6989586621679974976
data Unzip7Sym0 :: forall a6989586621679970228 b6989586621679970229 c6989586621679970230 d6989586621679970231 e6989586621679970232 f6989586621679970233 g6989586621679970234. (~>) [(a6989586621679970228, b6989586621679970229, c6989586621679970230, d6989586621679970231, e6989586621679970232, f6989586621679970233, g6989586621679970234)] ([a6989586621679970228], [b6989586621679970229], [c6989586621679970230], [d6989586621679970231], [e6989586621679970232], [f6989586621679970233], [g6989586621679970234])
type Unzip7Sym1 (a6989586621679974947 :: [(a6989586621679970228, b6989586621679970229, c6989586621679970230, d6989586621679970231, e6989586621679970232, f6989586621679970233, g6989586621679970234)]) = Unzip7 a6989586621679974947
data UnlinesSym0 :: (~>) [Symbol] Symbol
type UnlinesSym1 (a6989586621679974943 :: [Symbol]) = Unlines a6989586621679974943
data UnwordsSym0 :: (~>) [Symbol] Symbol
type UnwordsSym1 (a6989586621679974932 :: [Symbol]) = Unwords a6989586621679974932
data NubSym0 :: forall a6989586621679970187. (~>) [a6989586621679970187] [a6989586621679970187]
type NubSym1 (a6989586621679974315 :: [a6989586621679970187]) = Nub a6989586621679974315
data DeleteSym0 :: forall a6989586621679970227. (~>) a6989586621679970227 ((~>) [a6989586621679970227] [a6989586621679970227])
data DeleteSym1 (a6989586621679974926 :: a6989586621679970227) :: (~>) [a6989586621679970227] [a6989586621679970227]
type DeleteSym2 (a6989586621679974926 :: a6989586621679970227) (a6989586621679974927 :: [a6989586621679970227]) = Delete a6989586621679974926 a6989586621679974927
data (\\@#@$) :: forall a6989586621679970226. (~>) [a6989586621679970226] ((~>) [a6989586621679970226] [a6989586621679970226])
infix 5 \\@#@$
data (\\@#@$$) (a6989586621679974916 :: [a6989586621679970226]) :: (~>) [a6989586621679970226] [a6989586621679970226]
infix 5 \\@#@$$
type (\\@#@$$$) (a6989586621679974916 :: [a6989586621679970226]) (a6989586621679974917 :: [a6989586621679970226]) = (\\) a6989586621679974916 a6989586621679974917
data UnionSym0 :: forall a6989586621679970183. (~>) [a6989586621679970183] ((~>) [a6989586621679970183] [a6989586621679970183])
data UnionSym1 (a6989586621679974265 :: [a6989586621679970183]) :: (~>) [a6989586621679970183] [a6989586621679970183]
type UnionSym2 (a6989586621679974265 :: [a6989586621679970183]) (a6989586621679974266 :: [a6989586621679970183]) = Union a6989586621679974265 a6989586621679974266
data IntersectSym0 :: forall a6989586621679970213. (~>) [a6989586621679970213] ((~>) [a6989586621679970213] [a6989586621679970213])
data IntersectSym1 (a6989586621679974710 :: [a6989586621679970213]) :: (~>) [a6989586621679970213] [a6989586621679970213]
type IntersectSym2 (a6989586621679974710 :: [a6989586621679970213]) (a6989586621679974711 :: [a6989586621679970213]) = Intersect a6989586621679974710 a6989586621679974711
data InsertSym0 :: forall a6989586621679970200. (~>) a6989586621679970200 ((~>) [a6989586621679970200] [a6989586621679970200])
data InsertSym1 (a6989586621679974473 :: a6989586621679970200) :: (~>) [a6989586621679970200] [a6989586621679970200]
type InsertSym2 (a6989586621679974473 :: a6989586621679970200) (a6989586621679974474 :: [a6989586621679970200]) = Insert a6989586621679974473 a6989586621679974474
data SortSym0 :: forall a6989586621679970199. (~>) [a6989586621679970199] [a6989586621679970199]
type SortSym1 (a6989586621679974470 :: [a6989586621679970199]) = Sort a6989586621679974470
data NubBySym0 :: forall a6989586621679970186. (~>) ((~>) a6989586621679970186 ((~>) a6989586621679970186 Bool)) ((~>) [a6989586621679970186] [a6989586621679970186])
data NubBySym1 (a6989586621679974290 :: (~>) a6989586621679970186 ((~>) a6989586621679970186 Bool)) :: (~>) [a6989586621679970186] [a6989586621679970186]
type NubBySym2 (a6989586621679974290 :: (~>) a6989586621679970186 ((~>) a6989586621679970186 Bool)) (a6989586621679974291 :: [a6989586621679970186]) = NubBy a6989586621679974290 a6989586621679974291
data DeleteBySym0 :: forall a6989586621679970225. (~>) ((~>) a6989586621679970225 ((~>) a6989586621679970225 Bool)) ((~>) a6989586621679970225 ((~>) [a6989586621679970225] [a6989586621679970225]))
data DeleteBySym1 (a6989586621679974894 :: (~>) a6989586621679970225 ((~>) a6989586621679970225 Bool)) :: (~>) a6989586621679970225 ((~>) [a6989586621679970225] [a6989586621679970225])
data DeleteBySym2 (a6989586621679974894 :: (~>) a6989586621679970225 ((~>) a6989586621679970225 Bool)) (a6989586621679974895 :: a6989586621679970225) :: (~>) [a6989586621679970225] [a6989586621679970225]
type DeleteBySym3 (a6989586621679974894 :: (~>) a6989586621679970225 ((~>) a6989586621679970225 Bool)) (a6989586621679974895 :: a6989586621679970225) (a6989586621679974896 :: [a6989586621679970225]) = DeleteBy a6989586621679974894 a6989586621679974895 a6989586621679974896
data DeleteFirstsBySym0 :: forall a6989586621679970224. (~>) ((~>) a6989586621679970224 ((~>) a6989586621679970224 Bool)) ((~>) [a6989586621679970224] ((~>) [a6989586621679970224] [a6989586621679970224]))
data DeleteFirstsBySym1 (a6989586621679974881 :: (~>) a6989586621679970224 ((~>) a6989586621679970224 Bool)) :: (~>) [a6989586621679970224] ((~>) [a6989586621679970224] [a6989586621679970224])
data DeleteFirstsBySym2 (a6989586621679974881 :: (~>) a6989586621679970224 ((~>) a6989586621679970224 Bool)) (a6989586621679974882 :: [a6989586621679970224]) :: (~>) [a6989586621679970224] [a6989586621679970224]
type DeleteFirstsBySym3 (a6989586621679974881 :: (~>) a6989586621679970224 ((~>) a6989586621679970224 Bool)) (a6989586621679974882 :: [a6989586621679970224]) (a6989586621679974883 :: [a6989586621679970224]) = DeleteFirstsBy a6989586621679974881 a6989586621679974882 a6989586621679974883
data UnionBySym0 :: forall a6989586621679970184. (~>) ((~>) a6989586621679970184 ((~>) a6989586621679970184 Bool)) ((~>) [a6989586621679970184] ((~>) [a6989586621679970184] [a6989586621679970184]))
data UnionBySym1 (a6989586621679974271 :: (~>) a6989586621679970184 ((~>) a6989586621679970184 Bool)) :: (~>) [a6989586621679970184] ((~>) [a6989586621679970184] [a6989586621679970184])
data UnionBySym2 (a6989586621679974271 :: (~>) a6989586621679970184 ((~>) a6989586621679970184 Bool)) (a6989586621679974272 :: [a6989586621679970184]) :: (~>) [a6989586621679970184] [a6989586621679970184]
type UnionBySym3 (a6989586621679974271 :: (~>) a6989586621679970184 ((~>) a6989586621679970184 Bool)) (a6989586621679974272 :: [a6989586621679970184]) (a6989586621679974273 :: [a6989586621679970184]) = UnionBy a6989586621679974271 a6989586621679974272 a6989586621679974273
data IntersectBySym0 :: forall a6989586621679970212. (~>) ((~>) a6989586621679970212 ((~>) a6989586621679970212 Bool)) ((~>) [a6989586621679970212] ((~>) [a6989586621679970212] [a6989586621679970212]))
data IntersectBySym1 (a6989586621679974674 :: (~>) a6989586621679970212 ((~>) a6989586621679970212 Bool)) :: (~>) [a6989586621679970212] ((~>) [a6989586621679970212] [a6989586621679970212])
data IntersectBySym2 (a6989586621679974674 :: (~>) a6989586621679970212 ((~>) a6989586621679970212 Bool)) (a6989586621679974675 :: [a6989586621679970212]) :: (~>) [a6989586621679970212] [a6989586621679970212]
type IntersectBySym3 (a6989586621679974674 :: (~>) a6989586621679970212 ((~>) a6989586621679970212 Bool)) (a6989586621679974675 :: [a6989586621679970212]) (a6989586621679974676 :: [a6989586621679970212]) = IntersectBy a6989586621679974674 a6989586621679974675 a6989586621679974676
data GroupBySym0 :: forall a6989586621679970198. (~>) ((~>) a6989586621679970198 ((~>) a6989586621679970198 Bool)) ((~>) [a6989586621679970198] [[a6989586621679970198]])
data GroupBySym1 (a6989586621679974437 :: (~>) a6989586621679970198 ((~>) a6989586621679970198 Bool)) :: (~>) [a6989586621679970198] [[a6989586621679970198]]
type GroupBySym2 (a6989586621679974437 :: (~>) a6989586621679970198 ((~>) a6989586621679970198 Bool)) (a6989586621679974438 :: [a6989586621679970198]) = GroupBy a6989586621679974437 a6989586621679974438
data SortBySym0 :: forall a6989586621679970223. (~>) ((~>) a6989586621679970223 ((~>) a6989586621679970223 Ordering)) ((~>) [a6989586621679970223] [a6989586621679970223])
data SortBySym1 (a6989586621679974873 :: (~>) a6989586621679970223 ((~>) a6989586621679970223 Ordering)) :: (~>) [a6989586621679970223] [a6989586621679970223]
type SortBySym2 (a6989586621679974873 :: (~>) a6989586621679970223 ((~>) a6989586621679970223 Ordering)) (a6989586621679974874 :: [a6989586621679970223]) = SortBy a6989586621679974873 a6989586621679974874
data InsertBySym0 :: forall a6989586621679970222. (~>) ((~>) a6989586621679970222 ((~>) a6989586621679970222 Ordering)) ((~>) a6989586621679970222 ((~>) [a6989586621679970222] [a6989586621679970222]))
data InsertBySym1 (a6989586621679974849 :: (~>) a6989586621679970222 ((~>) a6989586621679970222 Ordering)) :: (~>) a6989586621679970222 ((~>) [a6989586621679970222] [a6989586621679970222])
data InsertBySym2 (a6989586621679974849 :: (~>) a6989586621679970222 ((~>) a6989586621679970222 Ordering)) (a6989586621679974850 :: a6989586621679970222) :: (~>) [a6989586621679970222] [a6989586621679970222]
type InsertBySym3 (a6989586621679974849 :: (~>) a6989586621679970222 ((~>) a6989586621679970222 Ordering)) (a6989586621679974850 :: a6989586621679970222) (a6989586621679974851 :: [a6989586621679970222]) = InsertBy a6989586621679974849 a6989586621679974850 a6989586621679974851
data MaximumBySym0 :: forall a6989586621680486543 t6989586621680486542. (~>) ((~>) a6989586621680486543 ((~>) a6989586621680486543 Ordering)) ((~>) (t6989586621680486542 a6989586621680486543) a6989586621680486543)
data MaximumBySym1 (a6989586621680487050 :: (~>) a6989586621680486543 ((~>) a6989586621680486543 Ordering)) :: forall t6989586621680486542. (~>) (t6989586621680486542 a6989586621680486543) a6989586621680486543
type MaximumBySym2 (a6989586621680487050 :: (~>) a6989586621680486543 ((~>) a6989586621680486543 Ordering)) (a6989586621680487051 :: t6989586621680486542 a6989586621680486543) = MaximumBy a6989586621680487050 a6989586621680487051
data MinimumBySym0 :: forall a6989586621680486541 t6989586621680486540. (~>) ((~>) a6989586621680486541 ((~>) a6989586621680486541 Ordering)) ((~>) (t6989586621680486540 a6989586621680486541) a6989586621680486541)
data MinimumBySym1 (a6989586621680487025 :: (~>) a6989586621680486541 ((~>) a6989586621680486541 Ordering)) :: forall t6989586621680486540. (~>) (t6989586621680486540 a6989586621680486541) a6989586621680486541
type MinimumBySym2 (a6989586621680487025 :: (~>) a6989586621680486541 ((~>) a6989586621680486541 Ordering)) (a6989586621680487026 :: t6989586621680486540 a6989586621680486541) = MinimumBy a6989586621680487025 a6989586621680487026
data GenericLengthSym0 :: forall a6989586621679970182 i6989586621679970181. (~>) [a6989586621679970182] i6989586621679970181
type GenericLengthSym1 (a6989586621679974258 :: [a6989586621679970182]) = GenericLength a6989586621679974258
data GenericTakeSym0 :: forall i6989586621680092347 a6989586621680092348. (~>) i6989586621680092347 ((~>) [a6989586621680092348] [a6989586621680092348])
data GenericTakeSym1 (a6989586621680093877 :: i6989586621680092347) :: forall a6989586621680092348. (~>) [a6989586621680092348] [a6989586621680092348]
type GenericTakeSym2 (a6989586621680093877 :: i6989586621680092347) (a6989586621680093878 :: [a6989586621680092348]) = GenericTake a6989586621680093877 a6989586621680093878
data GenericDropSym0 :: forall i6989586621680092345 a6989586621680092346. (~>) i6989586621680092345 ((~>) [a6989586621680092346] [a6989586621680092346])
data GenericDropSym1 (a6989586621680093867 :: i6989586621680092345) :: forall a6989586621680092346. (~>) [a6989586621680092346] [a6989586621680092346]
type GenericDropSym2 (a6989586621680093867 :: i6989586621680092345) (a6989586621680093868 :: [a6989586621680092346]) = GenericDrop a6989586621680093867 a6989586621680093868
data GenericSplitAtSym0 :: forall i6989586621680092343 a6989586621680092344. (~>) i6989586621680092343 ((~>) [a6989586621680092344] ([a6989586621680092344], [a6989586621680092344]))
data GenericSplitAtSym1 (a6989586621680093857 :: i6989586621680092343) :: forall a6989586621680092344. (~>) [a6989586621680092344] ([a6989586621680092344], [a6989586621680092344])
type GenericSplitAtSym2 (a6989586621680093857 :: i6989586621680092343) (a6989586621680093858 :: [a6989586621680092344]) = GenericSplitAt a6989586621680093857 a6989586621680093858
data GenericIndexSym0 :: forall a6989586621680092342 i6989586621680092341. (~>) [a6989586621680092342] ((~>) i6989586621680092341 a6989586621680092342)
data GenericIndexSym1 (a6989586621680093847 :: [a6989586621680092342]) :: forall i6989586621680092341. (~>) i6989586621680092341 a6989586621680092342
type GenericIndexSym2 (a6989586621680093847 :: [a6989586621680092342]) (a6989586621680093848 :: i6989586621680092341) = GenericIndex a6989586621680093847 a6989586621680093848
data GenericReplicateSym0 :: forall i6989586621680092339 a6989586621680092340. (~>) i6989586621680092339 ((~>) a6989586621680092340 [a6989586621680092340])
data GenericReplicateSym1 (a6989586621680093837 :: i6989586621680092339) :: forall a6989586621680092340. (~>) a6989586621680092340 [a6989586621680092340]
type GenericReplicateSym2 (a6989586621680093837 :: i6989586621680092339) (a6989586621680093838 :: a6989586621680092340) = GenericReplicate a6989586621680093837 a6989586621680093838


-- | Defines the promoted and singled versions of the <a>MonadZip</a> type
--   class.
module Data.Singletons.Prelude.Monad.Zip
class PMonadZip (m_a8SVB :: Type -> Type) where {
    type family Mzip (arg_a8SWP :: m_a8SVB a_a8SVC) (arg_a8SWQ :: m_a8SVB b_a8SVD) :: m_a8SVB (a_a8SVC, b_a8SVD);
    type family MzipWith (arg_a8SWT :: (~>) a_a8SVE ((~>) b_a8SVF c_a8SVG)) (arg_a8SWU :: m_a8SVB a_a8SVE) (arg_a8SWV :: m_a8SVB b_a8SVF) :: m_a8SVB c_a8SVG;
    type family Munzip (arg_a8SWZ :: m_a8SVB (a_a8SVH, b_a8SVI)) :: (m_a8SVB a_a8SVH, m_a8SVB b_a8SVI);
    type Mzip a_a8SX1 a_a8SX2 = Apply (Apply Mzip_6989586621681127653Sym0 a_a8SX1) a_a8SX2;
    type MzipWith a_a8SXh a_a8SXi a_a8SXj = Apply (Apply (Apply MzipWith_6989586621681127670Sym0 a_a8SXh) a_a8SXi) a_a8SXj;
    type Munzip a_a8SXy = Apply Munzip_6989586621681127685Sym0 a_a8SXy;
}
class SMonad m_a8SVB => SMonadZip (m_a8SVB :: Type -> Type)
sMzip :: forall a_a8SVC b_a8SVD (t_a8T1J :: m_a8SVB a_a8SVC) (t_a8T1K :: m_a8SVB b_a8SVD). SMonadZip m_a8SVB => Sing t_a8T1J -> Sing t_a8T1K -> Sing (Apply (Apply MzipSym0 t_a8T1J) t_a8T1K :: m_a8SVB (a_a8SVC, b_a8SVD))
sMzipWith :: forall a_a8SVE b_a8SVF c_a8SVG (t_a8T1N :: (~>) a_a8SVE ((~>) b_a8SVF c_a8SVG)) (t_a8T1O :: m_a8SVB a_a8SVE) (t_a8T1P :: m_a8SVB b_a8SVF). SMonadZip m_a8SVB => Sing t_a8T1N -> Sing t_a8T1O -> Sing t_a8T1P -> Sing (Apply (Apply (Apply MzipWithSym0 t_a8T1N) t_a8T1O) t_a8T1P :: m_a8SVB c_a8SVG)
sMunzip :: forall a_a8SVH b_a8SVI (t_a8T1T :: m_a8SVB (a_a8SVH, b_a8SVI)). SMonadZip m_a8SVB => Sing t_a8T1T -> Sing (Apply MunzipSym0 t_a8T1T :: (m_a8SVB a_a8SVH, m_a8SVB b_a8SVI))
sMzip :: forall a_a8SVC b_a8SVD (t_a8T1J :: m_a8SVB a_a8SVC) (t_a8T1K :: m_a8SVB b_a8SVD). (SMonadZip m_a8SVB, (Apply (Apply MzipSym0 t_a8T1J) t_a8T1K :: m_a8SVB (a_a8SVC, b_a8SVD)) ~ Apply (Apply Mzip_6989586621681127653Sym0 t_a8T1J) t_a8T1K) => Sing t_a8T1J -> Sing t_a8T1K -> Sing (Apply (Apply MzipSym0 t_a8T1J) t_a8T1K :: m_a8SVB (a_a8SVC, b_a8SVD))
sMzipWith :: forall a_a8SVE b_a8SVF c_a8SVG (t_a8T1N :: (~>) a_a8SVE ((~>) b_a8SVF c_a8SVG)) (t_a8T1O :: m_a8SVB a_a8SVE) (t_a8T1P :: m_a8SVB b_a8SVF). (SMonadZip m_a8SVB, (Apply (Apply (Apply MzipWithSym0 t_a8T1N) t_a8T1O) t_a8T1P :: m_a8SVB c_a8SVG) ~ Apply (Apply (Apply MzipWith_6989586621681127670Sym0 t_a8T1N) t_a8T1O) t_a8T1P) => Sing t_a8T1N -> Sing t_a8T1O -> Sing t_a8T1P -> Sing (Apply (Apply (Apply MzipWithSym0 t_a8T1N) t_a8T1O) t_a8T1P :: m_a8SVB c_a8SVG)
sMunzip :: forall a_a8SVH b_a8SVI (t_a8T1T :: m_a8SVB (a_a8SVH, b_a8SVI)). (SMonadZip m_a8SVB, (Apply MunzipSym0 t_a8T1T :: (m_a8SVB a_a8SVH, m_a8SVB b_a8SVI)) ~ Apply Munzip_6989586621681127685Sym0 t_a8T1T) => Sing t_a8T1T -> Sing (Apply MunzipSym0 t_a8T1T :: (m_a8SVB a_a8SVH, m_a8SVB b_a8SVI))
data MzipSym0 :: forall m6989586621681127563 a6989586621681127564 b6989586621681127565. (~>) (m6989586621681127563 a6989586621681127564) ((~>) (m6989586621681127563 b6989586621681127565) (m6989586621681127563 (a6989586621681127564, b6989586621681127565)))
data MzipSym1 (arg6989586621681127639 :: m6989586621681127563 a6989586621681127564) :: forall b6989586621681127565. (~>) (m6989586621681127563 b6989586621681127565) (m6989586621681127563 (a6989586621681127564, b6989586621681127565))
type MzipSym2 (arg6989586621681127639 :: m6989586621681127563 a6989586621681127564) (arg6989586621681127640 :: m6989586621681127563 b6989586621681127565) = Mzip arg6989586621681127639 arg6989586621681127640
data MzipWithSym0 :: forall a6989586621681127566 b6989586621681127567 c6989586621681127568 m6989586621681127563. (~>) ((~>) a6989586621681127566 ((~>) b6989586621681127567 c6989586621681127568)) ((~>) (m6989586621681127563 a6989586621681127566) ((~>) (m6989586621681127563 b6989586621681127567) (m6989586621681127563 c6989586621681127568)))
data MzipWithSym1 (arg6989586621681127643 :: (~>) a6989586621681127566 ((~>) b6989586621681127567 c6989586621681127568)) :: forall m6989586621681127563. (~>) (m6989586621681127563 a6989586621681127566) ((~>) (m6989586621681127563 b6989586621681127567) (m6989586621681127563 c6989586621681127568))
data MzipWithSym2 (arg6989586621681127643 :: (~>) a6989586621681127566 ((~>) b6989586621681127567 c6989586621681127568)) (arg6989586621681127644 :: m6989586621681127563 a6989586621681127566) :: (~>) (m6989586621681127563 b6989586621681127567) (m6989586621681127563 c6989586621681127568)
type MzipWithSym3 (arg6989586621681127643 :: (~>) a6989586621681127566 ((~>) b6989586621681127567 c6989586621681127568)) (arg6989586621681127644 :: m6989586621681127563 a6989586621681127566) (arg6989586621681127645 :: m6989586621681127563 b6989586621681127567) = MzipWith arg6989586621681127643 arg6989586621681127644 arg6989586621681127645
data MunzipSym0 :: forall m6989586621681127563 a6989586621681127569 b6989586621681127570. (~>) (m6989586621681127563 (a6989586621681127569, b6989586621681127570)) (m6989586621681127563 a6989586621681127569, m6989586621681127563 b6989586621681127570)
type MunzipSym1 (arg6989586621681127649 :: m6989586621681127563 (a6989586621681127569, b6989586621681127570)) = Munzip arg6989586621681127649
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_6989586621681127923Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Monoid.Last
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (a6989586621681127920 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127923Sym1 a6989586621681127920)
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (a6989586621681127921 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)) (a6989586621681127920 :: m6989586621681127563 a6989586621681127566). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127923Sym2 a6989586621681127921 a6989586621681127920)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127900Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Monoid.First
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (a6989586621681127897 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127900Sym1 a6989586621681127897)
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (a6989586621681127898 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)) (a6989586621681127897 :: m6989586621681127563 a6989586621681127566). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127900Sym2 a6989586621681127898 a6989586621681127897)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127877Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip GHC.Maybe.Maybe
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (a6989586621681127874 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127877Sym1 a6989586621681127874)
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (a6989586621681127875 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)) (a6989586621681127874 :: m6989586621681127563 a6989586621681127566). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127877Sym2 a6989586621681127875 a6989586621681127874)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127854Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Semigroup.Internal.Product
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (a6989586621681127851 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127854Sym1 a6989586621681127851)
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (a6989586621681127852 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)) (a6989586621681127851 :: m6989586621681127563 a6989586621681127566). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127854Sym2 a6989586621681127852 a6989586621681127851)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127831Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Semigroup.Internal.Sum
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (a6989586621681127828 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127831Sym1 a6989586621681127828)
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (a6989586621681127829 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)) (a6989586621681127828 :: m6989586621681127563 a6989586621681127566). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127831Sym2 a6989586621681127829 a6989586621681127828)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127808Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Semigroup.Internal.Dual
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (a6989586621681127805 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127808Sym1 a6989586621681127805)
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (a6989586621681127806 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)) (a6989586621681127805 :: m6989586621681127563 a6989586621681127566). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127808Sym2 a6989586621681127806 a6989586621681127805)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Munzip_6989586621681127798Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Functor.Identity.Identity
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127777Sym0
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (a6989586621681127774 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127777Sym1 a6989586621681127774)
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (a6989586621681127775 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)) (a6989586621681127774 :: m6989586621681127563 a6989586621681127566). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127777Sym2 a6989586621681127775 a6989586621681127774)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Munzip_6989586621681127766Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip []
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127745Sym0
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (a6989586621681127742 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127745Sym1 a6989586621681127742)
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (a6989586621681127743 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)) (a6989586621681127742 :: m6989586621681127563 a6989586621681127566). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127745Sym2 a6989586621681127743 a6989586621681127742)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681127728Sym0
instance forall (m6989586621681127563 :: * -> *) a6989586621681127564 b6989586621681127565 (a6989586621681127726 :: m6989586621681127563 a6989586621681127564). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681127728Sym1 a6989586621681127726)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MunzipSym0
instance forall (m6989586621681127563 :: * -> *) a6989586621681127564 b6989586621681127565 (arg6989586621681127639 :: m6989586621681127563 a6989586621681127564). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipSym1 arg6989586621681127639)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipSym0
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (arg6989586621681127644 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)) (arg6989586621681127643 :: m6989586621681127563 a6989586621681127566). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWithSym2 arg6989586621681127644 arg6989586621681127643)
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (arg6989586621681127643 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWithSym1 arg6989586621681127643)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWithSym0
instance forall (m6989586621681127563 :: * -> *) a6989586621681127564 b6989586621681127565 (a6989586621681127651 :: m6989586621681127563 a6989586621681127564). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681127653Sym1 a6989586621681127651)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681127653Sym0
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (a6989586621681127668 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)) (a6989586621681127667 :: m6989586621681127563 a6989586621681127566). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127670Sym2 a6989586621681127668 a6989586621681127667)
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (m6989586621681127563 :: * -> *) (a6989586621681127667 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127670Sym1 a6989586621681127667)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127670Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Munzip_6989586621681127685Sym0


-- | 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 type family.
type family Sing :: k -> Type
data SNonEmpty :: forall a_acU1. NonEmpty a_acU1 -> Type
[:%|] :: forall a_acU1 (n_a1gmb :: a_acU1) (n_a1gmc :: [a_acU1]). () => Sing (n_a1gmb :: a_acU1) -> Sing (n_a1gmc :: [a_acU1]) -> SNonEmpty ('(:|) n_a1gmb n_a1gmc)
infixr 5 :%|
type family Map (a_a91Hx :: (~>) a_a91hv b_a91hw) (a_a91Hy :: NonEmpty a_a91hv) :: NonEmpty b_a91hw
sMap :: forall a_a91hv b_a91hw (t_a91MD :: (~>) a_a91hv b_a91hw) (t_a91ME :: NonEmpty a_a91hv). Sing t_a91MD -> Sing t_a91ME -> Sing (Apply (Apply MapSym0 t_a91MD) t_a91ME :: NonEmpty b_a91hw)
type family Intersperse (a_a91Gv :: a_a91hl) (a_a91Gw :: NonEmpty a_a91hl) :: NonEmpty a_a91hl
sIntersperse :: forall a_a91hl (t_a91M7 :: a_a91hl) (t_a91M8 :: NonEmpty a_a91hl). Sing t_a91M7 -> Sing t_a91M8 -> Sing (Apply (Apply IntersperseSym0 t_a91M7) t_a91M8 :: NonEmpty a_a91hl)
type family Scanl (a_a91H4 :: (~>) b_a91hq ((~>) a_a91hr b_a91hq)) (a_a91H5 :: b_a91hq) (a_a91H6 :: [a_a91hr]) :: NonEmpty b_a91hq
sScanl :: forall b_a91hq a_a91hr (t_a91Mp :: (~>) b_a91hq ((~>) a_a91hr b_a91hq)) (t_a91Mq :: b_a91hq) (t_a91Mr :: [a_a91hr]). Sing t_a91Mp -> Sing t_a91Mq -> Sing t_a91Mr -> Sing (Apply (Apply (Apply ScanlSym0 t_a91Mp) t_a91Mq) t_a91Mr :: NonEmpty b_a91hq)
type family Scanr (a_a91GT :: (~>) a_a91ho ((~>) b_a91hp b_a91hp)) (a_a91GU :: b_a91hp) (a_a91GV :: [a_a91ho]) :: NonEmpty b_a91hp
sScanr :: forall a_a91ho b_a91hp (t_a91Mj :: (~>) a_a91ho ((~>) b_a91hp b_a91hp)) (t_a91Mk :: b_a91hp) (t_a91Ml :: [a_a91ho]). Sing t_a91Mj -> Sing t_a91Mk -> Sing t_a91Ml -> Sing (Apply (Apply (Apply ScanrSym0 t_a91Mj) t_a91Mk) t_a91Ml :: NonEmpty b_a91hp)
type family Scanl1 (a_a91GM :: (~>) a_a91hn ((~>) a_a91hn a_a91hn)) (a_a91GN :: NonEmpty a_a91hn) :: NonEmpty a_a91hn
sScanl1 :: forall a_a91hn (t_a91Mf :: (~>) a_a91hn ((~>) a_a91hn a_a91hn)) (t_a91Mg :: NonEmpty a_a91hn). Sing t_a91Mf -> Sing t_a91Mg -> Sing (Apply (Apply Scanl1Sym0 t_a91Mf) t_a91Mg :: NonEmpty a_a91hn)
type family Scanr1 (a_a91GF :: (~>) a_a91hm ((~>) a_a91hm a_a91hm)) (a_a91GG :: NonEmpty a_a91hm) :: NonEmpty a_a91hm
sScanr1 :: forall a_a91hm (t_a91Mb :: (~>) a_a91hm ((~>) a_a91hm a_a91hm)) (t_a91Mc :: NonEmpty a_a91hm). Sing t_a91Mb -> Sing t_a91Mc -> Sing (Apply (Apply Scanr1Sym0 t_a91Mb) t_a91Mc :: NonEmpty a_a91hm)
type family Transpose (a_a91BK :: NonEmpty (NonEmpty a_a91gN)) :: NonEmpty (NonEmpty a_a91gN)
sTranspose :: forall a_a91gN (t_a91KB :: NonEmpty (NonEmpty a_a91gN)). Sing t_a91KB -> Sing (Apply TransposeSym0 t_a91KB :: NonEmpty (NonEmpty a_a91gN))
type family SortBy (a_a91BA :: (~>) a_a91gM ((~>) a_a91gM Ordering)) (a_a91BB :: NonEmpty a_a91gM) :: NonEmpty a_a91gM
sSortBy :: forall a_a91gM (t_a91Kx :: (~>) a_a91gM ((~>) a_a91gM Ordering)) (t_a91Ky :: NonEmpty a_a91gM). Sing t_a91Kx -> Sing t_a91Ky -> Sing (Apply (Apply SortBySym0 t_a91Kx) t_a91Ky :: NonEmpty a_a91gM)
type family SortWith (a_a91Bu :: (~>) a_a91gL o_a91gK) (a_a91Bv :: NonEmpty a_a91gL) :: NonEmpty a_a91gL
sSortWith :: forall a_a91gL o_a91gK (t_a91Kt :: (~>) a_a91gL o_a91gK) (t_a91Ku :: NonEmpty a_a91gL). SOrd o_a91gK => Sing t_a91Kt -> Sing t_a91Ku -> Sing (Apply (Apply SortWithSym0 t_a91Kt) t_a91Ku :: NonEmpty a_a91gL)
type family Length (a_a91Jx :: NonEmpty a_a91hO) :: Nat
sLength :: forall a_a91hO (t_a91Nl :: NonEmpty a_a91hO). Sing t_a91Nl -> Sing (Apply LengthSym0 t_a91Nl :: Nat)
type family Head (a_a91Ir :: NonEmpty a_a91hH) :: a_a91hH
sHead :: forall a_a91hH (t_a91N5 :: NonEmpty a_a91hH). Sing t_a91N5 -> Sing (Apply HeadSym0 t_a91N5 :: a_a91hH)
type family Tail (a_a91Io :: NonEmpty a_a91hG) :: [a_a91hG]
sTail :: forall a_a91hG (t_a91N3 :: NonEmpty a_a91hG). Sing t_a91N3 -> Sing (Apply TailSym0 t_a91N3 :: [a_a91hG])
type family Last (a_a91Ik :: NonEmpty a_a91hF) :: a_a91hF
sLast :: forall a_a91hF (t_a91N1 :: NonEmpty a_a91hF). Sing t_a91N1 -> Sing (Apply LastSym0 t_a91N1 :: a_a91hF)
type family Init (a_a91Ig :: NonEmpty a_a91hE) :: [a_a91hE]
sInit :: forall a_a91hE (t_a91MZ :: NonEmpty a_a91hE). Sing t_a91MZ -> Sing (Apply InitSym0 t_a91MZ :: [a_a91hE])
type family (<|) (a_a91I9 :: a_a91hD) (a_a91Ia :: NonEmpty a_a91hD) :: NonEmpty a_a91hD
(%<|) :: forall a_a91hD (t_a91MV :: a_a91hD) (t_a91MW :: NonEmpty a_a91hD). Sing t_a91MV -> Sing t_a91MW -> Sing (Apply (Apply (<|@#@$) t_a91MV) t_a91MW :: NonEmpty a_a91hD)
type family Cons (a_a91I3 :: a_a91hC) (a_a91I4 :: NonEmpty a_a91hC) :: NonEmpty a_a91hC
sCons :: forall a_a91hC (t_a91MR :: a_a91hC) (t_a91MS :: NonEmpty a_a91hC). Sing t_a91MR -> Sing t_a91MS -> Sing (Apply (Apply ConsSym0 t_a91MR) t_a91MS :: NonEmpty a_a91hC)
type family Uncons (a_a91IX :: NonEmpty a_a91hK) :: (a_a91hK, Maybe (NonEmpty a_a91hK))
sUncons :: forall a_a91hK (t_a91Nb :: NonEmpty a_a91hK). Sing t_a91Nb -> Sing (Apply UnconsSym0 t_a91Nb :: (a_a91hK, Maybe (NonEmpty a_a91hK)))
type family Unfoldr (a_a91Iu :: (~>) a_a91hI (b_a91hJ, Maybe a_a91hI)) (a_a91Iv :: a_a91hI) :: NonEmpty b_a91hJ
sUnfoldr :: forall a_a91hI b_a91hJ (t_a91N7 :: (~>) a_a91hI (b_a91hJ, Maybe a_a91hI)) (t_a91N8 :: a_a91hI). Sing t_a91N7 -> Sing t_a91N8 -> Sing (Apply (Apply UnfoldrSym0 t_a91N7) t_a91N8 :: NonEmpty b_a91hJ)
type family Sort (a_a91HW :: NonEmpty a_a91hB) :: NonEmpty a_a91hB
sSort :: forall a_a91hB (t_a91MP :: NonEmpty a_a91hB). SOrd a_a91hB => Sing t_a91MP -> Sing (Apply SortSym0 t_a91MP :: NonEmpty a_a91hB)
type family Reverse (a_a91Gs :: NonEmpty a_a91hk) :: NonEmpty a_a91hk
sReverse :: forall a_a91hk (t_a91M5 :: NonEmpty a_a91hk). Sing t_a91M5 -> Sing (Apply ReverseSym0 t_a91M5 :: NonEmpty a_a91hk)
type family Inits (a_a91Hu :: [a_a91hu]) :: NonEmpty [a_a91hu]
sInits :: forall a_a91hu (t_a91MB :: [a_a91hu]). Sing t_a91MB -> Sing (Apply InitsSym0 t_a91MB :: NonEmpty [a_a91hu])
type family Tails (a_a91Hp :: [a_a91ht]) :: NonEmpty [a_a91ht]
sTails :: forall a_a91ht (t_a91Mz :: [a_a91ht]). Sing t_a91Mz -> Sing (Apply TailsSym0 t_a91Mz :: NonEmpty [a_a91ht])
type family Unfold (a_a91J5 :: (~>) a_a91hM (b_a91hN, Maybe a_a91hM)) (a_a91J6 :: a_a91hM) :: NonEmpty b_a91hN
sUnfold :: forall a_a91hM b_a91hN (t_a91Nf :: (~>) a_a91hM (b_a91hN, Maybe a_a91hM)) (t_a91Ng :: a_a91hM). Sing t_a91Nf -> Sing t_a91Ng -> Sing (Apply (Apply UnfoldSym0 t_a91Nf) t_a91Ng :: NonEmpty b_a91hN)
type family Insert (a_a91Hf :: a_a91hs) (a_a91Hg :: [a_a91hs]) :: NonEmpty a_a91hs
sInsert :: forall a_a91hs (t_a91Mv :: a_a91hs) (t_a91Mw :: [a_a91hs]). SOrd a_a91hs => Sing t_a91Mv -> Sing t_a91Mw -> Sing (Apply (Apply InsertSym0 t_a91Mv) t_a91Mw :: NonEmpty a_a91hs)
type family Take (a_a91Gi :: Nat) (a_a91Gj :: NonEmpty a_a91hj) :: [a_a91hj]
sTake :: forall a_a91hj (t_a91M1 :: Nat) (t_a91M2 :: NonEmpty a_a91hj). Sing t_a91M1 -> Sing t_a91M2 -> Sing (Apply (Apply TakeSym0 t_a91M1) t_a91M2 :: [a_a91hj])
type family Drop (a_a91Ga :: Nat) (a_a91Gb :: NonEmpty a_a91hi) :: [a_a91hi]
sDrop :: forall a_a91hi (t_a91LX :: Nat) (t_a91LY :: NonEmpty a_a91hi). Sing t_a91LX -> Sing t_a91LY -> Sing (Apply (Apply DropSym0 t_a91LX) t_a91LY :: [a_a91hi])
type family SplitAt (a_a91G2 :: Nat) (a_a91G3 :: NonEmpty a_a91hh) :: ([a_a91hh], [a_a91hh])
sSplitAt :: forall a_a91hh (t_a91LT :: Nat) (t_a91LU :: NonEmpty a_a91hh). Sing t_a91LT -> Sing t_a91LU -> Sing (Apply (Apply SplitAtSym0 t_a91LT) t_a91LU :: ([a_a91hh], [a_a91hh]))
type family TakeWhile (a_a91FU :: (~>) a_a91hg Bool) (a_a91FV :: NonEmpty a_a91hg) :: [a_a91hg]
sTakeWhile :: forall a_a91hg (t_a91LP :: (~>) a_a91hg Bool) (t_a91LQ :: NonEmpty a_a91hg). Sing t_a91LP -> Sing t_a91LQ -> Sing (Apply (Apply TakeWhileSym0 t_a91LP) t_a91LQ :: [a_a91hg])
type family DropWhile (a_a91FM :: (~>) a_a91hf Bool) (a_a91FN :: NonEmpty a_a91hf) :: [a_a91hf]
sDropWhile :: forall a_a91hf (t_a91LL :: (~>) a_a91hf Bool) (t_a91LM :: NonEmpty a_a91hf). Sing t_a91LL -> Sing t_a91LM -> Sing (Apply (Apply DropWhileSym0 t_a91LL) t_a91LM :: [a_a91hf])
type family Span (a_a91FE :: (~>) a_a91he Bool) (a_a91FF :: NonEmpty a_a91he) :: ([a_a91he], [a_a91he])
sSpan :: forall a_a91he (t_a91LH :: (~>) a_a91he Bool) (t_a91LI :: NonEmpty a_a91he). Sing t_a91LH -> Sing t_a91LI -> Sing (Apply (Apply SpanSym0 t_a91LH) t_a91LI :: ([a_a91he], [a_a91he]))
type family Break (a_a91Fw :: (~>) a_a91hd Bool) (a_a91Fx :: NonEmpty a_a91hd) :: ([a_a91hd], [a_a91hd])
sBreak :: forall a_a91hd (t_a91LD :: (~>) a_a91hd Bool) (t_a91LE :: NonEmpty a_a91hd). Sing t_a91LD -> Sing t_a91LE -> Sing (Apply (Apply BreakSym0 t_a91LD) t_a91LE :: ([a_a91hd], [a_a91hd]))
type family Filter (a_a91Fo :: (~>) a_a91hc Bool) (a_a91Fp :: NonEmpty a_a91hc) :: [a_a91hc]
sFilter :: forall a_a91hc (t_a91Lz :: (~>) a_a91hc Bool) (t_a91LA :: NonEmpty a_a91hc). Sing t_a91Lz -> Sing t_a91LA -> Sing (Apply (Apply FilterSym0 t_a91Lz) t_a91LA :: [a_a91hc])
type family Partition (a_a91Fg :: (~>) a_a91hb Bool) (a_a91Fh :: NonEmpty a_a91hb) :: ([a_a91hb], [a_a91hb])
sPartition :: forall a_a91hb (t_a91Lv :: (~>) a_a91hb Bool) (t_a91Lw :: NonEmpty a_a91hb). Sing t_a91Lv -> Sing t_a91Lw -> Sing (Apply (Apply PartitionSym0 t_a91Lv) t_a91Lw :: ([a_a91hb], [a_a91hb]))
type family Group (a_a91Fd :: [a_a91ha]) :: [NonEmpty a_a91ha]
sGroup :: forall a_a91ha (t_a91Lt :: [a_a91ha]). SEq a_a91ha => Sing t_a91Lt -> Sing (Apply GroupSym0 t_a91Lt :: [NonEmpty a_a91ha])
type family GroupBy (a_a91Ep :: (~>) a_a91h9 ((~>) a_a91h9 Bool)) (a_a91Eq :: [a_a91h9]) :: [NonEmpty a_a91h9]
sGroupBy :: forall a_a91h9 (t_a91Lp :: (~>) a_a91h9 ((~>) a_a91h9 Bool)) (t_a91Lq :: [a_a91h9]). Sing t_a91Lp -> Sing t_a91Lq -> Sing (Apply (Apply GroupBySym0 t_a91Lp) t_a91Lq :: [NonEmpty a_a91h9])
type family GroupWith (a_a91Eh :: (~>) a_a91h8 b_a91h7) (a_a91Ei :: [a_a91h8]) :: [NonEmpty a_a91h8]
sGroupWith :: forall a_a91h8 b_a91h7 (t_a91Ll :: (~>) a_a91h8 b_a91h7) (t_a91Lm :: [a_a91h8]). SEq b_a91h7 => Sing t_a91Ll -> Sing t_a91Lm -> Sing (Apply (Apply GroupWithSym0 t_a91Ll) t_a91Lm :: [NonEmpty a_a91h8])
type family GroupAllWith (a_a91E9 :: (~>) a_a91h6 b_a91h5) (a_a91Ea :: [a_a91h6]) :: [NonEmpty a_a91h6]
sGroupAllWith :: forall a_a91h6 b_a91h5 (t_a91Lh :: (~>) a_a91h6 b_a91h5) (t_a91Li :: [a_a91h6]). SOrd b_a91h5 => Sing t_a91Lh -> Sing t_a91Li -> Sing (Apply (Apply GroupAllWithSym0 t_a91Lh) t_a91Li :: [NonEmpty a_a91h6])
type family Group1 (a_a91E6 :: NonEmpty a_a91h4) :: NonEmpty (NonEmpty a_a91h4)
sGroup1 :: forall a_a91h4 (t_a91Lf :: NonEmpty a_a91h4). SEq a_a91h4 => Sing t_a91Lf -> Sing (Apply Group1Sym0 t_a91Lf :: NonEmpty (NonEmpty a_a91h4))
type family GroupBy1 (a_a91Dz :: (~>) a_a91h3 ((~>) a_a91h3 Bool)) (a_a91DA :: NonEmpty a_a91h3) :: NonEmpty (NonEmpty a_a91h3)
sGroupBy1 :: forall a_a91h3 (t_a91Lb :: (~>) a_a91h3 ((~>) a_a91h3 Bool)) (t_a91Lc :: NonEmpty a_a91h3). Sing t_a91Lb -> Sing t_a91Lc -> Sing (Apply (Apply GroupBy1Sym0 t_a91Lb) t_a91Lc :: NonEmpty (NonEmpty a_a91h3))
type family GroupWith1 (a_a91Dr :: (~>) a_a91h2 b_a91h1) (a_a91Ds :: NonEmpty a_a91h2) :: NonEmpty (NonEmpty a_a91h2)
sGroupWith1 :: forall a_a91h2 b_a91h1 (t_a91L7 :: (~>) a_a91h2 b_a91h1) (t_a91L8 :: NonEmpty a_a91h2). SEq b_a91h1 => Sing t_a91L7 -> Sing t_a91L8 -> Sing (Apply (Apply GroupWith1Sym0 t_a91L7) t_a91L8 :: NonEmpty (NonEmpty a_a91h2))
type family GroupAllWith1 (a_a91Dj :: (~>) a_a91h0 b_a91gZ) (a_a91Dk :: NonEmpty a_a91h0) :: NonEmpty (NonEmpty a_a91h0)
sGroupAllWith1 :: forall a_a91h0 b_a91gZ (t_a91L3 :: (~>) a_a91h0 b_a91gZ) (t_a91L4 :: NonEmpty a_a91h0). SOrd b_a91gZ => Sing t_a91L3 -> Sing t_a91L4 -> Sing (Apply (Apply GroupAllWith1Sym0 t_a91L3) t_a91L4 :: NonEmpty (NonEmpty a_a91h0))
type family IsPrefixOf (a_a91Db :: [a_a91gY]) (a_a91Dc :: NonEmpty a_a91gY) :: Bool
sIsPrefixOf :: forall a_a91gY (t_a91KZ :: [a_a91gY]) (t_a91L0 :: NonEmpty a_a91gY). SEq a_a91gY => Sing t_a91KZ -> Sing t_a91L0 -> Sing (Apply (Apply IsPrefixOfSym0 t_a91KZ) t_a91L0 :: Bool)
type family Nub (a_a91C4 :: NonEmpty a_a91gP) :: NonEmpty a_a91gP
sNub :: forall a_a91gP (t_a91KH :: NonEmpty a_a91gP). SEq a_a91gP => Sing t_a91KH -> Sing (Apply NubSym0 t_a91KH :: NonEmpty a_a91gP)
type family NubBy (a_a91BN :: (~>) a_a91gO ((~>) a_a91gO Bool)) (a_a91BO :: NonEmpty a_a91gO) :: NonEmpty a_a91gO
sNubBy :: forall a_a91gO (t_a91KD :: (~>) a_a91gO ((~>) a_a91gO Bool)) (t_a91KE :: NonEmpty a_a91gO). Sing t_a91KD -> Sing t_a91KE -> Sing (Apply (Apply NubBySym0 t_a91KD) t_a91KE :: NonEmpty a_a91gO)
type family (!!) (a_a91CT :: NonEmpty a_a91gX) (a_a91CU :: Nat) :: a_a91gX
(%!!) :: forall a_a91gX (t_a91KV :: NonEmpty a_a91gX) (t_a91KW :: Nat). Sing t_a91KV -> Sing t_a91KW -> Sing (Apply (Apply (!!@#@$) t_a91KV) t_a91KW :: a_a91gX)
type family Zip (a_a91CL :: NonEmpty a_a91gV) (a_a91CM :: NonEmpty b_a91gW) :: NonEmpty (a_a91gV, b_a91gW)
sZip :: forall a_a91gV b_a91gW (t_a91KR :: NonEmpty a_a91gV) (t_a91KS :: NonEmpty b_a91gW). Sing t_a91KR -> Sing t_a91KS -> Sing (Apply (Apply ZipSym0 t_a91KR) t_a91KS :: NonEmpty (a_a91gV, b_a91gW))
type family ZipWith (a_a91CA :: (~>) a_a91gS ((~>) b_a91gT c_a91gU)) (a_a91CB :: NonEmpty a_a91gS) (a_a91CC :: NonEmpty b_a91gT) :: NonEmpty c_a91gU
sZipWith :: forall a_a91gS b_a91gT c_a91gU (t_a91KL :: (~>) a_a91gS ((~>) b_a91gT c_a91gU)) (t_a91KM :: NonEmpty a_a91gS) (t_a91KN :: NonEmpty b_a91gT). Sing t_a91KL -> Sing t_a91KM -> Sing t_a91KN -> Sing (Apply (Apply (Apply ZipWithSym0 t_a91KL) t_a91KM) t_a91KN :: NonEmpty c_a91gU)
type family Unzip (a_a91C7 :: NonEmpty (a_a91gQ, b_a91gR)) :: (NonEmpty a_a91gQ, NonEmpty b_a91gR)
sUnzip :: forall a_a91gQ b_a91gR (t_a91KJ :: NonEmpty (a_a91gQ, b_a91gR)). Sing t_a91KJ -> Sing (Apply UnzipSym0 t_a91KJ :: (NonEmpty a_a91gQ, NonEmpty b_a91gR))
type family FromList (a_a91HQ :: [a_a91hA]) :: NonEmpty a_a91hA
sFromList :: forall a_a91hA (t_a91MN :: [a_a91hA]). Sing t_a91MN -> Sing (Apply FromListSym0 t_a91MN :: NonEmpty a_a91hA)
type family ToList (a_a91HM :: NonEmpty a_a91hz) :: [a_a91hz]
sToList :: forall a_a91hz (t_a91ML :: NonEmpty a_a91hz). Sing t_a91ML -> Sing (Apply ToListSym0 t_a91ML :: [a_a91hz])
type family NonEmpty_ (a_a91J1 :: [a_a91hL]) :: Maybe (NonEmpty a_a91hL)
sNonEmpty_ :: forall a_a91hL (t_a91Nd :: [a_a91hL]). Sing t_a91Nd -> Sing (Apply NonEmpty_Sym0 t_a91Nd :: Maybe (NonEmpty a_a91hL))
type family Xor (a_a91Jk :: NonEmpty Bool) :: Bool
sXor :: forall (t_a91Nj :: NonEmpty Bool). Sing t_a91Nj -> Sing (Apply XorSym0 t_a91Nj :: Bool)
data (:|@#@$) :: forall (a6989586621679059393 :: Type). (~>) a6989586621679059393 ((~>) [a6989586621679059393] (NonEmpty (a6989586621679059393 :: Type)))
infixr 5 :|@#@$
data (:|@#@$$) (t6989586621679310995 :: a6989586621679059393 :: Type) :: (~>) [a6989586621679059393] (NonEmpty (a6989586621679059393 :: Type))
infixr 5 :|@#@$$
type (:|@#@$$$) (t6989586621679310995 :: a6989586621679059393) (t6989586621679310996 :: [a6989586621679059393]) = '(:|) t6989586621679310995 t6989586621679310996
data MapSym0 :: forall a6989586621681159673 b6989586621681159674. (~>) ((~>) a6989586621681159673 b6989586621681159674) ((~>) (NonEmpty a6989586621681159673) (NonEmpty b6989586621681159674))
data MapSym1 (a6989586621681161287 :: (~>) a6989586621681159673 b6989586621681159674) :: (~>) (NonEmpty a6989586621681159673) (NonEmpty b6989586621681159674)
type MapSym2 (a6989586621681161287 :: (~>) a6989586621681159673 b6989586621681159674) (a6989586621681161288 :: NonEmpty a6989586621681159673) = Map a6989586621681161287 a6989586621681161288
data IntersperseSym0 :: forall a6989586621681159663. (~>) a6989586621681159663 ((~>) (NonEmpty a6989586621681159663) (NonEmpty a6989586621681159663))
data IntersperseSym1 (a6989586621681161223 :: a6989586621681159663) :: (~>) (NonEmpty a6989586621681159663) (NonEmpty a6989586621681159663)
type IntersperseSym2 (a6989586621681161223 :: a6989586621681159663) (a6989586621681161224 :: NonEmpty a6989586621681159663) = Intersperse a6989586621681161223 a6989586621681161224
data ScanlSym0 :: forall b6989586621681159668 a6989586621681159669. (~>) ((~>) b6989586621681159668 ((~>) a6989586621681159669 b6989586621681159668)) ((~>) b6989586621681159668 ((~>) [a6989586621681159669] (NonEmpty b6989586621681159668)))
data ScanlSym1 (a6989586621681161258 :: (~>) b6989586621681159668 ((~>) a6989586621681159669 b6989586621681159668)) :: (~>) b6989586621681159668 ((~>) [a6989586621681159669] (NonEmpty b6989586621681159668))
data ScanlSym2 (a6989586621681161258 :: (~>) b6989586621681159668 ((~>) a6989586621681159669 b6989586621681159668)) (a6989586621681161259 :: b6989586621681159668) :: (~>) [a6989586621681159669] (NonEmpty b6989586621681159668)
type ScanlSym3 (a6989586621681161258 :: (~>) b6989586621681159668 ((~>) a6989586621681159669 b6989586621681159668)) (a6989586621681161259 :: b6989586621681159668) (a6989586621681161260 :: [a6989586621681159669]) = Scanl a6989586621681161258 a6989586621681161259 a6989586621681161260
data ScanrSym0 :: forall a6989586621681159666 b6989586621681159667. (~>) ((~>) a6989586621681159666 ((~>) b6989586621681159667 b6989586621681159667)) ((~>) b6989586621681159667 ((~>) [a6989586621681159666] (NonEmpty b6989586621681159667)))
data ScanrSym1 (a6989586621681161247 :: (~>) a6989586621681159666 ((~>) b6989586621681159667 b6989586621681159667)) :: (~>) b6989586621681159667 ((~>) [a6989586621681159666] (NonEmpty b6989586621681159667))
data ScanrSym2 (a6989586621681161247 :: (~>) a6989586621681159666 ((~>) b6989586621681159667 b6989586621681159667)) (a6989586621681161248 :: b6989586621681159667) :: (~>) [a6989586621681159666] (NonEmpty b6989586621681159667)
type ScanrSym3 (a6989586621681161247 :: (~>) a6989586621681159666 ((~>) b6989586621681159667 b6989586621681159667)) (a6989586621681161248 :: b6989586621681159667) (a6989586621681161249 :: [a6989586621681159666]) = Scanr a6989586621681161247 a6989586621681161248 a6989586621681161249
data Scanl1Sym0 :: forall a6989586621681159665. (~>) ((~>) a6989586621681159665 ((~>) a6989586621681159665 a6989586621681159665)) ((~>) (NonEmpty a6989586621681159665) (NonEmpty a6989586621681159665))
data Scanl1Sym1 (a6989586621681161240 :: (~>) a6989586621681159665 ((~>) a6989586621681159665 a6989586621681159665)) :: (~>) (NonEmpty a6989586621681159665) (NonEmpty a6989586621681159665)
type Scanl1Sym2 (a6989586621681161240 :: (~>) a6989586621681159665 ((~>) a6989586621681159665 a6989586621681159665)) (a6989586621681161241 :: NonEmpty a6989586621681159665) = Scanl1 a6989586621681161240 a6989586621681161241
data Scanr1Sym0 :: forall a6989586621681159664. (~>) ((~>) a6989586621681159664 ((~>) a6989586621681159664 a6989586621681159664)) ((~>) (NonEmpty a6989586621681159664) (NonEmpty a6989586621681159664))
data Scanr1Sym1 (a6989586621681161233 :: (~>) a6989586621681159664 ((~>) a6989586621681159664 a6989586621681159664)) :: (~>) (NonEmpty a6989586621681159664) (NonEmpty a6989586621681159664)
type Scanr1Sym2 (a6989586621681161233 :: (~>) a6989586621681159664 ((~>) a6989586621681159664 a6989586621681159664)) (a6989586621681161234 :: NonEmpty a6989586621681159664) = Scanr1 a6989586621681161233 a6989586621681161234
data TransposeSym0 :: forall a6989586621681159629. (~>) (NonEmpty (NonEmpty a6989586621681159629)) (NonEmpty (NonEmpty a6989586621681159629))
type TransposeSym1 (a6989586621681160928 :: NonEmpty (NonEmpty a6989586621681159629)) = Transpose a6989586621681160928
data SortBySym0 :: forall a6989586621681159628. (~>) ((~>) a6989586621681159628 ((~>) a6989586621681159628 Ordering)) ((~>) (NonEmpty a6989586621681159628) (NonEmpty a6989586621681159628))
data SortBySym1 (a6989586621681160918 :: (~>) a6989586621681159628 ((~>) a6989586621681159628 Ordering)) :: (~>) (NonEmpty a6989586621681159628) (NonEmpty a6989586621681159628)
type SortBySym2 (a6989586621681160918 :: (~>) a6989586621681159628 ((~>) a6989586621681159628 Ordering)) (a6989586621681160919 :: NonEmpty a6989586621681159628) = SortBy a6989586621681160918 a6989586621681160919
data SortWithSym0 :: forall a6989586621681159627 o6989586621681159626. (~>) ((~>) a6989586621681159627 o6989586621681159626) ((~>) (NonEmpty a6989586621681159627) (NonEmpty a6989586621681159627))
data SortWithSym1 (a6989586621681160912 :: (~>) a6989586621681159627 o6989586621681159626) :: (~>) (NonEmpty a6989586621681159627) (NonEmpty a6989586621681159627)
type SortWithSym2 (a6989586621681160912 :: (~>) a6989586621681159627 o6989586621681159626) (a6989586621681160913 :: NonEmpty a6989586621681159627) = SortWith a6989586621681160912 a6989586621681160913
data LengthSym0 :: forall a6989586621681159692. (~>) (NonEmpty a6989586621681159692) Nat
type LengthSym1 (a6989586621681161411 :: NonEmpty a6989586621681159692) = Length a6989586621681161411
data HeadSym0 :: forall a6989586621681159685. (~>) (NonEmpty a6989586621681159685) a6989586621681159685
type HeadSym1 (a6989586621681161343 :: NonEmpty a6989586621681159685) = Head a6989586621681161343
data TailSym0 :: forall a6989586621681159684. (~>) (NonEmpty a6989586621681159684) [a6989586621681159684]
type TailSym1 (a6989586621681161340 :: NonEmpty a6989586621681159684) = Tail a6989586621681161340
data LastSym0 :: forall a6989586621681159683. (~>) (NonEmpty a6989586621681159683) a6989586621681159683
type LastSym1 (a6989586621681161336 :: NonEmpty a6989586621681159683) = Last a6989586621681161336
data InitSym0 :: forall a6989586621681159682. (~>) (NonEmpty a6989586621681159682) [a6989586621681159682]
type InitSym1 (a6989586621681161332 :: NonEmpty a6989586621681159682) = Init a6989586621681161332
data (<|@#@$) :: forall a6989586621681159681. (~>) a6989586621681159681 ((~>) (NonEmpty a6989586621681159681) (NonEmpty a6989586621681159681))
data (<|@#@$$) (a6989586621681161325 :: a6989586621681159681) :: (~>) (NonEmpty a6989586621681159681) (NonEmpty a6989586621681159681)
type (<|@#@$$$) (a6989586621681161325 :: a6989586621681159681) (a6989586621681161326 :: NonEmpty a6989586621681159681) = (<|) a6989586621681161325 a6989586621681161326
data ConsSym0 :: forall a6989586621681159680. (~>) a6989586621681159680 ((~>) (NonEmpty a6989586621681159680) (NonEmpty a6989586621681159680))
data ConsSym1 (a6989586621681161319 :: a6989586621681159680) :: (~>) (NonEmpty a6989586621681159680) (NonEmpty a6989586621681159680)
type ConsSym2 (a6989586621681161319 :: a6989586621681159680) (a6989586621681161320 :: NonEmpty a6989586621681159680) = Cons a6989586621681161319 a6989586621681161320
data UnconsSym0 :: forall a6989586621681159688. (~>) (NonEmpty a6989586621681159688) (a6989586621681159688, Maybe (NonEmpty a6989586621681159688))
type UnconsSym1 (a6989586621681161375 :: NonEmpty a6989586621681159688) = Uncons a6989586621681161375
data UnfoldrSym0 :: forall a6989586621681159686 b6989586621681159687. (~>) ((~>) a6989586621681159686 (b6989586621681159687, Maybe a6989586621681159686)) ((~>) a6989586621681159686 (NonEmpty b6989586621681159687))
data UnfoldrSym1 (a6989586621681161346 :: (~>) a6989586621681159686 (b6989586621681159687, Maybe a6989586621681159686)) :: (~>) a6989586621681159686 (NonEmpty b6989586621681159687)
type UnfoldrSym2 (a6989586621681161346 :: (~>) a6989586621681159686 (b6989586621681159687, Maybe a6989586621681159686)) (a6989586621681161347 :: a6989586621681159686) = Unfoldr a6989586621681161346 a6989586621681161347
data SortSym0 :: forall a6989586621681159679. (~>) (NonEmpty a6989586621681159679) (NonEmpty a6989586621681159679)
type SortSym1 (a6989586621681161312 :: NonEmpty a6989586621681159679) = Sort a6989586621681161312
data ReverseSym0 :: forall a6989586621681159662. (~>) (NonEmpty a6989586621681159662) (NonEmpty a6989586621681159662)
type ReverseSym1 (a6989586621681161220 :: NonEmpty a6989586621681159662) = Reverse a6989586621681161220
data InitsSym0 :: forall a6989586621681159672. (~>) [a6989586621681159672] (NonEmpty [a6989586621681159672])
type InitsSym1 (a6989586621681161284 :: [a6989586621681159672]) = Inits a6989586621681161284
data TailsSym0 :: forall a6989586621681159671. (~>) [a6989586621681159671] (NonEmpty [a6989586621681159671])
type TailsSym1 (a6989586621681161279 :: [a6989586621681159671]) = Tails a6989586621681161279
data UnfoldSym0 :: forall a6989586621681159690 b6989586621681159691. (~>) ((~>) a6989586621681159690 (b6989586621681159691, Maybe a6989586621681159690)) ((~>) a6989586621681159690 (NonEmpty b6989586621681159691))
data UnfoldSym1 (a6989586621681161383 :: (~>) a6989586621681159690 (b6989586621681159691, Maybe a6989586621681159690)) :: (~>) a6989586621681159690 (NonEmpty b6989586621681159691)
data InsertSym0 :: forall a6989586621681159670. (~>) a6989586621681159670 ((~>) [a6989586621681159670] (NonEmpty a6989586621681159670))
data InsertSym1 (a6989586621681161269 :: a6989586621681159670) :: (~>) [a6989586621681159670] (NonEmpty a6989586621681159670)
type InsertSym2 (a6989586621681161269 :: a6989586621681159670) (a6989586621681161270 :: [a6989586621681159670]) = Insert a6989586621681161269 a6989586621681161270
data TakeSym0 :: forall a6989586621681159661. (~>) Nat ((~>) (NonEmpty a6989586621681159661) [a6989586621681159661])
data TakeSym1 (a6989586621681161210 :: Nat) :: forall a6989586621681159661. (~>) (NonEmpty a6989586621681159661) [a6989586621681159661]
type TakeSym2 (a6989586621681161210 :: Nat) (a6989586621681161211 :: NonEmpty a6989586621681159661) = Take a6989586621681161210 a6989586621681161211
data DropSym0 :: forall a6989586621681159660. (~>) Nat ((~>) (NonEmpty a6989586621681159660) [a6989586621681159660])
data DropSym1 (a6989586621681161202 :: Nat) :: forall a6989586621681159660. (~>) (NonEmpty a6989586621681159660) [a6989586621681159660]
type DropSym2 (a6989586621681161202 :: Nat) (a6989586621681161203 :: NonEmpty a6989586621681159660) = Drop a6989586621681161202 a6989586621681161203
data SplitAtSym0 :: forall a6989586621681159659. (~>) Nat ((~>) (NonEmpty a6989586621681159659) ([a6989586621681159659], [a6989586621681159659]))
data SplitAtSym1 (a6989586621681161194 :: Nat) :: forall a6989586621681159659. (~>) (NonEmpty a6989586621681159659) ([a6989586621681159659], [a6989586621681159659])
type SplitAtSym2 (a6989586621681161194 :: Nat) (a6989586621681161195 :: NonEmpty a6989586621681159659) = SplitAt a6989586621681161194 a6989586621681161195
data TakeWhileSym0 :: forall a6989586621681159658. (~>) ((~>) a6989586621681159658 Bool) ((~>) (NonEmpty a6989586621681159658) [a6989586621681159658])
data TakeWhileSym1 (a6989586621681161186 :: (~>) a6989586621681159658 Bool) :: (~>) (NonEmpty a6989586621681159658) [a6989586621681159658]
type TakeWhileSym2 (a6989586621681161186 :: (~>) a6989586621681159658 Bool) (a6989586621681161187 :: NonEmpty a6989586621681159658) = TakeWhile a6989586621681161186 a6989586621681161187
data DropWhileSym0 :: forall a6989586621681159657. (~>) ((~>) a6989586621681159657 Bool) ((~>) (NonEmpty a6989586621681159657) [a6989586621681159657])
data DropWhileSym1 (a6989586621681161178 :: (~>) a6989586621681159657 Bool) :: (~>) (NonEmpty a6989586621681159657) [a6989586621681159657]
type DropWhileSym2 (a6989586621681161178 :: (~>) a6989586621681159657 Bool) (a6989586621681161179 :: NonEmpty a6989586621681159657) = DropWhile a6989586621681161178 a6989586621681161179
data SpanSym0 :: forall a6989586621681159656. (~>) ((~>) a6989586621681159656 Bool) ((~>) (NonEmpty a6989586621681159656) ([a6989586621681159656], [a6989586621681159656]))
data SpanSym1 (a6989586621681161170 :: (~>) a6989586621681159656 Bool) :: (~>) (NonEmpty a6989586621681159656) ([a6989586621681159656], [a6989586621681159656])
type SpanSym2 (a6989586621681161170 :: (~>) a6989586621681159656 Bool) (a6989586621681161171 :: NonEmpty a6989586621681159656) = Span a6989586621681161170 a6989586621681161171
data BreakSym0 :: forall a6989586621681159655. (~>) ((~>) a6989586621681159655 Bool) ((~>) (NonEmpty a6989586621681159655) ([a6989586621681159655], [a6989586621681159655]))
data BreakSym1 (a6989586621681161162 :: (~>) a6989586621681159655 Bool) :: (~>) (NonEmpty a6989586621681159655) ([a6989586621681159655], [a6989586621681159655])
type BreakSym2 (a6989586621681161162 :: (~>) a6989586621681159655 Bool) (a6989586621681161163 :: NonEmpty a6989586621681159655) = Break a6989586621681161162 a6989586621681161163
data FilterSym0 :: forall a6989586621681159654. (~>) ((~>) a6989586621681159654 Bool) ((~>) (NonEmpty a6989586621681159654) [a6989586621681159654])
data FilterSym1 (a6989586621681161154 :: (~>) a6989586621681159654 Bool) :: (~>) (NonEmpty a6989586621681159654) [a6989586621681159654]
type FilterSym2 (a6989586621681161154 :: (~>) a6989586621681159654 Bool) (a6989586621681161155 :: NonEmpty a6989586621681159654) = Filter a6989586621681161154 a6989586621681161155
data PartitionSym0 :: forall a6989586621681159653. (~>) ((~>) a6989586621681159653 Bool) ((~>) (NonEmpty a6989586621681159653) ([a6989586621681159653], [a6989586621681159653]))
data PartitionSym1 (a6989586621681161146 :: (~>) a6989586621681159653 Bool) :: (~>) (NonEmpty a6989586621681159653) ([a6989586621681159653], [a6989586621681159653])
type PartitionSym2 (a6989586621681161146 :: (~>) a6989586621681159653 Bool) (a6989586621681161147 :: NonEmpty a6989586621681159653) = Partition a6989586621681161146 a6989586621681161147
data GroupSym0 :: forall a6989586621681159652. (~>) [a6989586621681159652] [NonEmpty a6989586621681159652]
type GroupSym1 (a6989586621681161143 :: [a6989586621681159652]) = Group a6989586621681161143
data GroupBySym0 :: forall a6989586621681159651. (~>) ((~>) a6989586621681159651 ((~>) a6989586621681159651 Bool)) ((~>) [a6989586621681159651] [NonEmpty a6989586621681159651])
data GroupBySym1 (a6989586621681161093 :: (~>) a6989586621681159651 ((~>) a6989586621681159651 Bool)) :: (~>) [a6989586621681159651] [NonEmpty a6989586621681159651]
type GroupBySym2 (a6989586621681161093 :: (~>) a6989586621681159651 ((~>) a6989586621681159651 Bool)) (a6989586621681161094 :: [a6989586621681159651]) = GroupBy a6989586621681161093 a6989586621681161094
data GroupWithSym0 :: forall a6989586621681159650 b6989586621681159649. (~>) ((~>) a6989586621681159650 b6989586621681159649) ((~>) [a6989586621681159650] [NonEmpty a6989586621681159650])
data GroupWithSym1 (a6989586621681161085 :: (~>) a6989586621681159650 b6989586621681159649) :: (~>) [a6989586621681159650] [NonEmpty a6989586621681159650]
type GroupWithSym2 (a6989586621681161085 :: (~>) a6989586621681159650 b6989586621681159649) (a6989586621681161086 :: [a6989586621681159650]) = GroupWith a6989586621681161085 a6989586621681161086
data GroupAllWithSym0 :: forall a6989586621681159648 b6989586621681159647. (~>) ((~>) a6989586621681159648 b6989586621681159647) ((~>) [a6989586621681159648] [NonEmpty a6989586621681159648])
data GroupAllWithSym1 (a6989586621681161077 :: (~>) a6989586621681159648 b6989586621681159647) :: (~>) [a6989586621681159648] [NonEmpty a6989586621681159648]
type GroupAllWithSym2 (a6989586621681161077 :: (~>) a6989586621681159648 b6989586621681159647) (a6989586621681161078 :: [a6989586621681159648]) = GroupAllWith a6989586621681161077 a6989586621681161078
data Group1Sym0 :: forall a6989586621681159646. (~>) (NonEmpty a6989586621681159646) (NonEmpty (NonEmpty a6989586621681159646))
type Group1Sym1 (a6989586621681161074 :: NonEmpty a6989586621681159646) = Group1 a6989586621681161074
data GroupBy1Sym0 :: forall a6989586621681159645. (~>) ((~>) a6989586621681159645 ((~>) a6989586621681159645 Bool)) ((~>) (NonEmpty a6989586621681159645) (NonEmpty (NonEmpty a6989586621681159645)))
data GroupBy1Sym1 (a6989586621681161041 :: (~>) a6989586621681159645 ((~>) a6989586621681159645 Bool)) :: (~>) (NonEmpty a6989586621681159645) (NonEmpty (NonEmpty a6989586621681159645))
type GroupBy1Sym2 (a6989586621681161041 :: (~>) a6989586621681159645 ((~>) a6989586621681159645 Bool)) (a6989586621681161042 :: NonEmpty a6989586621681159645) = GroupBy1 a6989586621681161041 a6989586621681161042
data GroupWith1Sym0 :: forall a6989586621681159644 b6989586621681159643. (~>) ((~>) a6989586621681159644 b6989586621681159643) ((~>) (NonEmpty a6989586621681159644) (NonEmpty (NonEmpty a6989586621681159644)))
data GroupWith1Sym1 (a6989586621681161033 :: (~>) a6989586621681159644 b6989586621681159643) :: (~>) (NonEmpty a6989586621681159644) (NonEmpty (NonEmpty a6989586621681159644))
type GroupWith1Sym2 (a6989586621681161033 :: (~>) a6989586621681159644 b6989586621681159643) (a6989586621681161034 :: NonEmpty a6989586621681159644) = GroupWith1 a6989586621681161033 a6989586621681161034
data GroupAllWith1Sym0 :: forall a6989586621681159642 b6989586621681159641. (~>) ((~>) a6989586621681159642 b6989586621681159641) ((~>) (NonEmpty a6989586621681159642) (NonEmpty (NonEmpty a6989586621681159642)))
data GroupAllWith1Sym1 (a6989586621681161025 :: (~>) a6989586621681159642 b6989586621681159641) :: (~>) (NonEmpty a6989586621681159642) (NonEmpty (NonEmpty a6989586621681159642))
type GroupAllWith1Sym2 (a6989586621681161025 :: (~>) a6989586621681159642 b6989586621681159641) (a6989586621681161026 :: NonEmpty a6989586621681159642) = GroupAllWith1 a6989586621681161025 a6989586621681161026
data IsPrefixOfSym0 :: forall a6989586621681159640. (~>) [a6989586621681159640] ((~>) (NonEmpty a6989586621681159640) Bool)
data IsPrefixOfSym1 (a6989586621681161017 :: [a6989586621681159640]) :: (~>) (NonEmpty a6989586621681159640) Bool
type IsPrefixOfSym2 (a6989586621681161017 :: [a6989586621681159640]) (a6989586621681161018 :: NonEmpty a6989586621681159640) = IsPrefixOf a6989586621681161017 a6989586621681161018
data NubSym0 :: forall a6989586621681159631. (~>) (NonEmpty a6989586621681159631) (NonEmpty a6989586621681159631)
type NubSym1 (a6989586621681160948 :: NonEmpty a6989586621681159631) = Nub a6989586621681160948
data NubBySym0 :: forall a6989586621681159630. (~>) ((~>) a6989586621681159630 ((~>) a6989586621681159630 Bool)) ((~>) (NonEmpty a6989586621681159630) (NonEmpty a6989586621681159630))
data NubBySym1 (a6989586621681160931 :: (~>) a6989586621681159630 ((~>) a6989586621681159630 Bool)) :: (~>) (NonEmpty a6989586621681159630) (NonEmpty a6989586621681159630)
type NubBySym2 (a6989586621681160931 :: (~>) a6989586621681159630 ((~>) a6989586621681159630 Bool)) (a6989586621681160932 :: NonEmpty a6989586621681159630) = NubBy a6989586621681160931 a6989586621681160932
data (!!@#@$) :: forall a6989586621681159639. (~>) (NonEmpty a6989586621681159639) ((~>) Nat a6989586621681159639)
data (!!@#@$$) (a6989586621681160999 :: NonEmpty a6989586621681159639) :: (~>) Nat a6989586621681159639
type (!!@#@$$$) (a6989586621681160999 :: NonEmpty a6989586621681159639) (a6989586621681161000 :: Nat) = (!!) a6989586621681160999 a6989586621681161000
data ZipSym0 :: forall a6989586621681159637 b6989586621681159638. (~>) (NonEmpty a6989586621681159637) ((~>) (NonEmpty b6989586621681159638) (NonEmpty (a6989586621681159637, b6989586621681159638)))
data ZipSym1 (a6989586621681160991 :: NonEmpty a6989586621681159637) :: forall b6989586621681159638. (~>) (NonEmpty b6989586621681159638) (NonEmpty (a6989586621681159637, b6989586621681159638))
type ZipSym2 (a6989586621681160991 :: NonEmpty a6989586621681159637) (a6989586621681160992 :: NonEmpty b6989586621681159638) = Zip a6989586621681160991 a6989586621681160992
data ZipWithSym0 :: forall a6989586621681159634 b6989586621681159635 c6989586621681159636. (~>) ((~>) a6989586621681159634 ((~>) b6989586621681159635 c6989586621681159636)) ((~>) (NonEmpty a6989586621681159634) ((~>) (NonEmpty b6989586621681159635) (NonEmpty c6989586621681159636)))
data ZipWithSym1 (a6989586621681160980 :: (~>) a6989586621681159634 ((~>) b6989586621681159635 c6989586621681159636)) :: (~>) (NonEmpty a6989586621681159634) ((~>) (NonEmpty b6989586621681159635) (NonEmpty c6989586621681159636))
data ZipWithSym2 (a6989586621681160980 :: (~>) a6989586621681159634 ((~>) b6989586621681159635 c6989586621681159636)) (a6989586621681160981 :: NonEmpty a6989586621681159634) :: (~>) (NonEmpty b6989586621681159635) (NonEmpty c6989586621681159636)
type ZipWithSym3 (a6989586621681160980 :: (~>) a6989586621681159634 ((~>) b6989586621681159635 c6989586621681159636)) (a6989586621681160981 :: NonEmpty a6989586621681159634) (a6989586621681160982 :: NonEmpty b6989586621681159635) = ZipWith a6989586621681160980 a6989586621681160981 a6989586621681160982
data UnzipSym0 :: forall a6989586621681159632 b6989586621681159633. (~>) (NonEmpty (a6989586621681159632, b6989586621681159633)) (NonEmpty a6989586621681159632, NonEmpty b6989586621681159633)
type UnzipSym1 (a6989586621681160951 :: NonEmpty (a6989586621681159632, b6989586621681159633)) = Unzip a6989586621681160951
data FromListSym0 :: forall a6989586621681159678. (~>) [a6989586621681159678] (NonEmpty a6989586621681159678)
type FromListSym1 (a6989586621681161306 :: [a6989586621681159678]) = FromList a6989586621681161306
data ToListSym0 :: forall a6989586621681159677. (~>) (NonEmpty a6989586621681159677) [a6989586621681159677]
type ToListSym1 (a6989586621681161302 :: NonEmpty a6989586621681159677) = ToList a6989586621681161302
data NonEmpty_Sym0 :: forall a6989586621681159689. (~>) [a6989586621681159689] (Maybe (NonEmpty a6989586621681159689))
type NonEmpty_Sym1 (a6989586621681161379 :: [a6989586621681159689]) = NonEmpty_ a6989586621681161379
data XorSym0 :: (~>) (NonEmpty Bool) Bool
type XorSym1 (a6989586621681161398 :: NonEmpty Bool) = Xor a6989586621681161398
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Munzip_6989586621681161461Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip GHC.Base.NonEmpty
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.MzipWith_6989586621681161440Sym0
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (a6989586621681161437 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.MzipWith_6989586621681161440Sym1 a6989586621681161437)
instance forall a6989586621681127566 b6989586621681127567 c6989586621681127568 (a6989586621681161438 :: a6989586621681127566 Data.Singletons.Internal.~> (b6989586621681127567 Data.Singletons.Internal.~> c6989586621681127568)) (a6989586621681161437 :: GHC.Base.NonEmpty a6989586621681127566). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.MzipWith_6989586621681161440Sym2 a6989586621681161438 a6989586621681161437)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Mzip_6989586621681161423Sym0
instance forall a6989586621681127564 b6989586621681127565 (a6989586621681161421 :: GHC.Base.NonEmpty a6989586621681127564). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Mzip_6989586621681161423Sym1 a6989586621681161421)
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 a6989586621681159693 b6989586621681159694 (a6989586621681161414 :: a6989586621681159693 Data.Singletons.Internal.~> b6989586621681159694). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.FmapSym1 a6989586621681161414)
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 a6989586621681159690 b6989586621681159691 (a6989586621681161383 :: a6989586621681159690 Data.Singletons.Internal.~> (b6989586621681159691, GHC.Maybe.Maybe a6989586621681159690)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.UnfoldSym1 a6989586621681161383)
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 a6989586621681159686 b6989586621681159687 (a6989586621681161346 :: a6989586621681159686 Data.Singletons.Internal.~> (b6989586621681159687, GHC.Maybe.Maybe a6989586621681159686)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.UnfoldrSym1 a6989586621681161346)
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 a6989586621681159680 (a6989586621681161319 :: a6989586621681159680). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ConsSym1 a6989586621681161319)
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 a6989586621681159681 (a6989586621681161325 :: a6989586621681159681). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.List.NonEmpty.<|@#@$$) a6989586621681161325)
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 a6989586621681159664 (a6989586621681161233 :: a6989586621681159664 Data.Singletons.Internal.~> (a6989586621681159664 Data.Singletons.Internal.~> a6989586621681159664)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Scanr1Sym1 a6989586621681161233)
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 a6989586621681159665 (a6989586621681161240 :: a6989586621681159665 Data.Singletons.Internal.~> (a6989586621681159665 Data.Singletons.Internal.~> a6989586621681159665)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Scanl1Sym1 a6989586621681161240)
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 a6989586621681159666 b6989586621681159667 (a6989586621681161247 :: a6989586621681159666 Data.Singletons.Internal.~> (b6989586621681159667 Data.Singletons.Internal.~> b6989586621681159667)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanrSym1 a6989586621681161247)
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 a6989586621681159666 b6989586621681159667 (a6989586621681161248 :: a6989586621681159666 Data.Singletons.Internal.~> (b6989586621681159667 Data.Singletons.Internal.~> b6989586621681159667)) (a6989586621681161247 :: b6989586621681159667). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanrSym2 a6989586621681161248 a6989586621681161247)
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 b6989586621681159668 a6989586621681159669 (a6989586621681161258 :: b6989586621681159668 Data.Singletons.Internal.~> (a6989586621681159669 Data.Singletons.Internal.~> b6989586621681159668)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanlSym1 a6989586621681161258)
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 b6989586621681159668 a6989586621681159669 (a6989586621681161259 :: b6989586621681159668 Data.Singletons.Internal.~> (a6989586621681159669 Data.Singletons.Internal.~> b6989586621681159668)) (a6989586621681161258 :: b6989586621681159668). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanlSym2 a6989586621681161259 a6989586621681161258)
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 a6989586621681159670 (a6989586621681161269 :: a6989586621681159670). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.InsertSym1 a6989586621681161269)
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 a6989586621681159642 b6989586621681159641 (a6989586621681161025 :: a6989586621681159642 Data.Singletons.Internal.~> b6989586621681159641). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupAllWith1Sym1 a6989586621681161025)
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 a6989586621681159627 o6989586621681159626 (a6989586621681160912 :: a6989586621681159627 Data.Singletons.Internal.~> o6989586621681159626). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.SortWithSym1 a6989586621681160912)
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 a6989586621681159628 (a6989586621681160918 :: a6989586621681159628 Data.Singletons.Internal.~> (a6989586621681159628 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.SortBySym1 a6989586621681160918)
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 a6989586621681159675 b6989586621681159676 (a6989586621681161294 :: [a6989586621681159675] Data.Singletons.Internal.~> [b6989586621681159676]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.LiftSym1 a6989586621681161294)
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 a6989586621681159653 (a6989586621681161146 :: a6989586621681159653 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.PartitionSym1 a6989586621681161146)
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 a6989586621681159654 (a6989586621681161154 :: a6989586621681159654 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.FilterSym1 a6989586621681161154)
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 a6989586621681159655 (a6989586621681161162 :: a6989586621681159655 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.BreakSym1 a6989586621681161162)
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 a6989586621681159656 (a6989586621681161170 :: a6989586621681159656 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.SpanSym1 a6989586621681161170)
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 a6989586621681159657 (a6989586621681161178 :: a6989586621681159657 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.DropWhileSym1 a6989586621681161178)
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 a6989586621681159658 (a6989586621681161186 :: a6989586621681159658 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.TakeWhileSym1 a6989586621681161186)
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 a6989586621681161194)
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 a6989586621681161202)
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 a6989586621681161210)
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 a6989586621681159673 b6989586621681159674 (a6989586621681161287 :: a6989586621681159673 Data.Singletons.Internal.~> b6989586621681159674). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.MapSym1 a6989586621681161287)
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 a6989586621681159663 (a6989586621681161223 :: a6989586621681159663). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.IntersperseSym1 a6989586621681161223)
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.Let6989586621681161101GoSym0
instance forall k1 k2 a6989586621680420023 (eq06989586621681161099 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161101GoSym1 eq06989586621681161099)
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 a6989586621681159644 b6989586621681159643 (a6989586621681161033 :: a6989586621681159644 Data.Singletons.Internal.~> b6989586621681159643). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupWith1Sym1 a6989586621681161033)
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 a6989586621681159645 (a6989586621681161041 :: a6989586621681159645 Data.Singletons.Internal.~> (a6989586621681159645 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupBy1Sym1 a6989586621681161041)
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 a6989586621681159648 b6989586621681159647 (a6989586621681161077 :: a6989586621681159648 Data.Singletons.Internal.~> b6989586621681159647). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupAllWithSym1 a6989586621681161077)
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 a6989586621681159650 b6989586621681159649 (a6989586621681161085 :: a6989586621681159650 Data.Singletons.Internal.~> b6989586621681159649). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupWithSym1 a6989586621681161085)
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 forall k1 k2 a6989586621680420023 (a6989586621681161102 :: k1) (a_69895866216811610976989586621681161100 :: k2) (eq06989586621681161099 :: a6989586621680420023 Data.Singletons.Internal.~> (a6989586621680420023 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161101GoSym3 a6989586621681161102 a_69895866216811610976989586621681161100 eq06989586621681161099)
instance forall k1 k2 a6989586621680420023 (a_69895866216811610976989586621681161100 :: k1) (eq06989586621681161099 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161101GoSym2 a_69895866216811610976989586621681161100 eq06989586621681161099)
instance forall a6989586621681159651 (a6989586621681161093 :: a6989586621681159651 Data.Singletons.Internal.~> (a6989586621681159651 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupBySym1 a6989586621681161093)
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 a6989586621681159640 (a6989586621681161017 :: [a6989586621681159640]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.IsPrefixOfSym1 a6989586621681161017)
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 a6989586621681159639 (a6989586621681160999 :: GHC.Base.NonEmpty a6989586621681159639). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.List.NonEmpty.!!@#@$$) a6989586621681160999)
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 a6989586621681159637 b6989586621681159638 (a6989586621681160991 :: GHC.Base.NonEmpty a6989586621681159637). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ZipSym1 a6989586621681160991)
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 a6989586621681159634 b6989586621681159635 c6989586621681159636 (a6989586621681160980 :: a6989586621681159634 Data.Singletons.Internal.~> (b6989586621681159635 Data.Singletons.Internal.~> c6989586621681159636)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ZipWithSym1 a6989586621681160980)
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 a6989586621681159634 b6989586621681159635 c6989586621681159636 (a6989586621681160981 :: a6989586621681159634 Data.Singletons.Internal.~> (b6989586621681159635 Data.Singletons.Internal.~> c6989586621681159636)) (a6989586621681160980 :: GHC.Base.NonEmpty a6989586621681159634). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ZipWithSym2 a6989586621681160981 a6989586621681160980)
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 a6989586621681159630 (a6989586621681160931 :: a6989586621681159630 Data.Singletons.Internal.~> (a6989586621681159630 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.NubBySym1 a6989586621681160931)
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.Let6989586621681161402Xor'Sym0
instance forall k1 k2 (x6989586621681161400 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161402Xor'Sym1 x6989586621681161400)
instance forall k1 k2 (xs6989586621681161401 :: k1) (x6989586621681161400 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161402Xor'Sym2 xs6989586621681161401 x6989586621681161400)
instance forall k1 k2 (a6989586621681161403 :: k1) (xs6989586621681161401 :: k2) (x6989586621681161400 :: GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161402Xor'Sym3 a6989586621681161403 xs6989586621681161401 x6989586621681161400)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161389Scrutinee_6989586621681159857Sym0
instance forall k1 k (f6989586621681161387 :: k1 Data.Singletons.Internal.~> k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161389Scrutinee_6989586621681159857Sym1 f6989586621681161387)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161367Scrutinee_6989586621681159867Sym0
instance forall k1 k (f6989586621681161350 :: k1 Data.Singletons.Internal.~> k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161367Scrutinee_6989586621681159867Sym1 f6989586621681161350)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161352GoSym0
instance forall k2 k3 k (f6989586621681161350 :: k2 Data.Singletons.Internal.~> (k3, GHC.Maybe.Maybe k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161352GoSym1 f6989586621681161350)
instance forall k2 k3 k (a6989586621681161351 :: k2 Data.Singletons.Internal.~> (k3, GHC.Maybe.Maybe k2)) (f6989586621681161350 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161352GoSym2 a6989586621681161351 f6989586621681161350)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161358Scrutinee_6989586621681159871Sym0
instance forall k1 k2 k3 (c6989586621681161357 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161358Scrutinee_6989586621681159871Sym1 c6989586621681161357)
instance forall k1 k2 k3 (f6989586621681161350 :: k1) (c6989586621681161357 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161358Scrutinee_6989586621681159871Sym2 f6989586621681161350 c6989586621681161357)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161111X_6989586621681161112Sym0
instance forall k1 a6989586621680420023 k2 k3 (eq6989586621681161108 :: k1 Data.Singletons.Internal.~> (a6989586621680420023 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161111X_6989586621681161112Sym1 eq6989586621681161108)
instance forall k1 a6989586621680420023 k2 k3 (x6989586621681161109 :: k1 Data.Singletons.Internal.~> (a6989586621680420023 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681161108 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161111X_6989586621681161112Sym2 x6989586621681161109 eq6989586621681161108)
instance forall k1 a6989586621680420023 k2 k3 (xs6989586621681161110 :: k1 Data.Singletons.Internal.~> (a6989586621680420023 Data.Singletons.Internal.~> GHC.Types.Bool)) (x6989586621681161109 :: k1) (eq6989586621681161108 :: [a6989586621680420023]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161111X_6989586621681161112Sym3 xs6989586621681161110 x6989586621681161109 eq6989586621681161108)
instance forall k1 a6989586621680420023 k2 k3 (eq06989586621681161099 :: k1 Data.Singletons.Internal.~> (a6989586621680420023 Data.Singletons.Internal.~> GHC.Types.Bool)) (xs6989586621681161110 :: k1) (x6989586621681161109 :: [a6989586621680420023]) (eq6989586621681161108 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161111X_6989586621681161112Sym4 eq06989586621681161099 xs6989586621681161110 x6989586621681161109 eq6989586621681161108)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161111ZsSym0
instance forall k1 a6989586621680420023 k2 k3 (eq6989586621681161108 :: k1 Data.Singletons.Internal.~> (a6989586621680420023 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161111ZsSym1 eq6989586621681161108)
instance forall k1 a6989586621680420023 k2 k3 (x6989586621681161109 :: k1 Data.Singletons.Internal.~> (a6989586621680420023 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681161108 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161111ZsSym2 x6989586621681161109 eq6989586621681161108)
instance forall k1 a6989586621680420023 k2 k3 (xs6989586621681161110 :: k1 Data.Singletons.Internal.~> (a6989586621680420023 Data.Singletons.Internal.~> GHC.Types.Bool)) (x6989586621681161109 :: k1) (eq6989586621681161108 :: [a6989586621680420023]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161111ZsSym3 xs6989586621681161110 x6989586621681161109 eq6989586621681161108)
instance forall k1 a6989586621680420023 k2 k3 (eq06989586621681161099 :: k1 Data.Singletons.Internal.~> (a6989586621680420023 Data.Singletons.Internal.~> GHC.Types.Bool)) (xs6989586621681161110 :: k1) (x6989586621681161109 :: [a6989586621680420023]) (eq6989586621681161108 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161111ZsSym4 eq06989586621681161099 xs6989586621681161110 x6989586621681161109 eq6989586621681161108)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161111YsSym0
instance forall k1 a6989586621680420023 k2 k3 (eq6989586621681161108 :: k1 Data.Singletons.Internal.~> (a6989586621680420023 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161111YsSym1 eq6989586621681161108)
instance forall k1 a6989586621680420023 k2 k3 (x6989586621681161109 :: k1 Data.Singletons.Internal.~> (a6989586621680420023 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681161108 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161111YsSym2 x6989586621681161109 eq6989586621681161108)
instance forall k1 a6989586621680420023 k2 k3 (xs6989586621681161110 :: k1 Data.Singletons.Internal.~> (a6989586621680420023 Data.Singletons.Internal.~> GHC.Types.Bool)) (x6989586621681161109 :: k1) (eq6989586621681161108 :: [a6989586621680420023]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161111YsSym3 xs6989586621681161110 x6989586621681161109 eq6989586621681161108)
instance forall k1 a6989586621680420023 k2 k3 (eq06989586621681161099 :: k1 Data.Singletons.Internal.~> (a6989586621680420023 Data.Singletons.Internal.~> GHC.Types.Bool)) (xs6989586621681161110 :: k1) (x6989586621681161109 :: [a6989586621680420023]) (eq6989586621681161108 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161111YsSym4 eq06989586621681161099 xs6989586621681161110 x6989586621681161109 eq6989586621681161108)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161048X_6989586621681161049Sym0
instance forall k1 a6989586621680420023 (eq6989586621681161045 :: k1 Data.Singletons.Internal.~> (a6989586621680420023 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161048X_6989586621681161049Sym1 eq6989586621681161045)
instance forall k1 a6989586621680420023 (x6989586621681161046 :: k1 Data.Singletons.Internal.~> (a6989586621680420023 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681161045 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161048X_6989586621681161049Sym2 x6989586621681161046 eq6989586621681161045)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161048ZsSym0
instance forall k1 a6989586621680420023 (eq6989586621681161045 :: k1 Data.Singletons.Internal.~> (a6989586621680420023 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161048ZsSym1 eq6989586621681161045)
instance forall k1 a6989586621680420023 (x6989586621681161046 :: k1 Data.Singletons.Internal.~> (a6989586621680420023 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681161045 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161048ZsSym2 x6989586621681161046 eq6989586621681161045)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161048YsSym0
instance forall k1 a6989586621680420023 (eq6989586621681161045 :: k1 Data.Singletons.Internal.~> (a6989586621680420023 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161048YsSym1 eq6989586621681161045)
instance forall k1 a6989586621680420023 (x6989586621681161046 :: k1 Data.Singletons.Internal.~> (a6989586621680420023 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681161045 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161048YsSym2 x6989586621681161046 eq6989586621681161045)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160956X_6989586621681160957Sym0
instance forall k1 k2 a6989586621680420010 b6989586621680420011 (a6989586621681160953 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160956X_6989586621681160957Sym1 a6989586621681160953)
instance forall k1 k2 a6989586621680420010 b6989586621680420011 (b6989586621681160954 :: k1) (a6989586621681160953 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160956X_6989586621681160957Sym2 b6989586621681160954 a6989586621681160953)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160956BsSym0
instance forall k1 k2 a6989586621680420010 b6989586621680420011 (a6989586621681160953 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160956BsSym1 a6989586621681160953)
instance forall k1 k2 a6989586621680420010 b6989586621680420011 (b6989586621681160954 :: k1) (a6989586621681160953 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160956BsSym2 b6989586621681160954 a6989586621681160953)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160956AsSym0
instance forall k1 k2 a6989586621680420010 b6989586621680420011 (a6989586621681160953 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160956AsSym1 a6989586621681160953)
instance forall k1 k2 a6989586621680420010 b6989586621680420011 (b6989586621681160954 :: k1) (a6989586621681160953 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160956AsSym2 b6989586621681160954 a6989586621681160953)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681160938Sym0
instance forall k2 k3 k (eq6989586621681160935 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681160938Sym1 eq6989586621681160935)
instance forall k2 k3 k (a6989586621681160936 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681160935 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681160938Sym2 a6989586621681160936 eq6989586621681160935)
instance forall k2 k3 k (as6989586621681160937 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> GHC.Types.Bool)) (a6989586621681160936 :: k2) (eq6989586621681160935 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681160938Sym3 as6989586621681160937 a6989586621681160936 eq6989586621681160935)


-- | 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_a9rg1 :: Type) where {
    type family FromString (arg_a9rgr :: Symbol) :: a_a9rg1;
}
class SIsString a_a9rg1
sFromString :: forall (t_a9rgH :: Symbol). SIsString a_a9rg1 => Sing t_a9rgH -> Sing (Apply FromStringSym0 t_a9rgH :: a_a9rg1)
data FromStringSym0 :: forall a6989586621681259525. (~>) Symbol a6989586621681259525
type FromStringSym1 (arg6989586621681259551 :: Symbol) = FromString arg6989586621681259551
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_6989586621681259561Sym0
instance Data.Singletons.Prelude.IsString.PIsString (Data.Functor.Identity.Identity a)
instance forall k6989586621681259526 a6989586621681259527 (b6989586621681259528 :: k6989586621681259526). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.IsString.FromString_6989586621681259554Sym0
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 PApplicative (f_a2kWq :: Type -> Type) where {
    type family Pure (arg_a2l33 :: a_a2kWr) :: f_a2kWq a_a2kWr;
    type family (<*>) (arg_a2l35 :: f_a2kWq ((~>) a_a2kWs b_a2kWt)) (arg_a2l36 :: f_a2kWq a_a2kWs) :: f_a2kWq b_a2kWt;
    type family LiftA2 (arg_a2l39 :: (~>) a_a2kWu ((~>) b_a2kWv c_a2kWw)) (arg_a2l3a :: f_a2kWq a_a2kWu) (arg_a2l3b :: f_a2kWq b_a2kWv) :: f_a2kWq c_a2kWw;
    type family (*>) (arg_a2l3f :: f_a2kWq a_a2kWx) (arg_a2l3g :: f_a2kWq b_a2kWy) :: f_a2kWq b_a2kWy;
    type family (<*) (arg_a2l3j :: f_a2kWq a_a2kWz) (arg_a2l3k :: f_a2kWq b_a2kWA) :: f_a2kWq a_a2kWz;
    type (<*>) a_a2l3n a_a2l3o = Apply (Apply TFHelper_6989586621679567383Sym0 a_a2l3n) a_a2l3o;
    type LiftA2 a_a2l3D a_a2l3E a_a2l3F = Apply (Apply (Apply LiftA2_6989586621679567400Sym0 a_a2l3D) a_a2l3E) a_a2l3F;
    type (*>) a_a2l3W a_a2l3X = Apply (Apply TFHelper_6989586621679567418Sym0 a_a2l3W) a_a2l3X;
    type (<*) a_a2l48 a_a2l49 = Apply (Apply TFHelper_6989586621679567430Sym0 a_a2l48) a_a2l49;
}
infixl 4 <*>
infixl 4 *>
infixl 4 <*
class SFunctor f_a2kWq => SApplicative (f_a2kWq :: Type -> Type)
sPure :: forall a_a2kWr (t_a2l77 :: a_a2kWr). SApplicative f_a2kWq => Sing t_a2l77 -> Sing (Apply PureSym0 t_a2l77 :: f_a2kWq a_a2kWr)
(%<*>) :: forall a_a2kWs b_a2kWt (t_a2l79 :: f_a2kWq ((~>) a_a2kWs b_a2kWt)) (t_a2l7a :: f_a2kWq a_a2kWs). SApplicative f_a2kWq => Sing t_a2l79 -> Sing t_a2l7a -> Sing (Apply (Apply (<*>@#@$) t_a2l79) t_a2l7a :: f_a2kWq b_a2kWt)
sLiftA2 :: forall a_a2kWu b_a2kWv c_a2kWw (t_a2l7d :: (~>) a_a2kWu ((~>) b_a2kWv c_a2kWw)) (t_a2l7e :: f_a2kWq a_a2kWu) (t_a2l7f :: f_a2kWq b_a2kWv). SApplicative f_a2kWq => Sing t_a2l7d -> Sing t_a2l7e -> Sing t_a2l7f -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2l7d) t_a2l7e) t_a2l7f :: f_a2kWq c_a2kWw)
(%*>) :: forall a_a2kWx b_a2kWy (t_a2l7j :: f_a2kWq a_a2kWx) (t_a2l7k :: f_a2kWq b_a2kWy). SApplicative f_a2kWq => Sing t_a2l7j -> Sing t_a2l7k -> Sing (Apply (Apply (*>@#@$) t_a2l7j) t_a2l7k :: f_a2kWq b_a2kWy)
(%<*) :: forall a_a2kWz b_a2kWA (t_a2l7n :: f_a2kWq a_a2kWz) (t_a2l7o :: f_a2kWq b_a2kWA). SApplicative f_a2kWq => Sing t_a2l7n -> Sing t_a2l7o -> Sing (Apply (Apply (<*@#@$) t_a2l7n) t_a2l7o :: f_a2kWq a_a2kWz)
(%<*>) :: forall a_a2kWs b_a2kWt (t_a2l79 :: f_a2kWq ((~>) a_a2kWs b_a2kWt)) (t_a2l7a :: f_a2kWq a_a2kWs). (SApplicative f_a2kWq, (Apply (Apply (<*>@#@$) t_a2l79) t_a2l7a :: f_a2kWq b_a2kWt) ~ Apply (Apply TFHelper_6989586621679567383Sym0 t_a2l79) t_a2l7a) => Sing t_a2l79 -> Sing t_a2l7a -> Sing (Apply (Apply (<*>@#@$) t_a2l79) t_a2l7a :: f_a2kWq b_a2kWt)
sLiftA2 :: forall a_a2kWu b_a2kWv c_a2kWw (t_a2l7d :: (~>) a_a2kWu ((~>) b_a2kWv c_a2kWw)) (t_a2l7e :: f_a2kWq a_a2kWu) (t_a2l7f :: f_a2kWq b_a2kWv). (SApplicative f_a2kWq, (Apply (Apply (Apply LiftA2Sym0 t_a2l7d) t_a2l7e) t_a2l7f :: f_a2kWq c_a2kWw) ~ Apply (Apply (Apply LiftA2_6989586621679567400Sym0 t_a2l7d) t_a2l7e) t_a2l7f) => Sing t_a2l7d -> Sing t_a2l7e -> Sing t_a2l7f -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2l7d) t_a2l7e) t_a2l7f :: f_a2kWq c_a2kWw)
(%*>) :: forall a_a2kWx b_a2kWy (t_a2l7j :: f_a2kWq a_a2kWx) (t_a2l7k :: f_a2kWq b_a2kWy). (SApplicative f_a2kWq, (Apply (Apply (*>@#@$) t_a2l7j) t_a2l7k :: f_a2kWq b_a2kWy) ~ Apply (Apply TFHelper_6989586621679567418Sym0 t_a2l7j) t_a2l7k) => Sing t_a2l7j -> Sing t_a2l7k -> Sing (Apply (Apply (*>@#@$) t_a2l7j) t_a2l7k :: f_a2kWq b_a2kWy)
(%<*) :: forall a_a2kWz b_a2kWA (t_a2l7n :: f_a2kWq a_a2kWz) (t_a2l7o :: f_a2kWq b_a2kWA). (SApplicative f_a2kWq, (Apply (Apply (<*@#@$) t_a2l7n) t_a2l7o :: f_a2kWq a_a2kWz) ~ Apply (Apply TFHelper_6989586621679567430Sym0 t_a2l7n) t_a2l7o) => Sing t_a2l7n -> Sing t_a2l7o -> Sing (Apply (Apply (<*@#@$) t_a2l7n) t_a2l7o :: f_a2kWq a_a2kWz)
infixl 4 %<*>
infixl 4 %*>
infixl 4 %<*
class PAlternative (f_a2kXD :: Type -> Type) where {
    type family Empty :: f_a2kXD a_a2kXE;
    type family (<|>) (arg_a2l53 :: f_a2kXD a_a2kXF) (arg_a2l54 :: f_a2kXD a_a2kXF) :: f_a2kXD a_a2kXF;
}
infixl 3 <|>
class SApplicative f_a2kXD => SAlternative (f_a2kXD :: Type -> Type)
sEmpty :: forall a_a2kXE. SAlternative f_a2kXD => Sing (EmptySym0 :: f_a2kXD a_a2kXE)
(%<|>) :: forall a_a2kXF (t_a2l7M :: f_a2kXD a_a2kXF) (t_a2l7N :: f_a2kXD a_a2kXF). SAlternative f_a2kXD => Sing t_a2l7M -> Sing t_a2l7N -> Sing (Apply (Apply (<|>@#@$) t_a2l7M) t_a2l7N :: f_a2kXD a_a2kXF)
infixl 3 %<|>

-- | The singleton kind-indexed type family.
type family Sing :: k -> Type
data SConst :: forall (k :: Type) (a :: Type) (b :: k). Const a b -> Type
[SConst] :: {sGetConst :: Sing a} -> SConst ('Const a)
data Const a (b :: k)
type family GetConst (x_a7jXz :: Const a_a7jXx b_a7jXy) :: a_a7jXx
type family (<$>) (a_a33er :: (~>) a_a33d8 b_a33d9) (a_a33es :: f_a33d7 a_a33d8) :: f_a33d7 b_a33d9
infixl 4 <$>
(%<$>) :: forall a_a33d8 b_a33d9 f_a33d7 (t_a33g0 :: (~>) a_a33d8 b_a33d9) (t_a33g1 :: f_a33d7 a_a33d8). SFunctor f_a33d7 => Sing t_a33g0 -> Sing t_a33g1 -> Sing (Apply (Apply (<$>@#@$) t_a33g0) t_a33g1 :: f_a33d7 b_a33d9)
infixl 4 %<$>
type family (<$) (arg_a2l2J :: a_a2kWo) (arg_a2l2K :: f_a2kWl b_a2kWp) :: f_a2kWl a_a2kWo
infixl 4 <$
(%<$) :: forall a_a2kWo b_a2kWp (t_a2l71 :: a_a2kWo) (t_a2l72 :: f_a2kWl b_a2kWp). SFunctor f_a2kWl => Sing t_a2l71 -> Sing t_a2l72 -> Sing (Apply (Apply (<$@#@$) t_a2l71) t_a2l72 :: f_a2kWl a_a2kWo)
infixl 4 %<$
type family (<**>) (a_a2l2p :: f_a2kVM a_a2kVN) (a_a2l2q :: f_a2kVM ((~>) a_a2kVN b_a2kVO)) :: f_a2kVM b_a2kVO
infixl 4 <**>
(%<**>) :: forall f_a2kVM a_a2kVN b_a2kVO (t_a2l6z :: f_a2kVM a_a2kVN) (t_a2l6A :: f_a2kVM ((~>) a_a2kVN b_a2kVO)). SApplicative f_a2kVM => Sing t_a2l6z -> Sing t_a2l6A -> Sing (Apply (Apply (<**>@#@$) t_a2l6z) t_a2l6A :: f_a2kVM b_a2kVO)
infixl 4 %<**>
type family LiftA (a_a2l2f :: (~>) a_a2kVK b_a2kVL) (a_a2l2g :: f_a2kVJ a_a2kVK) :: f_a2kVJ b_a2kVL
sLiftA :: forall a_a2kVK b_a2kVL f_a2kVJ (t_a2l6v :: (~>) a_a2kVK b_a2kVL) (t_a2l6w :: f_a2kVJ a_a2kVK). SApplicative f_a2kVJ => Sing t_a2l6v -> Sing t_a2l6w -> Sing (Apply (Apply LiftASym0 t_a2l6v) t_a2l6w :: f_a2kVJ b_a2kVL)
type family LiftA3 (a_a2l23 :: (~>) a_a2kVF ((~>) b_a2kVG ((~>) c_a2kVH d_a2kVI))) (a_a2l24 :: f_a2kVE a_a2kVF) (a_a2l25 :: f_a2kVE b_a2kVG) (a_a2l26 :: f_a2kVE c_a2kVH) :: f_a2kVE d_a2kVI
sLiftA3 :: forall a_a2kVF b_a2kVG c_a2kVH d_a2kVI f_a2kVE (t_a2l6n :: (~>) a_a2kVF ((~>) b_a2kVG ((~>) c_a2kVH d_a2kVI))) (t_a2l6o :: f_a2kVE a_a2kVF) (t_a2l6p :: f_a2kVE b_a2kVG) (t_a2l6q :: f_a2kVE c_a2kVH). SApplicative f_a2kVE => Sing t_a2l6n -> Sing t_a2l6o -> Sing t_a2l6p -> Sing t_a2l6q -> Sing (Apply (Apply (Apply (Apply LiftA3Sym0 t_a2l6n) t_a2l6o) t_a2l6p) t_a2l6q :: f_a2kVE d_a2kVI)
type family Optional (a_a9rUD :: f_a9rU1 a_a9rU2) :: f_a9rU1 (Maybe a_a9rU2)
sOptional :: forall f_a9rU1 a_a9rU2 (t_a9rVF :: f_a9rU1 a_a9rU2). SAlternative f_a9rU1 => Sing t_a9rVF -> Sing (Apply OptionalSym0 t_a9rVF :: f_a9rU1 (Maybe a_a9rU2))
data PureSym0 :: forall a6989586621679566951 f6989586621679566950. (~>) a6989586621679566951 (f6989586621679566950 a6989586621679566951)
type PureSym1 (arg6989586621679567361 :: a6989586621679566951) = Pure arg6989586621679567361
data (<*>@#@$) :: forall f6989586621679566950 a6989586621679566952 b6989586621679566953. (~>) (f6989586621679566950 ((~>) a6989586621679566952 b6989586621679566953)) ((~>) (f6989586621679566950 a6989586621679566952) (f6989586621679566950 b6989586621679566953))
infixl 4 <*>@#@$
data (<*>@#@$$) (arg6989586621679567363 :: f6989586621679566950 ((~>) a6989586621679566952 b6989586621679566953)) :: (~>) (f6989586621679566950 a6989586621679566952) (f6989586621679566950 b6989586621679566953)
infixl 4 <*>@#@$$
type (<*>@#@$$$) (arg6989586621679567363 :: f6989586621679566950 ((~>) a6989586621679566952 b6989586621679566953)) (arg6989586621679567364 :: f6989586621679566950 a6989586621679566952) = (<*>) arg6989586621679567363 arg6989586621679567364
data (*>@#@$) :: forall f6989586621679566950 a6989586621679566957 b6989586621679566958. (~>) (f6989586621679566950 a6989586621679566957) ((~>) (f6989586621679566950 b6989586621679566958) (f6989586621679566950 b6989586621679566958))
infixl 4 *>@#@$
data (*>@#@$$) (arg6989586621679567373 :: f6989586621679566950 a6989586621679566957) :: forall b6989586621679566958. (~>) (f6989586621679566950 b6989586621679566958) (f6989586621679566950 b6989586621679566958)
infixl 4 *>@#@$$
type (*>@#@$$$) (arg6989586621679567373 :: f6989586621679566950 a6989586621679566957) (arg6989586621679567374 :: f6989586621679566950 b6989586621679566958) = (*>) arg6989586621679567373 arg6989586621679567374
data (<*@#@$) :: forall f6989586621679566950 a6989586621679566959 b6989586621679566960. (~>) (f6989586621679566950 a6989586621679566959) ((~>) (f6989586621679566950 b6989586621679566960) (f6989586621679566950 a6989586621679566959))
infixl 4 <*@#@$
data (<*@#@$$) (arg6989586621679567377 :: f6989586621679566950 a6989586621679566959) :: forall b6989586621679566960. (~>) (f6989586621679566950 b6989586621679566960) (f6989586621679566950 a6989586621679566959)
infixl 4 <*@#@$$
type (<*@#@$$$) (arg6989586621679567377 :: f6989586621679566950 a6989586621679566959) (arg6989586621679567378 :: f6989586621679566950 b6989586621679566960) = (<*) arg6989586621679567377 arg6989586621679567378
type EmptySym0 = Empty
data (<|>@#@$) :: forall f6989586621679567025 a6989586621679567027. (~>) (f6989586621679567025 a6989586621679567027) ((~>) (f6989586621679567025 a6989586621679567027) (f6989586621679567025 a6989586621679567027))
infixl 3 <|>@#@$
data (<|>@#@$$) (arg6989586621679567485 :: f6989586621679567025 a6989586621679567027) :: (~>) (f6989586621679567025 a6989586621679567027) (f6989586621679567025 a6989586621679567027)
infixl 3 <|>@#@$$
type (<|>@#@$$$) (arg6989586621679567485 :: f6989586621679567025 a6989586621679567027) (arg6989586621679567486 :: f6989586621679567025 a6989586621679567027) = (<|>) arg6989586621679567485 arg6989586621679567486
data ConstSym0 :: forall (a6989586621679090105 :: Type) k6989586621679090104 (b6989586621679090106 :: k6989586621679090104). (~>) a6989586621679090105 (Const (a6989586621679090105 :: Type) (b6989586621679090106 :: k6989586621679090104))
type ConstSym1 (t6989586621680754547 :: a6989586621679090105) = 'Const t6989586621680754547
data GetConstSym0 :: forall a6989586621680754815 b6989586621680754816. (~>) (Const a6989586621680754815 b6989586621680754816) a6989586621680754815
type GetConstSym1 (x6989586621680754817 :: Const a6989586621680754815 b6989586621680754816) = GetConst x6989586621680754817
data (<$>@#@$) :: forall a6989586621679737122 b6989586621679737123 f6989586621679737121. (~>) ((~>) a6989586621679737122 b6989586621679737123) ((~>) (f6989586621679737121 a6989586621679737122) (f6989586621679737121 b6989586621679737123))
infixl 4 <$>@#@$
data (<$>@#@$$) (a6989586621679737203 :: (~>) a6989586621679737122 b6989586621679737123) :: forall f6989586621679737121. (~>) (f6989586621679737121 a6989586621679737122) (f6989586621679737121 b6989586621679737123)
infixl 4 <$>@#@$$
type (<$>@#@$$$) (a6989586621679737203 :: (~>) a6989586621679737122 b6989586621679737123) (a6989586621679737204 :: f6989586621679737121 a6989586621679737122) = (<$>) a6989586621679737203 a6989586621679737204
data (<$@#@$) :: forall a6989586621679566948 f6989586621679566945 b6989586621679566949. (~>) a6989586621679566948 ((~>) (f6989586621679566945 b6989586621679566949) (f6989586621679566945 a6989586621679566948))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679567341 :: a6989586621679566948) :: forall f6989586621679566945 b6989586621679566949. (~>) (f6989586621679566945 b6989586621679566949) (f6989586621679566945 a6989586621679566948)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679567341 :: a6989586621679566948) (arg6989586621679567342 :: f6989586621679566945 b6989586621679566949) = (<$) arg6989586621679567341 arg6989586621679567342
data (<**>@#@$) :: forall f6989586621679566910 a6989586621679566911 b6989586621679566912. (~>) (f6989586621679566910 a6989586621679566911) ((~>) (f6989586621679566910 ((~>) a6989586621679566911 b6989586621679566912)) (f6989586621679566910 b6989586621679566912))
infixl 4 <**>@#@$
data (<**>@#@$$) (a6989586621679567321 :: f6989586621679566910 a6989586621679566911) :: forall b6989586621679566912. (~>) (f6989586621679566910 ((~>) a6989586621679566911 b6989586621679566912)) (f6989586621679566910 b6989586621679566912)
infixl 4 <**>@#@$$
type (<**>@#@$$$) (a6989586621679567321 :: f6989586621679566910 a6989586621679566911) (a6989586621679567322 :: f6989586621679566910 ((~>) a6989586621679566911 b6989586621679566912)) = (<**>) a6989586621679567321 a6989586621679567322
data LiftASym0 :: forall a6989586621679566908 b6989586621679566909 f6989586621679566907. (~>) ((~>) a6989586621679566908 b6989586621679566909) ((~>) (f6989586621679566907 a6989586621679566908) (f6989586621679566907 b6989586621679566909))
data LiftASym1 (a6989586621679567311 :: (~>) a6989586621679566908 b6989586621679566909) :: forall f6989586621679566907. (~>) (f6989586621679566907 a6989586621679566908) (f6989586621679566907 b6989586621679566909)
type LiftASym2 (a6989586621679567311 :: (~>) a6989586621679566908 b6989586621679566909) (a6989586621679567312 :: f6989586621679566907 a6989586621679566908) = LiftA a6989586621679567311 a6989586621679567312
data LiftA2Sym0 :: forall a6989586621679566954 b6989586621679566955 c6989586621679566956 f6989586621679566950. (~>) ((~>) a6989586621679566954 ((~>) b6989586621679566955 c6989586621679566956)) ((~>) (f6989586621679566950 a6989586621679566954) ((~>) (f6989586621679566950 b6989586621679566955) (f6989586621679566950 c6989586621679566956)))
data LiftA2Sym1 (arg6989586621679567367 :: (~>) a6989586621679566954 ((~>) b6989586621679566955 c6989586621679566956)) :: forall f6989586621679566950. (~>) (f6989586621679566950 a6989586621679566954) ((~>) (f6989586621679566950 b6989586621679566955) (f6989586621679566950 c6989586621679566956))
data LiftA2Sym2 (arg6989586621679567367 :: (~>) a6989586621679566954 ((~>) b6989586621679566955 c6989586621679566956)) (arg6989586621679567368 :: f6989586621679566950 a6989586621679566954) :: (~>) (f6989586621679566950 b6989586621679566955) (f6989586621679566950 c6989586621679566956)
type LiftA2Sym3 (arg6989586621679567367 :: (~>) a6989586621679566954 ((~>) b6989586621679566955 c6989586621679566956)) (arg6989586621679567368 :: f6989586621679566950 a6989586621679566954) (arg6989586621679567369 :: f6989586621679566950 b6989586621679566955) = LiftA2 arg6989586621679567367 arg6989586621679567368 arg6989586621679567369
data LiftA3Sym0 :: forall a6989586621679566903 b6989586621679566904 c6989586621679566905 d6989586621679566906 f6989586621679566902. (~>) ((~>) a6989586621679566903 ((~>) b6989586621679566904 ((~>) c6989586621679566905 d6989586621679566906))) ((~>) (f6989586621679566902 a6989586621679566903) ((~>) (f6989586621679566902 b6989586621679566904) ((~>) (f6989586621679566902 c6989586621679566905) (f6989586621679566902 d6989586621679566906))))
data LiftA3Sym1 (a6989586621679567299 :: (~>) a6989586621679566903 ((~>) b6989586621679566904 ((~>) c6989586621679566905 d6989586621679566906))) :: forall f6989586621679566902. (~>) (f6989586621679566902 a6989586621679566903) ((~>) (f6989586621679566902 b6989586621679566904) ((~>) (f6989586621679566902 c6989586621679566905) (f6989586621679566902 d6989586621679566906)))
data LiftA3Sym2 (a6989586621679567299 :: (~>) a6989586621679566903 ((~>) b6989586621679566904 ((~>) c6989586621679566905 d6989586621679566906))) (a6989586621679567300 :: f6989586621679566902 a6989586621679566903) :: (~>) (f6989586621679566902 b6989586621679566904) ((~>) (f6989586621679566902 c6989586621679566905) (f6989586621679566902 d6989586621679566906))
data LiftA3Sym3 (a6989586621679567299 :: (~>) a6989586621679566903 ((~>) b6989586621679566904 ((~>) c6989586621679566905 d6989586621679566906))) (a6989586621679567300 :: f6989586621679566902 a6989586621679566903) (a6989586621679567301 :: f6989586621679566902 b6989586621679566904) :: (~>) (f6989586621679566902 c6989586621679566905) (f6989586621679566902 d6989586621679566906)
data OptionalSym0 :: forall f6989586621681262005 a6989586621681262006. (~>) (f6989586621681262005 a6989586621681262006) (f6989586621681262005 (Maybe a6989586621681262006))
type OptionalSym1 (a6989586621681262043 :: f6989586621681262005 a6989586621681262006) = Optional a6989586621681262043
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.TFHelper_6989586621681262097Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Ord.Down
instance forall a6989586621679566952 b6989586621679566953 (a6989586621681262095 :: Data.Ord.Down (a6989586621679566952 Data.Singletons.Internal.~> b6989586621679566953)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.TFHelper_6989586621681262097Sym1 a6989586621681262095)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.Pure_6989586621681262087Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.LiftA2_6989586621681262070Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative ((,) a)
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 a6989586621681262009 (a6989586621681262067 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.LiftA2_6989586621681262070Sym1 a6989586621681262067)
instance forall a6989586621679566954 b6989586621679566955 c6989586621679566956 a6989586621681262009 (a6989586621681262068 :: a6989586621679566954 Data.Singletons.Internal.~> (b6989586621679566955 Data.Singletons.Internal.~> c6989586621679566956)) (a6989586621681262067 :: (a6989586621681262009, a6989586621679566954)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.LiftA2_6989586621681262070Sym2 a6989586621681262068 a6989586621681262067)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.TFHelper_6989586621681262055Sym0
instance forall a6989586621681262009 a6989586621679566952 b6989586621679566953 (a6989586621681262053 :: (a6989586621681262009, a6989586621679566952 Data.Singletons.Internal.~> b6989586621679566953)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.TFHelper_6989586621681262055Sym1 a6989586621681262053)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.Pure_6989586621681262047Sym0
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_a2kWl :: Type -> Type) where {
    type family Fmap (arg_a2l2F :: (~>) a_a2kWm b_a2kWn) (arg_a2l2G :: f_a2kWl a_a2kWm) :: f_a2kWl b_a2kWn;
    type (<$) a_a2l2N a_a2l2O = Apply (Apply TFHelper_6989586621679567347Sym0 a_a2l2N) a_a2l2O;
}
class SFunctor (f_a2kWl :: Type -> Type)
sFmap :: forall a_a2kWm b_a2kWn (t_a2l6X :: (~>) a_a2kWm b_a2kWn) (t_a2l6Y :: f_a2kWl a_a2kWm). SFunctor f_a2kWl => Sing t_a2l6X -> Sing t_a2l6Y -> Sing (Apply (Apply FmapSym0 t_a2l6X) t_a2l6Y :: f_a2kWl b_a2kWn)
class PMonad (m_a2kWO :: Type -> Type) where {
    type family (>>=) (arg_a2l4o :: m_a2kWO a_a2kWP) (arg_a2l4p :: (~>) a_a2kWP (m_a2kWO b_a2kWQ)) :: m_a2kWO b_a2kWQ;
    type family (>>) (arg_a2l4s :: m_a2kWO a_a2kWR) (arg_a2l4t :: m_a2kWO b_a2kWS) :: m_a2kWO b_a2kWS;
    type family Return (arg_a2l4w :: a_a2kWT) :: m_a2kWO a_a2kWT;
    type (>>) a_a2l4y a_a2l4z = Apply (Apply TFHelper_6989586621679567456Sym0 a_a2l4y) a_a2l4z;
    type Return a_a2l4U = Apply Return_6989586621679567477Sym0 a_a2l4U;
}
infixl 1 >>=
infixl 1 >>
class SApplicative m_a2kWO => SMonad (m_a2kWO :: Type -> Type)
(%>>=) :: forall a_a2kWP b_a2kWQ (t_a2l7y :: m_a2kWO a_a2kWP) (t_a2l7z :: (~>) a_a2kWP (m_a2kWO b_a2kWQ)). SMonad m_a2kWO => Sing t_a2l7y -> Sing t_a2l7z -> Sing (Apply (Apply (>>=@#@$) t_a2l7y) t_a2l7z :: m_a2kWO b_a2kWQ)
(%>>) :: forall a_a2kWR b_a2kWS (t_a2l7C :: m_a2kWO a_a2kWR) (t_a2l7D :: m_a2kWO b_a2kWS). SMonad m_a2kWO => Sing t_a2l7C -> Sing t_a2l7D -> Sing (Apply (Apply (>>@#@$) t_a2l7C) t_a2l7D :: m_a2kWO b_a2kWS)
sReturn :: forall a_a2kWT (t_a2l7G :: a_a2kWT). SMonad m_a2kWO => Sing t_a2l7G -> Sing (Apply ReturnSym0 t_a2l7G :: m_a2kWO a_a2kWT)
(%>>) :: forall a_a2kWR b_a2kWS (t_a2l7C :: m_a2kWO a_a2kWR) (t_a2l7D :: m_a2kWO b_a2kWS). (SMonad m_a2kWO, (Apply (Apply (>>@#@$) t_a2l7C) t_a2l7D :: m_a2kWO b_a2kWS) ~ Apply (Apply TFHelper_6989586621679567456Sym0 t_a2l7C) t_a2l7D) => Sing t_a2l7C -> Sing t_a2l7D -> Sing (Apply (Apply (>>@#@$) t_a2l7C) t_a2l7D :: m_a2kWO b_a2kWS)
sReturn :: forall a_a2kWT (t_a2l7G :: a_a2kWT). (SMonad m_a2kWO, (Apply ReturnSym0 t_a2l7G :: m_a2kWO a_a2kWT) ~ Apply Return_6989586621679567477Sym0 t_a2l7G) => Sing t_a2l7G -> Sing (Apply ReturnSym0 t_a2l7G :: m_a2kWO a_a2kWT)
infixl 1 %>>=
infixl 1 %>>
class PMonadPlus (m_a2kXG :: Type -> Type) where {
    type family Mzero :: m_a2kXG a_a2kXH;
    type family Mplus (arg_a2l57 :: m_a2kXG a_a2kXI) (arg_a2l58 :: m_a2kXG a_a2kXI) :: m_a2kXG a_a2kXI;
    type Mzero = Mzero_6989586621679567493Sym0;
    type Mplus a_a2l5d a_a2l5e = Apply (Apply Mplus_6989586621679567497Sym0 a_a2l5d) a_a2l5e;
}
class (SAlternative m_a2kXG, SMonad m_a2kXG) => SMonadPlus (m_a2kXG :: Type -> Type)
sMzero :: forall a_a2kXH. SMonadPlus m_a2kXG => Sing (MzeroSym0 :: m_a2kXG a_a2kXH)
sMplus :: forall a_a2kXI (t_a2l7Q :: m_a2kXG a_a2kXI) (t_a2l7R :: m_a2kXG a_a2kXI). SMonadPlus m_a2kXG => Sing t_a2l7Q -> Sing t_a2l7R -> Sing (Apply (Apply MplusSym0 t_a2l7Q) t_a2l7R :: m_a2kXG a_a2kXI)
sMzero :: forall a_a2kXH. (SMonadPlus m_a2kXG, (MzeroSym0 :: m_a2kXG a_a2kXH) ~ Mzero_6989586621679567493Sym0) => Sing (MzeroSym0 :: m_a2kXG a_a2kXH)
sMplus :: forall a_a2kXI (t_a2l7Q :: m_a2kXG a_a2kXI) (t_a2l7R :: m_a2kXG a_a2kXI). (SMonadPlus m_a2kXG, (Apply (Apply MplusSym0 t_a2l7Q) t_a2l7R :: m_a2kXG a_a2kXI) ~ Apply (Apply Mplus_6989586621679567497Sym0 t_a2l7Q) t_a2l7R) => Sing t_a2l7Q -> Sing t_a2l7R -> Sing (Apply (Apply MplusSym0 t_a2l7Q) t_a2l7R :: m_a2kXG a_a2kXI)
class PMonadFail (m_a32Fv :: Type -> Type) where {
    type family Fail (arg_a32FP :: [Char]) :: m_a32Fv a_a32Fw;
}
class SMonad m_a32Fv => SMonadFail (m_a32Fv :: Type -> Type)
sFail :: forall a_a32Fw (t_a32G3 :: [Char]). SMonadFail m_a32Fv => Sing t_a32G3 -> Sing (Apply FailSym0 t_a32G3 :: m_a32Fv a_a32Fw)
type family MapM (arg_a7un3 :: (~>) a_a7umS (m_a7umR b_a7umT)) (arg_a7un4 :: t_a7umL a_a7umS) :: m_a7umR (t_a7umL b_a7umT)
sMapM :: forall a_a7umS m_a7umR b_a7umT (t_a7uo1 :: (~>) a_a7umS (m_a7umR b_a7umT)) (t_a7uo2 :: t_a7umL a_a7umS). (STraversable t_a7umL, SMonad m_a7umR) => Sing t_a7uo1 -> Sing t_a7uo2 -> Sing (Apply (Apply MapMSym0 t_a7uo1) t_a7uo2 :: m_a7umR (t_a7umL b_a7umT))
type family MapM_ (a_a6ckN :: (~>) a_a6cb3 (m_a6cb2 b_a6cb4)) (a_a6ckO :: t_a6cb1 a_a6cb3) :: m_a6cb2 ()
sMapM_ :: forall a_a6cb3 m_a6cb2 b_a6cb4 t_a6cb1 (t_a6cGK :: (~>) a_a6cb3 (m_a6cb2 b_a6cb4)) (t_a6cGL :: t_a6cb1 a_a6cb3). (SFoldable t_a6cb1, SMonad m_a6cb2) => Sing t_a6cGK -> Sing t_a6cGL -> Sing (Apply (Apply MapM_Sym0 t_a6cGK) t_a6cGL :: m_a6cb2 ())
type family ForM (a_a7vWt :: t_a7vO4 a_a7vO6) (a_a7vWu :: (~>) a_a7vO6 (m_a7vO5 b_a7vO7)) :: m_a7vO5 (t_a7vO4 b_a7vO7)
sForM :: forall t_a7vO4 a_a7vO6 m_a7vO5 b_a7vO7 (t_a7w5W :: t_a7vO4 a_a7vO6) (t_a7w5X :: (~>) a_a7vO6 (m_a7vO5 b_a7vO7)). (STraversable t_a7vO4, SMonad m_a7vO5) => Sing t_a7w5W -> Sing t_a7w5X -> Sing (Apply (Apply ForMSym0 t_a7w5W) t_a7w5X :: m_a7vO5 (t_a7vO4 b_a7vO7))
type family Sequence (arg_a7un7 :: t_a7umL (m_a7umU a_a7umV)) :: m_a7umU (t_a7umL a_a7umV)
sSequence :: forall m_a7umU a_a7umV (t_a7uo5 :: t_a7umL (m_a7umU a_a7umV)). (STraversable t_a7umL, SMonad m_a7umU) => Sing t_a7uo5 -> Sing (Apply SequenceSym0 t_a7uo5 :: m_a7umU (t_a7umL a_a7umV))
type family Sequence_ (a_a6ckv :: t_a6caR (m_a6caS a_a6caT)) :: m_a6caS ()
sSequence_ :: forall t_a6caR m_a6caS a_a6caT (t_a6cGC :: t_a6caR (m_a6caS a_a6caT)). (SFoldable t_a6caR, SMonad m_a6caS) => Sing t_a6cGC -> Sing (Apply Sequence_Sym0 t_a6cGC :: m_a6caS ())
type family (=<<) (a_a2l1U :: (~>) a_a2kVA (m_a2kVz b_a2kVB)) (a_a2l1V :: m_a2kVz a_a2kVA) :: m_a2kVz b_a2kVB
infixr 1 =<<
(%=<<) :: forall a_a2kVA m_a2kVz b_a2kVB (t_a2l6h :: (~>) a_a2kVA (m_a2kVz b_a2kVB)) (t_a2l6i :: m_a2kVz a_a2kVA). SMonad m_a2kVz => Sing t_a2l6h -> Sing t_a2l6i -> Sing (Apply (Apply (=<<@#@$) t_a2l6h) t_a2l6i :: m_a2kVz b_a2kVB)
infixr 1 %=<<
type family (>=>) (a_a9umJ :: (~>) a_a9ufL (m_a9ufK b_a9ufM)) (a_a9umK :: (~>) b_a9ufM (m_a9ufK c_a9ufN)) (a_a9umL :: a_a9ufL) :: m_a9ufK c_a9ufN
infixr 1 >=>
(%>=>) :: forall a_a9ufL m_a9ufK b_a9ufM c_a9ufN (t_a9uoS :: (~>) a_a9ufL (m_a9ufK b_a9ufM)) (t_a9uoT :: (~>) b_a9ufM (m_a9ufK c_a9ufN)) (t_a9uoU :: a_a9ufL). SMonad m_a9ufK => Sing t_a9uoS -> Sing t_a9uoT -> Sing t_a9uoU -> Sing (Apply (Apply (Apply (>=>@#@$) t_a9uoS) t_a9uoT) t_a9uoU :: m_a9ufK c_a9ufN)
infixr 1 %>=>
type family (<=<) (a_a9umA :: (~>) b_a9ufH (m_a9ufG c_a9ufI)) (a_a9umB :: (~>) a_a9ufJ (m_a9ufG b_a9ufH)) (a_a9umC :: a_a9ufJ) :: m_a9ufG c_a9ufI
infixr 1 <=<
(%<=<) :: forall b_a9ufH m_a9ufG c_a9ufI a_a9ufJ (t_a9uoM :: (~>) b_a9ufH (m_a9ufG c_a9ufI)) (t_a9uoN :: (~>) a_a9ufJ (m_a9ufG b_a9ufH)) (t_a9uoO :: a_a9ufJ). SMonad m_a9ufG => Sing t_a9uoM -> Sing t_a9uoN -> Sing t_a9uoO -> Sing (Apply (Apply (Apply (<=<@#@$) t_a9uoM) t_a9uoN) t_a9uoO :: m_a9ufG c_a9ufI)
infixr 1 %<=<
type family Void (a_a33e4 :: f_a33cZ a_a33d0) :: f_a33cZ ()
sVoid :: forall f_a33cZ a_a33d0 (t_a33fQ :: f_a33cZ a_a33d0). SFunctor f_a33cZ => Sing t_a33fQ -> Sing (Apply VoidSym0 t_a33fQ :: f_a33cZ ())
type family Join (a_a2l20 :: m_a2kVC (m_a2kVC a_a2kVD)) :: m_a2kVC a_a2kVD
sJoin :: forall m_a2kVC a_a2kVD (t_a2l6l :: m_a2kVC (m_a2kVC a_a2kVD)). SMonad m_a2kVC => Sing t_a2l6l -> Sing (Apply JoinSym0 t_a2l6l :: m_a2kVC a_a2kVD)
type family Msum (a_a6ckl :: t_a6caL (m_a6caM a_a6caN)) :: m_a6caM a_a6caN
sMsum :: forall t_a6caL m_a6caM a_a6caN (t_a6cGy :: t_a6caL (m_a6caM a_a6caN)). (SFoldable t_a6caL, SMonadPlus m_a6caM) => Sing t_a6cGy -> Sing (Apply MsumSym0 t_a6cGy :: m_a6caM a_a6caN)
type family Mfilter (a_a9ukm :: (~>) a_a9ufd Bool) (a_a9ukn :: m_a9ufc a_a9ufd) :: m_a9ufc a_a9ufd
sMfilter :: forall a_a9ufd m_a9ufc (t_a9uo0 :: (~>) a_a9ufd Bool) (t_a9uo1 :: m_a9ufc a_a9ufd). SMonadPlus m_a9ufc => Sing t_a9uo0 -> Sing t_a9uo1 -> Sing (Apply (Apply MfilterSym0 t_a9uo0) t_a9uo1 :: m_a9ufc a_a9ufd)
type family FilterM (a_a9un2 :: (~>) a_a9ufP (m_a9ufO Bool)) (a_a9un3 :: [a_a9ufP]) :: m_a9ufO [a_a9ufP]
sFilterM :: forall a_a9ufP m_a9ufO (t_a9uoY :: (~>) a_a9ufP (m_a9ufO Bool)) (t_a9uoZ :: [a_a9ufP]). SApplicative m_a9ufO => Sing t_a9uoY -> Sing t_a9uoZ -> Sing (Apply (Apply FilterMSym0 t_a9uoY) t_a9uoZ :: m_a9ufO [a_a9ufP])
type family MapAndUnzipM (a_a9umo :: (~>) a_a9ufD (m_a9ufC (b_a9ufE, c_a9ufF))) (a_a9ump :: [a_a9ufD]) :: m_a9ufC ([b_a9ufE], [c_a9ufF])
sMapAndUnzipM :: forall a_a9ufD m_a9ufC b_a9ufE c_a9ufF (t_a9uoI :: (~>) a_a9ufD (m_a9ufC (b_a9ufE, c_a9ufF))) (t_a9uoJ :: [a_a9ufD]). SApplicative m_a9ufC => Sing t_a9uoI -> Sing t_a9uoJ -> Sing (Apply (Apply MapAndUnzipMSym0 t_a9uoI) t_a9uoJ :: m_a9ufC ([b_a9ufE], [c_a9ufF]))
type family ZipWithM (a_a9umf :: (~>) a_a9ufz ((~>) b_a9ufA (m_a9ufy c_a9ufB))) (a_a9umg :: [a_a9ufz]) (a_a9umh :: [b_a9ufA]) :: m_a9ufy [c_a9ufB]
sZipWithM :: forall a_a9ufz b_a9ufA m_a9ufy c_a9ufB (t_a9uoC :: (~>) a_a9ufz ((~>) b_a9ufA (m_a9ufy c_a9ufB))) (t_a9uoD :: [a_a9ufz]) (t_a9uoE :: [b_a9ufA]). SApplicative m_a9ufy => Sing t_a9uoC -> Sing t_a9uoD -> Sing t_a9uoE -> Sing (Apply (Apply (Apply ZipWithMSym0 t_a9uoC) t_a9uoD) t_a9uoE :: m_a9ufy [c_a9ufB])
type family ZipWithM_ (a_a9um6 :: (~>) a_a9ufv ((~>) b_a9ufw (m_a9ufu c_a9ufx))) (a_a9um7 :: [a_a9ufv]) (a_a9um8 :: [b_a9ufw]) :: m_a9ufu ()
sZipWithM_ :: forall a_a9ufv b_a9ufw m_a9ufu c_a9ufx (t_a9uow :: (~>) a_a9ufv ((~>) b_a9ufw (m_a9ufu c_a9ufx))) (t_a9uox :: [a_a9ufv]) (t_a9uoy :: [b_a9ufw]). SApplicative m_a9ufu => Sing t_a9uow -> Sing t_a9uox -> Sing t_a9uoy -> Sing (Apply (Apply (Apply ZipWithM_Sym0 t_a9uow) t_a9uox) t_a9uoy :: m_a9ufu ())
type family FoldlM (a_a6cld :: (~>) b_a6cbf ((~>) a_a6cbg (m_a6cbe b_a6cbf))) (a_a6cle :: b_a6cbf) (a_a6clf :: t_a6cbd a_a6cbg) :: m_a6cbe b_a6cbf
sFoldlM :: forall b_a6cbf a_a6cbg m_a6cbe t_a6cbd (t_a6cGW :: (~>) b_a6cbf ((~>) a_a6cbg (m_a6cbe b_a6cbf))) (t_a6cGX :: b_a6cbf) (t_a6cGY :: t_a6cbd a_a6cbg). (SFoldable t_a6cbd, SMonad m_a6cbe) => Sing t_a6cGW -> Sing t_a6cGX -> Sing t_a6cGY -> Sing (Apply (Apply (Apply FoldlMSym0 t_a6cGW) t_a6cGX) t_a6cGY :: m_a6cbe b_a6cbf)
type family ReplicateM (a_a9ulp :: Nat) (a_a9ulq :: m_a9ufk a_a9ufl) :: m_a9ufk [a_a9ufl]
sReplicateM :: forall m_a9ufk a_a9ufl (t_a9uog :: Nat) (t_a9uoh :: m_a9ufk a_a9ufl). SApplicative m_a9ufk => Sing t_a9uog -> Sing t_a9uoh -> Sing (Apply (Apply ReplicateMSym0 t_a9uog) t_a9uoh :: m_a9ufk [a_a9ufl])
type family ReplicateM_ (a_a9ul6 :: Nat) (a_a9ul7 :: m_a9ufi a_a9ufj) :: m_a9ufi ()
sReplicateM_ :: forall m_a9ufi a_a9ufj (t_a9uoc :: Nat) (t_a9uod :: m_a9ufi a_a9ufj). SApplicative m_a9ufi => Sing t_a9uoc -> Sing t_a9uod -> Sing (Apply (Apply ReplicateM_Sym0 t_a9uoc) t_a9uod :: m_a9ufi ())
type family Guard (a_a2kXL :: Bool) :: f_a2kV5 ()
sGuard :: forall f_a2kV5 (t_a2l5t :: Bool). SAlternative f_a2kV5 => Sing t_a2l5t -> Sing (Apply GuardSym0 t_a2l5t :: f_a2kV5 ())
type family When (a_a2l1L :: Bool) (a_a2l1M :: f_a2kVy ()) :: f_a2kVy ()
sWhen :: forall f_a2kVy (t_a2l6d :: Bool) (t_a2l6e :: f_a2kVy ()). SApplicative f_a2kVy => Sing t_a2l6d -> Sing t_a2l6e -> Sing (Apply (Apply WhenSym0 t_a2l6d) t_a2l6e :: f_a2kVy ())
type family Unless (a_a9ukX :: Bool) (a_a9ukY :: f_a9ufh ()) :: f_a9ufh ()
sUnless :: forall f_a9ufh (t_a9uo8 :: Bool) (t_a9uo9 :: f_a9ufh ()). SApplicative f_a9ufh => Sing t_a9uo8 -> Sing t_a9uo9 -> Sing (Apply (Apply UnlessSym0 t_a9uo8) t_a9uo9 :: f_a9ufh ())
type family LiftM (a_a2l1y :: (~>) a1_a2kVw r_a2kVx) (a_a2l1z :: m_a2kVv a1_a2kVw) :: m_a2kVv r_a2kVx
sLiftM :: forall a1_a2kVw r_a2kVx m_a2kVv (t_a2l69 :: (~>) a1_a2kVw r_a2kVx) (t_a2l6a :: m_a2kVv a1_a2kVw). SMonad m_a2kVv => Sing t_a2l69 -> Sing t_a2l6a -> Sing (Apply (Apply LiftMSym0 t_a2l69) t_a2l6a :: m_a2kVv r_a2kVx)
type family LiftM2 (a_a2l18 :: (~>) a1_a2kVs ((~>) a2_a2kVt r_a2kVu)) (a_a2l19 :: m_a2kVr a1_a2kVs) (a_a2l1a :: m_a2kVr a2_a2kVt) :: m_a2kVr r_a2kVu
sLiftM2 :: forall a1_a2kVs a2_a2kVt r_a2kVu m_a2kVr (t_a2l63 :: (~>) a1_a2kVs ((~>) a2_a2kVt r_a2kVu)) (t_a2l64 :: m_a2kVr a1_a2kVs) (t_a2l65 :: m_a2kVr a2_a2kVt). SMonad m_a2kVr => Sing t_a2l63 -> Sing t_a2l64 -> Sing t_a2l65 -> Sing (Apply (Apply (Apply LiftM2Sym0 t_a2l63) t_a2l64) t_a2l65 :: m_a2kVr r_a2kVu)
type family LiftM3 (a_a2l0s :: (~>) a1_a2kVn ((~>) a2_a2kVo ((~>) a3_a2kVp r_a2kVq))) (a_a2l0t :: m_a2kVm a1_a2kVn) (a_a2l0u :: m_a2kVm a2_a2kVo) (a_a2l0v :: m_a2kVm a3_a2kVp) :: m_a2kVm r_a2kVq
sLiftM3 :: forall a1_a2kVn a2_a2kVo a3_a2kVp r_a2kVq m_a2kVm (t_a2l5V :: (~>) a1_a2kVn ((~>) a2_a2kVo ((~>) a3_a2kVp r_a2kVq))) (t_a2l5W :: m_a2kVm a1_a2kVn) (t_a2l5X :: m_a2kVm a2_a2kVo) (t_a2l5Y :: m_a2kVm a3_a2kVp). SMonad m_a2kVm => Sing t_a2l5V -> Sing t_a2l5W -> Sing t_a2l5X -> Sing t_a2l5Y -> Sing (Apply (Apply (Apply (Apply LiftM3Sym0 t_a2l5V) t_a2l5W) t_a2l5X) t_a2l5Y :: m_a2kVm r_a2kVq)
type family LiftM4 (a_a2kZt :: (~>) a1_a2kVh ((~>) a2_a2kVi ((~>) a3_a2kVj ((~>) a4_a2kVk r_a2kVl)))) (a_a2kZu :: m_a2kVg a1_a2kVh) (a_a2kZv :: m_a2kVg a2_a2kVi) (a_a2kZw :: m_a2kVg a3_a2kVj) (a_a2kZx :: m_a2kVg a4_a2kVk) :: m_a2kVg r_a2kVl
sLiftM4 :: forall a1_a2kVh a2_a2kVi a3_a2kVj a4_a2kVk r_a2kVl m_a2kVg (t_a2l5L :: (~>) a1_a2kVh ((~>) a2_a2kVi ((~>) a3_a2kVj ((~>) a4_a2kVk r_a2kVl)))) (t_a2l5M :: m_a2kVg a1_a2kVh) (t_a2l5N :: m_a2kVg a2_a2kVi) (t_a2l5O :: m_a2kVg a3_a2kVj) (t_a2l5P :: m_a2kVg a4_a2kVk). SMonad m_a2kVg => Sing t_a2l5L -> Sing t_a2l5M -> Sing t_a2l5N -> Sing t_a2l5O -> Sing t_a2l5P -> Sing (Apply (Apply (Apply (Apply (Apply LiftM4Sym0 t_a2l5L) t_a2l5M) t_a2l5N) t_a2l5O) t_a2l5P :: m_a2kVg r_a2kVl)
type family LiftM5 (a_a2kY8 :: (~>) a1_a2kVa ((~>) a2_a2kVb ((~>) a3_a2kVc ((~>) a4_a2kVd ((~>) a5_a2kVe r_a2kVf))))) (a_a2kY9 :: m_a2kV9 a1_a2kVa) (a_a2kYa :: m_a2kV9 a2_a2kVb) (a_a2kYb :: m_a2kV9 a3_a2kVc) (a_a2kYc :: m_a2kV9 a4_a2kVd) (a_a2kYd :: m_a2kV9 a5_a2kVe) :: m_a2kV9 r_a2kVf
sLiftM5 :: forall a1_a2kVa a2_a2kVb a3_a2kVc a4_a2kVd a5_a2kVe r_a2kVf m_a2kV9 (t_a2l5z :: (~>) a1_a2kVa ((~>) a2_a2kVb ((~>) a3_a2kVc ((~>) a4_a2kVd ((~>) a5_a2kVe r_a2kVf))))) (t_a2l5A :: m_a2kV9 a1_a2kVa) (t_a2l5B :: m_a2kV9 a2_a2kVb) (t_a2l5C :: m_a2kV9 a3_a2kVc) (t_a2l5D :: m_a2kV9 a4_a2kVd) (t_a2l5E :: m_a2kV9 a5_a2kVe). SMonad m_a2kV9 => Sing t_a2l5z -> Sing t_a2l5A -> Sing t_a2l5B -> Sing t_a2l5C -> Sing t_a2l5D -> Sing t_a2l5E -> Sing (Apply (Apply (Apply (Apply (Apply (Apply LiftM5Sym0 t_a2l5z) t_a2l5A) t_a2l5B) t_a2l5C) t_a2l5D) t_a2l5E :: m_a2kV9 r_a2kVf)
type family Ap (a_a2kXN :: m_a2kV6 ((~>) a_a2kV7 b_a2kV8)) (a_a2kXO :: m_a2kV6 a_a2kV7) :: m_a2kV6 b_a2kV8
sAp :: forall m_a2kV6 a_a2kV7 b_a2kV8 (t_a2l5v :: m_a2kV6 ((~>) a_a2kV7 b_a2kV8)) (t_a2l5w :: m_a2kV6 a_a2kV7). SMonad m_a2kV6 => Sing t_a2l5v -> Sing t_a2l5w -> Sing (Apply (Apply ApSym0 t_a2l5v) t_a2l5w :: m_a2kV6 b_a2kV8)
type family (<$!>) (a_a9ukG :: (~>) a_a9uff b_a9ufg) (a_a9ukH :: m_a9ufe a_a9uff) :: m_a9ufe b_a9ufg
infixl 4 <$!>
(%<$!>) :: forall a_a9uff b_a9ufg m_a9ufe (t_a9uo4 :: (~>) a_a9uff b_a9ufg) (t_a9uo5 :: m_a9ufe a_a9uff). SMonad m_a9ufe => Sing t_a9uo4 -> Sing t_a9uo5 -> Sing (Apply (Apply (<$!>@#@$) t_a9uo4) t_a9uo5 :: m_a9ufe b_a9ufg)
infixl 4 %<$!>
data FmapSym0 :: forall a6989586621679566946 b6989586621679566947 f6989586621679566945. (~>) ((~>) a6989586621679566946 b6989586621679566947) ((~>) (f6989586621679566945 a6989586621679566946) (f6989586621679566945 b6989586621679566947))
data FmapSym1 (arg6989586621679567337 :: (~>) a6989586621679566946 b6989586621679566947) :: forall f6989586621679566945. (~>) (f6989586621679566945 a6989586621679566946) (f6989586621679566945 b6989586621679566947)
type FmapSym2 (arg6989586621679567337 :: (~>) a6989586621679566946 b6989586621679566947) (arg6989586621679567338 :: f6989586621679566945 a6989586621679566946) = Fmap arg6989586621679567337 arg6989586621679567338
data (>>=@#@$) :: forall m6989586621679566974 a6989586621679566975 b6989586621679566976. (~>) (m6989586621679566974 a6989586621679566975) ((~>) ((~>) a6989586621679566975 (m6989586621679566974 b6989586621679566976)) (m6989586621679566974 b6989586621679566976))
infixl 1 >>=@#@$
data (>>=@#@$$) (arg6989586621679567444 :: m6989586621679566974 a6989586621679566975) :: forall b6989586621679566976. (~>) ((~>) a6989586621679566975 (m6989586621679566974 b6989586621679566976)) (m6989586621679566974 b6989586621679566976)
infixl 1 >>=@#@$$
type (>>=@#@$$$) (arg6989586621679567444 :: m6989586621679566974 a6989586621679566975) (arg6989586621679567445 :: (~>) a6989586621679566975 (m6989586621679566974 b6989586621679566976)) = (>>=) arg6989586621679567444 arg6989586621679567445
data (>>@#@$) :: forall m6989586621679566974 a6989586621679566977 b6989586621679566978. (~>) (m6989586621679566974 a6989586621679566977) ((~>) (m6989586621679566974 b6989586621679566978) (m6989586621679566974 b6989586621679566978))
infixl 1 >>@#@$
data (>>@#@$$) (arg6989586621679567448 :: m6989586621679566974 a6989586621679566977) :: forall b6989586621679566978. (~>) (m6989586621679566974 b6989586621679566978) (m6989586621679566974 b6989586621679566978)
infixl 1 >>@#@$$
type (>>@#@$$$) (arg6989586621679567448 :: m6989586621679566974 a6989586621679566977) (arg6989586621679567449 :: m6989586621679566974 b6989586621679566978) = (>>) arg6989586621679567448 arg6989586621679567449
data ReturnSym0 :: forall a6989586621679566979 m6989586621679566974. (~>) a6989586621679566979 (m6989586621679566974 a6989586621679566979)
type ReturnSym1 (arg6989586621679567452 :: a6989586621679566979) = Return arg6989586621679567452
data FailSym0 :: forall m6989586621679735037 a6989586621679735038. (~>) [Char] (m6989586621679735037 a6989586621679735038)
type FailSym1 (arg6989586621679735057 :: [Char]) = Fail arg6989586621679735057
type MzeroSym0 = Mzero
data MplusSym0 :: forall m6989586621679567028 a6989586621679567030. (~>) (m6989586621679567028 a6989586621679567030) ((~>) (m6989586621679567028 a6989586621679567030) (m6989586621679567028 a6989586621679567030))
data MplusSym1 (arg6989586621679567489 :: m6989586621679567028 a6989586621679567030) :: (~>) (m6989586621679567028 a6989586621679567030) (m6989586621679567028 a6989586621679567030)
type MplusSym2 (arg6989586621679567489 :: m6989586621679567028 a6989586621679567030) (arg6989586621679567490 :: m6989586621679567028 a6989586621679567030) = Mplus arg6989586621679567489 arg6989586621679567490
data MapMSym0 :: forall a6989586621680794826 m6989586621680794825 b6989586621680794827 t6989586621680794819. (~>) ((~>) a6989586621680794826 (m6989586621680794825 b6989586621680794827)) ((~>) (t6989586621680794819 a6989586621680794826) (m6989586621680794825 (t6989586621680794819 b6989586621680794827)))
data MapMSym1 (arg6989586621680794837 :: (~>) a6989586621680794826 (m6989586621680794825 b6989586621680794827)) :: forall t6989586621680794819. (~>) (t6989586621680794819 a6989586621680794826) (m6989586621680794825 (t6989586621680794819 b6989586621680794827))
type MapMSym2 (arg6989586621680794837 :: (~>) a6989586621680794826 (m6989586621680794825 b6989586621680794827)) (arg6989586621680794838 :: t6989586621680794819 a6989586621680794826) = MapM arg6989586621680794837 arg6989586621680794838
data MapM_Sym0 :: forall a6989586621680486573 m6989586621680486572 b6989586621680486574 t6989586621680486571. (~>) ((~>) a6989586621680486573 (m6989586621680486572 b6989586621680486574)) ((~>) (t6989586621680486571 a6989586621680486573) (m6989586621680486572 ()))
data MapM_Sym1 (a6989586621680487177 :: (~>) a6989586621680486573 (m6989586621680486572 b6989586621680486574)) :: forall t6989586621680486571. (~>) (t6989586621680486571 a6989586621680486573) (m6989586621680486572 ())
type MapM_Sym2 (a6989586621680487177 :: (~>) a6989586621680486573 (m6989586621680486572 b6989586621680486574)) (a6989586621680487178 :: t6989586621680486571 a6989586621680486573) = MapM_ a6989586621680487177 a6989586621680487178
data ForMSym0 :: forall t6989586621680800356 a6989586621680800358 m6989586621680800357 b6989586621680800359. (~>) (t6989586621680800356 a6989586621680800358) ((~>) ((~>) a6989586621680800358 (m6989586621680800357 b6989586621680800359)) (m6989586621680800357 (t6989586621680800356 b6989586621680800359)))
data ForMSym1 (a6989586621680800877 :: t6989586621680800356 a6989586621680800358) :: forall m6989586621680800357 b6989586621680800359. (~>) ((~>) a6989586621680800358 (m6989586621680800357 b6989586621680800359)) (m6989586621680800357 (t6989586621680800356 b6989586621680800359))
type ForMSym2 (a6989586621680800877 :: t6989586621680800356 a6989586621680800358) (a6989586621680800878 :: (~>) a6989586621680800358 (m6989586621680800357 b6989586621680800359)) = ForM a6989586621680800877 a6989586621680800878
data SequenceSym0 :: forall t6989586621680794819 m6989586621680794828 a6989586621680794829. (~>) (t6989586621680794819 (m6989586621680794828 a6989586621680794829)) (m6989586621680794828 (t6989586621680794819 a6989586621680794829))
type SequenceSym1 (arg6989586621680794841 :: t6989586621680794819 (m6989586621680794828 a6989586621680794829)) = Sequence arg6989586621680794841
data Sequence_Sym0 :: forall t6989586621680486561 m6989586621680486562 a6989586621680486563. (~>) (t6989586621680486561 (m6989586621680486562 a6989586621680486563)) (m6989586621680486562 ())
type Sequence_Sym1 (a6989586621680487159 :: t6989586621680486561 (m6989586621680486562 a6989586621680486563)) = Sequence_ a6989586621680487159
data (=<<@#@$) :: forall a6989586621679566898 m6989586621679566897 b6989586621679566899. (~>) ((~>) a6989586621679566898 (m6989586621679566897 b6989586621679566899)) ((~>) (m6989586621679566897 a6989586621679566898) (m6989586621679566897 b6989586621679566899))
infixr 1 =<<@#@$
data (=<<@#@$$) (a6989586621679567290 :: (~>) a6989586621679566898 (m6989586621679566897 b6989586621679566899)) :: (~>) (m6989586621679566897 a6989586621679566898) (m6989586621679566897 b6989586621679566899)
infixr 1 =<<@#@$$
type (=<<@#@$$$) (a6989586621679567290 :: (~>) a6989586621679566898 (m6989586621679566897 b6989586621679566899)) (a6989586621679567291 :: m6989586621679566897 a6989586621679566898) = (=<<) a6989586621679567290 a6989586621679567291
data (>=>@#@$) :: forall a6989586621681271041 m6989586621681271040 b6989586621681271042 c6989586621681271043. (~>) ((~>) a6989586621681271041 (m6989586621681271040 b6989586621681271042)) ((~>) ((~>) b6989586621681271042 (m6989586621681271040 c6989586621681271043)) ((~>) a6989586621681271041 (m6989586621681271040 c6989586621681271043)))
infixr 1 >=>@#@$
data (>=>@#@$$) (a6989586621681271473 :: (~>) a6989586621681271041 (m6989586621681271040 b6989586621681271042)) :: forall c6989586621681271043. (~>) ((~>) b6989586621681271042 (m6989586621681271040 c6989586621681271043)) ((~>) a6989586621681271041 (m6989586621681271040 c6989586621681271043))
infixr 1 >=>@#@$$
data (>=>@#@$$$) (a6989586621681271473 :: (~>) a6989586621681271041 (m6989586621681271040 b6989586621681271042)) (a6989586621681271474 :: (~>) b6989586621681271042 (m6989586621681271040 c6989586621681271043)) :: (~>) a6989586621681271041 (m6989586621681271040 c6989586621681271043)
infixr 1 >=>@#@$$$
data (<=<@#@$) :: forall b6989586621681271037 m6989586621681271036 c6989586621681271038 a6989586621681271039. (~>) ((~>) b6989586621681271037 (m6989586621681271036 c6989586621681271038)) ((~>) ((~>) a6989586621681271039 (m6989586621681271036 b6989586621681271037)) ((~>) a6989586621681271039 (m6989586621681271036 c6989586621681271038)))
infixr 1 <=<@#@$
data (<=<@#@$$) (a6989586621681271464 :: (~>) b6989586621681271037 (m6989586621681271036 c6989586621681271038)) :: forall a6989586621681271039. (~>) ((~>) a6989586621681271039 (m6989586621681271036 b6989586621681271037)) ((~>) a6989586621681271039 (m6989586621681271036 c6989586621681271038))
infixr 1 <=<@#@$$
data (<=<@#@$$$) (a6989586621681271464 :: (~>) b6989586621681271037 (m6989586621681271036 c6989586621681271038)) (a6989586621681271465 :: (~>) a6989586621681271039 (m6989586621681271036 b6989586621681271037)) :: (~>) a6989586621681271039 (m6989586621681271036 c6989586621681271038)
infixr 1 <=<@#@$$$
data VoidSym0 :: forall f6989586621679737113 a6989586621679737114. (~>) (f6989586621679737113 a6989586621679737114) (f6989586621679737113 ())
type VoidSym1 (a6989586621679737180 :: f6989586621679737113 a6989586621679737114) = Void a6989586621679737180
data JoinSym0 :: forall m6989586621679566900 a6989586621679566901. (~>) (m6989586621679566900 (m6989586621679566900 a6989586621679566901)) (m6989586621679566900 a6989586621679566901)
type JoinSym1 (a6989586621679567296 :: m6989586621679566900 (m6989586621679566900 a6989586621679566901)) = Join a6989586621679567296
data MsumSym0 :: forall t6989586621680486555 m6989586621680486556 a6989586621680486557. (~>) (t6989586621680486555 (m6989586621680486556 a6989586621680486557)) (m6989586621680486556 a6989586621680486557)
type MsumSym1 (a6989586621680487149 :: t6989586621680486555 (m6989586621680486556 a6989586621680486557)) = Msum a6989586621680487149
data MfilterSym0 :: forall a6989586621681271007 m6989586621681271006. (~>) ((~>) a6989586621681271007 Bool) ((~>) (m6989586621681271006 a6989586621681271007) (m6989586621681271006 a6989586621681271007))
data MfilterSym1 (a6989586621681271326 :: (~>) a6989586621681271007 Bool) :: forall m6989586621681271006. (~>) (m6989586621681271006 a6989586621681271007) (m6989586621681271006 a6989586621681271007)
type MfilterSym2 (a6989586621681271326 :: (~>) a6989586621681271007 Bool) (a6989586621681271327 :: m6989586621681271006 a6989586621681271007) = Mfilter a6989586621681271326 a6989586621681271327
data FilterMSym0 :: forall a6989586621681271045 m6989586621681271044. (~>) ((~>) a6989586621681271045 (m6989586621681271044 Bool)) ((~>) [a6989586621681271045] (m6989586621681271044 [a6989586621681271045]))
data FilterMSym1 (a6989586621681271492 :: (~>) a6989586621681271045 (m6989586621681271044 Bool)) :: (~>) [a6989586621681271045] (m6989586621681271044 [a6989586621681271045])
type FilterMSym2 (a6989586621681271492 :: (~>) a6989586621681271045 (m6989586621681271044 Bool)) (a6989586621681271493 :: [a6989586621681271045]) = FilterM a6989586621681271492 a6989586621681271493
data MapAndUnzipMSym0 :: forall a6989586621681271033 m6989586621681271032 b6989586621681271034 c6989586621681271035. (~>) ((~>) a6989586621681271033 (m6989586621681271032 (b6989586621681271034, c6989586621681271035))) ((~>) [a6989586621681271033] (m6989586621681271032 ([b6989586621681271034], [c6989586621681271035])))
data MapAndUnzipMSym1 (a6989586621681271452 :: (~>) a6989586621681271033 (m6989586621681271032 (b6989586621681271034, c6989586621681271035))) :: (~>) [a6989586621681271033] (m6989586621681271032 ([b6989586621681271034], [c6989586621681271035]))
type MapAndUnzipMSym2 (a6989586621681271452 :: (~>) a6989586621681271033 (m6989586621681271032 (b6989586621681271034, c6989586621681271035))) (a6989586621681271453 :: [a6989586621681271033]) = MapAndUnzipM a6989586621681271452 a6989586621681271453
data ZipWithMSym0 :: forall a6989586621681271029 b6989586621681271030 m6989586621681271028 c6989586621681271031. (~>) ((~>) a6989586621681271029 ((~>) b6989586621681271030 (m6989586621681271028 c6989586621681271031))) ((~>) [a6989586621681271029] ((~>) [b6989586621681271030] (m6989586621681271028 [c6989586621681271031])))
data ZipWithMSym1 (a6989586621681271443 :: (~>) a6989586621681271029 ((~>) b6989586621681271030 (m6989586621681271028 c6989586621681271031))) :: (~>) [a6989586621681271029] ((~>) [b6989586621681271030] (m6989586621681271028 [c6989586621681271031]))
data ZipWithMSym2 (a6989586621681271443 :: (~>) a6989586621681271029 ((~>) b6989586621681271030 (m6989586621681271028 c6989586621681271031))) (a6989586621681271444 :: [a6989586621681271029]) :: (~>) [b6989586621681271030] (m6989586621681271028 [c6989586621681271031])
type ZipWithMSym3 (a6989586621681271443 :: (~>) a6989586621681271029 ((~>) b6989586621681271030 (m6989586621681271028 c6989586621681271031))) (a6989586621681271444 :: [a6989586621681271029]) (a6989586621681271445 :: [b6989586621681271030]) = ZipWithM a6989586621681271443 a6989586621681271444 a6989586621681271445
data ZipWithM_Sym0 :: forall a6989586621681271025 b6989586621681271026 m6989586621681271024 c6989586621681271027. (~>) ((~>) a6989586621681271025 ((~>) b6989586621681271026 (m6989586621681271024 c6989586621681271027))) ((~>) [a6989586621681271025] ((~>) [b6989586621681271026] (m6989586621681271024 ())))
data ZipWithM_Sym1 (a6989586621681271434 :: (~>) a6989586621681271025 ((~>) b6989586621681271026 (m6989586621681271024 c6989586621681271027))) :: (~>) [a6989586621681271025] ((~>) [b6989586621681271026] (m6989586621681271024 ()))
data ZipWithM_Sym2 (a6989586621681271434 :: (~>) a6989586621681271025 ((~>) b6989586621681271026 (m6989586621681271024 c6989586621681271027))) (a6989586621681271435 :: [a6989586621681271025]) :: (~>) [b6989586621681271026] (m6989586621681271024 ())
type ZipWithM_Sym3 (a6989586621681271434 :: (~>) a6989586621681271025 ((~>) b6989586621681271026 (m6989586621681271024 c6989586621681271027))) (a6989586621681271435 :: [a6989586621681271025]) (a6989586621681271436 :: [b6989586621681271026]) = ZipWithM_ a6989586621681271434 a6989586621681271435 a6989586621681271436
data FoldlMSym0 :: forall b6989586621680486585 a6989586621680486586 m6989586621680486584 t6989586621680486583. (~>) ((~>) b6989586621680486585 ((~>) a6989586621680486586 (m6989586621680486584 b6989586621680486585))) ((~>) b6989586621680486585 ((~>) (t6989586621680486583 a6989586621680486586) (m6989586621680486584 b6989586621680486585)))
data FoldlMSym1 (a6989586621680487203 :: (~>) b6989586621680486585 ((~>) a6989586621680486586 (m6989586621680486584 b6989586621680486585))) :: forall t6989586621680486583. (~>) b6989586621680486585 ((~>) (t6989586621680486583 a6989586621680486586) (m6989586621680486584 b6989586621680486585))
data FoldlMSym2 (a6989586621680487203 :: (~>) b6989586621680486585 ((~>) a6989586621680486586 (m6989586621680486584 b6989586621680486585))) (a6989586621680487204 :: b6989586621680486585) :: forall t6989586621680486583. (~>) (t6989586621680486583 a6989586621680486586) (m6989586621680486584 b6989586621680486585)
type FoldlMSym3 (a6989586621680487203 :: (~>) b6989586621680486585 ((~>) a6989586621680486586 (m6989586621680486584 b6989586621680486585))) (a6989586621680487204 :: b6989586621680486585) (a6989586621680487205 :: t6989586621680486583 a6989586621680486586) = FoldlM a6989586621680487203 a6989586621680487204 a6989586621680487205
data ReplicateMSym0 :: forall m6989586621681271014 a6989586621681271015. (~>) Nat ((~>) (m6989586621681271014 a6989586621681271015) (m6989586621681271014 [a6989586621681271015]))
data ReplicateMSym1 (a6989586621681271391 :: Nat) :: forall m6989586621681271014 a6989586621681271015. (~>) (m6989586621681271014 a6989586621681271015) (m6989586621681271014 [a6989586621681271015])
type ReplicateMSym2 (a6989586621681271391 :: Nat) (a6989586621681271392 :: m6989586621681271014 a6989586621681271015) = ReplicateM a6989586621681271391 a6989586621681271392
data ReplicateM_Sym0 :: forall m6989586621681271012 a6989586621681271013. (~>) Nat ((~>) (m6989586621681271012 a6989586621681271013) (m6989586621681271012 ()))
data ReplicateM_Sym1 (a6989586621681271372 :: Nat) :: forall m6989586621681271012 a6989586621681271013. (~>) (m6989586621681271012 a6989586621681271013) (m6989586621681271012 ())
type ReplicateM_Sym2 (a6989586621681271372 :: Nat) (a6989586621681271373 :: m6989586621681271012 a6989586621681271013) = ReplicateM_ a6989586621681271372 a6989586621681271373
data GuardSym0 :: forall f6989586621679566867. (~>) Bool (f6989586621679566867 ())
type GuardSym1 (a6989586621679567033 :: Bool) = Guard a6989586621679567033
data WhenSym0 :: forall f6989586621679566896. (~>) Bool ((~>) (f6989586621679566896 ()) (f6989586621679566896 ()))
data WhenSym1 (a6989586621679567281 :: Bool) :: forall f6989586621679566896. (~>) (f6989586621679566896 ()) (f6989586621679566896 ())
type WhenSym2 (a6989586621679567281 :: Bool) (a6989586621679567282 :: f6989586621679566896 ()) = When a6989586621679567281 a6989586621679567282
data UnlessSym0 :: forall f6989586621681271011. (~>) Bool ((~>) (f6989586621681271011 ()) (f6989586621681271011 ()))
data UnlessSym1 (a6989586621681271363 :: Bool) :: forall f6989586621681271011. (~>) (f6989586621681271011 ()) (f6989586621681271011 ())
type UnlessSym2 (a6989586621681271363 :: Bool) (a6989586621681271364 :: f6989586621681271011 ()) = Unless a6989586621681271363 a6989586621681271364
data LiftMSym0 :: forall a16989586621679566894 r6989586621679566895 m6989586621679566893. (~>) ((~>) a16989586621679566894 r6989586621679566895) ((~>) (m6989586621679566893 a16989586621679566894) (m6989586621679566893 r6989586621679566895))
data LiftMSym1 (a6989586621679567268 :: (~>) a16989586621679566894 r6989586621679566895) :: forall m6989586621679566893. (~>) (m6989586621679566893 a16989586621679566894) (m6989586621679566893 r6989586621679566895)
type LiftMSym2 (a6989586621679567268 :: (~>) a16989586621679566894 r6989586621679566895) (a6989586621679567269 :: m6989586621679566893 a16989586621679566894) = LiftM a6989586621679567268 a6989586621679567269
data LiftM2Sym0 :: forall a16989586621679566890 a26989586621679566891 r6989586621679566892 m6989586621679566889. (~>) ((~>) a16989586621679566890 ((~>) a26989586621679566891 r6989586621679566892)) ((~>) (m6989586621679566889 a16989586621679566890) ((~>) (m6989586621679566889 a26989586621679566891) (m6989586621679566889 r6989586621679566892)))
data LiftM2Sym1 (a6989586621679567242 :: (~>) a16989586621679566890 ((~>) a26989586621679566891 r6989586621679566892)) :: forall m6989586621679566889. (~>) (m6989586621679566889 a16989586621679566890) ((~>) (m6989586621679566889 a26989586621679566891) (m6989586621679566889 r6989586621679566892))
data LiftM2Sym2 (a6989586621679567242 :: (~>) a16989586621679566890 ((~>) a26989586621679566891 r6989586621679566892)) (a6989586621679567243 :: m6989586621679566889 a16989586621679566890) :: (~>) (m6989586621679566889 a26989586621679566891) (m6989586621679566889 r6989586621679566892)
type LiftM2Sym3 (a6989586621679567242 :: (~>) a16989586621679566890 ((~>) a26989586621679566891 r6989586621679566892)) (a6989586621679567243 :: m6989586621679566889 a16989586621679566890) (a6989586621679567244 :: m6989586621679566889 a26989586621679566891) = LiftM2 a6989586621679567242 a6989586621679567243 a6989586621679567244
data LiftM3Sym0 :: forall a16989586621679566885 a26989586621679566886 a36989586621679566887 r6989586621679566888 m6989586621679566884. (~>) ((~>) a16989586621679566885 ((~>) a26989586621679566886 ((~>) a36989586621679566887 r6989586621679566888))) ((~>) (m6989586621679566884 a16989586621679566885) ((~>) (m6989586621679566884 a26989586621679566886) ((~>) (m6989586621679566884 a36989586621679566887) (m6989586621679566884 r6989586621679566888))))
data LiftM3Sym1 (a6989586621679567200 :: (~>) a16989586621679566885 ((~>) a26989586621679566886 ((~>) a36989586621679566887 r6989586621679566888))) :: forall m6989586621679566884. (~>) (m6989586621679566884 a16989586621679566885) ((~>) (m6989586621679566884 a26989586621679566886) ((~>) (m6989586621679566884 a36989586621679566887) (m6989586621679566884 r6989586621679566888)))
data LiftM3Sym2 (a6989586621679567200 :: (~>) a16989586621679566885 ((~>) a26989586621679566886 ((~>) a36989586621679566887 r6989586621679566888))) (a6989586621679567201 :: m6989586621679566884 a16989586621679566885) :: (~>) (m6989586621679566884 a26989586621679566886) ((~>) (m6989586621679566884 a36989586621679566887) (m6989586621679566884 r6989586621679566888))
data LiftM3Sym3 (a6989586621679567200 :: (~>) a16989586621679566885 ((~>) a26989586621679566886 ((~>) a36989586621679566887 r6989586621679566888))) (a6989586621679567201 :: m6989586621679566884 a16989586621679566885) (a6989586621679567202 :: m6989586621679566884 a26989586621679566886) :: (~>) (m6989586621679566884 a36989586621679566887) (m6989586621679566884 r6989586621679566888)
type LiftM3Sym4 (a6989586621679567200 :: (~>) a16989586621679566885 ((~>) a26989586621679566886 ((~>) a36989586621679566887 r6989586621679566888))) (a6989586621679567201 :: m6989586621679566884 a16989586621679566885) (a6989586621679567202 :: m6989586621679566884 a26989586621679566886) (a6989586621679567203 :: m6989586621679566884 a36989586621679566887) = LiftM3 a6989586621679567200 a6989586621679567201 a6989586621679567202 a6989586621679567203
data LiftM4Sym0 :: forall a16989586621679566879 a26989586621679566880 a36989586621679566881 a46989586621679566882 r6989586621679566883 m6989586621679566878. (~>) ((~>) a16989586621679566879 ((~>) a26989586621679566880 ((~>) a36989586621679566881 ((~>) a46989586621679566882 r6989586621679566883)))) ((~>) (m6989586621679566878 a16989586621679566879) ((~>) (m6989586621679566878 a26989586621679566880) ((~>) (m6989586621679566878 a36989586621679566881) ((~>) (m6989586621679566878 a46989586621679566882) (m6989586621679566878 r6989586621679566883)))))
data LiftM4Sym1 (a6989586621679567139 :: (~>) a16989586621679566879 ((~>) a26989586621679566880 ((~>) a36989586621679566881 ((~>) a46989586621679566882 r6989586621679566883)))) :: forall m6989586621679566878. (~>) (m6989586621679566878 a16989586621679566879) ((~>) (m6989586621679566878 a26989586621679566880) ((~>) (m6989586621679566878 a36989586621679566881) ((~>) (m6989586621679566878 a46989586621679566882) (m6989586621679566878 r6989586621679566883))))
data LiftM4Sym2 (a6989586621679567139 :: (~>) a16989586621679566879 ((~>) a26989586621679566880 ((~>) a36989586621679566881 ((~>) a46989586621679566882 r6989586621679566883)))) (a6989586621679567140 :: m6989586621679566878 a16989586621679566879) :: (~>) (m6989586621679566878 a26989586621679566880) ((~>) (m6989586621679566878 a36989586621679566881) ((~>) (m6989586621679566878 a46989586621679566882) (m6989586621679566878 r6989586621679566883)))
data LiftM4Sym3 (a6989586621679567139 :: (~>) a16989586621679566879 ((~>) a26989586621679566880 ((~>) a36989586621679566881 ((~>) a46989586621679566882 r6989586621679566883)))) (a6989586621679567140 :: m6989586621679566878 a16989586621679566879) (a6989586621679567141 :: m6989586621679566878 a26989586621679566880) :: (~>) (m6989586621679566878 a36989586621679566881) ((~>) (m6989586621679566878 a46989586621679566882) (m6989586621679566878 r6989586621679566883))
data LiftM4Sym4 (a6989586621679567139 :: (~>) a16989586621679566879 ((~>) a26989586621679566880 ((~>) a36989586621679566881 ((~>) a46989586621679566882 r6989586621679566883)))) (a6989586621679567140 :: m6989586621679566878 a16989586621679566879) (a6989586621679567141 :: m6989586621679566878 a26989586621679566880) (a6989586621679567142 :: m6989586621679566878 a36989586621679566881) :: (~>) (m6989586621679566878 a46989586621679566882) (m6989586621679566878 r6989586621679566883)
type LiftM4Sym5 (a6989586621679567139 :: (~>) a16989586621679566879 ((~>) a26989586621679566880 ((~>) a36989586621679566881 ((~>) a46989586621679566882 r6989586621679566883)))) (a6989586621679567140 :: m6989586621679566878 a16989586621679566879) (a6989586621679567141 :: m6989586621679566878 a26989586621679566880) (a6989586621679567142 :: m6989586621679566878 a36989586621679566881) (a6989586621679567143 :: m6989586621679566878 a46989586621679566882) = LiftM4 a6989586621679567139 a6989586621679567140 a6989586621679567141 a6989586621679567142 a6989586621679567143
data LiftM5Sym0 :: forall a16989586621679566872 a26989586621679566873 a36989586621679566874 a46989586621679566875 a56989586621679566876 r6989586621679566877 m6989586621679566871. (~>) ((~>) a16989586621679566872 ((~>) a26989586621679566873 ((~>) a36989586621679566874 ((~>) a46989586621679566875 ((~>) a56989586621679566876 r6989586621679566877))))) ((~>) (m6989586621679566871 a16989586621679566872) ((~>) (m6989586621679566871 a26989586621679566873) ((~>) (m6989586621679566871 a36989586621679566874) ((~>) (m6989586621679566871 a46989586621679566875) ((~>) (m6989586621679566871 a56989586621679566876) (m6989586621679566871 r6989586621679566877))))))
data LiftM5Sym1 (a6989586621679567056 :: (~>) a16989586621679566872 ((~>) a26989586621679566873 ((~>) a36989586621679566874 ((~>) a46989586621679566875 ((~>) a56989586621679566876 r6989586621679566877))))) :: forall m6989586621679566871. (~>) (m6989586621679566871 a16989586621679566872) ((~>) (m6989586621679566871 a26989586621679566873) ((~>) (m6989586621679566871 a36989586621679566874) ((~>) (m6989586621679566871 a46989586621679566875) ((~>) (m6989586621679566871 a56989586621679566876) (m6989586621679566871 r6989586621679566877)))))
data LiftM5Sym2 (a6989586621679567056 :: (~>) a16989586621679566872 ((~>) a26989586621679566873 ((~>) a36989586621679566874 ((~>) a46989586621679566875 ((~>) a56989586621679566876 r6989586621679566877))))) (a6989586621679567057 :: m6989586621679566871 a16989586621679566872) :: (~>) (m6989586621679566871 a26989586621679566873) ((~>) (m6989586621679566871 a36989586621679566874) ((~>) (m6989586621679566871 a46989586621679566875) ((~>) (m6989586621679566871 a56989586621679566876) (m6989586621679566871 r6989586621679566877))))
data LiftM5Sym3 (a6989586621679567056 :: (~>) a16989586621679566872 ((~>) a26989586621679566873 ((~>) a36989586621679566874 ((~>) a46989586621679566875 ((~>) a56989586621679566876 r6989586621679566877))))) (a6989586621679567057 :: m6989586621679566871 a16989586621679566872) (a6989586621679567058 :: m6989586621679566871 a26989586621679566873) :: (~>) (m6989586621679566871 a36989586621679566874) ((~>) (m6989586621679566871 a46989586621679566875) ((~>) (m6989586621679566871 a56989586621679566876) (m6989586621679566871 r6989586621679566877)))
data LiftM5Sym4 (a6989586621679567056 :: (~>) a16989586621679566872 ((~>) a26989586621679566873 ((~>) a36989586621679566874 ((~>) a46989586621679566875 ((~>) a56989586621679566876 r6989586621679566877))))) (a6989586621679567057 :: m6989586621679566871 a16989586621679566872) (a6989586621679567058 :: m6989586621679566871 a26989586621679566873) (a6989586621679567059 :: m6989586621679566871 a36989586621679566874) :: (~>) (m6989586621679566871 a46989586621679566875) ((~>) (m6989586621679566871 a56989586621679566876) (m6989586621679566871 r6989586621679566877))
data LiftM5Sym5 (a6989586621679567056 :: (~>) a16989586621679566872 ((~>) a26989586621679566873 ((~>) a36989586621679566874 ((~>) a46989586621679566875 ((~>) a56989586621679566876 r6989586621679566877))))) (a6989586621679567057 :: m6989586621679566871 a16989586621679566872) (a6989586621679567058 :: m6989586621679566871 a26989586621679566873) (a6989586621679567059 :: m6989586621679566871 a36989586621679566874) (a6989586621679567060 :: m6989586621679566871 a46989586621679566875) :: (~>) (m6989586621679566871 a56989586621679566876) (m6989586621679566871 r6989586621679566877)
type LiftM5Sym6 (a6989586621679567056 :: (~>) a16989586621679566872 ((~>) a26989586621679566873 ((~>) a36989586621679566874 ((~>) a46989586621679566875 ((~>) a56989586621679566876 r6989586621679566877))))) (a6989586621679567057 :: m6989586621679566871 a16989586621679566872) (a6989586621679567058 :: m6989586621679566871 a26989586621679566873) (a6989586621679567059 :: m6989586621679566871 a36989586621679566874) (a6989586621679567060 :: m6989586621679566871 a46989586621679566875) (a6989586621679567061 :: m6989586621679566871 a56989586621679566876) = LiftM5 a6989586621679567056 a6989586621679567057 a6989586621679567058 a6989586621679567059 a6989586621679567060 a6989586621679567061
data ApSym0 :: forall m6989586621679566868 a6989586621679566869 b6989586621679566870. (~>) (m6989586621679566868 ((~>) a6989586621679566869 b6989586621679566870)) ((~>) (m6989586621679566868 a6989586621679566869) (m6989586621679566868 b6989586621679566870))
data ApSym1 (a6989586621679567035 :: m6989586621679566868 ((~>) a6989586621679566869 b6989586621679566870)) :: (~>) (m6989586621679566868 a6989586621679566869) (m6989586621679566868 b6989586621679566870)
type ApSym2 (a6989586621679567035 :: m6989586621679566868 ((~>) a6989586621679566869 b6989586621679566870)) (a6989586621679567036 :: m6989586621679566868 a6989586621679566869) = Ap a6989586621679567035 a6989586621679567036
data (<$!>@#@$) :: forall a6989586621681271009 b6989586621681271010 m6989586621681271008. (~>) ((~>) a6989586621681271009 b6989586621681271010) ((~>) (m6989586621681271008 a6989586621681271009) (m6989586621681271008 b6989586621681271010))
infixl 4 <$!>@#@$
data (<$!>@#@$$) (a6989586621681271346 :: (~>) a6989586621681271009 b6989586621681271010) :: forall m6989586621681271008. (~>) (m6989586621681271008 a6989586621681271009) (m6989586621681271008 b6989586621681271010)
infixl 4 <$!>@#@$$
type (<$!>@#@$$$) (a6989586621681271346 :: (~>) a6989586621681271009 b6989586621681271010) (a6989586621681271347 :: m6989586621681271008 a6989586621681271009) = (<$!>) a6989586621681271346 a6989586621681271347
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.TFHelper_6989586621681271542Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Ord.Down
instance forall a6989586621679566975 b6989586621679566976 (a6989586621681271540 :: Data.Ord.Down a6989586621679566975). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.TFHelper_6989586621681271542Sym1 a6989586621681271540)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.TFHelper_6989586621681271520Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad ((,) a)
instance forall a6989586621681271093 a6989586621679566975 b6989586621679566976 (a6989586621681271518 :: (a6989586621681271093, a6989586621679566975)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.TFHelper_6989586621681271520Sym1 a6989586621681271518)
instance Data.Singletons.Prelude.Monoid.SMonoid a => Data.Singletons.Prelude.Monad.Internal.SMonad ((,) a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681271529Scrutinee_6989586621681271107Sym0
instance forall k1 k2 k3 (u6989586621681271526 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271529Scrutinee_6989586621681271107Sym1 u6989586621681271526)
instance forall k1 k2 k3 (a6989586621681271527 :: k1) (u6989586621681271526 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271529Scrutinee_6989586621681271107Sym2 a6989586621681271527 u6989586621681271526)
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 a6989586621681271045 (m6989586621681271044 :: * -> *) (a6989586621681271492 :: a6989586621681271045 Data.Singletons.Internal.~> m6989586621681271044 GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FilterMSym1 a6989586621681271492)
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 b6989586621681271037 (m6989586621681271036 :: * -> *) c6989586621681271038 a6989586621681271039 (a6989586621681271464 :: b6989586621681271037 Data.Singletons.Internal.~> m6989586621681271036 c6989586621681271038). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Monad.<=<@#@$$) a6989586621681271464)
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 b6989586621681271037 (m6989586621681271036 :: * -> *) c6989586621681271038 a6989586621681271039 (a6989586621681271465 :: b6989586621681271037 Data.Singletons.Internal.~> m6989586621681271036 c6989586621681271038) (a6989586621681271464 :: a6989586621681271039 Data.Singletons.Internal.~> m6989586621681271036 b6989586621681271037). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (a6989586621681271465 Data.Singletons.Prelude.Monad.<=<@#@$$$ a6989586621681271464)
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 a6989586621681271041 (m6989586621681271040 :: * -> *) b6989586621681271042 c6989586621681271043 (a6989586621681271473 :: a6989586621681271041 Data.Singletons.Internal.~> m6989586621681271040 b6989586621681271042). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Monad.>=>@#@$$) a6989586621681271473)
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 a6989586621681271041 (m6989586621681271040 :: * -> *) b6989586621681271042 c6989586621681271043 (a6989586621681271474 :: a6989586621681271041 Data.Singletons.Internal.~> m6989586621681271040 b6989586621681271042) (a6989586621681271473 :: b6989586621681271042 Data.Singletons.Internal.~> m6989586621681271040 c6989586621681271043). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (a6989586621681271474 Data.Singletons.Prelude.Monad.>=>@#@$$$ a6989586621681271473)
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 a6989586621681271033 (m6989586621681271032 :: * -> *) b6989586621681271034 c6989586621681271035 (a6989586621681271452 :: a6989586621681271033 Data.Singletons.Internal.~> m6989586621681271032 (b6989586621681271034, c6989586621681271035)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.MapAndUnzipMSym1 a6989586621681271452)
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 a6989586621681271029 b6989586621681271030 (m6989586621681271028 :: * -> *) c6989586621681271031 (a6989586621681271443 :: a6989586621681271029 Data.Singletons.Internal.~> (b6989586621681271030 Data.Singletons.Internal.~> m6989586621681271028 c6989586621681271031)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithMSym1 a6989586621681271443)
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 a6989586621681271029 b6989586621681271030 (m6989586621681271028 :: * -> *) c6989586621681271031 (a6989586621681271444 :: a6989586621681271029 Data.Singletons.Internal.~> (b6989586621681271030 Data.Singletons.Internal.~> m6989586621681271028 c6989586621681271031)) (a6989586621681271443 :: [a6989586621681271029]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithMSym2 a6989586621681271444 a6989586621681271443)
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 a6989586621681271025 b6989586621681271026 (m6989586621681271024 :: * -> *) c6989586621681271027 (a6989586621681271434 :: a6989586621681271025 Data.Singletons.Internal.~> (b6989586621681271026 Data.Singletons.Internal.~> m6989586621681271024 c6989586621681271027)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithM_Sym1 a6989586621681271434)
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 a6989586621681271025 b6989586621681271026 (m6989586621681271024 :: * -> *) c6989586621681271027 (a6989586621681271435 :: a6989586621681271025 Data.Singletons.Internal.~> (b6989586621681271026 Data.Singletons.Internal.~> m6989586621681271024 c6989586621681271027)) (a6989586621681271434 :: [a6989586621681271025]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithM_Sym2 a6989586621681271435 a6989586621681271434)
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 b6989586621681271022 a6989586621681271023 (m6989586621681271021 :: * -> *) (t6989586621681271020 :: * -> *) (a6989586621681271425 :: b6989586621681271022 Data.Singletons.Internal.~> (a6989586621681271023 Data.Singletons.Internal.~> m6989586621681271021 b6989586621681271022)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldMSym1 a6989586621681271425)
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 b6989586621681271022 a6989586621681271023 (m6989586621681271021 :: * -> *) (t6989586621681271020 :: * -> *) (a6989586621681271426 :: b6989586621681271022 Data.Singletons.Internal.~> (a6989586621681271023 Data.Singletons.Internal.~> m6989586621681271021 b6989586621681271022)) (a6989586621681271425 :: b6989586621681271022). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldMSym2 a6989586621681271426 a6989586621681271425)
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 b6989586621681271018 a6989586621681271019 (m6989586621681271017 :: * -> *) (t6989586621681271016 :: * -> *) (a6989586621681271410 :: b6989586621681271018 Data.Singletons.Internal.~> (a6989586621681271019 Data.Singletons.Internal.~> m6989586621681271017 b6989586621681271018)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldM_Sym1 a6989586621681271410)
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 b6989586621681271018 a6989586621681271019 (m6989586621681271017 :: * -> *) (t6989586621681271016 :: * -> *) (a6989586621681271411 :: b6989586621681271018 Data.Singletons.Internal.~> (a6989586621681271019 Data.Singletons.Internal.~> m6989586621681271017 b6989586621681271018)) (a6989586621681271410 :: b6989586621681271018). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldM_Sym2 a6989586621681271411 a6989586621681271410)
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 a6989586621681271391)
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 a6989586621681271372)
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 a6989586621681271363)
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 a6989586621681271009 b6989586621681271010 (m6989586621681271008 :: * -> *) (a6989586621681271346 :: a6989586621681271009 Data.Singletons.Internal.~> b6989586621681271010). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Monad.<$!>@#@$$) a6989586621681271346)
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 a6989586621681271007 (m6989586621681271006 :: * -> *) (a6989586621681271326 :: a6989586621681271007 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.MfilterSym1 a6989586621681271326)
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_6989586621681271500Sym0
instance forall k2 (f6989586621679566950 :: * -> *) k3 (p6989586621681271498 :: k2 Data.Singletons.Internal.~> f6989586621679566950 GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271500Sym1 p6989586621681271498)
instance forall k2 (f6989586621679566950 :: * -> *) k3 (a_69895866216812714966989586621681271499 :: k2 Data.Singletons.Internal.~> f6989586621679566950 GHC.Types.Bool) (p6989586621681271498 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271500Sym2 a_69895866216812714966989586621681271499 p6989586621681271498)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681271503Sym0
instance forall k1 k2 k3 (x6989586621681271502 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271503Sym1 x6989586621681271502)
instance forall k1 k2 k3 (p6989586621681271498 :: k1) (x6989586621681271502 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271503Sym2 p6989586621681271498 x6989586621681271502)
instance forall k1 k2 k3 (a_69895866216812714966989586621681271499 :: k1) (p6989586621681271498 :: k2) (x6989586621681271502 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271503Sym3 a_69895866216812714966989586621681271499 p6989586621681271498 x6989586621681271502)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681271484Sym0
instance forall k1 (m6989586621679566974 :: * -> *) a6989586621679566975 b6989586621679566976 k (f6989586621681271481 :: k1 Data.Singletons.Internal.~> m6989586621679566974 a6989586621679566975). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271484Sym1 f6989586621681271481)
instance forall k1 (m6989586621679566974 :: * -> *) a6989586621679566975 b6989586621679566976 k (g6989586621681271482 :: k1 Data.Singletons.Internal.~> m6989586621679566974 a6989586621679566975) (f6989586621681271481 :: a6989586621679566975 Data.Singletons.Internal.~> m6989586621679566974 b6989586621679566976). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271484Sym2 g6989586621681271482 f6989586621681271481)
instance forall k1 (m6989586621679566974 :: * -> *) a6989586621679566975 b6989586621679566976 k (a_69895866216812714796989586621681271483 :: k1 Data.Singletons.Internal.~> m6989586621679566974 a6989586621679566975) (g6989586621681271482 :: a6989586621679566975 Data.Singletons.Internal.~> m6989586621679566974 b6989586621679566976) (f6989586621681271481 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271484Sym3 a_69895866216812714796989586621681271483 g6989586621681271482 f6989586621681271481)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681271397LoopSym0
instance forall k (m :: * -> *) a (m6989586621681271014 :: * -> *) a6989586621681271015 (cnt06989586621681271395 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271397LoopSym1 cnt06989586621681271395)
instance forall k (m :: * -> *) a (m6989586621681271014 :: * -> *) a6989586621681271015 (f6989586621681271396 :: k) (cnt06989586621681271395 :: m a). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271397LoopSym2 f6989586621681271396 cnt06989586621681271395)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681271378LoopSym0
instance forall k (m :: * -> *) a6989586621679566957 (m6989586621681271012 :: * -> *) (cnt06989586621681271376 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271378LoopSym1 cnt06989586621681271376)
instance forall k (m :: * -> *) a6989586621679566957 (m6989586621681271012 :: * -> *) (f6989586621681271377 :: k) (cnt06989586621681271376 :: m a6989586621679566957). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271378LoopSym2 f6989586621681271377 cnt06989586621681271376)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681271352Sym0
instance forall k2 k3 k (m6989586621679566974 :: * -> *) (f6989586621681271350 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271352Sym1 f6989586621681271350)
instance forall k2 k3 k (m6989586621679566974 :: * -> *) (m6989586621681271351 :: k2 Data.Singletons.Internal.~> k3) (f6989586621681271350 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271352Sym2 m6989586621681271351 f6989586621681271350)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681271355ZSym0
instance forall k1 k2 k3 (x6989586621681271354 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271355ZSym1 x6989586621681271354)
instance forall k1 k2 k3 (f6989586621681271350 :: k1) (x6989586621681271354 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271355ZSym2 f6989586621681271350 x6989586621681271354)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681271332Sym0
instance forall k1 k (m6989586621679566974 :: * -> *) (p6989586621681271330 :: k1 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271332Sym1 p6989586621681271330)
instance forall k1 k (m6989586621679566974 :: * -> *) (ma6989586621681271331 :: k1 Data.Singletons.Internal.~> GHC.Types.Bool) (p6989586621681271330 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271332Sym2 ma6989586621681271331 p6989586621681271330)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681271335Scrutinee_6989586621681271105Sym0
instance forall k1 k2 k3 (a6989586621681271334 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271335Scrutinee_6989586621681271105Sym1 a6989586621681271334)
instance forall k1 k2 k3 (p6989586621681271330 :: k1) (a6989586621681271334 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271335Scrutinee_6989586621681271105Sym2 p6989586621681271330 a6989586621681271334)
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 type family.
type family Sing :: k -> Type
newtype SLambda (f :: k1 ~> k2)
SLambda :: (forall t. Sing t -> Sing (f @@ t)) -> SLambda (f :: k1 ~> k2)
[applySing] :: SLambda (f :: k1 ~> k2) -> forall t. Sing t -> Sing (f @@ t)

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

-- | A newtype around <a>Sing</a>.
--   
--   Since <a>Sing</a> is a type family, it cannot be used directly in type
--   class instances. As one example, one cannot write a catch-all
--   <tt>instance <tt>SDecide</tt> k =&gt; <tt>TestEquality</tt>
--   (<a>Sing</a> k)</tt>. On the other hand, <a>WrappedSing</a> is a
--   perfectly ordinary data type, which means that it is quite possible to
--   define an <tt>instance <tt>SDecide</tt> k =&gt; <tt>TestEquality</tt>
--   (<a>WrappedSing</a> k)</tt>.
newtype WrappedSing :: forall k. k -> Type
[WrapSing] :: forall k (a :: k). {unwrapSing :: Sing a} -> WrappedSing a

-- | The singleton for <a>WrappedSing</a>s. Informally, this is the
--   singleton type for other singletons.
newtype SWrappedSing :: forall k (a :: k). WrappedSing a -> Type
[SWrapSing] :: forall k (a :: k) (ws :: WrappedSing a). {sUnwrapSing :: Sing a} -> SWrappedSing ws
type family UnwrapSing (ws :: WrappedSing a) :: 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)
data Proxy (t :: k)
Proxy :: Proxy (t :: k)
data DemoteSym0 :: (~>) Type Type
type DemoteSym1 (k6989586621679014708 :: Type) = Demote k6989586621679014708
data SameKindSym0 a6989586621679014714
data SameKindSym1 (a6989586621679014714 :: k6989586621679014713) b6989586621679014715
type SameKindSym2 (a6989586621679014714 :: k6989586621679014713) (b6989586621679014715 :: k6989586621679014713) = SameKind a6989586621679014714 b6989586621679014715
data KindOfSym0 a6989586621679014717
type KindOfSym1 (a6989586621679014717 :: k6989586621679014716) = KindOf a6989586621679014717
data (~>@#@$) a6989586621679012791
infixr 0 ~>@#@$
data (~>@#@$$) (a6989586621679012791 :: Type) b6989586621679012792
infixr 0 ~>@#@$$
type (~>@#@$$$) (a6989586621679012791 :: Type) (b6989586621679012792 :: Type) = (~>) a6989586621679012791 b6989586621679012792
data ApplySym0 :: forall k16989586621679012787 k26989586621679012788. (~>) ((~>) k16989586621679012787 k26989586621679012788) ((~>) k16989586621679012787 k26989586621679012788)
data ApplySym1 (f6989586621679012789 :: (~>) k16989586621679012787 k26989586621679012788) :: (~>) k16989586621679012787 k26989586621679012788
type ApplySym2 (f6989586621679012789 :: (~>) k16989586621679012787 k26989586621679012788) (x6989586621679012790 :: k16989586621679012787) = Apply f6989586621679012789 x6989586621679012790
data (@@@#@$) a6989586621679012785
infixl 9 @@@#@$
data (@@@#@$$) (a6989586621679012785 :: (~>) k16989586621679019894 k6989586621679019893) b6989586621679012786
infixl 9 @@@#@$$
type (@@@#@$$$) (a6989586621679012785 :: (~>) k16989586621679019894 k6989586621679019893) (b6989586621679012786 :: k16989586621679019894) = (@@) a6989586621679012785 b6989586621679012786
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.@@@#@$)
instance forall k16989586621679019894 k6989586621679019893 (a6989586621679012785 :: k16989586621679019894 Data.Singletons.Internal.~> k6989586621679019893). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.@@@#@$$) a6989586621679012785)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.ApplySym0
instance forall k16989586621679012787 k26989586621679012788 (f6989586621679012789 :: k16989586621679012787 Data.Singletons.Internal.~> k26989586621679012788). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.ApplySym1 f6989586621679012789)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.~>@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.~>@#@$$) a6989586621679012791)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.KindOfSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.SameKindSym0
instance forall k6989586621679014713 (a6989586621679014714 :: k6989586621679014713). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.SameKindSym1 a6989586621679014714)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.DemoteSym0
instance forall k k_last (f :: k -> k_last). (forall (a :: k). Data.Singletons.Internal.SingI a => Data.Singletons.Internal.SingI (f a), Data.Singletons.Internal.ApplyTyCon GHC.Types.~ Data.Singletons.Internal.ApplyTyConAux1) => Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon1 f)
instance forall k1 k_last k2 (f :: k2 -> k1 -> k_last). (forall (a1 :: k2) (a2 :: k1). (Data.Singletons.Internal.SingI a1, Data.Singletons.Internal.SingI a2) => Data.Singletons.Internal.SingI (f a1 a2), Data.Singletons.Internal.ApplyTyCon GHC.Types.~ Data.Singletons.Internal.ApplyTyConAux1) => Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon2 f)
instance forall k1 k_last k2 k3 (f :: k2 -> k3 -> k1 -> k_last). (forall (a1 :: k2) (a2 :: k3) (a3 :: k1). (Data.Singletons.Internal.SingI a1, Data.Singletons.Internal.SingI a2, Data.Singletons.Internal.SingI a3) => Data.Singletons.Internal.SingI (f a1 a2 a3), Data.Singletons.Internal.ApplyTyCon GHC.Types.~ Data.Singletons.Internal.ApplyTyConAux1) => Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon3 f)
instance forall k1 k_last k2 k3 k4 (f :: k2 -> k3 -> k4 -> k1 -> k_last). (forall (a1 :: k2) (a2 :: k3) (a3 :: k4) (a4 :: k1). (Data.Singletons.Internal.SingI a1, Data.Singletons.Internal.SingI a2, Data.Singletons.Internal.SingI a3, Data.Singletons.Internal.SingI a4) => Data.Singletons.Internal.SingI (f a1 a2 a3 a4), Data.Singletons.Internal.ApplyTyCon GHC.Types.~ Data.Singletons.Internal.ApplyTyConAux1) => Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon4 f)
instance forall k1 k_last k2 k3 k4 k5 (f :: k2 -> k3 -> k4 -> k5 -> k1 -> k_last). (forall (a1 :: k2) (a2 :: k3) (a3 :: k4) (a4 :: k5) (a5 :: k1). (Data.Singletons.Internal.SingI a1, Data.Singletons.Internal.SingI a2, Data.Singletons.Internal.SingI a3, Data.Singletons.Internal.SingI a4, Data.Singletons.Internal.SingI a5) => Data.Singletons.Internal.SingI (f a1 a2 a3 a4 a5), Data.Singletons.Internal.ApplyTyCon GHC.Types.~ Data.Singletons.Internal.ApplyTyConAux1) => Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon5 f)
instance forall k1 k_last k2 k3 k4 k5 k6 (f :: k2 -> k3 -> k4 -> k5 -> k6 -> k1 -> k_last). (forall (a1 :: k2) (a2 :: k3) (a3 :: k4) (a4 :: k5) (a5 :: k6) (a6 :: k1). (Data.Singletons.Internal.SingI a1, Data.Singletons.Internal.SingI a2, Data.Singletons.Internal.SingI a3, Data.Singletons.Internal.SingI a4, Data.Singletons.Internal.SingI a5, Data.Singletons.Internal.SingI a6) => Data.Singletons.Internal.SingI (f a1 a2 a3 a4 a5 a6), Data.Singletons.Internal.ApplyTyCon GHC.Types.~ Data.Singletons.Internal.ApplyTyConAux1) => Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon6 f)
instance forall k1 k_last k2 k3 k4 k5 k6 k7 (f :: k2 -> k3 -> k4 -> k5 -> k6 -> k7 -> k1 -> k_last). (forall (a1 :: k2) (a2 :: k3) (a3 :: k4) (a4 :: k5) (a5 :: k6) (a6 :: k7) (a7 :: k1). (Data.Singletons.Internal.SingI a1, Data.Singletons.Internal.SingI a2, Data.Singletons.Internal.SingI a3, Data.Singletons.Internal.SingI a4, Data.Singletons.Internal.SingI a5, Data.Singletons.Internal.SingI a6, Data.Singletons.Internal.SingI a7) => Data.Singletons.Internal.SingI (f a1 a2 a3 a4 a5 a6 a7), Data.Singletons.Internal.ApplyTyCon GHC.Types.~ Data.Singletons.Internal.ApplyTyConAux1) => Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon7 f)
instance forall k1 k_last k2 k3 k4 k5 k6 k7 k8 (f :: k2 -> k3 -> k4 -> k5 -> k6 -> k7 -> k8 -> k1 -> k_last). (forall (a1 :: k2) (a2 :: k3) (a3 :: k4) (a4 :: k5) (a5 :: k6) (a6 :: k7) (a7 :: k8) (a8 :: k1). (Data.Singletons.Internal.SingI a1, Data.Singletons.Internal.SingI a2, Data.Singletons.Internal.SingI a3, Data.Singletons.Internal.SingI a4, Data.Singletons.Internal.SingI a5, Data.Singletons.Internal.SingI a6, Data.Singletons.Internal.SingI a7, Data.Singletons.Internal.SingI a8) => Data.Singletons.Internal.SingI (f a1 a2 a3 a4 a5 a6 a7 a8), Data.Singletons.Internal.ApplyTyCon GHC.Types.~ Data.Singletons.Internal.ApplyTyConAux1) => Data.Singletons.Internal.SingI (Data.Singletons.Internal.TyCon8 f)
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 => 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.ShowSing.ShowSing k => GHC.Show.Show (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>, <a>TestEquality</a>, and
--   <a>TestCoercion</a> for each type in the list.
singDecideInstances :: DsMonad q => [Name] -> q [Dec]

-- | Create instance of <tt>SDecide</tt>, <a>TestEquality</a>, and
--   <a>TestCoercion</a> 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]

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

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

-- | Create an instance for <tt><tt>SingI</tt> TyCon{N}</tt>, where
--   <tt>N</tt> is the positive number provided as an argument.
--   
--   Note that the generated code requires the use of the
--   <tt>QuantifiedConstraints</tt> language extension.
singITyConInstances :: DsMonad q => [Int] -> q [Dec]

-- | Create an instance for <tt><tt>SingI</tt> TyCon{N}</tt>, where
--   <tt>N</tt> is the positive number provided as an argument.
--   
--   Note that the generated code requires the use of the
--   <tt>QuantifiedConstraints</tt> language extension.
singITyConInstance :: DsMonad q => Int -> 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
data SBool :: Bool -> Type
[SFalse] :: SBool 'False
[STrue] :: SBool 'True
data STuple0 :: () -> Type
[STuple0] :: STuple0 '()
data STuple2 :: forall a_11 b_12. (a_11, b_12) -> Type
[STuple2] :: forall a_11 b_12 (n_a1gmB :: a_11) (n_a1gmC :: b_12). () => Sing (n_a1gmB :: a_11) -> Sing (n_a1gmC :: b_12) -> STuple2 '(n_a1gmB, n_a1gmC)
data STuple3 :: forall a_11 b_12 c_13. (a_11, b_12, c_13) -> Type
[STuple3] :: forall a_11 b_12 c_13 (n_a1gn8 :: a_11) (n_a1gn9 :: b_12) (n_a1gna :: c_13). () => Sing (n_a1gn8 :: a_11) -> Sing (n_a1gn9 :: b_12) -> Sing (n_a1gna :: c_13) -> STuple3 '(n_a1gn8, n_a1gn9, n_a1gna)
data STuple4 :: forall a_11 b_12 c_13 d_14. (a_11, b_12, c_13, d_14) -> Type
[STuple4] :: forall a_11 b_12 c_13 d_14 (n_a1gnV :: a_11) (n_a1gnW :: b_12) (n_a1gnX :: c_13) (n_a1gnY :: d_14). () => Sing (n_a1gnV :: a_11) -> Sing (n_a1gnW :: b_12) -> Sing (n_a1gnX :: c_13) -> Sing (n_a1gnY :: d_14) -> STuple4 '(n_a1gnV, n_a1gnW, n_a1gnX, n_a1gnY)
data STuple5 :: forall a_11 b_12 c_13 d_14 e_15. (a_11, b_12, c_13, d_14, e_15) -> Type
[STuple5] :: forall a_11 b_12 c_13 d_14 e_15 (n_a1gp0 :: a_11) (n_a1gp1 :: b_12) (n_a1gp2 :: c_13) (n_a1gp3 :: d_14) (n_a1gp4 :: e_15). () => Sing (n_a1gp0 :: a_11) -> Sing (n_a1gp1 :: b_12) -> Sing (n_a1gp2 :: c_13) -> Sing (n_a1gp3 :: d_14) -> Sing (n_a1gp4 :: e_15) -> STuple5 '(n_a1gp0, n_a1gp1, n_a1gp2, n_a1gp3, n_a1gp4)
data STuple6 :: forall a_11 b_12 c_13 d_14 e_15 f_16. (a_11, b_12, c_13, d_14, e_15, f_16) -> Type
[STuple6] :: forall a_11 b_12 c_13 d_14 e_15 f_16 (n_a1gqp :: a_11) (n_a1gqq :: b_12) (n_a1gqr :: c_13) (n_a1gqs :: d_14) (n_a1gqt :: e_15) (n_a1gqu :: f_16). () => Sing (n_a1gqp :: a_11) -> Sing (n_a1gqq :: b_12) -> Sing (n_a1gqr :: c_13) -> Sing (n_a1gqs :: d_14) -> Sing (n_a1gqt :: e_15) -> Sing (n_a1gqu :: f_16) -> STuple6 '(n_a1gqp, n_a1gqq, n_a1gqr, n_a1gqs, n_a1gqt, n_a1gqu)
data STuple7 :: forall a_11 b_12 c_13 d_14 e_15 f_16 g_17. (a_11, b_12, c_13, d_14, e_15, f_16, g_17) -> Type
[STuple7] :: forall a_11 b_12 c_13 d_14 e_15 f_16 g_17 (n_a1gsa :: a_11) (n_a1gsb :: b_12) (n_a1gsc :: c_13) (n_a1gsd :: d_14) (n_a1gse :: e_15) (n_a1gsf :: f_16) (n_a1gsg :: g_17). () => Sing (n_a1gsa :: a_11) -> Sing (n_a1gsb :: b_12) -> Sing (n_a1gsc :: c_13) -> Sing (n_a1gsd :: d_14) -> Sing (n_a1gse :: e_15) -> Sing (n_a1gsf :: f_16) -> Sing (n_a1gsg :: g_17) -> STuple7 '(n_a1gsa, n_a1gsb, n_a1gsc, n_a1gsd, n_a1gse, n_a1gsf, n_a1gsg)
data SOrdering :: Ordering -> Type
[SLT] :: SOrdering 'LT
[SEQ] :: SOrdering 'EQ
[SGT] :: SOrdering 'GT

-- | The promoted analogue of <a>Eq</a>. If you supply no definition for
--   <a>(==)</a>, 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 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 family (a :: Bool) && (b :: Bool) :: Bool

-- | 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
--   <a>(%==)</a>. You may also supply a body for <a>(%/=)</a>.
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 POrd (a_a1AQq :: Type) where {
    type family Compare (arg_a1ARR :: a_a1AQq) (arg_a1ARS :: a_a1AQq) :: Ordering;
    type family (<) (arg_a1ARV :: a_a1AQq) (arg_a1ARW :: a_a1AQq) :: Bool;
    type family (<=) (arg_a1ARZ :: a_a1AQq) (arg_a1AS0 :: a_a1AQq) :: Bool;
    type family (>) (arg_a1AS3 :: a_a1AQq) (arg_a1AS4 :: a_a1AQq) :: Bool;
    type family (>=) (arg_a1AS7 :: a_a1AQq) (arg_a1AS8 :: a_a1AQq) :: Bool;
    type family Max (arg_a1ASb :: a_a1AQq) (arg_a1ASc :: a_a1AQq) :: a_a1AQq;
    type family Min (arg_a1ASf :: a_a1AQq) (arg_a1ASg :: a_a1AQq) :: a_a1AQq;
    type Compare a_a1ASj a_a1ASk = Apply (Apply Compare_6989586621679389873Sym0 a_a1ASj) a_a1ASk;
    type (<) a_a1ASH a_a1ASI = Apply (Apply TFHelper_6989586621679389897Sym0 a_a1ASH) a_a1ASI;
    type (<=) a_a1ASZ a_a1AT0 = Apply (Apply TFHelper_6989586621679389915Sym0 a_a1ASZ) a_a1AT0;
    type (>) a_a1ATh a_a1ATi = Apply (Apply TFHelper_6989586621679389933Sym0 a_a1ATh) a_a1ATi;
    type (>=) a_a1ATz a_a1ATA = Apply (Apply TFHelper_6989586621679389951Sym0 a_a1ATz) a_a1ATA;
    type Max a_a1ATR a_a1ATS = Apply (Apply Max_6989586621679389969Sym0 a_a1ATR) a_a1ATS;
    type Min a_a1AU9 a_a1AUa = Apply (Apply Min_6989586621679389987Sym0 a_a1AU9) a_a1AUa;
}
infix 4 >=
infix 4 <
infix 4 <=
infix 4 >
class SEq a_a1AQq => SOrd a_a1AQq
sCompare :: forall (t_a1AUA :: a_a1AQq) (t_a1AUB :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUA -> Sing t_a1AUB -> Sing (Apply (Apply CompareSym0 t_a1AUA) t_a1AUB :: Ordering)
(%<) :: forall (t_a1AUE :: a_a1AQq) (t_a1AUF :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUE -> Sing t_a1AUF -> Sing (Apply (Apply (<@#@$) t_a1AUE) t_a1AUF :: Bool)
(%<=) :: forall (t_a1AUI :: a_a1AQq) (t_a1AUJ :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUI -> Sing t_a1AUJ -> Sing (Apply (Apply (<=@#@$) t_a1AUI) t_a1AUJ :: Bool)
(%>) :: forall (t_a1AUM :: a_a1AQq) (t_a1AUN :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUM -> Sing t_a1AUN -> Sing (Apply (Apply (>@#@$) t_a1AUM) t_a1AUN :: Bool)
(%>=) :: forall (t_a1AUQ :: a_a1AQq) (t_a1AUR :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUQ -> Sing t_a1AUR -> Sing (Apply (Apply (>=@#@$) t_a1AUQ) t_a1AUR :: Bool)
sMax :: forall (t_a1AUU :: a_a1AQq) (t_a1AUV :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUU -> Sing t_a1AUV -> Sing (Apply (Apply MaxSym0 t_a1AUU) t_a1AUV :: a_a1AQq)
sMin :: forall (t_a1AUY :: a_a1AQq) (t_a1AUZ :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUY -> Sing t_a1AUZ -> Sing (Apply (Apply MinSym0 t_a1AUY) t_a1AUZ :: a_a1AQq)
sCompare :: forall (t_a1AUA :: a_a1AQq) (t_a1AUB :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply CompareSym0 t_a1AUA) t_a1AUB :: Ordering) ~ Apply (Apply Compare_6989586621679389873Sym0 t_a1AUA) t_a1AUB) => Sing t_a1AUA -> Sing t_a1AUB -> Sing (Apply (Apply CompareSym0 t_a1AUA) t_a1AUB :: Ordering)
(%<) :: forall (t_a1AUE :: a_a1AQq) (t_a1AUF :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply (<@#@$) t_a1AUE) t_a1AUF :: Bool) ~ Apply (Apply TFHelper_6989586621679389897Sym0 t_a1AUE) t_a1AUF) => Sing t_a1AUE -> Sing t_a1AUF -> Sing (Apply (Apply (<@#@$) t_a1AUE) t_a1AUF :: Bool)
(%<=) :: forall (t_a1AUI :: a_a1AQq) (t_a1AUJ :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply (<=@#@$) t_a1AUI) t_a1AUJ :: Bool) ~ Apply (Apply TFHelper_6989586621679389915Sym0 t_a1AUI) t_a1AUJ) => Sing t_a1AUI -> Sing t_a1AUJ -> Sing (Apply (Apply (<=@#@$) t_a1AUI) t_a1AUJ :: Bool)
(%>) :: forall (t_a1AUM :: a_a1AQq) (t_a1AUN :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply (>@#@$) t_a1AUM) t_a1AUN :: Bool) ~ Apply (Apply TFHelper_6989586621679389933Sym0 t_a1AUM) t_a1AUN) => Sing t_a1AUM -> Sing t_a1AUN -> Sing (Apply (Apply (>@#@$) t_a1AUM) t_a1AUN :: Bool)
(%>=) :: forall (t_a1AUQ :: a_a1AQq) (t_a1AUR :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply (>=@#@$) t_a1AUQ) t_a1AUR :: Bool) ~ Apply (Apply TFHelper_6989586621679389951Sym0 t_a1AUQ) t_a1AUR) => Sing t_a1AUQ -> Sing t_a1AUR -> Sing (Apply (Apply (>=@#@$) t_a1AUQ) t_a1AUR :: Bool)
sMax :: forall (t_a1AUU :: a_a1AQq) (t_a1AUV :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply MaxSym0 t_a1AUU) t_a1AUV :: a_a1AQq) ~ Apply (Apply Max_6989586621679389969Sym0 t_a1AUU) t_a1AUV) => Sing t_a1AUU -> Sing t_a1AUV -> Sing (Apply (Apply MaxSym0 t_a1AUU) t_a1AUV :: a_a1AQq)
sMin :: forall (t_a1AUY :: a_a1AQq) (t_a1AUZ :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply MinSym0 t_a1AUY) t_a1AUZ :: a_a1AQq) ~ Apply (Apply Min_6989586621679389987Sym0 t_a1AUY) t_a1AUZ) => Sing t_a1AUY -> Sing t_a1AUZ -> Sing (Apply (Apply MinSym0 t_a1AUY) t_a1AUZ :: a_a1AQq)
infix 4 %<=
infix 4 %>=
infix 4 %>
infix 4 %<
type family ThenCmp (a_a1DyH :: Ordering) (a_a1DyI :: Ordering) :: Ordering
sThenCmp :: forall (t_a1DyM :: Ordering) (t_a1DyN :: Ordering). Sing t_a1DyM -> Sing t_a1DyN -> Sing (Apply (Apply ThenCmpSym0 t_a1DyM) t_a1DyN :: 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 %~
data (a :: k) :~: (b :: k)
[Refl] :: forall k (a :: k). a :~: a
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_a38Xi :: Type) where {
    type family MinBound :: a_a38Xi;
    type family MaxBound :: a_a38Xi;
}
class SBounded a_a38Xi
sMinBound :: SBounded a_a38Xi => Sing (MinBoundSym0 :: a_a38Xi)
sMaxBound :: SBounded a_a38Xi => Sing (MaxBoundSym0 :: a_a38Xi)
class PEnum (a_a39Z7 :: Type) where {
    type family ToEnum (arg_a3a3L :: Nat) :: a_a39Z7;
    type family FromEnum (arg_a3a3N :: a_a39Z7) :: Nat;
    type Succ a_a3a3Z = Apply Succ_6989586621679763464Sym0 a_a3a3Z;
    type Pred a_a3a4e = Apply Pred_6989586621679763479Sym0 a_a3a4e;
    type EnumFromTo a_a3a4n a_a3a4o = Apply (Apply EnumFromTo_6989586621679763489Sym0 a_a3a4n) a_a3a4o;
    type EnumFromThenTo a_a3a4z a_a3a4A a_a3a4B = Apply (Apply (Apply EnumFromThenTo_6989586621679763502Sym0 a_a3a4z) a_a3a4A) a_a3a4B;
}
class SEnum a_a39Z7
sToEnum :: forall (t_a3a6J :: Nat). SEnum a_a39Z7 => Sing t_a3a6J -> Sing (Apply ToEnumSym0 t_a3a6J :: a_a39Z7)
sFromEnum :: forall (t_a3a6L :: a_a39Z7). SEnum a_a39Z7 => Sing t_a3a6L -> Sing (Apply FromEnumSym0 t_a3a6L :: Nat)
class PShow (a_a5nez :: Type) where {
    type family ShowsPrec (arg_a5nlD :: Nat) (arg_a5nlE :: a_a5nez) (arg_a5nlF :: Symbol) :: Symbol;
    type family Show_ (arg_a5nlJ :: a_a5nez) :: Symbol;
    type family ShowList (arg_a5nlL :: [a_a5nez]) (arg_a5nlM :: Symbol) :: Symbol;
    type ShowsPrec a_a5nlP a_a5nlQ a_a5nlR = Apply (Apply (Apply ShowsPrec_6989586621680291200Sym0 a_a5nlP) a_a5nlQ) a_a5nlR;
    type Show_ a_a5nm5 = Apply Show__6989586621680291214Sym0 a_a5nm5;
    type ShowList a_a5nmc a_a5nmd = Apply (Apply ShowList_6989586621680291222Sym0 a_a5nmc) a_a5nmd;
}
class SShow a_a5nez
sShowsPrec :: forall (t_a5npM :: Nat) (t_a5npN :: a_a5nez) (t_a5npO :: Symbol). SShow a_a5nez => Sing t_a5npM -> Sing t_a5npN -> Sing t_a5npO -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5npM) t_a5npN) t_a5npO :: Symbol)
sShow_ :: forall (t_a5npS :: a_a5nez). SShow a_a5nez => Sing t_a5npS -> Sing (Apply Show_Sym0 t_a5npS :: Symbol)
sShowList :: forall (t_a5npU :: [a_a5nez]) (t_a5npV :: Symbol). SShow a_a5nez => Sing t_a5npU -> Sing t_a5npV -> Sing (Apply (Apply ShowListSym0 t_a5npU) t_a5npV :: Symbol)
sShowsPrec :: forall (t_a5npM :: Nat) (t_a5npN :: a_a5nez) (t_a5npO :: Symbol). (SShow a_a5nez, (Apply (Apply (Apply ShowsPrecSym0 t_a5npM) t_a5npN) t_a5npO :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621680291200Sym0 t_a5npM) t_a5npN) t_a5npO) => Sing t_a5npM -> Sing t_a5npN -> Sing t_a5npO -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5npM) t_a5npN) t_a5npO :: Symbol)
sShow_ :: forall (t_a5npS :: a_a5nez). (SShow a_a5nez, (Apply Show_Sym0 t_a5npS :: Symbol) ~ Apply Show__6989586621680291214Sym0 t_a5npS) => Sing t_a5npS -> Sing (Apply Show_Sym0 t_a5npS :: Symbol)
sShowList :: forall (t_a5npU :: [a_a5nez]) (t_a5npV :: Symbol). (SShow a_a5nez, (Apply (Apply ShowListSym0 t_a5npU) t_a5npV :: Symbol) ~ Apply (Apply ShowList_6989586621680291222Sym0 t_a5npU) t_a5npV) => Sing t_a5npU -> Sing t_a5npV -> Sing (Apply (Apply ShowListSym0 t_a5npU) t_a5npV :: Symbol)
type family ShowString (a_a5nkV :: Symbol) (a_a5nkW :: Symbol) :: Symbol
sShowString :: forall (t_a5np9 :: Symbol) (t_a5npa :: Symbol). Sing t_a5np9 -> Sing t_a5npa -> Sing (Apply (Apply ShowStringSym0 t_a5np9) t_a5npa :: Symbol)
type family ShowParen (a_a5nkD :: Bool) (a_a5nkE :: (~>) Symbol Symbol) (a_a5nkF :: Symbol) :: Symbol
sShowParen :: forall (t_a5np3 :: Bool) (t_a5np4 :: (~>) Symbol Symbol) (t_a5np5 :: Symbol). Sing t_a5np3 -> Sing t_a5np4 -> Sing t_a5np5 -> Sing (Apply (Apply (Apply ShowParenSym0 t_a5np3) t_a5np4) t_a5np5 :: Symbol)
type family ShowSpace (a_a5nku :: Symbol) :: Symbol
sShowSpace :: forall (t_a5np1 :: Symbol). Sing t_a5np1 -> Sing (Apply ShowSpaceSym0 t_a5np1 :: Symbol)
type family ShowChar (a_a5nl5 :: Symbol) (a_a5nl6 :: Symbol) :: Symbol
sShowChar :: forall (t_a5npd :: Symbol) (t_a5npe :: Symbol). Sing t_a5npd -> Sing t_a5npe -> Sing (Apply (Apply ShowCharSym0 t_a5npd) t_a5npe :: Symbol)
type family ShowCommaSpace (a_a5nkp :: Symbol) :: Symbol
sShowCommaSpace :: forall (t_a5noZ :: Symbol). Sing t_a5noZ -> Sing (Apply ShowCommaSpaceSym0 t_a5noZ :: Symbol)
class PFunctor (f_a2kWl :: Type -> Type) where {
    type family Fmap (arg_a2l2F :: (~>) a_a2kWm b_a2kWn) (arg_a2l2G :: f_a2kWl a_a2kWm) :: f_a2kWl b_a2kWn;
    type family (<$) (arg_a2l2J :: a_a2kWo) (arg_a2l2K :: f_a2kWl b_a2kWp) :: f_a2kWl a_a2kWo;
    type (<$) a_a2l2N a_a2l2O = Apply (Apply TFHelper_6989586621679567347Sym0 a_a2l2N) a_a2l2O;
}
infixl 4 <$
class SFunctor (f_a2kWl :: Type -> Type)
sFmap :: forall a_a2kWm b_a2kWn (t_a2l6X :: (~>) a_a2kWm b_a2kWn) (t_a2l6Y :: f_a2kWl a_a2kWm). SFunctor f_a2kWl => Sing t_a2l6X -> Sing t_a2l6Y -> Sing (Apply (Apply FmapSym0 t_a2l6X) t_a2l6Y :: f_a2kWl b_a2kWn)
(%<$) :: forall a_a2kWo b_a2kWp (t_a2l71 :: a_a2kWo) (t_a2l72 :: f_a2kWl b_a2kWp). SFunctor f_a2kWl => Sing t_a2l71 -> Sing t_a2l72 -> Sing (Apply (Apply (<$@#@$) t_a2l71) t_a2l72 :: f_a2kWl a_a2kWo)
(%<$) :: forall a_a2kWo b_a2kWp (t_a2l71 :: a_a2kWo) (t_a2l72 :: f_a2kWl b_a2kWp). (SFunctor f_a2kWl, (Apply (Apply (<$@#@$) t_a2l71) t_a2l72 :: f_a2kWl a_a2kWo) ~ Apply (Apply TFHelper_6989586621679567347Sym0 t_a2l71) t_a2l72) => Sing t_a2l71 -> Sing t_a2l72 -> Sing (Apply (Apply (<$@#@$) t_a2l71) t_a2l72 :: f_a2kWl a_a2kWo)
infixl 4 %<$
class PFoldable (t_a6cbW :: Type -> Type) where {
    type family Fold (arg_a6clV :: t_a6cbW m_a6cbX) :: m_a6cbX;
    type family FoldMap (arg_a6clX :: (~>) a_a6cbZ m_a6cbY) (arg_a6clY :: t_a6cbW a_a6cbZ) :: m_a6cbY;
    type family Foldr (arg_a6cm1 :: (~>) a_a6cc0 ((~>) b_a6cc1 b_a6cc1)) (arg_a6cm2 :: b_a6cc1) (arg_a6cm3 :: t_a6cbW a_a6cc0) :: b_a6cc1;
    type family Foldr' (arg_a6cm7 :: (~>) a_a6cc2 ((~>) b_a6cc3 b_a6cc3)) (arg_a6cm8 :: b_a6cc3) (arg_a6cm9 :: t_a6cbW a_a6cc2) :: b_a6cc3;
    type family Foldl (arg_a6cmd :: (~>) b_a6cc4 ((~>) a_a6cc5 b_a6cc4)) (arg_a6cme :: b_a6cc4) (arg_a6cmf :: t_a6cbW a_a6cc5) :: b_a6cc4;
    type family Foldl' (arg_a6cmj :: (~>) b_a6cc6 ((~>) a_a6cc7 b_a6cc6)) (arg_a6cmk :: b_a6cc6) (arg_a6cml :: t_a6cbW a_a6cc7) :: b_a6cc6;
    type family Foldr1 (arg_a6cmp :: (~>) a_a6cc8 ((~>) a_a6cc8 a_a6cc8)) (arg_a6cmq :: t_a6cbW a_a6cc8) :: a_a6cc8;
    type family Foldl1 (arg_a6cmt :: (~>) a_a6cc9 ((~>) a_a6cc9 a_a6cc9)) (arg_a6cmu :: t_a6cbW a_a6cc9) :: a_a6cc9;
    type family ToList (arg_a6cmx :: t_a6cbW a_a6cca) :: [a_a6cca];
    type family Null (arg_a6cmz :: t_a6cbW a_a6ccb) :: Bool;
    type family Length (arg_a6cmB :: t_a6cbW a_a6ccc) :: Nat;
    type family Elem (arg_a6cmD :: a_a6ccd) (arg_a6cmE :: t_a6cbW a_a6ccd) :: Bool;
    type family Maximum (arg_a6cmH :: t_a6cbW a_a6cce) :: a_a6cce;
    type family Minimum (arg_a6cmJ :: t_a6cbW a_a6ccf) :: a_a6ccf;
    type family Sum (arg_a6cmL :: t_a6cbW a_a6ccg) :: a_a6ccg;
    type family Product (arg_a6cmN :: t_a6cbW a_a6cch) :: a_a6cch;
    type Fold a_a6cmP = Apply Fold_6989586621680487304Sym0 a_a6cmP;
    type FoldMap a_a6cmY a_a6cmZ = Apply (Apply FoldMap_6989586621680487314Sym0 a_a6cmY) a_a6cmZ;
    type Foldr a_a6cnc a_a6cnd a_a6cne = Apply (Apply (Apply Foldr_6989586621680487329Sym0 a_a6cnc) a_a6cnd) a_a6cne;
    type Foldr' a_a6cnB a_a6cnC a_a6cnD = Apply (Apply (Apply Foldr'_6989586621680487354Sym0 a_a6cnB) a_a6cnC) a_a6cnD;
    type Foldl a_a6co5 a_a6co6 a_a6co7 = Apply (Apply (Apply Foldl_6989586621680487384Sym0 a_a6co5) a_a6co6) a_a6co7;
    type Foldl' a_a6cou a_a6cov a_a6cow = Apply (Apply (Apply Foldl'_6989586621680487409Sym0 a_a6cou) a_a6cov) a_a6cow;
    type Foldr1 a_a6coY a_a6coZ = Apply (Apply Foldr1_6989586621680487438Sym0 a_a6coY) a_a6coZ;
    type Foldl1 a_a6cpn a_a6cpo = Apply (Apply Foldl1_6989586621680487463Sym0 a_a6cpn) a_a6cpo;
    type ToList a_a6cpM = Apply ToList_6989586621680487487Sym0 a_a6cpM;
    type Null a_a6cpV = Apply Null_6989586621680487496Sym0 a_a6cpV;
    type Length a_a6cqg = Apply Length_6989586621680487517Sym0 a_a6cqg;
    type Elem a_a6cqC a_a6cqD = Apply (Apply Elem_6989586621680487540Sym0 a_a6cqC) a_a6cqD;
    type Maximum a_a6cqS = Apply Maximum_6989586621680487555Sym0 a_a6cqS;
    type Minimum a_a6cr5 = Apply Minimum_6989586621680487568Sym0 a_a6cr5;
    type Sum a_a6cri = Apply Sum_6989586621680487581Sym0 a_a6cri;
    type Product a_a6crv = Apply Product_6989586621680487594Sym0 a_a6crv;
}
class SFoldable (t_a6cbW :: Type -> Type)
sFold :: forall m_a6cbX (t_a6cHN :: t_a6cbW m_a6cbX). (SFoldable t_a6cbW, SMonoid m_a6cbX) => Sing t_a6cHN -> Sing (Apply FoldSym0 t_a6cHN :: m_a6cbX)
sFoldMap :: forall a_a6cbZ m_a6cbY (t_a6cHP :: (~>) a_a6cbZ m_a6cbY) (t_a6cHQ :: t_a6cbW a_a6cbZ). (SFoldable t_a6cbW, SMonoid m_a6cbY) => Sing t_a6cHP -> Sing t_a6cHQ -> Sing (Apply (Apply FoldMapSym0 t_a6cHP) t_a6cHQ :: m_a6cbY)
sFoldr :: forall a_a6cc0 b_a6cc1 (t_a6cHT :: (~>) a_a6cc0 ((~>) b_a6cc1 b_a6cc1)) (t_a6cHU :: b_a6cc1) (t_a6cHV :: t_a6cbW a_a6cc0). SFoldable t_a6cbW => Sing t_a6cHT -> Sing t_a6cHU -> Sing t_a6cHV -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cHT) t_a6cHU) t_a6cHV :: b_a6cc1)
sFoldr' :: forall a_a6cc2 b_a6cc3 (t_a6cHZ :: (~>) a_a6cc2 ((~>) b_a6cc3 b_a6cc3)) (t_a6cI0 :: b_a6cc3) (t_a6cI1 :: t_a6cbW a_a6cc2). SFoldable t_a6cbW => Sing t_a6cHZ -> Sing t_a6cI0 -> Sing t_a6cI1 -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a6cHZ) t_a6cI0) t_a6cI1 :: b_a6cc3)
sFoldl :: forall b_a6cc4 a_a6cc5 (t_a6cI5 :: (~>) b_a6cc4 ((~>) a_a6cc5 b_a6cc4)) (t_a6cI6 :: b_a6cc4) (t_a6cI7 :: t_a6cbW a_a6cc5). SFoldable t_a6cbW => Sing t_a6cI5 -> Sing t_a6cI6 -> Sing t_a6cI7 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cI5) t_a6cI6) t_a6cI7 :: b_a6cc4)
sFoldl' :: forall b_a6cc6 a_a6cc7 (t_a6cIb :: (~>) b_a6cc6 ((~>) a_a6cc7 b_a6cc6)) (t_a6cIc :: b_a6cc6) (t_a6cId :: t_a6cbW a_a6cc7). SFoldable t_a6cbW => Sing t_a6cIb -> Sing t_a6cIc -> Sing t_a6cId -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6cIb) t_a6cIc) t_a6cId :: b_a6cc6)
sFoldr1 :: forall a_a6cc8 (t_a6cIh :: (~>) a_a6cc8 ((~>) a_a6cc8 a_a6cc8)) (t_a6cIi :: t_a6cbW a_a6cc8). SFoldable t_a6cbW => Sing t_a6cIh -> Sing t_a6cIi -> Sing (Apply (Apply Foldr1Sym0 t_a6cIh) t_a6cIi :: a_a6cc8)
sFoldl1 :: forall a_a6cc9 (t_a6cIl :: (~>) a_a6cc9 ((~>) a_a6cc9 a_a6cc9)) (t_a6cIm :: t_a6cbW a_a6cc9). SFoldable t_a6cbW => Sing t_a6cIl -> Sing t_a6cIm -> Sing (Apply (Apply Foldl1Sym0 t_a6cIl) t_a6cIm :: a_a6cc9)
sToList :: forall a_a6cca (t_a6cIp :: t_a6cbW a_a6cca). SFoldable t_a6cbW => Sing t_a6cIp -> Sing (Apply ToListSym0 t_a6cIp :: [a_a6cca])
sNull :: forall a_a6ccb (t_a6cIr :: t_a6cbW a_a6ccb). SFoldable t_a6cbW => Sing t_a6cIr -> Sing (Apply NullSym0 t_a6cIr :: Bool)
sLength :: forall a_a6ccc (t_a6cIt :: t_a6cbW a_a6ccc). SFoldable t_a6cbW => Sing t_a6cIt -> Sing (Apply LengthSym0 t_a6cIt :: Nat)
sElem :: forall a_a6ccd (t_a6cIv :: a_a6ccd) (t_a6cIw :: t_a6cbW a_a6ccd). (SFoldable t_a6cbW, SEq a_a6ccd) => Sing t_a6cIv -> Sing t_a6cIw -> Sing (Apply (Apply ElemSym0 t_a6cIv) t_a6cIw :: Bool)
sMaximum :: forall a_a6cce (t_a6cIz :: t_a6cbW a_a6cce). (SFoldable t_a6cbW, SOrd a_a6cce) => Sing t_a6cIz -> Sing (Apply MaximumSym0 t_a6cIz :: a_a6cce)
sMinimum :: forall a_a6ccf (t_a6cIB :: t_a6cbW a_a6ccf). (SFoldable t_a6cbW, SOrd a_a6ccf) => Sing t_a6cIB -> Sing (Apply MinimumSym0 t_a6cIB :: a_a6ccf)
sSum :: forall a_a6ccg (t_a6cID :: t_a6cbW a_a6ccg). (SFoldable t_a6cbW, SNum a_a6ccg) => Sing t_a6cID -> Sing (Apply SumSym0 t_a6cID :: a_a6ccg)
sProduct :: forall a_a6cch (t_a6cIF :: t_a6cbW a_a6cch). (SFoldable t_a6cbW, SNum a_a6cch) => Sing t_a6cIF -> Sing (Apply ProductSym0 t_a6cIF :: a_a6cch)
sFold :: forall m_a6cbX (t_a6cHN :: t_a6cbW m_a6cbX). (SFoldable t_a6cbW, (Apply FoldSym0 t_a6cHN :: m_a6cbX) ~ Apply Fold_6989586621680487304Sym0 t_a6cHN, SMonoid m_a6cbX) => Sing t_a6cHN -> Sing (Apply FoldSym0 t_a6cHN :: m_a6cbX)
sFoldMap :: forall a_a6cbZ m_a6cbY (t_a6cHP :: (~>) a_a6cbZ m_a6cbY) (t_a6cHQ :: t_a6cbW a_a6cbZ). (SFoldable t_a6cbW, (Apply (Apply FoldMapSym0 t_a6cHP) t_a6cHQ :: m_a6cbY) ~ Apply (Apply FoldMap_6989586621680487314Sym0 t_a6cHP) t_a6cHQ, SMonoid m_a6cbY) => Sing t_a6cHP -> Sing t_a6cHQ -> Sing (Apply (Apply FoldMapSym0 t_a6cHP) t_a6cHQ :: m_a6cbY)
sFoldr :: forall a_a6cc0 b_a6cc1 (t_a6cHT :: (~>) a_a6cc0 ((~>) b_a6cc1 b_a6cc1)) (t_a6cHU :: b_a6cc1) (t_a6cHV :: t_a6cbW a_a6cc0). (SFoldable t_a6cbW, (Apply (Apply (Apply FoldrSym0 t_a6cHT) t_a6cHU) t_a6cHV :: b_a6cc1) ~ Apply (Apply (Apply Foldr_6989586621680487329Sym0 t_a6cHT) t_a6cHU) t_a6cHV) => Sing t_a6cHT -> Sing t_a6cHU -> Sing t_a6cHV -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cHT) t_a6cHU) t_a6cHV :: b_a6cc1)
sFoldr' :: forall a_a6cc2 b_a6cc3 (t_a6cHZ :: (~>) a_a6cc2 ((~>) b_a6cc3 b_a6cc3)) (t_a6cI0 :: b_a6cc3) (t_a6cI1 :: t_a6cbW a_a6cc2). (SFoldable t_a6cbW, (Apply (Apply (Apply Foldr'Sym0 t_a6cHZ) t_a6cI0) t_a6cI1 :: b_a6cc3) ~ Apply (Apply (Apply Foldr'_6989586621680487354Sym0 t_a6cHZ) t_a6cI0) t_a6cI1) => Sing t_a6cHZ -> Sing t_a6cI0 -> Sing t_a6cI1 -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a6cHZ) t_a6cI0) t_a6cI1 :: b_a6cc3)
sFoldl :: forall b_a6cc4 a_a6cc5 (t_a6cI5 :: (~>) b_a6cc4 ((~>) a_a6cc5 b_a6cc4)) (t_a6cI6 :: b_a6cc4) (t_a6cI7 :: t_a6cbW a_a6cc5). (SFoldable t_a6cbW, (Apply (Apply (Apply FoldlSym0 t_a6cI5) t_a6cI6) t_a6cI7 :: b_a6cc4) ~ Apply (Apply (Apply Foldl_6989586621680487384Sym0 t_a6cI5) t_a6cI6) t_a6cI7) => Sing t_a6cI5 -> Sing t_a6cI6 -> Sing t_a6cI7 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cI5) t_a6cI6) t_a6cI7 :: b_a6cc4)
sFoldl' :: forall b_a6cc6 a_a6cc7 (t_a6cIb :: (~>) b_a6cc6 ((~>) a_a6cc7 b_a6cc6)) (t_a6cIc :: b_a6cc6) (t_a6cId :: t_a6cbW a_a6cc7). (SFoldable t_a6cbW, (Apply (Apply (Apply Foldl'Sym0 t_a6cIb) t_a6cIc) t_a6cId :: b_a6cc6) ~ Apply (Apply (Apply Foldl'_6989586621680487409Sym0 t_a6cIb) t_a6cIc) t_a6cId) => Sing t_a6cIb -> Sing t_a6cIc -> Sing t_a6cId -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6cIb) t_a6cIc) t_a6cId :: b_a6cc6)
sFoldr1 :: forall a_a6cc8 (t_a6cIh :: (~>) a_a6cc8 ((~>) a_a6cc8 a_a6cc8)) (t_a6cIi :: t_a6cbW a_a6cc8). (SFoldable t_a6cbW, (Apply (Apply Foldr1Sym0 t_a6cIh) t_a6cIi :: a_a6cc8) ~ Apply (Apply Foldr1_6989586621680487438Sym0 t_a6cIh) t_a6cIi) => Sing t_a6cIh -> Sing t_a6cIi -> Sing (Apply (Apply Foldr1Sym0 t_a6cIh) t_a6cIi :: a_a6cc8)
sFoldl1 :: forall a_a6cc9 (t_a6cIl :: (~>) a_a6cc9 ((~>) a_a6cc9 a_a6cc9)) (t_a6cIm :: t_a6cbW a_a6cc9). (SFoldable t_a6cbW, (Apply (Apply Foldl1Sym0 t_a6cIl) t_a6cIm :: a_a6cc9) ~ Apply (Apply Foldl1_6989586621680487463Sym0 t_a6cIl) t_a6cIm) => Sing t_a6cIl -> Sing t_a6cIm -> Sing (Apply (Apply Foldl1Sym0 t_a6cIl) t_a6cIm :: a_a6cc9)
sToList :: forall a_a6cca (t_a6cIp :: t_a6cbW a_a6cca). (SFoldable t_a6cbW, (Apply ToListSym0 t_a6cIp :: [a_a6cca]) ~ Apply ToList_6989586621680487487Sym0 t_a6cIp) => Sing t_a6cIp -> Sing (Apply ToListSym0 t_a6cIp :: [a_a6cca])
sNull :: forall a_a6ccb (t_a6cIr :: t_a6cbW a_a6ccb). (SFoldable t_a6cbW, (Apply NullSym0 t_a6cIr :: Bool) ~ Apply Null_6989586621680487496Sym0 t_a6cIr) => Sing t_a6cIr -> Sing (Apply NullSym0 t_a6cIr :: Bool)
sLength :: forall a_a6ccc (t_a6cIt :: t_a6cbW a_a6ccc). (SFoldable t_a6cbW, (Apply LengthSym0 t_a6cIt :: Nat) ~ Apply Length_6989586621680487517Sym0 t_a6cIt) => Sing t_a6cIt -> Sing (Apply LengthSym0 t_a6cIt :: Nat)
sElem :: forall a_a6ccd (t_a6cIv :: a_a6ccd) (t_a6cIw :: t_a6cbW a_a6ccd). (SFoldable t_a6cbW, (Apply (Apply ElemSym0 t_a6cIv) t_a6cIw :: Bool) ~ Apply (Apply Elem_6989586621680487540Sym0 t_a6cIv) t_a6cIw, SEq a_a6ccd) => Sing t_a6cIv -> Sing t_a6cIw -> Sing (Apply (Apply ElemSym0 t_a6cIv) t_a6cIw :: Bool)
sMaximum :: forall a_a6cce (t_a6cIz :: t_a6cbW a_a6cce). (SFoldable t_a6cbW, (Apply MaximumSym0 t_a6cIz :: a_a6cce) ~ Apply Maximum_6989586621680487555Sym0 t_a6cIz, SOrd a_a6cce) => Sing t_a6cIz -> Sing (Apply MaximumSym0 t_a6cIz :: a_a6cce)
sMinimum :: forall a_a6ccf (t_a6cIB :: t_a6cbW a_a6ccf). (SFoldable t_a6cbW, (Apply MinimumSym0 t_a6cIB :: a_a6ccf) ~ Apply Minimum_6989586621680487568Sym0 t_a6cIB, SOrd a_a6ccf) => Sing t_a6cIB -> Sing (Apply MinimumSym0 t_a6cIB :: a_a6ccf)
sSum :: forall a_a6ccg (t_a6cID :: t_a6cbW a_a6ccg). (SFoldable t_a6cbW, (Apply SumSym0 t_a6cID :: a_a6ccg) ~ Apply Sum_6989586621680487581Sym0 t_a6cID, SNum a_a6ccg) => Sing t_a6cID -> Sing (Apply SumSym0 t_a6cID :: a_a6ccg)
sProduct :: forall a_a6cch (t_a6cIF :: t_a6cbW a_a6cch). (SFoldable t_a6cbW, (Apply ProductSym0 t_a6cIF :: a_a6cch) ~ Apply Product_6989586621680487594Sym0 t_a6cIF, SNum a_a6cch) => Sing t_a6cIF -> Sing (Apply ProductSym0 t_a6cIF :: a_a6cch)
class PMonoid (a_a5Ftd :: Type) where {
    type family Mempty :: a_a5Ftd;
    type family Mappend (arg_a5Fvs :: a_a5Ftd) (arg_a5Fvt :: a_a5Ftd) :: a_a5Ftd;
    type family Mconcat (arg_a5Fvw :: [a_a5Ftd]) :: a_a5Ftd;
    type Mappend a_a5Fvy a_a5Fvz = Apply (Apply Mappend_6989586621680360994Sym0 a_a5Fvy) a_a5Fvz;
    type Mconcat a_a5FvO = Apply Mconcat_6989586621680361009Sym0 a_a5FvO;
}
class SSemigroup a_a5Ftd => SMonoid a_a5Ftd
sMempty :: SMonoid a_a5Ftd => Sing (MemptySym0 :: a_a5Ftd)
sMappend :: forall (t_a5FwM :: a_a5Ftd) (t_a5FwN :: a_a5Ftd). SMonoid a_a5Ftd => Sing t_a5FwM -> Sing t_a5FwN -> Sing (Apply (Apply MappendSym0 t_a5FwM) t_a5FwN :: a_a5Ftd)
sMconcat :: forall (t_a5FwQ :: [a_a5Ftd]). SMonoid a_a5Ftd => Sing t_a5FwQ -> Sing (Apply MconcatSym0 t_a5FwQ :: a_a5Ftd)
sMappend :: forall (t_a5FwM :: a_a5Ftd) (t_a5FwN :: a_a5Ftd). (SMonoid a_a5Ftd, (Apply (Apply MappendSym0 t_a5FwM) t_a5FwN :: a_a5Ftd) ~ Apply (Apply Mappend_6989586621680360994Sym0 t_a5FwM) t_a5FwN) => Sing t_a5FwM -> Sing t_a5FwN -> Sing (Apply (Apply MappendSym0 t_a5FwM) t_a5FwN :: a_a5Ftd)
sMconcat :: forall (t_a5FwQ :: [a_a5Ftd]). (SMonoid a_a5Ftd, (Apply MconcatSym0 t_a5FwQ :: a_a5Ftd) ~ Apply Mconcat_6989586621680361009Sym0 t_a5FwQ) => Sing t_a5FwQ -> Sing (Apply MconcatSym0 t_a5FwQ :: a_a5Ftd)
class PTraversable (t_a7umL :: Type -> Type) where {
    type family Traverse (arg_a7umX :: (~>) a_a7umN (f_a7umM b_a7umO)) (arg_a7umY :: t_a7umL a_a7umN) :: f_a7umM (t_a7umL b_a7umO);
    type family SequenceA (arg_a7un1 :: t_a7umL (f_a7umP a_a7umQ)) :: f_a7umP (t_a7umL a_a7umQ);
    type family MapM (arg_a7un3 :: (~>) a_a7umS (m_a7umR b_a7umT)) (arg_a7un4 :: t_a7umL a_a7umS) :: m_a7umR (t_a7umL b_a7umT);
    type family Sequence (arg_a7un7 :: t_a7umL (m_a7umU a_a7umV)) :: m_a7umU (t_a7umL a_a7umV);
    type Traverse a_a7un9 a_a7una = Apply (Apply Traverse_6989586621680794845Sym0 a_a7un9) a_a7una;
    type SequenceA a_a7unn = Apply SequenceA_6989586621680794858Sym0 a_a7unn;
    type MapM a_a7unw a_a7unx = Apply (Apply MapM_6989586621680794868Sym0 a_a7unw) a_a7unx;
    type Sequence a_a7unM = Apply Sequence_6989586621680794883Sym0 a_a7unM;
}
class (SFunctor t_a7umL, SFoldable t_a7umL) => STraversable (t_a7umL :: Type -> Type)
sTraverse :: forall a_a7umN f_a7umM b_a7umO (t_a7unV :: (~>) a_a7umN (f_a7umM b_a7umO)) (t_a7unW :: t_a7umL a_a7umN). (STraversable t_a7umL, SApplicative f_a7umM) => Sing t_a7unV -> Sing t_a7unW -> Sing (Apply (Apply TraverseSym0 t_a7unV) t_a7unW :: f_a7umM (t_a7umL b_a7umO))
sSequenceA :: forall f_a7umP a_a7umQ (t_a7unZ :: t_a7umL (f_a7umP a_a7umQ)). (STraversable t_a7umL, SApplicative f_a7umP) => Sing t_a7unZ -> Sing (Apply SequenceASym0 t_a7unZ :: f_a7umP (t_a7umL a_a7umQ))
sMapM :: forall a_a7umS m_a7umR b_a7umT (t_a7uo1 :: (~>) a_a7umS (m_a7umR b_a7umT)) (t_a7uo2 :: t_a7umL a_a7umS). (STraversable t_a7umL, SMonad m_a7umR) => Sing t_a7uo1 -> Sing t_a7uo2 -> Sing (Apply (Apply MapMSym0 t_a7uo1) t_a7uo2 :: m_a7umR (t_a7umL b_a7umT))
sSequence :: forall m_a7umU a_a7umV (t_a7uo5 :: t_a7umL (m_a7umU a_a7umV)). (STraversable t_a7umL, SMonad m_a7umU) => Sing t_a7uo5 -> Sing (Apply SequenceSym0 t_a7uo5 :: m_a7umU (t_a7umL a_a7umV))
sTraverse :: forall a_a7umN f_a7umM b_a7umO (t_a7unV :: (~>) a_a7umN (f_a7umM b_a7umO)) (t_a7unW :: t_a7umL a_a7umN). (STraversable t_a7umL, (Apply (Apply TraverseSym0 t_a7unV) t_a7unW :: f_a7umM (t_a7umL b_a7umO)) ~ Apply (Apply Traverse_6989586621680794845Sym0 t_a7unV) t_a7unW, SApplicative f_a7umM) => Sing t_a7unV -> Sing t_a7unW -> Sing (Apply (Apply TraverseSym0 t_a7unV) t_a7unW :: f_a7umM (t_a7umL b_a7umO))
sSequenceA :: forall f_a7umP a_a7umQ (t_a7unZ :: t_a7umL (f_a7umP a_a7umQ)). (STraversable t_a7umL, (Apply SequenceASym0 t_a7unZ :: f_a7umP (t_a7umL a_a7umQ)) ~ Apply SequenceA_6989586621680794858Sym0 t_a7unZ, SApplicative f_a7umP) => Sing t_a7unZ -> Sing (Apply SequenceASym0 t_a7unZ :: f_a7umP (t_a7umL a_a7umQ))
sMapM :: forall a_a7umS m_a7umR b_a7umT (t_a7uo1 :: (~>) a_a7umS (m_a7umR b_a7umT)) (t_a7uo2 :: t_a7umL a_a7umS). (STraversable t_a7umL, (Apply (Apply MapMSym0 t_a7uo1) t_a7uo2 :: m_a7umR (t_a7umL b_a7umT)) ~ Apply (Apply MapM_6989586621680794868Sym0 t_a7uo1) t_a7uo2, SMonad m_a7umR) => Sing t_a7uo1 -> Sing t_a7uo2 -> Sing (Apply (Apply MapMSym0 t_a7uo1) t_a7uo2 :: m_a7umR (t_a7umL b_a7umT))
sSequence :: forall m_a7umU a_a7umV (t_a7uo5 :: t_a7umL (m_a7umU a_a7umV)). (STraversable t_a7umL, (Apply SequenceSym0 t_a7uo5 :: m_a7umU (t_a7umL a_a7umV)) ~ Apply Sequence_6989586621680794883Sym0 t_a7uo5, SMonad m_a7umU) => Sing t_a7uo5 -> Sing (Apply SequenceSym0 t_a7uo5 :: m_a7umU (t_a7umL a_a7umV))
class PApplicative (f_a2kWq :: Type -> Type) where {
    type family Pure (arg_a2l33 :: a_a2kWr) :: f_a2kWq a_a2kWr;
    type family (<*>) (arg_a2l35 :: f_a2kWq ((~>) a_a2kWs b_a2kWt)) (arg_a2l36 :: f_a2kWq a_a2kWs) :: f_a2kWq b_a2kWt;
    type family LiftA2 (arg_a2l39 :: (~>) a_a2kWu ((~>) b_a2kWv c_a2kWw)) (arg_a2l3a :: f_a2kWq a_a2kWu) (arg_a2l3b :: f_a2kWq b_a2kWv) :: f_a2kWq c_a2kWw;
    type family (*>) (arg_a2l3f :: f_a2kWq a_a2kWx) (arg_a2l3g :: f_a2kWq b_a2kWy) :: f_a2kWq b_a2kWy;
    type family (<*) (arg_a2l3j :: f_a2kWq a_a2kWz) (arg_a2l3k :: f_a2kWq b_a2kWA) :: f_a2kWq a_a2kWz;
    type (<*>) a_a2l3n a_a2l3o = Apply (Apply TFHelper_6989586621679567383Sym0 a_a2l3n) a_a2l3o;
    type LiftA2 a_a2l3D a_a2l3E a_a2l3F = Apply (Apply (Apply LiftA2_6989586621679567400Sym0 a_a2l3D) a_a2l3E) a_a2l3F;
    type (*>) a_a2l3W a_a2l3X = Apply (Apply TFHelper_6989586621679567418Sym0 a_a2l3W) a_a2l3X;
    type (<*) a_a2l48 a_a2l49 = Apply (Apply TFHelper_6989586621679567430Sym0 a_a2l48) a_a2l49;
}
infixl 4 <*>
infixl 4 *>
infixl 4 <*
class SFunctor f_a2kWq => SApplicative (f_a2kWq :: Type -> Type)
sPure :: forall a_a2kWr (t_a2l77 :: a_a2kWr). SApplicative f_a2kWq => Sing t_a2l77 -> Sing (Apply PureSym0 t_a2l77 :: f_a2kWq a_a2kWr)
(%<*>) :: forall a_a2kWs b_a2kWt (t_a2l79 :: f_a2kWq ((~>) a_a2kWs b_a2kWt)) (t_a2l7a :: f_a2kWq a_a2kWs). SApplicative f_a2kWq => Sing t_a2l79 -> Sing t_a2l7a -> Sing (Apply (Apply (<*>@#@$) t_a2l79) t_a2l7a :: f_a2kWq b_a2kWt)
sLiftA2 :: forall a_a2kWu b_a2kWv c_a2kWw (t_a2l7d :: (~>) a_a2kWu ((~>) b_a2kWv c_a2kWw)) (t_a2l7e :: f_a2kWq a_a2kWu) (t_a2l7f :: f_a2kWq b_a2kWv). SApplicative f_a2kWq => Sing t_a2l7d -> Sing t_a2l7e -> Sing t_a2l7f -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2l7d) t_a2l7e) t_a2l7f :: f_a2kWq c_a2kWw)
(%*>) :: forall a_a2kWx b_a2kWy (t_a2l7j :: f_a2kWq a_a2kWx) (t_a2l7k :: f_a2kWq b_a2kWy). SApplicative f_a2kWq => Sing t_a2l7j -> Sing t_a2l7k -> Sing (Apply (Apply (*>@#@$) t_a2l7j) t_a2l7k :: f_a2kWq b_a2kWy)
(%<*) :: forall a_a2kWz b_a2kWA (t_a2l7n :: f_a2kWq a_a2kWz) (t_a2l7o :: f_a2kWq b_a2kWA). SApplicative f_a2kWq => Sing t_a2l7n -> Sing t_a2l7o -> Sing (Apply (Apply (<*@#@$) t_a2l7n) t_a2l7o :: f_a2kWq a_a2kWz)
(%<*>) :: forall a_a2kWs b_a2kWt (t_a2l79 :: f_a2kWq ((~>) a_a2kWs b_a2kWt)) (t_a2l7a :: f_a2kWq a_a2kWs). (SApplicative f_a2kWq, (Apply (Apply (<*>@#@$) t_a2l79) t_a2l7a :: f_a2kWq b_a2kWt) ~ Apply (Apply TFHelper_6989586621679567383Sym0 t_a2l79) t_a2l7a) => Sing t_a2l79 -> Sing t_a2l7a -> Sing (Apply (Apply (<*>@#@$) t_a2l79) t_a2l7a :: f_a2kWq b_a2kWt)
sLiftA2 :: forall a_a2kWu b_a2kWv c_a2kWw (t_a2l7d :: (~>) a_a2kWu ((~>) b_a2kWv c_a2kWw)) (t_a2l7e :: f_a2kWq a_a2kWu) (t_a2l7f :: f_a2kWq b_a2kWv). (SApplicative f_a2kWq, (Apply (Apply (Apply LiftA2Sym0 t_a2l7d) t_a2l7e) t_a2l7f :: f_a2kWq c_a2kWw) ~ Apply (Apply (Apply LiftA2_6989586621679567400Sym0 t_a2l7d) t_a2l7e) t_a2l7f) => Sing t_a2l7d -> Sing t_a2l7e -> Sing t_a2l7f -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2l7d) t_a2l7e) t_a2l7f :: f_a2kWq c_a2kWw)
(%*>) :: forall a_a2kWx b_a2kWy (t_a2l7j :: f_a2kWq a_a2kWx) (t_a2l7k :: f_a2kWq b_a2kWy). (SApplicative f_a2kWq, (Apply (Apply (*>@#@$) t_a2l7j) t_a2l7k :: f_a2kWq b_a2kWy) ~ Apply (Apply TFHelper_6989586621679567418Sym0 t_a2l7j) t_a2l7k) => Sing t_a2l7j -> Sing t_a2l7k -> Sing (Apply (Apply (*>@#@$) t_a2l7j) t_a2l7k :: f_a2kWq b_a2kWy)
(%<*) :: forall a_a2kWz b_a2kWA (t_a2l7n :: f_a2kWq a_a2kWz) (t_a2l7o :: f_a2kWq b_a2kWA). (SApplicative f_a2kWq, (Apply (Apply (<*@#@$) t_a2l7n) t_a2l7o :: f_a2kWq a_a2kWz) ~ Apply (Apply TFHelper_6989586621679567430Sym0 t_a2l7n) t_a2l7o) => Sing t_a2l7n -> Sing t_a2l7o -> Sing (Apply (Apply (<*@#@$) t_a2l7n) t_a2l7o :: f_a2kWq a_a2kWz)
infixl 4 %<*>
infixl 4 %*>
infixl 4 %<*
type family (.) (a_a2enD :: (~>) b_a2ekN c_a2ekO) (a_a2enE :: (~>) a_a2ekP b_a2ekN) (a_a2enF :: a_a2ekP) :: c_a2ekO
infixr 9 .
(%.) :: forall b_a2ekN c_a2ekO a_a2ekP (t_a2ep4 :: (~>) b_a2ekN c_a2ekO) (t_a2ep5 :: (~>) a_a2ekP b_a2ekN) (t_a2ep6 :: a_a2ekP). Sing t_a2ep4 -> Sing t_a2ep5 -> Sing t_a2ep6 -> Sing (Apply (Apply (Apply (.@#@$) t_a2ep4) t_a2ep5) t_a2ep6 :: c_a2ekO)
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 k06989586621679481929 k6989586621679481930. (~>) k06989586621679481929 k6989586621679481930
type ErrorSym1 (str6989586621679481931 :: k06989586621679481929) = Error str6989586621679481931

-- | 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 a6989586621679375787. (~>) a6989586621679375787 ((~>) a6989586621679375787 Bool)
infix 4 ==@#@$
data (==@#@$$) (x6989586621679375788 :: a6989586621679375787) :: (~>) a6989586621679375787 Bool
infix 4 ==@#@$$
type (==@#@$$$) (x6989586621679375788 :: a6989586621679375787) (y6989586621679375789 :: a6989586621679375787) = (==) x6989586621679375788 y6989586621679375789
data (>@#@$) :: forall a6989586621679389754. (~>) a6989586621679389754 ((~>) a6989586621679389754 Bool)
infix 4 >@#@$
data (>@#@$$) (arg6989586621679389855 :: a6989586621679389754) :: (~>) a6989586621679389754 Bool
infix 4 >@#@$$
type (>@#@$$$) (arg6989586621679389855 :: a6989586621679389754) (arg6989586621679389856 :: a6989586621679389754) = (>) arg6989586621679389855 arg6989586621679389856
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 (t6989586621679311021 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type). (~>) b3530822107858468866 (a3530822107858468865 :: Type, b3530822107858468866 :: Type)
type Tuple2Sym2 (t6989586621679311021 :: a3530822107858468865) (t6989586621679311022 :: b3530822107858468866) = '(t6989586621679311021, t6989586621679311022)
data Tuple3Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type)))
data Tuple3Sym1 (t6989586621679311052 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type))
data Tuple3Sym2 (t6989586621679311052 :: a3530822107858468865 :: Type) (t6989586621679311053 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type). (~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type)
type Tuple3Sym3 (t6989586621679311052 :: a3530822107858468865) (t6989586621679311053 :: b3530822107858468866) (t6989586621679311054 :: c3530822107858468867) = '(t6989586621679311052, t6989586621679311053, t6989586621679311054)
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 (t6989586621679311099 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type)))
data Tuple4Sym2 (t6989586621679311099 :: a3530822107858468865 :: Type) (t6989586621679311100 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type))
data Tuple4Sym3 (t6989586621679311099 :: a3530822107858468865 :: Type) (t6989586621679311100 :: b3530822107858468866 :: Type) (t6989586621679311101 :: c3530822107858468867 :: Type) :: forall (d3530822107858468868 :: Type). (~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type)
type Tuple4Sym4 (t6989586621679311099 :: a3530822107858468865) (t6989586621679311100 :: b3530822107858468866) (t6989586621679311101 :: c3530822107858468867) (t6989586621679311102 :: d3530822107858468868) = '(t6989586621679311099, t6989586621679311100, t6989586621679311101, t6989586621679311102)
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 (t6989586621679311164 :: 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 (t6989586621679311164 :: a3530822107858468865 :: Type) (t6989586621679311165 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type)))
data Tuple5Sym3 (t6989586621679311164 :: a3530822107858468865 :: Type) (t6989586621679311165 :: b3530822107858468866 :: Type) (t6989586621679311166 :: c3530822107858468867 :: Type) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type))
data Tuple5Sym4 (t6989586621679311164 :: a3530822107858468865 :: Type) (t6989586621679311165 :: b3530822107858468866 :: Type) (t6989586621679311166 :: c3530822107858468867 :: Type) (t6989586621679311167 :: d3530822107858468868 :: Type) :: forall (e3530822107858468869 :: Type). (~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type)
type Tuple5Sym5 (t6989586621679311164 :: a3530822107858468865) (t6989586621679311165 :: b3530822107858468866) (t6989586621679311166 :: c3530822107858468867) (t6989586621679311167 :: d3530822107858468868) (t6989586621679311168 :: e3530822107858468869) = '(t6989586621679311164, t6989586621679311165, t6989586621679311166, t6989586621679311167, t6989586621679311168)
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 (t6989586621679311249 :: 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 (t6989586621679311249 :: a3530822107858468865 :: Type) (t6989586621679311250 :: 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 (t6989586621679311249 :: a3530822107858468865 :: Type) (t6989586621679311250 :: b3530822107858468866 :: Type) (t6989586621679311251 :: 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 (t6989586621679311249 :: a3530822107858468865 :: Type) (t6989586621679311250 :: b3530822107858468866 :: Type) (t6989586621679311251 :: c3530822107858468867 :: Type) (t6989586621679311252 :: d3530822107858468868 :: Type) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type))
data Tuple6Sym5 (t6989586621679311249 :: a3530822107858468865 :: Type) (t6989586621679311250 :: b3530822107858468866 :: Type) (t6989586621679311251 :: c3530822107858468867 :: Type) (t6989586621679311252 :: d3530822107858468868 :: Type) (t6989586621679311253 :: e3530822107858468869 :: Type) :: forall (f3530822107858468870 :: Type). (~>) f3530822107858468870 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type)
type Tuple6Sym6 (t6989586621679311249 :: a3530822107858468865) (t6989586621679311250 :: b3530822107858468866) (t6989586621679311251 :: c3530822107858468867) (t6989586621679311252 :: d3530822107858468868) (t6989586621679311253 :: e3530822107858468869) (t6989586621679311254 :: f3530822107858468870) = '(t6989586621679311249, t6989586621679311250, t6989586621679311251, t6989586621679311252, t6989586621679311253, t6989586621679311254)
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 (t6989586621679311356 :: 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 (t6989586621679311356 :: a3530822107858468865 :: Type) (t6989586621679311357 :: 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 (t6989586621679311356 :: a3530822107858468865 :: Type) (t6989586621679311357 :: b3530822107858468866 :: Type) (t6989586621679311358 :: 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 (t6989586621679311356 :: a3530822107858468865 :: Type) (t6989586621679311357 :: b3530822107858468866 :: Type) (t6989586621679311358 :: c3530822107858468867 :: Type) (t6989586621679311359 :: 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 (t6989586621679311356 :: a3530822107858468865 :: Type) (t6989586621679311357 :: b3530822107858468866 :: Type) (t6989586621679311358 :: c3530822107858468867 :: Type) (t6989586621679311359 :: d3530822107858468868 :: Type) (t6989586621679311360 :: 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 (t6989586621679311356 :: a3530822107858468865 :: Type) (t6989586621679311357 :: b3530822107858468866 :: Type) (t6989586621679311358 :: c3530822107858468867 :: Type) (t6989586621679311359 :: d3530822107858468868 :: Type) (t6989586621679311360 :: e3530822107858468869 :: Type) (t6989586621679311361 :: f3530822107858468870 :: Type) :: forall (g3530822107858468871 :: Type). (~>) g3530822107858468871 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type, g3530822107858468871 :: Type)
type Tuple7Sym7 (t6989586621679311356 :: a3530822107858468865) (t6989586621679311357 :: b3530822107858468866) (t6989586621679311358 :: c3530822107858468867) (t6989586621679311359 :: d3530822107858468868) (t6989586621679311360 :: e3530822107858468869) (t6989586621679311361 :: f3530822107858468870) (t6989586621679311362 :: g3530822107858468871) = '(t6989586621679311356, t6989586621679311357, t6989586621679311358, t6989586621679311359, t6989586621679311360, t6989586621679311361, t6989586621679311362)
data CompareSym0 :: forall a6989586621679389754. (~>) a6989586621679389754 ((~>) a6989586621679389754 Ordering)
data CompareSym1 (arg6989586621679389843 :: a6989586621679389754) :: (~>) a6989586621679389754 Ordering
type CompareSym2 (arg6989586621679389843 :: a6989586621679389754) (arg6989586621679389844 :: a6989586621679389754) = Compare arg6989586621679389843 arg6989586621679389844
data ThenCmpSym0 :: (~>) Ordering ((~>) Ordering Ordering)
data ThenCmpSym1 (a6989586621679400187 :: Ordering) :: (~>) Ordering Ordering
type ThenCmpSym2 (a6989586621679400187 :: Ordering) (a6989586621679400188 :: Ordering) = ThenCmp a6989586621679400187 a6989586621679400188
data FoldlSym0 :: forall b6989586621680486636 a6989586621680486637 t6989586621680486628. (~>) ((~>) b6989586621680486636 ((~>) a6989586621680486637 b6989586621680486636)) ((~>) b6989586621680486636 ((~>) (t6989586621680486628 a6989586621680486637) b6989586621680486636))
data FoldlSym1 (arg6989586621680487265 :: (~>) b6989586621680486636 ((~>) a6989586621680486637 b6989586621680486636)) :: forall t6989586621680486628. (~>) b6989586621680486636 ((~>) (t6989586621680486628 a6989586621680486637) b6989586621680486636)
data FoldlSym2 (arg6989586621680487265 :: (~>) b6989586621680486636 ((~>) a6989586621680486637 b6989586621680486636)) (arg6989586621680487266 :: b6989586621680486636) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486637) b6989586621680486636
type FoldlSym3 (arg6989586621680487265 :: (~>) b6989586621680486636 ((~>) a6989586621680486637 b6989586621680486636)) (arg6989586621680487266 :: b6989586621680486636) (arg6989586621680487267 :: t6989586621680486628 a6989586621680486637) = Foldl arg6989586621680487265 arg6989586621680487266 arg6989586621680487267
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data ShowsPrecSym0 :: forall a6989586621680290747. (~>) Nat ((~>) a6989586621680290747 ((~>) Symbol Symbol))
data ShowsPrecSym1 (arg6989586621680291185 :: Nat) :: forall a6989586621680290747. (~>) a6989586621680290747 ((~>) Symbol Symbol)
data ShowsPrecSym2 (arg6989586621680291185 :: Nat) (arg6989586621680291186 :: a6989586621680290747) :: (~>) Symbol Symbol
type ShowsPrecSym3 (arg6989586621680291185 :: Nat) (arg6989586621680291186 :: a6989586621680290747) (arg6989586621680291187 :: Symbol) = ShowsPrec arg6989586621680291185 arg6989586621680291186 arg6989586621680291187
data ShowStringSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowStringSym1 (a6989586621680291141 :: Symbol) :: (~>) Symbol Symbol
type ShowStringSym2 (a6989586621680291141 :: Symbol) (a6989586621680291142 :: Symbol) = ShowString a6989586621680291141 a6989586621680291142
data ShowParenSym0 :: (~>) Bool ((~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol))
data ShowParenSym1 (a6989586621680291123 :: Bool) :: (~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol)
data ShowParenSym2 (a6989586621680291123 :: Bool) (a6989586621680291124 :: (~>) Symbol Symbol) :: (~>) Symbol Symbol
data ShowSpaceSym0 :: (~>) Symbol Symbol
type ShowSpaceSym1 (a6989586621680291114 :: Symbol) = ShowSpace a6989586621680291114
data ShowCharSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowCharSym1 (a6989586621680291151 :: Symbol) :: (~>) Symbol Symbol
type ShowCharSym2 (a6989586621680291151 :: Symbol) (a6989586621680291152 :: Symbol) = ShowChar a6989586621680291151 a6989586621680291152
data ShowCommaSpaceSym0 :: (~>) Symbol Symbol
type ShowCommaSpaceSym1 (a6989586621680291109 :: Symbol) = ShowCommaSpace a6989586621680291109
data FmapSym0 :: forall a6989586621679566946 b6989586621679566947 f6989586621679566945. (~>) ((~>) a6989586621679566946 b6989586621679566947) ((~>) (f6989586621679566945 a6989586621679566946) (f6989586621679566945 b6989586621679566947))
data FmapSym1 (arg6989586621679567337 :: (~>) a6989586621679566946 b6989586621679566947) :: forall f6989586621679566945. (~>) (f6989586621679566945 a6989586621679566946) (f6989586621679566945 b6989586621679566947)
type FmapSym2 (arg6989586621679567337 :: (~>) a6989586621679566946 b6989586621679566947) (arg6989586621679567338 :: f6989586621679566945 a6989586621679566946) = Fmap arg6989586621679567337 arg6989586621679567338
data (<$@#@$) :: forall a6989586621679566948 f6989586621679566945 b6989586621679566949. (~>) a6989586621679566948 ((~>) (f6989586621679566945 b6989586621679566949) (f6989586621679566945 a6989586621679566948))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679567341 :: a6989586621679566948) :: forall f6989586621679566945 b6989586621679566949. (~>) (f6989586621679566945 b6989586621679566949) (f6989586621679566945 a6989586621679566948)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679567341 :: a6989586621679566948) (arg6989586621679567342 :: f6989586621679566945 b6989586621679566949) = (<$) arg6989586621679567341 arg6989586621679567342
data FoldMapSym0 :: forall a6989586621680486631 m6989586621680486630 t6989586621680486628. (~>) ((~>) a6989586621680486631 m6989586621680486630) ((~>) (t6989586621680486628 a6989586621680486631) m6989586621680486630)
data FoldMapSym1 (arg6989586621680487249 :: (~>) a6989586621680486631 m6989586621680486630) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486631) m6989586621680486630
type FoldMapSym2 (arg6989586621680487249 :: (~>) a6989586621680486631 m6989586621680486630) (arg6989586621680487250 :: t6989586621680486628 a6989586621680486631) = FoldMap arg6989586621680487249 arg6989586621680487250
type MemptySym0 = Mempty
data MappendSym0 :: forall a6989586621680360847. (~>) a6989586621680360847 ((~>) a6989586621680360847 a6989586621680360847)
data MappendSym1 (arg6989586621680360986 :: a6989586621680360847) :: (~>) a6989586621680360847 a6989586621680360847
type MappendSym2 (arg6989586621680360986 :: a6989586621680360847) (arg6989586621680360987 :: a6989586621680360847) = Mappend arg6989586621680360986 arg6989586621680360987
data FoldrSym0 :: forall a6989586621680486632 b6989586621680486633 t6989586621680486628. (~>) ((~>) a6989586621680486632 ((~>) b6989586621680486633 b6989586621680486633)) ((~>) b6989586621680486633 ((~>) (t6989586621680486628 a6989586621680486632) b6989586621680486633))
data FoldrSym1 (arg6989586621680487253 :: (~>) a6989586621680486632 ((~>) b6989586621680486633 b6989586621680486633)) :: forall t6989586621680486628. (~>) b6989586621680486633 ((~>) (t6989586621680486628 a6989586621680486632) b6989586621680486633)
data FoldrSym2 (arg6989586621680487253 :: (~>) a6989586621680486632 ((~>) b6989586621680486633 b6989586621680486633)) (arg6989586621680487254 :: b6989586621680486633) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486632) b6989586621680486633
type FoldrSym3 (arg6989586621680487253 :: (~>) a6989586621680486632 ((~>) b6989586621680486633 b6989586621680486633)) (arg6989586621680487254 :: b6989586621680486633) (arg6989586621680487255 :: t6989586621680486628 a6989586621680486632) = Foldr arg6989586621680487253 arg6989586621680487254 arg6989586621680487255
data TraverseSym0 :: forall a6989586621680794821 f6989586621680794820 b6989586621680794822 t6989586621680794819. (~>) ((~>) a6989586621680794821 (f6989586621680794820 b6989586621680794822)) ((~>) (t6989586621680794819 a6989586621680794821) (f6989586621680794820 (t6989586621680794819 b6989586621680794822)))
data TraverseSym1 (arg6989586621680794831 :: (~>) a6989586621680794821 (f6989586621680794820 b6989586621680794822)) :: forall t6989586621680794819. (~>) (t6989586621680794819 a6989586621680794821) (f6989586621680794820 (t6989586621680794819 b6989586621680794822))
type TraverseSym2 (arg6989586621680794831 :: (~>) a6989586621680794821 (f6989586621680794820 b6989586621680794822)) (arg6989586621680794832 :: t6989586621680794819 a6989586621680794821) = Traverse arg6989586621680794831 arg6989586621680794832
data PureSym0 :: forall a6989586621679566951 f6989586621679566950. (~>) a6989586621679566951 (f6989586621679566950 a6989586621679566951)
type PureSym1 (arg6989586621679567361 :: a6989586621679566951) = Pure arg6989586621679567361
data (<*>@#@$) :: forall f6989586621679566950 a6989586621679566952 b6989586621679566953. (~>) (f6989586621679566950 ((~>) a6989586621679566952 b6989586621679566953)) ((~>) (f6989586621679566950 a6989586621679566952) (f6989586621679566950 b6989586621679566953))
infixl 4 <*>@#@$
data (<*>@#@$$) (arg6989586621679567363 :: f6989586621679566950 ((~>) a6989586621679566952 b6989586621679566953)) :: (~>) (f6989586621679566950 a6989586621679566952) (f6989586621679566950 b6989586621679566953)
infixl 4 <*>@#@$$
type (<*>@#@$$$) (arg6989586621679567363 :: f6989586621679566950 ((~>) a6989586621679566952 b6989586621679566953)) (arg6989586621679567364 :: f6989586621679566950 a6989586621679566952) = (<*>) arg6989586621679567363 arg6989586621679567364
data LiftA2Sym0 :: forall a6989586621679566954 b6989586621679566955 c6989586621679566956 f6989586621679566950. (~>) ((~>) a6989586621679566954 ((~>) b6989586621679566955 c6989586621679566956)) ((~>) (f6989586621679566950 a6989586621679566954) ((~>) (f6989586621679566950 b6989586621679566955) (f6989586621679566950 c6989586621679566956)))
data LiftA2Sym1 (arg6989586621679567367 :: (~>) a6989586621679566954 ((~>) b6989586621679566955 c6989586621679566956)) :: forall f6989586621679566950. (~>) (f6989586621679566950 a6989586621679566954) ((~>) (f6989586621679566950 b6989586621679566955) (f6989586621679566950 c6989586621679566956))
data LiftA2Sym2 (arg6989586621679567367 :: (~>) a6989586621679566954 ((~>) b6989586621679566955 c6989586621679566956)) (arg6989586621679567368 :: f6989586621679566950 a6989586621679566954) :: (~>) (f6989586621679566950 b6989586621679566955) (f6989586621679566950 c6989586621679566956)
type LiftA2Sym3 (arg6989586621679567367 :: (~>) a6989586621679566954 ((~>) b6989586621679566955 c6989586621679566956)) (arg6989586621679567368 :: f6989586621679566950 a6989586621679566954) (arg6989586621679567369 :: f6989586621679566950 b6989586621679566955) = LiftA2 arg6989586621679567367 arg6989586621679567368 arg6989586621679567369
data (.@#@$) :: forall b6989586621679541553 c6989586621679541554 a6989586621679541555. (~>) ((~>) b6989586621679541553 c6989586621679541554) ((~>) ((~>) a6989586621679541555 b6989586621679541553) ((~>) a6989586621679541555 c6989586621679541554))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679541729 :: (~>) b6989586621679541553 c6989586621679541554) :: forall a6989586621679541555. (~>) ((~>) a6989586621679541555 b6989586621679541553) ((~>) a6989586621679541555 c6989586621679541554)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679541729 :: (~>) b6989586621679541553 c6989586621679541554) (a6989586621679541730 :: (~>) a6989586621679541555 b6989586621679541553) :: (~>) a6989586621679541555 c6989586621679541554
infixr 9 .@#@$$$
type (.@#@$$$$) (a6989586621679541729 :: (~>) b6989586621679541553 c6989586621679541554) (a6989586621679541730 :: (~>) a6989586621679541555 b6989586621679541553) (a6989586621679541731 :: a6989586621679541555) = (.) a6989586621679541729 a6989586621679541730 a6989586621679541731
data (:@#@$) :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 ((~>) [a3530822107858468865] [a3530822107858468865 :: Type])
infixr 5 :@#@$
data (:@#@$$) (t6989586621679310927 :: a3530822107858468865 :: Type) :: (~>) [a3530822107858468865] [a3530822107858468865 :: Type]
infixr 5 :@#@$$
type (:@#@$$$) (t6989586621679310927 :: a3530822107858468865) (t6989586621679310928 :: [a3530822107858468865]) = '(:) t6989586621679310927 t6989586621679310928

-- | 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 type family.
type family Sing :: k -> Type
data SErrorMessage :: PErrorMessage -> Type
[SText] :: Sing t -> SErrorMessage ('Text t)
[SShowType] :: Sing ty -> SErrorMessage ('ShowType ty)
[:%<>:] :: Sing e1 -> Sing e2 -> SErrorMessage (e1 :<>: e2)
[:%$$:] :: Sing e1 -> Sing e2 -> SErrorMessage (e1 :$$: e2)
infixl 6 :%<>:
infixl 5 :%$$:

-- | 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 (s6989586621681327379 :: Type). (~>) s6989586621681327379 (ErrorMessage' (s6989586621681327379 :: Type))
type TextSym1 (t6989586621681328123 :: s6989586621681327379) = 'Text t6989586621681328123
data ShowTypeSym0 :: forall t6989586621681327380 (s6989586621681327379 :: Type). (~>) t6989586621681327380 (ErrorMessage' (s6989586621681327379 :: Type))
type ShowTypeSym1 (t6989586621681328125 :: t6989586621681327380) = 'ShowType t6989586621681328125
data (:<>:@#@$) :: forall (s6989586621681327379 :: Type). (~>) (ErrorMessage' s6989586621681327379) ((~>) (ErrorMessage' s6989586621681327379) (ErrorMessage' (s6989586621681327379 :: Type)))
infixl 6 :<>:@#@$
data (:<>:@#@$$) (t6989586621681328127 :: ErrorMessage' (s6989586621681327379 :: Type)) :: (~>) (ErrorMessage' s6989586621681327379) (ErrorMessage' (s6989586621681327379 :: Type))
infixl 6 :<>:@#@$$
type (:<>:@#@$$$) (t6989586621681328127 :: ErrorMessage' s6989586621681327379) (t6989586621681328128 :: ErrorMessage' s6989586621681327379) = '(:<>:) t6989586621681328127 t6989586621681328128
data (:$$:@#@$) :: forall (s6989586621681327379 :: Type). (~>) (ErrorMessage' s6989586621681327379) ((~>) (ErrorMessage' s6989586621681327379) (ErrorMessage' (s6989586621681327379 :: Type)))
infixl 5 :$$:@#@$
data (:$$:@#@$$) (t6989586621681328131 :: ErrorMessage' (s6989586621681327379 :: Type)) :: (~>) (ErrorMessage' s6989586621681327379) (ErrorMessage' (s6989586621681327379 :: Type))
infixl 5 :$$:@#@$$
type (:$$:@#@$$$) (t6989586621681328131 :: ErrorMessage' s6989586621681327379) (t6989586621681328132 :: ErrorMessage' s6989586621681327379) = '(:$$:) t6989586621681328131 t6989586621681328132
data TypeErrorSym0 :: forall b6989586621681327363. (~>) PErrorMessage b6989586621681327363
type TypeErrorSym1 (a6989586621681327364 :: PErrorMessage) = TypeError a6989586621681327364
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 s6989586621681327379 (t6989586621681328131 :: Data.Singletons.TypeError.ErrorMessage' s6989586621681327379). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.TypeError.:$$:@#@$$) t6989586621681328131)
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 s6989586621681327379 (t6989586621681328127 :: Data.Singletons.TypeError.ErrorMessage' s6989586621681327379). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.TypeError.:<>:@#@$$) t6989586621681328127)
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.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
data SBool :: Bool -> Type
[SFalse] :: SBool 'False
[STrue] :: SBool 'True
data SList :: forall a_11. [a_11] -> Type
[SNil] :: SList '[]
[SCons] :: forall a_11 (n_a1gl5 :: a_11) (n_a1gl6 :: [a_11]). () => Sing (n_a1gl5 :: a_11) -> Sing (n_a1gl6 :: [a_11]) -> SList ('(:) n_a1gl5 n_a1gl6)
infixr 5 `SCons`
data SMaybe :: forall a_11. Maybe a_11 -> Type
[SNothing] :: SMaybe 'Nothing
[SJust] :: forall a_11 (n_a1gkG :: a_11). () => Sing (n_a1gkG :: a_11) -> SMaybe ('Just n_a1gkG)
data SEither :: forall a_ajQL b_ajQM. Either a_ajQL b_ajQM -> Type
[SLeft] :: forall a_ajQL (n_a1glN :: a_ajQL). () => Sing (n_a1glN :: a_ajQL) -> SEither ('Left n_a1glN)
[SRight] :: forall b_ajQM (n_a1glP :: b_ajQM). () => Sing (n_a1glP :: b_ajQM) -> SEither ('Right n_a1glP)
data SOrdering :: Ordering -> Type
[SLT] :: SOrdering 'LT
[SEQ] :: SOrdering 'EQ
[SGT] :: SOrdering 'GT
data STuple0 :: () -> Type
[STuple0] :: STuple0 '()
data STuple2 :: forall a_11 b_12. (a_11, b_12) -> Type
[STuple2] :: forall a_11 b_12 (n_a1gmB :: a_11) (n_a1gmC :: b_12). () => Sing (n_a1gmB :: a_11) -> Sing (n_a1gmC :: b_12) -> STuple2 '(n_a1gmB, n_a1gmC)
data STuple3 :: forall a_11 b_12 c_13. (a_11, b_12, c_13) -> Type
[STuple3] :: forall a_11 b_12 c_13 (n_a1gn8 :: a_11) (n_a1gn9 :: b_12) (n_a1gna :: c_13). () => Sing (n_a1gn8 :: a_11) -> Sing (n_a1gn9 :: b_12) -> Sing (n_a1gna :: c_13) -> STuple3 '(n_a1gn8, n_a1gn9, n_a1gna)
data STuple4 :: forall a_11 b_12 c_13 d_14. (a_11, b_12, c_13, d_14) -> Type
[STuple4] :: forall a_11 b_12 c_13 d_14 (n_a1gnV :: a_11) (n_a1gnW :: b_12) (n_a1gnX :: c_13) (n_a1gnY :: d_14). () => Sing (n_a1gnV :: a_11) -> Sing (n_a1gnW :: b_12) -> Sing (n_a1gnX :: c_13) -> Sing (n_a1gnY :: d_14) -> STuple4 '(n_a1gnV, n_a1gnW, n_a1gnX, n_a1gnY)
data STuple5 :: forall a_11 b_12 c_13 d_14 e_15. (a_11, b_12, c_13, d_14, e_15) -> Type
[STuple5] :: forall a_11 b_12 c_13 d_14 e_15 (n_a1gp0 :: a_11) (n_a1gp1 :: b_12) (n_a1gp2 :: c_13) (n_a1gp3 :: d_14) (n_a1gp4 :: e_15). () => Sing (n_a1gp0 :: a_11) -> Sing (n_a1gp1 :: b_12) -> Sing (n_a1gp2 :: c_13) -> Sing (n_a1gp3 :: d_14) -> Sing (n_a1gp4 :: e_15) -> STuple5 '(n_a1gp0, n_a1gp1, n_a1gp2, n_a1gp3, n_a1gp4)
data STuple6 :: forall a_11 b_12 c_13 d_14 e_15 f_16. (a_11, b_12, c_13, d_14, e_15, f_16) -> Type
[STuple6] :: forall a_11 b_12 c_13 d_14 e_15 f_16 (n_a1gqp :: a_11) (n_a1gqq :: b_12) (n_a1gqr :: c_13) (n_a1gqs :: d_14) (n_a1gqt :: e_15) (n_a1gqu :: f_16). () => Sing (n_a1gqp :: a_11) -> Sing (n_a1gqq :: b_12) -> Sing (n_a1gqr :: c_13) -> Sing (n_a1gqs :: d_14) -> Sing (n_a1gqt :: e_15) -> Sing (n_a1gqu :: f_16) -> STuple6 '(n_a1gqp, n_a1gqq, n_a1gqr, n_a1gqs, n_a1gqt, n_a1gqu)
data STuple7 :: forall a_11 b_12 c_13 d_14 e_15 f_16 g_17. (a_11, b_12, c_13, d_14, e_15, f_16, g_17) -> Type
[STuple7] :: forall a_11 b_12 c_13 d_14 e_15 f_16 g_17 (n_a1gsa :: a_11) (n_a1gsb :: b_12) (n_a1gsc :: c_13) (n_a1gsd :: d_14) (n_a1gse :: e_15) (n_a1gsf :: f_16) (n_a1gsg :: g_17). () => Sing (n_a1gsa :: a_11) -> Sing (n_a1gsb :: b_12) -> Sing (n_a1gsc :: c_13) -> Sing (n_a1gsd :: d_14) -> Sing (n_a1gse :: e_15) -> Sing (n_a1gsf :: f_16) -> Sing (n_a1gsg :: g_17) -> STuple7 '(n_a1gsa, n_a1gsb, n_a1gsc, n_a1gsd, n_a1gse, n_a1gsf, n_a1gsg)
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 family Not (a :: Bool) = (res :: Bool) | res -> a

-- | Negation of a singleton
sNot :: Sing a -> Sing (Not a)
type family (a :: Bool) && (b :: Bool) :: Bool
type family (a :: Bool) || (b :: Bool) :: Bool

-- | 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 POrd (a_a1AQq :: Type) where {
    type family Compare (arg_a1ARR :: a_a1AQq) (arg_a1ARS :: a_a1AQq) :: Ordering;
    type family (<) (arg_a1ARV :: a_a1AQq) (arg_a1ARW :: a_a1AQq) :: Bool;
    type family (<=) (arg_a1ARZ :: a_a1AQq) (arg_a1AS0 :: a_a1AQq) :: Bool;
    type family (>) (arg_a1AS3 :: a_a1AQq) (arg_a1AS4 :: a_a1AQq) :: Bool;
    type family (>=) (arg_a1AS7 :: a_a1AQq) (arg_a1AS8 :: a_a1AQq) :: Bool;
    type family Max (arg_a1ASb :: a_a1AQq) (arg_a1ASc :: a_a1AQq) :: a_a1AQq;
    type family Min (arg_a1ASf :: a_a1AQq) (arg_a1ASg :: a_a1AQq) :: a_a1AQq;
    type Compare a_a1ASj a_a1ASk = Apply (Apply Compare_6989586621679389873Sym0 a_a1ASj) a_a1ASk;
    type (<) a_a1ASH a_a1ASI = Apply (Apply TFHelper_6989586621679389897Sym0 a_a1ASH) a_a1ASI;
    type (<=) a_a1ASZ a_a1AT0 = Apply (Apply TFHelper_6989586621679389915Sym0 a_a1ASZ) a_a1AT0;
    type (>) a_a1ATh a_a1ATi = Apply (Apply TFHelper_6989586621679389933Sym0 a_a1ATh) a_a1ATi;
    type (>=) a_a1ATz a_a1ATA = Apply (Apply TFHelper_6989586621679389951Sym0 a_a1ATz) a_a1ATA;
    type Max a_a1ATR a_a1ATS = Apply (Apply Max_6989586621679389969Sym0 a_a1ATR) a_a1ATS;
    type Min a_a1AU9 a_a1AUa = Apply (Apply Min_6989586621679389987Sym0 a_a1AU9) a_a1AUa;
}
infix 4 >=
infix 4 <
infix 4 <=
infix 4 >
class SEq a_a1AQq => SOrd a_a1AQq
sCompare :: forall (t_a1AUA :: a_a1AQq) (t_a1AUB :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUA -> Sing t_a1AUB -> Sing (Apply (Apply CompareSym0 t_a1AUA) t_a1AUB :: Ordering)
(%<) :: forall (t_a1AUE :: a_a1AQq) (t_a1AUF :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUE -> Sing t_a1AUF -> Sing (Apply (Apply (<@#@$) t_a1AUE) t_a1AUF :: Bool)
(%<=) :: forall (t_a1AUI :: a_a1AQq) (t_a1AUJ :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUI -> Sing t_a1AUJ -> Sing (Apply (Apply (<=@#@$) t_a1AUI) t_a1AUJ :: Bool)
(%>) :: forall (t_a1AUM :: a_a1AQq) (t_a1AUN :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUM -> Sing t_a1AUN -> Sing (Apply (Apply (>@#@$) t_a1AUM) t_a1AUN :: Bool)
(%>=) :: forall (t_a1AUQ :: a_a1AQq) (t_a1AUR :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUQ -> Sing t_a1AUR -> Sing (Apply (Apply (>=@#@$) t_a1AUQ) t_a1AUR :: Bool)
sMax :: forall (t_a1AUU :: a_a1AQq) (t_a1AUV :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUU -> Sing t_a1AUV -> Sing (Apply (Apply MaxSym0 t_a1AUU) t_a1AUV :: a_a1AQq)
sMin :: forall (t_a1AUY :: a_a1AQq) (t_a1AUZ :: a_a1AQq). SOrd a_a1AQq => Sing t_a1AUY -> Sing t_a1AUZ -> Sing (Apply (Apply MinSym0 t_a1AUY) t_a1AUZ :: a_a1AQq)
sCompare :: forall (t_a1AUA :: a_a1AQq) (t_a1AUB :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply CompareSym0 t_a1AUA) t_a1AUB :: Ordering) ~ Apply (Apply Compare_6989586621679389873Sym0 t_a1AUA) t_a1AUB) => Sing t_a1AUA -> Sing t_a1AUB -> Sing (Apply (Apply CompareSym0 t_a1AUA) t_a1AUB :: Ordering)
(%<) :: forall (t_a1AUE :: a_a1AQq) (t_a1AUF :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply (<@#@$) t_a1AUE) t_a1AUF :: Bool) ~ Apply (Apply TFHelper_6989586621679389897Sym0 t_a1AUE) t_a1AUF) => Sing t_a1AUE -> Sing t_a1AUF -> Sing (Apply (Apply (<@#@$) t_a1AUE) t_a1AUF :: Bool)
(%<=) :: forall (t_a1AUI :: a_a1AQq) (t_a1AUJ :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply (<=@#@$) t_a1AUI) t_a1AUJ :: Bool) ~ Apply (Apply TFHelper_6989586621679389915Sym0 t_a1AUI) t_a1AUJ) => Sing t_a1AUI -> Sing t_a1AUJ -> Sing (Apply (Apply (<=@#@$) t_a1AUI) t_a1AUJ :: Bool)
(%>) :: forall (t_a1AUM :: a_a1AQq) (t_a1AUN :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply (>@#@$) t_a1AUM) t_a1AUN :: Bool) ~ Apply (Apply TFHelper_6989586621679389933Sym0 t_a1AUM) t_a1AUN) => Sing t_a1AUM -> Sing t_a1AUN -> Sing (Apply (Apply (>@#@$) t_a1AUM) t_a1AUN :: Bool)
(%>=) :: forall (t_a1AUQ :: a_a1AQq) (t_a1AUR :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply (>=@#@$) t_a1AUQ) t_a1AUR :: Bool) ~ Apply (Apply TFHelper_6989586621679389951Sym0 t_a1AUQ) t_a1AUR) => Sing t_a1AUQ -> Sing t_a1AUR -> Sing (Apply (Apply (>=@#@$) t_a1AUQ) t_a1AUR :: Bool)
sMax :: forall (t_a1AUU :: a_a1AQq) (t_a1AUV :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply MaxSym0 t_a1AUU) t_a1AUV :: a_a1AQq) ~ Apply (Apply Max_6989586621679389969Sym0 t_a1AUU) t_a1AUV) => Sing t_a1AUU -> Sing t_a1AUV -> Sing (Apply (Apply MaxSym0 t_a1AUU) t_a1AUV :: a_a1AQq)
sMin :: forall (t_a1AUY :: a_a1AQq) (t_a1AUZ :: a_a1AQq). (SOrd a_a1AQq, (Apply (Apply MinSym0 t_a1AUY) t_a1AUZ :: a_a1AQq) ~ Apply (Apply Min_6989586621679389987Sym0 t_a1AUY) t_a1AUZ) => Sing t_a1AUY -> Sing t_a1AUZ -> Sing (Apply (Apply MinSym0 t_a1AUY) t_a1AUZ :: a_a1AQq)
infix 4 %<=
infix 4 %>=
infix 4 %>
infix 4 %<
class SBounded a_a38Xi
sMinBound :: SBounded a_a38Xi => Sing (MinBoundSym0 :: a_a38Xi)
sMaxBound :: SBounded a_a38Xi => Sing (MaxBoundSym0 :: a_a38Xi)
class PBounded (a_a38Xi :: Type) where {
    type family MinBound :: a_a38Xi;
    type family MaxBound :: a_a38Xi;
}
type MaxBoundSym0 = MaxBound
type MinBoundSym0 = MinBound
class SEnum a_a39Z7
sToEnum :: forall (t_a3a6J :: Nat). SEnum a_a39Z7 => Sing t_a3a6J -> Sing (Apply ToEnumSym0 t_a3a6J :: a_a39Z7)
sFromEnum :: forall (t_a3a6L :: a_a39Z7). SEnum a_a39Z7 => Sing t_a3a6L -> Sing (Apply FromEnumSym0 t_a3a6L :: Nat)
sEnumFromTo :: forall (t_a3a6N :: a_a39Z7) (t_a3a6O :: a_a39Z7). SEnum a_a39Z7 => Sing t_a3a6N -> Sing t_a3a6O -> Sing (Apply (Apply EnumFromToSym0 t_a3a6N) t_a3a6O :: [a_a39Z7])
sEnumFromThenTo :: forall (t_a3a6R :: a_a39Z7) (t_a3a6S :: a_a39Z7) (t_a3a6T :: a_a39Z7). SEnum a_a39Z7 => Sing t_a3a6R -> Sing t_a3a6S -> Sing t_a3a6T -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3a6R) t_a3a6S) t_a3a6T :: [a_a39Z7])
sEnumFromTo :: forall (t_a3a6N :: a_a39Z7) (t_a3a6O :: a_a39Z7). (SEnum a_a39Z7, (Apply (Apply EnumFromToSym0 t_a3a6N) t_a3a6O :: [a_a39Z7]) ~ Apply (Apply EnumFromTo_6989586621679763489Sym0 t_a3a6N) t_a3a6O) => Sing t_a3a6N -> Sing t_a3a6O -> Sing (Apply (Apply EnumFromToSym0 t_a3a6N) t_a3a6O :: [a_a39Z7])
sEnumFromThenTo :: forall (t_a3a6R :: a_a39Z7) (t_a3a6S :: a_a39Z7) (t_a3a6T :: a_a39Z7). (SEnum a_a39Z7, (Apply (Apply (Apply EnumFromThenToSym0 t_a3a6R) t_a3a6S) t_a3a6T :: [a_a39Z7]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679763502Sym0 t_a3a6R) t_a3a6S) t_a3a6T) => Sing t_a3a6R -> Sing t_a3a6S -> Sing t_a3a6T -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3a6R) t_a3a6S) t_a3a6T :: [a_a39Z7])
class PEnum (a_a39Z7 :: Type) where {
    type family ToEnum (arg_a3a3L :: Nat) :: a_a39Z7;
    type family FromEnum (arg_a3a3N :: a_a39Z7) :: Nat;
    type family EnumFromTo (arg_a3a3P :: a_a39Z7) (arg_a3a3Q :: a_a39Z7) :: [a_a39Z7];
    type family EnumFromThenTo (arg_a3a3T :: a_a39Z7) (arg_a3a3U :: a_a39Z7) (arg_a3a3V :: a_a39Z7) :: [a_a39Z7];
    type Succ a_a3a3Z = Apply Succ_6989586621679763464Sym0 a_a3a3Z;
    type Pred a_a3a4e = Apply Pred_6989586621679763479Sym0 a_a3a4e;
    type EnumFromTo a_a3a4n a_a3a4o = Apply (Apply EnumFromTo_6989586621679763489Sym0 a_a3a4n) a_a3a4o;
    type EnumFromThenTo a_a3a4z a_a3a4A a_a3a4B = Apply (Apply (Apply EnumFromThenTo_6989586621679763502Sym0 a_a3a4z) a_a3a4A) a_a3a4B;
}
data EnumFromThenToSym0 :: forall a6989586621679763161. (~>) a6989586621679763161 ((~>) a6989586621679763161 ((~>) a6989586621679763161 [a6989586621679763161]))
data EnumFromThenToSym1 (arg6989586621679763457 :: a6989586621679763161) :: (~>) a6989586621679763161 ((~>) a6989586621679763161 [a6989586621679763161])
data EnumFromThenToSym2 (arg6989586621679763457 :: a6989586621679763161) (arg6989586621679763458 :: a6989586621679763161) :: (~>) a6989586621679763161 [a6989586621679763161]
type EnumFromThenToSym3 (arg6989586621679763457 :: a6989586621679763161) (arg6989586621679763458 :: a6989586621679763161) (arg6989586621679763459 :: a6989586621679763161) = EnumFromThenTo arg6989586621679763457 arg6989586621679763458 arg6989586621679763459
data EnumFromToSym0 :: forall a6989586621679763161. (~>) a6989586621679763161 ((~>) a6989586621679763161 [a6989586621679763161])
data EnumFromToSym1 (arg6989586621679763453 :: a6989586621679763161) :: (~>) a6989586621679763161 [a6989586621679763161]
type EnumFromToSym2 (arg6989586621679763453 :: a6989586621679763161) (arg6989586621679763454 :: a6989586621679763161) = EnumFromTo arg6989586621679763453 arg6989586621679763454
data FromEnumSym0 :: forall a6989586621679763161. (~>) a6989586621679763161 Nat
type FromEnumSym1 (arg6989586621679763451 :: a6989586621679763161) = FromEnum arg6989586621679763451
data ToEnumSym0 :: forall a6989586621679763161. (~>) Nat a6989586621679763161
type ToEnumSym1 (arg6989586621679763449 :: Nat) = ToEnum arg6989586621679763449
type family (a :: Nat) ^ (b :: Nat) :: Nat

-- | The singleton analogue of <a>(^)</a> for <a>Nat</a>s.
(%^) :: Sing a -> Sing b -> Sing (a ^ b)
infixr 8 %^
class PShow (a_a5nez :: Type) where {
    type family ShowsPrec (arg_a5nlD :: Nat) (arg_a5nlE :: a_a5nez) (arg_a5nlF :: Symbol) :: Symbol;
    type family Show_ (arg_a5nlJ :: a_a5nez) :: Symbol;
    type family ShowList (arg_a5nlL :: [a_a5nez]) (arg_a5nlM :: Symbol) :: Symbol;
    type ShowsPrec a_a5nlP a_a5nlQ a_a5nlR = Apply (Apply (Apply ShowsPrec_6989586621680291200Sym0 a_a5nlP) a_a5nlQ) a_a5nlR;
    type Show_ a_a5nm5 = Apply Show__6989586621680291214Sym0 a_a5nm5;
    type ShowList a_a5nmc a_a5nmd = Apply (Apply ShowList_6989586621680291222Sym0 a_a5nmc) a_a5nmd;
}
class SShow a_a5nez
sShowsPrec :: forall (t_a5npM :: Nat) (t_a5npN :: a_a5nez) (t_a5npO :: Symbol). SShow a_a5nez => Sing t_a5npM -> Sing t_a5npN -> Sing t_a5npO -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5npM) t_a5npN) t_a5npO :: Symbol)
sShow_ :: forall (t_a5npS :: a_a5nez). SShow a_a5nez => Sing t_a5npS -> Sing (Apply Show_Sym0 t_a5npS :: Symbol)
sShowList :: forall (t_a5npU :: [a_a5nez]) (t_a5npV :: Symbol). SShow a_a5nez => Sing t_a5npU -> Sing t_a5npV -> Sing (Apply (Apply ShowListSym0 t_a5npU) t_a5npV :: Symbol)
sShowsPrec :: forall (t_a5npM :: Nat) (t_a5npN :: a_a5nez) (t_a5npO :: Symbol). (SShow a_a5nez, (Apply (Apply (Apply ShowsPrecSym0 t_a5npM) t_a5npN) t_a5npO :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621680291200Sym0 t_a5npM) t_a5npN) t_a5npO) => Sing t_a5npM -> Sing t_a5npN -> Sing t_a5npO -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5npM) t_a5npN) t_a5npO :: Symbol)
sShow_ :: forall (t_a5npS :: a_a5nez). (SShow a_a5nez, (Apply Show_Sym0 t_a5npS :: Symbol) ~ Apply Show__6989586621680291214Sym0 t_a5npS) => Sing t_a5npS -> Sing (Apply Show_Sym0 t_a5npS :: Symbol)
sShowList :: forall (t_a5npU :: [a_a5nez]) (t_a5npV :: Symbol). (SShow a_a5nez, (Apply (Apply ShowListSym0 t_a5npU) t_a5npV :: Symbol) ~ Apply (Apply ShowList_6989586621680291222Sym0 t_a5npU) t_a5npV) => Sing t_a5npU -> Sing t_a5npV -> Sing (Apply (Apply ShowListSym0 t_a5npU) t_a5npV :: Symbol)
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_a5nlv :: a_a5nek) (a_a5nlw :: Symbol) :: Symbol
sShows :: forall a_a5nek (t_a5npn :: a_a5nek) (t_a5npo :: Symbol). SShow a_a5nek => Sing t_a5npn -> Sing t_a5npo -> Sing (Apply (Apply ShowsSym0 t_a5npn) t_a5npo :: Symbol)
type family ShowChar (a_a5nl5 :: Symbol) (a_a5nl6 :: Symbol) :: Symbol
sShowChar :: forall (t_a5npd :: Symbol) (t_a5npe :: Symbol). Sing t_a5npd -> Sing t_a5npe -> Sing (Apply (Apply ShowCharSym0 t_a5npd) t_a5npe :: Symbol)
type family ShowString (a_a5nkV :: Symbol) (a_a5nkW :: Symbol) :: Symbol
sShowString :: forall (t_a5np9 :: Symbol) (t_a5npa :: Symbol). Sing t_a5np9 -> Sing t_a5npa -> Sing (Apply (Apply ShowStringSym0 t_a5np9) t_a5npa :: Symbol)
type family ShowParen (a_a5nkD :: Bool) (a_a5nkE :: (~>) Symbol Symbol) (a_a5nkF :: Symbol) :: Symbol
sShowParen :: forall (t_a5np3 :: Bool) (t_a5np4 :: (~>) Symbol Symbol) (t_a5np5 :: Symbol). Sing t_a5np3 -> Sing t_a5np4 -> Sing t_a5np5 -> Sing (Apply (Apply (Apply ShowParenSym0 t_a5np3) t_a5np4) t_a5np5 :: Symbol)
class PSemigroup (a_a3t7Q :: Type) where {
    type family (<>) (arg_a3tbD :: a_a3t7Q) (arg_a3tbE :: a_a3t7Q) :: a_a3t7Q;
    type Sconcat a_a3tbJ = Apply Sconcat_6989586621679836980Sym0 a_a3tbJ;
}
infixr 6 <>
class SSemigroup a_a3t7Q
(%<>) :: forall (t_a3tfs :: a_a3t7Q) (t_a3tft :: a_a3t7Q). SSemigroup a_a3t7Q => Sing t_a3tfs -> Sing t_a3tft -> Sing (Apply (Apply (<>@#@$) t_a3tfs) t_a3tft :: a_a3t7Q)
infixr 6 %<>
class PMonoid (a_a5Ftd :: Type) where {
    type family Mempty :: a_a5Ftd;
    type family Mappend (arg_a5Fvs :: a_a5Ftd) (arg_a5Fvt :: a_a5Ftd) :: a_a5Ftd;
    type family Mconcat (arg_a5Fvw :: [a_a5Ftd]) :: a_a5Ftd;
    type Mappend a_a5Fvy a_a5Fvz = Apply (Apply Mappend_6989586621680360994Sym0 a_a5Fvy) a_a5Fvz;
    type Mconcat a_a5FvO = Apply Mconcat_6989586621680361009Sym0 a_a5FvO;
}
class SSemigroup a_a5Ftd => SMonoid a_a5Ftd
sMempty :: SMonoid a_a5Ftd => Sing (MemptySym0 :: a_a5Ftd)
sMappend :: forall (t_a5FwM :: a_a5Ftd) (t_a5FwN :: a_a5Ftd). SMonoid a_a5Ftd => Sing t_a5FwM -> Sing t_a5FwN -> Sing (Apply (Apply MappendSym0 t_a5FwM) t_a5FwN :: a_a5Ftd)
sMconcat :: forall (t_a5FwQ :: [a_a5Ftd]). SMonoid a_a5Ftd => Sing t_a5FwQ -> Sing (Apply MconcatSym0 t_a5FwQ :: a_a5Ftd)
sMappend :: forall (t_a5FwM :: a_a5Ftd) (t_a5FwN :: a_a5Ftd). (SMonoid a_a5Ftd, (Apply (Apply MappendSym0 t_a5FwM) t_a5FwN :: a_a5Ftd) ~ Apply (Apply Mappend_6989586621680360994Sym0 t_a5FwM) t_a5FwN) => Sing t_a5FwM -> Sing t_a5FwN -> Sing (Apply (Apply MappendSym0 t_a5FwM) t_a5FwN :: a_a5Ftd)
sMconcat :: forall (t_a5FwQ :: [a_a5Ftd]). (SMonoid a_a5Ftd, (Apply MconcatSym0 t_a5FwQ :: a_a5Ftd) ~ Apply Mconcat_6989586621680361009Sym0 t_a5FwQ) => Sing t_a5FwQ -> Sing (Apply MconcatSym0 t_a5FwQ :: a_a5Ftd)
class PFunctor (f_a2kWl :: Type -> Type) where {
    type family Fmap (arg_a2l2F :: (~>) a_a2kWm b_a2kWn) (arg_a2l2G :: f_a2kWl a_a2kWm) :: f_a2kWl b_a2kWn;
    type family (<$) (arg_a2l2J :: a_a2kWo) (arg_a2l2K :: f_a2kWl b_a2kWp) :: f_a2kWl a_a2kWo;
    type (<$) a_a2l2N a_a2l2O = Apply (Apply TFHelper_6989586621679567347Sym0 a_a2l2N) a_a2l2O;
}
infixl 4 <$
class SFunctor (f_a2kWl :: Type -> Type)
sFmap :: forall a_a2kWm b_a2kWn (t_a2l6X :: (~>) a_a2kWm b_a2kWn) (t_a2l6Y :: f_a2kWl a_a2kWm). SFunctor f_a2kWl => Sing t_a2l6X -> Sing t_a2l6Y -> Sing (Apply (Apply FmapSym0 t_a2l6X) t_a2l6Y :: f_a2kWl b_a2kWn)
(%<$) :: forall a_a2kWo b_a2kWp (t_a2l71 :: a_a2kWo) (t_a2l72 :: f_a2kWl b_a2kWp). SFunctor f_a2kWl => Sing t_a2l71 -> Sing t_a2l72 -> Sing (Apply (Apply (<$@#@$) t_a2l71) t_a2l72 :: f_a2kWl a_a2kWo)
(%<$) :: forall a_a2kWo b_a2kWp (t_a2l71 :: a_a2kWo) (t_a2l72 :: f_a2kWl b_a2kWp). (SFunctor f_a2kWl, (Apply (Apply (<$@#@$) t_a2l71) t_a2l72 :: f_a2kWl a_a2kWo) ~ Apply (Apply TFHelper_6989586621679567347Sym0 t_a2l71) t_a2l72) => Sing t_a2l71 -> Sing t_a2l72 -> Sing (Apply (Apply (<$@#@$) t_a2l71) t_a2l72 :: f_a2kWl a_a2kWo)
infixl 4 %<$
type family (<$>) (a_a33er :: (~>) a_a33d8 b_a33d9) (a_a33es :: f_a33d7 a_a33d8) :: f_a33d7 b_a33d9
infixl 4 <$>
(%<$>) :: forall a_a33d8 b_a33d9 f_a33d7 (t_a33g0 :: (~>) a_a33d8 b_a33d9) (t_a33g1 :: f_a33d7 a_a33d8). SFunctor f_a33d7 => Sing t_a33g0 -> Sing t_a33g1 -> Sing (Apply (Apply (<$>@#@$) t_a33g0) t_a33g1 :: f_a33d7 b_a33d9)
infixl 4 %<$>
class PApplicative (f_a2kWq :: Type -> Type) where {
    type family Pure (arg_a2l33 :: a_a2kWr) :: f_a2kWq a_a2kWr;
    type family (<*>) (arg_a2l35 :: f_a2kWq ((~>) a_a2kWs b_a2kWt)) (arg_a2l36 :: f_a2kWq a_a2kWs) :: f_a2kWq b_a2kWt;
    type family (*>) (arg_a2l3f :: f_a2kWq a_a2kWx) (arg_a2l3g :: f_a2kWq b_a2kWy) :: f_a2kWq b_a2kWy;
    type family (<*) (arg_a2l3j :: f_a2kWq a_a2kWz) (arg_a2l3k :: f_a2kWq b_a2kWA) :: f_a2kWq a_a2kWz;
    type (<*>) a_a2l3n a_a2l3o = Apply (Apply TFHelper_6989586621679567383Sym0 a_a2l3n) a_a2l3o;
    type LiftA2 a_a2l3D a_a2l3E a_a2l3F = Apply (Apply (Apply LiftA2_6989586621679567400Sym0 a_a2l3D) a_a2l3E) a_a2l3F;
    type (*>) a_a2l3W a_a2l3X = Apply (Apply TFHelper_6989586621679567418Sym0 a_a2l3W) a_a2l3X;
    type (<*) a_a2l48 a_a2l49 = Apply (Apply TFHelper_6989586621679567430Sym0 a_a2l48) a_a2l49;
}
infixl 4 <*>
infixl 4 *>
infixl 4 <*
class SFunctor f_a2kWq => SApplicative (f_a2kWq :: Type -> Type)
sPure :: forall a_a2kWr (t_a2l77 :: a_a2kWr). SApplicative f_a2kWq => Sing t_a2l77 -> Sing (Apply PureSym0 t_a2l77 :: f_a2kWq a_a2kWr)
(%<*>) :: forall a_a2kWs b_a2kWt (t_a2l79 :: f_a2kWq ((~>) a_a2kWs b_a2kWt)) (t_a2l7a :: f_a2kWq a_a2kWs). SApplicative f_a2kWq => Sing t_a2l79 -> Sing t_a2l7a -> Sing (Apply (Apply (<*>@#@$) t_a2l79) t_a2l7a :: f_a2kWq b_a2kWt)
(%*>) :: forall a_a2kWx b_a2kWy (t_a2l7j :: f_a2kWq a_a2kWx) (t_a2l7k :: f_a2kWq b_a2kWy). SApplicative f_a2kWq => Sing t_a2l7j -> Sing t_a2l7k -> Sing (Apply (Apply (*>@#@$) t_a2l7j) t_a2l7k :: f_a2kWq b_a2kWy)
(%<*) :: forall a_a2kWz b_a2kWA (t_a2l7n :: f_a2kWq a_a2kWz) (t_a2l7o :: f_a2kWq b_a2kWA). SApplicative f_a2kWq => Sing t_a2l7n -> Sing t_a2l7o -> Sing (Apply (Apply (<*@#@$) t_a2l7n) t_a2l7o :: f_a2kWq a_a2kWz)
(%<*>) :: forall a_a2kWs b_a2kWt (t_a2l79 :: f_a2kWq ((~>) a_a2kWs b_a2kWt)) (t_a2l7a :: f_a2kWq a_a2kWs). (SApplicative f_a2kWq, (Apply (Apply (<*>@#@$) t_a2l79) t_a2l7a :: f_a2kWq b_a2kWt) ~ Apply (Apply TFHelper_6989586621679567383Sym0 t_a2l79) t_a2l7a) => Sing t_a2l79 -> Sing t_a2l7a -> Sing (Apply (Apply (<*>@#@$) t_a2l79) t_a2l7a :: f_a2kWq b_a2kWt)
(%*>) :: forall a_a2kWx b_a2kWy (t_a2l7j :: f_a2kWq a_a2kWx) (t_a2l7k :: f_a2kWq b_a2kWy). (SApplicative f_a2kWq, (Apply (Apply (*>@#@$) t_a2l7j) t_a2l7k :: f_a2kWq b_a2kWy) ~ Apply (Apply TFHelper_6989586621679567418Sym0 t_a2l7j) t_a2l7k) => Sing t_a2l7j -> Sing t_a2l7k -> Sing (Apply (Apply (*>@#@$) t_a2l7j) t_a2l7k :: f_a2kWq b_a2kWy)
(%<*) :: forall a_a2kWz b_a2kWA (t_a2l7n :: f_a2kWq a_a2kWz) (t_a2l7o :: f_a2kWq b_a2kWA). (SApplicative f_a2kWq, (Apply (Apply (<*@#@$) t_a2l7n) t_a2l7o :: f_a2kWq a_a2kWz) ~ Apply (Apply TFHelper_6989586621679567430Sym0 t_a2l7n) t_a2l7o) => Sing t_a2l7n -> Sing t_a2l7o -> Sing (Apply (Apply (<*@#@$) t_a2l7n) t_a2l7o :: f_a2kWq a_a2kWz)
infixl 4 %<*>
infixl 4 %*>
infixl 4 %<*
class PMonad (m_a2kWO :: Type -> Type) where {
    type family (>>=) (arg_a2l4o :: m_a2kWO a_a2kWP) (arg_a2l4p :: (~>) a_a2kWP (m_a2kWO b_a2kWQ)) :: m_a2kWO b_a2kWQ;
    type family (>>) (arg_a2l4s :: m_a2kWO a_a2kWR) (arg_a2l4t :: m_a2kWO b_a2kWS) :: m_a2kWO b_a2kWS;
    type family Return (arg_a2l4w :: a_a2kWT) :: m_a2kWO a_a2kWT;
    type (>>) a_a2l4y a_a2l4z = Apply (Apply TFHelper_6989586621679567456Sym0 a_a2l4y) a_a2l4z;
    type Return a_a2l4U = Apply Return_6989586621679567477Sym0 a_a2l4U;
}
infixl 1 >>=
infixl 1 >>
class SApplicative m_a2kWO => SMonad (m_a2kWO :: Type -> Type)
(%>>=) :: forall a_a2kWP b_a2kWQ (t_a2l7y :: m_a2kWO a_a2kWP) (t_a2l7z :: (~>) a_a2kWP (m_a2kWO b_a2kWQ)). SMonad m_a2kWO => Sing t_a2l7y -> Sing t_a2l7z -> Sing (Apply (Apply (>>=@#@$) t_a2l7y) t_a2l7z :: m_a2kWO b_a2kWQ)
(%>>) :: forall a_a2kWR b_a2kWS (t_a2l7C :: m_a2kWO a_a2kWR) (t_a2l7D :: m_a2kWO b_a2kWS). SMonad m_a2kWO => Sing t_a2l7C -> Sing t_a2l7D -> Sing (Apply (Apply (>>@#@$) t_a2l7C) t_a2l7D :: m_a2kWO b_a2kWS)
sReturn :: forall a_a2kWT (t_a2l7G :: a_a2kWT). SMonad m_a2kWO => Sing t_a2l7G -> Sing (Apply ReturnSym0 t_a2l7G :: m_a2kWO a_a2kWT)
(%>>) :: forall a_a2kWR b_a2kWS (t_a2l7C :: m_a2kWO a_a2kWR) (t_a2l7D :: m_a2kWO b_a2kWS). (SMonad m_a2kWO, (Apply (Apply (>>@#@$) t_a2l7C) t_a2l7D :: m_a2kWO b_a2kWS) ~ Apply (Apply TFHelper_6989586621679567456Sym0 t_a2l7C) t_a2l7D) => Sing t_a2l7C -> Sing t_a2l7D -> Sing (Apply (Apply (>>@#@$) t_a2l7C) t_a2l7D :: m_a2kWO b_a2kWS)
sReturn :: forall a_a2kWT (t_a2l7G :: a_a2kWT). (SMonad m_a2kWO, (Apply ReturnSym0 t_a2l7G :: m_a2kWO a_a2kWT) ~ Apply Return_6989586621679567477Sym0 t_a2l7G) => Sing t_a2l7G -> Sing (Apply ReturnSym0 t_a2l7G :: m_a2kWO a_a2kWT)
infixl 1 %>>=
infixl 1 %>>
class PMonadFail (m_a32Fv :: Type -> Type) where {
    type family Fail (arg_a32FP :: [Char]) :: m_a32Fv a_a32Fw;
}
class SMonad m_a32Fv => SMonadFail (m_a32Fv :: Type -> Type)
sFail :: forall a_a32Fw (t_a32G3 :: [Char]). SMonadFail m_a32Fv => Sing t_a32G3 -> Sing (Apply FailSym0 t_a32G3 :: m_a32Fv a_a32Fw)
type family MapM_ (a_a6ckN :: (~>) a_a6cb3 (m_a6cb2 b_a6cb4)) (a_a6ckO :: t_a6cb1 a_a6cb3) :: m_a6cb2 ()
sMapM_ :: forall a_a6cb3 m_a6cb2 b_a6cb4 t_a6cb1 (t_a6cGK :: (~>) a_a6cb3 (m_a6cb2 b_a6cb4)) (t_a6cGL :: t_a6cb1 a_a6cb3). (SFoldable t_a6cb1, SMonad m_a6cb2) => Sing t_a6cGK -> Sing t_a6cGL -> Sing (Apply (Apply MapM_Sym0 t_a6cGK) t_a6cGL :: m_a6cb2 ())
type family Sequence_ (a_a6ckv :: t_a6caR (m_a6caS a_a6caT)) :: m_a6caS ()
sSequence_ :: forall t_a6caR m_a6caS a_a6caT (t_a6cGC :: t_a6caR (m_a6caS a_a6caT)). (SFoldable t_a6caR, SMonad m_a6caS) => Sing t_a6cGC -> Sing (Apply Sequence_Sym0 t_a6cGC :: m_a6caS ())
type family (=<<) (a_a2l1U :: (~>) a_a2kVA (m_a2kVz b_a2kVB)) (a_a2l1V :: m_a2kVz a_a2kVA) :: m_a2kVz b_a2kVB
infixr 1 =<<
(%=<<) :: forall a_a2kVA m_a2kVz b_a2kVB (t_a2l6h :: (~>) a_a2kVA (m_a2kVz b_a2kVB)) (t_a2l6i :: m_a2kVz a_a2kVA). SMonad m_a2kVz => Sing t_a2l6h -> Sing t_a2l6i -> Sing (Apply (Apply (=<<@#@$) t_a2l6h) t_a2l6i :: m_a2kVz b_a2kVB)
infixr 1 %=<<
class PFoldable (t_a6cbW :: Type -> Type) where {
    type family FoldMap (arg_a6clX :: (~>) a_a6cbZ m_a6cbY) (arg_a6clY :: t_a6cbW a_a6cbZ) :: m_a6cbY;
    type family Foldr (arg_a6cm1 :: (~>) a_a6cc0 ((~>) b_a6cc1 b_a6cc1)) (arg_a6cm2 :: b_a6cc1) (arg_a6cm3 :: t_a6cbW a_a6cc0) :: b_a6cc1;
    type family Foldl (arg_a6cmd :: (~>) b_a6cc4 ((~>) a_a6cc5 b_a6cc4)) (arg_a6cme :: b_a6cc4) (arg_a6cmf :: t_a6cbW a_a6cc5) :: b_a6cc4;
    type family Foldr1 (arg_a6cmp :: (~>) a_a6cc8 ((~>) a_a6cc8 a_a6cc8)) (arg_a6cmq :: t_a6cbW a_a6cc8) :: a_a6cc8;
    type family Foldl1 (arg_a6cmt :: (~>) a_a6cc9 ((~>) a_a6cc9 a_a6cc9)) (arg_a6cmu :: t_a6cbW a_a6cc9) :: a_a6cc9;
    type family Elem (arg_a6cmD :: a_a6ccd) (arg_a6cmE :: t_a6cbW a_a6ccd) :: Bool;
    type family Maximum (arg_a6cmH :: t_a6cbW a_a6cce) :: a_a6cce;
    type family Minimum (arg_a6cmJ :: t_a6cbW a_a6ccf) :: a_a6ccf;
    type family Sum (arg_a6cmL :: t_a6cbW a_a6ccg) :: a_a6ccg;
    type family Product (arg_a6cmN :: t_a6cbW a_a6cch) :: a_a6cch;
    type Fold a_a6cmP = Apply Fold_6989586621680487304Sym0 a_a6cmP;
    type FoldMap a_a6cmY a_a6cmZ = Apply (Apply FoldMap_6989586621680487314Sym0 a_a6cmY) a_a6cmZ;
    type Foldr a_a6cnc a_a6cnd a_a6cne = Apply (Apply (Apply Foldr_6989586621680487329Sym0 a_a6cnc) a_a6cnd) a_a6cne;
    type Foldr' a_a6cnB a_a6cnC a_a6cnD = Apply (Apply (Apply Foldr'_6989586621680487354Sym0 a_a6cnB) a_a6cnC) a_a6cnD;
    type Foldl a_a6co5 a_a6co6 a_a6co7 = Apply (Apply (Apply Foldl_6989586621680487384Sym0 a_a6co5) a_a6co6) a_a6co7;
    type Foldl' a_a6cou a_a6cov a_a6cow = Apply (Apply (Apply Foldl'_6989586621680487409Sym0 a_a6cou) a_a6cov) a_a6cow;
    type Foldr1 a_a6coY a_a6coZ = Apply (Apply Foldr1_6989586621680487438Sym0 a_a6coY) a_a6coZ;
    type Foldl1 a_a6cpn a_a6cpo = Apply (Apply Foldl1_6989586621680487463Sym0 a_a6cpn) a_a6cpo;
    type ToList a_a6cpM = Apply ToList_6989586621680487487Sym0 a_a6cpM;
    type Null a_a6cpV = Apply Null_6989586621680487496Sym0 a_a6cpV;
    type Length a_a6cqg = Apply Length_6989586621680487517Sym0 a_a6cqg;
    type Elem a_a6cqC a_a6cqD = Apply (Apply Elem_6989586621680487540Sym0 a_a6cqC) a_a6cqD;
    type Maximum a_a6cqS = Apply Maximum_6989586621680487555Sym0 a_a6cqS;
    type Minimum a_a6cr5 = Apply Minimum_6989586621680487568Sym0 a_a6cr5;
    type Sum a_a6cri = Apply Sum_6989586621680487581Sym0 a_a6cri;
    type Product a_a6crv = Apply Product_6989586621680487594Sym0 a_a6crv;
}
class SFoldable (t_a6cbW :: Type -> Type)
sFoldMap :: forall a_a6cbZ m_a6cbY (t_a6cHP :: (~>) a_a6cbZ m_a6cbY) (t_a6cHQ :: t_a6cbW a_a6cbZ). (SFoldable t_a6cbW, SMonoid m_a6cbY) => Sing t_a6cHP -> Sing t_a6cHQ -> Sing (Apply (Apply FoldMapSym0 t_a6cHP) t_a6cHQ :: m_a6cbY)
sFoldr :: forall a_a6cc0 b_a6cc1 (t_a6cHT :: (~>) a_a6cc0 ((~>) b_a6cc1 b_a6cc1)) (t_a6cHU :: b_a6cc1) (t_a6cHV :: t_a6cbW a_a6cc0). SFoldable t_a6cbW => Sing t_a6cHT -> Sing t_a6cHU -> Sing t_a6cHV -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cHT) t_a6cHU) t_a6cHV :: b_a6cc1)
sFoldl :: forall b_a6cc4 a_a6cc5 (t_a6cI5 :: (~>) b_a6cc4 ((~>) a_a6cc5 b_a6cc4)) (t_a6cI6 :: b_a6cc4) (t_a6cI7 :: t_a6cbW a_a6cc5). SFoldable t_a6cbW => Sing t_a6cI5 -> Sing t_a6cI6 -> Sing t_a6cI7 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cI5) t_a6cI6) t_a6cI7 :: b_a6cc4)
sFoldr1 :: forall a_a6cc8 (t_a6cIh :: (~>) a_a6cc8 ((~>) a_a6cc8 a_a6cc8)) (t_a6cIi :: t_a6cbW a_a6cc8). SFoldable t_a6cbW => Sing t_a6cIh -> Sing t_a6cIi -> Sing (Apply (Apply Foldr1Sym0 t_a6cIh) t_a6cIi :: a_a6cc8)
sFoldl1 :: forall a_a6cc9 (t_a6cIl :: (~>) a_a6cc9 ((~>) a_a6cc9 a_a6cc9)) (t_a6cIm :: t_a6cbW a_a6cc9). SFoldable t_a6cbW => Sing t_a6cIl -> Sing t_a6cIm -> Sing (Apply (Apply Foldl1Sym0 t_a6cIl) t_a6cIm :: a_a6cc9)
sElem :: forall a_a6ccd (t_a6cIv :: a_a6ccd) (t_a6cIw :: t_a6cbW a_a6ccd). (SFoldable t_a6cbW, SEq a_a6ccd) => Sing t_a6cIv -> Sing t_a6cIw -> Sing (Apply (Apply ElemSym0 t_a6cIv) t_a6cIw :: Bool)
sMaximum :: forall a_a6cce (t_a6cIz :: t_a6cbW a_a6cce). (SFoldable t_a6cbW, SOrd a_a6cce) => Sing t_a6cIz -> Sing (Apply MaximumSym0 t_a6cIz :: a_a6cce)
sMinimum :: forall a_a6ccf (t_a6cIB :: t_a6cbW a_a6ccf). (SFoldable t_a6cbW, SOrd a_a6ccf) => Sing t_a6cIB -> Sing (Apply MinimumSym0 t_a6cIB :: a_a6ccf)
sSum :: forall a_a6ccg (t_a6cID :: t_a6cbW a_a6ccg). (SFoldable t_a6cbW, SNum a_a6ccg) => Sing t_a6cID -> Sing (Apply SumSym0 t_a6cID :: a_a6ccg)
sProduct :: forall a_a6cch (t_a6cIF :: t_a6cbW a_a6cch). (SFoldable t_a6cbW, SNum a_a6cch) => Sing t_a6cIF -> Sing (Apply ProductSym0 t_a6cIF :: a_a6cch)
sFoldMap :: forall a_a6cbZ m_a6cbY (t_a6cHP :: (~>) a_a6cbZ m_a6cbY) (t_a6cHQ :: t_a6cbW a_a6cbZ). (SFoldable t_a6cbW, (Apply (Apply FoldMapSym0 t_a6cHP) t_a6cHQ :: m_a6cbY) ~ Apply (Apply FoldMap_6989586621680487314Sym0 t_a6cHP) t_a6cHQ, SMonoid m_a6cbY) => Sing t_a6cHP -> Sing t_a6cHQ -> Sing (Apply (Apply FoldMapSym0 t_a6cHP) t_a6cHQ :: m_a6cbY)
sFoldr :: forall a_a6cc0 b_a6cc1 (t_a6cHT :: (~>) a_a6cc0 ((~>) b_a6cc1 b_a6cc1)) (t_a6cHU :: b_a6cc1) (t_a6cHV :: t_a6cbW a_a6cc0). (SFoldable t_a6cbW, (Apply (Apply (Apply FoldrSym0 t_a6cHT) t_a6cHU) t_a6cHV :: b_a6cc1) ~ Apply (Apply (Apply Foldr_6989586621680487329Sym0 t_a6cHT) t_a6cHU) t_a6cHV) => Sing t_a6cHT -> Sing t_a6cHU -> Sing t_a6cHV -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cHT) t_a6cHU) t_a6cHV :: b_a6cc1)
sFoldl :: forall b_a6cc4 a_a6cc5 (t_a6cI5 :: (~>) b_a6cc4 ((~>) a_a6cc5 b_a6cc4)) (t_a6cI6 :: b_a6cc4) (t_a6cI7 :: t_a6cbW a_a6cc5). (SFoldable t_a6cbW, (Apply (Apply (Apply FoldlSym0 t_a6cI5) t_a6cI6) t_a6cI7 :: b_a6cc4) ~ Apply (Apply (Apply Foldl_6989586621680487384Sym0 t_a6cI5) t_a6cI6) t_a6cI7) => Sing t_a6cI5 -> Sing t_a6cI6 -> Sing t_a6cI7 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cI5) t_a6cI6) t_a6cI7 :: b_a6cc4)
sFoldr1 :: forall a_a6cc8 (t_a6cIh :: (~>) a_a6cc8 ((~>) a_a6cc8 a_a6cc8)) (t_a6cIi :: t_a6cbW a_a6cc8). (SFoldable t_a6cbW, (Apply (Apply Foldr1Sym0 t_a6cIh) t_a6cIi :: a_a6cc8) ~ Apply (Apply Foldr1_6989586621680487438Sym0 t_a6cIh) t_a6cIi) => Sing t_a6cIh -> Sing t_a6cIi -> Sing (Apply (Apply Foldr1Sym0 t_a6cIh) t_a6cIi :: a_a6cc8)
sFoldl1 :: forall a_a6cc9 (t_a6cIl :: (~>) a_a6cc9 ((~>) a_a6cc9 a_a6cc9)) (t_a6cIm :: t_a6cbW a_a6cc9). (SFoldable t_a6cbW, (Apply (Apply Foldl1Sym0 t_a6cIl) t_a6cIm :: a_a6cc9) ~ Apply (Apply Foldl1_6989586621680487463Sym0 t_a6cIl) t_a6cIm) => Sing t_a6cIl -> Sing t_a6cIm -> Sing (Apply (Apply Foldl1Sym0 t_a6cIl) t_a6cIm :: a_a6cc9)
sElem :: forall a_a6ccd (t_a6cIv :: a_a6ccd) (t_a6cIw :: t_a6cbW a_a6ccd). (SFoldable t_a6cbW, (Apply (Apply ElemSym0 t_a6cIv) t_a6cIw :: Bool) ~ Apply (Apply Elem_6989586621680487540Sym0 t_a6cIv) t_a6cIw, SEq a_a6ccd) => Sing t_a6cIv -> Sing t_a6cIw -> Sing (Apply (Apply ElemSym0 t_a6cIv) t_a6cIw :: Bool)
sMaximum :: forall a_a6cce (t_a6cIz :: t_a6cbW a_a6cce). (SFoldable t_a6cbW, (Apply MaximumSym0 t_a6cIz :: a_a6cce) ~ Apply Maximum_6989586621680487555Sym0 t_a6cIz, SOrd a_a6cce) => Sing t_a6cIz -> Sing (Apply MaximumSym0 t_a6cIz :: a_a6cce)
sMinimum :: forall a_a6ccf (t_a6cIB :: t_a6cbW a_a6ccf). (SFoldable t_a6cbW, (Apply MinimumSym0 t_a6cIB :: a_a6ccf) ~ Apply Minimum_6989586621680487568Sym0 t_a6cIB, SOrd a_a6ccf) => Sing t_a6cIB -> Sing (Apply MinimumSym0 t_a6cIB :: a_a6ccf)
sSum :: forall a_a6ccg (t_a6cID :: t_a6cbW a_a6ccg). (SFoldable t_a6cbW, (Apply SumSym0 t_a6cID :: a_a6ccg) ~ Apply Sum_6989586621680487581Sym0 t_a6cID, SNum a_a6ccg) => Sing t_a6cID -> Sing (Apply SumSym0 t_a6cID :: a_a6ccg)
sProduct :: forall a_a6cch (t_a6cIF :: t_a6cbW a_a6cch). (SFoldable t_a6cbW, (Apply ProductSym0 t_a6cIF :: a_a6cch) ~ Apply Product_6989586621680487594Sym0 t_a6cIF, SNum a_a6cch) => Sing t_a6cIF -> Sing (Apply ProductSym0 t_a6cIF :: a_a6cch)
class PTraversable (t_a7umL :: Type -> Type) where {
    type family Traverse (arg_a7umX :: (~>) a_a7umN (f_a7umM b_a7umO)) (arg_a7umY :: t_a7umL a_a7umN) :: f_a7umM (t_a7umL b_a7umO);
    type family SequenceA (arg_a7un1 :: t_a7umL (f_a7umP a_a7umQ)) :: f_a7umP (t_a7umL a_a7umQ);
    type family MapM (arg_a7un3 :: (~>) a_a7umS (m_a7umR b_a7umT)) (arg_a7un4 :: t_a7umL a_a7umS) :: m_a7umR (t_a7umL b_a7umT);
    type family Sequence (arg_a7un7 :: t_a7umL (m_a7umU a_a7umV)) :: m_a7umU (t_a7umL a_a7umV);
    type Traverse a_a7un9 a_a7una = Apply (Apply Traverse_6989586621680794845Sym0 a_a7un9) a_a7una;
    type SequenceA a_a7unn = Apply SequenceA_6989586621680794858Sym0 a_a7unn;
    type MapM a_a7unw a_a7unx = Apply (Apply MapM_6989586621680794868Sym0 a_a7unw) a_a7unx;
    type Sequence a_a7unM = Apply Sequence_6989586621680794883Sym0 a_a7unM;
}
class (SFunctor t_a7umL, SFoldable t_a7umL) => STraversable (t_a7umL :: Type -> Type)
sTraverse :: forall a_a7umN f_a7umM b_a7umO (t_a7unV :: (~>) a_a7umN (f_a7umM b_a7umO)) (t_a7unW :: t_a7umL a_a7umN). (STraversable t_a7umL, SApplicative f_a7umM) => Sing t_a7unV -> Sing t_a7unW -> Sing (Apply (Apply TraverseSym0 t_a7unV) t_a7unW :: f_a7umM (t_a7umL b_a7umO))
sSequenceA :: forall f_a7umP a_a7umQ (t_a7unZ :: t_a7umL (f_a7umP a_a7umQ)). (STraversable t_a7umL, SApplicative f_a7umP) => Sing t_a7unZ -> Sing (Apply SequenceASym0 t_a7unZ :: f_a7umP (t_a7umL a_a7umQ))
sMapM :: forall a_a7umS m_a7umR b_a7umT (t_a7uo1 :: (~>) a_a7umS (m_a7umR b_a7umT)) (t_a7uo2 :: t_a7umL a_a7umS). (STraversable t_a7umL, SMonad m_a7umR) => Sing t_a7uo1 -> Sing t_a7uo2 -> Sing (Apply (Apply MapMSym0 t_a7uo1) t_a7uo2 :: m_a7umR (t_a7umL b_a7umT))
sSequence :: forall m_a7umU a_a7umV (t_a7uo5 :: t_a7umL (m_a7umU a_a7umV)). (STraversable t_a7umL, SMonad m_a7umU) => Sing t_a7uo5 -> Sing (Apply SequenceSym0 t_a7uo5 :: m_a7umU (t_a7umL a_a7umV))
sTraverse :: forall a_a7umN f_a7umM b_a7umO (t_a7unV :: (~>) a_a7umN (f_a7umM b_a7umO)) (t_a7unW :: t_a7umL a_a7umN). (STraversable t_a7umL, (Apply (Apply TraverseSym0 t_a7unV) t_a7unW :: f_a7umM (t_a7umL b_a7umO)) ~ Apply (Apply Traverse_6989586621680794845Sym0 t_a7unV) t_a7unW, SApplicative f_a7umM) => Sing t_a7unV -> Sing t_a7unW -> Sing (Apply (Apply TraverseSym0 t_a7unV) t_a7unW :: f_a7umM (t_a7umL b_a7umO))
sSequenceA :: forall f_a7umP a_a7umQ (t_a7unZ :: t_a7umL (f_a7umP a_a7umQ)). (STraversable t_a7umL, (Apply SequenceASym0 t_a7unZ :: f_a7umP (t_a7umL a_a7umQ)) ~ Apply SequenceA_6989586621680794858Sym0 t_a7unZ, SApplicative f_a7umP) => Sing t_a7unZ -> Sing (Apply SequenceASym0 t_a7unZ :: f_a7umP (t_a7umL a_a7umQ))
sMapM :: forall a_a7umS m_a7umR b_a7umT (t_a7uo1 :: (~>) a_a7umS (m_a7umR b_a7umT)) (t_a7uo2 :: t_a7umL a_a7umS). (STraversable t_a7umL, (Apply (Apply MapMSym0 t_a7uo1) t_a7uo2 :: m_a7umR (t_a7umL b_a7umT)) ~ Apply (Apply MapM_6989586621680794868Sym0 t_a7uo1) t_a7uo2, SMonad m_a7umR) => Sing t_a7uo1 -> Sing t_a7uo2 -> Sing (Apply (Apply MapMSym0 t_a7uo1) t_a7uo2 :: m_a7umR (t_a7umL b_a7umT))
sSequence :: forall m_a7umU a_a7umV (t_a7uo5 :: t_a7umL (m_a7umU a_a7umV)). (STraversable t_a7umL, (Apply SequenceSym0 t_a7uo5 :: m_a7umU (t_a7umL a_a7umV)) ~ Apply Sequence_6989586621680794883Sym0 t_a7uo5, SMonad m_a7umU) => Sing t_a7uo5 -> Sing (Apply SequenceSym0 t_a7uo5 :: m_a7umU (t_a7umL a_a7umV))
type family Id (a_a2eo1 :: a_a2ekS) :: a_a2ekS
sId :: forall a_a2ekS (t_a2epe :: a_a2ekS). Sing t_a2epe -> Sing (Apply IdSym0 t_a2epe :: a_a2ekS)
type family Const (a_a2enW :: a_a2ekQ) (a_a2enX :: b_a2ekR) :: a_a2ekQ
sConst :: forall a_a2ekQ b_a2ekR (t_a2epa :: a_a2ekQ) (t_a2epb :: b_a2ekR). Sing t_a2epa -> Sing t_a2epb -> Sing (Apply (Apply ConstSym0 t_a2epa) t_a2epb :: a_a2ekQ)
type family (.) (a_a2enD :: (~>) b_a2ekN c_a2ekO) (a_a2enE :: (~>) a_a2ekP b_a2ekN) (a_a2enF :: a_a2ekP) :: c_a2ekO
infixr 9 .
(%.) :: forall b_a2ekN c_a2ekO a_a2ekP (t_a2ep4 :: (~>) b_a2ekN c_a2ekO) (t_a2ep5 :: (~>) a_a2ekP b_a2ekN) (t_a2ep6 :: a_a2ekP). Sing t_a2ep4 -> Sing t_a2ep5 -> Sing t_a2ep6 -> Sing (Apply (Apply (Apply (.@#@$) t_a2ep4) t_a2ep5) t_a2ep6 :: c_a2ekO)
infixr 9 %.
type family ($) (a_a2ene :: (~>) a_a2ekH b_a2ekI) (a_a2enf :: a_a2ekH) :: b_a2ekI
infixr 0 $
(%$) :: forall a_a2ekH b_a2ekI (t_a2eoQ :: (~>) a_a2ekH b_a2ekI) (t_a2eoR :: a_a2ekH). Sing t_a2eoQ -> Sing t_a2eoR -> Sing (Apply (Apply ($@#@$) t_a2eoQ) t_a2eoR :: b_a2ekI)
infixr 0 %$
type family ($!) (a_a2en5 :: (~>) a_a2ekF b_a2ekG) (a_a2en6 :: a_a2ekF) :: b_a2ekG
infixr 0 $!
(%$!) :: forall a_a2ekF b_a2ekG (t_a2eoM :: (~>) a_a2ekF b_a2ekG) (t_a2eoN :: a_a2ekF). Sing t_a2eoM -> Sing t_a2eoN -> Sing (Apply (Apply ($!@#@$) t_a2eoM) t_a2eoN :: b_a2ekG)
infixr 0 %$!
type family Flip (a_a2enu :: (~>) a_a2ekK ((~>) b_a2ekL c_a2ekM)) (a_a2env :: b_a2ekL) (a_a2enw :: a_a2ekK) :: c_a2ekM
sFlip :: forall a_a2ekK b_a2ekL c_a2ekM (t_a2eoY :: (~>) a_a2ekK ((~>) b_a2ekL c_a2ekM)) (t_a2eoZ :: b_a2ekL) (t_a2ep0 :: a_a2ekK). Sing t_a2eoY -> Sing t_a2eoZ -> Sing t_a2ep0 -> Sing (Apply (Apply (Apply FlipSym0 t_a2eoY) t_a2eoZ) t_a2ep0 :: c_a2ekM)
type family AsTypeOf (a_a2eno :: a_a2ekJ) (a_a2enp :: a_a2ekJ) :: a_a2ekJ
sAsTypeOf :: forall a_a2ekJ (t_a2eoU :: a_a2ekJ) (t_a2eoV :: a_a2ekJ). Sing t_a2eoU -> Sing t_a2eoV -> Sing (Apply (Apply AsTypeOfSym0 t_a2eoU) t_a2eoV :: a_a2ekJ)
type family Seq (a_a2emA :: a_a2ekC) (a_a2emB :: b_a2ekD) :: b_a2ekD
infixr 0 `Seq`
sSeq :: forall a_a2ekC b_a2ekD (t_a2eoC :: a_a2ekC) (t_a2eoD :: b_a2ekD). Sing t_a2eoC -> Sing t_a2eoD -> Sing (Apply (Apply SeqSym0 t_a2eoC) t_a2eoD :: b_a2ekD)
infixr 0 `sSeq`
type family Map (a_a2eoc :: (~>) a_a2ekU b_a2ekV) (a_a2eod :: [a_a2ekU]) :: [b_a2ekV]
sMap :: forall a_a2ekU b_a2ekV (t_a2epk :: (~>) a_a2ekU b_a2ekV) (t_a2epl :: [a_a2ekU]). Sing t_a2epk -> Sing t_a2epl -> Sing (Apply (Apply MapSym0 t_a2epk) t_a2epl :: [b_a2ekV])
type family (++) (a_a2eo4 :: [a_a2ekT]) (a_a2eo5 :: [a_a2ekT]) :: [a_a2ekT]
infixr 5 ++
(%++) :: forall a_a2ekT (t_a2epg :: [a_a2ekT]) (t_a2eph :: [a_a2ekT]). Sing t_a2epg -> Sing t_a2eph -> Sing (Apply (Apply (++@#@$) t_a2epg) t_a2eph :: [a_a2ekT])
infixr 5 %++
type family Filter (a_a432e :: (~>) a_a41QL Bool) (a_a432f :: [a_a41QL]) :: [a_a41QL]
sFilter :: forall a_a41QL (t_a43iD :: (~>) a_a41QL Bool) (t_a43iE :: [a_a41QL]). Sing t_a43iD -> Sing t_a43iE -> Sing (Apply (Apply FilterSym0 t_a43iD) t_a43iE :: [a_a41QL])
type family Head (a_a43gs :: [a_a41Sd]) :: a_a41Sd
sHead :: forall a_a41Sd (t_a43lX :: [a_a41Sd]). Sing t_a43lX -> Sing (Apply HeadSym0 t_a43lX :: a_a41Sd)
type family Last (a_a43gn :: [a_a41Sc]) :: a_a41Sc
sLast :: forall a_a41Sc (t_a43lV :: [a_a41Sc]). Sing t_a43lV -> Sing (Apply LastSym0 t_a43lV :: a_a41Sc)
type family Tail (a_a43gk :: [a_a41Sb]) :: [a_a41Sb]
sTail :: forall a_a41Sb (t_a43lT :: [a_a41Sb]). Sing t_a43lT -> Sing (Apply TailSym0 t_a43lT :: [a_a41Sb])
type family Init (a_a43g6 :: [a_a41Sa]) :: [a_a41Sa]
sInit :: forall a_a41Sa (t_a43lR :: [a_a41Sa]). Sing t_a43lR -> Sing (Apply InitSym0 t_a43lR :: [a_a41Sa])
type family Null (arg_a6cmz :: t_a6cbW a_a6ccb) :: Bool
sNull :: forall a_a6ccb (t_a6cIr :: t_a6cbW a_a6ccb). SFoldable t_a6cbW => Sing t_a6cIr -> Sing (Apply NullSym0 t_a6cIr :: Bool)
type family Reverse (a_a43fR :: [a_a41S8]) :: [a_a41S8]
sReverse :: forall a_a41S8 (t_a43lN :: [a_a41S8]). Sing t_a43lN -> Sing (Apply ReverseSym0 t_a43lN :: [a_a41S8])
type family And (a_a6cjI :: t_a6caF Bool) :: Bool
sAnd :: forall t_a6caF (t_a6cGq :: t_a6caF Bool). SFoldable t_a6caF => Sing t_a6cGq -> Sing (Apply AndSym0 t_a6cGq :: Bool)
type family Or (a_a6cjz :: t_a6caE Bool) :: Bool
sOr :: forall t_a6caE (t_a6cGo :: t_a6caE Bool). SFoldable t_a6caE => Sing t_a6cGo -> Sing (Apply OrSym0 t_a6cGo :: Bool)
type family Any (a_a6cjm :: (~>) a_a6caD Bool) (a_a6cjn :: t_a6caC a_a6caD) :: Bool
sAny :: forall a_a6caD t_a6caC (t_a6cGk :: (~>) a_a6caD Bool) (t_a6cGl :: t_a6caC a_a6caD). SFoldable t_a6caC => Sing t_a6cGk -> Sing t_a6cGl -> Sing (Apply (Apply AnySym0 t_a6cGk) t_a6cGl :: Bool)
type family All (a_a6cj9 :: (~>) a_a6caB Bool) (a_a6cja :: t_a6caA a_a6caB) :: Bool
sAll :: forall a_a6caB t_a6caA (t_a6cGg :: (~>) a_a6caB Bool) (t_a6cGh :: t_a6caA a_a6caB). SFoldable t_a6caA => Sing t_a6cGg -> Sing t_a6cGh -> Sing (Apply (Apply AllSym0 t_a6cGg) t_a6cGh :: Bool)
type family Concat (a_a6ck7 :: t_a6caJ [a_a6caK]) :: [a_a6caK]
sConcat :: forall t_a6caJ a_a6caK (t_a6cGw :: t_a6caJ [a_a6caK]). SFoldable t_a6caJ => Sing t_a6cGw -> Sing (Apply ConcatSym0 t_a6cGw :: [a_a6caK])
type family ConcatMap (a_a6cjR :: (~>) a_a6caH [b_a6caI]) (a_a6cjS :: t_a6caG a_a6caH) :: [b_a6caI]
sConcatMap :: forall a_a6caH b_a6caI t_a6caG (t_a6cGs :: (~>) a_a6caH [b_a6caI]) (t_a6cGt :: t_a6caG a_a6caH). SFoldable t_a6caG => Sing t_a6cGs -> Sing t_a6cGt -> Sing (Apply (Apply ConcatMapSym0 t_a6cGs) t_a6cGt :: [b_a6caI])
type family Scanl (a_a43c0 :: (~>) b_a41RQ ((~>) a_a41RR b_a41RQ)) (a_a43c1 :: b_a41RQ) (a_a43c2 :: [a_a41RR]) :: [b_a41RQ]
sScanl :: forall b_a41RQ a_a41RR (t_a43kP :: (~>) b_a41RQ ((~>) a_a41RR b_a41RQ)) (t_a43kQ :: b_a41RQ) (t_a43kR :: [a_a41RR]). Sing t_a43kP -> Sing t_a43kQ -> Sing t_a43kR -> Sing (Apply (Apply (Apply ScanlSym0 t_a43kP) t_a43kQ) t_a43kR :: [b_a41RQ])
type family Scanl1 (a_a43bT :: (~>) a_a41RP ((~>) a_a41RP a_a41RP)) (a_a43bU :: [a_a41RP]) :: [a_a41RP]
sScanl1 :: forall a_a41RP (t_a43kL :: (~>) a_a41RP ((~>) a_a41RP a_a41RP)) (t_a43kM :: [a_a41RP]). Sing t_a43kL -> Sing t_a43kM -> Sing (Apply (Apply Scanl1Sym0 t_a43kL) t_a43kM :: [a_a41RP])
type family Scanr (a_a43by :: (~>) a_a41RN ((~>) b_a41RO b_a41RO)) (a_a43bz :: b_a41RO) (a_a43bA :: [a_a41RN]) :: [b_a41RO]
sScanr :: forall a_a41RN b_a41RO (t_a43kF :: (~>) a_a41RN ((~>) b_a41RO b_a41RO)) (t_a43kG :: b_a41RO) (t_a43kH :: [a_a41RN]). Sing t_a43kF -> Sing t_a43kG -> Sing t_a43kH -> Sing (Apply (Apply (Apply ScanrSym0 t_a43kF) t_a43kG) t_a43kH :: [b_a41RO])
type family Scanr1 (a_a43ba :: (~>) a_a41RM ((~>) a_a41RM a_a41RM)) (a_a43bb :: [a_a41RM]) :: [a_a41RM]
sScanr1 :: forall a_a41RM (t_a43kB :: (~>) a_a41RM ((~>) a_a41RM a_a41RM)) (t_a43kC :: [a_a41RM]). Sing t_a43kB -> Sing t_a43kC -> Sing (Apply (Apply Scanr1Sym0 t_a43kB) t_a43kC :: [a_a41RM])
type family Replicate (a_a42Vt :: Nat) (a_a42Vu :: a_a41Qi) :: [a_a41Qi]
sReplicate :: forall a_a41Qi (t_a43gZ :: Nat) (t_a43h0 :: a_a41Qi). Sing t_a43gZ -> Sing t_a43h0 -> Sing (Apply (Apply ReplicateSym0 t_a43gZ) t_a43h0 :: [a_a41Qi])
type family Take (a_a42Y4 :: Nat) (a_a42Y5 :: [a_a41Qy]) :: [a_a41Qy]
sTake :: forall a_a41Qy (t_a43hL :: Nat) (t_a43hM :: [a_a41Qy]). Sing t_a43hL -> Sing t_a43hM -> Sing (Apply (Apply TakeSym0 t_a43hL) t_a43hM :: [a_a41Qy])
type family Drop (a_a42XQ :: Nat) (a_a42XR :: [a_a41Qx]) :: [a_a41Qx]
sDrop :: forall a_a41Qx (t_a43hH :: Nat) (t_a43hI :: [a_a41Qx]). Sing t_a43hH -> Sing t_a43hI -> Sing (Apply (Apply DropSym0 t_a43hH) t_a43hI :: [a_a41Qx])
type family SplitAt (a_a42XK :: Nat) (a_a42XL :: [a_a41Qw]) :: ([a_a41Qw], [a_a41Qw])
sSplitAt :: forall a_a41Qw (t_a43hD :: Nat) (t_a43hE :: [a_a41Qw]). Sing t_a43hD -> Sing t_a43hE -> Sing (Apply (Apply SplitAtSym0 t_a43hD) t_a43hE :: ([a_a41Qw], [a_a41Qw]))
type family TakeWhile (a_a430o :: (~>) a_a41QD Bool) (a_a430p :: [a_a41QD]) :: [a_a41QD]
sTakeWhile :: forall a_a41QD (t_a43i5 :: (~>) a_a41QD Bool) (t_a43i6 :: [a_a41QD]). Sing t_a43i5 -> Sing t_a43i6 -> Sing (Apply (Apply TakeWhileSym0 t_a43i5) t_a43i6 :: [a_a41QD])
type family Span (a_a42YZ :: (~>) a_a41QA Bool) (a_a42Z0 :: [a_a41QA]) :: ([a_a41QA], [a_a41QA])
sSpan :: forall a_a41QA (t_a43hT :: (~>) a_a41QA Bool) (t_a43hU :: [a_a41QA]). Sing t_a43hT -> Sing t_a43hU -> Sing (Apply (Apply SpanSym0 t_a43hT) t_a43hU :: ([a_a41QA], [a_a41QA]))
type family Break (a_a42Yi :: (~>) a_a41Qz Bool) (a_a42Yj :: [a_a41Qz]) :: ([a_a41Qz], [a_a41Qz])
sBreak :: forall a_a41Qz (t_a43hP :: (~>) a_a41Qz Bool) (t_a43hQ :: [a_a41Qz]). Sing t_a43hP -> Sing t_a43hQ -> Sing (Apply (Apply BreakSym0 t_a43hP) t_a43hQ :: ([a_a41Qz], [a_a41Qz]))
type family NotElem (a_a6cid :: a_a6cav) (a_a6cie :: t_a6cau a_a6cav) :: Bool
sNotElem :: forall a_a6cav t_a6cau (t_a6cG4 :: a_a6cav) (t_a6cG5 :: t_a6cau a_a6cav). (SFoldable t_a6cau, SEq a_a6cav) => Sing t_a6cG4 -> Sing t_a6cG5 -> Sing (Apply (Apply NotElemSym0 t_a6cG4) t_a6cG5 :: Bool)
type family Lookup (a_a42Ww :: a_a41Qo) (a_a42Wx :: [(a_a41Qo, b_a41Qp)]) :: Maybe b_a41Qp
sLookup :: forall a_a41Qo b_a41Qp (t_a43hj :: a_a41Qo) (t_a43hk :: [(a_a41Qo, b_a41Qp)]). SEq a_a41Qo => Sing t_a43hj -> Sing t_a43hk -> Sing (Apply (Apply LookupSym0 t_a43hj) t_a43hk :: Maybe b_a41Qp)
type family Zip (a_a437X :: [a_a41Rv]) (a_a437Y :: [b_a41Rw]) :: [(a_a41Rv, b_a41Rw)]
sZip :: forall a_a41Rv b_a41Rw (t_a43jT :: [a_a41Rv]) (t_a43jU :: [b_a41Rw]). Sing t_a43jT -> Sing t_a43jU -> Sing (Apply (Apply ZipSym0 t_a43jT) t_a43jU :: [(a_a41Rv, b_a41Rw)])
type family Zip3 (a_a437L :: [a_a41Rs]) (a_a437M :: [b_a41Rt]) (a_a437N :: [c_a41Ru]) :: [(a_a41Rs, b_a41Rt, c_a41Ru)]
sZip3 :: forall a_a41Rs b_a41Rt c_a41Ru (t_a43jN :: [a_a41Rs]) (t_a43jO :: [b_a41Rt]) (t_a43jP :: [c_a41Ru]). Sing t_a43jN -> Sing t_a43jO -> Sing t_a43jP -> Sing (Apply (Apply (Apply Zip3Sym0 t_a43jN) t_a43jO) t_a43jP :: [(a_a41Rs, b_a41Rt, c_a41Ru)])
type family ZipWith (a_a437A :: (~>) a_a41Rp ((~>) b_a41Rq c_a41Rr)) (a_a437B :: [a_a41Rp]) (a_a437C :: [b_a41Rq]) :: [c_a41Rr]
sZipWith :: forall a_a41Rp b_a41Rq c_a41Rr (t_a43jH :: (~>) a_a41Rp ((~>) b_a41Rq c_a41Rr)) (t_a43jI :: [a_a41Rp]) (t_a43jJ :: [b_a41Rq]). Sing t_a43jH -> Sing t_a43jI -> Sing t_a43jJ -> Sing (Apply (Apply (Apply ZipWithSym0 t_a43jH) t_a43jI) t_a43jJ :: [c_a41Rr])
type family ZipWith3 (a_a437l :: (~>) a_a41Rl ((~>) b_a41Rm ((~>) c_a41Rn d_a41Ro))) (a_a437m :: [a_a41Rl]) (a_a437n :: [b_a41Rm]) (a_a437o :: [c_a41Rn]) :: [d_a41Ro]
sZipWith3 :: forall a_a41Rl b_a41Rm c_a41Rn d_a41Ro (t_a43jz :: (~>) a_a41Rl ((~>) b_a41Rm ((~>) c_a41Rn d_a41Ro))) (t_a43jA :: [a_a41Rl]) (t_a43jB :: [b_a41Rm]) (t_a43jC :: [c_a41Rn]). Sing t_a43jz -> Sing t_a43jA -> Sing t_a43jB -> Sing t_a43jC -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a43jz) t_a43jA) t_a43jB) t_a43jC :: [d_a41Ro])
type family Unzip (a_a4372 :: [(a_a41Rj, b_a41Rk)]) :: ([a_a41Rj], [b_a41Rk])
sUnzip :: forall a_a41Rj b_a41Rk (t_a43jx :: [(a_a41Rj, b_a41Rk)]). Sing t_a43jx -> Sing (Apply UnzipSym0 t_a43jx :: ([a_a41Rj], [b_a41Rk]))
type family Unzip3 (a_a436H :: [(a_a41Rg, b_a41Rh, c_a41Ri)]) :: ([a_a41Rg], [b_a41Rh], [c_a41Ri])
sUnzip3 :: forall a_a41Rg b_a41Rh c_a41Ri (t_a43jv :: [(a_a41Rg, b_a41Rh, c_a41Ri)]). Sing t_a43jv -> Sing (Apply Unzip3Sym0 t_a43jv :: ([a_a41Rg], [b_a41Rh], [c_a41Ri]))
type family Unlines (a_a434X :: [Symbol]) :: Symbol
sUnlines :: forall (t_a43jl :: [Symbol]). Sing t_a43jl -> Sing (Apply UnlinesSym0 t_a43jl :: Symbol)
type family Unwords (a_a434M :: [Symbol]) :: Symbol
sUnwords :: forall (t_a43jj :: [Symbol]). Sing t_a43jj -> Sing (Apply UnwordsSym0 t_a43jj :: Symbol)
type family Maybe_ (a_a26o9 :: b_a26nR) (a_a26oa :: (~>) a_a26nS b_a26nR) (a_a26ob :: Maybe a_a26nS) :: b_a26nR
sMaybe_ :: forall b_a26nR a_a26nS (t_a26oi :: b_a26nR) (t_a26oj :: (~>) a_a26nS b_a26nR) (t_a26ok :: Maybe a_a26nS). Sing t_a26oi -> Sing t_a26oj -> Sing t_a26ok -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a26oi) t_a26oj) t_a26ok :: b_a26nR)
type family Either_ (a_a66Sp :: (~>) a_a66RP c_a66RQ) (a_a66Sq :: (~>) b_a66RR c_a66RQ) (a_a66Sr :: Either a_a66RP b_a66RR) :: c_a66RQ
sEither_ :: forall a_a66RP c_a66RQ b_a66RR (t_a66Sz :: (~>) a_a66RP c_a66RQ) (t_a66SA :: (~>) b_a66RR c_a66RQ) (t_a66SB :: Either a_a66RP b_a66RR). Sing t_a66Sz -> Sing t_a66SA -> Sing t_a66SB -> Sing (Apply (Apply (Apply Either_Sym0 t_a66Sz) t_a66SA) t_a66SB :: c_a66RQ)
type family Fst (a_a1uIk :: (a_a1uGG, b_a1uGH)) :: a_a1uGG
sFst :: forall a_a1uGG b_a1uGH (t_a1uIB :: (a_a1uGG, b_a1uGH)). Sing t_a1uIB -> Sing (Apply FstSym0 t_a1uIB :: a_a1uGG)
type family Snd (a_a1uIh :: (a_a1uGE, b_a1uGF)) :: b_a1uGF
sSnd :: forall a_a1uGE b_a1uGF (t_a1uIz :: (a_a1uGE, b_a1uGF)). Sing t_a1uIz -> Sing (Apply SndSym0 t_a1uIz :: b_a1uGF)
type family Curry (a_a1uI8 :: (~>) (a_a1uGB, b_a1uGC) c_a1uGD) (a_a1uI9 :: a_a1uGB) (a_a1uIa :: b_a1uGC) :: c_a1uGD
sCurry :: forall a_a1uGB b_a1uGC c_a1uGD (t_a1uIt :: (~>) (a_a1uGB, b_a1uGC) c_a1uGD) (t_a1uIu :: a_a1uGB) (t_a1uIv :: b_a1uGC). Sing t_a1uIt -> Sing t_a1uIu -> Sing t_a1uIv -> Sing (Apply (Apply (Apply CurrySym0 t_a1uIt) t_a1uIu) t_a1uIv :: c_a1uGD)
type family Uncurry (a_a1uI2 :: (~>) a_a1uGy ((~>) b_a1uGz c_a1uGA)) (a_a1uI3 :: (a_a1uGy, b_a1uGz)) :: c_a1uGA
sUncurry :: forall a_a1uGy b_a1uGz c_a1uGA (t_a1uIp :: (~>) a_a1uGy ((~>) b_a1uGz c_a1uGA)) (t_a1uIq :: (a_a1uGy, b_a1uGz)). Sing t_a1uIp -> Sing t_a1uIq -> Sing (Apply (Apply UncurrySym0 t_a1uIp) t_a1uIq :: c_a1uGA)
data Symbol
either_ :: (a_a66RP -> c_a66RQ) -> (b_a66RR -> c_a66RQ) -> Either a_a66RP b_a66RR -> c_a66RQ
maybe_ :: b_a26nR -> (a_a26nS -> b_a26nR) -> Maybe a_a26nS -> b_a26nR
bool_ :: a_a1w8x -> a_a1w8x -> Bool -> a_a1w8x

-- | <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 (a6989586621679372951 :: Bool) = Not a6989586621679372951
data (&&@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 3 &&@#@$
data (&&@#@$$) (a6989586621679372419 :: Bool) :: (~>) Bool Bool
infixr 3 &&@#@$$
type (&&@#@$$$) (a6989586621679372419 :: Bool) (b6989586621679372420 :: Bool) = (&&) a6989586621679372419 b6989586621679372420
data (||@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 2 ||@#@$
data (||@#@$$) (a6989586621679372657 :: Bool) :: (~>) Bool Bool
infixr 2 ||@#@$$
type (||@#@$$$) (a6989586621679372657 :: Bool) (b6989586621679372658 :: Bool) = (||) a6989586621679372657 b6989586621679372658
type OtherwiseSym0 = Otherwise
type NothingSym0 = 'Nothing
data JustSym0 :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 (Maybe (a3530822107858468865 :: Type))
type JustSym1 (t6989586621679310904 :: a3530822107858468865) = 'Just t6989586621679310904
data Maybe_Sym0 :: forall b6989586621679510991 a6989586621679510992. (~>) b6989586621679510991 ((~>) ((~>) a6989586621679510992 b6989586621679510991) ((~>) (Maybe a6989586621679510992) b6989586621679510991))
data Maybe_Sym1 (a6989586621679511009 :: b6989586621679510991) :: forall a6989586621679510992. (~>) ((~>) a6989586621679510992 b6989586621679510991) ((~>) (Maybe a6989586621679510992) b6989586621679510991)
data Maybe_Sym2 (a6989586621679511009 :: b6989586621679510991) (a6989586621679511010 :: (~>) a6989586621679510992 b6989586621679510991) :: (~>) (Maybe a6989586621679510992) b6989586621679510991
type Maybe_Sym3 (a6989586621679511009 :: b6989586621679510991) (a6989586621679511010 :: (~>) a6989586621679510992 b6989586621679510991) (a6989586621679511011 :: Maybe a6989586621679510992) = Maybe_ a6989586621679511009 a6989586621679511010 a6989586621679511011
data LeftSym0 :: forall (a6989586621679086099 :: Type) (b6989586621679086100 :: Type). (~>) a6989586621679086099 (Either (a6989586621679086099 :: Type) (b6989586621679086100 :: Type))
type LeftSym1 (t6989586621679310971 :: a6989586621679086099) = 'Left t6989586621679310971
data RightSym0 :: forall (b6989586621679086100 :: Type) (a6989586621679086099 :: Type). (~>) b6989586621679086100 (Either (a6989586621679086099 :: Type) (b6989586621679086100 :: Type))
type RightSym1 (t6989586621679310973 :: b6989586621679086100) = 'Right t6989586621679310973
data Either_Sym0 :: forall a6989586621680466161 c6989586621680466162 b6989586621680466163. (~>) ((~>) a6989586621680466161 c6989586621680466162) ((~>) ((~>) b6989586621680466163 c6989586621680466162) ((~>) (Either a6989586621680466161 b6989586621680466163) c6989586621680466162))
data Either_Sym1 (a6989586621680466197 :: (~>) a6989586621680466161 c6989586621680466162) :: forall b6989586621680466163. (~>) ((~>) b6989586621680466163 c6989586621680466162) ((~>) (Either a6989586621680466161 b6989586621680466163) c6989586621680466162)
data Either_Sym2 (a6989586621680466197 :: (~>) a6989586621680466161 c6989586621680466162) (a6989586621680466198 :: (~>) b6989586621680466163 c6989586621680466162) :: (~>) (Either a6989586621680466161 b6989586621680466163) c6989586621680466162
type Either_Sym3 (a6989586621680466197 :: (~>) a6989586621680466161 c6989586621680466162) (a6989586621680466198 :: (~>) b6989586621680466163 c6989586621680466162) (a6989586621680466199 :: Either a6989586621680466161 b6989586621680466163) = Either_ a6989586621680466197 a6989586621680466198 a6989586621680466199
type Tuple0Sym0 = '()
data Tuple2Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 (a3530822107858468865 :: Type, b3530822107858468866 :: Type))
data Tuple2Sym1 (t6989586621679311021 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type). (~>) b3530822107858468866 (a3530822107858468865 :: Type, b3530822107858468866 :: Type)
type Tuple2Sym2 (t6989586621679311021 :: a3530822107858468865) (t6989586621679311022 :: b3530822107858468866) = '(t6989586621679311021, t6989586621679311022)
data Tuple3Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type)))
data Tuple3Sym1 (t6989586621679311052 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type))
data Tuple3Sym2 (t6989586621679311052 :: a3530822107858468865 :: Type) (t6989586621679311053 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type). (~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type)
type Tuple3Sym3 (t6989586621679311052 :: a3530822107858468865) (t6989586621679311053 :: b3530822107858468866) (t6989586621679311054 :: c3530822107858468867) = '(t6989586621679311052, t6989586621679311053, t6989586621679311054)
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 (t6989586621679311099 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type)))
data Tuple4Sym2 (t6989586621679311099 :: a3530822107858468865 :: Type) (t6989586621679311100 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type))
data Tuple4Sym3 (t6989586621679311099 :: a3530822107858468865 :: Type) (t6989586621679311100 :: b3530822107858468866 :: Type) (t6989586621679311101 :: c3530822107858468867 :: Type) :: forall (d3530822107858468868 :: Type). (~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type)
type Tuple4Sym4 (t6989586621679311099 :: a3530822107858468865) (t6989586621679311100 :: b3530822107858468866) (t6989586621679311101 :: c3530822107858468867) (t6989586621679311102 :: d3530822107858468868) = '(t6989586621679311099, t6989586621679311100, t6989586621679311101, t6989586621679311102)
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 (t6989586621679311164 :: 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 (t6989586621679311164 :: a3530822107858468865 :: Type) (t6989586621679311165 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type)))
data Tuple5Sym3 (t6989586621679311164 :: a3530822107858468865 :: Type) (t6989586621679311165 :: b3530822107858468866 :: Type) (t6989586621679311166 :: c3530822107858468867 :: Type) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type))
data Tuple5Sym4 (t6989586621679311164 :: a3530822107858468865 :: Type) (t6989586621679311165 :: b3530822107858468866 :: Type) (t6989586621679311166 :: c3530822107858468867 :: Type) (t6989586621679311167 :: d3530822107858468868 :: Type) :: forall (e3530822107858468869 :: Type). (~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type)
type Tuple5Sym5 (t6989586621679311164 :: a3530822107858468865) (t6989586621679311165 :: b3530822107858468866) (t6989586621679311166 :: c3530822107858468867) (t6989586621679311167 :: d3530822107858468868) (t6989586621679311168 :: e3530822107858468869) = '(t6989586621679311164, t6989586621679311165, t6989586621679311166, t6989586621679311167, t6989586621679311168)
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 (t6989586621679311249 :: 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 (t6989586621679311249 :: a3530822107858468865 :: Type) (t6989586621679311250 :: 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 (t6989586621679311249 :: a3530822107858468865 :: Type) (t6989586621679311250 :: b3530822107858468866 :: Type) (t6989586621679311251 :: 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 (t6989586621679311249 :: a3530822107858468865 :: Type) (t6989586621679311250 :: b3530822107858468866 :: Type) (t6989586621679311251 :: c3530822107858468867 :: Type) (t6989586621679311252 :: d3530822107858468868 :: Type) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type))
data Tuple6Sym5 (t6989586621679311249 :: a3530822107858468865 :: Type) (t6989586621679311250 :: b3530822107858468866 :: Type) (t6989586621679311251 :: c3530822107858468867 :: Type) (t6989586621679311252 :: d3530822107858468868 :: Type) (t6989586621679311253 :: e3530822107858468869 :: Type) :: forall (f3530822107858468870 :: Type). (~>) f3530822107858468870 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type)
type Tuple6Sym6 (t6989586621679311249 :: a3530822107858468865) (t6989586621679311250 :: b3530822107858468866) (t6989586621679311251 :: c3530822107858468867) (t6989586621679311252 :: d3530822107858468868) (t6989586621679311253 :: e3530822107858468869) (t6989586621679311254 :: f3530822107858468870) = '(t6989586621679311249, t6989586621679311250, t6989586621679311251, t6989586621679311252, t6989586621679311253, t6989586621679311254)
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 (t6989586621679311356 :: 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 (t6989586621679311356 :: a3530822107858468865 :: Type) (t6989586621679311357 :: 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 (t6989586621679311356 :: a3530822107858468865 :: Type) (t6989586621679311357 :: b3530822107858468866 :: Type) (t6989586621679311358 :: 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 (t6989586621679311356 :: a3530822107858468865 :: Type) (t6989586621679311357 :: b3530822107858468866 :: Type) (t6989586621679311358 :: c3530822107858468867 :: Type) (t6989586621679311359 :: 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 (t6989586621679311356 :: a3530822107858468865 :: Type) (t6989586621679311357 :: b3530822107858468866 :: Type) (t6989586621679311358 :: c3530822107858468867 :: Type) (t6989586621679311359 :: d3530822107858468868 :: Type) (t6989586621679311360 :: 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 (t6989586621679311356 :: a3530822107858468865 :: Type) (t6989586621679311357 :: b3530822107858468866 :: Type) (t6989586621679311358 :: c3530822107858468867 :: Type) (t6989586621679311359 :: d3530822107858468868 :: Type) (t6989586621679311360 :: e3530822107858468869 :: Type) (t6989586621679311361 :: f3530822107858468870 :: Type) :: forall (g3530822107858468871 :: Type). (~>) g3530822107858468871 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type, g3530822107858468871 :: Type)
type Tuple7Sym7 (t6989586621679311356 :: a3530822107858468865) (t6989586621679311357 :: b3530822107858468866) (t6989586621679311358 :: c3530822107858468867) (t6989586621679311359 :: d3530822107858468868) (t6989586621679311360 :: e3530822107858468869) (t6989586621679311361 :: f3530822107858468870) (t6989586621679311362 :: g3530822107858468871) = '(t6989586621679311356, t6989586621679311357, t6989586621679311358, t6989586621679311359, t6989586621679311360, t6989586621679311361, t6989586621679311362)
data FstSym0 :: forall a6989586621679366086 b6989586621679366087. (~>) (a6989586621679366086, b6989586621679366087) a6989586621679366086
type FstSym1 (a6989586621679366188 :: (a6989586621679366086, b6989586621679366087)) = Fst a6989586621679366188
data SndSym0 :: forall a6989586621679366084 b6989586621679366085. (~>) (a6989586621679366084, b6989586621679366085) b6989586621679366085
type SndSym1 (a6989586621679366185 :: (a6989586621679366084, b6989586621679366085)) = Snd a6989586621679366185
data CurrySym0 :: forall a6989586621679366081 b6989586621679366082 c6989586621679366083. (~>) ((~>) (a6989586621679366081, b6989586621679366082) c6989586621679366083) ((~>) a6989586621679366081 ((~>) b6989586621679366082 c6989586621679366083))
data CurrySym1 (a6989586621679366176 :: (~>) (a6989586621679366081, b6989586621679366082) c6989586621679366083) :: (~>) a6989586621679366081 ((~>) b6989586621679366082 c6989586621679366083)
data CurrySym2 (a6989586621679366176 :: (~>) (a6989586621679366081, b6989586621679366082) c6989586621679366083) (a6989586621679366177 :: a6989586621679366081) :: (~>) b6989586621679366082 c6989586621679366083
type CurrySym3 (a6989586621679366176 :: (~>) (a6989586621679366081, b6989586621679366082) c6989586621679366083) (a6989586621679366177 :: a6989586621679366081) (a6989586621679366178 :: b6989586621679366082) = Curry a6989586621679366176 a6989586621679366177 a6989586621679366178
data UncurrySym0 :: forall a6989586621679366078 b6989586621679366079 c6989586621679366080. (~>) ((~>) a6989586621679366078 ((~>) b6989586621679366079 c6989586621679366080)) ((~>) (a6989586621679366078, b6989586621679366079) c6989586621679366080)
data UncurrySym1 (a6989586621679366170 :: (~>) a6989586621679366078 ((~>) b6989586621679366079 c6989586621679366080)) :: (~>) (a6989586621679366078, b6989586621679366079) c6989586621679366080
type UncurrySym2 (a6989586621679366170 :: (~>) a6989586621679366078 ((~>) b6989586621679366079 c6989586621679366080)) (a6989586621679366171 :: (a6989586621679366078, b6989586621679366079)) = Uncurry a6989586621679366170 a6989586621679366171
data ErrorSym0 :: forall k06989586621679481929 k6989586621679481930. (~>) k06989586621679481929 k6989586621679481930
type ErrorSym1 (str6989586621679481931 :: k06989586621679481929) = Error str6989586621679481931
data ErrorWithoutStackTraceSym0 :: forall k06989586621679483019 k6989586621679483020. (~>) k06989586621679483019 k6989586621679483020
type ErrorWithoutStackTraceSym1 (str6989586621679483021 :: k06989586621679483019) = ErrorWithoutStackTrace str6989586621679483021
type UndefinedSym0 = Undefined
type LTSym0 = 'LT
type EQSym0 = 'EQ
type GTSym0 = 'GT
data CompareSym0 :: forall a6989586621679389754. (~>) a6989586621679389754 ((~>) a6989586621679389754 Ordering)
data CompareSym1 (arg6989586621679389843 :: a6989586621679389754) :: (~>) a6989586621679389754 Ordering
type CompareSym2 (arg6989586621679389843 :: a6989586621679389754) (arg6989586621679389844 :: a6989586621679389754) = Compare arg6989586621679389843 arg6989586621679389844
data (<@#@$) :: forall a6989586621679389754. (~>) a6989586621679389754 ((~>) a6989586621679389754 Bool)
infix 4 <@#@$
data (<@#@$$) (arg6989586621679389847 :: a6989586621679389754) :: (~>) a6989586621679389754 Bool
infix 4 <@#@$$
type (<@#@$$$) (arg6989586621679389847 :: a6989586621679389754) (arg6989586621679389848 :: a6989586621679389754) = (<) arg6989586621679389847 arg6989586621679389848
data (<=@#@$) :: forall a6989586621679389754. (~>) a6989586621679389754 ((~>) a6989586621679389754 Bool)
infix 4 <=@#@$
data (<=@#@$$) (arg6989586621679389851 :: a6989586621679389754) :: (~>) a6989586621679389754 Bool
infix 4 <=@#@$$
type (<=@#@$$$) (arg6989586621679389851 :: a6989586621679389754) (arg6989586621679389852 :: a6989586621679389754) = (<=) arg6989586621679389851 arg6989586621679389852
data (>@#@$) :: forall a6989586621679389754. (~>) a6989586621679389754 ((~>) a6989586621679389754 Bool)
infix 4 >@#@$
data (>@#@$$) (arg6989586621679389855 :: a6989586621679389754) :: (~>) a6989586621679389754 Bool
infix 4 >@#@$$
type (>@#@$$$) (arg6989586621679389855 :: a6989586621679389754) (arg6989586621679389856 :: a6989586621679389754) = (>) arg6989586621679389855 arg6989586621679389856
data (>=@#@$) :: forall a6989586621679389754. (~>) a6989586621679389754 ((~>) a6989586621679389754 Bool)
infix 4 >=@#@$
data (>=@#@$$) (arg6989586621679389859 :: a6989586621679389754) :: (~>) a6989586621679389754 Bool
infix 4 >=@#@$$
type (>=@#@$$$) (arg6989586621679389859 :: a6989586621679389754) (arg6989586621679389860 :: a6989586621679389754) = (>=) arg6989586621679389859 arg6989586621679389860
data MaxSym0 :: forall a6989586621679389754. (~>) a6989586621679389754 ((~>) a6989586621679389754 a6989586621679389754)
data MaxSym1 (arg6989586621679389863 :: a6989586621679389754) :: (~>) a6989586621679389754 a6989586621679389754
type MaxSym2 (arg6989586621679389863 :: a6989586621679389754) (arg6989586621679389864 :: a6989586621679389754) = Max arg6989586621679389863 arg6989586621679389864
data MinSym0 :: forall a6989586621679389754. (~>) a6989586621679389754 ((~>) a6989586621679389754 a6989586621679389754)
data MinSym1 (arg6989586621679389867 :: a6989586621679389754) :: (~>) a6989586621679389754 a6989586621679389754
type MinSym2 (arg6989586621679389867 :: a6989586621679389754) (arg6989586621679389868 :: a6989586621679389754) = Min arg6989586621679389867 arg6989586621679389868
data (^@#@$) :: (~>) Nat ((~>) Nat Nat)
infixr 8 ^@#@$
data (^@#@$$) (a3530822107858468865 :: Nat) :: (~>) Nat Nat
infixr 8 ^@#@$$
type (^@#@$$$) (a3530822107858468865 :: Nat) (b3530822107858468866 :: Nat) = (^) a3530822107858468865 b3530822107858468866
data ShowsPrecSym0 :: forall a6989586621680290747. (~>) Nat ((~>) a6989586621680290747 ((~>) Symbol Symbol))
data ShowsPrecSym1 (arg6989586621680291185 :: Nat) :: forall a6989586621680290747. (~>) a6989586621680290747 ((~>) Symbol Symbol)
data ShowsPrecSym2 (arg6989586621680291185 :: Nat) (arg6989586621680291186 :: a6989586621680290747) :: (~>) Symbol Symbol
type ShowsPrecSym3 (arg6989586621680291185 :: Nat) (arg6989586621680291186 :: a6989586621680290747) (arg6989586621680291187 :: Symbol) = ShowsPrec arg6989586621680291185 arg6989586621680291186 arg6989586621680291187
data Show_Sym0 :: forall a6989586621680290747. (~>) a6989586621680290747 Symbol
type Show_Sym1 (arg6989586621680291191 :: a6989586621680290747) = Show_ arg6989586621680291191
data ShowListSym0 :: forall a6989586621680290747. (~>) [a6989586621680290747] ((~>) Symbol Symbol)
data ShowListSym1 (arg6989586621680291193 :: [a6989586621680290747]) :: (~>) Symbol Symbol
type ShowListSym2 (arg6989586621680291193 :: [a6989586621680290747]) (arg6989586621680291194 :: Symbol) = ShowList arg6989586621680291193 arg6989586621680291194
data ShowsSym0 :: forall a6989586621680290732. (~>) a6989586621680290732 ((~>) Symbol Symbol)
data ShowsSym1 (a6989586621680291177 :: a6989586621680290732) :: (~>) Symbol Symbol
type ShowsSym2 (a6989586621680291177 :: a6989586621680290732) (a6989586621680291178 :: Symbol) = Shows a6989586621680291177 a6989586621680291178
data ShowCharSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowCharSym1 (a6989586621680291151 :: Symbol) :: (~>) Symbol Symbol
type ShowCharSym2 (a6989586621680291151 :: Symbol) (a6989586621680291152 :: Symbol) = ShowChar a6989586621680291151 a6989586621680291152
data ShowStringSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowStringSym1 (a6989586621680291141 :: Symbol) :: (~>) Symbol Symbol
type ShowStringSym2 (a6989586621680291141 :: Symbol) (a6989586621680291142 :: Symbol) = ShowString a6989586621680291141 a6989586621680291142
data ShowParenSym0 :: (~>) Bool ((~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol))
data ShowParenSym1 (a6989586621680291123 :: Bool) :: (~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol)
data ShowParenSym2 (a6989586621680291123 :: Bool) (a6989586621680291124 :: (~>) Symbol Symbol) :: (~>) Symbol Symbol
data (<>@#@$) :: forall a6989586621679836738. (~>) a6989586621679836738 ((~>) a6989586621679836738 a6989586621679836738)
infixr 6 <>@#@$
data (<>@#@$$) (arg6989586621679836973 :: a6989586621679836738) :: (~>) a6989586621679836738 a6989586621679836738
infixr 6 <>@#@$$
type (<>@#@$$$) (arg6989586621679836973 :: a6989586621679836738) (arg6989586621679836974 :: a6989586621679836738) = (<>) arg6989586621679836973 arg6989586621679836974
type MemptySym0 = Mempty
data MappendSym0 :: forall a6989586621680360847. (~>) a6989586621680360847 ((~>) a6989586621680360847 a6989586621680360847)
data MappendSym1 (arg6989586621680360986 :: a6989586621680360847) :: (~>) a6989586621680360847 a6989586621680360847
type MappendSym2 (arg6989586621680360986 :: a6989586621680360847) (arg6989586621680360987 :: a6989586621680360847) = Mappend arg6989586621680360986 arg6989586621680360987
data MconcatSym0 :: forall a6989586621680360847. (~>) [a6989586621680360847] a6989586621680360847
type MconcatSym1 (arg6989586621680360990 :: [a6989586621680360847]) = Mconcat arg6989586621680360990
data FmapSym0 :: forall a6989586621679566946 b6989586621679566947 f6989586621679566945. (~>) ((~>) a6989586621679566946 b6989586621679566947) ((~>) (f6989586621679566945 a6989586621679566946) (f6989586621679566945 b6989586621679566947))
data FmapSym1 (arg6989586621679567337 :: (~>) a6989586621679566946 b6989586621679566947) :: forall f6989586621679566945. (~>) (f6989586621679566945 a6989586621679566946) (f6989586621679566945 b6989586621679566947)
type FmapSym2 (arg6989586621679567337 :: (~>) a6989586621679566946 b6989586621679566947) (arg6989586621679567338 :: f6989586621679566945 a6989586621679566946) = Fmap arg6989586621679567337 arg6989586621679567338
data (<$@#@$) :: forall a6989586621679566948 f6989586621679566945 b6989586621679566949. (~>) a6989586621679566948 ((~>) (f6989586621679566945 b6989586621679566949) (f6989586621679566945 a6989586621679566948))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679567341 :: a6989586621679566948) :: forall f6989586621679566945 b6989586621679566949. (~>) (f6989586621679566945 b6989586621679566949) (f6989586621679566945 a6989586621679566948)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679567341 :: a6989586621679566948) (arg6989586621679567342 :: f6989586621679566945 b6989586621679566949) = (<$) arg6989586621679567341 arg6989586621679567342
data (<$>@#@$) :: forall a6989586621679737122 b6989586621679737123 f6989586621679737121. (~>) ((~>) a6989586621679737122 b6989586621679737123) ((~>) (f6989586621679737121 a6989586621679737122) (f6989586621679737121 b6989586621679737123))
infixl 4 <$>@#@$
data (<$>@#@$$) (a6989586621679737203 :: (~>) a6989586621679737122 b6989586621679737123) :: forall f6989586621679737121. (~>) (f6989586621679737121 a6989586621679737122) (f6989586621679737121 b6989586621679737123)
infixl 4 <$>@#@$$
type (<$>@#@$$$) (a6989586621679737203 :: (~>) a6989586621679737122 b6989586621679737123) (a6989586621679737204 :: f6989586621679737121 a6989586621679737122) = (<$>) a6989586621679737203 a6989586621679737204
data PureSym0 :: forall a6989586621679566951 f6989586621679566950. (~>) a6989586621679566951 (f6989586621679566950 a6989586621679566951)
type PureSym1 (arg6989586621679567361 :: a6989586621679566951) = Pure arg6989586621679567361
data (<*>@#@$) :: forall f6989586621679566950 a6989586621679566952 b6989586621679566953. (~>) (f6989586621679566950 ((~>) a6989586621679566952 b6989586621679566953)) ((~>) (f6989586621679566950 a6989586621679566952) (f6989586621679566950 b6989586621679566953))
infixl 4 <*>@#@$
data (<*>@#@$$) (arg6989586621679567363 :: f6989586621679566950 ((~>) a6989586621679566952 b6989586621679566953)) :: (~>) (f6989586621679566950 a6989586621679566952) (f6989586621679566950 b6989586621679566953)
infixl 4 <*>@#@$$
type (<*>@#@$$$) (arg6989586621679567363 :: f6989586621679566950 ((~>) a6989586621679566952 b6989586621679566953)) (arg6989586621679567364 :: f6989586621679566950 a6989586621679566952) = (<*>) arg6989586621679567363 arg6989586621679567364
data (*>@#@$) :: forall f6989586621679566950 a6989586621679566957 b6989586621679566958. (~>) (f6989586621679566950 a6989586621679566957) ((~>) (f6989586621679566950 b6989586621679566958) (f6989586621679566950 b6989586621679566958))
infixl 4 *>@#@$
data (*>@#@$$) (arg6989586621679567373 :: f6989586621679566950 a6989586621679566957) :: forall b6989586621679566958. (~>) (f6989586621679566950 b6989586621679566958) (f6989586621679566950 b6989586621679566958)
infixl 4 *>@#@$$
type (*>@#@$$$) (arg6989586621679567373 :: f6989586621679566950 a6989586621679566957) (arg6989586621679567374 :: f6989586621679566950 b6989586621679566958) = (*>) arg6989586621679567373 arg6989586621679567374
data (<*@#@$) :: forall f6989586621679566950 a6989586621679566959 b6989586621679566960. (~>) (f6989586621679566950 a6989586621679566959) ((~>) (f6989586621679566950 b6989586621679566960) (f6989586621679566950 a6989586621679566959))
infixl 4 <*@#@$
data (<*@#@$$) (arg6989586621679567377 :: f6989586621679566950 a6989586621679566959) :: forall b6989586621679566960. (~>) (f6989586621679566950 b6989586621679566960) (f6989586621679566950 a6989586621679566959)
infixl 4 <*@#@$$
type (<*@#@$$$) (arg6989586621679567377 :: f6989586621679566950 a6989586621679566959) (arg6989586621679567378 :: f6989586621679566950 b6989586621679566960) = (<*) arg6989586621679567377 arg6989586621679567378
data (>>=@#@$) :: forall m6989586621679566974 a6989586621679566975 b6989586621679566976. (~>) (m6989586621679566974 a6989586621679566975) ((~>) ((~>) a6989586621679566975 (m6989586621679566974 b6989586621679566976)) (m6989586621679566974 b6989586621679566976))
infixl 1 >>=@#@$
data (>>=@#@$$) (arg6989586621679567444 :: m6989586621679566974 a6989586621679566975) :: forall b6989586621679566976. (~>) ((~>) a6989586621679566975 (m6989586621679566974 b6989586621679566976)) (m6989586621679566974 b6989586621679566976)
infixl 1 >>=@#@$$
type (>>=@#@$$$) (arg6989586621679567444 :: m6989586621679566974 a6989586621679566975) (arg6989586621679567445 :: (~>) a6989586621679566975 (m6989586621679566974 b6989586621679566976)) = (>>=) arg6989586621679567444 arg6989586621679567445
data (>>@#@$) :: forall m6989586621679566974 a6989586621679566977 b6989586621679566978. (~>) (m6989586621679566974 a6989586621679566977) ((~>) (m6989586621679566974 b6989586621679566978) (m6989586621679566974 b6989586621679566978))
infixl 1 >>@#@$
data (>>@#@$$) (arg6989586621679567448 :: m6989586621679566974 a6989586621679566977) :: forall b6989586621679566978. (~>) (m6989586621679566974 b6989586621679566978) (m6989586621679566974 b6989586621679566978)
infixl 1 >>@#@$$
type (>>@#@$$$) (arg6989586621679567448 :: m6989586621679566974 a6989586621679566977) (arg6989586621679567449 :: m6989586621679566974 b6989586621679566978) = (>>) arg6989586621679567448 arg6989586621679567449
data ReturnSym0 :: forall a6989586621679566979 m6989586621679566974. (~>) a6989586621679566979 (m6989586621679566974 a6989586621679566979)
type ReturnSym1 (arg6989586621679567452 :: a6989586621679566979) = Return arg6989586621679567452
data FailSym0 :: forall m6989586621679735037 a6989586621679735038. (~>) [Char] (m6989586621679735037 a6989586621679735038)
type FailSym1 (arg6989586621679735057 :: [Char]) = Fail arg6989586621679735057
data MapM_Sym0 :: forall a6989586621680486573 m6989586621680486572 b6989586621680486574 t6989586621680486571. (~>) ((~>) a6989586621680486573 (m6989586621680486572 b6989586621680486574)) ((~>) (t6989586621680486571 a6989586621680486573) (m6989586621680486572 ()))
data MapM_Sym1 (a6989586621680487177 :: (~>) a6989586621680486573 (m6989586621680486572 b6989586621680486574)) :: forall t6989586621680486571. (~>) (t6989586621680486571 a6989586621680486573) (m6989586621680486572 ())
type MapM_Sym2 (a6989586621680487177 :: (~>) a6989586621680486573 (m6989586621680486572 b6989586621680486574)) (a6989586621680487178 :: t6989586621680486571 a6989586621680486573) = MapM_ a6989586621680487177 a6989586621680487178
data Sequence_Sym0 :: forall t6989586621680486561 m6989586621680486562 a6989586621680486563. (~>) (t6989586621680486561 (m6989586621680486562 a6989586621680486563)) (m6989586621680486562 ())
type Sequence_Sym1 (a6989586621680487159 :: t6989586621680486561 (m6989586621680486562 a6989586621680486563)) = Sequence_ a6989586621680487159
data (=<<@#@$) :: forall a6989586621679566898 m6989586621679566897 b6989586621679566899. (~>) ((~>) a6989586621679566898 (m6989586621679566897 b6989586621679566899)) ((~>) (m6989586621679566897 a6989586621679566898) (m6989586621679566897 b6989586621679566899))
infixr 1 =<<@#@$
data (=<<@#@$$) (a6989586621679567290 :: (~>) a6989586621679566898 (m6989586621679566897 b6989586621679566899)) :: (~>) (m6989586621679566897 a6989586621679566898) (m6989586621679566897 b6989586621679566899)
infixr 1 =<<@#@$$
type (=<<@#@$$$) (a6989586621679567290 :: (~>) a6989586621679566898 (m6989586621679566897 b6989586621679566899)) (a6989586621679567291 :: m6989586621679566897 a6989586621679566898) = (=<<) a6989586621679567290 a6989586621679567291
data ElemSym0 :: forall a6989586621680486645 t6989586621680486628. (~>) a6989586621680486645 ((~>) (t6989586621680486628 a6989586621680486645) Bool)
data ElemSym1 (arg6989586621680487291 :: a6989586621680486645) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486645) Bool
type ElemSym2 (arg6989586621680487291 :: a6989586621680486645) (arg6989586621680487292 :: t6989586621680486628 a6989586621680486645) = Elem arg6989586621680487291 arg6989586621680487292
data FoldMapSym0 :: forall a6989586621680486631 m6989586621680486630 t6989586621680486628. (~>) ((~>) a6989586621680486631 m6989586621680486630) ((~>) (t6989586621680486628 a6989586621680486631) m6989586621680486630)
data FoldMapSym1 (arg6989586621680487249 :: (~>) a6989586621680486631 m6989586621680486630) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486631) m6989586621680486630
type FoldMapSym2 (arg6989586621680487249 :: (~>) a6989586621680486631 m6989586621680486630) (arg6989586621680487250 :: t6989586621680486628 a6989586621680486631) = FoldMap arg6989586621680487249 arg6989586621680487250
data FoldrSym0 :: forall a6989586621680486632 b6989586621680486633 t6989586621680486628. (~>) ((~>) a6989586621680486632 ((~>) b6989586621680486633 b6989586621680486633)) ((~>) b6989586621680486633 ((~>) (t6989586621680486628 a6989586621680486632) b6989586621680486633))
data FoldrSym1 (arg6989586621680487253 :: (~>) a6989586621680486632 ((~>) b6989586621680486633 b6989586621680486633)) :: forall t6989586621680486628. (~>) b6989586621680486633 ((~>) (t6989586621680486628 a6989586621680486632) b6989586621680486633)
data FoldrSym2 (arg6989586621680487253 :: (~>) a6989586621680486632 ((~>) b6989586621680486633 b6989586621680486633)) (arg6989586621680487254 :: b6989586621680486633) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486632) b6989586621680486633
type FoldrSym3 (arg6989586621680487253 :: (~>) a6989586621680486632 ((~>) b6989586621680486633 b6989586621680486633)) (arg6989586621680487254 :: b6989586621680486633) (arg6989586621680487255 :: t6989586621680486628 a6989586621680486632) = Foldr arg6989586621680487253 arg6989586621680487254 arg6989586621680487255
data FoldlSym0 :: forall b6989586621680486636 a6989586621680486637 t6989586621680486628. (~>) ((~>) b6989586621680486636 ((~>) a6989586621680486637 b6989586621680486636)) ((~>) b6989586621680486636 ((~>) (t6989586621680486628 a6989586621680486637) b6989586621680486636))
data FoldlSym1 (arg6989586621680487265 :: (~>) b6989586621680486636 ((~>) a6989586621680486637 b6989586621680486636)) :: forall t6989586621680486628. (~>) b6989586621680486636 ((~>) (t6989586621680486628 a6989586621680486637) b6989586621680486636)
data FoldlSym2 (arg6989586621680487265 :: (~>) b6989586621680486636 ((~>) a6989586621680486637 b6989586621680486636)) (arg6989586621680487266 :: b6989586621680486636) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486637) b6989586621680486636
type FoldlSym3 (arg6989586621680487265 :: (~>) b6989586621680486636 ((~>) a6989586621680486637 b6989586621680486636)) (arg6989586621680487266 :: b6989586621680486636) (arg6989586621680487267 :: t6989586621680486628 a6989586621680486637) = Foldl arg6989586621680487265 arg6989586621680487266 arg6989586621680487267
data Foldr1Sym0 :: forall a6989586621680486640 t6989586621680486628. (~>) ((~>) a6989586621680486640 ((~>) a6989586621680486640 a6989586621680486640)) ((~>) (t6989586621680486628 a6989586621680486640) a6989586621680486640)
data Foldr1Sym1 (arg6989586621680487277 :: (~>) a6989586621680486640 ((~>) a6989586621680486640 a6989586621680486640)) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486640) a6989586621680486640
type Foldr1Sym2 (arg6989586621680487277 :: (~>) a6989586621680486640 ((~>) a6989586621680486640 a6989586621680486640)) (arg6989586621680487278 :: t6989586621680486628 a6989586621680486640) = Foldr1 arg6989586621680487277 arg6989586621680487278
data Foldl1Sym0 :: forall a6989586621680486641 t6989586621680486628. (~>) ((~>) a6989586621680486641 ((~>) a6989586621680486641 a6989586621680486641)) ((~>) (t6989586621680486628 a6989586621680486641) a6989586621680486641)
data Foldl1Sym1 (arg6989586621680487281 :: (~>) a6989586621680486641 ((~>) a6989586621680486641 a6989586621680486641)) :: forall t6989586621680486628. (~>) (t6989586621680486628 a6989586621680486641) a6989586621680486641
type Foldl1Sym2 (arg6989586621680487281 :: (~>) a6989586621680486641 ((~>) a6989586621680486641 a6989586621680486641)) (arg6989586621680487282 :: t6989586621680486628 a6989586621680486641) = Foldl1 arg6989586621680487281 arg6989586621680487282
data MaximumSym0 :: forall t6989586621680486628 a6989586621680486646. (~>) (t6989586621680486628 a6989586621680486646) a6989586621680486646
type MaximumSym1 (arg6989586621680487295 :: t6989586621680486628 a6989586621680486646) = Maximum arg6989586621680487295
data MinimumSym0 :: forall t6989586621680486628 a6989586621680486647. (~>) (t6989586621680486628 a6989586621680486647) a6989586621680486647
type MinimumSym1 (arg6989586621680487297 :: t6989586621680486628 a6989586621680486647) = Minimum arg6989586621680487297
data SumSym0 :: forall t6989586621680486628 a6989586621680486648. (~>) (t6989586621680486628 a6989586621680486648) a6989586621680486648
type SumSym1 (arg6989586621680487299 :: t6989586621680486628 a6989586621680486648) = Sum arg6989586621680487299
data ProductSym0 :: forall t6989586621680486628 a6989586621680486649. (~>) (t6989586621680486628 a6989586621680486649) a6989586621680486649
type ProductSym1 (arg6989586621680487301 :: t6989586621680486628 a6989586621680486649) = Product arg6989586621680487301
data TraverseSym0 :: forall a6989586621680794821 f6989586621680794820 b6989586621680794822 t6989586621680794819. (~>) ((~>) a6989586621680794821 (f6989586621680794820 b6989586621680794822)) ((~>) (t6989586621680794819 a6989586621680794821) (f6989586621680794820 (t6989586621680794819 b6989586621680794822)))
data TraverseSym1 (arg6989586621680794831 :: (~>) a6989586621680794821 (f6989586621680794820 b6989586621680794822)) :: forall t6989586621680794819. (~>) (t6989586621680794819 a6989586621680794821) (f6989586621680794820 (t6989586621680794819 b6989586621680794822))
type TraverseSym2 (arg6989586621680794831 :: (~>) a6989586621680794821 (f6989586621680794820 b6989586621680794822)) (arg6989586621680794832 :: t6989586621680794819 a6989586621680794821) = Traverse arg6989586621680794831 arg6989586621680794832
data SequenceASym0 :: forall t6989586621680794819 f6989586621680794823 a6989586621680794824. (~>) (t6989586621680794819 (f6989586621680794823 a6989586621680794824)) (f6989586621680794823 (t6989586621680794819 a6989586621680794824))
type SequenceASym1 (arg6989586621680794835 :: t6989586621680794819 (f6989586621680794823 a6989586621680794824)) = SequenceA arg6989586621680794835
data MapMSym0 :: forall a6989586621680794826 m6989586621680794825 b6989586621680794827 t6989586621680794819. (~>) ((~>) a6989586621680794826 (m6989586621680794825 b6989586621680794827)) ((~>) (t6989586621680794819 a6989586621680794826) (m6989586621680794825 (t6989586621680794819 b6989586621680794827)))
data MapMSym1 (arg6989586621680794837 :: (~>) a6989586621680794826 (m6989586621680794825 b6989586621680794827)) :: forall t6989586621680794819. (~>) (t6989586621680794819 a6989586621680794826) (m6989586621680794825 (t6989586621680794819 b6989586621680794827))
type MapMSym2 (arg6989586621680794837 :: (~>) a6989586621680794826 (m6989586621680794825 b6989586621680794827)) (arg6989586621680794838 :: t6989586621680794819 a6989586621680794826) = MapM arg6989586621680794837 arg6989586621680794838
data SequenceSym0 :: forall t6989586621680794819 m6989586621680794828 a6989586621680794829. (~>) (t6989586621680794819 (m6989586621680794828 a6989586621680794829)) (m6989586621680794828 (t6989586621680794819 a6989586621680794829))
type SequenceSym1 (arg6989586621680794841 :: t6989586621680794819 (m6989586621680794828 a6989586621680794829)) = Sequence arg6989586621680794841
data IdSym0 :: forall a6989586621679541558. (~>) a6989586621679541558 a6989586621679541558
type IdSym1 (a6989586621679541753 :: a6989586621679541558) = Id a6989586621679541753
data ConstSym0 :: forall a6989586621679541556 b6989586621679541557. (~>) a6989586621679541556 ((~>) b6989586621679541557 a6989586621679541556)
data ConstSym1 (a6989586621679541748 :: a6989586621679541556) :: forall b6989586621679541557. (~>) b6989586621679541557 a6989586621679541556
type ConstSym2 (a6989586621679541748 :: a6989586621679541556) (a6989586621679541749 :: b6989586621679541557) = Const a6989586621679541748 a6989586621679541749
data (.@#@$) :: forall b6989586621679541553 c6989586621679541554 a6989586621679541555. (~>) ((~>) b6989586621679541553 c6989586621679541554) ((~>) ((~>) a6989586621679541555 b6989586621679541553) ((~>) a6989586621679541555 c6989586621679541554))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679541729 :: (~>) b6989586621679541553 c6989586621679541554) :: forall a6989586621679541555. (~>) ((~>) a6989586621679541555 b6989586621679541553) ((~>) a6989586621679541555 c6989586621679541554)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679541729 :: (~>) b6989586621679541553 c6989586621679541554) (a6989586621679541730 :: (~>) a6989586621679541555 b6989586621679541553) :: (~>) a6989586621679541555 c6989586621679541554
infixr 9 .@#@$$$
data ($@#@$) :: forall a6989586621679541547 b6989586621679541548. (~>) ((~>) a6989586621679541547 b6989586621679541548) ((~>) a6989586621679541547 b6989586621679541548)
infixr 0 $@#@$
data ($@#@$$) (a6989586621679541704 :: (~>) a6989586621679541547 b6989586621679541548) :: (~>) a6989586621679541547 b6989586621679541548
infixr 0 $@#@$$
type ($@#@$$$) (a6989586621679541704 :: (~>) a6989586621679541547 b6989586621679541548) (a6989586621679541705 :: a6989586621679541547) = ($) a6989586621679541704 a6989586621679541705
data ($!@#@$) :: forall a6989586621679541545 b6989586621679541546. (~>) ((~>) a6989586621679541545 b6989586621679541546) ((~>) a6989586621679541545 b6989586621679541546)
infixr 0 $!@#@$
data ($!@#@$$) (a6989586621679541695 :: (~>) a6989586621679541545 b6989586621679541546) :: (~>) a6989586621679541545 b6989586621679541546
infixr 0 $!@#@$$
type ($!@#@$$$) (a6989586621679541695 :: (~>) a6989586621679541545 b6989586621679541546) (a6989586621679541696 :: a6989586621679541545) = ($!) a6989586621679541695 a6989586621679541696
data FlipSym0 :: forall a6989586621679541550 b6989586621679541551 c6989586621679541552. (~>) ((~>) a6989586621679541550 ((~>) b6989586621679541551 c6989586621679541552)) ((~>) b6989586621679541551 ((~>) a6989586621679541550 c6989586621679541552))
data FlipSym1 (a6989586621679541720 :: (~>) a6989586621679541550 ((~>) b6989586621679541551 c6989586621679541552)) :: (~>) b6989586621679541551 ((~>) a6989586621679541550 c6989586621679541552)
data FlipSym2 (a6989586621679541720 :: (~>) a6989586621679541550 ((~>) b6989586621679541551 c6989586621679541552)) (a6989586621679541721 :: b6989586621679541551) :: (~>) a6989586621679541550 c6989586621679541552
data AsTypeOfSym0 :: forall a6989586621679541549. (~>) a6989586621679541549 ((~>) a6989586621679541549 a6989586621679541549)
data AsTypeOfSym1 (a6989586621679541714 :: a6989586621679541549) :: (~>) a6989586621679541549 a6989586621679541549
type AsTypeOfSym2 (a6989586621679541714 :: a6989586621679541549) (a6989586621679541715 :: a6989586621679541549) = AsTypeOf a6989586621679541714 a6989586621679541715
data SeqSym0 :: forall a6989586621679541542 b6989586621679541543. (~>) a6989586621679541542 ((~>) b6989586621679541543 b6989586621679541543)
infixr 0 `SeqSym0`
data SeqSym1 (a6989586621679541664 :: a6989586621679541542) :: forall b6989586621679541543. (~>) b6989586621679541543 b6989586621679541543
infixr 0 `SeqSym1`
type SeqSym2 (a6989586621679541664 :: a6989586621679541542) (a6989586621679541665 :: b6989586621679541543) = Seq a6989586621679541664 a6989586621679541665
data (:@#@$) :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 ((~>) [a3530822107858468865] [a3530822107858468865 :: Type])
infixr 5 :@#@$
data (:@#@$$) (t6989586621679310927 :: a3530822107858468865 :: Type) :: (~>) [a3530822107858468865] [a3530822107858468865 :: Type]
infixr 5 :@#@$$
type (:@#@$$$) (t6989586621679310927 :: a3530822107858468865) (t6989586621679310928 :: [a3530822107858468865]) = '(:) t6989586621679310927 t6989586621679310928
type NilSym0 = '[]
data MapSym0 :: forall a6989586621679541560 b6989586621679541561. (~>) ((~>) a6989586621679541560 b6989586621679541561) ((~>) [a6989586621679541560] [b6989586621679541561])
data MapSym1 (a6989586621679541764 :: (~>) a6989586621679541560 b6989586621679541561) :: (~>) [a6989586621679541560] [b6989586621679541561]
type MapSym2 (a6989586621679541764 :: (~>) a6989586621679541560 b6989586621679541561) (a6989586621679541765 :: [a6989586621679541560]) = Map a6989586621679541764 a6989586621679541765
data ReverseSym0 :: forall a6989586621679970304. (~>) [a6989586621679970304] [a6989586621679970304]
type ReverseSym1 (a6989586621679975619 :: [a6989586621679970304]) = Reverse a6989586621679975619
data (++@#@$$) (a6989586621679541756 :: [a6989586621679541559]) :: (~>) [a6989586621679541559] [a6989586621679541559]
infixr 5 ++@#@$$
data (++@#@$) :: forall a6989586621679541559. (~>) [a6989586621679541559] ((~>) [a6989586621679541559] [a6989586621679541559])
infixr 5 ++@#@$
data FilterSym0 :: forall a6989586621679970219. (~>) ((~>) a6989586621679970219 Bool) ((~>) [a6989586621679970219] [a6989586621679970219])
data FilterSym1 (a6989586621679974774 :: (~>) a6989586621679970219 Bool) :: (~>) [a6989586621679970219] [a6989586621679970219]
type FilterSym2 (a6989586621679974774 :: (~>) a6989586621679970219 Bool) (a6989586621679974775 :: [a6989586621679970219]) = Filter a6989586621679974774 a6989586621679974775
data HeadSym0 :: forall a6989586621679970309. (~>) [a6989586621679970309] a6989586621679970309
type HeadSym1 (a6989586621679975656 :: [a6989586621679970309]) = Head a6989586621679975656
data LastSym0 :: forall a6989586621679970308. (~>) [a6989586621679970308] a6989586621679970308
type LastSym1 (a6989586621679975651 :: [a6989586621679970308]) = Last a6989586621679975651
data TailSym0 :: forall a6989586621679970307. (~>) [a6989586621679970307] [a6989586621679970307]
type TailSym1 (a6989586621679975648 :: [a6989586621679970307]) = Tail a6989586621679975648
data InitSym0 :: forall a6989586621679970306. (~>) [a6989586621679970306] [a6989586621679970306]
type InitSym1 (a6989586621679975634 :: [a6989586621679970306]) = Init a6989586621679975634
data NullSym0 :: forall t6989586621680486628 a6989586621680486643. (~>) (t6989586621680486628 a6989586621680486643) Bool
type NullSym1 (arg6989586621680487287 :: t6989586621680486628 a6989586621680486643) = Null arg6989586621680487287
data ConcatSym0 :: forall t6989586621680486553 a6989586621680486554. (~>) (t6989586621680486553 [a6989586621680486554]) [a6989586621680486554]
type ConcatSym1 (a6989586621680487135 :: t6989586621680486553 [a6989586621680486554]) = Concat a6989586621680487135
data ConcatMapSym0 :: forall a6989586621680486551 b6989586621680486552 t6989586621680486550. (~>) ((~>) a6989586621680486551 [b6989586621680486552]) ((~>) (t6989586621680486550 a6989586621680486551) [b6989586621680486552])
data ConcatMapSym1 (a6989586621680487119 :: (~>) a6989586621680486551 [b6989586621680486552]) :: forall t6989586621680486550. (~>) (t6989586621680486550 a6989586621680486551) [b6989586621680486552]
type ConcatMapSym2 (a6989586621680487119 :: (~>) a6989586621680486551 [b6989586621680486552]) (a6989586621680487120 :: t6989586621680486550 a6989586621680486551) = ConcatMap a6989586621680487119 a6989586621680487120
data AndSym0 :: forall t6989586621680486549. (~>) (t6989586621680486549 Bool) Bool
type AndSym1 (a6989586621680487110 :: t6989586621680486549 Bool) = And a6989586621680487110
data OrSym0 :: forall t6989586621680486548. (~>) (t6989586621680486548 Bool) Bool
type OrSym1 (a6989586621680487101 :: t6989586621680486548 Bool) = Or a6989586621680487101
data AnySym0 :: forall a6989586621680486547 t6989586621680486546. (~>) ((~>) a6989586621680486547 Bool) ((~>) (t6989586621680486546 a6989586621680486547) Bool)
data AnySym1 (a6989586621680487088 :: (~>) a6989586621680486547 Bool) :: forall t6989586621680486546. (~>) (t6989586621680486546 a6989586621680486547) Bool
type AnySym2 (a6989586621680487088 :: (~>) a6989586621680486547 Bool) (a6989586621680487089 :: t6989586621680486546 a6989586621680486547) = Any a6989586621680487088 a6989586621680487089
data AllSym0 :: forall a6989586621680486545 t6989586621680486544. (~>) ((~>) a6989586621680486545 Bool) ((~>) (t6989586621680486544 a6989586621680486545) Bool)
data AllSym1 (a6989586621680487075 :: (~>) a6989586621680486545 Bool) :: forall t6989586621680486544. (~>) (t6989586621680486544 a6989586621680486545) Bool
type AllSym2 (a6989586621680487075 :: (~>) a6989586621680486545 Bool) (a6989586621680487076 :: t6989586621680486544 a6989586621680486545) = All a6989586621680487075 a6989586621680487076
data ScanlSym0 :: forall b6989586621679970286 a6989586621679970287. (~>) ((~>) b6989586621679970286 ((~>) a6989586621679970287 b6989586621679970286)) ((~>) b6989586621679970286 ((~>) [a6989586621679970287] [b6989586621679970286]))
data ScanlSym1 (a6989586621679975380 :: (~>) b6989586621679970286 ((~>) a6989586621679970287 b6989586621679970286)) :: (~>) b6989586621679970286 ((~>) [a6989586621679970287] [b6989586621679970286])
data ScanlSym2 (a6989586621679975380 :: (~>) b6989586621679970286 ((~>) a6989586621679970287 b6989586621679970286)) (a6989586621679975381 :: b6989586621679970286) :: (~>) [a6989586621679970287] [b6989586621679970286]
type ScanlSym3 (a6989586621679975380 :: (~>) b6989586621679970286 ((~>) a6989586621679970287 b6989586621679970286)) (a6989586621679975381 :: b6989586621679970286) (a6989586621679975382 :: [a6989586621679970287]) = Scanl a6989586621679975380 a6989586621679975381 a6989586621679975382
data Scanl1Sym0 :: forall a6989586621679970285. (~>) ((~>) a6989586621679970285 ((~>) a6989586621679970285 a6989586621679970285)) ((~>) [a6989586621679970285] [a6989586621679970285])
data Scanl1Sym1 (a6989586621679975373 :: (~>) a6989586621679970285 ((~>) a6989586621679970285 a6989586621679970285)) :: (~>) [a6989586621679970285] [a6989586621679970285]
type Scanl1Sym2 (a6989586621679975373 :: (~>) a6989586621679970285 ((~>) a6989586621679970285 a6989586621679970285)) (a6989586621679975374 :: [a6989586621679970285]) = Scanl1 a6989586621679975373 a6989586621679975374
data ScanrSym0 :: forall a6989586621679970283 b6989586621679970284. (~>) ((~>) a6989586621679970283 ((~>) b6989586621679970284 b6989586621679970284)) ((~>) b6989586621679970284 ((~>) [a6989586621679970283] [b6989586621679970284]))
data ScanrSym1 (a6989586621679975352 :: (~>) a6989586621679970283 ((~>) b6989586621679970284 b6989586621679970284)) :: (~>) b6989586621679970284 ((~>) [a6989586621679970283] [b6989586621679970284])
data ScanrSym2 (a6989586621679975352 :: (~>) a6989586621679970283 ((~>) b6989586621679970284 b6989586621679970284)) (a6989586621679975353 :: b6989586621679970284) :: (~>) [a6989586621679970283] [b6989586621679970284]
type ScanrSym3 (a6989586621679975352 :: (~>) a6989586621679970283 ((~>) b6989586621679970284 b6989586621679970284)) (a6989586621679975353 :: b6989586621679970284) (a6989586621679975354 :: [a6989586621679970283]) = Scanr a6989586621679975352 a6989586621679975353 a6989586621679975354
data Scanr1Sym0 :: forall a6989586621679970282. (~>) ((~>) a6989586621679970282 ((~>) a6989586621679970282 a6989586621679970282)) ((~>) [a6989586621679970282] [a6989586621679970282])
data Scanr1Sym1 (a6989586621679975328 :: (~>) a6989586621679970282 ((~>) a6989586621679970282 a6989586621679970282)) :: (~>) [a6989586621679970282] [a6989586621679970282]
type Scanr1Sym2 (a6989586621679975328 :: (~>) a6989586621679970282 ((~>) a6989586621679970282 a6989586621679970282)) (a6989586621679975329 :: [a6989586621679970282]) = Scanr1 a6989586621679975328 a6989586621679975329
data ReplicateSym0 :: forall a6989586621679970190. (~>) Nat ((~>) a6989586621679970190 [a6989586621679970190])
data ReplicateSym1 (a6989586621679974355 :: Nat) :: forall a6989586621679970190. (~>) a6989586621679970190 [a6989586621679970190]
type ReplicateSym2 (a6989586621679974355 :: Nat) (a6989586621679974356 :: a6989586621679970190) = Replicate a6989586621679974355 a6989586621679974356
data TakeSym0 :: forall a6989586621679970206. (~>) Nat ((~>) [a6989586621679970206] [a6989586621679970206])
data TakeSym1 (a6989586621679974516 :: Nat) :: forall a6989586621679970206. (~>) [a6989586621679970206] [a6989586621679970206]
type TakeSym2 (a6989586621679974516 :: Nat) (a6989586621679974517 :: [a6989586621679970206]) = Take a6989586621679974516 a6989586621679974517
data DropSym0 :: forall a6989586621679970205. (~>) Nat ((~>) [a6989586621679970205] [a6989586621679970205])
data DropSym1 (a6989586621679974502 :: Nat) :: forall a6989586621679970205. (~>) [a6989586621679970205] [a6989586621679970205]
type DropSym2 (a6989586621679974502 :: Nat) (a6989586621679974503 :: [a6989586621679970205]) = Drop a6989586621679974502 a6989586621679974503
data SplitAtSym0 :: forall a6989586621679970204. (~>) Nat ((~>) [a6989586621679970204] ([a6989586621679970204], [a6989586621679970204]))
data SplitAtSym1 (a6989586621679974496 :: Nat) :: forall a6989586621679970204. (~>) [a6989586621679970204] ([a6989586621679970204], [a6989586621679970204])
type SplitAtSym2 (a6989586621679974496 :: Nat) (a6989586621679974497 :: [a6989586621679970204]) = SplitAt a6989586621679974496 a6989586621679974497
data TakeWhileSym0 :: forall a6989586621679970211. (~>) ((~>) a6989586621679970211 Bool) ((~>) [a6989586621679970211] [a6989586621679970211])
data TakeWhileSym1 (a6989586621679974660 :: (~>) a6989586621679970211 Bool) :: (~>) [a6989586621679970211] [a6989586621679970211]
type TakeWhileSym2 (a6989586621679974660 :: (~>) a6989586621679970211 Bool) (a6989586621679974661 :: [a6989586621679970211]) = TakeWhile a6989586621679974660 a6989586621679974661
data DropWhileSym0 :: forall a6989586621679970210. (~>) ((~>) a6989586621679970210 Bool) ((~>) [a6989586621679970210] [a6989586621679970210])
data DropWhileSym1 (a6989586621679974642 :: (~>) a6989586621679970210 Bool) :: (~>) [a6989586621679970210] [a6989586621679970210]
type DropWhileSym2 (a6989586621679974642 :: (~>) a6989586621679970210 Bool) (a6989586621679974643 :: [a6989586621679970210]) = DropWhile a6989586621679974642 a6989586621679974643
data DropWhileEndSym0 :: forall a6989586621679970209. (~>) ((~>) a6989586621679970209 Bool) ((~>) [a6989586621679970209] [a6989586621679970209])
data DropWhileEndSym1 (a6989586621679974616 :: (~>) a6989586621679970209 Bool) :: (~>) [a6989586621679970209] [a6989586621679970209]
type DropWhileEndSym2 (a6989586621679974616 :: (~>) a6989586621679970209 Bool) (a6989586621679974617 :: [a6989586621679970209]) = DropWhileEnd a6989586621679974616 a6989586621679974617
data SpanSym0 :: forall a6989586621679970208. (~>) ((~>) a6989586621679970208 Bool) ((~>) [a6989586621679970208] ([a6989586621679970208], [a6989586621679970208]))
data SpanSym1 (a6989586621679974573 :: (~>) a6989586621679970208 Bool) :: (~>) [a6989586621679970208] ([a6989586621679970208], [a6989586621679970208])
type SpanSym2 (a6989586621679974573 :: (~>) a6989586621679970208 Bool) (a6989586621679974574 :: [a6989586621679970208]) = Span a6989586621679974573 a6989586621679974574
data BreakSym0 :: forall a6989586621679970207. (~>) ((~>) a6989586621679970207 Bool) ((~>) [a6989586621679970207] ([a6989586621679970207], [a6989586621679970207]))
data BreakSym1 (a6989586621679974530 :: (~>) a6989586621679970207 Bool) :: (~>) [a6989586621679970207] ([a6989586621679970207], [a6989586621679970207])
type BreakSym2 (a6989586621679974530 :: (~>) a6989586621679970207 Bool) (a6989586621679974531 :: [a6989586621679970207]) = Break a6989586621679974530 a6989586621679974531
data NotElemSym0 :: forall a6989586621680486539 t6989586621680486538. (~>) a6989586621680486539 ((~>) (t6989586621680486538 a6989586621680486539) Bool)
data NotElemSym1 (a6989586621680487017 :: a6989586621680486539) :: forall t6989586621680486538. (~>) (t6989586621680486538 a6989586621680486539) Bool
type NotElemSym2 (a6989586621680487017 :: a6989586621680486539) (a6989586621680487018 :: t6989586621680486538 a6989586621680486539) = NotElem a6989586621680487017 a6989586621680487018
data ZipSym0 :: forall a6989586621679970265 b6989586621679970266. (~>) [a6989586621679970265] ((~>) [b6989586621679970266] [(a6989586621679970265, b6989586621679970266)])
data ZipSym1 (a6989586621679975129 :: [a6989586621679970265]) :: forall b6989586621679970266. (~>) [b6989586621679970266] [(a6989586621679970265, b6989586621679970266)]
type ZipSym2 (a6989586621679975129 :: [a6989586621679970265]) (a6989586621679975130 :: [b6989586621679970266]) = Zip a6989586621679975129 a6989586621679975130
data Zip3Sym0 :: forall a6989586621679970262 b6989586621679970263 c6989586621679970264. (~>) [a6989586621679970262] ((~>) [b6989586621679970263] ((~>) [c6989586621679970264] [(a6989586621679970262, b6989586621679970263, c6989586621679970264)]))
data Zip3Sym1 (a6989586621679975117 :: [a6989586621679970262]) :: forall b6989586621679970263 c6989586621679970264. (~>) [b6989586621679970263] ((~>) [c6989586621679970264] [(a6989586621679970262, b6989586621679970263, c6989586621679970264)])
data Zip3Sym2 (a6989586621679975117 :: [a6989586621679970262]) (a6989586621679975118 :: [b6989586621679970263]) :: forall c6989586621679970264. (~>) [c6989586621679970264] [(a6989586621679970262, b6989586621679970263, c6989586621679970264)]
type Zip3Sym3 (a6989586621679975117 :: [a6989586621679970262]) (a6989586621679975118 :: [b6989586621679970263]) (a6989586621679975119 :: [c6989586621679970264]) = Zip3 a6989586621679975117 a6989586621679975118 a6989586621679975119
data ZipWithSym0 :: forall a6989586621679970259 b6989586621679970260 c6989586621679970261. (~>) ((~>) a6989586621679970259 ((~>) b6989586621679970260 c6989586621679970261)) ((~>) [a6989586621679970259] ((~>) [b6989586621679970260] [c6989586621679970261]))
data ZipWithSym1 (a6989586621679975106 :: (~>) a6989586621679970259 ((~>) b6989586621679970260 c6989586621679970261)) :: (~>) [a6989586621679970259] ((~>) [b6989586621679970260] [c6989586621679970261])
data ZipWithSym2 (a6989586621679975106 :: (~>) a6989586621679970259 ((~>) b6989586621679970260 c6989586621679970261)) (a6989586621679975107 :: [a6989586621679970259]) :: (~>) [b6989586621679970260] [c6989586621679970261]
type ZipWithSym3 (a6989586621679975106 :: (~>) a6989586621679970259 ((~>) b6989586621679970260 c6989586621679970261)) (a6989586621679975107 :: [a6989586621679970259]) (a6989586621679975108 :: [b6989586621679970260]) = ZipWith a6989586621679975106 a6989586621679975107 a6989586621679975108
data ZipWith3Sym0 :: forall a6989586621679970255 b6989586621679970256 c6989586621679970257 d6989586621679970258. (~>) ((~>) a6989586621679970255 ((~>) b6989586621679970256 ((~>) c6989586621679970257 d6989586621679970258))) ((~>) [a6989586621679970255] ((~>) [b6989586621679970256] ((~>) [c6989586621679970257] [d6989586621679970258])))
data ZipWith3Sym1 (a6989586621679975091 :: (~>) a6989586621679970255 ((~>) b6989586621679970256 ((~>) c6989586621679970257 d6989586621679970258))) :: (~>) [a6989586621679970255] ((~>) [b6989586621679970256] ((~>) [c6989586621679970257] [d6989586621679970258]))
data ZipWith3Sym2 (a6989586621679975091 :: (~>) a6989586621679970255 ((~>) b6989586621679970256 ((~>) c6989586621679970257 d6989586621679970258))) (a6989586621679975092 :: [a6989586621679970255]) :: (~>) [b6989586621679970256] ((~>) [c6989586621679970257] [d6989586621679970258])
data ZipWith3Sym3 (a6989586621679975091 :: (~>) a6989586621679970255 ((~>) b6989586621679970256 ((~>) c6989586621679970257 d6989586621679970258))) (a6989586621679975092 :: [a6989586621679970255]) (a6989586621679975093 :: [b6989586621679970256]) :: (~>) [c6989586621679970257] [d6989586621679970258]
data UnzipSym0 :: forall a6989586621679970253 b6989586621679970254. (~>) [(a6989586621679970253, b6989586621679970254)] ([a6989586621679970253], [b6989586621679970254])
type UnzipSym1 (a6989586621679975072 :: [(a6989586621679970253, b6989586621679970254)]) = Unzip a6989586621679975072
data UnlinesSym0 :: (~>) [Symbol] Symbol
type UnlinesSym1 (a6989586621679974943 :: [Symbol]) = Unlines a6989586621679974943
data UnwordsSym0 :: (~>) [Symbol] Symbol
type UnwordsSym1 (a6989586621679974932 :: [Symbol]) = Unwords a6989586621679974932


-- | 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 SRep (a :: *) where
--     SNat :: Sing Nat
--     SBool :: Sing Bool
--     SMaybe :: Sing a -&gt; Sing (Maybe a)
--   type instance Sing = SRep
--   </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]
