-- 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_a1usl :: Void) :: a_a1usi
sAbsurd :: forall a_a1usi (t_a1usr :: Void). Sing t_a1usr -> Sing (Apply AbsurdSym0 t_a1usr :: a_a1usi)
data AbsurdSym0 :: forall a6989586621679365194. (~>) Void a6989586621679365194
type AbsurdSym1 (a6989586621679365197 :: Void) = Absurd a6989586621679365197
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_a1gmg :: a_11) (n_a1gmh :: b_12). () => Sing (n_a1gmg :: a_11) -> Sing (n_a1gmh :: b_12) -> STuple2 '(n_a1gmg, n_a1gmh)
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_a1gmN :: a_11) (n_a1gmO :: b_12) (n_a1gmP :: c_13). () => Sing (n_a1gmN :: a_11) -> Sing (n_a1gmO :: b_12) -> Sing (n_a1gmP :: c_13) -> STuple3 '(n_a1gmN, n_a1gmO, n_a1gmP)
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_a1gnA :: a_11) (n_a1gnB :: b_12) (n_a1gnC :: c_13) (n_a1gnD :: d_14). () => Sing (n_a1gnA :: a_11) -> Sing (n_a1gnB :: b_12) -> Sing (n_a1gnC :: c_13) -> Sing (n_a1gnD :: d_14) -> STuple4 '(n_a1gnA, n_a1gnB, n_a1gnC, n_a1gnD)
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_a1goF :: a_11) (n_a1goG :: b_12) (n_a1goH :: c_13) (n_a1goI :: d_14) (n_a1goJ :: e_15). () => Sing (n_a1goF :: a_11) -> Sing (n_a1goG :: b_12) -> Sing (n_a1goH :: c_13) -> Sing (n_a1goI :: d_14) -> Sing (n_a1goJ :: e_15) -> STuple5 '(n_a1goF, n_a1goG, n_a1goH, n_a1goI, n_a1goJ)
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_a1gq4 :: a_11) (n_a1gq5 :: b_12) (n_a1gq6 :: c_13) (n_a1gq7 :: d_14) (n_a1gq8 :: e_15) (n_a1gq9 :: f_16). () => Sing (n_a1gq4 :: a_11) -> Sing (n_a1gq5 :: b_12) -> Sing (n_a1gq6 :: c_13) -> Sing (n_a1gq7 :: d_14) -> Sing (n_a1gq8 :: e_15) -> Sing (n_a1gq9 :: f_16) -> STuple6 '(n_a1gq4, n_a1gq5, n_a1gq6, n_a1gq7, n_a1gq8, n_a1gq9)
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_a1grP :: a_11) (n_a1grQ :: b_12) (n_a1grR :: c_13) (n_a1grS :: d_14) (n_a1grT :: e_15) (n_a1grU :: f_16) (n_a1grV :: g_17). () => Sing (n_a1grP :: a_11) -> Sing (n_a1grQ :: b_12) -> Sing (n_a1grR :: c_13) -> Sing (n_a1grS :: d_14) -> Sing (n_a1grT :: e_15) -> Sing (n_a1grU :: f_16) -> Sing (n_a1grV :: g_17) -> STuple7 '(n_a1grP, n_a1grQ, n_a1grR, n_a1grS, n_a1grT, n_a1grU, n_a1grV)
type family Fst (a_a1uHZ :: (a_a1uGl, b_a1uGm)) :: a_a1uGl
sFst :: forall a_a1uGl b_a1uGm (t_a1uIg :: (a_a1uGl, b_a1uGm)). Sing t_a1uIg -> Sing (Apply FstSym0 t_a1uIg :: a_a1uGl)
type family Snd (a_a1uHW :: (a_a1uGj, b_a1uGk)) :: b_a1uGk
sSnd :: forall a_a1uGj b_a1uGk (t_a1uIe :: (a_a1uGj, b_a1uGk)). Sing t_a1uIe -> Sing (Apply SndSym0 t_a1uIe :: b_a1uGk)
type family Curry (a_a1uHN :: (~>) (a_a1uGg, b_a1uGh) c_a1uGi) (a_a1uHO :: a_a1uGg) (a_a1uHP :: b_a1uGh) :: c_a1uGi
sCurry :: forall a_a1uGg b_a1uGh c_a1uGi (t_a1uI8 :: (~>) (a_a1uGg, b_a1uGh) c_a1uGi) (t_a1uI9 :: a_a1uGg) (t_a1uIa :: b_a1uGh). Sing t_a1uI8 -> Sing t_a1uI9 -> Sing t_a1uIa -> Sing (Apply (Apply (Apply CurrySym0 t_a1uI8) t_a1uI9) t_a1uIa :: c_a1uGi)
type family Uncurry (a_a1uHH :: (~>) a_a1uGd ((~>) b_a1uGe c_a1uGf)) (a_a1uHI :: (a_a1uGd, b_a1uGe)) :: c_a1uGf
sUncurry :: forall a_a1uGd b_a1uGe c_a1uGf (t_a1uI4 :: (~>) a_a1uGd ((~>) b_a1uGe c_a1uGf)) (t_a1uI5 :: (a_a1uGd, b_a1uGe)). Sing t_a1uI4 -> Sing t_a1uI5 -> Sing (Apply (Apply UncurrySym0 t_a1uI4) t_a1uI5 :: c_a1uGf)
type family Swap (a_a1uHD :: (a_a1uGb, b_a1uGc)) :: (b_a1uGc, a_a1uGb)
sSwap :: forall a_a1uGb b_a1uGc (t_a1uI2 :: (a_a1uGb, b_a1uGc)). Sing t_a1uI2 -> Sing (Apply SwapSym0 t_a1uI2 :: (b_a1uGc, a_a1uGb))
type Tuple0Sym0 = '()
data Tuple2Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 (a3530822107858468865 :: Type, b3530822107858468866 :: Type))
data Tuple2Sym1 (t6989586621679311000 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type). (~>) b3530822107858468866 (a3530822107858468865 :: Type, b3530822107858468866 :: Type)
type Tuple2Sym2 (t6989586621679311000 :: a3530822107858468865) (t6989586621679311001 :: b3530822107858468866) = '(t6989586621679311000, t6989586621679311001)
data Tuple3Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type)))
data Tuple3Sym1 (t6989586621679311031 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type))
data Tuple3Sym2 (t6989586621679311031 :: a3530822107858468865 :: Type) (t6989586621679311032 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type). (~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type)
type Tuple3Sym3 (t6989586621679311031 :: a3530822107858468865) (t6989586621679311032 :: b3530822107858468866) (t6989586621679311033 :: c3530822107858468867) = '(t6989586621679311031, t6989586621679311032, t6989586621679311033)
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 (t6989586621679311078 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type)))
data Tuple4Sym2 (t6989586621679311078 :: a3530822107858468865 :: Type) (t6989586621679311079 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type))
data Tuple4Sym3 (t6989586621679311078 :: a3530822107858468865 :: Type) (t6989586621679311079 :: b3530822107858468866 :: Type) (t6989586621679311080 :: c3530822107858468867 :: Type) :: forall (d3530822107858468868 :: Type). (~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type)
type Tuple4Sym4 (t6989586621679311078 :: a3530822107858468865) (t6989586621679311079 :: b3530822107858468866) (t6989586621679311080 :: c3530822107858468867) (t6989586621679311081 :: d3530822107858468868) = '(t6989586621679311078, t6989586621679311079, t6989586621679311080, t6989586621679311081)
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 (t6989586621679311143 :: 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 (t6989586621679311143 :: a3530822107858468865 :: Type) (t6989586621679311144 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type)))
data Tuple5Sym3 (t6989586621679311143 :: a3530822107858468865 :: Type) (t6989586621679311144 :: b3530822107858468866 :: Type) (t6989586621679311145 :: c3530822107858468867 :: Type) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type))
data Tuple5Sym4 (t6989586621679311143 :: a3530822107858468865 :: Type) (t6989586621679311144 :: b3530822107858468866 :: Type) (t6989586621679311145 :: c3530822107858468867 :: Type) (t6989586621679311146 :: d3530822107858468868 :: Type) :: forall (e3530822107858468869 :: Type). (~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type)
type Tuple5Sym5 (t6989586621679311143 :: a3530822107858468865) (t6989586621679311144 :: b3530822107858468866) (t6989586621679311145 :: c3530822107858468867) (t6989586621679311146 :: d3530822107858468868) (t6989586621679311147 :: e3530822107858468869) = '(t6989586621679311143, t6989586621679311144, t6989586621679311145, t6989586621679311146, t6989586621679311147)
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 (t6989586621679311228 :: 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 (t6989586621679311228 :: a3530822107858468865 :: Type) (t6989586621679311229 :: 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 (t6989586621679311228 :: a3530822107858468865 :: Type) (t6989586621679311229 :: b3530822107858468866 :: Type) (t6989586621679311230 :: 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 (t6989586621679311228 :: a3530822107858468865 :: Type) (t6989586621679311229 :: b3530822107858468866 :: Type) (t6989586621679311230 :: c3530822107858468867 :: Type) (t6989586621679311231 :: d3530822107858468868 :: Type) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type))
data Tuple6Sym5 (t6989586621679311228 :: a3530822107858468865 :: Type) (t6989586621679311229 :: b3530822107858468866 :: Type) (t6989586621679311230 :: c3530822107858468867 :: Type) (t6989586621679311231 :: d3530822107858468868 :: Type) (t6989586621679311232 :: e3530822107858468869 :: Type) :: forall (f3530822107858468870 :: Type). (~>) f3530822107858468870 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type)
type Tuple6Sym6 (t6989586621679311228 :: a3530822107858468865) (t6989586621679311229 :: b3530822107858468866) (t6989586621679311230 :: c3530822107858468867) (t6989586621679311231 :: d3530822107858468868) (t6989586621679311232 :: e3530822107858468869) (t6989586621679311233 :: f3530822107858468870) = '(t6989586621679311228, t6989586621679311229, t6989586621679311230, t6989586621679311231, t6989586621679311232, t6989586621679311233)
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 (t6989586621679311335 :: 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 (t6989586621679311335 :: a3530822107858468865 :: Type) (t6989586621679311336 :: 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 (t6989586621679311335 :: a3530822107858468865 :: Type) (t6989586621679311336 :: b3530822107858468866 :: Type) (t6989586621679311337 :: 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 (t6989586621679311335 :: a3530822107858468865 :: Type) (t6989586621679311336 :: b3530822107858468866 :: Type) (t6989586621679311337 :: c3530822107858468867 :: Type) (t6989586621679311338 :: 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 (t6989586621679311335 :: a3530822107858468865 :: Type) (t6989586621679311336 :: b3530822107858468866 :: Type) (t6989586621679311337 :: c3530822107858468867 :: Type) (t6989586621679311338 :: d3530822107858468868 :: Type) (t6989586621679311339 :: 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 (t6989586621679311335 :: a3530822107858468865 :: Type) (t6989586621679311336 :: b3530822107858468866 :: Type) (t6989586621679311337 :: c3530822107858468867 :: Type) (t6989586621679311338 :: d3530822107858468868 :: Type) (t6989586621679311339 :: e3530822107858468869 :: Type) (t6989586621679311340 :: f3530822107858468870 :: Type) :: forall (g3530822107858468871 :: Type). (~>) g3530822107858468871 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type, g3530822107858468871 :: Type)
type Tuple7Sym7 (t6989586621679311335 :: a3530822107858468865) (t6989586621679311336 :: b3530822107858468866) (t6989586621679311337 :: c3530822107858468867) (t6989586621679311338 :: d3530822107858468868) (t6989586621679311339 :: e3530822107858468869) (t6989586621679311340 :: f3530822107858468870) (t6989586621679311341 :: g3530822107858468871) = '(t6989586621679311335, t6989586621679311336, t6989586621679311337, t6989586621679311338, t6989586621679311339, t6989586621679311340, t6989586621679311341)
data FstSym0 :: forall a6989586621679366065 b6989586621679366066. (~>) (a6989586621679366065, b6989586621679366066) a6989586621679366065
type FstSym1 (a6989586621679366167 :: (a6989586621679366065, b6989586621679366066)) = Fst a6989586621679366167
data SndSym0 :: forall a6989586621679366063 b6989586621679366064. (~>) (a6989586621679366063, b6989586621679366064) b6989586621679366064
type SndSym1 (a6989586621679366164 :: (a6989586621679366063, b6989586621679366064)) = Snd a6989586621679366164
data CurrySym0 :: forall a6989586621679366060 b6989586621679366061 c6989586621679366062. (~>) ((~>) (a6989586621679366060, b6989586621679366061) c6989586621679366062) ((~>) a6989586621679366060 ((~>) b6989586621679366061 c6989586621679366062))
data CurrySym1 (a6989586621679366155 :: (~>) (a6989586621679366060, b6989586621679366061) c6989586621679366062) :: (~>) a6989586621679366060 ((~>) b6989586621679366061 c6989586621679366062)
data CurrySym2 (a6989586621679366155 :: (~>) (a6989586621679366060, b6989586621679366061) c6989586621679366062) (a6989586621679366156 :: a6989586621679366060) :: (~>) b6989586621679366061 c6989586621679366062
type CurrySym3 (a6989586621679366155 :: (~>) (a6989586621679366060, b6989586621679366061) c6989586621679366062) (a6989586621679366156 :: a6989586621679366060) (a6989586621679366157 :: b6989586621679366061) = Curry a6989586621679366155 a6989586621679366156 a6989586621679366157
data UncurrySym0 :: forall a6989586621679366057 b6989586621679366058 c6989586621679366059. (~>) ((~>) a6989586621679366057 ((~>) b6989586621679366058 c6989586621679366059)) ((~>) (a6989586621679366057, b6989586621679366058) c6989586621679366059)
data UncurrySym1 (a6989586621679366149 :: (~>) a6989586621679366057 ((~>) b6989586621679366058 c6989586621679366059)) :: (~>) (a6989586621679366057, b6989586621679366058) c6989586621679366059
type UncurrySym2 (a6989586621679366149 :: (~>) a6989586621679366057 ((~>) b6989586621679366058 c6989586621679366059)) (a6989586621679366150 :: (a6989586621679366057, b6989586621679366058)) = Uncurry a6989586621679366149 a6989586621679366150
data SwapSym0 :: forall a6989586621679366055 b6989586621679366056. (~>) (a6989586621679366055, b6989586621679366056) (b6989586621679366056, a6989586621679366055)
type SwapSym1 (a6989586621679366145 :: (a6989586621679366055, b6989586621679366056)) = Swap a6989586621679366145
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Tuple.UncurrySym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Tuple.UncurrySym0
instance forall a6989586621679366057 b6989586621679366058 c6989586621679366059 (a6989586621679366149 :: a6989586621679366057 Data.Singletons.Internal.~> (b6989586621679366058 Data.Singletons.Internal.~> c6989586621679366059)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Tuple.UncurrySym1 a6989586621679366149)
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 a6989586621679366060 b6989586621679366061 c6989586621679366062 (a6989586621679366155 :: (a6989586621679366060, b6989586621679366061) Data.Singletons.Internal.~> c6989586621679366062). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Tuple.CurrySym1 a6989586621679366155)
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 a6989586621679366060 b6989586621679366061 c6989586621679366062 (a6989586621679366156 :: (a6989586621679366060, b6989586621679366061) Data.Singletons.Internal.~> c6989586621679366062) (a6989586621679366155 :: a6989586621679366060). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Tuple.CurrySym2 a6989586621679366156 a6989586621679366155)
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_a1w8c -> a_a1w8c -> Bool -> a_a1w8c
type family Bool_ (a_a1w8i :: a_a1w8c) (a_a1w8j :: a_a1w8c) (a_a1w8k :: Bool) :: a_a1w8c
sBool_ :: forall a_a1w8c (t_a1w8s :: a_a1w8c) (t_a1w8t :: a_a1w8c) (t_a1w8u :: Bool). Sing t_a1w8s -> Sing t_a1w8t -> Sing t_a1w8u -> Sing (Apply (Apply (Apply Bool_Sym0 t_a1w8s) t_a1w8t) t_a1w8u :: a_a1w8c)
type family Otherwise :: Bool
sOtherwise :: Sing (OtherwiseSym0 :: Bool)
type TrueSym0 = 'True
type FalseSym0 = 'False
data NotSym0 :: (~>) Bool Bool
type NotSym1 (a6989586621679372930 :: Bool) = Not a6989586621679372930
data (&&@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 3 &&@#@$
data (&&@#@$$) (a6989586621679372398 :: Bool) :: (~>) Bool Bool
infixr 3 &&@#@$$
type (&&@#@$$$) (a6989586621679372398 :: Bool) (b6989586621679372399 :: Bool) = (&&) a6989586621679372398 b6989586621679372399
data (||@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 2 ||@#@$
data (||@#@$$) (a6989586621679372636 :: Bool) :: (~>) Bool Bool
infixr 2 ||@#@$$
type (||@#@$$$) (a6989586621679372636 :: Bool) (b6989586621679372637 :: Bool) = (||) a6989586621679372636 b6989586621679372637
data Bool_Sym0 :: forall a6989586621679371636. (~>) a6989586621679371636 ((~>) a6989586621679371636 ((~>) Bool a6989586621679371636))
data Bool_Sym1 (a6989586621679371642 :: a6989586621679371636) :: (~>) a6989586621679371636 ((~>) Bool a6989586621679371636)
data Bool_Sym2 (a6989586621679371642 :: a6989586621679371636) (a6989586621679371643 :: a6989586621679371636) :: (~>) Bool a6989586621679371636
type Bool_Sym3 (a6989586621679371642 :: a6989586621679371636) (a6989586621679371643 :: a6989586621679371636) (a6989586621679371644 :: Bool) = Bool_ a6989586621679371642 a6989586621679371643 a6989586621679371644
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.||@#@$$) a6989586621679372636)
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.&&@#@$$) a6989586621679372398)
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 a6989586621679371636 (a6989586621679371642 :: a6989586621679371636). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Bool.Bool_Sym1 a6989586621679371642)
instance forall a (d :: a). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Bool.Bool_Sym1 d)
instance forall a6989586621679371636 (a6989586621679371643 :: a6989586621679371636) (a6989586621679371642 :: a6989586621679371636). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Bool.Bool_Sym2 a6989586621679371643 a6989586621679371642)
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 a6989586621679375750. (~>) a6989586621679375750 ((~>) a6989586621679375750 Bool)
infix 4 ==@#@$
data (==@#@$$) (x6989586621679375751 :: a6989586621679375750) :: (~>) a6989586621679375750 Bool
infix 4 ==@#@$$
type (==@#@$$$) (x6989586621679375751 :: a6989586621679375750) (y6989586621679375752 :: a6989586621679375750) = (==) x6989586621679375751 y6989586621679375752
data (/=@#@$) :: forall a6989586621679375750. (~>) a6989586621679375750 ((~>) a6989586621679375750 Bool)
infix 4 /=@#@$
data (/=@#@$$) (x6989586621679375753 :: a6989586621679375750) :: (~>) a6989586621679375750 Bool
infix 4 /=@#@$$
type (/=@#@$$$) (x6989586621679375753 :: a6989586621679375750) (y6989586621679375754 :: a6989586621679375750) = (/=) x6989586621679375753 y6989586621679375754
data DefaultEqSym0 :: forall k6989586621679375744. (~>) k6989586621679375744 ((~>) k6989586621679375744 Bool)
data DefaultEqSym1 (a6989586621679375745 :: k6989586621679375744) :: (~>) k6989586621679375744 Bool
type DefaultEqSym2 (a6989586621679375745 :: k6989586621679375744) (b6989586621679375746 :: k6989586621679375744) = DefaultEq a6989586621679375745 b6989586621679375746
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 k6989586621679375744 (a6989586621679375745 :: k6989586621679375744). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Eq.DefaultEqSym1 a6989586621679375745)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Eq./=@#@$)
instance forall a6989586621679375750 (x6989586621679375753 :: a6989586621679375750). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Eq./=@#@$$) x6989586621679375753)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Eq.==@#@$)
instance forall a6989586621679375750 (x6989586621679375751 :: a6989586621679375750). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Eq.==@#@$$) x6989586621679375751)


-- | 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_a1APt :: Type) where {
    type family Compare (arg_a1AQU :: a_a1APt) (arg_a1AQV :: a_a1APt) :: Ordering;
    type family (<) (arg_a1AQY :: a_a1APt) (arg_a1AQZ :: a_a1APt) :: Bool;
    type family (<=) (arg_a1AR2 :: a_a1APt) (arg_a1AR3 :: a_a1APt) :: Bool;
    type family (>) (arg_a1AR6 :: a_a1APt) (arg_a1AR7 :: a_a1APt) :: Bool;
    type family (>=) (arg_a1ARa :: a_a1APt) (arg_a1ARb :: a_a1APt) :: Bool;
    type family Max (arg_a1ARe :: a_a1APt) (arg_a1ARf :: a_a1APt) :: a_a1APt;
    type family Min (arg_a1ARi :: a_a1APt) (arg_a1ARj :: a_a1APt) :: a_a1APt;
    type Compare a_a1ARm a_a1ARn = Apply (Apply Compare_6989586621679389814Sym0 a_a1ARm) a_a1ARn;
    type (<) a_a1ARK a_a1ARL = Apply (Apply TFHelper_6989586621679389838Sym0 a_a1ARK) a_a1ARL;
    type (<=) a_a1AS2 a_a1AS3 = Apply (Apply TFHelper_6989586621679389856Sym0 a_a1AS2) a_a1AS3;
    type (>) a_a1ASk a_a1ASl = Apply (Apply TFHelper_6989586621679389874Sym0 a_a1ASk) a_a1ASl;
    type (>=) a_a1ASC a_a1ASD = Apply (Apply TFHelper_6989586621679389892Sym0 a_a1ASC) a_a1ASD;
    type Max a_a1ASU a_a1ASV = Apply (Apply Max_6989586621679389910Sym0 a_a1ASU) a_a1ASV;
    type Min a_a1ATc a_a1ATd = Apply (Apply Min_6989586621679389928Sym0 a_a1ATc) a_a1ATd;
}
infix 4 >=
infix 4 <
infix 4 <=
infix 4 >
class SEq a_a1APt => SOrd a_a1APt
sCompare :: forall (t_a1ATD :: a_a1APt) (t_a1ATE :: a_a1APt). SOrd a_a1APt => Sing t_a1ATD -> Sing t_a1ATE -> Sing (Apply (Apply CompareSym0 t_a1ATD) t_a1ATE :: Ordering)
(%<) :: forall (t_a1ATH :: a_a1APt) (t_a1ATI :: a_a1APt). SOrd a_a1APt => Sing t_a1ATH -> Sing t_a1ATI -> Sing (Apply (Apply (<@#@$) t_a1ATH) t_a1ATI :: Bool)
(%<=) :: forall (t_a1ATL :: a_a1APt) (t_a1ATM :: a_a1APt). SOrd a_a1APt => Sing t_a1ATL -> Sing t_a1ATM -> Sing (Apply (Apply (<=@#@$) t_a1ATL) t_a1ATM :: Bool)
(%>) :: forall (t_a1ATP :: a_a1APt) (t_a1ATQ :: a_a1APt). SOrd a_a1APt => Sing t_a1ATP -> Sing t_a1ATQ -> Sing (Apply (Apply (>@#@$) t_a1ATP) t_a1ATQ :: Bool)
(%>=) :: forall (t_a1ATT :: a_a1APt) (t_a1ATU :: a_a1APt). SOrd a_a1APt => Sing t_a1ATT -> Sing t_a1ATU -> Sing (Apply (Apply (>=@#@$) t_a1ATT) t_a1ATU :: Bool)
sMax :: forall (t_a1ATX :: a_a1APt) (t_a1ATY :: a_a1APt). SOrd a_a1APt => Sing t_a1ATX -> Sing t_a1ATY -> Sing (Apply (Apply MaxSym0 t_a1ATX) t_a1ATY :: a_a1APt)
sMin :: forall (t_a1AU1 :: a_a1APt) (t_a1AU2 :: a_a1APt). SOrd a_a1APt => Sing t_a1AU1 -> Sing t_a1AU2 -> Sing (Apply (Apply MinSym0 t_a1AU1) t_a1AU2 :: a_a1APt)
sCompare :: forall (t_a1ATD :: a_a1APt) (t_a1ATE :: a_a1APt). (SOrd a_a1APt, (Apply (Apply CompareSym0 t_a1ATD) t_a1ATE :: Ordering) ~ Apply (Apply Compare_6989586621679389814Sym0 t_a1ATD) t_a1ATE) => Sing t_a1ATD -> Sing t_a1ATE -> Sing (Apply (Apply CompareSym0 t_a1ATD) t_a1ATE :: Ordering)
(%<) :: forall (t_a1ATH :: a_a1APt) (t_a1ATI :: a_a1APt). (SOrd a_a1APt, (Apply (Apply (<@#@$) t_a1ATH) t_a1ATI :: Bool) ~ Apply (Apply TFHelper_6989586621679389838Sym0 t_a1ATH) t_a1ATI) => Sing t_a1ATH -> Sing t_a1ATI -> Sing (Apply (Apply (<@#@$) t_a1ATH) t_a1ATI :: Bool)
(%<=) :: forall (t_a1ATL :: a_a1APt) (t_a1ATM :: a_a1APt). (SOrd a_a1APt, (Apply (Apply (<=@#@$) t_a1ATL) t_a1ATM :: Bool) ~ Apply (Apply TFHelper_6989586621679389856Sym0 t_a1ATL) t_a1ATM) => Sing t_a1ATL -> Sing t_a1ATM -> Sing (Apply (Apply (<=@#@$) t_a1ATL) t_a1ATM :: Bool)
(%>) :: forall (t_a1ATP :: a_a1APt) (t_a1ATQ :: a_a1APt). (SOrd a_a1APt, (Apply (Apply (>@#@$) t_a1ATP) t_a1ATQ :: Bool) ~ Apply (Apply TFHelper_6989586621679389874Sym0 t_a1ATP) t_a1ATQ) => Sing t_a1ATP -> Sing t_a1ATQ -> Sing (Apply (Apply (>@#@$) t_a1ATP) t_a1ATQ :: Bool)
(%>=) :: forall (t_a1ATT :: a_a1APt) (t_a1ATU :: a_a1APt). (SOrd a_a1APt, (Apply (Apply (>=@#@$) t_a1ATT) t_a1ATU :: Bool) ~ Apply (Apply TFHelper_6989586621679389892Sym0 t_a1ATT) t_a1ATU) => Sing t_a1ATT -> Sing t_a1ATU -> Sing (Apply (Apply (>=@#@$) t_a1ATT) t_a1ATU :: Bool)
sMax :: forall (t_a1ATX :: a_a1APt) (t_a1ATY :: a_a1APt). (SOrd a_a1APt, (Apply (Apply MaxSym0 t_a1ATX) t_a1ATY :: a_a1APt) ~ Apply (Apply Max_6989586621679389910Sym0 t_a1ATX) t_a1ATY) => Sing t_a1ATX -> Sing t_a1ATY -> Sing (Apply (Apply MaxSym0 t_a1ATX) t_a1ATY :: a_a1APt)
sMin :: forall (t_a1AU1 :: a_a1APt) (t_a1AU2 :: a_a1APt). (SOrd a_a1APt, (Apply (Apply MinSym0 t_a1AU1) t_a1AU2 :: a_a1APt) ~ Apply (Apply Min_6989586621679389928Sym0 t_a1AU1) t_a1AU2) => Sing t_a1AU1 -> Sing t_a1AU2 -> Sing (Apply (Apply MinSym0 t_a1AU1) t_a1AU2 :: a_a1APt)
infix 4 %<=
infix 4 %>=
infix 4 %>
infix 4 %<
type family Comparing (a_a1AQL :: (~>) b_a1APj a_a1APi) (a_a1AQM :: b_a1APj) (a_a1AQN :: b_a1APj) :: Ordering
sComparing :: forall b_a1APj a_a1APi (t_a1ATu :: (~>) b_a1APj a_a1APi) (t_a1ATv :: b_a1APj) (t_a1ATw :: b_a1APj). SOrd a_a1APi => Sing t_a1ATu -> Sing t_a1ATv -> Sing t_a1ATw -> Sing (Apply (Apply (Apply ComparingSym0 t_a1ATu) t_a1ATv) t_a1ATw :: Ordering)
thenCmp :: Ordering -> Ordering -> Ordering
type family ThenCmp (a_a1DxK :: Ordering) (a_a1DxL :: Ordering) :: Ordering
sThenCmp :: forall (t_a1DxP :: Ordering) (t_a1DxQ :: Ordering). Sing t_a1DxP -> Sing t_a1DxQ -> Sing (Apply (Apply ThenCmpSym0 t_a1DxP) t_a1DxQ :: 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_akPT. Down a_akPT -> Type
[SDown] :: forall a_akPT (n_a1Dcd :: a_akPT). () => Sing (n_a1Dcd :: a_akPT) -> SDown ('Down n_a1Dcd)
data ThenCmpSym0 :: (~>) Ordering ((~>) Ordering Ordering)
data ThenCmpSym1 (a6989586621679400128 :: Ordering) :: (~>) Ordering Ordering
type ThenCmpSym2 (a6989586621679400128 :: Ordering) (a6989586621679400129 :: Ordering) = ThenCmp a6989586621679400128 a6989586621679400129
type LTSym0 = 'LT
type EQSym0 = 'EQ
type GTSym0 = 'GT
data CompareSym0 :: forall a6989586621679389695. (~>) a6989586621679389695 ((~>) a6989586621679389695 Ordering)
data CompareSym1 (arg6989586621679389784 :: a6989586621679389695) :: (~>) a6989586621679389695 Ordering
type CompareSym2 (arg6989586621679389784 :: a6989586621679389695) (arg6989586621679389785 :: a6989586621679389695) = Compare arg6989586621679389784 arg6989586621679389785
data (<@#@$) :: forall a6989586621679389695. (~>) a6989586621679389695 ((~>) a6989586621679389695 Bool)
infix 4 <@#@$
data (<@#@$$) (arg6989586621679389788 :: a6989586621679389695) :: (~>) a6989586621679389695 Bool
infix 4 <@#@$$
type (<@#@$$$) (arg6989586621679389788 :: a6989586621679389695) (arg6989586621679389789 :: a6989586621679389695) = (<) arg6989586621679389788 arg6989586621679389789
data (<=@#@$) :: forall a6989586621679389695. (~>) a6989586621679389695 ((~>) a6989586621679389695 Bool)
infix 4 <=@#@$
data (<=@#@$$) (arg6989586621679389792 :: a6989586621679389695) :: (~>) a6989586621679389695 Bool
infix 4 <=@#@$$
type (<=@#@$$$) (arg6989586621679389792 :: a6989586621679389695) (arg6989586621679389793 :: a6989586621679389695) = (<=) arg6989586621679389792 arg6989586621679389793
data (>@#@$) :: forall a6989586621679389695. (~>) a6989586621679389695 ((~>) a6989586621679389695 Bool)
infix 4 >@#@$
data (>@#@$$) (arg6989586621679389796 :: a6989586621679389695) :: (~>) a6989586621679389695 Bool
infix 4 >@#@$$
type (>@#@$$$) (arg6989586621679389796 :: a6989586621679389695) (arg6989586621679389797 :: a6989586621679389695) = (>) arg6989586621679389796 arg6989586621679389797
data (>=@#@$) :: forall a6989586621679389695. (~>) a6989586621679389695 ((~>) a6989586621679389695 Bool)
infix 4 >=@#@$
data (>=@#@$$) (arg6989586621679389800 :: a6989586621679389695) :: (~>) a6989586621679389695 Bool
infix 4 >=@#@$$
type (>=@#@$$$) (arg6989586621679389800 :: a6989586621679389695) (arg6989586621679389801 :: a6989586621679389695) = (>=) arg6989586621679389800 arg6989586621679389801
data MaxSym0 :: forall a6989586621679389695. (~>) a6989586621679389695 ((~>) a6989586621679389695 a6989586621679389695)
data MaxSym1 (arg6989586621679389804 :: a6989586621679389695) :: (~>) a6989586621679389695 a6989586621679389695
type MaxSym2 (arg6989586621679389804 :: a6989586621679389695) (arg6989586621679389805 :: a6989586621679389695) = Max arg6989586621679389804 arg6989586621679389805
data MinSym0 :: forall a6989586621679389695. (~>) a6989586621679389695 ((~>) a6989586621679389695 a6989586621679389695)
data MinSym1 (arg6989586621679389808 :: a6989586621679389695) :: (~>) a6989586621679389695 a6989586621679389695
type MinSym2 (arg6989586621679389808 :: a6989586621679389695) (arg6989586621679389809 :: a6989586621679389695) = Min arg6989586621679389808 arg6989586621679389809
data ComparingSym0 :: forall b6989586621679389685 a6989586621679389684. (~>) ((~>) b6989586621679389685 a6989586621679389684) ((~>) b6989586621679389685 ((~>) b6989586621679389685 Ordering))
data ComparingSym1 (a6989586621679389775 :: (~>) b6989586621679389685 a6989586621679389684) :: (~>) b6989586621679389685 ((~>) b6989586621679389685 Ordering)
data ComparingSym2 (a6989586621679389775 :: (~>) b6989586621679389685 a6989586621679389684) (a6989586621679389776 :: b6989586621679389685) :: (~>) b6989586621679389685 Ordering
type ComparingSym3 (a6989586621679389775 :: (~>) b6989586621679389685 a6989586621679389684) (a6989586621679389776 :: b6989586621679389685) (a6989586621679389777 :: b6989586621679389685) = Comparing a6989586621679389775 a6989586621679389776 a6989586621679389777
data DownSym0 :: forall (a6989586621679089889 :: Type). (~>) a6989586621679089889 (Down (a6989586621679089889 :: Type))
type DownSym1 (t6989586621679398791 :: a6989586621679089889) = 'Down t6989586621679398791
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679401041Sym0
instance Data.Singletons.Prelude.Ord.POrd ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679401041Sym1 a6989586621679401039)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679401031Sym0
instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679401031Sym1 a6989586621679401029)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679401021Sym0
instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679401021Sym1 a6989586621679401019)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679401007Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Functor.Identity.Identity a)
instance forall a6989586621679082659 (a6989586621679401005 :: Data.Functor.Identity.Identity a6989586621679082659). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679401007Sym1 a6989586621679401005)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400962Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f, g)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 e3530822107858468869 f3530822107858468870 g3530822107858468871 (a6989586621679400960 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400962Sym1 a6989586621679400960)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400879Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 e3530822107858468869 f3530822107858468870 (a6989586621679400877 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400879Sym1 a6989586621679400877)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400807Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 e3530822107858468869 (a6989586621679400805 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400807Sym1 a6989586621679400805)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400746Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 (a6989586621679400744 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400746Sym1 a6989586621679400744)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400696Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 (a6989586621679400694 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400696Sym1 a6989586621679400694)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400657Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b)
instance forall a3530822107858468865 b3530822107858468866 (a6989586621679400655 :: (a3530822107858468865, b3530822107858468866)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400657Sym1 a6989586621679400655)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400633Sym0
instance Data.Singletons.Prelude.Ord.POrd Data.Void.Void
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400633Sym1 a6989586621679400631)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400615Sym0
instance Data.Singletons.Prelude.Ord.POrd (GHC.Base.NonEmpty a)
instance forall a6989586621679059398 (a6989586621679400613 :: GHC.Base.NonEmpty a6989586621679059398). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400615Sym1 a6989586621679400613)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400586Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Either.Either a b)
instance forall a6989586621679086104 b6989586621679086105 (a6989586621679400584 :: Data.Either.Either a6989586621679086104 b6989586621679086105). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400586Sym1 a6989586621679400584)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400540Sym0
instance Data.Singletons.Prelude.Ord.POrd [a]
instance forall a3530822107858468865 (a6989586621679400538 :: [a3530822107858468865]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400540Sym1 a6989586621679400538)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679400508Sym0
instance Data.Singletons.Prelude.Ord.POrd (GHC.Maybe.Maybe a)
instance forall a3530822107858468865 (a6989586621679400506 :: GHC.Maybe.Maybe a3530822107858468865). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679400508Sym1 a6989586621679400506)
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 a6989586621679400128)
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_6989586621679399235Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Ord.Down a)
instance forall a6989586621679399215 (a6989586621679399233 :: Data.Ord.Down a6989586621679399215). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679399235Sym1 a6989586621679399233)
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 b6989586621679389685 a6989586621679389684 (a6989586621679389775 :: b6989586621679389685 Data.Singletons.Internal.~> a6989586621679389684). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.ComparingSym1 a6989586621679389775)
instance forall b6989586621679389685 a6989586621679389684 (a6989586621679389776 :: b6989586621679389685 Data.Singletons.Internal.~> a6989586621679389684) (a6989586621679389775 :: b6989586621679389685). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.ComparingSym2 a6989586621679389776 a6989586621679389775)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679389846Scrutinee_6989586621679389717Sym0
instance forall k1 (x6989586621679389844 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679389846Scrutinee_6989586621679389717Sym1 x6989586621679389844)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679389864Scrutinee_6989586621679389719Sym0
instance forall k1 (x6989586621679389862 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679389864Scrutinee_6989586621679389719Sym1 x6989586621679389862)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679389882Scrutinee_6989586621679389721Sym0
instance forall k1 (x6989586621679389880 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679389882Scrutinee_6989586621679389721Sym1 x6989586621679389880)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679389900Scrutinee_6989586621679389723Sym0
instance forall k1 (x6989586621679389898 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679389900Scrutinee_6989586621679389723Sym1 x6989586621679389898)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.<@#@$)
instance forall a6989586621679389695 (arg6989586621679389788 :: a6989586621679389695). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.<@#@$$) arg6989586621679389788)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679389827Scrutinee_6989586621679389715Sym0
instance forall k1 (x6989586621679389820 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679389827Scrutinee_6989586621679389715Sym1 x6989586621679389820)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679389918Scrutinee_6989586621679389725Sym0
instance forall k1 (x6989586621679389916 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679389918Scrutinee_6989586621679389725Sym1 x6989586621679389916)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679389936Scrutinee_6989586621679389727Sym0
instance forall k1 (x6989586621679389934 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679389936Scrutinee_6989586621679389727Sym1 x6989586621679389934)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.>@#@$)
instance forall a6989586621679389695 (arg6989586621679389796 :: a6989586621679389695). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.>@#@$$) arg6989586621679389796)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.>=@#@$)
instance forall a6989586621679389695 (arg6989586621679389800 :: a6989586621679389695). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.>=@#@$$) arg6989586621679389800)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.MaxSym0
instance forall a6989586621679389695 (arg6989586621679389804 :: a6989586621679389695). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.MaxSym1 arg6989586621679389804)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.MinSym0
instance forall a6989586621679389695 (arg6989586621679389808 :: a6989586621679389695). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.MinSym1 arg6989586621679389808)
instance forall a6989586621679389695 (arg6989586621679389784 :: a6989586621679389695). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.CompareSym1 arg6989586621679389784)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.CompareSym0
instance forall a6989586621679389695 (arg6989586621679389792 :: a6989586621679389695). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.<=@#@$$) arg6989586621679389792)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.<=@#@$)
instance forall a6989586621679389695 (a6989586621679389812 :: a6989586621679389695). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679389814Sym1 a6989586621679389812)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679389814Sym0
instance forall a6989586621679389695 (a6989586621679389836 :: a6989586621679389695). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679389838Sym1 a6989586621679389836)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679389838Sym0
instance forall a6989586621679389695 (a6989586621679389854 :: a6989586621679389695). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679389856Sym1 a6989586621679389854)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679389856Sym0
instance forall a6989586621679389695 (a6989586621679389872 :: a6989586621679389695). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679389874Sym1 a6989586621679389872)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679389874Sym0
instance forall a6989586621679389695 (a6989586621679389890 :: a6989586621679389695). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679389892Sym1 a6989586621679389890)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679389892Sym0
instance forall a6989586621679389695 (a6989586621679389908 :: a6989586621679389695). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Max_6989586621679389910Sym1 a6989586621679389908)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Max_6989586621679389910Sym0
instance forall a6989586621679389695 (a6989586621679389926 :: a6989586621679389695). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Min_6989586621679389928Sym1 a6989586621679389926)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Min_6989586621679389928Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679389822Scrutinee_6989586621679389713Sym0
instance forall k1 (x6989586621679389820 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679389822Scrutinee_6989586621679389713Sym1 x6989586621679389820)


-- | 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_a24BN :: Nat) (a_a24BO :: Nat) :: (Nat, Nat)
sDivMod :: Sing x -> Sing y -> Sing (DivMod x y)
type family Quot (a_a24Bx :: Nat) (a_a24By :: Nat) :: Nat
infixl 7 `Quot`
sQuot :: Sing x -> Sing y -> Sing (Quot x y)
infixl 7 `sQuot`
type family Rem (a_a24Bn :: Nat) (a_a24Bo :: Nat) :: Nat
infixl 7 `Rem`
sRem :: Sing x -> Sing y -> Sing (Rem x y)
infixl 7 `sRem`
type family QuotRem (a_a24BH :: Nat) (a_a24BI :: Nat) :: (Nat, Nat)
sQuotRem :: Sing x -> Sing y -> Sing (QuotRem x y)
data ErrorSym0 :: forall k06989586621679481870 k6989586621679481871. (~>) k06989586621679481870 k6989586621679481871
type ErrorSym1 (str6989586621679481872 :: k06989586621679481870) = Error str6989586621679481872
data ErrorWithoutStackTraceSym0 :: forall k06989586621679482960 k6989586621679482961. (~>) k06989586621679482960 k6989586621679482961
type ErrorWithoutStackTraceSym1 (str6989586621679482962 :: k06989586621679482960) = ErrorWithoutStackTrace str6989586621679482962
type UndefinedSym0 = Undefined
data KnownNatSym0 :: (~>) Nat Constraint
type KnownNatSym1 (n6989586621679482027 :: Nat) = KnownNat n6989586621679482027
data KnownSymbolSym0 :: (~>) Symbol Constraint
type KnownSymbolSym1 (n6989586621679482093 :: Symbol) = KnownSymbol n6989586621679482093
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 (a6989586621679504167 :: Nat) :: (~>) Nat (Nat, Nat)
type DivModSym2 (a6989586621679504167 :: Nat) (a6989586621679504168 :: Nat) = DivMod a6989586621679504167 a6989586621679504168
data QuotSym0 :: (~>) Nat ((~>) Nat Nat)
infixl 7 `QuotSym0`
data QuotSym1 (a6989586621679504151 :: Nat) :: (~>) Nat Nat
infixl 7 `QuotSym1`
type QuotSym2 (a6989586621679504151 :: Nat) (a6989586621679504152 :: Nat) = Quot a6989586621679504151 a6989586621679504152
data RemSym0 :: (~>) Nat ((~>) Nat Nat)
infixl 7 `RemSym0`
data RemSym1 (a6989586621679504141 :: Nat) :: (~>) Nat Nat
infixl 7 `RemSym1`
type RemSym2 (a6989586621679504141 :: Nat) (a6989586621679504142 :: Nat) = Rem a6989586621679504141 a6989586621679504142
data QuotRemSym0 :: (~>) Nat ((~>) Nat (Nat, Nat))
data QuotRemSym1 (a6989586621679504161 :: Nat) :: (~>) Nat (Nat, Nat)
type QuotRemSym2 (a6989586621679504161 :: Nat) (a6989586621679504162 :: Nat) = QuotRem a6989586621679504161 a6989586621679504162
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.QuotRemSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.QuotRemSym1 a6989586621679504161)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.DivModSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.DivModSym1 a6989586621679504167)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.QuotSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.QuotSym1 a6989586621679504151)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.RemSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.RemSym1 a6989586621679504141)
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_a1gkl :: a_11). () => Sing (n_a1gkl :: a_11) -> SMaybe ('Just n_a1gkl)
maybe_ :: b_a26n4 -> (a_a26n5 -> b_a26n4) -> Maybe a_a26n5 -> b_a26n4
type family Maybe_ (a_a26nm :: b_a26n4) (a_a26nn :: (~>) a_a26n5 b_a26n4) (a_a26no :: Maybe a_a26n5) :: b_a26n4
sMaybe_ :: forall b_a26n4 a_a26n5 (t_a26nv :: b_a26n4) (t_a26nw :: (~>) a_a26n5 b_a26n4) (t_a26nx :: Maybe a_a26n5). Sing t_a26nv -> Sing t_a26nw -> Sing t_a26nx -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a26nv) t_a26nw) t_a26nx :: b_a26n4)
type family IsJust (a_a26Nk :: Maybe a_a26K8) :: Bool
sIsJust :: forall a_a26K8 (t_a26NE :: Maybe a_a26K8). Sing t_a26NE -> Sing (Apply IsJustSym0 t_a26NE :: Bool)
type family IsNothing (a_a26Ni :: Maybe a_a26K7) :: Bool
sIsNothing :: forall a_a26K7 (t_a26NC :: Maybe a_a26K7). Sing t_a26NC -> Sing (Apply IsNothingSym0 t_a26NC :: Bool)
type family FromJust (a_a26Nf :: Maybe a_a26K6) :: a_a26K6
sFromJust :: forall a_a26K6 (t_a26NA :: Maybe a_a26K6). Sing t_a26NA -> Sing (Apply FromJustSym0 t_a26NA :: a_a26K6)
type family FromMaybe (a_a26N5 :: a_a26K5) (a_a26N6 :: Maybe a_a26K5) :: a_a26K5
sFromMaybe :: forall a_a26K5 (t_a26Nw :: a_a26K5) (t_a26Nx :: Maybe a_a26K5). Sing t_a26Nw -> Sing t_a26Nx -> Sing (Apply (Apply FromMaybeSym0 t_a26Nw) t_a26Nx :: a_a26K5)
type family ListToMaybe (a_a26MZ :: [a_a26K3]) :: Maybe a_a26K3
sListToMaybe :: forall a_a26K3 (t_a26Ns :: [a_a26K3]). Sing t_a26Ns -> Sing (Apply ListToMaybeSym0 t_a26Ns :: Maybe a_a26K3)
type family MaybeToList (a_a26N2 :: Maybe a_a26K4) :: [a_a26K4]
sMaybeToList :: forall a_a26K4 (t_a26Nu :: Maybe a_a26K4). Sing t_a26Nu -> Sing (Apply MaybeToListSym0 t_a26Nu :: [a_a26K4])
type family CatMaybes (a_a26MU :: [Maybe a_a26K2]) :: [a_a26K2]
sCatMaybes :: forall a_a26K2 (t_a26Nq :: [Maybe a_a26K2]). Sing t_a26Nq -> Sing (Apply CatMaybesSym0 t_a26Nq :: [a_a26K2])
type family MapMaybe (a_a26MB :: (~>) a_a26K0 (Maybe b_a26K1)) (a_a26MC :: [a_a26K0]) :: [b_a26K1]
sMapMaybe :: forall a_a26K0 b_a26K1 (t_a26Nm :: (~>) a_a26K0 (Maybe b_a26K1)) (t_a26Nn :: [a_a26K0]). Sing t_a26Nm -> Sing t_a26Nn -> Sing (Apply (Apply MapMaybeSym0 t_a26Nm) t_a26Nn :: [b_a26K1])
type NothingSym0 = 'Nothing
data JustSym0 :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 (Maybe (a3530822107858468865 :: Type))
type JustSym1 (t6989586621679310883 :: a3530822107858468865) = 'Just t6989586621679310883
data Maybe_Sym0 :: forall b6989586621679510942 a6989586621679510943. (~>) b6989586621679510942 ((~>) ((~>) a6989586621679510943 b6989586621679510942) ((~>) (Maybe a6989586621679510943) b6989586621679510942))
data Maybe_Sym1 (a6989586621679510960 :: b6989586621679510942) :: forall a6989586621679510943. (~>) ((~>) a6989586621679510943 b6989586621679510942) ((~>) (Maybe a6989586621679510943) b6989586621679510942)
data Maybe_Sym2 (a6989586621679510960 :: b6989586621679510942) (a6989586621679510961 :: (~>) a6989586621679510943 b6989586621679510942) :: (~>) (Maybe a6989586621679510943) b6989586621679510942
type Maybe_Sym3 (a6989586621679510960 :: b6989586621679510942) (a6989586621679510961 :: (~>) a6989586621679510943 b6989586621679510942) (a6989586621679510962 :: Maybe a6989586621679510943) = Maybe_ a6989586621679510960 a6989586621679510961 a6989586621679510962
data IsJustSym0 :: forall a6989586621679512372. (~>) (Maybe a6989586621679512372) Bool
type IsJustSym1 (a6989586621679512570 :: Maybe a6989586621679512372) = IsJust a6989586621679512570
data IsNothingSym0 :: forall a6989586621679512371. (~>) (Maybe a6989586621679512371) Bool
type IsNothingSym1 (a6989586621679512568 :: Maybe a6989586621679512371) = IsNothing a6989586621679512568
data FromJustSym0 :: forall a6989586621679512370. (~>) (Maybe a6989586621679512370) a6989586621679512370
type FromJustSym1 (a6989586621679512565 :: Maybe a6989586621679512370) = FromJust a6989586621679512565
data FromMaybeSym0 :: forall a6989586621679512369. (~>) a6989586621679512369 ((~>) (Maybe a6989586621679512369) a6989586621679512369)
data FromMaybeSym1 (a6989586621679512555 :: a6989586621679512369) :: (~>) (Maybe a6989586621679512369) a6989586621679512369
type FromMaybeSym2 (a6989586621679512555 :: a6989586621679512369) (a6989586621679512556 :: Maybe a6989586621679512369) = FromMaybe a6989586621679512555 a6989586621679512556
data ListToMaybeSym0 :: forall a6989586621679512367. (~>) [a6989586621679512367] (Maybe a6989586621679512367)
type ListToMaybeSym1 (a6989586621679512549 :: [a6989586621679512367]) = ListToMaybe a6989586621679512549
data MaybeToListSym0 :: forall a6989586621679512368. (~>) (Maybe a6989586621679512368) [a6989586621679512368]
type MaybeToListSym1 (a6989586621679512552 :: Maybe a6989586621679512368) = MaybeToList a6989586621679512552
data CatMaybesSym0 :: forall a6989586621679512366. (~>) [Maybe a6989586621679512366] [a6989586621679512366]
type CatMaybesSym1 (a6989586621679512544 :: [Maybe a6989586621679512366]) = CatMaybes a6989586621679512544
data MapMaybeSym0 :: forall a6989586621679512364 b6989586621679512365. (~>) ((~>) a6989586621679512364 (Maybe b6989586621679512365)) ((~>) [a6989586621679512364] [b6989586621679512365])
data MapMaybeSym1 (a6989586621679512525 :: (~>) a6989586621679512364 (Maybe b6989586621679512365)) :: (~>) [a6989586621679512364] [b6989586621679512365]
type MapMaybeSym2 (a6989586621679512525 :: (~>) a6989586621679512364 (Maybe b6989586621679512365)) (a6989586621679512526 :: [a6989586621679512364]) = MapMaybe a6989586621679512525 a6989586621679512526
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 a6989586621679512369 (a6989586621679512555 :: a6989586621679512369). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.FromMaybeSym1 a6989586621679512555)
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.Let6989586621679512532RsSym0
instance forall a6989586621679512364 k1 k (f6989586621679512529 :: a6989586621679512364 Data.Singletons.Internal.~> GHC.Maybe.Maybe k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679512532RsSym1 f6989586621679512529)
instance forall a6989586621679512364 k1 k (x6989586621679512530 :: a6989586621679512364 Data.Singletons.Internal.~> GHC.Maybe.Maybe k1) (f6989586621679512529 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679512532RsSym2 x6989586621679512530 f6989586621679512529)
instance forall a6989586621679512364 b6989586621679512365 (a6989586621679512525 :: a6989586621679512364 Data.Singletons.Internal.~> GHC.Maybe.Maybe b6989586621679512365). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.MapMaybeSym1 a6989586621679512525)
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.Let6989586621679512536Scrutinee_6989586621679512399Sym0
instance forall k1 k2 k3 (f6989586621679512529 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679512536Scrutinee_6989586621679512399Sym1 f6989586621679512529)
instance forall k1 k2 k3 (x6989586621679512530 :: k1 Data.Singletons.Internal.~> k2) (f6989586621679512529 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679512536Scrutinee_6989586621679512399Sym2 x6989586621679512530 f6989586621679512529)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Maybe_Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Maybe.Maybe_Sym0
instance forall b6989586621679510942 a6989586621679510943 (a6989586621679510960 :: b6989586621679510942). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Maybe_Sym1 a6989586621679510960)
instance forall b a (d :: b). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Maybe.Maybe_Sym1 d)
instance forall b6989586621679510942 a6989586621679510943 (a6989586621679510961 :: b6989586621679510942) (a6989586621679510960 :: a6989586621679510943 Data.Singletons.Internal.~> b6989586621679510942). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Maybe_Sym2 a6989586621679510961 a6989586621679510960)
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_a2a8A :: Type) where {
    type family (+) (arg_a2a8T :: a_a2a8A) (arg_a2a8U :: a_a2a8A) :: a_a2a8A;
    type family (-) (arg_a2a8X :: a_a2a8A) (arg_a2a8Y :: a_a2a8A) :: a_a2a8A;
    type family (*) (arg_a2a91 :: a_a2a8A) (arg_a2a92 :: a_a2a8A) :: a_a2a8A;
    type family Negate (arg_a2a95 :: a_a2a8A) :: a_a2a8A;
    type family Abs (arg_a2a97 :: a_a2a8A) :: a_a2a8A;
    type family Signum (arg_a2a99 :: a_a2a8A) :: a_a2a8A;
    type family FromInteger (arg_a2a9b :: Nat) :: a_a2a8A;
    type (-) a_a2a9d a_a2a9e = Apply (Apply TFHelper_6989586621679525461Sym0 a_a2a9d) a_a2a9e;
    type Negate a_a2a9p = Apply Negate_6989586621679525472Sym0 a_a2a9p;
}
infixl 6 +
infixl 7 *
infixl 6 -
class SNum a_a2a8A
(%+) :: forall (t_a2aaR :: a_a2a8A) (t_a2aaS :: a_a2a8A). SNum a_a2a8A => Sing t_a2aaR -> Sing t_a2aaS -> Sing (Apply (Apply (+@#@$) t_a2aaR) t_a2aaS :: a_a2a8A)
(%-) :: forall (t_a2aaV :: a_a2a8A) (t_a2aaW :: a_a2a8A). SNum a_a2a8A => Sing t_a2aaV -> Sing t_a2aaW -> Sing (Apply (Apply (-@#@$) t_a2aaV) t_a2aaW :: a_a2a8A)
(%*) :: forall (t_a2aaZ :: a_a2a8A) (t_a2ab0 :: a_a2a8A). SNum a_a2a8A => Sing t_a2aaZ -> Sing t_a2ab0 -> Sing (Apply (Apply (*@#@$) t_a2aaZ) t_a2ab0 :: a_a2a8A)
sNegate :: forall (t_a2ab3 :: a_a2a8A). SNum a_a2a8A => Sing t_a2ab3 -> Sing (Apply NegateSym0 t_a2ab3 :: a_a2a8A)
sAbs :: forall (t_a2ab5 :: a_a2a8A). SNum a_a2a8A => Sing t_a2ab5 -> Sing (Apply AbsSym0 t_a2ab5 :: a_a2a8A)
sSignum :: forall (t_a2ab7 :: a_a2a8A). SNum a_a2a8A => Sing t_a2ab7 -> Sing (Apply SignumSym0 t_a2ab7 :: a_a2a8A)
sFromInteger :: forall (t_a2ab9 :: Nat). SNum a_a2a8A => Sing t_a2ab9 -> Sing (Apply FromIntegerSym0 t_a2ab9 :: a_a2a8A)
(%-) :: forall (t_a2aaV :: a_a2a8A) (t_a2aaW :: a_a2a8A). (SNum a_a2a8A, (Apply (Apply (-@#@$) t_a2aaV) t_a2aaW :: a_a2a8A) ~ Apply (Apply TFHelper_6989586621679525461Sym0 t_a2aaV) t_a2aaW) => Sing t_a2aaV -> Sing t_a2aaW -> Sing (Apply (Apply (-@#@$) t_a2aaV) t_a2aaW :: a_a2a8A)
sNegate :: forall (t_a2ab3 :: a_a2a8A). (SNum a_a2a8A, (Apply NegateSym0 t_a2ab3 :: a_a2a8A) ~ Apply Negate_6989586621679525472Sym0 t_a2ab3) => Sing t_a2ab3 -> Sing (Apply NegateSym0 t_a2ab3 :: a_a2a8A)
infixl 6 %+
infixl 6 %-
infixl 7 %*
type family Subtract (a_a2bCE :: a_a2bCA) (a_a2bCF :: a_a2bCA) :: a_a2bCA
sSubtract :: forall a_a2bCA (t_a2bCK :: a_a2bCA) (t_a2bCL :: a_a2bCA). SNum a_a2bCA => Sing t_a2bCK -> Sing t_a2bCL -> Sing (Apply (Apply SubtractSym0 t_a2bCK) t_a2bCL :: a_a2bCA)
data (+@#@$) :: forall a6989586621679525420. (~>) a6989586621679525420 ((~>) a6989586621679525420 a6989586621679525420)
infixl 6 +@#@$
data (+@#@$$) (arg6989586621679525439 :: a6989586621679525420) :: (~>) a6989586621679525420 a6989586621679525420
infixl 6 +@#@$$
type (+@#@$$$) (arg6989586621679525439 :: a6989586621679525420) (arg6989586621679525440 :: a6989586621679525420) = (+) arg6989586621679525439 arg6989586621679525440
data (-@#@$) :: forall a6989586621679525420. (~>) a6989586621679525420 ((~>) a6989586621679525420 a6989586621679525420)
infixl 6 -@#@$
data (-@#@$$) (arg6989586621679525443 :: a6989586621679525420) :: (~>) a6989586621679525420 a6989586621679525420
infixl 6 -@#@$$
type (-@#@$$$) (arg6989586621679525443 :: a6989586621679525420) (arg6989586621679525444 :: a6989586621679525420) = (-) arg6989586621679525443 arg6989586621679525444
data (*@#@$) :: forall a6989586621679525420. (~>) a6989586621679525420 ((~>) a6989586621679525420 a6989586621679525420)
infixl 7 *@#@$
data (*@#@$$) (arg6989586621679525447 :: a6989586621679525420) :: (~>) a6989586621679525420 a6989586621679525420
infixl 7 *@#@$$
type (*@#@$$$) (arg6989586621679525447 :: a6989586621679525420) (arg6989586621679525448 :: a6989586621679525420) = (*) arg6989586621679525447 arg6989586621679525448
data NegateSym0 :: forall a6989586621679525420. (~>) a6989586621679525420 a6989586621679525420
type NegateSym1 (arg6989586621679525451 :: a6989586621679525420) = Negate arg6989586621679525451
data AbsSym0 :: forall a6989586621679525420. (~>) a6989586621679525420 a6989586621679525420
type AbsSym1 (arg6989586621679525453 :: a6989586621679525420) = Abs arg6989586621679525453
data SignumSym0 :: forall a6989586621679525420. (~>) a6989586621679525420 a6989586621679525420
type SignumSym1 (arg6989586621679525455 :: a6989586621679525420) = Signum arg6989586621679525455
data FromIntegerSym0 :: forall a6989586621679525420. (~>) Nat a6989586621679525420
type FromIntegerSym1 (arg6989586621679525457 :: Nat) = FromInteger arg6989586621679525457
data SubtractSym0 :: forall a6989586621679531124. (~>) a6989586621679531124 ((~>) a6989586621679531124 a6989586621679531124)
data SubtractSym1 (a6989586621679531128 :: a6989586621679531124) :: (~>) a6989586621679531124 a6989586621679531124
type SubtractSym2 (a6989586621679531128 :: a6989586621679531124) (a6989586621679531129 :: a6989586621679531124) = Subtract a6989586621679531128 a6989586621679531129
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 a6989586621679531124 (a6989586621679531128 :: a6989586621679531124). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.SubtractSym1 a6989586621679531128)
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_6989586621679525555Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Ord.Down a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Signum_6989586621679525548Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Abs_6989586621679525541Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Negate_6989586621679525534Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679525523Sym0
instance forall a6989586621679525420 (a6989586621679525521 :: a6989586621679525420). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679525523Sym1 a6989586621679525521)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679525511Sym0
instance forall a6989586621679525420 (a6989586621679525509 :: a6989586621679525420). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679525511Sym1 a6989586621679525509)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679525499Sym0
instance forall a6989586621679525420 (a6989586621679525497 :: a6989586621679525420). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679525499Sym1 a6989586621679525497)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.*@#@$)
instance forall a6989586621679525420 (arg6989586621679525447 :: a6989586621679525420). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Num.*@#@$$) arg6989586621679525447)
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 a6989586621679525420 (arg6989586621679525439 :: a6989586621679525420). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Num.+@#@$$) arg6989586621679525439)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.+@#@$)
instance forall a6989586621679525420 (arg6989586621679525443 :: a6989586621679525420). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Num.-@#@$$) arg6989586621679525443)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.-@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.NegateSym0
instance forall a6989586621679525420 (a6989586621679525459 :: a6989586621679525420). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679525461Sym1 a6989586621679525459)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679525461Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Negate_6989586621679525472Sym0


-- | 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_a2enw :: (~>) a_a2ek9 ((~>) b_a2eka b_a2eka)) (a_a2enx :: b_a2eka) (a_a2eny :: [a_a2ek9]) :: b_a2eka
sFoldr :: forall a_a2ek9 b_a2eka (t_a2eoB :: (~>) a_a2ek9 ((~>) b_a2eka b_a2eka)) (t_a2eoC :: b_a2eka) (t_a2eoD :: [a_a2ek9]). Sing t_a2eoB -> Sing t_a2eoC -> Sing t_a2eoD -> Sing (Apply (Apply (Apply FoldrSym0 t_a2eoB) t_a2eoC) t_a2eoD :: b_a2eka)
type family Map (a_a2enp :: (~>) a_a2ek7 b_a2ek8) (a_a2enq :: [a_a2ek7]) :: [b_a2ek8]
sMap :: forall a_a2ek7 b_a2ek8 (t_a2eox :: (~>) a_a2ek7 b_a2ek8) (t_a2eoy :: [a_a2ek7]). Sing t_a2eox -> Sing t_a2eoy -> Sing (Apply (Apply MapSym0 t_a2eox) t_a2eoy :: [b_a2ek8])
type family (++) (a_a2enh :: [a_a2ek6]) (a_a2eni :: [a_a2ek6]) :: [a_a2ek6]
infixr 5 ++
(%++) :: forall a_a2ek6 (t_a2eot :: [a_a2ek6]) (t_a2eou :: [a_a2ek6]). Sing t_a2eot -> Sing t_a2eou -> Sing (Apply (Apply (++@#@$) t_a2eot) t_a2eou :: [a_a2ek6])
infixr 5 %++
type family Otherwise :: Bool
sOtherwise :: Sing (OtherwiseSym0 :: Bool)
type family Id (a_a2ene :: a_a2ek5) :: a_a2ek5
sId :: forall a_a2ek5 (t_a2eor :: a_a2ek5). Sing t_a2eor -> Sing (Apply IdSym0 t_a2eor :: a_a2ek5)
type family Const (a_a2en9 :: a_a2ek3) (a_a2ena :: b_a2ek4) :: a_a2ek3
sConst :: forall a_a2ek3 b_a2ek4 (t_a2eon :: a_a2ek3) (t_a2eoo :: b_a2ek4). Sing t_a2eon -> Sing t_a2eoo -> Sing (Apply (Apply ConstSym0 t_a2eon) t_a2eoo :: a_a2ek3)
type family (.) (a_a2emQ :: (~>) b_a2ek0 c_a2ek1) (a_a2emR :: (~>) a_a2ek2 b_a2ek0) (a_a2emS :: a_a2ek2) :: c_a2ek1
infixr 9 .
(%.) :: forall b_a2ek0 c_a2ek1 a_a2ek2 (t_a2eoh :: (~>) b_a2ek0 c_a2ek1) (t_a2eoi :: (~>) a_a2ek2 b_a2ek0) (t_a2eoj :: a_a2ek2). Sing t_a2eoh -> Sing t_a2eoi -> Sing t_a2eoj -> Sing (Apply (Apply (Apply (.@#@$) t_a2eoh) t_a2eoi) t_a2eoj :: c_a2ek1)
infixr 9 %.
type family ($) (a_a2emr :: (~>) a_a2ejU b_a2ejV) (a_a2ems :: a_a2ejU) :: b_a2ejV
infixr 0 $
type family ($!) (a_a2emi :: (~>) a_a2ejS b_a2ejT) (a_a2emj :: a_a2ejS) :: b_a2ejT
infixr 0 $!
(%$) :: forall a_a2ejU b_a2ejV (t_a2eo3 :: (~>) a_a2ejU b_a2ejV) (t_a2eo4 :: a_a2ejU). Sing t_a2eo3 -> Sing t_a2eo4 -> Sing (Apply (Apply ($@#@$) t_a2eo3) t_a2eo4 :: b_a2ejV)
infixr 0 %$
(%$!) :: forall a_a2ejS b_a2ejT (t_a2enZ :: (~>) a_a2ejS b_a2ejT) (t_a2eo0 :: a_a2ejS). Sing t_a2enZ -> Sing t_a2eo0 -> Sing (Apply (Apply ($!@#@$) t_a2enZ) t_a2eo0 :: b_a2ejT)
infixr 0 %$!
type family Until (a_a2elS :: (~>) a_a2ejR Bool) (a_a2elT :: (~>) a_a2ejR a_a2ejR) (a_a2elU :: a_a2ejR) :: a_a2ejR
sUntil :: forall a_a2ejR (t_a2enT :: (~>) a_a2ejR Bool) (t_a2enU :: (~>) a_a2ejR a_a2ejR) (t_a2enV :: a_a2ejR). Sing t_a2enT -> Sing t_a2enU -> Sing t_a2enV -> Sing (Apply (Apply (Apply UntilSym0 t_a2enT) t_a2enU) t_a2enV :: a_a2ejR)
type family Flip (a_a2emH :: (~>) a_a2ejX ((~>) b_a2ejY c_a2ejZ)) (a_a2emI :: b_a2ejY) (a_a2emJ :: a_a2ejX) :: c_a2ejZ
sFlip :: forall a_a2ejX b_a2ejY c_a2ejZ (t_a2eob :: (~>) a_a2ejX ((~>) b_a2ejY c_a2ejZ)) (t_a2eoc :: b_a2ejY) (t_a2eod :: a_a2ejX). Sing t_a2eob -> Sing t_a2eoc -> Sing t_a2eod -> Sing (Apply (Apply (Apply FlipSym0 t_a2eob) t_a2eoc) t_a2eod :: c_a2ejZ)
type family AsTypeOf (a_a2emB :: a_a2ejW) (a_a2emC :: a_a2ejW) :: a_a2ejW
sAsTypeOf :: forall a_a2ejW (t_a2eo7 :: a_a2ejW) (t_a2eo8 :: a_a2ejW). Sing t_a2eo7 -> Sing t_a2eo8 -> Sing (Apply (Apply AsTypeOfSym0 t_a2eo7) t_a2eo8 :: a_a2ejW)
type family Seq (a_a2elN :: a_a2ejP) (a_a2elO :: b_a2ejQ) :: b_a2ejQ
infixr 0 `Seq`
sSeq :: forall a_a2ejP b_a2ejQ (t_a2enP :: a_a2ejP) (t_a2enQ :: b_a2ejQ). Sing t_a2enP -> Sing t_a2enQ -> Sing (Apply (Apply SeqSym0 t_a2enP) t_a2enQ :: b_a2ejQ)
infixr 0 `sSeq`
data FoldrSym0 :: forall a6989586621679541513 b6989586621679541514. (~>) ((~>) a6989586621679541513 ((~>) b6989586621679541514 b6989586621679541514)) ((~>) b6989586621679541514 ((~>) [a6989586621679541513] b6989586621679541514))
data FoldrSym1 (a6989586621679541722 :: (~>) a6989586621679541513 ((~>) b6989586621679541514 b6989586621679541514)) :: (~>) b6989586621679541514 ((~>) [a6989586621679541513] b6989586621679541514)
data FoldrSym2 (a6989586621679541722 :: (~>) a6989586621679541513 ((~>) b6989586621679541514 b6989586621679541514)) (a6989586621679541723 :: b6989586621679541514) :: (~>) [a6989586621679541513] b6989586621679541514
type FoldrSym3 (a6989586621679541722 :: (~>) a6989586621679541513 ((~>) b6989586621679541514 b6989586621679541514)) (a6989586621679541723 :: b6989586621679541514) (a6989586621679541724 :: [a6989586621679541513]) = Foldr a6989586621679541722 a6989586621679541723 a6989586621679541724
data MapSym0 :: forall a6989586621679541511 b6989586621679541512. (~>) ((~>) a6989586621679541511 b6989586621679541512) ((~>) [a6989586621679541511] [b6989586621679541512])
data MapSym1 (a6989586621679541715 :: (~>) a6989586621679541511 b6989586621679541512) :: (~>) [a6989586621679541511] [b6989586621679541512]
type MapSym2 (a6989586621679541715 :: (~>) a6989586621679541511 b6989586621679541512) (a6989586621679541716 :: [a6989586621679541511]) = Map a6989586621679541715 a6989586621679541716
data (++@#@$) :: forall a6989586621679541510. (~>) [a6989586621679541510] ((~>) [a6989586621679541510] [a6989586621679541510])
infixr 5 ++@#@$
data (++@#@$$) (a6989586621679541707 :: [a6989586621679541510]) :: (~>) [a6989586621679541510] [a6989586621679541510]
infixr 5 ++@#@$$
type (++@#@$$$) (a6989586621679541707 :: [a6989586621679541510]) (a6989586621679541708 :: [a6989586621679541510]) = (++) a6989586621679541707 a6989586621679541708
type OtherwiseSym0 = Otherwise
data IdSym0 :: forall a6989586621679541509. (~>) a6989586621679541509 a6989586621679541509
type IdSym1 (a6989586621679541704 :: a6989586621679541509) = Id a6989586621679541704
data ConstSym0 :: forall a6989586621679541507 b6989586621679541508. (~>) a6989586621679541507 ((~>) b6989586621679541508 a6989586621679541507)
data ConstSym1 (a6989586621679541699 :: a6989586621679541507) :: forall b6989586621679541508. (~>) b6989586621679541508 a6989586621679541507
type ConstSym2 (a6989586621679541699 :: a6989586621679541507) (a6989586621679541700 :: b6989586621679541508) = Const a6989586621679541699 a6989586621679541700
data (.@#@$) :: forall b6989586621679541504 c6989586621679541505 a6989586621679541506. (~>) ((~>) b6989586621679541504 c6989586621679541505) ((~>) ((~>) a6989586621679541506 b6989586621679541504) ((~>) a6989586621679541506 c6989586621679541505))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679541680 :: (~>) b6989586621679541504 c6989586621679541505) :: forall a6989586621679541506. (~>) ((~>) a6989586621679541506 b6989586621679541504) ((~>) a6989586621679541506 c6989586621679541505)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679541680 :: (~>) b6989586621679541504 c6989586621679541505) (a6989586621679541681 :: (~>) a6989586621679541506 b6989586621679541504) :: (~>) a6989586621679541506 c6989586621679541505
infixr 9 .@#@$$$
type (.@#@$$$$) (a6989586621679541680 :: (~>) b6989586621679541504 c6989586621679541505) (a6989586621679541681 :: (~>) a6989586621679541506 b6989586621679541504) (a6989586621679541682 :: a6989586621679541506) = (.) a6989586621679541680 a6989586621679541681 a6989586621679541682
data ($@#@$) :: forall a6989586621679541498 b6989586621679541499. (~>) ((~>) a6989586621679541498 b6989586621679541499) ((~>) a6989586621679541498 b6989586621679541499)
infixr 0 $@#@$
data ($@#@$$) (a6989586621679541655 :: (~>) a6989586621679541498 b6989586621679541499) :: (~>) a6989586621679541498 b6989586621679541499
infixr 0 $@#@$$
type ($@#@$$$) (a6989586621679541655 :: (~>) a6989586621679541498 b6989586621679541499) (a6989586621679541656 :: a6989586621679541498) = ($) a6989586621679541655 a6989586621679541656
data ($!@#@$) :: forall a6989586621679541496 b6989586621679541497. (~>) ((~>) a6989586621679541496 b6989586621679541497) ((~>) a6989586621679541496 b6989586621679541497)
infixr 0 $!@#@$
data ($!@#@$$) (a6989586621679541646 :: (~>) a6989586621679541496 b6989586621679541497) :: (~>) a6989586621679541496 b6989586621679541497
infixr 0 $!@#@$$
type ($!@#@$$$) (a6989586621679541646 :: (~>) a6989586621679541496 b6989586621679541497) (a6989586621679541647 :: a6989586621679541496) = ($!) a6989586621679541646 a6989586621679541647
data UntilSym0 :: forall a6989586621679541495. (~>) ((~>) a6989586621679541495 Bool) ((~>) ((~>) a6989586621679541495 a6989586621679541495) ((~>) a6989586621679541495 a6989586621679541495))
data UntilSym1 (a6989586621679541620 :: (~>) a6989586621679541495 Bool) :: (~>) ((~>) a6989586621679541495 a6989586621679541495) ((~>) a6989586621679541495 a6989586621679541495)
data UntilSym2 (a6989586621679541620 :: (~>) a6989586621679541495 Bool) (a6989586621679541621 :: (~>) a6989586621679541495 a6989586621679541495) :: (~>) a6989586621679541495 a6989586621679541495
type UntilSym3 (a6989586621679541620 :: (~>) a6989586621679541495 Bool) (a6989586621679541621 :: (~>) a6989586621679541495 a6989586621679541495) (a6989586621679541622 :: a6989586621679541495) = Until a6989586621679541620 a6989586621679541621 a6989586621679541622
data FlipSym0 :: forall a6989586621679541501 b6989586621679541502 c6989586621679541503. (~>) ((~>) a6989586621679541501 ((~>) b6989586621679541502 c6989586621679541503)) ((~>) b6989586621679541502 ((~>) a6989586621679541501 c6989586621679541503))
data FlipSym1 (a6989586621679541671 :: (~>) a6989586621679541501 ((~>) b6989586621679541502 c6989586621679541503)) :: (~>) b6989586621679541502 ((~>) a6989586621679541501 c6989586621679541503)
data FlipSym2 (a6989586621679541671 :: (~>) a6989586621679541501 ((~>) b6989586621679541502 c6989586621679541503)) (a6989586621679541672 :: b6989586621679541502) :: (~>) a6989586621679541501 c6989586621679541503
type FlipSym3 (a6989586621679541671 :: (~>) a6989586621679541501 ((~>) b6989586621679541502 c6989586621679541503)) (a6989586621679541672 :: b6989586621679541502) (a6989586621679541673 :: a6989586621679541501) = Flip a6989586621679541671 a6989586621679541672 a6989586621679541673
data AsTypeOfSym0 :: forall a6989586621679541500. (~>) a6989586621679541500 ((~>) a6989586621679541500 a6989586621679541500)
data AsTypeOfSym1 (a6989586621679541665 :: a6989586621679541500) :: (~>) a6989586621679541500 a6989586621679541500
type AsTypeOfSym2 (a6989586621679541665 :: a6989586621679541500) (a6989586621679541666 :: a6989586621679541500) = AsTypeOf a6989586621679541665 a6989586621679541666
data SeqSym0 :: forall a6989586621679541493 b6989586621679541494. (~>) a6989586621679541493 ((~>) b6989586621679541494 b6989586621679541494)
infixr 0 `SeqSym0`
data SeqSym1 (a6989586621679541615 :: a6989586621679541493) :: forall b6989586621679541494. (~>) b6989586621679541494 b6989586621679541494
infixr 0 `SeqSym1`
type SeqSym2 (a6989586621679541615 :: a6989586621679541493) (a6989586621679541616 :: b6989586621679541494) = Seq a6989586621679541615 a6989586621679541616
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.FoldrSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Base.FoldrSym0
instance forall a6989586621679541513 b6989586621679541514 (a6989586621679541722 :: a6989586621679541513 Data.Singletons.Internal.~> (b6989586621679541514 Data.Singletons.Internal.~> b6989586621679541514)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FoldrSym1 a6989586621679541722)
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 a6989586621679541513 b6989586621679541514 (a6989586621679541723 :: a6989586621679541513 Data.Singletons.Internal.~> (b6989586621679541514 Data.Singletons.Internal.~> b6989586621679541514)) (a6989586621679541722 :: b6989586621679541514). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FoldrSym2 a6989586621679541723 a6989586621679541722)
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 a6989586621679541511 b6989586621679541512 (a6989586621679541715 :: a6989586621679541511 Data.Singletons.Internal.~> b6989586621679541512). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.MapSym1 a6989586621679541715)
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 a6989586621679541510 (a6989586621679541707 :: [a6989586621679541510]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base.++@#@$$) a6989586621679541707)
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 a6989586621679541500 (a6989586621679541665 :: a6989586621679541500). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.AsTypeOfSym1 a6989586621679541665)
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 a6989586621679541507 b6989586621679541508 (a6989586621679541699 :: a6989586621679541507). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.ConstSym1 a6989586621679541699)
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 b6989586621679541504 c6989586621679541505 a6989586621679541506 (a6989586621679541680 :: b6989586621679541504 Data.Singletons.Internal.~> c6989586621679541505). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base..@#@$$) a6989586621679541680)
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 b6989586621679541504 c6989586621679541505 a6989586621679541506 (a6989586621679541681 :: b6989586621679541504 Data.Singletons.Internal.~> c6989586621679541505) (a6989586621679541680 :: a6989586621679541506 Data.Singletons.Internal.~> b6989586621679541504). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (a6989586621679541681 Data.Singletons.Prelude.Base..@#@$$$ a6989586621679541680)
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 a6989586621679541501 b6989586621679541502 c6989586621679541503 (a6989586621679541671 :: a6989586621679541501 Data.Singletons.Internal.~> (b6989586621679541502 Data.Singletons.Internal.~> c6989586621679541503)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FlipSym1 a6989586621679541671)
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 a6989586621679541501 b6989586621679541502 c6989586621679541503 (a6989586621679541672 :: a6989586621679541501 Data.Singletons.Internal.~> (b6989586621679541502 Data.Singletons.Internal.~> c6989586621679541503)) (a6989586621679541671 :: b6989586621679541502). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FlipSym2 a6989586621679541672 a6989586621679541671)
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 a6989586621679541498 b6989586621679541499 (a6989586621679541655 :: a6989586621679541498 Data.Singletons.Internal.~> b6989586621679541499). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base.$@#@$$) a6989586621679541655)
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 a6989586621679541496 b6989586621679541497 (a6989586621679541646 :: a6989586621679541496 Data.Singletons.Internal.~> b6989586621679541497). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base.$!@#@$$) a6989586621679541646)
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 a6989586621679541495 (a6989586621679541620 :: a6989586621679541495 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.UntilSym1 a6989586621679541620)
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 a6989586621679541495 (a6989586621679541621 :: a6989586621679541495 Data.Singletons.Internal.~> GHC.Types.Bool) (a6989586621679541620 :: a6989586621679541495 Data.Singletons.Internal.~> a6989586621679541495). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.UntilSym2 a6989586621679541621 a6989586621679541620)
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 a6989586621679541493 b6989586621679541494 (a6989586621679541615 :: a6989586621679541493). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.SeqSym1 a6989586621679541615)
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.Let6989586621679541733GoSym0
instance forall k1 k2 k3 (k6989586621679541730 :: k1 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541733GoSym1 k6989586621679541730)
instance forall k1 k2 k3 (z6989586621679541731 :: k1 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k2)) (k6989586621679541730 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541733GoSym2 z6989586621679541731 k6989586621679541730)
instance forall k1 k2 k3 (a_69895866216795417286989586621679541732 :: k1 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k2)) (z6989586621679541731 :: k2) (k6989586621679541730 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541733GoSym3 a_69895866216795417286989586621679541732 z6989586621679541731 k6989586621679541730)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679541691Sym0
instance forall k2 k3 k4 k5 (f6989586621679541688 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Lambda_6989586621679541691Sym1 f6989586621679541688)
instance forall k2 k3 k4 k5 (g6989586621679541689 :: k2 Data.Singletons.Internal.~> k3) (f6989586621679541688 :: k4 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Lambda_6989586621679541691Sym2 g6989586621679541689 f6989586621679541688)
instance forall k2 k3 k4 k5 (a_69895866216795416866989586621679541690 :: k2 Data.Singletons.Internal.~> k3) (g6989586621679541689 :: k4 Data.Singletons.Internal.~> k2) (f6989586621679541688 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Lambda_6989586621679541691Sym3 a_69895866216795416866989586621679541690 g6989586621679541689 f6989586621679541688)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679541652VxSym0
instance forall k1 k2 (f6989586621679541650 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541652VxSym1 f6989586621679541650)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679541631GoSym0
instance forall k1 k2 (p6989586621679541628 :: k1 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541631GoSym1 p6989586621679541628)
instance forall k1 k2 (f6989586621679541629 :: k1 Data.Singletons.Internal.~> GHC.Types.Bool) (p6989586621679541628 :: k1 Data.Singletons.Internal.~> k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541631GoSym2 f6989586621679541629 p6989586621679541628)
instance forall k1 k2 (a_69895866216795416266989586621679541630 :: k1 Data.Singletons.Internal.~> GHC.Types.Bool) (f6989586621679541629 :: k1 Data.Singletons.Internal.~> k1) (p6989586621679541628 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541631GoSym3 a_69895866216795416266989586621679541630 f6989586621679541629 p6989586621679541628)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679541638Scrutinee_6989586621679541557Sym0
instance forall k1 k2 k3 k4 (x6989586621679541637 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541638Scrutinee_6989586621679541557Sym1 x6989586621679541637)
instance forall k1 k2 k3 k4 (p6989586621679541628 :: k1) (x6989586621679541637 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541638Scrutinee_6989586621679541557Sym2 p6989586621679541628 x6989586621679541637)
instance forall k1 k2 k3 k4 (f6989586621679541629 :: k1) (p6989586621679541628 :: k1 Data.Singletons.Internal.~> k2) (x6989586621679541637 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679541638Scrutinee_6989586621679541557Sym3 f6989586621679541629 p6989586621679541628 x6989586621679541637)


-- | Defines the promoted and singled versions of the <a>MonadFail</a> type
--   class.
module Data.Singletons.Prelude.Monad.Fail
class PMonadFail (m_a32EI :: Type -> Type) where {
    type family Fail (arg_a32F2 :: [Char]) :: m_a32EI a_a32EJ;
}
class SMonad m_a32EI => SMonadFail (m_a32EI :: Type -> Type)
sFail :: forall a_a32EJ (t_a32Fg :: [Char]). SMonadFail m_a32EI => Sing t_a32Fg -> Sing (Apply FailSym0 t_a32Fg :: m_a32EI a_a32EJ)
data FailSym0 :: forall m6989586621679734988 a6989586621679734989. (~>) [Char] (m6989586621679734988 a6989586621679734989)
type FailSym1 (arg6989586621679735008 :: [Char]) = Fail arg6989586621679735008
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 (m6989586621679734988 :: k -> *) (a6989586621679734989 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Fail.Fail_6989586621679735017Sym0
instance Data.Singletons.Prelude.Monad.Fail.PMonadFail []
instance forall k (m6989586621679734988 :: k -> *) (a6989586621679734989 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Fail.Fail_6989586621679735011Sym0
instance Data.Singletons.Prelude.Monad.Fail.PMonadFail GHC.Maybe.Maybe
instance forall k (m6989586621679734988 :: k -> *) (a6989586621679734989 :: 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_a2kVy :: Type -> Type) where {
    type family Fmap (arg_a2l1S :: (~>) a_a2kVz b_a2kVA) (arg_a2l1T :: f_a2kVy a_a2kVz) :: f_a2kVy b_a2kVA;
    type family (<$) (arg_a2l1W :: a_a2kVB) (arg_a2l1X :: f_a2kVy b_a2kVC) :: f_a2kVy a_a2kVB;
    type (<$) a_a2l20 a_a2l21 = Apply (Apply TFHelper_6989586621679567298Sym0 a_a2l20) a_a2l21;
}
infixl 4 <$
class SFunctor (f_a2kVy :: Type -> Type)
sFmap :: forall a_a2kVz b_a2kVA (t_a2l6a :: (~>) a_a2kVz b_a2kVA) (t_a2l6b :: f_a2kVy a_a2kVz). SFunctor f_a2kVy => Sing t_a2l6a -> Sing t_a2l6b -> Sing (Apply (Apply FmapSym0 t_a2l6a) t_a2l6b :: f_a2kVy b_a2kVA)
(%<$) :: forall a_a2kVB b_a2kVC (t_a2l6e :: a_a2kVB) (t_a2l6f :: f_a2kVy b_a2kVC). SFunctor f_a2kVy => Sing t_a2l6e -> Sing t_a2l6f -> Sing (Apply (Apply (<$@#@$) t_a2l6e) t_a2l6f :: f_a2kVy a_a2kVB)
(%<$) :: forall a_a2kVB b_a2kVC (t_a2l6e :: a_a2kVB) (t_a2l6f :: f_a2kVy b_a2kVC). (SFunctor f_a2kVy, (Apply (Apply (<$@#@$) t_a2l6e) t_a2l6f :: f_a2kVy a_a2kVB) ~ Apply (Apply TFHelper_6989586621679567298Sym0 t_a2l6e) t_a2l6f) => Sing t_a2l6e -> Sing t_a2l6f -> Sing (Apply (Apply (<$@#@$) t_a2l6e) t_a2l6f :: f_a2kVy a_a2kVB)
infixl 4 %<$
type family ($>) (a_a33do :: f_a33ce a_a33cf) (a_a33dp :: b_a33cg) :: f_a33ce b_a33cg
infixl 4 $>
(%$>) :: forall f_a33ce a_a33cf b_a33cg (t_a33f5 :: f_a33ce a_a33cf) (t_a33f6 :: b_a33cg). SFunctor f_a33ce => Sing t_a33f5 -> Sing t_a33f6 -> Sing (Apply (Apply ($>@#@$) t_a33f5) t_a33f6 :: f_a33ce b_a33cg)
infixl 4 %$>
type family (<$>) (a_a33dE :: (~>) a_a33cl b_a33cm) (a_a33dF :: f_a33ck a_a33cl) :: f_a33ck b_a33cm
infixl 4 <$>
(%<$>) :: forall a_a33cl b_a33cm f_a33ck (t_a33fd :: (~>) a_a33cl b_a33cm) (t_a33fe :: f_a33ck a_a33cl). SFunctor f_a33ck => Sing t_a33fd -> Sing t_a33fe -> Sing (Apply (Apply (<$>@#@$) t_a33fd) t_a33fe :: f_a33ck b_a33cm)
infixl 4 %<$>
type family (<&>) (a_a33du :: f_a33ch a_a33ci) (a_a33dv :: (~>) a_a33ci b_a33cj) :: f_a33ch b_a33cj
infixl 1 <&>
(%<&>) :: forall f_a33ch a_a33ci b_a33cj (t_a33f9 :: f_a33ch a_a33ci) (t_a33fa :: (~>) a_a33ci b_a33cj). SFunctor f_a33ch => Sing t_a33f9 -> Sing t_a33fa -> Sing (Apply (Apply (<&>@#@$) t_a33f9) t_a33fa :: f_a33ch b_a33cj)
infixl 1 %<&>
type family Void (a_a33dh :: f_a33cc a_a33cd) :: f_a33cc ()
sVoid :: forall f_a33cc a_a33cd (t_a33f3 :: f_a33cc a_a33cd). SFunctor f_a33cc => Sing t_a33f3 -> Sing (Apply VoidSym0 t_a33f3 :: f_a33cc ())
data FmapSym0 :: forall a6989586621679566897 b6989586621679566898 f6989586621679566896. (~>) ((~>) a6989586621679566897 b6989586621679566898) ((~>) (f6989586621679566896 a6989586621679566897) (f6989586621679566896 b6989586621679566898))
data FmapSym1 (arg6989586621679567288 :: (~>) a6989586621679566897 b6989586621679566898) :: forall f6989586621679566896. (~>) (f6989586621679566896 a6989586621679566897) (f6989586621679566896 b6989586621679566898)
type FmapSym2 (arg6989586621679567288 :: (~>) a6989586621679566897 b6989586621679566898) (arg6989586621679567289 :: f6989586621679566896 a6989586621679566897) = Fmap arg6989586621679567288 arg6989586621679567289
data (<$@#@$) :: forall a6989586621679566899 f6989586621679566896 b6989586621679566900. (~>) a6989586621679566899 ((~>) (f6989586621679566896 b6989586621679566900) (f6989586621679566896 a6989586621679566899))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679567292 :: a6989586621679566899) :: forall f6989586621679566896 b6989586621679566900. (~>) (f6989586621679566896 b6989586621679566900) (f6989586621679566896 a6989586621679566899)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679567292 :: a6989586621679566899) (arg6989586621679567293 :: f6989586621679566896 b6989586621679566900) = (<$) arg6989586621679567292 arg6989586621679567293
data ($>@#@$) :: forall f6989586621679737066 a6989586621679737067 b6989586621679737068. (~>) (f6989586621679737066 a6989586621679737067) ((~>) b6989586621679737068 (f6989586621679737066 b6989586621679737068))
infixl 4 $>@#@$
data ($>@#@$$) (a6989586621679737138 :: f6989586621679737066 a6989586621679737067) :: forall b6989586621679737068. (~>) b6989586621679737068 (f6989586621679737066 b6989586621679737068)
infixl 4 $>@#@$$
type ($>@#@$$$) (a6989586621679737138 :: f6989586621679737066 a6989586621679737067) (a6989586621679737139 :: b6989586621679737068) = ($>) a6989586621679737138 a6989586621679737139
data (<$>@#@$) :: forall a6989586621679737073 b6989586621679737074 f6989586621679737072. (~>) ((~>) a6989586621679737073 b6989586621679737074) ((~>) (f6989586621679737072 a6989586621679737073) (f6989586621679737072 b6989586621679737074))
infixl 4 <$>@#@$
data (<$>@#@$$) (a6989586621679737154 :: (~>) a6989586621679737073 b6989586621679737074) :: forall f6989586621679737072. (~>) (f6989586621679737072 a6989586621679737073) (f6989586621679737072 b6989586621679737074)
infixl 4 <$>@#@$$
type (<$>@#@$$$) (a6989586621679737154 :: (~>) a6989586621679737073 b6989586621679737074) (a6989586621679737155 :: f6989586621679737072 a6989586621679737073) = (<$>) a6989586621679737154 a6989586621679737155
data (<&>@#@$) :: forall f6989586621679737069 a6989586621679737070 b6989586621679737071. (~>) (f6989586621679737069 a6989586621679737070) ((~>) ((~>) a6989586621679737070 b6989586621679737071) (f6989586621679737069 b6989586621679737071))
infixl 1 <&>@#@$
data (<&>@#@$$) (a6989586621679737144 :: f6989586621679737069 a6989586621679737070) :: forall b6989586621679737071. (~>) ((~>) a6989586621679737070 b6989586621679737071) (f6989586621679737069 b6989586621679737071)
infixl 1 <&>@#@$$
type (<&>@#@$$$) (a6989586621679737144 :: f6989586621679737069 a6989586621679737070) (a6989586621679737145 :: (~>) a6989586621679737070 b6989586621679737071) = (<&>) a6989586621679737144 a6989586621679737145
data VoidSym0 :: forall f6989586621679737064 a6989586621679737065. (~>) (f6989586621679737064 a6989586621679737065) (f6989586621679737064 ())
type VoidSym1 (a6989586621679737131 :: f6989586621679737064 a6989586621679737065) = Void a6989586621679737131
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.TFHelper_6989586621679737224Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Ord.Down
instance forall a6989586621679566899 b6989586621679566900 (a6989586621679737222 :: a6989586621679566899). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.TFHelper_6989586621679737224Sym1 a6989586621679737222)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679737232Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Ord.Down
instance forall k1 k2 k3 (_z_69895866216797371236989586621679737230 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737232Sym1 _z_69895866216797371236989586621679737230)
instance forall k1 k2 k3 (a_69895866216797371296989586621679737231 :: k1) (_z_69895866216797371236989586621679737230 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737232Sym2 a_69895866216797371296989586621679737231 _z_69895866216797371236989586621679737230)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Fmap_6989586621679737212Sym0
instance forall a6989586621679566897 b6989586621679566898 (a6989586621679737210 :: a6989586621679566897 Data.Singletons.Internal.~> b6989586621679566898). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Fmap_6989586621679737212Sym1 a6989586621679737210)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.TFHelper_6989586621679737183Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor ((,) a)
instance forall a6989586621679566899 a6989586621679737082 b6989586621679566900 (a6989586621679737181 :: a6989586621679566899). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.TFHelper_6989586621679737183Sym1 a6989586621679737181)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679737200Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor ((,) a)
instance forall k1 k2 k3 k4 (_z_69895866216797371026989586621679737189 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737200Sym1 _z_69895866216797371026989586621679737189)
instance forall k1 k2 k3 k4 (a_69895866216797371146989586621679737190 :: k1) (_z_69895866216797371026989586621679737189 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737200Sym2 a_69895866216797371146989586621679737190 _z_69895866216797371026989586621679737189)
instance forall k1 k2 k3 k4 (a_69895866216797371166989586621679737191 :: k1) (a_69895866216797371146989586621679737190 :: k2) (_z_69895866216797371026989586621679737189 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737200Sym3 a_69895866216797371166989586621679737191 a_69895866216797371146989586621679737190 _z_69895866216797371026989586621679737189)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679737192Sym0
instance forall k1 k2 k3 k4 (_z_69895866216797371026989586621679737189 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737192Sym1 _z_69895866216797371026989586621679737189)
instance forall k1 k2 k3 k4 (a_69895866216797371146989586621679737190 :: k1) (_z_69895866216797371026989586621679737189 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737192Sym2 a_69895866216797371146989586621679737190 _z_69895866216797371026989586621679737189)
instance forall k1 k2 k3 k4 (a_69895866216797371166989586621679737191 :: k1) (a_69895866216797371146989586621679737190 :: k2) (_z_69895866216797371026989586621679737189 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737192Sym3 a_69895866216797371166989586621679737191 a_69895866216797371146989586621679737190 _z_69895866216797371026989586621679737189)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Fmap_6989586621679737162Sym0
instance forall a6989586621679566897 b6989586621679566898 a6989586621679737082 (a6989586621679737160 :: a6989586621679566897 Data.Singletons.Internal.~> b6989586621679566898). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Fmap_6989586621679737162Sym1 a6989586621679737160)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679737171Sym0
instance forall k1 k2 k3 k4 (_f_69895866216797371006989586621679737168 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737171Sym1 _f_69895866216797371006989586621679737168)
instance forall k1 k2 k3 k4 (a_69895866216797371066989586621679737169 :: k1) (_f_69895866216797371006989586621679737168 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737171Sym2 a_69895866216797371066989586621679737169 _f_69895866216797371006989586621679737168)
instance forall k1 k2 k3 k4 (a_69895866216797371086989586621679737170 :: k1) (a_69895866216797371066989586621679737169 :: k2) (_f_69895866216797371006989586621679737168 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679737171Sym3 a_69895866216797371086989586621679737170 a_69895866216797371066989586621679737169 _f_69895866216797371006989586621679737168)
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 (f6989586621679737069 :: * -> *) a6989586621679737070 b6989586621679737071 (a6989586621679737144 :: f6989586621679737069 a6989586621679737070). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Functor.<&>@#@$$) a6989586621679737144)
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 a6989586621679737073 b6989586621679737074 (f6989586621679737072 :: * -> *) (a6989586621679737154 :: a6989586621679737073 Data.Singletons.Internal.~> b6989586621679737074). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Functor.<$>@#@$$) a6989586621679737154)
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 (f6989586621679737066 :: * -> *) a6989586621679737067 b6989586621679737068 (a6989586621679737138 :: f6989586621679737066 a6989586621679737067). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Functor.$>@#@$$) a6989586621679737138)
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_a2ene :: a_a2ek5) :: a_a2ek5
sId :: forall a_a2ek5 (t_a2eor :: a_a2ek5). Sing t_a2eor -> Sing (Apply IdSym0 t_a2eor :: a_a2ek5)
type family Const (a_a2en9 :: a_a2ek3) (a_a2ena :: b_a2ek4) :: a_a2ek3
sConst :: forall a_a2ek3 b_a2ek4 (t_a2eon :: a_a2ek3) (t_a2eoo :: b_a2ek4). Sing t_a2eon -> Sing t_a2eoo -> Sing (Apply (Apply ConstSym0 t_a2eon) t_a2eoo :: a_a2ek3)
type family (.) (a_a2emQ :: (~>) b_a2ek0 c_a2ek1) (a_a2emR :: (~>) a_a2ek2 b_a2ek0) (a_a2emS :: a_a2ek2) :: c_a2ek1
infixr 9 .
(%.) :: forall b_a2ek0 c_a2ek1 a_a2ek2 (t_a2eoh :: (~>) b_a2ek0 c_a2ek1) (t_a2eoi :: (~>) a_a2ek2 b_a2ek0) (t_a2eoj :: a_a2ek2). Sing t_a2eoh -> Sing t_a2eoi -> Sing t_a2eoj -> Sing (Apply (Apply (Apply (.@#@$) t_a2eoh) t_a2eoi) t_a2eoj :: c_a2ek1)
infixr 9 %.
type family Flip (a_a2emH :: (~>) a_a2ejX ((~>) b_a2ejY c_a2ejZ)) (a_a2emI :: b_a2ejY) (a_a2emJ :: a_a2ejX) :: c_a2ejZ
sFlip :: forall a_a2ejX b_a2ejY c_a2ejZ (t_a2eob :: (~>) a_a2ejX ((~>) b_a2ejY c_a2ejZ)) (t_a2eoc :: b_a2ejY) (t_a2eod :: a_a2ejX). Sing t_a2eob -> Sing t_a2eoc -> Sing t_a2eod -> Sing (Apply (Apply (Apply FlipSym0 t_a2eob) t_a2eoc) t_a2eod :: c_a2ejZ)
type family ($) (a_a2emr :: (~>) a_a2ejU b_a2ejV) (a_a2ems :: a_a2ejU) :: b_a2ejV
infixr 0 $
(%$) :: forall a_a2ejU b_a2ejV (t_a2eo3 :: (~>) a_a2ejU b_a2ejV) (t_a2eo4 :: a_a2ejU). Sing t_a2eo3 -> Sing t_a2eo4 -> Sing (Apply (Apply ($@#@$) t_a2eo3) t_a2eo4 :: b_a2ejV)
infixr 0 %$
type family (&) (a_a37fv :: a_a37fi) (a_a37fw :: (~>) a_a37fi b_a37fj) :: b_a37fj
infixl 1 &
(%&) :: forall a_a37fi b_a37fj (t_a37g3 :: a_a37fi) (t_a37g4 :: (~>) a_a37fi b_a37fj). Sing t_a37g3 -> Sing t_a37g4 -> Sing (Apply (Apply (&@#@$) t_a37g3) t_a37g4 :: b_a37fj)
infixl 1 %&
type family On (a_a37fB :: (~>) b_a37fk ((~>) b_a37fk c_a37fl)) (a_a37fC :: (~>) a_a37fm b_a37fk) (a_a37fD :: a_a37fm) (a_a37fE :: a_a37fm) :: c_a37fl
infixl 0 `On`
sOn :: forall b_a37fk c_a37fl a_a37fm (t_a37g7 :: (~>) b_a37fk ((~>) b_a37fk c_a37fl)) (t_a37g8 :: (~>) a_a37fm b_a37fk) (t_a37g9 :: a_a37fm) (t_a37ga :: a_a37fm). Sing t_a37g7 -> Sing t_a37g8 -> Sing t_a37g9 -> Sing t_a37ga -> Sing (Apply (Apply (Apply (Apply OnSym0 t_a37g7) t_a37g8) t_a37g9) t_a37ga :: c_a37fl)
infixl 0 `sOn`
data IdSym0 :: forall a6989586621679541509. (~>) a6989586621679541509 a6989586621679541509
type IdSym1 (a6989586621679541704 :: a6989586621679541509) = Id a6989586621679541704
data ConstSym0 :: forall a6989586621679541507 b6989586621679541508. (~>) a6989586621679541507 ((~>) b6989586621679541508 a6989586621679541507)
data ConstSym1 (a6989586621679541699 :: a6989586621679541507) :: forall b6989586621679541508. (~>) b6989586621679541508 a6989586621679541507
type ConstSym2 (a6989586621679541699 :: a6989586621679541507) (a6989586621679541700 :: b6989586621679541508) = Const a6989586621679541699 a6989586621679541700
data (.@#@$) :: forall b6989586621679541504 c6989586621679541505 a6989586621679541506. (~>) ((~>) b6989586621679541504 c6989586621679541505) ((~>) ((~>) a6989586621679541506 b6989586621679541504) ((~>) a6989586621679541506 c6989586621679541505))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679541680 :: (~>) b6989586621679541504 c6989586621679541505) :: forall a6989586621679541506. (~>) ((~>) a6989586621679541506 b6989586621679541504) ((~>) a6989586621679541506 c6989586621679541505)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679541680 :: (~>) b6989586621679541504 c6989586621679541505) (a6989586621679541681 :: (~>) a6989586621679541506 b6989586621679541504) :: (~>) a6989586621679541506 c6989586621679541505
infixr 9 .@#@$$$
type (.@#@$$$$) (a6989586621679541680 :: (~>) b6989586621679541504 c6989586621679541505) (a6989586621679541681 :: (~>) a6989586621679541506 b6989586621679541504) (a6989586621679541682 :: a6989586621679541506) = (.) a6989586621679541680 a6989586621679541681 a6989586621679541682
data FlipSym0 :: forall a6989586621679541501 b6989586621679541502 c6989586621679541503. (~>) ((~>) a6989586621679541501 ((~>) b6989586621679541502 c6989586621679541503)) ((~>) b6989586621679541502 ((~>) a6989586621679541501 c6989586621679541503))
data FlipSym1 (a6989586621679541671 :: (~>) a6989586621679541501 ((~>) b6989586621679541502 c6989586621679541503)) :: (~>) b6989586621679541502 ((~>) a6989586621679541501 c6989586621679541503)
data FlipSym2 (a6989586621679541671 :: (~>) a6989586621679541501 ((~>) b6989586621679541502 c6989586621679541503)) (a6989586621679541672 :: b6989586621679541502) :: (~>) a6989586621679541501 c6989586621679541503
type FlipSym3 (a6989586621679541671 :: (~>) a6989586621679541501 ((~>) b6989586621679541502 c6989586621679541503)) (a6989586621679541672 :: b6989586621679541502) (a6989586621679541673 :: a6989586621679541501) = Flip a6989586621679541671 a6989586621679541672 a6989586621679541673
data ($@#@$) :: forall a6989586621679541498 b6989586621679541499. (~>) ((~>) a6989586621679541498 b6989586621679541499) ((~>) a6989586621679541498 b6989586621679541499)
infixr 0 $@#@$
data ($@#@$$) (a6989586621679541655 :: (~>) a6989586621679541498 b6989586621679541499) :: (~>) a6989586621679541498 b6989586621679541499
infixr 0 $@#@$$
type ($@#@$$$) (a6989586621679541655 :: (~>) a6989586621679541498 b6989586621679541499) (a6989586621679541656 :: a6989586621679541498) = ($) a6989586621679541655 a6989586621679541656
data (&@#@$) :: forall a6989586621679752632 b6989586621679752633. (~>) a6989586621679752632 ((~>) ((~>) a6989586621679752632 b6989586621679752633) b6989586621679752633)
infixl 1 &@#@$
data (&@#@$$) (a6989586621679752645 :: a6989586621679752632) :: forall b6989586621679752633. (~>) ((~>) a6989586621679752632 b6989586621679752633) b6989586621679752633
infixl 1 &@#@$$
type (&@#@$$$) (a6989586621679752645 :: a6989586621679752632) (a6989586621679752646 :: (~>) a6989586621679752632 b6989586621679752633) = (&) a6989586621679752645 a6989586621679752646
data OnSym0 :: forall b6989586621679752634 c6989586621679752635 a6989586621679752636. (~>) ((~>) b6989586621679752634 ((~>) b6989586621679752634 c6989586621679752635)) ((~>) ((~>) a6989586621679752636 b6989586621679752634) ((~>) a6989586621679752636 ((~>) a6989586621679752636 c6989586621679752635)))
infixl 0 `OnSym0`
data OnSym1 (a6989586621679752651 :: (~>) b6989586621679752634 ((~>) b6989586621679752634 c6989586621679752635)) :: forall a6989586621679752636. (~>) ((~>) a6989586621679752636 b6989586621679752634) ((~>) a6989586621679752636 ((~>) a6989586621679752636 c6989586621679752635))
infixl 0 `OnSym1`
data OnSym2 (a6989586621679752651 :: (~>) b6989586621679752634 ((~>) b6989586621679752634 c6989586621679752635)) (a6989586621679752652 :: (~>) a6989586621679752636 b6989586621679752634) :: (~>) a6989586621679752636 ((~>) a6989586621679752636 c6989586621679752635)
infixl 0 `OnSym2`
data OnSym3 (a6989586621679752651 :: (~>) b6989586621679752634 ((~>) b6989586621679752634 c6989586621679752635)) (a6989586621679752652 :: (~>) a6989586621679752636 b6989586621679752634) (a6989586621679752653 :: a6989586621679752636) :: (~>) a6989586621679752636 c6989586621679752635
infixl 0 `OnSym3`
type OnSym4 (a6989586621679752651 :: (~>) b6989586621679752634 ((~>) b6989586621679752634 c6989586621679752635)) (a6989586621679752652 :: (~>) a6989586621679752636 b6989586621679752634) (a6989586621679752653 :: a6989586621679752636) (a6989586621679752654 :: a6989586621679752636) = On a6989586621679752651 a6989586621679752652 a6989586621679752653 a6989586621679752654
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.OnSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Function.OnSym0
instance forall b6989586621679752634 c6989586621679752635 a6989586621679752636 (a6989586621679752651 :: b6989586621679752634 Data.Singletons.Internal.~> (b6989586621679752634 Data.Singletons.Internal.~> c6989586621679752635)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.OnSym1 a6989586621679752651)
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 b6989586621679752634 c6989586621679752635 a6989586621679752636 (a6989586621679752652 :: b6989586621679752634 Data.Singletons.Internal.~> (b6989586621679752634 Data.Singletons.Internal.~> c6989586621679752635)) (a6989586621679752651 :: a6989586621679752636 Data.Singletons.Internal.~> b6989586621679752634). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.OnSym2 a6989586621679752652 a6989586621679752651)
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 b6989586621679752634 c6989586621679752635 a6989586621679752636 (a6989586621679752653 :: b6989586621679752634 Data.Singletons.Internal.~> (b6989586621679752634 Data.Singletons.Internal.~> c6989586621679752635)) (a6989586621679752652 :: a6989586621679752636 Data.Singletons.Internal.~> b6989586621679752634) (a6989586621679752651 :: a6989586621679752636). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.OnSym3 a6989586621679752653 a6989586621679752652 a6989586621679752651)
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 a6989586621679752632 b6989586621679752633 (a6989586621679752645 :: a6989586621679752632). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Function.&@#@$$) a6989586621679752645)
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_6989586621679752667Sym0
instance forall k2 k3 k4 k5 k6 (ty6989586621679752663 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679752667Sym1 ty6989586621679752663)
instance forall k2 k3 k4 k5 k6 (f6989586621679752664 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)) (ty6989586621679752663 :: k4 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679752667Sym2 f6989586621679752664 ty6989586621679752663)
instance forall k2 k3 k4 k5 k6 (a_69895866216797526596989586621679752665 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)) (f6989586621679752664 :: k4 Data.Singletons.Internal.~> k2) (ty6989586621679752663 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679752667Sym3 a_69895866216797526596989586621679752665 f6989586621679752664 ty6989586621679752663)
instance forall k2 k3 k4 k5 k6 (a_69895866216797526616989586621679752666 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)) (a_69895866216797526596989586621679752665 :: k4 Data.Singletons.Internal.~> k2) (f6989586621679752664 :: k5) (ty6989586621679752663 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679752667Sym4 a_69895866216797526616989586621679752666 a_69895866216797526596989586621679752665 f6989586621679752664 ty6989586621679752663)
instance forall k2 k3 k4 k5 k6 (t6989586621679752671 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)) (a_69895866216797526616989586621679752666 :: k4 Data.Singletons.Internal.~> k2) (a_69895866216797526596989586621679752665 :: k5) (f6989586621679752664 :: k6) (ty6989586621679752663 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679752667Sym5 t6989586621679752671 a_69895866216797526616989586621679752666 a_69895866216797526596989586621679752665 f6989586621679752664 ty6989586621679752663)


-- | Defines the promoted and singleton version of Bounded, <a>PBounded</a>
--   and <a>SBounded</a>
module Data.Singletons.Prelude.Enum
class PBounded (a_a38Wv :: Type) where {
    type family MinBound :: a_a38Wv;
    type family MaxBound :: a_a38Wv;
}
class SBounded a_a38Wv
sMinBound :: SBounded a_a38Wv => Sing (MinBoundSym0 :: a_a38Wv)
sMaxBound :: SBounded a_a38Wv => Sing (MaxBoundSym0 :: a_a38Wv)
class PEnum (a_a39Yk :: Type) where {
    type family Succ (arg_a3a2U :: a_a39Yk) :: a_a39Yk;
    type family Pred (arg_a3a2W :: a_a39Yk) :: a_a39Yk;
    type family ToEnum (arg_a3a2Y :: Nat) :: a_a39Yk;
    type family FromEnum (arg_a3a30 :: a_a39Yk) :: Nat;
    type family EnumFromTo (arg_a3a32 :: a_a39Yk) (arg_a3a33 :: a_a39Yk) :: [a_a39Yk];
    type family EnumFromThenTo (arg_a3a36 :: a_a39Yk) (arg_a3a37 :: a_a39Yk) (arg_a3a38 :: a_a39Yk) :: [a_a39Yk];
    type Succ a_a3a3c = Apply Succ_6989586621679763415Sym0 a_a3a3c;
    type Pred a_a3a3r = Apply Pred_6989586621679763430Sym0 a_a3a3r;
    type EnumFromTo a_a3a3A a_a3a3B = Apply (Apply EnumFromTo_6989586621679763440Sym0 a_a3a3A) a_a3a3B;
    type EnumFromThenTo a_a3a3M a_a3a3N a_a3a3O = Apply (Apply (Apply EnumFromThenTo_6989586621679763453Sym0 a_a3a3M) a_a3a3N) a_a3a3O;
}
class SEnum a_a39Yk
sSucc :: forall (t_a3a5S :: a_a39Yk). SEnum a_a39Yk => Sing t_a3a5S -> Sing (Apply SuccSym0 t_a3a5S :: a_a39Yk)
sPred :: forall (t_a3a5U :: a_a39Yk). SEnum a_a39Yk => Sing t_a3a5U -> Sing (Apply PredSym0 t_a3a5U :: a_a39Yk)
sToEnum :: forall (t_a3a5W :: Nat). SEnum a_a39Yk => Sing t_a3a5W -> Sing (Apply ToEnumSym0 t_a3a5W :: a_a39Yk)
sFromEnum :: forall (t_a3a5Y :: a_a39Yk). SEnum a_a39Yk => Sing t_a3a5Y -> Sing (Apply FromEnumSym0 t_a3a5Y :: Nat)
sEnumFromTo :: forall (t_a3a60 :: a_a39Yk) (t_a3a61 :: a_a39Yk). SEnum a_a39Yk => Sing t_a3a60 -> Sing t_a3a61 -> Sing (Apply (Apply EnumFromToSym0 t_a3a60) t_a3a61 :: [a_a39Yk])
sEnumFromThenTo :: forall (t_a3a64 :: a_a39Yk) (t_a3a65 :: a_a39Yk) (t_a3a66 :: a_a39Yk). SEnum a_a39Yk => Sing t_a3a64 -> Sing t_a3a65 -> Sing t_a3a66 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3a64) t_a3a65) t_a3a66 :: [a_a39Yk])
sSucc :: forall (t_a3a5S :: a_a39Yk). (SEnum a_a39Yk, (Apply SuccSym0 t_a3a5S :: a_a39Yk) ~ Apply Succ_6989586621679763415Sym0 t_a3a5S) => Sing t_a3a5S -> Sing (Apply SuccSym0 t_a3a5S :: a_a39Yk)
sPred :: forall (t_a3a5U :: a_a39Yk). (SEnum a_a39Yk, (Apply PredSym0 t_a3a5U :: a_a39Yk) ~ Apply Pred_6989586621679763430Sym0 t_a3a5U) => Sing t_a3a5U -> Sing (Apply PredSym0 t_a3a5U :: a_a39Yk)
sEnumFromTo :: forall (t_a3a60 :: a_a39Yk) (t_a3a61 :: a_a39Yk). (SEnum a_a39Yk, (Apply (Apply EnumFromToSym0 t_a3a60) t_a3a61 :: [a_a39Yk]) ~ Apply (Apply EnumFromTo_6989586621679763440Sym0 t_a3a60) t_a3a61) => Sing t_a3a60 -> Sing t_a3a61 -> Sing (Apply (Apply EnumFromToSym0 t_a3a60) t_a3a61 :: [a_a39Yk])
sEnumFromThenTo :: forall (t_a3a64 :: a_a39Yk) (t_a3a65 :: a_a39Yk) (t_a3a66 :: a_a39Yk). (SEnum a_a39Yk, (Apply (Apply (Apply EnumFromThenToSym0 t_a3a64) t_a3a65) t_a3a66 :: [a_a39Yk]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679763453Sym0 t_a3a64) t_a3a65) t_a3a66) => Sing t_a3a64 -> Sing t_a3a65 -> Sing t_a3a66 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3a64) t_a3a65) t_a3a66 :: [a_a39Yk])
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data SuccSym0 :: forall a6989586621679763112. (~>) a6989586621679763112 a6989586621679763112
type SuccSym1 (arg6989586621679763396 :: a6989586621679763112) = Succ arg6989586621679763396
data PredSym0 :: forall a6989586621679763112. (~>) a6989586621679763112 a6989586621679763112
type PredSym1 (arg6989586621679763398 :: a6989586621679763112) = Pred arg6989586621679763398
data ToEnumSym0 :: forall a6989586621679763112. (~>) Nat a6989586621679763112
type ToEnumSym1 (arg6989586621679763400 :: Nat) = ToEnum arg6989586621679763400
data FromEnumSym0 :: forall a6989586621679763112. (~>) a6989586621679763112 Nat
type FromEnumSym1 (arg6989586621679763402 :: a6989586621679763112) = FromEnum arg6989586621679763402
data EnumFromToSym0 :: forall a6989586621679763112. (~>) a6989586621679763112 ((~>) a6989586621679763112 [a6989586621679763112])
data EnumFromToSym1 (arg6989586621679763404 :: a6989586621679763112) :: (~>) a6989586621679763112 [a6989586621679763112]
type EnumFromToSym2 (arg6989586621679763404 :: a6989586621679763112) (arg6989586621679763405 :: a6989586621679763112) = EnumFromTo arg6989586621679763404 arg6989586621679763405
data EnumFromThenToSym0 :: forall a6989586621679763112. (~>) a6989586621679763112 ((~>) a6989586621679763112 ((~>) a6989586621679763112 [a6989586621679763112]))
data EnumFromThenToSym1 (arg6989586621679763408 :: a6989586621679763112) :: (~>) a6989586621679763112 ((~>) a6989586621679763112 [a6989586621679763112])
data EnumFromThenToSym2 (arg6989586621679763408 :: a6989586621679763112) (arg6989586621679763409 :: a6989586621679763112) :: (~>) a6989586621679763112 [a6989586621679763112]
type EnumFromThenToSym3 (arg6989586621679763408 :: a6989586621679763112) (arg6989586621679763409 :: a6989586621679763112) (arg6989586621679763410 :: a6989586621679763112) = EnumFromThenTo arg6989586621679763408 arg6989586621679763409 arg6989586621679763410
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679786807Sym0
instance Data.Singletons.Prelude.Enum.PEnum ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679786797Sym0
instance Data.Singletons.Prelude.Enum.SEnum ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679786790Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679786774Sym0
instance Data.Singletons.Prelude.Enum.SEnum GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679786766Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679786753Sym0
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_6989586621679763514Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Nat
instance forall a6989586621679763112 (a6989586621679763511 :: a6989586621679763112). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679763514Sym1 a6989586621679763511)
instance forall a6989586621679763112 (a6989586621679763512 :: a6989586621679763112) (a6989586621679763511 :: a6989586621679763112). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679763514Sym2 a6989586621679763512 a6989586621679763511)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679763497Sym0
instance forall a6989586621679763112 (a6989586621679763495 :: a6989586621679763112). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679763497Sym1 a6989586621679763495)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679763489Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679763482Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Pred_6989586621679763475Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Succ_6989586621679763468Sym0
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 a6989586621679763112 (arg6989586621679763404 :: a6989586621679763112). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromToSym1 arg6989586621679763404)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromToSym0
instance forall a6989586621679763112 (arg6989586621679763409 :: a6989586621679763112) (arg6989586621679763408 :: a6989586621679763112). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenToSym2 arg6989586621679763409 arg6989586621679763408)
instance forall a6989586621679763112 (arg6989586621679763408 :: a6989586621679763112). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenToSym1 arg6989586621679763408)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenToSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Succ_6989586621679763415Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Pred_6989586621679763430Sym0
instance forall a6989586621679763112 (a6989586621679763438 :: a6989586621679763112). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679763440Sym1 a6989586621679763438)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679763440Sym0
instance forall a6989586621679763112 (a6989586621679763451 :: a6989586621679763112) (a6989586621679763450 :: a6989586621679763112). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679763453Sym2 a6989586621679763451 a6989586621679763450)
instance forall a6989586621679763112 (a6989586621679763450 :: a6989586621679763112). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679763453Sym1 a6989586621679763450)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679763453Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Lambda_6989586621679763422Sym0
instance forall k1 k2 (a_69895866216797634176989586621679763421 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Lambda_6989586621679763422Sym1 a_69895866216797634176989586621679763421)
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 a6989586621679763365)
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 a6989586621679763347)
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 a6989586621679763348 a6989586621679763347)
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 a6989586621679763290)
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 a6989586621679763291 a6989586621679763290)
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 a6989586621679763233)
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 a6989586621679763234 a6989586621679763233)
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.Let6989586621679763375GoSym0
instance forall k1 k2 k3 k4 (x06989586621679763373 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763375GoSym1 x06989586621679763373)
instance forall k1 k2 k3 k4 (y6989586621679763374 :: k1) (x06989586621679763373 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763375GoSym2 y6989586621679763374 x06989586621679763373)
instance forall k1 k2 k3 k4 (arg_69895866216797631456989586621679763369 :: k1) (y6989586621679763374 :: k2) (x06989586621679763373 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763375GoSym3 arg_69895866216797631456989586621679763369 y6989586621679763374 x06989586621679763373)
instance forall k1 k2 k3 k4 (arg_69895866216797631476989586621679763370 :: k1) (arg_69895866216797631456989586621679763369 :: k2) (y6989586621679763374 :: k3) (x06989586621679763373 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763375GoSym4 arg_69895866216797631476989586621679763370 arg_69895866216797631456989586621679763369 y6989586621679763374 x06989586621679763373)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679763383Scrutinee_6989586621679763149Sym0
instance forall k1 k2 k3 k4 (x6989586621679763382 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763383Scrutinee_6989586621679763149Sym1 x6989586621679763382)
instance forall k1 k2 k3 k4 (x06989586621679763373 :: k1) (x6989586621679763382 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763383Scrutinee_6989586621679763149Sym2 x06989586621679763373 x6989586621679763382)
instance forall k1 k2 k3 k4 (y6989586621679763374 :: k1) (x06989586621679763373 :: k2) (x6989586621679763382 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763383Scrutinee_6989586621679763149Sym3 y6989586621679763374 x06989586621679763373 x6989586621679763382)
instance forall k1 k2 k3 k4 (arg_69895866216797631456989586621679763369 :: k1) (y6989586621679763374 :: k2) (x06989586621679763373 :: k1) (x6989586621679763382 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763383Scrutinee_6989586621679763149Sym4 arg_69895866216797631456989586621679763369 y6989586621679763374 x06989586621679763373 x6989586621679763382)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679763316Go_upSym0
instance forall k1 k2 k3 k4 (x16989586621679763301 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763316Go_upSym1 x16989586621679763301)
instance forall k1 k2 k3 k4 (x26989586621679763302 :: k1) (x16989586621679763301 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763316Go_upSym2 x26989586621679763302 x16989586621679763301)
instance forall k1 k2 k3 k4 (y6989586621679763303 :: k1) (x26989586621679763302 :: k1) (x16989586621679763301 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763316Go_upSym3 y6989586621679763303 x26989586621679763302 x16989586621679763301)
instance forall k1 k2 k3 k4 (arg_69895866216797631576989586621679763296 :: k1) (y6989586621679763303 :: k1) (x26989586621679763302 :: k1) (x16989586621679763301 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763316Go_upSym4 arg_69895866216797631576989586621679763296 y6989586621679763303 x26989586621679763302 x16989586621679763301)
instance forall k1 k2 k3 k4 (arg_69895866216797631596989586621679763297 :: k1) (arg_69895866216797631576989586621679763296 :: k1) (y6989586621679763303 :: k1) (x26989586621679763302 :: k2) (x16989586621679763301 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763316Go_upSym5 arg_69895866216797631596989586621679763297 arg_69895866216797631576989586621679763296 y6989586621679763303 x26989586621679763302 x16989586621679763301)
instance forall k1 k2 k3 k4 (arg_69895866216797631616989586621679763298 :: k1) (arg_69895866216797631596989586621679763297 :: k1) (arg_69895866216797631576989586621679763296 :: k1) (y6989586621679763303 :: k2) (x26989586621679763302 :: k3) (x16989586621679763301 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763316Go_upSym6 arg_69895866216797631616989586621679763298 arg_69895866216797631596989586621679763297 arg_69895866216797631576989586621679763296 y6989586621679763303 x26989586621679763302 x16989586621679763301)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679763316DeltaSym0
instance forall k1 k2 k3 k4 k5 (x16989586621679763301 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763316DeltaSym1 x16989586621679763301)
instance forall k1 k2 k3 k4 k5 (x26989586621679763302 :: k1) (x16989586621679763301 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763316DeltaSym2 x26989586621679763302 x16989586621679763301)
instance forall k1 k2 k3 k4 k5 (y6989586621679763303 :: k1) (x26989586621679763302 :: k1) (x16989586621679763301 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763316DeltaSym3 y6989586621679763303 x26989586621679763302 x16989586621679763301)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797631576989586621679763296 :: k1) (y6989586621679763303 :: k1) (x26989586621679763302 :: k2) (x16989586621679763301 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763316DeltaSym4 arg_69895866216797631576989586621679763296 y6989586621679763303 x26989586621679763302 x16989586621679763301)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797631596989586621679763297 :: k1) (arg_69895866216797631576989586621679763296 :: k1) (y6989586621679763303 :: k2) (x26989586621679763302 :: k3) (x16989586621679763301 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763316DeltaSym5 arg_69895866216797631596989586621679763297 arg_69895866216797631576989586621679763296 y6989586621679763303 x26989586621679763302 x16989586621679763301)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679763316Y'Sym0
instance forall k1 k2 k3 k4 (x16989586621679763301 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763316Y'Sym1 x16989586621679763301)
instance forall k1 k2 k3 k4 (x26989586621679763302 :: k1) (x16989586621679763301 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763316Y'Sym2 x26989586621679763302 x16989586621679763301)
instance forall k1 k2 k3 k4 (y6989586621679763303 :: k1) (x26989586621679763302 :: k1) (x16989586621679763301 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763316Y'Sym3 y6989586621679763303 x26989586621679763302 x16989586621679763301)
instance forall k1 k2 k3 k4 (arg_69895866216797631576989586621679763296 :: k1) (y6989586621679763303 :: k1) (x26989586621679763302 :: k1) (x16989586621679763301 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763316Y'Sym4 arg_69895866216797631576989586621679763296 y6989586621679763303 x26989586621679763302 x16989586621679763301)
instance forall k1 k2 k3 k4 (arg_69895866216797631596989586621679763297 :: k1) (arg_69895866216797631576989586621679763296 :: k1) (y6989586621679763303 :: k1) (x26989586621679763302 :: k2) (x16989586621679763301 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763316Y'Sym5 arg_69895866216797631596989586621679763297 arg_69895866216797631576989586621679763296 y6989586621679763303 x26989586621679763302 x16989586621679763301)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679763306Scrutinee_6989586621679763163Sym0
instance forall k1 k2 k3 k4 k5 (x16989586621679763301 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763306Scrutinee_6989586621679763163Sym1 x16989586621679763301)
instance forall k1 k2 k3 k4 k5 (x26989586621679763302 :: k1) (x16989586621679763301 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763306Scrutinee_6989586621679763163Sym2 x26989586621679763302 x16989586621679763301)
instance forall k1 k2 k3 k4 k5 (y6989586621679763303 :: k1) (x26989586621679763302 :: k2) (x16989586621679763301 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763306Scrutinee_6989586621679763163Sym3 y6989586621679763303 x26989586621679763302 x16989586621679763301)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797631576989586621679763296 :: k1) (y6989586621679763303 :: k2) (x26989586621679763302 :: k1) (x16989586621679763301 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763306Scrutinee_6989586621679763163Sym4 arg_69895866216797631576989586621679763296 y6989586621679763303 x26989586621679763302 x16989586621679763301)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797631596989586621679763297 :: k1) (arg_69895866216797631576989586621679763296 :: k2) (y6989586621679763303 :: k1) (x26989586621679763302 :: k3) (x16989586621679763301 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763306Scrutinee_6989586621679763163Sym5 arg_69895866216797631596989586621679763297 arg_69895866216797631576989586621679763296 y6989586621679763303 x26989586621679763302 x16989586621679763301)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679763259Go_dnSym0
instance forall k1 k2 k3 k4 (x16989586621679763244 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763259Go_dnSym1 x16989586621679763244)
instance forall k1 k2 k3 k4 (x26989586621679763245 :: k1) (x16989586621679763244 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763259Go_dnSym2 x26989586621679763245 x16989586621679763244)
instance forall k1 k2 k3 k4 (y6989586621679763246 :: k1) (x26989586621679763245 :: k1) (x16989586621679763244 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763259Go_dnSym3 y6989586621679763246 x26989586621679763245 x16989586621679763244)
instance forall k1 k2 k3 k4 (arg_69895866216797631676989586621679763239 :: k1) (y6989586621679763246 :: k1) (x26989586621679763245 :: k1) (x16989586621679763244 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763259Go_dnSym4 arg_69895866216797631676989586621679763239 y6989586621679763246 x26989586621679763245 x16989586621679763244)
instance forall k1 k2 k3 k4 (arg_69895866216797631696989586621679763240 :: k1) (arg_69895866216797631676989586621679763239 :: k1) (y6989586621679763246 :: k1) (x26989586621679763245 :: k2) (x16989586621679763244 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763259Go_dnSym5 arg_69895866216797631696989586621679763240 arg_69895866216797631676989586621679763239 y6989586621679763246 x26989586621679763245 x16989586621679763244)
instance forall k1 k2 k3 k4 (arg_69895866216797631716989586621679763241 :: k1) (arg_69895866216797631696989586621679763240 :: k1) (arg_69895866216797631676989586621679763239 :: k1) (y6989586621679763246 :: k2) (x26989586621679763245 :: k3) (x16989586621679763244 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763259Go_dnSym6 arg_69895866216797631716989586621679763241 arg_69895866216797631696989586621679763240 arg_69895866216797631676989586621679763239 y6989586621679763246 x26989586621679763245 x16989586621679763244)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679763259DeltaSym0
instance forall k1 k2 k3 k4 k5 (x16989586621679763244 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763259DeltaSym1 x16989586621679763244)
instance forall k1 k2 k3 k4 k5 (x26989586621679763245 :: k1) (x16989586621679763244 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763259DeltaSym2 x26989586621679763245 x16989586621679763244)
instance forall k1 k2 k3 k4 k5 (y6989586621679763246 :: k1) (x26989586621679763245 :: k1) (x16989586621679763244 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763259DeltaSym3 y6989586621679763246 x26989586621679763245 x16989586621679763244)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797631676989586621679763239 :: k1) (y6989586621679763246 :: k1) (x26989586621679763245 :: k2) (x16989586621679763244 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763259DeltaSym4 arg_69895866216797631676989586621679763239 y6989586621679763246 x26989586621679763245 x16989586621679763244)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797631696989586621679763240 :: k1) (arg_69895866216797631676989586621679763239 :: k1) (y6989586621679763246 :: k2) (x26989586621679763245 :: k3) (x16989586621679763244 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763259DeltaSym5 arg_69895866216797631696989586621679763240 arg_69895866216797631676989586621679763239 y6989586621679763246 x26989586621679763245 x16989586621679763244)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679763259Y'Sym0
instance forall k1 k2 k3 k4 (x16989586621679763244 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763259Y'Sym1 x16989586621679763244)
instance forall k1 k2 k3 k4 (x26989586621679763245 :: k1) (x16989586621679763244 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763259Y'Sym2 x26989586621679763245 x16989586621679763244)
instance forall k1 k2 k3 k4 (y6989586621679763246 :: k1) (x26989586621679763245 :: k1) (x16989586621679763244 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763259Y'Sym3 y6989586621679763246 x26989586621679763245 x16989586621679763244)
instance forall k1 k2 k3 k4 (arg_69895866216797631676989586621679763239 :: k1) (y6989586621679763246 :: k1) (x26989586621679763245 :: k1) (x16989586621679763244 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763259Y'Sym4 arg_69895866216797631676989586621679763239 y6989586621679763246 x26989586621679763245 x16989586621679763244)
instance forall k1 k2 k3 k4 (arg_69895866216797631696989586621679763240 :: k1) (arg_69895866216797631676989586621679763239 :: k1) (y6989586621679763246 :: k1) (x26989586621679763245 :: k2) (x16989586621679763244 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763259Y'Sym5 arg_69895866216797631696989586621679763240 arg_69895866216797631676989586621679763239 y6989586621679763246 x26989586621679763245 x16989586621679763244)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679763249Scrutinee_6989586621679763173Sym0
instance forall k1 k2 k3 k4 k5 (x16989586621679763244 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763249Scrutinee_6989586621679763173Sym1 x16989586621679763244)
instance forall k1 k2 k3 k4 k5 (x26989586621679763245 :: k1) (x16989586621679763244 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763249Scrutinee_6989586621679763173Sym2 x26989586621679763245 x16989586621679763244)
instance forall k1 k2 k3 k4 k5 (y6989586621679763246 :: k1) (x26989586621679763245 :: k2) (x16989586621679763244 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763249Scrutinee_6989586621679763173Sym3 y6989586621679763246 x26989586621679763245 x16989586621679763244)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797631676989586621679763239 :: k1) (y6989586621679763246 :: k2) (x26989586621679763245 :: k1) (x16989586621679763244 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763249Scrutinee_6989586621679763173Sym4 arg_69895866216797631676989586621679763239 y6989586621679763246 x26989586621679763245 x16989586621679763244)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797631696989586621679763240 :: k1) (arg_69895866216797631676989586621679763239 :: k2) (y6989586621679763246 :: k1) (x26989586621679763245 :: k3) (x16989586621679763244 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679763249Scrutinee_6989586621679763173Sym5 arg_69895866216797631696989586621679763240 arg_69895866216797631676989586621679763239 y6989586621679763246 x26989586621679763245 x16989586621679763244)
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_a5ndM :: Type) where {
    type family ShowsPrec (arg_a5nkQ :: Nat) (arg_a5nkR :: a_a5ndM) (arg_a5nkS :: Symbol) :: Symbol;
    type family Show_ (arg_a5nkW :: a_a5ndM) :: Symbol;
    type family ShowList (arg_a5nkY :: [a_a5ndM]) (arg_a5nkZ :: Symbol) :: Symbol;
    type ShowsPrec a_a5nl2 a_a5nl3 a_a5nl4 = Apply (Apply (Apply ShowsPrec_6989586621680291151Sym0 a_a5nl2) a_a5nl3) a_a5nl4;
    type Show_ a_a5nli = Apply Show__6989586621680291165Sym0 a_a5nli;
    type ShowList a_a5nlp a_a5nlq = Apply (Apply ShowList_6989586621680291173Sym0 a_a5nlp) a_a5nlq;
}
class SShow a_a5ndM
sShowsPrec :: forall (t_a5noZ :: Nat) (t_a5np0 :: a_a5ndM) (t_a5np1 :: Symbol). SShow a_a5ndM => Sing t_a5noZ -> Sing t_a5np0 -> Sing t_a5np1 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5noZ) t_a5np0) t_a5np1 :: Symbol)
sShow_ :: forall (t_a5np5 :: a_a5ndM). SShow a_a5ndM => Sing t_a5np5 -> Sing (Apply Show_Sym0 t_a5np5 :: Symbol)
sShowList :: forall (t_a5np7 :: [a_a5ndM]) (t_a5np8 :: Symbol). SShow a_a5ndM => Sing t_a5np7 -> Sing t_a5np8 -> Sing (Apply (Apply ShowListSym0 t_a5np7) t_a5np8 :: Symbol)
sShowsPrec :: forall (t_a5noZ :: Nat) (t_a5np0 :: a_a5ndM) (t_a5np1 :: Symbol). (SShow a_a5ndM, (Apply (Apply (Apply ShowsPrecSym0 t_a5noZ) t_a5np0) t_a5np1 :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621680291151Sym0 t_a5noZ) t_a5np0) t_a5np1) => Sing t_a5noZ -> Sing t_a5np0 -> Sing t_a5np1 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5noZ) t_a5np0) t_a5np1 :: Symbol)
sShow_ :: forall (t_a5np5 :: a_a5ndM). (SShow a_a5ndM, (Apply Show_Sym0 t_a5np5 :: Symbol) ~ Apply Show__6989586621680291165Sym0 t_a5np5) => Sing t_a5np5 -> Sing (Apply Show_Sym0 t_a5np5 :: Symbol)
sShowList :: forall (t_a5np7 :: [a_a5ndM]) (t_a5np8 :: Symbol). (SShow a_a5ndM, (Apply (Apply ShowListSym0 t_a5np7) t_a5np8 :: Symbol) ~ Apply (Apply ShowList_6989586621680291173Sym0 t_a5np7) t_a5np8) => Sing t_a5np7 -> Sing t_a5np8 -> Sing (Apply (Apply ShowListSym0 t_a5np7) t_a5np8 :: 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_a5nkI :: a_a5ndx) (a_a5nkJ :: Symbol) :: Symbol
sShows :: forall a_a5ndx (t_a5noA :: a_a5ndx) (t_a5noB :: Symbol). SShow a_a5ndx => Sing t_a5noA -> Sing t_a5noB -> Sing (Apply (Apply ShowsSym0 t_a5noA) t_a5noB :: Symbol)
type family ShowListWith (a_a5nko :: (~>) a_a5ndw ((~>) Symbol Symbol)) (a_a5nkp :: [a_a5ndw]) (a_a5nkq :: Symbol) :: Symbol
sShowListWith :: forall a_a5ndw (t_a5nou :: (~>) a_a5ndw ((~>) Symbol Symbol)) (t_a5nov :: [a_a5ndw]) (t_a5now :: Symbol). Sing t_a5nou -> Sing t_a5nov -> Sing t_a5now -> Sing (Apply (Apply (Apply ShowListWithSym0 t_a5nou) t_a5nov) t_a5now :: Symbol)
type family ShowChar (a_a5nki :: Symbol) (a_a5nkj :: Symbol) :: Symbol
sShowChar :: forall (t_a5noq :: Symbol) (t_a5nor :: Symbol). Sing t_a5noq -> Sing t_a5nor -> Sing (Apply (Apply ShowCharSym0 t_a5noq) t_a5nor :: Symbol)
type family ShowString (a_a5nk8 :: Symbol) (a_a5nk9 :: Symbol) :: Symbol
sShowString :: forall (t_a5nom :: Symbol) (t_a5non :: Symbol). Sing t_a5nom -> Sing t_a5non -> Sing (Apply (Apply ShowStringSym0 t_a5nom) t_a5non :: Symbol)
type family ShowParen (a_a5njQ :: Bool) (a_a5njR :: (~>) Symbol Symbol) (a_a5njS :: Symbol) :: Symbol
sShowParen :: forall (t_a5nog :: Bool) (t_a5noh :: (~>) Symbol Symbol) (t_a5noi :: Symbol). Sing t_a5nog -> Sing t_a5noh -> Sing t_a5noi -> Sing (Apply (Apply (Apply ShowParenSym0 t_a5nog) t_a5noh) t_a5noi :: Symbol)
type family ShowSpace (a_a5njH :: Symbol) :: Symbol
sShowSpace :: forall (t_a5noe :: Symbol). Sing t_a5noe -> Sing (Apply ShowSpaceSym0 t_a5noe :: Symbol)
type family ShowCommaSpace (a_a5njC :: Symbol) :: Symbol
sShowCommaSpace :: forall (t_a5noc :: Symbol). Sing t_a5noc -> Sing (Apply ShowCommaSpaceSym0 t_a5noc :: Symbol)
type family AppPrec :: Nat
sAppPrec :: Sing (AppPrecSym0 :: Nat)
type family AppPrec1 :: Nat
sAppPrec1 :: Sing (AppPrec1Sym0 :: Nat)
data ShowsPrecSym0 :: forall a6989586621680290698. (~>) Nat ((~>) a6989586621680290698 ((~>) Symbol Symbol))
data ShowsPrecSym1 (arg6989586621680291136 :: Nat) :: forall a6989586621680290698. (~>) a6989586621680290698 ((~>) Symbol Symbol)
data ShowsPrecSym2 (arg6989586621680291136 :: Nat) (arg6989586621680291137 :: a6989586621680290698) :: (~>) Symbol Symbol
type ShowsPrecSym3 (arg6989586621680291136 :: Nat) (arg6989586621680291137 :: a6989586621680290698) (arg6989586621680291138 :: Symbol) = ShowsPrec arg6989586621680291136 arg6989586621680291137 arg6989586621680291138
data Show_Sym0 :: forall a6989586621680290698. (~>) a6989586621680290698 Symbol
type Show_Sym1 (arg6989586621680291142 :: a6989586621680290698) = Show_ arg6989586621680291142
data ShowListSym0 :: forall a6989586621680290698. (~>) [a6989586621680290698] ((~>) Symbol Symbol)
data ShowListSym1 (arg6989586621680291144 :: [a6989586621680290698]) :: (~>) Symbol Symbol
type ShowListSym2 (arg6989586621680291144 :: [a6989586621680290698]) (arg6989586621680291145 :: Symbol) = ShowList arg6989586621680291144 arg6989586621680291145
data ShowsSym0 :: forall a6989586621680290683. (~>) a6989586621680290683 ((~>) Symbol Symbol)
data ShowsSym1 (a6989586621680291128 :: a6989586621680290683) :: (~>) Symbol Symbol
type ShowsSym2 (a6989586621680291128 :: a6989586621680290683) (a6989586621680291129 :: Symbol) = Shows a6989586621680291128 a6989586621680291129
data ShowListWithSym0 :: forall a6989586621680290682. (~>) ((~>) a6989586621680290682 ((~>) Symbol Symbol)) ((~>) [a6989586621680290682] ((~>) Symbol Symbol))
data ShowListWithSym1 (a6989586621680291108 :: (~>) a6989586621680290682 ((~>) Symbol Symbol)) :: (~>) [a6989586621680290682] ((~>) Symbol Symbol)
data ShowListWithSym2 (a6989586621680291108 :: (~>) a6989586621680290682 ((~>) Symbol Symbol)) (a6989586621680291109 :: [a6989586621680290682]) :: (~>) Symbol Symbol
type ShowListWithSym3 (a6989586621680291108 :: (~>) a6989586621680290682 ((~>) Symbol Symbol)) (a6989586621680291109 :: [a6989586621680290682]) (a6989586621680291110 :: Symbol) = ShowListWith a6989586621680291108 a6989586621680291109 a6989586621680291110
data ShowCharSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowCharSym1 (a6989586621680291102 :: Symbol) :: (~>) Symbol Symbol
type ShowCharSym2 (a6989586621680291102 :: Symbol) (a6989586621680291103 :: Symbol) = ShowChar a6989586621680291102 a6989586621680291103
data ShowStringSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowStringSym1 (a6989586621680291092 :: Symbol) :: (~>) Symbol Symbol
type ShowStringSym2 (a6989586621680291092 :: Symbol) (a6989586621680291093 :: Symbol) = ShowString a6989586621680291092 a6989586621680291093
data ShowParenSym0 :: (~>) Bool ((~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol))
data ShowParenSym1 (a6989586621680291074 :: Bool) :: (~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol)
data ShowParenSym2 (a6989586621680291074 :: Bool) (a6989586621680291075 :: (~>) Symbol Symbol) :: (~>) Symbol Symbol
data ShowSpaceSym0 :: (~>) Symbol Symbol
type ShowSpaceSym1 (a6989586621680291065 :: Symbol) = ShowSpace a6989586621680291065
data ShowCommaSpaceSym0 :: (~>) Symbol Symbol
type ShowCommaSpaceSym1 (a6989586621680291060 :: Symbol) = ShowCommaSpace a6989586621680291060
type AppPrecSym0 = AppPrec
type AppPrec1Sym0 = AppPrec1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309218Sym0
instance Data.Singletons.Prelude.Show.PShow Data.Void.Void
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309218Sym1 a6989586621680309215)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309218Sym2 a6989586621680309216 a6989586621680309215)
instance Data.Singletons.Prelude.Show.SShow Data.Void.Void
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309188Sym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309188Sym1 a6989586621680309185)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309188Sym2 a6989586621680309186 a6989586621680309185)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309164Sym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309164Sym1 a6989586621680309161)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309164Sym2 a6989586621680309162 a6989586621680309161)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309138Sym0
instance Data.Singletons.Prelude.Show.PShow (GHC.Base.NonEmpty a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309138Sym1 a6989586621680309135)
instance forall a6989586621679059398 (a6989586621680309136 :: GHC.Types.Nat) (a6989586621680309135 :: GHC.Base.NonEmpty a6989586621679059398). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309138Sym2 a6989586621680309136 a6989586621680309135)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309096Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Either.Either a b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309096Sym1 a6989586621680309093)
instance forall a6989586621679086104 b6989586621679086105 (a6989586621680309094 :: GHC.Types.Nat) (a6989586621680309093 :: Data.Either.Either a6989586621679086104 b6989586621679086105). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309096Sym2 a6989586621680309094 a6989586621680309093)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309040Sym0
instance Data.Singletons.Prelude.Show.PShow (GHC.Maybe.Maybe a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309040Sym1 a6989586621680309037)
instance forall a3530822107858468865 (a6989586621680309038 :: GHC.Types.Nat) (a6989586621680309037 :: GHC.Maybe.Maybe a3530822107858468865). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309040Sym2 a6989586621680309038 a6989586621680309037)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309006Sym0
instance Data.Singletons.Prelude.Show.PShow ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309006Sym1 a6989586621680309003)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680309006Sym2 a6989586621680309004 a6989586621680309003)
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 a6989586621680308511)
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_6989586621680291321Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d, e, f, g)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291321Sym1 a6989586621680291318)
instance forall a6989586621680290765 b6989586621680290766 c6989586621680290767 d6989586621680290768 e6989586621680290769 f6989586621680290770 g6989586621680290771 (a6989586621680291319 :: GHC.Types.Nat) (a6989586621680291318 :: (a6989586621680290765, b6989586621680290766, c6989586621680290767, d6989586621680290768, e6989586621680290769, f6989586621680290770, g6989586621680290771)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291321Sym2 a6989586621680291319 a6989586621680291318)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291300Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d, e, f)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291300Sym1 a6989586621680291297)
instance forall a6989586621680290752 b6989586621680290753 c6989586621680290754 d6989586621680290755 e6989586621680290756 f6989586621680290757 (a6989586621680291298 :: GHC.Types.Nat) (a6989586621680291297 :: (a6989586621680290752, b6989586621680290753, c6989586621680290754, d6989586621680290755, e6989586621680290756, f6989586621680290757)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291300Sym2 a6989586621680291298 a6989586621680291297)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291280Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d, e)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291280Sym1 a6989586621680291277)
instance forall a6989586621680290741 b6989586621680290742 c6989586621680290743 d6989586621680290744 e6989586621680290745 (a6989586621680291278 :: GHC.Types.Nat) (a6989586621680291277 :: (a6989586621680290741, b6989586621680290742, c6989586621680290743, d6989586621680290744, e6989586621680290745)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291280Sym2 a6989586621680291278 a6989586621680291277)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291261Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291261Sym1 a6989586621680291258)
instance forall a6989586621680290732 b6989586621680290733 c6989586621680290734 d6989586621680290735 (a6989586621680291259 :: GHC.Types.Nat) (a6989586621680291258 :: (a6989586621680290732, b6989586621680290733, c6989586621680290734, d6989586621680290735)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291261Sym2 a6989586621680291259 a6989586621680291258)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291243Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291243Sym1 a6989586621680291240)
instance forall a6989586621680290725 b6989586621680290726 c6989586621680290727 (a6989586621680291241 :: GHC.Types.Nat) (a6989586621680291240 :: (a6989586621680290725, b6989586621680290726, c6989586621680290727)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291243Sym2 a6989586621680291241 a6989586621680291240)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291226Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291226Sym1 a6989586621680291223)
instance forall a6989586621680290720 b6989586621680290721 (a6989586621680291224 :: GHC.Types.Nat) (a6989586621680291223 :: (a6989586621680290720, b6989586621680290721)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291226Sym2 a6989586621680291224 a6989586621680291223)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291206Sym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Symbol
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291206Sym1 a6989586621680291203)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291206Sym2 a6989586621680291204 a6989586621680291203)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291186Sym0
instance Data.Singletons.Prelude.Show.PShow [a]
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291186Sym1 a6989586621680291183)
instance forall a6989586621680290716 (a6989586621680291184 :: GHC.Types.Nat) (a6989586621680291183 :: [a6989586621680290716]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291186Sym2 a6989586621680291184 a6989586621680291183)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowListSym0
instance forall a6989586621680290698 (arg6989586621680291144 :: [a6989586621680290698]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowListSym1 arg6989586621680291144)
instance forall a6989586621680290683 (a6989586621680291128 :: a6989586621680290683). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsSym1 a6989586621680291128)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsSym0
instance forall a6989586621680290698 (arg6989586621680291137 :: GHC.Types.Nat) (arg6989586621680291136 :: a6989586621680290698). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrecSym2 arg6989586621680291137 arg6989586621680291136)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrecSym1 arg6989586621680291136)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrecSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Show_Sym0
instance forall a6989586621680290698 (a6989586621680291149 :: GHC.Types.Nat) (a6989586621680291148 :: a6989586621680290698). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291151Sym2 a6989586621680291149 a6989586621680291148)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291151Sym1 a6989586621680291148)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680291151Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Show__6989586621680291165Sym0
instance forall a6989586621680290698 (a6989586621680291171 :: [a6989586621680290698]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowList_6989586621680291173Sym1 a6989586621680291171)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowList_6989586621680291173Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowListWithSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Show.ShowListWithSym0
instance forall a6989586621680290682 (a6989586621680291108 :: a6989586621680290682 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowListWithSym1 a6989586621680291108)
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 a6989586621680290682 (a6989586621680291109 :: a6989586621680290682 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (a6989586621680291108 :: [a6989586621680290682]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowListWithSym2 a6989586621680291109 a6989586621680291108)
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 a6989586621680291040)
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_6989586621680291048Sym0
instance forall k1 k2 c6989586621679541505 a6989586621679541506 (ss6989586621680291046 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680291048Sym1 ss6989586621680291046)
instance forall k1 k2 c6989586621679541505 a6989586621679541506 (a_69895866216802910446989586621680291047 :: k1) (ss6989586621680291046 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680291048Sym2 a_69895866216802910446989586621680291047 ss6989586621680291046)
instance forall k1 k2 c6989586621679541505 a6989586621679541506 (t6989586621680291052 :: k1) (a_69895866216802910446989586621680291047 :: k2) (ss6989586621680291046 :: GHC.Types.Symbol Data.Singletons.Internal.~> c6989586621679541505). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680291048Sym3 t6989586621680291052 a_69895866216802910446989586621680291047 ss6989586621680291046)
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 a6989586621680291074)
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 a6989586621680291075 a6989586621680291074)
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 a6989586621680291102)
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 a6989586621680291092)
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.Let6989586621680291119ShowlSym0
instance forall k1 k2 k3 (showx6989586621680291115 :: k1 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680291119ShowlSym1 showx6989586621680291115)
instance forall k1 k2 k3 (x6989586621680291116 :: k1 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (showx6989586621680291115 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680291119ShowlSym2 x6989586621680291116 showx6989586621680291115)
instance forall k1 k2 k3 (xs6989586621680291117 :: k1 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (x6989586621680291116 :: k2) (showx6989586621680291115 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680291119ShowlSym3 xs6989586621680291117 x6989586621680291116 showx6989586621680291115)
instance forall k1 k2 k3 (s6989586621680291118 :: k1 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (xs6989586621680291117 :: k2) (x6989586621680291116 :: k3) (showx6989586621680291115 :: GHC.Types.Symbol). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680291119ShowlSym4 s6989586621680291118 xs6989586621680291117 x6989586621680291116 showx6989586621680291115)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Lambda_6989586621680291068Sym0
instance forall k (a_69895866216802910636989586621680291067 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680291068Sym1 a_69895866216802910636989586621680291067)


-- | 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_a5Fsq :: Type) where {
    type family Mempty :: a_a5Fsq;
    type family Mappend (arg_a5FuF :: a_a5Fsq) (arg_a5FuG :: a_a5Fsq) :: a_a5Fsq;
    type family Mconcat (arg_a5FuJ :: [a_a5Fsq]) :: a_a5Fsq;
    type Mappend a_a5FuL a_a5FuM = Apply (Apply Mappend_6989586621680360945Sym0 a_a5FuL) a_a5FuM;
    type Mconcat a_a5Fv1 = Apply Mconcat_6989586621680360960Sym0 a_a5Fv1;
}
class SSemigroup a_a5Fsq => SMonoid a_a5Fsq
sMempty :: SMonoid a_a5Fsq => Sing (MemptySym0 :: a_a5Fsq)
sMappend :: forall (t_a5FvZ :: a_a5Fsq) (t_a5Fw0 :: a_a5Fsq). SMonoid a_a5Fsq => Sing t_a5FvZ -> Sing t_a5Fw0 -> Sing (Apply (Apply MappendSym0 t_a5FvZ) t_a5Fw0 :: a_a5Fsq)
sMconcat :: forall (t_a5Fw3 :: [a_a5Fsq]). SMonoid a_a5Fsq => Sing t_a5Fw3 -> Sing (Apply MconcatSym0 t_a5Fw3 :: a_a5Fsq)
sMappend :: forall (t_a5FvZ :: a_a5Fsq) (t_a5Fw0 :: a_a5Fsq). (SMonoid a_a5Fsq, (Apply (Apply MappendSym0 t_a5FvZ) t_a5Fw0 :: a_a5Fsq) ~ Apply (Apply Mappend_6989586621680360945Sym0 t_a5FvZ) t_a5Fw0) => Sing t_a5FvZ -> Sing t_a5Fw0 -> Sing (Apply (Apply MappendSym0 t_a5FvZ) t_a5Fw0 :: a_a5Fsq)
sMconcat :: forall (t_a5Fw3 :: [a_a5Fsq]). (SMonoid a_a5Fsq, (Apply MconcatSym0 t_a5Fw3 :: a_a5Fsq) ~ Apply Mconcat_6989586621680360960Sym0 t_a5Fw3) => Sing t_a5Fw3 -> Sing (Apply MconcatSym0 t_a5Fw3 :: a_a5Fsq)

-- | The singleton kind-indexed type family.
type family Sing :: k -> Type
data SDual :: forall a_aiWD. Dual a_aiWD -> Type
[SDual] :: forall a_aiWD (n_a3vAS :: a_aiWD). () => {sGetDual :: Sing (n_a3vAS :: a_aiWD)} -> SDual ('Dual n_a3vAS)
data SAll :: All -> Type
[SAll] :: forall (n_a3vB6 :: Bool). () => {sGetAll :: Sing (n_a3vB6 :: Bool)} -> SAll ('All n_a3vB6)
data SAny :: Any -> Type
[SAny] :: forall (n_a3vBk :: Bool). () => {sGetAny :: Sing (n_a3vBk :: Bool)} -> SAny ('Any n_a3vBk)
data SSum :: forall a_aiWo. Sum a_aiWo -> Type
[SSum] :: forall a_aiWo (n_a3vBD :: a_aiWo). () => {sGetSum :: Sing (n_a3vBD :: a_aiWo)} -> SSum ('Sum n_a3vBD)
data SProduct :: forall a_aiWt. Product a_aiWt -> Type
[SProduct] :: forall a_aiWt (n_a3vBW :: a_aiWt). () => {sGetProduct :: Sing (n_a3vBW :: a_aiWt)} -> SProduct ('Product n_a3vBW)
data SFirst :: forall a_aiXr. First a_aiXr -> Type
[SFirst] :: forall a_aiXr (n_a5Go2 :: Maybe a_aiXr). () => {sGetFirst :: Sing (n_a5Go2 :: Maybe a_aiXr)} -> SFirst ('First n_a5Go2)
data SLast :: forall a_aiXm. Last a_aiXm -> Type
[SLast] :: forall a_aiXm (n_a5Gop :: Maybe a_aiXm). () => {sGetLast :: Sing (n_a5Gop :: Maybe a_aiXm)} -> SLast ('Last n_a5Gop)
type family GetDual (a_a3vAN :: Dual (a_aiWD :: Type)) :: a_aiWD
type family GetAll (a_a3vB1 :: All) :: Bool
type family GetAny (a_a3vBf :: Any) :: Bool
type family GetSum (a_a3vBy :: Sum (a_aiWo :: Type)) :: a_aiWo
type family GetProduct (a_a3vBR :: Product (a_aiWt :: Type)) :: a_aiWt
type family GetFirst (a_a5GnX :: First (a_aiXr :: Type)) :: Maybe a_aiXr
type family GetLast (a_a5Gok :: Last (a_aiXm :: Type)) :: Maybe a_aiXm
type MemptySym0 = Mempty
data MappendSym0 :: forall a6989586621680360798. (~>) a6989586621680360798 ((~>) a6989586621680360798 a6989586621680360798)
data MappendSym1 (arg6989586621680360937 :: a6989586621680360798) :: (~>) a6989586621680360798 a6989586621680360798
type MappendSym2 (arg6989586621680360937 :: a6989586621680360798) (arg6989586621680360938 :: a6989586621680360798) = Mappend arg6989586621680360937 arg6989586621680360938
data MconcatSym0 :: forall a6989586621680360798. (~>) [a6989586621680360798] a6989586621680360798
type MconcatSym1 (arg6989586621680360941 :: [a6989586621680360798]) = Mconcat arg6989586621680360941
data DualSym0 :: forall (a6989586621679082619 :: Type). (~>) a6989586621679082619 (Dual (a6989586621679082619 :: Type))
type DualSym1 (t6989586621679846224 :: a6989586621679082619) = 'Dual t6989586621679846224
data GetDualSym0 :: forall (a6989586621679082619 :: Type). (~>) (Dual (a6989586621679082619 :: Type)) a6989586621679082619
type GetDualSym1 (a6989586621679846221 :: Dual (a6989586621679082619 :: Type)) = GetDual a6989586621679846221
data AllSym0 :: (~>) Bool All
type AllSym1 (t6989586621679846238 :: Bool) = 'All t6989586621679846238
data GetAllSym0 :: (~>) All Bool
type GetAllSym1 (a6989586621679846235 :: All) = GetAll a6989586621679846235
data AnySym0 :: (~>) Bool Any
type AnySym1 (t6989586621679846252 :: Bool) = 'Any t6989586621679846252
data GetAnySym0 :: (~>) Any Bool
type GetAnySym1 (a6989586621679846249 :: Any) = GetAny a6989586621679846249
data SumSym0 :: forall (a6989586621679082604 :: Type). (~>) a6989586621679082604 (Sum (a6989586621679082604 :: Type))
type SumSym1 (t6989586621679846271 :: a6989586621679082604) = 'Sum t6989586621679846271
data GetSumSym0 :: forall (a6989586621679082604 :: Type). (~>) (Sum (a6989586621679082604 :: Type)) a6989586621679082604
type GetSumSym1 (a6989586621679846268 :: Sum (a6989586621679082604 :: Type)) = GetSum a6989586621679846268
data ProductSym0 :: forall (a6989586621679082609 :: Type). (~>) a6989586621679082609 (Product (a6989586621679082609 :: Type))
type ProductSym1 (t6989586621679846290 :: a6989586621679082609) = 'Product t6989586621679846290
data GetProductSym0 :: forall (a6989586621679082609 :: Type). (~>) (Product (a6989586621679082609 :: Type)) a6989586621679082609
type GetProductSym1 (a6989586621679846287 :: Product (a6989586621679082609 :: Type)) = GetProduct a6989586621679846287
data FirstSym0 :: forall (a6989586621679082669 :: Type). (~>) (Maybe a6989586621679082669) (First (a6989586621679082669 :: Type))
type FirstSym1 (t6989586621680364368 :: Maybe a6989586621679082669) = 'First t6989586621680364368
data GetFirstSym0 :: forall (a6989586621679082669 :: Type). (~>) (First (a6989586621679082669 :: Type)) (Maybe a6989586621679082669)
type GetFirstSym1 (a6989586621680364365 :: First (a6989586621679082669 :: Type)) = GetFirst a6989586621680364365
data LastSym0 :: forall (a6989586621679082664 :: Type). (~>) (Maybe a6989586621679082664) (Last (a6989586621679082664 :: Type))
type LastSym1 (t6989586621680364391 :: Maybe a6989586621679082664) = 'Last t6989586621680364391
data GetLastSym0 :: forall (a6989586621679082664 :: Type). (~>) (Last (a6989586621679082664 :: Type)) (Maybe a6989586621679082664)
type GetLastSym1 (a6989586621680364388 :: Last (a6989586621679082664 :: Type)) = GetLast a6989586621680364388
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Monoid.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370645Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Monoid.Last a)
instance forall a6989586621680370341 (a6989586621680370643 :: Data.Monoid.Last a6989586621680370341). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370645Sym1 a6989586621680370643)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680370653BSym0
instance Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Monoid.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370618Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Monoid.Last
instance forall a6989586621679566926 b6989586621679566927 (a6989586621680370616 :: Data.Monoid.Last a6989586621679566926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370618Sym1 a6989586621680370616)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Lambda_6989586621680370626Sym0
instance Data.Singletons.Prelude.Monad.Internal.SMonad Data.Monoid.Last
instance forall k k1 a (a6989586621680370624 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680370626Sym1 a6989586621680370624)
instance forall k k1 a (k6989586621680370625 :: k) (a6989586621680370624 :: k1 Data.Singletons.Internal.~> Data.Monoid.Last a). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680370626Sym2 k6989586621680370625 a6989586621680370624)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680370629Scrutinee_6989586621680370352Sym0
instance forall k1 k2 k3 (x6989586621680370628 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680370629Scrutinee_6989586621680370352Sym1 x6989586621680370628)
instance forall k1 k2 k3 (a6989586621680370624 :: k1) (x6989586621680370628 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680370629Scrutinee_6989586621680370352Sym2 a6989586621680370624 x6989586621680370628)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370606Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Monoid.Last
instance forall a6989586621679566899 b6989586621679566900 (a6989586621680370604 :: a6989586621679566899). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370606Sym1 a6989586621680370604)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Fmap_6989586621680370594Sym0
instance forall a6989586621679566897 b6989586621679566898 (a6989586621680370592 :: a6989586621679566897 Data.Singletons.Internal.~> b6989586621679566898). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Fmap_6989586621680370594Sym1 a6989586621680370592)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370582Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Monoid.Last
instance forall a6989586621679566903 b6989586621679566904 (a6989586621680370580 :: Data.Monoid.Last (a6989586621679566903 Data.Singletons.Internal.~> b6989586621679566904)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370582Sym1 a6989586621680370580)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Pure_6989586621680370572Sym0
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Monoid.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370557Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Monoid.First a)
instance forall a6989586621680370331 (a6989586621680370555 :: Data.Monoid.First a6989586621680370331). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370557Sym1 a6989586621680370555)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680370565ASym0
instance Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Monoid.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370530Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Monoid.First
instance forall a6989586621679566926 b6989586621679566927 (a6989586621680370528 :: Data.Monoid.First a6989586621679566926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370530Sym1 a6989586621680370528)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Lambda_6989586621680370538Sym0
instance Data.Singletons.Prelude.Monad.Internal.SMonad Data.Monoid.First
instance forall k k1 a (a6989586621680370536 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680370538Sym1 a6989586621680370536)
instance forall k k1 a (k6989586621680370537 :: k) (a6989586621680370536 :: k1 Data.Singletons.Internal.~> Data.Monoid.First a). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680370538Sym2 k6989586621680370537 a6989586621680370536)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680370541Scrutinee_6989586621680370345Sym0
instance forall k1 k2 k3 (x6989586621680370540 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680370541Scrutinee_6989586621680370345Sym1 x6989586621680370540)
instance forall k1 k2 k3 (a6989586621680370536 :: k1) (x6989586621680370540 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680370541Scrutinee_6989586621680370345Sym2 a6989586621680370536 x6989586621680370540)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370518Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Monoid.First
instance forall a6989586621679566899 b6989586621679566900 (a6989586621680370516 :: a6989586621679566899). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370518Sym1 a6989586621680370516)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Fmap_6989586621680370506Sym0
instance forall a6989586621679566897 b6989586621679566898 (a6989586621680370504 :: a6989586621679566897 Data.Singletons.Internal.~> b6989586621679566898). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Fmap_6989586621680370506Sym1 a6989586621680370504)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370494Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Monoid.First
instance forall a6989586621679566903 b6989586621679566904 (a6989586621680370492 :: Data.Monoid.First (a6989586621679566903 Data.Singletons.Internal.~> b6989586621679566904)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680370494Sym1 a6989586621680370492)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Pure_6989586621680370484Sym0
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_6989586621680367432Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Monoid.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680367432Sym1 a6989586621680367429)
instance forall a6989586621679082664 (a6989586621680367430 :: GHC.Types.Nat) (a6989586621680367429 :: Data.Monoid.Last a6989586621679082664). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680367432Sym2 a6989586621680367430 a6989586621680367429)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680367401Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Monoid.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680367401Sym1 a6989586621680367398)
instance forall a6989586621679082669 (a6989586621680367399 :: GHC.Types.Nat) (a6989586621680367398 :: Data.Monoid.First a6989586621679082669). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680367401Sym2 a6989586621680367399 a6989586621680367398)
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_6989586621680366126Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Monoid.Last a)
instance forall a6989586621679082664 (a6989586621680366124 :: Data.Monoid.Last a6989586621679082664). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Compare_6989586621680366126Sym1 a6989586621680366124)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Compare_6989586621680366105Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Monoid.First a)
instance forall a6989586621679082669 (a6989586621680366103 :: Data.Monoid.First a6989586621679082669). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Compare_6989586621680366105Sym1 a6989586621680366103)
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_6989586621680361000Sym0
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_6989586621680360989Sym0
instance Data.Singletons.Prelude.Monoid.PMonoid [a]
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.MconcatSym0
instance forall a6989586621680360798 (arg6989586621680360937 :: a6989586621680360798). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.MappendSym1 arg6989586621680360937)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.MappendSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Mconcat_6989586621680360960Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Mappend_6989586621680360945Sym0
instance forall a6989586621680360798 (a6989586621680360943 :: a6989586621680360798). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Mappend_6989586621680360945Sym1 a6989586621680360943)


-- | 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_ajQQ b_ajQR. Either a_ajQQ b_ajQR -> Type
[SLeft] :: forall a_ajQQ (n_a1gls :: a_ajQQ). () => Sing (n_a1gls :: a_ajQQ) -> SEither ('Left n_a1gls)
[SRight] :: forall b_ajQR (n_a1glu :: b_ajQR). () => Sing (n_a1glu :: b_ajQR) -> SEither ('Right n_a1glu)
either_ :: (a_a66R2 -> c_a66R3) -> (b_a66R4 -> c_a66R3) -> Either a_a66R2 b_a66R4 -> c_a66R3
type family Either_ (a_a66RC :: (~>) a_a66R2 c_a66R3) (a_a66RD :: (~>) b_a66R4 c_a66R3) (a_a66RE :: Either a_a66R2 b_a66R4) :: c_a66R3
sEither_ :: forall a_a66R2 c_a66R3 b_a66R4 (t_a66RM :: (~>) a_a66R2 c_a66R3) (t_a66RN :: (~>) b_a66R4 c_a66R3) (t_a66RO :: Either a_a66R2 b_a66R4). Sing t_a66RM -> Sing t_a66RN -> Sing t_a66RO -> Sing (Apply (Apply (Apply Either_Sym0 t_a66RM) t_a66RN) t_a66RO :: c_a66R3)
type family Lefts (a_a67jk :: [Either a_a67eW b_a67eX]) :: [a_a67eW]
sLefts :: forall a_a67eW b_a67eX (t_a67jx :: [Either a_a67eW b_a67eX]). Sing t_a67jx -> Sing (Apply LeftsSym0 t_a67jx :: [a_a67eW])
type family Rights (a_a67jf :: [Either a_a67eU b_a67eV]) :: [b_a67eV]
sRights :: forall a_a67eU b_a67eV (t_a67jv :: [Either a_a67eU b_a67eV]). Sing t_a67jv -> Sing (Apply RightsSym0 t_a67jv :: [b_a67eV])
type family PartitionEithers (a_a67iV :: [Either a_a67eS b_a67eT]) :: ([a_a67eS], [b_a67eT])
sPartitionEithers :: forall a_a67eS b_a67eT (t_a67jt :: [Either a_a67eS b_a67eT]). Sing t_a67jt -> Sing (Apply PartitionEithersSym0 t_a67jt :: ([a_a67eS], [b_a67eT]))
type family IsLeft (a_a67iR :: Either a_a67eQ b_a67eR) :: Bool
sIsLeft :: forall a_a67eQ b_a67eR (t_a67jr :: Either a_a67eQ b_a67eR). Sing t_a67jr -> Sing (Apply IsLeftSym0 t_a67jr :: Bool)
type family IsRight (a_a67iP :: Either a_a67eO b_a67eP) :: Bool
sIsRight :: forall a_a67eO b_a67eP (t_a67jp :: Either a_a67eO b_a67eP). Sing t_a67jp -> Sing (Apply IsRightSym0 t_a67jp :: Bool)
data LeftSym0 :: forall (a6989586621679086104 :: Type) (b6989586621679086105 :: Type). (~>) a6989586621679086104 (Either (a6989586621679086104 :: Type) (b6989586621679086105 :: Type))
type LeftSym1 (t6989586621679310950 :: a6989586621679086104) = 'Left t6989586621679310950
data RightSym0 :: forall (b6989586621679086105 :: Type) (a6989586621679086104 :: Type). (~>) b6989586621679086105 (Either (a6989586621679086104 :: Type) (b6989586621679086105 :: Type))
type RightSym1 (t6989586621679310952 :: b6989586621679086105) = 'Right t6989586621679310952
data Either_Sym0 :: forall a6989586621680466112 c6989586621680466113 b6989586621680466114. (~>) ((~>) a6989586621680466112 c6989586621680466113) ((~>) ((~>) b6989586621680466114 c6989586621680466113) ((~>) (Either a6989586621680466112 b6989586621680466114) c6989586621680466113))
data Either_Sym1 (a6989586621680466148 :: (~>) a6989586621680466112 c6989586621680466113) :: forall b6989586621680466114. (~>) ((~>) b6989586621680466114 c6989586621680466113) ((~>) (Either a6989586621680466112 b6989586621680466114) c6989586621680466113)
data Either_Sym2 (a6989586621680466148 :: (~>) a6989586621680466112 c6989586621680466113) (a6989586621680466149 :: (~>) b6989586621680466114 c6989586621680466113) :: (~>) (Either a6989586621680466112 b6989586621680466114) c6989586621680466113
type Either_Sym3 (a6989586621680466148 :: (~>) a6989586621680466112 c6989586621680466113) (a6989586621680466149 :: (~>) b6989586621680466114 c6989586621680466113) (a6989586621680466150 :: Either a6989586621680466112 b6989586621680466114) = Either_ a6989586621680466148 a6989586621680466149 a6989586621680466150
data LeftsSym0 :: forall a6989586621680467594 b6989586621680467595. (~>) [Either a6989586621680467594 b6989586621680467595] [a6989586621680467594]
type LeftsSym1 (a6989586621680467866 :: [Either a6989586621680467594 b6989586621680467595]) = Lefts a6989586621680467866
data RightsSym0 :: forall a6989586621680467592 b6989586621680467593. (~>) [Either a6989586621680467592 b6989586621680467593] [b6989586621680467593]
type RightsSym1 (a6989586621680467861 :: [Either a6989586621680467592 b6989586621680467593]) = Rights a6989586621680467861
data IsLeftSym0 :: forall a6989586621680467588 b6989586621680467589. (~>) (Either a6989586621680467588 b6989586621680467589) Bool
type IsLeftSym1 (a6989586621680467837 :: Either a6989586621680467588 b6989586621680467589) = IsLeft a6989586621680467837
data IsRightSym0 :: forall a6989586621680467586 b6989586621680467587. (~>) (Either a6989586621680467586 b6989586621680467587) Bool
type IsRightSym1 (a6989586621680467835 :: Either a6989586621680467586 b6989586621680467587) = IsRight a6989586621680467835
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.Let6989586621680467844LeftSym0
instance forall k k2 k3 (a_69895866216804678396989586621680467843 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680467844LeftSym1 a_69895866216804678396989586621680467843)
instance forall k k2 k3 (a6989586621680467853 :: k) (a_69895866216804678396989586621680467843 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680467844LeftSym2 a6989586621680467853 a_69895866216804678396989586621680467843)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621680467844RightSym0
instance forall k k2 k3 (a_69895866216804678396989586621680467843 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680467844RightSym1 a_69895866216804678396989586621680467843)
instance forall k k2 k3 (a6989586621680467845 :: k) (a_69895866216804678396989586621680467843 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680467844RightSym2 a6989586621680467845 a_69895866216804678396989586621680467843)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Either_Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Either.Either_Sym0
instance forall a6989586621680466112 c6989586621680466113 b6989586621680466114 (a6989586621680466148 :: a6989586621680466112 Data.Singletons.Internal.~> c6989586621680466113). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Either_Sym1 a6989586621680466148)
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 a6989586621680466112 c6989586621680466113 b6989586621680466114 (a6989586621680466149 :: a6989586621680466112 Data.Singletons.Internal.~> c6989586621680466113) (a6989586621680466148 :: b6989586621680466114 Data.Singletons.Internal.~> c6989586621680466113). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Either_Sym2 a6989586621680466149 a6989586621680466148)
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_a6cb9 :: Type -> Type) where {
    type family Fold (arg_a6cl8 :: t_a6cb9 m_a6cba) :: m_a6cba;
    type family FoldMap (arg_a6cla :: (~>) a_a6cbc m_a6cbb) (arg_a6clb :: t_a6cb9 a_a6cbc) :: m_a6cbb;
    type family Foldr (arg_a6cle :: (~>) a_a6cbd ((~>) b_a6cbe b_a6cbe)) (arg_a6clf :: b_a6cbe) (arg_a6clg :: t_a6cb9 a_a6cbd) :: b_a6cbe;
    type family Foldr' (arg_a6clk :: (~>) a_a6cbf ((~>) b_a6cbg b_a6cbg)) (arg_a6cll :: b_a6cbg) (arg_a6clm :: t_a6cb9 a_a6cbf) :: b_a6cbg;
    type family Foldl (arg_a6clq :: (~>) b_a6cbh ((~>) a_a6cbi b_a6cbh)) (arg_a6clr :: b_a6cbh) (arg_a6cls :: t_a6cb9 a_a6cbi) :: b_a6cbh;
    type family Foldl' (arg_a6clw :: (~>) b_a6cbj ((~>) a_a6cbk b_a6cbj)) (arg_a6clx :: b_a6cbj) (arg_a6cly :: t_a6cb9 a_a6cbk) :: b_a6cbj;
    type family Foldr1 (arg_a6clC :: (~>) a_a6cbl ((~>) a_a6cbl a_a6cbl)) (arg_a6clD :: t_a6cb9 a_a6cbl) :: a_a6cbl;
    type family Foldl1 (arg_a6clG :: (~>) a_a6cbm ((~>) a_a6cbm a_a6cbm)) (arg_a6clH :: t_a6cb9 a_a6cbm) :: a_a6cbm;
    type family ToList (arg_a6clK :: t_a6cb9 a_a6cbn) :: [a_a6cbn];
    type family Null (arg_a6clM :: t_a6cb9 a_a6cbo) :: Bool;
    type family Length (arg_a6clO :: t_a6cb9 a_a6cbp) :: Nat;
    type family Elem (arg_a6clQ :: a_a6cbq) (arg_a6clR :: t_a6cb9 a_a6cbq) :: Bool;
    type family Maximum (arg_a6clU :: t_a6cb9 a_a6cbr) :: a_a6cbr;
    type family Minimum (arg_a6clW :: t_a6cb9 a_a6cbs) :: a_a6cbs;
    type family Sum (arg_a6clY :: t_a6cb9 a_a6cbt) :: a_a6cbt;
    type family Product (arg_a6cm0 :: t_a6cb9 a_a6cbu) :: a_a6cbu;
    type Fold a_a6cm2 = Apply Fold_6989586621680487255Sym0 a_a6cm2;
    type FoldMap a_a6cmb a_a6cmc = Apply (Apply FoldMap_6989586621680487265Sym0 a_a6cmb) a_a6cmc;
    type Foldr a_a6cmp a_a6cmq a_a6cmr = Apply (Apply (Apply Foldr_6989586621680487280Sym0 a_a6cmp) a_a6cmq) a_a6cmr;
    type Foldr' a_a6cmO a_a6cmP a_a6cmQ = Apply (Apply (Apply Foldr'_6989586621680487305Sym0 a_a6cmO) a_a6cmP) a_a6cmQ;
    type Foldl a_a6cni a_a6cnj a_a6cnk = Apply (Apply (Apply Foldl_6989586621680487335Sym0 a_a6cni) a_a6cnj) a_a6cnk;
    type Foldl' a_a6cnH a_a6cnI a_a6cnJ = Apply (Apply (Apply Foldl'_6989586621680487360Sym0 a_a6cnH) a_a6cnI) a_a6cnJ;
    type Foldr1 a_a6cob a_a6coc = Apply (Apply Foldr1_6989586621680487389Sym0 a_a6cob) a_a6coc;
    type Foldl1 a_a6coA a_a6coB = Apply (Apply Foldl1_6989586621680487414Sym0 a_a6coA) a_a6coB;
    type ToList a_a6coZ = Apply ToList_6989586621680487438Sym0 a_a6coZ;
    type Null a_a6cp8 = Apply Null_6989586621680487447Sym0 a_a6cp8;
    type Length a_a6cpt = Apply Length_6989586621680487468Sym0 a_a6cpt;
    type Elem a_a6cpP a_a6cpQ = Apply (Apply Elem_6989586621680487491Sym0 a_a6cpP) a_a6cpQ;
    type Maximum a_a6cq5 = Apply Maximum_6989586621680487506Sym0 a_a6cq5;
    type Minimum a_a6cqi = Apply Minimum_6989586621680487519Sym0 a_a6cqi;
    type Sum a_a6cqv = Apply Sum_6989586621680487532Sym0 a_a6cqv;
    type Product a_a6cqI = Apply Product_6989586621680487545Sym0 a_a6cqI;
}
class SFoldable (t_a6cb9 :: Type -> Type)
sFold :: forall m_a6cba (t_a6cH0 :: t_a6cb9 m_a6cba). (SFoldable t_a6cb9, SMonoid m_a6cba) => Sing t_a6cH0 -> Sing (Apply FoldSym0 t_a6cH0 :: m_a6cba)
sFoldMap :: forall a_a6cbc m_a6cbb (t_a6cH2 :: (~>) a_a6cbc m_a6cbb) (t_a6cH3 :: t_a6cb9 a_a6cbc). (SFoldable t_a6cb9, SMonoid m_a6cbb) => Sing t_a6cH2 -> Sing t_a6cH3 -> Sing (Apply (Apply FoldMapSym0 t_a6cH2) t_a6cH3 :: m_a6cbb)
sFoldr :: forall a_a6cbd b_a6cbe (t_a6cH6 :: (~>) a_a6cbd ((~>) b_a6cbe b_a6cbe)) (t_a6cH7 :: b_a6cbe) (t_a6cH8 :: t_a6cb9 a_a6cbd). SFoldable t_a6cb9 => Sing t_a6cH6 -> Sing t_a6cH7 -> Sing t_a6cH8 -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cH6) t_a6cH7) t_a6cH8 :: b_a6cbe)
sFoldr' :: forall a_a6cbf b_a6cbg (t_a6cHc :: (~>) a_a6cbf ((~>) b_a6cbg b_a6cbg)) (t_a6cHd :: b_a6cbg) (t_a6cHe :: t_a6cb9 a_a6cbf). SFoldable t_a6cb9 => Sing t_a6cHc -> Sing t_a6cHd -> Sing t_a6cHe -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a6cHc) t_a6cHd) t_a6cHe :: b_a6cbg)
sFoldl :: forall b_a6cbh a_a6cbi (t_a6cHi :: (~>) b_a6cbh ((~>) a_a6cbi b_a6cbh)) (t_a6cHj :: b_a6cbh) (t_a6cHk :: t_a6cb9 a_a6cbi). SFoldable t_a6cb9 => Sing t_a6cHi -> Sing t_a6cHj -> Sing t_a6cHk -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cHi) t_a6cHj) t_a6cHk :: b_a6cbh)
sFoldl' :: forall b_a6cbj a_a6cbk (t_a6cHo :: (~>) b_a6cbj ((~>) a_a6cbk b_a6cbj)) (t_a6cHp :: b_a6cbj) (t_a6cHq :: t_a6cb9 a_a6cbk). SFoldable t_a6cb9 => Sing t_a6cHo -> Sing t_a6cHp -> Sing t_a6cHq -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6cHo) t_a6cHp) t_a6cHq :: b_a6cbj)
sFoldr1 :: forall a_a6cbl (t_a6cHu :: (~>) a_a6cbl ((~>) a_a6cbl a_a6cbl)) (t_a6cHv :: t_a6cb9 a_a6cbl). SFoldable t_a6cb9 => Sing t_a6cHu -> Sing t_a6cHv -> Sing (Apply (Apply Foldr1Sym0 t_a6cHu) t_a6cHv :: a_a6cbl)
sFoldl1 :: forall a_a6cbm (t_a6cHy :: (~>) a_a6cbm ((~>) a_a6cbm a_a6cbm)) (t_a6cHz :: t_a6cb9 a_a6cbm). SFoldable t_a6cb9 => Sing t_a6cHy -> Sing t_a6cHz -> Sing (Apply (Apply Foldl1Sym0 t_a6cHy) t_a6cHz :: a_a6cbm)
sToList :: forall a_a6cbn (t_a6cHC :: t_a6cb9 a_a6cbn). SFoldable t_a6cb9 => Sing t_a6cHC -> Sing (Apply ToListSym0 t_a6cHC :: [a_a6cbn])
sNull :: forall a_a6cbo (t_a6cHE :: t_a6cb9 a_a6cbo). SFoldable t_a6cb9 => Sing t_a6cHE -> Sing (Apply NullSym0 t_a6cHE :: Bool)
sLength :: forall a_a6cbp (t_a6cHG :: t_a6cb9 a_a6cbp). SFoldable t_a6cb9 => Sing t_a6cHG -> Sing (Apply LengthSym0 t_a6cHG :: Nat)
sElem :: forall a_a6cbq (t_a6cHI :: a_a6cbq) (t_a6cHJ :: t_a6cb9 a_a6cbq). (SFoldable t_a6cb9, SEq a_a6cbq) => Sing t_a6cHI -> Sing t_a6cHJ -> Sing (Apply (Apply ElemSym0 t_a6cHI) t_a6cHJ :: Bool)
sMaximum :: forall a_a6cbr (t_a6cHM :: t_a6cb9 a_a6cbr). (SFoldable t_a6cb9, SOrd a_a6cbr) => Sing t_a6cHM -> Sing (Apply MaximumSym0 t_a6cHM :: a_a6cbr)
sMinimum :: forall a_a6cbs (t_a6cHO :: t_a6cb9 a_a6cbs). (SFoldable t_a6cb9, SOrd a_a6cbs) => Sing t_a6cHO -> Sing (Apply MinimumSym0 t_a6cHO :: a_a6cbs)
sSum :: forall a_a6cbt (t_a6cHQ :: t_a6cb9 a_a6cbt). (SFoldable t_a6cb9, SNum a_a6cbt) => Sing t_a6cHQ -> Sing (Apply SumSym0 t_a6cHQ :: a_a6cbt)
sProduct :: forall a_a6cbu (t_a6cHS :: t_a6cb9 a_a6cbu). (SFoldable t_a6cb9, SNum a_a6cbu) => Sing t_a6cHS -> Sing (Apply ProductSym0 t_a6cHS :: a_a6cbu)
sFold :: forall m_a6cba (t_a6cH0 :: t_a6cb9 m_a6cba). (SFoldable t_a6cb9, (Apply FoldSym0 t_a6cH0 :: m_a6cba) ~ Apply Fold_6989586621680487255Sym0 t_a6cH0, SMonoid m_a6cba) => Sing t_a6cH0 -> Sing (Apply FoldSym0 t_a6cH0 :: m_a6cba)
sFoldMap :: forall a_a6cbc m_a6cbb (t_a6cH2 :: (~>) a_a6cbc m_a6cbb) (t_a6cH3 :: t_a6cb9 a_a6cbc). (SFoldable t_a6cb9, (Apply (Apply FoldMapSym0 t_a6cH2) t_a6cH3 :: m_a6cbb) ~ Apply (Apply FoldMap_6989586621680487265Sym0 t_a6cH2) t_a6cH3, SMonoid m_a6cbb) => Sing t_a6cH2 -> Sing t_a6cH3 -> Sing (Apply (Apply FoldMapSym0 t_a6cH2) t_a6cH3 :: m_a6cbb)
sFoldr :: forall a_a6cbd b_a6cbe (t_a6cH6 :: (~>) a_a6cbd ((~>) b_a6cbe b_a6cbe)) (t_a6cH7 :: b_a6cbe) (t_a6cH8 :: t_a6cb9 a_a6cbd). (SFoldable t_a6cb9, (Apply (Apply (Apply FoldrSym0 t_a6cH6) t_a6cH7) t_a6cH8 :: b_a6cbe) ~ Apply (Apply (Apply Foldr_6989586621680487280Sym0 t_a6cH6) t_a6cH7) t_a6cH8) => Sing t_a6cH6 -> Sing t_a6cH7 -> Sing t_a6cH8 -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cH6) t_a6cH7) t_a6cH8 :: b_a6cbe)
sFoldr' :: forall a_a6cbf b_a6cbg (t_a6cHc :: (~>) a_a6cbf ((~>) b_a6cbg b_a6cbg)) (t_a6cHd :: b_a6cbg) (t_a6cHe :: t_a6cb9 a_a6cbf). (SFoldable t_a6cb9, (Apply (Apply (Apply Foldr'Sym0 t_a6cHc) t_a6cHd) t_a6cHe :: b_a6cbg) ~ Apply (Apply (Apply Foldr'_6989586621680487305Sym0 t_a6cHc) t_a6cHd) t_a6cHe) => Sing t_a6cHc -> Sing t_a6cHd -> Sing t_a6cHe -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a6cHc) t_a6cHd) t_a6cHe :: b_a6cbg)
sFoldl :: forall b_a6cbh a_a6cbi (t_a6cHi :: (~>) b_a6cbh ((~>) a_a6cbi b_a6cbh)) (t_a6cHj :: b_a6cbh) (t_a6cHk :: t_a6cb9 a_a6cbi). (SFoldable t_a6cb9, (Apply (Apply (Apply FoldlSym0 t_a6cHi) t_a6cHj) t_a6cHk :: b_a6cbh) ~ Apply (Apply (Apply Foldl_6989586621680487335Sym0 t_a6cHi) t_a6cHj) t_a6cHk) => Sing t_a6cHi -> Sing t_a6cHj -> Sing t_a6cHk -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cHi) t_a6cHj) t_a6cHk :: b_a6cbh)
sFoldl' :: forall b_a6cbj a_a6cbk (t_a6cHo :: (~>) b_a6cbj ((~>) a_a6cbk b_a6cbj)) (t_a6cHp :: b_a6cbj) (t_a6cHq :: t_a6cb9 a_a6cbk). (SFoldable t_a6cb9, (Apply (Apply (Apply Foldl'Sym0 t_a6cHo) t_a6cHp) t_a6cHq :: b_a6cbj) ~ Apply (Apply (Apply Foldl'_6989586621680487360Sym0 t_a6cHo) t_a6cHp) t_a6cHq) => Sing t_a6cHo -> Sing t_a6cHp -> Sing t_a6cHq -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6cHo) t_a6cHp) t_a6cHq :: b_a6cbj)
sFoldr1 :: forall a_a6cbl (t_a6cHu :: (~>) a_a6cbl ((~>) a_a6cbl a_a6cbl)) (t_a6cHv :: t_a6cb9 a_a6cbl). (SFoldable t_a6cb9, (Apply (Apply Foldr1Sym0 t_a6cHu) t_a6cHv :: a_a6cbl) ~ Apply (Apply Foldr1_6989586621680487389Sym0 t_a6cHu) t_a6cHv) => Sing t_a6cHu -> Sing t_a6cHv -> Sing (Apply (Apply Foldr1Sym0 t_a6cHu) t_a6cHv :: a_a6cbl)
sFoldl1 :: forall a_a6cbm (t_a6cHy :: (~>) a_a6cbm ((~>) a_a6cbm a_a6cbm)) (t_a6cHz :: t_a6cb9 a_a6cbm). (SFoldable t_a6cb9, (Apply (Apply Foldl1Sym0 t_a6cHy) t_a6cHz :: a_a6cbm) ~ Apply (Apply Foldl1_6989586621680487414Sym0 t_a6cHy) t_a6cHz) => Sing t_a6cHy -> Sing t_a6cHz -> Sing (Apply (Apply Foldl1Sym0 t_a6cHy) t_a6cHz :: a_a6cbm)
sToList :: forall a_a6cbn (t_a6cHC :: t_a6cb9 a_a6cbn). (SFoldable t_a6cb9, (Apply ToListSym0 t_a6cHC :: [a_a6cbn]) ~ Apply ToList_6989586621680487438Sym0 t_a6cHC) => Sing t_a6cHC -> Sing (Apply ToListSym0 t_a6cHC :: [a_a6cbn])
sNull :: forall a_a6cbo (t_a6cHE :: t_a6cb9 a_a6cbo). (SFoldable t_a6cb9, (Apply NullSym0 t_a6cHE :: Bool) ~ Apply Null_6989586621680487447Sym0 t_a6cHE) => Sing t_a6cHE -> Sing (Apply NullSym0 t_a6cHE :: Bool)
sLength :: forall a_a6cbp (t_a6cHG :: t_a6cb9 a_a6cbp). (SFoldable t_a6cb9, (Apply LengthSym0 t_a6cHG :: Nat) ~ Apply Length_6989586621680487468Sym0 t_a6cHG) => Sing t_a6cHG -> Sing (Apply LengthSym0 t_a6cHG :: Nat)
sElem :: forall a_a6cbq (t_a6cHI :: a_a6cbq) (t_a6cHJ :: t_a6cb9 a_a6cbq). (SFoldable t_a6cb9, (Apply (Apply ElemSym0 t_a6cHI) t_a6cHJ :: Bool) ~ Apply (Apply Elem_6989586621680487491Sym0 t_a6cHI) t_a6cHJ, SEq a_a6cbq) => Sing t_a6cHI -> Sing t_a6cHJ -> Sing (Apply (Apply ElemSym0 t_a6cHI) t_a6cHJ :: Bool)
sMaximum :: forall a_a6cbr (t_a6cHM :: t_a6cb9 a_a6cbr). (SFoldable t_a6cb9, (Apply MaximumSym0 t_a6cHM :: a_a6cbr) ~ Apply Maximum_6989586621680487506Sym0 t_a6cHM, SOrd a_a6cbr) => Sing t_a6cHM -> Sing (Apply MaximumSym0 t_a6cHM :: a_a6cbr)
sMinimum :: forall a_a6cbs (t_a6cHO :: t_a6cb9 a_a6cbs). (SFoldable t_a6cb9, (Apply MinimumSym0 t_a6cHO :: a_a6cbs) ~ Apply Minimum_6989586621680487519Sym0 t_a6cHO, SOrd a_a6cbs) => Sing t_a6cHO -> Sing (Apply MinimumSym0 t_a6cHO :: a_a6cbs)
sSum :: forall a_a6cbt (t_a6cHQ :: t_a6cb9 a_a6cbt). (SFoldable t_a6cb9, (Apply SumSym0 t_a6cHQ :: a_a6cbt) ~ Apply Sum_6989586621680487532Sym0 t_a6cHQ, SNum a_a6cbt) => Sing t_a6cHQ -> Sing (Apply SumSym0 t_a6cHQ :: a_a6cbt)
sProduct :: forall a_a6cbu (t_a6cHS :: t_a6cb9 a_a6cbu). (SFoldable t_a6cb9, (Apply ProductSym0 t_a6cHS :: a_a6cbu) ~ Apply Product_6989586621680487545Sym0 t_a6cHS, SNum a_a6cbu) => Sing t_a6cHS -> Sing (Apply ProductSym0 t_a6cHS :: a_a6cbu)
type family FoldrM (a_a6ckM :: (~>) a_a6caw ((~>) b_a6cax (m_a6cav b_a6cax))) (a_a6ckN :: b_a6cax) (a_a6ckO :: t_a6cau a_a6caw) :: m_a6cav b_a6cax
sFoldrM :: forall a_a6caw b_a6cax m_a6cav t_a6cau (t_a6cGf :: (~>) a_a6caw ((~>) b_a6cax (m_a6cav b_a6cax))) (t_a6cGg :: b_a6cax) (t_a6cGh :: t_a6cau a_a6caw). (SFoldable t_a6cau, SMonad m_a6cav) => Sing t_a6cGf -> Sing t_a6cGg -> Sing t_a6cGh -> Sing (Apply (Apply (Apply FoldrMSym0 t_a6cGf) t_a6cGg) t_a6cGh :: m_a6cav b_a6cax)
type family FoldlM (a_a6ckq :: (~>) b_a6cas ((~>) a_a6cat (m_a6car b_a6cas))) (a_a6ckr :: b_a6cas) (a_a6cks :: t_a6caq a_a6cat) :: m_a6car b_a6cas
sFoldlM :: forall b_a6cas a_a6cat m_a6car t_a6caq (t_a6cG9 :: (~>) b_a6cas ((~>) a_a6cat (m_a6car b_a6cas))) (t_a6cGa :: b_a6cas) (t_a6cGb :: t_a6caq a_a6cat). (SFoldable t_a6caq, SMonad m_a6car) => Sing t_a6cG9 -> Sing t_a6cGa -> Sing t_a6cGb -> Sing (Apply (Apply (Apply FoldlMSym0 t_a6cG9) t_a6cGa) t_a6cGb :: m_a6car b_a6cas)
type family Traverse_ (a_a6cki :: (~>) a_a6cao (f_a6can b_a6cap)) (a_a6ckj :: t_a6cam a_a6cao) :: f_a6can ()
sTraverse_ :: forall a_a6cao f_a6can b_a6cap t_a6cam (t_a6cG5 :: (~>) a_a6cao (f_a6can b_a6cap)) (t_a6cG6 :: t_a6cam a_a6cao). (SFoldable t_a6cam, SApplicative f_a6can) => Sing t_a6cG5 -> Sing t_a6cG6 -> Sing (Apply (Apply Traverse_Sym0 t_a6cG5) t_a6cG6 :: f_a6can ())
type family For_ (a_a6ckc :: t_a6cai a_a6cak) (a_a6ckd :: (~>) a_a6cak (f_a6caj b_a6cal)) :: f_a6caj ()
sFor_ :: forall t_a6cai a_a6cak f_a6caj b_a6cal (t_a6cG1 :: t_a6cai a_a6cak) (t_a6cG2 :: (~>) a_a6cak (f_a6caj b_a6cal)). (SFoldable t_a6cai, SApplicative f_a6caj) => Sing t_a6cG1 -> Sing t_a6cG2 -> Sing (Apply (Apply For_Sym0 t_a6cG1) t_a6cG2 :: f_a6caj ())
type family SequenceA_ (a_a6cjN :: t_a6ca7 (f_a6ca8 a_a6ca9)) :: f_a6ca8 ()
sSequenceA_ :: forall t_a6ca7 f_a6ca8 a_a6ca9 (t_a6cFR :: t_a6ca7 (f_a6ca8 a_a6ca9)). (SFoldable t_a6ca7, SApplicative f_a6ca8) => Sing t_a6cFR -> Sing (Apply SequenceA_Sym0 t_a6cFR :: f_a6ca8 ())
type family Asum (a_a6cjD :: t_a6ca1 (f_a6ca2 a_a6ca3)) :: f_a6ca2 a_a6ca3
sAsum :: forall t_a6ca1 f_a6ca2 a_a6ca3 (t_a6cFN :: t_a6ca1 (f_a6ca2 a_a6ca3)). (SFoldable t_a6ca1, SAlternative f_a6ca2) => Sing t_a6cFN -> Sing (Apply AsumSym0 t_a6cFN :: f_a6ca2 a_a6ca3)
type family MapM_ (a_a6ck0 :: (~>) a_a6cag (m_a6caf b_a6cah)) (a_a6ck1 :: t_a6cae a_a6cag) :: m_a6caf ()
sMapM_ :: forall a_a6cag m_a6caf b_a6cah t_a6cae (t_a6cFX :: (~>) a_a6cag (m_a6caf b_a6cah)) (t_a6cFY :: t_a6cae a_a6cag). (SFoldable t_a6cae, SMonad m_a6caf) => Sing t_a6cFX -> Sing t_a6cFY -> Sing (Apply (Apply MapM_Sym0 t_a6cFX) t_a6cFY :: m_a6caf ())
type family ForM_ (a_a6cjU :: t_a6caa a_a6cac) (a_a6cjV :: (~>) a_a6cac (m_a6cab b_a6cad)) :: m_a6cab ()
sForM_ :: forall t_a6caa a_a6cac m_a6cab b_a6cad (t_a6cFT :: t_a6caa a_a6cac) (t_a6cFU :: (~>) a_a6cac (m_a6cab b_a6cad)). (SFoldable t_a6caa, SMonad m_a6cab) => Sing t_a6cFT -> Sing t_a6cFU -> Sing (Apply (Apply ForM_Sym0 t_a6cFT) t_a6cFU :: m_a6cab ())
type family Sequence_ (a_a6cjI :: t_a6ca4 (m_a6ca5 a_a6ca6)) :: m_a6ca5 ()
sSequence_ :: forall t_a6ca4 m_a6ca5 a_a6ca6 (t_a6cFP :: t_a6ca4 (m_a6ca5 a_a6ca6)). (SFoldable t_a6ca4, SMonad m_a6ca5) => Sing t_a6cFP -> Sing (Apply Sequence_Sym0 t_a6cFP :: m_a6ca5 ())
type family Msum (a_a6cjy :: t_a6c9Y (m_a6c9Z a_a6ca0)) :: m_a6c9Z a_a6ca0
sMsum :: forall t_a6c9Y m_a6c9Z a_a6ca0 (t_a6cFL :: t_a6c9Y (m_a6c9Z a_a6ca0)). (SFoldable t_a6c9Y, SMonadPlus m_a6c9Z) => Sing t_a6cFL -> Sing (Apply MsumSym0 t_a6cFL :: m_a6c9Z a_a6ca0)
type family Concat (a_a6cjk :: t_a6c9W [a_a6c9X]) :: [a_a6c9X]
sConcat :: forall t_a6c9W a_a6c9X (t_a6cFJ :: t_a6c9W [a_a6c9X]). SFoldable t_a6c9W => Sing t_a6cFJ -> Sing (Apply ConcatSym0 t_a6cFJ :: [a_a6c9X])
type family ConcatMap (a_a6cj4 :: (~>) a_a6c9U [b_a6c9V]) (a_a6cj5 :: t_a6c9T a_a6c9U) :: [b_a6c9V]
sConcatMap :: forall a_a6c9U b_a6c9V t_a6c9T (t_a6cFF :: (~>) a_a6c9U [b_a6c9V]) (t_a6cFG :: t_a6c9T a_a6c9U). SFoldable t_a6c9T => Sing t_a6cFF -> Sing t_a6cFG -> Sing (Apply (Apply ConcatMapSym0 t_a6cFF) t_a6cFG :: [b_a6c9V])
type family And (a_a6ciV :: t_a6c9S Bool) :: Bool
sAnd :: forall t_a6c9S (t_a6cFD :: t_a6c9S Bool). SFoldable t_a6c9S => Sing t_a6cFD -> Sing (Apply AndSym0 t_a6cFD :: Bool)
type family Or (a_a6ciM :: t_a6c9R Bool) :: Bool
sOr :: forall t_a6c9R (t_a6cFB :: t_a6c9R Bool). SFoldable t_a6c9R => Sing t_a6cFB -> Sing (Apply OrSym0 t_a6cFB :: Bool)
type family Any (a_a6ciz :: (~>) a_a6c9Q Bool) (a_a6ciA :: t_a6c9P a_a6c9Q) :: Bool
sAny :: forall a_a6c9Q t_a6c9P (t_a6cFx :: (~>) a_a6c9Q Bool) (t_a6cFy :: t_a6c9P a_a6c9Q). SFoldable t_a6c9P => Sing t_a6cFx -> Sing t_a6cFy -> Sing (Apply (Apply AnySym0 t_a6cFx) t_a6cFy :: Bool)
type family All (a_a6cim :: (~>) a_a6c9O Bool) (a_a6cin :: t_a6c9N a_a6c9O) :: Bool
sAll :: forall a_a6c9O t_a6c9N (t_a6cFt :: (~>) a_a6c9O Bool) (t_a6cFu :: t_a6c9N a_a6c9O). SFoldable t_a6c9N => Sing t_a6cFt -> Sing t_a6cFu -> Sing (Apply (Apply AllSym0 t_a6cFt) t_a6cFu :: Bool)
type family MaximumBy (a_a6chX :: (~>) a_a6c9M ((~>) a_a6c9M Ordering)) (a_a6chY :: t_a6c9L a_a6c9M) :: a_a6c9M
sMaximumBy :: forall a_a6c9M t_a6c9L (t_a6cFp :: (~>) a_a6c9M ((~>) a_a6c9M Ordering)) (t_a6cFq :: t_a6c9L a_a6c9M). SFoldable t_a6c9L => Sing t_a6cFp -> Sing t_a6cFq -> Sing (Apply (Apply MaximumBySym0 t_a6cFp) t_a6cFq :: a_a6c9M)
type family MinimumBy (a_a6chy :: (~>) a_a6c9K ((~>) a_a6c9K Ordering)) (a_a6chz :: t_a6c9J a_a6c9K) :: a_a6c9K
sMinimumBy :: forall a_a6c9K t_a6c9J (t_a6cFl :: (~>) a_a6c9K ((~>) a_a6c9K Ordering)) (t_a6cFm :: t_a6c9J a_a6c9K). SFoldable t_a6c9J => Sing t_a6cFl -> Sing t_a6cFm -> Sing (Apply (Apply MinimumBySym0 t_a6cFl) t_a6cFm :: a_a6c9K)
type family NotElem (a_a6chq :: a_a6c9I) (a_a6chr :: t_a6c9H a_a6c9I) :: Bool
sNotElem :: forall a_a6c9I t_a6c9H (t_a6cFh :: a_a6c9I) (t_a6cFi :: t_a6c9H a_a6c9I). (SFoldable t_a6c9H, SEq a_a6c9I) => Sing t_a6cFh -> Sing t_a6cFi -> Sing (Apply (Apply NotElemSym0 t_a6cFh) t_a6cFi :: Bool)
type family Find (a_a6cgZ :: (~>) a_a6c9G Bool) (a_a6ch0 :: t_a6c9F a_a6c9G) :: Maybe a_a6c9G
sFind :: forall a_a6c9G t_a6c9F (t_a6cFd :: (~>) a_a6c9G Bool) (t_a6cFe :: t_a6c9F a_a6c9G). SFoldable t_a6c9F => Sing t_a6cFd -> Sing t_a6cFe -> Sing (Apply (Apply FindSym0 t_a6cFd) t_a6cFe :: Maybe a_a6c9G)
data FoldSym0 :: forall t6989586621680486579 m6989586621680486580. (~>) (t6989586621680486579 m6989586621680486580) m6989586621680486580
type FoldSym1 (arg6989586621680487198 :: t6989586621680486579 m6989586621680486580) = Fold arg6989586621680487198
data FoldMapSym0 :: forall a6989586621680486582 m6989586621680486581 t6989586621680486579. (~>) ((~>) a6989586621680486582 m6989586621680486581) ((~>) (t6989586621680486579 a6989586621680486582) m6989586621680486581)
data FoldMapSym1 (arg6989586621680487200 :: (~>) a6989586621680486582 m6989586621680486581) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486582) m6989586621680486581
type FoldMapSym2 (arg6989586621680487200 :: (~>) a6989586621680486582 m6989586621680486581) (arg6989586621680487201 :: t6989586621680486579 a6989586621680486582) = FoldMap arg6989586621680487200 arg6989586621680487201
data FoldrSym0 :: forall a6989586621680486583 b6989586621680486584 t6989586621680486579. (~>) ((~>) a6989586621680486583 ((~>) b6989586621680486584 b6989586621680486584)) ((~>) b6989586621680486584 ((~>) (t6989586621680486579 a6989586621680486583) b6989586621680486584))
data FoldrSym1 (arg6989586621680487204 :: (~>) a6989586621680486583 ((~>) b6989586621680486584 b6989586621680486584)) :: forall t6989586621680486579. (~>) b6989586621680486584 ((~>) (t6989586621680486579 a6989586621680486583) b6989586621680486584)
data FoldrSym2 (arg6989586621680487204 :: (~>) a6989586621680486583 ((~>) b6989586621680486584 b6989586621680486584)) (arg6989586621680487205 :: b6989586621680486584) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486583) b6989586621680486584
type FoldrSym3 (arg6989586621680487204 :: (~>) a6989586621680486583 ((~>) b6989586621680486584 b6989586621680486584)) (arg6989586621680487205 :: b6989586621680486584) (arg6989586621680487206 :: t6989586621680486579 a6989586621680486583) = Foldr arg6989586621680487204 arg6989586621680487205 arg6989586621680487206
data Foldr'Sym0 :: forall a6989586621680486585 b6989586621680486586 t6989586621680486579. (~>) ((~>) a6989586621680486585 ((~>) b6989586621680486586 b6989586621680486586)) ((~>) b6989586621680486586 ((~>) (t6989586621680486579 a6989586621680486585) b6989586621680486586))
data Foldr'Sym1 (arg6989586621680487210 :: (~>) a6989586621680486585 ((~>) b6989586621680486586 b6989586621680486586)) :: forall t6989586621680486579. (~>) b6989586621680486586 ((~>) (t6989586621680486579 a6989586621680486585) b6989586621680486586)
data Foldr'Sym2 (arg6989586621680487210 :: (~>) a6989586621680486585 ((~>) b6989586621680486586 b6989586621680486586)) (arg6989586621680487211 :: b6989586621680486586) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486585) b6989586621680486586
type Foldr'Sym3 (arg6989586621680487210 :: (~>) a6989586621680486585 ((~>) b6989586621680486586 b6989586621680486586)) (arg6989586621680487211 :: b6989586621680486586) (arg6989586621680487212 :: t6989586621680486579 a6989586621680486585) = Foldr' arg6989586621680487210 arg6989586621680487211 arg6989586621680487212
data FoldlSym0 :: forall b6989586621680486587 a6989586621680486588 t6989586621680486579. (~>) ((~>) b6989586621680486587 ((~>) a6989586621680486588 b6989586621680486587)) ((~>) b6989586621680486587 ((~>) (t6989586621680486579 a6989586621680486588) b6989586621680486587))
data FoldlSym1 (arg6989586621680487216 :: (~>) b6989586621680486587 ((~>) a6989586621680486588 b6989586621680486587)) :: forall t6989586621680486579. (~>) b6989586621680486587 ((~>) (t6989586621680486579 a6989586621680486588) b6989586621680486587)
data FoldlSym2 (arg6989586621680487216 :: (~>) b6989586621680486587 ((~>) a6989586621680486588 b6989586621680486587)) (arg6989586621680487217 :: b6989586621680486587) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486588) b6989586621680486587
type FoldlSym3 (arg6989586621680487216 :: (~>) b6989586621680486587 ((~>) a6989586621680486588 b6989586621680486587)) (arg6989586621680487217 :: b6989586621680486587) (arg6989586621680487218 :: t6989586621680486579 a6989586621680486588) = Foldl arg6989586621680487216 arg6989586621680487217 arg6989586621680487218
data Foldl'Sym0 :: forall b6989586621680486589 a6989586621680486590 t6989586621680486579. (~>) ((~>) b6989586621680486589 ((~>) a6989586621680486590 b6989586621680486589)) ((~>) b6989586621680486589 ((~>) (t6989586621680486579 a6989586621680486590) b6989586621680486589))
data Foldl'Sym1 (arg6989586621680487222 :: (~>) b6989586621680486589 ((~>) a6989586621680486590 b6989586621680486589)) :: forall t6989586621680486579. (~>) b6989586621680486589 ((~>) (t6989586621680486579 a6989586621680486590) b6989586621680486589)
data Foldl'Sym2 (arg6989586621680487222 :: (~>) b6989586621680486589 ((~>) a6989586621680486590 b6989586621680486589)) (arg6989586621680487223 :: b6989586621680486589) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486590) b6989586621680486589
type Foldl'Sym3 (arg6989586621680487222 :: (~>) b6989586621680486589 ((~>) a6989586621680486590 b6989586621680486589)) (arg6989586621680487223 :: b6989586621680486589) (arg6989586621680487224 :: t6989586621680486579 a6989586621680486590) = Foldl' arg6989586621680487222 arg6989586621680487223 arg6989586621680487224
data Foldr1Sym0 :: forall a6989586621680486591 t6989586621680486579. (~>) ((~>) a6989586621680486591 ((~>) a6989586621680486591 a6989586621680486591)) ((~>) (t6989586621680486579 a6989586621680486591) a6989586621680486591)
data Foldr1Sym1 (arg6989586621680487228 :: (~>) a6989586621680486591 ((~>) a6989586621680486591 a6989586621680486591)) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486591) a6989586621680486591
type Foldr1Sym2 (arg6989586621680487228 :: (~>) a6989586621680486591 ((~>) a6989586621680486591 a6989586621680486591)) (arg6989586621680487229 :: t6989586621680486579 a6989586621680486591) = Foldr1 arg6989586621680487228 arg6989586621680487229
data Foldl1Sym0 :: forall a6989586621680486592 t6989586621680486579. (~>) ((~>) a6989586621680486592 ((~>) a6989586621680486592 a6989586621680486592)) ((~>) (t6989586621680486579 a6989586621680486592) a6989586621680486592)
data Foldl1Sym1 (arg6989586621680487232 :: (~>) a6989586621680486592 ((~>) a6989586621680486592 a6989586621680486592)) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486592) a6989586621680486592
type Foldl1Sym2 (arg6989586621680487232 :: (~>) a6989586621680486592 ((~>) a6989586621680486592 a6989586621680486592)) (arg6989586621680487233 :: t6989586621680486579 a6989586621680486592) = Foldl1 arg6989586621680487232 arg6989586621680487233
data ToListSym0 :: forall t6989586621680486579 a6989586621680486593. (~>) (t6989586621680486579 a6989586621680486593) [a6989586621680486593]
type ToListSym1 (arg6989586621680487236 :: t6989586621680486579 a6989586621680486593) = ToList arg6989586621680487236
data NullSym0 :: forall t6989586621680486579 a6989586621680486594. (~>) (t6989586621680486579 a6989586621680486594) Bool
type NullSym1 (arg6989586621680487238 :: t6989586621680486579 a6989586621680486594) = Null arg6989586621680487238
data LengthSym0 :: forall t6989586621680486579 a6989586621680486595. (~>) (t6989586621680486579 a6989586621680486595) Nat
type LengthSym1 (arg6989586621680487240 :: t6989586621680486579 a6989586621680486595) = Length arg6989586621680487240
data ElemSym0 :: forall a6989586621680486596 t6989586621680486579. (~>) a6989586621680486596 ((~>) (t6989586621680486579 a6989586621680486596) Bool)
data ElemSym1 (arg6989586621680487242 :: a6989586621680486596) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486596) Bool
type ElemSym2 (arg6989586621680487242 :: a6989586621680486596) (arg6989586621680487243 :: t6989586621680486579 a6989586621680486596) = Elem arg6989586621680487242 arg6989586621680487243
data MaximumSym0 :: forall t6989586621680486579 a6989586621680486597. (~>) (t6989586621680486579 a6989586621680486597) a6989586621680486597
type MaximumSym1 (arg6989586621680487246 :: t6989586621680486579 a6989586621680486597) = Maximum arg6989586621680487246
data MinimumSym0 :: forall t6989586621680486579 a6989586621680486598. (~>) (t6989586621680486579 a6989586621680486598) a6989586621680486598
type MinimumSym1 (arg6989586621680487248 :: t6989586621680486579 a6989586621680486598) = Minimum arg6989586621680487248
data SumSym0 :: forall t6989586621680486579 a6989586621680486599. (~>) (t6989586621680486579 a6989586621680486599) a6989586621680486599
type SumSym1 (arg6989586621680487250 :: t6989586621680486579 a6989586621680486599) = Sum arg6989586621680487250
data ProductSym0 :: forall t6989586621680486579 a6989586621680486600. (~>) (t6989586621680486579 a6989586621680486600) a6989586621680486600
type ProductSym1 (arg6989586621680487252 :: t6989586621680486579 a6989586621680486600) = Product arg6989586621680487252
data FoldrMSym0 :: forall a6989586621680486540 b6989586621680486541 m6989586621680486539 t6989586621680486538. (~>) ((~>) a6989586621680486540 ((~>) b6989586621680486541 (m6989586621680486539 b6989586621680486541))) ((~>) b6989586621680486541 ((~>) (t6989586621680486538 a6989586621680486540) (m6989586621680486539 b6989586621680486541)))
data FoldrMSym1 (a6989586621680487176 :: (~>) a6989586621680486540 ((~>) b6989586621680486541 (m6989586621680486539 b6989586621680486541))) :: forall t6989586621680486538. (~>) b6989586621680486541 ((~>) (t6989586621680486538 a6989586621680486540) (m6989586621680486539 b6989586621680486541))
data FoldrMSym2 (a6989586621680487176 :: (~>) a6989586621680486540 ((~>) b6989586621680486541 (m6989586621680486539 b6989586621680486541))) (a6989586621680487177 :: b6989586621680486541) :: forall t6989586621680486538. (~>) (t6989586621680486538 a6989586621680486540) (m6989586621680486539 b6989586621680486541)
type FoldrMSym3 (a6989586621680487176 :: (~>) a6989586621680486540 ((~>) b6989586621680486541 (m6989586621680486539 b6989586621680486541))) (a6989586621680487177 :: b6989586621680486541) (a6989586621680487178 :: t6989586621680486538 a6989586621680486540) = FoldrM a6989586621680487176 a6989586621680487177 a6989586621680487178
data FoldlMSym0 :: forall b6989586621680486536 a6989586621680486537 m6989586621680486535 t6989586621680486534. (~>) ((~>) b6989586621680486536 ((~>) a6989586621680486537 (m6989586621680486535 b6989586621680486536))) ((~>) b6989586621680486536 ((~>) (t6989586621680486534 a6989586621680486537) (m6989586621680486535 b6989586621680486536)))
data FoldlMSym1 (a6989586621680487154 :: (~>) b6989586621680486536 ((~>) a6989586621680486537 (m6989586621680486535 b6989586621680486536))) :: forall t6989586621680486534. (~>) b6989586621680486536 ((~>) (t6989586621680486534 a6989586621680486537) (m6989586621680486535 b6989586621680486536))
data FoldlMSym2 (a6989586621680487154 :: (~>) b6989586621680486536 ((~>) a6989586621680486537 (m6989586621680486535 b6989586621680486536))) (a6989586621680487155 :: b6989586621680486536) :: forall t6989586621680486534. (~>) (t6989586621680486534 a6989586621680486537) (m6989586621680486535 b6989586621680486536)
type FoldlMSym3 (a6989586621680487154 :: (~>) b6989586621680486536 ((~>) a6989586621680486537 (m6989586621680486535 b6989586621680486536))) (a6989586621680487155 :: b6989586621680486536) (a6989586621680487156 :: t6989586621680486534 a6989586621680486537) = FoldlM a6989586621680487154 a6989586621680487155 a6989586621680487156
data Traverse_Sym0 :: forall a6989586621680486532 f6989586621680486531 b6989586621680486533 t6989586621680486530. (~>) ((~>) a6989586621680486532 (f6989586621680486531 b6989586621680486533)) ((~>) (t6989586621680486530 a6989586621680486532) (f6989586621680486531 ()))
data Traverse_Sym1 (a6989586621680487146 :: (~>) a6989586621680486532 (f6989586621680486531 b6989586621680486533)) :: forall t6989586621680486530. (~>) (t6989586621680486530 a6989586621680486532) (f6989586621680486531 ())
type Traverse_Sym2 (a6989586621680487146 :: (~>) a6989586621680486532 (f6989586621680486531 b6989586621680486533)) (a6989586621680487147 :: t6989586621680486530 a6989586621680486532) = Traverse_ a6989586621680487146 a6989586621680487147
data For_Sym0 :: forall t6989586621680486526 a6989586621680486528 f6989586621680486527 b6989586621680486529. (~>) (t6989586621680486526 a6989586621680486528) ((~>) ((~>) a6989586621680486528 (f6989586621680486527 b6989586621680486529)) (f6989586621680486527 ()))
data For_Sym1 (a6989586621680487140 :: t6989586621680486526 a6989586621680486528) :: forall f6989586621680486527 b6989586621680486529. (~>) ((~>) a6989586621680486528 (f6989586621680486527 b6989586621680486529)) (f6989586621680486527 ())
type For_Sym2 (a6989586621680487140 :: t6989586621680486526 a6989586621680486528) (a6989586621680487141 :: (~>) a6989586621680486528 (f6989586621680486527 b6989586621680486529)) = For_ a6989586621680487140 a6989586621680487141
data SequenceA_Sym0 :: forall t6989586621680486515 f6989586621680486516 a6989586621680486517. (~>) (t6989586621680486515 (f6989586621680486516 a6989586621680486517)) (f6989586621680486516 ())
type SequenceA_Sym1 (a6989586621680487115 :: t6989586621680486515 (f6989586621680486516 a6989586621680486517)) = SequenceA_ a6989586621680487115
data AsumSym0 :: forall t6989586621680486509 f6989586621680486510 a6989586621680486511. (~>) (t6989586621680486509 (f6989586621680486510 a6989586621680486511)) (f6989586621680486510 a6989586621680486511)
type AsumSym1 (a6989586621680487105 :: t6989586621680486509 (f6989586621680486510 a6989586621680486511)) = Asum a6989586621680487105
data MapM_Sym0 :: forall a6989586621680486524 m6989586621680486523 b6989586621680486525 t6989586621680486522. (~>) ((~>) a6989586621680486524 (m6989586621680486523 b6989586621680486525)) ((~>) (t6989586621680486522 a6989586621680486524) (m6989586621680486523 ()))
data MapM_Sym1 (a6989586621680487128 :: (~>) a6989586621680486524 (m6989586621680486523 b6989586621680486525)) :: forall t6989586621680486522. (~>) (t6989586621680486522 a6989586621680486524) (m6989586621680486523 ())
type MapM_Sym2 (a6989586621680487128 :: (~>) a6989586621680486524 (m6989586621680486523 b6989586621680486525)) (a6989586621680487129 :: t6989586621680486522 a6989586621680486524) = MapM_ a6989586621680487128 a6989586621680487129
data ForM_Sym0 :: forall t6989586621680486518 a6989586621680486520 m6989586621680486519 b6989586621680486521. (~>) (t6989586621680486518 a6989586621680486520) ((~>) ((~>) a6989586621680486520 (m6989586621680486519 b6989586621680486521)) (m6989586621680486519 ()))
data ForM_Sym1 (a6989586621680487122 :: t6989586621680486518 a6989586621680486520) :: forall m6989586621680486519 b6989586621680486521. (~>) ((~>) a6989586621680486520 (m6989586621680486519 b6989586621680486521)) (m6989586621680486519 ())
type ForM_Sym2 (a6989586621680487122 :: t6989586621680486518 a6989586621680486520) (a6989586621680487123 :: (~>) a6989586621680486520 (m6989586621680486519 b6989586621680486521)) = ForM_ a6989586621680487122 a6989586621680487123
data Sequence_Sym0 :: forall t6989586621680486512 m6989586621680486513 a6989586621680486514. (~>) (t6989586621680486512 (m6989586621680486513 a6989586621680486514)) (m6989586621680486513 ())
type Sequence_Sym1 (a6989586621680487110 :: t6989586621680486512 (m6989586621680486513 a6989586621680486514)) = Sequence_ a6989586621680487110
data MsumSym0 :: forall t6989586621680486506 m6989586621680486507 a6989586621680486508. (~>) (t6989586621680486506 (m6989586621680486507 a6989586621680486508)) (m6989586621680486507 a6989586621680486508)
type MsumSym1 (a6989586621680487100 :: t6989586621680486506 (m6989586621680486507 a6989586621680486508)) = Msum a6989586621680487100
data ConcatSym0 :: forall t6989586621680486504 a6989586621680486505. (~>) (t6989586621680486504 [a6989586621680486505]) [a6989586621680486505]
type ConcatSym1 (a6989586621680487086 :: t6989586621680486504 [a6989586621680486505]) = Concat a6989586621680487086
data ConcatMapSym0 :: forall a6989586621680486502 b6989586621680486503 t6989586621680486501. (~>) ((~>) a6989586621680486502 [b6989586621680486503]) ((~>) (t6989586621680486501 a6989586621680486502) [b6989586621680486503])
data ConcatMapSym1 (a6989586621680487070 :: (~>) a6989586621680486502 [b6989586621680486503]) :: forall t6989586621680486501. (~>) (t6989586621680486501 a6989586621680486502) [b6989586621680486503]
type ConcatMapSym2 (a6989586621680487070 :: (~>) a6989586621680486502 [b6989586621680486503]) (a6989586621680487071 :: t6989586621680486501 a6989586621680486502) = ConcatMap a6989586621680487070 a6989586621680487071
data AndSym0 :: forall t6989586621680486500. (~>) (t6989586621680486500 Bool) Bool
type AndSym1 (a6989586621680487061 :: t6989586621680486500 Bool) = And a6989586621680487061
data OrSym0 :: forall t6989586621680486499. (~>) (t6989586621680486499 Bool) Bool
type OrSym1 (a6989586621680487052 :: t6989586621680486499 Bool) = Or a6989586621680487052
data AnySym0 :: forall a6989586621680486498 t6989586621680486497. (~>) ((~>) a6989586621680486498 Bool) ((~>) (t6989586621680486497 a6989586621680486498) Bool)
data AnySym1 (a6989586621680487039 :: (~>) a6989586621680486498 Bool) :: forall t6989586621680486497. (~>) (t6989586621680486497 a6989586621680486498) Bool
type AnySym2 (a6989586621680487039 :: (~>) a6989586621680486498 Bool) (a6989586621680487040 :: t6989586621680486497 a6989586621680486498) = Any a6989586621680487039 a6989586621680487040
data AllSym0 :: forall a6989586621680486496 t6989586621680486495. (~>) ((~>) a6989586621680486496 Bool) ((~>) (t6989586621680486495 a6989586621680486496) Bool)
data AllSym1 (a6989586621680487026 :: (~>) a6989586621680486496 Bool) :: forall t6989586621680486495. (~>) (t6989586621680486495 a6989586621680486496) Bool
type AllSym2 (a6989586621680487026 :: (~>) a6989586621680486496 Bool) (a6989586621680487027 :: t6989586621680486495 a6989586621680486496) = All a6989586621680487026 a6989586621680487027
data MaximumBySym0 :: forall a6989586621680486494 t6989586621680486493. (~>) ((~>) a6989586621680486494 ((~>) a6989586621680486494 Ordering)) ((~>) (t6989586621680486493 a6989586621680486494) a6989586621680486494)
data MaximumBySym1 (a6989586621680487001 :: (~>) a6989586621680486494 ((~>) a6989586621680486494 Ordering)) :: forall t6989586621680486493. (~>) (t6989586621680486493 a6989586621680486494) a6989586621680486494
type MaximumBySym2 (a6989586621680487001 :: (~>) a6989586621680486494 ((~>) a6989586621680486494 Ordering)) (a6989586621680487002 :: t6989586621680486493 a6989586621680486494) = MaximumBy a6989586621680487001 a6989586621680487002
data MinimumBySym0 :: forall a6989586621680486492 t6989586621680486491. (~>) ((~>) a6989586621680486492 ((~>) a6989586621680486492 Ordering)) ((~>) (t6989586621680486491 a6989586621680486492) a6989586621680486492)
data MinimumBySym1 (a6989586621680486976 :: (~>) a6989586621680486492 ((~>) a6989586621680486492 Ordering)) :: forall t6989586621680486491. (~>) (t6989586621680486491 a6989586621680486492) a6989586621680486492
type MinimumBySym2 (a6989586621680486976 :: (~>) a6989586621680486492 ((~>) a6989586621680486492 Ordering)) (a6989586621680486977 :: t6989586621680486491 a6989586621680486492) = MinimumBy a6989586621680486976 a6989586621680486977
data NotElemSym0 :: forall a6989586621680486490 t6989586621680486489. (~>) a6989586621680486490 ((~>) (t6989586621680486489 a6989586621680486490) Bool)
data NotElemSym1 (a6989586621680486968 :: a6989586621680486490) :: forall t6989586621680486489. (~>) (t6989586621680486489 a6989586621680486490) Bool
type NotElemSym2 (a6989586621680486968 :: a6989586621680486490) (a6989586621680486969 :: t6989586621680486489 a6989586621680486490) = NotElem a6989586621680486968 a6989586621680486969
data FindSym0 :: forall a6989586621680486488 t6989586621680486487. (~>) ((~>) a6989586621680486488 Bool) ((~>) (t6989586621680486487 a6989586621680486488) (Maybe a6989586621680486488))
data FindSym1 (a6989586621680486941 :: (~>) a6989586621680486488 Bool) :: forall t6989586621680486487. (~>) (t6989586621680486487 a6989586621680486488) (Maybe a6989586621680486488)
type FindSym2 (a6989586621680486941 :: (~>) a6989586621680486488 Bool) (a6989586621680486942 :: t6989586621680486487 a6989586621680486488) = Find a6989586621680486941 a6989586621680486942
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680568401Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Monoid.Last
instance forall a6989586621680486583 b6989586621680486584 (a6989586621680568398 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680568401Sym1 a6989586621680568398)
instance forall a6989586621680486583 b6989586621680486584 (a6989586621680568399 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)) (a6989586621680568398 :: b6989586621680486584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680568401Sym2 a6989586621680568399 a6989586621680568398)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680568412Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable Data.Monoid.Last
instance forall a6989586621680486583 k1 k2 k3 (t6989586621680486579 :: * -> *) (_f_69895866216805682716989586621680568409 :: a6989586621680486583 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568412Sym1 _f_69895866216805682716989586621680568409)
instance forall a6989586621680486583 k1 k2 k3 (t6989586621680486579 :: * -> *) (_z_69895866216805682736989586621680568410 :: a6989586621680486583 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)) (_f_69895866216805682716989586621680568409 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568412Sym2 _z_69895866216805682736989586621680568410 _f_69895866216805682716989586621680568409)
instance forall a6989586621680486583 k1 k2 k3 (t6989586621680486579 :: * -> *) (a_69895866216805682936989586621680568411 :: a6989586621680486583 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)) (_z_69895866216805682736989586621680568410 :: k2) (_f_69895866216805682716989586621680568409 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568412Sym3 a_69895866216805682936989586621680568411 _z_69895866216805682736989586621680568410 _f_69895866216805682716989586621680568409)
instance forall a6989586621680486583 k1 k2 k3 (t6989586621680486579 :: * -> *) (t6989586621680568416 :: a6989586621680486583 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)) (a_69895866216805682936989586621680568411 :: k2) (_z_69895866216805682736989586621680568410 :: k3) (_f_69895866216805682716989586621680568409 :: t6989586621680486579 a6989586621680486583). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568412Sym4 t6989586621680568416 a_69895866216805682936989586621680568411 _z_69895866216805682736989586621680568410 _f_69895866216805682716989586621680568409)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680568388Sym0
instance forall a6989586621680486582 m6989586621680486581 (a6989586621680568386 :: a6989586621680486582 Data.Singletons.Internal.~> m6989586621680486581). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680568388Sym1 a6989586621680568386)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680568361Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Monoid.First
instance forall a6989586621680486583 b6989586621680486584 (a6989586621680568358 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680568361Sym1 a6989586621680568358)
instance forall a6989586621680486583 b6989586621680486584 (a6989586621680568359 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)) (a6989586621680568358 :: b6989586621680486584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680568361Sym2 a6989586621680568359 a6989586621680568358)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680568372Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable Data.Monoid.First
instance forall a6989586621680486583 k1 k2 k3 (t6989586621680486579 :: * -> *) (_f_69895866216805682386989586621680568369 :: a6989586621680486583 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568372Sym1 _f_69895866216805682386989586621680568369)
instance forall a6989586621680486583 k1 k2 k3 (t6989586621680486579 :: * -> *) (_z_69895866216805682406989586621680568370 :: a6989586621680486583 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)) (_f_69895866216805682386989586621680568369 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568372Sym2 _z_69895866216805682406989586621680568370 _f_69895866216805682386989586621680568369)
instance forall a6989586621680486583 k1 k2 k3 (t6989586621680486579 :: * -> *) (a_69895866216805682606989586621680568371 :: a6989586621680486583 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)) (_z_69895866216805682406989586621680568370 :: k2) (_f_69895866216805682386989586621680568369 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568372Sym3 a_69895866216805682606989586621680568371 _z_69895866216805682406989586621680568370 _f_69895866216805682386989586621680568369)
instance forall a6989586621680486583 k1 k2 k3 (t6989586621680486579 :: * -> *) (t6989586621680568376 :: a6989586621680486583 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)) (a_69895866216805682606989586621680568371 :: k2) (_z_69895866216805682406989586621680568370 :: k3) (_f_69895866216805682386989586621680568369 :: t6989586621680486579 a6989586621680486583). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568372Sym4 t6989586621680568376 a_69895866216805682606989586621680568371 _z_69895866216805682406989586621680568370 _f_69895866216805682386989586621680568369)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680568348Sym0
instance forall a6989586621680486582 m6989586621680486581 (a6989586621680568346 :: a6989586621680486582 Data.Singletons.Internal.~> m6989586621680486581). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680568348Sym1 a6989586621680568346)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680568319Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable ((,) a)
instance forall a6989586621680486583 b6989586621680486584 a6989586621680568190 (a6989586621680568316 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680568319Sym1 a6989586621680568316)
instance forall a6989586621680486583 b6989586621680486584 a6989586621680568190 (a6989586621680568317 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)) (a6989586621680568316 :: b6989586621680486584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680568319Sym2 a6989586621680568317 a6989586621680568316)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680568331Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable ((,) a)
instance forall k1 k2 k3 k4 k5 k6 (_f_69895866216805682116989586621680568327 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568331Sym1 _f_69895866216805682116989586621680568327)
instance forall k1 k2 k3 k4 k5 k6 (_z_69895866216805682136989586621680568328 :: k1) (_f_69895866216805682116989586621680568327 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568331Sym2 _z_69895866216805682136989586621680568328 _f_69895866216805682116989586621680568327)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216805682256989586621680568329 :: k1) (_z_69895866216805682136989586621680568328 :: k2) (_f_69895866216805682116989586621680568327 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568331Sym3 a_69895866216805682256989586621680568329 _z_69895866216805682136989586621680568328 _f_69895866216805682116989586621680568327)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216805682276989586621680568330 :: k1) (a_69895866216805682256989586621680568329 :: k2) (_z_69895866216805682136989586621680568328 :: k3) (_f_69895866216805682116989586621680568327 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568331Sym4 a_69895866216805682276989586621680568330 a_69895866216805682256989586621680568329 _z_69895866216805682136989586621680568328 _f_69895866216805682116989586621680568327)
instance forall k1 k2 k3 k4 k5 k6 (t6989586621680568335 :: k1) (a_69895866216805682276989586621680568330 :: k2) (a_69895866216805682256989586621680568329 :: k3) (_z_69895866216805682136989586621680568328 :: k4) (_f_69895866216805682116989586621680568327 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568331Sym5 t6989586621680568335 a_69895866216805682276989586621680568330 a_69895866216805682256989586621680568329 _z_69895866216805682136989586621680568328 _f_69895866216805682116989586621680568327)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680568297Sym0
instance forall a6989586621680486582 m6989586621680486581 a6989586621680568190 (a6989586621680568295 :: a6989586621680486582 Data.Singletons.Internal.~> m6989586621680486581). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680568297Sym1 a6989586621680568295)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680568306Sym0
instance forall k1 k2 k3 k4 k5 (_f_69895866216805682116989586621680568303 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568306Sym1 _f_69895866216805682116989586621680568303)
instance forall k1 k2 k3 k4 k5 (a_69895866216805682176989586621680568304 :: k1) (_f_69895866216805682116989586621680568303 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568306Sym2 a_69895866216805682176989586621680568304 _f_69895866216805682116989586621680568303)
instance forall k1 k2 k3 k4 k5 (a_69895866216805682196989586621680568305 :: k1) (a_69895866216805682176989586621680568304 :: k2) (_f_69895866216805682116989586621680568303 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680568306Sym3 a_69895866216805682196989586621680568305 a_69895866216805682176989586621680568304 _f_69895866216805682116989586621680568303)
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_6989586621680488437Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Internal.Product
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680488430Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680488423Sym0
instance forall k (t6989586621680486579 :: k -> *) (a6989586621680486594 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680488417Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680488410Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680488403Sym0
instance forall k (t6989586621680486579 :: k -> *) (a6989586621680486595 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680488397Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680488387Sym0
instance forall a6989586621680486591 (t6989586621680486579 :: * -> *) (a6989586621680488385 :: a6989586621680486591 Data.Singletons.Internal.~> (a6989586621680486591 Data.Singletons.Internal.~> a6989586621680486591)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680488387Sym1 a6989586621680488385)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680488365Sym0
instance forall a6989586621680486585 b6989586621680486586 (t6989586621680486579 :: * -> *) (a6989586621680488362 :: a6989586621680486585 Data.Singletons.Internal.~> (b6989586621680486586 Data.Singletons.Internal.~> b6989586621680486586)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680488365Sym1 a6989586621680488362)
instance forall a6989586621680486585 b6989586621680486586 (t6989586621680486579 :: * -> *) (a6989586621680488363 :: a6989586621680486585 Data.Singletons.Internal.~> (b6989586621680486586 Data.Singletons.Internal.~> b6989586621680486586)) (a6989586621680488362 :: b6989586621680486586). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680488365Sym2 a6989586621680488363 a6989586621680488362)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680488348Sym0
instance forall a6989586621680486583 b6989586621680486584 (t6989586621680486579 :: * -> *) (a6989586621680488345 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680488348Sym1 a6989586621680488345)
instance forall a6989586621680486583 b6989586621680486584 (t6989586621680486579 :: * -> *) (a6989586621680488346 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)) (a6989586621680488345 :: b6989586621680486584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680488348Sym2 a6989586621680488346 a6989586621680488345)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680488336Sym0
instance forall a6989586621680486592 (t6989586621680486579 :: * -> *) (a6989586621680488334 :: a6989586621680486592 Data.Singletons.Internal.~> (a6989586621680486592 Data.Singletons.Internal.~> a6989586621680486592)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680488336Sym1 a6989586621680488334)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680488320Sym0
instance forall b6989586621680486589 a6989586621680486590 (t6989586621680486579 :: * -> *) (a6989586621680488317 :: b6989586621680486589 Data.Singletons.Internal.~> (a6989586621680486590 Data.Singletons.Internal.~> b6989586621680486589)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680488320Sym1 a6989586621680488317)
instance forall b6989586621680486589 a6989586621680486590 (t6989586621680486579 :: * -> *) (a6989586621680488318 :: b6989586621680486589 Data.Singletons.Internal.~> (a6989586621680486590 Data.Singletons.Internal.~> b6989586621680486589)) (a6989586621680488317 :: b6989586621680486589). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680488320Sym2 a6989586621680488318 a6989586621680488317)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680488303Sym0
instance forall b6989586621680486587 a6989586621680486588 (t6989586621680486579 :: * -> *) (a6989586621680488300 :: b6989586621680486587 Data.Singletons.Internal.~> (a6989586621680486588 Data.Singletons.Internal.~> b6989586621680486587)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680488303Sym1 a6989586621680488300)
instance forall b6989586621680486587 a6989586621680486588 (t6989586621680486579 :: * -> *) (a6989586621680488301 :: b6989586621680486587 Data.Singletons.Internal.~> (a6989586621680486588 Data.Singletons.Internal.~> b6989586621680486587)) (a6989586621680488300 :: b6989586621680486587). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680488303Sym2 a6989586621680488301 a6989586621680488300)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680488290Sym0
instance forall a6989586621680486596 (t6989586621680486579 :: * -> *) (a6989586621680488288 :: a6989586621680486596). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680488290Sym1 a6989586621680488288)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680488278Sym0
instance forall a6989586621680486582 m6989586621680486581 (t6989586621680486579 :: * -> *) (a6989586621680488276 :: a6989586621680486582 Data.Singletons.Internal.~> m6989586621680486581). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680488278Sym1 a6989586621680488276)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680488270Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Internal.Sum
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680488263Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680488256Sym0
instance forall k (t6989586621680486579 :: k -> *) (a6989586621680486594 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680488250Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680488243Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680488236Sym0
instance forall k (t6989586621680486579 :: k -> *) (a6989586621680486595 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680488230Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680488220Sym0
instance forall a6989586621680486591 (t6989586621680486579 :: * -> *) (a6989586621680488218 :: a6989586621680486591 Data.Singletons.Internal.~> (a6989586621680486591 Data.Singletons.Internal.~> a6989586621680486591)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680488220Sym1 a6989586621680488218)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680488198Sym0
instance forall a6989586621680486585 b6989586621680486586 (t6989586621680486579 :: * -> *) (a6989586621680488195 :: a6989586621680486585 Data.Singletons.Internal.~> (b6989586621680486586 Data.Singletons.Internal.~> b6989586621680486586)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680488198Sym1 a6989586621680488195)
instance forall a6989586621680486585 b6989586621680486586 (t6989586621680486579 :: * -> *) (a6989586621680488196 :: a6989586621680486585 Data.Singletons.Internal.~> (b6989586621680486586 Data.Singletons.Internal.~> b6989586621680486586)) (a6989586621680488195 :: b6989586621680486586). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680488198Sym2 a6989586621680488196 a6989586621680488195)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680488181Sym0
instance forall a6989586621680486583 b6989586621680486584 (t6989586621680486579 :: * -> *) (a6989586621680488178 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680488181Sym1 a6989586621680488178)
instance forall a6989586621680486583 b6989586621680486584 (t6989586621680486579 :: * -> *) (a6989586621680488179 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)) (a6989586621680488178 :: b6989586621680486584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680488181Sym2 a6989586621680488179 a6989586621680488178)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680488169Sym0
instance forall a6989586621680486592 (t6989586621680486579 :: * -> *) (a6989586621680488167 :: a6989586621680486592 Data.Singletons.Internal.~> (a6989586621680486592 Data.Singletons.Internal.~> a6989586621680486592)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680488169Sym1 a6989586621680488167)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680488153Sym0
instance forall b6989586621680486589 a6989586621680486590 (t6989586621680486579 :: * -> *) (a6989586621680488150 :: b6989586621680486589 Data.Singletons.Internal.~> (a6989586621680486590 Data.Singletons.Internal.~> b6989586621680486589)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680488153Sym1 a6989586621680488150)
instance forall b6989586621680486589 a6989586621680486590 (t6989586621680486579 :: * -> *) (a6989586621680488151 :: b6989586621680486589 Data.Singletons.Internal.~> (a6989586621680486590 Data.Singletons.Internal.~> b6989586621680486589)) (a6989586621680488150 :: b6989586621680486589). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680488153Sym2 a6989586621680488151 a6989586621680488150)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680488136Sym0
instance forall b6989586621680486587 a6989586621680486588 (t6989586621680486579 :: * -> *) (a6989586621680488133 :: b6989586621680486587 Data.Singletons.Internal.~> (a6989586621680486588 Data.Singletons.Internal.~> b6989586621680486587)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680488136Sym1 a6989586621680488133)
instance forall b6989586621680486587 a6989586621680486588 (t6989586621680486579 :: * -> *) (a6989586621680488134 :: b6989586621680486587 Data.Singletons.Internal.~> (a6989586621680486588 Data.Singletons.Internal.~> b6989586621680486587)) (a6989586621680488133 :: b6989586621680486587). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680488136Sym2 a6989586621680488134 a6989586621680488133)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680488123Sym0
instance forall a6989586621680486596 (t6989586621680486579 :: * -> *) (a6989586621680488121 :: a6989586621680486596). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680488123Sym1 a6989586621680488121)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680488111Sym0
instance forall a6989586621680486582 m6989586621680486581 (t6989586621680486579 :: * -> *) (a6989586621680488109 :: a6989586621680486582 Data.Singletons.Internal.~> m6989586621680486581). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680488111Sym1 a6989586621680488109)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680488103Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Internal.Dual
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680488096Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680488089Sym0
instance forall k (t6989586621680486579 :: k -> *) (a6989586621680486594 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680488083Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680488076Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680488069Sym0
instance forall k (t6989586621680486579 :: k -> *) (a6989586621680486595 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680488063Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680488053Sym0
instance forall a6989586621680486591 (t6989586621680486579 :: * -> *) (a6989586621680488051 :: a6989586621680486591 Data.Singletons.Internal.~> (a6989586621680486591 Data.Singletons.Internal.~> a6989586621680486591)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680488053Sym1 a6989586621680488051)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680488031Sym0
instance forall a6989586621680486585 b6989586621680486586 (t6989586621680486579 :: * -> *) (a6989586621680488028 :: a6989586621680486585 Data.Singletons.Internal.~> (b6989586621680486586 Data.Singletons.Internal.~> b6989586621680486586)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680488031Sym1 a6989586621680488028)
instance forall a6989586621680486585 b6989586621680486586 (t6989586621680486579 :: * -> *) (a6989586621680488029 :: a6989586621680486585 Data.Singletons.Internal.~> (b6989586621680486586 Data.Singletons.Internal.~> b6989586621680486586)) (a6989586621680488028 :: b6989586621680486586). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680488031Sym2 a6989586621680488029 a6989586621680488028)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680488014Sym0
instance forall a6989586621680486583 b6989586621680486584 (t6989586621680486579 :: * -> *) (a6989586621680488011 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680488014Sym1 a6989586621680488011)
instance forall a6989586621680486583 b6989586621680486584 (t6989586621680486579 :: * -> *) (a6989586621680488012 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)) (a6989586621680488011 :: b6989586621680486584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680488014Sym2 a6989586621680488012 a6989586621680488011)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680488002Sym0
instance forall a6989586621680486592 (t6989586621680486579 :: * -> *) (a6989586621680488000 :: a6989586621680486592 Data.Singletons.Internal.~> (a6989586621680486592 Data.Singletons.Internal.~> a6989586621680486592)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680488002Sym1 a6989586621680488000)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487986Sym0
instance forall b6989586621680486589 a6989586621680486590 (t6989586621680486579 :: * -> *) (a6989586621680487983 :: b6989586621680486589 Data.Singletons.Internal.~> (a6989586621680486590 Data.Singletons.Internal.~> b6989586621680486589)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487986Sym1 a6989586621680487983)
instance forall b6989586621680486589 a6989586621680486590 (t6989586621680486579 :: * -> *) (a6989586621680487984 :: b6989586621680486589 Data.Singletons.Internal.~> (a6989586621680486590 Data.Singletons.Internal.~> b6989586621680486589)) (a6989586621680487983 :: b6989586621680486589). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487986Sym2 a6989586621680487984 a6989586621680487983)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680487969Sym0
instance forall b6989586621680486587 a6989586621680486588 (t6989586621680486579 :: * -> *) (a6989586621680487966 :: b6989586621680486587 Data.Singletons.Internal.~> (a6989586621680486588 Data.Singletons.Internal.~> b6989586621680486587)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487969Sym1 a6989586621680487966)
instance forall b6989586621680486587 a6989586621680486588 (t6989586621680486579 :: * -> *) (a6989586621680487967 :: b6989586621680486587 Data.Singletons.Internal.~> (a6989586621680486588 Data.Singletons.Internal.~> b6989586621680486587)) (a6989586621680487966 :: b6989586621680486587). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487969Sym2 a6989586621680487967 a6989586621680487966)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680487956Sym0
instance forall a6989586621680486596 (t6989586621680486579 :: * -> *) (a6989586621680487954 :: a6989586621680486596). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680487956Sym1 a6989586621680487954)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487944Sym0
instance forall a6989586621680486582 m6989586621680486581 (t6989586621680486579 :: * -> *) (a6989586621680487942 :: a6989586621680486582 Data.Singletons.Internal.~> m6989586621680486581). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487944Sym1 a6989586621680487942)
instance forall k (t6989586621680486579 :: k -> *) (a6989586621680486594 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680487934Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable (Data.Either.Either a)
instance forall k (t6989586621680486579 :: k -> *) (a6989586621680486595 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680487928Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680487912Sym0
instance forall a6989586621680486583 b6989586621680486584 (t6989586621680486579 :: * -> *) (a6989586621680487909 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487912Sym1 a6989586621680487909)
instance forall a6989586621680486583 b6989586621680486584 (t6989586621680486579 :: * -> *) (a6989586621680487910 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)) (a6989586621680487909 :: b6989586621680486584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487912Sym2 a6989586621680487910 a6989586621680487909)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487899Sym0
instance forall a6989586621680486582 m6989586621680486581 (t6989586621680486579 :: * -> *) (a6989586621680487897 :: a6989586621680486582 Data.Singletons.Internal.~> m6989586621680486581). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487899Sym1 a6989586621680487897)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680487890Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable GHC.Base.NonEmpty
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Fold_6989586621680487882Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487870Sym0
instance forall a6989586621680486582 m6989586621680486581 (t6989586621680486579 :: * -> *) (a6989586621680487868 :: a6989586621680486582 Data.Singletons.Internal.~> m6989586621680486581). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487870Sym1 a6989586621680487868)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487844Sym0
instance forall a6989586621680486591 (t6989586621680486579 :: * -> *) (a6989586621680487842 :: a6989586621680486591 Data.Singletons.Internal.~> (a6989586621680486591 Data.Singletons.Internal.~> a6989586621680486591)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487844Sym1 a6989586621680487842)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487853GoSym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680487850 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487853GoSym1 f6989586621680487850)
instance forall k2 k3 k4 k5 k6 k7 (p6989586621680487851 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (f6989586621680487850 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487853GoSym2 p6989586621680487851 f6989586621680487850)
instance forall k2 k3 k4 k5 k6 k7 (ps6989586621680487852 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (p6989586621680487851 :: k5) (f6989586621680487850 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487853GoSym3 ps6989586621680487852 p6989586621680487851 f6989586621680487850)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680487854 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (ps6989586621680487852 :: k5) (p6989586621680487851 :: k6) (f6989586621680487850 :: k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487853GoSym4 a6989586621680487854 ps6989586621680487852 p6989586621680487851 f6989586621680487850)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680487855 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (a6989586621680487854 :: k5) (ps6989586621680487852 :: k6) (p6989586621680487851 :: k7) (f6989586621680487850 :: k7 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487853GoSym5 a6989586621680487855 a6989586621680487854 ps6989586621680487852 p6989586621680487851 f6989586621680487850)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487831Sym0
instance forall a6989586621680486592 (t6989586621680486579 :: * -> *) (a6989586621680487829 :: a6989586621680486592 Data.Singletons.Internal.~> (a6989586621680486592 Data.Singletons.Internal.~> a6989586621680486592)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487831Sym1 a6989586621680487829)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680487814Sym0
instance forall b6989586621680486587 a6989586621680486588 (t6989586621680486579 :: * -> *) (a6989586621680487811 :: b6989586621680486587 Data.Singletons.Internal.~> (a6989586621680486588 Data.Singletons.Internal.~> b6989586621680486587)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487814Sym1 a6989586621680487811)
instance forall b6989586621680486587 a6989586621680486588 (t6989586621680486579 :: * -> *) (a6989586621680487812 :: b6989586621680486587 Data.Singletons.Internal.~> (a6989586621680486588 Data.Singletons.Internal.~> b6989586621680486587)) (a6989586621680487811 :: b6989586621680486587). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487814Sym2 a6989586621680487812 a6989586621680487811)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680487796Sym0
instance forall a6989586621680486583 b6989586621680486584 (t6989586621680486579 :: * -> *) (a6989586621680487793 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487796Sym1 a6989586621680487793)
instance forall a6989586621680486583 b6989586621680486584 (t6989586621680486579 :: * -> *) (a6989586621680487794 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)) (a6989586621680487793 :: b6989586621680486584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487796Sym2 a6989586621680487794 a6989586621680487793)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680487785Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable []
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680487776Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680487767Sym0
instance forall k (t6989586621680486579 :: k -> *) (a6989586621680486594 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680487758Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680487749Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680487740Sym0
instance forall k (t6989586621680486579 :: k -> *) (a6989586621680486595 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680487731Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487716Sym0
instance forall a6989586621680486591 (t6989586621680486579 :: * -> *) (a6989586621680487714 :: a6989586621680486591 Data.Singletons.Internal.~> (a6989586621680486591 Data.Singletons.Internal.~> a6989586621680486591)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487716Sym1 a6989586621680487714)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680487694Sym0
instance forall a6989586621680486583 b6989586621680486584 (t6989586621680486579 :: * -> *) (a6989586621680487691 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487694Sym1 a6989586621680487691)
instance forall a6989586621680486583 b6989586621680486584 (t6989586621680486579 :: * -> *) (a6989586621680487692 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)) (a6989586621680487691 :: b6989586621680486584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487694Sym2 a6989586621680487692 a6989586621680487691)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487677Sym0
instance forall a6989586621680486592 (t6989586621680486579 :: * -> *) (a6989586621680487675 :: a6989586621680486592 Data.Singletons.Internal.~> (a6989586621680486592 Data.Singletons.Internal.~> a6989586621680486592)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487677Sym1 a6989586621680487675)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487655Sym0
instance forall b6989586621680486589 a6989586621680486590 (t6989586621680486579 :: * -> *) (a6989586621680487652 :: b6989586621680486589 Data.Singletons.Internal.~> (a6989586621680486590 Data.Singletons.Internal.~> b6989586621680486589)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487655Sym1 a6989586621680487652)
instance forall b6989586621680486589 a6989586621680486590 (t6989586621680486579 :: * -> *) (a6989586621680487653 :: b6989586621680486589 Data.Singletons.Internal.~> (a6989586621680486590 Data.Singletons.Internal.~> b6989586621680486589)) (a6989586621680487652 :: b6989586621680486589). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487655Sym2 a6989586621680487653 a6989586621680487652)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680487632Sym0
instance forall b6989586621680486587 a6989586621680486588 (t6989586621680486579 :: * -> *) (a6989586621680487629 :: b6989586621680486587 Data.Singletons.Internal.~> (a6989586621680486588 Data.Singletons.Internal.~> b6989586621680486587)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487632Sym1 a6989586621680487629)
instance forall b6989586621680486587 a6989586621680486588 (t6989586621680486579 :: * -> *) (a6989586621680487630 :: b6989586621680486587 Data.Singletons.Internal.~> (a6989586621680486588 Data.Singletons.Internal.~> b6989586621680486587)) (a6989586621680487629 :: b6989586621680486587). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487632Sym2 a6989586621680487630 a6989586621680487629)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680487615Sym0
instance forall a6989586621680486596 (t6989586621680486579 :: * -> *) (a6989586621680487613 :: a6989586621680486596). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680487615Sym1 a6989586621680487613)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680487598Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable GHC.Maybe.Maybe
instance forall b6989586621680486587 a6989586621680486588 (t6989586621680486579 :: * -> *) (a6989586621680487595 :: b6989586621680486587 Data.Singletons.Internal.~> (a6989586621680486588 Data.Singletons.Internal.~> b6989586621680486587)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487598Sym1 a6989586621680487595)
instance forall b6989586621680486587 a6989586621680486588 (t6989586621680486579 :: * -> *) (a6989586621680487596 :: b6989586621680486587 Data.Singletons.Internal.~> (a6989586621680486588 Data.Singletons.Internal.~> b6989586621680486587)) (a6989586621680487595 :: b6989586621680486587). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487598Sym2 a6989586621680487596 a6989586621680487595)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680487580Sym0
instance forall a6989586621680486583 b6989586621680486584 (t6989586621680486579 :: * -> *) (a6989586621680487577 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487580Sym1 a6989586621680487577)
instance forall a6989586621680486583 b6989586621680486584 (t6989586621680486579 :: * -> *) (a6989586621680487578 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)) (a6989586621680487577 :: b6989586621680486584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487580Sym2 a6989586621680487578 a6989586621680487577)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487563Sym0
instance forall a6989586621680486582 m6989586621680486581 (t6989586621680486579 :: * -> *) (a6989586621680487561 :: a6989586621680486582 Data.Singletons.Internal.~> m6989586621680486581). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487563Sym1 a6989586621680487561)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486947Scrutinee_6989586621680486838Sym0
instance forall a6989586621680486582 (t6989586621680486579 :: * -> *) (p6989586621680486945 :: a6989586621680486582 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486947Scrutinee_6989586621680486838Sym1 p6989586621680486945)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FindSym0
instance forall a6989586621680486488 (t6989586621680486487 :: * -> *) (a6989586621680486941 :: a6989586621680486488 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FindSym1 a6989586621680486941)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487032Scrutinee_6989586621680486832Sym0
instance forall a6989586621680486582 (t6989586621680486579 :: * -> *) (p6989586621680487030 :: a6989586621680486582 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487032Scrutinee_6989586621680486832Sym1 p6989586621680487030)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.AllSym0
instance forall a6989586621680486496 (t6989586621680486495 :: * -> *) (a6989586621680487026 :: a6989586621680486496 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.AllSym1 a6989586621680487026)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487045Scrutinee_6989586621680486830Sym0
instance forall a6989586621680486582 (t6989586621680486579 :: * -> *) (p6989586621680487043 :: a6989586621680486582 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487045Scrutinee_6989586621680486830Sym1 p6989586621680487043)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487055Scrutinee_6989586621680486828Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.OrSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487064Scrutinee_6989586621680486826Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.AndSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487291Scrutinee_6989586621680486791Sym0
instance forall a6989586621680486582 a k (t6989586621680486579 :: * -> *) (f6989586621680487288 :: a6989586621680486582 Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> a)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487291Scrutinee_6989586621680486791Sym1 f6989586621680487288)
instance forall a6989586621680486582 a k (t6989586621680486579 :: * -> *) (z6989586621680487289 :: a6989586621680486582 Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> a)) (f6989586621680487288 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487291Scrutinee_6989586621680486791Sym2 z6989586621680487289 f6989586621680487288)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487346Scrutinee_6989586621680486794Sym0
instance forall a a6989586621680486582 k (t6989586621680486579 :: * -> *) (f6989586621680487343 :: a Data.Singletons.Internal.~> (a6989586621680486582 Data.Singletons.Internal.~> a)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487346Scrutinee_6989586621680486794Sym1 f6989586621680487343)
instance forall a a6989586621680486582 k (t6989586621680486579 :: * -> *) (z6989586621680487344 :: a Data.Singletons.Internal.~> (a6989586621680486582 Data.Singletons.Internal.~> a)) (f6989586621680487343 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487346Scrutinee_6989586621680486794Sym2 z6989586621680487344 f6989586621680487343)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487511Scrutinee_6989586621680486814Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487524Scrutinee_6989586621680486817Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487537Scrutinee_6989586621680486820Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487550Scrutinee_6989586621680486823Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ConcatMapSym0
instance forall a6989586621680486502 b6989586621680486503 (t6989586621680486501 :: * -> *) (a6989586621680487070 :: a6989586621680486502 Data.Singletons.Internal.~> [b6989586621680486503]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.ConcatMapSym1 a6989586621680487070)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680487076Sym0
instance forall k1 (t6989586621680486579 :: * -> *) a6989586621680486583 k (f6989586621680487074 :: k1 Data.Singletons.Internal.~> t6989586621680486579 a6989586621680486583). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487076Sym1 f6989586621680487074)
instance forall k1 (t6989586621680486579 :: * -> *) a6989586621680486583 k (xs6989586621680487075 :: k1 Data.Singletons.Internal.~> t6989586621680486579 a6989586621680486583) (f6989586621680487074 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487076Sym2 xs6989586621680487075 f6989586621680487074)
instance forall k1 (t6989586621680486579 :: * -> *) a6989586621680486583 k (t6989586621680487080 :: k1 Data.Singletons.Internal.~> t6989586621680486579 a6989586621680486583) (xs6989586621680487075 :: k) (f6989586621680487074 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487076Sym3 t6989586621680487080 xs6989586621680487075 f6989586621680487074)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ConcatSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680487089Sym0
instance forall k (t6989586621680486579 :: * -> *) a6989586621680486583 (xs6989586621680487088 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487089Sym1 xs6989586621680487088)
instance forall k (t6989586621680486579 :: * -> *) a6989586621680486583 (t6989586621680487093 :: k) (xs6989586621680487088 :: t6989586621680486579 a6989586621680486583). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487089Sym2 t6989586621680487093 xs6989586621680487088)
instance forall (t6989586621680486506 :: * -> *) k (m6989586621680486507 :: k -> *) (a6989586621680486508 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MsumSym0
instance forall (t6989586621680486509 :: * -> *) k (f6989586621680486510 :: k -> *) (a6989586621680486511 :: 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 (t6989586621680486518 :: * -> *) a6989586621680486520 (m6989586621680486519 :: * -> *) b6989586621680486521 (a6989586621680487122 :: t6989586621680486518 a6989586621680486520). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.ForM_Sym1 a6989586621680487122)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MapM_Sym0
instance forall a6989586621680486524 (m6989586621680486523 :: * -> *) b6989586621680486525 (t6989586621680486522 :: * -> *) (a6989586621680487128 :: a6989586621680486524 Data.Singletons.Internal.~> m6989586621680486523 b6989586621680486525). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.MapM_Sym1 a6989586621680487128)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.For_Sym0
instance forall (t6989586621680486526 :: * -> *) a6989586621680486528 (f6989586621680486527 :: * -> *) b6989586621680486529 (a6989586621680487140 :: t6989586621680486526 a6989586621680486528). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.For_Sym1 a6989586621680487140)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Traverse_Sym0
instance forall a6989586621680486532 (f6989586621680486531 :: * -> *) b6989586621680486533 (t6989586621680486530 :: * -> *) (a6989586621680487146 :: a6989586621680486532 Data.Singletons.Internal.~> f6989586621680486531 b6989586621680486533). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Traverse_Sym1 a6989586621680487146)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldlMSym0
instance forall b6989586621680486536 a6989586621680486537 (m6989586621680486535 :: * -> *) (t6989586621680486534 :: * -> *) (a6989586621680487154 :: b6989586621680486536 Data.Singletons.Internal.~> (a6989586621680486537 Data.Singletons.Internal.~> m6989586621680486535 b6989586621680486536)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlMSym1 a6989586621680487154)
instance forall b6989586621680486536 a6989586621680486537 (m6989586621680486535 :: * -> *) (t6989586621680486534 :: * -> *) (a6989586621680487155 :: b6989586621680486536 Data.Singletons.Internal.~> (a6989586621680486537 Data.Singletons.Internal.~> m6989586621680486535 b6989586621680486536)) (a6989586621680487154 :: b6989586621680486536). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlMSym2 a6989586621680487155 a6989586621680487154)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'Sym0
instance forall a6989586621680486585 b6989586621680486586 (t6989586621680486579 :: * -> *) (arg6989586621680487210 :: a6989586621680486585 Data.Singletons.Internal.~> (b6989586621680486586 Data.Singletons.Internal.~> b6989586621680486586)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'Sym1 arg6989586621680487210)
instance forall a6989586621680486585 b6989586621680486586 (t6989586621680486579 :: * -> *) (arg6989586621680487211 :: a6989586621680486585 Data.Singletons.Internal.~> (b6989586621680486586 Data.Singletons.Internal.~> b6989586621680486586)) (arg6989586621680487210 :: b6989586621680486586). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'Sym2 arg6989586621680487211 arg6989586621680487210)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldrMSym0
instance forall a6989586621680486540 b6989586621680486541 (m6989586621680486539 :: * -> *) (t6989586621680486538 :: * -> *) (a6989586621680487176 :: a6989586621680486540 Data.Singletons.Internal.~> (b6989586621680486541 Data.Singletons.Internal.~> m6989586621680486539 b6989586621680486541)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrMSym1 a6989586621680487176)
instance forall a6989586621680486540 b6989586621680486541 (m6989586621680486539 :: * -> *) (t6989586621680486538 :: * -> *) (a6989586621680487177 :: a6989586621680486540 Data.Singletons.Internal.~> (b6989586621680486541 Data.Singletons.Internal.~> m6989586621680486539 b6989586621680486541)) (a6989586621680487176 :: b6989586621680486541). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrMSym2 a6989586621680487177 a6989586621680487176)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1Sym0
instance forall a6989586621680486591 (t6989586621680486579 :: * -> *) (arg6989586621680487228 :: a6989586621680486591 Data.Singletons.Internal.~> (a6989586621680486591 Data.Singletons.Internal.~> a6989586621680486591)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1Sym1 arg6989586621680487228)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MinimumBySym0
instance forall a6989586621680486492 (t6989586621680486491 :: * -> *) (a6989586621680486976 :: a6989586621680486492 Data.Singletons.Internal.~> (a6989586621680486492 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.MinimumBySym1 a6989586621680486976)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MaximumBySym0
instance forall a6989586621680486494 (t6989586621680486493 :: * -> *) (a6989586621680487001 :: a6989586621680486494 Data.Singletons.Internal.~> (a6989586621680486494 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.MaximumBySym1 a6989586621680487001)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1Sym0
instance forall a6989586621680486592 (t6989586621680486579 :: * -> *) (arg6989586621680487232 :: a6989586621680486592 Data.Singletons.Internal.~> (a6989586621680486592 Data.Singletons.Internal.~> a6989586621680486592)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1Sym1 arg6989586621680487232)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToListSym0
instance forall k (t6989586621680486579 :: k -> *) (a6989586621680486594 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.NullSym0
instance forall k (t6989586621680486579 :: k -> *) (a6989586621680486595 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.LengthSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.NotElemSym0
instance forall a6989586621680486490 (t6989586621680486489 :: * -> *) (a6989586621680486968 :: a6989586621680486490). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.NotElemSym1 a6989586621680486968)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ElemSym0
instance forall a6989586621680486596 (t6989586621680486579 :: * -> *) (arg6989586621680487242 :: a6989586621680486596). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.ElemSym1 arg6989586621680487242)
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 a6989586621680486498 (t6989586621680486497 :: * -> *) (a6989586621680487039 :: a6989586621680486498 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.AnySym1 a6989586621680487039)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.AnySym0
instance forall a6989586621680486582 m6989586621680486581 (t6989586621680486579 :: * -> *) (arg6989586621680487200 :: a6989586621680486582 Data.Singletons.Internal.~> m6989586621680486581). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMapSym1 arg6989586621680487200)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMapSym0
instance forall a6989586621680486583 b6989586621680486584 (t6989586621680486579 :: * -> *) (arg6989586621680487205 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)) (arg6989586621680487204 :: b6989586621680486584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrSym2 arg6989586621680487205 arg6989586621680487204)
instance forall a6989586621680486583 b6989586621680486584 (t6989586621680486579 :: * -> *) (arg6989586621680487204 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrSym1 arg6989586621680487204)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldrSym0
instance forall b6989586621680486587 a6989586621680486588 (t6989586621680486579 :: * -> *) (arg6989586621680487217 :: b6989586621680486587 Data.Singletons.Internal.~> (a6989586621680486588 Data.Singletons.Internal.~> b6989586621680486587)) (arg6989586621680487216 :: b6989586621680486587). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlSym2 arg6989586621680487217 arg6989586621680487216)
instance forall b6989586621680486587 a6989586621680486588 (t6989586621680486579 :: * -> *) (arg6989586621680487216 :: b6989586621680486587 Data.Singletons.Internal.~> (a6989586621680486588 Data.Singletons.Internal.~> b6989586621680486587)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlSym1 arg6989586621680487216)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldlSym0
instance forall b6989586621680486589 a6989586621680486590 (t6989586621680486579 :: * -> *) (arg6989586621680487223 :: b6989586621680486589 Data.Singletons.Internal.~> (a6989586621680486590 Data.Singletons.Internal.~> b6989586621680486589)) (arg6989586621680487222 :: b6989586621680486589). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'Sym2 arg6989586621680487223 arg6989586621680487222)
instance forall b6989586621680486589 a6989586621680486590 (t6989586621680486579 :: * -> *) (arg6989586621680487222 :: b6989586621680486589 Data.Singletons.Internal.~> (a6989586621680486590 Data.Singletons.Internal.~> b6989586621680486589)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'Sym1 arg6989586621680487222)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Fold_6989586621680487255Sym0
instance forall a6989586621680486582 m6989586621680486581 (t6989586621680486579 :: * -> *) (a6989586621680487263 :: a6989586621680486582 Data.Singletons.Internal.~> m6989586621680486581). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487265Sym1 a6989586621680487263)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680487265Sym0
instance forall a6989586621680486583 b6989586621680486584 (t6989586621680486579 :: * -> *) (a6989586621680487278 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)) (a6989586621680487277 :: b6989586621680486584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487280Sym2 a6989586621680487278 a6989586621680487277)
instance forall a6989586621680486583 b6989586621680486584 (t6989586621680486579 :: * -> *) (a6989586621680487277 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680487280Sym1 a6989586621680487277)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680487280Sym0
instance forall a6989586621680486585 b6989586621680486586 (t6989586621680486579 :: * -> *) (a6989586621680487303 :: a6989586621680486585 Data.Singletons.Internal.~> (b6989586621680486586 Data.Singletons.Internal.~> b6989586621680486586)) (a6989586621680487302 :: b6989586621680486586). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680487305Sym2 a6989586621680487303 a6989586621680487302)
instance forall a6989586621680486585 b6989586621680486586 (t6989586621680486579 :: * -> *) (a6989586621680487302 :: a6989586621680486585 Data.Singletons.Internal.~> (b6989586621680486586 Data.Singletons.Internal.~> b6989586621680486586)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680487305Sym1 a6989586621680487302)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680487305Sym0
instance forall b6989586621680486587 a6989586621680486588 (t6989586621680486579 :: * -> *) (a6989586621680487333 :: b6989586621680486587 Data.Singletons.Internal.~> (a6989586621680486588 Data.Singletons.Internal.~> b6989586621680486587)) (a6989586621680487332 :: b6989586621680486587). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487335Sym2 a6989586621680487333 a6989586621680487332)
instance forall b6989586621680486587 a6989586621680486588 (t6989586621680486579 :: * -> *) (a6989586621680487332 :: b6989586621680486587 Data.Singletons.Internal.~> (a6989586621680486588 Data.Singletons.Internal.~> b6989586621680486587)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680487335Sym1 a6989586621680487332)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680487335Sym0
instance forall b6989586621680486589 a6989586621680486590 (t6989586621680486579 :: * -> *) (a6989586621680487358 :: b6989586621680486589 Data.Singletons.Internal.~> (a6989586621680486590 Data.Singletons.Internal.~> b6989586621680486589)) (a6989586621680487357 :: b6989586621680486589). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487360Sym2 a6989586621680487358 a6989586621680487357)
instance forall b6989586621680486589 a6989586621680486590 (t6989586621680486579 :: * -> *) (a6989586621680487357 :: b6989586621680486589 Data.Singletons.Internal.~> (a6989586621680486590 Data.Singletons.Internal.~> b6989586621680486589)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487360Sym1 a6989586621680487357)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680487360Sym0
instance forall a6989586621680486591 (t6989586621680486579 :: * -> *) (a6989586621680487387 :: a6989586621680486591 Data.Singletons.Internal.~> (a6989586621680486591 Data.Singletons.Internal.~> a6989586621680486591)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487389Sym1 a6989586621680487387)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680487389Sym0
instance forall a6989586621680486592 (t6989586621680486579 :: * -> *) (a6989586621680487412 :: a6989586621680486592 Data.Singletons.Internal.~> (a6989586621680486592 Data.Singletons.Internal.~> a6989586621680486592)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487414Sym1 a6989586621680487412)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680487414Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680487438Sym0
instance forall k (t6989586621680486579 :: k -> *) (a6989586621680486594 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680487447Sym0
instance forall k (t6989586621680486579 :: k -> *) (a6989586621680486595 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680487468Sym0
instance forall a6989586621680486596 (t6989586621680486579 :: * -> *) (a6989586621680487489 :: a6989586621680486596). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680487491Sym1 a6989586621680487489)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680487491Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680487506Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680487519Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680487532Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680487545Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680487475Sym0
instance forall k1 k2 k3 (a_69895866216804874706989586621680487474 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487475Sym1 a_69895866216804874706989586621680487474)
instance forall k1 k2 k3 (t6989586621680487483 :: k1) (a_69895866216804874706989586621680487474 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487475Sym2 t6989586621680487483 a_69895866216804874706989586621680487474)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680487454Sym0
instance forall k1 k2 k3 (a_69895866216804874496989586621680487453 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487454Sym1 a_69895866216804874496989586621680487453)
instance forall k1 k2 k3 (t6989586621680487461 :: k1) (a_69895866216804874496989586621680487453 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680487454Sym2 t6989586621680487461 a_69895866216804874496989586621680487453)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487422MfSym0
instance forall k2 k3 k (f6989586621680487420 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487422MfSym1 f6989586621680487420)
instance forall k2 k3 k (xs6989586621680487421 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (f6989586621680487420 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487422MfSym2 xs6989586621680487421 f6989586621680487420)
instance forall k2 k3 k (a6989586621680487423 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (xs6989586621680487421 :: k) (f6989586621680487420 :: GHC.Maybe.Maybe k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487422MfSym3 a6989586621680487423 xs6989586621680487421 f6989586621680487420)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487397MfSym0
instance forall k2 k3 k (f6989586621680487395 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487397MfSym1 f6989586621680487395)
instance forall k2 k3 k (xs6989586621680487396 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k2)) (f6989586621680487395 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487397MfSym2 xs6989586621680487396 f6989586621680487395)
instance forall k2 k3 k (a6989586621680487398 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k2)) (xs6989586621680487396 :: k) (f6989586621680487395 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487397MfSym3 a6989586621680487398 xs6989586621680487396 f6989586621680487395)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487371F'Sym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680487368 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487371F'Sym1 f6989586621680487368)
instance forall k2 k3 k4 k5 k6 k7 (z06989586621680487369 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (f6989586621680487368 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487371F'Sym2 z06989586621680487369 f6989586621680487368)
instance forall k2 k3 k4 k5 k6 k7 (xs6989586621680487370 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (z06989586621680487369 :: k5) (f6989586621680487368 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487371F'Sym3 xs6989586621680487370 z06989586621680487369 f6989586621680487368)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680487372 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (xs6989586621680487370 :: k5) (z06989586621680487369 :: k6) (f6989586621680487368 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487371F'Sym4 a6989586621680487372 xs6989586621680487370 z06989586621680487369 f6989586621680487368)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680487373 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (a6989586621680487372 :: k5) (xs6989586621680487370 :: k6) (z06989586621680487369 :: k3) (f6989586621680487368 :: k4 Data.Singletons.Internal.~> k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487371F'Sym5 a6989586621680487373 a6989586621680487372 xs6989586621680487370 z06989586621680487369 f6989586621680487368)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487316F'Sym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680487313 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487316F'Sym1 f6989586621680487313)
instance forall k2 k3 k4 k5 k6 k7 (z06989586621680487314 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (f6989586621680487313 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487316F'Sym2 z06989586621680487314 f6989586621680487313)
instance forall k2 k3 k4 k5 k6 k7 (xs6989586621680487315 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (z06989586621680487314 :: k5) (f6989586621680487313 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487316F'Sym3 xs6989586621680487315 z06989586621680487314 f6989586621680487313)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680487317 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (xs6989586621680487315 :: k5) (z06989586621680487314 :: k6) (f6989586621680487313 :: k4 Data.Singletons.Internal.~> k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487316F'Sym4 a6989586621680487317 xs6989586621680487315 z06989586621680487314 f6989586621680487313)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680487318 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (a6989586621680487317 :: k5) (xs6989586621680487315 :: k6) (z06989586621680487314 :: k4 Data.Singletons.Internal.~> k7) (f6989586621680487313 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487316F'Sym5 a6989586621680487318 a6989586621680487317 xs6989586621680487315 z06989586621680487314 f6989586621680487313)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487185F'Sym0
instance forall k2 k3 (m6989586621679566925 :: * -> *) a6989586621679566926 k4 k5 b6989586621679566927 (f6989586621680487182 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566925 a6989586621679566926)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487185F'Sym1 f6989586621680487182)
instance forall k2 k3 (m6989586621679566925 :: * -> *) a6989586621679566926 k4 k5 b6989586621679566927 (z06989586621680487183 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566925 a6989586621679566926)) (f6989586621680487182 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487185F'Sym2 z06989586621680487183 f6989586621680487182)
instance forall k2 k3 (m6989586621679566925 :: * -> *) a6989586621679566926 k4 k5 b6989586621679566927 (xs6989586621680487184 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566925 a6989586621679566926)) (z06989586621680487183 :: k4) (f6989586621680487182 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487185F'Sym3 xs6989586621680487184 z06989586621680487183 f6989586621680487182)
instance forall k2 k3 (m6989586621679566925 :: * -> *) a6989586621679566926 k4 k5 b6989586621679566927 (a6989586621680487186 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566925 a6989586621679566926)) (xs6989586621680487184 :: k4) (z06989586621680487183 :: k5) (f6989586621680487182 :: a6989586621679566926 Data.Singletons.Internal.~> m6989586621679566925 b6989586621679566927). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487185F'Sym4 a6989586621680487186 xs6989586621680487184 z06989586621680487183 f6989586621680487182)
instance forall k2 k3 (m6989586621679566925 :: * -> *) a6989586621679566926 k4 k5 b6989586621679566927 (a6989586621680487187 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566925 a6989586621679566926)) (a6989586621680487186 :: k4) (xs6989586621680487184 :: k5) (z06989586621680487183 :: a6989586621679566926 Data.Singletons.Internal.~> m6989586621679566925 b6989586621679566927) (f6989586621680487182 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487185F'Sym5 a6989586621680487187 a6989586621680487186 xs6989586621680487184 z06989586621680487183 f6989586621680487182)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487163F'Sym0
instance forall k2 k3 (m6989586621679566925 :: * -> *) a6989586621679566926 k4 k5 b6989586621679566927 (f6989586621680487160 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566925 a6989586621679566926)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487163F'Sym1 f6989586621680487160)
instance forall k2 k3 (m6989586621679566925 :: * -> *) a6989586621679566926 k4 k5 b6989586621679566927 (z06989586621680487161 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566925 a6989586621679566926)) (f6989586621680487160 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487163F'Sym2 z06989586621680487161 f6989586621680487160)
instance forall k2 k3 (m6989586621679566925 :: * -> *) a6989586621679566926 k4 k5 b6989586621679566927 (xs6989586621680487162 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566925 a6989586621679566926)) (z06989586621680487161 :: k4) (f6989586621680487160 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487163F'Sym3 xs6989586621680487162 z06989586621680487161 f6989586621680487160)
instance forall k2 k3 (m6989586621679566925 :: * -> *) a6989586621679566926 k4 k5 b6989586621679566927 (a6989586621680487164 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566925 a6989586621679566926)) (xs6989586621680487162 :: k4) (z06989586621680487161 :: k5) (f6989586621680487160 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487163F'Sym4 a6989586621680487164 xs6989586621680487162 z06989586621680487161 f6989586621680487160)
instance forall k2 k3 (m6989586621679566925 :: * -> *) a6989586621679566926 k4 k5 b6989586621679566927 (a6989586621680487165 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679566925 a6989586621679566926)) (a6989586621680487164 :: k4) (xs6989586621680487162 :: k5) (z06989586621680487161 :: k3) (f6989586621680487160 :: a6989586621679566926 Data.Singletons.Internal.~> m6989586621679566925 b6989586621679566927). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487163F'Sym5 a6989586621680487165 a6989586621680487164 xs6989586621680487162 z06989586621680487161 f6989586621680487160)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487009Max'Sym0
instance forall k1 k2 (cmp6989586621680487007 :: k1 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487009Max'Sym1 cmp6989586621680487007)
instance forall k1 k2 (a_69895866216804870056989586621680487008 :: k1 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> GHC.Types.Ordering)) (cmp6989586621680487007 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487009Max'Sym2 a_69895866216804870056989586621680487008 cmp6989586621680487007)
instance forall k1 k2 (a6989586621680487010 :: k1 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> GHC.Types.Ordering)) (a_69895866216804870056989586621680487008 :: k2) (cmp6989586621680487007 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487009Max'Sym3 a6989586621680487010 a_69895866216804870056989586621680487008 cmp6989586621680487007)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680487018Scrutinee_6989586621680486834Sym0
instance forall k2 k3 k4 k5 (x6989586621680487016 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487018Scrutinee_6989586621680486834Sym1 x6989586621680487016)
instance forall k2 k3 k4 k5 (y6989586621680487017 :: k2) (x6989586621680487016 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487018Scrutinee_6989586621680486834Sym2 y6989586621680487017 x6989586621680487016)
instance forall k2 k3 k4 k5 (cmp6989586621680487007 :: k2) (y6989586621680487017 :: k3) (x6989586621680487016 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680487018Scrutinee_6989586621680486834Sym3 cmp6989586621680487007 y6989586621680487017 x6989586621680487016)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486984Min'Sym0
instance forall k1 k2 (cmp6989586621680486982 :: k1 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486984Min'Sym1 cmp6989586621680486982)
instance forall k1 k2 (a_69895866216804869806989586621680486983 :: k1 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> GHC.Types.Ordering)) (cmp6989586621680486982 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486984Min'Sym2 a_69895866216804869806989586621680486983 cmp6989586621680486982)
instance forall k1 k2 (a6989586621680486985 :: k1 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> GHC.Types.Ordering)) (a_69895866216804869806989586621680486983 :: k2) (cmp6989586621680486982 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486984Min'Sym3 a6989586621680486985 a_69895866216804869806989586621680486983 cmp6989586621680486982)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486993Scrutinee_6989586621680486836Sym0
instance forall k2 k3 k4 k5 (x6989586621680486991 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486993Scrutinee_6989586621680486836Sym1 x6989586621680486991)
instance forall k2 k3 k4 k5 (y6989586621680486992 :: k2) (x6989586621680486991 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486993Scrutinee_6989586621680486836Sym2 y6989586621680486992 x6989586621680486991)
instance forall k2 k3 k4 k5 (cmp6989586621680486982 :: k2) (y6989586621680486992 :: k3) (x6989586621680486991 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486993Scrutinee_6989586621680486836Sym3 cmp6989586621680486982 y6989586621680486992 x6989586621680486991)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680486948Sym0
instance forall a6989586621679082669 k (p6989586621680486945 :: a6989586621679082669 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680486948Sym1 p6989586621680486945)
instance forall a6989586621679082669 k (y6989586621680486946 :: a6989586621679082669 Data.Singletons.Internal.~> GHC.Types.Bool) (p6989586621680486945 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680486948Sym2 y6989586621680486946 p6989586621680486945)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680486951Scrutinee_6989586621680486840Sym0
instance forall k1 k2 k3 (x6989586621680486950 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486951Scrutinee_6989586621680486840Sym1 x6989586621680486950)
instance forall k1 k2 k3 (p6989586621680486945 :: k1) (x6989586621680486950 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680486951Scrutinee_6989586621680486840Sym2 p6989586621680486945 x6989586621680486950)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Singletons.Prelude.Foldable.MinInternal a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.TFHelper_6989586621680478507Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Singletons.Prelude.Foldable.MinInternal a)
instance forall a6989586621680478450 (a6989586621680478505 :: Data.Singletons.Prelude.Foldable.MinInternal a6989586621680478450). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.TFHelper_6989586621680478507Sym1 a6989586621680478505)
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.Let6989586621680478522Scrutinee_6989586621680478460Sym0
instance forall k1 (x6989586621680478515 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680478522Scrutinee_6989586621680478460Sym1 x6989586621680478515)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680478517MSym0
instance forall k1 k (x6989586621680478515 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680478517MSym1 x6989586621680478515)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680478517NSym0
instance forall k k1 (x6989586621680478515 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680478517NSym1 x6989586621680478515)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Singletons.Prelude.Foldable.MaxInternal a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.TFHelper_6989586621680478480Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Singletons.Prelude.Foldable.MaxInternal a)
instance forall a6989586621680478442 (a6989586621680478478 :: Data.Singletons.Prelude.Foldable.MaxInternal a6989586621680478442). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.TFHelper_6989586621680478480Sym1 a6989586621680478478)
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.Let6989586621680478495Scrutinee_6989586621680478458Sym0
instance forall k1 (x6989586621680478488 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680478495Scrutinee_6989586621680478458Sym1 x6989586621680478488)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680478490MSym0
instance forall k1 k (x6989586621680478488 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680478490MSym1 x6989586621680478488)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680478490NSym0
instance forall k k1 (x6989586621680478488 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680478490NSym1 x6989586621680478488)
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_6989586621680477042Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Singletons.Prelude.Foldable.Endo a)
instance forall a6989586621680477028 (a6989586621680477040 :: Data.Singletons.Prelude.Foldable.Endo a6989586621680477028). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.TFHelper_6989586621680477042Sym1 a6989586621680477040)
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_aiXh. Identity a_aiXh -> Type
[SIdentity] :: forall a_aiXh (n_a1gsC :: a_aiXh). () => {sRunIdentity :: Sing (n_a1gsC :: a_aiXh)} -> SIdentity ('Identity n_a1gsC)
type family RunIdentity (a_a1gsx :: Identity (a_aiXh :: Type)) :: a_aiXh
data IdentitySym0 :: forall (a6989586621679082659 :: Type). (~>) a6989586621679082659 (Identity (a6989586621679082659 :: Type))
type IdentitySym1 (t6989586621679311396 :: a6989586621679082659) = 'Identity t6989586621679311396
data RunIdentitySym0 :: forall (a6989586621679082659 :: Type). (~>) (Identity (a6989586621679082659 :: Type)) a6989586621679082659
type RunIdentitySym1 (a6989586621679311393 :: Identity (a6989586621679082659 :: Type)) = RunIdentity a6989586621679311393
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680719887Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Functor.Identity.Identity
instance forall a6989586621679566926 b6989586621679566927 (a6989586621680719885 :: Data.Functor.Identity.Identity a6989586621679566926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680719887Sym1 a6989586621680719885)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.LiftA2_6989586621680719871Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Functor.Identity.Identity
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 (a6989586621680719868 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.LiftA2_6989586621680719871Sym1 a6989586621680719868)
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 (a6989586621680719869 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)) (a6989586621680719868 :: Data.Functor.Identity.Identity a6989586621679566905). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.LiftA2_6989586621680719871Sym2 a6989586621680719869 a6989586621680719868)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680719858Sym0
instance forall a6989586621679566903 b6989586621679566904 (a6989586621680719856 :: Data.Functor.Identity.Identity (a6989586621679566903 Data.Singletons.Internal.~> b6989586621679566904)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680719858Sym1 a6989586621680719856)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Pure_6989586621680719848Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.ToList_6989586621680719841Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Functor.Identity.Identity
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Sum_6989586621680719834Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Product_6989586621680719827Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Null_6989586621680719821Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Minimum_6989586621680719814Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Maximum_6989586621680719807Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Length_6989586621680719801Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldr1_6989586621680719791Sym0
instance forall a6989586621680486591 (a6989586621680719789 :: a6989586621680486591 Data.Singletons.Internal.~> (a6989586621680486591 Data.Singletons.Internal.~> a6989586621680486591)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr1_6989586621680719791Sym1 a6989586621680719789)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldr'_6989586621680719769Sym0
instance forall a6989586621680486585 b6989586621680486586 (a6989586621680719766 :: a6989586621680486585 Data.Singletons.Internal.~> (b6989586621680486586 Data.Singletons.Internal.~> b6989586621680486586)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr'_6989586621680719769Sym1 a6989586621680719766)
instance forall a6989586621680486585 b6989586621680486586 (a6989586621680719767 :: a6989586621680486585 Data.Singletons.Internal.~> (b6989586621680486586 Data.Singletons.Internal.~> b6989586621680486586)) (a6989586621680719766 :: b6989586621680486586). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr'_6989586621680719769Sym2 a6989586621680719767 a6989586621680719766)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldr_6989586621680719752Sym0
instance forall a6989586621680486583 b6989586621680486584 (a6989586621680719749 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr_6989586621680719752Sym1 a6989586621680719749)
instance forall a6989586621680486583 b6989586621680486584 (a6989586621680719750 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)) (a6989586621680719749 :: b6989586621680486584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr_6989586621680719752Sym2 a6989586621680719750 a6989586621680719749)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldl1_6989586621680719740Sym0
instance forall a6989586621680486592 (a6989586621680719738 :: a6989586621680486592 Data.Singletons.Internal.~> (a6989586621680486592 Data.Singletons.Internal.~> a6989586621680486592)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl1_6989586621680719740Sym1 a6989586621680719738)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldl'_6989586621680719724Sym0
instance forall b6989586621680486589 a6989586621680486590 (a6989586621680719721 :: b6989586621680486589 Data.Singletons.Internal.~> (a6989586621680486590 Data.Singletons.Internal.~> b6989586621680486589)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl'_6989586621680719724Sym1 a6989586621680719721)
instance forall b6989586621680486589 a6989586621680486590 (a6989586621680719722 :: b6989586621680486589 Data.Singletons.Internal.~> (a6989586621680486590 Data.Singletons.Internal.~> b6989586621680486589)) (a6989586621680719721 :: b6989586621680486589). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl'_6989586621680719724Sym2 a6989586621680719722 a6989586621680719721)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldl_6989586621680719707Sym0
instance forall b6989586621680486587 a6989586621680486588 (a6989586621680719704 :: b6989586621680486587 Data.Singletons.Internal.~> (a6989586621680486588 Data.Singletons.Internal.~> b6989586621680486587)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl_6989586621680719707Sym1 a6989586621680719704)
instance forall b6989586621680486587 a6989586621680486588 (a6989586621680719705 :: b6989586621680486587 Data.Singletons.Internal.~> (a6989586621680486588 Data.Singletons.Internal.~> b6989586621680486587)) (a6989586621680719704 :: b6989586621680486587). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl_6989586621680719707Sym2 a6989586621680719705 a6989586621680719704)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Elem_6989586621680719694Sym0
instance forall a6989586621680486596 (a6989586621680719692 :: a6989586621680486596). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Elem_6989586621680719694Sym1 a6989586621680719692)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.FoldMap_6989586621680719682Sym0
instance forall a6989586621680486582 m6989586621680486581 (a6989586621680719680 :: a6989586621680486582 Data.Singletons.Internal.~> m6989586621680486581). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.FoldMap_6989586621680719682Sym1 a6989586621680719680)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680719663Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Functor.Identity.Identity
instance forall a6989586621679566899 b6989586621679566900 (a6989586621680719661 :: a6989586621679566899). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680719663Sym1 a6989586621680719661)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Lambda_6989586621680719671Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Functor.Identity.Identity
instance forall k1 k2 k3 (_z_69895866216807194876989586621680719669 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Lambda_6989586621680719671Sym1 _z_69895866216807194876989586621680719669)
instance forall k1 k2 k3 (a_69895866216807194936989586621680719670 :: k1) (_z_69895866216807194876989586621680719669 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Lambda_6989586621680719671Sym2 a_69895866216807194936989586621680719670 _z_69895866216807194876989586621680719669)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Fmap_6989586621680719651Sym0
instance forall a6989586621679566897 b6989586621679566898 (a6989586621680719649 :: a6989586621679566897 Data.Singletons.Internal.~> b6989586621679566898). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Fmap_6989586621680719651Sym1 a6989586621680719649)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.ShowsPrec_6989586621680719633Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Functor.Identity.Identity a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.ShowsPrec_6989586621680719633Sym1 a6989586621680719630)
instance forall a6989586621680719134 (a6989586621680719631 :: GHC.Types.Nat) (a6989586621680719630 :: Data.Functor.Identity.Identity a6989586621680719134). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.ShowsPrec_6989586621680719633Sym2 a6989586621680719631 a6989586621680719630)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680719620Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Functor.Identity.Identity a)
instance forall a6989586621680719131 (a6989586621680719618 :: Data.Functor.Identity.Identity a6989586621680719131). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680719620Sym1 a6989586621680719618)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.FromInteger_6989586621680719612Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Functor.Identity.Identity a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Signum_6989586621680719605Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Abs_6989586621680719598Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Negate_6989586621680719591Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680719580Sym0
instance forall a6989586621680719120 (a6989586621680719578 :: Data.Functor.Identity.Identity a6989586621680719120). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680719580Sym1 a6989586621680719578)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680719568Sym0
instance forall a6989586621680719120 (a6989586621680719566 :: Data.Functor.Identity.Identity a6989586621680719120). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680719568Sym1 a6989586621680719566)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680719556Sym0
instance forall a6989586621680719120 (a6989586621680719554 :: Data.Functor.Identity.Identity a6989586621680719120). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680719556Sym1 a6989586621680719554)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Functor.Identity.Identity a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.EnumFromThenTo_6989586621680719538Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Functor.Identity.Identity a)
instance forall a6989586621680719109 (a6989586621680719535 :: Data.Functor.Identity.Identity a6989586621680719109). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.EnumFromThenTo_6989586621680719538Sym1 a6989586621680719535)
instance forall a6989586621680719109 (a6989586621680719536 :: Data.Functor.Identity.Identity a6989586621680719109) (a6989586621680719535 :: Data.Functor.Identity.Identity a6989586621680719109). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.EnumFromThenTo_6989586621680719538Sym2 a6989586621680719536 a6989586621680719535)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.EnumFromTo_6989586621680719525Sym0
instance forall a6989586621680719109 (a6989586621680719523 :: Data.Functor.Identity.Identity a6989586621680719109). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.EnumFromTo_6989586621680719525Sym1 a6989586621680719523)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.FromEnum_6989586621680719517Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.ToEnum_6989586621680719510Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Pred_6989586621680719503Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Succ_6989586621680719496Sym0
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_a7jWM :: Const a_a7jWK b_a7jWL) :: a_a7jWK
data ConstSym0 :: forall (a6989586621679090110 :: Type) k6989586621679090109 (b6989586621679090111 :: k6989586621679090109). (~>) a6989586621679090110 (Const (a6989586621679090110 :: Type) (b6989586621679090111 :: k6989586621679090109))
type ConstSym1 (t6989586621680754498 :: a6989586621679090110) = 'Const t6989586621680754498
data GetConstSym0 :: forall a6989586621680754766 b6989586621680754767. (~>) (Const a6989586621680754766 b6989586621680754767) a6989586621680754766
type GetConstSym1 (x6989586621680754768 :: Const a6989586621680754766 b6989586621680754767) = GetConst x6989586621680754768
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_6989586621680756803Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative (Data.Functor.Const.Const m)
instance forall m6989586621680756161 a6989586621679566903 b6989586621679566904 (a6989586621680756801 :: Data.Functor.Const.Const m6989586621680756161 (a6989586621679566903 Data.Singletons.Internal.~> b6989586621679566904)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680756803Sym1 a6989586621680756801)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.LiftA2_6989586621680756788Sym0
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 m6989586621680756161 (a6989586621680756785 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.LiftA2_6989586621680756788Sym1 a6989586621680756785)
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 m6989586621680756161 (a6989586621680756786 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)) (a6989586621680756785 :: Data.Functor.Const.Const m6989586621680756161 a6989586621679566905). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.LiftA2_6989586621680756788Sym2 a6989586621680756786 a6989586621680756785)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Pure_6989586621680756780Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Foldr_6989586621680756754Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable (Data.Functor.Const.Const m)
instance forall a6989586621680486583 b6989586621680486584 m6989586621680756160 (a6989586621680756751 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Foldr_6989586621680756754Sym1 a6989586621680756751)
instance forall a6989586621680486583 b6989586621680486584 m6989586621680756160 (a6989586621680756752 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)) (a6989586621680756751 :: b6989586621680486584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Foldr_6989586621680756754Sym2 a6989586621680756752 a6989586621680756751)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680756765Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable (Data.Functor.Const.Const m)
instance forall k1 k2 k3 k4 k5 (_f_69895866216807565106989586621680756762 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756765Sym1 _f_69895866216807565106989586621680756762)
instance forall k1 k2 k3 k4 k5 (_z_69895866216807565126989586621680756763 :: k1) (_f_69895866216807565106989586621680756762 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756765Sym2 _z_69895866216807565126989586621680756763 _f_69895866216807565106989586621680756762)
instance forall k1 k2 k3 k4 k5 (a_69895866216807565226989586621680756764 :: k1) (_z_69895866216807565126989586621680756763 :: k2) (_f_69895866216807565106989586621680756762 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756765Sym3 a_69895866216807565226989586621680756764 _z_69895866216807565126989586621680756763 _f_69895866216807565106989586621680756762)
instance forall k1 k2 k3 k4 k5 (t6989586621680756769 :: k1) (a_69895866216807565226989586621680756764 :: k2) (_z_69895866216807565126989586621680756763 :: k3) (_f_69895866216807565106989586621680756762 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756765Sym4 t6989586621680756769 a_69895866216807565226989586621680756764 _z_69895866216807565126989586621680756763 _f_69895866216807565106989586621680756762)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.FoldMap_6989586621680756734Sym0
instance forall a6989586621680486582 m6989586621680486581 m6989586621680756160 (a6989586621680756732 :: a6989586621680486582 Data.Singletons.Internal.~> m6989586621680486581). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.FoldMap_6989586621680756734Sym1 a6989586621680756732)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680756742Sym0
instance forall k1 k2 k3 k4 (_f_69895866216807565106989586621680756740 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756742Sym1 _f_69895866216807565106989586621680756740)
instance forall k1 k2 k3 k4 (a_69895866216807565166989586621680756741 :: k1) (_f_69895866216807565106989586621680756740 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756742Sym2 a_69895866216807565166989586621680756741 _f_69895866216807565106989586621680756740)
instance forall a6989586621679566899 k m6989586621680756159 (b6989586621679566900 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680756715Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Functor.Const.Const m)
instance forall a6989586621679566899 k m6989586621680756159 (b6989586621679566900 :: k) (a6989586621680756713 :: a6989586621679566899). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680756715Sym1 a6989586621680756713)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680756723Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Functor.Const.Const m)
instance forall k1 k2 k3 (_z_69895866216807564916989586621680756721 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756723Sym1 _z_69895866216807564916989586621680756721)
instance forall k1 k2 k3 (a_69895866216807564996989586621680756722 :: k1) (_z_69895866216807564916989586621680756721 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756723Sym2 a_69895866216807564996989586621680756722 _z_69895866216807564916989586621680756721)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Fmap_6989586621680756696Sym0
instance forall a6989586621679566897 b6989586621679566898 m6989586621680756159 (a6989586621680756694 :: a6989586621679566897 Data.Singletons.Internal.~> b6989586621679566898). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Fmap_6989586621680756696Sym1 a6989586621680756694)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680756704Sym0
instance forall k1 k2 k3 (_f_69895866216807564896989586621680756702 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756704Sym1 _f_69895866216807564896989586621680756702)
instance forall k1 k2 k3 (a_69895866216807564956989586621680756703 :: k1) (_f_69895866216807564896989586621680756702 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680756704Sym2 a_69895866216807564956989586621680756703 _f_69895866216807564896989586621680756702)
instance forall k a6989586621680756155 (b6989586621680756156 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.ShowsPrec_6989586621680756678Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Show.PShow (Data.Functor.Const.Const a b)
instance forall k a6989586621680756155 (b6989586621680756156 :: k) (a6989586621680756675 :: GHC.Types.Nat). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.ShowsPrec_6989586621680756678Sym1 a6989586621680756675)
instance forall k a6989586621680756155 (b6989586621680756156 :: k) (a6989586621680756676 :: GHC.Types.Nat) (a6989586621680756675 :: Data.Functor.Const.Const a6989586621680756155 b6989586621680756156). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.ShowsPrec_6989586621680756678Sym2 a6989586621680756676 a6989586621680756675)
instance forall k a6989586621680756151 (b6989586621680756152 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680756665Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Functor.Const.Const a b)
instance forall k a6989586621680756151 (b6989586621680756152 :: k) (a6989586621680756663 :: Data.Functor.Const.Const a6989586621680756151 b6989586621680756152). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680756665Sym1 a6989586621680756663)
instance forall k a6989586621680756139 (b6989586621680756140 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.FromInteger_6989586621680756657Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Num.PNum (Data.Functor.Const.Const a b)
instance forall k a6989586621680756139 (b6989586621680756140 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Signum_6989586621680756650Sym0
instance forall k a6989586621680756139 (b6989586621680756140 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Abs_6989586621680756643Sym0
instance forall k a6989586621680756139 (b6989586621680756140 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Negate_6989586621680756636Sym0
instance forall k a6989586621680756139 (b6989586621680756140 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680756625Sym0
instance forall k a6989586621680756139 (b6989586621680756140 :: k) (a6989586621680756623 :: Data.Functor.Const.Const a6989586621680756139 b6989586621680756140). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680756625Sym1 a6989586621680756623)
instance forall k a6989586621680756139 (b6989586621680756140 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680756613Sym0
instance forall k a6989586621680756139 (b6989586621680756140 :: k) (a6989586621680756611 :: Data.Functor.Const.Const a6989586621680756139 b6989586621680756140). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680756613Sym1 a6989586621680756611)
instance forall k a6989586621680756139 (b6989586621680756140 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680756601Sym0
instance forall k a6989586621680756139 (b6989586621680756140 :: k) (a6989586621680756599 :: Data.Functor.Const.Const a6989586621680756139 b6989586621680756140). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680756601Sym1 a6989586621680756599)
instance forall k a (b :: k). Data.Singletons.Prelude.Monoid.PMonoid (Data.Functor.Const.Const a b)
instance forall k a6989586621680756126 (b6989586621680756127 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.EnumFromThenTo_6989586621680756583Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Enum.PEnum (Data.Functor.Const.Const a b)
instance forall k a6989586621680756126 (b6989586621680756127 :: k) (a6989586621680756580 :: Data.Functor.Const.Const a6989586621680756126 b6989586621680756127). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.EnumFromThenTo_6989586621680756583Sym1 a6989586621680756580)
instance forall k a6989586621680756126 (b6989586621680756127 :: k) (a6989586621680756581 :: Data.Functor.Const.Const a6989586621680756126 b6989586621680756127) (a6989586621680756580 :: Data.Functor.Const.Const a6989586621680756126 b6989586621680756127). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.EnumFromThenTo_6989586621680756583Sym2 a6989586621680756581 a6989586621680756580)
instance forall k a6989586621680756126 (b6989586621680756127 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.EnumFromTo_6989586621680756570Sym0
instance forall k a6989586621680756126 (b6989586621680756127 :: k) (a6989586621680756568 :: Data.Functor.Const.Const a6989586621680756126 b6989586621680756127). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.EnumFromTo_6989586621680756570Sym1 a6989586621680756568)
instance forall k a6989586621680756126 (b6989586621680756127 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.FromEnum_6989586621680756562Sym0
instance forall k a6989586621680756126 (b6989586621680756127 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.ToEnum_6989586621680756555Sym0
instance forall k a6989586621680756126 (b6989586621680756127 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Pred_6989586621680756548Sym0
instance forall k a6989586621680756126 (b6989586621680756127 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Succ_6989586621680756541Sym0
instance forall k a6989586621680756124 (b6989586621680756125 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Compare_6989586621680756530Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Ord.POrd (Data.Functor.Const.Const a b)
instance forall k a6989586621680756124 (b6989586621680756125 :: k) (a6989586621680756528 :: Data.Functor.Const.Const a6989586621680756124 b6989586621680756125). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Compare_6989586621680756530Sym1 a6989586621680756528)
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 a6989586621680754766 (b6989586621680754767 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.GetConstSym0
instance forall a6989586621679090110 k6989586621679090109 (b6989586621679090111 :: k6989586621679090109). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.ConstSym0
instance forall a6989586621679090110 k6989586621679090109 (b6989586621679090111 :: k6989586621679090109). 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_a7ulY :: Type -> Type) where {
    type family Traverse (arg_a7uma :: (~>) a_a7um0 (f_a7ulZ b_a7um1)) (arg_a7umb :: t_a7ulY a_a7um0) :: f_a7ulZ (t_a7ulY b_a7um1);
    type family SequenceA (arg_a7ume :: t_a7ulY (f_a7um2 a_a7um3)) :: f_a7um2 (t_a7ulY a_a7um3);
    type family MapM (arg_a7umg :: (~>) a_a7um5 (m_a7um4 b_a7um6)) (arg_a7umh :: t_a7ulY a_a7um5) :: m_a7um4 (t_a7ulY b_a7um6);
    type family Sequence (arg_a7umk :: t_a7ulY (m_a7um7 a_a7um8)) :: m_a7um7 (t_a7ulY a_a7um8);
    type Traverse a_a7umm a_a7umn = Apply (Apply Traverse_6989586621680794796Sym0 a_a7umm) a_a7umn;
    type SequenceA a_a7umA = Apply SequenceA_6989586621680794809Sym0 a_a7umA;
    type MapM a_a7umJ a_a7umK = Apply (Apply MapM_6989586621680794819Sym0 a_a7umJ) a_a7umK;
    type Sequence a_a7umZ = Apply Sequence_6989586621680794834Sym0 a_a7umZ;
}
class (SFunctor t_a7ulY, SFoldable t_a7ulY) => STraversable (t_a7ulY :: Type -> Type)
sTraverse :: forall a_a7um0 f_a7ulZ b_a7um1 (t_a7un8 :: (~>) a_a7um0 (f_a7ulZ b_a7um1)) (t_a7un9 :: t_a7ulY a_a7um0). (STraversable t_a7ulY, SApplicative f_a7ulZ) => Sing t_a7un8 -> Sing t_a7un9 -> Sing (Apply (Apply TraverseSym0 t_a7un8) t_a7un9 :: f_a7ulZ (t_a7ulY b_a7um1))
sSequenceA :: forall f_a7um2 a_a7um3 (t_a7unc :: t_a7ulY (f_a7um2 a_a7um3)). (STraversable t_a7ulY, SApplicative f_a7um2) => Sing t_a7unc -> Sing (Apply SequenceASym0 t_a7unc :: f_a7um2 (t_a7ulY a_a7um3))
sMapM :: forall a_a7um5 m_a7um4 b_a7um6 (t_a7une :: (~>) a_a7um5 (m_a7um4 b_a7um6)) (t_a7unf :: t_a7ulY a_a7um5). (STraversable t_a7ulY, SMonad m_a7um4) => Sing t_a7une -> Sing t_a7unf -> Sing (Apply (Apply MapMSym0 t_a7une) t_a7unf :: m_a7um4 (t_a7ulY b_a7um6))
sSequence :: forall m_a7um7 a_a7um8 (t_a7uni :: t_a7ulY (m_a7um7 a_a7um8)). (STraversable t_a7ulY, SMonad m_a7um7) => Sing t_a7uni -> Sing (Apply SequenceSym0 t_a7uni :: m_a7um7 (t_a7ulY a_a7um8))
sTraverse :: forall a_a7um0 f_a7ulZ b_a7um1 (t_a7un8 :: (~>) a_a7um0 (f_a7ulZ b_a7um1)) (t_a7un9 :: t_a7ulY a_a7um0). (STraversable t_a7ulY, (Apply (Apply TraverseSym0 t_a7un8) t_a7un9 :: f_a7ulZ (t_a7ulY b_a7um1)) ~ Apply (Apply Traverse_6989586621680794796Sym0 t_a7un8) t_a7un9, SApplicative f_a7ulZ) => Sing t_a7un8 -> Sing t_a7un9 -> Sing (Apply (Apply TraverseSym0 t_a7un8) t_a7un9 :: f_a7ulZ (t_a7ulY b_a7um1))
sSequenceA :: forall f_a7um2 a_a7um3 (t_a7unc :: t_a7ulY (f_a7um2 a_a7um3)). (STraversable t_a7ulY, (Apply SequenceASym0 t_a7unc :: f_a7um2 (t_a7ulY a_a7um3)) ~ Apply SequenceA_6989586621680794809Sym0 t_a7unc, SApplicative f_a7um2) => Sing t_a7unc -> Sing (Apply SequenceASym0 t_a7unc :: f_a7um2 (t_a7ulY a_a7um3))
sMapM :: forall a_a7um5 m_a7um4 b_a7um6 (t_a7une :: (~>) a_a7um5 (m_a7um4 b_a7um6)) (t_a7unf :: t_a7ulY a_a7um5). (STraversable t_a7ulY, (Apply (Apply MapMSym0 t_a7une) t_a7unf :: m_a7um4 (t_a7ulY b_a7um6)) ~ Apply (Apply MapM_6989586621680794819Sym0 t_a7une) t_a7unf, SMonad m_a7um4) => Sing t_a7une -> Sing t_a7unf -> Sing (Apply (Apply MapMSym0 t_a7une) t_a7unf :: m_a7um4 (t_a7ulY b_a7um6))
sSequence :: forall m_a7um7 a_a7um8 (t_a7uni :: t_a7ulY (m_a7um7 a_a7um8)). (STraversable t_a7ulY, (Apply SequenceSym0 t_a7uni :: m_a7um7 (t_a7ulY a_a7um8)) ~ Apply Sequence_6989586621680794834Sym0 t_a7uni, SMonad m_a7um7) => Sing t_a7uni -> Sing (Apply SequenceSym0 t_a7uni :: m_a7um7 (t_a7ulY a_a7um8))
type family For (a_a7vVQ :: t_a7vNl a_a7vNn) (a_a7vVR :: (~>) a_a7vNn (f_a7vNm b_a7vNo)) :: f_a7vNm (t_a7vNl b_a7vNo)
sFor :: forall t_a7vNl a_a7vNn f_a7vNm b_a7vNo (t_a7w5d :: t_a7vNl a_a7vNn) (t_a7w5e :: (~>) a_a7vNn (f_a7vNm b_a7vNo)). (STraversable t_a7vNl, SApplicative f_a7vNm) => Sing t_a7w5d -> Sing t_a7w5e -> Sing (Apply (Apply ForSym0 t_a7w5d) t_a7w5e :: f_a7vNm (t_a7vNl b_a7vNo))
type family ForM (a_a7vVG :: t_a7vNh a_a7vNj) (a_a7vVH :: (~>) a_a7vNj (m_a7vNi b_a7vNk)) :: m_a7vNi (t_a7vNh b_a7vNk)
sForM :: forall t_a7vNh a_a7vNj m_a7vNi b_a7vNk (t_a7w59 :: t_a7vNh a_a7vNj) (t_a7w5a :: (~>) a_a7vNj (m_a7vNi b_a7vNk)). (STraversable t_a7vNh, SMonad m_a7vNi) => Sing t_a7w59 -> Sing t_a7w5a -> Sing (Apply (Apply ForMSym0 t_a7w59) t_a7w5a :: m_a7vNi (t_a7vNh b_a7vNk))
type family MapAccumL (a_a7vVl :: (~>) a_a7vNe ((~>) b_a7vNf (a_a7vNe, c_a7vNg))) (a_a7vVm :: a_a7vNe) (a_a7vVn :: t_a7vNd b_a7vNf) :: (a_a7vNe, t_a7vNd c_a7vNg)
sMapAccumL :: forall a_a7vNe b_a7vNf c_a7vNg t_a7vNd (t_a7w53 :: (~>) a_a7vNe ((~>) b_a7vNf (a_a7vNe, c_a7vNg))) (t_a7w54 :: a_a7vNe) (t_a7w55 :: t_a7vNd b_a7vNf). STraversable t_a7vNd => Sing t_a7w53 -> Sing t_a7w54 -> Sing t_a7w55 -> Sing (Apply (Apply (Apply MapAccumLSym0 t_a7w53) t_a7w54) t_a7w55 :: (a_a7vNe, t_a7vNd c_a7vNg))
type family MapAccumR (a_a7vV4 :: (~>) a_a7vNa ((~>) b_a7vNb (a_a7vNa, c_a7vNc))) (a_a7vV5 :: a_a7vNa) (a_a7vV6 :: t_a7vN9 b_a7vNb) :: (a_a7vNa, t_a7vN9 c_a7vNc)
sMapAccumR :: forall a_a7vNa b_a7vNb c_a7vNc t_a7vN9 (t_a7w4X :: (~>) a_a7vNa ((~>) b_a7vNb (a_a7vNa, c_a7vNc))) (t_a7w4Y :: a_a7vNa) (t_a7w4Z :: t_a7vN9 b_a7vNb). STraversable t_a7vN9 => Sing t_a7w4X -> Sing t_a7w4Y -> Sing t_a7w4Z -> Sing (Apply (Apply (Apply MapAccumRSym0 t_a7w4X) t_a7w4Y) t_a7w4Z :: (a_a7vNa, t_a7vN9 c_a7vNc))
type family FmapDefault (a_a7vUR :: (~>) a_a7vN7 b_a7vN8) (a_a7vUS :: t_a7vN6 a_a7vN7) :: t_a7vN6 b_a7vN8
sFmapDefault :: forall a_a7vN7 b_a7vN8 t_a7vN6 (t_a7w4T :: (~>) a_a7vN7 b_a7vN8) (t_a7w4U :: t_a7vN6 a_a7vN7). STraversable t_a7vN6 => Sing t_a7w4T -> Sing t_a7w4U -> Sing (Apply (Apply FmapDefaultSym0 t_a7w4T) t_a7w4U :: t_a7vN6 b_a7vN8)
type family FoldMapDefault (a_a7vUw :: (~>) a_a7vN5 m_a7vN4) (a_a7vUx :: t_a7vN3 a_a7vN5) :: m_a7vN4
sFoldMapDefault :: forall a_a7vN5 m_a7vN4 t_a7vN3 (t_a7w4P :: (~>) a_a7vN5 m_a7vN4) (t_a7w4Q :: t_a7vN3 a_a7vN5). (STraversable t_a7vN3, SMonoid m_a7vN4) => Sing t_a7w4P -> Sing t_a7w4Q -> Sing (Apply (Apply FoldMapDefaultSym0 t_a7w4P) t_a7w4Q :: m_a7vN4)
data TraverseSym0 :: forall a6989586621680794772 f6989586621680794771 b6989586621680794773 t6989586621680794770. (~>) ((~>) a6989586621680794772 (f6989586621680794771 b6989586621680794773)) ((~>) (t6989586621680794770 a6989586621680794772) (f6989586621680794771 (t6989586621680794770 b6989586621680794773)))
data TraverseSym1 (arg6989586621680794782 :: (~>) a6989586621680794772 (f6989586621680794771 b6989586621680794773)) :: forall t6989586621680794770. (~>) (t6989586621680794770 a6989586621680794772) (f6989586621680794771 (t6989586621680794770 b6989586621680794773))
type TraverseSym2 (arg6989586621680794782 :: (~>) a6989586621680794772 (f6989586621680794771 b6989586621680794773)) (arg6989586621680794783 :: t6989586621680794770 a6989586621680794772) = Traverse arg6989586621680794782 arg6989586621680794783
data SequenceASym0 :: forall t6989586621680794770 f6989586621680794774 a6989586621680794775. (~>) (t6989586621680794770 (f6989586621680794774 a6989586621680794775)) (f6989586621680794774 (t6989586621680794770 a6989586621680794775))
type SequenceASym1 (arg6989586621680794786 :: t6989586621680794770 (f6989586621680794774 a6989586621680794775)) = SequenceA arg6989586621680794786
data MapMSym0 :: forall a6989586621680794777 m6989586621680794776 b6989586621680794778 t6989586621680794770. (~>) ((~>) a6989586621680794777 (m6989586621680794776 b6989586621680794778)) ((~>) (t6989586621680794770 a6989586621680794777) (m6989586621680794776 (t6989586621680794770 b6989586621680794778)))
data MapMSym1 (arg6989586621680794788 :: (~>) a6989586621680794777 (m6989586621680794776 b6989586621680794778)) :: forall t6989586621680794770. (~>) (t6989586621680794770 a6989586621680794777) (m6989586621680794776 (t6989586621680794770 b6989586621680794778))
type MapMSym2 (arg6989586621680794788 :: (~>) a6989586621680794777 (m6989586621680794776 b6989586621680794778)) (arg6989586621680794789 :: t6989586621680794770 a6989586621680794777) = MapM arg6989586621680794788 arg6989586621680794789
data SequenceSym0 :: forall t6989586621680794770 m6989586621680794779 a6989586621680794780. (~>) (t6989586621680794770 (m6989586621680794779 a6989586621680794780)) (m6989586621680794779 (t6989586621680794770 a6989586621680794780))
type SequenceSym1 (arg6989586621680794792 :: t6989586621680794770 (m6989586621680794779 a6989586621680794780)) = Sequence arg6989586621680794792
data ForSym0 :: forall t6989586621680800311 a6989586621680800313 f6989586621680800312 b6989586621680800314. (~>) (t6989586621680800311 a6989586621680800313) ((~>) ((~>) a6989586621680800313 (f6989586621680800312 b6989586621680800314)) (f6989586621680800312 (t6989586621680800311 b6989586621680800314)))
data ForSym1 (a6989586621680800838 :: t6989586621680800311 a6989586621680800313) :: forall f6989586621680800312 b6989586621680800314. (~>) ((~>) a6989586621680800313 (f6989586621680800312 b6989586621680800314)) (f6989586621680800312 (t6989586621680800311 b6989586621680800314))
type ForSym2 (a6989586621680800838 :: t6989586621680800311 a6989586621680800313) (a6989586621680800839 :: (~>) a6989586621680800313 (f6989586621680800312 b6989586621680800314)) = For a6989586621680800838 a6989586621680800839
data ForMSym0 :: forall t6989586621680800307 a6989586621680800309 m6989586621680800308 b6989586621680800310. (~>) (t6989586621680800307 a6989586621680800309) ((~>) ((~>) a6989586621680800309 (m6989586621680800308 b6989586621680800310)) (m6989586621680800308 (t6989586621680800307 b6989586621680800310)))
data ForMSym1 (a6989586621680800828 :: t6989586621680800307 a6989586621680800309) :: forall m6989586621680800308 b6989586621680800310. (~>) ((~>) a6989586621680800309 (m6989586621680800308 b6989586621680800310)) (m6989586621680800308 (t6989586621680800307 b6989586621680800310))
type ForMSym2 (a6989586621680800828 :: t6989586621680800307 a6989586621680800309) (a6989586621680800829 :: (~>) a6989586621680800309 (m6989586621680800308 b6989586621680800310)) = ForM a6989586621680800828 a6989586621680800829
data MapAccumLSym0 :: forall a6989586621680800304 b6989586621680800305 c6989586621680800306 t6989586621680800303. (~>) ((~>) a6989586621680800304 ((~>) b6989586621680800305 (a6989586621680800304, c6989586621680800306))) ((~>) a6989586621680800304 ((~>) (t6989586621680800303 b6989586621680800305) (a6989586621680800304, t6989586621680800303 c6989586621680800306)))
data MapAccumLSym1 (a6989586621680800807 :: (~>) a6989586621680800304 ((~>) b6989586621680800305 (a6989586621680800304, c6989586621680800306))) :: forall t6989586621680800303. (~>) a6989586621680800304 ((~>) (t6989586621680800303 b6989586621680800305) (a6989586621680800304, t6989586621680800303 c6989586621680800306))
data MapAccumLSym2 (a6989586621680800807 :: (~>) a6989586621680800304 ((~>) b6989586621680800305 (a6989586621680800304, c6989586621680800306))) (a6989586621680800808 :: a6989586621680800304) :: forall t6989586621680800303. (~>) (t6989586621680800303 b6989586621680800305) (a6989586621680800304, t6989586621680800303 c6989586621680800306)
type MapAccumLSym3 (a6989586621680800807 :: (~>) a6989586621680800304 ((~>) b6989586621680800305 (a6989586621680800304, c6989586621680800306))) (a6989586621680800808 :: a6989586621680800304) (a6989586621680800809 :: t6989586621680800303 b6989586621680800305) = MapAccumL a6989586621680800807 a6989586621680800808 a6989586621680800809
data MapAccumRSym0 :: forall a6989586621680800300 b6989586621680800301 c6989586621680800302 t6989586621680800299. (~>) ((~>) a6989586621680800300 ((~>) b6989586621680800301 (a6989586621680800300, c6989586621680800302))) ((~>) a6989586621680800300 ((~>) (t6989586621680800299 b6989586621680800301) (a6989586621680800300, t6989586621680800299 c6989586621680800302)))
data MapAccumRSym1 (a6989586621680800790 :: (~>) a6989586621680800300 ((~>) b6989586621680800301 (a6989586621680800300, c6989586621680800302))) :: forall t6989586621680800299. (~>) a6989586621680800300 ((~>) (t6989586621680800299 b6989586621680800301) (a6989586621680800300, t6989586621680800299 c6989586621680800302))
data MapAccumRSym2 (a6989586621680800790 :: (~>) a6989586621680800300 ((~>) b6989586621680800301 (a6989586621680800300, c6989586621680800302))) (a6989586621680800791 :: a6989586621680800300) :: forall t6989586621680800299. (~>) (t6989586621680800299 b6989586621680800301) (a6989586621680800300, t6989586621680800299 c6989586621680800302)
type MapAccumRSym3 (a6989586621680800790 :: (~>) a6989586621680800300 ((~>) b6989586621680800301 (a6989586621680800300, c6989586621680800302))) (a6989586621680800791 :: a6989586621680800300) (a6989586621680800792 :: t6989586621680800299 b6989586621680800301) = MapAccumR a6989586621680800790 a6989586621680800791 a6989586621680800792
data FmapDefaultSym0 :: forall a6989586621680800297 b6989586621680800298 t6989586621680800296. (~>) ((~>) a6989586621680800297 b6989586621680800298) ((~>) (t6989586621680800296 a6989586621680800297) (t6989586621680800296 b6989586621680800298))
data FmapDefaultSym1 (a6989586621680800777 :: (~>) a6989586621680800297 b6989586621680800298) :: forall t6989586621680800296. (~>) (t6989586621680800296 a6989586621680800297) (t6989586621680800296 b6989586621680800298)
type FmapDefaultSym2 (a6989586621680800777 :: (~>) a6989586621680800297 b6989586621680800298) (a6989586621680800778 :: t6989586621680800296 a6989586621680800297) = FmapDefault a6989586621680800777 a6989586621680800778
data FoldMapDefaultSym0 :: forall a6989586621680800295 m6989586621680800294 t6989586621680800293. (~>) ((~>) a6989586621680800295 m6989586621680800294) ((~>) (t6989586621680800293 a6989586621680800295) m6989586621680800294)
data FoldMapDefaultSym1 (a6989586621680800756 :: (~>) a6989586621680800295 m6989586621680800294) :: forall t6989586621680800293. (~>) (t6989586621680800293 a6989586621680800295) m6989586621680800294
type FoldMapDefaultSym2 (a6989586621680800756 :: (~>) a6989586621680800295 m6989586621680800294) (a6989586621680800757 :: t6989586621680800293 a6989586621680800295) = FoldMapDefault a6989586621680800756 a6989586621680800757
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.LiftA2_6989586621680801320Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative (Data.Singletons.Prelude.Traversable.StateR s)
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 s6989586621680800354 (a6989586621680801317 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680801320Sym1 a6989586621680801317)
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 s6989586621680800354 (a6989586621680801318 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)) (a6989586621680801317 :: Data.Singletons.Prelude.Traversable.StateR s6989586621680800354 a6989586621679566905). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680801320Sym2 a6989586621680801318 a6989586621680801317)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680801331Sym0
instance Data.Singletons.Prelude.Monad.Internal.SApplicative (Data.Singletons.Prelude.Traversable.StateR s)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680801328 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801331Sym1 f6989586621680801328)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680801329 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (f6989586621680801328 :: k5 Data.Singletons.Internal.~> (k6, k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801331Sym2 kx6989586621680801329 f6989586621680801328)
instance forall k2 k3 k4 k5 k6 k7 (ky6989586621680801330 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (kx6989586621680801329 :: k5 Data.Singletons.Internal.~> (k6, k2)) (f6989586621680801328 :: k7 Data.Singletons.Internal.~> (k5, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801331Sym3 ky6989586621680801330 kx6989586621680801329 f6989586621680801328)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801334X_6989586621680801335Sym0
instance forall k1 k2 k3 k4 (s6989586621680801333 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801334X_6989586621680801335Sym1 s6989586621680801333)
instance forall k1 k2 k3 k4 (f6989586621680801328 :: k1) (s6989586621680801333 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801334X_6989586621680801335Sym2 f6989586621680801328 s6989586621680801333)
instance forall k1 k2 k3 k4 (kx6989586621680801329 :: k1) (f6989586621680801328 :: k2) (s6989586621680801333 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801334X_6989586621680801335Sym3 kx6989586621680801329 f6989586621680801328 s6989586621680801333)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801334YSym0
instance forall k1 k2 k3 k4 k5 (s6989586621680801333 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801334YSym1 s6989586621680801333)
instance forall k1 k2 k3 k4 k5 (f6989586621680801328 :: k1) (s6989586621680801333 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801334YSym2 f6989586621680801328 s6989586621680801333)
instance forall k1 k2 k3 k4 k5 (kx6989586621680801329 :: k1) (f6989586621680801328 :: k2) (s6989586621680801333 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801334YSym3 kx6989586621680801329 f6989586621680801328 s6989586621680801333)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801334S'Sym0
instance forall k1 k2 k3 k4 k5 (s6989586621680801333 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801334S'Sym1 s6989586621680801333)
instance forall k1 k2 k3 k4 k5 (f6989586621680801328 :: k1) (s6989586621680801333 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801334S'Sym2 f6989586621680801328 s6989586621680801333)
instance forall k1 k2 k3 k4 k5 (kx6989586621680801329 :: k1) (f6989586621680801328 :: k2) (s6989586621680801333 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801334S'Sym3 kx6989586621680801329 f6989586621680801328 s6989586621680801333)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801334X_6989586621680801341Sym0
instance forall k2 k3 k4 k5 k6 (s6989586621680801333 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801334X_6989586621680801341Sym1 s6989586621680801333)
instance forall k2 k3 k4 k5 k6 (f6989586621680801328 :: k2) (s6989586621680801333 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801334X_6989586621680801341Sym2 f6989586621680801328 s6989586621680801333)
instance forall k2 k3 k4 k5 k6 (kx6989586621680801329 :: k2) (f6989586621680801328 :: k3) (s6989586621680801333 :: k4 Data.Singletons.Internal.~> k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801334X_6989586621680801341Sym3 kx6989586621680801329 f6989586621680801328 s6989586621680801333)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801334XSym0
instance forall k2 k3 k4 k5 k6 k7 (s6989586621680801333 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801334XSym1 s6989586621680801333)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680801328 :: k2) (s6989586621680801333 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801334XSym2 f6989586621680801328 s6989586621680801333)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680801329 :: k2) (f6989586621680801328 :: k3) (s6989586621680801333 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801334XSym3 kx6989586621680801329 f6989586621680801328 s6989586621680801333)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801334S''Sym0
instance forall k2 k3 k4 k5 k6 k7 (s6989586621680801333 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801334S''Sym1 s6989586621680801333)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680801328 :: k2) (s6989586621680801333 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801334S''Sym2 f6989586621680801328 s6989586621680801333)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680801329 :: k2) (f6989586621680801328 :: k3) (s6989586621680801333 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801334S''Sym3 kx6989586621680801329 f6989586621680801328 s6989586621680801333)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.TFHelper_6989586621680801253Sym0
instance forall s6989586621680800354 a6989586621679566903 b6989586621679566904 (a6989586621680801251 :: Data.Singletons.Prelude.Traversable.StateR s6989586621680800354 (a6989586621679566903 Data.Singletons.Internal.~> b6989586621679566904)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.TFHelper_6989586621680801253Sym1 a6989586621680801251)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680801261Sym0
instance forall k2 k3 k4 k5 k6 (kf6989586621680801259 :: k2 Data.Singletons.Internal.~> (k3, k4 Data.Singletons.Internal.~> k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801261Sym1 kf6989586621680801259)
instance forall k2 k3 k4 k5 k6 (kv6989586621680801260 :: k2 Data.Singletons.Internal.~> (k3, k4 Data.Singletons.Internal.~> k5)) (kf6989586621680801259 :: k6 Data.Singletons.Internal.~> (k2, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801261Sym2 kv6989586621680801260 kf6989586621680801259)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801264X_6989586621680801265Sym0
instance forall k1 k2 k3 (s6989586621680801263 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801264X_6989586621680801265Sym1 s6989586621680801263)
instance forall k1 k2 k3 (kf6989586621680801259 :: k1) (s6989586621680801263 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801264X_6989586621680801265Sym2 kf6989586621680801259 s6989586621680801263)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801264VSym0
instance forall k1 k2 k3 k4 (s6989586621680801263 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801264VSym1 s6989586621680801263)
instance forall k1 k2 k3 k4 (kf6989586621680801259 :: k1) (s6989586621680801263 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801264VSym2 kf6989586621680801259 s6989586621680801263)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801264S'Sym0
instance forall k1 k2 k3 k4 (s6989586621680801263 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801264S'Sym1 s6989586621680801263)
instance forall k1 k2 k3 k4 (kf6989586621680801259 :: k1) (s6989586621680801263 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801264S'Sym2 kf6989586621680801259 s6989586621680801263)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801264X_6989586621680801271Sym0
instance forall k2 k3 k4 k5 (s6989586621680801263 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801264X_6989586621680801271Sym1 s6989586621680801263)
instance forall k2 k3 k4 k5 (kf6989586621680801259 :: k2) (s6989586621680801263 :: k3 Data.Singletons.Internal.~> k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801264X_6989586621680801271Sym2 kf6989586621680801259 s6989586621680801263)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801264FSym0
instance forall k2 k3 k4 k5 k6 (s6989586621680801263 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801264FSym1 s6989586621680801263)
instance forall k2 k3 k4 k5 k6 (kf6989586621680801259 :: k2) (s6989586621680801263 :: k3 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801264FSym2 kf6989586621680801259 s6989586621680801263)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801264S''Sym0
instance forall k2 k3 k4 k5 k6 (s6989586621680801263 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801264S''Sym1 s6989586621680801263)
instance forall k2 k3 k4 k5 k6 (kf6989586621680801259 :: k2) (s6989586621680801263 :: k3 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801264S''Sym2 kf6989586621680801259 s6989586621680801263)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Pure_6989586621680801239Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680801244Sym0
instance forall k2 k3 (x6989586621680801243 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801244Sym1 x6989586621680801243)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Fmap_6989586621680801197Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Singletons.Prelude.Traversable.StateR s)
instance forall a6989586621679566897 b6989586621679566898 s6989586621680800348 (a6989586621680801195 :: a6989586621679566897 Data.Singletons.Internal.~> b6989586621679566898). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Fmap_6989586621680801197Sym1 a6989586621680801195)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680801205Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Singletons.Prelude.Traversable.StateR s)
instance forall k2 k3 k4 k (f6989586621680801203 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801205Sym1 f6989586621680801203)
instance forall k2 k3 k4 k (k6989586621680801204 :: k2 Data.Singletons.Internal.~> k3) (f6989586621680801203 :: k4 Data.Singletons.Internal.~> (k, k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801205Sym2 k6989586621680801204 f6989586621680801203)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801208X_6989586621680801209Sym0
instance forall k1 k2 k3 (s6989586621680801207 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801208X_6989586621680801209Sym1 s6989586621680801207)
instance forall k1 k2 k3 (f6989586621680801203 :: k1) (s6989586621680801207 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801208X_6989586621680801209Sym2 f6989586621680801203 s6989586621680801207)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801208VSym0
instance forall k1 k2 k3 k4 (s6989586621680801207 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801208VSym1 s6989586621680801207)
instance forall k1 k2 k3 k4 (f6989586621680801203 :: k1) (s6989586621680801207 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801208VSym2 f6989586621680801203 s6989586621680801207)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801208S'Sym0
instance forall k1 k2 k3 k4 (s6989586621680801207 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801208S'Sym1 s6989586621680801207)
instance forall k1 k2 k3 k4 (f6989586621680801203 :: k1) (s6989586621680801207 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801208S'Sym2 f6989586621680801203 s6989586621680801207)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.LiftA2_6989586621680801120Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative (Data.Singletons.Prelude.Traversable.StateL s)
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 s6989586621680800330 (a6989586621680801117 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680801120Sym1 a6989586621680801117)
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 s6989586621680800330 (a6989586621680801118 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)) (a6989586621680801117 :: Data.Singletons.Prelude.Traversable.StateL s6989586621680800330 a6989586621679566905). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680801120Sym2 a6989586621680801118 a6989586621680801117)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680801131Sym0
instance Data.Singletons.Prelude.Monad.Internal.SApplicative (Data.Singletons.Prelude.Traversable.StateL s)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680801128 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801131Sym1 f6989586621680801128)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680801129 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (f6989586621680801128 :: k5 Data.Singletons.Internal.~> (k6, k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801131Sym2 kx6989586621680801129 f6989586621680801128)
instance forall k2 k3 k4 k5 k6 k7 (ky6989586621680801130 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (kx6989586621680801129 :: k5 Data.Singletons.Internal.~> (k6, k2)) (f6989586621680801128 :: k6 Data.Singletons.Internal.~> (k7, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801131Sym3 ky6989586621680801130 kx6989586621680801129 f6989586621680801128)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801134X_6989586621680801135Sym0
instance forall k1 k2 k3 k4 (s6989586621680801133 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801134X_6989586621680801135Sym1 s6989586621680801133)
instance forall k1 k2 k3 k4 (f6989586621680801128 :: k1) (s6989586621680801133 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801134X_6989586621680801135Sym2 f6989586621680801128 s6989586621680801133)
instance forall k1 k2 k3 k4 (kx6989586621680801129 :: k1) (f6989586621680801128 :: k2) (s6989586621680801133 :: k1 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801134X_6989586621680801135Sym3 kx6989586621680801129 f6989586621680801128 s6989586621680801133)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801134XSym0
instance forall k1 k2 k3 k4 k5 (s6989586621680801133 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801134XSym1 s6989586621680801133)
instance forall k1 k2 k3 k4 k5 (f6989586621680801128 :: k1) (s6989586621680801133 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801134XSym2 f6989586621680801128 s6989586621680801133)
instance forall k1 k2 k3 k4 k5 (kx6989586621680801129 :: k1) (f6989586621680801128 :: k2) (s6989586621680801133 :: k1 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801134XSym3 kx6989586621680801129 f6989586621680801128 s6989586621680801133)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801134S'Sym0
instance forall k1 k2 k3 k4 k5 (s6989586621680801133 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801134S'Sym1 s6989586621680801133)
instance forall k1 k2 k3 k4 k5 (f6989586621680801128 :: k1) (s6989586621680801133 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801134S'Sym2 f6989586621680801128 s6989586621680801133)
instance forall k1 k2 k3 k4 k5 (kx6989586621680801129 :: k1) (f6989586621680801128 :: k2) (s6989586621680801133 :: k1 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801134S'Sym3 kx6989586621680801129 f6989586621680801128 s6989586621680801133)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801134X_6989586621680801141Sym0
instance forall k2 k3 k4 k5 k6 (s6989586621680801133 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801134X_6989586621680801141Sym1 s6989586621680801133)
instance forall k2 k3 k4 k5 k6 (f6989586621680801128 :: k2) (s6989586621680801133 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801134X_6989586621680801141Sym2 f6989586621680801128 s6989586621680801133)
instance forall k2 k3 k4 k5 k6 (kx6989586621680801129 :: k2) (f6989586621680801128 :: k3) (s6989586621680801133 :: k2 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801134X_6989586621680801141Sym3 kx6989586621680801129 f6989586621680801128 s6989586621680801133)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801134YSym0
instance forall k2 k3 k4 k5 k6 k7 (s6989586621680801133 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801134YSym1 s6989586621680801133)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680801128 :: k2) (s6989586621680801133 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801134YSym2 f6989586621680801128 s6989586621680801133)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680801129 :: k2) (f6989586621680801128 :: k3) (s6989586621680801133 :: k2 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801134YSym3 kx6989586621680801129 f6989586621680801128 s6989586621680801133)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801134S''Sym0
instance forall k2 k3 k4 k5 k6 k7 (s6989586621680801133 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801134S''Sym1 s6989586621680801133)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680801128 :: k2) (s6989586621680801133 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801134S''Sym2 f6989586621680801128 s6989586621680801133)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680801129 :: k2) (f6989586621680801128 :: k3) (s6989586621680801133 :: k2 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801134S''Sym3 kx6989586621680801129 f6989586621680801128 s6989586621680801133)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.TFHelper_6989586621680801053Sym0
instance forall s6989586621680800330 a6989586621679566903 b6989586621679566904 (a6989586621680801051 :: Data.Singletons.Prelude.Traversable.StateL s6989586621680800330 (a6989586621679566903 Data.Singletons.Internal.~> b6989586621679566904)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.TFHelper_6989586621680801053Sym1 a6989586621680801051)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680801061Sym0
instance forall k2 k3 k4 k5 k (kf6989586621680801059 :: k2 Data.Singletons.Internal.~> (k3, k4 Data.Singletons.Internal.~> k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801061Sym1 kf6989586621680801059)
instance forall k2 k3 k4 k5 k (kv6989586621680801060 :: k2 Data.Singletons.Internal.~> (k3, k4 Data.Singletons.Internal.~> k5)) (kf6989586621680801059 :: k3 Data.Singletons.Internal.~> (k, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801061Sym2 kv6989586621680801060 kf6989586621680801059)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801064X_6989586621680801065Sym0
instance forall k1 k2 k3 (s6989586621680801063 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801064X_6989586621680801065Sym1 s6989586621680801063)
instance forall k1 k2 k3 (kf6989586621680801059 :: k1) (s6989586621680801063 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801064X_6989586621680801065Sym2 kf6989586621680801059 s6989586621680801063)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801064FSym0
instance forall k1 k2 k3 k4 (s6989586621680801063 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801064FSym1 s6989586621680801063)
instance forall k1 k2 k3 k4 (kf6989586621680801059 :: k1) (s6989586621680801063 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801064FSym2 kf6989586621680801059 s6989586621680801063)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801064S'Sym0
instance forall k1 k2 k3 k4 (s6989586621680801063 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801064S'Sym1 s6989586621680801063)
instance forall k1 k2 k3 k4 (kf6989586621680801059 :: k1) (s6989586621680801063 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801064S'Sym2 kf6989586621680801059 s6989586621680801063)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801064X_6989586621680801071Sym0
instance forall k2 k3 k4 k5 (s6989586621680801063 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801064X_6989586621680801071Sym1 s6989586621680801063)
instance forall k2 k3 k4 k5 (kf6989586621680801059 :: k2) (s6989586621680801063 :: k2 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801064X_6989586621680801071Sym2 kf6989586621680801059 s6989586621680801063)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801064VSym0
instance forall k2 k3 k4 k5 k6 (s6989586621680801063 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801064VSym1 s6989586621680801063)
instance forall k2 k3 k4 k5 k6 (kf6989586621680801059 :: k2) (s6989586621680801063 :: k2 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801064VSym2 kf6989586621680801059 s6989586621680801063)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801064S''Sym0
instance forall k2 k3 k4 k5 k6 (s6989586621680801063 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801064S''Sym1 s6989586621680801063)
instance forall k2 k3 k4 k5 k6 (kf6989586621680801059 :: k2) (s6989586621680801063 :: k2 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801064S''Sym2 kf6989586621680801059 s6989586621680801063)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Pure_6989586621680801039Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680801044Sym0
instance forall k2 k3 (x6989586621680801043 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801044Sym1 x6989586621680801043)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Fmap_6989586621680800997Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Singletons.Prelude.Traversable.StateL s)
instance forall a6989586621679566897 b6989586621679566898 s6989586621680800324 (a6989586621680800995 :: a6989586621679566897 Data.Singletons.Internal.~> b6989586621679566898). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Fmap_6989586621680800997Sym1 a6989586621680800995)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680801005Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Singletons.Prelude.Traversable.StateL s)
instance forall k2 k3 k4 k (f6989586621680801003 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801005Sym1 f6989586621680801003)
instance forall k2 k3 k4 k (k6989586621680801004 :: k2 Data.Singletons.Internal.~> k3) (f6989586621680801003 :: k4 Data.Singletons.Internal.~> (k, k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680801005Sym2 k6989586621680801004 f6989586621680801003)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801008X_6989586621680801009Sym0
instance forall k1 k2 k3 (s6989586621680801007 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801008X_6989586621680801009Sym1 s6989586621680801007)
instance forall k1 k2 k3 (f6989586621680801003 :: k1) (s6989586621680801007 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801008X_6989586621680801009Sym2 f6989586621680801003 s6989586621680801007)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801008VSym0
instance forall k1 k2 k3 k4 (s6989586621680801007 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801008VSym1 s6989586621680801007)
instance forall k1 k2 k3 k4 (f6989586621680801003 :: k1) (s6989586621680801007 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801008VSym2 f6989586621680801003 s6989586621680801007)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680801008S'Sym0
instance forall k1 k2 k3 k4 (s6989586621680801007 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801008S'Sym1 s6989586621680801007)
instance forall k1 k2 k3 k4 (f6989586621680801003 :: k1) (s6989586621680801007 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680801008S'Sym2 f6989586621680801003 s6989586621680801007)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800985Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Functor.Identity.Identity
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 (a6989586621680800983 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800985Sym1 a6989586621680800983)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800973Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Monoid.Last
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 (a6989586621680800971 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800973Sym1 a6989586621680800971)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800961Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Monoid.First
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 (a6989586621680800959 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800961Sym1 a6989586621680800959)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800949Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Internal.Product
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 (a6989586621680800947 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800949Sym1 a6989586621680800947)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800937Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Internal.Sum
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 (a6989586621680800935 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800937Sym1 a6989586621680800935)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800925Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Internal.Dual
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 (a6989586621680800923 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800925Sym1 a6989586621680800923)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800913Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable (Data.Functor.Const.Const m)
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 m6989586621680800323 (a6989586621680800911 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800913Sym1 a6989586621680800911)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800900Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable ((,) a)
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 a6989586621680800322 (a6989586621680800898 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800900Sym1 a6989586621680800898)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800886Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable (Data.Either.Either a)
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 a6989586621680800321 (a6989586621680800884 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800886Sym1 a6989586621680800884)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800873Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable GHC.Base.NonEmpty
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 (a6989586621680800871 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800873Sym1 a6989586621680800871)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800859Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable []
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 (a6989586621680800857 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800859Sym1 a6989586621680800857)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680800846Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable GHC.Maybe.Maybe
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 (a6989586621680800844 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680800846Sym1 a6989586621680800844)
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 (t6989586621680800311 :: * -> *) a6989586621680800313 (f6989586621680800312 :: * -> *) b6989586621680800314 (a6989586621680800838 :: t6989586621680800311 a6989586621680800313). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.ForSym1 a6989586621680800838)
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 (t6989586621680800307 :: * -> *) a6989586621680800309 (m6989586621680800308 :: * -> *) b6989586621680800310 (a6989586621680800828 :: t6989586621680800307 a6989586621680800309). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.ForMSym1 a6989586621680800828)
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 a6989586621680800304 b6989586621680800305 c6989586621680800306 (t6989586621680800303 :: * -> *) (a6989586621680800807 :: a6989586621680800304 Data.Singletons.Internal.~> (b6989586621680800305 Data.Singletons.Internal.~> (a6989586621680800304, c6989586621680800306))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumLSym1 a6989586621680800807)
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 a6989586621680800304 b6989586621680800305 c6989586621680800306 (t6989586621680800303 :: * -> *) (a6989586621680800808 :: a6989586621680800304 Data.Singletons.Internal.~> (b6989586621680800305 Data.Singletons.Internal.~> (a6989586621680800304, c6989586621680800306))) (a6989586621680800807 :: a6989586621680800304). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumLSym2 a6989586621680800808 a6989586621680800807)
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 a6989586621680800300 b6989586621680800301 c6989586621680800302 (t6989586621680800299 :: * -> *) (a6989586621680800790 :: a6989586621680800300 Data.Singletons.Internal.~> (b6989586621680800301 Data.Singletons.Internal.~> (a6989586621680800300, c6989586621680800302))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumRSym1 a6989586621680800790)
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 a6989586621680800300 b6989586621680800301 c6989586621680800302 (t6989586621680800299 :: * -> *) (a6989586621680800791 :: a6989586621680800300 Data.Singletons.Internal.~> (b6989586621680800301 Data.Singletons.Internal.~> (a6989586621680800300, c6989586621680800302))) (a6989586621680800790 :: a6989586621680800300). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumRSym2 a6989586621680800791 a6989586621680800790)
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 a6989586621680800297 b6989586621680800298 (t6989586621680800296 :: * -> *) (a6989586621680800777 :: a6989586621680800297 Data.Singletons.Internal.~> b6989586621680800298). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.FmapDefaultSym1 a6989586621680800777)
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 a6989586621680800295 m6989586621680800294 (t6989586621680800293 :: * -> *) (a6989586621680800756 :: a6989586621680800295 Data.Singletons.Internal.~> m6989586621680800294). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.FoldMapDefaultSym1 a6989586621680800756)
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.Let6989586621680800816Scrutinee_6989586621680800387Sym0
instance forall s a6989586621680794772 b6989586621680794773 k (t6989586621680794770 :: * -> *) (f6989586621680800813 :: s Data.Singletons.Internal.~> (a6989586621680794772 Data.Singletons.Internal.~> (s, b6989586621680794773))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680800816Scrutinee_6989586621680800387Sym1 f6989586621680800813)
instance forall s a6989586621680794772 b6989586621680794773 k (t6989586621680794770 :: * -> *) (s6989586621680800814 :: s Data.Singletons.Internal.~> (a6989586621680794772 Data.Singletons.Internal.~> (s, b6989586621680794773))) (f6989586621680800813 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680800816Scrutinee_6989586621680800387Sym2 s6989586621680800814 f6989586621680800813)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680800799Scrutinee_6989586621680800391Sym0
instance forall s a6989586621680794772 b6989586621680794773 k (t6989586621680794770 :: * -> *) (f6989586621680800796 :: s Data.Singletons.Internal.~> (a6989586621680794772 Data.Singletons.Internal.~> (s, b6989586621680794773))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680800799Scrutinee_6989586621680800391Sym1 f6989586621680800796)
instance forall s a6989586621680794772 b6989586621680794773 k (t6989586621680794770 :: * -> *) (s6989586621680800797 :: s Data.Singletons.Internal.~> (a6989586621680794772 Data.Singletons.Internal.~> (s, b6989586621680794773))) (f6989586621680800796 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680800799Scrutinee_6989586621680800391Sym2 s6989586621680800797 f6989586621680800796)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680800783Scrutinee_6989586621680800395Sym0
instance forall a6989586621680794772 b6989586621680794773 (t6989586621680794770 :: * -> *) (f6989586621680800781 :: a6989586621680794772 Data.Singletons.Internal.~> b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680800783Scrutinee_6989586621680800395Sym1 f6989586621680800781)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680800770Scrutinee_6989586621680800398Sym0
instance forall a6989586621680794772 b6989586621679541504 (t6989586621680794770 :: * -> *) (f6989586621680800760 :: a6989586621680794772 Data.Singletons.Internal.~> b6989586621679541504). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680800770Scrutinee_6989586621680800398Sym1 f6989586621680800760)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680800762MkConstSym0
instance forall k1 k2 m6989586621680800294 (f6989586621680800760 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680800762MkConstSym1 f6989586621680800760)
instance forall k1 k2 m6989586621680800294 (x6989586621680800761 :: k1) (f6989586621680800760 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680800762MkConstSym2 x6989586621680800761 f6989586621680800760)
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 a6989586621680794777 (m6989586621680794776 :: * -> *) b6989586621680794778 (t6989586621680794770 :: * -> *) (arg6989586621680794788 :: a6989586621680794777 Data.Singletons.Internal.~> m6989586621680794776 b6989586621680794778). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapMSym1 arg6989586621680794788)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.SequenceSym0
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 (t6989586621680794770 :: * -> *) (arg6989586621680794782 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.TraverseSym1 arg6989586621680794782)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.TraverseSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.SequenceASym0
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 (t6989586621680794770 :: * -> *) (a6989586621680794794 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680794796Sym1 a6989586621680794794)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680794796Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.SequenceA_6989586621680794809Sym0
instance forall a6989586621680794777 (m6989586621680794776 :: * -> *) b6989586621680794778 (t6989586621680794770 :: * -> *) (a6989586621680794817 :: a6989586621680794777 Data.Singletons.Internal.~> m6989586621680794776 b6989586621680794778). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapM_6989586621680794819Sym1 a6989586621680794817)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.MapM_6989586621680794819Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Sequence_6989586621680794834Sym0


-- | 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_a3t73 :: Type) where {
    type family (<>) (arg_a3taQ :: a_a3t73) (arg_a3taR :: a_a3t73) :: a_a3t73;
    type family Sconcat (arg_a3taU :: NonEmpty a_a3t73) :: a_a3t73;
    type Sconcat a_a3taW = Apply Sconcat_6989586621679836931Sym0 a_a3taW;
}
infixr 6 <>
class SSemigroup a_a3t73
(%<>) :: forall (t_a3teF :: a_a3t73) (t_a3teG :: a_a3t73). SSemigroup a_a3t73 => Sing t_a3teF -> Sing t_a3teG -> Sing (Apply (Apply (<>@#@$) t_a3teF) t_a3teG :: a_a3t73)
sSconcat :: forall (t_a3teJ :: NonEmpty a_a3t73). SSemigroup a_a3t73 => Sing t_a3teJ -> Sing (Apply SconcatSym0 t_a3teJ :: a_a3t73)
sSconcat :: forall (t_a3teJ :: NonEmpty a_a3t73). (SSemigroup a_a3t73, (Apply SconcatSym0 t_a3teJ :: a_a3t73) ~ Apply Sconcat_6989586621679836931Sym0 t_a3teJ) => Sing t_a3teJ -> Sing (Apply SconcatSym0 t_a3teJ :: a_a3t73)
infixr 6 %<>

-- | The singleton kind-indexed type family.
type family Sing :: k -> Type
data SMin :: forall a_acT7. Min a_acT7 -> Type
[SMin] :: forall a_acT7 (n_a3vCf :: a_acT7). () => {sGetMin :: Sing (n_a3vCf :: a_acT7)} -> SMin ('Min n_a3vCf)
data SMax :: forall a_acTb. Max a_acTb -> Type
[SMax] :: forall a_acTb (n_a3vCy :: a_acTb). () => {sGetMax :: Sing (n_a3vCy :: a_acTb)} -> SMax ('Max n_a3vCy)
data SFirst :: forall a_acTj. First a_acTj -> Type
[SFirst] :: forall a_acTj (n_a3vCR :: a_acTj). () => {sGetFirst :: Sing (n_a3vCR :: a_acTj)} -> SFirst ('First n_a3vCR)
data SLast :: forall a_acTf. Last a_acTf -> Type
[SLast] :: forall a_acTf (n_a3vDa :: a_acTf). () => {sGetLast :: Sing (n_a3vDa :: a_acTf)} -> SLast ('Last n_a3vDa)
data SWrappedMonoid :: forall m_ajNl. WrappedMonoid m_ajNl -> Type
[SWrapMonoid] :: forall m_ajNl (n_a3vDt :: m_ajNl). () => {sUnwrapMonoid :: Sing (n_a3vDt :: m_ajNl)} -> SWrappedMonoid ('WrapMonoid n_a3vDt)
data SDual :: forall a_aiWD. Dual a_aiWD -> Type
[SDual] :: forall a_aiWD (n_a3vAS :: a_aiWD). () => {sGetDual :: Sing (n_a3vAS :: a_aiWD)} -> SDual ('Dual n_a3vAS)
data SAll :: All -> Type
[SAll] :: forall (n_a3vB6 :: Bool). () => {sGetAll :: Sing (n_a3vB6 :: Bool)} -> SAll ('All n_a3vB6)
data SAny :: Any -> Type
[SAny] :: forall (n_a3vBk :: Bool). () => {sGetAny :: Sing (n_a3vBk :: Bool)} -> SAny ('Any n_a3vBk)
data SSum :: forall a_aiWo. Sum a_aiWo -> Type
[SSum] :: forall a_aiWo (n_a3vBD :: a_aiWo). () => {sGetSum :: Sing (n_a3vBD :: a_aiWo)} -> SSum ('Sum n_a3vBD)
data SProduct :: forall a_aiWt. Product a_aiWt -> Type
[SProduct] :: forall a_aiWt (n_a3vBW :: a_aiWt). () => {sGetProduct :: Sing (n_a3vBW :: a_aiWt)} -> SProduct ('Product n_a3vBW)
data SOption :: forall a_acT3. Option a_acT3 -> Type
[SOption] :: forall a_acT3 (n_a3vAz :: Maybe a_acT3). () => {sGetOption :: Sing (n_a3vAz :: Maybe a_acT3)} -> SOption ('Option n_a3vAz)
data SArg :: forall a_ad9H b_ad9I. Arg a_ad9H b_ad9I -> Type
[SArg] :: forall a_ad9H b_ad9I (n_a7YLA :: a_ad9H) (n_a7YLB :: b_ad9I). () => Sing (n_a7YLA :: a_ad9H) -> Sing (n_a7YLB :: b_ad9I) -> SArg ('Arg n_a7YLA n_a7YLB)
type family GetMin (a_a3vCa :: Min (a_acT7 :: Type)) :: a_acT7
type family GetMax (a_a3vCt :: Max (a_acTb :: Type)) :: a_acTb
type family GetFirst (a_a3vCM :: First (a_acTj :: Type)) :: a_acTj
type family GetLast (a_a3vD5 :: Last (a_acTf :: Type)) :: a_acTf
type family UnwrapMonoid (a_a3vDo :: WrappedMonoid (m_ajNl :: Type)) :: m_ajNl
type family GetDual (a_a3vAN :: Dual (a_aiWD :: Type)) :: a_aiWD
type family GetAll (a_a3vB1 :: All) :: Bool
type family GetAny (a_a3vBf :: Any) :: Bool
type family GetSum (a_a3vBy :: Sum (a_aiWo :: Type)) :: a_aiWo
type family GetProduct (a_a3vBR :: Product (a_aiWt :: Type)) :: a_aiWt
type family GetOption (a_a3vAu :: Option (a_acT3 :: Type)) :: Maybe a_acT3
option_ :: b_a8l71 -> (a_a8l72 -> b_a8l71) -> Option a_a8l72 -> b_a8l71
sOption_ :: forall b_a8l71 a_a8l72 (t_a8l7m :: b_a8l71) (t_a8l7n :: (~>) a_a8l72 b_a8l71) (t_a8l7o :: Option a_a8l72). Sing t_a8l7m -> Sing t_a8l7n -> Sing t_a8l7o -> Sing (Apply (Apply (Apply Option_Sym0 t_a8l7m) t_a8l7n) t_a8l7o :: b_a8l71)
type family Option_ (a_a8l7d :: b_a8l71) (a_a8l7e :: (~>) a_a8l72 b_a8l71) (a_a8l7f :: Option a_a8l72) :: b_a8l71
data (<>@#@$) :: forall a6989586621679836689. (~>) a6989586621679836689 ((~>) a6989586621679836689 a6989586621679836689)
infixr 6 <>@#@$
data (<>@#@$$) (arg6989586621679836924 :: a6989586621679836689) :: (~>) a6989586621679836689 a6989586621679836689
infixr 6 <>@#@$$
type (<>@#@$$$) (arg6989586621679836924 :: a6989586621679836689) (arg6989586621679836925 :: a6989586621679836689) = (<>) arg6989586621679836924 arg6989586621679836925
data SconcatSym0 :: forall a6989586621679836689. (~>) (NonEmpty a6989586621679836689) a6989586621679836689
type SconcatSym1 (arg6989586621679836928 :: NonEmpty a6989586621679836689) = Sconcat arg6989586621679836928
data MinSym0 :: forall (a6989586621679059337 :: Type). (~>) a6989586621679059337 (Min (a6989586621679059337 :: Type))
type MinSym1 (t6989586621679846309 :: a6989586621679059337) = 'Min t6989586621679846309
data GetMinSym0 :: forall (a6989586621679059337 :: Type). (~>) (Min (a6989586621679059337 :: Type)) a6989586621679059337
type GetMinSym1 (a6989586621679846306 :: Min (a6989586621679059337 :: Type)) = GetMin a6989586621679846306
data MaxSym0 :: forall (a6989586621679059341 :: Type). (~>) a6989586621679059341 (Max (a6989586621679059341 :: Type))
type MaxSym1 (t6989586621679846328 :: a6989586621679059341) = 'Max t6989586621679846328
data GetMaxSym0 :: forall (a6989586621679059341 :: Type). (~>) (Max (a6989586621679059341 :: Type)) a6989586621679059341
type GetMaxSym1 (a6989586621679846325 :: Max (a6989586621679059341 :: Type)) = GetMax a6989586621679846325
data FirstSym0 :: forall (a6989586621679059349 :: Type). (~>) a6989586621679059349 (First (a6989586621679059349 :: Type))
type FirstSym1 (t6989586621679846347 :: a6989586621679059349) = 'First t6989586621679846347
data GetFirstSym0 :: forall (a6989586621679059349 :: Type). (~>) (First (a6989586621679059349 :: Type)) a6989586621679059349
type GetFirstSym1 (a6989586621679846344 :: First (a6989586621679059349 :: Type)) = GetFirst a6989586621679846344
data LastSym0 :: forall (a6989586621679059345 :: Type). (~>) a6989586621679059345 (Last (a6989586621679059345 :: Type))
type LastSym1 (t6989586621679846366 :: a6989586621679059345) = 'Last t6989586621679846366
data GetLastSym0 :: forall (a6989586621679059345 :: Type). (~>) (Last (a6989586621679059345 :: Type)) a6989586621679059345
type GetLastSym1 (a6989586621679846363 :: Last (a6989586621679059345 :: Type)) = GetLast a6989586621679846363
data WrapMonoidSym0 :: forall (m6989586621679085887 :: Type). (~>) m6989586621679085887 (WrappedMonoid (m6989586621679085887 :: Type))
type WrapMonoidSym1 (t6989586621679846385 :: m6989586621679085887) = 'WrapMonoid t6989586621679846385
data UnwrapMonoidSym0 :: forall (m6989586621679085887 :: Type). (~>) (WrappedMonoid (m6989586621679085887 :: Type)) m6989586621679085887
type UnwrapMonoidSym1 (a6989586621679846382 :: WrappedMonoid (m6989586621679085887 :: Type)) = UnwrapMonoid a6989586621679846382
data DualSym0 :: forall (a6989586621679082619 :: Type). (~>) a6989586621679082619 (Dual (a6989586621679082619 :: Type))
type DualSym1 (t6989586621679846224 :: a6989586621679082619) = 'Dual t6989586621679846224
data GetDualSym0 :: forall (a6989586621679082619 :: Type). (~>) (Dual (a6989586621679082619 :: Type)) a6989586621679082619
type GetDualSym1 (a6989586621679846221 :: Dual (a6989586621679082619 :: Type)) = GetDual a6989586621679846221
data AllSym0 :: (~>) Bool All
type AllSym1 (t6989586621679846238 :: Bool) = 'All t6989586621679846238
data GetAllSym0 :: (~>) All Bool
type GetAllSym1 (a6989586621679846235 :: All) = GetAll a6989586621679846235
data AnySym0 :: (~>) Bool Any
type AnySym1 (t6989586621679846252 :: Bool) = 'Any t6989586621679846252
data GetAnySym0 :: (~>) Any Bool
type GetAnySym1 (a6989586621679846249 :: Any) = GetAny a6989586621679846249
data SumSym0 :: forall (a6989586621679082604 :: Type). (~>) a6989586621679082604 (Sum (a6989586621679082604 :: Type))
type SumSym1 (t6989586621679846271 :: a6989586621679082604) = 'Sum t6989586621679846271
data GetSumSym0 :: forall (a6989586621679082604 :: Type). (~>) (Sum (a6989586621679082604 :: Type)) a6989586621679082604
type GetSumSym1 (a6989586621679846268 :: Sum (a6989586621679082604 :: Type)) = GetSum a6989586621679846268
data ProductSym0 :: forall (a6989586621679082609 :: Type). (~>) a6989586621679082609 (Product (a6989586621679082609 :: Type))
type ProductSym1 (t6989586621679846290 :: a6989586621679082609) = 'Product t6989586621679846290
data GetProductSym0 :: forall (a6989586621679082609 :: Type). (~>) (Product (a6989586621679082609 :: Type)) a6989586621679082609
type GetProductSym1 (a6989586621679846287 :: Product (a6989586621679082609 :: Type)) = GetProduct a6989586621679846287
data OptionSym0 :: forall (a6989586621679059333 :: Type). (~>) (Maybe a6989586621679059333) (Option (a6989586621679059333 :: Type))
type OptionSym1 (t6989586621679846205 :: Maybe a6989586621679059333) = 'Option t6989586621679846205
data GetOptionSym0 :: forall (a6989586621679059333 :: Type). (~>) (Option (a6989586621679059333 :: Type)) (Maybe a6989586621679059333)
type GetOptionSym1 (a6989586621679846202 :: Option (a6989586621679059333 :: Type)) = GetOption a6989586621679846202
data ArgSym0 :: forall (a6989586621679060365 :: Type) (b6989586621679060366 :: Type). (~>) a6989586621679060365 ((~>) b6989586621679060366 (Arg (a6989586621679060365 :: Type) (b6989586621679060366 :: Type)))
data ArgSym1 (t6989586621680911674 :: a6989586621679060365 :: Type) :: forall (b6989586621679060366 :: Type). (~>) b6989586621679060366 (Arg (a6989586621679060365 :: Type) (b6989586621679060366 :: Type))
type ArgSym2 (t6989586621680911674 :: a6989586621679060365) (t6989586621680911675 :: b6989586621679060366) = 'Arg t6989586621680911674 t6989586621680911675
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Option_Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Semigroup.Option_Sym0
instance forall b6989586621680997575 a6989586621680997576 (a6989586621680997587 :: b6989586621680997575). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Option_Sym1 a6989586621680997587)
instance forall b a (d :: b). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Semigroup.Option_Sym1 d)
instance forall b6989586621680997575 a6989586621680997576 (a6989586621680997588 :: b6989586621680997575) (a6989586621680997587 :: a6989586621680997576 Data.Singletons.Internal.~> b6989586621680997575). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Option_Sym2 a6989586621680997588 a6989586621680997587)
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_6989586621680931461Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Option
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 (a6989586621680931459 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680931461Sym1 a6989586621680931459)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680931449Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Option
instance forall a6989586621680486582 m6989586621680486581 (a6989586621680931447 :: a6989586621680486582 Data.Singletons.Internal.~> m6989586621680486581). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680931449Sym1 a6989586621680931447)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.Option a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931435Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Option a)
instance forall a6989586621680929495 (a6989586621680931433 :: Data.Semigroup.Option a6989586621680929495). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931435Sym1 a6989586621680931433)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931419Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Option
instance forall a6989586621679566928 b6989586621679566929 (a6989586621680931417 :: Data.Semigroup.Option a6989586621679566928). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931419Sym1 a6989586621680931417)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931407Sym0
instance forall a6989586621679566926 b6989586621679566927 (a6989586621680931405 :: Data.Semigroup.Option a6989586621679566926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931407Sym1 a6989586621680931405)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931395Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Option
instance forall a6989586621679566899 b6989586621679566900 (a6989586621680931393 :: a6989586621679566899). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931395Sym1 a6989586621680931393)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680931383Sym0
instance forall a6989586621679566897 b6989586621679566898 (a6989586621680931381 :: a6989586621679566897 Data.Singletons.Internal.~> b6989586621679566898). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680931383Sym1 a6989586621680931381)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931372Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Option
instance forall a6989586621679566908 b6989586621679566909 (a6989586621680931370 :: Data.Semigroup.Option a6989586621679566908). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931372Sym1 a6989586621680931370)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680931356Sym0
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 (a6989586621680931353 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680931356Sym1 a6989586621680931353)
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 (a6989586621680931354 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)) (a6989586621680931353 :: Data.Semigroup.Option a6989586621679566905). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680931356Sym2 a6989586621680931354 a6989586621680931353)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931343Sym0
instance forall a6989586621679566903 b6989586621679566904 (a6989586621680931341 :: Data.Semigroup.Option (a6989586621679566903 Data.Singletons.Internal.~> b6989586621679566904)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931343Sym1 a6989586621680931341)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680931335Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931322Sym0
instance Data.Singletons.Prelude.Monad.Internal.PAlternative Data.Semigroup.Option
instance forall a6989586621679566978 (a6989586621680931320 :: Data.Semigroup.Option a6989586621679566978). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931322Sym1 a6989586621680931320)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680931330ASym0
instance Data.Singletons.Prelude.Monad.Internal.SAlternative Data.Semigroup.Option
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680931304Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.WrappedMonoid a)
instance forall a6989586621680929475 (a6989586621680931301 :: Data.Semigroup.WrappedMonoid a6989586621680929475). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680931304Sym1 a6989586621680931301)
instance forall a6989586621680929475 (a6989586621680931302 :: Data.Semigroup.WrappedMonoid a6989586621680929475) (a6989586621680931301 :: Data.Semigroup.WrappedMonoid a6989586621680929475). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680931304Sym2 a6989586621680931302 a6989586621680931301)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680931291Sym0
instance forall a6989586621680929475 (a6989586621680931289 :: Data.Semigroup.WrappedMonoid a6989586621680929475). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680931291Sym1 a6989586621680931289)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680931283Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680931274Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680931267Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680931260Sym0
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.WrappedMonoid m)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931247Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.WrappedMonoid m)
instance forall m6989586621680929471 (a6989586621680931245 :: Data.Semigroup.WrappedMonoid m6989586621680929471). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931247Sym1 a6989586621680931245)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680931235Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Last
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 (a6989586621680931233 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680931235Sym1 a6989586621680931233)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680931219Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Last
instance forall a6989586621680486583 b6989586621680486584 (a6989586621680931216 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680931219Sym1 a6989586621680931216)
instance forall a6989586621680486583 b6989586621680486584 (a6989586621680931217 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)) (a6989586621680931216 :: b6989586621680486584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680931219Sym2 a6989586621680931217 a6989586621680931216)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680931206Sym0
instance forall a6989586621680486582 m6989586621680486581 (a6989586621680931204 :: a6989586621680486582 Data.Singletons.Internal.~> m6989586621680486581). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680931206Sym1 a6989586621680931204)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931195Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Last a)
instance forall a6989586621680929469 (a6989586621680931193 :: Data.Semigroup.Last a6989586621680929469). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931195Sym1 a6989586621680931193)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931183Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Last
instance forall a6989586621679566926 b6989586621679566927 (a6989586621680931181 :: Data.Semigroup.Last a6989586621679566926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931183Sym1 a6989586621680931181)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931167Sym0
instance forall a6989586621679566928 b6989586621679566929 (a6989586621680931165 :: Data.Semigroup.Last a6989586621679566928). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931167Sym1 a6989586621680931165)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931148Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Last
instance forall a6989586621679566899 b6989586621679566900 (a6989586621680931146 :: a6989586621679566899). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931148Sym1 a6989586621680931146)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680931156Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.Last
instance forall k1 k2 k3 (_z_69895866216809299066989586621680931154 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680931156Sym1 _z_69895866216809299066989586621680931154)
instance forall k1 k2 k3 (a_69895866216809299126989586621680931155 :: k1) (_z_69895866216809299066989586621680931154 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680931156Sym2 a_69895866216809299126989586621680931155 _z_69895866216809299066989586621680931154)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680931136Sym0
instance forall a6989586621679566897 b6989586621679566898 (a6989586621680931134 :: a6989586621679566897 Data.Singletons.Internal.~> b6989586621679566898). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680931136Sym1 a6989586621680931134)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680931120Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.Last a)
instance forall a6989586621680929458 (a6989586621680931117 :: Data.Semigroup.Last a6989586621680929458). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680931120Sym1 a6989586621680931117)
instance forall a6989586621680929458 (a6989586621680931118 :: Data.Semigroup.Last a6989586621680929458) (a6989586621680931117 :: Data.Semigroup.Last a6989586621680929458). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680931120Sym2 a6989586621680931118 a6989586621680931117)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680931107Sym0
instance forall a6989586621680929458 (a6989586621680931105 :: Data.Semigroup.Last a6989586621680929458). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680931107Sym1 a6989586621680931105)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680931099Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680931090Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680931083Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680931076Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680931061Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Last
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 (a6989586621680931058 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680931061Sym1 a6989586621680931058)
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 (a6989586621680931059 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)) (a6989586621680931058 :: Data.Semigroup.Last a6989586621679566905). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680931061Sym2 a6989586621680931059 a6989586621680931058)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931048Sym0
instance forall a6989586621679566903 b6989586621679566904 (a6989586621680931046 :: Data.Semigroup.Last (a6989586621679566903 Data.Singletons.Internal.~> b6989586621679566904)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931048Sym1 a6989586621680931046)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931037Sym0
instance forall a6989586621679566908 b6989586621679566909 (a6989586621680931035 :: Data.Semigroup.Last a6989586621679566908). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931037Sym1 a6989586621680931035)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931026Sym0
instance forall a6989586621679566910 b6989586621679566911 (a6989586621680931024 :: Data.Semigroup.Last a6989586621679566910). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680931026Sym1 a6989586621680931024)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680931018Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680931007Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.First
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 (a6989586621680931005 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680931007Sym1 a6989586621680931005)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930991Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.First
instance forall a6989586621680486583 b6989586621680486584 (a6989586621680930988 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930991Sym1 a6989586621680930988)
instance forall a6989586621680486583 b6989586621680486584 (a6989586621680930989 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)) (a6989586621680930988 :: b6989586621680486584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930991Sym2 a6989586621680930989 a6989586621680930988)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680930978Sym0
instance forall a6989586621680486582 m6989586621680486581 (a6989586621680930976 :: a6989586621680486582 Data.Singletons.Internal.~> m6989586621680486581). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680930978Sym1 a6989586621680930976)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930967Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.First a)
instance forall a6989586621680929448 (a6989586621680930965 :: Data.Semigroup.First a6989586621680929448). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930967Sym1 a6989586621680930965)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930955Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.First
instance forall a6989586621679566926 b6989586621679566927 (a6989586621680930953 :: Data.Semigroup.First a6989586621679566926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930955Sym1 a6989586621680930953)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930939Sym0
instance forall a6989586621679566928 b6989586621679566929 (a6989586621680930937 :: Data.Semigroup.First a6989586621679566928). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930939Sym1 a6989586621680930937)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930920Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.First
instance forall a6989586621679566899 b6989586621679566900 (a6989586621680930918 :: a6989586621679566899). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930920Sym1 a6989586621680930918)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930928Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.First
instance forall k1 k2 k3 (_z_69895866216809298756989586621680930926 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930928Sym1 _z_69895866216809298756989586621680930926)
instance forall k1 k2 k3 (a_69895866216809298816989586621680930927 :: k1) (_z_69895866216809298756989586621680930926 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930928Sym2 a_69895866216809298816989586621680930927 _z_69895866216809298756989586621680930926)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680930908Sym0
instance forall a6989586621679566897 b6989586621679566898 (a6989586621680930906 :: a6989586621679566897 Data.Singletons.Internal.~> b6989586621679566898). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680930908Sym1 a6989586621680930906)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680930892Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.First a)
instance forall a6989586621680929437 (a6989586621680930889 :: Data.Semigroup.First a6989586621680929437). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680930892Sym1 a6989586621680930889)
instance forall a6989586621680929437 (a6989586621680930890 :: Data.Semigroup.First a6989586621680929437) (a6989586621680930889 :: Data.Semigroup.First a6989586621680929437). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680930892Sym2 a6989586621680930890 a6989586621680930889)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680930879Sym0
instance forall a6989586621680929437 (a6989586621680930877 :: Data.Semigroup.First a6989586621680929437). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680930879Sym1 a6989586621680930877)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680930871Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680930862Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680930855Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680930848Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680930833Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.First
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 (a6989586621680930830 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680930833Sym1 a6989586621680930830)
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 (a6989586621680930831 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)) (a6989586621680930830 :: Data.Semigroup.First a6989586621679566905). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680930833Sym2 a6989586621680930831 a6989586621680930830)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930820Sym0
instance forall a6989586621679566903 b6989586621679566904 (a6989586621680930818 :: Data.Semigroup.First (a6989586621679566903 Data.Singletons.Internal.~> b6989586621679566904)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930820Sym1 a6989586621680930818)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930809Sym0
instance forall a6989586621679566908 b6989586621679566909 (a6989586621680930807 :: Data.Semigroup.First a6989586621679566908). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930809Sym1 a6989586621680930807)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930798Sym0
instance forall a6989586621679566910 b6989586621679566911 (a6989586621680930796 :: Data.Semigroup.First a6989586621679566910). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930798Sym1 a6989586621680930796)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680930790Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680930778Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable (Data.Semigroup.Arg a)
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 a6989586621680929428 (a6989586621680930776 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680930778Sym1 a6989586621680930776)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930749Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable (Data.Semigroup.Arg a)
instance forall a6989586621680486583 b6989586621680486584 a6989586621680929427 (a6989586621680930746 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930749Sym1 a6989586621680930746)
instance forall a6989586621680486583 b6989586621680486584 a6989586621680929427 (a6989586621680930747 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)) (a6989586621680930746 :: b6989586621680486584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930749Sym2 a6989586621680930747 a6989586621680930746)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930761Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable (Data.Semigroup.Arg a)
instance forall k1 k2 k3 k4 k5 k6 (_f_69895866216809298406989586621680930757 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930761Sym1 _f_69895866216809298406989586621680930757)
instance forall k1 k2 k3 k4 k5 k6 (_z_69895866216809298426989586621680930758 :: k1) (_f_69895866216809298406989586621680930757 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930761Sym2 _z_69895866216809298426989586621680930758 _f_69895866216809298406989586621680930757)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216809298546989586621680930759 :: k1) (_z_69895866216809298426989586621680930758 :: k2) (_f_69895866216809298406989586621680930757 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930761Sym3 a_69895866216809298546989586621680930759 _z_69895866216809298426989586621680930758 _f_69895866216809298406989586621680930757)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216809298566989586621680930760 :: k1) (a_69895866216809298546989586621680930759 :: k2) (_z_69895866216809298426989586621680930758 :: k3) (_f_69895866216809298406989586621680930757 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930761Sym4 a_69895866216809298566989586621680930760 a_69895866216809298546989586621680930759 _z_69895866216809298426989586621680930758 _f_69895866216809298406989586621680930757)
instance forall k1 k2 k3 k4 k5 k6 (t6989586621680930765 :: k1) (a_69895866216809298566989586621680930760 :: k2) (a_69895866216809298546989586621680930759 :: k3) (_z_69895866216809298426989586621680930758 :: k4) (_f_69895866216809298406989586621680930757 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930761Sym5 t6989586621680930765 a_69895866216809298566989586621680930760 a_69895866216809298546989586621680930759 _z_69895866216809298426989586621680930758 _f_69895866216809298406989586621680930757)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680930727Sym0
instance forall a6989586621680486582 m6989586621680486581 a6989586621680929427 (a6989586621680930725 :: a6989586621680486582 Data.Singletons.Internal.~> m6989586621680486581). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680930727Sym1 a6989586621680930725)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930736Sym0
instance forall k1 k2 k3 k4 k5 (_f_69895866216809298406989586621680930733 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930736Sym1 _f_69895866216809298406989586621680930733)
instance forall k1 k2 k3 k4 k5 (a_69895866216809298466989586621680930734 :: k1) (_f_69895866216809298406989586621680930733 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930736Sym2 a_69895866216809298466989586621680930734 _f_69895866216809298406989586621680930733)
instance forall k1 k2 k3 k4 k5 (a_69895866216809298486989586621680930735 :: k1) (a_69895866216809298466989586621680930734 :: k2) (_f_69895866216809298406989586621680930733 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930736Sym3 a_69895866216809298486989586621680930735 a_69895866216809298466989586621680930734 _f_69895866216809298406989586621680930733)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680930708Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Arg a b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680930708Sym1 a6989586621680930705)
instance forall a6989586621680929425 b6989586621680929426 (a6989586621680930706 :: GHC.Types.Nat) (a6989586621680930705 :: Data.Semigroup.Arg a6989586621680929425 b6989586621680929426). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680930708Sym2 a6989586621680930706 a6989586621680930705)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Max_6989586621680930672Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Semigroup.Arg a b)
instance forall a6989586621680929413 b6989586621680929414 (a6989586621680930670 :: Data.Semigroup.Arg a6989586621680929413 b6989586621680929414). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Max_6989586621680930672Sym1 a6989586621680930670)
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.Let6989586621680930686XSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680930682 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930686XSym1 a6989586621680930682)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809295196989586621680930683 :: k2) (a6989586621680930682 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930686XSym2 wild_69895866216809295196989586621680930683 a6989586621680930682)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680930684 :: k2) (wild_69895866216809295196989586621680930683 :: k3) (a6989586621680930682 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930686XSym3 b6989586621680930684 wild_69895866216809295196989586621680930683 a6989586621680930682)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809295216989586621680930685 :: k2) (b6989586621680930684 :: k3) (wild_69895866216809295196989586621680930683 :: k4) (a6989586621680930682 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930686XSym4 wild_69895866216809295216989586621680930685 b6989586621680930684 wild_69895866216809295196989586621680930683 a6989586621680930682)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809295156989586621680930678 :: k2) (wild_69895866216809295216989586621680930685 :: k3) (b6989586621680930684 :: k4) (wild_69895866216809295196989586621680930683 :: k5) (a6989586621680930682 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930686XSym5 arg_69895866216809295156989586621680930678 wild_69895866216809295216989586621680930685 b6989586621680930684 wild_69895866216809295196989586621680930683 a6989586621680930682)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680930686YSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680930682 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930686YSym1 a6989586621680930682)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809295196989586621680930683 :: k2) (a6989586621680930682 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930686YSym2 wild_69895866216809295196989586621680930683 a6989586621680930682)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680930684 :: k2) (wild_69895866216809295196989586621680930683 :: k3) (a6989586621680930682 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930686YSym3 b6989586621680930684 wild_69895866216809295196989586621680930683 a6989586621680930682)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809295216989586621680930685 :: k2) (b6989586621680930684 :: k3) (wild_69895866216809295196989586621680930683 :: k4) (a6989586621680930682 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930686YSym4 wild_69895866216809295216989586621680930685 b6989586621680930684 wild_69895866216809295196989586621680930683 a6989586621680930682)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809295156989586621680930678 :: k2) (wild_69895866216809295216989586621680930685 :: k3) (b6989586621680930684 :: k4) (wild_69895866216809295196989586621680930683 :: k5) (a6989586621680930682 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930686YSym5 arg_69895866216809295156989586621680930678 wild_69895866216809295216989586621680930685 b6989586621680930684 wild_69895866216809295196989586621680930683 a6989586621680930682)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Min_6989586621680930637Sym0
instance forall a6989586621680929413 b6989586621680929414 (a6989586621680930635 :: Data.Semigroup.Arg a6989586621680929413 b6989586621680929414). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Min_6989586621680930637Sym1 a6989586621680930635)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680930651XSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680930647 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930651XSym1 a6989586621680930647)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809295076989586621680930648 :: k2) (a6989586621680930647 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930651XSym2 wild_69895866216809295076989586621680930648 a6989586621680930647)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680930649 :: k2) (wild_69895866216809295076989586621680930648 :: k3) (a6989586621680930647 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930651XSym3 b6989586621680930649 wild_69895866216809295076989586621680930648 a6989586621680930647)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809295096989586621680930650 :: k2) (b6989586621680930649 :: k3) (wild_69895866216809295076989586621680930648 :: k4) (a6989586621680930647 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930651XSym4 wild_69895866216809295096989586621680930650 b6989586621680930649 wild_69895866216809295076989586621680930648 a6989586621680930647)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809295036989586621680930643 :: k2) (wild_69895866216809295096989586621680930650 :: k3) (b6989586621680930649 :: k4) (wild_69895866216809295076989586621680930648 :: k5) (a6989586621680930647 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930651XSym5 arg_69895866216809295036989586621680930643 wild_69895866216809295096989586621680930650 b6989586621680930649 wild_69895866216809295076989586621680930648 a6989586621680930647)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680930651YSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680930647 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930651YSym1 a6989586621680930647)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809295076989586621680930648 :: k2) (a6989586621680930647 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930651YSym2 wild_69895866216809295076989586621680930648 a6989586621680930647)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680930649 :: k2) (wild_69895866216809295076989586621680930648 :: k3) (a6989586621680930647 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930651YSym3 b6989586621680930649 wild_69895866216809295076989586621680930648 a6989586621680930647)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809295096989586621680930650 :: k2) (b6989586621680930649 :: k3) (wild_69895866216809295076989586621680930648 :: k4) (a6989586621680930647 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930651YSym4 wild_69895866216809295096989586621680930650 b6989586621680930649 wild_69895866216809295076989586621680930648 a6989586621680930647)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809295036989586621680930643 :: k2) (wild_69895866216809295096989586621680930650 :: k3) (b6989586621680930649 :: k4) (wild_69895866216809295076989586621680930648 :: k5) (a6989586621680930647 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680930651YSym5 arg_69895866216809295036989586621680930643 wild_69895866216809295096989586621680930650 b6989586621680930649 wild_69895866216809295076989586621680930648 a6989586621680930647)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Compare_6989586621680930625Sym0
instance forall a6989586621680929413 b6989586621680929414 (a6989586621680930623 :: Data.Semigroup.Arg a6989586621680929413 b6989586621680929414). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Compare_6989586621680930625Sym1 a6989586621680930623)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930596Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Semigroup.Arg a)
instance forall a6989586621679566899 a6989586621680929412 b6989586621679566900 (a6989586621680930594 :: a6989586621679566899). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930596Sym1 a6989586621680930594)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930613Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Semigroup.Arg a)
instance forall k1 k2 k3 k4 (_z_69895866216809298066989586621680930602 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930613Sym1 _z_69895866216809298066989586621680930602)
instance forall k1 k2 k3 k4 (a_69895866216809298186989586621680930603 :: k1) (_z_69895866216809298066989586621680930602 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930613Sym2 a_69895866216809298186989586621680930603 _z_69895866216809298066989586621680930602)
instance forall k1 k2 k3 k4 (a_69895866216809298206989586621680930604 :: k1) (a_69895866216809298186989586621680930603 :: k2) (_z_69895866216809298066989586621680930602 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930613Sym3 a_69895866216809298206989586621680930604 a_69895866216809298186989586621680930603 _z_69895866216809298066989586621680930602)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930605Sym0
instance forall k1 k2 k3 k4 (_z_69895866216809298066989586621680930602 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930605Sym1 _z_69895866216809298066989586621680930602)
instance forall k1 k2 k3 k4 (a_69895866216809298186989586621680930603 :: k1) (_z_69895866216809298066989586621680930602 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930605Sym2 a_69895866216809298186989586621680930603 _z_69895866216809298066989586621680930602)
instance forall k1 k2 k3 k4 (a_69895866216809298206989586621680930604 :: k1) (a_69895866216809298186989586621680930603 :: k2) (_z_69895866216809298066989586621680930602 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930605Sym3 a_69895866216809298206989586621680930604 a_69895866216809298186989586621680930603 _z_69895866216809298066989586621680930602)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680930575Sym0
instance forall a6989586621679566897 b6989586621679566898 a6989586621680929412 (a6989586621680930573 :: a6989586621679566897 Data.Singletons.Internal.~> b6989586621679566898). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680930575Sym1 a6989586621680930573)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930584Sym0
instance forall k1 k2 k3 k4 (_f_69895866216809298046989586621680930581 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930584Sym1 _f_69895866216809298046989586621680930581)
instance forall k1 k2 k3 k4 (a_69895866216809298106989586621680930582 :: k1) (_f_69895866216809298046989586621680930581 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930584Sym2 a_69895866216809298106989586621680930582 _f_69895866216809298046989586621680930581)
instance forall k1 k2 k3 k4 (a_69895866216809298126989586621680930583 :: k1) (a_69895866216809298106989586621680930582 :: k2) (_f_69895866216809298046989586621680930581 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930584Sym3 a_69895866216809298126989586621680930583 a_69895866216809298106989586621680930582 _f_69895866216809298046989586621680930581)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930563Sym0
instance Data.Singletons.Prelude.Eq.PEq (Data.Semigroup.Arg a b)
instance forall a6989586621680929408 b6989586621680929409 (a6989586621680930561 :: Data.Semigroup.Arg a6989586621680929408 b6989586621680929409). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930563Sym1 a6989586621680930561)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680930551Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Max
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 (a6989586621680930549 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680930551Sym1 a6989586621680930549)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930535Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Max
instance forall a6989586621680486583 b6989586621680486584 (a6989586621680930532 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930535Sym1 a6989586621680930532)
instance forall a6989586621680486583 b6989586621680486584 (a6989586621680930533 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)) (a6989586621680930532 :: b6989586621680486584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930535Sym2 a6989586621680930533 a6989586621680930532)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680930522Sym0
instance forall a6989586621680486582 m6989586621680486581 (a6989586621680930520 :: a6989586621680486582 Data.Singletons.Internal.~> m6989586621680486581). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680930522Sym1 a6989586621680930520)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromInteger_6989586621680930512Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Semigroup.Max a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Signum_6989586621680930505Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Abs_6989586621680930498Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Negate_6989586621680930491Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930480Sym0
instance forall a6989586621680929398 (a6989586621680930478 :: Data.Semigroup.Max a6989586621680929398). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930480Sym1 a6989586621680930478)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930468Sym0
instance forall a6989586621680929398 (a6989586621680930466 :: Data.Semigroup.Max a6989586621680929398). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930468Sym1 a6989586621680930466)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930456Sym0
instance forall a6989586621680929398 (a6989586621680930454 :: Data.Semigroup.Max a6989586621680929398). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930456Sym1 a6989586621680930454)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.Max a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930442Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Max a)
instance forall a6989586621680929394 (a6989586621680930440 :: Data.Semigroup.Max a6989586621680929394). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930442Sym1 a6989586621680930440)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930430Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Max
instance forall a6989586621679566926 b6989586621679566927 (a6989586621680930428 :: Data.Semigroup.Max a6989586621679566926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930430Sym1 a6989586621680930428)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930414Sym0
instance forall a6989586621679566928 b6989586621679566929 (a6989586621680930412 :: Data.Semigroup.Max a6989586621679566928). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930414Sym1 a6989586621680930412)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930395Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Max
instance forall a6989586621679566899 b6989586621679566900 (a6989586621680930393 :: a6989586621679566899). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930395Sym1 a6989586621680930393)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930403Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.Max
instance forall k1 k2 k3 (_z_69895866216809297726989586621680930401 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930403Sym1 _z_69895866216809297726989586621680930401)
instance forall k1 k2 k3 (a_69895866216809297786989586621680930402 :: k1) (_z_69895866216809297726989586621680930401 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930403Sym2 a_69895866216809297786989586621680930402 _z_69895866216809297726989586621680930401)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680930383Sym0
instance forall a6989586621679566897 b6989586621679566898 (a6989586621680930381 :: a6989586621679566897 Data.Singletons.Internal.~> b6989586621679566898). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680930383Sym1 a6989586621680930381)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680930367Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.Max a)
instance forall a6989586621680929383 (a6989586621680930364 :: Data.Semigroup.Max a6989586621680929383). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680930367Sym1 a6989586621680930364)
instance forall a6989586621680929383 (a6989586621680930365 :: Data.Semigroup.Max a6989586621680929383) (a6989586621680930364 :: Data.Semigroup.Max a6989586621680929383). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680930367Sym2 a6989586621680930365 a6989586621680930364)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680930354Sym0
instance forall a6989586621680929383 (a6989586621680930352 :: Data.Semigroup.Max a6989586621680929383). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680930354Sym1 a6989586621680930352)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680930346Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680930337Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680930330Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680930323Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680930308Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Max
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 (a6989586621680930305 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680930308Sym1 a6989586621680930305)
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 (a6989586621680930306 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)) (a6989586621680930305 :: Data.Semigroup.Max a6989586621679566905). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680930308Sym2 a6989586621680930306 a6989586621680930305)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930295Sym0
instance forall a6989586621679566903 b6989586621679566904 (a6989586621680930293 :: Data.Semigroup.Max (a6989586621679566903 Data.Singletons.Internal.~> b6989586621679566904)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930295Sym1 a6989586621680930293)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930284Sym0
instance forall a6989586621679566908 b6989586621679566909 (a6989586621680930282 :: Data.Semigroup.Max a6989586621679566908). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930284Sym1 a6989586621680930282)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930273Sym0
instance forall a6989586621679566910 b6989586621679566911 (a6989586621680930271 :: Data.Semigroup.Max a6989586621679566910). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930273Sym1 a6989586621680930271)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680930263Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680930252Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Min
instance forall a6989586621680794772 (f6989586621680794771 :: * -> *) b6989586621680794773 (a6989586621680930250 :: a6989586621680794772 Data.Singletons.Internal.~> f6989586621680794771 b6989586621680794773). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680930252Sym1 a6989586621680930250)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930236Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Min
instance forall a6989586621680486583 b6989586621680486584 (a6989586621680930233 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930236Sym1 a6989586621680930233)
instance forall a6989586621680486583 b6989586621680486584 (a6989586621680930234 :: a6989586621680486583 Data.Singletons.Internal.~> (b6989586621680486584 Data.Singletons.Internal.~> b6989586621680486584)) (a6989586621680930233 :: b6989586621680486584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680930236Sym2 a6989586621680930234 a6989586621680930233)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680930223Sym0
instance forall a6989586621680486582 m6989586621680486581 (a6989586621680930221 :: a6989586621680486582 Data.Singletons.Internal.~> m6989586621680486581). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680930223Sym1 a6989586621680930221)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromInteger_6989586621680930213Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Semigroup.Min a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Signum_6989586621680930206Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Abs_6989586621680930199Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Negate_6989586621680930192Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930181Sym0
instance forall a6989586621680929366 (a6989586621680930179 :: Data.Semigroup.Min a6989586621680929366). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930181Sym1 a6989586621680930179)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930169Sym0
instance forall a6989586621680929366 (a6989586621680930167 :: Data.Semigroup.Min a6989586621680929366). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930169Sym1 a6989586621680930167)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930157Sym0
instance forall a6989586621680929366 (a6989586621680930155 :: Data.Semigroup.Min a6989586621680929366). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930157Sym1 a6989586621680930155)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.Min a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930143Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Min a)
instance forall a6989586621680929362 (a6989586621680930141 :: Data.Semigroup.Min a6989586621680929362). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930143Sym1 a6989586621680930141)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930131Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Min
instance forall a6989586621679566926 b6989586621679566927 (a6989586621680930129 :: Data.Semigroup.Min a6989586621679566926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930131Sym1 a6989586621680930129)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930115Sym0
instance forall a6989586621679566928 b6989586621679566929 (a6989586621680930113 :: Data.Semigroup.Min a6989586621679566928). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930115Sym1 a6989586621680930113)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930096Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Min
instance forall a6989586621679566899 b6989586621679566900 (a6989586621680930094 :: a6989586621679566899). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680930096Sym1 a6989586621680930094)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930104Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.Min
instance forall k1 k2 k3 (_z_69895866216809297416989586621680930102 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930104Sym1 _z_69895866216809297416989586621680930102)
instance forall k1 k2 k3 (a_69895866216809297476989586621680930103 :: k1) (_z_69895866216809297416989586621680930102 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680930104Sym2 a_69895866216809297476989586621680930103 _z_69895866216809297416989586621680930102)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680930084Sym0
instance forall a6989586621679566897 b6989586621679566898 (a6989586621680930082 :: a6989586621679566897 Data.Singletons.Internal.~> b6989586621679566898). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680930084Sym1 a6989586621680930082)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680930068Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.Min a)
instance forall a6989586621680929351 (a6989586621680930065 :: Data.Semigroup.Min a6989586621680929351). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680930068Sym1 a6989586621680930065)
instance forall a6989586621680929351 (a6989586621680930066 :: Data.Semigroup.Min a6989586621680929351) (a6989586621680930065 :: Data.Semigroup.Min a6989586621680929351). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680930068Sym2 a6989586621680930066 a6989586621680930065)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680930055Sym0
instance forall a6989586621680929351 (a6989586621680930053 :: Data.Semigroup.Min a6989586621680929351). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680930055Sym1 a6989586621680930053)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680930047Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680930038Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680930031Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680930024Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680930009Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Min
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 (a6989586621680930006 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680930009Sym1 a6989586621680930006)
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 (a6989586621680930007 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)) (a6989586621680930006 :: Data.Semigroup.Min a6989586621679566905). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680930009Sym2 a6989586621680930007 a6989586621680930006)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680929996Sym0
instance forall a6989586621679566903 b6989586621679566904 (a6989586621680929994 :: Data.Semigroup.Min (a6989586621679566903 Data.Singletons.Internal.~> b6989586621679566904)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680929996Sym1 a6989586621680929994)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680929985Sym0
instance forall a6989586621679566908 b6989586621679566909 (a6989586621680929983 :: Data.Semigroup.Min a6989586621679566908). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680929985Sym1 a6989586621680929983)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680929974Sym0
instance forall a6989586621679566910 b6989586621679566911 (a6989586621680929972 :: Data.Semigroup.Min a6989586621679566910). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680929974Sym1 a6989586621680929972)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680929964Sym0
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_6989586621680913790Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.WrappedMonoid m)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913790Sym1 a6989586621680913787)
instance forall m6989586621679085887 (a6989586621680913788 :: GHC.Types.Nat) (a6989586621680913787 :: Data.Semigroup.WrappedMonoid m6989586621679085887). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913790Sym2 a6989586621680913788 a6989586621680913787)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913759Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913759Sym1 a6989586621680913756)
instance forall a6989586621679059345 (a6989586621680913757 :: GHC.Types.Nat) (a6989586621680913756 :: Data.Semigroup.Last a6989586621679059345). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913759Sym2 a6989586621680913757 a6989586621680913756)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913728Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913728Sym1 a6989586621680913725)
instance forall a6989586621679059349 (a6989586621680913726 :: GHC.Types.Nat) (a6989586621680913725 :: Data.Semigroup.First a6989586621679059349). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913728Sym2 a6989586621680913726 a6989586621680913725)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913697Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Max a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913697Sym1 a6989586621680913694)
instance forall a6989586621679059341 (a6989586621680913695 :: GHC.Types.Nat) (a6989586621680913694 :: Data.Semigroup.Max a6989586621679059341). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913697Sym2 a6989586621680913695 a6989586621680913694)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913666Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Min a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913666Sym1 a6989586621680913663)
instance forall a6989586621679059337 (a6989586621680913664 :: GHC.Types.Nat) (a6989586621680913663 :: Data.Semigroup.Min a6989586621679059337). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913666Sym2 a6989586621680913664 a6989586621680913663)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913635Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Internal.Product a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913635Sym1 a6989586621680913632)
instance forall a6989586621679082609 (a6989586621680913633 :: GHC.Types.Nat) (a6989586621680913632 :: Data.Semigroup.Internal.Product a6989586621679082609). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913635Sym2 a6989586621680913633 a6989586621680913632)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913604Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Internal.Sum a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913604Sym1 a6989586621680913601)
instance forall a6989586621679082604 (a6989586621680913602 :: GHC.Types.Nat) (a6989586621680913601 :: Data.Semigroup.Internal.Sum a6989586621679082604). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913604Sym2 a6989586621680913602 a6989586621680913601)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913573Sym0
instance Data.Singletons.Prelude.Show.PShow Data.Semigroup.Internal.Any
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913573Sym1 a6989586621680913570)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913573Sym2 a6989586621680913571 a6989586621680913570)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913545Sym0
instance Data.Singletons.Prelude.Show.PShow Data.Semigroup.Internal.All
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913545Sym1 a6989586621680913542)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913545Sym2 a6989586621680913543 a6989586621680913542)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913517Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Internal.Dual a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913517Sym1 a6989586621680913514)
instance forall a6989586621679082619 (a6989586621680913515 :: GHC.Types.Nat) (a6989586621680913514 :: Data.Semigroup.Internal.Dual a6989586621679082619). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913517Sym2 a6989586621680913515 a6989586621680913514)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913486Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Option a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913486Sym1 a6989586621680913483)
instance forall a6989586621679059333 (a6989586621680913484 :: GHC.Types.Nat) (a6989586621680913483 :: Data.Semigroup.Option a6989586621679059333). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680913486Sym2 a6989586621680913484 a6989586621680913483)
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 a6989586621679060365 b6989586621679060366 (t6989586621680911674 :: a6989586621679060365). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ArgSym1 t6989586621680911674)


-- | 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_a1gkK :: a_11) (n_a1gkL :: [a_11]). () => Sing (n_a1gkK :: a_11) -> Sing (n_a1gkL :: [a_11]) -> SList ('(:) n_a1gkK n_a1gkL)
infixr 5 `SCons`
type family (++) (a_a2enh :: [a_a2ek6]) (a_a2eni :: [a_a2ek6]) :: [a_a2ek6]
infixr 5 ++
(%++) :: forall a_a2ek6 (t_a2eot :: [a_a2ek6]) (t_a2eou :: [a_a2ek6]). Sing t_a2eot -> Sing t_a2eou -> Sing (Apply (Apply (++@#@$) t_a2eot) t_a2eou :: [a_a2ek6])
infixr 5 %++
type family Head (a_a43fF :: [a_a41Rq]) :: a_a41Rq
sHead :: forall a_a41Rq (t_a43la :: [a_a41Rq]). Sing t_a43la -> Sing (Apply HeadSym0 t_a43la :: a_a41Rq)
type family Last (a_a43fA :: [a_a41Rp]) :: a_a41Rp
sLast :: forall a_a41Rp (t_a43l8 :: [a_a41Rp]). Sing t_a43l8 -> Sing (Apply LastSym0 t_a43l8 :: a_a41Rp)
type family Tail (a_a43fx :: [a_a41Ro]) :: [a_a41Ro]
sTail :: forall a_a41Ro (t_a43l6 :: [a_a41Ro]). Sing t_a43l6 -> Sing (Apply TailSym0 t_a43l6 :: [a_a41Ro])
type family Init (a_a43fj :: [a_a41Rn]) :: [a_a41Rn]
sInit :: forall a_a41Rn (t_a43l4 :: [a_a41Rn]). Sing t_a43l4 -> Sing (Apply InitSym0 t_a43l4 :: [a_a41Rn])
type family Null (arg_a6clM :: t_a6cb9 a_a6cbo) :: Bool
sNull :: forall a_a6cbo (t_a6cHE :: t_a6cb9 a_a6cbo). SFoldable t_a6cb9 => Sing t_a6cHE -> Sing (Apply NullSym0 t_a6cHE :: Bool)
type family Length (arg_a6clO :: t_a6cb9 a_a6cbp) :: Nat
sLength :: forall a_a6cbp (t_a6cHG :: t_a6cb9 a_a6cbp). SFoldable t_a6cb9 => Sing t_a6cHG -> Sing (Apply LengthSym0 t_a6cHG :: Nat)
type family Map (a_a2enp :: (~>) a_a2ek7 b_a2ek8) (a_a2enq :: [a_a2ek7]) :: [b_a2ek8]
sMap :: forall a_a2ek7 b_a2ek8 (t_a2eox :: (~>) a_a2ek7 b_a2ek8) (t_a2eoy :: [a_a2ek7]). Sing t_a2eox -> Sing t_a2eoy -> Sing (Apply (Apply MapSym0 t_a2eox) t_a2eoy :: [b_a2ek8])
type family Reverse (a_a43f4 :: [a_a41Rl]) :: [a_a41Rl]
sReverse :: forall a_a41Rl (t_a43l0 :: [a_a41Rl]). Sing t_a43l0 -> Sing (Apply ReverseSym0 t_a43l0 :: [a_a41Rl])
type family Intersperse (a_a43eX :: a_a41Rk) (a_a43eY :: [a_a41Rk]) :: [a_a41Rk]
sIntersperse :: forall a_a41Rk (t_a43kW :: a_a41Rk) (t_a43kX :: [a_a41Rk]). Sing t_a43kW -> Sing t_a43kX -> Sing (Apply (Apply IntersperseSym0 t_a43kW) t_a43kX :: [a_a41Rk])
type family Intercalate (a_a43eR :: [a_a41Rj]) (a_a43eS :: [[a_a41Rj]]) :: [a_a41Rj]
sIntercalate :: forall a_a41Rj (t_a43kS :: [a_a41Rj]) (t_a43kT :: [[a_a41Rj]]). Sing t_a43kS -> Sing t_a43kT -> Sing (Apply (Apply IntercalateSym0 t_a43kS) t_a43kT :: [a_a41Rj])
type family Transpose (a_a42UA :: [[a_a41Pu]]) :: [[a_a41Pu]]
sTranspose :: forall a_a41Pu (t_a43ga :: [[a_a41Pu]]). Sing t_a43ga -> Sing (Apply TransposeSym0 t_a43ga :: [[a_a41Pu]])
type family Subsequences (a_a43eO :: [a_a41Ri]) :: [[a_a41Ri]]
sSubsequences :: forall a_a41Ri (t_a43kQ :: [a_a41Ri]). Sing t_a43kQ -> Sing (Apply SubsequencesSym0 t_a43kQ :: [[a_a41Ri]])
type family Permutations (a_a43cU :: [a_a41Rf]) :: [[a_a41Rf]]
sPermutations :: forall a_a41Rf (t_a43kI :: [a_a41Rf]). Sing t_a43kI -> Sing (Apply PermutationsSym0 t_a43kI :: [[a_a41Rf]])
type family Foldl (arg_a6clq :: (~>) b_a6cbh ((~>) a_a6cbi b_a6cbh)) (arg_a6clr :: b_a6cbh) (arg_a6cls :: t_a6cb9 a_a6cbi) :: b_a6cbh
sFoldl :: forall b_a6cbh a_a6cbi (t_a6cHi :: (~>) b_a6cbh ((~>) a_a6cbi b_a6cbh)) (t_a6cHj :: b_a6cbh) (t_a6cHk :: t_a6cb9 a_a6cbi). SFoldable t_a6cb9 => Sing t_a6cHi -> Sing t_a6cHj -> Sing t_a6cHk -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cHi) t_a6cHj) t_a6cHk :: b_a6cbh)
type family Foldl' (arg_a6clw :: (~>) b_a6cbj ((~>) a_a6cbk b_a6cbj)) (arg_a6clx :: b_a6cbj) (arg_a6cly :: t_a6cb9 a_a6cbk) :: b_a6cbj
sFoldl' :: forall b_a6cbj a_a6cbk (t_a6cHo :: (~>) b_a6cbj ((~>) a_a6cbk b_a6cbj)) (t_a6cHp :: b_a6cbj) (t_a6cHq :: t_a6cb9 a_a6cbk). SFoldable t_a6cb9 => Sing t_a6cHo -> Sing t_a6cHp -> Sing t_a6cHq -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6cHo) t_a6cHp) t_a6cHq :: b_a6cbj)
type family Foldl1 (arg_a6clG :: (~>) a_a6cbm ((~>) a_a6cbm a_a6cbm)) (arg_a6clH :: t_a6cb9 a_a6cbm) :: a_a6cbm
sFoldl1 :: forall a_a6cbm (t_a6cHy :: (~>) a_a6cbm ((~>) a_a6cbm a_a6cbm)) (t_a6cHz :: t_a6cb9 a_a6cbm). SFoldable t_a6cb9 => Sing t_a6cHy -> Sing t_a6cHz -> Sing (Apply (Apply Foldl1Sym0 t_a6cHy) t_a6cHz :: a_a6cbm)
type family Foldl1' (a_a43ce :: (~>) a_a41Rb ((~>) a_a41Rb a_a41Rb)) (a_a43cf :: [a_a41Rb]) :: a_a41Rb
sFoldl1' :: forall a_a41Rb (t_a43ku :: (~>) a_a41Rb ((~>) a_a41Rb a_a41Rb)) (t_a43kv :: [a_a41Rb]). Sing t_a43ku -> Sing t_a43kv -> Sing (Apply (Apply Foldl1'Sym0 t_a43ku) t_a43kv :: a_a41Rb)
type family Foldr (arg_a6cle :: (~>) a_a6cbd ((~>) b_a6cbe b_a6cbe)) (arg_a6clf :: b_a6cbe) (arg_a6clg :: t_a6cb9 a_a6cbd) :: b_a6cbe
sFoldr :: forall a_a6cbd b_a6cbe (t_a6cH6 :: (~>) a_a6cbd ((~>) b_a6cbe b_a6cbe)) (t_a6cH7 :: b_a6cbe) (t_a6cH8 :: t_a6cb9 a_a6cbd). SFoldable t_a6cb9 => Sing t_a6cH6 -> Sing t_a6cH7 -> Sing t_a6cH8 -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cH6) t_a6cH7) t_a6cH8 :: b_a6cbe)
type family Foldr1 (arg_a6clC :: (~>) a_a6cbl ((~>) a_a6cbl a_a6cbl)) (arg_a6clD :: t_a6cb9 a_a6cbl) :: a_a6cbl
sFoldr1 :: forall a_a6cbl (t_a6cHu :: (~>) a_a6cbl ((~>) a_a6cbl a_a6cbl)) (t_a6cHv :: t_a6cb9 a_a6cbl). SFoldable t_a6cb9 => Sing t_a6cHu -> Sing t_a6cHv -> Sing (Apply (Apply Foldr1Sym0 t_a6cHu) t_a6cHv :: a_a6cbl)
type family Concat (a_a6cjk :: t_a6c9W [a_a6c9X]) :: [a_a6c9X]
sConcat :: forall t_a6c9W a_a6c9X (t_a6cFJ :: t_a6c9W [a_a6c9X]). SFoldable t_a6c9W => Sing t_a6cFJ -> Sing (Apply ConcatSym0 t_a6cFJ :: [a_a6c9X])
type family ConcatMap (a_a6cj4 :: (~>) a_a6c9U [b_a6c9V]) (a_a6cj5 :: t_a6c9T a_a6c9U) :: [b_a6c9V]
sConcatMap :: forall a_a6c9U b_a6c9V t_a6c9T (t_a6cFF :: (~>) a_a6c9U [b_a6c9V]) (t_a6cFG :: t_a6c9T a_a6c9U). SFoldable t_a6c9T => Sing t_a6cFF -> Sing t_a6cFG -> Sing (Apply (Apply ConcatMapSym0 t_a6cFF) t_a6cFG :: [b_a6c9V])
type family And (a_a6ciV :: t_a6c9S Bool) :: Bool
sAnd :: forall t_a6c9S (t_a6cFD :: t_a6c9S Bool). SFoldable t_a6c9S => Sing t_a6cFD -> Sing (Apply AndSym0 t_a6cFD :: Bool)
type family Or (a_a6ciM :: t_a6c9R Bool) :: Bool
sOr :: forall t_a6c9R (t_a6cFB :: t_a6c9R Bool). SFoldable t_a6c9R => Sing t_a6cFB -> Sing (Apply OrSym0 t_a6cFB :: Bool)
type family Any (a_a6ciz :: (~>) a_a6c9Q Bool) (a_a6ciA :: t_a6c9P a_a6c9Q) :: Bool
sAny :: forall a_a6c9Q t_a6c9P (t_a6cFx :: (~>) a_a6c9Q Bool) (t_a6cFy :: t_a6c9P a_a6c9Q). SFoldable t_a6c9P => Sing t_a6cFx -> Sing t_a6cFy -> Sing (Apply (Apply AnySym0 t_a6cFx) t_a6cFy :: Bool)
type family All (a_a6cim :: (~>) a_a6c9O Bool) (a_a6cin :: t_a6c9N a_a6c9O) :: Bool
sAll :: forall a_a6c9O t_a6c9N (t_a6cFt :: (~>) a_a6c9O Bool) (t_a6cFu :: t_a6c9N a_a6c9O). SFoldable t_a6c9N => Sing t_a6cFt -> Sing t_a6cFu -> Sing (Apply (Apply AllSym0 t_a6cFt) t_a6cFu :: Bool)
type family Sum (arg_a6clY :: t_a6cb9 a_a6cbt) :: a_a6cbt
sSum :: forall a_a6cbt (t_a6cHQ :: t_a6cb9 a_a6cbt). (SFoldable t_a6cb9, SNum a_a6cbt) => Sing t_a6cHQ -> Sing (Apply SumSym0 t_a6cHQ :: a_a6cbt)
type family Product (arg_a6cm0 :: t_a6cb9 a_a6cbu) :: a_a6cbu
sProduct :: forall a_a6cbu (t_a6cHS :: t_a6cb9 a_a6cbu). (SFoldable t_a6cb9, SNum a_a6cbu) => Sing t_a6cHS -> Sing (Apply ProductSym0 t_a6cHS :: a_a6cbu)
type family Maximum (arg_a6clU :: t_a6cb9 a_a6cbr) :: a_a6cbr
sMaximum :: forall a_a6cbr (t_a6cHM :: t_a6cb9 a_a6cbr). (SFoldable t_a6cb9, SOrd a_a6cbr) => Sing t_a6cHM -> Sing (Apply MaximumSym0 t_a6cHM :: a_a6cbr)
type family Minimum (arg_a6clW :: t_a6cb9 a_a6cbs) :: a_a6cbs
sMinimum :: forall a_a6cbs (t_a6cHO :: t_a6cb9 a_a6cbs). (SFoldable t_a6cb9, SOrd a_a6cbs) => Sing t_a6cHO -> Sing (Apply MinimumSym0 t_a6cHO :: a_a6cbs)
type family Scanl (a_a43bd :: (~>) b_a41R3 ((~>) a_a41R4 b_a41R3)) (a_a43be :: b_a41R3) (a_a43bf :: [a_a41R4]) :: [b_a41R3]
sScanl :: forall b_a41R3 a_a41R4 (t_a43k2 :: (~>) b_a41R3 ((~>) a_a41R4 b_a41R3)) (t_a43k3 :: b_a41R3) (t_a43k4 :: [a_a41R4]). Sing t_a43k2 -> Sing t_a43k3 -> Sing t_a43k4 -> Sing (Apply (Apply (Apply ScanlSym0 t_a43k2) t_a43k3) t_a43k4 :: [b_a41R3])
type family Scanl1 (a_a43b6 :: (~>) a_a41R2 ((~>) a_a41R2 a_a41R2)) (a_a43b7 :: [a_a41R2]) :: [a_a41R2]
sScanl1 :: forall a_a41R2 (t_a43jY :: (~>) a_a41R2 ((~>) a_a41R2 a_a41R2)) (t_a43jZ :: [a_a41R2]). Sing t_a43jY -> Sing t_a43jZ -> Sing (Apply (Apply Scanl1Sym0 t_a43jY) t_a43jZ :: [a_a41R2])
type family Scanr (a_a43aL :: (~>) a_a41R0 ((~>) b_a41R1 b_a41R1)) (a_a43aM :: b_a41R1) (a_a43aN :: [a_a41R0]) :: [b_a41R1]
sScanr :: forall a_a41R0 b_a41R1 (t_a43jS :: (~>) a_a41R0 ((~>) b_a41R1 b_a41R1)) (t_a43jT :: b_a41R1) (t_a43jU :: [a_a41R0]). Sing t_a43jS -> Sing t_a43jT -> Sing t_a43jU -> Sing (Apply (Apply (Apply ScanrSym0 t_a43jS) t_a43jT) t_a43jU :: [b_a41R1])
type family Scanr1 (a_a43an :: (~>) a_a41QZ ((~>) a_a41QZ a_a41QZ)) (a_a43ao :: [a_a41QZ]) :: [a_a41QZ]
sScanr1 :: forall a_a41QZ (t_a43jO :: (~>) a_a41QZ ((~>) a_a41QZ a_a41QZ)) (t_a43jP :: [a_a41QZ]). Sing t_a43jO -> Sing t_a43jP -> Sing (Apply (Apply Scanr1Sym0 t_a43jO) t_a43jP :: [a_a41QZ])
type family MapAccumL (a_a7vVl :: (~>) a_a7vNe ((~>) b_a7vNf (a_a7vNe, c_a7vNg))) (a_a7vVm :: a_a7vNe) (a_a7vVn :: t_a7vNd b_a7vNf) :: (a_a7vNe, t_a7vNd c_a7vNg)
sMapAccumL :: forall a_a7vNe b_a7vNf c_a7vNg t_a7vNd (t_a7w53 :: (~>) a_a7vNe ((~>) b_a7vNf (a_a7vNe, c_a7vNg))) (t_a7w54 :: a_a7vNe) (t_a7w55 :: t_a7vNd b_a7vNf). STraversable t_a7vNd => Sing t_a7w53 -> Sing t_a7w54 -> Sing t_a7w55 -> Sing (Apply (Apply (Apply MapAccumLSym0 t_a7w53) t_a7w54) t_a7w55 :: (a_a7vNe, t_a7vNd c_a7vNg))
type family MapAccumR (a_a7vV4 :: (~>) a_a7vNa ((~>) b_a7vNb (a_a7vNa, c_a7vNc))) (a_a7vV5 :: a_a7vNa) (a_a7vV6 :: t_a7vN9 b_a7vNb) :: (a_a7vNa, t_a7vN9 c_a7vNc)
sMapAccumR :: forall a_a7vNa b_a7vNb c_a7vNc t_a7vN9 (t_a7w4X :: (~>) a_a7vNa ((~>) b_a7vNb (a_a7vNa, c_a7vNc))) (t_a7w4Y :: a_a7vNa) (t_a7w4Z :: t_a7vN9 b_a7vNb). STraversable t_a7vN9 => Sing t_a7w4X -> Sing t_a7w4Y -> Sing t_a7w4Z -> Sing (Apply (Apply (Apply MapAccumRSym0 t_a7w4X) t_a7w4Y) t_a7w4Z :: (a_a7vNa, t_a7vN9 c_a7vNc))
type family Replicate (a_a42UG :: Nat) (a_a42UH :: a_a41Pv) :: [a_a41Pv]
sReplicate :: forall a_a41Pv (t_a43gc :: Nat) (t_a43gd :: a_a41Pv). Sing t_a43gc -> Sing t_a43gd -> Sing (Apply (Apply ReplicateSym0 t_a43gc) t_a43gd :: [a_a41Pv])
type family Unfoldr (a_a4385 :: (~>) b_a41QR (Maybe (a_a41QS, b_a41QR))) (a_a4386 :: b_a41QR) :: [a_a41QS]
sUnfoldr :: forall b_a41QR a_a41QS (t_a43jy :: (~>) b_a41QR (Maybe (a_a41QS, b_a41QR))) (t_a43jz :: b_a41QR). Sing t_a43jy -> Sing t_a43jz -> Sing (Apply (Apply UnfoldrSym0 t_a43jy) t_a43jz :: [a_a41QS])
type family Take (a_a42Xh :: Nat) (a_a42Xi :: [a_a41PL]) :: [a_a41PL]
sTake :: forall a_a41PL (t_a43gY :: Nat) (t_a43gZ :: [a_a41PL]). Sing t_a43gY -> Sing t_a43gZ -> Sing (Apply (Apply TakeSym0 t_a43gY) t_a43gZ :: [a_a41PL])
type family Drop (a_a42X3 :: Nat) (a_a42X4 :: [a_a41PK]) :: [a_a41PK]
sDrop :: forall a_a41PK (t_a43gU :: Nat) (t_a43gV :: [a_a41PK]). Sing t_a43gU -> Sing t_a43gV -> Sing (Apply (Apply DropSym0 t_a43gU) t_a43gV :: [a_a41PK])
type family SplitAt (a_a42WX :: Nat) (a_a42WY :: [a_a41PJ]) :: ([a_a41PJ], [a_a41PJ])
sSplitAt :: forall a_a41PJ (t_a43gQ :: Nat) (t_a43gR :: [a_a41PJ]). Sing t_a43gQ -> Sing t_a43gR -> Sing (Apply (Apply SplitAtSym0 t_a43gQ) t_a43gR :: ([a_a41PJ], [a_a41PJ]))
type family TakeWhile (a_a42ZB :: (~>) a_a41PQ Bool) (a_a42ZC :: [a_a41PQ]) :: [a_a41PQ]
sTakeWhile :: forall a_a41PQ (t_a43hi :: (~>) a_a41PQ Bool) (t_a43hj :: [a_a41PQ]). Sing t_a43hi -> Sing t_a43hj -> Sing (Apply (Apply TakeWhileSym0 t_a43hi) t_a43hj :: [a_a41PQ])
type family DropWhile (a_a42Zj :: (~>) a_a41PP Bool) (a_a42Zk :: [a_a41PP]) :: [a_a41PP]
sDropWhile :: forall a_a41PP (t_a43he :: (~>) a_a41PP Bool) (t_a43hf :: [a_a41PP]). Sing t_a43he -> Sing t_a43hf -> Sing (Apply (Apply DropWhileSym0 t_a43he) t_a43hf :: [a_a41PP])
type family DropWhileEnd (a_a42YT :: (~>) a_a41PO Bool) (a_a42YU :: [a_a41PO]) :: [a_a41PO]
sDropWhileEnd :: forall a_a41PO (t_a43ha :: (~>) a_a41PO Bool) (t_a43hb :: [a_a41PO]). Sing t_a43ha -> Sing t_a43hb -> Sing (Apply (Apply DropWhileEndSym0 t_a43ha) t_a43hb :: [a_a41PO])
type family Span (a_a42Yc :: (~>) a_a41PN Bool) (a_a42Yd :: [a_a41PN]) :: ([a_a41PN], [a_a41PN])
sSpan :: forall a_a41PN (t_a43h6 :: (~>) a_a41PN Bool) (t_a43h7 :: [a_a41PN]). Sing t_a43h6 -> Sing t_a43h7 -> Sing (Apply (Apply SpanSym0 t_a43h6) t_a43h7 :: ([a_a41PN], [a_a41PN]))
type family Break (a_a42Xv :: (~>) a_a41PM Bool) (a_a42Xw :: [a_a41PM]) :: ([a_a41PM], [a_a41PM])
sBreak :: forall a_a41PM (t_a43h2 :: (~>) a_a41PM Bool) (t_a43h3 :: [a_a41PM]). Sing t_a43h2 -> Sing t_a43h3 -> Sing (Apply (Apply BreakSym0 t_a43h2) t_a43h3 :: ([a_a41PM], [a_a41PM]))
type family StripPrefix (a_a4y3W :: [a_a4xCA]) (a_a4y3X :: [a_a4xCA]) :: Maybe [a_a4xCA]
type family Group (a_a42WU :: [a_a41PI]) :: [[a_a41PI]]
sGroup :: forall a_a41PI (t_a43gO :: [a_a41PI]). SEq a_a41PI => Sing t_a43gO -> Sing (Apply GroupSym0 t_a43gO :: [[a_a41PI]])
type family Inits (a_a437X :: [a_a41QQ]) :: [[a_a41QQ]]
sInits :: forall a_a41QQ (t_a43jw :: [a_a41QQ]). Sing t_a43jw -> Sing (Apply InitsSym0 t_a43jw :: [[a_a41QQ]])
type family Tails (a_a437Q :: [a_a41QP]) :: [[a_a41QP]]
sTails :: forall a_a41QP (t_a43ju :: [a_a41QP]). Sing t_a43ju -> Sing (Apply TailsSym0 t_a43ju :: [[a_a41QP]])
type family IsPrefixOf (a_a437I :: [a_a41QO]) (a_a437J :: [a_a41QO]) :: Bool
sIsPrefixOf :: forall a_a41QO (t_a43jq :: [a_a41QO]) (t_a43jr :: [a_a41QO]). SEq a_a41QO => Sing t_a43jq -> Sing t_a43jr -> Sing (Apply (Apply IsPrefixOfSym0 t_a43jq) t_a43jr :: Bool)
type family IsSuffixOf (a_a437C :: [a_a41QN]) (a_a437D :: [a_a41QN]) :: Bool
sIsSuffixOf :: forall a_a41QN (t_a43jm :: [a_a41QN]) (t_a43jn :: [a_a41QN]). SEq a_a41QN => Sing t_a43jm -> Sing t_a43jn -> Sing (Apply (Apply IsSuffixOfSym0 t_a43jm) t_a43jn :: Bool)
type family IsInfixOf (a_a437w :: [a_a41QM]) (a_a437x :: [a_a41QM]) :: Bool
sIsInfixOf :: forall a_a41QM (t_a43ji :: [a_a41QM]) (t_a43jj :: [a_a41QM]). SEq a_a41QM => Sing t_a43ji -> Sing t_a43jj -> Sing (Apply (Apply IsInfixOfSym0 t_a43ji) t_a43jj :: Bool)
type family Elem (arg_a6clQ :: a_a6cbq) (arg_a6clR :: t_a6cb9 a_a6cbq) :: Bool
sElem :: forall a_a6cbq (t_a6cHI :: a_a6cbq) (t_a6cHJ :: t_a6cb9 a_a6cbq). (SFoldable t_a6cb9, SEq a_a6cbq) => Sing t_a6cHI -> Sing t_a6cHJ -> Sing (Apply (Apply ElemSym0 t_a6cHI) t_a6cHJ :: Bool)
type family NotElem (a_a6chq :: a_a6c9I) (a_a6chr :: t_a6c9H a_a6c9I) :: Bool
sNotElem :: forall a_a6c9I t_a6c9H (t_a6cFh :: a_a6c9I) (t_a6cFi :: t_a6c9H a_a6c9I). (SFoldable t_a6c9H, SEq a_a6c9I) => Sing t_a6cFh -> Sing t_a6cFi -> Sing (Apply (Apply NotElemSym0 t_a6cFh) t_a6cFi :: Bool)
type family Lookup (a_a42VJ :: a_a41PB) (a_a42VK :: [(a_a41PB, b_a41PC)]) :: Maybe b_a41PC
sLookup :: forall a_a41PB b_a41PC (t_a43gw :: a_a41PB) (t_a43gx :: [(a_a41PB, b_a41PC)]). SEq a_a41PB => Sing t_a43gw -> Sing t_a43gx -> Sing (Apply (Apply LookupSym0 t_a43gw) t_a43gx :: Maybe b_a41PC)
type family Find (a_a6cgZ :: (~>) a_a6c9G Bool) (a_a6ch0 :: t_a6c9F a_a6c9G) :: Maybe a_a6c9G
sFind :: forall a_a6c9G t_a6c9F (t_a6cFd :: (~>) a_a6c9G Bool) (t_a6cFe :: t_a6c9F a_a6c9G). SFoldable t_a6c9F => Sing t_a6cFd -> Sing t_a6cFe -> Sing (Apply (Apply FindSym0 t_a6cFd) t_a6cFe :: Maybe a_a6c9G)
type family Filter (a_a431r :: (~>) a_a41PY Bool) (a_a431s :: [a_a41PY]) :: [a_a41PY]
sFilter :: forall a_a41PY (t_a43hQ :: (~>) a_a41PY Bool) (t_a43hR :: [a_a41PY]). Sing t_a43hQ -> Sing t_a43hR -> Sing (Apply (Apply FilterSym0 t_a43hQ) t_a43hR :: [a_a41PY])
type family Partition (a_a42VD :: (~>) a_a41PA Bool) (a_a42VE :: [a_a41PA]) :: ([a_a41PA], [a_a41PA])
sPartition :: forall a_a41PA (t_a43gs :: (~>) a_a41PA Bool) (t_a43gt :: [a_a41PA]). Sing t_a43gs -> Sing t_a43gt -> Sing (Apply (Apply PartitionSym0 t_a43gs) t_a43gt :: ([a_a41PA], [a_a41PA]))
type family (!!) (a_a42Um :: [a_a41Pt]) (a_a42Un :: Nat) :: a_a41Pt
infixl 9 !!
(%!!) :: forall a_a41Pt (t_a43g6 :: [a_a41Pt]) (t_a43g7 :: Nat). Sing t_a43g6 -> Sing t_a43g7 -> Sing (Apply (Apply (!!@#@$) t_a43g6) t_a43g7 :: a_a41Pt)
infixl 9 %!!
type family ElemIndex (a_a431b :: a_a41PW) (a_a431c :: [a_a41PW]) :: Maybe Nat
sElemIndex :: forall a_a41PW (t_a43hI :: a_a41PW) (t_a43hJ :: [a_a41PW]). SEq a_a41PW => Sing t_a43hI -> Sing t_a43hJ -> Sing (Apply (Apply ElemIndexSym0 t_a43hI) t_a43hJ :: Maybe Nat)
type family ElemIndices (a_a4313 :: a_a41PV) (a_a4314 :: [a_a41PV]) :: [Nat]
sElemIndices :: forall a_a41PV (t_a43hE :: a_a41PV) (t_a43hF :: [a_a41PV]). SEq a_a41PV => Sing t_a43hE -> Sing t_a43hF -> Sing (Apply (Apply ElemIndicesSym0 t_a43hE) t_a43hF :: [Nat])
type family FindIndex (a_a430V :: (~>) a_a41PU Bool) (a_a430W :: [a_a41PU]) :: Maybe Nat
sFindIndex :: forall a_a41PU (t_a43hA :: (~>) a_a41PU Bool) (t_a43hB :: [a_a41PU]). Sing t_a43hA -> Sing t_a43hB -> Sing (Apply (Apply FindIndexSym0 t_a43hA) t_a43hB :: Maybe Nat)
type family FindIndices (a_a430v :: (~>) a_a41PT Bool) (a_a430w :: [a_a41PT]) :: [Nat]
sFindIndices :: forall a_a41PT (t_a43hw :: (~>) a_a41PT Bool) (t_a43hx :: [a_a41PT]). Sing t_a43hw -> Sing t_a43hx -> Sing (Apply (Apply FindIndicesSym0 t_a43hw) t_a43hx :: [Nat])
type family Zip (a_a437a :: [a_a41QI]) (a_a437b :: [b_a41QJ]) :: [(a_a41QI, b_a41QJ)]
sZip :: forall a_a41QI b_a41QJ (t_a43j6 :: [a_a41QI]) (t_a43j7 :: [b_a41QJ]). Sing t_a43j6 -> Sing t_a43j7 -> Sing (Apply (Apply ZipSym0 t_a43j6) t_a43j7 :: [(a_a41QI, b_a41QJ)])
type family Zip3 (a_a436Y :: [a_a41QF]) (a_a436Z :: [b_a41QG]) (a_a4370 :: [c_a41QH]) :: [(a_a41QF, b_a41QG, c_a41QH)]
sZip3 :: forall a_a41QF b_a41QG c_a41QH (t_a43j0 :: [a_a41QF]) (t_a43j1 :: [b_a41QG]) (t_a43j2 :: [c_a41QH]). Sing t_a43j0 -> Sing t_a43j1 -> Sing t_a43j2 -> Sing (Apply (Apply (Apply Zip3Sym0 t_a43j0) t_a43j1) t_a43j2 :: [(a_a41QF, b_a41QG, c_a41QH)])
type family Zip4 (a_a4y3K :: [a_a4xCw]) (a_a4y3L :: [b_a4xCx]) (a_a4y3M :: [c_a4xCy]) (a_a4y3N :: [d_a4xCz]) :: [(a_a4xCw, b_a4xCx, c_a4xCy, d_a4xCz)]
type family Zip5 (a_a4y3n :: [a_a4xCr]) (a_a4y3o :: [b_a4xCs]) (a_a4y3p :: [c_a4xCt]) (a_a4y3q :: [d_a4xCu]) (a_a4y3r :: [e_a4xCv]) :: [(a_a4xCr, b_a4xCs, c_a4xCt, d_a4xCu, e_a4xCv)]
type family Zip6 (a_a4y2V :: [a_a4xCl]) (a_a4y2W :: [b_a4xCm]) (a_a4y2X :: [c_a4xCn]) (a_a4y2Y :: [d_a4xCo]) (a_a4y2Z :: [e_a4xCp]) (a_a4y30 :: [f_a4xCq]) :: [(a_a4xCl, b_a4xCm, c_a4xCn, d_a4xCo, e_a4xCp, f_a4xCq)]
type family Zip7 (a_a4y2o :: [a_a4xCe]) (a_a4y2p :: [b_a4xCf]) (a_a4y2q :: [c_a4xCg]) (a_a4y2r :: [d_a4xCh]) (a_a4y2s :: [e_a4xCi]) (a_a4y2t :: [f_a4xCj]) (a_a4y2u :: [g_a4xCk]) :: [(a_a4xCe, b_a4xCf, c_a4xCg, d_a4xCh, e_a4xCi, f_a4xCj, g_a4xCk)]
type family ZipWith (a_a436N :: (~>) a_a41QC ((~>) b_a41QD c_a41QE)) (a_a436O :: [a_a41QC]) (a_a436P :: [b_a41QD]) :: [c_a41QE]
sZipWith :: forall a_a41QC b_a41QD c_a41QE (t_a43iU :: (~>) a_a41QC ((~>) b_a41QD c_a41QE)) (t_a43iV :: [a_a41QC]) (t_a43iW :: [b_a41QD]). Sing t_a43iU -> Sing t_a43iV -> Sing t_a43iW -> Sing (Apply (Apply (Apply ZipWithSym0 t_a43iU) t_a43iV) t_a43iW :: [c_a41QE])
type family ZipWith3 (a_a436y :: (~>) a_a41Qy ((~>) b_a41Qz ((~>) c_a41QA d_a41QB))) (a_a436z :: [a_a41Qy]) (a_a436A :: [b_a41Qz]) (a_a436B :: [c_a41QA]) :: [d_a41QB]
sZipWith3 :: forall a_a41Qy b_a41Qz c_a41QA d_a41QB (t_a43iM :: (~>) a_a41Qy ((~>) b_a41Qz ((~>) c_a41QA d_a41QB))) (t_a43iN :: [a_a41Qy]) (t_a43iO :: [b_a41Qz]) (t_a43iP :: [c_a41QA]). Sing t_a43iM -> Sing t_a43iN -> Sing t_a43iO -> Sing t_a43iP -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a43iM) t_a43iN) t_a43iO) t_a43iP :: [d_a41QB])
type family ZipWith4 (a_a4y1R :: (~>) a_a4xC9 ((~>) b_a4xCa ((~>) c_a4xCb ((~>) d_a4xCc e_a4xCd)))) (a_a4y1S :: [a_a4xC9]) (a_a4y1T :: [b_a4xCa]) (a_a4y1U :: [c_a4xCb]) (a_a4y1V :: [d_a4xCc]) :: [e_a4xCd]
type family ZipWith5 (a_a4y1u :: (~>) a_a4xC3 ((~>) b_a4xC4 ((~>) c_a4xC5 ((~>) d_a4xC6 ((~>) e_a4xC7 f_a4xC8))))) (a_a4y1v :: [a_a4xC3]) (a_a4y1w :: [b_a4xC4]) (a_a4y1x :: [c_a4xC5]) (a_a4y1y :: [d_a4xC6]) (a_a4y1z :: [e_a4xC7]) :: [f_a4xC8]
type family ZipWith6 (a_a4y13 :: (~>) a_a4xBW ((~>) b_a4xBX ((~>) c_a4xBY ((~>) d_a4xBZ ((~>) e_a4xC0 ((~>) f_a4xC1 g_a4xC2)))))) (a_a4y14 :: [a_a4xBW]) (a_a4y15 :: [b_a4xBX]) (a_a4y16 :: [c_a4xBY]) (a_a4y17 :: [d_a4xBZ]) (a_a4y18 :: [e_a4xC0]) (a_a4y19 :: [f_a4xC1]) :: [g_a4xC2]
type family ZipWith7 (a_a4y0y :: (~>) a_a4xBO ((~>) b_a4xBP ((~>) c_a4xBQ ((~>) d_a4xBR ((~>) e_a4xBS ((~>) f_a4xBT ((~>) g_a4xBU h_a4xBV))))))) (a_a4y0z :: [a_a4xBO]) (a_a4y0A :: [b_a4xBP]) (a_a4y0B :: [c_a4xBQ]) (a_a4y0C :: [d_a4xBR]) (a_a4y0D :: [e_a4xBS]) (a_a4y0E :: [f_a4xBT]) (a_a4y0F :: [g_a4xBU]) :: [h_a4xBV]
type family Unzip (a_a436f :: [(a_a41Qw, b_a41Qx)]) :: ([a_a41Qw], [b_a41Qx])
sUnzip :: forall a_a41Qw b_a41Qx (t_a43iK :: [(a_a41Qw, b_a41Qx)]). Sing t_a43iK -> Sing (Apply UnzipSym0 t_a43iK :: ([a_a41Qw], [b_a41Qx]))
type family Unzip3 (a_a435U :: [(a_a41Qt, b_a41Qu, c_a41Qv)]) :: ([a_a41Qt], [b_a41Qu], [c_a41Qv])
sUnzip3 :: forall a_a41Qt b_a41Qu c_a41Qv (t_a43iI :: [(a_a41Qt, b_a41Qu, c_a41Qv)]). Sing t_a43iI -> Sing (Apply Unzip3Sym0 t_a43iI :: ([a_a41Qt], [b_a41Qu], [c_a41Qv]))
type family Unzip4 (a_a435x :: [(a_a41Qp, b_a41Qq, c_a41Qr, d_a41Qs)]) :: ([a_a41Qp], [b_a41Qq], [c_a41Qr], [d_a41Qs])
sUnzip4 :: forall a_a41Qp b_a41Qq c_a41Qr d_a41Qs (t_a43iG :: [(a_a41Qp, b_a41Qq, c_a41Qr, d_a41Qs)]). Sing t_a43iG -> Sing (Apply Unzip4Sym0 t_a43iG :: ([a_a41Qp], [b_a41Qq], [c_a41Qr], [d_a41Qs]))
type family Unzip5 (a_a4358 :: [(a_a41Qk, b_a41Ql, c_a41Qm, d_a41Qn, e_a41Qo)]) :: ([a_a41Qk], [b_a41Ql], [c_a41Qm], [d_a41Qn], [e_a41Qo])
sUnzip5 :: forall a_a41Qk b_a41Ql c_a41Qm d_a41Qn e_a41Qo (t_a43iE :: [(a_a41Qk, b_a41Ql, c_a41Qm, d_a41Qn, e_a41Qo)]). Sing t_a43iE -> Sing (Apply Unzip5Sym0 t_a43iE :: ([a_a41Qk], [b_a41Ql], [c_a41Qm], [d_a41Qn], [e_a41Qo]))
type family Unzip6 (a_a434H :: [(a_a41Qe, b_a41Qf, c_a41Qg, d_a41Qh, e_a41Qi, f_a41Qj)]) :: ([a_a41Qe], [b_a41Qf], [c_a41Qg], [d_a41Qh], [e_a41Qi], [f_a41Qj])
sUnzip6 :: forall a_a41Qe b_a41Qf c_a41Qg d_a41Qh e_a41Qi f_a41Qj (t_a43iC :: [(a_a41Qe, b_a41Qf, c_a41Qg, d_a41Qh, e_a41Qi, f_a41Qj)]). Sing t_a43iC -> Sing (Apply Unzip6Sym0 t_a43iC :: ([a_a41Qe], [b_a41Qf], [c_a41Qg], [d_a41Qh], [e_a41Qi], [f_a41Qj]))
type family Unzip7 (a_a434e :: [(a_a41Q7, b_a41Q8, c_a41Q9, d_a41Qa, e_a41Qb, f_a41Qc, g_a41Qd)]) :: ([a_a41Q7], [b_a41Q8], [c_a41Q9], [d_a41Qa], [e_a41Qb], [f_a41Qc], [g_a41Qd])
sUnzip7 :: forall a_a41Q7 b_a41Q8 c_a41Q9 d_a41Qa e_a41Qb f_a41Qc g_a41Qd (t_a43iA :: [(a_a41Q7, b_a41Q8, c_a41Q9, d_a41Qa, e_a41Qb, f_a41Qc, g_a41Qd)]). Sing t_a43iA -> Sing (Apply Unzip7Sym0 t_a43iA :: ([a_a41Q7], [b_a41Q8], [c_a41Q9], [d_a41Qa], [e_a41Qb], [f_a41Qc], [g_a41Qd]))
type family Unlines (a_a434a :: [Symbol]) :: Symbol
sUnlines :: forall (t_a43iy :: [Symbol]). Sing t_a43iy -> Sing (Apply UnlinesSym0 t_a43iy :: Symbol)
type family Unwords (a_a433Z :: [Symbol]) :: Symbol
sUnwords :: forall (t_a43iw :: [Symbol]). Sing t_a43iw -> Sing (Apply UnwordsSym0 t_a43iw :: Symbol)
type family Nub (a_a42U2 :: [a_a41Ps]) :: [a_a41Ps]
sNub :: forall a_a41Ps (t_a43g4 :: [a_a41Ps]). SEq a_a41Ps => Sing t_a43g4 -> Sing (Apply NubSym0 t_a43g4 :: [a_a41Ps])
type family Delete (a_a433T :: a_a41Q6) (a_a433U :: [a_a41Q6]) :: [a_a41Q6]
sDelete :: forall a_a41Q6 (t_a43is :: a_a41Q6) (t_a43it :: [a_a41Q6]). SEq a_a41Q6 => Sing t_a43is -> Sing t_a43it -> Sing (Apply (Apply DeleteSym0 t_a43is) t_a43it :: [a_a41Q6])
type family (\\) (a_a433J :: [a_a41Q5]) (a_a433K :: [a_a41Q5]) :: [a_a41Q5]
infix 5 \\
(%\\) :: forall a_a41Q5 (t_a43io :: [a_a41Q5]) (t_a43ip :: [a_a41Q5]). SEq a_a41Q5 => Sing t_a43io -> Sing t_a43ip -> Sing (Apply (Apply (\\@#@$) t_a43io) t_a43ip :: [a_a41Q5])
infix 5 %\\
type family Union (a_a42Te :: [a_a41Po]) (a_a42Tf :: [a_a41Po]) :: [a_a41Po]
sUnion :: forall a_a41Po (t_a43fK :: [a_a41Po]) (t_a43fL :: [a_a41Po]). SEq a_a41Po => Sing t_a43fK -> Sing t_a43fL -> Sing (Apply (Apply UnionSym0 t_a43fK) t_a43fL :: [a_a41Po])
type family Intersect (a_a430p :: [a_a41PS]) (a_a430q :: [a_a41PS]) :: [a_a41PS]
sIntersect :: forall a_a41PS (t_a43hs :: [a_a41PS]) (t_a43ht :: [a_a41PS]). SEq a_a41PS => Sing t_a43hs -> Sing t_a43ht -> Sing (Apply (Apply IntersectSym0 t_a43hs) t_a43ht :: [a_a41PS])
type family Insert (a_a42WA :: a_a41PF) (a_a42WB :: [a_a41PF]) :: [a_a41PF]
sInsert :: forall a_a41PF (t_a43gG :: a_a41PF) (t_a43gH :: [a_a41PF]). SOrd a_a41PF => Sing t_a43gG -> Sing t_a43gH -> Sing (Apply (Apply InsertSym0 t_a43gG) t_a43gH :: [a_a41PF])
type family Sort (a_a42Wx :: [a_a41PE]) :: [a_a41PE]
sSort :: forall a_a41PE (t_a43gE :: [a_a41PE]). SOrd a_a41PE => Sing t_a43gE -> Sing (Apply SortSym0 t_a43gE :: [a_a41PE])
type family NubBy (a_a42TD :: (~>) a_a41Pr ((~>) a_a41Pr Bool)) (a_a42TE :: [a_a41Pr]) :: [a_a41Pr]
sNubBy :: forall a_a41Pr (t_a43g0 :: (~>) a_a41Pr ((~>) a_a41Pr Bool)) (t_a43g1 :: [a_a41Pr]). Sing t_a43g0 -> Sing t_a43g1 -> Sing (Apply (Apply NubBySym0 t_a43g0) t_a43g1 :: [a_a41Pr])
type family DeleteBy (a_a433n :: (~>) a_a41Q4 ((~>) a_a41Q4 Bool)) (a_a433o :: a_a41Q4) (a_a433p :: [a_a41Q4]) :: [a_a41Q4]
sDeleteBy :: forall a_a41Q4 (t_a43ii :: (~>) a_a41Q4 ((~>) a_a41Q4 Bool)) (t_a43ij :: a_a41Q4) (t_a43ik :: [a_a41Q4]). Sing t_a43ii -> Sing t_a43ij -> Sing t_a43ik -> Sing (Apply (Apply (Apply DeleteBySym0 t_a43ii) t_a43ij) t_a43ik :: [a_a41Q4])
type family DeleteFirstsBy (a_a433a :: (~>) a_a41Q3 ((~>) a_a41Q3 Bool)) (a_a433b :: [a_a41Q3]) (a_a433c :: [a_a41Q3]) :: [a_a41Q3]
sDeleteFirstsBy :: forall a_a41Q3 (t_a43ic :: (~>) a_a41Q3 ((~>) a_a41Q3 Bool)) (t_a43id :: [a_a41Q3]) (t_a43ie :: [a_a41Q3]). Sing t_a43ic -> Sing t_a43id -> Sing t_a43ie -> Sing (Apply (Apply (Apply DeleteFirstsBySym0 t_a43ic) t_a43id) t_a43ie :: [a_a41Q3])
type family UnionBy (a_a42Tk :: (~>) a_a41Pp ((~>) a_a41Pp Bool)) (a_a42Tl :: [a_a41Pp]) (a_a42Tm :: [a_a41Pp]) :: [a_a41Pp]
sUnionBy :: forall a_a41Pp (t_a43fO :: (~>) a_a41Pp ((~>) a_a41Pp Bool)) (t_a43fP :: [a_a41Pp]) (t_a43fQ :: [a_a41Pp]). Sing t_a43fO -> Sing t_a43fP -> Sing t_a43fQ -> Sing (Apply (Apply (Apply UnionBySym0 t_a43fO) t_a43fP) t_a43fQ :: [a_a41Pp])
type family IntersectBy (a_a42ZP :: (~>) a_a41PR ((~>) a_a41PR Bool)) (a_a42ZQ :: [a_a41PR]) (a_a42ZR :: [a_a41PR]) :: [a_a41PR]
sIntersectBy :: forall a_a41PR (t_a43hm :: (~>) a_a41PR ((~>) a_a41PR Bool)) (t_a43hn :: [a_a41PR]) (t_a43ho :: [a_a41PR]). Sing t_a43hm -> Sing t_a43hn -> Sing t_a43ho -> Sing (Apply (Apply (Apply IntersectBySym0 t_a43hm) t_a43hn) t_a43ho :: [a_a41PR])
type family GroupBy (a_a42W0 :: (~>) a_a41PD ((~>) a_a41PD Bool)) (a_a42W1 :: [a_a41PD]) :: [[a_a41PD]]
sGroupBy :: forall a_a41PD (t_a43gA :: (~>) a_a41PD ((~>) a_a41PD Bool)) (t_a43gB :: [a_a41PD]). Sing t_a43gA -> Sing t_a43gB -> Sing (Apply (Apply GroupBySym0 t_a43gA) t_a43gB :: [[a_a41PD]])
type family SortBy (a_a4332 :: (~>) a_a41Q2 ((~>) a_a41Q2 Ordering)) (a_a4333 :: [a_a41Q2]) :: [a_a41Q2]
sSortBy :: forall a_a41Q2 (t_a43i8 :: (~>) a_a41Q2 ((~>) a_a41Q2 Ordering)) (t_a43i9 :: [a_a41Q2]). Sing t_a43i8 -> Sing t_a43i9 -> Sing (Apply (Apply SortBySym0 t_a43i8) t_a43i9 :: [a_a41Q2])
type family InsertBy (a_a432E :: (~>) a_a41Q1 ((~>) a_a41Q1 Ordering)) (a_a432F :: a_a41Q1) (a_a432G :: [a_a41Q1]) :: [a_a41Q1]
sInsertBy :: forall a_a41Q1 (t_a43i2 :: (~>) a_a41Q1 ((~>) a_a41Q1 Ordering)) (t_a43i3 :: a_a41Q1) (t_a43i4 :: [a_a41Q1]). Sing t_a43i2 -> Sing t_a43i3 -> Sing t_a43i4 -> Sing (Apply (Apply (Apply InsertBySym0 t_a43i2) t_a43i3) t_a43i4 :: [a_a41Q1])
type family MaximumBy (a_a6chX :: (~>) a_a6c9M ((~>) a_a6c9M Ordering)) (a_a6chY :: t_a6c9L a_a6c9M) :: a_a6c9M
sMaximumBy :: forall a_a6c9M t_a6c9L (t_a6cFp :: (~>) a_a6c9M ((~>) a_a6c9M Ordering)) (t_a6cFq :: t_a6c9L a_a6c9M). SFoldable t_a6c9L => Sing t_a6cFp -> Sing t_a6cFq -> Sing (Apply (Apply MaximumBySym0 t_a6cFp) t_a6cFq :: a_a6c9M)
type family MinimumBy (a_a6chy :: (~>) a_a6c9K ((~>) a_a6c9K Ordering)) (a_a6chz :: t_a6c9J a_a6c9K) :: a_a6c9K
sMinimumBy :: forall a_a6c9K t_a6c9J (t_a6cFl :: (~>) a_a6c9K ((~>) a_a6c9K Ordering)) (t_a6cFm :: t_a6c9J a_a6c9K). SFoldable t_a6c9J => Sing t_a6cFl -> Sing t_a6cFm -> Sing (Apply (Apply MinimumBySym0 t_a6cFl) t_a6cFm :: a_a6c9K)
type family GenericLength (a_a42T7 :: [a_a41Pn]) :: i_a41Pm
sGenericLength :: forall a_a41Pn i_a41Pm (t_a43fI :: [a_a41Pn]). SNum i_a41Pm => Sing t_a43fI -> Sing (Apply GenericLengthSym0 t_a43fI :: i_a41Pm)
type family GenericTake (a_a4y0s :: i_a4xBM) (a_a4y0t :: [a_a4xBN]) :: [a_a4xBN]
type family GenericDrop (a_a4y0i :: i_a4xBK) (a_a4y0j :: [a_a4xBL]) :: [a_a4xBL]
type family GenericSplitAt (a_a4y08 :: i_a4xBI) (a_a4y09 :: [a_a4xBJ]) :: ([a_a4xBJ], [a_a4xBJ])
type family GenericIndex (a_a4xZY :: [a_a4xBH]) (a_a4xZZ :: i_a4xBG) :: a_a4xBH
type family GenericReplicate (a_a4xZO :: i_a4xBE) (a_a4xZP :: a_a4xBF) :: [a_a4xBF]
type NilSym0 = '[]
data (:@#@$) :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 ((~>) [a3530822107858468865] [a3530822107858468865 :: Type])
infixr 5 :@#@$
data (:@#@$$) (t6989586621679310906 :: a3530822107858468865 :: Type) :: (~>) [a3530822107858468865] [a3530822107858468865 :: Type]
infixr 5 :@#@$$
type (:@#@$$$) (t6989586621679310906 :: a3530822107858468865) (t6989586621679310907 :: [a3530822107858468865]) = '(:) t6989586621679310906 t6989586621679310907
type (++@#@$$$) (a6989586621679541707 :: [a6989586621679541510]) (a6989586621679541708 :: [a6989586621679541510]) = (++) a6989586621679541707 a6989586621679541708
data (++@#@$$) (a6989586621679541707 :: [a6989586621679541510]) :: (~>) [a6989586621679541510] [a6989586621679541510]
infixr 5 ++@#@$$
data (++@#@$) :: forall a6989586621679541510. (~>) [a6989586621679541510] ((~>) [a6989586621679541510] [a6989586621679541510])
infixr 5 ++@#@$
data HeadSym0 :: forall a6989586621679970260. (~>) [a6989586621679970260] a6989586621679970260
type HeadSym1 (a6989586621679975607 :: [a6989586621679970260]) = Head a6989586621679975607
data LastSym0 :: forall a6989586621679970259. (~>) [a6989586621679970259] a6989586621679970259
type LastSym1 (a6989586621679975602 :: [a6989586621679970259]) = Last a6989586621679975602
data TailSym0 :: forall a6989586621679970258. (~>) [a6989586621679970258] [a6989586621679970258]
type TailSym1 (a6989586621679975599 :: [a6989586621679970258]) = Tail a6989586621679975599
data InitSym0 :: forall a6989586621679970257. (~>) [a6989586621679970257] [a6989586621679970257]
type InitSym1 (a6989586621679975585 :: [a6989586621679970257]) = Init a6989586621679975585
data NullSym0 :: forall t6989586621680486579 a6989586621680486594. (~>) (t6989586621680486579 a6989586621680486594) Bool
type NullSym1 (arg6989586621680487238 :: t6989586621680486579 a6989586621680486594) = Null arg6989586621680487238
data LengthSym0 :: forall t6989586621680486579 a6989586621680486595. (~>) (t6989586621680486579 a6989586621680486595) Nat
type LengthSym1 (arg6989586621680487240 :: t6989586621680486579 a6989586621680486595) = Length arg6989586621680487240
data MapSym0 :: forall a6989586621679541511 b6989586621679541512. (~>) ((~>) a6989586621679541511 b6989586621679541512) ((~>) [a6989586621679541511] [b6989586621679541512])
data MapSym1 (a6989586621679541715 :: (~>) a6989586621679541511 b6989586621679541512) :: (~>) [a6989586621679541511] [b6989586621679541512]
type MapSym2 (a6989586621679541715 :: (~>) a6989586621679541511 b6989586621679541512) (a6989586621679541716 :: [a6989586621679541511]) = Map a6989586621679541715 a6989586621679541716
data ReverseSym0 :: forall a6989586621679970255. (~>) [a6989586621679970255] [a6989586621679970255]
type ReverseSym1 (a6989586621679975570 :: [a6989586621679970255]) = Reverse a6989586621679975570
data IntersperseSym0 :: forall a6989586621679970254. (~>) a6989586621679970254 ((~>) [a6989586621679970254] [a6989586621679970254])
data IntersperseSym1 (a6989586621679975563 :: a6989586621679970254) :: (~>) [a6989586621679970254] [a6989586621679970254]
type IntersperseSym2 (a6989586621679975563 :: a6989586621679970254) (a6989586621679975564 :: [a6989586621679970254]) = Intersperse a6989586621679975563 a6989586621679975564
data IntercalateSym0 :: forall a6989586621679970253. (~>) [a6989586621679970253] ((~>) [[a6989586621679970253]] [a6989586621679970253])
data IntercalateSym1 (a6989586621679975557 :: [a6989586621679970253]) :: (~>) [[a6989586621679970253]] [a6989586621679970253]
type IntercalateSym2 (a6989586621679975557 :: [a6989586621679970253]) (a6989586621679975558 :: [[a6989586621679970253]]) = Intercalate a6989586621679975557 a6989586621679975558
data TransposeSym0 :: forall a6989586621679970140. (~>) [[a6989586621679970140]] [[a6989586621679970140]]
type TransposeSym1 (a6989586621679974300 :: [[a6989586621679970140]]) = Transpose a6989586621679974300
data SubsequencesSym0 :: forall a6989586621679970252. (~>) [a6989586621679970252] [[a6989586621679970252]]
type SubsequencesSym1 (a6989586621679975554 :: [a6989586621679970252]) = Subsequences a6989586621679975554
data PermutationsSym0 :: forall a6989586621679970249. (~>) [a6989586621679970249] [[a6989586621679970249]]
type PermutationsSym1 (a6989586621679975436 :: [a6989586621679970249]) = Permutations a6989586621679975436
data FoldlSym0 :: forall b6989586621680486587 a6989586621680486588 t6989586621680486579. (~>) ((~>) b6989586621680486587 ((~>) a6989586621680486588 b6989586621680486587)) ((~>) b6989586621680486587 ((~>) (t6989586621680486579 a6989586621680486588) b6989586621680486587))
data FoldlSym1 (arg6989586621680487216 :: (~>) b6989586621680486587 ((~>) a6989586621680486588 b6989586621680486587)) :: forall t6989586621680486579. (~>) b6989586621680486587 ((~>) (t6989586621680486579 a6989586621680486588) b6989586621680486587)
data FoldlSym2 (arg6989586621680487216 :: (~>) b6989586621680486587 ((~>) a6989586621680486588 b6989586621680486587)) (arg6989586621680487217 :: b6989586621680486587) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486588) b6989586621680486587
type FoldlSym3 (arg6989586621680487216 :: (~>) b6989586621680486587 ((~>) a6989586621680486588 b6989586621680486587)) (arg6989586621680487217 :: b6989586621680486587) (arg6989586621680487218 :: t6989586621680486579 a6989586621680486588) = Foldl arg6989586621680487216 arg6989586621680487217 arg6989586621680487218
data Foldl'Sym0 :: forall b6989586621680486589 a6989586621680486590 t6989586621680486579. (~>) ((~>) b6989586621680486589 ((~>) a6989586621680486590 b6989586621680486589)) ((~>) b6989586621680486589 ((~>) (t6989586621680486579 a6989586621680486590) b6989586621680486589))
data Foldl'Sym1 (arg6989586621680487222 :: (~>) b6989586621680486589 ((~>) a6989586621680486590 b6989586621680486589)) :: forall t6989586621680486579. (~>) b6989586621680486589 ((~>) (t6989586621680486579 a6989586621680486590) b6989586621680486589)
data Foldl'Sym2 (arg6989586621680487222 :: (~>) b6989586621680486589 ((~>) a6989586621680486590 b6989586621680486589)) (arg6989586621680487223 :: b6989586621680486589) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486590) b6989586621680486589
type Foldl'Sym3 (arg6989586621680487222 :: (~>) b6989586621680486589 ((~>) a6989586621680486590 b6989586621680486589)) (arg6989586621680487223 :: b6989586621680486589) (arg6989586621680487224 :: t6989586621680486579 a6989586621680486590) = Foldl' arg6989586621680487222 arg6989586621680487223 arg6989586621680487224
data Foldl1Sym0 :: forall a6989586621680486592 t6989586621680486579. (~>) ((~>) a6989586621680486592 ((~>) a6989586621680486592 a6989586621680486592)) ((~>) (t6989586621680486579 a6989586621680486592) a6989586621680486592)
data Foldl1Sym1 (arg6989586621680487232 :: (~>) a6989586621680486592 ((~>) a6989586621680486592 a6989586621680486592)) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486592) a6989586621680486592
type Foldl1Sym2 (arg6989586621680487232 :: (~>) a6989586621680486592 ((~>) a6989586621680486592 a6989586621680486592)) (arg6989586621680487233 :: t6989586621680486579 a6989586621680486592) = Foldl1 arg6989586621680487232 arg6989586621680487233
data Foldl1'Sym0 :: forall a6989586621679970245. (~>) ((~>) a6989586621679970245 ((~>) a6989586621679970245 a6989586621679970245)) ((~>) [a6989586621679970245] a6989586621679970245)
data Foldl1'Sym1 (a6989586621679975394 :: (~>) a6989586621679970245 ((~>) a6989586621679970245 a6989586621679970245)) :: (~>) [a6989586621679970245] a6989586621679970245
type Foldl1'Sym2 (a6989586621679975394 :: (~>) a6989586621679970245 ((~>) a6989586621679970245 a6989586621679970245)) (a6989586621679975395 :: [a6989586621679970245]) = Foldl1' a6989586621679975394 a6989586621679975395
data FoldrSym0 :: forall a6989586621680486583 b6989586621680486584 t6989586621680486579. (~>) ((~>) a6989586621680486583 ((~>) b6989586621680486584 b6989586621680486584)) ((~>) b6989586621680486584 ((~>) (t6989586621680486579 a6989586621680486583) b6989586621680486584))
data FoldrSym1 (arg6989586621680487204 :: (~>) a6989586621680486583 ((~>) b6989586621680486584 b6989586621680486584)) :: forall t6989586621680486579. (~>) b6989586621680486584 ((~>) (t6989586621680486579 a6989586621680486583) b6989586621680486584)
data FoldrSym2 (arg6989586621680487204 :: (~>) a6989586621680486583 ((~>) b6989586621680486584 b6989586621680486584)) (arg6989586621680487205 :: b6989586621680486584) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486583) b6989586621680486584
type FoldrSym3 (arg6989586621680487204 :: (~>) a6989586621680486583 ((~>) b6989586621680486584 b6989586621680486584)) (arg6989586621680487205 :: b6989586621680486584) (arg6989586621680487206 :: t6989586621680486579 a6989586621680486583) = Foldr arg6989586621680487204 arg6989586621680487205 arg6989586621680487206
data Foldr1Sym0 :: forall a6989586621680486591 t6989586621680486579. (~>) ((~>) a6989586621680486591 ((~>) a6989586621680486591 a6989586621680486591)) ((~>) (t6989586621680486579 a6989586621680486591) a6989586621680486591)
data Foldr1Sym1 (arg6989586621680487228 :: (~>) a6989586621680486591 ((~>) a6989586621680486591 a6989586621680486591)) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486591) a6989586621680486591
type Foldr1Sym2 (arg6989586621680487228 :: (~>) a6989586621680486591 ((~>) a6989586621680486591 a6989586621680486591)) (arg6989586621680487229 :: t6989586621680486579 a6989586621680486591) = Foldr1 arg6989586621680487228 arg6989586621680487229
data ConcatSym0 :: forall t6989586621680486504 a6989586621680486505. (~>) (t6989586621680486504 [a6989586621680486505]) [a6989586621680486505]
type ConcatSym1 (a6989586621680487086 :: t6989586621680486504 [a6989586621680486505]) = Concat a6989586621680487086
data ConcatMapSym0 :: forall a6989586621680486502 b6989586621680486503 t6989586621680486501. (~>) ((~>) a6989586621680486502 [b6989586621680486503]) ((~>) (t6989586621680486501 a6989586621680486502) [b6989586621680486503])
data ConcatMapSym1 (a6989586621680487070 :: (~>) a6989586621680486502 [b6989586621680486503]) :: forall t6989586621680486501. (~>) (t6989586621680486501 a6989586621680486502) [b6989586621680486503]
type ConcatMapSym2 (a6989586621680487070 :: (~>) a6989586621680486502 [b6989586621680486503]) (a6989586621680487071 :: t6989586621680486501 a6989586621680486502) = ConcatMap a6989586621680487070 a6989586621680487071
data AndSym0 :: forall t6989586621680486500. (~>) (t6989586621680486500 Bool) Bool
type AndSym1 (a6989586621680487061 :: t6989586621680486500 Bool) = And a6989586621680487061
data OrSym0 :: forall t6989586621680486499. (~>) (t6989586621680486499 Bool) Bool
type OrSym1 (a6989586621680487052 :: t6989586621680486499 Bool) = Or a6989586621680487052
data AnySym0 :: forall a6989586621680486498 t6989586621680486497. (~>) ((~>) a6989586621680486498 Bool) ((~>) (t6989586621680486497 a6989586621680486498) Bool)
data AnySym1 (a6989586621680487039 :: (~>) a6989586621680486498 Bool) :: forall t6989586621680486497. (~>) (t6989586621680486497 a6989586621680486498) Bool
type AnySym2 (a6989586621680487039 :: (~>) a6989586621680486498 Bool) (a6989586621680487040 :: t6989586621680486497 a6989586621680486498) = Any a6989586621680487039 a6989586621680487040
data AllSym0 :: forall a6989586621680486496 t6989586621680486495. (~>) ((~>) a6989586621680486496 Bool) ((~>) (t6989586621680486495 a6989586621680486496) Bool)
data AllSym1 (a6989586621680487026 :: (~>) a6989586621680486496 Bool) :: forall t6989586621680486495. (~>) (t6989586621680486495 a6989586621680486496) Bool
type AllSym2 (a6989586621680487026 :: (~>) a6989586621680486496 Bool) (a6989586621680487027 :: t6989586621680486495 a6989586621680486496) = All a6989586621680487026 a6989586621680487027
data SumSym0 :: forall t6989586621680486579 a6989586621680486599. (~>) (t6989586621680486579 a6989586621680486599) a6989586621680486599
type SumSym1 (arg6989586621680487250 :: t6989586621680486579 a6989586621680486599) = Sum arg6989586621680487250
data ProductSym0 :: forall t6989586621680486579 a6989586621680486600. (~>) (t6989586621680486579 a6989586621680486600) a6989586621680486600
type ProductSym1 (arg6989586621680487252 :: t6989586621680486579 a6989586621680486600) = Product arg6989586621680487252
data MaximumSym0 :: forall t6989586621680486579 a6989586621680486597. (~>) (t6989586621680486579 a6989586621680486597) a6989586621680486597
type MaximumSym1 (arg6989586621680487246 :: t6989586621680486579 a6989586621680486597) = Maximum arg6989586621680487246
data MinimumSym0 :: forall t6989586621680486579 a6989586621680486598. (~>) (t6989586621680486579 a6989586621680486598) a6989586621680486598
type MinimumSym1 (arg6989586621680487248 :: t6989586621680486579 a6989586621680486598) = Minimum arg6989586621680487248
data ScanlSym0 :: forall b6989586621679970237 a6989586621679970238. (~>) ((~>) b6989586621679970237 ((~>) a6989586621679970238 b6989586621679970237)) ((~>) b6989586621679970237 ((~>) [a6989586621679970238] [b6989586621679970237]))
data ScanlSym1 (a6989586621679975331 :: (~>) b6989586621679970237 ((~>) a6989586621679970238 b6989586621679970237)) :: (~>) b6989586621679970237 ((~>) [a6989586621679970238] [b6989586621679970237])
data ScanlSym2 (a6989586621679975331 :: (~>) b6989586621679970237 ((~>) a6989586621679970238 b6989586621679970237)) (a6989586621679975332 :: b6989586621679970237) :: (~>) [a6989586621679970238] [b6989586621679970237]
type ScanlSym3 (a6989586621679975331 :: (~>) b6989586621679970237 ((~>) a6989586621679970238 b6989586621679970237)) (a6989586621679975332 :: b6989586621679970237) (a6989586621679975333 :: [a6989586621679970238]) = Scanl a6989586621679975331 a6989586621679975332 a6989586621679975333
data Scanl1Sym0 :: forall a6989586621679970236. (~>) ((~>) a6989586621679970236 ((~>) a6989586621679970236 a6989586621679970236)) ((~>) [a6989586621679970236] [a6989586621679970236])
data Scanl1Sym1 (a6989586621679975324 :: (~>) a6989586621679970236 ((~>) a6989586621679970236 a6989586621679970236)) :: (~>) [a6989586621679970236] [a6989586621679970236]
type Scanl1Sym2 (a6989586621679975324 :: (~>) a6989586621679970236 ((~>) a6989586621679970236 a6989586621679970236)) (a6989586621679975325 :: [a6989586621679970236]) = Scanl1 a6989586621679975324 a6989586621679975325
data ScanrSym0 :: forall a6989586621679970234 b6989586621679970235. (~>) ((~>) a6989586621679970234 ((~>) b6989586621679970235 b6989586621679970235)) ((~>) b6989586621679970235 ((~>) [a6989586621679970234] [b6989586621679970235]))
data ScanrSym1 (a6989586621679975303 :: (~>) a6989586621679970234 ((~>) b6989586621679970235 b6989586621679970235)) :: (~>) b6989586621679970235 ((~>) [a6989586621679970234] [b6989586621679970235])
data ScanrSym2 (a6989586621679975303 :: (~>) a6989586621679970234 ((~>) b6989586621679970235 b6989586621679970235)) (a6989586621679975304 :: b6989586621679970235) :: (~>) [a6989586621679970234] [b6989586621679970235]
type ScanrSym3 (a6989586621679975303 :: (~>) a6989586621679970234 ((~>) b6989586621679970235 b6989586621679970235)) (a6989586621679975304 :: b6989586621679970235) (a6989586621679975305 :: [a6989586621679970234]) = Scanr a6989586621679975303 a6989586621679975304 a6989586621679975305
data Scanr1Sym0 :: forall a6989586621679970233. (~>) ((~>) a6989586621679970233 ((~>) a6989586621679970233 a6989586621679970233)) ((~>) [a6989586621679970233] [a6989586621679970233])
data Scanr1Sym1 (a6989586621679975279 :: (~>) a6989586621679970233 ((~>) a6989586621679970233 a6989586621679970233)) :: (~>) [a6989586621679970233] [a6989586621679970233]
type Scanr1Sym2 (a6989586621679975279 :: (~>) a6989586621679970233 ((~>) a6989586621679970233 a6989586621679970233)) (a6989586621679975280 :: [a6989586621679970233]) = Scanr1 a6989586621679975279 a6989586621679975280
data MapAccumLSym0 :: forall a6989586621680800304 b6989586621680800305 c6989586621680800306 t6989586621680800303. (~>) ((~>) a6989586621680800304 ((~>) b6989586621680800305 (a6989586621680800304, c6989586621680800306))) ((~>) a6989586621680800304 ((~>) (t6989586621680800303 b6989586621680800305) (a6989586621680800304, t6989586621680800303 c6989586621680800306)))
data MapAccumLSym1 (a6989586621680800807 :: (~>) a6989586621680800304 ((~>) b6989586621680800305 (a6989586621680800304, c6989586621680800306))) :: forall t6989586621680800303. (~>) a6989586621680800304 ((~>) (t6989586621680800303 b6989586621680800305) (a6989586621680800304, t6989586621680800303 c6989586621680800306))
data MapAccumLSym2 (a6989586621680800807 :: (~>) a6989586621680800304 ((~>) b6989586621680800305 (a6989586621680800304, c6989586621680800306))) (a6989586621680800808 :: a6989586621680800304) :: forall t6989586621680800303. (~>) (t6989586621680800303 b6989586621680800305) (a6989586621680800304, t6989586621680800303 c6989586621680800306)
type MapAccumLSym3 (a6989586621680800807 :: (~>) a6989586621680800304 ((~>) b6989586621680800305 (a6989586621680800304, c6989586621680800306))) (a6989586621680800808 :: a6989586621680800304) (a6989586621680800809 :: t6989586621680800303 b6989586621680800305) = MapAccumL a6989586621680800807 a6989586621680800808 a6989586621680800809
data MapAccumRSym0 :: forall a6989586621680800300 b6989586621680800301 c6989586621680800302 t6989586621680800299. (~>) ((~>) a6989586621680800300 ((~>) b6989586621680800301 (a6989586621680800300, c6989586621680800302))) ((~>) a6989586621680800300 ((~>) (t6989586621680800299 b6989586621680800301) (a6989586621680800300, t6989586621680800299 c6989586621680800302)))
data MapAccumRSym1 (a6989586621680800790 :: (~>) a6989586621680800300 ((~>) b6989586621680800301 (a6989586621680800300, c6989586621680800302))) :: forall t6989586621680800299. (~>) a6989586621680800300 ((~>) (t6989586621680800299 b6989586621680800301) (a6989586621680800300, t6989586621680800299 c6989586621680800302))
data MapAccumRSym2 (a6989586621680800790 :: (~>) a6989586621680800300 ((~>) b6989586621680800301 (a6989586621680800300, c6989586621680800302))) (a6989586621680800791 :: a6989586621680800300) :: forall t6989586621680800299. (~>) (t6989586621680800299 b6989586621680800301) (a6989586621680800300, t6989586621680800299 c6989586621680800302)
type MapAccumRSym3 (a6989586621680800790 :: (~>) a6989586621680800300 ((~>) b6989586621680800301 (a6989586621680800300, c6989586621680800302))) (a6989586621680800791 :: a6989586621680800300) (a6989586621680800792 :: t6989586621680800299 b6989586621680800301) = MapAccumR a6989586621680800790 a6989586621680800791 a6989586621680800792
data ReplicateSym0 :: forall a6989586621679970141. (~>) Nat ((~>) a6989586621679970141 [a6989586621679970141])
data ReplicateSym1 (a6989586621679974306 :: Nat) :: forall a6989586621679970141. (~>) a6989586621679970141 [a6989586621679970141]
type ReplicateSym2 (a6989586621679974306 :: Nat) (a6989586621679974307 :: a6989586621679970141) = Replicate a6989586621679974306 a6989586621679974307
data UnfoldrSym0 :: forall b6989586621679970225 a6989586621679970226. (~>) ((~>) b6989586621679970225 (Maybe (a6989586621679970226, b6989586621679970225))) ((~>) b6989586621679970225 [a6989586621679970226])
data UnfoldrSym1 (a6989586621679975137 :: (~>) b6989586621679970225 (Maybe (a6989586621679970226, b6989586621679970225))) :: (~>) b6989586621679970225 [a6989586621679970226]
type UnfoldrSym2 (a6989586621679975137 :: (~>) b6989586621679970225 (Maybe (a6989586621679970226, b6989586621679970225))) (a6989586621679975138 :: b6989586621679970225) = Unfoldr a6989586621679975137 a6989586621679975138
data TakeSym0 :: forall a6989586621679970157. (~>) Nat ((~>) [a6989586621679970157] [a6989586621679970157])
data TakeSym1 (a6989586621679974467 :: Nat) :: forall a6989586621679970157. (~>) [a6989586621679970157] [a6989586621679970157]
type TakeSym2 (a6989586621679974467 :: Nat) (a6989586621679974468 :: [a6989586621679970157]) = Take a6989586621679974467 a6989586621679974468
data DropSym0 :: forall a6989586621679970156. (~>) Nat ((~>) [a6989586621679970156] [a6989586621679970156])
data DropSym1 (a6989586621679974453 :: Nat) :: forall a6989586621679970156. (~>) [a6989586621679970156] [a6989586621679970156]
type DropSym2 (a6989586621679974453 :: Nat) (a6989586621679974454 :: [a6989586621679970156]) = Drop a6989586621679974453 a6989586621679974454
data SplitAtSym0 :: forall a6989586621679970155. (~>) Nat ((~>) [a6989586621679970155] ([a6989586621679970155], [a6989586621679970155]))
data SplitAtSym1 (a6989586621679974447 :: Nat) :: forall a6989586621679970155. (~>) [a6989586621679970155] ([a6989586621679970155], [a6989586621679970155])
type SplitAtSym2 (a6989586621679974447 :: Nat) (a6989586621679974448 :: [a6989586621679970155]) = SplitAt a6989586621679974447 a6989586621679974448
data TakeWhileSym0 :: forall a6989586621679970162. (~>) ((~>) a6989586621679970162 Bool) ((~>) [a6989586621679970162] [a6989586621679970162])
data TakeWhileSym1 (a6989586621679974611 :: (~>) a6989586621679970162 Bool) :: (~>) [a6989586621679970162] [a6989586621679970162]
type TakeWhileSym2 (a6989586621679974611 :: (~>) a6989586621679970162 Bool) (a6989586621679974612 :: [a6989586621679970162]) = TakeWhile a6989586621679974611 a6989586621679974612
data DropWhileSym0 :: forall a6989586621679970161. (~>) ((~>) a6989586621679970161 Bool) ((~>) [a6989586621679970161] [a6989586621679970161])
data DropWhileSym1 (a6989586621679974593 :: (~>) a6989586621679970161 Bool) :: (~>) [a6989586621679970161] [a6989586621679970161]
type DropWhileSym2 (a6989586621679974593 :: (~>) a6989586621679970161 Bool) (a6989586621679974594 :: [a6989586621679970161]) = DropWhile a6989586621679974593 a6989586621679974594
data DropWhileEndSym0 :: forall a6989586621679970160. (~>) ((~>) a6989586621679970160 Bool) ((~>) [a6989586621679970160] [a6989586621679970160])
data DropWhileEndSym1 (a6989586621679974567 :: (~>) a6989586621679970160 Bool) :: (~>) [a6989586621679970160] [a6989586621679970160]
type DropWhileEndSym2 (a6989586621679974567 :: (~>) a6989586621679970160 Bool) (a6989586621679974568 :: [a6989586621679970160]) = DropWhileEnd a6989586621679974567 a6989586621679974568
data SpanSym0 :: forall a6989586621679970159. (~>) ((~>) a6989586621679970159 Bool) ((~>) [a6989586621679970159] ([a6989586621679970159], [a6989586621679970159]))
data SpanSym1 (a6989586621679974524 :: (~>) a6989586621679970159 Bool) :: (~>) [a6989586621679970159] ([a6989586621679970159], [a6989586621679970159])
type SpanSym2 (a6989586621679974524 :: (~>) a6989586621679970159 Bool) (a6989586621679974525 :: [a6989586621679970159]) = Span a6989586621679974524 a6989586621679974525
data BreakSym0 :: forall a6989586621679970158. (~>) ((~>) a6989586621679970158 Bool) ((~>) [a6989586621679970158] ([a6989586621679970158], [a6989586621679970158]))
data BreakSym1 (a6989586621679974481 :: (~>) a6989586621679970158 Bool) :: (~>) [a6989586621679970158] ([a6989586621679970158], [a6989586621679970158])
type BreakSym2 (a6989586621679974481 :: (~>) a6989586621679970158 Bool) (a6989586621679974482 :: [a6989586621679970158]) = Break a6989586621679974481 a6989586621679974482
data StripPrefixSym0 :: forall a6989586621680092348. (~>) [a6989586621680092348] ((~>) [a6989586621680092348] (Maybe [a6989586621680092348]))
data StripPrefixSym1 (a6989586621680094044 :: [a6989586621680092348]) :: (~>) [a6989586621680092348] (Maybe [a6989586621680092348])
type StripPrefixSym2 (a6989586621680094044 :: [a6989586621680092348]) (a6989586621680094045 :: [a6989586621680092348]) = StripPrefix a6989586621680094044 a6989586621680094045
data GroupSym0 :: forall a6989586621679970154. (~>) [a6989586621679970154] [[a6989586621679970154]]
type GroupSym1 (a6989586621679974444 :: [a6989586621679970154]) = Group a6989586621679974444
data InitsSym0 :: forall a6989586621679970224. (~>) [a6989586621679970224] [[a6989586621679970224]]
type InitsSym1 (a6989586621679975129 :: [a6989586621679970224]) = Inits a6989586621679975129
data TailsSym0 :: forall a6989586621679970223. (~>) [a6989586621679970223] [[a6989586621679970223]]
type TailsSym1 (a6989586621679975122 :: [a6989586621679970223]) = Tails a6989586621679975122
data IsPrefixOfSym0 :: forall a6989586621679970222. (~>) [a6989586621679970222] ((~>) [a6989586621679970222] Bool)
data IsPrefixOfSym1 (a6989586621679975114 :: [a6989586621679970222]) :: (~>) [a6989586621679970222] Bool
type IsPrefixOfSym2 (a6989586621679975114 :: [a6989586621679970222]) (a6989586621679975115 :: [a6989586621679970222]) = IsPrefixOf a6989586621679975114 a6989586621679975115
data IsSuffixOfSym0 :: forall a6989586621679970221. (~>) [a6989586621679970221] ((~>) [a6989586621679970221] Bool)
data IsSuffixOfSym1 (a6989586621679975108 :: [a6989586621679970221]) :: (~>) [a6989586621679970221] Bool
type IsSuffixOfSym2 (a6989586621679975108 :: [a6989586621679970221]) (a6989586621679975109 :: [a6989586621679970221]) = IsSuffixOf a6989586621679975108 a6989586621679975109
data IsInfixOfSym0 :: forall a6989586621679970220. (~>) [a6989586621679970220] ((~>) [a6989586621679970220] Bool)
data IsInfixOfSym1 (a6989586621679975102 :: [a6989586621679970220]) :: (~>) [a6989586621679970220] Bool
type IsInfixOfSym2 (a6989586621679975102 :: [a6989586621679970220]) (a6989586621679975103 :: [a6989586621679970220]) = IsInfixOf a6989586621679975102 a6989586621679975103
data ElemSym0 :: forall a6989586621680486596 t6989586621680486579. (~>) a6989586621680486596 ((~>) (t6989586621680486579 a6989586621680486596) Bool)
data ElemSym1 (arg6989586621680487242 :: a6989586621680486596) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486596) Bool
type ElemSym2 (arg6989586621680487242 :: a6989586621680486596) (arg6989586621680487243 :: t6989586621680486579 a6989586621680486596) = Elem arg6989586621680487242 arg6989586621680487243
data NotElemSym0 :: forall a6989586621680486490 t6989586621680486489. (~>) a6989586621680486490 ((~>) (t6989586621680486489 a6989586621680486490) Bool)
data NotElemSym1 (a6989586621680486968 :: a6989586621680486490) :: forall t6989586621680486489. (~>) (t6989586621680486489 a6989586621680486490) Bool
type NotElemSym2 (a6989586621680486968 :: a6989586621680486490) (a6989586621680486969 :: t6989586621680486489 a6989586621680486490) = NotElem a6989586621680486968 a6989586621680486969
data LookupSym0 :: forall a6989586621679970147 b6989586621679970148. (~>) a6989586621679970147 ((~>) [(a6989586621679970147, b6989586621679970148)] (Maybe b6989586621679970148))
data LookupSym1 (a6989586621679974371 :: a6989586621679970147) :: forall b6989586621679970148. (~>) [(a6989586621679970147, b6989586621679970148)] (Maybe b6989586621679970148)
type LookupSym2 (a6989586621679974371 :: a6989586621679970147) (a6989586621679974372 :: [(a6989586621679970147, b6989586621679970148)]) = Lookup a6989586621679974371 a6989586621679974372
data FindSym0 :: forall a6989586621680486488 t6989586621680486487. (~>) ((~>) a6989586621680486488 Bool) ((~>) (t6989586621680486487 a6989586621680486488) (Maybe a6989586621680486488))
data FindSym1 (a6989586621680486941 :: (~>) a6989586621680486488 Bool) :: forall t6989586621680486487. (~>) (t6989586621680486487 a6989586621680486488) (Maybe a6989586621680486488)
type FindSym2 (a6989586621680486941 :: (~>) a6989586621680486488 Bool) (a6989586621680486942 :: t6989586621680486487 a6989586621680486488) = Find a6989586621680486941 a6989586621680486942
data FilterSym0 :: forall a6989586621679970170. (~>) ((~>) a6989586621679970170 Bool) ((~>) [a6989586621679970170] [a6989586621679970170])
data FilterSym1 (a6989586621679974725 :: (~>) a6989586621679970170 Bool) :: (~>) [a6989586621679970170] [a6989586621679970170]
type FilterSym2 (a6989586621679974725 :: (~>) a6989586621679970170 Bool) (a6989586621679974726 :: [a6989586621679970170]) = Filter a6989586621679974725 a6989586621679974726
data PartitionSym0 :: forall a6989586621679970146. (~>) ((~>) a6989586621679970146 Bool) ((~>) [a6989586621679970146] ([a6989586621679970146], [a6989586621679970146]))
data PartitionSym1 (a6989586621679974365 :: (~>) a6989586621679970146 Bool) :: (~>) [a6989586621679970146] ([a6989586621679970146], [a6989586621679970146])
type PartitionSym2 (a6989586621679974365 :: (~>) a6989586621679970146 Bool) (a6989586621679974366 :: [a6989586621679970146]) = Partition a6989586621679974365 a6989586621679974366
data (!!@#@$) :: forall a6989586621679970139. (~>) [a6989586621679970139] ((~>) Nat a6989586621679970139)
infixl 9 !!@#@$
data (!!@#@$$) (a6989586621679974286 :: [a6989586621679970139]) :: (~>) Nat a6989586621679970139
infixl 9 !!@#@$$
type (!!@#@$$$) (a6989586621679974286 :: [a6989586621679970139]) (a6989586621679974287 :: Nat) = (!!) a6989586621679974286 a6989586621679974287
data ElemIndexSym0 :: forall a6989586621679970168. (~>) a6989586621679970168 ((~>) [a6989586621679970168] (Maybe Nat))
data ElemIndexSym1 (a6989586621679974709 :: a6989586621679970168) :: (~>) [a6989586621679970168] (Maybe Nat)
type ElemIndexSym2 (a6989586621679974709 :: a6989586621679970168) (a6989586621679974710 :: [a6989586621679970168]) = ElemIndex a6989586621679974709 a6989586621679974710
data ElemIndicesSym0 :: forall a6989586621679970167. (~>) a6989586621679970167 ((~>) [a6989586621679970167] [Nat])
data ElemIndicesSym1 (a6989586621679974701 :: a6989586621679970167) :: (~>) [a6989586621679970167] [Nat]
type ElemIndicesSym2 (a6989586621679974701 :: a6989586621679970167) (a6989586621679974702 :: [a6989586621679970167]) = ElemIndices a6989586621679974701 a6989586621679974702
data FindIndexSym0 :: forall a6989586621679970166. (~>) ((~>) a6989586621679970166 Bool) ((~>) [a6989586621679970166] (Maybe Nat))
data FindIndexSym1 (a6989586621679974693 :: (~>) a6989586621679970166 Bool) :: (~>) [a6989586621679970166] (Maybe Nat)
type FindIndexSym2 (a6989586621679974693 :: (~>) a6989586621679970166 Bool) (a6989586621679974694 :: [a6989586621679970166]) = FindIndex a6989586621679974693 a6989586621679974694
data FindIndicesSym0 :: forall a6989586621679970165. (~>) ((~>) a6989586621679970165 Bool) ((~>) [a6989586621679970165] [Nat])
data FindIndicesSym1 (a6989586621679974667 :: (~>) a6989586621679970165 Bool) :: (~>) [a6989586621679970165] [Nat]
type FindIndicesSym2 (a6989586621679974667 :: (~>) a6989586621679970165 Bool) (a6989586621679974668 :: [a6989586621679970165]) = FindIndices a6989586621679974667 a6989586621679974668
data ZipSym0 :: forall a6989586621679970216 b6989586621679970217. (~>) [a6989586621679970216] ((~>) [b6989586621679970217] [(a6989586621679970216, b6989586621679970217)])
data ZipSym1 (a6989586621679975080 :: [a6989586621679970216]) :: forall b6989586621679970217. (~>) [b6989586621679970217] [(a6989586621679970216, b6989586621679970217)]
type ZipSym2 (a6989586621679975080 :: [a6989586621679970216]) (a6989586621679975081 :: [b6989586621679970217]) = Zip a6989586621679975080 a6989586621679975081
data Zip3Sym0 :: forall a6989586621679970213 b6989586621679970214 c6989586621679970215. (~>) [a6989586621679970213] ((~>) [b6989586621679970214] ((~>) [c6989586621679970215] [(a6989586621679970213, b6989586621679970214, c6989586621679970215)]))
data Zip3Sym1 (a6989586621679975068 :: [a6989586621679970213]) :: forall b6989586621679970214 c6989586621679970215. (~>) [b6989586621679970214] ((~>) [c6989586621679970215] [(a6989586621679970213, b6989586621679970214, c6989586621679970215)])
data Zip3Sym2 (a6989586621679975068 :: [a6989586621679970213]) (a6989586621679975069 :: [b6989586621679970214]) :: forall c6989586621679970215. (~>) [c6989586621679970215] [(a6989586621679970213, b6989586621679970214, c6989586621679970215)]
type Zip3Sym3 (a6989586621679975068 :: [a6989586621679970213]) (a6989586621679975069 :: [b6989586621679970214]) (a6989586621679975070 :: [c6989586621679970215]) = Zip3 a6989586621679975068 a6989586621679975069 a6989586621679975070
data Zip4Sym0 :: forall a6989586621680092344 b6989586621680092345 c6989586621680092346 d6989586621680092347. (~>) [a6989586621680092344] ((~>) [b6989586621680092345] ((~>) [c6989586621680092346] ((~>) [d6989586621680092347] [(a6989586621680092344, b6989586621680092345, c6989586621680092346, d6989586621680092347)])))
data Zip4Sym1 (a6989586621680094032 :: [a6989586621680092344]) :: forall b6989586621680092345 c6989586621680092346 d6989586621680092347. (~>) [b6989586621680092345] ((~>) [c6989586621680092346] ((~>) [d6989586621680092347] [(a6989586621680092344, b6989586621680092345, c6989586621680092346, d6989586621680092347)]))
data Zip4Sym2 (a6989586621680094032 :: [a6989586621680092344]) (a6989586621680094033 :: [b6989586621680092345]) :: forall c6989586621680092346 d6989586621680092347. (~>) [c6989586621680092346] ((~>) [d6989586621680092347] [(a6989586621680092344, b6989586621680092345, c6989586621680092346, d6989586621680092347)])
data Zip4Sym3 (a6989586621680094032 :: [a6989586621680092344]) (a6989586621680094033 :: [b6989586621680092345]) (a6989586621680094034 :: [c6989586621680092346]) :: forall d6989586621680092347. (~>) [d6989586621680092347] [(a6989586621680092344, b6989586621680092345, c6989586621680092346, d6989586621680092347)]
type Zip4Sym4 (a6989586621680094032 :: [a6989586621680092344]) (a6989586621680094033 :: [b6989586621680092345]) (a6989586621680094034 :: [c6989586621680092346]) (a6989586621680094035 :: [d6989586621680092347]) = Zip4 a6989586621680094032 a6989586621680094033 a6989586621680094034 a6989586621680094035
data Zip5Sym0 :: forall a6989586621680092339 b6989586621680092340 c6989586621680092341 d6989586621680092342 e6989586621680092343. (~>) [a6989586621680092339] ((~>) [b6989586621680092340] ((~>) [c6989586621680092341] ((~>) [d6989586621680092342] ((~>) [e6989586621680092343] [(a6989586621680092339, b6989586621680092340, c6989586621680092341, d6989586621680092342, e6989586621680092343)]))))
data Zip5Sym1 (a6989586621680094009 :: [a6989586621680092339]) :: forall b6989586621680092340 c6989586621680092341 d6989586621680092342 e6989586621680092343. (~>) [b6989586621680092340] ((~>) [c6989586621680092341] ((~>) [d6989586621680092342] ((~>) [e6989586621680092343] [(a6989586621680092339, b6989586621680092340, c6989586621680092341, d6989586621680092342, e6989586621680092343)])))
data Zip5Sym2 (a6989586621680094009 :: [a6989586621680092339]) (a6989586621680094010 :: [b6989586621680092340]) :: forall c6989586621680092341 d6989586621680092342 e6989586621680092343. (~>) [c6989586621680092341] ((~>) [d6989586621680092342] ((~>) [e6989586621680092343] [(a6989586621680092339, b6989586621680092340, c6989586621680092341, d6989586621680092342, e6989586621680092343)]))
data Zip5Sym3 (a6989586621680094009 :: [a6989586621680092339]) (a6989586621680094010 :: [b6989586621680092340]) (a6989586621680094011 :: [c6989586621680092341]) :: forall d6989586621680092342 e6989586621680092343. (~>) [d6989586621680092342] ((~>) [e6989586621680092343] [(a6989586621680092339, b6989586621680092340, c6989586621680092341, d6989586621680092342, e6989586621680092343)])
data Zip5Sym4 (a6989586621680094009 :: [a6989586621680092339]) (a6989586621680094010 :: [b6989586621680092340]) (a6989586621680094011 :: [c6989586621680092341]) (a6989586621680094012 :: [d6989586621680092342]) :: forall e6989586621680092343. (~>) [e6989586621680092343] [(a6989586621680092339, b6989586621680092340, c6989586621680092341, d6989586621680092342, e6989586621680092343)]
type Zip5Sym5 (a6989586621680094009 :: [a6989586621680092339]) (a6989586621680094010 :: [b6989586621680092340]) (a6989586621680094011 :: [c6989586621680092341]) (a6989586621680094012 :: [d6989586621680092342]) (a6989586621680094013 :: [e6989586621680092343]) = Zip5 a6989586621680094009 a6989586621680094010 a6989586621680094011 a6989586621680094012 a6989586621680094013
data Zip6Sym0 :: forall a6989586621680092333 b6989586621680092334 c6989586621680092335 d6989586621680092336 e6989586621680092337 f6989586621680092338. (~>) [a6989586621680092333] ((~>) [b6989586621680092334] ((~>) [c6989586621680092335] ((~>) [d6989586621680092336] ((~>) [e6989586621680092337] ((~>) [f6989586621680092338] [(a6989586621680092333, b6989586621680092334, c6989586621680092335, d6989586621680092336, e6989586621680092337, f6989586621680092338)])))))
data Zip6Sym1 (a6989586621680093981 :: [a6989586621680092333]) :: forall b6989586621680092334 c6989586621680092335 d6989586621680092336 e6989586621680092337 f6989586621680092338. (~>) [b6989586621680092334] ((~>) [c6989586621680092335] ((~>) [d6989586621680092336] ((~>) [e6989586621680092337] ((~>) [f6989586621680092338] [(a6989586621680092333, b6989586621680092334, c6989586621680092335, d6989586621680092336, e6989586621680092337, f6989586621680092338)]))))
data Zip6Sym2 (a6989586621680093981 :: [a6989586621680092333]) (a6989586621680093982 :: [b6989586621680092334]) :: forall c6989586621680092335 d6989586621680092336 e6989586621680092337 f6989586621680092338. (~>) [c6989586621680092335] ((~>) [d6989586621680092336] ((~>) [e6989586621680092337] ((~>) [f6989586621680092338] [(a6989586621680092333, b6989586621680092334, c6989586621680092335, d6989586621680092336, e6989586621680092337, f6989586621680092338)])))
data Zip6Sym3 (a6989586621680093981 :: [a6989586621680092333]) (a6989586621680093982 :: [b6989586621680092334]) (a6989586621680093983 :: [c6989586621680092335]) :: forall d6989586621680092336 e6989586621680092337 f6989586621680092338. (~>) [d6989586621680092336] ((~>) [e6989586621680092337] ((~>) [f6989586621680092338] [(a6989586621680092333, b6989586621680092334, c6989586621680092335, d6989586621680092336, e6989586621680092337, f6989586621680092338)]))
data Zip6Sym4 (a6989586621680093981 :: [a6989586621680092333]) (a6989586621680093982 :: [b6989586621680092334]) (a6989586621680093983 :: [c6989586621680092335]) (a6989586621680093984 :: [d6989586621680092336]) :: forall e6989586621680092337 f6989586621680092338. (~>) [e6989586621680092337] ((~>) [f6989586621680092338] [(a6989586621680092333, b6989586621680092334, c6989586621680092335, d6989586621680092336, e6989586621680092337, f6989586621680092338)])
data Zip6Sym5 (a6989586621680093981 :: [a6989586621680092333]) (a6989586621680093982 :: [b6989586621680092334]) (a6989586621680093983 :: [c6989586621680092335]) (a6989586621680093984 :: [d6989586621680092336]) (a6989586621680093985 :: [e6989586621680092337]) :: forall f6989586621680092338. (~>) [f6989586621680092338] [(a6989586621680092333, b6989586621680092334, c6989586621680092335, d6989586621680092336, e6989586621680092337, f6989586621680092338)]
type Zip6Sym6 (a6989586621680093981 :: [a6989586621680092333]) (a6989586621680093982 :: [b6989586621680092334]) (a6989586621680093983 :: [c6989586621680092335]) (a6989586621680093984 :: [d6989586621680092336]) (a6989586621680093985 :: [e6989586621680092337]) (a6989586621680093986 :: [f6989586621680092338]) = Zip6 a6989586621680093981 a6989586621680093982 a6989586621680093983 a6989586621680093984 a6989586621680093985 a6989586621680093986
data Zip7Sym0 :: forall a6989586621680092326 b6989586621680092327 c6989586621680092328 d6989586621680092329 e6989586621680092330 f6989586621680092331 g6989586621680092332. (~>) [a6989586621680092326] ((~>) [b6989586621680092327] ((~>) [c6989586621680092328] ((~>) [d6989586621680092329] ((~>) [e6989586621680092330] ((~>) [f6989586621680092331] ((~>) [g6989586621680092332] [(a6989586621680092326, b6989586621680092327, c6989586621680092328, d6989586621680092329, e6989586621680092330, f6989586621680092331, g6989586621680092332)]))))))
data Zip7Sym1 (a6989586621680093948 :: [a6989586621680092326]) :: forall b6989586621680092327 c6989586621680092328 d6989586621680092329 e6989586621680092330 f6989586621680092331 g6989586621680092332. (~>) [b6989586621680092327] ((~>) [c6989586621680092328] ((~>) [d6989586621680092329] ((~>) [e6989586621680092330] ((~>) [f6989586621680092331] ((~>) [g6989586621680092332] [(a6989586621680092326, b6989586621680092327, c6989586621680092328, d6989586621680092329, e6989586621680092330, f6989586621680092331, g6989586621680092332)])))))
data Zip7Sym2 (a6989586621680093948 :: [a6989586621680092326]) (a6989586621680093949 :: [b6989586621680092327]) :: forall c6989586621680092328 d6989586621680092329 e6989586621680092330 f6989586621680092331 g6989586621680092332. (~>) [c6989586621680092328] ((~>) [d6989586621680092329] ((~>) [e6989586621680092330] ((~>) [f6989586621680092331] ((~>) [g6989586621680092332] [(a6989586621680092326, b6989586621680092327, c6989586621680092328, d6989586621680092329, e6989586621680092330, f6989586621680092331, g6989586621680092332)]))))
data Zip7Sym3 (a6989586621680093948 :: [a6989586621680092326]) (a6989586621680093949 :: [b6989586621680092327]) (a6989586621680093950 :: [c6989586621680092328]) :: forall d6989586621680092329 e6989586621680092330 f6989586621680092331 g6989586621680092332. (~>) [d6989586621680092329] ((~>) [e6989586621680092330] ((~>) [f6989586621680092331] ((~>) [g6989586621680092332] [(a6989586621680092326, b6989586621680092327, c6989586621680092328, d6989586621680092329, e6989586621680092330, f6989586621680092331, g6989586621680092332)])))
data Zip7Sym4 (a6989586621680093948 :: [a6989586621680092326]) (a6989586621680093949 :: [b6989586621680092327]) (a6989586621680093950 :: [c6989586621680092328]) (a6989586621680093951 :: [d6989586621680092329]) :: forall e6989586621680092330 f6989586621680092331 g6989586621680092332. (~>) [e6989586621680092330] ((~>) [f6989586621680092331] ((~>) [g6989586621680092332] [(a6989586621680092326, b6989586621680092327, c6989586621680092328, d6989586621680092329, e6989586621680092330, f6989586621680092331, g6989586621680092332)]))
data Zip7Sym5 (a6989586621680093948 :: [a6989586621680092326]) (a6989586621680093949 :: [b6989586621680092327]) (a6989586621680093950 :: [c6989586621680092328]) (a6989586621680093951 :: [d6989586621680092329]) (a6989586621680093952 :: [e6989586621680092330]) :: forall f6989586621680092331 g6989586621680092332. (~>) [f6989586621680092331] ((~>) [g6989586621680092332] [(a6989586621680092326, b6989586621680092327, c6989586621680092328, d6989586621680092329, e6989586621680092330, f6989586621680092331, g6989586621680092332)])
data Zip7Sym6 (a6989586621680093948 :: [a6989586621680092326]) (a6989586621680093949 :: [b6989586621680092327]) (a6989586621680093950 :: [c6989586621680092328]) (a6989586621680093951 :: [d6989586621680092329]) (a6989586621680093952 :: [e6989586621680092330]) (a6989586621680093953 :: [f6989586621680092331]) :: forall g6989586621680092332. (~>) [g6989586621680092332] [(a6989586621680092326, b6989586621680092327, c6989586621680092328, d6989586621680092329, e6989586621680092330, f6989586621680092331, g6989586621680092332)]
type Zip7Sym7 (a6989586621680093948 :: [a6989586621680092326]) (a6989586621680093949 :: [b6989586621680092327]) (a6989586621680093950 :: [c6989586621680092328]) (a6989586621680093951 :: [d6989586621680092329]) (a6989586621680093952 :: [e6989586621680092330]) (a6989586621680093953 :: [f6989586621680092331]) (a6989586621680093954 :: [g6989586621680092332]) = Zip7 a6989586621680093948 a6989586621680093949 a6989586621680093950 a6989586621680093951 a6989586621680093952 a6989586621680093953 a6989586621680093954
data ZipWithSym0 :: forall a6989586621679970210 b6989586621679970211 c6989586621679970212. (~>) ((~>) a6989586621679970210 ((~>) b6989586621679970211 c6989586621679970212)) ((~>) [a6989586621679970210] ((~>) [b6989586621679970211] [c6989586621679970212]))
data ZipWithSym1 (a6989586621679975057 :: (~>) a6989586621679970210 ((~>) b6989586621679970211 c6989586621679970212)) :: (~>) [a6989586621679970210] ((~>) [b6989586621679970211] [c6989586621679970212])
data ZipWithSym2 (a6989586621679975057 :: (~>) a6989586621679970210 ((~>) b6989586621679970211 c6989586621679970212)) (a6989586621679975058 :: [a6989586621679970210]) :: (~>) [b6989586621679970211] [c6989586621679970212]
type ZipWithSym3 (a6989586621679975057 :: (~>) a6989586621679970210 ((~>) b6989586621679970211 c6989586621679970212)) (a6989586621679975058 :: [a6989586621679970210]) (a6989586621679975059 :: [b6989586621679970211]) = ZipWith a6989586621679975057 a6989586621679975058 a6989586621679975059
data ZipWith3Sym0 :: forall a6989586621679970206 b6989586621679970207 c6989586621679970208 d6989586621679970209. (~>) ((~>) a6989586621679970206 ((~>) b6989586621679970207 ((~>) c6989586621679970208 d6989586621679970209))) ((~>) [a6989586621679970206] ((~>) [b6989586621679970207] ((~>) [c6989586621679970208] [d6989586621679970209])))
data ZipWith3Sym1 (a6989586621679975042 :: (~>) a6989586621679970206 ((~>) b6989586621679970207 ((~>) c6989586621679970208 d6989586621679970209))) :: (~>) [a6989586621679970206] ((~>) [b6989586621679970207] ((~>) [c6989586621679970208] [d6989586621679970209]))
data ZipWith3Sym2 (a6989586621679975042 :: (~>) a6989586621679970206 ((~>) b6989586621679970207 ((~>) c6989586621679970208 d6989586621679970209))) (a6989586621679975043 :: [a6989586621679970206]) :: (~>) [b6989586621679970207] ((~>) [c6989586621679970208] [d6989586621679970209])
data ZipWith3Sym3 (a6989586621679975042 :: (~>) a6989586621679970206 ((~>) b6989586621679970207 ((~>) c6989586621679970208 d6989586621679970209))) (a6989586621679975043 :: [a6989586621679970206]) (a6989586621679975044 :: [b6989586621679970207]) :: (~>) [c6989586621679970208] [d6989586621679970209]
type ZipWith3Sym4 (a6989586621679975042 :: (~>) a6989586621679970206 ((~>) b6989586621679970207 ((~>) c6989586621679970208 d6989586621679970209))) (a6989586621679975043 :: [a6989586621679970206]) (a6989586621679975044 :: [b6989586621679970207]) (a6989586621679975045 :: [c6989586621679970208]) = ZipWith3 a6989586621679975042 a6989586621679975043 a6989586621679975044 a6989586621679975045
data ZipWith4Sym0 :: forall a6989586621680092321 b6989586621680092322 c6989586621680092323 d6989586621680092324 e6989586621680092325. (~>) ((~>) a6989586621680092321 ((~>) b6989586621680092322 ((~>) c6989586621680092323 ((~>) d6989586621680092324 e6989586621680092325)))) ((~>) [a6989586621680092321] ((~>) [b6989586621680092322] ((~>) [c6989586621680092323] ((~>) [d6989586621680092324] [e6989586621680092325]))))
data ZipWith4Sym1 (a6989586621680093915 :: (~>) a6989586621680092321 ((~>) b6989586621680092322 ((~>) c6989586621680092323 ((~>) d6989586621680092324 e6989586621680092325)))) :: (~>) [a6989586621680092321] ((~>) [b6989586621680092322] ((~>) [c6989586621680092323] ((~>) [d6989586621680092324] [e6989586621680092325])))
data ZipWith4Sym2 (a6989586621680093915 :: (~>) a6989586621680092321 ((~>) b6989586621680092322 ((~>) c6989586621680092323 ((~>) d6989586621680092324 e6989586621680092325)))) (a6989586621680093916 :: [a6989586621680092321]) :: (~>) [b6989586621680092322] ((~>) [c6989586621680092323] ((~>) [d6989586621680092324] [e6989586621680092325]))
data ZipWith4Sym3 (a6989586621680093915 :: (~>) a6989586621680092321 ((~>) b6989586621680092322 ((~>) c6989586621680092323 ((~>) d6989586621680092324 e6989586621680092325)))) (a6989586621680093916 :: [a6989586621680092321]) (a6989586621680093917 :: [b6989586621680092322]) :: (~>) [c6989586621680092323] ((~>) [d6989586621680092324] [e6989586621680092325])
data ZipWith4Sym4 (a6989586621680093915 :: (~>) a6989586621680092321 ((~>) b6989586621680092322 ((~>) c6989586621680092323 ((~>) d6989586621680092324 e6989586621680092325)))) (a6989586621680093916 :: [a6989586621680092321]) (a6989586621680093917 :: [b6989586621680092322]) (a6989586621680093918 :: [c6989586621680092323]) :: (~>) [d6989586621680092324] [e6989586621680092325]
type ZipWith4Sym5 (a6989586621680093915 :: (~>) a6989586621680092321 ((~>) b6989586621680092322 ((~>) c6989586621680092323 ((~>) d6989586621680092324 e6989586621680092325)))) (a6989586621680093916 :: [a6989586621680092321]) (a6989586621680093917 :: [b6989586621680092322]) (a6989586621680093918 :: [c6989586621680092323]) (a6989586621680093919 :: [d6989586621680092324]) = ZipWith4 a6989586621680093915 a6989586621680093916 a6989586621680093917 a6989586621680093918 a6989586621680093919
data ZipWith5Sym0 :: forall a6989586621680092315 b6989586621680092316 c6989586621680092317 d6989586621680092318 e6989586621680092319 f6989586621680092320. (~>) ((~>) a6989586621680092315 ((~>) b6989586621680092316 ((~>) c6989586621680092317 ((~>) d6989586621680092318 ((~>) e6989586621680092319 f6989586621680092320))))) ((~>) [a6989586621680092315] ((~>) [b6989586621680092316] ((~>) [c6989586621680092317] ((~>) [d6989586621680092318] ((~>) [e6989586621680092319] [f6989586621680092320])))))
data ZipWith5Sym1 (a6989586621680093892 :: (~>) a6989586621680092315 ((~>) b6989586621680092316 ((~>) c6989586621680092317 ((~>) d6989586621680092318 ((~>) e6989586621680092319 f6989586621680092320))))) :: (~>) [a6989586621680092315] ((~>) [b6989586621680092316] ((~>) [c6989586621680092317] ((~>) [d6989586621680092318] ((~>) [e6989586621680092319] [f6989586621680092320]))))
data ZipWith5Sym2 (a6989586621680093892 :: (~>) a6989586621680092315 ((~>) b6989586621680092316 ((~>) c6989586621680092317 ((~>) d6989586621680092318 ((~>) e6989586621680092319 f6989586621680092320))))) (a6989586621680093893 :: [a6989586621680092315]) :: (~>) [b6989586621680092316] ((~>) [c6989586621680092317] ((~>) [d6989586621680092318] ((~>) [e6989586621680092319] [f6989586621680092320])))
data ZipWith5Sym3 (a6989586621680093892 :: (~>) a6989586621680092315 ((~>) b6989586621680092316 ((~>) c6989586621680092317 ((~>) d6989586621680092318 ((~>) e6989586621680092319 f6989586621680092320))))) (a6989586621680093893 :: [a6989586621680092315]) (a6989586621680093894 :: [b6989586621680092316]) :: (~>) [c6989586621680092317] ((~>) [d6989586621680092318] ((~>) [e6989586621680092319] [f6989586621680092320]))
data ZipWith5Sym4 (a6989586621680093892 :: (~>) a6989586621680092315 ((~>) b6989586621680092316 ((~>) c6989586621680092317 ((~>) d6989586621680092318 ((~>) e6989586621680092319 f6989586621680092320))))) (a6989586621680093893 :: [a6989586621680092315]) (a6989586621680093894 :: [b6989586621680092316]) (a6989586621680093895 :: [c6989586621680092317]) :: (~>) [d6989586621680092318] ((~>) [e6989586621680092319] [f6989586621680092320])
data ZipWith5Sym5 (a6989586621680093892 :: (~>) a6989586621680092315 ((~>) b6989586621680092316 ((~>) c6989586621680092317 ((~>) d6989586621680092318 ((~>) e6989586621680092319 f6989586621680092320))))) (a6989586621680093893 :: [a6989586621680092315]) (a6989586621680093894 :: [b6989586621680092316]) (a6989586621680093895 :: [c6989586621680092317]) (a6989586621680093896 :: [d6989586621680092318]) :: (~>) [e6989586621680092319] [f6989586621680092320]
type ZipWith5Sym6 (a6989586621680093892 :: (~>) a6989586621680092315 ((~>) b6989586621680092316 ((~>) c6989586621680092317 ((~>) d6989586621680092318 ((~>) e6989586621680092319 f6989586621680092320))))) (a6989586621680093893 :: [a6989586621680092315]) (a6989586621680093894 :: [b6989586621680092316]) (a6989586621680093895 :: [c6989586621680092317]) (a6989586621680093896 :: [d6989586621680092318]) (a6989586621680093897 :: [e6989586621680092319]) = ZipWith5 a6989586621680093892 a6989586621680093893 a6989586621680093894 a6989586621680093895 a6989586621680093896 a6989586621680093897
data ZipWith6Sym0 :: forall a6989586621680092308 b6989586621680092309 c6989586621680092310 d6989586621680092311 e6989586621680092312 f6989586621680092313 g6989586621680092314. (~>) ((~>) a6989586621680092308 ((~>) b6989586621680092309 ((~>) c6989586621680092310 ((~>) d6989586621680092311 ((~>) e6989586621680092312 ((~>) f6989586621680092313 g6989586621680092314)))))) ((~>) [a6989586621680092308] ((~>) [b6989586621680092309] ((~>) [c6989586621680092310] ((~>) [d6989586621680092311] ((~>) [e6989586621680092312] ((~>) [f6989586621680092313] [g6989586621680092314]))))))
data ZipWith6Sym1 (a6989586621680093865 :: (~>) a6989586621680092308 ((~>) b6989586621680092309 ((~>) c6989586621680092310 ((~>) d6989586621680092311 ((~>) e6989586621680092312 ((~>) f6989586621680092313 g6989586621680092314)))))) :: (~>) [a6989586621680092308] ((~>) [b6989586621680092309] ((~>) [c6989586621680092310] ((~>) [d6989586621680092311] ((~>) [e6989586621680092312] ((~>) [f6989586621680092313] [g6989586621680092314])))))
data ZipWith6Sym2 (a6989586621680093865 :: (~>) a6989586621680092308 ((~>) b6989586621680092309 ((~>) c6989586621680092310 ((~>) d6989586621680092311 ((~>) e6989586621680092312 ((~>) f6989586621680092313 g6989586621680092314)))))) (a6989586621680093866 :: [a6989586621680092308]) :: (~>) [b6989586621680092309] ((~>) [c6989586621680092310] ((~>) [d6989586621680092311] ((~>) [e6989586621680092312] ((~>) [f6989586621680092313] [g6989586621680092314]))))
data ZipWith6Sym3 (a6989586621680093865 :: (~>) a6989586621680092308 ((~>) b6989586621680092309 ((~>) c6989586621680092310 ((~>) d6989586621680092311 ((~>) e6989586621680092312 ((~>) f6989586621680092313 g6989586621680092314)))))) (a6989586621680093866 :: [a6989586621680092308]) (a6989586621680093867 :: [b6989586621680092309]) :: (~>) [c6989586621680092310] ((~>) [d6989586621680092311] ((~>) [e6989586621680092312] ((~>) [f6989586621680092313] [g6989586621680092314])))
data ZipWith6Sym4 (a6989586621680093865 :: (~>) a6989586621680092308 ((~>) b6989586621680092309 ((~>) c6989586621680092310 ((~>) d6989586621680092311 ((~>) e6989586621680092312 ((~>) f6989586621680092313 g6989586621680092314)))))) (a6989586621680093866 :: [a6989586621680092308]) (a6989586621680093867 :: [b6989586621680092309]) (a6989586621680093868 :: [c6989586621680092310]) :: (~>) [d6989586621680092311] ((~>) [e6989586621680092312] ((~>) [f6989586621680092313] [g6989586621680092314]))
data ZipWith6Sym5 (a6989586621680093865 :: (~>) a6989586621680092308 ((~>) b6989586621680092309 ((~>) c6989586621680092310 ((~>) d6989586621680092311 ((~>) e6989586621680092312 ((~>) f6989586621680092313 g6989586621680092314)))))) (a6989586621680093866 :: [a6989586621680092308]) (a6989586621680093867 :: [b6989586621680092309]) (a6989586621680093868 :: [c6989586621680092310]) (a6989586621680093869 :: [d6989586621680092311]) :: (~>) [e6989586621680092312] ((~>) [f6989586621680092313] [g6989586621680092314])
data ZipWith6Sym6 (a6989586621680093865 :: (~>) a6989586621680092308 ((~>) b6989586621680092309 ((~>) c6989586621680092310 ((~>) d6989586621680092311 ((~>) e6989586621680092312 ((~>) f6989586621680092313 g6989586621680092314)))))) (a6989586621680093866 :: [a6989586621680092308]) (a6989586621680093867 :: [b6989586621680092309]) (a6989586621680093868 :: [c6989586621680092310]) (a6989586621680093869 :: [d6989586621680092311]) (a6989586621680093870 :: [e6989586621680092312]) :: (~>) [f6989586621680092313] [g6989586621680092314]
type ZipWith6Sym7 (a6989586621680093865 :: (~>) a6989586621680092308 ((~>) b6989586621680092309 ((~>) c6989586621680092310 ((~>) d6989586621680092311 ((~>) e6989586621680092312 ((~>) f6989586621680092313 g6989586621680092314)))))) (a6989586621680093866 :: [a6989586621680092308]) (a6989586621680093867 :: [b6989586621680092309]) (a6989586621680093868 :: [c6989586621680092310]) (a6989586621680093869 :: [d6989586621680092311]) (a6989586621680093870 :: [e6989586621680092312]) (a6989586621680093871 :: [f6989586621680092313]) = ZipWith6 a6989586621680093865 a6989586621680093866 a6989586621680093867 a6989586621680093868 a6989586621680093869 a6989586621680093870 a6989586621680093871
data ZipWith7Sym0 :: forall a6989586621680092300 b6989586621680092301 c6989586621680092302 d6989586621680092303 e6989586621680092304 f6989586621680092305 g6989586621680092306 h6989586621680092307. (~>) ((~>) a6989586621680092300 ((~>) b6989586621680092301 ((~>) c6989586621680092302 ((~>) d6989586621680092303 ((~>) e6989586621680092304 ((~>) f6989586621680092305 ((~>) g6989586621680092306 h6989586621680092307))))))) ((~>) [a6989586621680092300] ((~>) [b6989586621680092301] ((~>) [c6989586621680092302] ((~>) [d6989586621680092303] ((~>) [e6989586621680092304] ((~>) [f6989586621680092305] ((~>) [g6989586621680092306] [h6989586621680092307])))))))
data ZipWith7Sym1 (a6989586621680093834 :: (~>) a6989586621680092300 ((~>) b6989586621680092301 ((~>) c6989586621680092302 ((~>) d6989586621680092303 ((~>) e6989586621680092304 ((~>) f6989586621680092305 ((~>) g6989586621680092306 h6989586621680092307))))))) :: (~>) [a6989586621680092300] ((~>) [b6989586621680092301] ((~>) [c6989586621680092302] ((~>) [d6989586621680092303] ((~>) [e6989586621680092304] ((~>) [f6989586621680092305] ((~>) [g6989586621680092306] [h6989586621680092307]))))))
data ZipWith7Sym2 (a6989586621680093834 :: (~>) a6989586621680092300 ((~>) b6989586621680092301 ((~>) c6989586621680092302 ((~>) d6989586621680092303 ((~>) e6989586621680092304 ((~>) f6989586621680092305 ((~>) g6989586621680092306 h6989586621680092307))))))) (a6989586621680093835 :: [a6989586621680092300]) :: (~>) [b6989586621680092301] ((~>) [c6989586621680092302] ((~>) [d6989586621680092303] ((~>) [e6989586621680092304] ((~>) [f6989586621680092305] ((~>) [g6989586621680092306] [h6989586621680092307])))))
data ZipWith7Sym3 (a6989586621680093834 :: (~>) a6989586621680092300 ((~>) b6989586621680092301 ((~>) c6989586621680092302 ((~>) d6989586621680092303 ((~>) e6989586621680092304 ((~>) f6989586621680092305 ((~>) g6989586621680092306 h6989586621680092307))))))) (a6989586621680093835 :: [a6989586621680092300]) (a6989586621680093836 :: [b6989586621680092301]) :: (~>) [c6989586621680092302] ((~>) [d6989586621680092303] ((~>) [e6989586621680092304] ((~>) [f6989586621680092305] ((~>) [g6989586621680092306] [h6989586621680092307]))))
data ZipWith7Sym4 (a6989586621680093834 :: (~>) a6989586621680092300 ((~>) b6989586621680092301 ((~>) c6989586621680092302 ((~>) d6989586621680092303 ((~>) e6989586621680092304 ((~>) f6989586621680092305 ((~>) g6989586621680092306 h6989586621680092307))))))) (a6989586621680093835 :: [a6989586621680092300]) (a6989586621680093836 :: [b6989586621680092301]) (a6989586621680093837 :: [c6989586621680092302]) :: (~>) [d6989586621680092303] ((~>) [e6989586621680092304] ((~>) [f6989586621680092305] ((~>) [g6989586621680092306] [h6989586621680092307])))
data ZipWith7Sym5 (a6989586621680093834 :: (~>) a6989586621680092300 ((~>) b6989586621680092301 ((~>) c6989586621680092302 ((~>) d6989586621680092303 ((~>) e6989586621680092304 ((~>) f6989586621680092305 ((~>) g6989586621680092306 h6989586621680092307))))))) (a6989586621680093835 :: [a6989586621680092300]) (a6989586621680093836 :: [b6989586621680092301]) (a6989586621680093837 :: [c6989586621680092302]) (a6989586621680093838 :: [d6989586621680092303]) :: (~>) [e6989586621680092304] ((~>) [f6989586621680092305] ((~>) [g6989586621680092306] [h6989586621680092307]))
data ZipWith7Sym6 (a6989586621680093834 :: (~>) a6989586621680092300 ((~>) b6989586621680092301 ((~>) c6989586621680092302 ((~>) d6989586621680092303 ((~>) e6989586621680092304 ((~>) f6989586621680092305 ((~>) g6989586621680092306 h6989586621680092307))))))) (a6989586621680093835 :: [a6989586621680092300]) (a6989586621680093836 :: [b6989586621680092301]) (a6989586621680093837 :: [c6989586621680092302]) (a6989586621680093838 :: [d6989586621680092303]) (a6989586621680093839 :: [e6989586621680092304]) :: (~>) [f6989586621680092305] ((~>) [g6989586621680092306] [h6989586621680092307])
data ZipWith7Sym7 (a6989586621680093834 :: (~>) a6989586621680092300 ((~>) b6989586621680092301 ((~>) c6989586621680092302 ((~>) d6989586621680092303 ((~>) e6989586621680092304 ((~>) f6989586621680092305 ((~>) g6989586621680092306 h6989586621680092307))))))) (a6989586621680093835 :: [a6989586621680092300]) (a6989586621680093836 :: [b6989586621680092301]) (a6989586621680093837 :: [c6989586621680092302]) (a6989586621680093838 :: [d6989586621680092303]) (a6989586621680093839 :: [e6989586621680092304]) (a6989586621680093840 :: [f6989586621680092305]) :: (~>) [g6989586621680092306] [h6989586621680092307]
type ZipWith7Sym8 (a6989586621680093834 :: (~>) a6989586621680092300 ((~>) b6989586621680092301 ((~>) c6989586621680092302 ((~>) d6989586621680092303 ((~>) e6989586621680092304 ((~>) f6989586621680092305 ((~>) g6989586621680092306 h6989586621680092307))))))) (a6989586621680093835 :: [a6989586621680092300]) (a6989586621680093836 :: [b6989586621680092301]) (a6989586621680093837 :: [c6989586621680092302]) (a6989586621680093838 :: [d6989586621680092303]) (a6989586621680093839 :: [e6989586621680092304]) (a6989586621680093840 :: [f6989586621680092305]) (a6989586621680093841 :: [g6989586621680092306]) = ZipWith7 a6989586621680093834 a6989586621680093835 a6989586621680093836 a6989586621680093837 a6989586621680093838 a6989586621680093839 a6989586621680093840 a6989586621680093841
data UnzipSym0 :: forall a6989586621679970204 b6989586621679970205. (~>) [(a6989586621679970204, b6989586621679970205)] ([a6989586621679970204], [b6989586621679970205])
type UnzipSym1 (a6989586621679975023 :: [(a6989586621679970204, b6989586621679970205)]) = Unzip a6989586621679975023
data Unzip3Sym0 :: forall a6989586621679970201 b6989586621679970202 c6989586621679970203. (~>) [(a6989586621679970201, b6989586621679970202, c6989586621679970203)] ([a6989586621679970201], [b6989586621679970202], [c6989586621679970203])
type Unzip3Sym1 (a6989586621679975002 :: [(a6989586621679970201, b6989586621679970202, c6989586621679970203)]) = Unzip3 a6989586621679975002
data Unzip4Sym0 :: forall a6989586621679970197 b6989586621679970198 c6989586621679970199 d6989586621679970200. (~>) [(a6989586621679970197, b6989586621679970198, c6989586621679970199, d6989586621679970200)] ([a6989586621679970197], [b6989586621679970198], [c6989586621679970199], [d6989586621679970200])
type Unzip4Sym1 (a6989586621679974979 :: [(a6989586621679970197, b6989586621679970198, c6989586621679970199, d6989586621679970200)]) = Unzip4 a6989586621679974979
data Unzip5Sym0 :: forall a6989586621679970192 b6989586621679970193 c6989586621679970194 d6989586621679970195 e6989586621679970196. (~>) [(a6989586621679970192, b6989586621679970193, c6989586621679970194, d6989586621679970195, e6989586621679970196)] ([a6989586621679970192], [b6989586621679970193], [c6989586621679970194], [d6989586621679970195], [e6989586621679970196])
type Unzip5Sym1 (a6989586621679974954 :: [(a6989586621679970192, b6989586621679970193, c6989586621679970194, d6989586621679970195, e6989586621679970196)]) = Unzip5 a6989586621679974954
data Unzip6Sym0 :: forall a6989586621679970186 b6989586621679970187 c6989586621679970188 d6989586621679970189 e6989586621679970190 f6989586621679970191. (~>) [(a6989586621679970186, b6989586621679970187, c6989586621679970188, d6989586621679970189, e6989586621679970190, f6989586621679970191)] ([a6989586621679970186], [b6989586621679970187], [c6989586621679970188], [d6989586621679970189], [e6989586621679970190], [f6989586621679970191])
type Unzip6Sym1 (a6989586621679974927 :: [(a6989586621679970186, b6989586621679970187, c6989586621679970188, d6989586621679970189, e6989586621679970190, f6989586621679970191)]) = Unzip6 a6989586621679974927
data Unzip7Sym0 :: forall a6989586621679970179 b6989586621679970180 c6989586621679970181 d6989586621679970182 e6989586621679970183 f6989586621679970184 g6989586621679970185. (~>) [(a6989586621679970179, b6989586621679970180, c6989586621679970181, d6989586621679970182, e6989586621679970183, f6989586621679970184, g6989586621679970185)] ([a6989586621679970179], [b6989586621679970180], [c6989586621679970181], [d6989586621679970182], [e6989586621679970183], [f6989586621679970184], [g6989586621679970185])
type Unzip7Sym1 (a6989586621679974898 :: [(a6989586621679970179, b6989586621679970180, c6989586621679970181, d6989586621679970182, e6989586621679970183, f6989586621679970184, g6989586621679970185)]) = Unzip7 a6989586621679974898
data UnlinesSym0 :: (~>) [Symbol] Symbol
type UnlinesSym1 (a6989586621679974894 :: [Symbol]) = Unlines a6989586621679974894
data UnwordsSym0 :: (~>) [Symbol] Symbol
type UnwordsSym1 (a6989586621679974883 :: [Symbol]) = Unwords a6989586621679974883
data NubSym0 :: forall a6989586621679970138. (~>) [a6989586621679970138] [a6989586621679970138]
type NubSym1 (a6989586621679974266 :: [a6989586621679970138]) = Nub a6989586621679974266
data DeleteSym0 :: forall a6989586621679970178. (~>) a6989586621679970178 ((~>) [a6989586621679970178] [a6989586621679970178])
data DeleteSym1 (a6989586621679974877 :: a6989586621679970178) :: (~>) [a6989586621679970178] [a6989586621679970178]
type DeleteSym2 (a6989586621679974877 :: a6989586621679970178) (a6989586621679974878 :: [a6989586621679970178]) = Delete a6989586621679974877 a6989586621679974878
data (\\@#@$) :: forall a6989586621679970177. (~>) [a6989586621679970177] ((~>) [a6989586621679970177] [a6989586621679970177])
infix 5 \\@#@$
data (\\@#@$$) (a6989586621679974867 :: [a6989586621679970177]) :: (~>) [a6989586621679970177] [a6989586621679970177]
infix 5 \\@#@$$
type (\\@#@$$$) (a6989586621679974867 :: [a6989586621679970177]) (a6989586621679974868 :: [a6989586621679970177]) = (\\) a6989586621679974867 a6989586621679974868
data UnionSym0 :: forall a6989586621679970134. (~>) [a6989586621679970134] ((~>) [a6989586621679970134] [a6989586621679970134])
data UnionSym1 (a6989586621679974216 :: [a6989586621679970134]) :: (~>) [a6989586621679970134] [a6989586621679970134]
type UnionSym2 (a6989586621679974216 :: [a6989586621679970134]) (a6989586621679974217 :: [a6989586621679970134]) = Union a6989586621679974216 a6989586621679974217
data IntersectSym0 :: forall a6989586621679970164. (~>) [a6989586621679970164] ((~>) [a6989586621679970164] [a6989586621679970164])
data IntersectSym1 (a6989586621679974661 :: [a6989586621679970164]) :: (~>) [a6989586621679970164] [a6989586621679970164]
type IntersectSym2 (a6989586621679974661 :: [a6989586621679970164]) (a6989586621679974662 :: [a6989586621679970164]) = Intersect a6989586621679974661 a6989586621679974662
data InsertSym0 :: forall a6989586621679970151. (~>) a6989586621679970151 ((~>) [a6989586621679970151] [a6989586621679970151])
data InsertSym1 (a6989586621679974424 :: a6989586621679970151) :: (~>) [a6989586621679970151] [a6989586621679970151]
type InsertSym2 (a6989586621679974424 :: a6989586621679970151) (a6989586621679974425 :: [a6989586621679970151]) = Insert a6989586621679974424 a6989586621679974425
data SortSym0 :: forall a6989586621679970150. (~>) [a6989586621679970150] [a6989586621679970150]
type SortSym1 (a6989586621679974421 :: [a6989586621679970150]) = Sort a6989586621679974421
data NubBySym0 :: forall a6989586621679970137. (~>) ((~>) a6989586621679970137 ((~>) a6989586621679970137 Bool)) ((~>) [a6989586621679970137] [a6989586621679970137])
data NubBySym1 (a6989586621679974241 :: (~>) a6989586621679970137 ((~>) a6989586621679970137 Bool)) :: (~>) [a6989586621679970137] [a6989586621679970137]
type NubBySym2 (a6989586621679974241 :: (~>) a6989586621679970137 ((~>) a6989586621679970137 Bool)) (a6989586621679974242 :: [a6989586621679970137]) = NubBy a6989586621679974241 a6989586621679974242
data DeleteBySym0 :: forall a6989586621679970176. (~>) ((~>) a6989586621679970176 ((~>) a6989586621679970176 Bool)) ((~>) a6989586621679970176 ((~>) [a6989586621679970176] [a6989586621679970176]))
data DeleteBySym1 (a6989586621679974845 :: (~>) a6989586621679970176 ((~>) a6989586621679970176 Bool)) :: (~>) a6989586621679970176 ((~>) [a6989586621679970176] [a6989586621679970176])
data DeleteBySym2 (a6989586621679974845 :: (~>) a6989586621679970176 ((~>) a6989586621679970176 Bool)) (a6989586621679974846 :: a6989586621679970176) :: (~>) [a6989586621679970176] [a6989586621679970176]
type DeleteBySym3 (a6989586621679974845 :: (~>) a6989586621679970176 ((~>) a6989586621679970176 Bool)) (a6989586621679974846 :: a6989586621679970176) (a6989586621679974847 :: [a6989586621679970176]) = DeleteBy a6989586621679974845 a6989586621679974846 a6989586621679974847
data DeleteFirstsBySym0 :: forall a6989586621679970175. (~>) ((~>) a6989586621679970175 ((~>) a6989586621679970175 Bool)) ((~>) [a6989586621679970175] ((~>) [a6989586621679970175] [a6989586621679970175]))
data DeleteFirstsBySym1 (a6989586621679974832 :: (~>) a6989586621679970175 ((~>) a6989586621679970175 Bool)) :: (~>) [a6989586621679970175] ((~>) [a6989586621679970175] [a6989586621679970175])
data DeleteFirstsBySym2 (a6989586621679974832 :: (~>) a6989586621679970175 ((~>) a6989586621679970175 Bool)) (a6989586621679974833 :: [a6989586621679970175]) :: (~>) [a6989586621679970175] [a6989586621679970175]
type DeleteFirstsBySym3 (a6989586621679974832 :: (~>) a6989586621679970175 ((~>) a6989586621679970175 Bool)) (a6989586621679974833 :: [a6989586621679970175]) (a6989586621679974834 :: [a6989586621679970175]) = DeleteFirstsBy a6989586621679974832 a6989586621679974833 a6989586621679974834
data UnionBySym0 :: forall a6989586621679970135. (~>) ((~>) a6989586621679970135 ((~>) a6989586621679970135 Bool)) ((~>) [a6989586621679970135] ((~>) [a6989586621679970135] [a6989586621679970135]))
data UnionBySym1 (a6989586621679974222 :: (~>) a6989586621679970135 ((~>) a6989586621679970135 Bool)) :: (~>) [a6989586621679970135] ((~>) [a6989586621679970135] [a6989586621679970135])
data UnionBySym2 (a6989586621679974222 :: (~>) a6989586621679970135 ((~>) a6989586621679970135 Bool)) (a6989586621679974223 :: [a6989586621679970135]) :: (~>) [a6989586621679970135] [a6989586621679970135]
type UnionBySym3 (a6989586621679974222 :: (~>) a6989586621679970135 ((~>) a6989586621679970135 Bool)) (a6989586621679974223 :: [a6989586621679970135]) (a6989586621679974224 :: [a6989586621679970135]) = UnionBy a6989586621679974222 a6989586621679974223 a6989586621679974224
data IntersectBySym0 :: forall a6989586621679970163. (~>) ((~>) a6989586621679970163 ((~>) a6989586621679970163 Bool)) ((~>) [a6989586621679970163] ((~>) [a6989586621679970163] [a6989586621679970163]))
data IntersectBySym1 (a6989586621679974625 :: (~>) a6989586621679970163 ((~>) a6989586621679970163 Bool)) :: (~>) [a6989586621679970163] ((~>) [a6989586621679970163] [a6989586621679970163])
data IntersectBySym2 (a6989586621679974625 :: (~>) a6989586621679970163 ((~>) a6989586621679970163 Bool)) (a6989586621679974626 :: [a6989586621679970163]) :: (~>) [a6989586621679970163] [a6989586621679970163]
type IntersectBySym3 (a6989586621679974625 :: (~>) a6989586621679970163 ((~>) a6989586621679970163 Bool)) (a6989586621679974626 :: [a6989586621679970163]) (a6989586621679974627 :: [a6989586621679970163]) = IntersectBy a6989586621679974625 a6989586621679974626 a6989586621679974627
data GroupBySym0 :: forall a6989586621679970149. (~>) ((~>) a6989586621679970149 ((~>) a6989586621679970149 Bool)) ((~>) [a6989586621679970149] [[a6989586621679970149]])
data GroupBySym1 (a6989586621679974388 :: (~>) a6989586621679970149 ((~>) a6989586621679970149 Bool)) :: (~>) [a6989586621679970149] [[a6989586621679970149]]
type GroupBySym2 (a6989586621679974388 :: (~>) a6989586621679970149 ((~>) a6989586621679970149 Bool)) (a6989586621679974389 :: [a6989586621679970149]) = GroupBy a6989586621679974388 a6989586621679974389
data SortBySym0 :: forall a6989586621679970174. (~>) ((~>) a6989586621679970174 ((~>) a6989586621679970174 Ordering)) ((~>) [a6989586621679970174] [a6989586621679970174])
data SortBySym1 (a6989586621679974824 :: (~>) a6989586621679970174 ((~>) a6989586621679970174 Ordering)) :: (~>) [a6989586621679970174] [a6989586621679970174]
type SortBySym2 (a6989586621679974824 :: (~>) a6989586621679970174 ((~>) a6989586621679970174 Ordering)) (a6989586621679974825 :: [a6989586621679970174]) = SortBy a6989586621679974824 a6989586621679974825
data InsertBySym0 :: forall a6989586621679970173. (~>) ((~>) a6989586621679970173 ((~>) a6989586621679970173 Ordering)) ((~>) a6989586621679970173 ((~>) [a6989586621679970173] [a6989586621679970173]))
data InsertBySym1 (a6989586621679974800 :: (~>) a6989586621679970173 ((~>) a6989586621679970173 Ordering)) :: (~>) a6989586621679970173 ((~>) [a6989586621679970173] [a6989586621679970173])
data InsertBySym2 (a6989586621679974800 :: (~>) a6989586621679970173 ((~>) a6989586621679970173 Ordering)) (a6989586621679974801 :: a6989586621679970173) :: (~>) [a6989586621679970173] [a6989586621679970173]
type InsertBySym3 (a6989586621679974800 :: (~>) a6989586621679970173 ((~>) a6989586621679970173 Ordering)) (a6989586621679974801 :: a6989586621679970173) (a6989586621679974802 :: [a6989586621679970173]) = InsertBy a6989586621679974800 a6989586621679974801 a6989586621679974802
data MaximumBySym0 :: forall a6989586621680486494 t6989586621680486493. (~>) ((~>) a6989586621680486494 ((~>) a6989586621680486494 Ordering)) ((~>) (t6989586621680486493 a6989586621680486494) a6989586621680486494)
data MaximumBySym1 (a6989586621680487001 :: (~>) a6989586621680486494 ((~>) a6989586621680486494 Ordering)) :: forall t6989586621680486493. (~>) (t6989586621680486493 a6989586621680486494) a6989586621680486494
type MaximumBySym2 (a6989586621680487001 :: (~>) a6989586621680486494 ((~>) a6989586621680486494 Ordering)) (a6989586621680487002 :: t6989586621680486493 a6989586621680486494) = MaximumBy a6989586621680487001 a6989586621680487002
data MinimumBySym0 :: forall a6989586621680486492 t6989586621680486491. (~>) ((~>) a6989586621680486492 ((~>) a6989586621680486492 Ordering)) ((~>) (t6989586621680486491 a6989586621680486492) a6989586621680486492)
data MinimumBySym1 (a6989586621680486976 :: (~>) a6989586621680486492 ((~>) a6989586621680486492 Ordering)) :: forall t6989586621680486491. (~>) (t6989586621680486491 a6989586621680486492) a6989586621680486492
type MinimumBySym2 (a6989586621680486976 :: (~>) a6989586621680486492 ((~>) a6989586621680486492 Ordering)) (a6989586621680486977 :: t6989586621680486491 a6989586621680486492) = MinimumBy a6989586621680486976 a6989586621680486977
data GenericLengthSym0 :: forall a6989586621679970133 i6989586621679970132. (~>) [a6989586621679970133] i6989586621679970132
type GenericLengthSym1 (a6989586621679974209 :: [a6989586621679970133]) = GenericLength a6989586621679974209
data GenericTakeSym0 :: forall i6989586621680092298 a6989586621680092299. (~>) i6989586621680092298 ((~>) [a6989586621680092299] [a6989586621680092299])
data GenericTakeSym1 (a6989586621680093828 :: i6989586621680092298) :: forall a6989586621680092299. (~>) [a6989586621680092299] [a6989586621680092299]
type GenericTakeSym2 (a6989586621680093828 :: i6989586621680092298) (a6989586621680093829 :: [a6989586621680092299]) = GenericTake a6989586621680093828 a6989586621680093829
data GenericDropSym0 :: forall i6989586621680092296 a6989586621680092297. (~>) i6989586621680092296 ((~>) [a6989586621680092297] [a6989586621680092297])
data GenericDropSym1 (a6989586621680093818 :: i6989586621680092296) :: forall a6989586621680092297. (~>) [a6989586621680092297] [a6989586621680092297]
type GenericDropSym2 (a6989586621680093818 :: i6989586621680092296) (a6989586621680093819 :: [a6989586621680092297]) = GenericDrop a6989586621680093818 a6989586621680093819
data GenericSplitAtSym0 :: forall i6989586621680092294 a6989586621680092295. (~>) i6989586621680092294 ((~>) [a6989586621680092295] ([a6989586621680092295], [a6989586621680092295]))
data GenericSplitAtSym1 (a6989586621680093808 :: i6989586621680092294) :: forall a6989586621680092295. (~>) [a6989586621680092295] ([a6989586621680092295], [a6989586621680092295])
type GenericSplitAtSym2 (a6989586621680093808 :: i6989586621680092294) (a6989586621680093809 :: [a6989586621680092295]) = GenericSplitAt a6989586621680093808 a6989586621680093809
data GenericIndexSym0 :: forall a6989586621680092293 i6989586621680092292. (~>) [a6989586621680092293] ((~>) i6989586621680092292 a6989586621680092293)
data GenericIndexSym1 (a6989586621680093798 :: [a6989586621680092293]) :: forall i6989586621680092292. (~>) i6989586621680092292 a6989586621680092293
type GenericIndexSym2 (a6989586621680093798 :: [a6989586621680092293]) (a6989586621680093799 :: i6989586621680092292) = GenericIndex a6989586621680093798 a6989586621680093799
data GenericReplicateSym0 :: forall i6989586621680092290 a6989586621680092291. (~>) i6989586621680092290 ((~>) a6989586621680092291 [a6989586621680092291])
data GenericReplicateSym1 (a6989586621680093788 :: i6989586621680092290) :: forall a6989586621680092291. (~>) a6989586621680092291 [a6989586621680092291]
type GenericReplicateSym2 (a6989586621680093788 :: i6989586621680092290) (a6989586621680093789 :: a6989586621680092291) = GenericReplicate a6989586621680093788 a6989586621680093789


-- | Defines the promoted and singled versions of the <a>MonadZip</a> type
--   class.
module Data.Singletons.Prelude.Monad.Zip
class PMonadZip (m_a8SUO :: Type -> Type) where {
    type family Mzip (arg_a8SW2 :: m_a8SUO a_a8SUP) (arg_a8SW3 :: m_a8SUO b_a8SUQ) :: m_a8SUO (a_a8SUP, b_a8SUQ);
    type family MzipWith (arg_a8SW6 :: (~>) a_a8SUR ((~>) b_a8SUS c_a8SUT)) (arg_a8SW7 :: m_a8SUO a_a8SUR) (arg_a8SW8 :: m_a8SUO b_a8SUS) :: m_a8SUO c_a8SUT;
    type family Munzip (arg_a8SWc :: m_a8SUO (a_a8SUU, b_a8SUV)) :: (m_a8SUO a_a8SUU, m_a8SUO b_a8SUV);
    type Mzip a_a8SWe a_a8SWf = Apply (Apply Mzip_6989586621681127604Sym0 a_a8SWe) a_a8SWf;
    type MzipWith a_a8SWu a_a8SWv a_a8SWw = Apply (Apply (Apply MzipWith_6989586621681127621Sym0 a_a8SWu) a_a8SWv) a_a8SWw;
    type Munzip a_a8SWL = Apply Munzip_6989586621681127636Sym0 a_a8SWL;
}
class SMonad m_a8SUO => SMonadZip (m_a8SUO :: Type -> Type)
sMzip :: forall a_a8SUP b_a8SUQ (t_a8T0W :: m_a8SUO a_a8SUP) (t_a8T0X :: m_a8SUO b_a8SUQ). SMonadZip m_a8SUO => Sing t_a8T0W -> Sing t_a8T0X -> Sing (Apply (Apply MzipSym0 t_a8T0W) t_a8T0X :: m_a8SUO (a_a8SUP, b_a8SUQ))
sMzipWith :: forall a_a8SUR b_a8SUS c_a8SUT (t_a8T10 :: (~>) a_a8SUR ((~>) b_a8SUS c_a8SUT)) (t_a8T11 :: m_a8SUO a_a8SUR) (t_a8T12 :: m_a8SUO b_a8SUS). SMonadZip m_a8SUO => Sing t_a8T10 -> Sing t_a8T11 -> Sing t_a8T12 -> Sing (Apply (Apply (Apply MzipWithSym0 t_a8T10) t_a8T11) t_a8T12 :: m_a8SUO c_a8SUT)
sMunzip :: forall a_a8SUU b_a8SUV (t_a8T16 :: m_a8SUO (a_a8SUU, b_a8SUV)). SMonadZip m_a8SUO => Sing t_a8T16 -> Sing (Apply MunzipSym0 t_a8T16 :: (m_a8SUO a_a8SUU, m_a8SUO b_a8SUV))
sMzip :: forall a_a8SUP b_a8SUQ (t_a8T0W :: m_a8SUO a_a8SUP) (t_a8T0X :: m_a8SUO b_a8SUQ). (SMonadZip m_a8SUO, (Apply (Apply MzipSym0 t_a8T0W) t_a8T0X :: m_a8SUO (a_a8SUP, b_a8SUQ)) ~ Apply (Apply Mzip_6989586621681127604Sym0 t_a8T0W) t_a8T0X) => Sing t_a8T0W -> Sing t_a8T0X -> Sing (Apply (Apply MzipSym0 t_a8T0W) t_a8T0X :: m_a8SUO (a_a8SUP, b_a8SUQ))
sMzipWith :: forall a_a8SUR b_a8SUS c_a8SUT (t_a8T10 :: (~>) a_a8SUR ((~>) b_a8SUS c_a8SUT)) (t_a8T11 :: m_a8SUO a_a8SUR) (t_a8T12 :: m_a8SUO b_a8SUS). (SMonadZip m_a8SUO, (Apply (Apply (Apply MzipWithSym0 t_a8T10) t_a8T11) t_a8T12 :: m_a8SUO c_a8SUT) ~ Apply (Apply (Apply MzipWith_6989586621681127621Sym0 t_a8T10) t_a8T11) t_a8T12) => Sing t_a8T10 -> Sing t_a8T11 -> Sing t_a8T12 -> Sing (Apply (Apply (Apply MzipWithSym0 t_a8T10) t_a8T11) t_a8T12 :: m_a8SUO c_a8SUT)
sMunzip :: forall a_a8SUU b_a8SUV (t_a8T16 :: m_a8SUO (a_a8SUU, b_a8SUV)). (SMonadZip m_a8SUO, (Apply MunzipSym0 t_a8T16 :: (m_a8SUO a_a8SUU, m_a8SUO b_a8SUV)) ~ Apply Munzip_6989586621681127636Sym0 t_a8T16) => Sing t_a8T16 -> Sing (Apply MunzipSym0 t_a8T16 :: (m_a8SUO a_a8SUU, m_a8SUO b_a8SUV))
data MzipSym0 :: forall m6989586621681127514 a6989586621681127515 b6989586621681127516. (~>) (m6989586621681127514 a6989586621681127515) ((~>) (m6989586621681127514 b6989586621681127516) (m6989586621681127514 (a6989586621681127515, b6989586621681127516)))
data MzipSym1 (arg6989586621681127590 :: m6989586621681127514 a6989586621681127515) :: forall b6989586621681127516. (~>) (m6989586621681127514 b6989586621681127516) (m6989586621681127514 (a6989586621681127515, b6989586621681127516))
type MzipSym2 (arg6989586621681127590 :: m6989586621681127514 a6989586621681127515) (arg6989586621681127591 :: m6989586621681127514 b6989586621681127516) = Mzip arg6989586621681127590 arg6989586621681127591
data MzipWithSym0 :: forall a6989586621681127517 b6989586621681127518 c6989586621681127519 m6989586621681127514. (~>) ((~>) a6989586621681127517 ((~>) b6989586621681127518 c6989586621681127519)) ((~>) (m6989586621681127514 a6989586621681127517) ((~>) (m6989586621681127514 b6989586621681127518) (m6989586621681127514 c6989586621681127519)))
data MzipWithSym1 (arg6989586621681127594 :: (~>) a6989586621681127517 ((~>) b6989586621681127518 c6989586621681127519)) :: forall m6989586621681127514. (~>) (m6989586621681127514 a6989586621681127517) ((~>) (m6989586621681127514 b6989586621681127518) (m6989586621681127514 c6989586621681127519))
data MzipWithSym2 (arg6989586621681127594 :: (~>) a6989586621681127517 ((~>) b6989586621681127518 c6989586621681127519)) (arg6989586621681127595 :: m6989586621681127514 a6989586621681127517) :: (~>) (m6989586621681127514 b6989586621681127518) (m6989586621681127514 c6989586621681127519)
type MzipWithSym3 (arg6989586621681127594 :: (~>) a6989586621681127517 ((~>) b6989586621681127518 c6989586621681127519)) (arg6989586621681127595 :: m6989586621681127514 a6989586621681127517) (arg6989586621681127596 :: m6989586621681127514 b6989586621681127518) = MzipWith arg6989586621681127594 arg6989586621681127595 arg6989586621681127596
data MunzipSym0 :: forall m6989586621681127514 a6989586621681127520 b6989586621681127521. (~>) (m6989586621681127514 (a6989586621681127520, b6989586621681127521)) (m6989586621681127514 a6989586621681127520, m6989586621681127514 b6989586621681127521)
type MunzipSym1 (arg6989586621681127600 :: m6989586621681127514 (a6989586621681127520, b6989586621681127521)) = Munzip arg6989586621681127600
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_6989586621681127874Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Monoid.Last
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (a6989586621681127871 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127874Sym1 a6989586621681127871)
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (a6989586621681127872 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)) (a6989586621681127871 :: m6989586621681127514 a6989586621681127517). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127874Sym2 a6989586621681127872 a6989586621681127871)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127851Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Monoid.First
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (a6989586621681127848 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127851Sym1 a6989586621681127848)
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (a6989586621681127849 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)) (a6989586621681127848 :: m6989586621681127514 a6989586621681127517). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127851Sym2 a6989586621681127849 a6989586621681127848)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127828Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip GHC.Maybe.Maybe
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (a6989586621681127825 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127828Sym1 a6989586621681127825)
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (a6989586621681127826 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)) (a6989586621681127825 :: m6989586621681127514 a6989586621681127517). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127828Sym2 a6989586621681127826 a6989586621681127825)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127805Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Semigroup.Internal.Product
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (a6989586621681127802 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127805Sym1 a6989586621681127802)
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (a6989586621681127803 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)) (a6989586621681127802 :: m6989586621681127514 a6989586621681127517). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127805Sym2 a6989586621681127803 a6989586621681127802)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127782Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Semigroup.Internal.Sum
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (a6989586621681127779 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127782Sym1 a6989586621681127779)
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (a6989586621681127780 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)) (a6989586621681127779 :: m6989586621681127514 a6989586621681127517). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127782Sym2 a6989586621681127780 a6989586621681127779)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127759Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Semigroup.Internal.Dual
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (a6989586621681127756 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127759Sym1 a6989586621681127756)
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (a6989586621681127757 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)) (a6989586621681127756 :: m6989586621681127514 a6989586621681127517). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127759Sym2 a6989586621681127757 a6989586621681127756)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Munzip_6989586621681127749Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Functor.Identity.Identity
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127728Sym0
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (a6989586621681127725 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127728Sym1 a6989586621681127725)
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (a6989586621681127726 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)) (a6989586621681127725 :: m6989586621681127514 a6989586621681127517). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127728Sym2 a6989586621681127726 a6989586621681127725)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Munzip_6989586621681127717Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip []
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127696Sym0
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (a6989586621681127693 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127696Sym1 a6989586621681127693)
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (a6989586621681127694 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)) (a6989586621681127693 :: m6989586621681127514 a6989586621681127517). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127696Sym2 a6989586621681127694 a6989586621681127693)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681127679Sym0
instance forall (m6989586621681127514 :: * -> *) a6989586621681127515 b6989586621681127516 (a6989586621681127677 :: m6989586621681127514 a6989586621681127515). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681127679Sym1 a6989586621681127677)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MunzipSym0
instance forall (m6989586621681127514 :: * -> *) a6989586621681127515 b6989586621681127516 (arg6989586621681127590 :: m6989586621681127514 a6989586621681127515). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipSym1 arg6989586621681127590)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipSym0
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (arg6989586621681127595 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)) (arg6989586621681127594 :: m6989586621681127514 a6989586621681127517). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWithSym2 arg6989586621681127595 arg6989586621681127594)
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (arg6989586621681127594 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWithSym1 arg6989586621681127594)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWithSym0
instance forall (m6989586621681127514 :: * -> *) a6989586621681127515 b6989586621681127516 (a6989586621681127602 :: m6989586621681127514 a6989586621681127515). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681127604Sym1 a6989586621681127602)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681127604Sym0
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (a6989586621681127619 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)) (a6989586621681127618 :: m6989586621681127514 a6989586621681127517). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127621Sym2 a6989586621681127619 a6989586621681127618)
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (m6989586621681127514 :: * -> *) (a6989586621681127618 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127621Sym1 a6989586621681127618)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681127621Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Munzip_6989586621681127636Sym0


-- | 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_acU6. NonEmpty a_acU6 -> Type
[:%|] :: forall a_acU6 (n_a1glQ :: a_acU6) (n_a1glR :: [a_acU6]). () => Sing (n_a1glQ :: a_acU6) -> Sing (n_a1glR :: [a_acU6]) -> SNonEmpty ('(:|) n_a1glQ n_a1glR)
infixr 5 :%|
type family Map (a_a91GK :: (~>) a_a91gI b_a91gJ) (a_a91GL :: NonEmpty a_a91gI) :: NonEmpty b_a91gJ
sMap :: forall a_a91gI b_a91gJ (t_a91LQ :: (~>) a_a91gI b_a91gJ) (t_a91LR :: NonEmpty a_a91gI). Sing t_a91LQ -> Sing t_a91LR -> Sing (Apply (Apply MapSym0 t_a91LQ) t_a91LR :: NonEmpty b_a91gJ)
type family Intersperse (a_a91FI :: a_a91gy) (a_a91FJ :: NonEmpty a_a91gy) :: NonEmpty a_a91gy
sIntersperse :: forall a_a91gy (t_a91Lk :: a_a91gy) (t_a91Ll :: NonEmpty a_a91gy). Sing t_a91Lk -> Sing t_a91Ll -> Sing (Apply (Apply IntersperseSym0 t_a91Lk) t_a91Ll :: NonEmpty a_a91gy)
type family Scanl (a_a91Gh :: (~>) b_a91gD ((~>) a_a91gE b_a91gD)) (a_a91Gi :: b_a91gD) (a_a91Gj :: [a_a91gE]) :: NonEmpty b_a91gD
sScanl :: forall b_a91gD a_a91gE (t_a91LC :: (~>) b_a91gD ((~>) a_a91gE b_a91gD)) (t_a91LD :: b_a91gD) (t_a91LE :: [a_a91gE]). Sing t_a91LC -> Sing t_a91LD -> Sing t_a91LE -> Sing (Apply (Apply (Apply ScanlSym0 t_a91LC) t_a91LD) t_a91LE :: NonEmpty b_a91gD)
type family Scanr (a_a91G6 :: (~>) a_a91gB ((~>) b_a91gC b_a91gC)) (a_a91G7 :: b_a91gC) (a_a91G8 :: [a_a91gB]) :: NonEmpty b_a91gC
sScanr :: forall a_a91gB b_a91gC (t_a91Lw :: (~>) a_a91gB ((~>) b_a91gC b_a91gC)) (t_a91Lx :: b_a91gC) (t_a91Ly :: [a_a91gB]). Sing t_a91Lw -> Sing t_a91Lx -> Sing t_a91Ly -> Sing (Apply (Apply (Apply ScanrSym0 t_a91Lw) t_a91Lx) t_a91Ly :: NonEmpty b_a91gC)
type family Scanl1 (a_a91FZ :: (~>) a_a91gA ((~>) a_a91gA a_a91gA)) (a_a91G0 :: NonEmpty a_a91gA) :: NonEmpty a_a91gA
sScanl1 :: forall a_a91gA (t_a91Ls :: (~>) a_a91gA ((~>) a_a91gA a_a91gA)) (t_a91Lt :: NonEmpty a_a91gA). Sing t_a91Ls -> Sing t_a91Lt -> Sing (Apply (Apply Scanl1Sym0 t_a91Ls) t_a91Lt :: NonEmpty a_a91gA)
type family Scanr1 (a_a91FS :: (~>) a_a91gz ((~>) a_a91gz a_a91gz)) (a_a91FT :: NonEmpty a_a91gz) :: NonEmpty a_a91gz
sScanr1 :: forall a_a91gz (t_a91Lo :: (~>) a_a91gz ((~>) a_a91gz a_a91gz)) (t_a91Lp :: NonEmpty a_a91gz). Sing t_a91Lo -> Sing t_a91Lp -> Sing (Apply (Apply Scanr1Sym0 t_a91Lo) t_a91Lp :: NonEmpty a_a91gz)
type family Transpose (a_a91AX :: NonEmpty (NonEmpty a_a91g0)) :: NonEmpty (NonEmpty a_a91g0)
sTranspose :: forall a_a91g0 (t_a91JO :: NonEmpty (NonEmpty a_a91g0)). Sing t_a91JO -> Sing (Apply TransposeSym0 t_a91JO :: NonEmpty (NonEmpty a_a91g0))
type family SortBy (a_a91AN :: (~>) a_a91fZ ((~>) a_a91fZ Ordering)) (a_a91AO :: NonEmpty a_a91fZ) :: NonEmpty a_a91fZ
sSortBy :: forall a_a91fZ (t_a91JK :: (~>) a_a91fZ ((~>) a_a91fZ Ordering)) (t_a91JL :: NonEmpty a_a91fZ). Sing t_a91JK -> Sing t_a91JL -> Sing (Apply (Apply SortBySym0 t_a91JK) t_a91JL :: NonEmpty a_a91fZ)
type family SortWith (a_a91AH :: (~>) a_a91fY o_a91fX) (a_a91AI :: NonEmpty a_a91fY) :: NonEmpty a_a91fY
sSortWith :: forall a_a91fY o_a91fX (t_a91JG :: (~>) a_a91fY o_a91fX) (t_a91JH :: NonEmpty a_a91fY). SOrd o_a91fX => Sing t_a91JG -> Sing t_a91JH -> Sing (Apply (Apply SortWithSym0 t_a91JG) t_a91JH :: NonEmpty a_a91fY)
type family Length (a_a91IK :: NonEmpty a_a91h1) :: Nat
sLength :: forall a_a91h1 (t_a91My :: NonEmpty a_a91h1). Sing t_a91My -> Sing (Apply LengthSym0 t_a91My :: Nat)
type family Head (a_a91HE :: NonEmpty a_a91gU) :: a_a91gU
sHead :: forall a_a91gU (t_a91Mi :: NonEmpty a_a91gU). Sing t_a91Mi -> Sing (Apply HeadSym0 t_a91Mi :: a_a91gU)
type family Tail (a_a91HB :: NonEmpty a_a91gT) :: [a_a91gT]
sTail :: forall a_a91gT (t_a91Mg :: NonEmpty a_a91gT). Sing t_a91Mg -> Sing (Apply TailSym0 t_a91Mg :: [a_a91gT])
type family Last (a_a91Hx :: NonEmpty a_a91gS) :: a_a91gS
sLast :: forall a_a91gS (t_a91Me :: NonEmpty a_a91gS). Sing t_a91Me -> Sing (Apply LastSym0 t_a91Me :: a_a91gS)
type family Init (a_a91Ht :: NonEmpty a_a91gR) :: [a_a91gR]
sInit :: forall a_a91gR (t_a91Mc :: NonEmpty a_a91gR). Sing t_a91Mc -> Sing (Apply InitSym0 t_a91Mc :: [a_a91gR])
type family (<|) (a_a91Hm :: a_a91gQ) (a_a91Hn :: NonEmpty a_a91gQ) :: NonEmpty a_a91gQ
(%<|) :: forall a_a91gQ (t_a91M8 :: a_a91gQ) (t_a91M9 :: NonEmpty a_a91gQ). Sing t_a91M8 -> Sing t_a91M9 -> Sing (Apply (Apply (<|@#@$) t_a91M8) t_a91M9 :: NonEmpty a_a91gQ)
type family Cons (a_a91Hg :: a_a91gP) (a_a91Hh :: NonEmpty a_a91gP) :: NonEmpty a_a91gP
sCons :: forall a_a91gP (t_a91M4 :: a_a91gP) (t_a91M5 :: NonEmpty a_a91gP). Sing t_a91M4 -> Sing t_a91M5 -> Sing (Apply (Apply ConsSym0 t_a91M4) t_a91M5 :: NonEmpty a_a91gP)
type family Uncons (a_a91Ia :: NonEmpty a_a91gX) :: (a_a91gX, Maybe (NonEmpty a_a91gX))
sUncons :: forall a_a91gX (t_a91Mo :: NonEmpty a_a91gX). Sing t_a91Mo -> Sing (Apply UnconsSym0 t_a91Mo :: (a_a91gX, Maybe (NonEmpty a_a91gX)))
type family Unfoldr (a_a91HH :: (~>) a_a91gV (b_a91gW, Maybe a_a91gV)) (a_a91HI :: a_a91gV) :: NonEmpty b_a91gW
sUnfoldr :: forall a_a91gV b_a91gW (t_a91Mk :: (~>) a_a91gV (b_a91gW, Maybe a_a91gV)) (t_a91Ml :: a_a91gV). Sing t_a91Mk -> Sing t_a91Ml -> Sing (Apply (Apply UnfoldrSym0 t_a91Mk) t_a91Ml :: NonEmpty b_a91gW)
type family Sort (a_a91H9 :: NonEmpty a_a91gO) :: NonEmpty a_a91gO
sSort :: forall a_a91gO (t_a91M2 :: NonEmpty a_a91gO). SOrd a_a91gO => Sing t_a91M2 -> Sing (Apply SortSym0 t_a91M2 :: NonEmpty a_a91gO)
type family Reverse (a_a91FF :: NonEmpty a_a91gx) :: NonEmpty a_a91gx
sReverse :: forall a_a91gx (t_a91Li :: NonEmpty a_a91gx). Sing t_a91Li -> Sing (Apply ReverseSym0 t_a91Li :: NonEmpty a_a91gx)
type family Inits (a_a91GH :: [a_a91gH]) :: NonEmpty [a_a91gH]
sInits :: forall a_a91gH (t_a91LO :: [a_a91gH]). Sing t_a91LO -> Sing (Apply InitsSym0 t_a91LO :: NonEmpty [a_a91gH])
type family Tails (a_a91GC :: [a_a91gG]) :: NonEmpty [a_a91gG]
sTails :: forall a_a91gG (t_a91LM :: [a_a91gG]). Sing t_a91LM -> Sing (Apply TailsSym0 t_a91LM :: NonEmpty [a_a91gG])
type family Unfold (a_a91Ii :: (~>) a_a91gZ (b_a91h0, Maybe a_a91gZ)) (a_a91Ij :: a_a91gZ) :: NonEmpty b_a91h0
sUnfold :: forall a_a91gZ b_a91h0 (t_a91Ms :: (~>) a_a91gZ (b_a91h0, Maybe a_a91gZ)) (t_a91Mt :: a_a91gZ). Sing t_a91Ms -> Sing t_a91Mt -> Sing (Apply (Apply UnfoldSym0 t_a91Ms) t_a91Mt :: NonEmpty b_a91h0)
type family Insert (a_a91Gs :: a_a91gF) (a_a91Gt :: [a_a91gF]) :: NonEmpty a_a91gF
sInsert :: forall a_a91gF (t_a91LI :: a_a91gF) (t_a91LJ :: [a_a91gF]). SOrd a_a91gF => Sing t_a91LI -> Sing t_a91LJ -> Sing (Apply (Apply InsertSym0 t_a91LI) t_a91LJ :: NonEmpty a_a91gF)
type family Take (a_a91Fv :: Nat) (a_a91Fw :: NonEmpty a_a91gw) :: [a_a91gw]
sTake :: forall a_a91gw (t_a91Le :: Nat) (t_a91Lf :: NonEmpty a_a91gw). Sing t_a91Le -> Sing t_a91Lf -> Sing (Apply (Apply TakeSym0 t_a91Le) t_a91Lf :: [a_a91gw])
type family Drop (a_a91Fn :: Nat) (a_a91Fo :: NonEmpty a_a91gv) :: [a_a91gv]
sDrop :: forall a_a91gv (t_a91La :: Nat) (t_a91Lb :: NonEmpty a_a91gv). Sing t_a91La -> Sing t_a91Lb -> Sing (Apply (Apply DropSym0 t_a91La) t_a91Lb :: [a_a91gv])
type family SplitAt (a_a91Ff :: Nat) (a_a91Fg :: NonEmpty a_a91gu) :: ([a_a91gu], [a_a91gu])
sSplitAt :: forall a_a91gu (t_a91L6 :: Nat) (t_a91L7 :: NonEmpty a_a91gu). Sing t_a91L6 -> Sing t_a91L7 -> Sing (Apply (Apply SplitAtSym0 t_a91L6) t_a91L7 :: ([a_a91gu], [a_a91gu]))
type family TakeWhile (a_a91F7 :: (~>) a_a91gt Bool) (a_a91F8 :: NonEmpty a_a91gt) :: [a_a91gt]
sTakeWhile :: forall a_a91gt (t_a91L2 :: (~>) a_a91gt Bool) (t_a91L3 :: NonEmpty a_a91gt). Sing t_a91L2 -> Sing t_a91L3 -> Sing (Apply (Apply TakeWhileSym0 t_a91L2) t_a91L3 :: [a_a91gt])
type family DropWhile (a_a91EZ :: (~>) a_a91gs Bool) (a_a91F0 :: NonEmpty a_a91gs) :: [a_a91gs]
sDropWhile :: forall a_a91gs (t_a91KY :: (~>) a_a91gs Bool) (t_a91KZ :: NonEmpty a_a91gs). Sing t_a91KY -> Sing t_a91KZ -> Sing (Apply (Apply DropWhileSym0 t_a91KY) t_a91KZ :: [a_a91gs])
type family Span (a_a91ER :: (~>) a_a91gr Bool) (a_a91ES :: NonEmpty a_a91gr) :: ([a_a91gr], [a_a91gr])
sSpan :: forall a_a91gr (t_a91KU :: (~>) a_a91gr Bool) (t_a91KV :: NonEmpty a_a91gr). Sing t_a91KU -> Sing t_a91KV -> Sing (Apply (Apply SpanSym0 t_a91KU) t_a91KV :: ([a_a91gr], [a_a91gr]))
type family Break (a_a91EJ :: (~>) a_a91gq Bool) (a_a91EK :: NonEmpty a_a91gq) :: ([a_a91gq], [a_a91gq])
sBreak :: forall a_a91gq (t_a91KQ :: (~>) a_a91gq Bool) (t_a91KR :: NonEmpty a_a91gq). Sing t_a91KQ -> Sing t_a91KR -> Sing (Apply (Apply BreakSym0 t_a91KQ) t_a91KR :: ([a_a91gq], [a_a91gq]))
type family Filter (a_a91EB :: (~>) a_a91gp Bool) (a_a91EC :: NonEmpty a_a91gp) :: [a_a91gp]
sFilter :: forall a_a91gp (t_a91KM :: (~>) a_a91gp Bool) (t_a91KN :: NonEmpty a_a91gp). Sing t_a91KM -> Sing t_a91KN -> Sing (Apply (Apply FilterSym0 t_a91KM) t_a91KN :: [a_a91gp])
type family Partition (a_a91Et :: (~>) a_a91go Bool) (a_a91Eu :: NonEmpty a_a91go) :: ([a_a91go], [a_a91go])
sPartition :: forall a_a91go (t_a91KI :: (~>) a_a91go Bool) (t_a91KJ :: NonEmpty a_a91go). Sing t_a91KI -> Sing t_a91KJ -> Sing (Apply (Apply PartitionSym0 t_a91KI) t_a91KJ :: ([a_a91go], [a_a91go]))
type family Group (a_a91Eq :: [a_a91gn]) :: [NonEmpty a_a91gn]
sGroup :: forall a_a91gn (t_a91KG :: [a_a91gn]). SEq a_a91gn => Sing t_a91KG -> Sing (Apply GroupSym0 t_a91KG :: [NonEmpty a_a91gn])
type family GroupBy (a_a91DC :: (~>) a_a91gm ((~>) a_a91gm Bool)) (a_a91DD :: [a_a91gm]) :: [NonEmpty a_a91gm]
sGroupBy :: forall a_a91gm (t_a91KC :: (~>) a_a91gm ((~>) a_a91gm Bool)) (t_a91KD :: [a_a91gm]). Sing t_a91KC -> Sing t_a91KD -> Sing (Apply (Apply GroupBySym0 t_a91KC) t_a91KD :: [NonEmpty a_a91gm])
type family GroupWith (a_a91Du :: (~>) a_a91gl b_a91gk) (a_a91Dv :: [a_a91gl]) :: [NonEmpty a_a91gl]
sGroupWith :: forall a_a91gl b_a91gk (t_a91Ky :: (~>) a_a91gl b_a91gk) (t_a91Kz :: [a_a91gl]). SEq b_a91gk => Sing t_a91Ky -> Sing t_a91Kz -> Sing (Apply (Apply GroupWithSym0 t_a91Ky) t_a91Kz :: [NonEmpty a_a91gl])
type family GroupAllWith (a_a91Dm :: (~>) a_a91gj b_a91gi) (a_a91Dn :: [a_a91gj]) :: [NonEmpty a_a91gj]
sGroupAllWith :: forall a_a91gj b_a91gi (t_a91Ku :: (~>) a_a91gj b_a91gi) (t_a91Kv :: [a_a91gj]). SOrd b_a91gi => Sing t_a91Ku -> Sing t_a91Kv -> Sing (Apply (Apply GroupAllWithSym0 t_a91Ku) t_a91Kv :: [NonEmpty a_a91gj])
type family Group1 (a_a91Dj :: NonEmpty a_a91gh) :: NonEmpty (NonEmpty a_a91gh)
sGroup1 :: forall a_a91gh (t_a91Ks :: NonEmpty a_a91gh). SEq a_a91gh => Sing t_a91Ks -> Sing (Apply Group1Sym0 t_a91Ks :: NonEmpty (NonEmpty a_a91gh))
type family GroupBy1 (a_a91CM :: (~>) a_a91gg ((~>) a_a91gg Bool)) (a_a91CN :: NonEmpty a_a91gg) :: NonEmpty (NonEmpty a_a91gg)
sGroupBy1 :: forall a_a91gg (t_a91Ko :: (~>) a_a91gg ((~>) a_a91gg Bool)) (t_a91Kp :: NonEmpty a_a91gg). Sing t_a91Ko -> Sing t_a91Kp -> Sing (Apply (Apply GroupBy1Sym0 t_a91Ko) t_a91Kp :: NonEmpty (NonEmpty a_a91gg))
type family GroupWith1 (a_a91CE :: (~>) a_a91gf b_a91ge) (a_a91CF :: NonEmpty a_a91gf) :: NonEmpty (NonEmpty a_a91gf)
sGroupWith1 :: forall a_a91gf b_a91ge (t_a91Kk :: (~>) a_a91gf b_a91ge) (t_a91Kl :: NonEmpty a_a91gf). SEq b_a91ge => Sing t_a91Kk -> Sing t_a91Kl -> Sing (Apply (Apply GroupWith1Sym0 t_a91Kk) t_a91Kl :: NonEmpty (NonEmpty a_a91gf))
type family GroupAllWith1 (a_a91Cw :: (~>) a_a91gd b_a91gc) (a_a91Cx :: NonEmpty a_a91gd) :: NonEmpty (NonEmpty a_a91gd)
sGroupAllWith1 :: forall a_a91gd b_a91gc (t_a91Kg :: (~>) a_a91gd b_a91gc) (t_a91Kh :: NonEmpty a_a91gd). SOrd b_a91gc => Sing t_a91Kg -> Sing t_a91Kh -> Sing (Apply (Apply GroupAllWith1Sym0 t_a91Kg) t_a91Kh :: NonEmpty (NonEmpty a_a91gd))
type family IsPrefixOf (a_a91Co :: [a_a91gb]) (a_a91Cp :: NonEmpty a_a91gb) :: Bool
sIsPrefixOf :: forall a_a91gb (t_a91Kc :: [a_a91gb]) (t_a91Kd :: NonEmpty a_a91gb). SEq a_a91gb => Sing t_a91Kc -> Sing t_a91Kd -> Sing (Apply (Apply IsPrefixOfSym0 t_a91Kc) t_a91Kd :: Bool)
type family Nub (a_a91Bh :: NonEmpty a_a91g2) :: NonEmpty a_a91g2
sNub :: forall a_a91g2 (t_a91JU :: NonEmpty a_a91g2). SEq a_a91g2 => Sing t_a91JU -> Sing (Apply NubSym0 t_a91JU :: NonEmpty a_a91g2)
type family NubBy (a_a91B0 :: (~>) a_a91g1 ((~>) a_a91g1 Bool)) (a_a91B1 :: NonEmpty a_a91g1) :: NonEmpty a_a91g1
sNubBy :: forall a_a91g1 (t_a91JQ :: (~>) a_a91g1 ((~>) a_a91g1 Bool)) (t_a91JR :: NonEmpty a_a91g1). Sing t_a91JQ -> Sing t_a91JR -> Sing (Apply (Apply NubBySym0 t_a91JQ) t_a91JR :: NonEmpty a_a91g1)
type family (!!) (a_a91C6 :: NonEmpty a_a91ga) (a_a91C7 :: Nat) :: a_a91ga
(%!!) :: forall a_a91ga (t_a91K8 :: NonEmpty a_a91ga) (t_a91K9 :: Nat). Sing t_a91K8 -> Sing t_a91K9 -> Sing (Apply (Apply (!!@#@$) t_a91K8) t_a91K9 :: a_a91ga)
type family Zip (a_a91BY :: NonEmpty a_a91g8) (a_a91BZ :: NonEmpty b_a91g9) :: NonEmpty (a_a91g8, b_a91g9)
sZip :: forall a_a91g8 b_a91g9 (t_a91K4 :: NonEmpty a_a91g8) (t_a91K5 :: NonEmpty b_a91g9). Sing t_a91K4 -> Sing t_a91K5 -> Sing (Apply (Apply ZipSym0 t_a91K4) t_a91K5 :: NonEmpty (a_a91g8, b_a91g9))
type family ZipWith (a_a91BN :: (~>) a_a91g5 ((~>) b_a91g6 c_a91g7)) (a_a91BO :: NonEmpty a_a91g5) (a_a91BP :: NonEmpty b_a91g6) :: NonEmpty c_a91g7
sZipWith :: forall a_a91g5 b_a91g6 c_a91g7 (t_a91JY :: (~>) a_a91g5 ((~>) b_a91g6 c_a91g7)) (t_a91JZ :: NonEmpty a_a91g5) (t_a91K0 :: NonEmpty b_a91g6). Sing t_a91JY -> Sing t_a91JZ -> Sing t_a91K0 -> Sing (Apply (Apply (Apply ZipWithSym0 t_a91JY) t_a91JZ) t_a91K0 :: NonEmpty c_a91g7)
type family Unzip (a_a91Bk :: NonEmpty (a_a91g3, b_a91g4)) :: (NonEmpty a_a91g3, NonEmpty b_a91g4)
sUnzip :: forall a_a91g3 b_a91g4 (t_a91JW :: NonEmpty (a_a91g3, b_a91g4)). Sing t_a91JW -> Sing (Apply UnzipSym0 t_a91JW :: (NonEmpty a_a91g3, NonEmpty b_a91g4))
type family FromList (a_a91H3 :: [a_a91gN]) :: NonEmpty a_a91gN
sFromList :: forall a_a91gN (t_a91M0 :: [a_a91gN]). Sing t_a91M0 -> Sing (Apply FromListSym0 t_a91M0 :: NonEmpty a_a91gN)
type family ToList (a_a91GZ :: NonEmpty a_a91gM) :: [a_a91gM]
sToList :: forall a_a91gM (t_a91LY :: NonEmpty a_a91gM). Sing t_a91LY -> Sing (Apply ToListSym0 t_a91LY :: [a_a91gM])
type family NonEmpty_ (a_a91Ie :: [a_a91gY]) :: Maybe (NonEmpty a_a91gY)
sNonEmpty_ :: forall a_a91gY (t_a91Mq :: [a_a91gY]). Sing t_a91Mq -> Sing (Apply NonEmpty_Sym0 t_a91Mq :: Maybe (NonEmpty a_a91gY))
type family Xor (a_a91Ix :: NonEmpty Bool) :: Bool
sXor :: forall (t_a91Mw :: NonEmpty Bool). Sing t_a91Mw -> Sing (Apply XorSym0 t_a91Mw :: Bool)
data (:|@#@$) :: forall (a6989586621679059398 :: Type). (~>) a6989586621679059398 ((~>) [a6989586621679059398] (NonEmpty (a6989586621679059398 :: Type)))
infixr 5 :|@#@$
data (:|@#@$$) (t6989586621679310974 :: a6989586621679059398 :: Type) :: (~>) [a6989586621679059398] (NonEmpty (a6989586621679059398 :: Type))
infixr 5 :|@#@$$
type (:|@#@$$$) (t6989586621679310974 :: a6989586621679059398) (t6989586621679310975 :: [a6989586621679059398]) = '(:|) t6989586621679310974 t6989586621679310975
data MapSym0 :: forall a6989586621681159624 b6989586621681159625. (~>) ((~>) a6989586621681159624 b6989586621681159625) ((~>) (NonEmpty a6989586621681159624) (NonEmpty b6989586621681159625))
data MapSym1 (a6989586621681161238 :: (~>) a6989586621681159624 b6989586621681159625) :: (~>) (NonEmpty a6989586621681159624) (NonEmpty b6989586621681159625)
type MapSym2 (a6989586621681161238 :: (~>) a6989586621681159624 b6989586621681159625) (a6989586621681161239 :: NonEmpty a6989586621681159624) = Map a6989586621681161238 a6989586621681161239
data IntersperseSym0 :: forall a6989586621681159614. (~>) a6989586621681159614 ((~>) (NonEmpty a6989586621681159614) (NonEmpty a6989586621681159614))
data IntersperseSym1 (a6989586621681161174 :: a6989586621681159614) :: (~>) (NonEmpty a6989586621681159614) (NonEmpty a6989586621681159614)
type IntersperseSym2 (a6989586621681161174 :: a6989586621681159614) (a6989586621681161175 :: NonEmpty a6989586621681159614) = Intersperse a6989586621681161174 a6989586621681161175
data ScanlSym0 :: forall b6989586621681159619 a6989586621681159620. (~>) ((~>) b6989586621681159619 ((~>) a6989586621681159620 b6989586621681159619)) ((~>) b6989586621681159619 ((~>) [a6989586621681159620] (NonEmpty b6989586621681159619)))
data ScanlSym1 (a6989586621681161209 :: (~>) b6989586621681159619 ((~>) a6989586621681159620 b6989586621681159619)) :: (~>) b6989586621681159619 ((~>) [a6989586621681159620] (NonEmpty b6989586621681159619))
data ScanlSym2 (a6989586621681161209 :: (~>) b6989586621681159619 ((~>) a6989586621681159620 b6989586621681159619)) (a6989586621681161210 :: b6989586621681159619) :: (~>) [a6989586621681159620] (NonEmpty b6989586621681159619)
type ScanlSym3 (a6989586621681161209 :: (~>) b6989586621681159619 ((~>) a6989586621681159620 b6989586621681159619)) (a6989586621681161210 :: b6989586621681159619) (a6989586621681161211 :: [a6989586621681159620]) = Scanl a6989586621681161209 a6989586621681161210 a6989586621681161211
data ScanrSym0 :: forall a6989586621681159617 b6989586621681159618. (~>) ((~>) a6989586621681159617 ((~>) b6989586621681159618 b6989586621681159618)) ((~>) b6989586621681159618 ((~>) [a6989586621681159617] (NonEmpty b6989586621681159618)))
data ScanrSym1 (a6989586621681161198 :: (~>) a6989586621681159617 ((~>) b6989586621681159618 b6989586621681159618)) :: (~>) b6989586621681159618 ((~>) [a6989586621681159617] (NonEmpty b6989586621681159618))
data ScanrSym2 (a6989586621681161198 :: (~>) a6989586621681159617 ((~>) b6989586621681159618 b6989586621681159618)) (a6989586621681161199 :: b6989586621681159618) :: (~>) [a6989586621681159617] (NonEmpty b6989586621681159618)
type ScanrSym3 (a6989586621681161198 :: (~>) a6989586621681159617 ((~>) b6989586621681159618 b6989586621681159618)) (a6989586621681161199 :: b6989586621681159618) (a6989586621681161200 :: [a6989586621681159617]) = Scanr a6989586621681161198 a6989586621681161199 a6989586621681161200
data Scanl1Sym0 :: forall a6989586621681159616. (~>) ((~>) a6989586621681159616 ((~>) a6989586621681159616 a6989586621681159616)) ((~>) (NonEmpty a6989586621681159616) (NonEmpty a6989586621681159616))
data Scanl1Sym1 (a6989586621681161191 :: (~>) a6989586621681159616 ((~>) a6989586621681159616 a6989586621681159616)) :: (~>) (NonEmpty a6989586621681159616) (NonEmpty a6989586621681159616)
type Scanl1Sym2 (a6989586621681161191 :: (~>) a6989586621681159616 ((~>) a6989586621681159616 a6989586621681159616)) (a6989586621681161192 :: NonEmpty a6989586621681159616) = Scanl1 a6989586621681161191 a6989586621681161192
data Scanr1Sym0 :: forall a6989586621681159615. (~>) ((~>) a6989586621681159615 ((~>) a6989586621681159615 a6989586621681159615)) ((~>) (NonEmpty a6989586621681159615) (NonEmpty a6989586621681159615))
data Scanr1Sym1 (a6989586621681161184 :: (~>) a6989586621681159615 ((~>) a6989586621681159615 a6989586621681159615)) :: (~>) (NonEmpty a6989586621681159615) (NonEmpty a6989586621681159615)
type Scanr1Sym2 (a6989586621681161184 :: (~>) a6989586621681159615 ((~>) a6989586621681159615 a6989586621681159615)) (a6989586621681161185 :: NonEmpty a6989586621681159615) = Scanr1 a6989586621681161184 a6989586621681161185
data TransposeSym0 :: forall a6989586621681159580. (~>) (NonEmpty (NonEmpty a6989586621681159580)) (NonEmpty (NonEmpty a6989586621681159580))
type TransposeSym1 (a6989586621681160879 :: NonEmpty (NonEmpty a6989586621681159580)) = Transpose a6989586621681160879
data SortBySym0 :: forall a6989586621681159579. (~>) ((~>) a6989586621681159579 ((~>) a6989586621681159579 Ordering)) ((~>) (NonEmpty a6989586621681159579) (NonEmpty a6989586621681159579))
data SortBySym1 (a6989586621681160869 :: (~>) a6989586621681159579 ((~>) a6989586621681159579 Ordering)) :: (~>) (NonEmpty a6989586621681159579) (NonEmpty a6989586621681159579)
type SortBySym2 (a6989586621681160869 :: (~>) a6989586621681159579 ((~>) a6989586621681159579 Ordering)) (a6989586621681160870 :: NonEmpty a6989586621681159579) = SortBy a6989586621681160869 a6989586621681160870
data SortWithSym0 :: forall a6989586621681159578 o6989586621681159577. (~>) ((~>) a6989586621681159578 o6989586621681159577) ((~>) (NonEmpty a6989586621681159578) (NonEmpty a6989586621681159578))
data SortWithSym1 (a6989586621681160863 :: (~>) a6989586621681159578 o6989586621681159577) :: (~>) (NonEmpty a6989586621681159578) (NonEmpty a6989586621681159578)
type SortWithSym2 (a6989586621681160863 :: (~>) a6989586621681159578 o6989586621681159577) (a6989586621681160864 :: NonEmpty a6989586621681159578) = SortWith a6989586621681160863 a6989586621681160864
data LengthSym0 :: forall a6989586621681159643. (~>) (NonEmpty a6989586621681159643) Nat
type LengthSym1 (a6989586621681161362 :: NonEmpty a6989586621681159643) = Length a6989586621681161362
data HeadSym0 :: forall a6989586621681159636. (~>) (NonEmpty a6989586621681159636) a6989586621681159636
type HeadSym1 (a6989586621681161294 :: NonEmpty a6989586621681159636) = Head a6989586621681161294
data TailSym0 :: forall a6989586621681159635. (~>) (NonEmpty a6989586621681159635) [a6989586621681159635]
type TailSym1 (a6989586621681161291 :: NonEmpty a6989586621681159635) = Tail a6989586621681161291
data LastSym0 :: forall a6989586621681159634. (~>) (NonEmpty a6989586621681159634) a6989586621681159634
type LastSym1 (a6989586621681161287 :: NonEmpty a6989586621681159634) = Last a6989586621681161287
data InitSym0 :: forall a6989586621681159633. (~>) (NonEmpty a6989586621681159633) [a6989586621681159633]
type InitSym1 (a6989586621681161283 :: NonEmpty a6989586621681159633) = Init a6989586621681161283
data (<|@#@$) :: forall a6989586621681159632. (~>) a6989586621681159632 ((~>) (NonEmpty a6989586621681159632) (NonEmpty a6989586621681159632))
data (<|@#@$$) (a6989586621681161276 :: a6989586621681159632) :: (~>) (NonEmpty a6989586621681159632) (NonEmpty a6989586621681159632)
type (<|@#@$$$) (a6989586621681161276 :: a6989586621681159632) (a6989586621681161277 :: NonEmpty a6989586621681159632) = (<|) a6989586621681161276 a6989586621681161277
data ConsSym0 :: forall a6989586621681159631. (~>) a6989586621681159631 ((~>) (NonEmpty a6989586621681159631) (NonEmpty a6989586621681159631))
data ConsSym1 (a6989586621681161270 :: a6989586621681159631) :: (~>) (NonEmpty a6989586621681159631) (NonEmpty a6989586621681159631)
type ConsSym2 (a6989586621681161270 :: a6989586621681159631) (a6989586621681161271 :: NonEmpty a6989586621681159631) = Cons a6989586621681161270 a6989586621681161271
data UnconsSym0 :: forall a6989586621681159639. (~>) (NonEmpty a6989586621681159639) (a6989586621681159639, Maybe (NonEmpty a6989586621681159639))
type UnconsSym1 (a6989586621681161326 :: NonEmpty a6989586621681159639) = Uncons a6989586621681161326
data UnfoldrSym0 :: forall a6989586621681159637 b6989586621681159638. (~>) ((~>) a6989586621681159637 (b6989586621681159638, Maybe a6989586621681159637)) ((~>) a6989586621681159637 (NonEmpty b6989586621681159638))
data UnfoldrSym1 (a6989586621681161297 :: (~>) a6989586621681159637 (b6989586621681159638, Maybe a6989586621681159637)) :: (~>) a6989586621681159637 (NonEmpty b6989586621681159638)
type UnfoldrSym2 (a6989586621681161297 :: (~>) a6989586621681159637 (b6989586621681159638, Maybe a6989586621681159637)) (a6989586621681161298 :: a6989586621681159637) = Unfoldr a6989586621681161297 a6989586621681161298
data SortSym0 :: forall a6989586621681159630. (~>) (NonEmpty a6989586621681159630) (NonEmpty a6989586621681159630)
type SortSym1 (a6989586621681161263 :: NonEmpty a6989586621681159630) = Sort a6989586621681161263
data ReverseSym0 :: forall a6989586621681159613. (~>) (NonEmpty a6989586621681159613) (NonEmpty a6989586621681159613)
type ReverseSym1 (a6989586621681161171 :: NonEmpty a6989586621681159613) = Reverse a6989586621681161171
data InitsSym0 :: forall a6989586621681159623. (~>) [a6989586621681159623] (NonEmpty [a6989586621681159623])
type InitsSym1 (a6989586621681161235 :: [a6989586621681159623]) = Inits a6989586621681161235
data TailsSym0 :: forall a6989586621681159622. (~>) [a6989586621681159622] (NonEmpty [a6989586621681159622])
type TailsSym1 (a6989586621681161230 :: [a6989586621681159622]) = Tails a6989586621681161230
data UnfoldSym0 :: forall a6989586621681159641 b6989586621681159642. (~>) ((~>) a6989586621681159641 (b6989586621681159642, Maybe a6989586621681159641)) ((~>) a6989586621681159641 (NonEmpty b6989586621681159642))
data UnfoldSym1 (a6989586621681161334 :: (~>) a6989586621681159641 (b6989586621681159642, Maybe a6989586621681159641)) :: (~>) a6989586621681159641 (NonEmpty b6989586621681159642)
data InsertSym0 :: forall a6989586621681159621. (~>) a6989586621681159621 ((~>) [a6989586621681159621] (NonEmpty a6989586621681159621))
data InsertSym1 (a6989586621681161220 :: a6989586621681159621) :: (~>) [a6989586621681159621] (NonEmpty a6989586621681159621)
type InsertSym2 (a6989586621681161220 :: a6989586621681159621) (a6989586621681161221 :: [a6989586621681159621]) = Insert a6989586621681161220 a6989586621681161221
data TakeSym0 :: forall a6989586621681159612. (~>) Nat ((~>) (NonEmpty a6989586621681159612) [a6989586621681159612])
data TakeSym1 (a6989586621681161161 :: Nat) :: forall a6989586621681159612. (~>) (NonEmpty a6989586621681159612) [a6989586621681159612]
type TakeSym2 (a6989586621681161161 :: Nat) (a6989586621681161162 :: NonEmpty a6989586621681159612) = Take a6989586621681161161 a6989586621681161162
data DropSym0 :: forall a6989586621681159611. (~>) Nat ((~>) (NonEmpty a6989586621681159611) [a6989586621681159611])
data DropSym1 (a6989586621681161153 :: Nat) :: forall a6989586621681159611. (~>) (NonEmpty a6989586621681159611) [a6989586621681159611]
type DropSym2 (a6989586621681161153 :: Nat) (a6989586621681161154 :: NonEmpty a6989586621681159611) = Drop a6989586621681161153 a6989586621681161154
data SplitAtSym0 :: forall a6989586621681159610. (~>) Nat ((~>) (NonEmpty a6989586621681159610) ([a6989586621681159610], [a6989586621681159610]))
data SplitAtSym1 (a6989586621681161145 :: Nat) :: forall a6989586621681159610. (~>) (NonEmpty a6989586621681159610) ([a6989586621681159610], [a6989586621681159610])
type SplitAtSym2 (a6989586621681161145 :: Nat) (a6989586621681161146 :: NonEmpty a6989586621681159610) = SplitAt a6989586621681161145 a6989586621681161146
data TakeWhileSym0 :: forall a6989586621681159609. (~>) ((~>) a6989586621681159609 Bool) ((~>) (NonEmpty a6989586621681159609) [a6989586621681159609])
data TakeWhileSym1 (a6989586621681161137 :: (~>) a6989586621681159609 Bool) :: (~>) (NonEmpty a6989586621681159609) [a6989586621681159609]
type TakeWhileSym2 (a6989586621681161137 :: (~>) a6989586621681159609 Bool) (a6989586621681161138 :: NonEmpty a6989586621681159609) = TakeWhile a6989586621681161137 a6989586621681161138
data DropWhileSym0 :: forall a6989586621681159608. (~>) ((~>) a6989586621681159608 Bool) ((~>) (NonEmpty a6989586621681159608) [a6989586621681159608])
data DropWhileSym1 (a6989586621681161129 :: (~>) a6989586621681159608 Bool) :: (~>) (NonEmpty a6989586621681159608) [a6989586621681159608]
type DropWhileSym2 (a6989586621681161129 :: (~>) a6989586621681159608 Bool) (a6989586621681161130 :: NonEmpty a6989586621681159608) = DropWhile a6989586621681161129 a6989586621681161130
data SpanSym0 :: forall a6989586621681159607. (~>) ((~>) a6989586621681159607 Bool) ((~>) (NonEmpty a6989586621681159607) ([a6989586621681159607], [a6989586621681159607]))
data SpanSym1 (a6989586621681161121 :: (~>) a6989586621681159607 Bool) :: (~>) (NonEmpty a6989586621681159607) ([a6989586621681159607], [a6989586621681159607])
type SpanSym2 (a6989586621681161121 :: (~>) a6989586621681159607 Bool) (a6989586621681161122 :: NonEmpty a6989586621681159607) = Span a6989586621681161121 a6989586621681161122
data BreakSym0 :: forall a6989586621681159606. (~>) ((~>) a6989586621681159606 Bool) ((~>) (NonEmpty a6989586621681159606) ([a6989586621681159606], [a6989586621681159606]))
data BreakSym1 (a6989586621681161113 :: (~>) a6989586621681159606 Bool) :: (~>) (NonEmpty a6989586621681159606) ([a6989586621681159606], [a6989586621681159606])
type BreakSym2 (a6989586621681161113 :: (~>) a6989586621681159606 Bool) (a6989586621681161114 :: NonEmpty a6989586621681159606) = Break a6989586621681161113 a6989586621681161114
data FilterSym0 :: forall a6989586621681159605. (~>) ((~>) a6989586621681159605 Bool) ((~>) (NonEmpty a6989586621681159605) [a6989586621681159605])
data FilterSym1 (a6989586621681161105 :: (~>) a6989586621681159605 Bool) :: (~>) (NonEmpty a6989586621681159605) [a6989586621681159605]
type FilterSym2 (a6989586621681161105 :: (~>) a6989586621681159605 Bool) (a6989586621681161106 :: NonEmpty a6989586621681159605) = Filter a6989586621681161105 a6989586621681161106
data PartitionSym0 :: forall a6989586621681159604. (~>) ((~>) a6989586621681159604 Bool) ((~>) (NonEmpty a6989586621681159604) ([a6989586621681159604], [a6989586621681159604]))
data PartitionSym1 (a6989586621681161097 :: (~>) a6989586621681159604 Bool) :: (~>) (NonEmpty a6989586621681159604) ([a6989586621681159604], [a6989586621681159604])
type PartitionSym2 (a6989586621681161097 :: (~>) a6989586621681159604 Bool) (a6989586621681161098 :: NonEmpty a6989586621681159604) = Partition a6989586621681161097 a6989586621681161098
data GroupSym0 :: forall a6989586621681159603. (~>) [a6989586621681159603] [NonEmpty a6989586621681159603]
type GroupSym1 (a6989586621681161094 :: [a6989586621681159603]) = Group a6989586621681161094
data GroupBySym0 :: forall a6989586621681159602. (~>) ((~>) a6989586621681159602 ((~>) a6989586621681159602 Bool)) ((~>) [a6989586621681159602] [NonEmpty a6989586621681159602])
data GroupBySym1 (a6989586621681161044 :: (~>) a6989586621681159602 ((~>) a6989586621681159602 Bool)) :: (~>) [a6989586621681159602] [NonEmpty a6989586621681159602]
type GroupBySym2 (a6989586621681161044 :: (~>) a6989586621681159602 ((~>) a6989586621681159602 Bool)) (a6989586621681161045 :: [a6989586621681159602]) = GroupBy a6989586621681161044 a6989586621681161045
data GroupWithSym0 :: forall a6989586621681159601 b6989586621681159600. (~>) ((~>) a6989586621681159601 b6989586621681159600) ((~>) [a6989586621681159601] [NonEmpty a6989586621681159601])
data GroupWithSym1 (a6989586621681161036 :: (~>) a6989586621681159601 b6989586621681159600) :: (~>) [a6989586621681159601] [NonEmpty a6989586621681159601]
type GroupWithSym2 (a6989586621681161036 :: (~>) a6989586621681159601 b6989586621681159600) (a6989586621681161037 :: [a6989586621681159601]) = GroupWith a6989586621681161036 a6989586621681161037
data GroupAllWithSym0 :: forall a6989586621681159599 b6989586621681159598. (~>) ((~>) a6989586621681159599 b6989586621681159598) ((~>) [a6989586621681159599] [NonEmpty a6989586621681159599])
data GroupAllWithSym1 (a6989586621681161028 :: (~>) a6989586621681159599 b6989586621681159598) :: (~>) [a6989586621681159599] [NonEmpty a6989586621681159599]
type GroupAllWithSym2 (a6989586621681161028 :: (~>) a6989586621681159599 b6989586621681159598) (a6989586621681161029 :: [a6989586621681159599]) = GroupAllWith a6989586621681161028 a6989586621681161029
data Group1Sym0 :: forall a6989586621681159597. (~>) (NonEmpty a6989586621681159597) (NonEmpty (NonEmpty a6989586621681159597))
type Group1Sym1 (a6989586621681161025 :: NonEmpty a6989586621681159597) = Group1 a6989586621681161025
data GroupBy1Sym0 :: forall a6989586621681159596. (~>) ((~>) a6989586621681159596 ((~>) a6989586621681159596 Bool)) ((~>) (NonEmpty a6989586621681159596) (NonEmpty (NonEmpty a6989586621681159596)))
data GroupBy1Sym1 (a6989586621681160992 :: (~>) a6989586621681159596 ((~>) a6989586621681159596 Bool)) :: (~>) (NonEmpty a6989586621681159596) (NonEmpty (NonEmpty a6989586621681159596))
type GroupBy1Sym2 (a6989586621681160992 :: (~>) a6989586621681159596 ((~>) a6989586621681159596 Bool)) (a6989586621681160993 :: NonEmpty a6989586621681159596) = GroupBy1 a6989586621681160992 a6989586621681160993
data GroupWith1Sym0 :: forall a6989586621681159595 b6989586621681159594. (~>) ((~>) a6989586621681159595 b6989586621681159594) ((~>) (NonEmpty a6989586621681159595) (NonEmpty (NonEmpty a6989586621681159595)))
data GroupWith1Sym1 (a6989586621681160984 :: (~>) a6989586621681159595 b6989586621681159594) :: (~>) (NonEmpty a6989586621681159595) (NonEmpty (NonEmpty a6989586621681159595))
type GroupWith1Sym2 (a6989586621681160984 :: (~>) a6989586621681159595 b6989586621681159594) (a6989586621681160985 :: NonEmpty a6989586621681159595) = GroupWith1 a6989586621681160984 a6989586621681160985
data GroupAllWith1Sym0 :: forall a6989586621681159593 b6989586621681159592. (~>) ((~>) a6989586621681159593 b6989586621681159592) ((~>) (NonEmpty a6989586621681159593) (NonEmpty (NonEmpty a6989586621681159593)))
data GroupAllWith1Sym1 (a6989586621681160976 :: (~>) a6989586621681159593 b6989586621681159592) :: (~>) (NonEmpty a6989586621681159593) (NonEmpty (NonEmpty a6989586621681159593))
type GroupAllWith1Sym2 (a6989586621681160976 :: (~>) a6989586621681159593 b6989586621681159592) (a6989586621681160977 :: NonEmpty a6989586621681159593) = GroupAllWith1 a6989586621681160976 a6989586621681160977
data IsPrefixOfSym0 :: forall a6989586621681159591. (~>) [a6989586621681159591] ((~>) (NonEmpty a6989586621681159591) Bool)
data IsPrefixOfSym1 (a6989586621681160968 :: [a6989586621681159591]) :: (~>) (NonEmpty a6989586621681159591) Bool
type IsPrefixOfSym2 (a6989586621681160968 :: [a6989586621681159591]) (a6989586621681160969 :: NonEmpty a6989586621681159591) = IsPrefixOf a6989586621681160968 a6989586621681160969
data NubSym0 :: forall a6989586621681159582. (~>) (NonEmpty a6989586621681159582) (NonEmpty a6989586621681159582)
type NubSym1 (a6989586621681160899 :: NonEmpty a6989586621681159582) = Nub a6989586621681160899
data NubBySym0 :: forall a6989586621681159581. (~>) ((~>) a6989586621681159581 ((~>) a6989586621681159581 Bool)) ((~>) (NonEmpty a6989586621681159581) (NonEmpty a6989586621681159581))
data NubBySym1 (a6989586621681160882 :: (~>) a6989586621681159581 ((~>) a6989586621681159581 Bool)) :: (~>) (NonEmpty a6989586621681159581) (NonEmpty a6989586621681159581)
type NubBySym2 (a6989586621681160882 :: (~>) a6989586621681159581 ((~>) a6989586621681159581 Bool)) (a6989586621681160883 :: NonEmpty a6989586621681159581) = NubBy a6989586621681160882 a6989586621681160883
data (!!@#@$) :: forall a6989586621681159590. (~>) (NonEmpty a6989586621681159590) ((~>) Nat a6989586621681159590)
data (!!@#@$$) (a6989586621681160950 :: NonEmpty a6989586621681159590) :: (~>) Nat a6989586621681159590
type (!!@#@$$$) (a6989586621681160950 :: NonEmpty a6989586621681159590) (a6989586621681160951 :: Nat) = (!!) a6989586621681160950 a6989586621681160951
data ZipSym0 :: forall a6989586621681159588 b6989586621681159589. (~>) (NonEmpty a6989586621681159588) ((~>) (NonEmpty b6989586621681159589) (NonEmpty (a6989586621681159588, b6989586621681159589)))
data ZipSym1 (a6989586621681160942 :: NonEmpty a6989586621681159588) :: forall b6989586621681159589. (~>) (NonEmpty b6989586621681159589) (NonEmpty (a6989586621681159588, b6989586621681159589))
type ZipSym2 (a6989586621681160942 :: NonEmpty a6989586621681159588) (a6989586621681160943 :: NonEmpty b6989586621681159589) = Zip a6989586621681160942 a6989586621681160943
data ZipWithSym0 :: forall a6989586621681159585 b6989586621681159586 c6989586621681159587. (~>) ((~>) a6989586621681159585 ((~>) b6989586621681159586 c6989586621681159587)) ((~>) (NonEmpty a6989586621681159585) ((~>) (NonEmpty b6989586621681159586) (NonEmpty c6989586621681159587)))
data ZipWithSym1 (a6989586621681160931 :: (~>) a6989586621681159585 ((~>) b6989586621681159586 c6989586621681159587)) :: (~>) (NonEmpty a6989586621681159585) ((~>) (NonEmpty b6989586621681159586) (NonEmpty c6989586621681159587))
data ZipWithSym2 (a6989586621681160931 :: (~>) a6989586621681159585 ((~>) b6989586621681159586 c6989586621681159587)) (a6989586621681160932 :: NonEmpty a6989586621681159585) :: (~>) (NonEmpty b6989586621681159586) (NonEmpty c6989586621681159587)
type ZipWithSym3 (a6989586621681160931 :: (~>) a6989586621681159585 ((~>) b6989586621681159586 c6989586621681159587)) (a6989586621681160932 :: NonEmpty a6989586621681159585) (a6989586621681160933 :: NonEmpty b6989586621681159586) = ZipWith a6989586621681160931 a6989586621681160932 a6989586621681160933
data UnzipSym0 :: forall a6989586621681159583 b6989586621681159584. (~>) (NonEmpty (a6989586621681159583, b6989586621681159584)) (NonEmpty a6989586621681159583, NonEmpty b6989586621681159584)
type UnzipSym1 (a6989586621681160902 :: NonEmpty (a6989586621681159583, b6989586621681159584)) = Unzip a6989586621681160902
data FromListSym0 :: forall a6989586621681159629. (~>) [a6989586621681159629] (NonEmpty a6989586621681159629)
type FromListSym1 (a6989586621681161257 :: [a6989586621681159629]) = FromList a6989586621681161257
data ToListSym0 :: forall a6989586621681159628. (~>) (NonEmpty a6989586621681159628) [a6989586621681159628]
type ToListSym1 (a6989586621681161253 :: NonEmpty a6989586621681159628) = ToList a6989586621681161253
data NonEmpty_Sym0 :: forall a6989586621681159640. (~>) [a6989586621681159640] (Maybe (NonEmpty a6989586621681159640))
type NonEmpty_Sym1 (a6989586621681161330 :: [a6989586621681159640]) = NonEmpty_ a6989586621681161330
data XorSym0 :: (~>) (NonEmpty Bool) Bool
type XorSym1 (a6989586621681161349 :: NonEmpty Bool) = Xor a6989586621681161349
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Munzip_6989586621681161412Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip GHC.Base.NonEmpty
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.MzipWith_6989586621681161391Sym0
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (a6989586621681161388 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.MzipWith_6989586621681161391Sym1 a6989586621681161388)
instance forall a6989586621681127517 b6989586621681127518 c6989586621681127519 (a6989586621681161389 :: a6989586621681127517 Data.Singletons.Internal.~> (b6989586621681127518 Data.Singletons.Internal.~> c6989586621681127519)) (a6989586621681161388 :: GHC.Base.NonEmpty a6989586621681127517). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.MzipWith_6989586621681161391Sym2 a6989586621681161389 a6989586621681161388)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Mzip_6989586621681161374Sym0
instance forall a6989586621681127515 b6989586621681127516 (a6989586621681161372 :: GHC.Base.NonEmpty a6989586621681127515). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Mzip_6989586621681161374Sym1 a6989586621681161372)
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 a6989586621681159644 b6989586621681159645 (a6989586621681161365 :: a6989586621681159644 Data.Singletons.Internal.~> b6989586621681159645). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.FmapSym1 a6989586621681161365)
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 a6989586621681159641 b6989586621681159642 (a6989586621681161334 :: a6989586621681159641 Data.Singletons.Internal.~> (b6989586621681159642, GHC.Maybe.Maybe a6989586621681159641)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.UnfoldSym1 a6989586621681161334)
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 a6989586621681159637 b6989586621681159638 (a6989586621681161297 :: a6989586621681159637 Data.Singletons.Internal.~> (b6989586621681159638, GHC.Maybe.Maybe a6989586621681159637)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.UnfoldrSym1 a6989586621681161297)
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 a6989586621681159631 (a6989586621681161270 :: a6989586621681159631). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ConsSym1 a6989586621681161270)
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 a6989586621681159632 (a6989586621681161276 :: a6989586621681159632). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.List.NonEmpty.<|@#@$$) a6989586621681161276)
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 a6989586621681159615 (a6989586621681161184 :: a6989586621681159615 Data.Singletons.Internal.~> (a6989586621681159615 Data.Singletons.Internal.~> a6989586621681159615)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Scanr1Sym1 a6989586621681161184)
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 a6989586621681159616 (a6989586621681161191 :: a6989586621681159616 Data.Singletons.Internal.~> (a6989586621681159616 Data.Singletons.Internal.~> a6989586621681159616)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Scanl1Sym1 a6989586621681161191)
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 a6989586621681159617 b6989586621681159618 (a6989586621681161198 :: a6989586621681159617 Data.Singletons.Internal.~> (b6989586621681159618 Data.Singletons.Internal.~> b6989586621681159618)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanrSym1 a6989586621681161198)
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 a6989586621681159617 b6989586621681159618 (a6989586621681161199 :: a6989586621681159617 Data.Singletons.Internal.~> (b6989586621681159618 Data.Singletons.Internal.~> b6989586621681159618)) (a6989586621681161198 :: b6989586621681159618). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanrSym2 a6989586621681161199 a6989586621681161198)
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 b6989586621681159619 a6989586621681159620 (a6989586621681161209 :: b6989586621681159619 Data.Singletons.Internal.~> (a6989586621681159620 Data.Singletons.Internal.~> b6989586621681159619)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanlSym1 a6989586621681161209)
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 b6989586621681159619 a6989586621681159620 (a6989586621681161210 :: b6989586621681159619 Data.Singletons.Internal.~> (a6989586621681159620 Data.Singletons.Internal.~> b6989586621681159619)) (a6989586621681161209 :: b6989586621681159619). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanlSym2 a6989586621681161210 a6989586621681161209)
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 a6989586621681159621 (a6989586621681161220 :: a6989586621681159621). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.InsertSym1 a6989586621681161220)
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 a6989586621681159593 b6989586621681159592 (a6989586621681160976 :: a6989586621681159593 Data.Singletons.Internal.~> b6989586621681159592). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupAllWith1Sym1 a6989586621681160976)
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 a6989586621681159578 o6989586621681159577 (a6989586621681160863 :: a6989586621681159578 Data.Singletons.Internal.~> o6989586621681159577). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.SortWithSym1 a6989586621681160863)
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 a6989586621681159579 (a6989586621681160869 :: a6989586621681159579 Data.Singletons.Internal.~> (a6989586621681159579 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.SortBySym1 a6989586621681160869)
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 a6989586621681159626 b6989586621681159627 (a6989586621681161245 :: [a6989586621681159626] Data.Singletons.Internal.~> [b6989586621681159627]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.LiftSym1 a6989586621681161245)
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 a6989586621681159604 (a6989586621681161097 :: a6989586621681159604 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.PartitionSym1 a6989586621681161097)
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 a6989586621681159605 (a6989586621681161105 :: a6989586621681159605 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.FilterSym1 a6989586621681161105)
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 a6989586621681159606 (a6989586621681161113 :: a6989586621681159606 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.BreakSym1 a6989586621681161113)
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 a6989586621681159607 (a6989586621681161121 :: a6989586621681159607 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.SpanSym1 a6989586621681161121)
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 a6989586621681159608 (a6989586621681161129 :: a6989586621681159608 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.DropWhileSym1 a6989586621681161129)
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 a6989586621681159609 (a6989586621681161137 :: a6989586621681159609 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.TakeWhileSym1 a6989586621681161137)
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 a6989586621681161145)
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 a6989586621681161153)
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 a6989586621681161161)
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 a6989586621681159624 b6989586621681159625 (a6989586621681161238 :: a6989586621681159624 Data.Singletons.Internal.~> b6989586621681159625). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.MapSym1 a6989586621681161238)
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 a6989586621681159614 (a6989586621681161174 :: a6989586621681159614). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.IntersperseSym1 a6989586621681161174)
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.Let6989586621681161052GoSym0
instance forall k1 k2 a6989586621680419974 (eq06989586621681161050 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161052GoSym1 eq06989586621681161050)
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 a6989586621681159595 b6989586621681159594 (a6989586621681160984 :: a6989586621681159595 Data.Singletons.Internal.~> b6989586621681159594). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupWith1Sym1 a6989586621681160984)
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 a6989586621681159596 (a6989586621681160992 :: a6989586621681159596 Data.Singletons.Internal.~> (a6989586621681159596 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupBy1Sym1 a6989586621681160992)
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 a6989586621681159599 b6989586621681159598 (a6989586621681161028 :: a6989586621681159599 Data.Singletons.Internal.~> b6989586621681159598). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupAllWithSym1 a6989586621681161028)
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 a6989586621681159601 b6989586621681159600 (a6989586621681161036 :: a6989586621681159601 Data.Singletons.Internal.~> b6989586621681159600). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupWithSym1 a6989586621681161036)
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 a6989586621680419974 (a6989586621681161053 :: k1) (a_69895866216811610486989586621681161051 :: k2) (eq06989586621681161050 :: a6989586621680419974 Data.Singletons.Internal.~> (a6989586621680419974 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161052GoSym3 a6989586621681161053 a_69895866216811610486989586621681161051 eq06989586621681161050)
instance forall k1 k2 a6989586621680419974 (a_69895866216811610486989586621681161051 :: k1) (eq06989586621681161050 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161052GoSym2 a_69895866216811610486989586621681161051 eq06989586621681161050)
instance forall a6989586621681159602 (a6989586621681161044 :: a6989586621681159602 Data.Singletons.Internal.~> (a6989586621681159602 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupBySym1 a6989586621681161044)
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 a6989586621681159591 (a6989586621681160968 :: [a6989586621681159591]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.IsPrefixOfSym1 a6989586621681160968)
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 a6989586621681159590 (a6989586621681160950 :: GHC.Base.NonEmpty a6989586621681159590). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.List.NonEmpty.!!@#@$$) a6989586621681160950)
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 a6989586621681159588 b6989586621681159589 (a6989586621681160942 :: GHC.Base.NonEmpty a6989586621681159588). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ZipSym1 a6989586621681160942)
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 a6989586621681159585 b6989586621681159586 c6989586621681159587 (a6989586621681160931 :: a6989586621681159585 Data.Singletons.Internal.~> (b6989586621681159586 Data.Singletons.Internal.~> c6989586621681159587)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ZipWithSym1 a6989586621681160931)
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 a6989586621681159585 b6989586621681159586 c6989586621681159587 (a6989586621681160932 :: a6989586621681159585 Data.Singletons.Internal.~> (b6989586621681159586 Data.Singletons.Internal.~> c6989586621681159587)) (a6989586621681160931 :: GHC.Base.NonEmpty a6989586621681159585). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ZipWithSym2 a6989586621681160932 a6989586621681160931)
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 a6989586621681159581 (a6989586621681160882 :: a6989586621681159581 Data.Singletons.Internal.~> (a6989586621681159581 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.NubBySym1 a6989586621681160882)
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.Let6989586621681161353Xor'Sym0
instance forall k1 k2 (x6989586621681161351 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161353Xor'Sym1 x6989586621681161351)
instance forall k1 k2 (xs6989586621681161352 :: k1) (x6989586621681161351 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161353Xor'Sym2 xs6989586621681161352 x6989586621681161351)
instance forall k1 k2 (a6989586621681161354 :: k1) (xs6989586621681161352 :: k2) (x6989586621681161351 :: GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161353Xor'Sym3 a6989586621681161354 xs6989586621681161352 x6989586621681161351)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161340Scrutinee_6989586621681159808Sym0
instance forall k1 k (f6989586621681161338 :: k1 Data.Singletons.Internal.~> k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161340Scrutinee_6989586621681159808Sym1 f6989586621681161338)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161318Scrutinee_6989586621681159818Sym0
instance forall k1 k (f6989586621681161301 :: k1 Data.Singletons.Internal.~> k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161318Scrutinee_6989586621681159818Sym1 f6989586621681161301)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161303GoSym0
instance forall k2 k3 k (f6989586621681161301 :: k2 Data.Singletons.Internal.~> (k3, GHC.Maybe.Maybe k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161303GoSym1 f6989586621681161301)
instance forall k2 k3 k (a6989586621681161302 :: k2 Data.Singletons.Internal.~> (k3, GHC.Maybe.Maybe k2)) (f6989586621681161301 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161303GoSym2 a6989586621681161302 f6989586621681161301)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161309Scrutinee_6989586621681159822Sym0
instance forall k1 k2 k3 (c6989586621681161308 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161309Scrutinee_6989586621681159822Sym1 c6989586621681161308)
instance forall k1 k2 k3 (f6989586621681161301 :: k1) (c6989586621681161308 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161309Scrutinee_6989586621681159822Sym2 f6989586621681161301 c6989586621681161308)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161062X_6989586621681161063Sym0
instance forall k1 a6989586621680419974 k2 k3 (eq6989586621681161059 :: k1 Data.Singletons.Internal.~> (a6989586621680419974 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161062X_6989586621681161063Sym1 eq6989586621681161059)
instance forall k1 a6989586621680419974 k2 k3 (x6989586621681161060 :: k1 Data.Singletons.Internal.~> (a6989586621680419974 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681161059 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161062X_6989586621681161063Sym2 x6989586621681161060 eq6989586621681161059)
instance forall k1 a6989586621680419974 k2 k3 (xs6989586621681161061 :: k1 Data.Singletons.Internal.~> (a6989586621680419974 Data.Singletons.Internal.~> GHC.Types.Bool)) (x6989586621681161060 :: k1) (eq6989586621681161059 :: [a6989586621680419974]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161062X_6989586621681161063Sym3 xs6989586621681161061 x6989586621681161060 eq6989586621681161059)
instance forall k1 a6989586621680419974 k2 k3 (eq06989586621681161050 :: k1 Data.Singletons.Internal.~> (a6989586621680419974 Data.Singletons.Internal.~> GHC.Types.Bool)) (xs6989586621681161061 :: k1) (x6989586621681161060 :: [a6989586621680419974]) (eq6989586621681161059 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161062X_6989586621681161063Sym4 eq06989586621681161050 xs6989586621681161061 x6989586621681161060 eq6989586621681161059)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161062ZsSym0
instance forall k1 a6989586621680419974 k2 k3 (eq6989586621681161059 :: k1 Data.Singletons.Internal.~> (a6989586621680419974 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161062ZsSym1 eq6989586621681161059)
instance forall k1 a6989586621680419974 k2 k3 (x6989586621681161060 :: k1 Data.Singletons.Internal.~> (a6989586621680419974 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681161059 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161062ZsSym2 x6989586621681161060 eq6989586621681161059)
instance forall k1 a6989586621680419974 k2 k3 (xs6989586621681161061 :: k1 Data.Singletons.Internal.~> (a6989586621680419974 Data.Singletons.Internal.~> GHC.Types.Bool)) (x6989586621681161060 :: k1) (eq6989586621681161059 :: [a6989586621680419974]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161062ZsSym3 xs6989586621681161061 x6989586621681161060 eq6989586621681161059)
instance forall k1 a6989586621680419974 k2 k3 (eq06989586621681161050 :: k1 Data.Singletons.Internal.~> (a6989586621680419974 Data.Singletons.Internal.~> GHC.Types.Bool)) (xs6989586621681161061 :: k1) (x6989586621681161060 :: [a6989586621680419974]) (eq6989586621681161059 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161062ZsSym4 eq06989586621681161050 xs6989586621681161061 x6989586621681161060 eq6989586621681161059)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161062YsSym0
instance forall k1 a6989586621680419974 k2 k3 (eq6989586621681161059 :: k1 Data.Singletons.Internal.~> (a6989586621680419974 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161062YsSym1 eq6989586621681161059)
instance forall k1 a6989586621680419974 k2 k3 (x6989586621681161060 :: k1 Data.Singletons.Internal.~> (a6989586621680419974 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681161059 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161062YsSym2 x6989586621681161060 eq6989586621681161059)
instance forall k1 a6989586621680419974 k2 k3 (xs6989586621681161061 :: k1 Data.Singletons.Internal.~> (a6989586621680419974 Data.Singletons.Internal.~> GHC.Types.Bool)) (x6989586621681161060 :: k1) (eq6989586621681161059 :: [a6989586621680419974]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161062YsSym3 xs6989586621681161061 x6989586621681161060 eq6989586621681161059)
instance forall k1 a6989586621680419974 k2 k3 (eq06989586621681161050 :: k1 Data.Singletons.Internal.~> (a6989586621680419974 Data.Singletons.Internal.~> GHC.Types.Bool)) (xs6989586621681161061 :: k1) (x6989586621681161060 :: [a6989586621680419974]) (eq6989586621681161059 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681161062YsSym4 eq06989586621681161050 xs6989586621681161061 x6989586621681161060 eq6989586621681161059)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160999X_6989586621681161000Sym0
instance forall k1 a6989586621680419974 (eq6989586621681160996 :: k1 Data.Singletons.Internal.~> (a6989586621680419974 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160999X_6989586621681161000Sym1 eq6989586621681160996)
instance forall k1 a6989586621680419974 (x6989586621681160997 :: k1 Data.Singletons.Internal.~> (a6989586621680419974 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681160996 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160999X_6989586621681161000Sym2 x6989586621681160997 eq6989586621681160996)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160999ZsSym0
instance forall k1 a6989586621680419974 (eq6989586621681160996 :: k1 Data.Singletons.Internal.~> (a6989586621680419974 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160999ZsSym1 eq6989586621681160996)
instance forall k1 a6989586621680419974 (x6989586621681160997 :: k1 Data.Singletons.Internal.~> (a6989586621680419974 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681160996 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160999ZsSym2 x6989586621681160997 eq6989586621681160996)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160999YsSym0
instance forall k1 a6989586621680419974 (eq6989586621681160996 :: k1 Data.Singletons.Internal.~> (a6989586621680419974 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160999YsSym1 eq6989586621681160996)
instance forall k1 a6989586621680419974 (x6989586621681160997 :: k1 Data.Singletons.Internal.~> (a6989586621680419974 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681160996 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160999YsSym2 x6989586621681160997 eq6989586621681160996)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160907X_6989586621681160908Sym0
instance forall k1 k2 a6989586621680419961 b6989586621680419962 (a6989586621681160904 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160907X_6989586621681160908Sym1 a6989586621681160904)
instance forall k1 k2 a6989586621680419961 b6989586621680419962 (b6989586621681160905 :: k1) (a6989586621681160904 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160907X_6989586621681160908Sym2 b6989586621681160905 a6989586621681160904)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160907BsSym0
instance forall k1 k2 a6989586621680419961 b6989586621680419962 (a6989586621681160904 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160907BsSym1 a6989586621681160904)
instance forall k1 k2 a6989586621680419961 b6989586621680419962 (b6989586621681160905 :: k1) (a6989586621681160904 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160907BsSym2 b6989586621681160905 a6989586621681160904)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160907AsSym0
instance forall k1 k2 a6989586621680419961 b6989586621680419962 (a6989586621681160904 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160907AsSym1 a6989586621681160904)
instance forall k1 k2 a6989586621680419961 b6989586621680419962 (b6989586621681160905 :: k1) (a6989586621681160904 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681160907AsSym2 b6989586621681160905 a6989586621681160904)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681160889Sym0
instance forall k2 k3 k (eq6989586621681160886 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681160889Sym1 eq6989586621681160886)
instance forall k2 k3 k (a6989586621681160887 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681160886 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681160889Sym2 a6989586621681160887 eq6989586621681160886)
instance forall k2 k3 k (as6989586621681160888 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> GHC.Types.Bool)) (a6989586621681160887 :: k2) (eq6989586621681160886 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681160889Sym3 as6989586621681160888 a6989586621681160887 eq6989586621681160886)


-- | 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_a9rfe :: Type) where {
    type family FromString (arg_a9rfE :: Symbol) :: a_a9rfe;
}
class SIsString a_a9rfe
sFromString :: forall (t_a9rfU :: Symbol). SIsString a_a9rfe => Sing t_a9rfU -> Sing (Apply FromStringSym0 t_a9rfU :: a_a9rfe)
data FromStringSym0 :: forall a6989586621681259476. (~>) Symbol a6989586621681259476
type FromStringSym1 (arg6989586621681259502 :: Symbol) = FromString arg6989586621681259502
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_6989586621681259512Sym0
instance Data.Singletons.Prelude.IsString.PIsString (Data.Functor.Identity.Identity a)
instance forall k6989586621681259477 a6989586621681259478 (b6989586621681259479 :: k6989586621681259477). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.IsString.FromString_6989586621681259505Sym0
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_a2kVD :: Type -> Type) where {
    type family Pure (arg_a2l2g :: a_a2kVE) :: f_a2kVD a_a2kVE;
    type family (<*>) (arg_a2l2i :: f_a2kVD ((~>) a_a2kVF b_a2kVG)) (arg_a2l2j :: f_a2kVD a_a2kVF) :: f_a2kVD b_a2kVG;
    type family LiftA2 (arg_a2l2m :: (~>) a_a2kVH ((~>) b_a2kVI c_a2kVJ)) (arg_a2l2n :: f_a2kVD a_a2kVH) (arg_a2l2o :: f_a2kVD b_a2kVI) :: f_a2kVD c_a2kVJ;
    type family (*>) (arg_a2l2s :: f_a2kVD a_a2kVK) (arg_a2l2t :: f_a2kVD b_a2kVL) :: f_a2kVD b_a2kVL;
    type family (<*) (arg_a2l2w :: f_a2kVD a_a2kVM) (arg_a2l2x :: f_a2kVD b_a2kVN) :: f_a2kVD a_a2kVM;
    type (<*>) a_a2l2A a_a2l2B = Apply (Apply TFHelper_6989586621679567334Sym0 a_a2l2A) a_a2l2B;
    type LiftA2 a_a2l2Q a_a2l2R a_a2l2S = Apply (Apply (Apply LiftA2_6989586621679567351Sym0 a_a2l2Q) a_a2l2R) a_a2l2S;
    type (*>) a_a2l39 a_a2l3a = Apply (Apply TFHelper_6989586621679567369Sym0 a_a2l39) a_a2l3a;
    type (<*) a_a2l3l a_a2l3m = Apply (Apply TFHelper_6989586621679567381Sym0 a_a2l3l) a_a2l3m;
}
infixl 4 <*>
infixl 4 *>
infixl 4 <*
class SFunctor f_a2kVD => SApplicative (f_a2kVD :: Type -> Type)
sPure :: forall a_a2kVE (t_a2l6k :: a_a2kVE). SApplicative f_a2kVD => Sing t_a2l6k -> Sing (Apply PureSym0 t_a2l6k :: f_a2kVD a_a2kVE)
(%<*>) :: forall a_a2kVF b_a2kVG (t_a2l6m :: f_a2kVD ((~>) a_a2kVF b_a2kVG)) (t_a2l6n :: f_a2kVD a_a2kVF). SApplicative f_a2kVD => Sing t_a2l6m -> Sing t_a2l6n -> Sing (Apply (Apply (<*>@#@$) t_a2l6m) t_a2l6n :: f_a2kVD b_a2kVG)
sLiftA2 :: forall a_a2kVH b_a2kVI c_a2kVJ (t_a2l6q :: (~>) a_a2kVH ((~>) b_a2kVI c_a2kVJ)) (t_a2l6r :: f_a2kVD a_a2kVH) (t_a2l6s :: f_a2kVD b_a2kVI). SApplicative f_a2kVD => Sing t_a2l6q -> Sing t_a2l6r -> Sing t_a2l6s -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2l6q) t_a2l6r) t_a2l6s :: f_a2kVD c_a2kVJ)
(%*>) :: forall a_a2kVK b_a2kVL (t_a2l6w :: f_a2kVD a_a2kVK) (t_a2l6x :: f_a2kVD b_a2kVL). SApplicative f_a2kVD => Sing t_a2l6w -> Sing t_a2l6x -> Sing (Apply (Apply (*>@#@$) t_a2l6w) t_a2l6x :: f_a2kVD b_a2kVL)
(%<*) :: forall a_a2kVM b_a2kVN (t_a2l6A :: f_a2kVD a_a2kVM) (t_a2l6B :: f_a2kVD b_a2kVN). SApplicative f_a2kVD => Sing t_a2l6A -> Sing t_a2l6B -> Sing (Apply (Apply (<*@#@$) t_a2l6A) t_a2l6B :: f_a2kVD a_a2kVM)
(%<*>) :: forall a_a2kVF b_a2kVG (t_a2l6m :: f_a2kVD ((~>) a_a2kVF b_a2kVG)) (t_a2l6n :: f_a2kVD a_a2kVF). (SApplicative f_a2kVD, (Apply (Apply (<*>@#@$) t_a2l6m) t_a2l6n :: f_a2kVD b_a2kVG) ~ Apply (Apply TFHelper_6989586621679567334Sym0 t_a2l6m) t_a2l6n) => Sing t_a2l6m -> Sing t_a2l6n -> Sing (Apply (Apply (<*>@#@$) t_a2l6m) t_a2l6n :: f_a2kVD b_a2kVG)
sLiftA2 :: forall a_a2kVH b_a2kVI c_a2kVJ (t_a2l6q :: (~>) a_a2kVH ((~>) b_a2kVI c_a2kVJ)) (t_a2l6r :: f_a2kVD a_a2kVH) (t_a2l6s :: f_a2kVD b_a2kVI). (SApplicative f_a2kVD, (Apply (Apply (Apply LiftA2Sym0 t_a2l6q) t_a2l6r) t_a2l6s :: f_a2kVD c_a2kVJ) ~ Apply (Apply (Apply LiftA2_6989586621679567351Sym0 t_a2l6q) t_a2l6r) t_a2l6s) => Sing t_a2l6q -> Sing t_a2l6r -> Sing t_a2l6s -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2l6q) t_a2l6r) t_a2l6s :: f_a2kVD c_a2kVJ)
(%*>) :: forall a_a2kVK b_a2kVL (t_a2l6w :: f_a2kVD a_a2kVK) (t_a2l6x :: f_a2kVD b_a2kVL). (SApplicative f_a2kVD, (Apply (Apply (*>@#@$) t_a2l6w) t_a2l6x :: f_a2kVD b_a2kVL) ~ Apply (Apply TFHelper_6989586621679567369Sym0 t_a2l6w) t_a2l6x) => Sing t_a2l6w -> Sing t_a2l6x -> Sing (Apply (Apply (*>@#@$) t_a2l6w) t_a2l6x :: f_a2kVD b_a2kVL)
(%<*) :: forall a_a2kVM b_a2kVN (t_a2l6A :: f_a2kVD a_a2kVM) (t_a2l6B :: f_a2kVD b_a2kVN). (SApplicative f_a2kVD, (Apply (Apply (<*@#@$) t_a2l6A) t_a2l6B :: f_a2kVD a_a2kVM) ~ Apply (Apply TFHelper_6989586621679567381Sym0 t_a2l6A) t_a2l6B) => Sing t_a2l6A -> Sing t_a2l6B -> Sing (Apply (Apply (<*@#@$) t_a2l6A) t_a2l6B :: f_a2kVD a_a2kVM)
infixl 4 %<*>
infixl 4 %*>
infixl 4 %<*
class PAlternative (f_a2kWQ :: Type -> Type) where {
    type family Empty :: f_a2kWQ a_a2kWR;
    type family (<|>) (arg_a2l4g :: f_a2kWQ a_a2kWS) (arg_a2l4h :: f_a2kWQ a_a2kWS) :: f_a2kWQ a_a2kWS;
}
infixl 3 <|>
class SApplicative f_a2kWQ => SAlternative (f_a2kWQ :: Type -> Type)
sEmpty :: forall a_a2kWR. SAlternative f_a2kWQ => Sing (EmptySym0 :: f_a2kWQ a_a2kWR)
(%<|>) :: forall a_a2kWS (t_a2l6Z :: f_a2kWQ a_a2kWS) (t_a2l70 :: f_a2kWQ a_a2kWS). SAlternative f_a2kWQ => Sing t_a2l6Z -> Sing t_a2l70 -> Sing (Apply (Apply (<|>@#@$) t_a2l6Z) t_a2l70 :: f_a2kWQ a_a2kWS)
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_a7jWM :: Const a_a7jWK b_a7jWL) :: a_a7jWK
type family (<$>) (a_a33dE :: (~>) a_a33cl b_a33cm) (a_a33dF :: f_a33ck a_a33cl) :: f_a33ck b_a33cm
infixl 4 <$>
(%<$>) :: forall a_a33cl b_a33cm f_a33ck (t_a33fd :: (~>) a_a33cl b_a33cm) (t_a33fe :: f_a33ck a_a33cl). SFunctor f_a33ck => Sing t_a33fd -> Sing t_a33fe -> Sing (Apply (Apply (<$>@#@$) t_a33fd) t_a33fe :: f_a33ck b_a33cm)
infixl 4 %<$>
type family (<$) (arg_a2l1W :: a_a2kVB) (arg_a2l1X :: f_a2kVy b_a2kVC) :: f_a2kVy a_a2kVB
infixl 4 <$
(%<$) :: forall a_a2kVB b_a2kVC (t_a2l6e :: a_a2kVB) (t_a2l6f :: f_a2kVy b_a2kVC). SFunctor f_a2kVy => Sing t_a2l6e -> Sing t_a2l6f -> Sing (Apply (Apply (<$@#@$) t_a2l6e) t_a2l6f :: f_a2kVy a_a2kVB)
infixl 4 %<$
type family (<**>) (a_a2l1C :: f_a2kUZ a_a2kV0) (a_a2l1D :: f_a2kUZ ((~>) a_a2kV0 b_a2kV1)) :: f_a2kUZ b_a2kV1
infixl 4 <**>
(%<**>) :: forall f_a2kUZ a_a2kV0 b_a2kV1 (t_a2l5M :: f_a2kUZ a_a2kV0) (t_a2l5N :: f_a2kUZ ((~>) a_a2kV0 b_a2kV1)). SApplicative f_a2kUZ => Sing t_a2l5M -> Sing t_a2l5N -> Sing (Apply (Apply (<**>@#@$) t_a2l5M) t_a2l5N :: f_a2kUZ b_a2kV1)
infixl 4 %<**>
type family LiftA (a_a2l1s :: (~>) a_a2kUX b_a2kUY) (a_a2l1t :: f_a2kUW a_a2kUX) :: f_a2kUW b_a2kUY
sLiftA :: forall a_a2kUX b_a2kUY f_a2kUW (t_a2l5I :: (~>) a_a2kUX b_a2kUY) (t_a2l5J :: f_a2kUW a_a2kUX). SApplicative f_a2kUW => Sing t_a2l5I -> Sing t_a2l5J -> Sing (Apply (Apply LiftASym0 t_a2l5I) t_a2l5J :: f_a2kUW b_a2kUY)
type family LiftA3 (a_a2l1g :: (~>) a_a2kUS ((~>) b_a2kUT ((~>) c_a2kUU d_a2kUV))) (a_a2l1h :: f_a2kUR a_a2kUS) (a_a2l1i :: f_a2kUR b_a2kUT) (a_a2l1j :: f_a2kUR c_a2kUU) :: f_a2kUR d_a2kUV
sLiftA3 :: forall a_a2kUS b_a2kUT c_a2kUU d_a2kUV f_a2kUR (t_a2l5A :: (~>) a_a2kUS ((~>) b_a2kUT ((~>) c_a2kUU d_a2kUV))) (t_a2l5B :: f_a2kUR a_a2kUS) (t_a2l5C :: f_a2kUR b_a2kUT) (t_a2l5D :: f_a2kUR c_a2kUU). SApplicative f_a2kUR => Sing t_a2l5A -> Sing t_a2l5B -> Sing t_a2l5C -> Sing t_a2l5D -> Sing (Apply (Apply (Apply (Apply LiftA3Sym0 t_a2l5A) t_a2l5B) t_a2l5C) t_a2l5D :: f_a2kUR d_a2kUV)
type family Optional (a_a9rTQ :: f_a9rTe a_a9rTf) :: f_a9rTe (Maybe a_a9rTf)
sOptional :: forall f_a9rTe a_a9rTf (t_a9rUS :: f_a9rTe a_a9rTf). SAlternative f_a9rTe => Sing t_a9rUS -> Sing (Apply OptionalSym0 t_a9rUS :: f_a9rTe (Maybe a_a9rTf))
data PureSym0 :: forall a6989586621679566902 f6989586621679566901. (~>) a6989586621679566902 (f6989586621679566901 a6989586621679566902)
type PureSym1 (arg6989586621679567312 :: a6989586621679566902) = Pure arg6989586621679567312
data (<*>@#@$) :: forall f6989586621679566901 a6989586621679566903 b6989586621679566904. (~>) (f6989586621679566901 ((~>) a6989586621679566903 b6989586621679566904)) ((~>) (f6989586621679566901 a6989586621679566903) (f6989586621679566901 b6989586621679566904))
infixl 4 <*>@#@$
data (<*>@#@$$) (arg6989586621679567314 :: f6989586621679566901 ((~>) a6989586621679566903 b6989586621679566904)) :: (~>) (f6989586621679566901 a6989586621679566903) (f6989586621679566901 b6989586621679566904)
infixl 4 <*>@#@$$
type (<*>@#@$$$) (arg6989586621679567314 :: f6989586621679566901 ((~>) a6989586621679566903 b6989586621679566904)) (arg6989586621679567315 :: f6989586621679566901 a6989586621679566903) = (<*>) arg6989586621679567314 arg6989586621679567315
data (*>@#@$) :: forall f6989586621679566901 a6989586621679566908 b6989586621679566909. (~>) (f6989586621679566901 a6989586621679566908) ((~>) (f6989586621679566901 b6989586621679566909) (f6989586621679566901 b6989586621679566909))
infixl 4 *>@#@$
data (*>@#@$$) (arg6989586621679567324 :: f6989586621679566901 a6989586621679566908) :: forall b6989586621679566909. (~>) (f6989586621679566901 b6989586621679566909) (f6989586621679566901 b6989586621679566909)
infixl 4 *>@#@$$
type (*>@#@$$$) (arg6989586621679567324 :: f6989586621679566901 a6989586621679566908) (arg6989586621679567325 :: f6989586621679566901 b6989586621679566909) = (*>) arg6989586621679567324 arg6989586621679567325
data (<*@#@$) :: forall f6989586621679566901 a6989586621679566910 b6989586621679566911. (~>) (f6989586621679566901 a6989586621679566910) ((~>) (f6989586621679566901 b6989586621679566911) (f6989586621679566901 a6989586621679566910))
infixl 4 <*@#@$
data (<*@#@$$) (arg6989586621679567328 :: f6989586621679566901 a6989586621679566910) :: forall b6989586621679566911. (~>) (f6989586621679566901 b6989586621679566911) (f6989586621679566901 a6989586621679566910)
infixl 4 <*@#@$$
type (<*@#@$$$) (arg6989586621679567328 :: f6989586621679566901 a6989586621679566910) (arg6989586621679567329 :: f6989586621679566901 b6989586621679566911) = (<*) arg6989586621679567328 arg6989586621679567329
type EmptySym0 = Empty
data (<|>@#@$) :: forall f6989586621679566976 a6989586621679566978. (~>) (f6989586621679566976 a6989586621679566978) ((~>) (f6989586621679566976 a6989586621679566978) (f6989586621679566976 a6989586621679566978))
infixl 3 <|>@#@$
data (<|>@#@$$) (arg6989586621679567436 :: f6989586621679566976 a6989586621679566978) :: (~>) (f6989586621679566976 a6989586621679566978) (f6989586621679566976 a6989586621679566978)
infixl 3 <|>@#@$$
type (<|>@#@$$$) (arg6989586621679567436 :: f6989586621679566976 a6989586621679566978) (arg6989586621679567437 :: f6989586621679566976 a6989586621679566978) = (<|>) arg6989586621679567436 arg6989586621679567437
data ConstSym0 :: forall (a6989586621679090110 :: Type) k6989586621679090109 (b6989586621679090111 :: k6989586621679090109). (~>) a6989586621679090110 (Const (a6989586621679090110 :: Type) (b6989586621679090111 :: k6989586621679090109))
type ConstSym1 (t6989586621680754498 :: a6989586621679090110) = 'Const t6989586621680754498
data GetConstSym0 :: forall a6989586621680754766 b6989586621680754767. (~>) (Const a6989586621680754766 b6989586621680754767) a6989586621680754766
type GetConstSym1 (x6989586621680754768 :: Const a6989586621680754766 b6989586621680754767) = GetConst x6989586621680754768
data (<$>@#@$) :: forall a6989586621679737073 b6989586621679737074 f6989586621679737072. (~>) ((~>) a6989586621679737073 b6989586621679737074) ((~>) (f6989586621679737072 a6989586621679737073) (f6989586621679737072 b6989586621679737074))
infixl 4 <$>@#@$
data (<$>@#@$$) (a6989586621679737154 :: (~>) a6989586621679737073 b6989586621679737074) :: forall f6989586621679737072. (~>) (f6989586621679737072 a6989586621679737073) (f6989586621679737072 b6989586621679737074)
infixl 4 <$>@#@$$
type (<$>@#@$$$) (a6989586621679737154 :: (~>) a6989586621679737073 b6989586621679737074) (a6989586621679737155 :: f6989586621679737072 a6989586621679737073) = (<$>) a6989586621679737154 a6989586621679737155
data (<$@#@$) :: forall a6989586621679566899 f6989586621679566896 b6989586621679566900. (~>) a6989586621679566899 ((~>) (f6989586621679566896 b6989586621679566900) (f6989586621679566896 a6989586621679566899))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679567292 :: a6989586621679566899) :: forall f6989586621679566896 b6989586621679566900. (~>) (f6989586621679566896 b6989586621679566900) (f6989586621679566896 a6989586621679566899)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679567292 :: a6989586621679566899) (arg6989586621679567293 :: f6989586621679566896 b6989586621679566900) = (<$) arg6989586621679567292 arg6989586621679567293
data (<**>@#@$) :: forall f6989586621679566861 a6989586621679566862 b6989586621679566863. (~>) (f6989586621679566861 a6989586621679566862) ((~>) (f6989586621679566861 ((~>) a6989586621679566862 b6989586621679566863)) (f6989586621679566861 b6989586621679566863))
infixl 4 <**>@#@$
data (<**>@#@$$) (a6989586621679567272 :: f6989586621679566861 a6989586621679566862) :: forall b6989586621679566863. (~>) (f6989586621679566861 ((~>) a6989586621679566862 b6989586621679566863)) (f6989586621679566861 b6989586621679566863)
infixl 4 <**>@#@$$
type (<**>@#@$$$) (a6989586621679567272 :: f6989586621679566861 a6989586621679566862) (a6989586621679567273 :: f6989586621679566861 ((~>) a6989586621679566862 b6989586621679566863)) = (<**>) a6989586621679567272 a6989586621679567273
data LiftASym0 :: forall a6989586621679566859 b6989586621679566860 f6989586621679566858. (~>) ((~>) a6989586621679566859 b6989586621679566860) ((~>) (f6989586621679566858 a6989586621679566859) (f6989586621679566858 b6989586621679566860))
data LiftASym1 (a6989586621679567262 :: (~>) a6989586621679566859 b6989586621679566860) :: forall f6989586621679566858. (~>) (f6989586621679566858 a6989586621679566859) (f6989586621679566858 b6989586621679566860)
type LiftASym2 (a6989586621679567262 :: (~>) a6989586621679566859 b6989586621679566860) (a6989586621679567263 :: f6989586621679566858 a6989586621679566859) = LiftA a6989586621679567262 a6989586621679567263
data LiftA2Sym0 :: forall a6989586621679566905 b6989586621679566906 c6989586621679566907 f6989586621679566901. (~>) ((~>) a6989586621679566905 ((~>) b6989586621679566906 c6989586621679566907)) ((~>) (f6989586621679566901 a6989586621679566905) ((~>) (f6989586621679566901 b6989586621679566906) (f6989586621679566901 c6989586621679566907)))
data LiftA2Sym1 (arg6989586621679567318 :: (~>) a6989586621679566905 ((~>) b6989586621679566906 c6989586621679566907)) :: forall f6989586621679566901. (~>) (f6989586621679566901 a6989586621679566905) ((~>) (f6989586621679566901 b6989586621679566906) (f6989586621679566901 c6989586621679566907))
data LiftA2Sym2 (arg6989586621679567318 :: (~>) a6989586621679566905 ((~>) b6989586621679566906 c6989586621679566907)) (arg6989586621679567319 :: f6989586621679566901 a6989586621679566905) :: (~>) (f6989586621679566901 b6989586621679566906) (f6989586621679566901 c6989586621679566907)
type LiftA2Sym3 (arg6989586621679567318 :: (~>) a6989586621679566905 ((~>) b6989586621679566906 c6989586621679566907)) (arg6989586621679567319 :: f6989586621679566901 a6989586621679566905) (arg6989586621679567320 :: f6989586621679566901 b6989586621679566906) = LiftA2 arg6989586621679567318 arg6989586621679567319 arg6989586621679567320
data LiftA3Sym0 :: forall a6989586621679566854 b6989586621679566855 c6989586621679566856 d6989586621679566857 f6989586621679566853. (~>) ((~>) a6989586621679566854 ((~>) b6989586621679566855 ((~>) c6989586621679566856 d6989586621679566857))) ((~>) (f6989586621679566853 a6989586621679566854) ((~>) (f6989586621679566853 b6989586621679566855) ((~>) (f6989586621679566853 c6989586621679566856) (f6989586621679566853 d6989586621679566857))))
data LiftA3Sym1 (a6989586621679567250 :: (~>) a6989586621679566854 ((~>) b6989586621679566855 ((~>) c6989586621679566856 d6989586621679566857))) :: forall f6989586621679566853. (~>) (f6989586621679566853 a6989586621679566854) ((~>) (f6989586621679566853 b6989586621679566855) ((~>) (f6989586621679566853 c6989586621679566856) (f6989586621679566853 d6989586621679566857)))
data LiftA3Sym2 (a6989586621679567250 :: (~>) a6989586621679566854 ((~>) b6989586621679566855 ((~>) c6989586621679566856 d6989586621679566857))) (a6989586621679567251 :: f6989586621679566853 a6989586621679566854) :: (~>) (f6989586621679566853 b6989586621679566855) ((~>) (f6989586621679566853 c6989586621679566856) (f6989586621679566853 d6989586621679566857))
data LiftA3Sym3 (a6989586621679567250 :: (~>) a6989586621679566854 ((~>) b6989586621679566855 ((~>) c6989586621679566856 d6989586621679566857))) (a6989586621679567251 :: f6989586621679566853 a6989586621679566854) (a6989586621679567252 :: f6989586621679566853 b6989586621679566855) :: (~>) (f6989586621679566853 c6989586621679566856) (f6989586621679566853 d6989586621679566857)
data OptionalSym0 :: forall f6989586621681261956 a6989586621681261957. (~>) (f6989586621681261956 a6989586621681261957) (f6989586621681261956 (Maybe a6989586621681261957))
type OptionalSym1 (a6989586621681261994 :: f6989586621681261956 a6989586621681261957) = Optional a6989586621681261994
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.TFHelper_6989586621681262048Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Ord.Down
instance forall a6989586621679566903 b6989586621679566904 (a6989586621681262046 :: Data.Ord.Down (a6989586621679566903 Data.Singletons.Internal.~> b6989586621679566904)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.TFHelper_6989586621681262048Sym1 a6989586621681262046)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.Pure_6989586621681262038Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.LiftA2_6989586621681262021Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative ((,) a)
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 a6989586621681261960 (a6989586621681262018 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.LiftA2_6989586621681262021Sym1 a6989586621681262018)
instance forall a6989586621679566905 b6989586621679566906 c6989586621679566907 a6989586621681261960 (a6989586621681262019 :: a6989586621679566905 Data.Singletons.Internal.~> (b6989586621679566906 Data.Singletons.Internal.~> c6989586621679566907)) (a6989586621681262018 :: (a6989586621681261960, a6989586621679566905)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.LiftA2_6989586621681262021Sym2 a6989586621681262019 a6989586621681262018)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.TFHelper_6989586621681262006Sym0
instance forall a6989586621681261960 a6989586621679566903 b6989586621679566904 (a6989586621681262004 :: (a6989586621681261960, a6989586621679566903 Data.Singletons.Internal.~> b6989586621679566904)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.TFHelper_6989586621681262006Sym1 a6989586621681262004)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.Pure_6989586621681261998Sym0
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_a2kVy :: Type -> Type) where {
    type family Fmap (arg_a2l1S :: (~>) a_a2kVz b_a2kVA) (arg_a2l1T :: f_a2kVy a_a2kVz) :: f_a2kVy b_a2kVA;
    type (<$) a_a2l20 a_a2l21 = Apply (Apply TFHelper_6989586621679567298Sym0 a_a2l20) a_a2l21;
}
class SFunctor (f_a2kVy :: Type -> Type)
sFmap :: forall a_a2kVz b_a2kVA (t_a2l6a :: (~>) a_a2kVz b_a2kVA) (t_a2l6b :: f_a2kVy a_a2kVz). SFunctor f_a2kVy => Sing t_a2l6a -> Sing t_a2l6b -> Sing (Apply (Apply FmapSym0 t_a2l6a) t_a2l6b :: f_a2kVy b_a2kVA)
class PMonad (m_a2kW1 :: Type -> Type) where {
    type family (>>=) (arg_a2l3B :: m_a2kW1 a_a2kW2) (arg_a2l3C :: (~>) a_a2kW2 (m_a2kW1 b_a2kW3)) :: m_a2kW1 b_a2kW3;
    type family (>>) (arg_a2l3F :: m_a2kW1 a_a2kW4) (arg_a2l3G :: m_a2kW1 b_a2kW5) :: m_a2kW1 b_a2kW5;
    type family Return (arg_a2l3J :: a_a2kW6) :: m_a2kW1 a_a2kW6;
    type (>>) a_a2l3L a_a2l3M = Apply (Apply TFHelper_6989586621679567407Sym0 a_a2l3L) a_a2l3M;
    type Return a_a2l47 = Apply Return_6989586621679567428Sym0 a_a2l47;
}
infixl 1 >>=
infixl 1 >>
class SApplicative m_a2kW1 => SMonad (m_a2kW1 :: Type -> Type)
(%>>=) :: forall a_a2kW2 b_a2kW3 (t_a2l6L :: m_a2kW1 a_a2kW2) (t_a2l6M :: (~>) a_a2kW2 (m_a2kW1 b_a2kW3)). SMonad m_a2kW1 => Sing t_a2l6L -> Sing t_a2l6M -> Sing (Apply (Apply (>>=@#@$) t_a2l6L) t_a2l6M :: m_a2kW1 b_a2kW3)
(%>>) :: forall a_a2kW4 b_a2kW5 (t_a2l6P :: m_a2kW1 a_a2kW4) (t_a2l6Q :: m_a2kW1 b_a2kW5). SMonad m_a2kW1 => Sing t_a2l6P -> Sing t_a2l6Q -> Sing (Apply (Apply (>>@#@$) t_a2l6P) t_a2l6Q :: m_a2kW1 b_a2kW5)
sReturn :: forall a_a2kW6 (t_a2l6T :: a_a2kW6). SMonad m_a2kW1 => Sing t_a2l6T -> Sing (Apply ReturnSym0 t_a2l6T :: m_a2kW1 a_a2kW6)
(%>>) :: forall a_a2kW4 b_a2kW5 (t_a2l6P :: m_a2kW1 a_a2kW4) (t_a2l6Q :: m_a2kW1 b_a2kW5). (SMonad m_a2kW1, (Apply (Apply (>>@#@$) t_a2l6P) t_a2l6Q :: m_a2kW1 b_a2kW5) ~ Apply (Apply TFHelper_6989586621679567407Sym0 t_a2l6P) t_a2l6Q) => Sing t_a2l6P -> Sing t_a2l6Q -> Sing (Apply (Apply (>>@#@$) t_a2l6P) t_a2l6Q :: m_a2kW1 b_a2kW5)
sReturn :: forall a_a2kW6 (t_a2l6T :: a_a2kW6). (SMonad m_a2kW1, (Apply ReturnSym0 t_a2l6T :: m_a2kW1 a_a2kW6) ~ Apply Return_6989586621679567428Sym0 t_a2l6T) => Sing t_a2l6T -> Sing (Apply ReturnSym0 t_a2l6T :: m_a2kW1 a_a2kW6)
infixl 1 %>>=
infixl 1 %>>
class PMonadPlus (m_a2kWT :: Type -> Type) where {
    type family Mzero :: m_a2kWT a_a2kWU;
    type family Mplus (arg_a2l4k :: m_a2kWT a_a2kWV) (arg_a2l4l :: m_a2kWT a_a2kWV) :: m_a2kWT a_a2kWV;
    type Mzero = Mzero_6989586621679567444Sym0;
    type Mplus a_a2l4q a_a2l4r = Apply (Apply Mplus_6989586621679567448Sym0 a_a2l4q) a_a2l4r;
}
class (SAlternative m_a2kWT, SMonad m_a2kWT) => SMonadPlus (m_a2kWT :: Type -> Type)
sMzero :: forall a_a2kWU. SMonadPlus m_a2kWT => Sing (MzeroSym0 :: m_a2kWT a_a2kWU)
sMplus :: forall a_a2kWV (t_a2l73 :: m_a2kWT a_a2kWV) (t_a2l74 :: m_a2kWT a_a2kWV). SMonadPlus m_a2kWT => Sing t_a2l73 -> Sing t_a2l74 -> Sing (Apply (Apply MplusSym0 t_a2l73) t_a2l74 :: m_a2kWT a_a2kWV)
sMzero :: forall a_a2kWU. (SMonadPlus m_a2kWT, (MzeroSym0 :: m_a2kWT a_a2kWU) ~ Mzero_6989586621679567444Sym0) => Sing (MzeroSym0 :: m_a2kWT a_a2kWU)
sMplus :: forall a_a2kWV (t_a2l73 :: m_a2kWT a_a2kWV) (t_a2l74 :: m_a2kWT a_a2kWV). (SMonadPlus m_a2kWT, (Apply (Apply MplusSym0 t_a2l73) t_a2l74 :: m_a2kWT a_a2kWV) ~ Apply (Apply Mplus_6989586621679567448Sym0 t_a2l73) t_a2l74) => Sing t_a2l73 -> Sing t_a2l74 -> Sing (Apply (Apply MplusSym0 t_a2l73) t_a2l74 :: m_a2kWT a_a2kWV)
class PMonadFail (m_a32EI :: Type -> Type) where {
    type family Fail (arg_a32F2 :: [Char]) :: m_a32EI a_a32EJ;
}
class SMonad m_a32EI => SMonadFail (m_a32EI :: Type -> Type)
sFail :: forall a_a32EJ (t_a32Fg :: [Char]). SMonadFail m_a32EI => Sing t_a32Fg -> Sing (Apply FailSym0 t_a32Fg :: m_a32EI a_a32EJ)
type family MapM (arg_a7umg :: (~>) a_a7um5 (m_a7um4 b_a7um6)) (arg_a7umh :: t_a7ulY a_a7um5) :: m_a7um4 (t_a7ulY b_a7um6)
sMapM :: forall a_a7um5 m_a7um4 b_a7um6 (t_a7une :: (~>) a_a7um5 (m_a7um4 b_a7um6)) (t_a7unf :: t_a7ulY a_a7um5). (STraversable t_a7ulY, SMonad m_a7um4) => Sing t_a7une -> Sing t_a7unf -> Sing (Apply (Apply MapMSym0 t_a7une) t_a7unf :: m_a7um4 (t_a7ulY b_a7um6))
type family MapM_ (a_a6ck0 :: (~>) a_a6cag (m_a6caf b_a6cah)) (a_a6ck1 :: t_a6cae a_a6cag) :: m_a6caf ()
sMapM_ :: forall a_a6cag m_a6caf b_a6cah t_a6cae (t_a6cFX :: (~>) a_a6cag (m_a6caf b_a6cah)) (t_a6cFY :: t_a6cae a_a6cag). (SFoldable t_a6cae, SMonad m_a6caf) => Sing t_a6cFX -> Sing t_a6cFY -> Sing (Apply (Apply MapM_Sym0 t_a6cFX) t_a6cFY :: m_a6caf ())
type family ForM (a_a7vVG :: t_a7vNh a_a7vNj) (a_a7vVH :: (~>) a_a7vNj (m_a7vNi b_a7vNk)) :: m_a7vNi (t_a7vNh b_a7vNk)
sForM :: forall t_a7vNh a_a7vNj m_a7vNi b_a7vNk (t_a7w59 :: t_a7vNh a_a7vNj) (t_a7w5a :: (~>) a_a7vNj (m_a7vNi b_a7vNk)). (STraversable t_a7vNh, SMonad m_a7vNi) => Sing t_a7w59 -> Sing t_a7w5a -> Sing (Apply (Apply ForMSym0 t_a7w59) t_a7w5a :: m_a7vNi (t_a7vNh b_a7vNk))
type family Sequence (arg_a7umk :: t_a7ulY (m_a7um7 a_a7um8)) :: m_a7um7 (t_a7ulY a_a7um8)
sSequence :: forall m_a7um7 a_a7um8 (t_a7uni :: t_a7ulY (m_a7um7 a_a7um8)). (STraversable t_a7ulY, SMonad m_a7um7) => Sing t_a7uni -> Sing (Apply SequenceSym0 t_a7uni :: m_a7um7 (t_a7ulY a_a7um8))
type family Sequence_ (a_a6cjI :: t_a6ca4 (m_a6ca5 a_a6ca6)) :: m_a6ca5 ()
sSequence_ :: forall t_a6ca4 m_a6ca5 a_a6ca6 (t_a6cFP :: t_a6ca4 (m_a6ca5 a_a6ca6)). (SFoldable t_a6ca4, SMonad m_a6ca5) => Sing t_a6cFP -> Sing (Apply Sequence_Sym0 t_a6cFP :: m_a6ca5 ())
type family (=<<) (a_a2l17 :: (~>) a_a2kUN (m_a2kUM b_a2kUO)) (a_a2l18 :: m_a2kUM a_a2kUN) :: m_a2kUM b_a2kUO
infixr 1 =<<
(%=<<) :: forall a_a2kUN m_a2kUM b_a2kUO (t_a2l5u :: (~>) a_a2kUN (m_a2kUM b_a2kUO)) (t_a2l5v :: m_a2kUM a_a2kUN). SMonad m_a2kUM => Sing t_a2l5u -> Sing t_a2l5v -> Sing (Apply (Apply (=<<@#@$) t_a2l5u) t_a2l5v :: m_a2kUM b_a2kUO)
infixr 1 %=<<
type family (>=>) (a_a9ulW :: (~>) a_a9ueY (m_a9ueX b_a9ueZ)) (a_a9ulX :: (~>) b_a9ueZ (m_a9ueX c_a9uf0)) (a_a9ulY :: a_a9ueY) :: m_a9ueX c_a9uf0
infixr 1 >=>
(%>=>) :: forall a_a9ueY m_a9ueX b_a9ueZ c_a9uf0 (t_a9uo5 :: (~>) a_a9ueY (m_a9ueX b_a9ueZ)) (t_a9uo6 :: (~>) b_a9ueZ (m_a9ueX c_a9uf0)) (t_a9uo7 :: a_a9ueY). SMonad m_a9ueX => Sing t_a9uo5 -> Sing t_a9uo6 -> Sing t_a9uo7 -> Sing (Apply (Apply (Apply (>=>@#@$) t_a9uo5) t_a9uo6) t_a9uo7 :: m_a9ueX c_a9uf0)
infixr 1 %>=>
type family (<=<) (a_a9ulN :: (~>) b_a9ueU (m_a9ueT c_a9ueV)) (a_a9ulO :: (~>) a_a9ueW (m_a9ueT b_a9ueU)) (a_a9ulP :: a_a9ueW) :: m_a9ueT c_a9ueV
infixr 1 <=<
(%<=<) :: forall b_a9ueU m_a9ueT c_a9ueV a_a9ueW (t_a9unZ :: (~>) b_a9ueU (m_a9ueT c_a9ueV)) (t_a9uo0 :: (~>) a_a9ueW (m_a9ueT b_a9ueU)) (t_a9uo1 :: a_a9ueW). SMonad m_a9ueT => Sing t_a9unZ -> Sing t_a9uo0 -> Sing t_a9uo1 -> Sing (Apply (Apply (Apply (<=<@#@$) t_a9unZ) t_a9uo0) t_a9uo1 :: m_a9ueT c_a9ueV)
infixr 1 %<=<
type family Void (a_a33dh :: f_a33cc a_a33cd) :: f_a33cc ()
sVoid :: forall f_a33cc a_a33cd (t_a33f3 :: f_a33cc a_a33cd). SFunctor f_a33cc => Sing t_a33f3 -> Sing (Apply VoidSym0 t_a33f3 :: f_a33cc ())
type family Join (a_a2l1d :: m_a2kUP (m_a2kUP a_a2kUQ)) :: m_a2kUP a_a2kUQ
sJoin :: forall m_a2kUP a_a2kUQ (t_a2l5y :: m_a2kUP (m_a2kUP a_a2kUQ)). SMonad m_a2kUP => Sing t_a2l5y -> Sing (Apply JoinSym0 t_a2l5y :: m_a2kUP a_a2kUQ)
type family Msum (a_a6cjy :: t_a6c9Y (m_a6c9Z a_a6ca0)) :: m_a6c9Z a_a6ca0
sMsum :: forall t_a6c9Y m_a6c9Z a_a6ca0 (t_a6cFL :: t_a6c9Y (m_a6c9Z a_a6ca0)). (SFoldable t_a6c9Y, SMonadPlus m_a6c9Z) => Sing t_a6cFL -> Sing (Apply MsumSym0 t_a6cFL :: m_a6c9Z a_a6ca0)
type family Mfilter (a_a9ujz :: (~>) a_a9ueq Bool) (a_a9ujA :: m_a9uep a_a9ueq) :: m_a9uep a_a9ueq
sMfilter :: forall a_a9ueq m_a9uep (t_a9und :: (~>) a_a9ueq Bool) (t_a9une :: m_a9uep a_a9ueq). SMonadPlus m_a9uep => Sing t_a9und -> Sing t_a9une -> Sing (Apply (Apply MfilterSym0 t_a9und) t_a9une :: m_a9uep a_a9ueq)
type family FilterM (a_a9umf :: (~>) a_a9uf2 (m_a9uf1 Bool)) (a_a9umg :: [a_a9uf2]) :: m_a9uf1 [a_a9uf2]
sFilterM :: forall a_a9uf2 m_a9uf1 (t_a9uob :: (~>) a_a9uf2 (m_a9uf1 Bool)) (t_a9uoc :: [a_a9uf2]). SApplicative m_a9uf1 => Sing t_a9uob -> Sing t_a9uoc -> Sing (Apply (Apply FilterMSym0 t_a9uob) t_a9uoc :: m_a9uf1 [a_a9uf2])
type family MapAndUnzipM (a_a9ulB :: (~>) a_a9ueQ (m_a9ueP (b_a9ueR, c_a9ueS))) (a_a9ulC :: [a_a9ueQ]) :: m_a9ueP ([b_a9ueR], [c_a9ueS])
sMapAndUnzipM :: forall a_a9ueQ m_a9ueP b_a9ueR c_a9ueS (t_a9unV :: (~>) a_a9ueQ (m_a9ueP (b_a9ueR, c_a9ueS))) (t_a9unW :: [a_a9ueQ]). SApplicative m_a9ueP => Sing t_a9unV -> Sing t_a9unW -> Sing (Apply (Apply MapAndUnzipMSym0 t_a9unV) t_a9unW :: m_a9ueP ([b_a9ueR], [c_a9ueS]))
type family ZipWithM (a_a9uls :: (~>) a_a9ueM ((~>) b_a9ueN (m_a9ueL c_a9ueO))) (a_a9ult :: [a_a9ueM]) (a_a9ulu :: [b_a9ueN]) :: m_a9ueL [c_a9ueO]
sZipWithM :: forall a_a9ueM b_a9ueN m_a9ueL c_a9ueO (t_a9unP :: (~>) a_a9ueM ((~>) b_a9ueN (m_a9ueL c_a9ueO))) (t_a9unQ :: [a_a9ueM]) (t_a9unR :: [b_a9ueN]). SApplicative m_a9ueL => Sing t_a9unP -> Sing t_a9unQ -> Sing t_a9unR -> Sing (Apply (Apply (Apply ZipWithMSym0 t_a9unP) t_a9unQ) t_a9unR :: m_a9ueL [c_a9ueO])
type family ZipWithM_ (a_a9ulj :: (~>) a_a9ueI ((~>) b_a9ueJ (m_a9ueH c_a9ueK))) (a_a9ulk :: [a_a9ueI]) (a_a9ull :: [b_a9ueJ]) :: m_a9ueH ()
sZipWithM_ :: forall a_a9ueI b_a9ueJ m_a9ueH c_a9ueK (t_a9unJ :: (~>) a_a9ueI ((~>) b_a9ueJ (m_a9ueH c_a9ueK))) (t_a9unK :: [a_a9ueI]) (t_a9unL :: [b_a9ueJ]). SApplicative m_a9ueH => Sing t_a9unJ -> Sing t_a9unK -> Sing t_a9unL -> Sing (Apply (Apply (Apply ZipWithM_Sym0 t_a9unJ) t_a9unK) t_a9unL :: m_a9ueH ())
type family FoldlM (a_a6ckq :: (~>) b_a6cas ((~>) a_a6cat (m_a6car b_a6cas))) (a_a6ckr :: b_a6cas) (a_a6cks :: t_a6caq a_a6cat) :: m_a6car b_a6cas
sFoldlM :: forall b_a6cas a_a6cat m_a6car t_a6caq (t_a6cG9 :: (~>) b_a6cas ((~>) a_a6cat (m_a6car b_a6cas))) (t_a6cGa :: b_a6cas) (t_a6cGb :: t_a6caq a_a6cat). (SFoldable t_a6caq, SMonad m_a6car) => Sing t_a6cG9 -> Sing t_a6cGa -> Sing t_a6cGb -> Sing (Apply (Apply (Apply FoldlMSym0 t_a6cG9) t_a6cGa) t_a6cGb :: m_a6car b_a6cas)
type family ReplicateM (a_a9ukC :: Nat) (a_a9ukD :: m_a9uex a_a9uey) :: m_a9uex [a_a9uey]
sReplicateM :: forall m_a9uex a_a9uey (t_a9unt :: Nat) (t_a9unu :: m_a9uex a_a9uey). SApplicative m_a9uex => Sing t_a9unt -> Sing t_a9unu -> Sing (Apply (Apply ReplicateMSym0 t_a9unt) t_a9unu :: m_a9uex [a_a9uey])
type family ReplicateM_ (a_a9ukj :: Nat) (a_a9ukk :: m_a9uev a_a9uew) :: m_a9uev ()
sReplicateM_ :: forall m_a9uev a_a9uew (t_a9unp :: Nat) (t_a9unq :: m_a9uev a_a9uew). SApplicative m_a9uev => Sing t_a9unp -> Sing t_a9unq -> Sing (Apply (Apply ReplicateM_Sym0 t_a9unp) t_a9unq :: m_a9uev ())
type family Guard (a_a2kWY :: Bool) :: f_a2kUi ()
sGuard :: forall f_a2kUi (t_a2l4G :: Bool). SAlternative f_a2kUi => Sing t_a2l4G -> Sing (Apply GuardSym0 t_a2l4G :: f_a2kUi ())
type family When (a_a2l0Y :: Bool) (a_a2l0Z :: f_a2kUL ()) :: f_a2kUL ()
sWhen :: forall f_a2kUL (t_a2l5q :: Bool) (t_a2l5r :: f_a2kUL ()). SApplicative f_a2kUL => Sing t_a2l5q -> Sing t_a2l5r -> Sing (Apply (Apply WhenSym0 t_a2l5q) t_a2l5r :: f_a2kUL ())
type family Unless (a_a9uka :: Bool) (a_a9ukb :: f_a9ueu ()) :: f_a9ueu ()
sUnless :: forall f_a9ueu (t_a9unl :: Bool) (t_a9unm :: f_a9ueu ()). SApplicative f_a9ueu => Sing t_a9unl -> Sing t_a9unm -> Sing (Apply (Apply UnlessSym0 t_a9unl) t_a9unm :: f_a9ueu ())
type family LiftM (a_a2l0L :: (~>) a1_a2kUJ r_a2kUK) (a_a2l0M :: m_a2kUI a1_a2kUJ) :: m_a2kUI r_a2kUK
sLiftM :: forall a1_a2kUJ r_a2kUK m_a2kUI (t_a2l5m :: (~>) a1_a2kUJ r_a2kUK) (t_a2l5n :: m_a2kUI a1_a2kUJ). SMonad m_a2kUI => Sing t_a2l5m -> Sing t_a2l5n -> Sing (Apply (Apply LiftMSym0 t_a2l5m) t_a2l5n :: m_a2kUI r_a2kUK)
type family LiftM2 (a_a2l0l :: (~>) a1_a2kUF ((~>) a2_a2kUG r_a2kUH)) (a_a2l0m :: m_a2kUE a1_a2kUF) (a_a2l0n :: m_a2kUE a2_a2kUG) :: m_a2kUE r_a2kUH
sLiftM2 :: forall a1_a2kUF a2_a2kUG r_a2kUH m_a2kUE (t_a2l5g :: (~>) a1_a2kUF ((~>) a2_a2kUG r_a2kUH)) (t_a2l5h :: m_a2kUE a1_a2kUF) (t_a2l5i :: m_a2kUE a2_a2kUG). SMonad m_a2kUE => Sing t_a2l5g -> Sing t_a2l5h -> Sing t_a2l5i -> Sing (Apply (Apply (Apply LiftM2Sym0 t_a2l5g) t_a2l5h) t_a2l5i :: m_a2kUE r_a2kUH)
type family LiftM3 (a_a2kZF :: (~>) a1_a2kUA ((~>) a2_a2kUB ((~>) a3_a2kUC r_a2kUD))) (a_a2kZG :: m_a2kUz a1_a2kUA) (a_a2kZH :: m_a2kUz a2_a2kUB) (a_a2kZI :: m_a2kUz a3_a2kUC) :: m_a2kUz r_a2kUD
sLiftM3 :: forall a1_a2kUA a2_a2kUB a3_a2kUC r_a2kUD m_a2kUz (t_a2l58 :: (~>) a1_a2kUA ((~>) a2_a2kUB ((~>) a3_a2kUC r_a2kUD))) (t_a2l59 :: m_a2kUz a1_a2kUA) (t_a2l5a :: m_a2kUz a2_a2kUB) (t_a2l5b :: m_a2kUz a3_a2kUC). SMonad m_a2kUz => Sing t_a2l58 -> Sing t_a2l59 -> Sing t_a2l5a -> Sing t_a2l5b -> Sing (Apply (Apply (Apply (Apply LiftM3Sym0 t_a2l58) t_a2l59) t_a2l5a) t_a2l5b :: m_a2kUz r_a2kUD)
type family LiftM4 (a_a2kYG :: (~>) a1_a2kUu ((~>) a2_a2kUv ((~>) a3_a2kUw ((~>) a4_a2kUx r_a2kUy)))) (a_a2kYH :: m_a2kUt a1_a2kUu) (a_a2kYI :: m_a2kUt a2_a2kUv) (a_a2kYJ :: m_a2kUt a3_a2kUw) (a_a2kYK :: m_a2kUt a4_a2kUx) :: m_a2kUt r_a2kUy
sLiftM4 :: forall a1_a2kUu a2_a2kUv a3_a2kUw a4_a2kUx r_a2kUy m_a2kUt (t_a2l4Y :: (~>) a1_a2kUu ((~>) a2_a2kUv ((~>) a3_a2kUw ((~>) a4_a2kUx r_a2kUy)))) (t_a2l4Z :: m_a2kUt a1_a2kUu) (t_a2l50 :: m_a2kUt a2_a2kUv) (t_a2l51 :: m_a2kUt a3_a2kUw) (t_a2l52 :: m_a2kUt a4_a2kUx). SMonad m_a2kUt => Sing t_a2l4Y -> Sing t_a2l4Z -> Sing t_a2l50 -> Sing t_a2l51 -> Sing t_a2l52 -> Sing (Apply (Apply (Apply (Apply (Apply LiftM4Sym0 t_a2l4Y) t_a2l4Z) t_a2l50) t_a2l51) t_a2l52 :: m_a2kUt r_a2kUy)
type family LiftM5 (a_a2kXl :: (~>) a1_a2kUn ((~>) a2_a2kUo ((~>) a3_a2kUp ((~>) a4_a2kUq ((~>) a5_a2kUr r_a2kUs))))) (a_a2kXm :: m_a2kUm a1_a2kUn) (a_a2kXn :: m_a2kUm a2_a2kUo) (a_a2kXo :: m_a2kUm a3_a2kUp) (a_a2kXp :: m_a2kUm a4_a2kUq) (a_a2kXq :: m_a2kUm a5_a2kUr) :: m_a2kUm r_a2kUs
sLiftM5 :: forall a1_a2kUn a2_a2kUo a3_a2kUp a4_a2kUq a5_a2kUr r_a2kUs m_a2kUm (t_a2l4M :: (~>) a1_a2kUn ((~>) a2_a2kUo ((~>) a3_a2kUp ((~>) a4_a2kUq ((~>) a5_a2kUr r_a2kUs))))) (t_a2l4N :: m_a2kUm a1_a2kUn) (t_a2l4O :: m_a2kUm a2_a2kUo) (t_a2l4P :: m_a2kUm a3_a2kUp) (t_a2l4Q :: m_a2kUm a4_a2kUq) (t_a2l4R :: m_a2kUm a5_a2kUr). SMonad m_a2kUm => Sing t_a2l4M -> Sing t_a2l4N -> Sing t_a2l4O -> Sing t_a2l4P -> Sing t_a2l4Q -> Sing t_a2l4R -> Sing (Apply (Apply (Apply (Apply (Apply (Apply LiftM5Sym0 t_a2l4M) t_a2l4N) t_a2l4O) t_a2l4P) t_a2l4Q) t_a2l4R :: m_a2kUm r_a2kUs)
type family Ap (a_a2kX0 :: m_a2kUj ((~>) a_a2kUk b_a2kUl)) (a_a2kX1 :: m_a2kUj a_a2kUk) :: m_a2kUj b_a2kUl
sAp :: forall m_a2kUj a_a2kUk b_a2kUl (t_a2l4I :: m_a2kUj ((~>) a_a2kUk b_a2kUl)) (t_a2l4J :: m_a2kUj a_a2kUk). SMonad m_a2kUj => Sing t_a2l4I -> Sing t_a2l4J -> Sing (Apply (Apply ApSym0 t_a2l4I) t_a2l4J :: m_a2kUj b_a2kUl)
type family (<$!>) (a_a9ujT :: (~>) a_a9ues b_a9uet) (a_a9ujU :: m_a9uer a_a9ues) :: m_a9uer b_a9uet
infixl 4 <$!>
(%<$!>) :: forall a_a9ues b_a9uet m_a9uer (t_a9unh :: (~>) a_a9ues b_a9uet) (t_a9uni :: m_a9uer a_a9ues). SMonad m_a9uer => Sing t_a9unh -> Sing t_a9uni -> Sing (Apply (Apply (<$!>@#@$) t_a9unh) t_a9uni :: m_a9uer b_a9uet)
infixl 4 %<$!>
data FmapSym0 :: forall a6989586621679566897 b6989586621679566898 f6989586621679566896. (~>) ((~>) a6989586621679566897 b6989586621679566898) ((~>) (f6989586621679566896 a6989586621679566897) (f6989586621679566896 b6989586621679566898))
data FmapSym1 (arg6989586621679567288 :: (~>) a6989586621679566897 b6989586621679566898) :: forall f6989586621679566896. (~>) (f6989586621679566896 a6989586621679566897) (f6989586621679566896 b6989586621679566898)
type FmapSym2 (arg6989586621679567288 :: (~>) a6989586621679566897 b6989586621679566898) (arg6989586621679567289 :: f6989586621679566896 a6989586621679566897) = Fmap arg6989586621679567288 arg6989586621679567289
data (>>=@#@$) :: forall m6989586621679566925 a6989586621679566926 b6989586621679566927. (~>) (m6989586621679566925 a6989586621679566926) ((~>) ((~>) a6989586621679566926 (m6989586621679566925 b6989586621679566927)) (m6989586621679566925 b6989586621679566927))
infixl 1 >>=@#@$
data (>>=@#@$$) (arg6989586621679567395 :: m6989586621679566925 a6989586621679566926) :: forall b6989586621679566927. (~>) ((~>) a6989586621679566926 (m6989586621679566925 b6989586621679566927)) (m6989586621679566925 b6989586621679566927)
infixl 1 >>=@#@$$
type (>>=@#@$$$) (arg6989586621679567395 :: m6989586621679566925 a6989586621679566926) (arg6989586621679567396 :: (~>) a6989586621679566926 (m6989586621679566925 b6989586621679566927)) = (>>=) arg6989586621679567395 arg6989586621679567396
data (>>@#@$) :: forall m6989586621679566925 a6989586621679566928 b6989586621679566929. (~>) (m6989586621679566925 a6989586621679566928) ((~>) (m6989586621679566925 b6989586621679566929) (m6989586621679566925 b6989586621679566929))
infixl 1 >>@#@$
data (>>@#@$$) (arg6989586621679567399 :: m6989586621679566925 a6989586621679566928) :: forall b6989586621679566929. (~>) (m6989586621679566925 b6989586621679566929) (m6989586621679566925 b6989586621679566929)
infixl 1 >>@#@$$
type (>>@#@$$$) (arg6989586621679567399 :: m6989586621679566925 a6989586621679566928) (arg6989586621679567400 :: m6989586621679566925 b6989586621679566929) = (>>) arg6989586621679567399 arg6989586621679567400
data ReturnSym0 :: forall a6989586621679566930 m6989586621679566925. (~>) a6989586621679566930 (m6989586621679566925 a6989586621679566930)
type ReturnSym1 (arg6989586621679567403 :: a6989586621679566930) = Return arg6989586621679567403
data FailSym0 :: forall m6989586621679734988 a6989586621679734989. (~>) [Char] (m6989586621679734988 a6989586621679734989)
type FailSym1 (arg6989586621679735008 :: [Char]) = Fail arg6989586621679735008
type MzeroSym0 = Mzero
data MplusSym0 :: forall m6989586621679566979 a6989586621679566981. (~>) (m6989586621679566979 a6989586621679566981) ((~>) (m6989586621679566979 a6989586621679566981) (m6989586621679566979 a6989586621679566981))
data MplusSym1 (arg6989586621679567440 :: m6989586621679566979 a6989586621679566981) :: (~>) (m6989586621679566979 a6989586621679566981) (m6989586621679566979 a6989586621679566981)
type MplusSym2 (arg6989586621679567440 :: m6989586621679566979 a6989586621679566981) (arg6989586621679567441 :: m6989586621679566979 a6989586621679566981) = Mplus arg6989586621679567440 arg6989586621679567441
data MapMSym0 :: forall a6989586621680794777 m6989586621680794776 b6989586621680794778 t6989586621680794770. (~>) ((~>) a6989586621680794777 (m6989586621680794776 b6989586621680794778)) ((~>) (t6989586621680794770 a6989586621680794777) (m6989586621680794776 (t6989586621680794770 b6989586621680794778)))
data MapMSym1 (arg6989586621680794788 :: (~>) a6989586621680794777 (m6989586621680794776 b6989586621680794778)) :: forall t6989586621680794770. (~>) (t6989586621680794770 a6989586621680794777) (m6989586621680794776 (t6989586621680794770 b6989586621680794778))
type MapMSym2 (arg6989586621680794788 :: (~>) a6989586621680794777 (m6989586621680794776 b6989586621680794778)) (arg6989586621680794789 :: t6989586621680794770 a6989586621680794777) = MapM arg6989586621680794788 arg6989586621680794789
data MapM_Sym0 :: forall a6989586621680486524 m6989586621680486523 b6989586621680486525 t6989586621680486522. (~>) ((~>) a6989586621680486524 (m6989586621680486523 b6989586621680486525)) ((~>) (t6989586621680486522 a6989586621680486524) (m6989586621680486523 ()))
data MapM_Sym1 (a6989586621680487128 :: (~>) a6989586621680486524 (m6989586621680486523 b6989586621680486525)) :: forall t6989586621680486522. (~>) (t6989586621680486522 a6989586621680486524) (m6989586621680486523 ())
type MapM_Sym2 (a6989586621680487128 :: (~>) a6989586621680486524 (m6989586621680486523 b6989586621680486525)) (a6989586621680487129 :: t6989586621680486522 a6989586621680486524) = MapM_ a6989586621680487128 a6989586621680487129
data ForMSym0 :: forall t6989586621680800307 a6989586621680800309 m6989586621680800308 b6989586621680800310. (~>) (t6989586621680800307 a6989586621680800309) ((~>) ((~>) a6989586621680800309 (m6989586621680800308 b6989586621680800310)) (m6989586621680800308 (t6989586621680800307 b6989586621680800310)))
data ForMSym1 (a6989586621680800828 :: t6989586621680800307 a6989586621680800309) :: forall m6989586621680800308 b6989586621680800310. (~>) ((~>) a6989586621680800309 (m6989586621680800308 b6989586621680800310)) (m6989586621680800308 (t6989586621680800307 b6989586621680800310))
type ForMSym2 (a6989586621680800828 :: t6989586621680800307 a6989586621680800309) (a6989586621680800829 :: (~>) a6989586621680800309 (m6989586621680800308 b6989586621680800310)) = ForM a6989586621680800828 a6989586621680800829
data SequenceSym0 :: forall t6989586621680794770 m6989586621680794779 a6989586621680794780. (~>) (t6989586621680794770 (m6989586621680794779 a6989586621680794780)) (m6989586621680794779 (t6989586621680794770 a6989586621680794780))
type SequenceSym1 (arg6989586621680794792 :: t6989586621680794770 (m6989586621680794779 a6989586621680794780)) = Sequence arg6989586621680794792
data Sequence_Sym0 :: forall t6989586621680486512 m6989586621680486513 a6989586621680486514. (~>) (t6989586621680486512 (m6989586621680486513 a6989586621680486514)) (m6989586621680486513 ())
type Sequence_Sym1 (a6989586621680487110 :: t6989586621680486512 (m6989586621680486513 a6989586621680486514)) = Sequence_ a6989586621680487110
data (=<<@#@$) :: forall a6989586621679566849 m6989586621679566848 b6989586621679566850. (~>) ((~>) a6989586621679566849 (m6989586621679566848 b6989586621679566850)) ((~>) (m6989586621679566848 a6989586621679566849) (m6989586621679566848 b6989586621679566850))
infixr 1 =<<@#@$
data (=<<@#@$$) (a6989586621679567241 :: (~>) a6989586621679566849 (m6989586621679566848 b6989586621679566850)) :: (~>) (m6989586621679566848 a6989586621679566849) (m6989586621679566848 b6989586621679566850)
infixr 1 =<<@#@$$
type (=<<@#@$$$) (a6989586621679567241 :: (~>) a6989586621679566849 (m6989586621679566848 b6989586621679566850)) (a6989586621679567242 :: m6989586621679566848 a6989586621679566849) = (=<<) a6989586621679567241 a6989586621679567242
data (>=>@#@$) :: forall a6989586621681270992 m6989586621681270991 b6989586621681270993 c6989586621681270994. (~>) ((~>) a6989586621681270992 (m6989586621681270991 b6989586621681270993)) ((~>) ((~>) b6989586621681270993 (m6989586621681270991 c6989586621681270994)) ((~>) a6989586621681270992 (m6989586621681270991 c6989586621681270994)))
infixr 1 >=>@#@$
data (>=>@#@$$) (a6989586621681271424 :: (~>) a6989586621681270992 (m6989586621681270991 b6989586621681270993)) :: forall c6989586621681270994. (~>) ((~>) b6989586621681270993 (m6989586621681270991 c6989586621681270994)) ((~>) a6989586621681270992 (m6989586621681270991 c6989586621681270994))
infixr 1 >=>@#@$$
data (>=>@#@$$$) (a6989586621681271424 :: (~>) a6989586621681270992 (m6989586621681270991 b6989586621681270993)) (a6989586621681271425 :: (~>) b6989586621681270993 (m6989586621681270991 c6989586621681270994)) :: (~>) a6989586621681270992 (m6989586621681270991 c6989586621681270994)
infixr 1 >=>@#@$$$
data (<=<@#@$) :: forall b6989586621681270988 m6989586621681270987 c6989586621681270989 a6989586621681270990. (~>) ((~>) b6989586621681270988 (m6989586621681270987 c6989586621681270989)) ((~>) ((~>) a6989586621681270990 (m6989586621681270987 b6989586621681270988)) ((~>) a6989586621681270990 (m6989586621681270987 c6989586621681270989)))
infixr 1 <=<@#@$
data (<=<@#@$$) (a6989586621681271415 :: (~>) b6989586621681270988 (m6989586621681270987 c6989586621681270989)) :: forall a6989586621681270990. (~>) ((~>) a6989586621681270990 (m6989586621681270987 b6989586621681270988)) ((~>) a6989586621681270990 (m6989586621681270987 c6989586621681270989))
infixr 1 <=<@#@$$
data (<=<@#@$$$) (a6989586621681271415 :: (~>) b6989586621681270988 (m6989586621681270987 c6989586621681270989)) (a6989586621681271416 :: (~>) a6989586621681270990 (m6989586621681270987 b6989586621681270988)) :: (~>) a6989586621681270990 (m6989586621681270987 c6989586621681270989)
infixr 1 <=<@#@$$$
data VoidSym0 :: forall f6989586621679737064 a6989586621679737065. (~>) (f6989586621679737064 a6989586621679737065) (f6989586621679737064 ())
type VoidSym1 (a6989586621679737131 :: f6989586621679737064 a6989586621679737065) = Void a6989586621679737131
data JoinSym0 :: forall m6989586621679566851 a6989586621679566852. (~>) (m6989586621679566851 (m6989586621679566851 a6989586621679566852)) (m6989586621679566851 a6989586621679566852)
type JoinSym1 (a6989586621679567247 :: m6989586621679566851 (m6989586621679566851 a6989586621679566852)) = Join a6989586621679567247
data MsumSym0 :: forall t6989586621680486506 m6989586621680486507 a6989586621680486508. (~>) (t6989586621680486506 (m6989586621680486507 a6989586621680486508)) (m6989586621680486507 a6989586621680486508)
type MsumSym1 (a6989586621680487100 :: t6989586621680486506 (m6989586621680486507 a6989586621680486508)) = Msum a6989586621680487100
data MfilterSym0 :: forall a6989586621681270958 m6989586621681270957. (~>) ((~>) a6989586621681270958 Bool) ((~>) (m6989586621681270957 a6989586621681270958) (m6989586621681270957 a6989586621681270958))
data MfilterSym1 (a6989586621681271277 :: (~>) a6989586621681270958 Bool) :: forall m6989586621681270957. (~>) (m6989586621681270957 a6989586621681270958) (m6989586621681270957 a6989586621681270958)
type MfilterSym2 (a6989586621681271277 :: (~>) a6989586621681270958 Bool) (a6989586621681271278 :: m6989586621681270957 a6989586621681270958) = Mfilter a6989586621681271277 a6989586621681271278
data FilterMSym0 :: forall a6989586621681270996 m6989586621681270995. (~>) ((~>) a6989586621681270996 (m6989586621681270995 Bool)) ((~>) [a6989586621681270996] (m6989586621681270995 [a6989586621681270996]))
data FilterMSym1 (a6989586621681271443 :: (~>) a6989586621681270996 (m6989586621681270995 Bool)) :: (~>) [a6989586621681270996] (m6989586621681270995 [a6989586621681270996])
type FilterMSym2 (a6989586621681271443 :: (~>) a6989586621681270996 (m6989586621681270995 Bool)) (a6989586621681271444 :: [a6989586621681270996]) = FilterM a6989586621681271443 a6989586621681271444
data MapAndUnzipMSym0 :: forall a6989586621681270984 m6989586621681270983 b6989586621681270985 c6989586621681270986. (~>) ((~>) a6989586621681270984 (m6989586621681270983 (b6989586621681270985, c6989586621681270986))) ((~>) [a6989586621681270984] (m6989586621681270983 ([b6989586621681270985], [c6989586621681270986])))
data MapAndUnzipMSym1 (a6989586621681271403 :: (~>) a6989586621681270984 (m6989586621681270983 (b6989586621681270985, c6989586621681270986))) :: (~>) [a6989586621681270984] (m6989586621681270983 ([b6989586621681270985], [c6989586621681270986]))
type MapAndUnzipMSym2 (a6989586621681271403 :: (~>) a6989586621681270984 (m6989586621681270983 (b6989586621681270985, c6989586621681270986))) (a6989586621681271404 :: [a6989586621681270984]) = MapAndUnzipM a6989586621681271403 a6989586621681271404
data ZipWithMSym0 :: forall a6989586621681270980 b6989586621681270981 m6989586621681270979 c6989586621681270982. (~>) ((~>) a6989586621681270980 ((~>) b6989586621681270981 (m6989586621681270979 c6989586621681270982))) ((~>) [a6989586621681270980] ((~>) [b6989586621681270981] (m6989586621681270979 [c6989586621681270982])))
data ZipWithMSym1 (a6989586621681271394 :: (~>) a6989586621681270980 ((~>) b6989586621681270981 (m6989586621681270979 c6989586621681270982))) :: (~>) [a6989586621681270980] ((~>) [b6989586621681270981] (m6989586621681270979 [c6989586621681270982]))
data ZipWithMSym2 (a6989586621681271394 :: (~>) a6989586621681270980 ((~>) b6989586621681270981 (m6989586621681270979 c6989586621681270982))) (a6989586621681271395 :: [a6989586621681270980]) :: (~>) [b6989586621681270981] (m6989586621681270979 [c6989586621681270982])
type ZipWithMSym3 (a6989586621681271394 :: (~>) a6989586621681270980 ((~>) b6989586621681270981 (m6989586621681270979 c6989586621681270982))) (a6989586621681271395 :: [a6989586621681270980]) (a6989586621681271396 :: [b6989586621681270981]) = ZipWithM a6989586621681271394 a6989586621681271395 a6989586621681271396
data ZipWithM_Sym0 :: forall a6989586621681270976 b6989586621681270977 m6989586621681270975 c6989586621681270978. (~>) ((~>) a6989586621681270976 ((~>) b6989586621681270977 (m6989586621681270975 c6989586621681270978))) ((~>) [a6989586621681270976] ((~>) [b6989586621681270977] (m6989586621681270975 ())))
data ZipWithM_Sym1 (a6989586621681271385 :: (~>) a6989586621681270976 ((~>) b6989586621681270977 (m6989586621681270975 c6989586621681270978))) :: (~>) [a6989586621681270976] ((~>) [b6989586621681270977] (m6989586621681270975 ()))
data ZipWithM_Sym2 (a6989586621681271385 :: (~>) a6989586621681270976 ((~>) b6989586621681270977 (m6989586621681270975 c6989586621681270978))) (a6989586621681271386 :: [a6989586621681270976]) :: (~>) [b6989586621681270977] (m6989586621681270975 ())
type ZipWithM_Sym3 (a6989586621681271385 :: (~>) a6989586621681270976 ((~>) b6989586621681270977 (m6989586621681270975 c6989586621681270978))) (a6989586621681271386 :: [a6989586621681270976]) (a6989586621681271387 :: [b6989586621681270977]) = ZipWithM_ a6989586621681271385 a6989586621681271386 a6989586621681271387
data FoldlMSym0 :: forall b6989586621680486536 a6989586621680486537 m6989586621680486535 t6989586621680486534. (~>) ((~>) b6989586621680486536 ((~>) a6989586621680486537 (m6989586621680486535 b6989586621680486536))) ((~>) b6989586621680486536 ((~>) (t6989586621680486534 a6989586621680486537) (m6989586621680486535 b6989586621680486536)))
data FoldlMSym1 (a6989586621680487154 :: (~>) b6989586621680486536 ((~>) a6989586621680486537 (m6989586621680486535 b6989586621680486536))) :: forall t6989586621680486534. (~>) b6989586621680486536 ((~>) (t6989586621680486534 a6989586621680486537) (m6989586621680486535 b6989586621680486536))
data FoldlMSym2 (a6989586621680487154 :: (~>) b6989586621680486536 ((~>) a6989586621680486537 (m6989586621680486535 b6989586621680486536))) (a6989586621680487155 :: b6989586621680486536) :: forall t6989586621680486534. (~>) (t6989586621680486534 a6989586621680486537) (m6989586621680486535 b6989586621680486536)
type FoldlMSym3 (a6989586621680487154 :: (~>) b6989586621680486536 ((~>) a6989586621680486537 (m6989586621680486535 b6989586621680486536))) (a6989586621680487155 :: b6989586621680486536) (a6989586621680487156 :: t6989586621680486534 a6989586621680486537) = FoldlM a6989586621680487154 a6989586621680487155 a6989586621680487156
data ReplicateMSym0 :: forall m6989586621681270965 a6989586621681270966. (~>) Nat ((~>) (m6989586621681270965 a6989586621681270966) (m6989586621681270965 [a6989586621681270966]))
data ReplicateMSym1 (a6989586621681271342 :: Nat) :: forall m6989586621681270965 a6989586621681270966. (~>) (m6989586621681270965 a6989586621681270966) (m6989586621681270965 [a6989586621681270966])
type ReplicateMSym2 (a6989586621681271342 :: Nat) (a6989586621681271343 :: m6989586621681270965 a6989586621681270966) = ReplicateM a6989586621681271342 a6989586621681271343
data ReplicateM_Sym0 :: forall m6989586621681270963 a6989586621681270964. (~>) Nat ((~>) (m6989586621681270963 a6989586621681270964) (m6989586621681270963 ()))
data ReplicateM_Sym1 (a6989586621681271323 :: Nat) :: forall m6989586621681270963 a6989586621681270964. (~>) (m6989586621681270963 a6989586621681270964) (m6989586621681270963 ())
type ReplicateM_Sym2 (a6989586621681271323 :: Nat) (a6989586621681271324 :: m6989586621681270963 a6989586621681270964) = ReplicateM_ a6989586621681271323 a6989586621681271324
data GuardSym0 :: forall f6989586621679566818. (~>) Bool (f6989586621679566818 ())
type GuardSym1 (a6989586621679566984 :: Bool) = Guard a6989586621679566984
data WhenSym0 :: forall f6989586621679566847. (~>) Bool ((~>) (f6989586621679566847 ()) (f6989586621679566847 ()))
data WhenSym1 (a6989586621679567232 :: Bool) :: forall f6989586621679566847. (~>) (f6989586621679566847 ()) (f6989586621679566847 ())
type WhenSym2 (a6989586621679567232 :: Bool) (a6989586621679567233 :: f6989586621679566847 ()) = When a6989586621679567232 a6989586621679567233
data UnlessSym0 :: forall f6989586621681270962. (~>) Bool ((~>) (f6989586621681270962 ()) (f6989586621681270962 ()))
data UnlessSym1 (a6989586621681271314 :: Bool) :: forall f6989586621681270962. (~>) (f6989586621681270962 ()) (f6989586621681270962 ())
type UnlessSym2 (a6989586621681271314 :: Bool) (a6989586621681271315 :: f6989586621681270962 ()) = Unless a6989586621681271314 a6989586621681271315
data LiftMSym0 :: forall a16989586621679566845 r6989586621679566846 m6989586621679566844. (~>) ((~>) a16989586621679566845 r6989586621679566846) ((~>) (m6989586621679566844 a16989586621679566845) (m6989586621679566844 r6989586621679566846))
data LiftMSym1 (a6989586621679567219 :: (~>) a16989586621679566845 r6989586621679566846) :: forall m6989586621679566844. (~>) (m6989586621679566844 a16989586621679566845) (m6989586621679566844 r6989586621679566846)
type LiftMSym2 (a6989586621679567219 :: (~>) a16989586621679566845 r6989586621679566846) (a6989586621679567220 :: m6989586621679566844 a16989586621679566845) = LiftM a6989586621679567219 a6989586621679567220
data LiftM2Sym0 :: forall a16989586621679566841 a26989586621679566842 r6989586621679566843 m6989586621679566840. (~>) ((~>) a16989586621679566841 ((~>) a26989586621679566842 r6989586621679566843)) ((~>) (m6989586621679566840 a16989586621679566841) ((~>) (m6989586621679566840 a26989586621679566842) (m6989586621679566840 r6989586621679566843)))
data LiftM2Sym1 (a6989586621679567193 :: (~>) a16989586621679566841 ((~>) a26989586621679566842 r6989586621679566843)) :: forall m6989586621679566840. (~>) (m6989586621679566840 a16989586621679566841) ((~>) (m6989586621679566840 a26989586621679566842) (m6989586621679566840 r6989586621679566843))
data LiftM2Sym2 (a6989586621679567193 :: (~>) a16989586621679566841 ((~>) a26989586621679566842 r6989586621679566843)) (a6989586621679567194 :: m6989586621679566840 a16989586621679566841) :: (~>) (m6989586621679566840 a26989586621679566842) (m6989586621679566840 r6989586621679566843)
type LiftM2Sym3 (a6989586621679567193 :: (~>) a16989586621679566841 ((~>) a26989586621679566842 r6989586621679566843)) (a6989586621679567194 :: m6989586621679566840 a16989586621679566841) (a6989586621679567195 :: m6989586621679566840 a26989586621679566842) = LiftM2 a6989586621679567193 a6989586621679567194 a6989586621679567195
data LiftM3Sym0 :: forall a16989586621679566836 a26989586621679566837 a36989586621679566838 r6989586621679566839 m6989586621679566835. (~>) ((~>) a16989586621679566836 ((~>) a26989586621679566837 ((~>) a36989586621679566838 r6989586621679566839))) ((~>) (m6989586621679566835 a16989586621679566836) ((~>) (m6989586621679566835 a26989586621679566837) ((~>) (m6989586621679566835 a36989586621679566838) (m6989586621679566835 r6989586621679566839))))
data LiftM3Sym1 (a6989586621679567151 :: (~>) a16989586621679566836 ((~>) a26989586621679566837 ((~>) a36989586621679566838 r6989586621679566839))) :: forall m6989586621679566835. (~>) (m6989586621679566835 a16989586621679566836) ((~>) (m6989586621679566835 a26989586621679566837) ((~>) (m6989586621679566835 a36989586621679566838) (m6989586621679566835 r6989586621679566839)))
data LiftM3Sym2 (a6989586621679567151 :: (~>) a16989586621679566836 ((~>) a26989586621679566837 ((~>) a36989586621679566838 r6989586621679566839))) (a6989586621679567152 :: m6989586621679566835 a16989586621679566836) :: (~>) (m6989586621679566835 a26989586621679566837) ((~>) (m6989586621679566835 a36989586621679566838) (m6989586621679566835 r6989586621679566839))
data LiftM3Sym3 (a6989586621679567151 :: (~>) a16989586621679566836 ((~>) a26989586621679566837 ((~>) a36989586621679566838 r6989586621679566839))) (a6989586621679567152 :: m6989586621679566835 a16989586621679566836) (a6989586621679567153 :: m6989586621679566835 a26989586621679566837) :: (~>) (m6989586621679566835 a36989586621679566838) (m6989586621679566835 r6989586621679566839)
type LiftM3Sym4 (a6989586621679567151 :: (~>) a16989586621679566836 ((~>) a26989586621679566837 ((~>) a36989586621679566838 r6989586621679566839))) (a6989586621679567152 :: m6989586621679566835 a16989586621679566836) (a6989586621679567153 :: m6989586621679566835 a26989586621679566837) (a6989586621679567154 :: m6989586621679566835 a36989586621679566838) = LiftM3 a6989586621679567151 a6989586621679567152 a6989586621679567153 a6989586621679567154
data LiftM4Sym0 :: forall a16989586621679566830 a26989586621679566831 a36989586621679566832 a46989586621679566833 r6989586621679566834 m6989586621679566829. (~>) ((~>) a16989586621679566830 ((~>) a26989586621679566831 ((~>) a36989586621679566832 ((~>) a46989586621679566833 r6989586621679566834)))) ((~>) (m6989586621679566829 a16989586621679566830) ((~>) (m6989586621679566829 a26989586621679566831) ((~>) (m6989586621679566829 a36989586621679566832) ((~>) (m6989586621679566829 a46989586621679566833) (m6989586621679566829 r6989586621679566834)))))
data LiftM4Sym1 (a6989586621679567090 :: (~>) a16989586621679566830 ((~>) a26989586621679566831 ((~>) a36989586621679566832 ((~>) a46989586621679566833 r6989586621679566834)))) :: forall m6989586621679566829. (~>) (m6989586621679566829 a16989586621679566830) ((~>) (m6989586621679566829 a26989586621679566831) ((~>) (m6989586621679566829 a36989586621679566832) ((~>) (m6989586621679566829 a46989586621679566833) (m6989586621679566829 r6989586621679566834))))
data LiftM4Sym2 (a6989586621679567090 :: (~>) a16989586621679566830 ((~>) a26989586621679566831 ((~>) a36989586621679566832 ((~>) a46989586621679566833 r6989586621679566834)))) (a6989586621679567091 :: m6989586621679566829 a16989586621679566830) :: (~>) (m6989586621679566829 a26989586621679566831) ((~>) (m6989586621679566829 a36989586621679566832) ((~>) (m6989586621679566829 a46989586621679566833) (m6989586621679566829 r6989586621679566834)))
data LiftM4Sym3 (a6989586621679567090 :: (~>) a16989586621679566830 ((~>) a26989586621679566831 ((~>) a36989586621679566832 ((~>) a46989586621679566833 r6989586621679566834)))) (a6989586621679567091 :: m6989586621679566829 a16989586621679566830) (a6989586621679567092 :: m6989586621679566829 a26989586621679566831) :: (~>) (m6989586621679566829 a36989586621679566832) ((~>) (m6989586621679566829 a46989586621679566833) (m6989586621679566829 r6989586621679566834))
data LiftM4Sym4 (a6989586621679567090 :: (~>) a16989586621679566830 ((~>) a26989586621679566831 ((~>) a36989586621679566832 ((~>) a46989586621679566833 r6989586621679566834)))) (a6989586621679567091 :: m6989586621679566829 a16989586621679566830) (a6989586621679567092 :: m6989586621679566829 a26989586621679566831) (a6989586621679567093 :: m6989586621679566829 a36989586621679566832) :: (~>) (m6989586621679566829 a46989586621679566833) (m6989586621679566829 r6989586621679566834)
type LiftM4Sym5 (a6989586621679567090 :: (~>) a16989586621679566830 ((~>) a26989586621679566831 ((~>) a36989586621679566832 ((~>) a46989586621679566833 r6989586621679566834)))) (a6989586621679567091 :: m6989586621679566829 a16989586621679566830) (a6989586621679567092 :: m6989586621679566829 a26989586621679566831) (a6989586621679567093 :: m6989586621679566829 a36989586621679566832) (a6989586621679567094 :: m6989586621679566829 a46989586621679566833) = LiftM4 a6989586621679567090 a6989586621679567091 a6989586621679567092 a6989586621679567093 a6989586621679567094
data LiftM5Sym0 :: forall a16989586621679566823 a26989586621679566824 a36989586621679566825 a46989586621679566826 a56989586621679566827 r6989586621679566828 m6989586621679566822. (~>) ((~>) a16989586621679566823 ((~>) a26989586621679566824 ((~>) a36989586621679566825 ((~>) a46989586621679566826 ((~>) a56989586621679566827 r6989586621679566828))))) ((~>) (m6989586621679566822 a16989586621679566823) ((~>) (m6989586621679566822 a26989586621679566824) ((~>) (m6989586621679566822 a36989586621679566825) ((~>) (m6989586621679566822 a46989586621679566826) ((~>) (m6989586621679566822 a56989586621679566827) (m6989586621679566822 r6989586621679566828))))))
data LiftM5Sym1 (a6989586621679567007 :: (~>) a16989586621679566823 ((~>) a26989586621679566824 ((~>) a36989586621679566825 ((~>) a46989586621679566826 ((~>) a56989586621679566827 r6989586621679566828))))) :: forall m6989586621679566822. (~>) (m6989586621679566822 a16989586621679566823) ((~>) (m6989586621679566822 a26989586621679566824) ((~>) (m6989586621679566822 a36989586621679566825) ((~>) (m6989586621679566822 a46989586621679566826) ((~>) (m6989586621679566822 a56989586621679566827) (m6989586621679566822 r6989586621679566828)))))
data LiftM5Sym2 (a6989586621679567007 :: (~>) a16989586621679566823 ((~>) a26989586621679566824 ((~>) a36989586621679566825 ((~>) a46989586621679566826 ((~>) a56989586621679566827 r6989586621679566828))))) (a6989586621679567008 :: m6989586621679566822 a16989586621679566823) :: (~>) (m6989586621679566822 a26989586621679566824) ((~>) (m6989586621679566822 a36989586621679566825) ((~>) (m6989586621679566822 a46989586621679566826) ((~>) (m6989586621679566822 a56989586621679566827) (m6989586621679566822 r6989586621679566828))))
data LiftM5Sym3 (a6989586621679567007 :: (~>) a16989586621679566823 ((~>) a26989586621679566824 ((~>) a36989586621679566825 ((~>) a46989586621679566826 ((~>) a56989586621679566827 r6989586621679566828))))) (a6989586621679567008 :: m6989586621679566822 a16989586621679566823) (a6989586621679567009 :: m6989586621679566822 a26989586621679566824) :: (~>) (m6989586621679566822 a36989586621679566825) ((~>) (m6989586621679566822 a46989586621679566826) ((~>) (m6989586621679566822 a56989586621679566827) (m6989586621679566822 r6989586621679566828)))
data LiftM5Sym4 (a6989586621679567007 :: (~>) a16989586621679566823 ((~>) a26989586621679566824 ((~>) a36989586621679566825 ((~>) a46989586621679566826 ((~>) a56989586621679566827 r6989586621679566828))))) (a6989586621679567008 :: m6989586621679566822 a16989586621679566823) (a6989586621679567009 :: m6989586621679566822 a26989586621679566824) (a6989586621679567010 :: m6989586621679566822 a36989586621679566825) :: (~>) (m6989586621679566822 a46989586621679566826) ((~>) (m6989586621679566822 a56989586621679566827) (m6989586621679566822 r6989586621679566828))
data LiftM5Sym5 (a6989586621679567007 :: (~>) a16989586621679566823 ((~>) a26989586621679566824 ((~>) a36989586621679566825 ((~>) a46989586621679566826 ((~>) a56989586621679566827 r6989586621679566828))))) (a6989586621679567008 :: m6989586621679566822 a16989586621679566823) (a6989586621679567009 :: m6989586621679566822 a26989586621679566824) (a6989586621679567010 :: m6989586621679566822 a36989586621679566825) (a6989586621679567011 :: m6989586621679566822 a46989586621679566826) :: (~>) (m6989586621679566822 a56989586621679566827) (m6989586621679566822 r6989586621679566828)
type LiftM5Sym6 (a6989586621679567007 :: (~>) a16989586621679566823 ((~>) a26989586621679566824 ((~>) a36989586621679566825 ((~>) a46989586621679566826 ((~>) a56989586621679566827 r6989586621679566828))))) (a6989586621679567008 :: m6989586621679566822 a16989586621679566823) (a6989586621679567009 :: m6989586621679566822 a26989586621679566824) (a6989586621679567010 :: m6989586621679566822 a36989586621679566825) (a6989586621679567011 :: m6989586621679566822 a46989586621679566826) (a6989586621679567012 :: m6989586621679566822 a56989586621679566827) = LiftM5 a6989586621679567007 a6989586621679567008 a6989586621679567009 a6989586621679567010 a6989586621679567011 a6989586621679567012
data ApSym0 :: forall m6989586621679566819 a6989586621679566820 b6989586621679566821. (~>) (m6989586621679566819 ((~>) a6989586621679566820 b6989586621679566821)) ((~>) (m6989586621679566819 a6989586621679566820) (m6989586621679566819 b6989586621679566821))
data ApSym1 (a6989586621679566986 :: m6989586621679566819 ((~>) a6989586621679566820 b6989586621679566821)) :: (~>) (m6989586621679566819 a6989586621679566820) (m6989586621679566819 b6989586621679566821)
type ApSym2 (a6989586621679566986 :: m6989586621679566819 ((~>) a6989586621679566820 b6989586621679566821)) (a6989586621679566987 :: m6989586621679566819 a6989586621679566820) = Ap a6989586621679566986 a6989586621679566987
data (<$!>@#@$) :: forall a6989586621681270960 b6989586621681270961 m6989586621681270959. (~>) ((~>) a6989586621681270960 b6989586621681270961) ((~>) (m6989586621681270959 a6989586621681270960) (m6989586621681270959 b6989586621681270961))
infixl 4 <$!>@#@$
data (<$!>@#@$$) (a6989586621681271297 :: (~>) a6989586621681270960 b6989586621681270961) :: forall m6989586621681270959. (~>) (m6989586621681270959 a6989586621681270960) (m6989586621681270959 b6989586621681270961)
infixl 4 <$!>@#@$$
type (<$!>@#@$$$) (a6989586621681271297 :: (~>) a6989586621681270960 b6989586621681270961) (a6989586621681271298 :: m6989586621681270959 a6989586621681270960) = (<$!>) a6989586621681271297 a6989586621681271298
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.TFHelper_6989586621681271493Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Ord.Down
instance forall a6989586621679566926 b6989586621679566927 (a6989586621681271491 :: Data.Ord.Down a6989586621679566926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.TFHelper_6989586621681271493Sym1 a6989586621681271491)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.TFHelper_6989586621681271471Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad ((,) a)
instance forall a6989586621681271044 a6989586621679566926 b6989586621679566927 (a6989586621681271469 :: (a6989586621681271044, a6989586621679566926)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.TFHelper_6989586621681271471Sym1 a6989586621681271469)
instance Data.Singletons.Prelude.Monoid.SMonoid a => Data.Singletons.Prelude.Monad.Internal.SMonad ((,) a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681271480Scrutinee_6989586621681271058Sym0
instance forall k1 k2 k3 (u6989586621681271477 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271480Scrutinee_6989586621681271058Sym1 u6989586621681271477)
instance forall k1 k2 k3 (a6989586621681271478 :: k1) (u6989586621681271477 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271480Scrutinee_6989586621681271058Sym2 a6989586621681271478 u6989586621681271477)
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 a6989586621681270996 (m6989586621681270995 :: * -> *) (a6989586621681271443 :: a6989586621681270996 Data.Singletons.Internal.~> m6989586621681270995 GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FilterMSym1 a6989586621681271443)
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 b6989586621681270988 (m6989586621681270987 :: * -> *) c6989586621681270989 a6989586621681270990 (a6989586621681271415 :: b6989586621681270988 Data.Singletons.Internal.~> m6989586621681270987 c6989586621681270989). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Monad.<=<@#@$$) a6989586621681271415)
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 b6989586621681270988 (m6989586621681270987 :: * -> *) c6989586621681270989 a6989586621681270990 (a6989586621681271416 :: b6989586621681270988 Data.Singletons.Internal.~> m6989586621681270987 c6989586621681270989) (a6989586621681271415 :: a6989586621681270990 Data.Singletons.Internal.~> m6989586621681270987 b6989586621681270988). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (a6989586621681271416 Data.Singletons.Prelude.Monad.<=<@#@$$$ a6989586621681271415)
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 a6989586621681270992 (m6989586621681270991 :: * -> *) b6989586621681270993 c6989586621681270994 (a6989586621681271424 :: a6989586621681270992 Data.Singletons.Internal.~> m6989586621681270991 b6989586621681270993). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Monad.>=>@#@$$) a6989586621681271424)
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 a6989586621681270992 (m6989586621681270991 :: * -> *) b6989586621681270993 c6989586621681270994 (a6989586621681271425 :: a6989586621681270992 Data.Singletons.Internal.~> m6989586621681270991 b6989586621681270993) (a6989586621681271424 :: b6989586621681270993 Data.Singletons.Internal.~> m6989586621681270991 c6989586621681270994). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (a6989586621681271425 Data.Singletons.Prelude.Monad.>=>@#@$$$ a6989586621681271424)
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 a6989586621681270984 (m6989586621681270983 :: * -> *) b6989586621681270985 c6989586621681270986 (a6989586621681271403 :: a6989586621681270984 Data.Singletons.Internal.~> m6989586621681270983 (b6989586621681270985, c6989586621681270986)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.MapAndUnzipMSym1 a6989586621681271403)
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 a6989586621681270980 b6989586621681270981 (m6989586621681270979 :: * -> *) c6989586621681270982 (a6989586621681271394 :: a6989586621681270980 Data.Singletons.Internal.~> (b6989586621681270981 Data.Singletons.Internal.~> m6989586621681270979 c6989586621681270982)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithMSym1 a6989586621681271394)
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 a6989586621681270980 b6989586621681270981 (m6989586621681270979 :: * -> *) c6989586621681270982 (a6989586621681271395 :: a6989586621681270980 Data.Singletons.Internal.~> (b6989586621681270981 Data.Singletons.Internal.~> m6989586621681270979 c6989586621681270982)) (a6989586621681271394 :: [a6989586621681270980]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithMSym2 a6989586621681271395 a6989586621681271394)
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 a6989586621681270976 b6989586621681270977 (m6989586621681270975 :: * -> *) c6989586621681270978 (a6989586621681271385 :: a6989586621681270976 Data.Singletons.Internal.~> (b6989586621681270977 Data.Singletons.Internal.~> m6989586621681270975 c6989586621681270978)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithM_Sym1 a6989586621681271385)
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 a6989586621681270976 b6989586621681270977 (m6989586621681270975 :: * -> *) c6989586621681270978 (a6989586621681271386 :: a6989586621681270976 Data.Singletons.Internal.~> (b6989586621681270977 Data.Singletons.Internal.~> m6989586621681270975 c6989586621681270978)) (a6989586621681271385 :: [a6989586621681270976]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithM_Sym2 a6989586621681271386 a6989586621681271385)
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 b6989586621681270973 a6989586621681270974 (m6989586621681270972 :: * -> *) (t6989586621681270971 :: * -> *) (a6989586621681271376 :: b6989586621681270973 Data.Singletons.Internal.~> (a6989586621681270974 Data.Singletons.Internal.~> m6989586621681270972 b6989586621681270973)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldMSym1 a6989586621681271376)
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 b6989586621681270973 a6989586621681270974 (m6989586621681270972 :: * -> *) (t6989586621681270971 :: * -> *) (a6989586621681271377 :: b6989586621681270973 Data.Singletons.Internal.~> (a6989586621681270974 Data.Singletons.Internal.~> m6989586621681270972 b6989586621681270973)) (a6989586621681271376 :: b6989586621681270973). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldMSym2 a6989586621681271377 a6989586621681271376)
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 b6989586621681270969 a6989586621681270970 (m6989586621681270968 :: * -> *) (t6989586621681270967 :: * -> *) (a6989586621681271361 :: b6989586621681270969 Data.Singletons.Internal.~> (a6989586621681270970 Data.Singletons.Internal.~> m6989586621681270968 b6989586621681270969)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldM_Sym1 a6989586621681271361)
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 b6989586621681270969 a6989586621681270970 (m6989586621681270968 :: * -> *) (t6989586621681270967 :: * -> *) (a6989586621681271362 :: b6989586621681270969 Data.Singletons.Internal.~> (a6989586621681270970 Data.Singletons.Internal.~> m6989586621681270968 b6989586621681270969)) (a6989586621681271361 :: b6989586621681270969). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldM_Sym2 a6989586621681271362 a6989586621681271361)
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 a6989586621681271342)
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 a6989586621681271323)
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 a6989586621681271314)
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 a6989586621681270960 b6989586621681270961 (m6989586621681270959 :: * -> *) (a6989586621681271297 :: a6989586621681270960 Data.Singletons.Internal.~> b6989586621681270961). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Monad.<$!>@#@$$) a6989586621681271297)
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 a6989586621681270958 (m6989586621681270957 :: * -> *) (a6989586621681271277 :: a6989586621681270958 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.MfilterSym1 a6989586621681271277)
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_6989586621681271451Sym0
instance forall k2 (f6989586621679566901 :: * -> *) k3 (p6989586621681271449 :: k2 Data.Singletons.Internal.~> f6989586621679566901 GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271451Sym1 p6989586621681271449)
instance forall k2 (f6989586621679566901 :: * -> *) k3 (a_69895866216812714476989586621681271450 :: k2 Data.Singletons.Internal.~> f6989586621679566901 GHC.Types.Bool) (p6989586621681271449 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271451Sym2 a_69895866216812714476989586621681271450 p6989586621681271449)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681271454Sym0
instance forall k1 k2 k3 (x6989586621681271453 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271454Sym1 x6989586621681271453)
instance forall k1 k2 k3 (p6989586621681271449 :: k1) (x6989586621681271453 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271454Sym2 p6989586621681271449 x6989586621681271453)
instance forall k1 k2 k3 (a_69895866216812714476989586621681271450 :: k1) (p6989586621681271449 :: k2) (x6989586621681271453 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271454Sym3 a_69895866216812714476989586621681271450 p6989586621681271449 x6989586621681271453)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681271435Sym0
instance forall k1 (m6989586621679566925 :: * -> *) a6989586621679566926 b6989586621679566927 k (f6989586621681271432 :: k1 Data.Singletons.Internal.~> m6989586621679566925 a6989586621679566926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271435Sym1 f6989586621681271432)
instance forall k1 (m6989586621679566925 :: * -> *) a6989586621679566926 b6989586621679566927 k (g6989586621681271433 :: k1 Data.Singletons.Internal.~> m6989586621679566925 a6989586621679566926) (f6989586621681271432 :: a6989586621679566926 Data.Singletons.Internal.~> m6989586621679566925 b6989586621679566927). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271435Sym2 g6989586621681271433 f6989586621681271432)
instance forall k1 (m6989586621679566925 :: * -> *) a6989586621679566926 b6989586621679566927 k (a_69895866216812714306989586621681271434 :: k1 Data.Singletons.Internal.~> m6989586621679566925 a6989586621679566926) (g6989586621681271433 :: a6989586621679566926 Data.Singletons.Internal.~> m6989586621679566925 b6989586621679566927) (f6989586621681271432 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271435Sym3 a_69895866216812714306989586621681271434 g6989586621681271433 f6989586621681271432)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681271348LoopSym0
instance forall k (m :: * -> *) a (m6989586621681270965 :: * -> *) a6989586621681270966 (cnt06989586621681271346 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271348LoopSym1 cnt06989586621681271346)
instance forall k (m :: * -> *) a (m6989586621681270965 :: * -> *) a6989586621681270966 (f6989586621681271347 :: k) (cnt06989586621681271346 :: m a). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271348LoopSym2 f6989586621681271347 cnt06989586621681271346)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681271329LoopSym0
instance forall k (m :: * -> *) a6989586621679566908 (m6989586621681270963 :: * -> *) (cnt06989586621681271327 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271329LoopSym1 cnt06989586621681271327)
instance forall k (m :: * -> *) a6989586621679566908 (m6989586621681270963 :: * -> *) (f6989586621681271328 :: k) (cnt06989586621681271327 :: m a6989586621679566908). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271329LoopSym2 f6989586621681271328 cnt06989586621681271327)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681271303Sym0
instance forall k2 k3 k (m6989586621679566925 :: * -> *) (f6989586621681271301 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271303Sym1 f6989586621681271301)
instance forall k2 k3 k (m6989586621679566925 :: * -> *) (m6989586621681271302 :: k2 Data.Singletons.Internal.~> k3) (f6989586621681271301 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271303Sym2 m6989586621681271302 f6989586621681271301)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681271306ZSym0
instance forall k1 k2 k3 (x6989586621681271305 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271306ZSym1 x6989586621681271305)
instance forall k1 k2 k3 (f6989586621681271301 :: k1) (x6989586621681271305 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271306ZSym2 f6989586621681271301 x6989586621681271305)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681271283Sym0
instance forall k1 k (m6989586621679566925 :: * -> *) (p6989586621681271281 :: k1 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271283Sym1 p6989586621681271281)
instance forall k1 k (m6989586621679566925 :: * -> *) (ma6989586621681271282 :: k1 Data.Singletons.Internal.~> GHC.Types.Bool) (p6989586621681271281 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681271283Sym2 ma6989586621681271282 p6989586621681271281)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681271286Scrutinee_6989586621681271056Sym0
instance forall k1 k2 k3 (a6989586621681271285 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271286Scrutinee_6989586621681271056Sym1 a6989586621681271285)
instance forall k1 k2 k3 (p6989586621681271281 :: k1) (a6989586621681271285 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681271286Scrutinee_6989586621681271056Sym2 p6989586621681271281 a6989586621681271285)
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 (k6989586621679014713 :: Type) = Demote k6989586621679014713
data SameKindSym0 a6989586621679014719
data SameKindSym1 (a6989586621679014719 :: k6989586621679014718) b6989586621679014720
type SameKindSym2 (a6989586621679014719 :: k6989586621679014718) (b6989586621679014720 :: k6989586621679014718) = SameKind a6989586621679014719 b6989586621679014720
data KindOfSym0 a6989586621679014722
type KindOfSym1 (a6989586621679014722 :: k6989586621679014721) = KindOf a6989586621679014722
data (~>@#@$) a6989586621679012792
infixr 0 ~>@#@$
data (~>@#@$$) (a6989586621679012792 :: Type) b6989586621679012793
infixr 0 ~>@#@$$
type (~>@#@$$$) (a6989586621679012792 :: Type) (b6989586621679012793 :: Type) = (~>) a6989586621679012792 b6989586621679012793
data ApplySym0 :: forall k16989586621679012788 k26989586621679012789. (~>) ((~>) k16989586621679012788 k26989586621679012789) ((~>) k16989586621679012788 k26989586621679012789)
data ApplySym1 (f6989586621679012790 :: (~>) k16989586621679012788 k26989586621679012789) :: (~>) k16989586621679012788 k26989586621679012789
type ApplySym2 (f6989586621679012790 :: (~>) k16989586621679012788 k26989586621679012789) (x6989586621679012791 :: k16989586621679012788) = Apply f6989586621679012790 x6989586621679012791
data (@@@#@$) a6989586621679012786
infixl 9 @@@#@$
data (@@@#@$$) (a6989586621679012786 :: (~>) k16989586621679019899 k6989586621679019898) b6989586621679012787
infixl 9 @@@#@$$
type (@@@#@$$$) (a6989586621679012786 :: (~>) k16989586621679019899 k6989586621679019898) (b6989586621679012787 :: k16989586621679019899) = (@@) a6989586621679012786 b6989586621679012787
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.@@@#@$)
instance forall k16989586621679019899 k6989586621679019898 (a6989586621679012786 :: k16989586621679019899 Data.Singletons.Internal.~> k6989586621679019898). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.@@@#@$$) a6989586621679012786)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.ApplySym0
instance forall k16989586621679012788 k26989586621679012789 (f6989586621679012790 :: k16989586621679012788 Data.Singletons.Internal.~> k26989586621679012789). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.ApplySym1 f6989586621679012790)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.~>@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.~>@#@$$) a6989586621679012792)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.KindOfSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.SameKindSym0
instance forall k6989586621679014718 (a6989586621679014719 :: k6989586621679014718). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.SameKindSym1 a6989586621679014719)
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_a1gmg :: a_11) (n_a1gmh :: b_12). () => Sing (n_a1gmg :: a_11) -> Sing (n_a1gmh :: b_12) -> STuple2 '(n_a1gmg, n_a1gmh)
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_a1gmN :: a_11) (n_a1gmO :: b_12) (n_a1gmP :: c_13). () => Sing (n_a1gmN :: a_11) -> Sing (n_a1gmO :: b_12) -> Sing (n_a1gmP :: c_13) -> STuple3 '(n_a1gmN, n_a1gmO, n_a1gmP)
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_a1gnA :: a_11) (n_a1gnB :: b_12) (n_a1gnC :: c_13) (n_a1gnD :: d_14). () => Sing (n_a1gnA :: a_11) -> Sing (n_a1gnB :: b_12) -> Sing (n_a1gnC :: c_13) -> Sing (n_a1gnD :: d_14) -> STuple4 '(n_a1gnA, n_a1gnB, n_a1gnC, n_a1gnD)
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_a1goF :: a_11) (n_a1goG :: b_12) (n_a1goH :: c_13) (n_a1goI :: d_14) (n_a1goJ :: e_15). () => Sing (n_a1goF :: a_11) -> Sing (n_a1goG :: b_12) -> Sing (n_a1goH :: c_13) -> Sing (n_a1goI :: d_14) -> Sing (n_a1goJ :: e_15) -> STuple5 '(n_a1goF, n_a1goG, n_a1goH, n_a1goI, n_a1goJ)
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_a1gq4 :: a_11) (n_a1gq5 :: b_12) (n_a1gq6 :: c_13) (n_a1gq7 :: d_14) (n_a1gq8 :: e_15) (n_a1gq9 :: f_16). () => Sing (n_a1gq4 :: a_11) -> Sing (n_a1gq5 :: b_12) -> Sing (n_a1gq6 :: c_13) -> Sing (n_a1gq7 :: d_14) -> Sing (n_a1gq8 :: e_15) -> Sing (n_a1gq9 :: f_16) -> STuple6 '(n_a1gq4, n_a1gq5, n_a1gq6, n_a1gq7, n_a1gq8, n_a1gq9)
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_a1grP :: a_11) (n_a1grQ :: b_12) (n_a1grR :: c_13) (n_a1grS :: d_14) (n_a1grT :: e_15) (n_a1grU :: f_16) (n_a1grV :: g_17). () => Sing (n_a1grP :: a_11) -> Sing (n_a1grQ :: b_12) -> Sing (n_a1grR :: c_13) -> Sing (n_a1grS :: d_14) -> Sing (n_a1grT :: e_15) -> Sing (n_a1grU :: f_16) -> Sing (n_a1grV :: g_17) -> STuple7 '(n_a1grP, n_a1grQ, n_a1grR, n_a1grS, n_a1grT, n_a1grU, n_a1grV)
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_a1APt :: Type) where {
    type family Compare (arg_a1AQU :: a_a1APt) (arg_a1AQV :: a_a1APt) :: Ordering;
    type family (<) (arg_a1AQY :: a_a1APt) (arg_a1AQZ :: a_a1APt) :: Bool;
    type family (<=) (arg_a1AR2 :: a_a1APt) (arg_a1AR3 :: a_a1APt) :: Bool;
    type family (>) (arg_a1AR6 :: a_a1APt) (arg_a1AR7 :: a_a1APt) :: Bool;
    type family (>=) (arg_a1ARa :: a_a1APt) (arg_a1ARb :: a_a1APt) :: Bool;
    type family Max (arg_a1ARe :: a_a1APt) (arg_a1ARf :: a_a1APt) :: a_a1APt;
    type family Min (arg_a1ARi :: a_a1APt) (arg_a1ARj :: a_a1APt) :: a_a1APt;
    type Compare a_a1ARm a_a1ARn = Apply (Apply Compare_6989586621679389814Sym0 a_a1ARm) a_a1ARn;
    type (<) a_a1ARK a_a1ARL = Apply (Apply TFHelper_6989586621679389838Sym0 a_a1ARK) a_a1ARL;
    type (<=) a_a1AS2 a_a1AS3 = Apply (Apply TFHelper_6989586621679389856Sym0 a_a1AS2) a_a1AS3;
    type (>) a_a1ASk a_a1ASl = Apply (Apply TFHelper_6989586621679389874Sym0 a_a1ASk) a_a1ASl;
    type (>=) a_a1ASC a_a1ASD = Apply (Apply TFHelper_6989586621679389892Sym0 a_a1ASC) a_a1ASD;
    type Max a_a1ASU a_a1ASV = Apply (Apply Max_6989586621679389910Sym0 a_a1ASU) a_a1ASV;
    type Min a_a1ATc a_a1ATd = Apply (Apply Min_6989586621679389928Sym0 a_a1ATc) a_a1ATd;
}
infix 4 >=
infix 4 <
infix 4 <=
infix 4 >
class SEq a_a1APt => SOrd a_a1APt
sCompare :: forall (t_a1ATD :: a_a1APt) (t_a1ATE :: a_a1APt). SOrd a_a1APt => Sing t_a1ATD -> Sing t_a1ATE -> Sing (Apply (Apply CompareSym0 t_a1ATD) t_a1ATE :: Ordering)
(%<) :: forall (t_a1ATH :: a_a1APt) (t_a1ATI :: a_a1APt). SOrd a_a1APt => Sing t_a1ATH -> Sing t_a1ATI -> Sing (Apply (Apply (<@#@$) t_a1ATH) t_a1ATI :: Bool)
(%<=) :: forall (t_a1ATL :: a_a1APt) (t_a1ATM :: a_a1APt). SOrd a_a1APt => Sing t_a1ATL -> Sing t_a1ATM -> Sing (Apply (Apply (<=@#@$) t_a1ATL) t_a1ATM :: Bool)
(%>) :: forall (t_a1ATP :: a_a1APt) (t_a1ATQ :: a_a1APt). SOrd a_a1APt => Sing t_a1ATP -> Sing t_a1ATQ -> Sing (Apply (Apply (>@#@$) t_a1ATP) t_a1ATQ :: Bool)
(%>=) :: forall (t_a1ATT :: a_a1APt) (t_a1ATU :: a_a1APt). SOrd a_a1APt => Sing t_a1ATT -> Sing t_a1ATU -> Sing (Apply (Apply (>=@#@$) t_a1ATT) t_a1ATU :: Bool)
sMax :: forall (t_a1ATX :: a_a1APt) (t_a1ATY :: a_a1APt). SOrd a_a1APt => Sing t_a1ATX -> Sing t_a1ATY -> Sing (Apply (Apply MaxSym0 t_a1ATX) t_a1ATY :: a_a1APt)
sMin :: forall (t_a1AU1 :: a_a1APt) (t_a1AU2 :: a_a1APt). SOrd a_a1APt => Sing t_a1AU1 -> Sing t_a1AU2 -> Sing (Apply (Apply MinSym0 t_a1AU1) t_a1AU2 :: a_a1APt)
sCompare :: forall (t_a1ATD :: a_a1APt) (t_a1ATE :: a_a1APt). (SOrd a_a1APt, (Apply (Apply CompareSym0 t_a1ATD) t_a1ATE :: Ordering) ~ Apply (Apply Compare_6989586621679389814Sym0 t_a1ATD) t_a1ATE) => Sing t_a1ATD -> Sing t_a1ATE -> Sing (Apply (Apply CompareSym0 t_a1ATD) t_a1ATE :: Ordering)
(%<) :: forall (t_a1ATH :: a_a1APt) (t_a1ATI :: a_a1APt). (SOrd a_a1APt, (Apply (Apply (<@#@$) t_a1ATH) t_a1ATI :: Bool) ~ Apply (Apply TFHelper_6989586621679389838Sym0 t_a1ATH) t_a1ATI) => Sing t_a1ATH -> Sing t_a1ATI -> Sing (Apply (Apply (<@#@$) t_a1ATH) t_a1ATI :: Bool)
(%<=) :: forall (t_a1ATL :: a_a1APt) (t_a1ATM :: a_a1APt). (SOrd a_a1APt, (Apply (Apply (<=@#@$) t_a1ATL) t_a1ATM :: Bool) ~ Apply (Apply TFHelper_6989586621679389856Sym0 t_a1ATL) t_a1ATM) => Sing t_a1ATL -> Sing t_a1ATM -> Sing (Apply (Apply (<=@#@$) t_a1ATL) t_a1ATM :: Bool)
(%>) :: forall (t_a1ATP :: a_a1APt) (t_a1ATQ :: a_a1APt). (SOrd a_a1APt, (Apply (Apply (>@#@$) t_a1ATP) t_a1ATQ :: Bool) ~ Apply (Apply TFHelper_6989586621679389874Sym0 t_a1ATP) t_a1ATQ) => Sing t_a1ATP -> Sing t_a1ATQ -> Sing (Apply (Apply (>@#@$) t_a1ATP) t_a1ATQ :: Bool)
(%>=) :: forall (t_a1ATT :: a_a1APt) (t_a1ATU :: a_a1APt). (SOrd a_a1APt, (Apply (Apply (>=@#@$) t_a1ATT) t_a1ATU :: Bool) ~ Apply (Apply TFHelper_6989586621679389892Sym0 t_a1ATT) t_a1ATU) => Sing t_a1ATT -> Sing t_a1ATU -> Sing (Apply (Apply (>=@#@$) t_a1ATT) t_a1ATU :: Bool)
sMax :: forall (t_a1ATX :: a_a1APt) (t_a1ATY :: a_a1APt). (SOrd a_a1APt, (Apply (Apply MaxSym0 t_a1ATX) t_a1ATY :: a_a1APt) ~ Apply (Apply Max_6989586621679389910Sym0 t_a1ATX) t_a1ATY) => Sing t_a1ATX -> Sing t_a1ATY -> Sing (Apply (Apply MaxSym0 t_a1ATX) t_a1ATY :: a_a1APt)
sMin :: forall (t_a1AU1 :: a_a1APt) (t_a1AU2 :: a_a1APt). (SOrd a_a1APt, (Apply (Apply MinSym0 t_a1AU1) t_a1AU2 :: a_a1APt) ~ Apply (Apply Min_6989586621679389928Sym0 t_a1AU1) t_a1AU2) => Sing t_a1AU1 -> Sing t_a1AU2 -> Sing (Apply (Apply MinSym0 t_a1AU1) t_a1AU2 :: a_a1APt)
infix 4 %<=
infix 4 %>=
infix 4 %>
infix 4 %<
type family ThenCmp (a_a1DxK :: Ordering) (a_a1DxL :: Ordering) :: Ordering
sThenCmp :: forall (t_a1DxP :: Ordering) (t_a1DxQ :: Ordering). Sing t_a1DxP -> Sing t_a1DxQ -> Sing (Apply (Apply ThenCmpSym0 t_a1DxP) t_a1DxQ :: 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_a38Wv :: Type) where {
    type family MinBound :: a_a38Wv;
    type family MaxBound :: a_a38Wv;
}
class SBounded a_a38Wv
sMinBound :: SBounded a_a38Wv => Sing (MinBoundSym0 :: a_a38Wv)
sMaxBound :: SBounded a_a38Wv => Sing (MaxBoundSym0 :: a_a38Wv)
class PEnum (a_a39Yk :: Type) where {
    type family ToEnum (arg_a3a2Y :: Nat) :: a_a39Yk;
    type family FromEnum (arg_a3a30 :: a_a39Yk) :: Nat;
    type Succ a_a3a3c = Apply Succ_6989586621679763415Sym0 a_a3a3c;
    type Pred a_a3a3r = Apply Pred_6989586621679763430Sym0 a_a3a3r;
    type EnumFromTo a_a3a3A a_a3a3B = Apply (Apply EnumFromTo_6989586621679763440Sym0 a_a3a3A) a_a3a3B;
    type EnumFromThenTo a_a3a3M a_a3a3N a_a3a3O = Apply (Apply (Apply EnumFromThenTo_6989586621679763453Sym0 a_a3a3M) a_a3a3N) a_a3a3O;
}
class SEnum a_a39Yk
sToEnum :: forall (t_a3a5W :: Nat). SEnum a_a39Yk => Sing t_a3a5W -> Sing (Apply ToEnumSym0 t_a3a5W :: a_a39Yk)
sFromEnum :: forall (t_a3a5Y :: a_a39Yk). SEnum a_a39Yk => Sing t_a3a5Y -> Sing (Apply FromEnumSym0 t_a3a5Y :: Nat)
class PShow (a_a5ndM :: Type) where {
    type family ShowsPrec (arg_a5nkQ :: Nat) (arg_a5nkR :: a_a5ndM) (arg_a5nkS :: Symbol) :: Symbol;
    type family Show_ (arg_a5nkW :: a_a5ndM) :: Symbol;
    type family ShowList (arg_a5nkY :: [a_a5ndM]) (arg_a5nkZ :: Symbol) :: Symbol;
    type ShowsPrec a_a5nl2 a_a5nl3 a_a5nl4 = Apply (Apply (Apply ShowsPrec_6989586621680291151Sym0 a_a5nl2) a_a5nl3) a_a5nl4;
    type Show_ a_a5nli = Apply Show__6989586621680291165Sym0 a_a5nli;
    type ShowList a_a5nlp a_a5nlq = Apply (Apply ShowList_6989586621680291173Sym0 a_a5nlp) a_a5nlq;
}
class SShow a_a5ndM
sShowsPrec :: forall (t_a5noZ :: Nat) (t_a5np0 :: a_a5ndM) (t_a5np1 :: Symbol). SShow a_a5ndM => Sing t_a5noZ -> Sing t_a5np0 -> Sing t_a5np1 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5noZ) t_a5np0) t_a5np1 :: Symbol)
sShow_ :: forall (t_a5np5 :: a_a5ndM). SShow a_a5ndM => Sing t_a5np5 -> Sing (Apply Show_Sym0 t_a5np5 :: Symbol)
sShowList :: forall (t_a5np7 :: [a_a5ndM]) (t_a5np8 :: Symbol). SShow a_a5ndM => Sing t_a5np7 -> Sing t_a5np8 -> Sing (Apply (Apply ShowListSym0 t_a5np7) t_a5np8 :: Symbol)
sShowsPrec :: forall (t_a5noZ :: Nat) (t_a5np0 :: a_a5ndM) (t_a5np1 :: Symbol). (SShow a_a5ndM, (Apply (Apply (Apply ShowsPrecSym0 t_a5noZ) t_a5np0) t_a5np1 :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621680291151Sym0 t_a5noZ) t_a5np0) t_a5np1) => Sing t_a5noZ -> Sing t_a5np0 -> Sing t_a5np1 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5noZ) t_a5np0) t_a5np1 :: Symbol)
sShow_ :: forall (t_a5np5 :: a_a5ndM). (SShow a_a5ndM, (Apply Show_Sym0 t_a5np5 :: Symbol) ~ Apply Show__6989586621680291165Sym0 t_a5np5) => Sing t_a5np5 -> Sing (Apply Show_Sym0 t_a5np5 :: Symbol)
sShowList :: forall (t_a5np7 :: [a_a5ndM]) (t_a5np8 :: Symbol). (SShow a_a5ndM, (Apply (Apply ShowListSym0 t_a5np7) t_a5np8 :: Symbol) ~ Apply (Apply ShowList_6989586621680291173Sym0 t_a5np7) t_a5np8) => Sing t_a5np7 -> Sing t_a5np8 -> Sing (Apply (Apply ShowListSym0 t_a5np7) t_a5np8 :: Symbol)
type family ShowString (a_a5nk8 :: Symbol) (a_a5nk9 :: Symbol) :: Symbol
sShowString :: forall (t_a5nom :: Symbol) (t_a5non :: Symbol). Sing t_a5nom -> Sing t_a5non -> Sing (Apply (Apply ShowStringSym0 t_a5nom) t_a5non :: Symbol)
type family ShowParen (a_a5njQ :: Bool) (a_a5njR :: (~>) Symbol Symbol) (a_a5njS :: Symbol) :: Symbol
sShowParen :: forall (t_a5nog :: Bool) (t_a5noh :: (~>) Symbol Symbol) (t_a5noi :: Symbol). Sing t_a5nog -> Sing t_a5noh -> Sing t_a5noi -> Sing (Apply (Apply (Apply ShowParenSym0 t_a5nog) t_a5noh) t_a5noi :: Symbol)
type family ShowSpace (a_a5njH :: Symbol) :: Symbol
sShowSpace :: forall (t_a5noe :: Symbol). Sing t_a5noe -> Sing (Apply ShowSpaceSym0 t_a5noe :: Symbol)
type family ShowChar (a_a5nki :: Symbol) (a_a5nkj :: Symbol) :: Symbol
sShowChar :: forall (t_a5noq :: Symbol) (t_a5nor :: Symbol). Sing t_a5noq -> Sing t_a5nor -> Sing (Apply (Apply ShowCharSym0 t_a5noq) t_a5nor :: Symbol)
type family ShowCommaSpace (a_a5njC :: Symbol) :: Symbol
sShowCommaSpace :: forall (t_a5noc :: Symbol). Sing t_a5noc -> Sing (Apply ShowCommaSpaceSym0 t_a5noc :: Symbol)
class PFunctor (f_a2kVy :: Type -> Type) where {
    type family Fmap (arg_a2l1S :: (~>) a_a2kVz b_a2kVA) (arg_a2l1T :: f_a2kVy a_a2kVz) :: f_a2kVy b_a2kVA;
    type family (<$) (arg_a2l1W :: a_a2kVB) (arg_a2l1X :: f_a2kVy b_a2kVC) :: f_a2kVy a_a2kVB;
    type (<$) a_a2l20 a_a2l21 = Apply (Apply TFHelper_6989586621679567298Sym0 a_a2l20) a_a2l21;
}
infixl 4 <$
class SFunctor (f_a2kVy :: Type -> Type)
sFmap :: forall a_a2kVz b_a2kVA (t_a2l6a :: (~>) a_a2kVz b_a2kVA) (t_a2l6b :: f_a2kVy a_a2kVz). SFunctor f_a2kVy => Sing t_a2l6a -> Sing t_a2l6b -> Sing (Apply (Apply FmapSym0 t_a2l6a) t_a2l6b :: f_a2kVy b_a2kVA)
(%<$) :: forall a_a2kVB b_a2kVC (t_a2l6e :: a_a2kVB) (t_a2l6f :: f_a2kVy b_a2kVC). SFunctor f_a2kVy => Sing t_a2l6e -> Sing t_a2l6f -> Sing (Apply (Apply (<$@#@$) t_a2l6e) t_a2l6f :: f_a2kVy a_a2kVB)
(%<$) :: forall a_a2kVB b_a2kVC (t_a2l6e :: a_a2kVB) (t_a2l6f :: f_a2kVy b_a2kVC). (SFunctor f_a2kVy, (Apply (Apply (<$@#@$) t_a2l6e) t_a2l6f :: f_a2kVy a_a2kVB) ~ Apply (Apply TFHelper_6989586621679567298Sym0 t_a2l6e) t_a2l6f) => Sing t_a2l6e -> Sing t_a2l6f -> Sing (Apply (Apply (<$@#@$) t_a2l6e) t_a2l6f :: f_a2kVy a_a2kVB)
infixl 4 %<$
class PFoldable (t_a6cb9 :: Type -> Type) where {
    type family Fold (arg_a6cl8 :: t_a6cb9 m_a6cba) :: m_a6cba;
    type family FoldMap (arg_a6cla :: (~>) a_a6cbc m_a6cbb) (arg_a6clb :: t_a6cb9 a_a6cbc) :: m_a6cbb;
    type family Foldr (arg_a6cle :: (~>) a_a6cbd ((~>) b_a6cbe b_a6cbe)) (arg_a6clf :: b_a6cbe) (arg_a6clg :: t_a6cb9 a_a6cbd) :: b_a6cbe;
    type family Foldr' (arg_a6clk :: (~>) a_a6cbf ((~>) b_a6cbg b_a6cbg)) (arg_a6cll :: b_a6cbg) (arg_a6clm :: t_a6cb9 a_a6cbf) :: b_a6cbg;
    type family Foldl (arg_a6clq :: (~>) b_a6cbh ((~>) a_a6cbi b_a6cbh)) (arg_a6clr :: b_a6cbh) (arg_a6cls :: t_a6cb9 a_a6cbi) :: b_a6cbh;
    type family Foldl' (arg_a6clw :: (~>) b_a6cbj ((~>) a_a6cbk b_a6cbj)) (arg_a6clx :: b_a6cbj) (arg_a6cly :: t_a6cb9 a_a6cbk) :: b_a6cbj;
    type family Foldr1 (arg_a6clC :: (~>) a_a6cbl ((~>) a_a6cbl a_a6cbl)) (arg_a6clD :: t_a6cb9 a_a6cbl) :: a_a6cbl;
    type family Foldl1 (arg_a6clG :: (~>) a_a6cbm ((~>) a_a6cbm a_a6cbm)) (arg_a6clH :: t_a6cb9 a_a6cbm) :: a_a6cbm;
    type family ToList (arg_a6clK :: t_a6cb9 a_a6cbn) :: [a_a6cbn];
    type family Null (arg_a6clM :: t_a6cb9 a_a6cbo) :: Bool;
    type family Length (arg_a6clO :: t_a6cb9 a_a6cbp) :: Nat;
    type family Elem (arg_a6clQ :: a_a6cbq) (arg_a6clR :: t_a6cb9 a_a6cbq) :: Bool;
    type family Maximum (arg_a6clU :: t_a6cb9 a_a6cbr) :: a_a6cbr;
    type family Minimum (arg_a6clW :: t_a6cb9 a_a6cbs) :: a_a6cbs;
    type family Sum (arg_a6clY :: t_a6cb9 a_a6cbt) :: a_a6cbt;
    type family Product (arg_a6cm0 :: t_a6cb9 a_a6cbu) :: a_a6cbu;
    type Fold a_a6cm2 = Apply Fold_6989586621680487255Sym0 a_a6cm2;
    type FoldMap a_a6cmb a_a6cmc = Apply (Apply FoldMap_6989586621680487265Sym0 a_a6cmb) a_a6cmc;
    type Foldr a_a6cmp a_a6cmq a_a6cmr = Apply (Apply (Apply Foldr_6989586621680487280Sym0 a_a6cmp) a_a6cmq) a_a6cmr;
    type Foldr' a_a6cmO a_a6cmP a_a6cmQ = Apply (Apply (Apply Foldr'_6989586621680487305Sym0 a_a6cmO) a_a6cmP) a_a6cmQ;
    type Foldl a_a6cni a_a6cnj a_a6cnk = Apply (Apply (Apply Foldl_6989586621680487335Sym0 a_a6cni) a_a6cnj) a_a6cnk;
    type Foldl' a_a6cnH a_a6cnI a_a6cnJ = Apply (Apply (Apply Foldl'_6989586621680487360Sym0 a_a6cnH) a_a6cnI) a_a6cnJ;
    type Foldr1 a_a6cob a_a6coc = Apply (Apply Foldr1_6989586621680487389Sym0 a_a6cob) a_a6coc;
    type Foldl1 a_a6coA a_a6coB = Apply (Apply Foldl1_6989586621680487414Sym0 a_a6coA) a_a6coB;
    type ToList a_a6coZ = Apply ToList_6989586621680487438Sym0 a_a6coZ;
    type Null a_a6cp8 = Apply Null_6989586621680487447Sym0 a_a6cp8;
    type Length a_a6cpt = Apply Length_6989586621680487468Sym0 a_a6cpt;
    type Elem a_a6cpP a_a6cpQ = Apply (Apply Elem_6989586621680487491Sym0 a_a6cpP) a_a6cpQ;
    type Maximum a_a6cq5 = Apply Maximum_6989586621680487506Sym0 a_a6cq5;
    type Minimum a_a6cqi = Apply Minimum_6989586621680487519Sym0 a_a6cqi;
    type Sum a_a6cqv = Apply Sum_6989586621680487532Sym0 a_a6cqv;
    type Product a_a6cqI = Apply Product_6989586621680487545Sym0 a_a6cqI;
}
class SFoldable (t_a6cb9 :: Type -> Type)
sFold :: forall m_a6cba (t_a6cH0 :: t_a6cb9 m_a6cba). (SFoldable t_a6cb9, SMonoid m_a6cba) => Sing t_a6cH0 -> Sing (Apply FoldSym0 t_a6cH0 :: m_a6cba)
sFoldMap :: forall a_a6cbc m_a6cbb (t_a6cH2 :: (~>) a_a6cbc m_a6cbb) (t_a6cH3 :: t_a6cb9 a_a6cbc). (SFoldable t_a6cb9, SMonoid m_a6cbb) => Sing t_a6cH2 -> Sing t_a6cH3 -> Sing (Apply (Apply FoldMapSym0 t_a6cH2) t_a6cH3 :: m_a6cbb)
sFoldr :: forall a_a6cbd b_a6cbe (t_a6cH6 :: (~>) a_a6cbd ((~>) b_a6cbe b_a6cbe)) (t_a6cH7 :: b_a6cbe) (t_a6cH8 :: t_a6cb9 a_a6cbd). SFoldable t_a6cb9 => Sing t_a6cH6 -> Sing t_a6cH7 -> Sing t_a6cH8 -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cH6) t_a6cH7) t_a6cH8 :: b_a6cbe)
sFoldr' :: forall a_a6cbf b_a6cbg (t_a6cHc :: (~>) a_a6cbf ((~>) b_a6cbg b_a6cbg)) (t_a6cHd :: b_a6cbg) (t_a6cHe :: t_a6cb9 a_a6cbf). SFoldable t_a6cb9 => Sing t_a6cHc -> Sing t_a6cHd -> Sing t_a6cHe -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a6cHc) t_a6cHd) t_a6cHe :: b_a6cbg)
sFoldl :: forall b_a6cbh a_a6cbi (t_a6cHi :: (~>) b_a6cbh ((~>) a_a6cbi b_a6cbh)) (t_a6cHj :: b_a6cbh) (t_a6cHk :: t_a6cb9 a_a6cbi). SFoldable t_a6cb9 => Sing t_a6cHi -> Sing t_a6cHj -> Sing t_a6cHk -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cHi) t_a6cHj) t_a6cHk :: b_a6cbh)
sFoldl' :: forall b_a6cbj a_a6cbk (t_a6cHo :: (~>) b_a6cbj ((~>) a_a6cbk b_a6cbj)) (t_a6cHp :: b_a6cbj) (t_a6cHq :: t_a6cb9 a_a6cbk). SFoldable t_a6cb9 => Sing t_a6cHo -> Sing t_a6cHp -> Sing t_a6cHq -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6cHo) t_a6cHp) t_a6cHq :: b_a6cbj)
sFoldr1 :: forall a_a6cbl (t_a6cHu :: (~>) a_a6cbl ((~>) a_a6cbl a_a6cbl)) (t_a6cHv :: t_a6cb9 a_a6cbl). SFoldable t_a6cb9 => Sing t_a6cHu -> Sing t_a6cHv -> Sing (Apply (Apply Foldr1Sym0 t_a6cHu) t_a6cHv :: a_a6cbl)
sFoldl1 :: forall a_a6cbm (t_a6cHy :: (~>) a_a6cbm ((~>) a_a6cbm a_a6cbm)) (t_a6cHz :: t_a6cb9 a_a6cbm). SFoldable t_a6cb9 => Sing t_a6cHy -> Sing t_a6cHz -> Sing (Apply (Apply Foldl1Sym0 t_a6cHy) t_a6cHz :: a_a6cbm)
sToList :: forall a_a6cbn (t_a6cHC :: t_a6cb9 a_a6cbn). SFoldable t_a6cb9 => Sing t_a6cHC -> Sing (Apply ToListSym0 t_a6cHC :: [a_a6cbn])
sNull :: forall a_a6cbo (t_a6cHE :: t_a6cb9 a_a6cbo). SFoldable t_a6cb9 => Sing t_a6cHE -> Sing (Apply NullSym0 t_a6cHE :: Bool)
sLength :: forall a_a6cbp (t_a6cHG :: t_a6cb9 a_a6cbp). SFoldable t_a6cb9 => Sing t_a6cHG -> Sing (Apply LengthSym0 t_a6cHG :: Nat)
sElem :: forall a_a6cbq (t_a6cHI :: a_a6cbq) (t_a6cHJ :: t_a6cb9 a_a6cbq). (SFoldable t_a6cb9, SEq a_a6cbq) => Sing t_a6cHI -> Sing t_a6cHJ -> Sing (Apply (Apply ElemSym0 t_a6cHI) t_a6cHJ :: Bool)
sMaximum :: forall a_a6cbr (t_a6cHM :: t_a6cb9 a_a6cbr). (SFoldable t_a6cb9, SOrd a_a6cbr) => Sing t_a6cHM -> Sing (Apply MaximumSym0 t_a6cHM :: a_a6cbr)
sMinimum :: forall a_a6cbs (t_a6cHO :: t_a6cb9 a_a6cbs). (SFoldable t_a6cb9, SOrd a_a6cbs) => Sing t_a6cHO -> Sing (Apply MinimumSym0 t_a6cHO :: a_a6cbs)
sSum :: forall a_a6cbt (t_a6cHQ :: t_a6cb9 a_a6cbt). (SFoldable t_a6cb9, SNum a_a6cbt) => Sing t_a6cHQ -> Sing (Apply SumSym0 t_a6cHQ :: a_a6cbt)
sProduct :: forall a_a6cbu (t_a6cHS :: t_a6cb9 a_a6cbu). (SFoldable t_a6cb9, SNum a_a6cbu) => Sing t_a6cHS -> Sing (Apply ProductSym0 t_a6cHS :: a_a6cbu)
sFold :: forall m_a6cba (t_a6cH0 :: t_a6cb9 m_a6cba). (SFoldable t_a6cb9, (Apply FoldSym0 t_a6cH0 :: m_a6cba) ~ Apply Fold_6989586621680487255Sym0 t_a6cH0, SMonoid m_a6cba) => Sing t_a6cH0 -> Sing (Apply FoldSym0 t_a6cH0 :: m_a6cba)
sFoldMap :: forall a_a6cbc m_a6cbb (t_a6cH2 :: (~>) a_a6cbc m_a6cbb) (t_a6cH3 :: t_a6cb9 a_a6cbc). (SFoldable t_a6cb9, (Apply (Apply FoldMapSym0 t_a6cH2) t_a6cH3 :: m_a6cbb) ~ Apply (Apply FoldMap_6989586621680487265Sym0 t_a6cH2) t_a6cH3, SMonoid m_a6cbb) => Sing t_a6cH2 -> Sing t_a6cH3 -> Sing (Apply (Apply FoldMapSym0 t_a6cH2) t_a6cH3 :: m_a6cbb)
sFoldr :: forall a_a6cbd b_a6cbe (t_a6cH6 :: (~>) a_a6cbd ((~>) b_a6cbe b_a6cbe)) (t_a6cH7 :: b_a6cbe) (t_a6cH8 :: t_a6cb9 a_a6cbd). (SFoldable t_a6cb9, (Apply (Apply (Apply FoldrSym0 t_a6cH6) t_a6cH7) t_a6cH8 :: b_a6cbe) ~ Apply (Apply (Apply Foldr_6989586621680487280Sym0 t_a6cH6) t_a6cH7) t_a6cH8) => Sing t_a6cH6 -> Sing t_a6cH7 -> Sing t_a6cH8 -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cH6) t_a6cH7) t_a6cH8 :: b_a6cbe)
sFoldr' :: forall a_a6cbf b_a6cbg (t_a6cHc :: (~>) a_a6cbf ((~>) b_a6cbg b_a6cbg)) (t_a6cHd :: b_a6cbg) (t_a6cHe :: t_a6cb9 a_a6cbf). (SFoldable t_a6cb9, (Apply (Apply (Apply Foldr'Sym0 t_a6cHc) t_a6cHd) t_a6cHe :: b_a6cbg) ~ Apply (Apply (Apply Foldr'_6989586621680487305Sym0 t_a6cHc) t_a6cHd) t_a6cHe) => Sing t_a6cHc -> Sing t_a6cHd -> Sing t_a6cHe -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a6cHc) t_a6cHd) t_a6cHe :: b_a6cbg)
sFoldl :: forall b_a6cbh a_a6cbi (t_a6cHi :: (~>) b_a6cbh ((~>) a_a6cbi b_a6cbh)) (t_a6cHj :: b_a6cbh) (t_a6cHk :: t_a6cb9 a_a6cbi). (SFoldable t_a6cb9, (Apply (Apply (Apply FoldlSym0 t_a6cHi) t_a6cHj) t_a6cHk :: b_a6cbh) ~ Apply (Apply (Apply Foldl_6989586621680487335Sym0 t_a6cHi) t_a6cHj) t_a6cHk) => Sing t_a6cHi -> Sing t_a6cHj -> Sing t_a6cHk -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cHi) t_a6cHj) t_a6cHk :: b_a6cbh)
sFoldl' :: forall b_a6cbj a_a6cbk (t_a6cHo :: (~>) b_a6cbj ((~>) a_a6cbk b_a6cbj)) (t_a6cHp :: b_a6cbj) (t_a6cHq :: t_a6cb9 a_a6cbk). (SFoldable t_a6cb9, (Apply (Apply (Apply Foldl'Sym0 t_a6cHo) t_a6cHp) t_a6cHq :: b_a6cbj) ~ Apply (Apply (Apply Foldl'_6989586621680487360Sym0 t_a6cHo) t_a6cHp) t_a6cHq) => Sing t_a6cHo -> Sing t_a6cHp -> Sing t_a6cHq -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6cHo) t_a6cHp) t_a6cHq :: b_a6cbj)
sFoldr1 :: forall a_a6cbl (t_a6cHu :: (~>) a_a6cbl ((~>) a_a6cbl a_a6cbl)) (t_a6cHv :: t_a6cb9 a_a6cbl). (SFoldable t_a6cb9, (Apply (Apply Foldr1Sym0 t_a6cHu) t_a6cHv :: a_a6cbl) ~ Apply (Apply Foldr1_6989586621680487389Sym0 t_a6cHu) t_a6cHv) => Sing t_a6cHu -> Sing t_a6cHv -> Sing (Apply (Apply Foldr1Sym0 t_a6cHu) t_a6cHv :: a_a6cbl)
sFoldl1 :: forall a_a6cbm (t_a6cHy :: (~>) a_a6cbm ((~>) a_a6cbm a_a6cbm)) (t_a6cHz :: t_a6cb9 a_a6cbm). (SFoldable t_a6cb9, (Apply (Apply Foldl1Sym0 t_a6cHy) t_a6cHz :: a_a6cbm) ~ Apply (Apply Foldl1_6989586621680487414Sym0 t_a6cHy) t_a6cHz) => Sing t_a6cHy -> Sing t_a6cHz -> Sing (Apply (Apply Foldl1Sym0 t_a6cHy) t_a6cHz :: a_a6cbm)
sToList :: forall a_a6cbn (t_a6cHC :: t_a6cb9 a_a6cbn). (SFoldable t_a6cb9, (Apply ToListSym0 t_a6cHC :: [a_a6cbn]) ~ Apply ToList_6989586621680487438Sym0 t_a6cHC) => Sing t_a6cHC -> Sing (Apply ToListSym0 t_a6cHC :: [a_a6cbn])
sNull :: forall a_a6cbo (t_a6cHE :: t_a6cb9 a_a6cbo). (SFoldable t_a6cb9, (Apply NullSym0 t_a6cHE :: Bool) ~ Apply Null_6989586621680487447Sym0 t_a6cHE) => Sing t_a6cHE -> Sing (Apply NullSym0 t_a6cHE :: Bool)
sLength :: forall a_a6cbp (t_a6cHG :: t_a6cb9 a_a6cbp). (SFoldable t_a6cb9, (Apply LengthSym0 t_a6cHG :: Nat) ~ Apply Length_6989586621680487468Sym0 t_a6cHG) => Sing t_a6cHG -> Sing (Apply LengthSym0 t_a6cHG :: Nat)
sElem :: forall a_a6cbq (t_a6cHI :: a_a6cbq) (t_a6cHJ :: t_a6cb9 a_a6cbq). (SFoldable t_a6cb9, (Apply (Apply ElemSym0 t_a6cHI) t_a6cHJ :: Bool) ~ Apply (Apply Elem_6989586621680487491Sym0 t_a6cHI) t_a6cHJ, SEq a_a6cbq) => Sing t_a6cHI -> Sing t_a6cHJ -> Sing (Apply (Apply ElemSym0 t_a6cHI) t_a6cHJ :: Bool)
sMaximum :: forall a_a6cbr (t_a6cHM :: t_a6cb9 a_a6cbr). (SFoldable t_a6cb9, (Apply MaximumSym0 t_a6cHM :: a_a6cbr) ~ Apply Maximum_6989586621680487506Sym0 t_a6cHM, SOrd a_a6cbr) => Sing t_a6cHM -> Sing (Apply MaximumSym0 t_a6cHM :: a_a6cbr)
sMinimum :: forall a_a6cbs (t_a6cHO :: t_a6cb9 a_a6cbs). (SFoldable t_a6cb9, (Apply MinimumSym0 t_a6cHO :: a_a6cbs) ~ Apply Minimum_6989586621680487519Sym0 t_a6cHO, SOrd a_a6cbs) => Sing t_a6cHO -> Sing (Apply MinimumSym0 t_a6cHO :: a_a6cbs)
sSum :: forall a_a6cbt (t_a6cHQ :: t_a6cb9 a_a6cbt). (SFoldable t_a6cb9, (Apply SumSym0 t_a6cHQ :: a_a6cbt) ~ Apply Sum_6989586621680487532Sym0 t_a6cHQ, SNum a_a6cbt) => Sing t_a6cHQ -> Sing (Apply SumSym0 t_a6cHQ :: a_a6cbt)
sProduct :: forall a_a6cbu (t_a6cHS :: t_a6cb9 a_a6cbu). (SFoldable t_a6cb9, (Apply ProductSym0 t_a6cHS :: a_a6cbu) ~ Apply Product_6989586621680487545Sym0 t_a6cHS, SNum a_a6cbu) => Sing t_a6cHS -> Sing (Apply ProductSym0 t_a6cHS :: a_a6cbu)
class PMonoid (a_a5Fsq :: Type) where {
    type family Mempty :: a_a5Fsq;
    type family Mappend (arg_a5FuF :: a_a5Fsq) (arg_a5FuG :: a_a5Fsq) :: a_a5Fsq;
    type family Mconcat (arg_a5FuJ :: [a_a5Fsq]) :: a_a5Fsq;
    type Mappend a_a5FuL a_a5FuM = Apply (Apply Mappend_6989586621680360945Sym0 a_a5FuL) a_a5FuM;
    type Mconcat a_a5Fv1 = Apply Mconcat_6989586621680360960Sym0 a_a5Fv1;
}
class SSemigroup a_a5Fsq => SMonoid a_a5Fsq
sMempty :: SMonoid a_a5Fsq => Sing (MemptySym0 :: a_a5Fsq)
sMappend :: forall (t_a5FvZ :: a_a5Fsq) (t_a5Fw0 :: a_a5Fsq). SMonoid a_a5Fsq => Sing t_a5FvZ -> Sing t_a5Fw0 -> Sing (Apply (Apply MappendSym0 t_a5FvZ) t_a5Fw0 :: a_a5Fsq)
sMconcat :: forall (t_a5Fw3 :: [a_a5Fsq]). SMonoid a_a5Fsq => Sing t_a5Fw3 -> Sing (Apply MconcatSym0 t_a5Fw3 :: a_a5Fsq)
sMappend :: forall (t_a5FvZ :: a_a5Fsq) (t_a5Fw0 :: a_a5Fsq). (SMonoid a_a5Fsq, (Apply (Apply MappendSym0 t_a5FvZ) t_a5Fw0 :: a_a5Fsq) ~ Apply (Apply Mappend_6989586621680360945Sym0 t_a5FvZ) t_a5Fw0) => Sing t_a5FvZ -> Sing t_a5Fw0 -> Sing (Apply (Apply MappendSym0 t_a5FvZ) t_a5Fw0 :: a_a5Fsq)
sMconcat :: forall (t_a5Fw3 :: [a_a5Fsq]). (SMonoid a_a5Fsq, (Apply MconcatSym0 t_a5Fw3 :: a_a5Fsq) ~ Apply Mconcat_6989586621680360960Sym0 t_a5Fw3) => Sing t_a5Fw3 -> Sing (Apply MconcatSym0 t_a5Fw3 :: a_a5Fsq)
class PTraversable (t_a7ulY :: Type -> Type) where {
    type family Traverse (arg_a7uma :: (~>) a_a7um0 (f_a7ulZ b_a7um1)) (arg_a7umb :: t_a7ulY a_a7um0) :: f_a7ulZ (t_a7ulY b_a7um1);
    type family SequenceA (arg_a7ume :: t_a7ulY (f_a7um2 a_a7um3)) :: f_a7um2 (t_a7ulY a_a7um3);
    type family MapM (arg_a7umg :: (~>) a_a7um5 (m_a7um4 b_a7um6)) (arg_a7umh :: t_a7ulY a_a7um5) :: m_a7um4 (t_a7ulY b_a7um6);
    type family Sequence (arg_a7umk :: t_a7ulY (m_a7um7 a_a7um8)) :: m_a7um7 (t_a7ulY a_a7um8);
    type Traverse a_a7umm a_a7umn = Apply (Apply Traverse_6989586621680794796Sym0 a_a7umm) a_a7umn;
    type SequenceA a_a7umA = Apply SequenceA_6989586621680794809Sym0 a_a7umA;
    type MapM a_a7umJ a_a7umK = Apply (Apply MapM_6989586621680794819Sym0 a_a7umJ) a_a7umK;
    type Sequence a_a7umZ = Apply Sequence_6989586621680794834Sym0 a_a7umZ;
}
class (SFunctor t_a7ulY, SFoldable t_a7ulY) => STraversable (t_a7ulY :: Type -> Type)
sTraverse :: forall a_a7um0 f_a7ulZ b_a7um1 (t_a7un8 :: (~>) a_a7um0 (f_a7ulZ b_a7um1)) (t_a7un9 :: t_a7ulY a_a7um0). (STraversable t_a7ulY, SApplicative f_a7ulZ) => Sing t_a7un8 -> Sing t_a7un9 -> Sing (Apply (Apply TraverseSym0 t_a7un8) t_a7un9 :: f_a7ulZ (t_a7ulY b_a7um1))
sSequenceA :: forall f_a7um2 a_a7um3 (t_a7unc :: t_a7ulY (f_a7um2 a_a7um3)). (STraversable t_a7ulY, SApplicative f_a7um2) => Sing t_a7unc -> Sing (Apply SequenceASym0 t_a7unc :: f_a7um2 (t_a7ulY a_a7um3))
sMapM :: forall a_a7um5 m_a7um4 b_a7um6 (t_a7une :: (~>) a_a7um5 (m_a7um4 b_a7um6)) (t_a7unf :: t_a7ulY a_a7um5). (STraversable t_a7ulY, SMonad m_a7um4) => Sing t_a7une -> Sing t_a7unf -> Sing (Apply (Apply MapMSym0 t_a7une) t_a7unf :: m_a7um4 (t_a7ulY b_a7um6))
sSequence :: forall m_a7um7 a_a7um8 (t_a7uni :: t_a7ulY (m_a7um7 a_a7um8)). (STraversable t_a7ulY, SMonad m_a7um7) => Sing t_a7uni -> Sing (Apply SequenceSym0 t_a7uni :: m_a7um7 (t_a7ulY a_a7um8))
sTraverse :: forall a_a7um0 f_a7ulZ b_a7um1 (t_a7un8 :: (~>) a_a7um0 (f_a7ulZ b_a7um1)) (t_a7un9 :: t_a7ulY a_a7um0). (STraversable t_a7ulY, (Apply (Apply TraverseSym0 t_a7un8) t_a7un9 :: f_a7ulZ (t_a7ulY b_a7um1)) ~ Apply (Apply Traverse_6989586621680794796Sym0 t_a7un8) t_a7un9, SApplicative f_a7ulZ) => Sing t_a7un8 -> Sing t_a7un9 -> Sing (Apply (Apply TraverseSym0 t_a7un8) t_a7un9 :: f_a7ulZ (t_a7ulY b_a7um1))
sSequenceA :: forall f_a7um2 a_a7um3 (t_a7unc :: t_a7ulY (f_a7um2 a_a7um3)). (STraversable t_a7ulY, (Apply SequenceASym0 t_a7unc :: f_a7um2 (t_a7ulY a_a7um3)) ~ Apply SequenceA_6989586621680794809Sym0 t_a7unc, SApplicative f_a7um2) => Sing t_a7unc -> Sing (Apply SequenceASym0 t_a7unc :: f_a7um2 (t_a7ulY a_a7um3))
sMapM :: forall a_a7um5 m_a7um4 b_a7um6 (t_a7une :: (~>) a_a7um5 (m_a7um4 b_a7um6)) (t_a7unf :: t_a7ulY a_a7um5). (STraversable t_a7ulY, (Apply (Apply MapMSym0 t_a7une) t_a7unf :: m_a7um4 (t_a7ulY b_a7um6)) ~ Apply (Apply MapM_6989586621680794819Sym0 t_a7une) t_a7unf, SMonad m_a7um4) => Sing t_a7une -> Sing t_a7unf -> Sing (Apply (Apply MapMSym0 t_a7une) t_a7unf :: m_a7um4 (t_a7ulY b_a7um6))
sSequence :: forall m_a7um7 a_a7um8 (t_a7uni :: t_a7ulY (m_a7um7 a_a7um8)). (STraversable t_a7ulY, (Apply SequenceSym0 t_a7uni :: m_a7um7 (t_a7ulY a_a7um8)) ~ Apply Sequence_6989586621680794834Sym0 t_a7uni, SMonad m_a7um7) => Sing t_a7uni -> Sing (Apply SequenceSym0 t_a7uni :: m_a7um7 (t_a7ulY a_a7um8))
class PApplicative (f_a2kVD :: Type -> Type) where {
    type family Pure (arg_a2l2g :: a_a2kVE) :: f_a2kVD a_a2kVE;
    type family (<*>) (arg_a2l2i :: f_a2kVD ((~>) a_a2kVF b_a2kVG)) (arg_a2l2j :: f_a2kVD a_a2kVF) :: f_a2kVD b_a2kVG;
    type family LiftA2 (arg_a2l2m :: (~>) a_a2kVH ((~>) b_a2kVI c_a2kVJ)) (arg_a2l2n :: f_a2kVD a_a2kVH) (arg_a2l2o :: f_a2kVD b_a2kVI) :: f_a2kVD c_a2kVJ;
    type family (*>) (arg_a2l2s :: f_a2kVD a_a2kVK) (arg_a2l2t :: f_a2kVD b_a2kVL) :: f_a2kVD b_a2kVL;
    type family (<*) (arg_a2l2w :: f_a2kVD a_a2kVM) (arg_a2l2x :: f_a2kVD b_a2kVN) :: f_a2kVD a_a2kVM;
    type (<*>) a_a2l2A a_a2l2B = Apply (Apply TFHelper_6989586621679567334Sym0 a_a2l2A) a_a2l2B;
    type LiftA2 a_a2l2Q a_a2l2R a_a2l2S = Apply (Apply (Apply LiftA2_6989586621679567351Sym0 a_a2l2Q) a_a2l2R) a_a2l2S;
    type (*>) a_a2l39 a_a2l3a = Apply (Apply TFHelper_6989586621679567369Sym0 a_a2l39) a_a2l3a;
    type (<*) a_a2l3l a_a2l3m = Apply (Apply TFHelper_6989586621679567381Sym0 a_a2l3l) a_a2l3m;
}
infixl 4 <*>
infixl 4 *>
infixl 4 <*
class SFunctor f_a2kVD => SApplicative (f_a2kVD :: Type -> Type)
sPure :: forall a_a2kVE (t_a2l6k :: a_a2kVE). SApplicative f_a2kVD => Sing t_a2l6k -> Sing (Apply PureSym0 t_a2l6k :: f_a2kVD a_a2kVE)
(%<*>) :: forall a_a2kVF b_a2kVG (t_a2l6m :: f_a2kVD ((~>) a_a2kVF b_a2kVG)) (t_a2l6n :: f_a2kVD a_a2kVF). SApplicative f_a2kVD => Sing t_a2l6m -> Sing t_a2l6n -> Sing (Apply (Apply (<*>@#@$) t_a2l6m) t_a2l6n :: f_a2kVD b_a2kVG)
sLiftA2 :: forall a_a2kVH b_a2kVI c_a2kVJ (t_a2l6q :: (~>) a_a2kVH ((~>) b_a2kVI c_a2kVJ)) (t_a2l6r :: f_a2kVD a_a2kVH) (t_a2l6s :: f_a2kVD b_a2kVI). SApplicative f_a2kVD => Sing t_a2l6q -> Sing t_a2l6r -> Sing t_a2l6s -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2l6q) t_a2l6r) t_a2l6s :: f_a2kVD c_a2kVJ)
(%*>) :: forall a_a2kVK b_a2kVL (t_a2l6w :: f_a2kVD a_a2kVK) (t_a2l6x :: f_a2kVD b_a2kVL). SApplicative f_a2kVD => Sing t_a2l6w -> Sing t_a2l6x -> Sing (Apply (Apply (*>@#@$) t_a2l6w) t_a2l6x :: f_a2kVD b_a2kVL)
(%<*) :: forall a_a2kVM b_a2kVN (t_a2l6A :: f_a2kVD a_a2kVM) (t_a2l6B :: f_a2kVD b_a2kVN). SApplicative f_a2kVD => Sing t_a2l6A -> Sing t_a2l6B -> Sing (Apply (Apply (<*@#@$) t_a2l6A) t_a2l6B :: f_a2kVD a_a2kVM)
(%<*>) :: forall a_a2kVF b_a2kVG (t_a2l6m :: f_a2kVD ((~>) a_a2kVF b_a2kVG)) (t_a2l6n :: f_a2kVD a_a2kVF). (SApplicative f_a2kVD, (Apply (Apply (<*>@#@$) t_a2l6m) t_a2l6n :: f_a2kVD b_a2kVG) ~ Apply (Apply TFHelper_6989586621679567334Sym0 t_a2l6m) t_a2l6n) => Sing t_a2l6m -> Sing t_a2l6n -> Sing (Apply (Apply (<*>@#@$) t_a2l6m) t_a2l6n :: f_a2kVD b_a2kVG)
sLiftA2 :: forall a_a2kVH b_a2kVI c_a2kVJ (t_a2l6q :: (~>) a_a2kVH ((~>) b_a2kVI c_a2kVJ)) (t_a2l6r :: f_a2kVD a_a2kVH) (t_a2l6s :: f_a2kVD b_a2kVI). (SApplicative f_a2kVD, (Apply (Apply (Apply LiftA2Sym0 t_a2l6q) t_a2l6r) t_a2l6s :: f_a2kVD c_a2kVJ) ~ Apply (Apply (Apply LiftA2_6989586621679567351Sym0 t_a2l6q) t_a2l6r) t_a2l6s) => Sing t_a2l6q -> Sing t_a2l6r -> Sing t_a2l6s -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2l6q) t_a2l6r) t_a2l6s :: f_a2kVD c_a2kVJ)
(%*>) :: forall a_a2kVK b_a2kVL (t_a2l6w :: f_a2kVD a_a2kVK) (t_a2l6x :: f_a2kVD b_a2kVL). (SApplicative f_a2kVD, (Apply (Apply (*>@#@$) t_a2l6w) t_a2l6x :: f_a2kVD b_a2kVL) ~ Apply (Apply TFHelper_6989586621679567369Sym0 t_a2l6w) t_a2l6x) => Sing t_a2l6w -> Sing t_a2l6x -> Sing (Apply (Apply (*>@#@$) t_a2l6w) t_a2l6x :: f_a2kVD b_a2kVL)
(%<*) :: forall a_a2kVM b_a2kVN (t_a2l6A :: f_a2kVD a_a2kVM) (t_a2l6B :: f_a2kVD b_a2kVN). (SApplicative f_a2kVD, (Apply (Apply (<*@#@$) t_a2l6A) t_a2l6B :: f_a2kVD a_a2kVM) ~ Apply (Apply TFHelper_6989586621679567381Sym0 t_a2l6A) t_a2l6B) => Sing t_a2l6A -> Sing t_a2l6B -> Sing (Apply (Apply (<*@#@$) t_a2l6A) t_a2l6B :: f_a2kVD a_a2kVM)
infixl 4 %<*>
infixl 4 %*>
infixl 4 %<*
type family (.) (a_a2emQ :: (~>) b_a2ek0 c_a2ek1) (a_a2emR :: (~>) a_a2ek2 b_a2ek0) (a_a2emS :: a_a2ek2) :: c_a2ek1
infixr 9 .
(%.) :: forall b_a2ek0 c_a2ek1 a_a2ek2 (t_a2eoh :: (~>) b_a2ek0 c_a2ek1) (t_a2eoi :: (~>) a_a2ek2 b_a2ek0) (t_a2eoj :: a_a2ek2). Sing t_a2eoh -> Sing t_a2eoi -> Sing t_a2eoj -> Sing (Apply (Apply (Apply (.@#@$) t_a2eoh) t_a2eoi) t_a2eoj :: c_a2ek1)
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 k06989586621679481870 k6989586621679481871. (~>) k06989586621679481870 k6989586621679481871
type ErrorSym1 (str6989586621679481872 :: k06989586621679481870) = Error str6989586621679481872

-- | 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 a6989586621679375750. (~>) a6989586621679375750 ((~>) a6989586621679375750 Bool)
infix 4 ==@#@$
data (==@#@$$) (x6989586621679375751 :: a6989586621679375750) :: (~>) a6989586621679375750 Bool
infix 4 ==@#@$$
type (==@#@$$$) (x6989586621679375751 :: a6989586621679375750) (y6989586621679375752 :: a6989586621679375750) = (==) x6989586621679375751 y6989586621679375752
data (>@#@$) :: forall a6989586621679389695. (~>) a6989586621679389695 ((~>) a6989586621679389695 Bool)
infix 4 >@#@$
data (>@#@$$) (arg6989586621679389796 :: a6989586621679389695) :: (~>) a6989586621679389695 Bool
infix 4 >@#@$$
type (>@#@$$$) (arg6989586621679389796 :: a6989586621679389695) (arg6989586621679389797 :: a6989586621679389695) = (>) arg6989586621679389796 arg6989586621679389797
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 (t6989586621679311000 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type). (~>) b3530822107858468866 (a3530822107858468865 :: Type, b3530822107858468866 :: Type)
type Tuple2Sym2 (t6989586621679311000 :: a3530822107858468865) (t6989586621679311001 :: b3530822107858468866) = '(t6989586621679311000, t6989586621679311001)
data Tuple3Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type)))
data Tuple3Sym1 (t6989586621679311031 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type))
data Tuple3Sym2 (t6989586621679311031 :: a3530822107858468865 :: Type) (t6989586621679311032 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type). (~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type)
type Tuple3Sym3 (t6989586621679311031 :: a3530822107858468865) (t6989586621679311032 :: b3530822107858468866) (t6989586621679311033 :: c3530822107858468867) = '(t6989586621679311031, t6989586621679311032, t6989586621679311033)
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 (t6989586621679311078 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type)))
data Tuple4Sym2 (t6989586621679311078 :: a3530822107858468865 :: Type) (t6989586621679311079 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type))
data Tuple4Sym3 (t6989586621679311078 :: a3530822107858468865 :: Type) (t6989586621679311079 :: b3530822107858468866 :: Type) (t6989586621679311080 :: c3530822107858468867 :: Type) :: forall (d3530822107858468868 :: Type). (~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type)
type Tuple4Sym4 (t6989586621679311078 :: a3530822107858468865) (t6989586621679311079 :: b3530822107858468866) (t6989586621679311080 :: c3530822107858468867) (t6989586621679311081 :: d3530822107858468868) = '(t6989586621679311078, t6989586621679311079, t6989586621679311080, t6989586621679311081)
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 (t6989586621679311143 :: 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 (t6989586621679311143 :: a3530822107858468865 :: Type) (t6989586621679311144 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type)))
data Tuple5Sym3 (t6989586621679311143 :: a3530822107858468865 :: Type) (t6989586621679311144 :: b3530822107858468866 :: Type) (t6989586621679311145 :: c3530822107858468867 :: Type) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type))
data Tuple5Sym4 (t6989586621679311143 :: a3530822107858468865 :: Type) (t6989586621679311144 :: b3530822107858468866 :: Type) (t6989586621679311145 :: c3530822107858468867 :: Type) (t6989586621679311146 :: d3530822107858468868 :: Type) :: forall (e3530822107858468869 :: Type). (~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type)
type Tuple5Sym5 (t6989586621679311143 :: a3530822107858468865) (t6989586621679311144 :: b3530822107858468866) (t6989586621679311145 :: c3530822107858468867) (t6989586621679311146 :: d3530822107858468868) (t6989586621679311147 :: e3530822107858468869) = '(t6989586621679311143, t6989586621679311144, t6989586621679311145, t6989586621679311146, t6989586621679311147)
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 (t6989586621679311228 :: 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 (t6989586621679311228 :: a3530822107858468865 :: Type) (t6989586621679311229 :: 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 (t6989586621679311228 :: a3530822107858468865 :: Type) (t6989586621679311229 :: b3530822107858468866 :: Type) (t6989586621679311230 :: 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 (t6989586621679311228 :: a3530822107858468865 :: Type) (t6989586621679311229 :: b3530822107858468866 :: Type) (t6989586621679311230 :: c3530822107858468867 :: Type) (t6989586621679311231 :: d3530822107858468868 :: Type) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type))
data Tuple6Sym5 (t6989586621679311228 :: a3530822107858468865 :: Type) (t6989586621679311229 :: b3530822107858468866 :: Type) (t6989586621679311230 :: c3530822107858468867 :: Type) (t6989586621679311231 :: d3530822107858468868 :: Type) (t6989586621679311232 :: e3530822107858468869 :: Type) :: forall (f3530822107858468870 :: Type). (~>) f3530822107858468870 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type)
type Tuple6Sym6 (t6989586621679311228 :: a3530822107858468865) (t6989586621679311229 :: b3530822107858468866) (t6989586621679311230 :: c3530822107858468867) (t6989586621679311231 :: d3530822107858468868) (t6989586621679311232 :: e3530822107858468869) (t6989586621679311233 :: f3530822107858468870) = '(t6989586621679311228, t6989586621679311229, t6989586621679311230, t6989586621679311231, t6989586621679311232, t6989586621679311233)
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 (t6989586621679311335 :: 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 (t6989586621679311335 :: a3530822107858468865 :: Type) (t6989586621679311336 :: 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 (t6989586621679311335 :: a3530822107858468865 :: Type) (t6989586621679311336 :: b3530822107858468866 :: Type) (t6989586621679311337 :: 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 (t6989586621679311335 :: a3530822107858468865 :: Type) (t6989586621679311336 :: b3530822107858468866 :: Type) (t6989586621679311337 :: c3530822107858468867 :: Type) (t6989586621679311338 :: 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 (t6989586621679311335 :: a3530822107858468865 :: Type) (t6989586621679311336 :: b3530822107858468866 :: Type) (t6989586621679311337 :: c3530822107858468867 :: Type) (t6989586621679311338 :: d3530822107858468868 :: Type) (t6989586621679311339 :: 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 (t6989586621679311335 :: a3530822107858468865 :: Type) (t6989586621679311336 :: b3530822107858468866 :: Type) (t6989586621679311337 :: c3530822107858468867 :: Type) (t6989586621679311338 :: d3530822107858468868 :: Type) (t6989586621679311339 :: e3530822107858468869 :: Type) (t6989586621679311340 :: f3530822107858468870 :: Type) :: forall (g3530822107858468871 :: Type). (~>) g3530822107858468871 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type, g3530822107858468871 :: Type)
type Tuple7Sym7 (t6989586621679311335 :: a3530822107858468865) (t6989586621679311336 :: b3530822107858468866) (t6989586621679311337 :: c3530822107858468867) (t6989586621679311338 :: d3530822107858468868) (t6989586621679311339 :: e3530822107858468869) (t6989586621679311340 :: f3530822107858468870) (t6989586621679311341 :: g3530822107858468871) = '(t6989586621679311335, t6989586621679311336, t6989586621679311337, t6989586621679311338, t6989586621679311339, t6989586621679311340, t6989586621679311341)
data CompareSym0 :: forall a6989586621679389695. (~>) a6989586621679389695 ((~>) a6989586621679389695 Ordering)
data CompareSym1 (arg6989586621679389784 :: a6989586621679389695) :: (~>) a6989586621679389695 Ordering
type CompareSym2 (arg6989586621679389784 :: a6989586621679389695) (arg6989586621679389785 :: a6989586621679389695) = Compare arg6989586621679389784 arg6989586621679389785
data ThenCmpSym0 :: (~>) Ordering ((~>) Ordering Ordering)
data ThenCmpSym1 (a6989586621679400128 :: Ordering) :: (~>) Ordering Ordering
type ThenCmpSym2 (a6989586621679400128 :: Ordering) (a6989586621679400129 :: Ordering) = ThenCmp a6989586621679400128 a6989586621679400129
data FoldlSym0 :: forall b6989586621680486587 a6989586621680486588 t6989586621680486579. (~>) ((~>) b6989586621680486587 ((~>) a6989586621680486588 b6989586621680486587)) ((~>) b6989586621680486587 ((~>) (t6989586621680486579 a6989586621680486588) b6989586621680486587))
data FoldlSym1 (arg6989586621680487216 :: (~>) b6989586621680486587 ((~>) a6989586621680486588 b6989586621680486587)) :: forall t6989586621680486579. (~>) b6989586621680486587 ((~>) (t6989586621680486579 a6989586621680486588) b6989586621680486587)
data FoldlSym2 (arg6989586621680487216 :: (~>) b6989586621680486587 ((~>) a6989586621680486588 b6989586621680486587)) (arg6989586621680487217 :: b6989586621680486587) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486588) b6989586621680486587
type FoldlSym3 (arg6989586621680487216 :: (~>) b6989586621680486587 ((~>) a6989586621680486588 b6989586621680486587)) (arg6989586621680487217 :: b6989586621680486587) (arg6989586621680487218 :: t6989586621680486579 a6989586621680486588) = Foldl arg6989586621680487216 arg6989586621680487217 arg6989586621680487218
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data ShowsPrecSym0 :: forall a6989586621680290698. (~>) Nat ((~>) a6989586621680290698 ((~>) Symbol Symbol))
data ShowsPrecSym1 (arg6989586621680291136 :: Nat) :: forall a6989586621680290698. (~>) a6989586621680290698 ((~>) Symbol Symbol)
data ShowsPrecSym2 (arg6989586621680291136 :: Nat) (arg6989586621680291137 :: a6989586621680290698) :: (~>) Symbol Symbol
type ShowsPrecSym3 (arg6989586621680291136 :: Nat) (arg6989586621680291137 :: a6989586621680290698) (arg6989586621680291138 :: Symbol) = ShowsPrec arg6989586621680291136 arg6989586621680291137 arg6989586621680291138
data ShowStringSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowStringSym1 (a6989586621680291092 :: Symbol) :: (~>) Symbol Symbol
type ShowStringSym2 (a6989586621680291092 :: Symbol) (a6989586621680291093 :: Symbol) = ShowString a6989586621680291092 a6989586621680291093
data ShowParenSym0 :: (~>) Bool ((~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol))
data ShowParenSym1 (a6989586621680291074 :: Bool) :: (~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol)
data ShowParenSym2 (a6989586621680291074 :: Bool) (a6989586621680291075 :: (~>) Symbol Symbol) :: (~>) Symbol Symbol
data ShowSpaceSym0 :: (~>) Symbol Symbol
type ShowSpaceSym1 (a6989586621680291065 :: Symbol) = ShowSpace a6989586621680291065
data ShowCharSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowCharSym1 (a6989586621680291102 :: Symbol) :: (~>) Symbol Symbol
type ShowCharSym2 (a6989586621680291102 :: Symbol) (a6989586621680291103 :: Symbol) = ShowChar a6989586621680291102 a6989586621680291103
data ShowCommaSpaceSym0 :: (~>) Symbol Symbol
type ShowCommaSpaceSym1 (a6989586621680291060 :: Symbol) = ShowCommaSpace a6989586621680291060
data FmapSym0 :: forall a6989586621679566897 b6989586621679566898 f6989586621679566896. (~>) ((~>) a6989586621679566897 b6989586621679566898) ((~>) (f6989586621679566896 a6989586621679566897) (f6989586621679566896 b6989586621679566898))
data FmapSym1 (arg6989586621679567288 :: (~>) a6989586621679566897 b6989586621679566898) :: forall f6989586621679566896. (~>) (f6989586621679566896 a6989586621679566897) (f6989586621679566896 b6989586621679566898)
type FmapSym2 (arg6989586621679567288 :: (~>) a6989586621679566897 b6989586621679566898) (arg6989586621679567289 :: f6989586621679566896 a6989586621679566897) = Fmap arg6989586621679567288 arg6989586621679567289
data (<$@#@$) :: forall a6989586621679566899 f6989586621679566896 b6989586621679566900. (~>) a6989586621679566899 ((~>) (f6989586621679566896 b6989586621679566900) (f6989586621679566896 a6989586621679566899))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679567292 :: a6989586621679566899) :: forall f6989586621679566896 b6989586621679566900. (~>) (f6989586621679566896 b6989586621679566900) (f6989586621679566896 a6989586621679566899)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679567292 :: a6989586621679566899) (arg6989586621679567293 :: f6989586621679566896 b6989586621679566900) = (<$) arg6989586621679567292 arg6989586621679567293
data FoldMapSym0 :: forall a6989586621680486582 m6989586621680486581 t6989586621680486579. (~>) ((~>) a6989586621680486582 m6989586621680486581) ((~>) (t6989586621680486579 a6989586621680486582) m6989586621680486581)
data FoldMapSym1 (arg6989586621680487200 :: (~>) a6989586621680486582 m6989586621680486581) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486582) m6989586621680486581
type FoldMapSym2 (arg6989586621680487200 :: (~>) a6989586621680486582 m6989586621680486581) (arg6989586621680487201 :: t6989586621680486579 a6989586621680486582) = FoldMap arg6989586621680487200 arg6989586621680487201
type MemptySym0 = Mempty
data MappendSym0 :: forall a6989586621680360798. (~>) a6989586621680360798 ((~>) a6989586621680360798 a6989586621680360798)
data MappendSym1 (arg6989586621680360937 :: a6989586621680360798) :: (~>) a6989586621680360798 a6989586621680360798
type MappendSym2 (arg6989586621680360937 :: a6989586621680360798) (arg6989586621680360938 :: a6989586621680360798) = Mappend arg6989586621680360937 arg6989586621680360938
data FoldrSym0 :: forall a6989586621680486583 b6989586621680486584 t6989586621680486579. (~>) ((~>) a6989586621680486583 ((~>) b6989586621680486584 b6989586621680486584)) ((~>) b6989586621680486584 ((~>) (t6989586621680486579 a6989586621680486583) b6989586621680486584))
data FoldrSym1 (arg6989586621680487204 :: (~>) a6989586621680486583 ((~>) b6989586621680486584 b6989586621680486584)) :: forall t6989586621680486579. (~>) b6989586621680486584 ((~>) (t6989586621680486579 a6989586621680486583) b6989586621680486584)
data FoldrSym2 (arg6989586621680487204 :: (~>) a6989586621680486583 ((~>) b6989586621680486584 b6989586621680486584)) (arg6989586621680487205 :: b6989586621680486584) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486583) b6989586621680486584
type FoldrSym3 (arg6989586621680487204 :: (~>) a6989586621680486583 ((~>) b6989586621680486584 b6989586621680486584)) (arg6989586621680487205 :: b6989586621680486584) (arg6989586621680487206 :: t6989586621680486579 a6989586621680486583) = Foldr arg6989586621680487204 arg6989586621680487205 arg6989586621680487206
data TraverseSym0 :: forall a6989586621680794772 f6989586621680794771 b6989586621680794773 t6989586621680794770. (~>) ((~>) a6989586621680794772 (f6989586621680794771 b6989586621680794773)) ((~>) (t6989586621680794770 a6989586621680794772) (f6989586621680794771 (t6989586621680794770 b6989586621680794773)))
data TraverseSym1 (arg6989586621680794782 :: (~>) a6989586621680794772 (f6989586621680794771 b6989586621680794773)) :: forall t6989586621680794770. (~>) (t6989586621680794770 a6989586621680794772) (f6989586621680794771 (t6989586621680794770 b6989586621680794773))
type TraverseSym2 (arg6989586621680794782 :: (~>) a6989586621680794772 (f6989586621680794771 b6989586621680794773)) (arg6989586621680794783 :: t6989586621680794770 a6989586621680794772) = Traverse arg6989586621680794782 arg6989586621680794783
data PureSym0 :: forall a6989586621679566902 f6989586621679566901. (~>) a6989586621679566902 (f6989586621679566901 a6989586621679566902)
type PureSym1 (arg6989586621679567312 :: a6989586621679566902) = Pure arg6989586621679567312
data (<*>@#@$) :: forall f6989586621679566901 a6989586621679566903 b6989586621679566904. (~>) (f6989586621679566901 ((~>) a6989586621679566903 b6989586621679566904)) ((~>) (f6989586621679566901 a6989586621679566903) (f6989586621679566901 b6989586621679566904))
infixl 4 <*>@#@$
data (<*>@#@$$) (arg6989586621679567314 :: f6989586621679566901 ((~>) a6989586621679566903 b6989586621679566904)) :: (~>) (f6989586621679566901 a6989586621679566903) (f6989586621679566901 b6989586621679566904)
infixl 4 <*>@#@$$
type (<*>@#@$$$) (arg6989586621679567314 :: f6989586621679566901 ((~>) a6989586621679566903 b6989586621679566904)) (arg6989586621679567315 :: f6989586621679566901 a6989586621679566903) = (<*>) arg6989586621679567314 arg6989586621679567315
data LiftA2Sym0 :: forall a6989586621679566905 b6989586621679566906 c6989586621679566907 f6989586621679566901. (~>) ((~>) a6989586621679566905 ((~>) b6989586621679566906 c6989586621679566907)) ((~>) (f6989586621679566901 a6989586621679566905) ((~>) (f6989586621679566901 b6989586621679566906) (f6989586621679566901 c6989586621679566907)))
data LiftA2Sym1 (arg6989586621679567318 :: (~>) a6989586621679566905 ((~>) b6989586621679566906 c6989586621679566907)) :: forall f6989586621679566901. (~>) (f6989586621679566901 a6989586621679566905) ((~>) (f6989586621679566901 b6989586621679566906) (f6989586621679566901 c6989586621679566907))
data LiftA2Sym2 (arg6989586621679567318 :: (~>) a6989586621679566905 ((~>) b6989586621679566906 c6989586621679566907)) (arg6989586621679567319 :: f6989586621679566901 a6989586621679566905) :: (~>) (f6989586621679566901 b6989586621679566906) (f6989586621679566901 c6989586621679566907)
type LiftA2Sym3 (arg6989586621679567318 :: (~>) a6989586621679566905 ((~>) b6989586621679566906 c6989586621679566907)) (arg6989586621679567319 :: f6989586621679566901 a6989586621679566905) (arg6989586621679567320 :: f6989586621679566901 b6989586621679566906) = LiftA2 arg6989586621679567318 arg6989586621679567319 arg6989586621679567320
data (.@#@$) :: forall b6989586621679541504 c6989586621679541505 a6989586621679541506. (~>) ((~>) b6989586621679541504 c6989586621679541505) ((~>) ((~>) a6989586621679541506 b6989586621679541504) ((~>) a6989586621679541506 c6989586621679541505))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679541680 :: (~>) b6989586621679541504 c6989586621679541505) :: forall a6989586621679541506. (~>) ((~>) a6989586621679541506 b6989586621679541504) ((~>) a6989586621679541506 c6989586621679541505)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679541680 :: (~>) b6989586621679541504 c6989586621679541505) (a6989586621679541681 :: (~>) a6989586621679541506 b6989586621679541504) :: (~>) a6989586621679541506 c6989586621679541505
infixr 9 .@#@$$$
type (.@#@$$$$) (a6989586621679541680 :: (~>) b6989586621679541504 c6989586621679541505) (a6989586621679541681 :: (~>) a6989586621679541506 b6989586621679541504) (a6989586621679541682 :: a6989586621679541506) = (.) a6989586621679541680 a6989586621679541681 a6989586621679541682
data (:@#@$) :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 ((~>) [a3530822107858468865] [a3530822107858468865 :: Type])
infixr 5 :@#@$
data (:@#@$$) (t6989586621679310906 :: a3530822107858468865 :: Type) :: (~>) [a3530822107858468865] [a3530822107858468865 :: Type]
infixr 5 :@#@$$
type (:@#@$$$) (t6989586621679310906 :: a3530822107858468865) (t6989586621679310907 :: [a3530822107858468865]) = '(:) t6989586621679310906 t6989586621679310907

-- | 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 (s6989586621681327330 :: Type). (~>) s6989586621681327330 (ErrorMessage' (s6989586621681327330 :: Type))
type TextSym1 (t6989586621681328074 :: s6989586621681327330) = 'Text t6989586621681328074
data ShowTypeSym0 :: forall t6989586621681327331 (s6989586621681327330 :: Type). (~>) t6989586621681327331 (ErrorMessage' (s6989586621681327330 :: Type))
type ShowTypeSym1 (t6989586621681328076 :: t6989586621681327331) = 'ShowType t6989586621681328076
data (:<>:@#@$) :: forall (s6989586621681327330 :: Type). (~>) (ErrorMessage' s6989586621681327330) ((~>) (ErrorMessage' s6989586621681327330) (ErrorMessage' (s6989586621681327330 :: Type)))
infixl 6 :<>:@#@$
data (:<>:@#@$$) (t6989586621681328078 :: ErrorMessage' (s6989586621681327330 :: Type)) :: (~>) (ErrorMessage' s6989586621681327330) (ErrorMessage' (s6989586621681327330 :: Type))
infixl 6 :<>:@#@$$
type (:<>:@#@$$$) (t6989586621681328078 :: ErrorMessage' s6989586621681327330) (t6989586621681328079 :: ErrorMessage' s6989586621681327330) = '(:<>:) t6989586621681328078 t6989586621681328079
data (:$$:@#@$) :: forall (s6989586621681327330 :: Type). (~>) (ErrorMessage' s6989586621681327330) ((~>) (ErrorMessage' s6989586621681327330) (ErrorMessage' (s6989586621681327330 :: Type)))
infixl 5 :$$:@#@$
data (:$$:@#@$$) (t6989586621681328082 :: ErrorMessage' (s6989586621681327330 :: Type)) :: (~>) (ErrorMessage' s6989586621681327330) (ErrorMessage' (s6989586621681327330 :: Type))
infixl 5 :$$:@#@$$
type (:$$:@#@$$$) (t6989586621681328082 :: ErrorMessage' s6989586621681327330) (t6989586621681328083 :: ErrorMessage' s6989586621681327330) = '(:$$:) t6989586621681328082 t6989586621681328083
data TypeErrorSym0 :: forall b6989586621681327314. (~>) PErrorMessage b6989586621681327314
type TypeErrorSym1 (a6989586621681327315 :: PErrorMessage) = TypeError a6989586621681327315
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 s6989586621681327330 (t6989586621681328082 :: Data.Singletons.TypeError.ErrorMessage' s6989586621681327330). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.TypeError.:$$:@#@$$) t6989586621681328082)
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 s6989586621681327330 (t6989586621681328078 :: Data.Singletons.TypeError.ErrorMessage' s6989586621681327330). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.TypeError.:<>:@#@$$) t6989586621681328078)
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_a1gkK :: a_11) (n_a1gkL :: [a_11]). () => Sing (n_a1gkK :: a_11) -> Sing (n_a1gkL :: [a_11]) -> SList ('(:) n_a1gkK n_a1gkL)
infixr 5 `SCons`
data SMaybe :: forall a_11. Maybe a_11 -> Type
[SNothing] :: SMaybe 'Nothing
[SJust] :: forall a_11 (n_a1gkl :: a_11). () => Sing (n_a1gkl :: a_11) -> SMaybe ('Just n_a1gkl)
data SEither :: forall a_ajQQ b_ajQR. Either a_ajQQ b_ajQR -> Type
[SLeft] :: forall a_ajQQ (n_a1gls :: a_ajQQ). () => Sing (n_a1gls :: a_ajQQ) -> SEither ('Left n_a1gls)
[SRight] :: forall b_ajQR (n_a1glu :: b_ajQR). () => Sing (n_a1glu :: b_ajQR) -> SEither ('Right n_a1glu)
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_a1gmg :: a_11) (n_a1gmh :: b_12). () => Sing (n_a1gmg :: a_11) -> Sing (n_a1gmh :: b_12) -> STuple2 '(n_a1gmg, n_a1gmh)
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_a1gmN :: a_11) (n_a1gmO :: b_12) (n_a1gmP :: c_13). () => Sing (n_a1gmN :: a_11) -> Sing (n_a1gmO :: b_12) -> Sing (n_a1gmP :: c_13) -> STuple3 '(n_a1gmN, n_a1gmO, n_a1gmP)
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_a1gnA :: a_11) (n_a1gnB :: b_12) (n_a1gnC :: c_13) (n_a1gnD :: d_14). () => Sing (n_a1gnA :: a_11) -> Sing (n_a1gnB :: b_12) -> Sing (n_a1gnC :: c_13) -> Sing (n_a1gnD :: d_14) -> STuple4 '(n_a1gnA, n_a1gnB, n_a1gnC, n_a1gnD)
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_a1goF :: a_11) (n_a1goG :: b_12) (n_a1goH :: c_13) (n_a1goI :: d_14) (n_a1goJ :: e_15). () => Sing (n_a1goF :: a_11) -> Sing (n_a1goG :: b_12) -> Sing (n_a1goH :: c_13) -> Sing (n_a1goI :: d_14) -> Sing (n_a1goJ :: e_15) -> STuple5 '(n_a1goF, n_a1goG, n_a1goH, n_a1goI, n_a1goJ)
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_a1gq4 :: a_11) (n_a1gq5 :: b_12) (n_a1gq6 :: c_13) (n_a1gq7 :: d_14) (n_a1gq8 :: e_15) (n_a1gq9 :: f_16). () => Sing (n_a1gq4 :: a_11) -> Sing (n_a1gq5 :: b_12) -> Sing (n_a1gq6 :: c_13) -> Sing (n_a1gq7 :: d_14) -> Sing (n_a1gq8 :: e_15) -> Sing (n_a1gq9 :: f_16) -> STuple6 '(n_a1gq4, n_a1gq5, n_a1gq6, n_a1gq7, n_a1gq8, n_a1gq9)
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_a1grP :: a_11) (n_a1grQ :: b_12) (n_a1grR :: c_13) (n_a1grS :: d_14) (n_a1grT :: e_15) (n_a1grU :: f_16) (n_a1grV :: g_17). () => Sing (n_a1grP :: a_11) -> Sing (n_a1grQ :: b_12) -> Sing (n_a1grR :: c_13) -> Sing (n_a1grS :: d_14) -> Sing (n_a1grT :: e_15) -> Sing (n_a1grU :: f_16) -> Sing (n_a1grV :: g_17) -> STuple7 '(n_a1grP, n_a1grQ, n_a1grR, n_a1grS, n_a1grT, n_a1grU, n_a1grV)
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_a1APt :: Type) where {
    type family Compare (arg_a1AQU :: a_a1APt) (arg_a1AQV :: a_a1APt) :: Ordering;
    type family (<) (arg_a1AQY :: a_a1APt) (arg_a1AQZ :: a_a1APt) :: Bool;
    type family (<=) (arg_a1AR2 :: a_a1APt) (arg_a1AR3 :: a_a1APt) :: Bool;
    type family (>) (arg_a1AR6 :: a_a1APt) (arg_a1AR7 :: a_a1APt) :: Bool;
    type family (>=) (arg_a1ARa :: a_a1APt) (arg_a1ARb :: a_a1APt) :: Bool;
    type family Max (arg_a1ARe :: a_a1APt) (arg_a1ARf :: a_a1APt) :: a_a1APt;
    type family Min (arg_a1ARi :: a_a1APt) (arg_a1ARj :: a_a1APt) :: a_a1APt;
    type Compare a_a1ARm a_a1ARn = Apply (Apply Compare_6989586621679389814Sym0 a_a1ARm) a_a1ARn;
    type (<) a_a1ARK a_a1ARL = Apply (Apply TFHelper_6989586621679389838Sym0 a_a1ARK) a_a1ARL;
    type (<=) a_a1AS2 a_a1AS3 = Apply (Apply TFHelper_6989586621679389856Sym0 a_a1AS2) a_a1AS3;
    type (>) a_a1ASk a_a1ASl = Apply (Apply TFHelper_6989586621679389874Sym0 a_a1ASk) a_a1ASl;
    type (>=) a_a1ASC a_a1ASD = Apply (Apply TFHelper_6989586621679389892Sym0 a_a1ASC) a_a1ASD;
    type Max a_a1ASU a_a1ASV = Apply (Apply Max_6989586621679389910Sym0 a_a1ASU) a_a1ASV;
    type Min a_a1ATc a_a1ATd = Apply (Apply Min_6989586621679389928Sym0 a_a1ATc) a_a1ATd;
}
infix 4 >=
infix 4 <
infix 4 <=
infix 4 >
class SEq a_a1APt => SOrd a_a1APt
sCompare :: forall (t_a1ATD :: a_a1APt) (t_a1ATE :: a_a1APt). SOrd a_a1APt => Sing t_a1ATD -> Sing t_a1ATE -> Sing (Apply (Apply CompareSym0 t_a1ATD) t_a1ATE :: Ordering)
(%<) :: forall (t_a1ATH :: a_a1APt) (t_a1ATI :: a_a1APt). SOrd a_a1APt => Sing t_a1ATH -> Sing t_a1ATI -> Sing (Apply (Apply (<@#@$) t_a1ATH) t_a1ATI :: Bool)
(%<=) :: forall (t_a1ATL :: a_a1APt) (t_a1ATM :: a_a1APt). SOrd a_a1APt => Sing t_a1ATL -> Sing t_a1ATM -> Sing (Apply (Apply (<=@#@$) t_a1ATL) t_a1ATM :: Bool)
(%>) :: forall (t_a1ATP :: a_a1APt) (t_a1ATQ :: a_a1APt). SOrd a_a1APt => Sing t_a1ATP -> Sing t_a1ATQ -> Sing (Apply (Apply (>@#@$) t_a1ATP) t_a1ATQ :: Bool)
(%>=) :: forall (t_a1ATT :: a_a1APt) (t_a1ATU :: a_a1APt). SOrd a_a1APt => Sing t_a1ATT -> Sing t_a1ATU -> Sing (Apply (Apply (>=@#@$) t_a1ATT) t_a1ATU :: Bool)
sMax :: forall (t_a1ATX :: a_a1APt) (t_a1ATY :: a_a1APt). SOrd a_a1APt => Sing t_a1ATX -> Sing t_a1ATY -> Sing (Apply (Apply MaxSym0 t_a1ATX) t_a1ATY :: a_a1APt)
sMin :: forall (t_a1AU1 :: a_a1APt) (t_a1AU2 :: a_a1APt). SOrd a_a1APt => Sing t_a1AU1 -> Sing t_a1AU2 -> Sing (Apply (Apply MinSym0 t_a1AU1) t_a1AU2 :: a_a1APt)
sCompare :: forall (t_a1ATD :: a_a1APt) (t_a1ATE :: a_a1APt). (SOrd a_a1APt, (Apply (Apply CompareSym0 t_a1ATD) t_a1ATE :: Ordering) ~ Apply (Apply Compare_6989586621679389814Sym0 t_a1ATD) t_a1ATE) => Sing t_a1ATD -> Sing t_a1ATE -> Sing (Apply (Apply CompareSym0 t_a1ATD) t_a1ATE :: Ordering)
(%<) :: forall (t_a1ATH :: a_a1APt) (t_a1ATI :: a_a1APt). (SOrd a_a1APt, (Apply (Apply (<@#@$) t_a1ATH) t_a1ATI :: Bool) ~ Apply (Apply TFHelper_6989586621679389838Sym0 t_a1ATH) t_a1ATI) => Sing t_a1ATH -> Sing t_a1ATI -> Sing (Apply (Apply (<@#@$) t_a1ATH) t_a1ATI :: Bool)
(%<=) :: forall (t_a1ATL :: a_a1APt) (t_a1ATM :: a_a1APt). (SOrd a_a1APt, (Apply (Apply (<=@#@$) t_a1ATL) t_a1ATM :: Bool) ~ Apply (Apply TFHelper_6989586621679389856Sym0 t_a1ATL) t_a1ATM) => Sing t_a1ATL -> Sing t_a1ATM -> Sing (Apply (Apply (<=@#@$) t_a1ATL) t_a1ATM :: Bool)
(%>) :: forall (t_a1ATP :: a_a1APt) (t_a1ATQ :: a_a1APt). (SOrd a_a1APt, (Apply (Apply (>@#@$) t_a1ATP) t_a1ATQ :: Bool) ~ Apply (Apply TFHelper_6989586621679389874Sym0 t_a1ATP) t_a1ATQ) => Sing t_a1ATP -> Sing t_a1ATQ -> Sing (Apply (Apply (>@#@$) t_a1ATP) t_a1ATQ :: Bool)
(%>=) :: forall (t_a1ATT :: a_a1APt) (t_a1ATU :: a_a1APt). (SOrd a_a1APt, (Apply (Apply (>=@#@$) t_a1ATT) t_a1ATU :: Bool) ~ Apply (Apply TFHelper_6989586621679389892Sym0 t_a1ATT) t_a1ATU) => Sing t_a1ATT -> Sing t_a1ATU -> Sing (Apply (Apply (>=@#@$) t_a1ATT) t_a1ATU :: Bool)
sMax :: forall (t_a1ATX :: a_a1APt) (t_a1ATY :: a_a1APt). (SOrd a_a1APt, (Apply (Apply MaxSym0 t_a1ATX) t_a1ATY :: a_a1APt) ~ Apply (Apply Max_6989586621679389910Sym0 t_a1ATX) t_a1ATY) => Sing t_a1ATX -> Sing t_a1ATY -> Sing (Apply (Apply MaxSym0 t_a1ATX) t_a1ATY :: a_a1APt)
sMin :: forall (t_a1AU1 :: a_a1APt) (t_a1AU2 :: a_a1APt). (SOrd a_a1APt, (Apply (Apply MinSym0 t_a1AU1) t_a1AU2 :: a_a1APt) ~ Apply (Apply Min_6989586621679389928Sym0 t_a1AU1) t_a1AU2) => Sing t_a1AU1 -> Sing t_a1AU2 -> Sing (Apply (Apply MinSym0 t_a1AU1) t_a1AU2 :: a_a1APt)
infix 4 %<=
infix 4 %>=
infix 4 %>
infix 4 %<
class SBounded a_a38Wv
sMinBound :: SBounded a_a38Wv => Sing (MinBoundSym0 :: a_a38Wv)
sMaxBound :: SBounded a_a38Wv => Sing (MaxBoundSym0 :: a_a38Wv)
class PBounded (a_a38Wv :: Type) where {
    type family MinBound :: a_a38Wv;
    type family MaxBound :: a_a38Wv;
}
type MaxBoundSym0 = MaxBound
type MinBoundSym0 = MinBound
class SEnum a_a39Yk
sToEnum :: forall (t_a3a5W :: Nat). SEnum a_a39Yk => Sing t_a3a5W -> Sing (Apply ToEnumSym0 t_a3a5W :: a_a39Yk)
sFromEnum :: forall (t_a3a5Y :: a_a39Yk). SEnum a_a39Yk => Sing t_a3a5Y -> Sing (Apply FromEnumSym0 t_a3a5Y :: Nat)
sEnumFromTo :: forall (t_a3a60 :: a_a39Yk) (t_a3a61 :: a_a39Yk). SEnum a_a39Yk => Sing t_a3a60 -> Sing t_a3a61 -> Sing (Apply (Apply EnumFromToSym0 t_a3a60) t_a3a61 :: [a_a39Yk])
sEnumFromThenTo :: forall (t_a3a64 :: a_a39Yk) (t_a3a65 :: a_a39Yk) (t_a3a66 :: a_a39Yk). SEnum a_a39Yk => Sing t_a3a64 -> Sing t_a3a65 -> Sing t_a3a66 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3a64) t_a3a65) t_a3a66 :: [a_a39Yk])
sEnumFromTo :: forall (t_a3a60 :: a_a39Yk) (t_a3a61 :: a_a39Yk). (SEnum a_a39Yk, (Apply (Apply EnumFromToSym0 t_a3a60) t_a3a61 :: [a_a39Yk]) ~ Apply (Apply EnumFromTo_6989586621679763440Sym0 t_a3a60) t_a3a61) => Sing t_a3a60 -> Sing t_a3a61 -> Sing (Apply (Apply EnumFromToSym0 t_a3a60) t_a3a61 :: [a_a39Yk])
sEnumFromThenTo :: forall (t_a3a64 :: a_a39Yk) (t_a3a65 :: a_a39Yk) (t_a3a66 :: a_a39Yk). (SEnum a_a39Yk, (Apply (Apply (Apply EnumFromThenToSym0 t_a3a64) t_a3a65) t_a3a66 :: [a_a39Yk]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679763453Sym0 t_a3a64) t_a3a65) t_a3a66) => Sing t_a3a64 -> Sing t_a3a65 -> Sing t_a3a66 -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3a64) t_a3a65) t_a3a66 :: [a_a39Yk])
class PEnum (a_a39Yk :: Type) where {
    type family ToEnum (arg_a3a2Y :: Nat) :: a_a39Yk;
    type family FromEnum (arg_a3a30 :: a_a39Yk) :: Nat;
    type family EnumFromTo (arg_a3a32 :: a_a39Yk) (arg_a3a33 :: a_a39Yk) :: [a_a39Yk];
    type family EnumFromThenTo (arg_a3a36 :: a_a39Yk) (arg_a3a37 :: a_a39Yk) (arg_a3a38 :: a_a39Yk) :: [a_a39Yk];
    type Succ a_a3a3c = Apply Succ_6989586621679763415Sym0 a_a3a3c;
    type Pred a_a3a3r = Apply Pred_6989586621679763430Sym0 a_a3a3r;
    type EnumFromTo a_a3a3A a_a3a3B = Apply (Apply EnumFromTo_6989586621679763440Sym0 a_a3a3A) a_a3a3B;
    type EnumFromThenTo a_a3a3M a_a3a3N a_a3a3O = Apply (Apply (Apply EnumFromThenTo_6989586621679763453Sym0 a_a3a3M) a_a3a3N) a_a3a3O;
}
data EnumFromThenToSym0 :: forall a6989586621679763112. (~>) a6989586621679763112 ((~>) a6989586621679763112 ((~>) a6989586621679763112 [a6989586621679763112]))
data EnumFromThenToSym1 (arg6989586621679763408 :: a6989586621679763112) :: (~>) a6989586621679763112 ((~>) a6989586621679763112 [a6989586621679763112])
data EnumFromThenToSym2 (arg6989586621679763408 :: a6989586621679763112) (arg6989586621679763409 :: a6989586621679763112) :: (~>) a6989586621679763112 [a6989586621679763112]
type EnumFromThenToSym3 (arg6989586621679763408 :: a6989586621679763112) (arg6989586621679763409 :: a6989586621679763112) (arg6989586621679763410 :: a6989586621679763112) = EnumFromThenTo arg6989586621679763408 arg6989586621679763409 arg6989586621679763410
data EnumFromToSym0 :: forall a6989586621679763112. (~>) a6989586621679763112 ((~>) a6989586621679763112 [a6989586621679763112])
data EnumFromToSym1 (arg6989586621679763404 :: a6989586621679763112) :: (~>) a6989586621679763112 [a6989586621679763112]
type EnumFromToSym2 (arg6989586621679763404 :: a6989586621679763112) (arg6989586621679763405 :: a6989586621679763112) = EnumFromTo arg6989586621679763404 arg6989586621679763405
data FromEnumSym0 :: forall a6989586621679763112. (~>) a6989586621679763112 Nat
type FromEnumSym1 (arg6989586621679763402 :: a6989586621679763112) = FromEnum arg6989586621679763402
data ToEnumSym0 :: forall a6989586621679763112. (~>) Nat a6989586621679763112
type ToEnumSym1 (arg6989586621679763400 :: Nat) = ToEnum arg6989586621679763400
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_a5ndM :: Type) where {
    type family ShowsPrec (arg_a5nkQ :: Nat) (arg_a5nkR :: a_a5ndM) (arg_a5nkS :: Symbol) :: Symbol;
    type family Show_ (arg_a5nkW :: a_a5ndM) :: Symbol;
    type family ShowList (arg_a5nkY :: [a_a5ndM]) (arg_a5nkZ :: Symbol) :: Symbol;
    type ShowsPrec a_a5nl2 a_a5nl3 a_a5nl4 = Apply (Apply (Apply ShowsPrec_6989586621680291151Sym0 a_a5nl2) a_a5nl3) a_a5nl4;
    type Show_ a_a5nli = Apply Show__6989586621680291165Sym0 a_a5nli;
    type ShowList a_a5nlp a_a5nlq = Apply (Apply ShowList_6989586621680291173Sym0 a_a5nlp) a_a5nlq;
}
class SShow a_a5ndM
sShowsPrec :: forall (t_a5noZ :: Nat) (t_a5np0 :: a_a5ndM) (t_a5np1 :: Symbol). SShow a_a5ndM => Sing t_a5noZ -> Sing t_a5np0 -> Sing t_a5np1 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5noZ) t_a5np0) t_a5np1 :: Symbol)
sShow_ :: forall (t_a5np5 :: a_a5ndM). SShow a_a5ndM => Sing t_a5np5 -> Sing (Apply Show_Sym0 t_a5np5 :: Symbol)
sShowList :: forall (t_a5np7 :: [a_a5ndM]) (t_a5np8 :: Symbol). SShow a_a5ndM => Sing t_a5np7 -> Sing t_a5np8 -> Sing (Apply (Apply ShowListSym0 t_a5np7) t_a5np8 :: Symbol)
sShowsPrec :: forall (t_a5noZ :: Nat) (t_a5np0 :: a_a5ndM) (t_a5np1 :: Symbol). (SShow a_a5ndM, (Apply (Apply (Apply ShowsPrecSym0 t_a5noZ) t_a5np0) t_a5np1 :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621680291151Sym0 t_a5noZ) t_a5np0) t_a5np1) => Sing t_a5noZ -> Sing t_a5np0 -> Sing t_a5np1 -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5noZ) t_a5np0) t_a5np1 :: Symbol)
sShow_ :: forall (t_a5np5 :: a_a5ndM). (SShow a_a5ndM, (Apply Show_Sym0 t_a5np5 :: Symbol) ~ Apply Show__6989586621680291165Sym0 t_a5np5) => Sing t_a5np5 -> Sing (Apply Show_Sym0 t_a5np5 :: Symbol)
sShowList :: forall (t_a5np7 :: [a_a5ndM]) (t_a5np8 :: Symbol). (SShow a_a5ndM, (Apply (Apply ShowListSym0 t_a5np7) t_a5np8 :: Symbol) ~ Apply (Apply ShowList_6989586621680291173Sym0 t_a5np7) t_a5np8) => Sing t_a5np7 -> Sing t_a5np8 -> Sing (Apply (Apply ShowListSym0 t_a5np7) t_a5np8 :: 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_a5nkI :: a_a5ndx) (a_a5nkJ :: Symbol) :: Symbol
sShows :: forall a_a5ndx (t_a5noA :: a_a5ndx) (t_a5noB :: Symbol). SShow a_a5ndx => Sing t_a5noA -> Sing t_a5noB -> Sing (Apply (Apply ShowsSym0 t_a5noA) t_a5noB :: Symbol)
type family ShowChar (a_a5nki :: Symbol) (a_a5nkj :: Symbol) :: Symbol
sShowChar :: forall (t_a5noq :: Symbol) (t_a5nor :: Symbol). Sing t_a5noq -> Sing t_a5nor -> Sing (Apply (Apply ShowCharSym0 t_a5noq) t_a5nor :: Symbol)
type family ShowString (a_a5nk8 :: Symbol) (a_a5nk9 :: Symbol) :: Symbol
sShowString :: forall (t_a5nom :: Symbol) (t_a5non :: Symbol). Sing t_a5nom -> Sing t_a5non -> Sing (Apply (Apply ShowStringSym0 t_a5nom) t_a5non :: Symbol)
type family ShowParen (a_a5njQ :: Bool) (a_a5njR :: (~>) Symbol Symbol) (a_a5njS :: Symbol) :: Symbol
sShowParen :: forall (t_a5nog :: Bool) (t_a5noh :: (~>) Symbol Symbol) (t_a5noi :: Symbol). Sing t_a5nog -> Sing t_a5noh -> Sing t_a5noi -> Sing (Apply (Apply (Apply ShowParenSym0 t_a5nog) t_a5noh) t_a5noi :: Symbol)
class PSemigroup (a_a3t73 :: Type) where {
    type family (<>) (arg_a3taQ :: a_a3t73) (arg_a3taR :: a_a3t73) :: a_a3t73;
    type Sconcat a_a3taW = Apply Sconcat_6989586621679836931Sym0 a_a3taW;
}
infixr 6 <>
class SSemigroup a_a3t73
(%<>) :: forall (t_a3teF :: a_a3t73) (t_a3teG :: a_a3t73). SSemigroup a_a3t73 => Sing t_a3teF -> Sing t_a3teG -> Sing (Apply (Apply (<>@#@$) t_a3teF) t_a3teG :: a_a3t73)
infixr 6 %<>
class PMonoid (a_a5Fsq :: Type) where {
    type family Mempty :: a_a5Fsq;
    type family Mappend (arg_a5FuF :: a_a5Fsq) (arg_a5FuG :: a_a5Fsq) :: a_a5Fsq;
    type family Mconcat (arg_a5FuJ :: [a_a5Fsq]) :: a_a5Fsq;
    type Mappend a_a5FuL a_a5FuM = Apply (Apply Mappend_6989586621680360945Sym0 a_a5FuL) a_a5FuM;
    type Mconcat a_a5Fv1 = Apply Mconcat_6989586621680360960Sym0 a_a5Fv1;
}
class SSemigroup a_a5Fsq => SMonoid a_a5Fsq
sMempty :: SMonoid a_a5Fsq => Sing (MemptySym0 :: a_a5Fsq)
sMappend :: forall (t_a5FvZ :: a_a5Fsq) (t_a5Fw0 :: a_a5Fsq). SMonoid a_a5Fsq => Sing t_a5FvZ -> Sing t_a5Fw0 -> Sing (Apply (Apply MappendSym0 t_a5FvZ) t_a5Fw0 :: a_a5Fsq)
sMconcat :: forall (t_a5Fw3 :: [a_a5Fsq]). SMonoid a_a5Fsq => Sing t_a5Fw3 -> Sing (Apply MconcatSym0 t_a5Fw3 :: a_a5Fsq)
sMappend :: forall (t_a5FvZ :: a_a5Fsq) (t_a5Fw0 :: a_a5Fsq). (SMonoid a_a5Fsq, (Apply (Apply MappendSym0 t_a5FvZ) t_a5Fw0 :: a_a5Fsq) ~ Apply (Apply Mappend_6989586621680360945Sym0 t_a5FvZ) t_a5Fw0) => Sing t_a5FvZ -> Sing t_a5Fw0 -> Sing (Apply (Apply MappendSym0 t_a5FvZ) t_a5Fw0 :: a_a5Fsq)
sMconcat :: forall (t_a5Fw3 :: [a_a5Fsq]). (SMonoid a_a5Fsq, (Apply MconcatSym0 t_a5Fw3 :: a_a5Fsq) ~ Apply Mconcat_6989586621680360960Sym0 t_a5Fw3) => Sing t_a5Fw3 -> Sing (Apply MconcatSym0 t_a5Fw3 :: a_a5Fsq)
class PFunctor (f_a2kVy :: Type -> Type) where {
    type family Fmap (arg_a2l1S :: (~>) a_a2kVz b_a2kVA) (arg_a2l1T :: f_a2kVy a_a2kVz) :: f_a2kVy b_a2kVA;
    type family (<$) (arg_a2l1W :: a_a2kVB) (arg_a2l1X :: f_a2kVy b_a2kVC) :: f_a2kVy a_a2kVB;
    type (<$) a_a2l20 a_a2l21 = Apply (Apply TFHelper_6989586621679567298Sym0 a_a2l20) a_a2l21;
}
infixl 4 <$
class SFunctor (f_a2kVy :: Type -> Type)
sFmap :: forall a_a2kVz b_a2kVA (t_a2l6a :: (~>) a_a2kVz b_a2kVA) (t_a2l6b :: f_a2kVy a_a2kVz). SFunctor f_a2kVy => Sing t_a2l6a -> Sing t_a2l6b -> Sing (Apply (Apply FmapSym0 t_a2l6a) t_a2l6b :: f_a2kVy b_a2kVA)
(%<$) :: forall a_a2kVB b_a2kVC (t_a2l6e :: a_a2kVB) (t_a2l6f :: f_a2kVy b_a2kVC). SFunctor f_a2kVy => Sing t_a2l6e -> Sing t_a2l6f -> Sing (Apply (Apply (<$@#@$) t_a2l6e) t_a2l6f :: f_a2kVy a_a2kVB)
(%<$) :: forall a_a2kVB b_a2kVC (t_a2l6e :: a_a2kVB) (t_a2l6f :: f_a2kVy b_a2kVC). (SFunctor f_a2kVy, (Apply (Apply (<$@#@$) t_a2l6e) t_a2l6f :: f_a2kVy a_a2kVB) ~ Apply (Apply TFHelper_6989586621679567298Sym0 t_a2l6e) t_a2l6f) => Sing t_a2l6e -> Sing t_a2l6f -> Sing (Apply (Apply (<$@#@$) t_a2l6e) t_a2l6f :: f_a2kVy a_a2kVB)
infixl 4 %<$
type family (<$>) (a_a33dE :: (~>) a_a33cl b_a33cm) (a_a33dF :: f_a33ck a_a33cl) :: f_a33ck b_a33cm
infixl 4 <$>
(%<$>) :: forall a_a33cl b_a33cm f_a33ck (t_a33fd :: (~>) a_a33cl b_a33cm) (t_a33fe :: f_a33ck a_a33cl). SFunctor f_a33ck => Sing t_a33fd -> Sing t_a33fe -> Sing (Apply (Apply (<$>@#@$) t_a33fd) t_a33fe :: f_a33ck b_a33cm)
infixl 4 %<$>
class PApplicative (f_a2kVD :: Type -> Type) where {
    type family Pure (arg_a2l2g :: a_a2kVE) :: f_a2kVD a_a2kVE;
    type family (<*>) (arg_a2l2i :: f_a2kVD ((~>) a_a2kVF b_a2kVG)) (arg_a2l2j :: f_a2kVD a_a2kVF) :: f_a2kVD b_a2kVG;
    type family (*>) (arg_a2l2s :: f_a2kVD a_a2kVK) (arg_a2l2t :: f_a2kVD b_a2kVL) :: f_a2kVD b_a2kVL;
    type family (<*) (arg_a2l2w :: f_a2kVD a_a2kVM) (arg_a2l2x :: f_a2kVD b_a2kVN) :: f_a2kVD a_a2kVM;
    type (<*>) a_a2l2A a_a2l2B = Apply (Apply TFHelper_6989586621679567334Sym0 a_a2l2A) a_a2l2B;
    type LiftA2 a_a2l2Q a_a2l2R a_a2l2S = Apply (Apply (Apply LiftA2_6989586621679567351Sym0 a_a2l2Q) a_a2l2R) a_a2l2S;
    type (*>) a_a2l39 a_a2l3a = Apply (Apply TFHelper_6989586621679567369Sym0 a_a2l39) a_a2l3a;
    type (<*) a_a2l3l a_a2l3m = Apply (Apply TFHelper_6989586621679567381Sym0 a_a2l3l) a_a2l3m;
}
infixl 4 <*>
infixl 4 *>
infixl 4 <*
class SFunctor f_a2kVD => SApplicative (f_a2kVD :: Type -> Type)
sPure :: forall a_a2kVE (t_a2l6k :: a_a2kVE). SApplicative f_a2kVD => Sing t_a2l6k -> Sing (Apply PureSym0 t_a2l6k :: f_a2kVD a_a2kVE)
(%<*>) :: forall a_a2kVF b_a2kVG (t_a2l6m :: f_a2kVD ((~>) a_a2kVF b_a2kVG)) (t_a2l6n :: f_a2kVD a_a2kVF). SApplicative f_a2kVD => Sing t_a2l6m -> Sing t_a2l6n -> Sing (Apply (Apply (<*>@#@$) t_a2l6m) t_a2l6n :: f_a2kVD b_a2kVG)
(%*>) :: forall a_a2kVK b_a2kVL (t_a2l6w :: f_a2kVD a_a2kVK) (t_a2l6x :: f_a2kVD b_a2kVL). SApplicative f_a2kVD => Sing t_a2l6w -> Sing t_a2l6x -> Sing (Apply (Apply (*>@#@$) t_a2l6w) t_a2l6x :: f_a2kVD b_a2kVL)
(%<*) :: forall a_a2kVM b_a2kVN (t_a2l6A :: f_a2kVD a_a2kVM) (t_a2l6B :: f_a2kVD b_a2kVN). SApplicative f_a2kVD => Sing t_a2l6A -> Sing t_a2l6B -> Sing (Apply (Apply (<*@#@$) t_a2l6A) t_a2l6B :: f_a2kVD a_a2kVM)
(%<*>) :: forall a_a2kVF b_a2kVG (t_a2l6m :: f_a2kVD ((~>) a_a2kVF b_a2kVG)) (t_a2l6n :: f_a2kVD a_a2kVF). (SApplicative f_a2kVD, (Apply (Apply (<*>@#@$) t_a2l6m) t_a2l6n :: f_a2kVD b_a2kVG) ~ Apply (Apply TFHelper_6989586621679567334Sym0 t_a2l6m) t_a2l6n) => Sing t_a2l6m -> Sing t_a2l6n -> Sing (Apply (Apply (<*>@#@$) t_a2l6m) t_a2l6n :: f_a2kVD b_a2kVG)
(%*>) :: forall a_a2kVK b_a2kVL (t_a2l6w :: f_a2kVD a_a2kVK) (t_a2l6x :: f_a2kVD b_a2kVL). (SApplicative f_a2kVD, (Apply (Apply (*>@#@$) t_a2l6w) t_a2l6x :: f_a2kVD b_a2kVL) ~ Apply (Apply TFHelper_6989586621679567369Sym0 t_a2l6w) t_a2l6x) => Sing t_a2l6w -> Sing t_a2l6x -> Sing (Apply (Apply (*>@#@$) t_a2l6w) t_a2l6x :: f_a2kVD b_a2kVL)
(%<*) :: forall a_a2kVM b_a2kVN (t_a2l6A :: f_a2kVD a_a2kVM) (t_a2l6B :: f_a2kVD b_a2kVN). (SApplicative f_a2kVD, (Apply (Apply (<*@#@$) t_a2l6A) t_a2l6B :: f_a2kVD a_a2kVM) ~ Apply (Apply TFHelper_6989586621679567381Sym0 t_a2l6A) t_a2l6B) => Sing t_a2l6A -> Sing t_a2l6B -> Sing (Apply (Apply (<*@#@$) t_a2l6A) t_a2l6B :: f_a2kVD a_a2kVM)
infixl 4 %<*>
infixl 4 %*>
infixl 4 %<*
class PMonad (m_a2kW1 :: Type -> Type) where {
    type family (>>=) (arg_a2l3B :: m_a2kW1 a_a2kW2) (arg_a2l3C :: (~>) a_a2kW2 (m_a2kW1 b_a2kW3)) :: m_a2kW1 b_a2kW3;
    type family (>>) (arg_a2l3F :: m_a2kW1 a_a2kW4) (arg_a2l3G :: m_a2kW1 b_a2kW5) :: m_a2kW1 b_a2kW5;
    type family Return (arg_a2l3J :: a_a2kW6) :: m_a2kW1 a_a2kW6;
    type (>>) a_a2l3L a_a2l3M = Apply (Apply TFHelper_6989586621679567407Sym0 a_a2l3L) a_a2l3M;
    type Return a_a2l47 = Apply Return_6989586621679567428Sym0 a_a2l47;
}
infixl 1 >>=
infixl 1 >>
class SApplicative m_a2kW1 => SMonad (m_a2kW1 :: Type -> Type)
(%>>=) :: forall a_a2kW2 b_a2kW3 (t_a2l6L :: m_a2kW1 a_a2kW2) (t_a2l6M :: (~>) a_a2kW2 (m_a2kW1 b_a2kW3)). SMonad m_a2kW1 => Sing t_a2l6L -> Sing t_a2l6M -> Sing (Apply (Apply (>>=@#@$) t_a2l6L) t_a2l6M :: m_a2kW1 b_a2kW3)
(%>>) :: forall a_a2kW4 b_a2kW5 (t_a2l6P :: m_a2kW1 a_a2kW4) (t_a2l6Q :: m_a2kW1 b_a2kW5). SMonad m_a2kW1 => Sing t_a2l6P -> Sing t_a2l6Q -> Sing (Apply (Apply (>>@#@$) t_a2l6P) t_a2l6Q :: m_a2kW1 b_a2kW5)
sReturn :: forall a_a2kW6 (t_a2l6T :: a_a2kW6). SMonad m_a2kW1 => Sing t_a2l6T -> Sing (Apply ReturnSym0 t_a2l6T :: m_a2kW1 a_a2kW6)
(%>>) :: forall a_a2kW4 b_a2kW5 (t_a2l6P :: m_a2kW1 a_a2kW4) (t_a2l6Q :: m_a2kW1 b_a2kW5). (SMonad m_a2kW1, (Apply (Apply (>>@#@$) t_a2l6P) t_a2l6Q :: m_a2kW1 b_a2kW5) ~ Apply (Apply TFHelper_6989586621679567407Sym0 t_a2l6P) t_a2l6Q) => Sing t_a2l6P -> Sing t_a2l6Q -> Sing (Apply (Apply (>>@#@$) t_a2l6P) t_a2l6Q :: m_a2kW1 b_a2kW5)
sReturn :: forall a_a2kW6 (t_a2l6T :: a_a2kW6). (SMonad m_a2kW1, (Apply ReturnSym0 t_a2l6T :: m_a2kW1 a_a2kW6) ~ Apply Return_6989586621679567428Sym0 t_a2l6T) => Sing t_a2l6T -> Sing (Apply ReturnSym0 t_a2l6T :: m_a2kW1 a_a2kW6)
infixl 1 %>>=
infixl 1 %>>
class PMonadFail (m_a32EI :: Type -> Type) where {
    type family Fail (arg_a32F2 :: [Char]) :: m_a32EI a_a32EJ;
}
class SMonad m_a32EI => SMonadFail (m_a32EI :: Type -> Type)
sFail :: forall a_a32EJ (t_a32Fg :: [Char]). SMonadFail m_a32EI => Sing t_a32Fg -> Sing (Apply FailSym0 t_a32Fg :: m_a32EI a_a32EJ)
type family MapM_ (a_a6ck0 :: (~>) a_a6cag (m_a6caf b_a6cah)) (a_a6ck1 :: t_a6cae a_a6cag) :: m_a6caf ()
sMapM_ :: forall a_a6cag m_a6caf b_a6cah t_a6cae (t_a6cFX :: (~>) a_a6cag (m_a6caf b_a6cah)) (t_a6cFY :: t_a6cae a_a6cag). (SFoldable t_a6cae, SMonad m_a6caf) => Sing t_a6cFX -> Sing t_a6cFY -> Sing (Apply (Apply MapM_Sym0 t_a6cFX) t_a6cFY :: m_a6caf ())
type family Sequence_ (a_a6cjI :: t_a6ca4 (m_a6ca5 a_a6ca6)) :: m_a6ca5 ()
sSequence_ :: forall t_a6ca4 m_a6ca5 a_a6ca6 (t_a6cFP :: t_a6ca4 (m_a6ca5 a_a6ca6)). (SFoldable t_a6ca4, SMonad m_a6ca5) => Sing t_a6cFP -> Sing (Apply Sequence_Sym0 t_a6cFP :: m_a6ca5 ())
type family (=<<) (a_a2l17 :: (~>) a_a2kUN (m_a2kUM b_a2kUO)) (a_a2l18 :: m_a2kUM a_a2kUN) :: m_a2kUM b_a2kUO
infixr 1 =<<
(%=<<) :: forall a_a2kUN m_a2kUM b_a2kUO (t_a2l5u :: (~>) a_a2kUN (m_a2kUM b_a2kUO)) (t_a2l5v :: m_a2kUM a_a2kUN). SMonad m_a2kUM => Sing t_a2l5u -> Sing t_a2l5v -> Sing (Apply (Apply (=<<@#@$) t_a2l5u) t_a2l5v :: m_a2kUM b_a2kUO)
infixr 1 %=<<
class PFoldable (t_a6cb9 :: Type -> Type) where {
    type family FoldMap (arg_a6cla :: (~>) a_a6cbc m_a6cbb) (arg_a6clb :: t_a6cb9 a_a6cbc) :: m_a6cbb;
    type family Foldr (arg_a6cle :: (~>) a_a6cbd ((~>) b_a6cbe b_a6cbe)) (arg_a6clf :: b_a6cbe) (arg_a6clg :: t_a6cb9 a_a6cbd) :: b_a6cbe;
    type family Foldl (arg_a6clq :: (~>) b_a6cbh ((~>) a_a6cbi b_a6cbh)) (arg_a6clr :: b_a6cbh) (arg_a6cls :: t_a6cb9 a_a6cbi) :: b_a6cbh;
    type family Foldr1 (arg_a6clC :: (~>) a_a6cbl ((~>) a_a6cbl a_a6cbl)) (arg_a6clD :: t_a6cb9 a_a6cbl) :: a_a6cbl;
    type family Foldl1 (arg_a6clG :: (~>) a_a6cbm ((~>) a_a6cbm a_a6cbm)) (arg_a6clH :: t_a6cb9 a_a6cbm) :: a_a6cbm;
    type family Elem (arg_a6clQ :: a_a6cbq) (arg_a6clR :: t_a6cb9 a_a6cbq) :: Bool;
    type family Maximum (arg_a6clU :: t_a6cb9 a_a6cbr) :: a_a6cbr;
    type family Minimum (arg_a6clW :: t_a6cb9 a_a6cbs) :: a_a6cbs;
    type family Sum (arg_a6clY :: t_a6cb9 a_a6cbt) :: a_a6cbt;
    type family Product (arg_a6cm0 :: t_a6cb9 a_a6cbu) :: a_a6cbu;
    type Fold a_a6cm2 = Apply Fold_6989586621680487255Sym0 a_a6cm2;
    type FoldMap a_a6cmb a_a6cmc = Apply (Apply FoldMap_6989586621680487265Sym0 a_a6cmb) a_a6cmc;
    type Foldr a_a6cmp a_a6cmq a_a6cmr = Apply (Apply (Apply Foldr_6989586621680487280Sym0 a_a6cmp) a_a6cmq) a_a6cmr;
    type Foldr' a_a6cmO a_a6cmP a_a6cmQ = Apply (Apply (Apply Foldr'_6989586621680487305Sym0 a_a6cmO) a_a6cmP) a_a6cmQ;
    type Foldl a_a6cni a_a6cnj a_a6cnk = Apply (Apply (Apply Foldl_6989586621680487335Sym0 a_a6cni) a_a6cnj) a_a6cnk;
    type Foldl' a_a6cnH a_a6cnI a_a6cnJ = Apply (Apply (Apply Foldl'_6989586621680487360Sym0 a_a6cnH) a_a6cnI) a_a6cnJ;
    type Foldr1 a_a6cob a_a6coc = Apply (Apply Foldr1_6989586621680487389Sym0 a_a6cob) a_a6coc;
    type Foldl1 a_a6coA a_a6coB = Apply (Apply Foldl1_6989586621680487414Sym0 a_a6coA) a_a6coB;
    type ToList a_a6coZ = Apply ToList_6989586621680487438Sym0 a_a6coZ;
    type Null a_a6cp8 = Apply Null_6989586621680487447Sym0 a_a6cp8;
    type Length a_a6cpt = Apply Length_6989586621680487468Sym0 a_a6cpt;
    type Elem a_a6cpP a_a6cpQ = Apply (Apply Elem_6989586621680487491Sym0 a_a6cpP) a_a6cpQ;
    type Maximum a_a6cq5 = Apply Maximum_6989586621680487506Sym0 a_a6cq5;
    type Minimum a_a6cqi = Apply Minimum_6989586621680487519Sym0 a_a6cqi;
    type Sum a_a6cqv = Apply Sum_6989586621680487532Sym0 a_a6cqv;
    type Product a_a6cqI = Apply Product_6989586621680487545Sym0 a_a6cqI;
}
class SFoldable (t_a6cb9 :: Type -> Type)
sFoldMap :: forall a_a6cbc m_a6cbb (t_a6cH2 :: (~>) a_a6cbc m_a6cbb) (t_a6cH3 :: t_a6cb9 a_a6cbc). (SFoldable t_a6cb9, SMonoid m_a6cbb) => Sing t_a6cH2 -> Sing t_a6cH3 -> Sing (Apply (Apply FoldMapSym0 t_a6cH2) t_a6cH3 :: m_a6cbb)
sFoldr :: forall a_a6cbd b_a6cbe (t_a6cH6 :: (~>) a_a6cbd ((~>) b_a6cbe b_a6cbe)) (t_a6cH7 :: b_a6cbe) (t_a6cH8 :: t_a6cb9 a_a6cbd). SFoldable t_a6cb9 => Sing t_a6cH6 -> Sing t_a6cH7 -> Sing t_a6cH8 -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cH6) t_a6cH7) t_a6cH8 :: b_a6cbe)
sFoldl :: forall b_a6cbh a_a6cbi (t_a6cHi :: (~>) b_a6cbh ((~>) a_a6cbi b_a6cbh)) (t_a6cHj :: b_a6cbh) (t_a6cHk :: t_a6cb9 a_a6cbi). SFoldable t_a6cb9 => Sing t_a6cHi -> Sing t_a6cHj -> Sing t_a6cHk -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cHi) t_a6cHj) t_a6cHk :: b_a6cbh)
sFoldr1 :: forall a_a6cbl (t_a6cHu :: (~>) a_a6cbl ((~>) a_a6cbl a_a6cbl)) (t_a6cHv :: t_a6cb9 a_a6cbl). SFoldable t_a6cb9 => Sing t_a6cHu -> Sing t_a6cHv -> Sing (Apply (Apply Foldr1Sym0 t_a6cHu) t_a6cHv :: a_a6cbl)
sFoldl1 :: forall a_a6cbm (t_a6cHy :: (~>) a_a6cbm ((~>) a_a6cbm a_a6cbm)) (t_a6cHz :: t_a6cb9 a_a6cbm). SFoldable t_a6cb9 => Sing t_a6cHy -> Sing t_a6cHz -> Sing (Apply (Apply Foldl1Sym0 t_a6cHy) t_a6cHz :: a_a6cbm)
sElem :: forall a_a6cbq (t_a6cHI :: a_a6cbq) (t_a6cHJ :: t_a6cb9 a_a6cbq). (SFoldable t_a6cb9, SEq a_a6cbq) => Sing t_a6cHI -> Sing t_a6cHJ -> Sing (Apply (Apply ElemSym0 t_a6cHI) t_a6cHJ :: Bool)
sMaximum :: forall a_a6cbr (t_a6cHM :: t_a6cb9 a_a6cbr). (SFoldable t_a6cb9, SOrd a_a6cbr) => Sing t_a6cHM -> Sing (Apply MaximumSym0 t_a6cHM :: a_a6cbr)
sMinimum :: forall a_a6cbs (t_a6cHO :: t_a6cb9 a_a6cbs). (SFoldable t_a6cb9, SOrd a_a6cbs) => Sing t_a6cHO -> Sing (Apply MinimumSym0 t_a6cHO :: a_a6cbs)
sSum :: forall a_a6cbt (t_a6cHQ :: t_a6cb9 a_a6cbt). (SFoldable t_a6cb9, SNum a_a6cbt) => Sing t_a6cHQ -> Sing (Apply SumSym0 t_a6cHQ :: a_a6cbt)
sProduct :: forall a_a6cbu (t_a6cHS :: t_a6cb9 a_a6cbu). (SFoldable t_a6cb9, SNum a_a6cbu) => Sing t_a6cHS -> Sing (Apply ProductSym0 t_a6cHS :: a_a6cbu)
sFoldMap :: forall a_a6cbc m_a6cbb (t_a6cH2 :: (~>) a_a6cbc m_a6cbb) (t_a6cH3 :: t_a6cb9 a_a6cbc). (SFoldable t_a6cb9, (Apply (Apply FoldMapSym0 t_a6cH2) t_a6cH3 :: m_a6cbb) ~ Apply (Apply FoldMap_6989586621680487265Sym0 t_a6cH2) t_a6cH3, SMonoid m_a6cbb) => Sing t_a6cH2 -> Sing t_a6cH3 -> Sing (Apply (Apply FoldMapSym0 t_a6cH2) t_a6cH3 :: m_a6cbb)
sFoldr :: forall a_a6cbd b_a6cbe (t_a6cH6 :: (~>) a_a6cbd ((~>) b_a6cbe b_a6cbe)) (t_a6cH7 :: b_a6cbe) (t_a6cH8 :: t_a6cb9 a_a6cbd). (SFoldable t_a6cb9, (Apply (Apply (Apply FoldrSym0 t_a6cH6) t_a6cH7) t_a6cH8 :: b_a6cbe) ~ Apply (Apply (Apply Foldr_6989586621680487280Sym0 t_a6cH6) t_a6cH7) t_a6cH8) => Sing t_a6cH6 -> Sing t_a6cH7 -> Sing t_a6cH8 -> Sing (Apply (Apply (Apply FoldrSym0 t_a6cH6) t_a6cH7) t_a6cH8 :: b_a6cbe)
sFoldl :: forall b_a6cbh a_a6cbi (t_a6cHi :: (~>) b_a6cbh ((~>) a_a6cbi b_a6cbh)) (t_a6cHj :: b_a6cbh) (t_a6cHk :: t_a6cb9 a_a6cbi). (SFoldable t_a6cb9, (Apply (Apply (Apply FoldlSym0 t_a6cHi) t_a6cHj) t_a6cHk :: b_a6cbh) ~ Apply (Apply (Apply Foldl_6989586621680487335Sym0 t_a6cHi) t_a6cHj) t_a6cHk) => Sing t_a6cHi -> Sing t_a6cHj -> Sing t_a6cHk -> Sing (Apply (Apply (Apply FoldlSym0 t_a6cHi) t_a6cHj) t_a6cHk :: b_a6cbh)
sFoldr1 :: forall a_a6cbl (t_a6cHu :: (~>) a_a6cbl ((~>) a_a6cbl a_a6cbl)) (t_a6cHv :: t_a6cb9 a_a6cbl). (SFoldable t_a6cb9, (Apply (Apply Foldr1Sym0 t_a6cHu) t_a6cHv :: a_a6cbl) ~ Apply (Apply Foldr1_6989586621680487389Sym0 t_a6cHu) t_a6cHv) => Sing t_a6cHu -> Sing t_a6cHv -> Sing (Apply (Apply Foldr1Sym0 t_a6cHu) t_a6cHv :: a_a6cbl)
sFoldl1 :: forall a_a6cbm (t_a6cHy :: (~>) a_a6cbm ((~>) a_a6cbm a_a6cbm)) (t_a6cHz :: t_a6cb9 a_a6cbm). (SFoldable t_a6cb9, (Apply (Apply Foldl1Sym0 t_a6cHy) t_a6cHz :: a_a6cbm) ~ Apply (Apply Foldl1_6989586621680487414Sym0 t_a6cHy) t_a6cHz) => Sing t_a6cHy -> Sing t_a6cHz -> Sing (Apply (Apply Foldl1Sym0 t_a6cHy) t_a6cHz :: a_a6cbm)
sElem :: forall a_a6cbq (t_a6cHI :: a_a6cbq) (t_a6cHJ :: t_a6cb9 a_a6cbq). (SFoldable t_a6cb9, (Apply (Apply ElemSym0 t_a6cHI) t_a6cHJ :: Bool) ~ Apply (Apply Elem_6989586621680487491Sym0 t_a6cHI) t_a6cHJ, SEq a_a6cbq) => Sing t_a6cHI -> Sing t_a6cHJ -> Sing (Apply (Apply ElemSym0 t_a6cHI) t_a6cHJ :: Bool)
sMaximum :: forall a_a6cbr (t_a6cHM :: t_a6cb9 a_a6cbr). (SFoldable t_a6cb9, (Apply MaximumSym0 t_a6cHM :: a_a6cbr) ~ Apply Maximum_6989586621680487506Sym0 t_a6cHM, SOrd a_a6cbr) => Sing t_a6cHM -> Sing (Apply MaximumSym0 t_a6cHM :: a_a6cbr)
sMinimum :: forall a_a6cbs (t_a6cHO :: t_a6cb9 a_a6cbs). (SFoldable t_a6cb9, (Apply MinimumSym0 t_a6cHO :: a_a6cbs) ~ Apply Minimum_6989586621680487519Sym0 t_a6cHO, SOrd a_a6cbs) => Sing t_a6cHO -> Sing (Apply MinimumSym0 t_a6cHO :: a_a6cbs)
sSum :: forall a_a6cbt (t_a6cHQ :: t_a6cb9 a_a6cbt). (SFoldable t_a6cb9, (Apply SumSym0 t_a6cHQ :: a_a6cbt) ~ Apply Sum_6989586621680487532Sym0 t_a6cHQ, SNum a_a6cbt) => Sing t_a6cHQ -> Sing (Apply SumSym0 t_a6cHQ :: a_a6cbt)
sProduct :: forall a_a6cbu (t_a6cHS :: t_a6cb9 a_a6cbu). (SFoldable t_a6cb9, (Apply ProductSym0 t_a6cHS :: a_a6cbu) ~ Apply Product_6989586621680487545Sym0 t_a6cHS, SNum a_a6cbu) => Sing t_a6cHS -> Sing (Apply ProductSym0 t_a6cHS :: a_a6cbu)
class PTraversable (t_a7ulY :: Type -> Type) where {
    type family Traverse (arg_a7uma :: (~>) a_a7um0 (f_a7ulZ b_a7um1)) (arg_a7umb :: t_a7ulY a_a7um0) :: f_a7ulZ (t_a7ulY b_a7um1);
    type family SequenceA (arg_a7ume :: t_a7ulY (f_a7um2 a_a7um3)) :: f_a7um2 (t_a7ulY a_a7um3);
    type family MapM (arg_a7umg :: (~>) a_a7um5 (m_a7um4 b_a7um6)) (arg_a7umh :: t_a7ulY a_a7um5) :: m_a7um4 (t_a7ulY b_a7um6);
    type family Sequence (arg_a7umk :: t_a7ulY (m_a7um7 a_a7um8)) :: m_a7um7 (t_a7ulY a_a7um8);
    type Traverse a_a7umm a_a7umn = Apply (Apply Traverse_6989586621680794796Sym0 a_a7umm) a_a7umn;
    type SequenceA a_a7umA = Apply SequenceA_6989586621680794809Sym0 a_a7umA;
    type MapM a_a7umJ a_a7umK = Apply (Apply MapM_6989586621680794819Sym0 a_a7umJ) a_a7umK;
    type Sequence a_a7umZ = Apply Sequence_6989586621680794834Sym0 a_a7umZ;
}
class (SFunctor t_a7ulY, SFoldable t_a7ulY) => STraversable (t_a7ulY :: Type -> Type)
sTraverse :: forall a_a7um0 f_a7ulZ b_a7um1 (t_a7un8 :: (~>) a_a7um0 (f_a7ulZ b_a7um1)) (t_a7un9 :: t_a7ulY a_a7um0). (STraversable t_a7ulY, SApplicative f_a7ulZ) => Sing t_a7un8 -> Sing t_a7un9 -> Sing (Apply (Apply TraverseSym0 t_a7un8) t_a7un9 :: f_a7ulZ (t_a7ulY b_a7um1))
sSequenceA :: forall f_a7um2 a_a7um3 (t_a7unc :: t_a7ulY (f_a7um2 a_a7um3)). (STraversable t_a7ulY, SApplicative f_a7um2) => Sing t_a7unc -> Sing (Apply SequenceASym0 t_a7unc :: f_a7um2 (t_a7ulY a_a7um3))
sMapM :: forall a_a7um5 m_a7um4 b_a7um6 (t_a7une :: (~>) a_a7um5 (m_a7um4 b_a7um6)) (t_a7unf :: t_a7ulY a_a7um5). (STraversable t_a7ulY, SMonad m_a7um4) => Sing t_a7une -> Sing t_a7unf -> Sing (Apply (Apply MapMSym0 t_a7une) t_a7unf :: m_a7um4 (t_a7ulY b_a7um6))
sSequence :: forall m_a7um7 a_a7um8 (t_a7uni :: t_a7ulY (m_a7um7 a_a7um8)). (STraversable t_a7ulY, SMonad m_a7um7) => Sing t_a7uni -> Sing (Apply SequenceSym0 t_a7uni :: m_a7um7 (t_a7ulY a_a7um8))
sTraverse :: forall a_a7um0 f_a7ulZ b_a7um1 (t_a7un8 :: (~>) a_a7um0 (f_a7ulZ b_a7um1)) (t_a7un9 :: t_a7ulY a_a7um0). (STraversable t_a7ulY, (Apply (Apply TraverseSym0 t_a7un8) t_a7un9 :: f_a7ulZ (t_a7ulY b_a7um1)) ~ Apply (Apply Traverse_6989586621680794796Sym0 t_a7un8) t_a7un9, SApplicative f_a7ulZ) => Sing t_a7un8 -> Sing t_a7un9 -> Sing (Apply (Apply TraverseSym0 t_a7un8) t_a7un9 :: f_a7ulZ (t_a7ulY b_a7um1))
sSequenceA :: forall f_a7um2 a_a7um3 (t_a7unc :: t_a7ulY (f_a7um2 a_a7um3)). (STraversable t_a7ulY, (Apply SequenceASym0 t_a7unc :: f_a7um2 (t_a7ulY a_a7um3)) ~ Apply SequenceA_6989586621680794809Sym0 t_a7unc, SApplicative f_a7um2) => Sing t_a7unc -> Sing (Apply SequenceASym0 t_a7unc :: f_a7um2 (t_a7ulY a_a7um3))
sMapM :: forall a_a7um5 m_a7um4 b_a7um6 (t_a7une :: (~>) a_a7um5 (m_a7um4 b_a7um6)) (t_a7unf :: t_a7ulY a_a7um5). (STraversable t_a7ulY, (Apply (Apply MapMSym0 t_a7une) t_a7unf :: m_a7um4 (t_a7ulY b_a7um6)) ~ Apply (Apply MapM_6989586621680794819Sym0 t_a7une) t_a7unf, SMonad m_a7um4) => Sing t_a7une -> Sing t_a7unf -> Sing (Apply (Apply MapMSym0 t_a7une) t_a7unf :: m_a7um4 (t_a7ulY b_a7um6))
sSequence :: forall m_a7um7 a_a7um8 (t_a7uni :: t_a7ulY (m_a7um7 a_a7um8)). (STraversable t_a7ulY, (Apply SequenceSym0 t_a7uni :: m_a7um7 (t_a7ulY a_a7um8)) ~ Apply Sequence_6989586621680794834Sym0 t_a7uni, SMonad m_a7um7) => Sing t_a7uni -> Sing (Apply SequenceSym0 t_a7uni :: m_a7um7 (t_a7ulY a_a7um8))
type family Id (a_a2ene :: a_a2ek5) :: a_a2ek5
sId :: forall a_a2ek5 (t_a2eor :: a_a2ek5). Sing t_a2eor -> Sing (Apply IdSym0 t_a2eor :: a_a2ek5)
type family Const (a_a2en9 :: a_a2ek3) (a_a2ena :: b_a2ek4) :: a_a2ek3
sConst :: forall a_a2ek3 b_a2ek4 (t_a2eon :: a_a2ek3) (t_a2eoo :: b_a2ek4). Sing t_a2eon -> Sing t_a2eoo -> Sing (Apply (Apply ConstSym0 t_a2eon) t_a2eoo :: a_a2ek3)
type family (.) (a_a2emQ :: (~>) b_a2ek0 c_a2ek1) (a_a2emR :: (~>) a_a2ek2 b_a2ek0) (a_a2emS :: a_a2ek2) :: c_a2ek1
infixr 9 .
(%.) :: forall b_a2ek0 c_a2ek1 a_a2ek2 (t_a2eoh :: (~>) b_a2ek0 c_a2ek1) (t_a2eoi :: (~>) a_a2ek2 b_a2ek0) (t_a2eoj :: a_a2ek2). Sing t_a2eoh -> Sing t_a2eoi -> Sing t_a2eoj -> Sing (Apply (Apply (Apply (.@#@$) t_a2eoh) t_a2eoi) t_a2eoj :: c_a2ek1)
infixr 9 %.
type family ($) (a_a2emr :: (~>) a_a2ejU b_a2ejV) (a_a2ems :: a_a2ejU) :: b_a2ejV
infixr 0 $
(%$) :: forall a_a2ejU b_a2ejV (t_a2eo3 :: (~>) a_a2ejU b_a2ejV) (t_a2eo4 :: a_a2ejU). Sing t_a2eo3 -> Sing t_a2eo4 -> Sing (Apply (Apply ($@#@$) t_a2eo3) t_a2eo4 :: b_a2ejV)
infixr 0 %$
type family ($!) (a_a2emi :: (~>) a_a2ejS b_a2ejT) (a_a2emj :: a_a2ejS) :: b_a2ejT
infixr 0 $!
(%$!) :: forall a_a2ejS b_a2ejT (t_a2enZ :: (~>) a_a2ejS b_a2ejT) (t_a2eo0 :: a_a2ejS). Sing t_a2enZ -> Sing t_a2eo0 -> Sing (Apply (Apply ($!@#@$) t_a2enZ) t_a2eo0 :: b_a2ejT)
infixr 0 %$!
type family Flip (a_a2emH :: (~>) a_a2ejX ((~>) b_a2ejY c_a2ejZ)) (a_a2emI :: b_a2ejY) (a_a2emJ :: a_a2ejX) :: c_a2ejZ
sFlip :: forall a_a2ejX b_a2ejY c_a2ejZ (t_a2eob :: (~>) a_a2ejX ((~>) b_a2ejY c_a2ejZ)) (t_a2eoc :: b_a2ejY) (t_a2eod :: a_a2ejX). Sing t_a2eob -> Sing t_a2eoc -> Sing t_a2eod -> Sing (Apply (Apply (Apply FlipSym0 t_a2eob) t_a2eoc) t_a2eod :: c_a2ejZ)
type family AsTypeOf (a_a2emB :: a_a2ejW) (a_a2emC :: a_a2ejW) :: a_a2ejW
sAsTypeOf :: forall a_a2ejW (t_a2eo7 :: a_a2ejW) (t_a2eo8 :: a_a2ejW). Sing t_a2eo7 -> Sing t_a2eo8 -> Sing (Apply (Apply AsTypeOfSym0 t_a2eo7) t_a2eo8 :: a_a2ejW)
type family Seq (a_a2elN :: a_a2ejP) (a_a2elO :: b_a2ejQ) :: b_a2ejQ
infixr 0 `Seq`
sSeq :: forall a_a2ejP b_a2ejQ (t_a2enP :: a_a2ejP) (t_a2enQ :: b_a2ejQ). Sing t_a2enP -> Sing t_a2enQ -> Sing (Apply (Apply SeqSym0 t_a2enP) t_a2enQ :: b_a2ejQ)
infixr 0 `sSeq`
type family Map (a_a2enp :: (~>) a_a2ek7 b_a2ek8) (a_a2enq :: [a_a2ek7]) :: [b_a2ek8]
sMap :: forall a_a2ek7 b_a2ek8 (t_a2eox :: (~>) a_a2ek7 b_a2ek8) (t_a2eoy :: [a_a2ek7]). Sing t_a2eox -> Sing t_a2eoy -> Sing (Apply (Apply MapSym0 t_a2eox) t_a2eoy :: [b_a2ek8])
type family (++) (a_a2enh :: [a_a2ek6]) (a_a2eni :: [a_a2ek6]) :: [a_a2ek6]
infixr 5 ++
(%++) :: forall a_a2ek6 (t_a2eot :: [a_a2ek6]) (t_a2eou :: [a_a2ek6]). Sing t_a2eot -> Sing t_a2eou -> Sing (Apply (Apply (++@#@$) t_a2eot) t_a2eou :: [a_a2ek6])
infixr 5 %++
type family Filter (a_a431r :: (~>) a_a41PY Bool) (a_a431s :: [a_a41PY]) :: [a_a41PY]
sFilter :: forall a_a41PY (t_a43hQ :: (~>) a_a41PY Bool) (t_a43hR :: [a_a41PY]). Sing t_a43hQ -> Sing t_a43hR -> Sing (Apply (Apply FilterSym0 t_a43hQ) t_a43hR :: [a_a41PY])
type family Head (a_a43fF :: [a_a41Rq]) :: a_a41Rq
sHead :: forall a_a41Rq (t_a43la :: [a_a41Rq]). Sing t_a43la -> Sing (Apply HeadSym0 t_a43la :: a_a41Rq)
type family Last (a_a43fA :: [a_a41Rp]) :: a_a41Rp
sLast :: forall a_a41Rp (t_a43l8 :: [a_a41Rp]). Sing t_a43l8 -> Sing (Apply LastSym0 t_a43l8 :: a_a41Rp)
type family Tail (a_a43fx :: [a_a41Ro]) :: [a_a41Ro]
sTail :: forall a_a41Ro (t_a43l6 :: [a_a41Ro]). Sing t_a43l6 -> Sing (Apply TailSym0 t_a43l6 :: [a_a41Ro])
type family Init (a_a43fj :: [a_a41Rn]) :: [a_a41Rn]
sInit :: forall a_a41Rn (t_a43l4 :: [a_a41Rn]). Sing t_a43l4 -> Sing (Apply InitSym0 t_a43l4 :: [a_a41Rn])
type family Null (arg_a6clM :: t_a6cb9 a_a6cbo) :: Bool
sNull :: forall a_a6cbo (t_a6cHE :: t_a6cb9 a_a6cbo). SFoldable t_a6cb9 => Sing t_a6cHE -> Sing (Apply NullSym0 t_a6cHE :: Bool)
type family Reverse (a_a43f4 :: [a_a41Rl]) :: [a_a41Rl]
sReverse :: forall a_a41Rl (t_a43l0 :: [a_a41Rl]). Sing t_a43l0 -> Sing (Apply ReverseSym0 t_a43l0 :: [a_a41Rl])
type family And (a_a6ciV :: t_a6c9S Bool) :: Bool
sAnd :: forall t_a6c9S (t_a6cFD :: t_a6c9S Bool). SFoldable t_a6c9S => Sing t_a6cFD -> Sing (Apply AndSym0 t_a6cFD :: Bool)
type family Or (a_a6ciM :: t_a6c9R Bool) :: Bool
sOr :: forall t_a6c9R (t_a6cFB :: t_a6c9R Bool). SFoldable t_a6c9R => Sing t_a6cFB -> Sing (Apply OrSym0 t_a6cFB :: Bool)
type family Any (a_a6ciz :: (~>) a_a6c9Q Bool) (a_a6ciA :: t_a6c9P a_a6c9Q) :: Bool
sAny :: forall a_a6c9Q t_a6c9P (t_a6cFx :: (~>) a_a6c9Q Bool) (t_a6cFy :: t_a6c9P a_a6c9Q). SFoldable t_a6c9P => Sing t_a6cFx -> Sing t_a6cFy -> Sing (Apply (Apply AnySym0 t_a6cFx) t_a6cFy :: Bool)
type family All (a_a6cim :: (~>) a_a6c9O Bool) (a_a6cin :: t_a6c9N a_a6c9O) :: Bool
sAll :: forall a_a6c9O t_a6c9N (t_a6cFt :: (~>) a_a6c9O Bool) (t_a6cFu :: t_a6c9N a_a6c9O). SFoldable t_a6c9N => Sing t_a6cFt -> Sing t_a6cFu -> Sing (Apply (Apply AllSym0 t_a6cFt) t_a6cFu :: Bool)
type family Concat (a_a6cjk :: t_a6c9W [a_a6c9X]) :: [a_a6c9X]
sConcat :: forall t_a6c9W a_a6c9X (t_a6cFJ :: t_a6c9W [a_a6c9X]). SFoldable t_a6c9W => Sing t_a6cFJ -> Sing (Apply ConcatSym0 t_a6cFJ :: [a_a6c9X])
type family ConcatMap (a_a6cj4 :: (~>) a_a6c9U [b_a6c9V]) (a_a6cj5 :: t_a6c9T a_a6c9U) :: [b_a6c9V]
sConcatMap :: forall a_a6c9U b_a6c9V t_a6c9T (t_a6cFF :: (~>) a_a6c9U [b_a6c9V]) (t_a6cFG :: t_a6c9T a_a6c9U). SFoldable t_a6c9T => Sing t_a6cFF -> Sing t_a6cFG -> Sing (Apply (Apply ConcatMapSym0 t_a6cFF) t_a6cFG :: [b_a6c9V])
type family Scanl (a_a43bd :: (~>) b_a41R3 ((~>) a_a41R4 b_a41R3)) (a_a43be :: b_a41R3) (a_a43bf :: [a_a41R4]) :: [b_a41R3]
sScanl :: forall b_a41R3 a_a41R4 (t_a43k2 :: (~>) b_a41R3 ((~>) a_a41R4 b_a41R3)) (t_a43k3 :: b_a41R3) (t_a43k4 :: [a_a41R4]). Sing t_a43k2 -> Sing t_a43k3 -> Sing t_a43k4 -> Sing (Apply (Apply (Apply ScanlSym0 t_a43k2) t_a43k3) t_a43k4 :: [b_a41R3])
type family Scanl1 (a_a43b6 :: (~>) a_a41R2 ((~>) a_a41R2 a_a41R2)) (a_a43b7 :: [a_a41R2]) :: [a_a41R2]
sScanl1 :: forall a_a41R2 (t_a43jY :: (~>) a_a41R2 ((~>) a_a41R2 a_a41R2)) (t_a43jZ :: [a_a41R2]). Sing t_a43jY -> Sing t_a43jZ -> Sing (Apply (Apply Scanl1Sym0 t_a43jY) t_a43jZ :: [a_a41R2])
type family Scanr (a_a43aL :: (~>) a_a41R0 ((~>) b_a41R1 b_a41R1)) (a_a43aM :: b_a41R1) (a_a43aN :: [a_a41R0]) :: [b_a41R1]
sScanr :: forall a_a41R0 b_a41R1 (t_a43jS :: (~>) a_a41R0 ((~>) b_a41R1 b_a41R1)) (t_a43jT :: b_a41R1) (t_a43jU :: [a_a41R0]). Sing t_a43jS -> Sing t_a43jT -> Sing t_a43jU -> Sing (Apply (Apply (Apply ScanrSym0 t_a43jS) t_a43jT) t_a43jU :: [b_a41R1])
type family Scanr1 (a_a43an :: (~>) a_a41QZ ((~>) a_a41QZ a_a41QZ)) (a_a43ao :: [a_a41QZ]) :: [a_a41QZ]
sScanr1 :: forall a_a41QZ (t_a43jO :: (~>) a_a41QZ ((~>) a_a41QZ a_a41QZ)) (t_a43jP :: [a_a41QZ]). Sing t_a43jO -> Sing t_a43jP -> Sing (Apply (Apply Scanr1Sym0 t_a43jO) t_a43jP :: [a_a41QZ])
type family Replicate (a_a42UG :: Nat) (a_a42UH :: a_a41Pv) :: [a_a41Pv]
sReplicate :: forall a_a41Pv (t_a43gc :: Nat) (t_a43gd :: a_a41Pv). Sing t_a43gc -> Sing t_a43gd -> Sing (Apply (Apply ReplicateSym0 t_a43gc) t_a43gd :: [a_a41Pv])
type family Take (a_a42Xh :: Nat) (a_a42Xi :: [a_a41PL]) :: [a_a41PL]
sTake :: forall a_a41PL (t_a43gY :: Nat) (t_a43gZ :: [a_a41PL]). Sing t_a43gY -> Sing t_a43gZ -> Sing (Apply (Apply TakeSym0 t_a43gY) t_a43gZ :: [a_a41PL])
type family Drop (a_a42X3 :: Nat) (a_a42X4 :: [a_a41PK]) :: [a_a41PK]
sDrop :: forall a_a41PK (t_a43gU :: Nat) (t_a43gV :: [a_a41PK]). Sing t_a43gU -> Sing t_a43gV -> Sing (Apply (Apply DropSym0 t_a43gU) t_a43gV :: [a_a41PK])
type family SplitAt (a_a42WX :: Nat) (a_a42WY :: [a_a41PJ]) :: ([a_a41PJ], [a_a41PJ])
sSplitAt :: forall a_a41PJ (t_a43gQ :: Nat) (t_a43gR :: [a_a41PJ]). Sing t_a43gQ -> Sing t_a43gR -> Sing (Apply (Apply SplitAtSym0 t_a43gQ) t_a43gR :: ([a_a41PJ], [a_a41PJ]))
type family TakeWhile (a_a42ZB :: (~>) a_a41PQ Bool) (a_a42ZC :: [a_a41PQ]) :: [a_a41PQ]
sTakeWhile :: forall a_a41PQ (t_a43hi :: (~>) a_a41PQ Bool) (t_a43hj :: [a_a41PQ]). Sing t_a43hi -> Sing t_a43hj -> Sing (Apply (Apply TakeWhileSym0 t_a43hi) t_a43hj :: [a_a41PQ])
type family Span (a_a42Yc :: (~>) a_a41PN Bool) (a_a42Yd :: [a_a41PN]) :: ([a_a41PN], [a_a41PN])
sSpan :: forall a_a41PN (t_a43h6 :: (~>) a_a41PN Bool) (t_a43h7 :: [a_a41PN]). Sing t_a43h6 -> Sing t_a43h7 -> Sing (Apply (Apply SpanSym0 t_a43h6) t_a43h7 :: ([a_a41PN], [a_a41PN]))
type family Break (a_a42Xv :: (~>) a_a41PM Bool) (a_a42Xw :: [a_a41PM]) :: ([a_a41PM], [a_a41PM])
sBreak :: forall a_a41PM (t_a43h2 :: (~>) a_a41PM Bool) (t_a43h3 :: [a_a41PM]). Sing t_a43h2 -> Sing t_a43h3 -> Sing (Apply (Apply BreakSym0 t_a43h2) t_a43h3 :: ([a_a41PM], [a_a41PM]))
type family NotElem (a_a6chq :: a_a6c9I) (a_a6chr :: t_a6c9H a_a6c9I) :: Bool
sNotElem :: forall a_a6c9I t_a6c9H (t_a6cFh :: a_a6c9I) (t_a6cFi :: t_a6c9H a_a6c9I). (SFoldable t_a6c9H, SEq a_a6c9I) => Sing t_a6cFh -> Sing t_a6cFi -> Sing (Apply (Apply NotElemSym0 t_a6cFh) t_a6cFi :: Bool)
type family Lookup (a_a42VJ :: a_a41PB) (a_a42VK :: [(a_a41PB, b_a41PC)]) :: Maybe b_a41PC
sLookup :: forall a_a41PB b_a41PC (t_a43gw :: a_a41PB) (t_a43gx :: [(a_a41PB, b_a41PC)]). SEq a_a41PB => Sing t_a43gw -> Sing t_a43gx -> Sing (Apply (Apply LookupSym0 t_a43gw) t_a43gx :: Maybe b_a41PC)
type family Zip (a_a437a :: [a_a41QI]) (a_a437b :: [b_a41QJ]) :: [(a_a41QI, b_a41QJ)]
sZip :: forall a_a41QI b_a41QJ (t_a43j6 :: [a_a41QI]) (t_a43j7 :: [b_a41QJ]). Sing t_a43j6 -> Sing t_a43j7 -> Sing (Apply (Apply ZipSym0 t_a43j6) t_a43j7 :: [(a_a41QI, b_a41QJ)])
type family Zip3 (a_a436Y :: [a_a41QF]) (a_a436Z :: [b_a41QG]) (a_a4370 :: [c_a41QH]) :: [(a_a41QF, b_a41QG, c_a41QH)]
sZip3 :: forall a_a41QF b_a41QG c_a41QH (t_a43j0 :: [a_a41QF]) (t_a43j1 :: [b_a41QG]) (t_a43j2 :: [c_a41QH]). Sing t_a43j0 -> Sing t_a43j1 -> Sing t_a43j2 -> Sing (Apply (Apply (Apply Zip3Sym0 t_a43j0) t_a43j1) t_a43j2 :: [(a_a41QF, b_a41QG, c_a41QH)])
type family ZipWith (a_a436N :: (~>) a_a41QC ((~>) b_a41QD c_a41QE)) (a_a436O :: [a_a41QC]) (a_a436P :: [b_a41QD]) :: [c_a41QE]
sZipWith :: forall a_a41QC b_a41QD c_a41QE (t_a43iU :: (~>) a_a41QC ((~>) b_a41QD c_a41QE)) (t_a43iV :: [a_a41QC]) (t_a43iW :: [b_a41QD]). Sing t_a43iU -> Sing t_a43iV -> Sing t_a43iW -> Sing (Apply (Apply (Apply ZipWithSym0 t_a43iU) t_a43iV) t_a43iW :: [c_a41QE])
type family ZipWith3 (a_a436y :: (~>) a_a41Qy ((~>) b_a41Qz ((~>) c_a41QA d_a41QB))) (a_a436z :: [a_a41Qy]) (a_a436A :: [b_a41Qz]) (a_a436B :: [c_a41QA]) :: [d_a41QB]
sZipWith3 :: forall a_a41Qy b_a41Qz c_a41QA d_a41QB (t_a43iM :: (~>) a_a41Qy ((~>) b_a41Qz ((~>) c_a41QA d_a41QB))) (t_a43iN :: [a_a41Qy]) (t_a43iO :: [b_a41Qz]) (t_a43iP :: [c_a41QA]). Sing t_a43iM -> Sing t_a43iN -> Sing t_a43iO -> Sing t_a43iP -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a43iM) t_a43iN) t_a43iO) t_a43iP :: [d_a41QB])
type family Unzip (a_a436f :: [(a_a41Qw, b_a41Qx)]) :: ([a_a41Qw], [b_a41Qx])
sUnzip :: forall a_a41Qw b_a41Qx (t_a43iK :: [(a_a41Qw, b_a41Qx)]). Sing t_a43iK -> Sing (Apply UnzipSym0 t_a43iK :: ([a_a41Qw], [b_a41Qx]))
type family Unzip3 (a_a435U :: [(a_a41Qt, b_a41Qu, c_a41Qv)]) :: ([a_a41Qt], [b_a41Qu], [c_a41Qv])
sUnzip3 :: forall a_a41Qt b_a41Qu c_a41Qv (t_a43iI :: [(a_a41Qt, b_a41Qu, c_a41Qv)]). Sing t_a43iI -> Sing (Apply Unzip3Sym0 t_a43iI :: ([a_a41Qt], [b_a41Qu], [c_a41Qv]))
type family Unlines (a_a434a :: [Symbol]) :: Symbol
sUnlines :: forall (t_a43iy :: [Symbol]). Sing t_a43iy -> Sing (Apply UnlinesSym0 t_a43iy :: Symbol)
type family Unwords (a_a433Z :: [Symbol]) :: Symbol
sUnwords :: forall (t_a43iw :: [Symbol]). Sing t_a43iw -> Sing (Apply UnwordsSym0 t_a43iw :: Symbol)
type family Maybe_ (a_a26nm :: b_a26n4) (a_a26nn :: (~>) a_a26n5 b_a26n4) (a_a26no :: Maybe a_a26n5) :: b_a26n4
sMaybe_ :: forall b_a26n4 a_a26n5 (t_a26nv :: b_a26n4) (t_a26nw :: (~>) a_a26n5 b_a26n4) (t_a26nx :: Maybe a_a26n5). Sing t_a26nv -> Sing t_a26nw -> Sing t_a26nx -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a26nv) t_a26nw) t_a26nx :: b_a26n4)
type family Either_ (a_a66RC :: (~>) a_a66R2 c_a66R3) (a_a66RD :: (~>) b_a66R4 c_a66R3) (a_a66RE :: Either a_a66R2 b_a66R4) :: c_a66R3
sEither_ :: forall a_a66R2 c_a66R3 b_a66R4 (t_a66RM :: (~>) a_a66R2 c_a66R3) (t_a66RN :: (~>) b_a66R4 c_a66R3) (t_a66RO :: Either a_a66R2 b_a66R4). Sing t_a66RM -> Sing t_a66RN -> Sing t_a66RO -> Sing (Apply (Apply (Apply Either_Sym0 t_a66RM) t_a66RN) t_a66RO :: c_a66R3)
type family Fst (a_a1uHZ :: (a_a1uGl, b_a1uGm)) :: a_a1uGl
sFst :: forall a_a1uGl b_a1uGm (t_a1uIg :: (a_a1uGl, b_a1uGm)). Sing t_a1uIg -> Sing (Apply FstSym0 t_a1uIg :: a_a1uGl)
type family Snd (a_a1uHW :: (a_a1uGj, b_a1uGk)) :: b_a1uGk
sSnd :: forall a_a1uGj b_a1uGk (t_a1uIe :: (a_a1uGj, b_a1uGk)). Sing t_a1uIe -> Sing (Apply SndSym0 t_a1uIe :: b_a1uGk)
type family Curry (a_a1uHN :: (~>) (a_a1uGg, b_a1uGh) c_a1uGi) (a_a1uHO :: a_a1uGg) (a_a1uHP :: b_a1uGh) :: c_a1uGi
sCurry :: forall a_a1uGg b_a1uGh c_a1uGi (t_a1uI8 :: (~>) (a_a1uGg, b_a1uGh) c_a1uGi) (t_a1uI9 :: a_a1uGg) (t_a1uIa :: b_a1uGh). Sing t_a1uI8 -> Sing t_a1uI9 -> Sing t_a1uIa -> Sing (Apply (Apply (Apply CurrySym0 t_a1uI8) t_a1uI9) t_a1uIa :: c_a1uGi)
type family Uncurry (a_a1uHH :: (~>) a_a1uGd ((~>) b_a1uGe c_a1uGf)) (a_a1uHI :: (a_a1uGd, b_a1uGe)) :: c_a1uGf
sUncurry :: forall a_a1uGd b_a1uGe c_a1uGf (t_a1uI4 :: (~>) a_a1uGd ((~>) b_a1uGe c_a1uGf)) (t_a1uI5 :: (a_a1uGd, b_a1uGe)). Sing t_a1uI4 -> Sing t_a1uI5 -> Sing (Apply (Apply UncurrySym0 t_a1uI4) t_a1uI5 :: c_a1uGf)
data Symbol
either_ :: (a_a66R2 -> c_a66R3) -> (b_a66R4 -> c_a66R3) -> Either a_a66R2 b_a66R4 -> c_a66R3
maybe_ :: b_a26n4 -> (a_a26n5 -> b_a26n4) -> Maybe a_a26n5 -> b_a26n4
bool_ :: a_a1w8c -> a_a1w8c -> Bool -> a_a1w8c

-- | <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 (a6989586621679372930 :: Bool) = Not a6989586621679372930
data (&&@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 3 &&@#@$
data (&&@#@$$) (a6989586621679372398 :: Bool) :: (~>) Bool Bool
infixr 3 &&@#@$$
type (&&@#@$$$) (a6989586621679372398 :: Bool) (b6989586621679372399 :: Bool) = (&&) a6989586621679372398 b6989586621679372399
data (||@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 2 ||@#@$
data (||@#@$$) (a6989586621679372636 :: Bool) :: (~>) Bool Bool
infixr 2 ||@#@$$
type (||@#@$$$) (a6989586621679372636 :: Bool) (b6989586621679372637 :: Bool) = (||) a6989586621679372636 b6989586621679372637
type OtherwiseSym0 = Otherwise
type NothingSym0 = 'Nothing
data JustSym0 :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 (Maybe (a3530822107858468865 :: Type))
type JustSym1 (t6989586621679310883 :: a3530822107858468865) = 'Just t6989586621679310883
data Maybe_Sym0 :: forall b6989586621679510942 a6989586621679510943. (~>) b6989586621679510942 ((~>) ((~>) a6989586621679510943 b6989586621679510942) ((~>) (Maybe a6989586621679510943) b6989586621679510942))
data Maybe_Sym1 (a6989586621679510960 :: b6989586621679510942) :: forall a6989586621679510943. (~>) ((~>) a6989586621679510943 b6989586621679510942) ((~>) (Maybe a6989586621679510943) b6989586621679510942)
data Maybe_Sym2 (a6989586621679510960 :: b6989586621679510942) (a6989586621679510961 :: (~>) a6989586621679510943 b6989586621679510942) :: (~>) (Maybe a6989586621679510943) b6989586621679510942
type Maybe_Sym3 (a6989586621679510960 :: b6989586621679510942) (a6989586621679510961 :: (~>) a6989586621679510943 b6989586621679510942) (a6989586621679510962 :: Maybe a6989586621679510943) = Maybe_ a6989586621679510960 a6989586621679510961 a6989586621679510962
data LeftSym0 :: forall (a6989586621679086104 :: Type) (b6989586621679086105 :: Type). (~>) a6989586621679086104 (Either (a6989586621679086104 :: Type) (b6989586621679086105 :: Type))
type LeftSym1 (t6989586621679310950 :: a6989586621679086104) = 'Left t6989586621679310950
data RightSym0 :: forall (b6989586621679086105 :: Type) (a6989586621679086104 :: Type). (~>) b6989586621679086105 (Either (a6989586621679086104 :: Type) (b6989586621679086105 :: Type))
type RightSym1 (t6989586621679310952 :: b6989586621679086105) = 'Right t6989586621679310952
data Either_Sym0 :: forall a6989586621680466112 c6989586621680466113 b6989586621680466114. (~>) ((~>) a6989586621680466112 c6989586621680466113) ((~>) ((~>) b6989586621680466114 c6989586621680466113) ((~>) (Either a6989586621680466112 b6989586621680466114) c6989586621680466113))
data Either_Sym1 (a6989586621680466148 :: (~>) a6989586621680466112 c6989586621680466113) :: forall b6989586621680466114. (~>) ((~>) b6989586621680466114 c6989586621680466113) ((~>) (Either a6989586621680466112 b6989586621680466114) c6989586621680466113)
data Either_Sym2 (a6989586621680466148 :: (~>) a6989586621680466112 c6989586621680466113) (a6989586621680466149 :: (~>) b6989586621680466114 c6989586621680466113) :: (~>) (Either a6989586621680466112 b6989586621680466114) c6989586621680466113
type Either_Sym3 (a6989586621680466148 :: (~>) a6989586621680466112 c6989586621680466113) (a6989586621680466149 :: (~>) b6989586621680466114 c6989586621680466113) (a6989586621680466150 :: Either a6989586621680466112 b6989586621680466114) = Either_ a6989586621680466148 a6989586621680466149 a6989586621680466150
type Tuple0Sym0 = '()
data Tuple2Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 (a3530822107858468865 :: Type, b3530822107858468866 :: Type))
data Tuple2Sym1 (t6989586621679311000 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type). (~>) b3530822107858468866 (a3530822107858468865 :: Type, b3530822107858468866 :: Type)
type Tuple2Sym2 (t6989586621679311000 :: a3530822107858468865) (t6989586621679311001 :: b3530822107858468866) = '(t6989586621679311000, t6989586621679311001)
data Tuple3Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type)))
data Tuple3Sym1 (t6989586621679311031 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type))
data Tuple3Sym2 (t6989586621679311031 :: a3530822107858468865 :: Type) (t6989586621679311032 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type). (~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type)
type Tuple3Sym3 (t6989586621679311031 :: a3530822107858468865) (t6989586621679311032 :: b3530822107858468866) (t6989586621679311033 :: c3530822107858468867) = '(t6989586621679311031, t6989586621679311032, t6989586621679311033)
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 (t6989586621679311078 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type)))
data Tuple4Sym2 (t6989586621679311078 :: a3530822107858468865 :: Type) (t6989586621679311079 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type))
data Tuple4Sym3 (t6989586621679311078 :: a3530822107858468865 :: Type) (t6989586621679311079 :: b3530822107858468866 :: Type) (t6989586621679311080 :: c3530822107858468867 :: Type) :: forall (d3530822107858468868 :: Type). (~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type)
type Tuple4Sym4 (t6989586621679311078 :: a3530822107858468865) (t6989586621679311079 :: b3530822107858468866) (t6989586621679311080 :: c3530822107858468867) (t6989586621679311081 :: d3530822107858468868) = '(t6989586621679311078, t6989586621679311079, t6989586621679311080, t6989586621679311081)
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 (t6989586621679311143 :: 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 (t6989586621679311143 :: a3530822107858468865 :: Type) (t6989586621679311144 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type)))
data Tuple5Sym3 (t6989586621679311143 :: a3530822107858468865 :: Type) (t6989586621679311144 :: b3530822107858468866 :: Type) (t6989586621679311145 :: c3530822107858468867 :: Type) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type))
data Tuple5Sym4 (t6989586621679311143 :: a3530822107858468865 :: Type) (t6989586621679311144 :: b3530822107858468866 :: Type) (t6989586621679311145 :: c3530822107858468867 :: Type) (t6989586621679311146 :: d3530822107858468868 :: Type) :: forall (e3530822107858468869 :: Type). (~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type)
type Tuple5Sym5 (t6989586621679311143 :: a3530822107858468865) (t6989586621679311144 :: b3530822107858468866) (t6989586621679311145 :: c3530822107858468867) (t6989586621679311146 :: d3530822107858468868) (t6989586621679311147 :: e3530822107858468869) = '(t6989586621679311143, t6989586621679311144, t6989586621679311145, t6989586621679311146, t6989586621679311147)
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 (t6989586621679311228 :: 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 (t6989586621679311228 :: a3530822107858468865 :: Type) (t6989586621679311229 :: 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 (t6989586621679311228 :: a3530822107858468865 :: Type) (t6989586621679311229 :: b3530822107858468866 :: Type) (t6989586621679311230 :: 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 (t6989586621679311228 :: a3530822107858468865 :: Type) (t6989586621679311229 :: b3530822107858468866 :: Type) (t6989586621679311230 :: c3530822107858468867 :: Type) (t6989586621679311231 :: d3530822107858468868 :: Type) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type))
data Tuple6Sym5 (t6989586621679311228 :: a3530822107858468865 :: Type) (t6989586621679311229 :: b3530822107858468866 :: Type) (t6989586621679311230 :: c3530822107858468867 :: Type) (t6989586621679311231 :: d3530822107858468868 :: Type) (t6989586621679311232 :: e3530822107858468869 :: Type) :: forall (f3530822107858468870 :: Type). (~>) f3530822107858468870 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type)
type Tuple6Sym6 (t6989586621679311228 :: a3530822107858468865) (t6989586621679311229 :: b3530822107858468866) (t6989586621679311230 :: c3530822107858468867) (t6989586621679311231 :: d3530822107858468868) (t6989586621679311232 :: e3530822107858468869) (t6989586621679311233 :: f3530822107858468870) = '(t6989586621679311228, t6989586621679311229, t6989586621679311230, t6989586621679311231, t6989586621679311232, t6989586621679311233)
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 (t6989586621679311335 :: 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 (t6989586621679311335 :: a3530822107858468865 :: Type) (t6989586621679311336 :: 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 (t6989586621679311335 :: a3530822107858468865 :: Type) (t6989586621679311336 :: b3530822107858468866 :: Type) (t6989586621679311337 :: 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 (t6989586621679311335 :: a3530822107858468865 :: Type) (t6989586621679311336 :: b3530822107858468866 :: Type) (t6989586621679311337 :: c3530822107858468867 :: Type) (t6989586621679311338 :: 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 (t6989586621679311335 :: a3530822107858468865 :: Type) (t6989586621679311336 :: b3530822107858468866 :: Type) (t6989586621679311337 :: c3530822107858468867 :: Type) (t6989586621679311338 :: d3530822107858468868 :: Type) (t6989586621679311339 :: 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 (t6989586621679311335 :: a3530822107858468865 :: Type) (t6989586621679311336 :: b3530822107858468866 :: Type) (t6989586621679311337 :: c3530822107858468867 :: Type) (t6989586621679311338 :: d3530822107858468868 :: Type) (t6989586621679311339 :: e3530822107858468869 :: Type) (t6989586621679311340 :: f3530822107858468870 :: Type) :: forall (g3530822107858468871 :: Type). (~>) g3530822107858468871 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type, g3530822107858468871 :: Type)
type Tuple7Sym7 (t6989586621679311335 :: a3530822107858468865) (t6989586621679311336 :: b3530822107858468866) (t6989586621679311337 :: c3530822107858468867) (t6989586621679311338 :: d3530822107858468868) (t6989586621679311339 :: e3530822107858468869) (t6989586621679311340 :: f3530822107858468870) (t6989586621679311341 :: g3530822107858468871) = '(t6989586621679311335, t6989586621679311336, t6989586621679311337, t6989586621679311338, t6989586621679311339, t6989586621679311340, t6989586621679311341)
data FstSym0 :: forall a6989586621679366065 b6989586621679366066. (~>) (a6989586621679366065, b6989586621679366066) a6989586621679366065
type FstSym1 (a6989586621679366167 :: (a6989586621679366065, b6989586621679366066)) = Fst a6989586621679366167
data SndSym0 :: forall a6989586621679366063 b6989586621679366064. (~>) (a6989586621679366063, b6989586621679366064) b6989586621679366064
type SndSym1 (a6989586621679366164 :: (a6989586621679366063, b6989586621679366064)) = Snd a6989586621679366164
data CurrySym0 :: forall a6989586621679366060 b6989586621679366061 c6989586621679366062. (~>) ((~>) (a6989586621679366060, b6989586621679366061) c6989586621679366062) ((~>) a6989586621679366060 ((~>) b6989586621679366061 c6989586621679366062))
data CurrySym1 (a6989586621679366155 :: (~>) (a6989586621679366060, b6989586621679366061) c6989586621679366062) :: (~>) a6989586621679366060 ((~>) b6989586621679366061 c6989586621679366062)
data CurrySym2 (a6989586621679366155 :: (~>) (a6989586621679366060, b6989586621679366061) c6989586621679366062) (a6989586621679366156 :: a6989586621679366060) :: (~>) b6989586621679366061 c6989586621679366062
type CurrySym3 (a6989586621679366155 :: (~>) (a6989586621679366060, b6989586621679366061) c6989586621679366062) (a6989586621679366156 :: a6989586621679366060) (a6989586621679366157 :: b6989586621679366061) = Curry a6989586621679366155 a6989586621679366156 a6989586621679366157
data UncurrySym0 :: forall a6989586621679366057 b6989586621679366058 c6989586621679366059. (~>) ((~>) a6989586621679366057 ((~>) b6989586621679366058 c6989586621679366059)) ((~>) (a6989586621679366057, b6989586621679366058) c6989586621679366059)
data UncurrySym1 (a6989586621679366149 :: (~>) a6989586621679366057 ((~>) b6989586621679366058 c6989586621679366059)) :: (~>) (a6989586621679366057, b6989586621679366058) c6989586621679366059
type UncurrySym2 (a6989586621679366149 :: (~>) a6989586621679366057 ((~>) b6989586621679366058 c6989586621679366059)) (a6989586621679366150 :: (a6989586621679366057, b6989586621679366058)) = Uncurry a6989586621679366149 a6989586621679366150
data ErrorSym0 :: forall k06989586621679481870 k6989586621679481871. (~>) k06989586621679481870 k6989586621679481871
type ErrorSym1 (str6989586621679481872 :: k06989586621679481870) = Error str6989586621679481872
data ErrorWithoutStackTraceSym0 :: forall k06989586621679482960 k6989586621679482961. (~>) k06989586621679482960 k6989586621679482961
type ErrorWithoutStackTraceSym1 (str6989586621679482962 :: k06989586621679482960) = ErrorWithoutStackTrace str6989586621679482962
type UndefinedSym0 = Undefined
type LTSym0 = 'LT
type EQSym0 = 'EQ
type GTSym0 = 'GT
data CompareSym0 :: forall a6989586621679389695. (~>) a6989586621679389695 ((~>) a6989586621679389695 Ordering)
data CompareSym1 (arg6989586621679389784 :: a6989586621679389695) :: (~>) a6989586621679389695 Ordering
type CompareSym2 (arg6989586621679389784 :: a6989586621679389695) (arg6989586621679389785 :: a6989586621679389695) = Compare arg6989586621679389784 arg6989586621679389785
data (<@#@$) :: forall a6989586621679389695. (~>) a6989586621679389695 ((~>) a6989586621679389695 Bool)
infix 4 <@#@$
data (<@#@$$) (arg6989586621679389788 :: a6989586621679389695) :: (~>) a6989586621679389695 Bool
infix 4 <@#@$$
type (<@#@$$$) (arg6989586621679389788 :: a6989586621679389695) (arg6989586621679389789 :: a6989586621679389695) = (<) arg6989586621679389788 arg6989586621679389789
data (<=@#@$) :: forall a6989586621679389695. (~>) a6989586621679389695 ((~>) a6989586621679389695 Bool)
infix 4 <=@#@$
data (<=@#@$$) (arg6989586621679389792 :: a6989586621679389695) :: (~>) a6989586621679389695 Bool
infix 4 <=@#@$$
type (<=@#@$$$) (arg6989586621679389792 :: a6989586621679389695) (arg6989586621679389793 :: a6989586621679389695) = (<=) arg6989586621679389792 arg6989586621679389793
data (>@#@$) :: forall a6989586621679389695. (~>) a6989586621679389695 ((~>) a6989586621679389695 Bool)
infix 4 >@#@$
data (>@#@$$) (arg6989586621679389796 :: a6989586621679389695) :: (~>) a6989586621679389695 Bool
infix 4 >@#@$$
type (>@#@$$$) (arg6989586621679389796 :: a6989586621679389695) (arg6989586621679389797 :: a6989586621679389695) = (>) arg6989586621679389796 arg6989586621679389797
data (>=@#@$) :: forall a6989586621679389695. (~>) a6989586621679389695 ((~>) a6989586621679389695 Bool)
infix 4 >=@#@$
data (>=@#@$$) (arg6989586621679389800 :: a6989586621679389695) :: (~>) a6989586621679389695 Bool
infix 4 >=@#@$$
type (>=@#@$$$) (arg6989586621679389800 :: a6989586621679389695) (arg6989586621679389801 :: a6989586621679389695) = (>=) arg6989586621679389800 arg6989586621679389801
data MaxSym0 :: forall a6989586621679389695. (~>) a6989586621679389695 ((~>) a6989586621679389695 a6989586621679389695)
data MaxSym1 (arg6989586621679389804 :: a6989586621679389695) :: (~>) a6989586621679389695 a6989586621679389695
type MaxSym2 (arg6989586621679389804 :: a6989586621679389695) (arg6989586621679389805 :: a6989586621679389695) = Max arg6989586621679389804 arg6989586621679389805
data MinSym0 :: forall a6989586621679389695. (~>) a6989586621679389695 ((~>) a6989586621679389695 a6989586621679389695)
data MinSym1 (arg6989586621679389808 :: a6989586621679389695) :: (~>) a6989586621679389695 a6989586621679389695
type MinSym2 (arg6989586621679389808 :: a6989586621679389695) (arg6989586621679389809 :: a6989586621679389695) = Min arg6989586621679389808 arg6989586621679389809
data (^@#@$) :: (~>) Nat ((~>) Nat Nat)
infixr 8 ^@#@$
data (^@#@$$) (a3530822107858468865 :: Nat) :: (~>) Nat Nat
infixr 8 ^@#@$$
type (^@#@$$$) (a3530822107858468865 :: Nat) (b3530822107858468866 :: Nat) = (^) a3530822107858468865 b3530822107858468866
data ShowsPrecSym0 :: forall a6989586621680290698. (~>) Nat ((~>) a6989586621680290698 ((~>) Symbol Symbol))
data ShowsPrecSym1 (arg6989586621680291136 :: Nat) :: forall a6989586621680290698. (~>) a6989586621680290698 ((~>) Symbol Symbol)
data ShowsPrecSym2 (arg6989586621680291136 :: Nat) (arg6989586621680291137 :: a6989586621680290698) :: (~>) Symbol Symbol
type ShowsPrecSym3 (arg6989586621680291136 :: Nat) (arg6989586621680291137 :: a6989586621680290698) (arg6989586621680291138 :: Symbol) = ShowsPrec arg6989586621680291136 arg6989586621680291137 arg6989586621680291138
data Show_Sym0 :: forall a6989586621680290698. (~>) a6989586621680290698 Symbol
type Show_Sym1 (arg6989586621680291142 :: a6989586621680290698) = Show_ arg6989586621680291142
data ShowListSym0 :: forall a6989586621680290698. (~>) [a6989586621680290698] ((~>) Symbol Symbol)
data ShowListSym1 (arg6989586621680291144 :: [a6989586621680290698]) :: (~>) Symbol Symbol
type ShowListSym2 (arg6989586621680291144 :: [a6989586621680290698]) (arg6989586621680291145 :: Symbol) = ShowList arg6989586621680291144 arg6989586621680291145
data ShowsSym0 :: forall a6989586621680290683. (~>) a6989586621680290683 ((~>) Symbol Symbol)
data ShowsSym1 (a6989586621680291128 :: a6989586621680290683) :: (~>) Symbol Symbol
type ShowsSym2 (a6989586621680291128 :: a6989586621680290683) (a6989586621680291129 :: Symbol) = Shows a6989586621680291128 a6989586621680291129
data ShowCharSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowCharSym1 (a6989586621680291102 :: Symbol) :: (~>) Symbol Symbol
type ShowCharSym2 (a6989586621680291102 :: Symbol) (a6989586621680291103 :: Symbol) = ShowChar a6989586621680291102 a6989586621680291103
data ShowStringSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowStringSym1 (a6989586621680291092 :: Symbol) :: (~>) Symbol Symbol
type ShowStringSym2 (a6989586621680291092 :: Symbol) (a6989586621680291093 :: Symbol) = ShowString a6989586621680291092 a6989586621680291093
data ShowParenSym0 :: (~>) Bool ((~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol))
data ShowParenSym1 (a6989586621680291074 :: Bool) :: (~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol)
data ShowParenSym2 (a6989586621680291074 :: Bool) (a6989586621680291075 :: (~>) Symbol Symbol) :: (~>) Symbol Symbol
data (<>@#@$) :: forall a6989586621679836689. (~>) a6989586621679836689 ((~>) a6989586621679836689 a6989586621679836689)
infixr 6 <>@#@$
data (<>@#@$$) (arg6989586621679836924 :: a6989586621679836689) :: (~>) a6989586621679836689 a6989586621679836689
infixr 6 <>@#@$$
type (<>@#@$$$) (arg6989586621679836924 :: a6989586621679836689) (arg6989586621679836925 :: a6989586621679836689) = (<>) arg6989586621679836924 arg6989586621679836925
type MemptySym0 = Mempty
data MappendSym0 :: forall a6989586621680360798. (~>) a6989586621680360798 ((~>) a6989586621680360798 a6989586621680360798)
data MappendSym1 (arg6989586621680360937 :: a6989586621680360798) :: (~>) a6989586621680360798 a6989586621680360798
type MappendSym2 (arg6989586621680360937 :: a6989586621680360798) (arg6989586621680360938 :: a6989586621680360798) = Mappend arg6989586621680360937 arg6989586621680360938
data MconcatSym0 :: forall a6989586621680360798. (~>) [a6989586621680360798] a6989586621680360798
type MconcatSym1 (arg6989586621680360941 :: [a6989586621680360798]) = Mconcat arg6989586621680360941
data FmapSym0 :: forall a6989586621679566897 b6989586621679566898 f6989586621679566896. (~>) ((~>) a6989586621679566897 b6989586621679566898) ((~>) (f6989586621679566896 a6989586621679566897) (f6989586621679566896 b6989586621679566898))
data FmapSym1 (arg6989586621679567288 :: (~>) a6989586621679566897 b6989586621679566898) :: forall f6989586621679566896. (~>) (f6989586621679566896 a6989586621679566897) (f6989586621679566896 b6989586621679566898)
type FmapSym2 (arg6989586621679567288 :: (~>) a6989586621679566897 b6989586621679566898) (arg6989586621679567289 :: f6989586621679566896 a6989586621679566897) = Fmap arg6989586621679567288 arg6989586621679567289
data (<$@#@$) :: forall a6989586621679566899 f6989586621679566896 b6989586621679566900. (~>) a6989586621679566899 ((~>) (f6989586621679566896 b6989586621679566900) (f6989586621679566896 a6989586621679566899))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679567292 :: a6989586621679566899) :: forall f6989586621679566896 b6989586621679566900. (~>) (f6989586621679566896 b6989586621679566900) (f6989586621679566896 a6989586621679566899)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679567292 :: a6989586621679566899) (arg6989586621679567293 :: f6989586621679566896 b6989586621679566900) = (<$) arg6989586621679567292 arg6989586621679567293
data (<$>@#@$) :: forall a6989586621679737073 b6989586621679737074 f6989586621679737072. (~>) ((~>) a6989586621679737073 b6989586621679737074) ((~>) (f6989586621679737072 a6989586621679737073) (f6989586621679737072 b6989586621679737074))
infixl 4 <$>@#@$
data (<$>@#@$$) (a6989586621679737154 :: (~>) a6989586621679737073 b6989586621679737074) :: forall f6989586621679737072. (~>) (f6989586621679737072 a6989586621679737073) (f6989586621679737072 b6989586621679737074)
infixl 4 <$>@#@$$
type (<$>@#@$$$) (a6989586621679737154 :: (~>) a6989586621679737073 b6989586621679737074) (a6989586621679737155 :: f6989586621679737072 a6989586621679737073) = (<$>) a6989586621679737154 a6989586621679737155
data PureSym0 :: forall a6989586621679566902 f6989586621679566901. (~>) a6989586621679566902 (f6989586621679566901 a6989586621679566902)
type PureSym1 (arg6989586621679567312 :: a6989586621679566902) = Pure arg6989586621679567312
data (<*>@#@$) :: forall f6989586621679566901 a6989586621679566903 b6989586621679566904. (~>) (f6989586621679566901 ((~>) a6989586621679566903 b6989586621679566904)) ((~>) (f6989586621679566901 a6989586621679566903) (f6989586621679566901 b6989586621679566904))
infixl 4 <*>@#@$
data (<*>@#@$$) (arg6989586621679567314 :: f6989586621679566901 ((~>) a6989586621679566903 b6989586621679566904)) :: (~>) (f6989586621679566901 a6989586621679566903) (f6989586621679566901 b6989586621679566904)
infixl 4 <*>@#@$$
type (<*>@#@$$$) (arg6989586621679567314 :: f6989586621679566901 ((~>) a6989586621679566903 b6989586621679566904)) (arg6989586621679567315 :: f6989586621679566901 a6989586621679566903) = (<*>) arg6989586621679567314 arg6989586621679567315
data (*>@#@$) :: forall f6989586621679566901 a6989586621679566908 b6989586621679566909. (~>) (f6989586621679566901 a6989586621679566908) ((~>) (f6989586621679566901 b6989586621679566909) (f6989586621679566901 b6989586621679566909))
infixl 4 *>@#@$
data (*>@#@$$) (arg6989586621679567324 :: f6989586621679566901 a6989586621679566908) :: forall b6989586621679566909. (~>) (f6989586621679566901 b6989586621679566909) (f6989586621679566901 b6989586621679566909)
infixl 4 *>@#@$$
type (*>@#@$$$) (arg6989586621679567324 :: f6989586621679566901 a6989586621679566908) (arg6989586621679567325 :: f6989586621679566901 b6989586621679566909) = (*>) arg6989586621679567324 arg6989586621679567325
data (<*@#@$) :: forall f6989586621679566901 a6989586621679566910 b6989586621679566911. (~>) (f6989586621679566901 a6989586621679566910) ((~>) (f6989586621679566901 b6989586621679566911) (f6989586621679566901 a6989586621679566910))
infixl 4 <*@#@$
data (<*@#@$$) (arg6989586621679567328 :: f6989586621679566901 a6989586621679566910) :: forall b6989586621679566911. (~>) (f6989586621679566901 b6989586621679566911) (f6989586621679566901 a6989586621679566910)
infixl 4 <*@#@$$
type (<*@#@$$$) (arg6989586621679567328 :: f6989586621679566901 a6989586621679566910) (arg6989586621679567329 :: f6989586621679566901 b6989586621679566911) = (<*) arg6989586621679567328 arg6989586621679567329
data (>>=@#@$) :: forall m6989586621679566925 a6989586621679566926 b6989586621679566927. (~>) (m6989586621679566925 a6989586621679566926) ((~>) ((~>) a6989586621679566926 (m6989586621679566925 b6989586621679566927)) (m6989586621679566925 b6989586621679566927))
infixl 1 >>=@#@$
data (>>=@#@$$) (arg6989586621679567395 :: m6989586621679566925 a6989586621679566926) :: forall b6989586621679566927. (~>) ((~>) a6989586621679566926 (m6989586621679566925 b6989586621679566927)) (m6989586621679566925 b6989586621679566927)
infixl 1 >>=@#@$$
type (>>=@#@$$$) (arg6989586621679567395 :: m6989586621679566925 a6989586621679566926) (arg6989586621679567396 :: (~>) a6989586621679566926 (m6989586621679566925 b6989586621679566927)) = (>>=) arg6989586621679567395 arg6989586621679567396
data (>>@#@$) :: forall m6989586621679566925 a6989586621679566928 b6989586621679566929. (~>) (m6989586621679566925 a6989586621679566928) ((~>) (m6989586621679566925 b6989586621679566929) (m6989586621679566925 b6989586621679566929))
infixl 1 >>@#@$
data (>>@#@$$) (arg6989586621679567399 :: m6989586621679566925 a6989586621679566928) :: forall b6989586621679566929. (~>) (m6989586621679566925 b6989586621679566929) (m6989586621679566925 b6989586621679566929)
infixl 1 >>@#@$$
type (>>@#@$$$) (arg6989586621679567399 :: m6989586621679566925 a6989586621679566928) (arg6989586621679567400 :: m6989586621679566925 b6989586621679566929) = (>>) arg6989586621679567399 arg6989586621679567400
data ReturnSym0 :: forall a6989586621679566930 m6989586621679566925. (~>) a6989586621679566930 (m6989586621679566925 a6989586621679566930)
type ReturnSym1 (arg6989586621679567403 :: a6989586621679566930) = Return arg6989586621679567403
data FailSym0 :: forall m6989586621679734988 a6989586621679734989. (~>) [Char] (m6989586621679734988 a6989586621679734989)
type FailSym1 (arg6989586621679735008 :: [Char]) = Fail arg6989586621679735008
data MapM_Sym0 :: forall a6989586621680486524 m6989586621680486523 b6989586621680486525 t6989586621680486522. (~>) ((~>) a6989586621680486524 (m6989586621680486523 b6989586621680486525)) ((~>) (t6989586621680486522 a6989586621680486524) (m6989586621680486523 ()))
data MapM_Sym1 (a6989586621680487128 :: (~>) a6989586621680486524 (m6989586621680486523 b6989586621680486525)) :: forall t6989586621680486522. (~>) (t6989586621680486522 a6989586621680486524) (m6989586621680486523 ())
type MapM_Sym2 (a6989586621680487128 :: (~>) a6989586621680486524 (m6989586621680486523 b6989586621680486525)) (a6989586621680487129 :: t6989586621680486522 a6989586621680486524) = MapM_ a6989586621680487128 a6989586621680487129
data Sequence_Sym0 :: forall t6989586621680486512 m6989586621680486513 a6989586621680486514. (~>) (t6989586621680486512 (m6989586621680486513 a6989586621680486514)) (m6989586621680486513 ())
type Sequence_Sym1 (a6989586621680487110 :: t6989586621680486512 (m6989586621680486513 a6989586621680486514)) = Sequence_ a6989586621680487110
data (=<<@#@$) :: forall a6989586621679566849 m6989586621679566848 b6989586621679566850. (~>) ((~>) a6989586621679566849 (m6989586621679566848 b6989586621679566850)) ((~>) (m6989586621679566848 a6989586621679566849) (m6989586621679566848 b6989586621679566850))
infixr 1 =<<@#@$
data (=<<@#@$$) (a6989586621679567241 :: (~>) a6989586621679566849 (m6989586621679566848 b6989586621679566850)) :: (~>) (m6989586621679566848 a6989586621679566849) (m6989586621679566848 b6989586621679566850)
infixr 1 =<<@#@$$
type (=<<@#@$$$) (a6989586621679567241 :: (~>) a6989586621679566849 (m6989586621679566848 b6989586621679566850)) (a6989586621679567242 :: m6989586621679566848 a6989586621679566849) = (=<<) a6989586621679567241 a6989586621679567242
data ElemSym0 :: forall a6989586621680486596 t6989586621680486579. (~>) a6989586621680486596 ((~>) (t6989586621680486579 a6989586621680486596) Bool)
data ElemSym1 (arg6989586621680487242 :: a6989586621680486596) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486596) Bool
type ElemSym2 (arg6989586621680487242 :: a6989586621680486596) (arg6989586621680487243 :: t6989586621680486579 a6989586621680486596) = Elem arg6989586621680487242 arg6989586621680487243
data FoldMapSym0 :: forall a6989586621680486582 m6989586621680486581 t6989586621680486579. (~>) ((~>) a6989586621680486582 m6989586621680486581) ((~>) (t6989586621680486579 a6989586621680486582) m6989586621680486581)
data FoldMapSym1 (arg6989586621680487200 :: (~>) a6989586621680486582 m6989586621680486581) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486582) m6989586621680486581
type FoldMapSym2 (arg6989586621680487200 :: (~>) a6989586621680486582 m6989586621680486581) (arg6989586621680487201 :: t6989586621680486579 a6989586621680486582) = FoldMap arg6989586621680487200 arg6989586621680487201
data FoldrSym0 :: forall a6989586621680486583 b6989586621680486584 t6989586621680486579. (~>) ((~>) a6989586621680486583 ((~>) b6989586621680486584 b6989586621680486584)) ((~>) b6989586621680486584 ((~>) (t6989586621680486579 a6989586621680486583) b6989586621680486584))
data FoldrSym1 (arg6989586621680487204 :: (~>) a6989586621680486583 ((~>) b6989586621680486584 b6989586621680486584)) :: forall t6989586621680486579. (~>) b6989586621680486584 ((~>) (t6989586621680486579 a6989586621680486583) b6989586621680486584)
data FoldrSym2 (arg6989586621680487204 :: (~>) a6989586621680486583 ((~>) b6989586621680486584 b6989586621680486584)) (arg6989586621680487205 :: b6989586621680486584) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486583) b6989586621680486584
type FoldrSym3 (arg6989586621680487204 :: (~>) a6989586621680486583 ((~>) b6989586621680486584 b6989586621680486584)) (arg6989586621680487205 :: b6989586621680486584) (arg6989586621680487206 :: t6989586621680486579 a6989586621680486583) = Foldr arg6989586621680487204 arg6989586621680487205 arg6989586621680487206
data FoldlSym0 :: forall b6989586621680486587 a6989586621680486588 t6989586621680486579. (~>) ((~>) b6989586621680486587 ((~>) a6989586621680486588 b6989586621680486587)) ((~>) b6989586621680486587 ((~>) (t6989586621680486579 a6989586621680486588) b6989586621680486587))
data FoldlSym1 (arg6989586621680487216 :: (~>) b6989586621680486587 ((~>) a6989586621680486588 b6989586621680486587)) :: forall t6989586621680486579. (~>) b6989586621680486587 ((~>) (t6989586621680486579 a6989586621680486588) b6989586621680486587)
data FoldlSym2 (arg6989586621680487216 :: (~>) b6989586621680486587 ((~>) a6989586621680486588 b6989586621680486587)) (arg6989586621680487217 :: b6989586621680486587) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486588) b6989586621680486587
type FoldlSym3 (arg6989586621680487216 :: (~>) b6989586621680486587 ((~>) a6989586621680486588 b6989586621680486587)) (arg6989586621680487217 :: b6989586621680486587) (arg6989586621680487218 :: t6989586621680486579 a6989586621680486588) = Foldl arg6989586621680487216 arg6989586621680487217 arg6989586621680487218
data Foldr1Sym0 :: forall a6989586621680486591 t6989586621680486579. (~>) ((~>) a6989586621680486591 ((~>) a6989586621680486591 a6989586621680486591)) ((~>) (t6989586621680486579 a6989586621680486591) a6989586621680486591)
data Foldr1Sym1 (arg6989586621680487228 :: (~>) a6989586621680486591 ((~>) a6989586621680486591 a6989586621680486591)) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486591) a6989586621680486591
type Foldr1Sym2 (arg6989586621680487228 :: (~>) a6989586621680486591 ((~>) a6989586621680486591 a6989586621680486591)) (arg6989586621680487229 :: t6989586621680486579 a6989586621680486591) = Foldr1 arg6989586621680487228 arg6989586621680487229
data Foldl1Sym0 :: forall a6989586621680486592 t6989586621680486579. (~>) ((~>) a6989586621680486592 ((~>) a6989586621680486592 a6989586621680486592)) ((~>) (t6989586621680486579 a6989586621680486592) a6989586621680486592)
data Foldl1Sym1 (arg6989586621680487232 :: (~>) a6989586621680486592 ((~>) a6989586621680486592 a6989586621680486592)) :: forall t6989586621680486579. (~>) (t6989586621680486579 a6989586621680486592) a6989586621680486592
type Foldl1Sym2 (arg6989586621680487232 :: (~>) a6989586621680486592 ((~>) a6989586621680486592 a6989586621680486592)) (arg6989586621680487233 :: t6989586621680486579 a6989586621680486592) = Foldl1 arg6989586621680487232 arg6989586621680487233
data MaximumSym0 :: forall t6989586621680486579 a6989586621680486597. (~>) (t6989586621680486579 a6989586621680486597) a6989586621680486597
type MaximumSym1 (arg6989586621680487246 :: t6989586621680486579 a6989586621680486597) = Maximum arg6989586621680487246
data MinimumSym0 :: forall t6989586621680486579 a6989586621680486598. (~>) (t6989586621680486579 a6989586621680486598) a6989586621680486598
type MinimumSym1 (arg6989586621680487248 :: t6989586621680486579 a6989586621680486598) = Minimum arg6989586621680487248
data SumSym0 :: forall t6989586621680486579 a6989586621680486599. (~>) (t6989586621680486579 a6989586621680486599) a6989586621680486599
type SumSym1 (arg6989586621680487250 :: t6989586621680486579 a6989586621680486599) = Sum arg6989586621680487250
data ProductSym0 :: forall t6989586621680486579 a6989586621680486600. (~>) (t6989586621680486579 a6989586621680486600) a6989586621680486600
type ProductSym1 (arg6989586621680487252 :: t6989586621680486579 a6989586621680486600) = Product arg6989586621680487252
data TraverseSym0 :: forall a6989586621680794772 f6989586621680794771 b6989586621680794773 t6989586621680794770. (~>) ((~>) a6989586621680794772 (f6989586621680794771 b6989586621680794773)) ((~>) (t6989586621680794770 a6989586621680794772) (f6989586621680794771 (t6989586621680794770 b6989586621680794773)))
data TraverseSym1 (arg6989586621680794782 :: (~>) a6989586621680794772 (f6989586621680794771 b6989586621680794773)) :: forall t6989586621680794770. (~>) (t6989586621680794770 a6989586621680794772) (f6989586621680794771 (t6989586621680794770 b6989586621680794773))
type TraverseSym2 (arg6989586621680794782 :: (~>) a6989586621680794772 (f6989586621680794771 b6989586621680794773)) (arg6989586621680794783 :: t6989586621680794770 a6989586621680794772) = Traverse arg6989586621680794782 arg6989586621680794783
data SequenceASym0 :: forall t6989586621680794770 f6989586621680794774 a6989586621680794775. (~>) (t6989586621680794770 (f6989586621680794774 a6989586621680794775)) (f6989586621680794774 (t6989586621680794770 a6989586621680794775))
type SequenceASym1 (arg6989586621680794786 :: t6989586621680794770 (f6989586621680794774 a6989586621680794775)) = SequenceA arg6989586621680794786
data MapMSym0 :: forall a6989586621680794777 m6989586621680794776 b6989586621680794778 t6989586621680794770. (~>) ((~>) a6989586621680794777 (m6989586621680794776 b6989586621680794778)) ((~>) (t6989586621680794770 a6989586621680794777) (m6989586621680794776 (t6989586621680794770 b6989586621680794778)))
data MapMSym1 (arg6989586621680794788 :: (~>) a6989586621680794777 (m6989586621680794776 b6989586621680794778)) :: forall t6989586621680794770. (~>) (t6989586621680794770 a6989586621680794777) (m6989586621680794776 (t6989586621680794770 b6989586621680794778))
type MapMSym2 (arg6989586621680794788 :: (~>) a6989586621680794777 (m6989586621680794776 b6989586621680794778)) (arg6989586621680794789 :: t6989586621680794770 a6989586621680794777) = MapM arg6989586621680794788 arg6989586621680794789
data SequenceSym0 :: forall t6989586621680794770 m6989586621680794779 a6989586621680794780. (~>) (t6989586621680794770 (m6989586621680794779 a6989586621680794780)) (m6989586621680794779 (t6989586621680794770 a6989586621680794780))
type SequenceSym1 (arg6989586621680794792 :: t6989586621680794770 (m6989586621680794779 a6989586621680794780)) = Sequence arg6989586621680794792
data IdSym0 :: forall a6989586621679541509. (~>) a6989586621679541509 a6989586621679541509
type IdSym1 (a6989586621679541704 :: a6989586621679541509) = Id a6989586621679541704
data ConstSym0 :: forall a6989586621679541507 b6989586621679541508. (~>) a6989586621679541507 ((~>) b6989586621679541508 a6989586621679541507)
data ConstSym1 (a6989586621679541699 :: a6989586621679541507) :: forall b6989586621679541508. (~>) b6989586621679541508 a6989586621679541507
type ConstSym2 (a6989586621679541699 :: a6989586621679541507) (a6989586621679541700 :: b6989586621679541508) = Const a6989586621679541699 a6989586621679541700
data (.@#@$) :: forall b6989586621679541504 c6989586621679541505 a6989586621679541506. (~>) ((~>) b6989586621679541504 c6989586621679541505) ((~>) ((~>) a6989586621679541506 b6989586621679541504) ((~>) a6989586621679541506 c6989586621679541505))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679541680 :: (~>) b6989586621679541504 c6989586621679541505) :: forall a6989586621679541506. (~>) ((~>) a6989586621679541506 b6989586621679541504) ((~>) a6989586621679541506 c6989586621679541505)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679541680 :: (~>) b6989586621679541504 c6989586621679541505) (a6989586621679541681 :: (~>) a6989586621679541506 b6989586621679541504) :: (~>) a6989586621679541506 c6989586621679541505
infixr 9 .@#@$$$
data ($@#@$) :: forall a6989586621679541498 b6989586621679541499. (~>) ((~>) a6989586621679541498 b6989586621679541499) ((~>) a6989586621679541498 b6989586621679541499)
infixr 0 $@#@$
data ($@#@$$) (a6989586621679541655 :: (~>) a6989586621679541498 b6989586621679541499) :: (~>) a6989586621679541498 b6989586621679541499
infixr 0 $@#@$$
type ($@#@$$$) (a6989586621679541655 :: (~>) a6989586621679541498 b6989586621679541499) (a6989586621679541656 :: a6989586621679541498) = ($) a6989586621679541655 a6989586621679541656
data ($!@#@$) :: forall a6989586621679541496 b6989586621679541497. (~>) ((~>) a6989586621679541496 b6989586621679541497) ((~>) a6989586621679541496 b6989586621679541497)
infixr 0 $!@#@$
data ($!@#@$$) (a6989586621679541646 :: (~>) a6989586621679541496 b6989586621679541497) :: (~>) a6989586621679541496 b6989586621679541497
infixr 0 $!@#@$$
type ($!@#@$$$) (a6989586621679541646 :: (~>) a6989586621679541496 b6989586621679541497) (a6989586621679541647 :: a6989586621679541496) = ($!) a6989586621679541646 a6989586621679541647
data FlipSym0 :: forall a6989586621679541501 b6989586621679541502 c6989586621679541503. (~>) ((~>) a6989586621679541501 ((~>) b6989586621679541502 c6989586621679541503)) ((~>) b6989586621679541502 ((~>) a6989586621679541501 c6989586621679541503))
data FlipSym1 (a6989586621679541671 :: (~>) a6989586621679541501 ((~>) b6989586621679541502 c6989586621679541503)) :: (~>) b6989586621679541502 ((~>) a6989586621679541501 c6989586621679541503)
data FlipSym2 (a6989586621679541671 :: (~>) a6989586621679541501 ((~>) b6989586621679541502 c6989586621679541503)) (a6989586621679541672 :: b6989586621679541502) :: (~>) a6989586621679541501 c6989586621679541503
data AsTypeOfSym0 :: forall a6989586621679541500. (~>) a6989586621679541500 ((~>) a6989586621679541500 a6989586621679541500)
data AsTypeOfSym1 (a6989586621679541665 :: a6989586621679541500) :: (~>) a6989586621679541500 a6989586621679541500
type AsTypeOfSym2 (a6989586621679541665 :: a6989586621679541500) (a6989586621679541666 :: a6989586621679541500) = AsTypeOf a6989586621679541665 a6989586621679541666
data SeqSym0 :: forall a6989586621679541493 b6989586621679541494. (~>) a6989586621679541493 ((~>) b6989586621679541494 b6989586621679541494)
infixr 0 `SeqSym0`
data SeqSym1 (a6989586621679541615 :: a6989586621679541493) :: forall b6989586621679541494. (~>) b6989586621679541494 b6989586621679541494
infixr 0 `SeqSym1`
type SeqSym2 (a6989586621679541615 :: a6989586621679541493) (a6989586621679541616 :: b6989586621679541494) = Seq a6989586621679541615 a6989586621679541616
data (:@#@$) :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 ((~>) [a3530822107858468865] [a3530822107858468865 :: Type])
infixr 5 :@#@$
data (:@#@$$) (t6989586621679310906 :: a3530822107858468865 :: Type) :: (~>) [a3530822107858468865] [a3530822107858468865 :: Type]
infixr 5 :@#@$$
type (:@#@$$$) (t6989586621679310906 :: a3530822107858468865) (t6989586621679310907 :: [a3530822107858468865]) = '(:) t6989586621679310906 t6989586621679310907
type NilSym0 = '[]
data MapSym0 :: forall a6989586621679541511 b6989586621679541512. (~>) ((~>) a6989586621679541511 b6989586621679541512) ((~>) [a6989586621679541511] [b6989586621679541512])
data MapSym1 (a6989586621679541715 :: (~>) a6989586621679541511 b6989586621679541512) :: (~>) [a6989586621679541511] [b6989586621679541512]
type MapSym2 (a6989586621679541715 :: (~>) a6989586621679541511 b6989586621679541512) (a6989586621679541716 :: [a6989586621679541511]) = Map a6989586621679541715 a6989586621679541716
data ReverseSym0 :: forall a6989586621679970255. (~>) [a6989586621679970255] [a6989586621679970255]
type ReverseSym1 (a6989586621679975570 :: [a6989586621679970255]) = Reverse a6989586621679975570
data (++@#@$$) (a6989586621679541707 :: [a6989586621679541510]) :: (~>) [a6989586621679541510] [a6989586621679541510]
infixr 5 ++@#@$$
data (++@#@$) :: forall a6989586621679541510. (~>) [a6989586621679541510] ((~>) [a6989586621679541510] [a6989586621679541510])
infixr 5 ++@#@$
data FilterSym0 :: forall a6989586621679970170. (~>) ((~>) a6989586621679970170 Bool) ((~>) [a6989586621679970170] [a6989586621679970170])
data FilterSym1 (a6989586621679974725 :: (~>) a6989586621679970170 Bool) :: (~>) [a6989586621679970170] [a6989586621679970170]
type FilterSym2 (a6989586621679974725 :: (~>) a6989586621679970170 Bool) (a6989586621679974726 :: [a6989586621679970170]) = Filter a6989586621679974725 a6989586621679974726
data HeadSym0 :: forall a6989586621679970260. (~>) [a6989586621679970260] a6989586621679970260
type HeadSym1 (a6989586621679975607 :: [a6989586621679970260]) = Head a6989586621679975607
data LastSym0 :: forall a6989586621679970259. (~>) [a6989586621679970259] a6989586621679970259
type LastSym1 (a6989586621679975602 :: [a6989586621679970259]) = Last a6989586621679975602
data TailSym0 :: forall a6989586621679970258. (~>) [a6989586621679970258] [a6989586621679970258]
type TailSym1 (a6989586621679975599 :: [a6989586621679970258]) = Tail a6989586621679975599
data InitSym0 :: forall a6989586621679970257. (~>) [a6989586621679970257] [a6989586621679970257]
type InitSym1 (a6989586621679975585 :: [a6989586621679970257]) = Init a6989586621679975585
data NullSym0 :: forall t6989586621680486579 a6989586621680486594. (~>) (t6989586621680486579 a6989586621680486594) Bool
type NullSym1 (arg6989586621680487238 :: t6989586621680486579 a6989586621680486594) = Null arg6989586621680487238
data ConcatSym0 :: forall t6989586621680486504 a6989586621680486505. (~>) (t6989586621680486504 [a6989586621680486505]) [a6989586621680486505]
type ConcatSym1 (a6989586621680487086 :: t6989586621680486504 [a6989586621680486505]) = Concat a6989586621680487086
data ConcatMapSym0 :: forall a6989586621680486502 b6989586621680486503 t6989586621680486501. (~>) ((~>) a6989586621680486502 [b6989586621680486503]) ((~>) (t6989586621680486501 a6989586621680486502) [b6989586621680486503])
data ConcatMapSym1 (a6989586621680487070 :: (~>) a6989586621680486502 [b6989586621680486503]) :: forall t6989586621680486501. (~>) (t6989586621680486501 a6989586621680486502) [b6989586621680486503]
type ConcatMapSym2 (a6989586621680487070 :: (~>) a6989586621680486502 [b6989586621680486503]) (a6989586621680487071 :: t6989586621680486501 a6989586621680486502) = ConcatMap a6989586621680487070 a6989586621680487071
data AndSym0 :: forall t6989586621680486500. (~>) (t6989586621680486500 Bool) Bool
type AndSym1 (a6989586621680487061 :: t6989586621680486500 Bool) = And a6989586621680487061
data OrSym0 :: forall t6989586621680486499. (~>) (t6989586621680486499 Bool) Bool
type OrSym1 (a6989586621680487052 :: t6989586621680486499 Bool) = Or a6989586621680487052
data AnySym0 :: forall a6989586621680486498 t6989586621680486497. (~>) ((~>) a6989586621680486498 Bool) ((~>) (t6989586621680486497 a6989586621680486498) Bool)
data AnySym1 (a6989586621680487039 :: (~>) a6989586621680486498 Bool) :: forall t6989586621680486497. (~>) (t6989586621680486497 a6989586621680486498) Bool
type AnySym2 (a6989586621680487039 :: (~>) a6989586621680486498 Bool) (a6989586621680487040 :: t6989586621680486497 a6989586621680486498) = Any a6989586621680487039 a6989586621680487040
data AllSym0 :: forall a6989586621680486496 t6989586621680486495. (~>) ((~>) a6989586621680486496 Bool) ((~>) (t6989586621680486495 a6989586621680486496) Bool)
data AllSym1 (a6989586621680487026 :: (~>) a6989586621680486496 Bool) :: forall t6989586621680486495. (~>) (t6989586621680486495 a6989586621680486496) Bool
type AllSym2 (a6989586621680487026 :: (~>) a6989586621680486496 Bool) (a6989586621680487027 :: t6989586621680486495 a6989586621680486496) = All a6989586621680487026 a6989586621680487027
data ScanlSym0 :: forall b6989586621679970237 a6989586621679970238. (~>) ((~>) b6989586621679970237 ((~>) a6989586621679970238 b6989586621679970237)) ((~>) b6989586621679970237 ((~>) [a6989586621679970238] [b6989586621679970237]))
data ScanlSym1 (a6989586621679975331 :: (~>) b6989586621679970237 ((~>) a6989586621679970238 b6989586621679970237)) :: (~>) b6989586621679970237 ((~>) [a6989586621679970238] [b6989586621679970237])
data ScanlSym2 (a6989586621679975331 :: (~>) b6989586621679970237 ((~>) a6989586621679970238 b6989586621679970237)) (a6989586621679975332 :: b6989586621679970237) :: (~>) [a6989586621679970238] [b6989586621679970237]
type ScanlSym3 (a6989586621679975331 :: (~>) b6989586621679970237 ((~>) a6989586621679970238 b6989586621679970237)) (a6989586621679975332 :: b6989586621679970237) (a6989586621679975333 :: [a6989586621679970238]) = Scanl a6989586621679975331 a6989586621679975332 a6989586621679975333
data Scanl1Sym0 :: forall a6989586621679970236. (~>) ((~>) a6989586621679970236 ((~>) a6989586621679970236 a6989586621679970236)) ((~>) [a6989586621679970236] [a6989586621679970236])
data Scanl1Sym1 (a6989586621679975324 :: (~>) a6989586621679970236 ((~>) a6989586621679970236 a6989586621679970236)) :: (~>) [a6989586621679970236] [a6989586621679970236]
type Scanl1Sym2 (a6989586621679975324 :: (~>) a6989586621679970236 ((~>) a6989586621679970236 a6989586621679970236)) (a6989586621679975325 :: [a6989586621679970236]) = Scanl1 a6989586621679975324 a6989586621679975325
data ScanrSym0 :: forall a6989586621679970234 b6989586621679970235. (~>) ((~>) a6989586621679970234 ((~>) b6989586621679970235 b6989586621679970235)) ((~>) b6989586621679970235 ((~>) [a6989586621679970234] [b6989586621679970235]))
data ScanrSym1 (a6989586621679975303 :: (~>) a6989586621679970234 ((~>) b6989586621679970235 b6989586621679970235)) :: (~>) b6989586621679970235 ((~>) [a6989586621679970234] [b6989586621679970235])
data ScanrSym2 (a6989586621679975303 :: (~>) a6989586621679970234 ((~>) b6989586621679970235 b6989586621679970235)) (a6989586621679975304 :: b6989586621679970235) :: (~>) [a6989586621679970234] [b6989586621679970235]
type ScanrSym3 (a6989586621679975303 :: (~>) a6989586621679970234 ((~>) b6989586621679970235 b6989586621679970235)) (a6989586621679975304 :: b6989586621679970235) (a6989586621679975305 :: [a6989586621679970234]) = Scanr a6989586621679975303 a6989586621679975304 a6989586621679975305
data Scanr1Sym0 :: forall a6989586621679970233. (~>) ((~>) a6989586621679970233 ((~>) a6989586621679970233 a6989586621679970233)) ((~>) [a6989586621679970233] [a6989586621679970233])
data Scanr1Sym1 (a6989586621679975279 :: (~>) a6989586621679970233 ((~>) a6989586621679970233 a6989586621679970233)) :: (~>) [a6989586621679970233] [a6989586621679970233]
type Scanr1Sym2 (a6989586621679975279 :: (~>) a6989586621679970233 ((~>) a6989586621679970233 a6989586621679970233)) (a6989586621679975280 :: [a6989586621679970233]) = Scanr1 a6989586621679975279 a6989586621679975280
data ReplicateSym0 :: forall a6989586621679970141. (~>) Nat ((~>) a6989586621679970141 [a6989586621679970141])
data ReplicateSym1 (a6989586621679974306 :: Nat) :: forall a6989586621679970141. (~>) a6989586621679970141 [a6989586621679970141]
type ReplicateSym2 (a6989586621679974306 :: Nat) (a6989586621679974307 :: a6989586621679970141) = Replicate a6989586621679974306 a6989586621679974307
data TakeSym0 :: forall a6989586621679970157. (~>) Nat ((~>) [a6989586621679970157] [a6989586621679970157])
data TakeSym1 (a6989586621679974467 :: Nat) :: forall a6989586621679970157. (~>) [a6989586621679970157] [a6989586621679970157]
type TakeSym2 (a6989586621679974467 :: Nat) (a6989586621679974468 :: [a6989586621679970157]) = Take a6989586621679974467 a6989586621679974468
data DropSym0 :: forall a6989586621679970156. (~>) Nat ((~>) [a6989586621679970156] [a6989586621679970156])
data DropSym1 (a6989586621679974453 :: Nat) :: forall a6989586621679970156. (~>) [a6989586621679970156] [a6989586621679970156]
type DropSym2 (a6989586621679974453 :: Nat) (a6989586621679974454 :: [a6989586621679970156]) = Drop a6989586621679974453 a6989586621679974454
data SplitAtSym0 :: forall a6989586621679970155. (~>) Nat ((~>) [a6989586621679970155] ([a6989586621679970155], [a6989586621679970155]))
data SplitAtSym1 (a6989586621679974447 :: Nat) :: forall a6989586621679970155. (~>) [a6989586621679970155] ([a6989586621679970155], [a6989586621679970155])
type SplitAtSym2 (a6989586621679974447 :: Nat) (a6989586621679974448 :: [a6989586621679970155]) = SplitAt a6989586621679974447 a6989586621679974448
data TakeWhileSym0 :: forall a6989586621679970162. (~>) ((~>) a6989586621679970162 Bool) ((~>) [a6989586621679970162] [a6989586621679970162])
data TakeWhileSym1 (a6989586621679974611 :: (~>) a6989586621679970162 Bool) :: (~>) [a6989586621679970162] [a6989586621679970162]
type TakeWhileSym2 (a6989586621679974611 :: (~>) a6989586621679970162 Bool) (a6989586621679974612 :: [a6989586621679970162]) = TakeWhile a6989586621679974611 a6989586621679974612
data DropWhileSym0 :: forall a6989586621679970161. (~>) ((~>) a6989586621679970161 Bool) ((~>) [a6989586621679970161] [a6989586621679970161])
data DropWhileSym1 (a6989586621679974593 :: (~>) a6989586621679970161 Bool) :: (~>) [a6989586621679970161] [a6989586621679970161]
type DropWhileSym2 (a6989586621679974593 :: (~>) a6989586621679970161 Bool) (a6989586621679974594 :: [a6989586621679970161]) = DropWhile a6989586621679974593 a6989586621679974594
data DropWhileEndSym0 :: forall a6989586621679970160. (~>) ((~>) a6989586621679970160 Bool) ((~>) [a6989586621679970160] [a6989586621679970160])
data DropWhileEndSym1 (a6989586621679974567 :: (~>) a6989586621679970160 Bool) :: (~>) [a6989586621679970160] [a6989586621679970160]
type DropWhileEndSym2 (a6989586621679974567 :: (~>) a6989586621679970160 Bool) (a6989586621679974568 :: [a6989586621679970160]) = DropWhileEnd a6989586621679974567 a6989586621679974568
data SpanSym0 :: forall a6989586621679970159. (~>) ((~>) a6989586621679970159 Bool) ((~>) [a6989586621679970159] ([a6989586621679970159], [a6989586621679970159]))
data SpanSym1 (a6989586621679974524 :: (~>) a6989586621679970159 Bool) :: (~>) [a6989586621679970159] ([a6989586621679970159], [a6989586621679970159])
type SpanSym2 (a6989586621679974524 :: (~>) a6989586621679970159 Bool) (a6989586621679974525 :: [a6989586621679970159]) = Span a6989586621679974524 a6989586621679974525
data BreakSym0 :: forall a6989586621679970158. (~>) ((~>) a6989586621679970158 Bool) ((~>) [a6989586621679970158] ([a6989586621679970158], [a6989586621679970158]))
data BreakSym1 (a6989586621679974481 :: (~>) a6989586621679970158 Bool) :: (~>) [a6989586621679970158] ([a6989586621679970158], [a6989586621679970158])
type BreakSym2 (a6989586621679974481 :: (~>) a6989586621679970158 Bool) (a6989586621679974482 :: [a6989586621679970158]) = Break a6989586621679974481 a6989586621679974482
data NotElemSym0 :: forall a6989586621680486490 t6989586621680486489. (~>) a6989586621680486490 ((~>) (t6989586621680486489 a6989586621680486490) Bool)
data NotElemSym1 (a6989586621680486968 :: a6989586621680486490) :: forall t6989586621680486489. (~>) (t6989586621680486489 a6989586621680486490) Bool
type NotElemSym2 (a6989586621680486968 :: a6989586621680486490) (a6989586621680486969 :: t6989586621680486489 a6989586621680486490) = NotElem a6989586621680486968 a6989586621680486969
data ZipSym0 :: forall a6989586621679970216 b6989586621679970217. (~>) [a6989586621679970216] ((~>) [b6989586621679970217] [(a6989586621679970216, b6989586621679970217)])
data ZipSym1 (a6989586621679975080 :: [a6989586621679970216]) :: forall b6989586621679970217. (~>) [b6989586621679970217] [(a6989586621679970216, b6989586621679970217)]
type ZipSym2 (a6989586621679975080 :: [a6989586621679970216]) (a6989586621679975081 :: [b6989586621679970217]) = Zip a6989586621679975080 a6989586621679975081
data Zip3Sym0 :: forall a6989586621679970213 b6989586621679970214 c6989586621679970215. (~>) [a6989586621679970213] ((~>) [b6989586621679970214] ((~>) [c6989586621679970215] [(a6989586621679970213, b6989586621679970214, c6989586621679970215)]))
data Zip3Sym1 (a6989586621679975068 :: [a6989586621679970213]) :: forall b6989586621679970214 c6989586621679970215. (~>) [b6989586621679970214] ((~>) [c6989586621679970215] [(a6989586621679970213, b6989586621679970214, c6989586621679970215)])
data Zip3Sym2 (a6989586621679975068 :: [a6989586621679970213]) (a6989586621679975069 :: [b6989586621679970214]) :: forall c6989586621679970215. (~>) [c6989586621679970215] [(a6989586621679970213, b6989586621679970214, c6989586621679970215)]
type Zip3Sym3 (a6989586621679975068 :: [a6989586621679970213]) (a6989586621679975069 :: [b6989586621679970214]) (a6989586621679975070 :: [c6989586621679970215]) = Zip3 a6989586621679975068 a6989586621679975069 a6989586621679975070
data ZipWithSym0 :: forall a6989586621679970210 b6989586621679970211 c6989586621679970212. (~>) ((~>) a6989586621679970210 ((~>) b6989586621679970211 c6989586621679970212)) ((~>) [a6989586621679970210] ((~>) [b6989586621679970211] [c6989586621679970212]))
data ZipWithSym1 (a6989586621679975057 :: (~>) a6989586621679970210 ((~>) b6989586621679970211 c6989586621679970212)) :: (~>) [a6989586621679970210] ((~>) [b6989586621679970211] [c6989586621679970212])
data ZipWithSym2 (a6989586621679975057 :: (~>) a6989586621679970210 ((~>) b6989586621679970211 c6989586621679970212)) (a6989586621679975058 :: [a6989586621679970210]) :: (~>) [b6989586621679970211] [c6989586621679970212]
type ZipWithSym3 (a6989586621679975057 :: (~>) a6989586621679970210 ((~>) b6989586621679970211 c6989586621679970212)) (a6989586621679975058 :: [a6989586621679970210]) (a6989586621679975059 :: [b6989586621679970211]) = ZipWith a6989586621679975057 a6989586621679975058 a6989586621679975059
data ZipWith3Sym0 :: forall a6989586621679970206 b6989586621679970207 c6989586621679970208 d6989586621679970209. (~>) ((~>) a6989586621679970206 ((~>) b6989586621679970207 ((~>) c6989586621679970208 d6989586621679970209))) ((~>) [a6989586621679970206] ((~>) [b6989586621679970207] ((~>) [c6989586621679970208] [d6989586621679970209])))
data ZipWith3Sym1 (a6989586621679975042 :: (~>) a6989586621679970206 ((~>) b6989586621679970207 ((~>) c6989586621679970208 d6989586621679970209))) :: (~>) [a6989586621679970206] ((~>) [b6989586621679970207] ((~>) [c6989586621679970208] [d6989586621679970209]))
data ZipWith3Sym2 (a6989586621679975042 :: (~>) a6989586621679970206 ((~>) b6989586621679970207 ((~>) c6989586621679970208 d6989586621679970209))) (a6989586621679975043 :: [a6989586621679970206]) :: (~>) [b6989586621679970207] ((~>) [c6989586621679970208] [d6989586621679970209])
data ZipWith3Sym3 (a6989586621679975042 :: (~>) a6989586621679970206 ((~>) b6989586621679970207 ((~>) c6989586621679970208 d6989586621679970209))) (a6989586621679975043 :: [a6989586621679970206]) (a6989586621679975044 :: [b6989586621679970207]) :: (~>) [c6989586621679970208] [d6989586621679970209]
data UnzipSym0 :: forall a6989586621679970204 b6989586621679970205. (~>) [(a6989586621679970204, b6989586621679970205)] ([a6989586621679970204], [b6989586621679970205])
type UnzipSym1 (a6989586621679975023 :: [(a6989586621679970204, b6989586621679970205)]) = Unzip a6989586621679975023
data UnlinesSym0 :: (~>) [Symbol] Symbol
type UnlinesSym1 (a6989586621679974894 :: [Symbol]) = Unlines a6989586621679974894
data UnwordsSym0 :: (~>) [Symbol] Symbol
type UnwordsSym1 (a6989586621679974883 :: [Symbol]) = Unwords a6989586621679974883


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