-- 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 %~

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

-- | Uninhabited data type
data Void

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

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

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

-- | Proof that no <tt>a</tt> exists
Disproved :: Refuted a -> Decision a

-- | 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_a1vkr :: Void) :: a_a1vko
sAbsurd :: forall a_a1vko (t_a1vkx :: Void). Sing t_a1vkx -> Sing (Apply AbsurdSym0 t_a1vkx :: a_a1vko)
data AbsurdSym0 :: forall a6989586621679368548. (~>) Void a6989586621679368548
type AbsurdSym1 (a6989586621679368551 :: Void) = Absurd a6989586621679368551
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_a1hem :: a_11) (n_a1hen :: b_12). () => Sing (n_a1hem :: a_11) -> Sing (n_a1hen :: b_12) -> STuple2 '(n_a1hem, n_a1hen)
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_a1heT :: a_11) (n_a1heU :: b_12) (n_a1heV :: c_13). () => Sing (n_a1heT :: a_11) -> Sing (n_a1heU :: b_12) -> Sing (n_a1heV :: c_13) -> STuple3 '(n_a1heT, n_a1heU, n_a1heV)
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_a1hfG :: a_11) (n_a1hfH :: b_12) (n_a1hfI :: c_13) (n_a1hfJ :: d_14). () => Sing (n_a1hfG :: a_11) -> Sing (n_a1hfH :: b_12) -> Sing (n_a1hfI :: c_13) -> Sing (n_a1hfJ :: d_14) -> STuple4 '(n_a1hfG, n_a1hfH, n_a1hfI, n_a1hfJ)
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_a1hgL :: a_11) (n_a1hgM :: b_12) (n_a1hgN :: c_13) (n_a1hgO :: d_14) (n_a1hgP :: e_15). () => Sing (n_a1hgL :: a_11) -> Sing (n_a1hgM :: b_12) -> Sing (n_a1hgN :: c_13) -> Sing (n_a1hgO :: d_14) -> Sing (n_a1hgP :: e_15) -> STuple5 '(n_a1hgL, n_a1hgM, n_a1hgN, n_a1hgO, n_a1hgP)
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_a1hia :: a_11) (n_a1hib :: b_12) (n_a1hic :: c_13) (n_a1hid :: d_14) (n_a1hie :: e_15) (n_a1hif :: f_16). () => Sing (n_a1hia :: a_11) -> Sing (n_a1hib :: b_12) -> Sing (n_a1hic :: c_13) -> Sing (n_a1hid :: d_14) -> Sing (n_a1hie :: e_15) -> Sing (n_a1hif :: f_16) -> STuple6 '(n_a1hia, n_a1hib, n_a1hic, n_a1hid, n_a1hie, n_a1hif)
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_a1hjV :: a_11) (n_a1hjW :: b_12) (n_a1hjX :: c_13) (n_a1hjY :: d_14) (n_a1hjZ :: e_15) (n_a1hk0 :: f_16) (n_a1hk1 :: g_17). () => Sing (n_a1hjV :: a_11) -> Sing (n_a1hjW :: b_12) -> Sing (n_a1hjX :: c_13) -> Sing (n_a1hjY :: d_14) -> Sing (n_a1hjZ :: e_15) -> Sing (n_a1hk0 :: f_16) -> Sing (n_a1hk1 :: g_17) -> STuple7 '(n_a1hjV, n_a1hjW, n_a1hjX, n_a1hjY, n_a1hjZ, n_a1hk0, n_a1hk1)
type family Fst (a_a1vA5 :: (a_a1vyr, b_a1vys)) :: a_a1vyr
sFst :: forall a_a1vyr b_a1vys (t_a1vAm :: (a_a1vyr, b_a1vys)). Sing t_a1vAm -> Sing (Apply FstSym0 t_a1vAm :: a_a1vyr)
type family Snd (a_a1vA2 :: (a_a1vyp, b_a1vyq)) :: b_a1vyq
sSnd :: forall a_a1vyp b_a1vyq (t_a1vAk :: (a_a1vyp, b_a1vyq)). Sing t_a1vAk -> Sing (Apply SndSym0 t_a1vAk :: b_a1vyq)
type family Curry (a_a1vzT :: (~>) (a_a1vym, b_a1vyn) c_a1vyo) (a_a1vzU :: a_a1vym) (a_a1vzV :: b_a1vyn) :: c_a1vyo
sCurry :: forall a_a1vym b_a1vyn c_a1vyo (t_a1vAe :: (~>) (a_a1vym, b_a1vyn) c_a1vyo) (t_a1vAf :: a_a1vym) (t_a1vAg :: b_a1vyn). Sing t_a1vAe -> Sing t_a1vAf -> Sing t_a1vAg -> Sing (Apply (Apply (Apply CurrySym0 t_a1vAe) t_a1vAf) t_a1vAg :: c_a1vyo)
type family Uncurry (a_a1vzN :: (~>) a_a1vyj ((~>) b_a1vyk c_a1vyl)) (a_a1vzO :: (a_a1vyj, b_a1vyk)) :: c_a1vyl
sUncurry :: forall a_a1vyj b_a1vyk c_a1vyl (t_a1vAa :: (~>) a_a1vyj ((~>) b_a1vyk c_a1vyl)) (t_a1vAb :: (a_a1vyj, b_a1vyk)). Sing t_a1vAa -> Sing t_a1vAb -> Sing (Apply (Apply UncurrySym0 t_a1vAa) t_a1vAb :: c_a1vyl)
type family Swap (a_a1vzJ :: (a_a1vyh, b_a1vyi)) :: (b_a1vyi, a_a1vyh)
sSwap :: forall a_a1vyh b_a1vyi (t_a1vA8 :: (a_a1vyh, b_a1vyi)). Sing t_a1vA8 -> Sing (Apply SwapSym0 t_a1vA8 :: (b_a1vyi, a_a1vyh))
type Tuple0Sym0 = '()
data Tuple2Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 (a3530822107858468865 :: Type, b3530822107858468866 :: Type))
data Tuple2Sym1 (t6989586621679314354 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type). (~>) b3530822107858468866 (a3530822107858468865 :: Type, b3530822107858468866 :: Type)
type Tuple2Sym2 (t6989586621679314354 :: a3530822107858468865) (t6989586621679314355 :: b3530822107858468866) = '(t6989586621679314354, t6989586621679314355)
data Tuple3Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type)))
data Tuple3Sym1 (t6989586621679314385 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type))
data Tuple3Sym2 (t6989586621679314385 :: a3530822107858468865 :: Type) (t6989586621679314386 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type). (~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type)
type Tuple3Sym3 (t6989586621679314385 :: a3530822107858468865) (t6989586621679314386 :: b3530822107858468866) (t6989586621679314387 :: c3530822107858468867) = '(t6989586621679314385, t6989586621679314386, t6989586621679314387)
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 (t6989586621679314432 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type)))
data Tuple4Sym2 (t6989586621679314432 :: a3530822107858468865 :: Type) (t6989586621679314433 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type))
data Tuple4Sym3 (t6989586621679314432 :: a3530822107858468865 :: Type) (t6989586621679314433 :: b3530822107858468866 :: Type) (t6989586621679314434 :: c3530822107858468867 :: Type) :: forall (d3530822107858468868 :: Type). (~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type)
type Tuple4Sym4 (t6989586621679314432 :: a3530822107858468865) (t6989586621679314433 :: b3530822107858468866) (t6989586621679314434 :: c3530822107858468867) (t6989586621679314435 :: d3530822107858468868) = '(t6989586621679314432, t6989586621679314433, t6989586621679314434, t6989586621679314435)
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 (t6989586621679314497 :: 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 (t6989586621679314497 :: a3530822107858468865 :: Type) (t6989586621679314498 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type)))
data Tuple5Sym3 (t6989586621679314497 :: a3530822107858468865 :: Type) (t6989586621679314498 :: b3530822107858468866 :: Type) (t6989586621679314499 :: c3530822107858468867 :: Type) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type))
data Tuple5Sym4 (t6989586621679314497 :: a3530822107858468865 :: Type) (t6989586621679314498 :: b3530822107858468866 :: Type) (t6989586621679314499 :: c3530822107858468867 :: Type) (t6989586621679314500 :: d3530822107858468868 :: Type) :: forall (e3530822107858468869 :: Type). (~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type)
type Tuple5Sym5 (t6989586621679314497 :: a3530822107858468865) (t6989586621679314498 :: b3530822107858468866) (t6989586621679314499 :: c3530822107858468867) (t6989586621679314500 :: d3530822107858468868) (t6989586621679314501 :: e3530822107858468869) = '(t6989586621679314497, t6989586621679314498, t6989586621679314499, t6989586621679314500, t6989586621679314501)
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 (t6989586621679314582 :: 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 (t6989586621679314582 :: a3530822107858468865 :: Type) (t6989586621679314583 :: 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 (t6989586621679314582 :: a3530822107858468865 :: Type) (t6989586621679314583 :: b3530822107858468866 :: Type) (t6989586621679314584 :: 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 (t6989586621679314582 :: a3530822107858468865 :: Type) (t6989586621679314583 :: b3530822107858468866 :: Type) (t6989586621679314584 :: c3530822107858468867 :: Type) (t6989586621679314585 :: d3530822107858468868 :: Type) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type))
data Tuple6Sym5 (t6989586621679314582 :: a3530822107858468865 :: Type) (t6989586621679314583 :: b3530822107858468866 :: Type) (t6989586621679314584 :: c3530822107858468867 :: Type) (t6989586621679314585 :: d3530822107858468868 :: Type) (t6989586621679314586 :: e3530822107858468869 :: Type) :: forall (f3530822107858468870 :: Type). (~>) f3530822107858468870 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type)
type Tuple6Sym6 (t6989586621679314582 :: a3530822107858468865) (t6989586621679314583 :: b3530822107858468866) (t6989586621679314584 :: c3530822107858468867) (t6989586621679314585 :: d3530822107858468868) (t6989586621679314586 :: e3530822107858468869) (t6989586621679314587 :: f3530822107858468870) = '(t6989586621679314582, t6989586621679314583, t6989586621679314584, t6989586621679314585, t6989586621679314586, t6989586621679314587)
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 (t6989586621679314689 :: 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 (t6989586621679314689 :: a3530822107858468865 :: Type) (t6989586621679314690 :: 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 (t6989586621679314689 :: a3530822107858468865 :: Type) (t6989586621679314690 :: b3530822107858468866 :: Type) (t6989586621679314691 :: 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 (t6989586621679314689 :: a3530822107858468865 :: Type) (t6989586621679314690 :: b3530822107858468866 :: Type) (t6989586621679314691 :: c3530822107858468867 :: Type) (t6989586621679314692 :: 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 (t6989586621679314689 :: a3530822107858468865 :: Type) (t6989586621679314690 :: b3530822107858468866 :: Type) (t6989586621679314691 :: c3530822107858468867 :: Type) (t6989586621679314692 :: d3530822107858468868 :: Type) (t6989586621679314693 :: 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 (t6989586621679314689 :: a3530822107858468865 :: Type) (t6989586621679314690 :: b3530822107858468866 :: Type) (t6989586621679314691 :: c3530822107858468867 :: Type) (t6989586621679314692 :: d3530822107858468868 :: Type) (t6989586621679314693 :: e3530822107858468869 :: Type) (t6989586621679314694 :: f3530822107858468870 :: Type) :: forall (g3530822107858468871 :: Type). (~>) g3530822107858468871 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type, g3530822107858468871 :: Type)
type Tuple7Sym7 (t6989586621679314689 :: a3530822107858468865) (t6989586621679314690 :: b3530822107858468866) (t6989586621679314691 :: c3530822107858468867) (t6989586621679314692 :: d3530822107858468868) (t6989586621679314693 :: e3530822107858468869) (t6989586621679314694 :: f3530822107858468870) (t6989586621679314695 :: g3530822107858468871) = '(t6989586621679314689, t6989586621679314690, t6989586621679314691, t6989586621679314692, t6989586621679314693, t6989586621679314694, t6989586621679314695)
data FstSym0 :: forall a6989586621679369419 b6989586621679369420. (~>) (a6989586621679369419, b6989586621679369420) a6989586621679369419
type FstSym1 (a6989586621679369521 :: (a6989586621679369419, b6989586621679369420)) = Fst a6989586621679369521
data SndSym0 :: forall a6989586621679369417 b6989586621679369418. (~>) (a6989586621679369417, b6989586621679369418) b6989586621679369418
type SndSym1 (a6989586621679369518 :: (a6989586621679369417, b6989586621679369418)) = Snd a6989586621679369518
data CurrySym0 :: forall a6989586621679369414 b6989586621679369415 c6989586621679369416. (~>) ((~>) (a6989586621679369414, b6989586621679369415) c6989586621679369416) ((~>) a6989586621679369414 ((~>) b6989586621679369415 c6989586621679369416))
data CurrySym1 (a6989586621679369509 :: (~>) (a6989586621679369414, b6989586621679369415) c6989586621679369416) :: (~>) a6989586621679369414 ((~>) b6989586621679369415 c6989586621679369416)
data CurrySym2 (a6989586621679369509 :: (~>) (a6989586621679369414, b6989586621679369415) c6989586621679369416) (a6989586621679369510 :: a6989586621679369414) :: (~>) b6989586621679369415 c6989586621679369416
type CurrySym3 (a6989586621679369509 :: (~>) (a6989586621679369414, b6989586621679369415) c6989586621679369416) (a6989586621679369510 :: a6989586621679369414) (a6989586621679369511 :: b6989586621679369415) = Curry a6989586621679369509 a6989586621679369510 a6989586621679369511
data UncurrySym0 :: forall a6989586621679369411 b6989586621679369412 c6989586621679369413. (~>) ((~>) a6989586621679369411 ((~>) b6989586621679369412 c6989586621679369413)) ((~>) (a6989586621679369411, b6989586621679369412) c6989586621679369413)
data UncurrySym1 (a6989586621679369503 :: (~>) a6989586621679369411 ((~>) b6989586621679369412 c6989586621679369413)) :: (~>) (a6989586621679369411, b6989586621679369412) c6989586621679369413
type UncurrySym2 (a6989586621679369503 :: (~>) a6989586621679369411 ((~>) b6989586621679369412 c6989586621679369413)) (a6989586621679369504 :: (a6989586621679369411, b6989586621679369412)) = Uncurry a6989586621679369503 a6989586621679369504
data SwapSym0 :: forall a6989586621679369409 b6989586621679369410. (~>) (a6989586621679369409, b6989586621679369410) (b6989586621679369410, a6989586621679369409)
type SwapSym1 (a6989586621679369499 :: (a6989586621679369409, b6989586621679369410)) = Swap a6989586621679369499
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Tuple.UncurrySym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Tuple.UncurrySym0
instance forall a6989586621679369411 b6989586621679369412 c6989586621679369413 (a6989586621679369503 :: a6989586621679369411 Data.Singletons.Internal.~> (b6989586621679369412 Data.Singletons.Internal.~> c6989586621679369413)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Tuple.UncurrySym1 a6989586621679369503)
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 a6989586621679369414 b6989586621679369415 c6989586621679369416 (a6989586621679369509 :: (a6989586621679369414, b6989586621679369415) Data.Singletons.Internal.~> c6989586621679369416). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Tuple.CurrySym1 a6989586621679369509)
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 a6989586621679369414 b6989586621679369415 c6989586621679369416 (a6989586621679369510 :: (a6989586621679369414, b6989586621679369415) Data.Singletons.Internal.~> c6989586621679369416) (a6989586621679369509 :: a6989586621679369414). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Tuple.CurrySym2 a6989586621679369510 a6989586621679369509)
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-level <a>If</a>. <tt>If True a b</tt> ==&gt; <tt>a</tt>; <tt>If
--   False a b</tt> ==&gt; <tt>b</tt>
type family If (cond :: Bool) (tru :: k) (fls :: k) :: k

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

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

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

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

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

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

-- | Disjunction of singletons
(%||) :: Sing a -> Sing b -> Sing (a || b)
infixr 2 %||
bool_ :: a_a1x0f -> a_a1x0f -> Bool -> a_a1x0f
type family Bool_ (a_a1x0l :: a_a1x0f) (a_a1x0m :: a_a1x0f) (a_a1x0n :: Bool) :: a_a1x0f
sBool_ :: forall a_a1x0f (t_a1x0v :: a_a1x0f) (t_a1x0w :: a_a1x0f) (t_a1x0x :: Bool). Sing t_a1x0v -> Sing t_a1x0w -> Sing t_a1x0x -> Sing (Apply (Apply (Apply Bool_Sym0 t_a1x0v) t_a1x0w) t_a1x0x :: a_a1x0f)
type family Otherwise :: Bool
sOtherwise :: Sing (OtherwiseSym0 :: Bool)
type TrueSym0 = 'True
type FalseSym0 = 'False
data NotSym0 :: (~>) Bool Bool
type NotSym1 (a6989586621679376281 :: Bool) = Not a6989586621679376281
data (&&@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 3 &&@#@$
data (&&@#@$$) (a6989586621679375749 :: Bool) :: (~>) Bool Bool
infixr 3 &&@#@$$
type (&&@#@$$$) (a6989586621679375749 :: Bool) (b6989586621679375750 :: Bool) = (&&) a6989586621679375749 b6989586621679375750
data (||@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 2 ||@#@$
data (||@#@$$) (a6989586621679375987 :: Bool) :: (~>) Bool Bool
infixr 2 ||@#@$$
type (||@#@$$$) (a6989586621679375987 :: Bool) (b6989586621679375988 :: Bool) = (||) a6989586621679375987 b6989586621679375988
data Bool_Sym0 :: forall a6989586621679374987. (~>) a6989586621679374987 ((~>) a6989586621679374987 ((~>) Bool a6989586621679374987))
data Bool_Sym1 (a6989586621679374993 :: a6989586621679374987) :: (~>) a6989586621679374987 ((~>) Bool a6989586621679374987)
data Bool_Sym2 (a6989586621679374993 :: a6989586621679374987) (a6989586621679374994 :: a6989586621679374987) :: (~>) Bool a6989586621679374987
type Bool_Sym3 (a6989586621679374993 :: a6989586621679374987) (a6989586621679374994 :: a6989586621679374987) (a6989586621679374995 :: Bool) = Bool_ a6989586621679374993 a6989586621679374994 a6989586621679374995
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.||@#@$$) a6989586621679375987)
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.&&@#@$$) a6989586621679375749)
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 a6989586621679374987 (a6989586621679374993 :: a6989586621679374987). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Bool.Bool_Sym1 a6989586621679374993)
instance forall a (d :: a). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Bool.Bool_Sym1 d)
instance forall a6989586621679374987 (a6989586621679374994 :: a6989586621679374987) (a6989586621679374993 :: a6989586621679374987). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Bool.Bool_Sym2 a6989586621679374994 a6989586621679374993)
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 a6989586621679379101. (~>) a6989586621679379101 ((~>) a6989586621679379101 Bool)
infix 4 ==@#@$
data (==@#@$$) (x6989586621679379102 :: a6989586621679379101) :: (~>) a6989586621679379101 Bool
infix 4 ==@#@$$
type (==@#@$$$) (x6989586621679379102 :: a6989586621679379101) (y6989586621679379103 :: a6989586621679379101) = (==) x6989586621679379102 y6989586621679379103
data (/=@#@$) :: forall a6989586621679379101. (~>) a6989586621679379101 ((~>) a6989586621679379101 Bool)
infix 4 /=@#@$
data (/=@#@$$) (x6989586621679379104 :: a6989586621679379101) :: (~>) a6989586621679379101 Bool
infix 4 /=@#@$$
type (/=@#@$$$) (x6989586621679379104 :: a6989586621679379101) (y6989586621679379105 :: a6989586621679379101) = (/=) x6989586621679379104 y6989586621679379105
data DefaultEqSym0 :: forall k6989586621679379095. (~>) k6989586621679379095 ((~>) k6989586621679379095 Bool)
data DefaultEqSym1 (a6989586621679379096 :: k6989586621679379095) :: (~>) k6989586621679379095 Bool
type DefaultEqSym2 (a6989586621679379096 :: k6989586621679379095) (b6989586621679379097 :: k6989586621679379095) = DefaultEq a6989586621679379096 b6989586621679379097
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 k6989586621679379095 (a6989586621679379096 :: k6989586621679379095). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Eq.DefaultEqSym1 a6989586621679379096)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Eq./=@#@$)
instance forall a6989586621679379101 (x6989586621679379104 :: a6989586621679379101). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Eq./=@#@$$) x6989586621679379104)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Eq.==@#@$)
instance forall a6989586621679379101 (x6989586621679379102 :: a6989586621679379101). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Eq.==@#@$$) x6989586621679379102)


-- | 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_a1BHs :: Type) where {
    type family Compare (arg_a1BIT :: a_a1BHs) (arg_a1BIU :: a_a1BHs) :: Ordering;
    type family (<) (arg_a1BIX :: a_a1BHs) (arg_a1BIY :: a_a1BHs) :: Bool;
    type family (<=) (arg_a1BJ1 :: a_a1BHs) (arg_a1BJ2 :: a_a1BHs) :: Bool;
    type family (>) (arg_a1BJ5 :: a_a1BHs) (arg_a1BJ6 :: a_a1BHs) :: Bool;
    type family (>=) (arg_a1BJ9 :: a_a1BHs) (arg_a1BJa :: a_a1BHs) :: Bool;
    type family Max (arg_a1BJd :: a_a1BHs) (arg_a1BJe :: a_a1BHs) :: a_a1BHs;
    type family Min (arg_a1BJh :: a_a1BHs) (arg_a1BJi :: a_a1BHs) :: a_a1BHs;
    type Compare a_a1BJl a_a1BJm = Apply (Apply Compare_6989586621679393161Sym0 a_a1BJl) a_a1BJm;
    type (<) a_a1BJJ a_a1BJK = Apply (Apply TFHelper_6989586621679393185Sym0 a_a1BJJ) a_a1BJK;
    type (<=) a_a1BK1 a_a1BK2 = Apply (Apply TFHelper_6989586621679393203Sym0 a_a1BK1) a_a1BK2;
    type (>) a_a1BKj a_a1BKk = Apply (Apply TFHelper_6989586621679393221Sym0 a_a1BKj) a_a1BKk;
    type (>=) a_a1BKB a_a1BKC = Apply (Apply TFHelper_6989586621679393239Sym0 a_a1BKB) a_a1BKC;
    type Max a_a1BKT a_a1BKU = Apply (Apply Max_6989586621679393257Sym0 a_a1BKT) a_a1BKU;
    type Min a_a1BLb a_a1BLc = Apply (Apply Min_6989586621679393275Sym0 a_a1BLb) a_a1BLc;
}
infix 4 >=
infix 4 >
infix 4 <=
infix 4 <
class SEq a_a1BHs => SOrd a_a1BHs
sCompare :: forall (t_a1BLC :: a_a1BHs) (t_a1BLD :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BLC -> Sing t_a1BLD -> Sing (Apply (Apply CompareSym0 t_a1BLC) t_a1BLD :: Ordering)
(%<) :: forall (t_a1BLG :: a_a1BHs) (t_a1BLH :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BLG -> Sing t_a1BLH -> Sing (Apply (Apply (<@#@$) t_a1BLG) t_a1BLH :: Bool)
(%<=) :: forall (t_a1BLK :: a_a1BHs) (t_a1BLL :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BLK -> Sing t_a1BLL -> Sing (Apply (Apply (<=@#@$) t_a1BLK) t_a1BLL :: Bool)
(%>) :: forall (t_a1BLO :: a_a1BHs) (t_a1BLP :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BLO -> Sing t_a1BLP -> Sing (Apply (Apply (>@#@$) t_a1BLO) t_a1BLP :: Bool)
(%>=) :: forall (t_a1BLS :: a_a1BHs) (t_a1BLT :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BLS -> Sing t_a1BLT -> Sing (Apply (Apply (>=@#@$) t_a1BLS) t_a1BLT :: Bool)
sMax :: forall (t_a1BLW :: a_a1BHs) (t_a1BLX :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BLW -> Sing t_a1BLX -> Sing (Apply (Apply MaxSym0 t_a1BLW) t_a1BLX :: a_a1BHs)
sMin :: forall (t_a1BM0 :: a_a1BHs) (t_a1BM1 :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BM0 -> Sing t_a1BM1 -> Sing (Apply (Apply MinSym0 t_a1BM0) t_a1BM1 :: a_a1BHs)
sCompare :: forall (t_a1BLC :: a_a1BHs) (t_a1BLD :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply CompareSym0 t_a1BLC) t_a1BLD :: Ordering) ~ Apply (Apply Compare_6989586621679393161Sym0 t_a1BLC) t_a1BLD) => Sing t_a1BLC -> Sing t_a1BLD -> Sing (Apply (Apply CompareSym0 t_a1BLC) t_a1BLD :: Ordering)
(%<) :: forall (t_a1BLG :: a_a1BHs) (t_a1BLH :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply (<@#@$) t_a1BLG) t_a1BLH :: Bool) ~ Apply (Apply TFHelper_6989586621679393185Sym0 t_a1BLG) t_a1BLH) => Sing t_a1BLG -> Sing t_a1BLH -> Sing (Apply (Apply (<@#@$) t_a1BLG) t_a1BLH :: Bool)
(%<=) :: forall (t_a1BLK :: a_a1BHs) (t_a1BLL :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply (<=@#@$) t_a1BLK) t_a1BLL :: Bool) ~ Apply (Apply TFHelper_6989586621679393203Sym0 t_a1BLK) t_a1BLL) => Sing t_a1BLK -> Sing t_a1BLL -> Sing (Apply (Apply (<=@#@$) t_a1BLK) t_a1BLL :: Bool)
(%>) :: forall (t_a1BLO :: a_a1BHs) (t_a1BLP :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply (>@#@$) t_a1BLO) t_a1BLP :: Bool) ~ Apply (Apply TFHelper_6989586621679393221Sym0 t_a1BLO) t_a1BLP) => Sing t_a1BLO -> Sing t_a1BLP -> Sing (Apply (Apply (>@#@$) t_a1BLO) t_a1BLP :: Bool)
(%>=) :: forall (t_a1BLS :: a_a1BHs) (t_a1BLT :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply (>=@#@$) t_a1BLS) t_a1BLT :: Bool) ~ Apply (Apply TFHelper_6989586621679393239Sym0 t_a1BLS) t_a1BLT) => Sing t_a1BLS -> Sing t_a1BLT -> Sing (Apply (Apply (>=@#@$) t_a1BLS) t_a1BLT :: Bool)
sMax :: forall (t_a1BLW :: a_a1BHs) (t_a1BLX :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply MaxSym0 t_a1BLW) t_a1BLX :: a_a1BHs) ~ Apply (Apply Max_6989586621679393257Sym0 t_a1BLW) t_a1BLX) => Sing t_a1BLW -> Sing t_a1BLX -> Sing (Apply (Apply MaxSym0 t_a1BLW) t_a1BLX :: a_a1BHs)
sMin :: forall (t_a1BM0 :: a_a1BHs) (t_a1BM1 :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply MinSym0 t_a1BM0) t_a1BM1 :: a_a1BHs) ~ Apply (Apply Min_6989586621679393275Sym0 t_a1BM0) t_a1BM1) => Sing t_a1BM0 -> Sing t_a1BM1 -> Sing (Apply (Apply MinSym0 t_a1BM0) t_a1BM1 :: a_a1BHs)
infix 4 %<=
infix 4 %>=
infix 4 %>
infix 4 %<
type family Comparing (a_a1BIK :: (~>) b_a1BHi a_a1BHh) (a_a1BIL :: b_a1BHi) (a_a1BIM :: b_a1BHi) :: Ordering
sComparing :: forall b_a1BHi a_a1BHh (t_a1BLt :: (~>) b_a1BHi a_a1BHh) (t_a1BLu :: b_a1BHi) (t_a1BLv :: b_a1BHi). SOrd a_a1BHh => Sing t_a1BLt -> Sing t_a1BLu -> Sing t_a1BLv -> Sing (Apply (Apply (Apply ComparingSym0 t_a1BLt) t_a1BLu) t_a1BLv :: Ordering)
thenCmp :: Ordering -> Ordering -> Ordering
type family ThenCmp (a_a1EpJ :: Ordering) (a_a1EpK :: Ordering) :: Ordering
sThenCmp :: forall (t_a1EpO :: Ordering) (t_a1EpP :: Ordering). Sing t_a1EpO -> Sing t_a1EpP -> Sing (Apply (Apply ThenCmpSym0 t_a1EpO) t_a1EpP :: 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_ame0. Down a_ame0 -> Type
[SDown] :: forall a_ame0 (n_a1E4c :: a_ame0). () => Sing (n_a1E4c :: a_ame0) -> SDown ('Down n_a1E4c)
data ThenCmpSym0 :: (~>) Ordering ((~>) Ordering Ordering)
data ThenCmpSym1 (a6989586621679403475 :: Ordering) :: (~>) Ordering Ordering
type ThenCmpSym2 (a6989586621679403475 :: Ordering) (a6989586621679403476 :: Ordering) = ThenCmp a6989586621679403475 a6989586621679403476
type LTSym0 = 'LT
type EQSym0 = 'EQ
type GTSym0 = 'GT
data CompareSym0 :: forall a6989586621679393042. (~>) a6989586621679393042 ((~>) a6989586621679393042 Ordering)
data CompareSym1 (arg6989586621679393131 :: a6989586621679393042) :: (~>) a6989586621679393042 Ordering
type CompareSym2 (arg6989586621679393131 :: a6989586621679393042) (arg6989586621679393132 :: a6989586621679393042) = Compare arg6989586621679393131 arg6989586621679393132
data (<@#@$) :: forall a6989586621679393042. (~>) a6989586621679393042 ((~>) a6989586621679393042 Bool)
infix 4 <@#@$
data (<@#@$$) (arg6989586621679393135 :: a6989586621679393042) :: (~>) a6989586621679393042 Bool
infix 4 <@#@$$
type (<@#@$$$) (arg6989586621679393135 :: a6989586621679393042) (arg6989586621679393136 :: a6989586621679393042) = (<) arg6989586621679393135 arg6989586621679393136
data (<=@#@$) :: forall a6989586621679393042. (~>) a6989586621679393042 ((~>) a6989586621679393042 Bool)
infix 4 <=@#@$
data (<=@#@$$) (arg6989586621679393139 :: a6989586621679393042) :: (~>) a6989586621679393042 Bool
infix 4 <=@#@$$
type (<=@#@$$$) (arg6989586621679393139 :: a6989586621679393042) (arg6989586621679393140 :: a6989586621679393042) = (<=) arg6989586621679393139 arg6989586621679393140
data (>@#@$) :: forall a6989586621679393042. (~>) a6989586621679393042 ((~>) a6989586621679393042 Bool)
infix 4 >@#@$
data (>@#@$$) (arg6989586621679393143 :: a6989586621679393042) :: (~>) a6989586621679393042 Bool
infix 4 >@#@$$
type (>@#@$$$) (arg6989586621679393143 :: a6989586621679393042) (arg6989586621679393144 :: a6989586621679393042) = (>) arg6989586621679393143 arg6989586621679393144
data (>=@#@$) :: forall a6989586621679393042. (~>) a6989586621679393042 ((~>) a6989586621679393042 Bool)
infix 4 >=@#@$
data (>=@#@$$) (arg6989586621679393147 :: a6989586621679393042) :: (~>) a6989586621679393042 Bool
infix 4 >=@#@$$
type (>=@#@$$$) (arg6989586621679393147 :: a6989586621679393042) (arg6989586621679393148 :: a6989586621679393042) = (>=) arg6989586621679393147 arg6989586621679393148
data MaxSym0 :: forall a6989586621679393042. (~>) a6989586621679393042 ((~>) a6989586621679393042 a6989586621679393042)
data MaxSym1 (arg6989586621679393151 :: a6989586621679393042) :: (~>) a6989586621679393042 a6989586621679393042
type MaxSym2 (arg6989586621679393151 :: a6989586621679393042) (arg6989586621679393152 :: a6989586621679393042) = Max arg6989586621679393151 arg6989586621679393152
data MinSym0 :: forall a6989586621679393042. (~>) a6989586621679393042 ((~>) a6989586621679393042 a6989586621679393042)
data MinSym1 (arg6989586621679393155 :: a6989586621679393042) :: (~>) a6989586621679393042 a6989586621679393042
type MinSym2 (arg6989586621679393155 :: a6989586621679393042) (arg6989586621679393156 :: a6989586621679393042) = Min arg6989586621679393155 arg6989586621679393156
data ComparingSym0 :: forall b6989586621679393032 a6989586621679393031. (~>) ((~>) b6989586621679393032 a6989586621679393031) ((~>) b6989586621679393032 ((~>) b6989586621679393032 Ordering))
data ComparingSym1 (a6989586621679393122 :: (~>) b6989586621679393032 a6989586621679393031) :: (~>) b6989586621679393032 ((~>) b6989586621679393032 Ordering)
data ComparingSym2 (a6989586621679393122 :: (~>) b6989586621679393032 a6989586621679393031) (a6989586621679393123 :: b6989586621679393032) :: (~>) b6989586621679393032 Ordering
type ComparingSym3 (a6989586621679393122 :: (~>) b6989586621679393032 a6989586621679393031) (a6989586621679393123 :: b6989586621679393032) (a6989586621679393124 :: b6989586621679393032) = Comparing a6989586621679393122 a6989586621679393123 a6989586621679393124
data DownSym0 :: forall (a6989586621679095228 :: Type). (~>) a6989586621679095228 (Down (a6989586621679095228 :: Type))
type DownSym1 (t6989586621679402138 :: a6989586621679095228) = 'Down t6989586621679402138
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679404388Sym0
instance Data.Singletons.Prelude.Ord.POrd ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679404388Sym1 a6989586621679404386)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679404378Sym0
instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679404378Sym1 a6989586621679404376)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679404368Sym0
instance Data.Singletons.Prelude.Ord.POrd GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679404368Sym1 a6989586621679404366)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679404354Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Functor.Identity.Identity a)
instance forall a6989586621679089567 (a6989586621679404352 :: Data.Functor.Identity.Identity a6989586621679089567). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679404354Sym1 a6989586621679404352)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679404309Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f, g)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 e3530822107858468869 f3530822107858468870 g3530822107858468871 (a6989586621679404307 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870, g3530822107858468871)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679404309Sym1 a6989586621679404307)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679404226Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e, f)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 e3530822107858468869 f3530822107858468870 (a6989586621679404224 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869, f3530822107858468870)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679404226Sym1 a6989586621679404224)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679404154Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d, e)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 e3530822107858468869 (a6989586621679404152 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868, e3530822107858468869)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679404154Sym1 a6989586621679404152)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679404093Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c, d)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 d3530822107858468868 (a6989586621679404091 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867, d3530822107858468868)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679404093Sym1 a6989586621679404091)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679404043Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b, c)
instance forall a3530822107858468865 b3530822107858468866 c3530822107858468867 (a6989586621679404041 :: (a3530822107858468865, b3530822107858468866, c3530822107858468867)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679404043Sym1 a6989586621679404041)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679404004Sym0
instance Data.Singletons.Prelude.Ord.POrd (a, b)
instance forall a3530822107858468865 b3530822107858468866 (a6989586621679404002 :: (a3530822107858468865, b3530822107858468866)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679404004Sym1 a6989586621679404002)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679403980Sym0
instance Data.Singletons.Prelude.Ord.POrd Data.Void.Void
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679403980Sym1 a6989586621679403978)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679403962Sym0
instance Data.Singletons.Prelude.Ord.POrd (GHC.Base.NonEmpty a)
instance forall a6989586621679067419 (a6989586621679403960 :: GHC.Base.NonEmpty a6989586621679067419). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679403962Sym1 a6989586621679403960)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679403933Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Either.Either a b)
instance forall a6989586621679091716 b6989586621679091717 (a6989586621679403931 :: Data.Either.Either a6989586621679091716 b6989586621679091717). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679403933Sym1 a6989586621679403931)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679403887Sym0
instance Data.Singletons.Prelude.Ord.POrd [a]
instance forall a3530822107858468865 (a6989586621679403885 :: [a3530822107858468865]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679403887Sym1 a6989586621679403885)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679403855Sym0
instance Data.Singletons.Prelude.Ord.POrd (GHC.Maybe.Maybe a)
instance forall a3530822107858468865 (a6989586621679403853 :: GHC.Maybe.Maybe a3530822107858468865). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679403855Sym1 a6989586621679403853)
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 a6989586621679403475)
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_6989586621679402582Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Ord.Down a)
instance forall a6989586621679402562 (a6989586621679402580 :: Data.Ord.Down a6989586621679402562). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679402582Sym1 a6989586621679402580)
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 b6989586621679393032 a6989586621679393031 (a6989586621679393122 :: b6989586621679393032 Data.Singletons.Internal.~> a6989586621679393031). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.ComparingSym1 a6989586621679393122)
instance forall b6989586621679393032 a6989586621679393031 (a6989586621679393123 :: b6989586621679393032 Data.Singletons.Internal.~> a6989586621679393031) (a6989586621679393122 :: b6989586621679393032). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.ComparingSym2 a6989586621679393123 a6989586621679393122)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679393193Scrutinee_6989586621679393064Sym0
instance forall k1 (x6989586621679393191 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679393193Scrutinee_6989586621679393064Sym1 x6989586621679393191)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679393211Scrutinee_6989586621679393066Sym0
instance forall k1 (x6989586621679393209 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679393211Scrutinee_6989586621679393066Sym1 x6989586621679393209)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679393229Scrutinee_6989586621679393068Sym0
instance forall k1 (x6989586621679393227 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679393229Scrutinee_6989586621679393068Sym1 x6989586621679393227)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679393247Scrutinee_6989586621679393070Sym0
instance forall k1 (x6989586621679393245 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679393247Scrutinee_6989586621679393070Sym1 x6989586621679393245)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.<@#@$)
instance forall a6989586621679393042 (arg6989586621679393135 :: a6989586621679393042). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.<@#@$$) arg6989586621679393135)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679393174Scrutinee_6989586621679393062Sym0
instance forall k1 (x6989586621679393167 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679393174Scrutinee_6989586621679393062Sym1 x6989586621679393167)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679393265Scrutinee_6989586621679393072Sym0
instance forall k1 (x6989586621679393263 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679393265Scrutinee_6989586621679393072Sym1 x6989586621679393263)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679393283Scrutinee_6989586621679393074Sym0
instance forall k1 (x6989586621679393281 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679393283Scrutinee_6989586621679393074Sym1 x6989586621679393281)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.>@#@$)
instance forall a6989586621679393042 (arg6989586621679393143 :: a6989586621679393042). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.>@#@$$) arg6989586621679393143)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.>=@#@$)
instance forall a6989586621679393042 (arg6989586621679393147 :: a6989586621679393042). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.>=@#@$$) arg6989586621679393147)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.MaxSym0
instance forall a6989586621679393042 (arg6989586621679393151 :: a6989586621679393042). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.MaxSym1 arg6989586621679393151)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.MinSym0
instance forall a6989586621679393042 (arg6989586621679393155 :: a6989586621679393042). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.MinSym1 arg6989586621679393155)
instance forall a6989586621679393042 (arg6989586621679393131 :: a6989586621679393042). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.CompareSym1 arg6989586621679393131)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.CompareSym0
instance forall a6989586621679393042 (arg6989586621679393139 :: a6989586621679393042). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Ord.<=@#@$$) arg6989586621679393139)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.<=@#@$)
instance forall a6989586621679393042 (a6989586621679393159 :: a6989586621679393042). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Compare_6989586621679393161Sym1 a6989586621679393159)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Compare_6989586621679393161Sym0
instance forall a6989586621679393042 (a6989586621679393183 :: a6989586621679393042). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679393185Sym1 a6989586621679393183)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679393185Sym0
instance forall a6989586621679393042 (a6989586621679393201 :: a6989586621679393042). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679393203Sym1 a6989586621679393201)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679393203Sym0
instance forall a6989586621679393042 (a6989586621679393219 :: a6989586621679393042). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679393221Sym1 a6989586621679393219)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679393221Sym0
instance forall a6989586621679393042 (a6989586621679393237 :: a6989586621679393042). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.TFHelper_6989586621679393239Sym1 a6989586621679393237)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.TFHelper_6989586621679393239Sym0
instance forall a6989586621679393042 (a6989586621679393255 :: a6989586621679393042). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Max_6989586621679393257Sym1 a6989586621679393255)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Max_6989586621679393257Sym0
instance forall a6989586621679393042 (a6989586621679393273 :: a6989586621679393042). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Min_6989586621679393275Sym1 a6989586621679393273)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Min_6989586621679393275Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Ord.Let6989586621679393169Scrutinee_6989586621679393060Sym0
instance forall k1 (x6989586621679393167 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Ord.Let6989586621679393169Scrutinee_6989586621679393060Sym1 x6989586621679393167)


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

-- | (Kind) This is the kind of type-level natural numbers.
data Nat

-- | (Kind) This is the kind of type-level symbols. Declared here because
--   class IP needs it
data Symbol

-- | The singleton kind-indexed 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

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

natVal :: forall (n :: Nat) proxy. KnownNat n => proxy n -> Natural

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

symbolVal :: forall (n :: Symbol) proxy. KnownSymbol n => proxy n -> String

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

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

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

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

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

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

-- | Modulus of natural numbers. <tt>Mod x 0</tt> is undefined (i.e., it
--   cannot be reduced).
type family Mod (a :: Nat) (b :: Nat) :: Nat
infixl 7 `Mod`
sMod :: Sing x -> Sing y -> Sing (Mod x y)
infixl 7 `sMod`
type family DivMod (a_a25oC :: Nat) (a_a25oD :: Nat) :: (Nat, Nat)
sDivMod :: Sing x -> Sing y -> Sing (DivMod x y)
type family Quot (a_a25om :: Nat) (a_a25on :: Nat) :: Nat
infixl 7 `Quot`
sQuot :: Sing x -> Sing y -> Sing (Quot x y)
infixl 7 `sQuot`
type family Rem (a_a25oc :: Nat) (a_a25od :: Nat) :: Nat
infixl 7 `Rem`
sRem :: Sing x -> Sing y -> Sing (Rem x y)
infixl 7 `sRem`
type family QuotRem (a_a25ow :: Nat) (a_a25ox :: Nat) :: (Nat, Nat)
sQuotRem :: Sing x -> Sing y -> Sing (QuotRem x y)
data ErrorSym0 :: forall k06989586621679484900 k6989586621679484901. (~>) k06989586621679484900 k6989586621679484901
type ErrorSym1 (str6989586621679484902 :: k06989586621679484900) = Error str6989586621679484902
data ErrorWithoutStackTraceSym0 :: forall k06989586621679485990 k6989586621679485991. (~>) k06989586621679485990 k6989586621679485991
type ErrorWithoutStackTraceSym1 (str6989586621679485992 :: k06989586621679485990) = ErrorWithoutStackTrace str6989586621679485992
type UndefinedSym0 = Undefined
data KnownNatSym0 :: (~>) Nat Constraint
type KnownNatSym1 (n6989586621679485057 :: Nat) = KnownNat n6989586621679485057
data KnownSymbolSym0 :: (~>) Symbol Constraint
type KnownSymbolSym1 (n6989586621679485123 :: Symbol) = KnownSymbol n6989586621679485123
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 (a6989586621679507194 :: Nat) :: (~>) Nat (Nat, Nat)
type DivModSym2 (a6989586621679507194 :: Nat) (a6989586621679507195 :: Nat) = DivMod a6989586621679507194 a6989586621679507195
data QuotSym0 :: (~>) Nat ((~>) Nat Nat)
infixl 7 `QuotSym0`
data QuotSym1 (a6989586621679507178 :: Nat) :: (~>) Nat Nat
infixl 7 `QuotSym1`
type QuotSym2 (a6989586621679507178 :: Nat) (a6989586621679507179 :: Nat) = Quot a6989586621679507178 a6989586621679507179
data RemSym0 :: (~>) Nat ((~>) Nat Nat)
infixl 7 `RemSym0`
data RemSym1 (a6989586621679507168 :: Nat) :: (~>) Nat Nat
infixl 7 `RemSym1`
type RemSym2 (a6989586621679507168 :: Nat) (a6989586621679507169 :: Nat) = Rem a6989586621679507168 a6989586621679507169
data QuotRemSym0 :: (~>) Nat ((~>) Nat (Nat, Nat))
data QuotRemSym1 (a6989586621679507188 :: Nat) :: (~>) Nat (Nat, Nat)
type QuotRemSym2 (a6989586621679507188 :: Nat) (a6989586621679507189 :: Nat) = QuotRem a6989586621679507188 a6989586621679507189
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.QuotRemSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.QuotRemSym1 a6989586621679507188)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.DivModSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.DivModSym1 a6989586621679507194)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.QuotSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.QuotSym1 a6989586621679507178)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.TypeLits.RemSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.TypeLits.RemSym1 a6989586621679507168)
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_a1hcr :: a_11). () => Sing (n_a1hcr :: a_11) -> SMaybe ('Just n_a1hcr)
maybe_ :: b_a279T -> (a_a279U -> b_a279T) -> Maybe a_a279U -> b_a279T
type family Maybe_ (a_a27ab :: b_a279T) (a_a27ac :: (~>) a_a279U b_a279T) (a_a27ad :: Maybe a_a279U) :: b_a279T
sMaybe_ :: forall b_a279T a_a279U (t_a27ak :: b_a279T) (t_a27al :: (~>) a_a279U b_a279T) (t_a27am :: Maybe a_a279U). Sing t_a27ak -> Sing t_a27al -> Sing t_a27am -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a27ak) t_a27al) t_a27am :: b_a279T)
type family IsJust (a_a27A9 :: Maybe a_a27wX) :: Bool
sIsJust :: forall a_a27wX (t_a27At :: Maybe a_a27wX). Sing t_a27At -> Sing (Apply IsJustSym0 t_a27At :: Bool)
type family IsNothing (a_a27A7 :: Maybe a_a27wW) :: Bool
sIsNothing :: forall a_a27wW (t_a27Ar :: Maybe a_a27wW). Sing t_a27Ar -> Sing (Apply IsNothingSym0 t_a27Ar :: Bool)
type family FromJust (a_a27A4 :: Maybe a_a27wV) :: a_a27wV
sFromJust :: forall a_a27wV (t_a27Ap :: Maybe a_a27wV). Sing t_a27Ap -> Sing (Apply FromJustSym0 t_a27Ap :: a_a27wV)
type family FromMaybe (a_a27zU :: a_a27wU) (a_a27zV :: Maybe a_a27wU) :: a_a27wU
sFromMaybe :: forall a_a27wU (t_a27Al :: a_a27wU) (t_a27Am :: Maybe a_a27wU). Sing t_a27Al -> Sing t_a27Am -> Sing (Apply (Apply FromMaybeSym0 t_a27Al) t_a27Am :: a_a27wU)
type family ListToMaybe (a_a27zO :: [a_a27wS]) :: Maybe a_a27wS
sListToMaybe :: forall a_a27wS (t_a27Ah :: [a_a27wS]). Sing t_a27Ah -> Sing (Apply ListToMaybeSym0 t_a27Ah :: Maybe a_a27wS)
type family MaybeToList (a_a27zR :: Maybe a_a27wT) :: [a_a27wT]
sMaybeToList :: forall a_a27wT (t_a27Aj :: Maybe a_a27wT). Sing t_a27Aj -> Sing (Apply MaybeToListSym0 t_a27Aj :: [a_a27wT])
type family CatMaybes (a_a27zJ :: [Maybe a_a27wR]) :: [a_a27wR]
sCatMaybes :: forall a_a27wR (t_a27Af :: [Maybe a_a27wR]). Sing t_a27Af -> Sing (Apply CatMaybesSym0 t_a27Af :: [a_a27wR])
type family MapMaybe (a_a27zq :: (~>) a_a27wP (Maybe b_a27wQ)) (a_a27zr :: [a_a27wP]) :: [b_a27wQ]
sMapMaybe :: forall a_a27wP b_a27wQ (t_a27Ab :: (~>) a_a27wP (Maybe b_a27wQ)) (t_a27Ac :: [a_a27wP]). Sing t_a27Ab -> Sing t_a27Ac -> Sing (Apply (Apply MapMaybeSym0 t_a27Ab) t_a27Ac :: [b_a27wQ])
type NothingSym0 = 'Nothing
data JustSym0 :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 (Maybe (a3530822107858468865 :: Type))
type JustSym1 (t6989586621679314237 :: a3530822107858468865) = 'Just t6989586621679314237
data Maybe_Sym0 :: forall b6989586621679513969 a6989586621679513970. (~>) b6989586621679513969 ((~>) ((~>) a6989586621679513970 b6989586621679513969) ((~>) (Maybe a6989586621679513970) b6989586621679513969))
data Maybe_Sym1 (a6989586621679513987 :: b6989586621679513969) :: forall a6989586621679513970. (~>) ((~>) a6989586621679513970 b6989586621679513969) ((~>) (Maybe a6989586621679513970) b6989586621679513969)
data Maybe_Sym2 (a6989586621679513987 :: b6989586621679513969) (a6989586621679513988 :: (~>) a6989586621679513970 b6989586621679513969) :: (~>) (Maybe a6989586621679513970) b6989586621679513969
type Maybe_Sym3 (a6989586621679513987 :: b6989586621679513969) (a6989586621679513988 :: (~>) a6989586621679513970 b6989586621679513969) (a6989586621679513989 :: Maybe a6989586621679513970) = Maybe_ a6989586621679513987 a6989586621679513988 a6989586621679513989
data IsJustSym0 :: forall a6989586621679515399. (~>) (Maybe a6989586621679515399) Bool
type IsJustSym1 (a6989586621679515597 :: Maybe a6989586621679515399) = IsJust a6989586621679515597
data IsNothingSym0 :: forall a6989586621679515398. (~>) (Maybe a6989586621679515398) Bool
type IsNothingSym1 (a6989586621679515595 :: Maybe a6989586621679515398) = IsNothing a6989586621679515595
data FromJustSym0 :: forall a6989586621679515397. (~>) (Maybe a6989586621679515397) a6989586621679515397
type FromJustSym1 (a6989586621679515592 :: Maybe a6989586621679515397) = FromJust a6989586621679515592
data FromMaybeSym0 :: forall a6989586621679515396. (~>) a6989586621679515396 ((~>) (Maybe a6989586621679515396) a6989586621679515396)
data FromMaybeSym1 (a6989586621679515582 :: a6989586621679515396) :: (~>) (Maybe a6989586621679515396) a6989586621679515396
type FromMaybeSym2 (a6989586621679515582 :: a6989586621679515396) (a6989586621679515583 :: Maybe a6989586621679515396) = FromMaybe a6989586621679515582 a6989586621679515583
data ListToMaybeSym0 :: forall a6989586621679515394. (~>) [a6989586621679515394] (Maybe a6989586621679515394)
type ListToMaybeSym1 (a6989586621679515576 :: [a6989586621679515394]) = ListToMaybe a6989586621679515576
data MaybeToListSym0 :: forall a6989586621679515395. (~>) (Maybe a6989586621679515395) [a6989586621679515395]
type MaybeToListSym1 (a6989586621679515579 :: Maybe a6989586621679515395) = MaybeToList a6989586621679515579
data CatMaybesSym0 :: forall a6989586621679515393. (~>) [Maybe a6989586621679515393] [a6989586621679515393]
type CatMaybesSym1 (a6989586621679515571 :: [Maybe a6989586621679515393]) = CatMaybes a6989586621679515571
data MapMaybeSym0 :: forall a6989586621679515391 b6989586621679515392. (~>) ((~>) a6989586621679515391 (Maybe b6989586621679515392)) ((~>) [a6989586621679515391] [b6989586621679515392])
data MapMaybeSym1 (a6989586621679515552 :: (~>) a6989586621679515391 (Maybe b6989586621679515392)) :: (~>) [a6989586621679515391] [b6989586621679515392]
type MapMaybeSym2 (a6989586621679515552 :: (~>) a6989586621679515391 (Maybe b6989586621679515392)) (a6989586621679515553 :: [a6989586621679515391]) = MapMaybe a6989586621679515552 a6989586621679515553
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 a6989586621679515396 (a6989586621679515582 :: a6989586621679515396). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.FromMaybeSym1 a6989586621679515582)
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.Let6989586621679515559RsSym0
instance forall a6989586621679515391 k1 k (f6989586621679515556 :: a6989586621679515391 Data.Singletons.Internal.~> GHC.Maybe.Maybe k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679515559RsSym1 f6989586621679515556)
instance forall a6989586621679515391 k1 k (x6989586621679515557 :: a6989586621679515391 Data.Singletons.Internal.~> GHC.Maybe.Maybe k1) (f6989586621679515556 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679515559RsSym2 x6989586621679515557 f6989586621679515556)
instance forall a6989586621679515391 b6989586621679515392 (a6989586621679515552 :: a6989586621679515391 Data.Singletons.Internal.~> GHC.Maybe.Maybe b6989586621679515392). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.MapMaybeSym1 a6989586621679515552)
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.Let6989586621679515563Scrutinee_6989586621679515426Sym0
instance forall k1 k2 k3 (f6989586621679515556 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679515563Scrutinee_6989586621679515426Sym1 f6989586621679515556)
instance forall k1 k2 k3 (x6989586621679515557 :: k1 Data.Singletons.Internal.~> k2) (f6989586621679515556 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Let6989586621679515563Scrutinee_6989586621679515426Sym2 x6989586621679515557 f6989586621679515556)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Maybe.Maybe_Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Maybe.Maybe_Sym0
instance forall b6989586621679513969 a6989586621679513970 (a6989586621679513987 :: b6989586621679513969). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Maybe_Sym1 a6989586621679513987)
instance forall b a (d :: b). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Maybe.Maybe_Sym1 d)
instance forall b6989586621679513969 a6989586621679513970 (a6989586621679513988 :: b6989586621679513969) (a6989586621679513987 :: a6989586621679513970 Data.Singletons.Internal.~> b6989586621679513969). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Maybe.Maybe_Sym2 a6989586621679513988 a6989586621679513987)
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_a2aVp :: Type) where {
    type family (+) (arg_a2aVI :: a_a2aVp) (arg_a2aVJ :: a_a2aVp) :: a_a2aVp;
    type family (-) (arg_a2aVM :: a_a2aVp) (arg_a2aVN :: a_a2aVp) :: a_a2aVp;
    type family (*) (arg_a2aVQ :: a_a2aVp) (arg_a2aVR :: a_a2aVp) :: a_a2aVp;
    type family Negate (arg_a2aVU :: a_a2aVp) :: a_a2aVp;
    type family Abs (arg_a2aVW :: a_a2aVp) :: a_a2aVp;
    type family Signum (arg_a2aVY :: a_a2aVp) :: a_a2aVp;
    type family FromInteger (arg_a2aW0 :: Nat) :: a_a2aVp;
    type (-) a_a2aW2 a_a2aW3 = Apply (Apply TFHelper_6989586621679528488Sym0 a_a2aW2) a_a2aW3;
    type Negate a_a2aWe = Apply Negate_6989586621679528499Sym0 a_a2aWe;
}
infixl 6 +
infixl 7 *
infixl 6 -
class SNum a_a2aVp
(%+) :: forall (t_a2aXG :: a_a2aVp) (t_a2aXH :: a_a2aVp). SNum a_a2aVp => Sing t_a2aXG -> Sing t_a2aXH -> Sing (Apply (Apply (+@#@$) t_a2aXG) t_a2aXH :: a_a2aVp)
(%-) :: forall (t_a2aXK :: a_a2aVp) (t_a2aXL :: a_a2aVp). SNum a_a2aVp => Sing t_a2aXK -> Sing t_a2aXL -> Sing (Apply (Apply (-@#@$) t_a2aXK) t_a2aXL :: a_a2aVp)
(%*) :: forall (t_a2aXO :: a_a2aVp) (t_a2aXP :: a_a2aVp). SNum a_a2aVp => Sing t_a2aXO -> Sing t_a2aXP -> Sing (Apply (Apply (*@#@$) t_a2aXO) t_a2aXP :: a_a2aVp)
sNegate :: forall (t_a2aXS :: a_a2aVp). SNum a_a2aVp => Sing t_a2aXS -> Sing (Apply NegateSym0 t_a2aXS :: a_a2aVp)
sAbs :: forall (t_a2aXU :: a_a2aVp). SNum a_a2aVp => Sing t_a2aXU -> Sing (Apply AbsSym0 t_a2aXU :: a_a2aVp)
sSignum :: forall (t_a2aXW :: a_a2aVp). SNum a_a2aVp => Sing t_a2aXW -> Sing (Apply SignumSym0 t_a2aXW :: a_a2aVp)
sFromInteger :: forall (t_a2aXY :: Nat). SNum a_a2aVp => Sing t_a2aXY -> Sing (Apply FromIntegerSym0 t_a2aXY :: a_a2aVp)
(%-) :: forall (t_a2aXK :: a_a2aVp) (t_a2aXL :: a_a2aVp). (SNum a_a2aVp, (Apply (Apply (-@#@$) t_a2aXK) t_a2aXL :: a_a2aVp) ~ Apply (Apply TFHelper_6989586621679528488Sym0 t_a2aXK) t_a2aXL) => Sing t_a2aXK -> Sing t_a2aXL -> Sing (Apply (Apply (-@#@$) t_a2aXK) t_a2aXL :: a_a2aVp)
sNegate :: forall (t_a2aXS :: a_a2aVp). (SNum a_a2aVp, (Apply NegateSym0 t_a2aXS :: a_a2aVp) ~ Apply Negate_6989586621679528499Sym0 t_a2aXS) => Sing t_a2aXS -> Sing (Apply NegateSym0 t_a2aXS :: a_a2aVp)
infixl 6 %+
infixl 6 %-
infixl 7 %*
type family Subtract (a_a2cpt :: a_a2cpp) (a_a2cpu :: a_a2cpp) :: a_a2cpp
sSubtract :: forall a_a2cpp (t_a2cpz :: a_a2cpp) (t_a2cpA :: a_a2cpp). SNum a_a2cpp => Sing t_a2cpz -> Sing t_a2cpA -> Sing (Apply (Apply SubtractSym0 t_a2cpz) t_a2cpA :: a_a2cpp)
data (+@#@$) :: forall a6989586621679528447. (~>) a6989586621679528447 ((~>) a6989586621679528447 a6989586621679528447)
infixl 6 +@#@$
data (+@#@$$) (arg6989586621679528466 :: a6989586621679528447) :: (~>) a6989586621679528447 a6989586621679528447
infixl 6 +@#@$$
type (+@#@$$$) (arg6989586621679528466 :: a6989586621679528447) (arg6989586621679528467 :: a6989586621679528447) = (+) arg6989586621679528466 arg6989586621679528467
data (-@#@$) :: forall a6989586621679528447. (~>) a6989586621679528447 ((~>) a6989586621679528447 a6989586621679528447)
infixl 6 -@#@$
data (-@#@$$) (arg6989586621679528470 :: a6989586621679528447) :: (~>) a6989586621679528447 a6989586621679528447
infixl 6 -@#@$$
type (-@#@$$$) (arg6989586621679528470 :: a6989586621679528447) (arg6989586621679528471 :: a6989586621679528447) = (-) arg6989586621679528470 arg6989586621679528471
data (*@#@$) :: forall a6989586621679528447. (~>) a6989586621679528447 ((~>) a6989586621679528447 a6989586621679528447)
infixl 7 *@#@$
data (*@#@$$) (arg6989586621679528474 :: a6989586621679528447) :: (~>) a6989586621679528447 a6989586621679528447
infixl 7 *@#@$$
type (*@#@$$$) (arg6989586621679528474 :: a6989586621679528447) (arg6989586621679528475 :: a6989586621679528447) = (*) arg6989586621679528474 arg6989586621679528475
data NegateSym0 :: forall a6989586621679528447. (~>) a6989586621679528447 a6989586621679528447
type NegateSym1 (arg6989586621679528478 :: a6989586621679528447) = Negate arg6989586621679528478
data AbsSym0 :: forall a6989586621679528447. (~>) a6989586621679528447 a6989586621679528447
type AbsSym1 (arg6989586621679528480 :: a6989586621679528447) = Abs arg6989586621679528480
data SignumSym0 :: forall a6989586621679528447. (~>) a6989586621679528447 a6989586621679528447
type SignumSym1 (arg6989586621679528482 :: a6989586621679528447) = Signum arg6989586621679528482
data FromIntegerSym0 :: forall a6989586621679528447. (~>) Nat a6989586621679528447
type FromIntegerSym1 (arg6989586621679528484 :: Nat) = FromInteger arg6989586621679528484
data SubtractSym0 :: forall a6989586621679534151. (~>) a6989586621679534151 ((~>) a6989586621679534151 a6989586621679534151)
data SubtractSym1 (a6989586621679534155 :: a6989586621679534151) :: (~>) a6989586621679534151 a6989586621679534151
type SubtractSym2 (a6989586621679534155 :: a6989586621679534151) (a6989586621679534156 :: a6989586621679534151) = Subtract a6989586621679534155 a6989586621679534156
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 a6989586621679534151 (a6989586621679534155 :: a6989586621679534151). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.SubtractSym1 a6989586621679534155)
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_6989586621679528582Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Ord.Down a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Signum_6989586621679528575Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Abs_6989586621679528568Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Negate_6989586621679528561Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679528550Sym0
instance forall a6989586621679528447 (a6989586621679528548 :: a6989586621679528447). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679528550Sym1 a6989586621679528548)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679528538Sym0
instance forall a6989586621679528447 (a6989586621679528536 :: a6989586621679528447). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679528538Sym1 a6989586621679528536)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679528526Sym0
instance forall a6989586621679528447 (a6989586621679528524 :: a6989586621679528447). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679528526Sym1 a6989586621679528524)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.*@#@$)
instance forall a6989586621679528447 (arg6989586621679528474 :: a6989586621679528447). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Num.*@#@$$) arg6989586621679528474)
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 a6989586621679528447 (arg6989586621679528466 :: a6989586621679528447). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Num.+@#@$$) arg6989586621679528466)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.+@#@$)
instance forall a6989586621679528447 (arg6989586621679528470 :: a6989586621679528447). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Num.-@#@$$) arg6989586621679528470)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.-@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.NegateSym0
instance forall a6989586621679528447 (a6989586621679528486 :: a6989586621679528447). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Num.TFHelper_6989586621679528488Sym1 a6989586621679528486)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.TFHelper_6989586621679528488Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Num.Negate_6989586621679528499Sym0


-- | 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_a2fal :: (~>) a_a2f6Y ((~>) b_a2f6Z b_a2f6Z)) (a_a2fam :: b_a2f6Z) (a_a2fan :: [a_a2f6Y]) :: b_a2f6Z
sFoldr :: forall a_a2f6Y b_a2f6Z (t_a2fbq :: (~>) a_a2f6Y ((~>) b_a2f6Z b_a2f6Z)) (t_a2fbr :: b_a2f6Z) (t_a2fbs :: [a_a2f6Y]). Sing t_a2fbq -> Sing t_a2fbr -> Sing t_a2fbs -> Sing (Apply (Apply (Apply FoldrSym0 t_a2fbq) t_a2fbr) t_a2fbs :: b_a2f6Z)
type family Map (a_a2fae :: (~>) a_a2f6W b_a2f6X) (a_a2faf :: [a_a2f6W]) :: [b_a2f6X]
sMap :: forall a_a2f6W b_a2f6X (t_a2fbm :: (~>) a_a2f6W b_a2f6X) (t_a2fbn :: [a_a2f6W]). Sing t_a2fbm -> Sing t_a2fbn -> Sing (Apply (Apply MapSym0 t_a2fbm) t_a2fbn :: [b_a2f6X])
type family (++) (a_a2fa6 :: [a_a2f6V]) (a_a2fa7 :: [a_a2f6V]) :: [a_a2f6V]
infixr 5 ++
(%++) :: forall a_a2f6V (t_a2fbi :: [a_a2f6V]) (t_a2fbj :: [a_a2f6V]). Sing t_a2fbi -> Sing t_a2fbj -> Sing (Apply (Apply (++@#@$) t_a2fbi) t_a2fbj :: [a_a2f6V])
infixr 5 %++
type family Otherwise :: Bool
sOtherwise :: Sing (OtherwiseSym0 :: Bool)
type family Id (a_a2fa3 :: a_a2f6U) :: a_a2f6U
sId :: forall a_a2f6U (t_a2fbg :: a_a2f6U). Sing t_a2fbg -> Sing (Apply IdSym0 t_a2fbg :: a_a2f6U)
type family Const (a_a2f9Y :: a_a2f6S) (a_a2f9Z :: b_a2f6T) :: a_a2f6S
sConst :: forall a_a2f6S b_a2f6T (t_a2fbc :: a_a2f6S) (t_a2fbd :: b_a2f6T). Sing t_a2fbc -> Sing t_a2fbd -> Sing (Apply (Apply ConstSym0 t_a2fbc) t_a2fbd :: a_a2f6S)
type family (.) (a_a2f9F :: (~>) b_a2f6P c_a2f6Q) (a_a2f9G :: (~>) a_a2f6R b_a2f6P) (a_a2f9H :: a_a2f6R) :: c_a2f6Q
infixr 9 .
(%.) :: forall b_a2f6P c_a2f6Q a_a2f6R (t_a2fb6 :: (~>) b_a2f6P c_a2f6Q) (t_a2fb7 :: (~>) a_a2f6R b_a2f6P) (t_a2fb8 :: a_a2f6R). Sing t_a2fb6 -> Sing t_a2fb7 -> Sing t_a2fb8 -> Sing (Apply (Apply (Apply (.@#@$) t_a2fb6) t_a2fb7) t_a2fb8 :: c_a2f6Q)
infixr 9 %.
type family ($) (a_a2f9g :: (~>) a_a2f6J b_a2f6K) (a_a2f9h :: a_a2f6J) :: b_a2f6K
infixr 0 $
type family ($!) (a_a2f97 :: (~>) a_a2f6H b_a2f6I) (a_a2f98 :: a_a2f6H) :: b_a2f6I
infixr 0 $!
(%$) :: forall a_a2f6J b_a2f6K (t_a2faS :: (~>) a_a2f6J b_a2f6K) (t_a2faT :: a_a2f6J). Sing t_a2faS -> Sing t_a2faT -> Sing (Apply (Apply ($@#@$) t_a2faS) t_a2faT :: b_a2f6K)
infixr 0 %$
(%$!) :: forall a_a2f6H b_a2f6I (t_a2faO :: (~>) a_a2f6H b_a2f6I) (t_a2faP :: a_a2f6H). Sing t_a2faO -> Sing t_a2faP -> Sing (Apply (Apply ($!@#@$) t_a2faO) t_a2faP :: b_a2f6I)
infixr 0 %$!
type family Until (a_a2f8H :: (~>) a_a2f6G Bool) (a_a2f8I :: (~>) a_a2f6G a_a2f6G) (a_a2f8J :: a_a2f6G) :: a_a2f6G
sUntil :: forall a_a2f6G (t_a2faI :: (~>) a_a2f6G Bool) (t_a2faJ :: (~>) a_a2f6G a_a2f6G) (t_a2faK :: a_a2f6G). Sing t_a2faI -> Sing t_a2faJ -> Sing t_a2faK -> Sing (Apply (Apply (Apply UntilSym0 t_a2faI) t_a2faJ) t_a2faK :: a_a2f6G)
type family Flip (a_a2f9w :: (~>) a_a2f6M ((~>) b_a2f6N c_a2f6O)) (a_a2f9x :: b_a2f6N) (a_a2f9y :: a_a2f6M) :: c_a2f6O
sFlip :: forall a_a2f6M b_a2f6N c_a2f6O (t_a2fb0 :: (~>) a_a2f6M ((~>) b_a2f6N c_a2f6O)) (t_a2fb1 :: b_a2f6N) (t_a2fb2 :: a_a2f6M). Sing t_a2fb0 -> Sing t_a2fb1 -> Sing t_a2fb2 -> Sing (Apply (Apply (Apply FlipSym0 t_a2fb0) t_a2fb1) t_a2fb2 :: c_a2f6O)
type family AsTypeOf (a_a2f9q :: a_a2f6L) (a_a2f9r :: a_a2f6L) :: a_a2f6L
sAsTypeOf :: forall a_a2f6L (t_a2faW :: a_a2f6L) (t_a2faX :: a_a2f6L). Sing t_a2faW -> Sing t_a2faX -> Sing (Apply (Apply AsTypeOfSym0 t_a2faW) t_a2faX :: a_a2f6L)
type family Seq (a_a2f8C :: a_a2f6E) (a_a2f8D :: b_a2f6F) :: b_a2f6F
infixr 0 `Seq`
sSeq :: forall a_a2f6E b_a2f6F (t_a2faE :: a_a2f6E) (t_a2faF :: b_a2f6F). Sing t_a2faE -> Sing t_a2faF -> Sing (Apply (Apply SeqSym0 t_a2faE) t_a2faF :: b_a2f6F)
infixr 0 `sSeq`
data FoldrSym0 :: forall a6989586621679544540 b6989586621679544541. (~>) ((~>) a6989586621679544540 ((~>) b6989586621679544541 b6989586621679544541)) ((~>) b6989586621679544541 ((~>) [a6989586621679544540] b6989586621679544541))
data FoldrSym1 (a6989586621679544749 :: (~>) a6989586621679544540 ((~>) b6989586621679544541 b6989586621679544541)) :: (~>) b6989586621679544541 ((~>) [a6989586621679544540] b6989586621679544541)
data FoldrSym2 (a6989586621679544749 :: (~>) a6989586621679544540 ((~>) b6989586621679544541 b6989586621679544541)) (a6989586621679544750 :: b6989586621679544541) :: (~>) [a6989586621679544540] b6989586621679544541
type FoldrSym3 (a6989586621679544749 :: (~>) a6989586621679544540 ((~>) b6989586621679544541 b6989586621679544541)) (a6989586621679544750 :: b6989586621679544541) (a6989586621679544751 :: [a6989586621679544540]) = Foldr a6989586621679544749 a6989586621679544750 a6989586621679544751
data MapSym0 :: forall a6989586621679544538 b6989586621679544539. (~>) ((~>) a6989586621679544538 b6989586621679544539) ((~>) [a6989586621679544538] [b6989586621679544539])
data MapSym1 (a6989586621679544742 :: (~>) a6989586621679544538 b6989586621679544539) :: (~>) [a6989586621679544538] [b6989586621679544539]
type MapSym2 (a6989586621679544742 :: (~>) a6989586621679544538 b6989586621679544539) (a6989586621679544743 :: [a6989586621679544538]) = Map a6989586621679544742 a6989586621679544743
data (++@#@$) :: forall a6989586621679544537. (~>) [a6989586621679544537] ((~>) [a6989586621679544537] [a6989586621679544537])
infixr 5 ++@#@$
data (++@#@$$) (a6989586621679544734 :: [a6989586621679544537]) :: (~>) [a6989586621679544537] [a6989586621679544537]
infixr 5 ++@#@$$
type (++@#@$$$) (a6989586621679544734 :: [a6989586621679544537]) (a6989586621679544735 :: [a6989586621679544537]) = (++) a6989586621679544734 a6989586621679544735
type OtherwiseSym0 = Otherwise
data IdSym0 :: forall a6989586621679544536. (~>) a6989586621679544536 a6989586621679544536
type IdSym1 (a6989586621679544731 :: a6989586621679544536) = Id a6989586621679544731
data ConstSym0 :: forall a6989586621679544534 b6989586621679544535. (~>) a6989586621679544534 ((~>) b6989586621679544535 a6989586621679544534)
data ConstSym1 (a6989586621679544726 :: a6989586621679544534) :: forall b6989586621679544535. (~>) b6989586621679544535 a6989586621679544534
type ConstSym2 (a6989586621679544726 :: a6989586621679544534) (a6989586621679544727 :: b6989586621679544535) = Const a6989586621679544726 a6989586621679544727
data (.@#@$) :: forall b6989586621679544531 c6989586621679544532 a6989586621679544533. (~>) ((~>) b6989586621679544531 c6989586621679544532) ((~>) ((~>) a6989586621679544533 b6989586621679544531) ((~>) a6989586621679544533 c6989586621679544532))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679544707 :: (~>) b6989586621679544531 c6989586621679544532) :: forall a6989586621679544533. (~>) ((~>) a6989586621679544533 b6989586621679544531) ((~>) a6989586621679544533 c6989586621679544532)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679544707 :: (~>) b6989586621679544531 c6989586621679544532) (a6989586621679544708 :: (~>) a6989586621679544533 b6989586621679544531) :: (~>) a6989586621679544533 c6989586621679544532
infixr 9 .@#@$$$
type (.@#@$$$$) (a6989586621679544707 :: (~>) b6989586621679544531 c6989586621679544532) (a6989586621679544708 :: (~>) a6989586621679544533 b6989586621679544531) (a6989586621679544709 :: a6989586621679544533) = (.) a6989586621679544707 a6989586621679544708 a6989586621679544709
data ($@#@$) :: forall a6989586621679544525 b6989586621679544526. (~>) ((~>) a6989586621679544525 b6989586621679544526) ((~>) a6989586621679544525 b6989586621679544526)
infixr 0 $@#@$
data ($@#@$$) (a6989586621679544682 :: (~>) a6989586621679544525 b6989586621679544526) :: (~>) a6989586621679544525 b6989586621679544526
infixr 0 $@#@$$
type ($@#@$$$) (a6989586621679544682 :: (~>) a6989586621679544525 b6989586621679544526) (a6989586621679544683 :: a6989586621679544525) = ($) a6989586621679544682 a6989586621679544683
data ($!@#@$) :: forall a6989586621679544523 b6989586621679544524. (~>) ((~>) a6989586621679544523 b6989586621679544524) ((~>) a6989586621679544523 b6989586621679544524)
infixr 0 $!@#@$
data ($!@#@$$) (a6989586621679544673 :: (~>) a6989586621679544523 b6989586621679544524) :: (~>) a6989586621679544523 b6989586621679544524
infixr 0 $!@#@$$
type ($!@#@$$$) (a6989586621679544673 :: (~>) a6989586621679544523 b6989586621679544524) (a6989586621679544674 :: a6989586621679544523) = ($!) a6989586621679544673 a6989586621679544674
data UntilSym0 :: forall a6989586621679544522. (~>) ((~>) a6989586621679544522 Bool) ((~>) ((~>) a6989586621679544522 a6989586621679544522) ((~>) a6989586621679544522 a6989586621679544522))
data UntilSym1 (a6989586621679544647 :: (~>) a6989586621679544522 Bool) :: (~>) ((~>) a6989586621679544522 a6989586621679544522) ((~>) a6989586621679544522 a6989586621679544522)
data UntilSym2 (a6989586621679544647 :: (~>) a6989586621679544522 Bool) (a6989586621679544648 :: (~>) a6989586621679544522 a6989586621679544522) :: (~>) a6989586621679544522 a6989586621679544522
type UntilSym3 (a6989586621679544647 :: (~>) a6989586621679544522 Bool) (a6989586621679544648 :: (~>) a6989586621679544522 a6989586621679544522) (a6989586621679544649 :: a6989586621679544522) = Until a6989586621679544647 a6989586621679544648 a6989586621679544649
data FlipSym0 :: forall a6989586621679544528 b6989586621679544529 c6989586621679544530. (~>) ((~>) a6989586621679544528 ((~>) b6989586621679544529 c6989586621679544530)) ((~>) b6989586621679544529 ((~>) a6989586621679544528 c6989586621679544530))
data FlipSym1 (a6989586621679544698 :: (~>) a6989586621679544528 ((~>) b6989586621679544529 c6989586621679544530)) :: (~>) b6989586621679544529 ((~>) a6989586621679544528 c6989586621679544530)
data FlipSym2 (a6989586621679544698 :: (~>) a6989586621679544528 ((~>) b6989586621679544529 c6989586621679544530)) (a6989586621679544699 :: b6989586621679544529) :: (~>) a6989586621679544528 c6989586621679544530
type FlipSym3 (a6989586621679544698 :: (~>) a6989586621679544528 ((~>) b6989586621679544529 c6989586621679544530)) (a6989586621679544699 :: b6989586621679544529) (a6989586621679544700 :: a6989586621679544528) = Flip a6989586621679544698 a6989586621679544699 a6989586621679544700
data AsTypeOfSym0 :: forall a6989586621679544527. (~>) a6989586621679544527 ((~>) a6989586621679544527 a6989586621679544527)
data AsTypeOfSym1 (a6989586621679544692 :: a6989586621679544527) :: (~>) a6989586621679544527 a6989586621679544527
type AsTypeOfSym2 (a6989586621679544692 :: a6989586621679544527) (a6989586621679544693 :: a6989586621679544527) = AsTypeOf a6989586621679544692 a6989586621679544693
data SeqSym0 :: forall a6989586621679544520 b6989586621679544521. (~>) a6989586621679544520 ((~>) b6989586621679544521 b6989586621679544521)
infixr 0 `SeqSym0`
data SeqSym1 (a6989586621679544642 :: a6989586621679544520) :: forall b6989586621679544521. (~>) b6989586621679544521 b6989586621679544521
infixr 0 `SeqSym1`
type SeqSym2 (a6989586621679544642 :: a6989586621679544520) (a6989586621679544643 :: b6989586621679544521) = Seq a6989586621679544642 a6989586621679544643
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.FoldrSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Base.FoldrSym0
instance forall a6989586621679544540 b6989586621679544541 (a6989586621679544749 :: a6989586621679544540 Data.Singletons.Internal.~> (b6989586621679544541 Data.Singletons.Internal.~> b6989586621679544541)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FoldrSym1 a6989586621679544749)
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 a6989586621679544540 b6989586621679544541 (a6989586621679544750 :: a6989586621679544540 Data.Singletons.Internal.~> (b6989586621679544541 Data.Singletons.Internal.~> b6989586621679544541)) (a6989586621679544749 :: b6989586621679544541). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FoldrSym2 a6989586621679544750 a6989586621679544749)
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 a6989586621679544538 b6989586621679544539 (a6989586621679544742 :: a6989586621679544538 Data.Singletons.Internal.~> b6989586621679544539). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.MapSym1 a6989586621679544742)
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 a6989586621679544537 (a6989586621679544734 :: [a6989586621679544537]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base.++@#@$$) a6989586621679544734)
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 a6989586621679544527 (a6989586621679544692 :: a6989586621679544527). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.AsTypeOfSym1 a6989586621679544692)
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 a6989586621679544534 b6989586621679544535 (a6989586621679544726 :: a6989586621679544534). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.ConstSym1 a6989586621679544726)
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 b6989586621679544531 c6989586621679544532 a6989586621679544533 (a6989586621679544707 :: b6989586621679544531 Data.Singletons.Internal.~> c6989586621679544532). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base..@#@$$) a6989586621679544707)
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 b6989586621679544531 c6989586621679544532 a6989586621679544533 (a6989586621679544708 :: b6989586621679544531 Data.Singletons.Internal.~> c6989586621679544532) (a6989586621679544707 :: a6989586621679544533 Data.Singletons.Internal.~> b6989586621679544531). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (a6989586621679544708 Data.Singletons.Prelude.Base..@#@$$$ a6989586621679544707)
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 a6989586621679544528 b6989586621679544529 c6989586621679544530 (a6989586621679544698 :: a6989586621679544528 Data.Singletons.Internal.~> (b6989586621679544529 Data.Singletons.Internal.~> c6989586621679544530)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FlipSym1 a6989586621679544698)
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 a6989586621679544528 b6989586621679544529 c6989586621679544530 (a6989586621679544699 :: a6989586621679544528 Data.Singletons.Internal.~> (b6989586621679544529 Data.Singletons.Internal.~> c6989586621679544530)) (a6989586621679544698 :: b6989586621679544529). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.FlipSym2 a6989586621679544699 a6989586621679544698)
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 a6989586621679544525 b6989586621679544526 (a6989586621679544682 :: a6989586621679544525 Data.Singletons.Internal.~> b6989586621679544526). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base.$@#@$$) a6989586621679544682)
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 a6989586621679544523 b6989586621679544524 (a6989586621679544673 :: a6989586621679544523 Data.Singletons.Internal.~> b6989586621679544524). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Base.$!@#@$$) a6989586621679544673)
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 a6989586621679544522 (a6989586621679544647 :: a6989586621679544522 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.UntilSym1 a6989586621679544647)
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 a6989586621679544522 (a6989586621679544648 :: a6989586621679544522 Data.Singletons.Internal.~> GHC.Types.Bool) (a6989586621679544647 :: a6989586621679544522 Data.Singletons.Internal.~> a6989586621679544522). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.UntilSym2 a6989586621679544648 a6989586621679544647)
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 a6989586621679544520 b6989586621679544521 (a6989586621679544642 :: a6989586621679544520). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.SeqSym1 a6989586621679544642)
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.Let6989586621679544760GoSym0
instance forall k1 k2 k3 (k6989586621679544757 :: k1 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679544760GoSym1 k6989586621679544757)
instance forall k1 k2 k3 (z6989586621679544758 :: k1 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k2)) (k6989586621679544757 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679544760GoSym2 z6989586621679544758 k6989586621679544757)
instance forall k1 k2 k3 (a_69895866216795447556989586621679544759 :: k1 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k2)) (z6989586621679544758 :: k2) (k6989586621679544757 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679544760GoSym3 a_69895866216795447556989586621679544759 z6989586621679544758 k6989586621679544757)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Lambda_6989586621679544718Sym0
instance forall k2 k3 k4 k5 (f6989586621679544715 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Lambda_6989586621679544718Sym1 f6989586621679544715)
instance forall k2 k3 k4 k5 (g6989586621679544716 :: k2 Data.Singletons.Internal.~> k3) (f6989586621679544715 :: k4 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Lambda_6989586621679544718Sym2 g6989586621679544716 f6989586621679544715)
instance forall k2 k3 k4 k5 (a_69895866216795447136989586621679544717 :: k2 Data.Singletons.Internal.~> k3) (g6989586621679544716 :: k4 Data.Singletons.Internal.~> k2) (f6989586621679544715 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Lambda_6989586621679544718Sym3 a_69895866216795447136989586621679544717 g6989586621679544716 f6989586621679544715)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679544679VxSym0
instance forall k1 k2 (f6989586621679544677 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679544679VxSym1 f6989586621679544677)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679544658GoSym0
instance forall k1 k2 (p6989586621679544655 :: k1 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679544658GoSym1 p6989586621679544655)
instance forall k1 k2 (f6989586621679544656 :: k1 Data.Singletons.Internal.~> GHC.Types.Bool) (p6989586621679544655 :: k1 Data.Singletons.Internal.~> k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679544658GoSym2 f6989586621679544656 p6989586621679544655)
instance forall k1 k2 (a_69895866216795446536989586621679544657 :: k1 Data.Singletons.Internal.~> GHC.Types.Bool) (f6989586621679544656 :: k1 Data.Singletons.Internal.~> k1) (p6989586621679544655 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679544658GoSym3 a_69895866216795446536989586621679544657 f6989586621679544656 p6989586621679544655)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Base.Let6989586621679544665Scrutinee_6989586621679544584Sym0
instance forall k1 k2 k3 k4 (x6989586621679544664 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679544665Scrutinee_6989586621679544584Sym1 x6989586621679544664)
instance forall k1 k2 k3 k4 (p6989586621679544655 :: k1) (x6989586621679544664 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679544665Scrutinee_6989586621679544584Sym2 p6989586621679544655 x6989586621679544664)
instance forall k1 k2 k3 k4 (f6989586621679544656 :: k1) (p6989586621679544655 :: k1 Data.Singletons.Internal.~> k2) (x6989586621679544664 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Base.Let6989586621679544665Scrutinee_6989586621679544584Sym3 f6989586621679544656 p6989586621679544655 x6989586621679544664)


-- | Defines the promoted and singled versions of the <a>MonadFail</a> type
--   class.
module Data.Singletons.Prelude.Monad.Fail
class PMonadFail (m_a33rx :: Type -> Type) where {
    type family Fail (arg_a33rR :: [Char]) :: m_a33rx a_a33ry;
}
class SMonad m_a33rx => SMonadFail (m_a33rx :: Type -> Type)
sFail :: forall a_a33ry (t_a33s5 :: [Char]). SMonadFail m_a33rx => Sing t_a33s5 -> Sing (Apply FailSym0 t_a33s5 :: m_a33rx a_a33ry)
data FailSym0 :: forall m6989586621679738015 a6989586621679738016. (~>) [Char] (m6989586621679738015 a6989586621679738016)
type FailSym1 (arg6989586621679738035 :: [Char]) = Fail arg6989586621679738035
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 (m6989586621679738015 :: k -> *) (a6989586621679738016 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Fail.Fail_6989586621679738044Sym0
instance Data.Singletons.Prelude.Monad.Fail.PMonadFail []
instance forall k (m6989586621679738015 :: k -> *) (a6989586621679738016 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Fail.Fail_6989586621679738038Sym0
instance Data.Singletons.Prelude.Monad.Fail.PMonadFail GHC.Maybe.Maybe
instance forall k (m6989586621679738015 :: k -> *) (a6989586621679738016 :: 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_a2lIn :: Type -> Type) where {
    type family Fmap (arg_a2lOH :: (~>) a_a2lIo b_a2lIp) (arg_a2lOI :: f_a2lIn a_a2lIo) :: f_a2lIn b_a2lIp;
    type family (<$) (arg_a2lOL :: a_a2lIq) (arg_a2lOM :: f_a2lIn b_a2lIr) :: f_a2lIn a_a2lIq;
    type (<$) a_a2lOP a_a2lOQ = Apply (Apply TFHelper_6989586621679570325Sym0 a_a2lOP) a_a2lOQ;
}
infixl 4 <$
class SFunctor (f_a2lIn :: Type -> Type)
sFmap :: forall a_a2lIo b_a2lIp (t_a2lSZ :: (~>) a_a2lIo b_a2lIp) (t_a2lT0 :: f_a2lIn a_a2lIo). SFunctor f_a2lIn => Sing t_a2lSZ -> Sing t_a2lT0 -> Sing (Apply (Apply FmapSym0 t_a2lSZ) t_a2lT0 :: f_a2lIn b_a2lIp)
(%<$) :: forall a_a2lIq b_a2lIr (t_a2lT3 :: a_a2lIq) (t_a2lT4 :: f_a2lIn b_a2lIr). SFunctor f_a2lIn => Sing t_a2lT3 -> Sing t_a2lT4 -> Sing (Apply (Apply (<$@#@$) t_a2lT3) t_a2lT4 :: f_a2lIn a_a2lIq)
(%<$) :: forall a_a2lIq b_a2lIr (t_a2lT3 :: a_a2lIq) (t_a2lT4 :: f_a2lIn b_a2lIr). (SFunctor f_a2lIn, (Apply (Apply (<$@#@$) t_a2lT3) t_a2lT4 :: f_a2lIn a_a2lIq) ~ Apply (Apply TFHelper_6989586621679570325Sym0 t_a2lT3) t_a2lT4) => Sing t_a2lT3 -> Sing t_a2lT4 -> Sing (Apply (Apply (<$@#@$) t_a2lT3) t_a2lT4 :: f_a2lIn a_a2lIq)
infixl 4 %<$
type family ($>) (a_a340d :: f_a33Z3 a_a33Z4) (a_a340e :: b_a33Z5) :: f_a33Z3 b_a33Z5
infixl 4 $>
(%$>) :: forall f_a33Z3 a_a33Z4 b_a33Z5 (t_a341U :: f_a33Z3 a_a33Z4) (t_a341V :: b_a33Z5). SFunctor f_a33Z3 => Sing t_a341U -> Sing t_a341V -> Sing (Apply (Apply ($>@#@$) t_a341U) t_a341V :: f_a33Z3 b_a33Z5)
infixl 4 %$>
type family (<$>) (a_a340t :: (~>) a_a33Za b_a33Zb) (a_a340u :: f_a33Z9 a_a33Za) :: f_a33Z9 b_a33Zb
infixl 4 <$>
(%<$>) :: forall a_a33Za b_a33Zb f_a33Z9 (t_a3422 :: (~>) a_a33Za b_a33Zb) (t_a3423 :: f_a33Z9 a_a33Za). SFunctor f_a33Z9 => Sing t_a3422 -> Sing t_a3423 -> Sing (Apply (Apply (<$>@#@$) t_a3422) t_a3423 :: f_a33Z9 b_a33Zb)
infixl 4 %<$>
type family (<&>) (a_a340j :: f_a33Z6 a_a33Z7) (a_a340k :: (~>) a_a33Z7 b_a33Z8) :: f_a33Z6 b_a33Z8
infixl 1 <&>
(%<&>) :: forall f_a33Z6 a_a33Z7 b_a33Z8 (t_a341Y :: f_a33Z6 a_a33Z7) (t_a341Z :: (~>) a_a33Z7 b_a33Z8). SFunctor f_a33Z6 => Sing t_a341Y -> Sing t_a341Z -> Sing (Apply (Apply (<&>@#@$) t_a341Y) t_a341Z :: f_a33Z6 b_a33Z8)
infixl 1 %<&>
type family Void (a_a3406 :: f_a33Z1 a_a33Z2) :: f_a33Z1 ()
sVoid :: forall f_a33Z1 a_a33Z2 (t_a341S :: f_a33Z1 a_a33Z2). SFunctor f_a33Z1 => Sing t_a341S -> Sing (Apply VoidSym0 t_a341S :: f_a33Z1 ())
data FmapSym0 :: forall a6989586621679569924 b6989586621679569925 f6989586621679569923. (~>) ((~>) a6989586621679569924 b6989586621679569925) ((~>) (f6989586621679569923 a6989586621679569924) (f6989586621679569923 b6989586621679569925))
data FmapSym1 (arg6989586621679570315 :: (~>) a6989586621679569924 b6989586621679569925) :: forall f6989586621679569923. (~>) (f6989586621679569923 a6989586621679569924) (f6989586621679569923 b6989586621679569925)
type FmapSym2 (arg6989586621679570315 :: (~>) a6989586621679569924 b6989586621679569925) (arg6989586621679570316 :: f6989586621679569923 a6989586621679569924) = Fmap arg6989586621679570315 arg6989586621679570316
data (<$@#@$) :: forall a6989586621679569926 f6989586621679569923 b6989586621679569927. (~>) a6989586621679569926 ((~>) (f6989586621679569923 b6989586621679569927) (f6989586621679569923 a6989586621679569926))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679570319 :: a6989586621679569926) :: forall f6989586621679569923 b6989586621679569927. (~>) (f6989586621679569923 b6989586621679569927) (f6989586621679569923 a6989586621679569926)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679570319 :: a6989586621679569926) (arg6989586621679570320 :: f6989586621679569923 b6989586621679569927) = (<$) arg6989586621679570319 arg6989586621679570320
data ($>@#@$) :: forall f6989586621679740093 a6989586621679740094 b6989586621679740095. (~>) (f6989586621679740093 a6989586621679740094) ((~>) b6989586621679740095 (f6989586621679740093 b6989586621679740095))
infixl 4 $>@#@$
data ($>@#@$$) (a6989586621679740165 :: f6989586621679740093 a6989586621679740094) :: forall b6989586621679740095. (~>) b6989586621679740095 (f6989586621679740093 b6989586621679740095)
infixl 4 $>@#@$$
type ($>@#@$$$) (a6989586621679740165 :: f6989586621679740093 a6989586621679740094) (a6989586621679740166 :: b6989586621679740095) = ($>) a6989586621679740165 a6989586621679740166
data (<$>@#@$) :: forall a6989586621679740100 b6989586621679740101 f6989586621679740099. (~>) ((~>) a6989586621679740100 b6989586621679740101) ((~>) (f6989586621679740099 a6989586621679740100) (f6989586621679740099 b6989586621679740101))
infixl 4 <$>@#@$
data (<$>@#@$$) (a6989586621679740181 :: (~>) a6989586621679740100 b6989586621679740101) :: forall f6989586621679740099. (~>) (f6989586621679740099 a6989586621679740100) (f6989586621679740099 b6989586621679740101)
infixl 4 <$>@#@$$
type (<$>@#@$$$) (a6989586621679740181 :: (~>) a6989586621679740100 b6989586621679740101) (a6989586621679740182 :: f6989586621679740099 a6989586621679740100) = (<$>) a6989586621679740181 a6989586621679740182
data (<&>@#@$) :: forall f6989586621679740096 a6989586621679740097 b6989586621679740098. (~>) (f6989586621679740096 a6989586621679740097) ((~>) ((~>) a6989586621679740097 b6989586621679740098) (f6989586621679740096 b6989586621679740098))
infixl 1 <&>@#@$
data (<&>@#@$$) (a6989586621679740171 :: f6989586621679740096 a6989586621679740097) :: forall b6989586621679740098. (~>) ((~>) a6989586621679740097 b6989586621679740098) (f6989586621679740096 b6989586621679740098)
infixl 1 <&>@#@$$
type (<&>@#@$$$) (a6989586621679740171 :: f6989586621679740096 a6989586621679740097) (a6989586621679740172 :: (~>) a6989586621679740097 b6989586621679740098) = (<&>) a6989586621679740171 a6989586621679740172
data VoidSym0 :: forall f6989586621679740091 a6989586621679740092. (~>) (f6989586621679740091 a6989586621679740092) (f6989586621679740091 ())
type VoidSym1 (a6989586621679740158 :: f6989586621679740091 a6989586621679740092) = Void a6989586621679740158
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.TFHelper_6989586621679740251Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Ord.Down
instance forall a6989586621679569926 b6989586621679569927 (a6989586621679740249 :: a6989586621679569926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.TFHelper_6989586621679740251Sym1 a6989586621679740249)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679740259Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Ord.Down
instance forall k1 k2 k3 (_z_69895866216797401506989586621679740257 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679740259Sym1 _z_69895866216797401506989586621679740257)
instance forall k1 k2 k3 (a_69895866216797401566989586621679740258 :: k1) (_z_69895866216797401506989586621679740257 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679740259Sym2 a_69895866216797401566989586621679740258 _z_69895866216797401506989586621679740257)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Fmap_6989586621679740239Sym0
instance forall a6989586621679569924 b6989586621679569925 (a6989586621679740237 :: a6989586621679569924 Data.Singletons.Internal.~> b6989586621679569925). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Fmap_6989586621679740239Sym1 a6989586621679740237)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.TFHelper_6989586621679740210Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor ((,) a)
instance forall a6989586621679569926 a6989586621679740109 b6989586621679569927 (a6989586621679740208 :: a6989586621679569926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.TFHelper_6989586621679740210Sym1 a6989586621679740208)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679740227Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor ((,) a)
instance forall k1 k2 k3 k4 (_z_69895866216797401296989586621679740216 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679740227Sym1 _z_69895866216797401296989586621679740216)
instance forall k1 k2 k3 k4 (a_69895866216797401416989586621679740217 :: k1) (_z_69895866216797401296989586621679740216 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679740227Sym2 a_69895866216797401416989586621679740217 _z_69895866216797401296989586621679740216)
instance forall k1 k2 k3 k4 (a_69895866216797401436989586621679740218 :: k1) (a_69895866216797401416989586621679740217 :: k2) (_z_69895866216797401296989586621679740216 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679740227Sym3 a_69895866216797401436989586621679740218 a_69895866216797401416989586621679740217 _z_69895866216797401296989586621679740216)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679740219Sym0
instance forall k1 k2 k3 k4 (_z_69895866216797401296989586621679740216 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679740219Sym1 _z_69895866216797401296989586621679740216)
instance forall k1 k2 k3 k4 (a_69895866216797401416989586621679740217 :: k1) (_z_69895866216797401296989586621679740216 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679740219Sym2 a_69895866216797401416989586621679740217 _z_69895866216797401296989586621679740216)
instance forall k1 k2 k3 k4 (a_69895866216797401436989586621679740218 :: k1) (a_69895866216797401416989586621679740217 :: k2) (_z_69895866216797401296989586621679740216 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679740219Sym3 a_69895866216797401436989586621679740218 a_69895866216797401416989586621679740217 _z_69895866216797401296989586621679740216)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Fmap_6989586621679740189Sym0
instance forall a6989586621679569924 b6989586621679569925 a6989586621679740109 (a6989586621679740187 :: a6989586621679569924 Data.Singletons.Internal.~> b6989586621679569925). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Fmap_6989586621679740189Sym1 a6989586621679740187)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Functor.Lambda_6989586621679740198Sym0
instance forall k1 k2 k3 k4 (_f_69895866216797401276989586621679740195 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679740198Sym1 _f_69895866216797401276989586621679740195)
instance forall k1 k2 k3 k4 (a_69895866216797401336989586621679740196 :: k1) (_f_69895866216797401276989586621679740195 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679740198Sym2 a_69895866216797401336989586621679740196 _f_69895866216797401276989586621679740195)
instance forall k1 k2 k3 k4 (a_69895866216797401356989586621679740197 :: k1) (a_69895866216797401336989586621679740196 :: k2) (_f_69895866216797401276989586621679740195 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Functor.Lambda_6989586621679740198Sym3 a_69895866216797401356989586621679740197 a_69895866216797401336989586621679740196 _f_69895866216797401276989586621679740195)
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 (f6989586621679740096 :: * -> *) a6989586621679740097 b6989586621679740098 (a6989586621679740171 :: f6989586621679740096 a6989586621679740097). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Functor.<&>@#@$$) a6989586621679740171)
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 a6989586621679740100 b6989586621679740101 (f6989586621679740099 :: * -> *) (a6989586621679740181 :: a6989586621679740100 Data.Singletons.Internal.~> b6989586621679740101). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Functor.<$>@#@$$) a6989586621679740181)
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 (f6989586621679740093 :: * -> *) a6989586621679740094 b6989586621679740095 (a6989586621679740165 :: f6989586621679740093 a6989586621679740094). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Functor.$>@#@$$) a6989586621679740165)
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_a2fa3 :: a_a2f6U) :: a_a2f6U
sId :: forall a_a2f6U (t_a2fbg :: a_a2f6U). Sing t_a2fbg -> Sing (Apply IdSym0 t_a2fbg :: a_a2f6U)
type family Const (a_a2f9Y :: a_a2f6S) (a_a2f9Z :: b_a2f6T) :: a_a2f6S
sConst :: forall a_a2f6S b_a2f6T (t_a2fbc :: a_a2f6S) (t_a2fbd :: b_a2f6T). Sing t_a2fbc -> Sing t_a2fbd -> Sing (Apply (Apply ConstSym0 t_a2fbc) t_a2fbd :: a_a2f6S)
type family (.) (a_a2f9F :: (~>) b_a2f6P c_a2f6Q) (a_a2f9G :: (~>) a_a2f6R b_a2f6P) (a_a2f9H :: a_a2f6R) :: c_a2f6Q
infixr 9 .
(%.) :: forall b_a2f6P c_a2f6Q a_a2f6R (t_a2fb6 :: (~>) b_a2f6P c_a2f6Q) (t_a2fb7 :: (~>) a_a2f6R b_a2f6P) (t_a2fb8 :: a_a2f6R). Sing t_a2fb6 -> Sing t_a2fb7 -> Sing t_a2fb8 -> Sing (Apply (Apply (Apply (.@#@$) t_a2fb6) t_a2fb7) t_a2fb8 :: c_a2f6Q)
infixr 9 %.
type family Flip (a_a2f9w :: (~>) a_a2f6M ((~>) b_a2f6N c_a2f6O)) (a_a2f9x :: b_a2f6N) (a_a2f9y :: a_a2f6M) :: c_a2f6O
sFlip :: forall a_a2f6M b_a2f6N c_a2f6O (t_a2fb0 :: (~>) a_a2f6M ((~>) b_a2f6N c_a2f6O)) (t_a2fb1 :: b_a2f6N) (t_a2fb2 :: a_a2f6M). Sing t_a2fb0 -> Sing t_a2fb1 -> Sing t_a2fb2 -> Sing (Apply (Apply (Apply FlipSym0 t_a2fb0) t_a2fb1) t_a2fb2 :: c_a2f6O)
type family ($) (a_a2f9g :: (~>) a_a2f6J b_a2f6K) (a_a2f9h :: a_a2f6J) :: b_a2f6K
infixr 0 $
(%$) :: forall a_a2f6J b_a2f6K (t_a2faS :: (~>) a_a2f6J b_a2f6K) (t_a2faT :: a_a2f6J). Sing t_a2faS -> Sing t_a2faT -> Sing (Apply (Apply ($@#@$) t_a2faS) t_a2faT :: b_a2f6K)
infixr 0 %$
type family (&) (a_a382k :: a_a3827) (a_a382l :: (~>) a_a3827 b_a3828) :: b_a3828
infixl 1 &
(%&) :: forall a_a3827 b_a3828 (t_a382S :: a_a3827) (t_a382T :: (~>) a_a3827 b_a3828). Sing t_a382S -> Sing t_a382T -> Sing (Apply (Apply (&@#@$) t_a382S) t_a382T :: b_a3828)
infixl 1 %&
type family On (a_a382q :: (~>) b_a3829 ((~>) b_a3829 c_a382a)) (a_a382r :: (~>) a_a382b b_a3829) (a_a382s :: a_a382b) (a_a382t :: a_a382b) :: c_a382a
infixl 0 `On`
sOn :: forall b_a3829 c_a382a a_a382b (t_a382W :: (~>) b_a3829 ((~>) b_a3829 c_a382a)) (t_a382X :: (~>) a_a382b b_a3829) (t_a382Y :: a_a382b) (t_a382Z :: a_a382b). Sing t_a382W -> Sing t_a382X -> Sing t_a382Y -> Sing t_a382Z -> Sing (Apply (Apply (Apply (Apply OnSym0 t_a382W) t_a382X) t_a382Y) t_a382Z :: c_a382a)
infixl 0 `sOn`
data IdSym0 :: forall a6989586621679544536. (~>) a6989586621679544536 a6989586621679544536
type IdSym1 (a6989586621679544731 :: a6989586621679544536) = Id a6989586621679544731
data ConstSym0 :: forall a6989586621679544534 b6989586621679544535. (~>) a6989586621679544534 ((~>) b6989586621679544535 a6989586621679544534)
data ConstSym1 (a6989586621679544726 :: a6989586621679544534) :: forall b6989586621679544535. (~>) b6989586621679544535 a6989586621679544534
type ConstSym2 (a6989586621679544726 :: a6989586621679544534) (a6989586621679544727 :: b6989586621679544535) = Const a6989586621679544726 a6989586621679544727
data (.@#@$) :: forall b6989586621679544531 c6989586621679544532 a6989586621679544533. (~>) ((~>) b6989586621679544531 c6989586621679544532) ((~>) ((~>) a6989586621679544533 b6989586621679544531) ((~>) a6989586621679544533 c6989586621679544532))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679544707 :: (~>) b6989586621679544531 c6989586621679544532) :: forall a6989586621679544533. (~>) ((~>) a6989586621679544533 b6989586621679544531) ((~>) a6989586621679544533 c6989586621679544532)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679544707 :: (~>) b6989586621679544531 c6989586621679544532) (a6989586621679544708 :: (~>) a6989586621679544533 b6989586621679544531) :: (~>) a6989586621679544533 c6989586621679544532
infixr 9 .@#@$$$
type (.@#@$$$$) (a6989586621679544707 :: (~>) b6989586621679544531 c6989586621679544532) (a6989586621679544708 :: (~>) a6989586621679544533 b6989586621679544531) (a6989586621679544709 :: a6989586621679544533) = (.) a6989586621679544707 a6989586621679544708 a6989586621679544709
data FlipSym0 :: forall a6989586621679544528 b6989586621679544529 c6989586621679544530. (~>) ((~>) a6989586621679544528 ((~>) b6989586621679544529 c6989586621679544530)) ((~>) b6989586621679544529 ((~>) a6989586621679544528 c6989586621679544530))
data FlipSym1 (a6989586621679544698 :: (~>) a6989586621679544528 ((~>) b6989586621679544529 c6989586621679544530)) :: (~>) b6989586621679544529 ((~>) a6989586621679544528 c6989586621679544530)
data FlipSym2 (a6989586621679544698 :: (~>) a6989586621679544528 ((~>) b6989586621679544529 c6989586621679544530)) (a6989586621679544699 :: b6989586621679544529) :: (~>) a6989586621679544528 c6989586621679544530
type FlipSym3 (a6989586621679544698 :: (~>) a6989586621679544528 ((~>) b6989586621679544529 c6989586621679544530)) (a6989586621679544699 :: b6989586621679544529) (a6989586621679544700 :: a6989586621679544528) = Flip a6989586621679544698 a6989586621679544699 a6989586621679544700
data ($@#@$) :: forall a6989586621679544525 b6989586621679544526. (~>) ((~>) a6989586621679544525 b6989586621679544526) ((~>) a6989586621679544525 b6989586621679544526)
infixr 0 $@#@$
data ($@#@$$) (a6989586621679544682 :: (~>) a6989586621679544525 b6989586621679544526) :: (~>) a6989586621679544525 b6989586621679544526
infixr 0 $@#@$$
type ($@#@$$$) (a6989586621679544682 :: (~>) a6989586621679544525 b6989586621679544526) (a6989586621679544683 :: a6989586621679544525) = ($) a6989586621679544682 a6989586621679544683
data (&@#@$) :: forall a6989586621679755659 b6989586621679755660. (~>) a6989586621679755659 ((~>) ((~>) a6989586621679755659 b6989586621679755660) b6989586621679755660)
infixl 1 &@#@$
data (&@#@$$) (a6989586621679755672 :: a6989586621679755659) :: forall b6989586621679755660. (~>) ((~>) a6989586621679755659 b6989586621679755660) b6989586621679755660
infixl 1 &@#@$$
type (&@#@$$$) (a6989586621679755672 :: a6989586621679755659) (a6989586621679755673 :: (~>) a6989586621679755659 b6989586621679755660) = (&) a6989586621679755672 a6989586621679755673
data OnSym0 :: forall b6989586621679755661 c6989586621679755662 a6989586621679755663. (~>) ((~>) b6989586621679755661 ((~>) b6989586621679755661 c6989586621679755662)) ((~>) ((~>) a6989586621679755663 b6989586621679755661) ((~>) a6989586621679755663 ((~>) a6989586621679755663 c6989586621679755662)))
infixl 0 `OnSym0`
data OnSym1 (a6989586621679755678 :: (~>) b6989586621679755661 ((~>) b6989586621679755661 c6989586621679755662)) :: forall a6989586621679755663. (~>) ((~>) a6989586621679755663 b6989586621679755661) ((~>) a6989586621679755663 ((~>) a6989586621679755663 c6989586621679755662))
infixl 0 `OnSym1`
data OnSym2 (a6989586621679755678 :: (~>) b6989586621679755661 ((~>) b6989586621679755661 c6989586621679755662)) (a6989586621679755679 :: (~>) a6989586621679755663 b6989586621679755661) :: (~>) a6989586621679755663 ((~>) a6989586621679755663 c6989586621679755662)
infixl 0 `OnSym2`
data OnSym3 (a6989586621679755678 :: (~>) b6989586621679755661 ((~>) b6989586621679755661 c6989586621679755662)) (a6989586621679755679 :: (~>) a6989586621679755663 b6989586621679755661) (a6989586621679755680 :: a6989586621679755663) :: (~>) a6989586621679755663 c6989586621679755662
infixl 0 `OnSym3`
type OnSym4 (a6989586621679755678 :: (~>) b6989586621679755661 ((~>) b6989586621679755661 c6989586621679755662)) (a6989586621679755679 :: (~>) a6989586621679755663 b6989586621679755661) (a6989586621679755680 :: a6989586621679755663) (a6989586621679755681 :: a6989586621679755663) = On a6989586621679755678 a6989586621679755679 a6989586621679755680 a6989586621679755681
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Function.OnSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Function.OnSym0
instance forall b6989586621679755661 c6989586621679755662 a6989586621679755663 (a6989586621679755678 :: b6989586621679755661 Data.Singletons.Internal.~> (b6989586621679755661 Data.Singletons.Internal.~> c6989586621679755662)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.OnSym1 a6989586621679755678)
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 b6989586621679755661 c6989586621679755662 a6989586621679755663 (a6989586621679755679 :: b6989586621679755661 Data.Singletons.Internal.~> (b6989586621679755661 Data.Singletons.Internal.~> c6989586621679755662)) (a6989586621679755678 :: a6989586621679755663 Data.Singletons.Internal.~> b6989586621679755661). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.OnSym2 a6989586621679755679 a6989586621679755678)
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 b6989586621679755661 c6989586621679755662 a6989586621679755663 (a6989586621679755680 :: b6989586621679755661 Data.Singletons.Internal.~> (b6989586621679755661 Data.Singletons.Internal.~> c6989586621679755662)) (a6989586621679755679 :: a6989586621679755663 Data.Singletons.Internal.~> b6989586621679755661) (a6989586621679755678 :: a6989586621679755663). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.OnSym3 a6989586621679755680 a6989586621679755679 a6989586621679755678)
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 a6989586621679755659 b6989586621679755660 (a6989586621679755672 :: a6989586621679755659). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Function.&@#@$$) a6989586621679755672)
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_6989586621679755694Sym0
instance forall k2 k3 k4 k5 k6 (ty6989586621679755690 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679755694Sym1 ty6989586621679755690)
instance forall k2 k3 k4 k5 k6 (f6989586621679755691 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)) (ty6989586621679755690 :: k4 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679755694Sym2 f6989586621679755691 ty6989586621679755690)
instance forall k2 k3 k4 k5 k6 (a_69895866216797556866989586621679755692 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)) (f6989586621679755691 :: k4 Data.Singletons.Internal.~> k2) (ty6989586621679755690 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679755694Sym3 a_69895866216797556866989586621679755692 f6989586621679755691 ty6989586621679755690)
instance forall k2 k3 k4 k5 k6 (a_69895866216797556886989586621679755693 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)) (a_69895866216797556866989586621679755692 :: k4 Data.Singletons.Internal.~> k2) (f6989586621679755691 :: k5) (ty6989586621679755690 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679755694Sym4 a_69895866216797556886989586621679755693 a_69895866216797556866989586621679755692 f6989586621679755691 ty6989586621679755690)
instance forall k2 k3 k4 k5 k6 (t6989586621679755698 :: k2 Data.Singletons.Internal.~> (k2 Data.Singletons.Internal.~> k3)) (a_69895866216797556886989586621679755693 :: k4 Data.Singletons.Internal.~> k2) (a_69895866216797556866989586621679755692 :: k5) (f6989586621679755691 :: k6) (ty6989586621679755690 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Function.Lambda_6989586621679755694Sym5 t6989586621679755698 a_69895866216797556886989586621679755693 a_69895866216797556866989586621679755692 f6989586621679755691 ty6989586621679755690)


-- | Defines the promoted and singleton version of Bounded, <a>PBounded</a>
--   and <a>SBounded</a>
module Data.Singletons.Prelude.Enum
class PBounded (a_a39Jk :: Type) where {
    type family MinBound :: a_a39Jk;
    type family MaxBound :: a_a39Jk;
}
class SBounded a_a39Jk
sMinBound :: SBounded a_a39Jk => Sing (MinBoundSym0 :: a_a39Jk)
sMaxBound :: SBounded a_a39Jk => Sing (MaxBoundSym0 :: a_a39Jk)
class PEnum (a_a3aL9 :: Type) where {
    type family Succ (arg_a3aPJ :: a_a3aL9) :: a_a3aL9;
    type family Pred (arg_a3aPL :: a_a3aL9) :: a_a3aL9;
    type family ToEnum (arg_a3aPN :: Nat) :: a_a3aL9;
    type family FromEnum (arg_a3aPP :: a_a3aL9) :: Nat;
    type family EnumFromTo (arg_a3aPR :: a_a3aL9) (arg_a3aPS :: a_a3aL9) :: [a_a3aL9];
    type family EnumFromThenTo (arg_a3aPV :: a_a3aL9) (arg_a3aPW :: a_a3aL9) (arg_a3aPX :: a_a3aL9) :: [a_a3aL9];
    type Succ a_a3aQ1 = Apply Succ_6989586621679766442Sym0 a_a3aQ1;
    type Pred a_a3aQg = Apply Pred_6989586621679766457Sym0 a_a3aQg;
    type EnumFromTo a_a3aQp a_a3aQq = Apply (Apply EnumFromTo_6989586621679766467Sym0 a_a3aQp) a_a3aQq;
    type EnumFromThenTo a_a3aQB a_a3aQC a_a3aQD = Apply (Apply (Apply EnumFromThenTo_6989586621679766480Sym0 a_a3aQB) a_a3aQC) a_a3aQD;
}
class SEnum a_a3aL9
sSucc :: forall (t_a3aSH :: a_a3aL9). SEnum a_a3aL9 => Sing t_a3aSH -> Sing (Apply SuccSym0 t_a3aSH :: a_a3aL9)
sPred :: forall (t_a3aSJ :: a_a3aL9). SEnum a_a3aL9 => Sing t_a3aSJ -> Sing (Apply PredSym0 t_a3aSJ :: a_a3aL9)
sToEnum :: forall (t_a3aSL :: Nat). SEnum a_a3aL9 => Sing t_a3aSL -> Sing (Apply ToEnumSym0 t_a3aSL :: a_a3aL9)
sFromEnum :: forall (t_a3aSN :: a_a3aL9). SEnum a_a3aL9 => Sing t_a3aSN -> Sing (Apply FromEnumSym0 t_a3aSN :: Nat)
sEnumFromTo :: forall (t_a3aSP :: a_a3aL9) (t_a3aSQ :: a_a3aL9). SEnum a_a3aL9 => Sing t_a3aSP -> Sing t_a3aSQ -> Sing (Apply (Apply EnumFromToSym0 t_a3aSP) t_a3aSQ :: [a_a3aL9])
sEnumFromThenTo :: forall (t_a3aST :: a_a3aL9) (t_a3aSU :: a_a3aL9) (t_a3aSV :: a_a3aL9). SEnum a_a3aL9 => Sing t_a3aST -> Sing t_a3aSU -> Sing t_a3aSV -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3aST) t_a3aSU) t_a3aSV :: [a_a3aL9])
sSucc :: forall (t_a3aSH :: a_a3aL9). (SEnum a_a3aL9, (Apply SuccSym0 t_a3aSH :: a_a3aL9) ~ Apply Succ_6989586621679766442Sym0 t_a3aSH) => Sing t_a3aSH -> Sing (Apply SuccSym0 t_a3aSH :: a_a3aL9)
sPred :: forall (t_a3aSJ :: a_a3aL9). (SEnum a_a3aL9, (Apply PredSym0 t_a3aSJ :: a_a3aL9) ~ Apply Pred_6989586621679766457Sym0 t_a3aSJ) => Sing t_a3aSJ -> Sing (Apply PredSym0 t_a3aSJ :: a_a3aL9)
sEnumFromTo :: forall (t_a3aSP :: a_a3aL9) (t_a3aSQ :: a_a3aL9). (SEnum a_a3aL9, (Apply (Apply EnumFromToSym0 t_a3aSP) t_a3aSQ :: [a_a3aL9]) ~ Apply (Apply EnumFromTo_6989586621679766467Sym0 t_a3aSP) t_a3aSQ) => Sing t_a3aSP -> Sing t_a3aSQ -> Sing (Apply (Apply EnumFromToSym0 t_a3aSP) t_a3aSQ :: [a_a3aL9])
sEnumFromThenTo :: forall (t_a3aST :: a_a3aL9) (t_a3aSU :: a_a3aL9) (t_a3aSV :: a_a3aL9). (SEnum a_a3aL9, (Apply (Apply (Apply EnumFromThenToSym0 t_a3aST) t_a3aSU) t_a3aSV :: [a_a3aL9]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679766480Sym0 t_a3aST) t_a3aSU) t_a3aSV) => Sing t_a3aST -> Sing t_a3aSU -> Sing t_a3aSV -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3aST) t_a3aSU) t_a3aSV :: [a_a3aL9])
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data SuccSym0 :: forall a6989586621679766139. (~>) a6989586621679766139 a6989586621679766139
type SuccSym1 (arg6989586621679766423 :: a6989586621679766139) = Succ arg6989586621679766423
data PredSym0 :: forall a6989586621679766139. (~>) a6989586621679766139 a6989586621679766139
type PredSym1 (arg6989586621679766425 :: a6989586621679766139) = Pred arg6989586621679766425
data ToEnumSym0 :: forall a6989586621679766139. (~>) Nat a6989586621679766139
type ToEnumSym1 (arg6989586621679766427 :: Nat) = ToEnum arg6989586621679766427
data FromEnumSym0 :: forall a6989586621679766139. (~>) a6989586621679766139 Nat
type FromEnumSym1 (arg6989586621679766429 :: a6989586621679766139) = FromEnum arg6989586621679766429
data EnumFromToSym0 :: forall a6989586621679766139. (~>) a6989586621679766139 ((~>) a6989586621679766139 [a6989586621679766139])
data EnumFromToSym1 (arg6989586621679766431 :: a6989586621679766139) :: (~>) a6989586621679766139 [a6989586621679766139]
type EnumFromToSym2 (arg6989586621679766431 :: a6989586621679766139) (arg6989586621679766432 :: a6989586621679766139) = EnumFromTo arg6989586621679766431 arg6989586621679766432
data EnumFromThenToSym0 :: forall a6989586621679766139. (~>) a6989586621679766139 ((~>) a6989586621679766139 ((~>) a6989586621679766139 [a6989586621679766139]))
data EnumFromThenToSym1 (arg6989586621679766435 :: a6989586621679766139) :: (~>) a6989586621679766139 ((~>) a6989586621679766139 [a6989586621679766139])
data EnumFromThenToSym2 (arg6989586621679766435 :: a6989586621679766139) (arg6989586621679766436 :: a6989586621679766139) :: (~>) a6989586621679766139 [a6989586621679766139]
type EnumFromThenToSym3 (arg6989586621679766435 :: a6989586621679766139) (arg6989586621679766436 :: a6989586621679766139) (arg6989586621679766437 :: a6989586621679766139) = EnumFromThenTo arg6989586621679766435 arg6989586621679766436 arg6989586621679766437
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679789834Sym0
instance Data.Singletons.Prelude.Enum.PEnum ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679789824Sym0
instance Data.Singletons.Prelude.Enum.SEnum ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679789817Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679789801Sym0
instance Data.Singletons.Prelude.Enum.SEnum GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679789793Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679789780Sym0
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_6989586621679766541Sym0
instance Data.Singletons.Prelude.Enum.PEnum GHC.Types.Nat
instance forall a6989586621679766139 (a6989586621679766538 :: a6989586621679766139). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679766541Sym1 a6989586621679766538)
instance forall a6989586621679766139 (a6989586621679766539 :: a6989586621679766139) (a6989586621679766538 :: a6989586621679766139). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679766541Sym2 a6989586621679766539 a6989586621679766538)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679766524Sym0
instance forall a6989586621679766139 (a6989586621679766522 :: a6989586621679766139). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679766524Sym1 a6989586621679766522)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.FromEnum_6989586621679766516Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.ToEnum_6989586621679766509Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Pred_6989586621679766502Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Succ_6989586621679766495Sym0
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 a6989586621679766139 (arg6989586621679766431 :: a6989586621679766139). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromToSym1 arg6989586621679766431)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromToSym0
instance forall a6989586621679766139 (arg6989586621679766436 :: a6989586621679766139) (arg6989586621679766435 :: a6989586621679766139). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenToSym2 arg6989586621679766436 arg6989586621679766435)
instance forall a6989586621679766139 (arg6989586621679766435 :: a6989586621679766139). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenToSym1 arg6989586621679766435)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenToSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Succ_6989586621679766442Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Pred_6989586621679766457Sym0
instance forall a6989586621679766139 (a6989586621679766465 :: a6989586621679766139). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679766467Sym1 a6989586621679766465)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromTo_6989586621679766467Sym0
instance forall a6989586621679766139 (a6989586621679766478 :: a6989586621679766139) (a6989586621679766477 :: a6989586621679766139). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679766480Sym2 a6989586621679766478 a6989586621679766477)
instance forall a6989586621679766139 (a6989586621679766477 :: a6989586621679766139). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679766480Sym1 a6989586621679766477)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.EnumFromThenTo_6989586621679766480Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Lambda_6989586621679766449Sym0
instance forall k1 k2 (a_69895866216797664446989586621679766448 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Lambda_6989586621679766449Sym1 a_69895866216797664446989586621679766448)
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 a6989586621679766392)
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 a6989586621679766374)
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 a6989586621679766375 a6989586621679766374)
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 a6989586621679766317)
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 a6989586621679766318 a6989586621679766317)
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 a6989586621679766260)
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 a6989586621679766261 a6989586621679766260)
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.Let6989586621679766402GoSym0
instance forall k1 k2 k3 k4 (x06989586621679766400 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766402GoSym1 x06989586621679766400)
instance forall k1 k2 k3 k4 (y6989586621679766401 :: k1) (x06989586621679766400 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766402GoSym2 y6989586621679766401 x06989586621679766400)
instance forall k1 k2 k3 k4 (arg_69895866216797661726989586621679766396 :: k1) (y6989586621679766401 :: k2) (x06989586621679766400 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766402GoSym3 arg_69895866216797661726989586621679766396 y6989586621679766401 x06989586621679766400)
instance forall k1 k2 k3 k4 (arg_69895866216797661746989586621679766397 :: k1) (arg_69895866216797661726989586621679766396 :: k2) (y6989586621679766401 :: k3) (x06989586621679766400 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766402GoSym4 arg_69895866216797661746989586621679766397 arg_69895866216797661726989586621679766396 y6989586621679766401 x06989586621679766400)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679766410Scrutinee_6989586621679766176Sym0
instance forall k1 k2 k3 k4 (x6989586621679766409 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766410Scrutinee_6989586621679766176Sym1 x6989586621679766409)
instance forall k1 k2 k3 k4 (x06989586621679766400 :: k1) (x6989586621679766409 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766410Scrutinee_6989586621679766176Sym2 x06989586621679766400 x6989586621679766409)
instance forall k1 k2 k3 k4 (y6989586621679766401 :: k1) (x06989586621679766400 :: k2) (x6989586621679766409 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766410Scrutinee_6989586621679766176Sym3 y6989586621679766401 x06989586621679766400 x6989586621679766409)
instance forall k1 k2 k3 k4 (arg_69895866216797661726989586621679766396 :: k1) (y6989586621679766401 :: k2) (x06989586621679766400 :: k1) (x6989586621679766409 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766410Scrutinee_6989586621679766176Sym4 arg_69895866216797661726989586621679766396 y6989586621679766401 x06989586621679766400 x6989586621679766409)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679766343Go_upSym0
instance forall k1 k2 k3 k4 (x16989586621679766328 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766343Go_upSym1 x16989586621679766328)
instance forall k1 k2 k3 k4 (x26989586621679766329 :: k1) (x16989586621679766328 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766343Go_upSym2 x26989586621679766329 x16989586621679766328)
instance forall k1 k2 k3 k4 (y6989586621679766330 :: k1) (x26989586621679766329 :: k1) (x16989586621679766328 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766343Go_upSym3 y6989586621679766330 x26989586621679766329 x16989586621679766328)
instance forall k1 k2 k3 k4 (arg_69895866216797661846989586621679766323 :: k1) (y6989586621679766330 :: k1) (x26989586621679766329 :: k1) (x16989586621679766328 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766343Go_upSym4 arg_69895866216797661846989586621679766323 y6989586621679766330 x26989586621679766329 x16989586621679766328)
instance forall k1 k2 k3 k4 (arg_69895866216797661866989586621679766324 :: k1) (arg_69895866216797661846989586621679766323 :: k1) (y6989586621679766330 :: k1) (x26989586621679766329 :: k2) (x16989586621679766328 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766343Go_upSym5 arg_69895866216797661866989586621679766324 arg_69895866216797661846989586621679766323 y6989586621679766330 x26989586621679766329 x16989586621679766328)
instance forall k1 k2 k3 k4 (arg_69895866216797661886989586621679766325 :: k1) (arg_69895866216797661866989586621679766324 :: k1) (arg_69895866216797661846989586621679766323 :: k1) (y6989586621679766330 :: k2) (x26989586621679766329 :: k3) (x16989586621679766328 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766343Go_upSym6 arg_69895866216797661886989586621679766325 arg_69895866216797661866989586621679766324 arg_69895866216797661846989586621679766323 y6989586621679766330 x26989586621679766329 x16989586621679766328)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679766343DeltaSym0
instance forall k1 k2 k3 k4 k5 (x16989586621679766328 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766343DeltaSym1 x16989586621679766328)
instance forall k1 k2 k3 k4 k5 (x26989586621679766329 :: k1) (x16989586621679766328 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766343DeltaSym2 x26989586621679766329 x16989586621679766328)
instance forall k1 k2 k3 k4 k5 (y6989586621679766330 :: k1) (x26989586621679766329 :: k1) (x16989586621679766328 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766343DeltaSym3 y6989586621679766330 x26989586621679766329 x16989586621679766328)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797661846989586621679766323 :: k1) (y6989586621679766330 :: k1) (x26989586621679766329 :: k2) (x16989586621679766328 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766343DeltaSym4 arg_69895866216797661846989586621679766323 y6989586621679766330 x26989586621679766329 x16989586621679766328)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797661866989586621679766324 :: k1) (arg_69895866216797661846989586621679766323 :: k1) (y6989586621679766330 :: k2) (x26989586621679766329 :: k3) (x16989586621679766328 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766343DeltaSym5 arg_69895866216797661866989586621679766324 arg_69895866216797661846989586621679766323 y6989586621679766330 x26989586621679766329 x16989586621679766328)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679766343Y'Sym0
instance forall k1 k2 k3 k4 (x16989586621679766328 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766343Y'Sym1 x16989586621679766328)
instance forall k1 k2 k3 k4 (x26989586621679766329 :: k1) (x16989586621679766328 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766343Y'Sym2 x26989586621679766329 x16989586621679766328)
instance forall k1 k2 k3 k4 (y6989586621679766330 :: k1) (x26989586621679766329 :: k1) (x16989586621679766328 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766343Y'Sym3 y6989586621679766330 x26989586621679766329 x16989586621679766328)
instance forall k1 k2 k3 k4 (arg_69895866216797661846989586621679766323 :: k1) (y6989586621679766330 :: k1) (x26989586621679766329 :: k1) (x16989586621679766328 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766343Y'Sym4 arg_69895866216797661846989586621679766323 y6989586621679766330 x26989586621679766329 x16989586621679766328)
instance forall k1 k2 k3 k4 (arg_69895866216797661866989586621679766324 :: k1) (arg_69895866216797661846989586621679766323 :: k1) (y6989586621679766330 :: k1) (x26989586621679766329 :: k2) (x16989586621679766328 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766343Y'Sym5 arg_69895866216797661866989586621679766324 arg_69895866216797661846989586621679766323 y6989586621679766330 x26989586621679766329 x16989586621679766328)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679766333Scrutinee_6989586621679766190Sym0
instance forall k1 k2 k3 k4 k5 (x16989586621679766328 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766333Scrutinee_6989586621679766190Sym1 x16989586621679766328)
instance forall k1 k2 k3 k4 k5 (x26989586621679766329 :: k1) (x16989586621679766328 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766333Scrutinee_6989586621679766190Sym2 x26989586621679766329 x16989586621679766328)
instance forall k1 k2 k3 k4 k5 (y6989586621679766330 :: k1) (x26989586621679766329 :: k2) (x16989586621679766328 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766333Scrutinee_6989586621679766190Sym3 y6989586621679766330 x26989586621679766329 x16989586621679766328)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797661846989586621679766323 :: k1) (y6989586621679766330 :: k2) (x26989586621679766329 :: k1) (x16989586621679766328 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766333Scrutinee_6989586621679766190Sym4 arg_69895866216797661846989586621679766323 y6989586621679766330 x26989586621679766329 x16989586621679766328)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797661866989586621679766324 :: k1) (arg_69895866216797661846989586621679766323 :: k2) (y6989586621679766330 :: k1) (x26989586621679766329 :: k3) (x16989586621679766328 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766333Scrutinee_6989586621679766190Sym5 arg_69895866216797661866989586621679766324 arg_69895866216797661846989586621679766323 y6989586621679766330 x26989586621679766329 x16989586621679766328)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679766286Go_dnSym0
instance forall k1 k2 k3 k4 (x16989586621679766271 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766286Go_dnSym1 x16989586621679766271)
instance forall k1 k2 k3 k4 (x26989586621679766272 :: k1) (x16989586621679766271 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766286Go_dnSym2 x26989586621679766272 x16989586621679766271)
instance forall k1 k2 k3 k4 (y6989586621679766273 :: k1) (x26989586621679766272 :: k1) (x16989586621679766271 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766286Go_dnSym3 y6989586621679766273 x26989586621679766272 x16989586621679766271)
instance forall k1 k2 k3 k4 (arg_69895866216797661946989586621679766266 :: k1) (y6989586621679766273 :: k1) (x26989586621679766272 :: k1) (x16989586621679766271 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766286Go_dnSym4 arg_69895866216797661946989586621679766266 y6989586621679766273 x26989586621679766272 x16989586621679766271)
instance forall k1 k2 k3 k4 (arg_69895866216797661966989586621679766267 :: k1) (arg_69895866216797661946989586621679766266 :: k1) (y6989586621679766273 :: k1) (x26989586621679766272 :: k2) (x16989586621679766271 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766286Go_dnSym5 arg_69895866216797661966989586621679766267 arg_69895866216797661946989586621679766266 y6989586621679766273 x26989586621679766272 x16989586621679766271)
instance forall k1 k2 k3 k4 (arg_69895866216797661986989586621679766268 :: k1) (arg_69895866216797661966989586621679766267 :: k1) (arg_69895866216797661946989586621679766266 :: k1) (y6989586621679766273 :: k2) (x26989586621679766272 :: k3) (x16989586621679766271 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766286Go_dnSym6 arg_69895866216797661986989586621679766268 arg_69895866216797661966989586621679766267 arg_69895866216797661946989586621679766266 y6989586621679766273 x26989586621679766272 x16989586621679766271)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679766286DeltaSym0
instance forall k1 k2 k3 k4 k5 (x16989586621679766271 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766286DeltaSym1 x16989586621679766271)
instance forall k1 k2 k3 k4 k5 (x26989586621679766272 :: k1) (x16989586621679766271 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766286DeltaSym2 x26989586621679766272 x16989586621679766271)
instance forall k1 k2 k3 k4 k5 (y6989586621679766273 :: k1) (x26989586621679766272 :: k1) (x16989586621679766271 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766286DeltaSym3 y6989586621679766273 x26989586621679766272 x16989586621679766271)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797661946989586621679766266 :: k1) (y6989586621679766273 :: k1) (x26989586621679766272 :: k2) (x16989586621679766271 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766286DeltaSym4 arg_69895866216797661946989586621679766266 y6989586621679766273 x26989586621679766272 x16989586621679766271)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797661966989586621679766267 :: k1) (arg_69895866216797661946989586621679766266 :: k1) (y6989586621679766273 :: k2) (x26989586621679766272 :: k3) (x16989586621679766271 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766286DeltaSym5 arg_69895866216797661966989586621679766267 arg_69895866216797661946989586621679766266 y6989586621679766273 x26989586621679766272 x16989586621679766271)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679766286Y'Sym0
instance forall k1 k2 k3 k4 (x16989586621679766271 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766286Y'Sym1 x16989586621679766271)
instance forall k1 k2 k3 k4 (x26989586621679766272 :: k1) (x16989586621679766271 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766286Y'Sym2 x26989586621679766272 x16989586621679766271)
instance forall k1 k2 k3 k4 (y6989586621679766273 :: k1) (x26989586621679766272 :: k1) (x16989586621679766271 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766286Y'Sym3 y6989586621679766273 x26989586621679766272 x16989586621679766271)
instance forall k1 k2 k3 k4 (arg_69895866216797661946989586621679766266 :: k1) (y6989586621679766273 :: k1) (x26989586621679766272 :: k1) (x16989586621679766271 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766286Y'Sym4 arg_69895866216797661946989586621679766266 y6989586621679766273 x26989586621679766272 x16989586621679766271)
instance forall k1 k2 k3 k4 (arg_69895866216797661966989586621679766267 :: k1) (arg_69895866216797661946989586621679766266 :: k1) (y6989586621679766273 :: k1) (x26989586621679766272 :: k2) (x16989586621679766271 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766286Y'Sym5 arg_69895866216797661966989586621679766267 arg_69895866216797661946989586621679766266 y6989586621679766273 x26989586621679766272 x16989586621679766271)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Enum.Let6989586621679766276Scrutinee_6989586621679766200Sym0
instance forall k1 k2 k3 k4 k5 (x16989586621679766271 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766276Scrutinee_6989586621679766200Sym1 x16989586621679766271)
instance forall k1 k2 k3 k4 k5 (x26989586621679766272 :: k1) (x16989586621679766271 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766276Scrutinee_6989586621679766200Sym2 x26989586621679766272 x16989586621679766271)
instance forall k1 k2 k3 k4 k5 (y6989586621679766273 :: k1) (x26989586621679766272 :: k2) (x16989586621679766271 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766276Scrutinee_6989586621679766200Sym3 y6989586621679766273 x26989586621679766272 x16989586621679766271)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797661946989586621679766266 :: k1) (y6989586621679766273 :: k2) (x26989586621679766272 :: k1) (x16989586621679766271 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766276Scrutinee_6989586621679766200Sym4 arg_69895866216797661946989586621679766266 y6989586621679766273 x26989586621679766272 x16989586621679766271)
instance forall k1 k2 k3 k4 k5 (arg_69895866216797661966989586621679766267 :: k1) (arg_69895866216797661946989586621679766266 :: k2) (y6989586621679766273 :: k1) (x26989586621679766272 :: k3) (x16989586621679766271 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Enum.Let6989586621679766276Scrutinee_6989586621679766200Sym5 arg_69895866216797661966989586621679766267 arg_69895866216797661946989586621679766266 y6989586621679766273 x26989586621679766272 x16989586621679766271)
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_a5o0B :: Type) where {
    type family ShowsPrec (arg_a5o7F :: Nat) (arg_a5o7G :: a_a5o0B) (arg_a5o7H :: Symbol) :: Symbol;
    type family Show_ (arg_a5o7L :: a_a5o0B) :: Symbol;
    type family ShowList (arg_a5o7N :: [a_a5o0B]) (arg_a5o7O :: Symbol) :: Symbol;
    type ShowsPrec a_a5o7R a_a5o7S a_a5o7T = Apply (Apply (Apply ShowsPrec_6989586621680294178Sym0 a_a5o7R) a_a5o7S) a_a5o7T;
    type Show_ a_a5o87 = Apply Show__6989586621680294192Sym0 a_a5o87;
    type ShowList a_a5o8e a_a5o8f = Apply (Apply ShowList_6989586621680294200Sym0 a_a5o8e) a_a5o8f;
}
class SShow a_a5o0B
sShowsPrec :: forall (t_a5obO :: Nat) (t_a5obP :: a_a5o0B) (t_a5obQ :: Symbol). SShow a_a5o0B => Sing t_a5obO -> Sing t_a5obP -> Sing t_a5obQ -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5obO) t_a5obP) t_a5obQ :: Symbol)
sShow_ :: forall (t_a5obU :: a_a5o0B). SShow a_a5o0B => Sing t_a5obU -> Sing (Apply Show_Sym0 t_a5obU :: Symbol)
sShowList :: forall (t_a5obW :: [a_a5o0B]) (t_a5obX :: Symbol). SShow a_a5o0B => Sing t_a5obW -> Sing t_a5obX -> Sing (Apply (Apply ShowListSym0 t_a5obW) t_a5obX :: Symbol)
sShowsPrec :: forall (t_a5obO :: Nat) (t_a5obP :: a_a5o0B) (t_a5obQ :: Symbol). (SShow a_a5o0B, (Apply (Apply (Apply ShowsPrecSym0 t_a5obO) t_a5obP) t_a5obQ :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621680294178Sym0 t_a5obO) t_a5obP) t_a5obQ) => Sing t_a5obO -> Sing t_a5obP -> Sing t_a5obQ -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5obO) t_a5obP) t_a5obQ :: Symbol)
sShow_ :: forall (t_a5obU :: a_a5o0B). (SShow a_a5o0B, (Apply Show_Sym0 t_a5obU :: Symbol) ~ Apply Show__6989586621680294192Sym0 t_a5obU) => Sing t_a5obU -> Sing (Apply Show_Sym0 t_a5obU :: Symbol)
sShowList :: forall (t_a5obW :: [a_a5o0B]) (t_a5obX :: Symbol). (SShow a_a5o0B, (Apply (Apply ShowListSym0 t_a5obW) t_a5obX :: Symbol) ~ Apply (Apply ShowList_6989586621680294200Sym0 t_a5obW) t_a5obX) => Sing t_a5obW -> Sing t_a5obX -> Sing (Apply (Apply ShowListSym0 t_a5obW) t_a5obX :: 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_a5o7x :: a_a5o0m) (a_a5o7y :: Symbol) :: Symbol
sShows :: forall a_a5o0m (t_a5obp :: a_a5o0m) (t_a5obq :: Symbol). SShow a_a5o0m => Sing t_a5obp -> Sing t_a5obq -> Sing (Apply (Apply ShowsSym0 t_a5obp) t_a5obq :: Symbol)
type family ShowListWith (a_a5o7d :: (~>) a_a5o0l ((~>) Symbol Symbol)) (a_a5o7e :: [a_a5o0l]) (a_a5o7f :: Symbol) :: Symbol
sShowListWith :: forall a_a5o0l (t_a5obj :: (~>) a_a5o0l ((~>) Symbol Symbol)) (t_a5obk :: [a_a5o0l]) (t_a5obl :: Symbol). Sing t_a5obj -> Sing t_a5obk -> Sing t_a5obl -> Sing (Apply (Apply (Apply ShowListWithSym0 t_a5obj) t_a5obk) t_a5obl :: Symbol)
type family ShowChar (a_a5o77 :: Symbol) (a_a5o78 :: Symbol) :: Symbol
sShowChar :: forall (t_a5obf :: Symbol) (t_a5obg :: Symbol). Sing t_a5obf -> Sing t_a5obg -> Sing (Apply (Apply ShowCharSym0 t_a5obf) t_a5obg :: Symbol)
type family ShowString (a_a5o6X :: Symbol) (a_a5o6Y :: Symbol) :: Symbol
sShowString :: forall (t_a5obb :: Symbol) (t_a5obc :: Symbol). Sing t_a5obb -> Sing t_a5obc -> Sing (Apply (Apply ShowStringSym0 t_a5obb) t_a5obc :: Symbol)
type family ShowParen (a_a5o6F :: Bool) (a_a5o6G :: (~>) Symbol Symbol) (a_a5o6H :: Symbol) :: Symbol
sShowParen :: forall (t_a5ob5 :: Bool) (t_a5ob6 :: (~>) Symbol Symbol) (t_a5ob7 :: Symbol). Sing t_a5ob5 -> Sing t_a5ob6 -> Sing t_a5ob7 -> Sing (Apply (Apply (Apply ShowParenSym0 t_a5ob5) t_a5ob6) t_a5ob7 :: Symbol)
type family ShowSpace (a_a5o6w :: Symbol) :: Symbol
sShowSpace :: forall (t_a5ob3 :: Symbol). Sing t_a5ob3 -> Sing (Apply ShowSpaceSym0 t_a5ob3 :: Symbol)
type family ShowCommaSpace (a_a5o6r :: Symbol) :: Symbol
sShowCommaSpace :: forall (t_a5ob1 :: Symbol). Sing t_a5ob1 -> Sing (Apply ShowCommaSpaceSym0 t_a5ob1 :: Symbol)
type family AppPrec :: Nat
sAppPrec :: Sing (AppPrecSym0 :: Nat)
type family AppPrec1 :: Nat
sAppPrec1 :: Sing (AppPrec1Sym0 :: Nat)
data ShowsPrecSym0 :: forall a6989586621680293725. (~>) Nat ((~>) a6989586621680293725 ((~>) Symbol Symbol))
data ShowsPrecSym1 (arg6989586621680294163 :: Nat) :: forall a6989586621680293725. (~>) a6989586621680293725 ((~>) Symbol Symbol)
data ShowsPrecSym2 (arg6989586621680294163 :: Nat) (arg6989586621680294164 :: a6989586621680293725) :: (~>) Symbol Symbol
type ShowsPrecSym3 (arg6989586621680294163 :: Nat) (arg6989586621680294164 :: a6989586621680293725) (arg6989586621680294165 :: Symbol) = ShowsPrec arg6989586621680294163 arg6989586621680294164 arg6989586621680294165
data Show_Sym0 :: forall a6989586621680293725. (~>) a6989586621680293725 Symbol
type Show_Sym1 (arg6989586621680294169 :: a6989586621680293725) = Show_ arg6989586621680294169
data ShowListSym0 :: forall a6989586621680293725. (~>) [a6989586621680293725] ((~>) Symbol Symbol)
data ShowListSym1 (arg6989586621680294171 :: [a6989586621680293725]) :: (~>) Symbol Symbol
type ShowListSym2 (arg6989586621680294171 :: [a6989586621680293725]) (arg6989586621680294172 :: Symbol) = ShowList arg6989586621680294171 arg6989586621680294172
data ShowsSym0 :: forall a6989586621680293710. (~>) a6989586621680293710 ((~>) Symbol Symbol)
data ShowsSym1 (a6989586621680294155 :: a6989586621680293710) :: (~>) Symbol Symbol
type ShowsSym2 (a6989586621680294155 :: a6989586621680293710) (a6989586621680294156 :: Symbol) = Shows a6989586621680294155 a6989586621680294156
data ShowListWithSym0 :: forall a6989586621680293709. (~>) ((~>) a6989586621680293709 ((~>) Symbol Symbol)) ((~>) [a6989586621680293709] ((~>) Symbol Symbol))
data ShowListWithSym1 (a6989586621680294135 :: (~>) a6989586621680293709 ((~>) Symbol Symbol)) :: (~>) [a6989586621680293709] ((~>) Symbol Symbol)
data ShowListWithSym2 (a6989586621680294135 :: (~>) a6989586621680293709 ((~>) Symbol Symbol)) (a6989586621680294136 :: [a6989586621680293709]) :: (~>) Symbol Symbol
type ShowListWithSym3 (a6989586621680294135 :: (~>) a6989586621680293709 ((~>) Symbol Symbol)) (a6989586621680294136 :: [a6989586621680293709]) (a6989586621680294137 :: Symbol) = ShowListWith a6989586621680294135 a6989586621680294136 a6989586621680294137
data ShowCharSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowCharSym1 (a6989586621680294129 :: Symbol) :: (~>) Symbol Symbol
type ShowCharSym2 (a6989586621680294129 :: Symbol) (a6989586621680294130 :: Symbol) = ShowChar a6989586621680294129 a6989586621680294130
data ShowStringSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowStringSym1 (a6989586621680294119 :: Symbol) :: (~>) Symbol Symbol
type ShowStringSym2 (a6989586621680294119 :: Symbol) (a6989586621680294120 :: Symbol) = ShowString a6989586621680294119 a6989586621680294120
data ShowParenSym0 :: (~>) Bool ((~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol))
data ShowParenSym1 (a6989586621680294101 :: Bool) :: (~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol)
data ShowParenSym2 (a6989586621680294101 :: Bool) (a6989586621680294102 :: (~>) Symbol Symbol) :: (~>) Symbol Symbol
data ShowSpaceSym0 :: (~>) Symbol Symbol
type ShowSpaceSym1 (a6989586621680294092 :: Symbol) = ShowSpace a6989586621680294092
data ShowCommaSpaceSym0 :: (~>) Symbol Symbol
type ShowCommaSpaceSym1 (a6989586621680294087 :: Symbol) = ShowCommaSpace a6989586621680294087
type AppPrecSym0 = AppPrec
type AppPrec1Sym0 = AppPrec1
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312245Sym0
instance Data.Singletons.Prelude.Show.PShow Data.Void.Void
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312245Sym1 a6989586621680312242)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312245Sym2 a6989586621680312243 a6989586621680312242)
instance Data.Singletons.Prelude.Show.SShow Data.Void.Void
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312215Sym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Ordering
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312215Sym1 a6989586621680312212)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312215Sym2 a6989586621680312213 a6989586621680312212)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312191Sym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Bool
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312191Sym1 a6989586621680312188)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312191Sym2 a6989586621680312189 a6989586621680312188)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312165Sym0
instance Data.Singletons.Prelude.Show.PShow (GHC.Base.NonEmpty a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312165Sym1 a6989586621680312162)
instance forall a6989586621679067419 (a6989586621680312163 :: GHC.Types.Nat) (a6989586621680312162 :: GHC.Base.NonEmpty a6989586621679067419). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312165Sym2 a6989586621680312163 a6989586621680312162)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312123Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Either.Either a b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312123Sym1 a6989586621680312120)
instance forall a6989586621679091716 b6989586621679091717 (a6989586621680312121 :: GHC.Types.Nat) (a6989586621680312120 :: Data.Either.Either a6989586621679091716 b6989586621679091717). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312123Sym2 a6989586621680312121 a6989586621680312120)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312067Sym0
instance Data.Singletons.Prelude.Show.PShow (GHC.Maybe.Maybe a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312067Sym1 a6989586621680312064)
instance forall a3530822107858468865 (a6989586621680312065 :: GHC.Types.Nat) (a6989586621680312064 :: GHC.Maybe.Maybe a3530822107858468865). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312067Sym2 a6989586621680312065 a6989586621680312064)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312033Sym0
instance Data.Singletons.Prelude.Show.PShow ()
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312033Sym1 a6989586621680312030)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680312033Sym2 a6989586621680312031 a6989586621680312030)
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 a6989586621680311538)
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_6989586621680294348Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d, e, f, g)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294348Sym1 a6989586621680294345)
instance forall a6989586621680293792 b6989586621680293793 c6989586621680293794 d6989586621680293795 e6989586621680293796 f6989586621680293797 g6989586621680293798 (a6989586621680294346 :: GHC.Types.Nat) (a6989586621680294345 :: (a6989586621680293792, b6989586621680293793, c6989586621680293794, d6989586621680293795, e6989586621680293796, f6989586621680293797, g6989586621680293798)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294348Sym2 a6989586621680294346 a6989586621680294345)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294327Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d, e, f)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294327Sym1 a6989586621680294324)
instance forall a6989586621680293779 b6989586621680293780 c6989586621680293781 d6989586621680293782 e6989586621680293783 f6989586621680293784 (a6989586621680294325 :: GHC.Types.Nat) (a6989586621680294324 :: (a6989586621680293779, b6989586621680293780, c6989586621680293781, d6989586621680293782, e6989586621680293783, f6989586621680293784)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294327Sym2 a6989586621680294325 a6989586621680294324)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294307Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d, e)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294307Sym1 a6989586621680294304)
instance forall a6989586621680293768 b6989586621680293769 c6989586621680293770 d6989586621680293771 e6989586621680293772 (a6989586621680294305 :: GHC.Types.Nat) (a6989586621680294304 :: (a6989586621680293768, b6989586621680293769, c6989586621680293770, d6989586621680293771, e6989586621680293772)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294307Sym2 a6989586621680294305 a6989586621680294304)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294288Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c, d)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294288Sym1 a6989586621680294285)
instance forall a6989586621680293759 b6989586621680293760 c6989586621680293761 d6989586621680293762 (a6989586621680294286 :: GHC.Types.Nat) (a6989586621680294285 :: (a6989586621680293759, b6989586621680293760, c6989586621680293761, d6989586621680293762)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294288Sym2 a6989586621680294286 a6989586621680294285)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294270Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b, c)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294270Sym1 a6989586621680294267)
instance forall a6989586621680293752 b6989586621680293753 c6989586621680293754 (a6989586621680294268 :: GHC.Types.Nat) (a6989586621680294267 :: (a6989586621680293752, b6989586621680293753, c6989586621680293754)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294270Sym2 a6989586621680294268 a6989586621680294267)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294253Sym0
instance Data.Singletons.Prelude.Show.PShow (a, b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294253Sym1 a6989586621680294250)
instance forall a6989586621680293747 b6989586621680293748 (a6989586621680294251 :: GHC.Types.Nat) (a6989586621680294250 :: (a6989586621680293747, b6989586621680293748)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294253Sym2 a6989586621680294251 a6989586621680294250)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294233Sym0
instance Data.Singletons.Prelude.Show.PShow GHC.Types.Symbol
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294233Sym1 a6989586621680294230)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294233Sym2 a6989586621680294231 a6989586621680294230)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294213Sym0
instance Data.Singletons.Prelude.Show.PShow [a]
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294213Sym1 a6989586621680294210)
instance forall a6989586621680293743 (a6989586621680294211 :: GHC.Types.Nat) (a6989586621680294210 :: [a6989586621680293743]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294213Sym2 a6989586621680294211 a6989586621680294210)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowListSym0
instance forall a6989586621680293725 (arg6989586621680294171 :: [a6989586621680293725]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowListSym1 arg6989586621680294171)
instance forall a6989586621680293710 (a6989586621680294155 :: a6989586621680293710). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsSym1 a6989586621680294155)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsSym0
instance forall a6989586621680293725 (arg6989586621680294164 :: GHC.Types.Nat) (arg6989586621680294163 :: a6989586621680293725). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrecSym2 arg6989586621680294164 arg6989586621680294163)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrecSym1 arg6989586621680294163)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrecSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Show_Sym0
instance forall a6989586621680293725 (a6989586621680294176 :: GHC.Types.Nat) (a6989586621680294175 :: a6989586621680293725). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294178Sym2 a6989586621680294176 a6989586621680294175)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294178Sym1 a6989586621680294175)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowsPrec_6989586621680294178Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Show__6989586621680294192Sym0
instance forall a6989586621680293725 (a6989586621680294198 :: [a6989586621680293725]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowList_6989586621680294200Sym1 a6989586621680294198)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowList_6989586621680294200Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.ShowListWithSym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Show.ShowListWithSym0
instance forall a6989586621680293709 (a6989586621680294135 :: a6989586621680293709 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowListWithSym1 a6989586621680294135)
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 a6989586621680293709 (a6989586621680294136 :: a6989586621680293709 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (a6989586621680294135 :: [a6989586621680293709]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.ShowListWithSym2 a6989586621680294136 a6989586621680294135)
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 a6989586621680294067)
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_6989586621680294075Sym0
instance forall k1 k2 c6989586621679544532 a6989586621679544533 (ss6989586621680294073 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680294075Sym1 ss6989586621680294073)
instance forall k1 k2 c6989586621679544532 a6989586621679544533 (a_69895866216802940716989586621680294074 :: k1) (ss6989586621680294073 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680294075Sym2 a_69895866216802940716989586621680294074 ss6989586621680294073)
instance forall k1 k2 c6989586621679544532 a6989586621679544533 (t6989586621680294079 :: k1) (a_69895866216802940716989586621680294074 :: k2) (ss6989586621680294073 :: GHC.Types.Symbol Data.Singletons.Internal.~> c6989586621679544532). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680294075Sym3 t6989586621680294079 a_69895866216802940716989586621680294074 ss6989586621680294073)
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 a6989586621680294101)
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 a6989586621680294102 a6989586621680294101)
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 a6989586621680294129)
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 a6989586621680294119)
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.Let6989586621680294146ShowlSym0
instance forall k1 k2 k3 (showx6989586621680294142 :: k1 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680294146ShowlSym1 showx6989586621680294142)
instance forall k1 k2 k3 (x6989586621680294143 :: k1 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (showx6989586621680294142 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680294146ShowlSym2 x6989586621680294143 showx6989586621680294142)
instance forall k1 k2 k3 (xs6989586621680294144 :: k1 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (x6989586621680294143 :: k2) (showx6989586621680294142 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680294146ShowlSym3 xs6989586621680294144 x6989586621680294143 showx6989586621680294142)
instance forall k1 k2 k3 (s6989586621680294145 :: k1 Data.Singletons.Internal.~> (GHC.Types.Symbol Data.Singletons.Internal.~> GHC.Types.Symbol)) (xs6989586621680294144 :: k2) (x6989586621680294143 :: k3) (showx6989586621680294142 :: GHC.Types.Symbol). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Let6989586621680294146ShowlSym4 s6989586621680294145 xs6989586621680294144 x6989586621680294143 showx6989586621680294142)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Show.Lambda_6989586621680294095Sym0
instance forall k (a_69895866216802940906989586621680294094 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Show.Lambda_6989586621680294095Sym1 a_69895866216802940906989586621680294094)


-- | 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_a5Gff :: Type) where {
    type family Mempty :: a_a5Gff;
    type family Mappend (arg_a5Ghu :: a_a5Gff) (arg_a5Ghv :: a_a5Gff) :: a_a5Gff;
    type family Mconcat (arg_a5Ghy :: [a_a5Gff]) :: a_a5Gff;
    type Mappend a_a5GhA a_a5GhB = Apply (Apply Mappend_6989586621680363972Sym0 a_a5GhA) a_a5GhB;
    type Mconcat a_a5GhQ = Apply Mconcat_6989586621680363987Sym0 a_a5GhQ;
}
class SSemigroup a_a5Gff => SMonoid a_a5Gff
sMempty :: SMonoid a_a5Gff => Sing (MemptySym0 :: a_a5Gff)
sMappend :: forall (t_a5GiO :: a_a5Gff) (t_a5GiP :: a_a5Gff). SMonoid a_a5Gff => Sing t_a5GiO -> Sing t_a5GiP -> Sing (Apply (Apply MappendSym0 t_a5GiO) t_a5GiP :: a_a5Gff)
sMconcat :: forall (t_a5GiS :: [a_a5Gff]). SMonoid a_a5Gff => Sing t_a5GiS -> Sing (Apply MconcatSym0 t_a5GiS :: a_a5Gff)
sMappend :: forall (t_a5GiO :: a_a5Gff) (t_a5GiP :: a_a5Gff). (SMonoid a_a5Gff, (Apply (Apply MappendSym0 t_a5GiO) t_a5GiP :: a_a5Gff) ~ Apply (Apply Mappend_6989586621680363972Sym0 t_a5GiO) t_a5GiP) => Sing t_a5GiO -> Sing t_a5GiP -> Sing (Apply (Apply MappendSym0 t_a5GiO) t_a5GiP :: a_a5Gff)
sMconcat :: forall (t_a5GiS :: [a_a5Gff]). (SMonoid a_a5Gff, (Apply MconcatSym0 t_a5GiS :: a_a5Gff) ~ Apply Mconcat_6989586621680363987Sym0 t_a5GiS) => Sing t_a5GiS -> Sing (Apply MconcatSym0 t_a5GiS :: a_a5Gff)

-- | The singleton kind-indexed type family.
type family Sing :: k -> Type
data SDual :: forall a_akK3. Dual a_akK3 -> Type
[SDual] :: forall a_akK3 (n_a3wnH :: a_akK3). () => {sGetDual :: Sing (n_a3wnH :: a_akK3)} -> SDual ('Dual n_a3wnH)
data SAll :: All -> Type
[SAll] :: forall (n_a3wnV :: Bool). () => {sGetAll :: Sing (n_a3wnV :: Bool)} -> SAll ('All n_a3wnV)
data SAny :: Any -> Type
[SAny] :: forall (n_a3wo9 :: Bool). () => {sGetAny :: Sing (n_a3wo9 :: Bool)} -> SAny ('Any n_a3wo9)
data SSum :: forall a_akJO. Sum a_akJO -> Type
[SSum] :: forall a_akJO (n_a3wos :: a_akJO). () => {sGetSum :: Sing (n_a3wos :: a_akJO)} -> SSum ('Sum n_a3wos)
data SProduct :: forall a_akJT. Product a_akJT -> Type
[SProduct] :: forall a_akJT (n_a3woL :: a_akJT). () => {sGetProduct :: Sing (n_a3woL :: a_akJT)} -> SProduct ('Product n_a3woL)
data SFirst :: forall a_akKR. First a_akKR -> Type
[SFirst] :: forall a_akKR (n_a5HaR :: Maybe a_akKR). () => {sGetFirst :: Sing (n_a5HaR :: Maybe a_akKR)} -> SFirst ('First n_a5HaR)
data SLast :: forall a_akKM. Last a_akKM -> Type
[SLast] :: forall a_akKM (n_a5Hbe :: Maybe a_akKM). () => {sGetLast :: Sing (n_a5Hbe :: Maybe a_akKM)} -> SLast ('Last n_a5Hbe)
type family GetDual (a_a3wnC :: Dual (a_akK3 :: Type)) :: a_akK3
type family GetAll (a_a3wnQ :: All) :: Bool
type family GetAny (a_a3wo4 :: Any) :: Bool
type family GetSum (a_a3won :: Sum (a_akJO :: Type)) :: a_akJO
type family GetProduct (a_a3woG :: Product (a_akJT :: Type)) :: a_akJT
type family GetFirst (a_a5HaM :: First (a_akKR :: Type)) :: Maybe a_akKR
type family GetLast (a_a5Hb9 :: Last (a_akKM :: Type)) :: Maybe a_akKM
type MemptySym0 = Mempty
data MappendSym0 :: forall a6989586621680363825. (~>) a6989586621680363825 ((~>) a6989586621680363825 a6989586621680363825)
data MappendSym1 (arg6989586621680363964 :: a6989586621680363825) :: (~>) a6989586621680363825 a6989586621680363825
type MappendSym2 (arg6989586621680363964 :: a6989586621680363825) (arg6989586621680363965 :: a6989586621680363825) = Mappend arg6989586621680363964 arg6989586621680363965
data MconcatSym0 :: forall a6989586621680363825. (~>) [a6989586621680363825] a6989586621680363825
type MconcatSym1 (arg6989586621680363968 :: [a6989586621680363825]) = Mconcat arg6989586621680363968
data DualSym0 :: forall (a6989586621679089527 :: Type). (~>) a6989586621679089527 (Dual (a6989586621679089527 :: Type))
type DualSym1 (t6989586621679849251 :: a6989586621679089527) = 'Dual t6989586621679849251
data GetDualSym0 :: forall (a6989586621679089527 :: Type). (~>) (Dual (a6989586621679089527 :: Type)) a6989586621679089527
type GetDualSym1 (a6989586621679849248 :: Dual (a6989586621679089527 :: Type)) = GetDual a6989586621679849248
data AllSym0 :: (~>) Bool All
type AllSym1 (t6989586621679849265 :: Bool) = 'All t6989586621679849265
data GetAllSym0 :: (~>) All Bool
type GetAllSym1 (a6989586621679849262 :: All) = GetAll a6989586621679849262
data AnySym0 :: (~>) Bool Any
type AnySym1 (t6989586621679849279 :: Bool) = 'Any t6989586621679849279
data GetAnySym0 :: (~>) Any Bool
type GetAnySym1 (a6989586621679849276 :: Any) = GetAny a6989586621679849276
data SumSym0 :: forall (a6989586621679089512 :: Type). (~>) a6989586621679089512 (Sum (a6989586621679089512 :: Type))
type SumSym1 (t6989586621679849298 :: a6989586621679089512) = 'Sum t6989586621679849298
data GetSumSym0 :: forall (a6989586621679089512 :: Type). (~>) (Sum (a6989586621679089512 :: Type)) a6989586621679089512
type GetSumSym1 (a6989586621679849295 :: Sum (a6989586621679089512 :: Type)) = GetSum a6989586621679849295
data ProductSym0 :: forall (a6989586621679089517 :: Type). (~>) a6989586621679089517 (Product (a6989586621679089517 :: Type))
type ProductSym1 (t6989586621679849317 :: a6989586621679089517) = 'Product t6989586621679849317
data GetProductSym0 :: forall (a6989586621679089517 :: Type). (~>) (Product (a6989586621679089517 :: Type)) a6989586621679089517
type GetProductSym1 (a6989586621679849314 :: Product (a6989586621679089517 :: Type)) = GetProduct a6989586621679849314
data FirstSym0 :: forall (a6989586621679089577 :: Type). (~>) (Maybe a6989586621679089577) (First (a6989586621679089577 :: Type))
type FirstSym1 (t6989586621680367395 :: Maybe a6989586621679089577) = 'First t6989586621680367395
data GetFirstSym0 :: forall (a6989586621679089577 :: Type). (~>) (First (a6989586621679089577 :: Type)) (Maybe a6989586621679089577)
type GetFirstSym1 (a6989586621680367392 :: First (a6989586621679089577 :: Type)) = GetFirst a6989586621680367392
data LastSym0 :: forall (a6989586621679089572 :: Type). (~>) (Maybe a6989586621679089572) (Last (a6989586621679089572 :: Type))
type LastSym1 (t6989586621680367418 :: Maybe a6989586621679089572) = 'Last t6989586621680367418
data GetLastSym0 :: forall (a6989586621679089572 :: Type). (~>) (Last (a6989586621679089572 :: Type)) (Maybe a6989586621679089572)
type GetLastSym1 (a6989586621680367415 :: Last (a6989586621679089572 :: Type)) = GetLast a6989586621680367415
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Monoid.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680373672Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Monoid.Last a)
instance forall a6989586621680373368 (a6989586621680373670 :: Data.Monoid.Last a6989586621680373368). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680373672Sym1 a6989586621680373670)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680373680BSym0
instance Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Monoid.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680373645Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Monoid.Last
instance forall a6989586621679569953 b6989586621679569954 (a6989586621680373643 :: Data.Monoid.Last a6989586621679569953). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680373645Sym1 a6989586621680373643)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Lambda_6989586621680373653Sym0
instance Data.Singletons.Prelude.Monad.Internal.SMonad Data.Monoid.Last
instance forall k k1 a (a6989586621680373651 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680373653Sym1 a6989586621680373651)
instance forall k k1 a (k6989586621680373652 :: k) (a6989586621680373651 :: k1 Data.Singletons.Internal.~> Data.Monoid.Last a). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680373653Sym2 k6989586621680373652 a6989586621680373651)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680373656Scrutinee_6989586621680373379Sym0
instance forall k1 k2 k3 (x6989586621680373655 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680373656Scrutinee_6989586621680373379Sym1 x6989586621680373655)
instance forall k1 k2 k3 (a6989586621680373651 :: k1) (x6989586621680373655 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680373656Scrutinee_6989586621680373379Sym2 a6989586621680373651 x6989586621680373655)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680373633Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Monoid.Last
instance forall a6989586621679569926 b6989586621679569927 (a6989586621680373631 :: a6989586621679569926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680373633Sym1 a6989586621680373631)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Fmap_6989586621680373621Sym0
instance forall a6989586621679569924 b6989586621679569925 (a6989586621680373619 :: a6989586621679569924 Data.Singletons.Internal.~> b6989586621679569925). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Fmap_6989586621680373621Sym1 a6989586621680373619)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680373609Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Monoid.Last
instance forall a6989586621679569930 b6989586621679569931 (a6989586621680373607 :: Data.Monoid.Last (a6989586621679569930 Data.Singletons.Internal.~> b6989586621679569931)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680373609Sym1 a6989586621680373607)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Pure_6989586621680373599Sym0
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Monoid.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680373584Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Monoid.First a)
instance forall a6989586621680373358 (a6989586621680373582 :: Data.Monoid.First a6989586621680373358). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680373584Sym1 a6989586621680373582)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680373592ASym0
instance Data.Singletons.Prelude.Semigroup.Internal.SSemigroup (Data.Monoid.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680373557Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Monoid.First
instance forall a6989586621679569953 b6989586621679569954 (a6989586621680373555 :: Data.Monoid.First a6989586621679569953). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680373557Sym1 a6989586621680373555)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Lambda_6989586621680373565Sym0
instance Data.Singletons.Prelude.Monad.Internal.SMonad Data.Monoid.First
instance forall k k1 a (a6989586621680373563 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680373565Sym1 a6989586621680373563)
instance forall k k1 a (k6989586621680373564 :: k) (a6989586621680373563 :: k1 Data.Singletons.Internal.~> Data.Monoid.First a). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Lambda_6989586621680373565Sym2 k6989586621680373564 a6989586621680373563)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Let6989586621680373568Scrutinee_6989586621680373372Sym0
instance forall k1 k2 k3 (x6989586621680373567 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680373568Scrutinee_6989586621680373372Sym1 x6989586621680373567)
instance forall k1 k2 k3 (a6989586621680373563 :: k1) (x6989586621680373567 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Let6989586621680373568Scrutinee_6989586621680373372Sym2 a6989586621680373563 x6989586621680373567)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680373545Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Monoid.First
instance forall a6989586621679569926 b6989586621679569927 (a6989586621680373543 :: a6989586621679569926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680373545Sym1 a6989586621680373543)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Fmap_6989586621680373533Sym0
instance forall a6989586621679569924 b6989586621679569925 (a6989586621680373531 :: a6989586621679569924 Data.Singletons.Internal.~> b6989586621679569925). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Fmap_6989586621680373533Sym1 a6989586621680373531)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.TFHelper_6989586621680373521Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Monoid.First
instance forall a6989586621679569930 b6989586621679569931 (a6989586621680373519 :: Data.Monoid.First (a6989586621679569930 Data.Singletons.Internal.~> b6989586621679569931)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.TFHelper_6989586621680373521Sym1 a6989586621680373519)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Pure_6989586621680373511Sym0
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_6989586621680370459Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Monoid.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680370459Sym1 a6989586621680370456)
instance forall a6989586621679089572 (a6989586621680370457 :: GHC.Types.Nat) (a6989586621680370456 :: Data.Monoid.Last a6989586621679089572). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680370459Sym2 a6989586621680370457 a6989586621680370456)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680370428Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Monoid.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680370428Sym1 a6989586621680370425)
instance forall a6989586621679089577 (a6989586621680370426 :: GHC.Types.Nat) (a6989586621680370425 :: Data.Monoid.First a6989586621679089577). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.ShowsPrec_6989586621680370428Sym2 a6989586621680370426 a6989586621680370425)
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_6989586621680369153Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Monoid.Last a)
instance forall a6989586621679089572 (a6989586621680369151 :: Data.Monoid.Last a6989586621679089572). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Compare_6989586621680369153Sym1 a6989586621680369151)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Compare_6989586621680369132Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Monoid.First a)
instance forall a6989586621679089577 (a6989586621680369130 :: Data.Monoid.First a6989586621679089577). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Compare_6989586621680369132Sym1 a6989586621680369130)
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_6989586621680364027Sym0
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_6989586621680364016Sym0
instance Data.Singletons.Prelude.Monoid.PMonoid [a]
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.MconcatSym0
instance forall a6989586621680363825 (arg6989586621680363964 :: a6989586621680363825). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.MappendSym1 arg6989586621680363964)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.MappendSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Mconcat_6989586621680363987Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monoid.Mappend_6989586621680363972Sym0
instance forall a6989586621680363825 (a6989586621680363970 :: a6989586621680363825). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monoid.Mappend_6989586621680363972Sym1 a6989586621680363970)


-- | 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_aljm b_aljn. Either a_aljm b_aljn -> Type
[SLeft] :: forall a_aljm (n_a1hdy :: a_aljm). () => Sing (n_a1hdy :: a_aljm) -> SEither ('Left n_a1hdy)
[SRight] :: forall b_aljn (n_a1hdA :: b_aljn). () => Sing (n_a1hdA :: b_aljn) -> SEither ('Right n_a1hdA)
either_ :: (a_a67DR -> c_a67DS) -> (b_a67DT -> c_a67DS) -> Either a_a67DR b_a67DT -> c_a67DS
type family Either_ (a_a67Er :: (~>) a_a67DR c_a67DS) (a_a67Es :: (~>) b_a67DT c_a67DS) (a_a67Et :: Either a_a67DR b_a67DT) :: c_a67DS
sEither_ :: forall a_a67DR c_a67DS b_a67DT (t_a67EB :: (~>) a_a67DR c_a67DS) (t_a67EC :: (~>) b_a67DT c_a67DS) (t_a67ED :: Either a_a67DR b_a67DT). Sing t_a67EB -> Sing t_a67EC -> Sing t_a67ED -> Sing (Apply (Apply (Apply Either_Sym0 t_a67EB) t_a67EC) t_a67ED :: c_a67DS)
type family Lefts (a_a6869 :: [Either a_a681L b_a681M]) :: [a_a681L]
sLefts :: forall a_a681L b_a681M (t_a686m :: [Either a_a681L b_a681M]). Sing t_a686m -> Sing (Apply LeftsSym0 t_a686m :: [a_a681L])
type family Rights (a_a6864 :: [Either a_a681J b_a681K]) :: [b_a681K]
sRights :: forall a_a681J b_a681K (t_a686k :: [Either a_a681J b_a681K]). Sing t_a686k -> Sing (Apply RightsSym0 t_a686k :: [b_a681K])
type family PartitionEithers (a_a685K :: [Either a_a681H b_a681I]) :: ([a_a681H], [b_a681I])
sPartitionEithers :: forall a_a681H b_a681I (t_a686i :: [Either a_a681H b_a681I]). Sing t_a686i -> Sing (Apply PartitionEithersSym0 t_a686i :: ([a_a681H], [b_a681I]))
type family IsLeft (a_a685G :: Either a_a681F b_a681G) :: Bool
sIsLeft :: forall a_a681F b_a681G (t_a686g :: Either a_a681F b_a681G). Sing t_a686g -> Sing (Apply IsLeftSym0 t_a686g :: Bool)
type family IsRight (a_a685E :: Either a_a681D b_a681E) :: Bool
sIsRight :: forall a_a681D b_a681E (t_a686e :: Either a_a681D b_a681E). Sing t_a686e -> Sing (Apply IsRightSym0 t_a686e :: Bool)
data LeftSym0 :: forall (a6989586621679091716 :: Type) (b6989586621679091717 :: Type). (~>) a6989586621679091716 (Either (a6989586621679091716 :: Type) (b6989586621679091717 :: Type))
type LeftSym1 (t6989586621679314304 :: a6989586621679091716) = 'Left t6989586621679314304
data RightSym0 :: forall (b6989586621679091717 :: Type) (a6989586621679091716 :: Type). (~>) b6989586621679091717 (Either (a6989586621679091716 :: Type) (b6989586621679091717 :: Type))
type RightSym1 (t6989586621679314306 :: b6989586621679091717) = 'Right t6989586621679314306
data Either_Sym0 :: forall a6989586621680469139 c6989586621680469140 b6989586621680469141. (~>) ((~>) a6989586621680469139 c6989586621680469140) ((~>) ((~>) b6989586621680469141 c6989586621680469140) ((~>) (Either a6989586621680469139 b6989586621680469141) c6989586621680469140))
data Either_Sym1 (a6989586621680469175 :: (~>) a6989586621680469139 c6989586621680469140) :: forall b6989586621680469141. (~>) ((~>) b6989586621680469141 c6989586621680469140) ((~>) (Either a6989586621680469139 b6989586621680469141) c6989586621680469140)
data Either_Sym2 (a6989586621680469175 :: (~>) a6989586621680469139 c6989586621680469140) (a6989586621680469176 :: (~>) b6989586621680469141 c6989586621680469140) :: (~>) (Either a6989586621680469139 b6989586621680469141) c6989586621680469140
type Either_Sym3 (a6989586621680469175 :: (~>) a6989586621680469139 c6989586621680469140) (a6989586621680469176 :: (~>) b6989586621680469141 c6989586621680469140) (a6989586621680469177 :: Either a6989586621680469139 b6989586621680469141) = Either_ a6989586621680469175 a6989586621680469176 a6989586621680469177
data LeftsSym0 :: forall a6989586621680470621 b6989586621680470622. (~>) [Either a6989586621680470621 b6989586621680470622] [a6989586621680470621]
type LeftsSym1 (a6989586621680470893 :: [Either a6989586621680470621 b6989586621680470622]) = Lefts a6989586621680470893
data RightsSym0 :: forall a6989586621680470619 b6989586621680470620. (~>) [Either a6989586621680470619 b6989586621680470620] [b6989586621680470620]
type RightsSym1 (a6989586621680470888 :: [Either a6989586621680470619 b6989586621680470620]) = Rights a6989586621680470888
data IsLeftSym0 :: forall a6989586621680470615 b6989586621680470616. (~>) (Either a6989586621680470615 b6989586621680470616) Bool
type IsLeftSym1 (a6989586621680470864 :: Either a6989586621680470615 b6989586621680470616) = IsLeft a6989586621680470864
data IsRightSym0 :: forall a6989586621680470613 b6989586621680470614. (~>) (Either a6989586621680470613 b6989586621680470614) Bool
type IsRightSym1 (a6989586621680470862 :: Either a6989586621680470613 b6989586621680470614) = IsRight a6989586621680470862
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.Let6989586621680470871LeftSym0
instance forall k k2 k3 (a_69895866216804708666989586621680470870 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680470871LeftSym1 a_69895866216804708666989586621680470870)
instance forall k k2 k3 (a6989586621680470880 :: k) (a_69895866216804708666989586621680470870 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680470871LeftSym2 a6989586621680470880 a_69895866216804708666989586621680470870)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Let6989586621680470871RightSym0
instance forall k k2 k3 (a_69895866216804708666989586621680470870 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680470871RightSym1 a_69895866216804708666989586621680470870)
instance forall k k2 k3 (a6989586621680470872 :: k) (a_69895866216804708666989586621680470870 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Let6989586621680470871RightSym2 a6989586621680470872 a_69895866216804708666989586621680470870)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Either.Either_Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Either.Either_Sym0
instance forall a6989586621680469139 c6989586621680469140 b6989586621680469141 (a6989586621680469175 :: a6989586621680469139 Data.Singletons.Internal.~> c6989586621680469140). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Either_Sym1 a6989586621680469175)
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 a6989586621680469139 c6989586621680469140 b6989586621680469141 (a6989586621680469176 :: a6989586621680469139 Data.Singletons.Internal.~> c6989586621680469140) (a6989586621680469175 :: b6989586621680469141 Data.Singletons.Internal.~> c6989586621680469140). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Either.Either_Sym2 a6989586621680469176 a6989586621680469175)
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_a6cXY :: Type -> Type) where {
    type family Fold (arg_a6d7X :: t_a6cXY m_a6cXZ) :: m_a6cXZ;
    type family FoldMap (arg_a6d7Z :: (~>) a_a6cY1 m_a6cY0) (arg_a6d80 :: t_a6cXY a_a6cY1) :: m_a6cY0;
    type family Foldr (arg_a6d83 :: (~>) a_a6cY2 ((~>) b_a6cY3 b_a6cY3)) (arg_a6d84 :: b_a6cY3) (arg_a6d85 :: t_a6cXY a_a6cY2) :: b_a6cY3;
    type family Foldr' (arg_a6d89 :: (~>) a_a6cY4 ((~>) b_a6cY5 b_a6cY5)) (arg_a6d8a :: b_a6cY5) (arg_a6d8b :: t_a6cXY a_a6cY4) :: b_a6cY5;
    type family Foldl (arg_a6d8f :: (~>) b_a6cY6 ((~>) a_a6cY7 b_a6cY6)) (arg_a6d8g :: b_a6cY6) (arg_a6d8h :: t_a6cXY a_a6cY7) :: b_a6cY6;
    type family Foldl' (arg_a6d8l :: (~>) b_a6cY8 ((~>) a_a6cY9 b_a6cY8)) (arg_a6d8m :: b_a6cY8) (arg_a6d8n :: t_a6cXY a_a6cY9) :: b_a6cY8;
    type family Foldr1 (arg_a6d8r :: (~>) a_a6cYa ((~>) a_a6cYa a_a6cYa)) (arg_a6d8s :: t_a6cXY a_a6cYa) :: a_a6cYa;
    type family Foldl1 (arg_a6d8v :: (~>) a_a6cYb ((~>) a_a6cYb a_a6cYb)) (arg_a6d8w :: t_a6cXY a_a6cYb) :: a_a6cYb;
    type family ToList (arg_a6d8z :: t_a6cXY a_a6cYc) :: [a_a6cYc];
    type family Null (arg_a6d8B :: t_a6cXY a_a6cYd) :: Bool;
    type family Length (arg_a6d8D :: t_a6cXY a_a6cYe) :: Nat;
    type family Elem (arg_a6d8F :: a_a6cYf) (arg_a6d8G :: t_a6cXY a_a6cYf) :: Bool;
    type family Maximum (arg_a6d8J :: t_a6cXY a_a6cYg) :: a_a6cYg;
    type family Minimum (arg_a6d8L :: t_a6cXY a_a6cYh) :: a_a6cYh;
    type family Sum (arg_a6d8N :: t_a6cXY a_a6cYi) :: a_a6cYi;
    type family Product (arg_a6d8P :: t_a6cXY a_a6cYj) :: a_a6cYj;
    type Fold a_a6d8R = Apply Fold_6989586621680490282Sym0 a_a6d8R;
    type FoldMap a_a6d90 a_a6d91 = Apply (Apply FoldMap_6989586621680490292Sym0 a_a6d90) a_a6d91;
    type Foldr a_a6d9e a_a6d9f a_a6d9g = Apply (Apply (Apply Foldr_6989586621680490307Sym0 a_a6d9e) a_a6d9f) a_a6d9g;
    type Foldr' a_a6d9D a_a6d9E a_a6d9F = Apply (Apply (Apply Foldr'_6989586621680490332Sym0 a_a6d9D) a_a6d9E) a_a6d9F;
    type Foldl a_a6da7 a_a6da8 a_a6da9 = Apply (Apply (Apply Foldl_6989586621680490362Sym0 a_a6da7) a_a6da8) a_a6da9;
    type Foldl' a_a6daw a_a6dax a_a6day = Apply (Apply (Apply Foldl'_6989586621680490387Sym0 a_a6daw) a_a6dax) a_a6day;
    type Foldr1 a_a6db0 a_a6db1 = Apply (Apply Foldr1_6989586621680490416Sym0 a_a6db0) a_a6db1;
    type Foldl1 a_a6dbp a_a6dbq = Apply (Apply Foldl1_6989586621680490441Sym0 a_a6dbp) a_a6dbq;
    type ToList a_a6dbO = Apply ToList_6989586621680490465Sym0 a_a6dbO;
    type Null a_a6dbX = Apply Null_6989586621680490474Sym0 a_a6dbX;
    type Length a_a6dci = Apply Length_6989586621680490495Sym0 a_a6dci;
    type Elem a_a6dcE a_a6dcF = Apply (Apply Elem_6989586621680490518Sym0 a_a6dcE) a_a6dcF;
    type Maximum a_a6dcU = Apply Maximum_6989586621680490533Sym0 a_a6dcU;
    type Minimum a_a6dd7 = Apply Minimum_6989586621680490546Sym0 a_a6dd7;
    type Sum a_a6ddk = Apply Sum_6989586621680490559Sym0 a_a6ddk;
    type Product a_a6ddx = Apply Product_6989586621680490572Sym0 a_a6ddx;
}
class SFoldable (t_a6cXY :: Type -> Type)
sFold :: forall m_a6cXZ (t_a6dtP :: t_a6cXY m_a6cXZ). (SFoldable t_a6cXY, SMonoid m_a6cXZ) => Sing t_a6dtP -> Sing (Apply FoldSym0 t_a6dtP :: m_a6cXZ)
sFoldMap :: forall a_a6cY1 m_a6cY0 (t_a6dtR :: (~>) a_a6cY1 m_a6cY0) (t_a6dtS :: t_a6cXY a_a6cY1). (SFoldable t_a6cXY, SMonoid m_a6cY0) => Sing t_a6dtR -> Sing t_a6dtS -> Sing (Apply (Apply FoldMapSym0 t_a6dtR) t_a6dtS :: m_a6cY0)
sFoldr :: forall a_a6cY2 b_a6cY3 (t_a6dtV :: (~>) a_a6cY2 ((~>) b_a6cY3 b_a6cY3)) (t_a6dtW :: b_a6cY3) (t_a6dtX :: t_a6cXY a_a6cY2). SFoldable t_a6cXY => Sing t_a6dtV -> Sing t_a6dtW -> Sing t_a6dtX -> Sing (Apply (Apply (Apply FoldrSym0 t_a6dtV) t_a6dtW) t_a6dtX :: b_a6cY3)
sFoldr' :: forall a_a6cY4 b_a6cY5 (t_a6du1 :: (~>) a_a6cY4 ((~>) b_a6cY5 b_a6cY5)) (t_a6du2 :: b_a6cY5) (t_a6du3 :: t_a6cXY a_a6cY4). SFoldable t_a6cXY => Sing t_a6du1 -> Sing t_a6du2 -> Sing t_a6du3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a6du1) t_a6du2) t_a6du3 :: b_a6cY5)
sFoldl :: forall b_a6cY6 a_a6cY7 (t_a6du7 :: (~>) b_a6cY6 ((~>) a_a6cY7 b_a6cY6)) (t_a6du8 :: b_a6cY6) (t_a6du9 :: t_a6cXY a_a6cY7). SFoldable t_a6cXY => Sing t_a6du7 -> Sing t_a6du8 -> Sing t_a6du9 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6du7) t_a6du8) t_a6du9 :: b_a6cY6)
sFoldl' :: forall b_a6cY8 a_a6cY9 (t_a6dud :: (~>) b_a6cY8 ((~>) a_a6cY9 b_a6cY8)) (t_a6due :: b_a6cY8) (t_a6duf :: t_a6cXY a_a6cY9). SFoldable t_a6cXY => Sing t_a6dud -> Sing t_a6due -> Sing t_a6duf -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6dud) t_a6due) t_a6duf :: b_a6cY8)
sFoldr1 :: forall a_a6cYa (t_a6duj :: (~>) a_a6cYa ((~>) a_a6cYa a_a6cYa)) (t_a6duk :: t_a6cXY a_a6cYa). SFoldable t_a6cXY => Sing t_a6duj -> Sing t_a6duk -> Sing (Apply (Apply Foldr1Sym0 t_a6duj) t_a6duk :: a_a6cYa)
sFoldl1 :: forall a_a6cYb (t_a6dun :: (~>) a_a6cYb ((~>) a_a6cYb a_a6cYb)) (t_a6duo :: t_a6cXY a_a6cYb). SFoldable t_a6cXY => Sing t_a6dun -> Sing t_a6duo -> Sing (Apply (Apply Foldl1Sym0 t_a6dun) t_a6duo :: a_a6cYb)
sToList :: forall a_a6cYc (t_a6dur :: t_a6cXY a_a6cYc). SFoldable t_a6cXY => Sing t_a6dur -> Sing (Apply ToListSym0 t_a6dur :: [a_a6cYc])
sNull :: forall a_a6cYd (t_a6dut :: t_a6cXY a_a6cYd). SFoldable t_a6cXY => Sing t_a6dut -> Sing (Apply NullSym0 t_a6dut :: Bool)
sLength :: forall a_a6cYe (t_a6duv :: t_a6cXY a_a6cYe). SFoldable t_a6cXY => Sing t_a6duv -> Sing (Apply LengthSym0 t_a6duv :: Nat)
sElem :: forall a_a6cYf (t_a6dux :: a_a6cYf) (t_a6duy :: t_a6cXY a_a6cYf). (SFoldable t_a6cXY, SEq a_a6cYf) => Sing t_a6dux -> Sing t_a6duy -> Sing (Apply (Apply ElemSym0 t_a6dux) t_a6duy :: Bool)
sMaximum :: forall a_a6cYg (t_a6duB :: t_a6cXY a_a6cYg). (SFoldable t_a6cXY, SOrd a_a6cYg) => Sing t_a6duB -> Sing (Apply MaximumSym0 t_a6duB :: a_a6cYg)
sMinimum :: forall a_a6cYh (t_a6duD :: t_a6cXY a_a6cYh). (SFoldable t_a6cXY, SOrd a_a6cYh) => Sing t_a6duD -> Sing (Apply MinimumSym0 t_a6duD :: a_a6cYh)
sSum :: forall a_a6cYi (t_a6duF :: t_a6cXY a_a6cYi). (SFoldable t_a6cXY, SNum a_a6cYi) => Sing t_a6duF -> Sing (Apply SumSym0 t_a6duF :: a_a6cYi)
sProduct :: forall a_a6cYj (t_a6duH :: t_a6cXY a_a6cYj). (SFoldable t_a6cXY, SNum a_a6cYj) => Sing t_a6duH -> Sing (Apply ProductSym0 t_a6duH :: a_a6cYj)
sFold :: forall m_a6cXZ (t_a6dtP :: t_a6cXY m_a6cXZ). (SFoldable t_a6cXY, (Apply FoldSym0 t_a6dtP :: m_a6cXZ) ~ Apply Fold_6989586621680490282Sym0 t_a6dtP, SMonoid m_a6cXZ) => Sing t_a6dtP -> Sing (Apply FoldSym0 t_a6dtP :: m_a6cXZ)
sFoldMap :: forall a_a6cY1 m_a6cY0 (t_a6dtR :: (~>) a_a6cY1 m_a6cY0) (t_a6dtS :: t_a6cXY a_a6cY1). (SFoldable t_a6cXY, (Apply (Apply FoldMapSym0 t_a6dtR) t_a6dtS :: m_a6cY0) ~ Apply (Apply FoldMap_6989586621680490292Sym0 t_a6dtR) t_a6dtS, SMonoid m_a6cY0) => Sing t_a6dtR -> Sing t_a6dtS -> Sing (Apply (Apply FoldMapSym0 t_a6dtR) t_a6dtS :: m_a6cY0)
sFoldr :: forall a_a6cY2 b_a6cY3 (t_a6dtV :: (~>) a_a6cY2 ((~>) b_a6cY3 b_a6cY3)) (t_a6dtW :: b_a6cY3) (t_a6dtX :: t_a6cXY a_a6cY2). (SFoldable t_a6cXY, (Apply (Apply (Apply FoldrSym0 t_a6dtV) t_a6dtW) t_a6dtX :: b_a6cY3) ~ Apply (Apply (Apply Foldr_6989586621680490307Sym0 t_a6dtV) t_a6dtW) t_a6dtX) => Sing t_a6dtV -> Sing t_a6dtW -> Sing t_a6dtX -> Sing (Apply (Apply (Apply FoldrSym0 t_a6dtV) t_a6dtW) t_a6dtX :: b_a6cY3)
sFoldr' :: forall a_a6cY4 b_a6cY5 (t_a6du1 :: (~>) a_a6cY4 ((~>) b_a6cY5 b_a6cY5)) (t_a6du2 :: b_a6cY5) (t_a6du3 :: t_a6cXY a_a6cY4). (SFoldable t_a6cXY, (Apply (Apply (Apply Foldr'Sym0 t_a6du1) t_a6du2) t_a6du3 :: b_a6cY5) ~ Apply (Apply (Apply Foldr'_6989586621680490332Sym0 t_a6du1) t_a6du2) t_a6du3) => Sing t_a6du1 -> Sing t_a6du2 -> Sing t_a6du3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a6du1) t_a6du2) t_a6du3 :: b_a6cY5)
sFoldl :: forall b_a6cY6 a_a6cY7 (t_a6du7 :: (~>) b_a6cY6 ((~>) a_a6cY7 b_a6cY6)) (t_a6du8 :: b_a6cY6) (t_a6du9 :: t_a6cXY a_a6cY7). (SFoldable t_a6cXY, (Apply (Apply (Apply FoldlSym0 t_a6du7) t_a6du8) t_a6du9 :: b_a6cY6) ~ Apply (Apply (Apply Foldl_6989586621680490362Sym0 t_a6du7) t_a6du8) t_a6du9) => Sing t_a6du7 -> Sing t_a6du8 -> Sing t_a6du9 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6du7) t_a6du8) t_a6du9 :: b_a6cY6)
sFoldl' :: forall b_a6cY8 a_a6cY9 (t_a6dud :: (~>) b_a6cY8 ((~>) a_a6cY9 b_a6cY8)) (t_a6due :: b_a6cY8) (t_a6duf :: t_a6cXY a_a6cY9). (SFoldable t_a6cXY, (Apply (Apply (Apply Foldl'Sym0 t_a6dud) t_a6due) t_a6duf :: b_a6cY8) ~ Apply (Apply (Apply Foldl'_6989586621680490387Sym0 t_a6dud) t_a6due) t_a6duf) => Sing t_a6dud -> Sing t_a6due -> Sing t_a6duf -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6dud) t_a6due) t_a6duf :: b_a6cY8)
sFoldr1 :: forall a_a6cYa (t_a6duj :: (~>) a_a6cYa ((~>) a_a6cYa a_a6cYa)) (t_a6duk :: t_a6cXY a_a6cYa). (SFoldable t_a6cXY, (Apply (Apply Foldr1Sym0 t_a6duj) t_a6duk :: a_a6cYa) ~ Apply (Apply Foldr1_6989586621680490416Sym0 t_a6duj) t_a6duk) => Sing t_a6duj -> Sing t_a6duk -> Sing (Apply (Apply Foldr1Sym0 t_a6duj) t_a6duk :: a_a6cYa)
sFoldl1 :: forall a_a6cYb (t_a6dun :: (~>) a_a6cYb ((~>) a_a6cYb a_a6cYb)) (t_a6duo :: t_a6cXY a_a6cYb). (SFoldable t_a6cXY, (Apply (Apply Foldl1Sym0 t_a6dun) t_a6duo :: a_a6cYb) ~ Apply (Apply Foldl1_6989586621680490441Sym0 t_a6dun) t_a6duo) => Sing t_a6dun -> Sing t_a6duo -> Sing (Apply (Apply Foldl1Sym0 t_a6dun) t_a6duo :: a_a6cYb)
sToList :: forall a_a6cYc (t_a6dur :: t_a6cXY a_a6cYc). (SFoldable t_a6cXY, (Apply ToListSym0 t_a6dur :: [a_a6cYc]) ~ Apply ToList_6989586621680490465Sym0 t_a6dur) => Sing t_a6dur -> Sing (Apply ToListSym0 t_a6dur :: [a_a6cYc])
sNull :: forall a_a6cYd (t_a6dut :: t_a6cXY a_a6cYd). (SFoldable t_a6cXY, (Apply NullSym0 t_a6dut :: Bool) ~ Apply Null_6989586621680490474Sym0 t_a6dut) => Sing t_a6dut -> Sing (Apply NullSym0 t_a6dut :: Bool)
sLength :: forall a_a6cYe (t_a6duv :: t_a6cXY a_a6cYe). (SFoldable t_a6cXY, (Apply LengthSym0 t_a6duv :: Nat) ~ Apply Length_6989586621680490495Sym0 t_a6duv) => Sing t_a6duv -> Sing (Apply LengthSym0 t_a6duv :: Nat)
sElem :: forall a_a6cYf (t_a6dux :: a_a6cYf) (t_a6duy :: t_a6cXY a_a6cYf). (SFoldable t_a6cXY, (Apply (Apply ElemSym0 t_a6dux) t_a6duy :: Bool) ~ Apply (Apply Elem_6989586621680490518Sym0 t_a6dux) t_a6duy, SEq a_a6cYf) => Sing t_a6dux -> Sing t_a6duy -> Sing (Apply (Apply ElemSym0 t_a6dux) t_a6duy :: Bool)
sMaximum :: forall a_a6cYg (t_a6duB :: t_a6cXY a_a6cYg). (SFoldable t_a6cXY, (Apply MaximumSym0 t_a6duB :: a_a6cYg) ~ Apply Maximum_6989586621680490533Sym0 t_a6duB, SOrd a_a6cYg) => Sing t_a6duB -> Sing (Apply MaximumSym0 t_a6duB :: a_a6cYg)
sMinimum :: forall a_a6cYh (t_a6duD :: t_a6cXY a_a6cYh). (SFoldable t_a6cXY, (Apply MinimumSym0 t_a6duD :: a_a6cYh) ~ Apply Minimum_6989586621680490546Sym0 t_a6duD, SOrd a_a6cYh) => Sing t_a6duD -> Sing (Apply MinimumSym0 t_a6duD :: a_a6cYh)
sSum :: forall a_a6cYi (t_a6duF :: t_a6cXY a_a6cYi). (SFoldable t_a6cXY, (Apply SumSym0 t_a6duF :: a_a6cYi) ~ Apply Sum_6989586621680490559Sym0 t_a6duF, SNum a_a6cYi) => Sing t_a6duF -> Sing (Apply SumSym0 t_a6duF :: a_a6cYi)
sProduct :: forall a_a6cYj (t_a6duH :: t_a6cXY a_a6cYj). (SFoldable t_a6cXY, (Apply ProductSym0 t_a6duH :: a_a6cYj) ~ Apply Product_6989586621680490572Sym0 t_a6duH, SNum a_a6cYj) => Sing t_a6duH -> Sing (Apply ProductSym0 t_a6duH :: a_a6cYj)
type family FoldrM (a_a6d7B :: (~>) a_a6cXl ((~>) b_a6cXm (m_a6cXk b_a6cXm))) (a_a6d7C :: b_a6cXm) (a_a6d7D :: t_a6cXj a_a6cXl) :: m_a6cXk b_a6cXm
sFoldrM :: forall a_a6cXl b_a6cXm m_a6cXk t_a6cXj (t_a6dt4 :: (~>) a_a6cXl ((~>) b_a6cXm (m_a6cXk b_a6cXm))) (t_a6dt5 :: b_a6cXm) (t_a6dt6 :: t_a6cXj a_a6cXl). (SFoldable t_a6cXj, SMonad m_a6cXk) => Sing t_a6dt4 -> Sing t_a6dt5 -> Sing t_a6dt6 -> Sing (Apply (Apply (Apply FoldrMSym0 t_a6dt4) t_a6dt5) t_a6dt6 :: m_a6cXk b_a6cXm)
type family FoldlM (a_a6d7f :: (~>) b_a6cXh ((~>) a_a6cXi (m_a6cXg b_a6cXh))) (a_a6d7g :: b_a6cXh) (a_a6d7h :: t_a6cXf a_a6cXi) :: m_a6cXg b_a6cXh
sFoldlM :: forall b_a6cXh a_a6cXi m_a6cXg t_a6cXf (t_a6dsY :: (~>) b_a6cXh ((~>) a_a6cXi (m_a6cXg b_a6cXh))) (t_a6dsZ :: b_a6cXh) (t_a6dt0 :: t_a6cXf a_a6cXi). (SFoldable t_a6cXf, SMonad m_a6cXg) => Sing t_a6dsY -> Sing t_a6dsZ -> Sing t_a6dt0 -> Sing (Apply (Apply (Apply FoldlMSym0 t_a6dsY) t_a6dsZ) t_a6dt0 :: m_a6cXg b_a6cXh)
type family Traverse_ (a_a6d77 :: (~>) a_a6cXd (f_a6cXc b_a6cXe)) (a_a6d78 :: t_a6cXb a_a6cXd) :: f_a6cXc ()
sTraverse_ :: forall a_a6cXd f_a6cXc b_a6cXe t_a6cXb (t_a6dsU :: (~>) a_a6cXd (f_a6cXc b_a6cXe)) (t_a6dsV :: t_a6cXb a_a6cXd). (SFoldable t_a6cXb, SApplicative f_a6cXc) => Sing t_a6dsU -> Sing t_a6dsV -> Sing (Apply (Apply Traverse_Sym0 t_a6dsU) t_a6dsV :: f_a6cXc ())
type family For_ (a_a6d71 :: t_a6cX7 a_a6cX9) (a_a6d72 :: (~>) a_a6cX9 (f_a6cX8 b_a6cXa)) :: f_a6cX8 ()
sFor_ :: forall t_a6cX7 a_a6cX9 f_a6cX8 b_a6cXa (t_a6dsQ :: t_a6cX7 a_a6cX9) (t_a6dsR :: (~>) a_a6cX9 (f_a6cX8 b_a6cXa)). (SFoldable t_a6cX7, SApplicative f_a6cX8) => Sing t_a6dsQ -> Sing t_a6dsR -> Sing (Apply (Apply For_Sym0 t_a6dsQ) t_a6dsR :: f_a6cX8 ())
type family SequenceA_ (a_a6d6C :: t_a6cWW (f_a6cWX a_a6cWY)) :: f_a6cWX ()
sSequenceA_ :: forall t_a6cWW f_a6cWX a_a6cWY (t_a6dsG :: t_a6cWW (f_a6cWX a_a6cWY)). (SFoldable t_a6cWW, SApplicative f_a6cWX) => Sing t_a6dsG -> Sing (Apply SequenceA_Sym0 t_a6dsG :: f_a6cWX ())
type family Asum (a_a6d6s :: t_a6cWQ (f_a6cWR a_a6cWS)) :: f_a6cWR a_a6cWS
sAsum :: forall t_a6cWQ f_a6cWR a_a6cWS (t_a6dsC :: t_a6cWQ (f_a6cWR a_a6cWS)). (SFoldable t_a6cWQ, SAlternative f_a6cWR) => Sing t_a6dsC -> Sing (Apply AsumSym0 t_a6dsC :: f_a6cWR a_a6cWS)
type family MapM_ (a_a6d6P :: (~>) a_a6cX5 (m_a6cX4 b_a6cX6)) (a_a6d6Q :: t_a6cX3 a_a6cX5) :: m_a6cX4 ()
sMapM_ :: forall a_a6cX5 m_a6cX4 b_a6cX6 t_a6cX3 (t_a6dsM :: (~>) a_a6cX5 (m_a6cX4 b_a6cX6)) (t_a6dsN :: t_a6cX3 a_a6cX5). (SFoldable t_a6cX3, SMonad m_a6cX4) => Sing t_a6dsM -> Sing t_a6dsN -> Sing (Apply (Apply MapM_Sym0 t_a6dsM) t_a6dsN :: m_a6cX4 ())
type family ForM_ (a_a6d6J :: t_a6cWZ a_a6cX1) (a_a6d6K :: (~>) a_a6cX1 (m_a6cX0 b_a6cX2)) :: m_a6cX0 ()
sForM_ :: forall t_a6cWZ a_a6cX1 m_a6cX0 b_a6cX2 (t_a6dsI :: t_a6cWZ a_a6cX1) (t_a6dsJ :: (~>) a_a6cX1 (m_a6cX0 b_a6cX2)). (SFoldable t_a6cWZ, SMonad m_a6cX0) => Sing t_a6dsI -> Sing t_a6dsJ -> Sing (Apply (Apply ForM_Sym0 t_a6dsI) t_a6dsJ :: m_a6cX0 ())
type family Sequence_ (a_a6d6x :: t_a6cWT (m_a6cWU a_a6cWV)) :: m_a6cWU ()
sSequence_ :: forall t_a6cWT m_a6cWU a_a6cWV (t_a6dsE :: t_a6cWT (m_a6cWU a_a6cWV)). (SFoldable t_a6cWT, SMonad m_a6cWU) => Sing t_a6dsE -> Sing (Apply Sequence_Sym0 t_a6dsE :: m_a6cWU ())
type family Msum (a_a6d6n :: t_a6cWN (m_a6cWO a_a6cWP)) :: m_a6cWO a_a6cWP
sMsum :: forall t_a6cWN m_a6cWO a_a6cWP (t_a6dsA :: t_a6cWN (m_a6cWO a_a6cWP)). (SFoldable t_a6cWN, SMonadPlus m_a6cWO) => Sing t_a6dsA -> Sing (Apply MsumSym0 t_a6dsA :: m_a6cWO a_a6cWP)
type family Concat (a_a6d69 :: t_a6cWL [a_a6cWM]) :: [a_a6cWM]
sConcat :: forall t_a6cWL a_a6cWM (t_a6dsy :: t_a6cWL [a_a6cWM]). SFoldable t_a6cWL => Sing t_a6dsy -> Sing (Apply ConcatSym0 t_a6dsy :: [a_a6cWM])
type family ConcatMap (a_a6d5T :: (~>) a_a6cWJ [b_a6cWK]) (a_a6d5U :: t_a6cWI a_a6cWJ) :: [b_a6cWK]
sConcatMap :: forall a_a6cWJ b_a6cWK t_a6cWI (t_a6dsu :: (~>) a_a6cWJ [b_a6cWK]) (t_a6dsv :: t_a6cWI a_a6cWJ). SFoldable t_a6cWI => Sing t_a6dsu -> Sing t_a6dsv -> Sing (Apply (Apply ConcatMapSym0 t_a6dsu) t_a6dsv :: [b_a6cWK])
type family And (a_a6d5K :: t_a6cWH Bool) :: Bool
sAnd :: forall t_a6cWH (t_a6dss :: t_a6cWH Bool). SFoldable t_a6cWH => Sing t_a6dss -> Sing (Apply AndSym0 t_a6dss :: Bool)
type family Or (a_a6d5B :: t_a6cWG Bool) :: Bool
sOr :: forall t_a6cWG (t_a6dsq :: t_a6cWG Bool). SFoldable t_a6cWG => Sing t_a6dsq -> Sing (Apply OrSym0 t_a6dsq :: Bool)
type family Any (a_a6d5o :: (~>) a_a6cWF Bool) (a_a6d5p :: t_a6cWE a_a6cWF) :: Bool
sAny :: forall a_a6cWF t_a6cWE (t_a6dsm :: (~>) a_a6cWF Bool) (t_a6dsn :: t_a6cWE a_a6cWF). SFoldable t_a6cWE => Sing t_a6dsm -> Sing t_a6dsn -> Sing (Apply (Apply AnySym0 t_a6dsm) t_a6dsn :: Bool)
type family All (a_a6d5b :: (~>) a_a6cWD Bool) (a_a6d5c :: t_a6cWC a_a6cWD) :: Bool
sAll :: forall a_a6cWD t_a6cWC (t_a6dsi :: (~>) a_a6cWD Bool) (t_a6dsj :: t_a6cWC a_a6cWD). SFoldable t_a6cWC => Sing t_a6dsi -> Sing t_a6dsj -> Sing (Apply (Apply AllSym0 t_a6dsi) t_a6dsj :: Bool)
type family MaximumBy (a_a6d4M :: (~>) a_a6cWB ((~>) a_a6cWB Ordering)) (a_a6d4N :: t_a6cWA a_a6cWB) :: a_a6cWB
sMaximumBy :: forall a_a6cWB t_a6cWA (t_a6dse :: (~>) a_a6cWB ((~>) a_a6cWB Ordering)) (t_a6dsf :: t_a6cWA a_a6cWB). SFoldable t_a6cWA => Sing t_a6dse -> Sing t_a6dsf -> Sing (Apply (Apply MaximumBySym0 t_a6dse) t_a6dsf :: a_a6cWB)
type family MinimumBy (a_a6d4n :: (~>) a_a6cWz ((~>) a_a6cWz Ordering)) (a_a6d4o :: t_a6cWy a_a6cWz) :: a_a6cWz
sMinimumBy :: forall a_a6cWz t_a6cWy (t_a6dsa :: (~>) a_a6cWz ((~>) a_a6cWz Ordering)) (t_a6dsb :: t_a6cWy a_a6cWz). SFoldable t_a6cWy => Sing t_a6dsa -> Sing t_a6dsb -> Sing (Apply (Apply MinimumBySym0 t_a6dsa) t_a6dsb :: a_a6cWz)
type family NotElem (a_a6d4f :: a_a6cWx) (a_a6d4g :: t_a6cWw a_a6cWx) :: Bool
sNotElem :: forall a_a6cWx t_a6cWw (t_a6ds6 :: a_a6cWx) (t_a6ds7 :: t_a6cWw a_a6cWx). (SFoldable t_a6cWw, SEq a_a6cWx) => Sing t_a6ds6 -> Sing t_a6ds7 -> Sing (Apply (Apply NotElemSym0 t_a6ds6) t_a6ds7 :: Bool)
type family Find (a_a6d3O :: (~>) a_a6cWv Bool) (a_a6d3P :: t_a6cWu a_a6cWv) :: Maybe a_a6cWv
sFind :: forall a_a6cWv t_a6cWu (t_a6ds2 :: (~>) a_a6cWv Bool) (t_a6ds3 :: t_a6cWu a_a6cWv). SFoldable t_a6cWu => Sing t_a6ds2 -> Sing t_a6ds3 -> Sing (Apply (Apply FindSym0 t_a6ds2) t_a6ds3 :: Maybe a_a6cWv)
data FoldSym0 :: forall t6989586621680489606 m6989586621680489607. (~>) (t6989586621680489606 m6989586621680489607) m6989586621680489607
type FoldSym1 (arg6989586621680490225 :: t6989586621680489606 m6989586621680489607) = Fold arg6989586621680490225
data FoldMapSym0 :: forall a6989586621680489609 m6989586621680489608 t6989586621680489606. (~>) ((~>) a6989586621680489609 m6989586621680489608) ((~>) (t6989586621680489606 a6989586621680489609) m6989586621680489608)
data FoldMapSym1 (arg6989586621680490227 :: (~>) a6989586621680489609 m6989586621680489608) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489609) m6989586621680489608
type FoldMapSym2 (arg6989586621680490227 :: (~>) a6989586621680489609 m6989586621680489608) (arg6989586621680490228 :: t6989586621680489606 a6989586621680489609) = FoldMap arg6989586621680490227 arg6989586621680490228
data FoldrSym0 :: forall a6989586621680489610 b6989586621680489611 t6989586621680489606. (~>) ((~>) a6989586621680489610 ((~>) b6989586621680489611 b6989586621680489611)) ((~>) b6989586621680489611 ((~>) (t6989586621680489606 a6989586621680489610) b6989586621680489611))
data FoldrSym1 (arg6989586621680490231 :: (~>) a6989586621680489610 ((~>) b6989586621680489611 b6989586621680489611)) :: forall t6989586621680489606. (~>) b6989586621680489611 ((~>) (t6989586621680489606 a6989586621680489610) b6989586621680489611)
data FoldrSym2 (arg6989586621680490231 :: (~>) a6989586621680489610 ((~>) b6989586621680489611 b6989586621680489611)) (arg6989586621680490232 :: b6989586621680489611) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489610) b6989586621680489611
type FoldrSym3 (arg6989586621680490231 :: (~>) a6989586621680489610 ((~>) b6989586621680489611 b6989586621680489611)) (arg6989586621680490232 :: b6989586621680489611) (arg6989586621680490233 :: t6989586621680489606 a6989586621680489610) = Foldr arg6989586621680490231 arg6989586621680490232 arg6989586621680490233
data Foldr'Sym0 :: forall a6989586621680489612 b6989586621680489613 t6989586621680489606. (~>) ((~>) a6989586621680489612 ((~>) b6989586621680489613 b6989586621680489613)) ((~>) b6989586621680489613 ((~>) (t6989586621680489606 a6989586621680489612) b6989586621680489613))
data Foldr'Sym1 (arg6989586621680490237 :: (~>) a6989586621680489612 ((~>) b6989586621680489613 b6989586621680489613)) :: forall t6989586621680489606. (~>) b6989586621680489613 ((~>) (t6989586621680489606 a6989586621680489612) b6989586621680489613)
data Foldr'Sym2 (arg6989586621680490237 :: (~>) a6989586621680489612 ((~>) b6989586621680489613 b6989586621680489613)) (arg6989586621680490238 :: b6989586621680489613) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489612) b6989586621680489613
type Foldr'Sym3 (arg6989586621680490237 :: (~>) a6989586621680489612 ((~>) b6989586621680489613 b6989586621680489613)) (arg6989586621680490238 :: b6989586621680489613) (arg6989586621680490239 :: t6989586621680489606 a6989586621680489612) = Foldr' arg6989586621680490237 arg6989586621680490238 arg6989586621680490239
data FoldlSym0 :: forall b6989586621680489614 a6989586621680489615 t6989586621680489606. (~>) ((~>) b6989586621680489614 ((~>) a6989586621680489615 b6989586621680489614)) ((~>) b6989586621680489614 ((~>) (t6989586621680489606 a6989586621680489615) b6989586621680489614))
data FoldlSym1 (arg6989586621680490243 :: (~>) b6989586621680489614 ((~>) a6989586621680489615 b6989586621680489614)) :: forall t6989586621680489606. (~>) b6989586621680489614 ((~>) (t6989586621680489606 a6989586621680489615) b6989586621680489614)
data FoldlSym2 (arg6989586621680490243 :: (~>) b6989586621680489614 ((~>) a6989586621680489615 b6989586621680489614)) (arg6989586621680490244 :: b6989586621680489614) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489615) b6989586621680489614
type FoldlSym3 (arg6989586621680490243 :: (~>) b6989586621680489614 ((~>) a6989586621680489615 b6989586621680489614)) (arg6989586621680490244 :: b6989586621680489614) (arg6989586621680490245 :: t6989586621680489606 a6989586621680489615) = Foldl arg6989586621680490243 arg6989586621680490244 arg6989586621680490245
data Foldl'Sym0 :: forall b6989586621680489616 a6989586621680489617 t6989586621680489606. (~>) ((~>) b6989586621680489616 ((~>) a6989586621680489617 b6989586621680489616)) ((~>) b6989586621680489616 ((~>) (t6989586621680489606 a6989586621680489617) b6989586621680489616))
data Foldl'Sym1 (arg6989586621680490249 :: (~>) b6989586621680489616 ((~>) a6989586621680489617 b6989586621680489616)) :: forall t6989586621680489606. (~>) b6989586621680489616 ((~>) (t6989586621680489606 a6989586621680489617) b6989586621680489616)
data Foldl'Sym2 (arg6989586621680490249 :: (~>) b6989586621680489616 ((~>) a6989586621680489617 b6989586621680489616)) (arg6989586621680490250 :: b6989586621680489616) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489617) b6989586621680489616
type Foldl'Sym3 (arg6989586621680490249 :: (~>) b6989586621680489616 ((~>) a6989586621680489617 b6989586621680489616)) (arg6989586621680490250 :: b6989586621680489616) (arg6989586621680490251 :: t6989586621680489606 a6989586621680489617) = Foldl' arg6989586621680490249 arg6989586621680490250 arg6989586621680490251
data Foldr1Sym0 :: forall a6989586621680489618 t6989586621680489606. (~>) ((~>) a6989586621680489618 ((~>) a6989586621680489618 a6989586621680489618)) ((~>) (t6989586621680489606 a6989586621680489618) a6989586621680489618)
data Foldr1Sym1 (arg6989586621680490255 :: (~>) a6989586621680489618 ((~>) a6989586621680489618 a6989586621680489618)) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489618) a6989586621680489618
type Foldr1Sym2 (arg6989586621680490255 :: (~>) a6989586621680489618 ((~>) a6989586621680489618 a6989586621680489618)) (arg6989586621680490256 :: t6989586621680489606 a6989586621680489618) = Foldr1 arg6989586621680490255 arg6989586621680490256
data Foldl1Sym0 :: forall a6989586621680489619 t6989586621680489606. (~>) ((~>) a6989586621680489619 ((~>) a6989586621680489619 a6989586621680489619)) ((~>) (t6989586621680489606 a6989586621680489619) a6989586621680489619)
data Foldl1Sym1 (arg6989586621680490259 :: (~>) a6989586621680489619 ((~>) a6989586621680489619 a6989586621680489619)) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489619) a6989586621680489619
type Foldl1Sym2 (arg6989586621680490259 :: (~>) a6989586621680489619 ((~>) a6989586621680489619 a6989586621680489619)) (arg6989586621680490260 :: t6989586621680489606 a6989586621680489619) = Foldl1 arg6989586621680490259 arg6989586621680490260
data ToListSym0 :: forall t6989586621680489606 a6989586621680489620. (~>) (t6989586621680489606 a6989586621680489620) [a6989586621680489620]
type ToListSym1 (arg6989586621680490263 :: t6989586621680489606 a6989586621680489620) = ToList arg6989586621680490263
data NullSym0 :: forall t6989586621680489606 a6989586621680489621. (~>) (t6989586621680489606 a6989586621680489621) Bool
type NullSym1 (arg6989586621680490265 :: t6989586621680489606 a6989586621680489621) = Null arg6989586621680490265
data LengthSym0 :: forall t6989586621680489606 a6989586621680489622. (~>) (t6989586621680489606 a6989586621680489622) Nat
type LengthSym1 (arg6989586621680490267 :: t6989586621680489606 a6989586621680489622) = Length arg6989586621680490267
data ElemSym0 :: forall a6989586621680489623 t6989586621680489606. (~>) a6989586621680489623 ((~>) (t6989586621680489606 a6989586621680489623) Bool)
data ElemSym1 (arg6989586621680490269 :: a6989586621680489623) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489623) Bool
type ElemSym2 (arg6989586621680490269 :: a6989586621680489623) (arg6989586621680490270 :: t6989586621680489606 a6989586621680489623) = Elem arg6989586621680490269 arg6989586621680490270
data MaximumSym0 :: forall t6989586621680489606 a6989586621680489624. (~>) (t6989586621680489606 a6989586621680489624) a6989586621680489624
type MaximumSym1 (arg6989586621680490273 :: t6989586621680489606 a6989586621680489624) = Maximum arg6989586621680490273
data MinimumSym0 :: forall t6989586621680489606 a6989586621680489625. (~>) (t6989586621680489606 a6989586621680489625) a6989586621680489625
type MinimumSym1 (arg6989586621680490275 :: t6989586621680489606 a6989586621680489625) = Minimum arg6989586621680490275
data SumSym0 :: forall t6989586621680489606 a6989586621680489626. (~>) (t6989586621680489606 a6989586621680489626) a6989586621680489626
type SumSym1 (arg6989586621680490277 :: t6989586621680489606 a6989586621680489626) = Sum arg6989586621680490277
data ProductSym0 :: forall t6989586621680489606 a6989586621680489627. (~>) (t6989586621680489606 a6989586621680489627) a6989586621680489627
type ProductSym1 (arg6989586621680490279 :: t6989586621680489606 a6989586621680489627) = Product arg6989586621680490279
data FoldrMSym0 :: forall a6989586621680489567 b6989586621680489568 m6989586621680489566 t6989586621680489565. (~>) ((~>) a6989586621680489567 ((~>) b6989586621680489568 (m6989586621680489566 b6989586621680489568))) ((~>) b6989586621680489568 ((~>) (t6989586621680489565 a6989586621680489567) (m6989586621680489566 b6989586621680489568)))
data FoldrMSym1 (a6989586621680490203 :: (~>) a6989586621680489567 ((~>) b6989586621680489568 (m6989586621680489566 b6989586621680489568))) :: forall t6989586621680489565. (~>) b6989586621680489568 ((~>) (t6989586621680489565 a6989586621680489567) (m6989586621680489566 b6989586621680489568))
data FoldrMSym2 (a6989586621680490203 :: (~>) a6989586621680489567 ((~>) b6989586621680489568 (m6989586621680489566 b6989586621680489568))) (a6989586621680490204 :: b6989586621680489568) :: forall t6989586621680489565. (~>) (t6989586621680489565 a6989586621680489567) (m6989586621680489566 b6989586621680489568)
type FoldrMSym3 (a6989586621680490203 :: (~>) a6989586621680489567 ((~>) b6989586621680489568 (m6989586621680489566 b6989586621680489568))) (a6989586621680490204 :: b6989586621680489568) (a6989586621680490205 :: t6989586621680489565 a6989586621680489567) = FoldrM a6989586621680490203 a6989586621680490204 a6989586621680490205
data FoldlMSym0 :: forall b6989586621680489563 a6989586621680489564 m6989586621680489562 t6989586621680489561. (~>) ((~>) b6989586621680489563 ((~>) a6989586621680489564 (m6989586621680489562 b6989586621680489563))) ((~>) b6989586621680489563 ((~>) (t6989586621680489561 a6989586621680489564) (m6989586621680489562 b6989586621680489563)))
data FoldlMSym1 (a6989586621680490181 :: (~>) b6989586621680489563 ((~>) a6989586621680489564 (m6989586621680489562 b6989586621680489563))) :: forall t6989586621680489561. (~>) b6989586621680489563 ((~>) (t6989586621680489561 a6989586621680489564) (m6989586621680489562 b6989586621680489563))
data FoldlMSym2 (a6989586621680490181 :: (~>) b6989586621680489563 ((~>) a6989586621680489564 (m6989586621680489562 b6989586621680489563))) (a6989586621680490182 :: b6989586621680489563) :: forall t6989586621680489561. (~>) (t6989586621680489561 a6989586621680489564) (m6989586621680489562 b6989586621680489563)
type FoldlMSym3 (a6989586621680490181 :: (~>) b6989586621680489563 ((~>) a6989586621680489564 (m6989586621680489562 b6989586621680489563))) (a6989586621680490182 :: b6989586621680489563) (a6989586621680490183 :: t6989586621680489561 a6989586621680489564) = FoldlM a6989586621680490181 a6989586621680490182 a6989586621680490183
data Traverse_Sym0 :: forall a6989586621680489559 f6989586621680489558 b6989586621680489560 t6989586621680489557. (~>) ((~>) a6989586621680489559 (f6989586621680489558 b6989586621680489560)) ((~>) (t6989586621680489557 a6989586621680489559) (f6989586621680489558 ()))
data Traverse_Sym1 (a6989586621680490173 :: (~>) a6989586621680489559 (f6989586621680489558 b6989586621680489560)) :: forall t6989586621680489557. (~>) (t6989586621680489557 a6989586621680489559) (f6989586621680489558 ())
type Traverse_Sym2 (a6989586621680490173 :: (~>) a6989586621680489559 (f6989586621680489558 b6989586621680489560)) (a6989586621680490174 :: t6989586621680489557 a6989586621680489559) = Traverse_ a6989586621680490173 a6989586621680490174
data For_Sym0 :: forall t6989586621680489553 a6989586621680489555 f6989586621680489554 b6989586621680489556. (~>) (t6989586621680489553 a6989586621680489555) ((~>) ((~>) a6989586621680489555 (f6989586621680489554 b6989586621680489556)) (f6989586621680489554 ()))
data For_Sym1 (a6989586621680490167 :: t6989586621680489553 a6989586621680489555) :: forall f6989586621680489554 b6989586621680489556. (~>) ((~>) a6989586621680489555 (f6989586621680489554 b6989586621680489556)) (f6989586621680489554 ())
type For_Sym2 (a6989586621680490167 :: t6989586621680489553 a6989586621680489555) (a6989586621680490168 :: (~>) a6989586621680489555 (f6989586621680489554 b6989586621680489556)) = For_ a6989586621680490167 a6989586621680490168
data SequenceA_Sym0 :: forall t6989586621680489542 f6989586621680489543 a6989586621680489544. (~>) (t6989586621680489542 (f6989586621680489543 a6989586621680489544)) (f6989586621680489543 ())
type SequenceA_Sym1 (a6989586621680490142 :: t6989586621680489542 (f6989586621680489543 a6989586621680489544)) = SequenceA_ a6989586621680490142
data AsumSym0 :: forall t6989586621680489536 f6989586621680489537 a6989586621680489538. (~>) (t6989586621680489536 (f6989586621680489537 a6989586621680489538)) (f6989586621680489537 a6989586621680489538)
type AsumSym1 (a6989586621680490132 :: t6989586621680489536 (f6989586621680489537 a6989586621680489538)) = Asum a6989586621680490132
data MapM_Sym0 :: forall a6989586621680489551 m6989586621680489550 b6989586621680489552 t6989586621680489549. (~>) ((~>) a6989586621680489551 (m6989586621680489550 b6989586621680489552)) ((~>) (t6989586621680489549 a6989586621680489551) (m6989586621680489550 ()))
data MapM_Sym1 (a6989586621680490155 :: (~>) a6989586621680489551 (m6989586621680489550 b6989586621680489552)) :: forall t6989586621680489549. (~>) (t6989586621680489549 a6989586621680489551) (m6989586621680489550 ())
type MapM_Sym2 (a6989586621680490155 :: (~>) a6989586621680489551 (m6989586621680489550 b6989586621680489552)) (a6989586621680490156 :: t6989586621680489549 a6989586621680489551) = MapM_ a6989586621680490155 a6989586621680490156
data ForM_Sym0 :: forall t6989586621680489545 a6989586621680489547 m6989586621680489546 b6989586621680489548. (~>) (t6989586621680489545 a6989586621680489547) ((~>) ((~>) a6989586621680489547 (m6989586621680489546 b6989586621680489548)) (m6989586621680489546 ()))
data ForM_Sym1 (a6989586621680490149 :: t6989586621680489545 a6989586621680489547) :: forall m6989586621680489546 b6989586621680489548. (~>) ((~>) a6989586621680489547 (m6989586621680489546 b6989586621680489548)) (m6989586621680489546 ())
type ForM_Sym2 (a6989586621680490149 :: t6989586621680489545 a6989586621680489547) (a6989586621680490150 :: (~>) a6989586621680489547 (m6989586621680489546 b6989586621680489548)) = ForM_ a6989586621680490149 a6989586621680490150
data Sequence_Sym0 :: forall t6989586621680489539 m6989586621680489540 a6989586621680489541. (~>) (t6989586621680489539 (m6989586621680489540 a6989586621680489541)) (m6989586621680489540 ())
type Sequence_Sym1 (a6989586621680490137 :: t6989586621680489539 (m6989586621680489540 a6989586621680489541)) = Sequence_ a6989586621680490137
data MsumSym0 :: forall t6989586621680489533 m6989586621680489534 a6989586621680489535. (~>) (t6989586621680489533 (m6989586621680489534 a6989586621680489535)) (m6989586621680489534 a6989586621680489535)
type MsumSym1 (a6989586621680490127 :: t6989586621680489533 (m6989586621680489534 a6989586621680489535)) = Msum a6989586621680490127
data ConcatSym0 :: forall t6989586621680489531 a6989586621680489532. (~>) (t6989586621680489531 [a6989586621680489532]) [a6989586621680489532]
type ConcatSym1 (a6989586621680490113 :: t6989586621680489531 [a6989586621680489532]) = Concat a6989586621680490113
data ConcatMapSym0 :: forall a6989586621680489529 b6989586621680489530 t6989586621680489528. (~>) ((~>) a6989586621680489529 [b6989586621680489530]) ((~>) (t6989586621680489528 a6989586621680489529) [b6989586621680489530])
data ConcatMapSym1 (a6989586621680490097 :: (~>) a6989586621680489529 [b6989586621680489530]) :: forall t6989586621680489528. (~>) (t6989586621680489528 a6989586621680489529) [b6989586621680489530]
type ConcatMapSym2 (a6989586621680490097 :: (~>) a6989586621680489529 [b6989586621680489530]) (a6989586621680490098 :: t6989586621680489528 a6989586621680489529) = ConcatMap a6989586621680490097 a6989586621680490098
data AndSym0 :: forall t6989586621680489527. (~>) (t6989586621680489527 Bool) Bool
type AndSym1 (a6989586621680490088 :: t6989586621680489527 Bool) = And a6989586621680490088
data OrSym0 :: forall t6989586621680489526. (~>) (t6989586621680489526 Bool) Bool
type OrSym1 (a6989586621680490079 :: t6989586621680489526 Bool) = Or a6989586621680490079
data AnySym0 :: forall a6989586621680489525 t6989586621680489524. (~>) ((~>) a6989586621680489525 Bool) ((~>) (t6989586621680489524 a6989586621680489525) Bool)
data AnySym1 (a6989586621680490066 :: (~>) a6989586621680489525 Bool) :: forall t6989586621680489524. (~>) (t6989586621680489524 a6989586621680489525) Bool
type AnySym2 (a6989586621680490066 :: (~>) a6989586621680489525 Bool) (a6989586621680490067 :: t6989586621680489524 a6989586621680489525) = Any a6989586621680490066 a6989586621680490067
data AllSym0 :: forall a6989586621680489523 t6989586621680489522. (~>) ((~>) a6989586621680489523 Bool) ((~>) (t6989586621680489522 a6989586621680489523) Bool)
data AllSym1 (a6989586621680490053 :: (~>) a6989586621680489523 Bool) :: forall t6989586621680489522. (~>) (t6989586621680489522 a6989586621680489523) Bool
type AllSym2 (a6989586621680490053 :: (~>) a6989586621680489523 Bool) (a6989586621680490054 :: t6989586621680489522 a6989586621680489523) = All a6989586621680490053 a6989586621680490054
data MaximumBySym0 :: forall a6989586621680489521 t6989586621680489520. (~>) ((~>) a6989586621680489521 ((~>) a6989586621680489521 Ordering)) ((~>) (t6989586621680489520 a6989586621680489521) a6989586621680489521)
data MaximumBySym1 (a6989586621680490028 :: (~>) a6989586621680489521 ((~>) a6989586621680489521 Ordering)) :: forall t6989586621680489520. (~>) (t6989586621680489520 a6989586621680489521) a6989586621680489521
type MaximumBySym2 (a6989586621680490028 :: (~>) a6989586621680489521 ((~>) a6989586621680489521 Ordering)) (a6989586621680490029 :: t6989586621680489520 a6989586621680489521) = MaximumBy a6989586621680490028 a6989586621680490029
data MinimumBySym0 :: forall a6989586621680489519 t6989586621680489518. (~>) ((~>) a6989586621680489519 ((~>) a6989586621680489519 Ordering)) ((~>) (t6989586621680489518 a6989586621680489519) a6989586621680489519)
data MinimumBySym1 (a6989586621680490003 :: (~>) a6989586621680489519 ((~>) a6989586621680489519 Ordering)) :: forall t6989586621680489518. (~>) (t6989586621680489518 a6989586621680489519) a6989586621680489519
type MinimumBySym2 (a6989586621680490003 :: (~>) a6989586621680489519 ((~>) a6989586621680489519 Ordering)) (a6989586621680490004 :: t6989586621680489518 a6989586621680489519) = MinimumBy a6989586621680490003 a6989586621680490004
data NotElemSym0 :: forall a6989586621680489517 t6989586621680489516. (~>) a6989586621680489517 ((~>) (t6989586621680489516 a6989586621680489517) Bool)
data NotElemSym1 (a6989586621680489995 :: a6989586621680489517) :: forall t6989586621680489516. (~>) (t6989586621680489516 a6989586621680489517) Bool
type NotElemSym2 (a6989586621680489995 :: a6989586621680489517) (a6989586621680489996 :: t6989586621680489516 a6989586621680489517) = NotElem a6989586621680489995 a6989586621680489996
data FindSym0 :: forall a6989586621680489515 t6989586621680489514. (~>) ((~>) a6989586621680489515 Bool) ((~>) (t6989586621680489514 a6989586621680489515) (Maybe a6989586621680489515))
data FindSym1 (a6989586621680489968 :: (~>) a6989586621680489515 Bool) :: forall t6989586621680489514. (~>) (t6989586621680489514 a6989586621680489515) (Maybe a6989586621680489515)
type FindSym2 (a6989586621680489968 :: (~>) a6989586621680489515 Bool) (a6989586621680489969 :: t6989586621680489514 a6989586621680489515) = Find a6989586621680489968 a6989586621680489969
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680571428Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Monoid.Last
instance forall a6989586621680489610 b6989586621680489611 (a6989586621680571425 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680571428Sym1 a6989586621680571425)
instance forall a6989586621680489610 b6989586621680489611 (a6989586621680571426 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)) (a6989586621680571425 :: b6989586621680489611). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680571428Sym2 a6989586621680571426 a6989586621680571425)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680571439Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable Data.Monoid.Last
instance forall a6989586621680489610 k1 k2 k3 (t6989586621680489606 :: * -> *) (_f_69895866216805712986989586621680571436 :: a6989586621680489610 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680571439Sym1 _f_69895866216805712986989586621680571436)
instance forall a6989586621680489610 k1 k2 k3 (t6989586621680489606 :: * -> *) (_z_69895866216805713006989586621680571437 :: a6989586621680489610 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)) (_f_69895866216805712986989586621680571436 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680571439Sym2 _z_69895866216805713006989586621680571437 _f_69895866216805712986989586621680571436)
instance forall a6989586621680489610 k1 k2 k3 (t6989586621680489606 :: * -> *) (a_69895866216805713206989586621680571438 :: a6989586621680489610 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)) (_z_69895866216805713006989586621680571437 :: k2) (_f_69895866216805712986989586621680571436 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680571439Sym3 a_69895866216805713206989586621680571438 _z_69895866216805713006989586621680571437 _f_69895866216805712986989586621680571436)
instance forall a6989586621680489610 k1 k2 k3 (t6989586621680489606 :: * -> *) (t6989586621680571443 :: a6989586621680489610 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)) (a_69895866216805713206989586621680571438 :: k2) (_z_69895866216805713006989586621680571437 :: k3) (_f_69895866216805712986989586621680571436 :: t6989586621680489606 a6989586621680489610). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680571439Sym4 t6989586621680571443 a_69895866216805713206989586621680571438 _z_69895866216805713006989586621680571437 _f_69895866216805712986989586621680571436)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680571415Sym0
instance forall a6989586621680489609 m6989586621680489608 (a6989586621680571413 :: a6989586621680489609 Data.Singletons.Internal.~> m6989586621680489608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680571415Sym1 a6989586621680571413)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680571388Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Monoid.First
instance forall a6989586621680489610 b6989586621680489611 (a6989586621680571385 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680571388Sym1 a6989586621680571385)
instance forall a6989586621680489610 b6989586621680489611 (a6989586621680571386 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)) (a6989586621680571385 :: b6989586621680489611). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680571388Sym2 a6989586621680571386 a6989586621680571385)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680571399Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable Data.Monoid.First
instance forall a6989586621680489610 k1 k2 k3 (t6989586621680489606 :: * -> *) (_f_69895866216805712656989586621680571396 :: a6989586621680489610 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680571399Sym1 _f_69895866216805712656989586621680571396)
instance forall a6989586621680489610 k1 k2 k3 (t6989586621680489606 :: * -> *) (_z_69895866216805712676989586621680571397 :: a6989586621680489610 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)) (_f_69895866216805712656989586621680571396 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680571399Sym2 _z_69895866216805712676989586621680571397 _f_69895866216805712656989586621680571396)
instance forall a6989586621680489610 k1 k2 k3 (t6989586621680489606 :: * -> *) (a_69895866216805712876989586621680571398 :: a6989586621680489610 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)) (_z_69895866216805712676989586621680571397 :: k2) (_f_69895866216805712656989586621680571396 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680571399Sym3 a_69895866216805712876989586621680571398 _z_69895866216805712676989586621680571397 _f_69895866216805712656989586621680571396)
instance forall a6989586621680489610 k1 k2 k3 (t6989586621680489606 :: * -> *) (t6989586621680571403 :: a6989586621680489610 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> k1)) (a_69895866216805712876989586621680571398 :: k2) (_z_69895866216805712676989586621680571397 :: k3) (_f_69895866216805712656989586621680571396 :: t6989586621680489606 a6989586621680489610). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680571399Sym4 t6989586621680571403 a_69895866216805712876989586621680571398 _z_69895866216805712676989586621680571397 _f_69895866216805712656989586621680571396)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680571375Sym0
instance forall a6989586621680489609 m6989586621680489608 (a6989586621680571373 :: a6989586621680489609 Data.Singletons.Internal.~> m6989586621680489608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680571375Sym1 a6989586621680571373)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680571346Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable ((,) a)
instance forall a6989586621680489610 b6989586621680489611 a6989586621680571217 (a6989586621680571343 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680571346Sym1 a6989586621680571343)
instance forall a6989586621680489610 b6989586621680489611 a6989586621680571217 (a6989586621680571344 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)) (a6989586621680571343 :: b6989586621680489611). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680571346Sym2 a6989586621680571344 a6989586621680571343)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680571358Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable ((,) a)
instance forall k1 k2 k3 k4 k5 k6 (_f_69895866216805712386989586621680571354 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680571358Sym1 _f_69895866216805712386989586621680571354)
instance forall k1 k2 k3 k4 k5 k6 (_z_69895866216805712406989586621680571355 :: k1) (_f_69895866216805712386989586621680571354 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680571358Sym2 _z_69895866216805712406989586621680571355 _f_69895866216805712386989586621680571354)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216805712526989586621680571356 :: k1) (_z_69895866216805712406989586621680571355 :: k2) (_f_69895866216805712386989586621680571354 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680571358Sym3 a_69895866216805712526989586621680571356 _z_69895866216805712406989586621680571355 _f_69895866216805712386989586621680571354)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216805712546989586621680571357 :: k1) (a_69895866216805712526989586621680571356 :: k2) (_z_69895866216805712406989586621680571355 :: k3) (_f_69895866216805712386989586621680571354 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680571358Sym4 a_69895866216805712546989586621680571357 a_69895866216805712526989586621680571356 _z_69895866216805712406989586621680571355 _f_69895866216805712386989586621680571354)
instance forall k1 k2 k3 k4 k5 k6 (t6989586621680571362 :: k1) (a_69895866216805712546989586621680571357 :: k2) (a_69895866216805712526989586621680571356 :: k3) (_z_69895866216805712406989586621680571355 :: k4) (_f_69895866216805712386989586621680571354 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680571358Sym5 t6989586621680571362 a_69895866216805712546989586621680571357 a_69895866216805712526989586621680571356 _z_69895866216805712406989586621680571355 _f_69895866216805712386989586621680571354)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680571324Sym0
instance forall a6989586621680489609 m6989586621680489608 a6989586621680571217 (a6989586621680571322 :: a6989586621680489609 Data.Singletons.Internal.~> m6989586621680489608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680571324Sym1 a6989586621680571322)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680571333Sym0
instance forall k1 k2 k3 k4 k5 (_f_69895866216805712386989586621680571330 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680571333Sym1 _f_69895866216805712386989586621680571330)
instance forall k1 k2 k3 k4 k5 (a_69895866216805712446989586621680571331 :: k1) (_f_69895866216805712386989586621680571330 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680571333Sym2 a_69895866216805712446989586621680571331 _f_69895866216805712386989586621680571330)
instance forall k1 k2 k3 k4 k5 (a_69895866216805712466989586621680571332 :: k1) (a_69895866216805712446989586621680571331 :: k2) (_f_69895866216805712386989586621680571330 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680571333Sym3 a_69895866216805712466989586621680571332 a_69895866216805712446989586621680571331 _f_69895866216805712386989586621680571330)
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_6989586621680491464Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Internal.Product
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680491457Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680491450Sym0
instance forall k (t6989586621680489606 :: k -> *) (a6989586621680489621 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680491444Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680491437Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680491430Sym0
instance forall k (t6989586621680489606 :: k -> *) (a6989586621680489622 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680491424Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680491414Sym0
instance forall a6989586621680489618 (t6989586621680489606 :: * -> *) (a6989586621680491412 :: a6989586621680489618 Data.Singletons.Internal.~> (a6989586621680489618 Data.Singletons.Internal.~> a6989586621680489618)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680491414Sym1 a6989586621680491412)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680491392Sym0
instance forall a6989586621680489612 b6989586621680489613 (t6989586621680489606 :: * -> *) (a6989586621680491389 :: a6989586621680489612 Data.Singletons.Internal.~> (b6989586621680489613 Data.Singletons.Internal.~> b6989586621680489613)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680491392Sym1 a6989586621680491389)
instance forall a6989586621680489612 b6989586621680489613 (t6989586621680489606 :: * -> *) (a6989586621680491390 :: a6989586621680489612 Data.Singletons.Internal.~> (b6989586621680489613 Data.Singletons.Internal.~> b6989586621680489613)) (a6989586621680491389 :: b6989586621680489613). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680491392Sym2 a6989586621680491390 a6989586621680491389)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680491375Sym0
instance forall a6989586621680489610 b6989586621680489611 (t6989586621680489606 :: * -> *) (a6989586621680491372 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680491375Sym1 a6989586621680491372)
instance forall a6989586621680489610 b6989586621680489611 (t6989586621680489606 :: * -> *) (a6989586621680491373 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)) (a6989586621680491372 :: b6989586621680489611). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680491375Sym2 a6989586621680491373 a6989586621680491372)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680491363Sym0
instance forall a6989586621680489619 (t6989586621680489606 :: * -> *) (a6989586621680491361 :: a6989586621680489619 Data.Singletons.Internal.~> (a6989586621680489619 Data.Singletons.Internal.~> a6989586621680489619)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680491363Sym1 a6989586621680491361)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680491347Sym0
instance forall b6989586621680489616 a6989586621680489617 (t6989586621680489606 :: * -> *) (a6989586621680491344 :: b6989586621680489616 Data.Singletons.Internal.~> (a6989586621680489617 Data.Singletons.Internal.~> b6989586621680489616)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680491347Sym1 a6989586621680491344)
instance forall b6989586621680489616 a6989586621680489617 (t6989586621680489606 :: * -> *) (a6989586621680491345 :: b6989586621680489616 Data.Singletons.Internal.~> (a6989586621680489617 Data.Singletons.Internal.~> b6989586621680489616)) (a6989586621680491344 :: b6989586621680489616). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680491347Sym2 a6989586621680491345 a6989586621680491344)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680491330Sym0
instance forall b6989586621680489614 a6989586621680489615 (t6989586621680489606 :: * -> *) (a6989586621680491327 :: b6989586621680489614 Data.Singletons.Internal.~> (a6989586621680489615 Data.Singletons.Internal.~> b6989586621680489614)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680491330Sym1 a6989586621680491327)
instance forall b6989586621680489614 a6989586621680489615 (t6989586621680489606 :: * -> *) (a6989586621680491328 :: b6989586621680489614 Data.Singletons.Internal.~> (a6989586621680489615 Data.Singletons.Internal.~> b6989586621680489614)) (a6989586621680491327 :: b6989586621680489614). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680491330Sym2 a6989586621680491328 a6989586621680491327)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680491317Sym0
instance forall a6989586621680489623 (t6989586621680489606 :: * -> *) (a6989586621680491315 :: a6989586621680489623). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680491317Sym1 a6989586621680491315)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680491305Sym0
instance forall a6989586621680489609 m6989586621680489608 (t6989586621680489606 :: * -> *) (a6989586621680491303 :: a6989586621680489609 Data.Singletons.Internal.~> m6989586621680489608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680491305Sym1 a6989586621680491303)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680491297Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Internal.Sum
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680491290Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680491283Sym0
instance forall k (t6989586621680489606 :: k -> *) (a6989586621680489621 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680491277Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680491270Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680491263Sym0
instance forall k (t6989586621680489606 :: k -> *) (a6989586621680489622 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680491257Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680491247Sym0
instance forall a6989586621680489618 (t6989586621680489606 :: * -> *) (a6989586621680491245 :: a6989586621680489618 Data.Singletons.Internal.~> (a6989586621680489618 Data.Singletons.Internal.~> a6989586621680489618)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680491247Sym1 a6989586621680491245)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680491225Sym0
instance forall a6989586621680489612 b6989586621680489613 (t6989586621680489606 :: * -> *) (a6989586621680491222 :: a6989586621680489612 Data.Singletons.Internal.~> (b6989586621680489613 Data.Singletons.Internal.~> b6989586621680489613)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680491225Sym1 a6989586621680491222)
instance forall a6989586621680489612 b6989586621680489613 (t6989586621680489606 :: * -> *) (a6989586621680491223 :: a6989586621680489612 Data.Singletons.Internal.~> (b6989586621680489613 Data.Singletons.Internal.~> b6989586621680489613)) (a6989586621680491222 :: b6989586621680489613). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680491225Sym2 a6989586621680491223 a6989586621680491222)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680491208Sym0
instance forall a6989586621680489610 b6989586621680489611 (t6989586621680489606 :: * -> *) (a6989586621680491205 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680491208Sym1 a6989586621680491205)
instance forall a6989586621680489610 b6989586621680489611 (t6989586621680489606 :: * -> *) (a6989586621680491206 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)) (a6989586621680491205 :: b6989586621680489611). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680491208Sym2 a6989586621680491206 a6989586621680491205)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680491196Sym0
instance forall a6989586621680489619 (t6989586621680489606 :: * -> *) (a6989586621680491194 :: a6989586621680489619 Data.Singletons.Internal.~> (a6989586621680489619 Data.Singletons.Internal.~> a6989586621680489619)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680491196Sym1 a6989586621680491194)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680491180Sym0
instance forall b6989586621680489616 a6989586621680489617 (t6989586621680489606 :: * -> *) (a6989586621680491177 :: b6989586621680489616 Data.Singletons.Internal.~> (a6989586621680489617 Data.Singletons.Internal.~> b6989586621680489616)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680491180Sym1 a6989586621680491177)
instance forall b6989586621680489616 a6989586621680489617 (t6989586621680489606 :: * -> *) (a6989586621680491178 :: b6989586621680489616 Data.Singletons.Internal.~> (a6989586621680489617 Data.Singletons.Internal.~> b6989586621680489616)) (a6989586621680491177 :: b6989586621680489616). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680491180Sym2 a6989586621680491178 a6989586621680491177)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680491163Sym0
instance forall b6989586621680489614 a6989586621680489615 (t6989586621680489606 :: * -> *) (a6989586621680491160 :: b6989586621680489614 Data.Singletons.Internal.~> (a6989586621680489615 Data.Singletons.Internal.~> b6989586621680489614)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680491163Sym1 a6989586621680491160)
instance forall b6989586621680489614 a6989586621680489615 (t6989586621680489606 :: * -> *) (a6989586621680491161 :: b6989586621680489614 Data.Singletons.Internal.~> (a6989586621680489615 Data.Singletons.Internal.~> b6989586621680489614)) (a6989586621680491160 :: b6989586621680489614). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680491163Sym2 a6989586621680491161 a6989586621680491160)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680491150Sym0
instance forall a6989586621680489623 (t6989586621680489606 :: * -> *) (a6989586621680491148 :: a6989586621680489623). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680491150Sym1 a6989586621680491148)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680491138Sym0
instance forall a6989586621680489609 m6989586621680489608 (t6989586621680489606 :: * -> *) (a6989586621680491136 :: a6989586621680489609 Data.Singletons.Internal.~> m6989586621680489608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680491138Sym1 a6989586621680491136)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680491130Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Internal.Dual
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680491123Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680491116Sym0
instance forall k (t6989586621680489606 :: k -> *) (a6989586621680489621 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680491110Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680491103Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680491096Sym0
instance forall k (t6989586621680489606 :: k -> *) (a6989586621680489622 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680491090Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680491080Sym0
instance forall a6989586621680489618 (t6989586621680489606 :: * -> *) (a6989586621680491078 :: a6989586621680489618 Data.Singletons.Internal.~> (a6989586621680489618 Data.Singletons.Internal.~> a6989586621680489618)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680491080Sym1 a6989586621680491078)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680491058Sym0
instance forall a6989586621680489612 b6989586621680489613 (t6989586621680489606 :: * -> *) (a6989586621680491055 :: a6989586621680489612 Data.Singletons.Internal.~> (b6989586621680489613 Data.Singletons.Internal.~> b6989586621680489613)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680491058Sym1 a6989586621680491055)
instance forall a6989586621680489612 b6989586621680489613 (t6989586621680489606 :: * -> *) (a6989586621680491056 :: a6989586621680489612 Data.Singletons.Internal.~> (b6989586621680489613 Data.Singletons.Internal.~> b6989586621680489613)) (a6989586621680491055 :: b6989586621680489613). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680491058Sym2 a6989586621680491056 a6989586621680491055)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680491041Sym0
instance forall a6989586621680489610 b6989586621680489611 (t6989586621680489606 :: * -> *) (a6989586621680491038 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680491041Sym1 a6989586621680491038)
instance forall a6989586621680489610 b6989586621680489611 (t6989586621680489606 :: * -> *) (a6989586621680491039 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)) (a6989586621680491038 :: b6989586621680489611). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680491041Sym2 a6989586621680491039 a6989586621680491038)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680491029Sym0
instance forall a6989586621680489619 (t6989586621680489606 :: * -> *) (a6989586621680491027 :: a6989586621680489619 Data.Singletons.Internal.~> (a6989586621680489619 Data.Singletons.Internal.~> a6989586621680489619)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680491029Sym1 a6989586621680491027)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680491013Sym0
instance forall b6989586621680489616 a6989586621680489617 (t6989586621680489606 :: * -> *) (a6989586621680491010 :: b6989586621680489616 Data.Singletons.Internal.~> (a6989586621680489617 Data.Singletons.Internal.~> b6989586621680489616)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680491013Sym1 a6989586621680491010)
instance forall b6989586621680489616 a6989586621680489617 (t6989586621680489606 :: * -> *) (a6989586621680491011 :: b6989586621680489616 Data.Singletons.Internal.~> (a6989586621680489617 Data.Singletons.Internal.~> b6989586621680489616)) (a6989586621680491010 :: b6989586621680489616). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680491013Sym2 a6989586621680491011 a6989586621680491010)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680490996Sym0
instance forall b6989586621680489614 a6989586621680489615 (t6989586621680489606 :: * -> *) (a6989586621680490993 :: b6989586621680489614 Data.Singletons.Internal.~> (a6989586621680489615 Data.Singletons.Internal.~> b6989586621680489614)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680490996Sym1 a6989586621680490993)
instance forall b6989586621680489614 a6989586621680489615 (t6989586621680489606 :: * -> *) (a6989586621680490994 :: b6989586621680489614 Data.Singletons.Internal.~> (a6989586621680489615 Data.Singletons.Internal.~> b6989586621680489614)) (a6989586621680490993 :: b6989586621680489614). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680490996Sym2 a6989586621680490994 a6989586621680490993)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680490983Sym0
instance forall a6989586621680489623 (t6989586621680489606 :: * -> *) (a6989586621680490981 :: a6989586621680489623). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680490983Sym1 a6989586621680490981)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680490971Sym0
instance forall a6989586621680489609 m6989586621680489608 (t6989586621680489606 :: * -> *) (a6989586621680490969 :: a6989586621680489609 Data.Singletons.Internal.~> m6989586621680489608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680490971Sym1 a6989586621680490969)
instance forall k (t6989586621680489606 :: k -> *) (a6989586621680489621 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680490961Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable (Data.Either.Either a)
instance forall k (t6989586621680489606 :: k -> *) (a6989586621680489622 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680490955Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680490939Sym0
instance forall a6989586621680489610 b6989586621680489611 (t6989586621680489606 :: * -> *) (a6989586621680490936 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680490939Sym1 a6989586621680490936)
instance forall a6989586621680489610 b6989586621680489611 (t6989586621680489606 :: * -> *) (a6989586621680490937 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)) (a6989586621680490936 :: b6989586621680489611). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680490939Sym2 a6989586621680490937 a6989586621680490936)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680490926Sym0
instance forall a6989586621680489609 m6989586621680489608 (t6989586621680489606 :: * -> *) (a6989586621680490924 :: a6989586621680489609 Data.Singletons.Internal.~> m6989586621680489608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680490926Sym1 a6989586621680490924)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680490917Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable GHC.Base.NonEmpty
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Fold_6989586621680490909Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680490897Sym0
instance forall a6989586621680489609 m6989586621680489608 (t6989586621680489606 :: * -> *) (a6989586621680490895 :: a6989586621680489609 Data.Singletons.Internal.~> m6989586621680489608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680490897Sym1 a6989586621680490895)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680490871Sym0
instance forall a6989586621680489618 (t6989586621680489606 :: * -> *) (a6989586621680490869 :: a6989586621680489618 Data.Singletons.Internal.~> (a6989586621680489618 Data.Singletons.Internal.~> a6989586621680489618)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680490871Sym1 a6989586621680490869)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490880GoSym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680490877 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490880GoSym1 f6989586621680490877)
instance forall k2 k3 k4 k5 k6 k7 (p6989586621680490878 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (f6989586621680490877 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490880GoSym2 p6989586621680490878 f6989586621680490877)
instance forall k2 k3 k4 k5 k6 k7 (ps6989586621680490879 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (p6989586621680490878 :: k5) (f6989586621680490877 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490880GoSym3 ps6989586621680490879 p6989586621680490878 f6989586621680490877)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680490881 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (ps6989586621680490879 :: k5) (p6989586621680490878 :: k6) (f6989586621680490877 :: k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490880GoSym4 a6989586621680490881 ps6989586621680490879 p6989586621680490878 f6989586621680490877)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680490882 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (a6989586621680490881 :: k5) (ps6989586621680490879 :: k6) (p6989586621680490878 :: k7) (f6989586621680490877 :: k7 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490880GoSym5 a6989586621680490882 a6989586621680490881 ps6989586621680490879 p6989586621680490878 f6989586621680490877)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680490858Sym0
instance forall a6989586621680489619 (t6989586621680489606 :: * -> *) (a6989586621680490856 :: a6989586621680489619 Data.Singletons.Internal.~> (a6989586621680489619 Data.Singletons.Internal.~> a6989586621680489619)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680490858Sym1 a6989586621680490856)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680490841Sym0
instance forall b6989586621680489614 a6989586621680489615 (t6989586621680489606 :: * -> *) (a6989586621680490838 :: b6989586621680489614 Data.Singletons.Internal.~> (a6989586621680489615 Data.Singletons.Internal.~> b6989586621680489614)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680490841Sym1 a6989586621680490838)
instance forall b6989586621680489614 a6989586621680489615 (t6989586621680489606 :: * -> *) (a6989586621680490839 :: b6989586621680489614 Data.Singletons.Internal.~> (a6989586621680489615 Data.Singletons.Internal.~> b6989586621680489614)) (a6989586621680490838 :: b6989586621680489614). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680490841Sym2 a6989586621680490839 a6989586621680490838)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680490823Sym0
instance forall a6989586621680489610 b6989586621680489611 (t6989586621680489606 :: * -> *) (a6989586621680490820 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680490823Sym1 a6989586621680490820)
instance forall a6989586621680489610 b6989586621680489611 (t6989586621680489606 :: * -> *) (a6989586621680490821 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)) (a6989586621680490820 :: b6989586621680489611). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680490823Sym2 a6989586621680490821 a6989586621680490820)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680490812Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable []
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680490803Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680490794Sym0
instance forall k (t6989586621680489606 :: k -> *) (a6989586621680489621 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680490785Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680490776Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680490767Sym0
instance forall k (t6989586621680489606 :: k -> *) (a6989586621680489622 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680490758Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680490743Sym0
instance forall a6989586621680489618 (t6989586621680489606 :: * -> *) (a6989586621680490741 :: a6989586621680489618 Data.Singletons.Internal.~> (a6989586621680489618 Data.Singletons.Internal.~> a6989586621680489618)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680490743Sym1 a6989586621680490741)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680490721Sym0
instance forall a6989586621680489610 b6989586621680489611 (t6989586621680489606 :: * -> *) (a6989586621680490718 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680490721Sym1 a6989586621680490718)
instance forall a6989586621680489610 b6989586621680489611 (t6989586621680489606 :: * -> *) (a6989586621680490719 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)) (a6989586621680490718 :: b6989586621680489611). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680490721Sym2 a6989586621680490719 a6989586621680490718)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680490704Sym0
instance forall a6989586621680489619 (t6989586621680489606 :: * -> *) (a6989586621680490702 :: a6989586621680489619 Data.Singletons.Internal.~> (a6989586621680489619 Data.Singletons.Internal.~> a6989586621680489619)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680490704Sym1 a6989586621680490702)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680490682Sym0
instance forall b6989586621680489616 a6989586621680489617 (t6989586621680489606 :: * -> *) (a6989586621680490679 :: b6989586621680489616 Data.Singletons.Internal.~> (a6989586621680489617 Data.Singletons.Internal.~> b6989586621680489616)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680490682Sym1 a6989586621680490679)
instance forall b6989586621680489616 a6989586621680489617 (t6989586621680489606 :: * -> *) (a6989586621680490680 :: b6989586621680489616 Data.Singletons.Internal.~> (a6989586621680489617 Data.Singletons.Internal.~> b6989586621680489616)) (a6989586621680490679 :: b6989586621680489616). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680490682Sym2 a6989586621680490680 a6989586621680490679)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680490659Sym0
instance forall b6989586621680489614 a6989586621680489615 (t6989586621680489606 :: * -> *) (a6989586621680490656 :: b6989586621680489614 Data.Singletons.Internal.~> (a6989586621680489615 Data.Singletons.Internal.~> b6989586621680489614)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680490659Sym1 a6989586621680490656)
instance forall b6989586621680489614 a6989586621680489615 (t6989586621680489606 :: * -> *) (a6989586621680490657 :: b6989586621680489614 Data.Singletons.Internal.~> (a6989586621680489615 Data.Singletons.Internal.~> b6989586621680489614)) (a6989586621680490656 :: b6989586621680489614). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680490659Sym2 a6989586621680490657 a6989586621680490656)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680490642Sym0
instance forall a6989586621680489623 (t6989586621680489606 :: * -> *) (a6989586621680490640 :: a6989586621680489623). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680490642Sym1 a6989586621680490640)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680490625Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable GHC.Maybe.Maybe
instance forall b6989586621680489614 a6989586621680489615 (t6989586621680489606 :: * -> *) (a6989586621680490622 :: b6989586621680489614 Data.Singletons.Internal.~> (a6989586621680489615 Data.Singletons.Internal.~> b6989586621680489614)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680490625Sym1 a6989586621680490622)
instance forall b6989586621680489614 a6989586621680489615 (t6989586621680489606 :: * -> *) (a6989586621680490623 :: b6989586621680489614 Data.Singletons.Internal.~> (a6989586621680489615 Data.Singletons.Internal.~> b6989586621680489614)) (a6989586621680490622 :: b6989586621680489614). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680490625Sym2 a6989586621680490623 a6989586621680490622)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680490607Sym0
instance forall a6989586621680489610 b6989586621680489611 (t6989586621680489606 :: * -> *) (a6989586621680490604 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680490607Sym1 a6989586621680490604)
instance forall a6989586621680489610 b6989586621680489611 (t6989586621680489606 :: * -> *) (a6989586621680490605 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)) (a6989586621680490604 :: b6989586621680489611). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680490607Sym2 a6989586621680490605 a6989586621680490604)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680490590Sym0
instance forall a6989586621680489609 m6989586621680489608 (t6989586621680489606 :: * -> *) (a6989586621680490588 :: a6989586621680489609 Data.Singletons.Internal.~> m6989586621680489608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680490590Sym1 a6989586621680490588)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680489974Scrutinee_6989586621680489865Sym0
instance forall a6989586621680489609 (t6989586621680489606 :: * -> *) (p6989586621680489972 :: a6989586621680489609 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680489974Scrutinee_6989586621680489865Sym1 p6989586621680489972)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FindSym0
instance forall a6989586621680489515 (t6989586621680489514 :: * -> *) (a6989586621680489968 :: a6989586621680489515 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FindSym1 a6989586621680489968)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490059Scrutinee_6989586621680489859Sym0
instance forall a6989586621680489609 (t6989586621680489606 :: * -> *) (p6989586621680490057 :: a6989586621680489609 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490059Scrutinee_6989586621680489859Sym1 p6989586621680490057)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.AllSym0
instance forall a6989586621680489523 (t6989586621680489522 :: * -> *) (a6989586621680490053 :: a6989586621680489523 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.AllSym1 a6989586621680490053)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490072Scrutinee_6989586621680489857Sym0
instance forall a6989586621680489609 (t6989586621680489606 :: * -> *) (p6989586621680490070 :: a6989586621680489609 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490072Scrutinee_6989586621680489857Sym1 p6989586621680490070)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490082Scrutinee_6989586621680489855Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.OrSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490091Scrutinee_6989586621680489853Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.AndSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490318Scrutinee_6989586621680489818Sym0
instance forall a6989586621680489609 a k (t6989586621680489606 :: * -> *) (f6989586621680490315 :: a6989586621680489609 Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> a)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490318Scrutinee_6989586621680489818Sym1 f6989586621680490315)
instance forall a6989586621680489609 a k (t6989586621680489606 :: * -> *) (z6989586621680490316 :: a6989586621680489609 Data.Singletons.Internal.~> (a Data.Singletons.Internal.~> a)) (f6989586621680490315 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490318Scrutinee_6989586621680489818Sym2 z6989586621680490316 f6989586621680490315)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490373Scrutinee_6989586621680489821Sym0
instance forall a a6989586621680489609 k (t6989586621680489606 :: * -> *) (f6989586621680490370 :: a Data.Singletons.Internal.~> (a6989586621680489609 Data.Singletons.Internal.~> a)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490373Scrutinee_6989586621680489821Sym1 f6989586621680490370)
instance forall a a6989586621680489609 k (t6989586621680489606 :: * -> *) (z6989586621680490371 :: a Data.Singletons.Internal.~> (a6989586621680489609 Data.Singletons.Internal.~> a)) (f6989586621680490370 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490373Scrutinee_6989586621680489821Sym2 z6989586621680490371 f6989586621680490370)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490538Scrutinee_6989586621680489841Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490551Scrutinee_6989586621680489844Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490564Scrutinee_6989586621680489847Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490577Scrutinee_6989586621680489850Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ConcatMapSym0
instance forall a6989586621680489529 b6989586621680489530 (t6989586621680489528 :: * -> *) (a6989586621680490097 :: a6989586621680489529 Data.Singletons.Internal.~> [b6989586621680489530]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.ConcatMapSym1 a6989586621680490097)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680490103Sym0
instance forall k1 (t6989586621680489606 :: * -> *) a6989586621680489610 k (f6989586621680490101 :: k1 Data.Singletons.Internal.~> t6989586621680489606 a6989586621680489610). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680490103Sym1 f6989586621680490101)
instance forall k1 (t6989586621680489606 :: * -> *) a6989586621680489610 k (xs6989586621680490102 :: k1 Data.Singletons.Internal.~> t6989586621680489606 a6989586621680489610) (f6989586621680490101 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680490103Sym2 xs6989586621680490102 f6989586621680490101)
instance forall k1 (t6989586621680489606 :: * -> *) a6989586621680489610 k (t6989586621680490107 :: k1 Data.Singletons.Internal.~> t6989586621680489606 a6989586621680489610) (xs6989586621680490102 :: k) (f6989586621680490101 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680490103Sym3 t6989586621680490107 xs6989586621680490102 f6989586621680490101)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ConcatSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680490116Sym0
instance forall k (t6989586621680489606 :: * -> *) a6989586621680489610 (xs6989586621680490115 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680490116Sym1 xs6989586621680490115)
instance forall k (t6989586621680489606 :: * -> *) a6989586621680489610 (t6989586621680490120 :: k) (xs6989586621680490115 :: t6989586621680489606 a6989586621680489610). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680490116Sym2 t6989586621680490120 xs6989586621680490115)
instance forall (t6989586621680489533 :: * -> *) k (m6989586621680489534 :: k -> *) (a6989586621680489535 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MsumSym0
instance forall (t6989586621680489536 :: * -> *) k (f6989586621680489537 :: k -> *) (a6989586621680489538 :: 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 (t6989586621680489545 :: * -> *) a6989586621680489547 (m6989586621680489546 :: * -> *) b6989586621680489548 (a6989586621680490149 :: t6989586621680489545 a6989586621680489547). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.ForM_Sym1 a6989586621680490149)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MapM_Sym0
instance forall a6989586621680489551 (m6989586621680489550 :: * -> *) b6989586621680489552 (t6989586621680489549 :: * -> *) (a6989586621680490155 :: a6989586621680489551 Data.Singletons.Internal.~> m6989586621680489550 b6989586621680489552). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.MapM_Sym1 a6989586621680490155)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.For_Sym0
instance forall (t6989586621680489553 :: * -> *) a6989586621680489555 (f6989586621680489554 :: * -> *) b6989586621680489556 (a6989586621680490167 :: t6989586621680489553 a6989586621680489555). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.For_Sym1 a6989586621680490167)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Traverse_Sym0
instance forall a6989586621680489559 (f6989586621680489558 :: * -> *) b6989586621680489560 (t6989586621680489557 :: * -> *) (a6989586621680490173 :: a6989586621680489559 Data.Singletons.Internal.~> f6989586621680489558 b6989586621680489560). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Traverse_Sym1 a6989586621680490173)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldlMSym0
instance forall b6989586621680489563 a6989586621680489564 (m6989586621680489562 :: * -> *) (t6989586621680489561 :: * -> *) (a6989586621680490181 :: b6989586621680489563 Data.Singletons.Internal.~> (a6989586621680489564 Data.Singletons.Internal.~> m6989586621680489562 b6989586621680489563)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlMSym1 a6989586621680490181)
instance forall b6989586621680489563 a6989586621680489564 (m6989586621680489562 :: * -> *) (t6989586621680489561 :: * -> *) (a6989586621680490182 :: b6989586621680489563 Data.Singletons.Internal.~> (a6989586621680489564 Data.Singletons.Internal.~> m6989586621680489562 b6989586621680489563)) (a6989586621680490181 :: b6989586621680489563). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlMSym2 a6989586621680490182 a6989586621680490181)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'Sym0
instance forall a6989586621680489612 b6989586621680489613 (t6989586621680489606 :: * -> *) (arg6989586621680490237 :: a6989586621680489612 Data.Singletons.Internal.~> (b6989586621680489613 Data.Singletons.Internal.~> b6989586621680489613)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'Sym1 arg6989586621680490237)
instance forall a6989586621680489612 b6989586621680489613 (t6989586621680489606 :: * -> *) (arg6989586621680490238 :: a6989586621680489612 Data.Singletons.Internal.~> (b6989586621680489613 Data.Singletons.Internal.~> b6989586621680489613)) (arg6989586621680490237 :: b6989586621680489613). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'Sym2 arg6989586621680490238 arg6989586621680490237)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldrMSym0
instance forall a6989586621680489567 b6989586621680489568 (m6989586621680489566 :: * -> *) (t6989586621680489565 :: * -> *) (a6989586621680490203 :: a6989586621680489567 Data.Singletons.Internal.~> (b6989586621680489568 Data.Singletons.Internal.~> m6989586621680489566 b6989586621680489568)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrMSym1 a6989586621680490203)
instance forall a6989586621680489567 b6989586621680489568 (m6989586621680489566 :: * -> *) (t6989586621680489565 :: * -> *) (a6989586621680490204 :: a6989586621680489567 Data.Singletons.Internal.~> (b6989586621680489568 Data.Singletons.Internal.~> m6989586621680489566 b6989586621680489568)) (a6989586621680490203 :: b6989586621680489568). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrMSym2 a6989586621680490204 a6989586621680490203)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1Sym0
instance forall a6989586621680489618 (t6989586621680489606 :: * -> *) (arg6989586621680490255 :: a6989586621680489618 Data.Singletons.Internal.~> (a6989586621680489618 Data.Singletons.Internal.~> a6989586621680489618)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1Sym1 arg6989586621680490255)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MinimumBySym0
instance forall a6989586621680489519 (t6989586621680489518 :: * -> *) (a6989586621680490003 :: a6989586621680489519 Data.Singletons.Internal.~> (a6989586621680489519 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.MinimumBySym1 a6989586621680490003)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.MaximumBySym0
instance forall a6989586621680489521 (t6989586621680489520 :: * -> *) (a6989586621680490028 :: a6989586621680489521 Data.Singletons.Internal.~> (a6989586621680489521 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.MaximumBySym1 a6989586621680490028)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1Sym0
instance forall a6989586621680489619 (t6989586621680489606 :: * -> *) (arg6989586621680490259 :: a6989586621680489619 Data.Singletons.Internal.~> (a6989586621680489619 Data.Singletons.Internal.~> a6989586621680489619)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1Sym1 arg6989586621680490259)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToListSym0
instance forall k (t6989586621680489606 :: k -> *) (a6989586621680489621 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.NullSym0
instance forall k (t6989586621680489606 :: k -> *) (a6989586621680489622 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.LengthSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.NotElemSym0
instance forall a6989586621680489517 (t6989586621680489516 :: * -> *) (a6989586621680489995 :: a6989586621680489517). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.NotElemSym1 a6989586621680489995)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ElemSym0
instance forall a6989586621680489623 (t6989586621680489606 :: * -> *) (arg6989586621680490269 :: a6989586621680489623). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.ElemSym1 arg6989586621680490269)
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 a6989586621680489525 (t6989586621680489524 :: * -> *) (a6989586621680490066 :: a6989586621680489525 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.AnySym1 a6989586621680490066)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.AnySym0
instance forall a6989586621680489609 m6989586621680489608 (t6989586621680489606 :: * -> *) (arg6989586621680490227 :: a6989586621680489609 Data.Singletons.Internal.~> m6989586621680489608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMapSym1 arg6989586621680490227)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMapSym0
instance forall a6989586621680489610 b6989586621680489611 (t6989586621680489606 :: * -> *) (arg6989586621680490232 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)) (arg6989586621680490231 :: b6989586621680489611). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrSym2 arg6989586621680490232 arg6989586621680490231)
instance forall a6989586621680489610 b6989586621680489611 (t6989586621680489606 :: * -> *) (arg6989586621680490231 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldrSym1 arg6989586621680490231)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldrSym0
instance forall b6989586621680489614 a6989586621680489615 (t6989586621680489606 :: * -> *) (arg6989586621680490244 :: b6989586621680489614 Data.Singletons.Internal.~> (a6989586621680489615 Data.Singletons.Internal.~> b6989586621680489614)) (arg6989586621680490243 :: b6989586621680489614). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlSym2 arg6989586621680490244 arg6989586621680490243)
instance forall b6989586621680489614 a6989586621680489615 (t6989586621680489606 :: * -> *) (arg6989586621680490243 :: b6989586621680489614 Data.Singletons.Internal.~> (a6989586621680489615 Data.Singletons.Internal.~> b6989586621680489614)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldlSym1 arg6989586621680490243)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldlSym0
instance forall b6989586621680489616 a6989586621680489617 (t6989586621680489606 :: * -> *) (arg6989586621680490250 :: b6989586621680489616 Data.Singletons.Internal.~> (a6989586621680489617 Data.Singletons.Internal.~> b6989586621680489616)) (arg6989586621680490249 :: b6989586621680489616). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'Sym2 arg6989586621680490250 arg6989586621680490249)
instance forall b6989586621680489616 a6989586621680489617 (t6989586621680489606 :: * -> *) (arg6989586621680490249 :: b6989586621680489616 Data.Singletons.Internal.~> (a6989586621680489617 Data.Singletons.Internal.~> b6989586621680489616)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'Sym1 arg6989586621680490249)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Fold_6989586621680490282Sym0
instance forall a6989586621680489609 m6989586621680489608 (t6989586621680489606 :: * -> *) (a6989586621680490290 :: a6989586621680489609 Data.Singletons.Internal.~> m6989586621680489608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.FoldMap_6989586621680490292Sym1 a6989586621680490290)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.FoldMap_6989586621680490292Sym0
instance forall a6989586621680489610 b6989586621680489611 (t6989586621680489606 :: * -> *) (a6989586621680490305 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)) (a6989586621680490304 :: b6989586621680489611). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680490307Sym2 a6989586621680490305 a6989586621680490304)
instance forall a6989586621680489610 b6989586621680489611 (t6989586621680489606 :: * -> *) (a6989586621680490304 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr_6989586621680490307Sym1 a6989586621680490304)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr_6989586621680490307Sym0
instance forall a6989586621680489612 b6989586621680489613 (t6989586621680489606 :: * -> *) (a6989586621680490330 :: a6989586621680489612 Data.Singletons.Internal.~> (b6989586621680489613 Data.Singletons.Internal.~> b6989586621680489613)) (a6989586621680490329 :: b6989586621680489613). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680490332Sym2 a6989586621680490330 a6989586621680490329)
instance forall a6989586621680489612 b6989586621680489613 (t6989586621680489606 :: * -> *) (a6989586621680490329 :: a6989586621680489612 Data.Singletons.Internal.~> (b6989586621680489613 Data.Singletons.Internal.~> b6989586621680489613)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr'_6989586621680490332Sym1 a6989586621680490329)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr'_6989586621680490332Sym0
instance forall b6989586621680489614 a6989586621680489615 (t6989586621680489606 :: * -> *) (a6989586621680490360 :: b6989586621680489614 Data.Singletons.Internal.~> (a6989586621680489615 Data.Singletons.Internal.~> b6989586621680489614)) (a6989586621680490359 :: b6989586621680489614). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680490362Sym2 a6989586621680490360 a6989586621680490359)
instance forall b6989586621680489614 a6989586621680489615 (t6989586621680489606 :: * -> *) (a6989586621680490359 :: b6989586621680489614 Data.Singletons.Internal.~> (a6989586621680489615 Data.Singletons.Internal.~> b6989586621680489614)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl_6989586621680490362Sym1 a6989586621680490359)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl_6989586621680490362Sym0
instance forall b6989586621680489616 a6989586621680489617 (t6989586621680489606 :: * -> *) (a6989586621680490385 :: b6989586621680489616 Data.Singletons.Internal.~> (a6989586621680489617 Data.Singletons.Internal.~> b6989586621680489616)) (a6989586621680490384 :: b6989586621680489616). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680490387Sym2 a6989586621680490385 a6989586621680490384)
instance forall b6989586621680489616 a6989586621680489617 (t6989586621680489606 :: * -> *) (a6989586621680490384 :: b6989586621680489616 Data.Singletons.Internal.~> (a6989586621680489617 Data.Singletons.Internal.~> b6989586621680489616)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl'_6989586621680490387Sym1 a6989586621680490384)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl'_6989586621680490387Sym0
instance forall a6989586621680489618 (t6989586621680489606 :: * -> *) (a6989586621680490414 :: a6989586621680489618 Data.Singletons.Internal.~> (a6989586621680489618 Data.Singletons.Internal.~> a6989586621680489618)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldr1_6989586621680490416Sym1 a6989586621680490414)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldr1_6989586621680490416Sym0
instance forall a6989586621680489619 (t6989586621680489606 :: * -> *) (a6989586621680490439 :: a6989586621680489619 Data.Singletons.Internal.~> (a6989586621680489619 Data.Singletons.Internal.~> a6989586621680489619)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Foldl1_6989586621680490441Sym1 a6989586621680490439)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Foldl1_6989586621680490441Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.ToList_6989586621680490465Sym0
instance forall k (t6989586621680489606 :: k -> *) (a6989586621680489621 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Null_6989586621680490474Sym0
instance forall k (t6989586621680489606 :: k -> *) (a6989586621680489622 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Length_6989586621680490495Sym0
instance forall a6989586621680489623 (t6989586621680489606 :: * -> *) (a6989586621680490516 :: a6989586621680489623). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Elem_6989586621680490518Sym1 a6989586621680490516)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Elem_6989586621680490518Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Maximum_6989586621680490533Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Minimum_6989586621680490546Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Sum_6989586621680490559Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Product_6989586621680490572Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680490502Sym0
instance forall k1 k2 k3 (a_69895866216804904976989586621680490501 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680490502Sym1 a_69895866216804904976989586621680490501)
instance forall k1 k2 k3 (t6989586621680490510 :: k1) (a_69895866216804904976989586621680490501 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680490502Sym2 t6989586621680490510 a_69895866216804904976989586621680490501)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680490481Sym0
instance forall k1 k2 k3 (a_69895866216804904766989586621680490480 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680490481Sym1 a_69895866216804904766989586621680490480)
instance forall k1 k2 k3 (t6989586621680490488 :: k1) (a_69895866216804904766989586621680490480 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680490481Sym2 t6989586621680490488 a_69895866216804904766989586621680490480)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490449MfSym0
instance forall k2 k3 k (f6989586621680490447 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490449MfSym1 f6989586621680490447)
instance forall k2 k3 k (xs6989586621680490448 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (f6989586621680490447 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490449MfSym2 xs6989586621680490448 f6989586621680490447)
instance forall k2 k3 k (a6989586621680490450 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k3)) (xs6989586621680490448 :: k) (f6989586621680490447 :: GHC.Maybe.Maybe k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490449MfSym3 a6989586621680490450 xs6989586621680490448 f6989586621680490447)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490424MfSym0
instance forall k2 k3 k (f6989586621680490422 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490424MfSym1 f6989586621680490422)
instance forall k2 k3 k (xs6989586621680490423 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k2)) (f6989586621680490422 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490424MfSym2 xs6989586621680490423 f6989586621680490422)
instance forall k2 k3 k (a6989586621680490425 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k2)) (xs6989586621680490423 :: k) (f6989586621680490422 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490424MfSym3 a6989586621680490425 xs6989586621680490423 f6989586621680490422)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490398F'Sym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680490395 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490398F'Sym1 f6989586621680490395)
instance forall k2 k3 k4 k5 k6 k7 (z06989586621680490396 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (f6989586621680490395 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490398F'Sym2 z06989586621680490396 f6989586621680490395)
instance forall k2 k3 k4 k5 k6 k7 (xs6989586621680490397 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (z06989586621680490396 :: k5) (f6989586621680490395 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490398F'Sym3 xs6989586621680490397 z06989586621680490396 f6989586621680490395)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680490399 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (xs6989586621680490397 :: k5) (z06989586621680490396 :: k6) (f6989586621680490395 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490398F'Sym4 a6989586621680490399 xs6989586621680490397 z06989586621680490396 f6989586621680490395)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680490400 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (a6989586621680490399 :: k5) (xs6989586621680490397 :: k6) (z06989586621680490396 :: k3) (f6989586621680490395 :: k4 Data.Singletons.Internal.~> k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490398F'Sym5 a6989586621680490400 a6989586621680490399 xs6989586621680490397 z06989586621680490396 f6989586621680490395)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490343F'Sym0
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680490340 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490343F'Sym1 f6989586621680490340)
instance forall k2 k3 k4 k5 k6 k7 (z06989586621680490341 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (f6989586621680490340 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490343F'Sym2 z06989586621680490341 f6989586621680490340)
instance forall k2 k3 k4 k5 k6 k7 (xs6989586621680490342 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (z06989586621680490341 :: k5) (f6989586621680490340 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490343F'Sym3 xs6989586621680490342 z06989586621680490341 f6989586621680490340)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680490344 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (xs6989586621680490342 :: k5) (z06989586621680490341 :: k6) (f6989586621680490340 :: k4 Data.Singletons.Internal.~> k7). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490343F'Sym4 a6989586621680490344 xs6989586621680490342 z06989586621680490341 f6989586621680490340)
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680490345 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (a6989586621680490344 :: k5) (xs6989586621680490342 :: k6) (z06989586621680490341 :: k4 Data.Singletons.Internal.~> k7) (f6989586621680490340 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490343F'Sym5 a6989586621680490345 a6989586621680490344 xs6989586621680490342 z06989586621680490341 f6989586621680490340)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490212F'Sym0
instance forall k2 k3 (m6989586621679569952 :: * -> *) a6989586621679569953 k4 k5 b6989586621679569954 (f6989586621680490209 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679569952 a6989586621679569953)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490212F'Sym1 f6989586621680490209)
instance forall k2 k3 (m6989586621679569952 :: * -> *) a6989586621679569953 k4 k5 b6989586621679569954 (z06989586621680490210 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679569952 a6989586621679569953)) (f6989586621680490209 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490212F'Sym2 z06989586621680490210 f6989586621680490209)
instance forall k2 k3 (m6989586621679569952 :: * -> *) a6989586621679569953 k4 k5 b6989586621679569954 (xs6989586621680490211 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679569952 a6989586621679569953)) (z06989586621680490210 :: k4) (f6989586621680490209 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490212F'Sym3 xs6989586621680490211 z06989586621680490210 f6989586621680490209)
instance forall k2 k3 (m6989586621679569952 :: * -> *) a6989586621679569953 k4 k5 b6989586621679569954 (a6989586621680490213 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679569952 a6989586621679569953)) (xs6989586621680490211 :: k4) (z06989586621680490210 :: k5) (f6989586621680490209 :: a6989586621679569953 Data.Singletons.Internal.~> m6989586621679569952 b6989586621679569954). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490212F'Sym4 a6989586621680490213 xs6989586621680490211 z06989586621680490210 f6989586621680490209)
instance forall k2 k3 (m6989586621679569952 :: * -> *) a6989586621679569953 k4 k5 b6989586621679569954 (a6989586621680490214 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679569952 a6989586621679569953)) (a6989586621680490213 :: k4) (xs6989586621680490211 :: k5) (z06989586621680490210 :: a6989586621679569953 Data.Singletons.Internal.~> m6989586621679569952 b6989586621679569954) (f6989586621680490209 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490212F'Sym5 a6989586621680490214 a6989586621680490213 xs6989586621680490211 z06989586621680490210 f6989586621680490209)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490190F'Sym0
instance forall k2 k3 (m6989586621679569952 :: * -> *) a6989586621679569953 k4 k5 b6989586621679569954 (f6989586621680490187 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679569952 a6989586621679569953)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490190F'Sym1 f6989586621680490187)
instance forall k2 k3 (m6989586621679569952 :: * -> *) a6989586621679569953 k4 k5 b6989586621679569954 (z06989586621680490188 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679569952 a6989586621679569953)) (f6989586621680490187 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490190F'Sym2 z06989586621680490188 f6989586621680490187)
instance forall k2 k3 (m6989586621679569952 :: * -> *) a6989586621679569953 k4 k5 b6989586621679569954 (xs6989586621680490189 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679569952 a6989586621679569953)) (z06989586621680490188 :: k4) (f6989586621680490187 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490190F'Sym3 xs6989586621680490189 z06989586621680490188 f6989586621680490187)
instance forall k2 k3 (m6989586621679569952 :: * -> *) a6989586621679569953 k4 k5 b6989586621679569954 (a6989586621680490191 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679569952 a6989586621679569953)) (xs6989586621680490189 :: k4) (z06989586621680490188 :: k5) (f6989586621680490187 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490190F'Sym4 a6989586621680490191 xs6989586621680490189 z06989586621680490188 f6989586621680490187)
instance forall k2 k3 (m6989586621679569952 :: * -> *) a6989586621679569953 k4 k5 b6989586621679569954 (a6989586621680490192 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> m6989586621679569952 a6989586621679569953)) (a6989586621680490191 :: k4) (xs6989586621680490189 :: k5) (z06989586621680490188 :: k3) (f6989586621680490187 :: a6989586621679569953 Data.Singletons.Internal.~> m6989586621679569952 b6989586621679569954). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490190F'Sym5 a6989586621680490192 a6989586621680490191 xs6989586621680490189 z06989586621680490188 f6989586621680490187)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490036Max'Sym0
instance forall k1 k2 (cmp6989586621680490034 :: k1 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490036Max'Sym1 cmp6989586621680490034)
instance forall k1 k2 (a_69895866216804900326989586621680490035 :: k1 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> GHC.Types.Ordering)) (cmp6989586621680490034 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490036Max'Sym2 a_69895866216804900326989586621680490035 cmp6989586621680490034)
instance forall k1 k2 (a6989586621680490037 :: k1 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> GHC.Types.Ordering)) (a_69895866216804900326989586621680490035 :: k2) (cmp6989586621680490034 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490036Max'Sym3 a6989586621680490037 a_69895866216804900326989586621680490035 cmp6989586621680490034)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490045Scrutinee_6989586621680489861Sym0
instance forall k2 k3 k4 k5 (x6989586621680490043 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490045Scrutinee_6989586621680489861Sym1 x6989586621680490043)
instance forall k2 k3 k4 k5 (y6989586621680490044 :: k2) (x6989586621680490043 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490045Scrutinee_6989586621680489861Sym2 y6989586621680490044 x6989586621680490043)
instance forall k2 k3 k4 k5 (cmp6989586621680490034 :: k2) (y6989586621680490044 :: k3) (x6989586621680490043 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490045Scrutinee_6989586621680489861Sym3 cmp6989586621680490034 y6989586621680490044 x6989586621680490043)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490011Min'Sym0
instance forall k1 k2 (cmp6989586621680490009 :: k1 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490011Min'Sym1 cmp6989586621680490009)
instance forall k1 k2 (a_69895866216804900076989586621680490010 :: k1 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> GHC.Types.Ordering)) (cmp6989586621680490009 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490011Min'Sym2 a_69895866216804900076989586621680490010 cmp6989586621680490009)
instance forall k1 k2 (a6989586621680490012 :: k1 Data.Singletons.Internal.~> (k1 Data.Singletons.Internal.~> GHC.Types.Ordering)) (a_69895866216804900076989586621680490010 :: k2) (cmp6989586621680490009 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490011Min'Sym3 a6989586621680490012 a_69895866216804900076989586621680490010 cmp6989586621680490009)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680490020Scrutinee_6989586621680489863Sym0
instance forall k2 k3 k4 k5 (x6989586621680490018 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490020Scrutinee_6989586621680489863Sym1 x6989586621680490018)
instance forall k2 k3 k4 k5 (y6989586621680490019 :: k2) (x6989586621680490018 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490020Scrutinee_6989586621680489863Sym2 y6989586621680490019 x6989586621680490018)
instance forall k2 k3 k4 k5 (cmp6989586621680490009 :: k2) (y6989586621680490019 :: k3) (x6989586621680490018 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680490020Scrutinee_6989586621680489863Sym3 cmp6989586621680490009 y6989586621680490019 x6989586621680490018)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Lambda_6989586621680489975Sym0
instance forall a6989586621679089577 k (p6989586621680489972 :: a6989586621679089577 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680489975Sym1 p6989586621680489972)
instance forall a6989586621679089577 k (y6989586621680489973 :: a6989586621679089577 Data.Singletons.Internal.~> GHC.Types.Bool) (p6989586621680489972 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Lambda_6989586621680489975Sym2 y6989586621680489973 p6989586621680489972)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680489978Scrutinee_6989586621680489867Sym0
instance forall k1 k2 k3 (x6989586621680489977 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680489978Scrutinee_6989586621680489867Sym1 x6989586621680489977)
instance forall k1 k2 k3 (p6989586621680489972 :: k1) (x6989586621680489977 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680489978Scrutinee_6989586621680489867Sym2 p6989586621680489972 x6989586621680489977)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Singletons.Prelude.Foldable.MinInternal a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.TFHelper_6989586621680481534Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Singletons.Prelude.Foldable.MinInternal a)
instance forall a6989586621680481477 (a6989586621680481532 :: Data.Singletons.Prelude.Foldable.MinInternal a6989586621680481477). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.TFHelper_6989586621680481534Sym1 a6989586621680481532)
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.Let6989586621680481549Scrutinee_6989586621680481487Sym0
instance forall k1 (x6989586621680481542 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680481549Scrutinee_6989586621680481487Sym1 x6989586621680481542)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680481544MSym0
instance forall k1 k (x6989586621680481542 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680481544MSym1 x6989586621680481542)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680481544NSym0
instance forall k k1 (x6989586621680481542 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680481544NSym1 x6989586621680481542)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Singletons.Prelude.Foldable.MaxInternal a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.TFHelper_6989586621680481507Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Singletons.Prelude.Foldable.MaxInternal a)
instance forall a6989586621680481469 (a6989586621680481505 :: Data.Singletons.Prelude.Foldable.MaxInternal a6989586621680481469). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.TFHelper_6989586621680481507Sym1 a6989586621680481505)
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.Let6989586621680481522Scrutinee_6989586621680481485Sym0
instance forall k1 (x6989586621680481515 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680481522Scrutinee_6989586621680481485Sym1 x6989586621680481515)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680481517MSym0
instance forall k1 k (x6989586621680481515 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680481517MSym1 x6989586621680481515)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Foldable.Let6989586621680481517NSym0
instance forall k k1 (x6989586621680481515 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.Let6989586621680481517NSym1 x6989586621680481515)
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_6989586621680480069Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Singletons.Prelude.Foldable.Endo a)
instance forall a6989586621680480055 (a6989586621680480067 :: Data.Singletons.Prelude.Foldable.Endo a6989586621680480055). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Foldable.TFHelper_6989586621680480069Sym1 a6989586621680480067)
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_akKH. Identity a_akKH -> Type
[SIdentity] :: forall a_akKH (n_a1hkI :: a_akKH). () => {sRunIdentity :: Sing (n_a1hkI :: a_akKH)} -> SIdentity ('Identity n_a1hkI)
type family RunIdentity (a_a1hkD :: Identity (a_akKH :: Type)) :: a_akKH
data IdentitySym0 :: forall (a6989586621679089567 :: Type). (~>) a6989586621679089567 (Identity (a6989586621679089567 :: Type))
type IdentitySym1 (t6989586621679314750 :: a6989586621679089567) = 'Identity t6989586621679314750
data RunIdentitySym0 :: forall (a6989586621679089567 :: Type). (~>) (Identity (a6989586621679089567 :: Type)) a6989586621679089567
type RunIdentitySym1 (a6989586621679314747 :: Identity (a6989586621679089567 :: Type)) = RunIdentity a6989586621679314747
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680722914Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Functor.Identity.Identity
instance forall a6989586621679569953 b6989586621679569954 (a6989586621680722912 :: Data.Functor.Identity.Identity a6989586621679569953). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680722914Sym1 a6989586621680722912)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.LiftA2_6989586621680722898Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Functor.Identity.Identity
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 (a6989586621680722895 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.LiftA2_6989586621680722898Sym1 a6989586621680722895)
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 (a6989586621680722896 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)) (a6989586621680722895 :: Data.Functor.Identity.Identity a6989586621679569932). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.LiftA2_6989586621680722898Sym2 a6989586621680722896 a6989586621680722895)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680722885Sym0
instance forall a6989586621679569930 b6989586621679569931 (a6989586621680722883 :: Data.Functor.Identity.Identity (a6989586621679569930 Data.Singletons.Internal.~> b6989586621679569931)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680722885Sym1 a6989586621680722883)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Pure_6989586621680722875Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.ToList_6989586621680722868Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Functor.Identity.Identity
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Sum_6989586621680722861Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Product_6989586621680722854Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Null_6989586621680722848Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Minimum_6989586621680722841Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Maximum_6989586621680722834Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Length_6989586621680722828Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldr1_6989586621680722818Sym0
instance forall a6989586621680489618 (a6989586621680722816 :: a6989586621680489618 Data.Singletons.Internal.~> (a6989586621680489618 Data.Singletons.Internal.~> a6989586621680489618)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr1_6989586621680722818Sym1 a6989586621680722816)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldr'_6989586621680722796Sym0
instance forall a6989586621680489612 b6989586621680489613 (a6989586621680722793 :: a6989586621680489612 Data.Singletons.Internal.~> (b6989586621680489613 Data.Singletons.Internal.~> b6989586621680489613)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr'_6989586621680722796Sym1 a6989586621680722793)
instance forall a6989586621680489612 b6989586621680489613 (a6989586621680722794 :: a6989586621680489612 Data.Singletons.Internal.~> (b6989586621680489613 Data.Singletons.Internal.~> b6989586621680489613)) (a6989586621680722793 :: b6989586621680489613). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr'_6989586621680722796Sym2 a6989586621680722794 a6989586621680722793)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldr_6989586621680722779Sym0
instance forall a6989586621680489610 b6989586621680489611 (a6989586621680722776 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr_6989586621680722779Sym1 a6989586621680722776)
instance forall a6989586621680489610 b6989586621680489611 (a6989586621680722777 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)) (a6989586621680722776 :: b6989586621680489611). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldr_6989586621680722779Sym2 a6989586621680722777 a6989586621680722776)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldl1_6989586621680722767Sym0
instance forall a6989586621680489619 (a6989586621680722765 :: a6989586621680489619 Data.Singletons.Internal.~> (a6989586621680489619 Data.Singletons.Internal.~> a6989586621680489619)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl1_6989586621680722767Sym1 a6989586621680722765)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldl'_6989586621680722751Sym0
instance forall b6989586621680489616 a6989586621680489617 (a6989586621680722748 :: b6989586621680489616 Data.Singletons.Internal.~> (a6989586621680489617 Data.Singletons.Internal.~> b6989586621680489616)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl'_6989586621680722751Sym1 a6989586621680722748)
instance forall b6989586621680489616 a6989586621680489617 (a6989586621680722749 :: b6989586621680489616 Data.Singletons.Internal.~> (a6989586621680489617 Data.Singletons.Internal.~> b6989586621680489616)) (a6989586621680722748 :: b6989586621680489616). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl'_6989586621680722751Sym2 a6989586621680722749 a6989586621680722748)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Foldl_6989586621680722734Sym0
instance forall b6989586621680489614 a6989586621680489615 (a6989586621680722731 :: b6989586621680489614 Data.Singletons.Internal.~> (a6989586621680489615 Data.Singletons.Internal.~> b6989586621680489614)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl_6989586621680722734Sym1 a6989586621680722731)
instance forall b6989586621680489614 a6989586621680489615 (a6989586621680722732 :: b6989586621680489614 Data.Singletons.Internal.~> (a6989586621680489615 Data.Singletons.Internal.~> b6989586621680489614)) (a6989586621680722731 :: b6989586621680489614). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Foldl_6989586621680722734Sym2 a6989586621680722732 a6989586621680722731)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Elem_6989586621680722721Sym0
instance forall a6989586621680489623 (a6989586621680722719 :: a6989586621680489623). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Elem_6989586621680722721Sym1 a6989586621680722719)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.FoldMap_6989586621680722709Sym0
instance forall a6989586621680489609 m6989586621680489608 (a6989586621680722707 :: a6989586621680489609 Data.Singletons.Internal.~> m6989586621680489608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.FoldMap_6989586621680722709Sym1 a6989586621680722707)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680722690Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Functor.Identity.Identity
instance forall a6989586621679569926 b6989586621679569927 (a6989586621680722688 :: a6989586621679569926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680722690Sym1 a6989586621680722688)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Lambda_6989586621680722698Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Functor.Identity.Identity
instance forall k1 k2 k3 (_z_69895866216807225146989586621680722696 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Lambda_6989586621680722698Sym1 _z_69895866216807225146989586621680722696)
instance forall k1 k2 k3 (a_69895866216807225206989586621680722697 :: k1) (_z_69895866216807225146989586621680722696 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Lambda_6989586621680722698Sym2 a_69895866216807225206989586621680722697 _z_69895866216807225146989586621680722696)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Fmap_6989586621680722678Sym0
instance forall a6989586621679569924 b6989586621679569925 (a6989586621680722676 :: a6989586621679569924 Data.Singletons.Internal.~> b6989586621679569925). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.Fmap_6989586621680722678Sym1 a6989586621680722676)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.ShowsPrec_6989586621680722660Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Functor.Identity.Identity a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.ShowsPrec_6989586621680722660Sym1 a6989586621680722657)
instance forall a6989586621680722161 (a6989586621680722658 :: GHC.Types.Nat) (a6989586621680722657 :: Data.Functor.Identity.Identity a6989586621680722161). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.ShowsPrec_6989586621680722660Sym2 a6989586621680722658 a6989586621680722657)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680722647Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Functor.Identity.Identity a)
instance forall a6989586621680722158 (a6989586621680722645 :: Data.Functor.Identity.Identity a6989586621680722158). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680722647Sym1 a6989586621680722645)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.FromInteger_6989586621680722639Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Functor.Identity.Identity a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Signum_6989586621680722632Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Abs_6989586621680722625Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Negate_6989586621680722618Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680722607Sym0
instance forall a6989586621680722147 (a6989586621680722605 :: Data.Functor.Identity.Identity a6989586621680722147). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680722607Sym1 a6989586621680722605)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680722595Sym0
instance forall a6989586621680722147 (a6989586621680722593 :: Data.Functor.Identity.Identity a6989586621680722147). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680722595Sym1 a6989586621680722593)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.TFHelper_6989586621680722583Sym0
instance forall a6989586621680722147 (a6989586621680722581 :: Data.Functor.Identity.Identity a6989586621680722147). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.TFHelper_6989586621680722583Sym1 a6989586621680722581)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Functor.Identity.Identity a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.EnumFromThenTo_6989586621680722565Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Functor.Identity.Identity a)
instance forall a6989586621680722136 (a6989586621680722562 :: Data.Functor.Identity.Identity a6989586621680722136). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.EnumFromThenTo_6989586621680722565Sym1 a6989586621680722562)
instance forall a6989586621680722136 (a6989586621680722563 :: Data.Functor.Identity.Identity a6989586621680722136) (a6989586621680722562 :: Data.Functor.Identity.Identity a6989586621680722136). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.EnumFromThenTo_6989586621680722565Sym2 a6989586621680722563 a6989586621680722562)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.EnumFromTo_6989586621680722552Sym0
instance forall a6989586621680722136 (a6989586621680722550 :: Data.Functor.Identity.Identity a6989586621680722136). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Identity.EnumFromTo_6989586621680722552Sym1 a6989586621680722550)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.FromEnum_6989586621680722544Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.ToEnum_6989586621680722537Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Pred_6989586621680722530Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Identity.Succ_6989586621680722523Sym0
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_a7kJB :: Const a_a7kJz b_a7kJA) :: a_a7kJz
data ConstSym0 :: forall (a6989586621679095428 :: Type) k6989586621679095427 (b6989586621679095429 :: k6989586621679095427). (~>) a6989586621679095428 (Const (a6989586621679095428 :: Type) (b6989586621679095429 :: k6989586621679095427))
type ConstSym1 (t6989586621680757525 :: a6989586621679095428) = 'Const t6989586621680757525
data GetConstSym0 :: forall a6989586621680757793 b6989586621680757794. (~>) (Const a6989586621680757793 b6989586621680757794) a6989586621680757793
type GetConstSym1 (x6989586621680757795 :: Const a6989586621680757793 b6989586621680757794) = GetConst x6989586621680757795
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_6989586621680759830Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative (Data.Functor.Const.Const m)
instance forall m6989586621680759188 a6989586621679569930 b6989586621679569931 (a6989586621680759828 :: Data.Functor.Const.Const m6989586621680759188 (a6989586621679569930 Data.Singletons.Internal.~> b6989586621679569931)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680759830Sym1 a6989586621680759828)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.LiftA2_6989586621680759815Sym0
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 m6989586621680759188 (a6989586621680759812 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.LiftA2_6989586621680759815Sym1 a6989586621680759812)
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 m6989586621680759188 (a6989586621680759813 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)) (a6989586621680759812 :: Data.Functor.Const.Const m6989586621680759188 a6989586621679569932). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.LiftA2_6989586621680759815Sym2 a6989586621680759813 a6989586621680759812)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Pure_6989586621680759807Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Foldr_6989586621680759781Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable (Data.Functor.Const.Const m)
instance forall a6989586621680489610 b6989586621680489611 m6989586621680759187 (a6989586621680759778 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Foldr_6989586621680759781Sym1 a6989586621680759778)
instance forall a6989586621680489610 b6989586621680489611 m6989586621680759187 (a6989586621680759779 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)) (a6989586621680759778 :: b6989586621680489611). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Foldr_6989586621680759781Sym2 a6989586621680759779 a6989586621680759778)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680759792Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable (Data.Functor.Const.Const m)
instance forall k1 k2 k3 k4 k5 (_f_69895866216807595376989586621680759789 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680759792Sym1 _f_69895866216807595376989586621680759789)
instance forall k1 k2 k3 k4 k5 (_z_69895866216807595396989586621680759790 :: k1) (_f_69895866216807595376989586621680759789 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680759792Sym2 _z_69895866216807595396989586621680759790 _f_69895866216807595376989586621680759789)
instance forall k1 k2 k3 k4 k5 (a_69895866216807595496989586621680759791 :: k1) (_z_69895866216807595396989586621680759790 :: k2) (_f_69895866216807595376989586621680759789 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680759792Sym3 a_69895866216807595496989586621680759791 _z_69895866216807595396989586621680759790 _f_69895866216807595376989586621680759789)
instance forall k1 k2 k3 k4 k5 (t6989586621680759796 :: k1) (a_69895866216807595496989586621680759791 :: k2) (_z_69895866216807595396989586621680759790 :: k3) (_f_69895866216807595376989586621680759789 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680759792Sym4 t6989586621680759796 a_69895866216807595496989586621680759791 _z_69895866216807595396989586621680759790 _f_69895866216807595376989586621680759789)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.FoldMap_6989586621680759761Sym0
instance forall a6989586621680489609 m6989586621680489608 m6989586621680759187 (a6989586621680759759 :: a6989586621680489609 Data.Singletons.Internal.~> m6989586621680489608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.FoldMap_6989586621680759761Sym1 a6989586621680759759)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680759769Sym0
instance forall k1 k2 k3 k4 (_f_69895866216807595376989586621680759767 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680759769Sym1 _f_69895866216807595376989586621680759767)
instance forall k1 k2 k3 k4 (a_69895866216807595436989586621680759768 :: k1) (_f_69895866216807595376989586621680759767 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680759769Sym2 a_69895866216807595436989586621680759768 _f_69895866216807595376989586621680759767)
instance forall a6989586621679569926 k m6989586621680759186 (b6989586621679569927 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680759742Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Functor.Const.Const m)
instance forall a6989586621679569926 k m6989586621680759186 (b6989586621679569927 :: k) (a6989586621680759740 :: a6989586621679569926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680759742Sym1 a6989586621680759740)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680759750Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Functor.Const.Const m)
instance forall k1 k2 k3 (_z_69895866216807595186989586621680759748 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680759750Sym1 _z_69895866216807595186989586621680759748)
instance forall k1 k2 k3 (a_69895866216807595266989586621680759749 :: k1) (_z_69895866216807595186989586621680759748 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680759750Sym2 a_69895866216807595266989586621680759749 _z_69895866216807595186989586621680759748)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Fmap_6989586621680759723Sym0
instance forall a6989586621679569924 b6989586621679569925 m6989586621680759186 (a6989586621680759721 :: a6989586621679569924 Data.Singletons.Internal.~> b6989586621679569925). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Fmap_6989586621680759723Sym1 a6989586621680759721)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Lambda_6989586621680759731Sym0
instance forall k1 k2 k3 (_f_69895866216807595166989586621680759729 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680759731Sym1 _f_69895866216807595166989586621680759729)
instance forall k1 k2 k3 (a_69895866216807595226989586621680759730 :: k1) (_f_69895866216807595166989586621680759729 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Lambda_6989586621680759731Sym2 a_69895866216807595226989586621680759730 _f_69895866216807595166989586621680759729)
instance forall k a6989586621680759182 (b6989586621680759183 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.ShowsPrec_6989586621680759705Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Show.PShow (Data.Functor.Const.Const a b)
instance forall k a6989586621680759182 (b6989586621680759183 :: k) (a6989586621680759702 :: GHC.Types.Nat). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.ShowsPrec_6989586621680759705Sym1 a6989586621680759702)
instance forall k a6989586621680759182 (b6989586621680759183 :: k) (a6989586621680759703 :: GHC.Types.Nat) (a6989586621680759702 :: Data.Functor.Const.Const a6989586621680759182 b6989586621680759183). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.ShowsPrec_6989586621680759705Sym2 a6989586621680759703 a6989586621680759702)
instance forall k a6989586621680759178 (b6989586621680759179 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680759692Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Functor.Const.Const a b)
instance forall k a6989586621680759178 (b6989586621680759179 :: k) (a6989586621680759690 :: Data.Functor.Const.Const a6989586621680759178 b6989586621680759179). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680759692Sym1 a6989586621680759690)
instance forall k a6989586621680759166 (b6989586621680759167 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.FromInteger_6989586621680759684Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Num.PNum (Data.Functor.Const.Const a b)
instance forall k a6989586621680759166 (b6989586621680759167 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Signum_6989586621680759677Sym0
instance forall k a6989586621680759166 (b6989586621680759167 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Abs_6989586621680759670Sym0
instance forall k a6989586621680759166 (b6989586621680759167 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Negate_6989586621680759663Sym0
instance forall k a6989586621680759166 (b6989586621680759167 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680759652Sym0
instance forall k a6989586621680759166 (b6989586621680759167 :: k) (a6989586621680759650 :: Data.Functor.Const.Const a6989586621680759166 b6989586621680759167). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680759652Sym1 a6989586621680759650)
instance forall k a6989586621680759166 (b6989586621680759167 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680759640Sym0
instance forall k a6989586621680759166 (b6989586621680759167 :: k) (a6989586621680759638 :: Data.Functor.Const.Const a6989586621680759166 b6989586621680759167). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680759640Sym1 a6989586621680759638)
instance forall k a6989586621680759166 (b6989586621680759167 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.TFHelper_6989586621680759628Sym0
instance forall k a6989586621680759166 (b6989586621680759167 :: k) (a6989586621680759626 :: Data.Functor.Const.Const a6989586621680759166 b6989586621680759167). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.TFHelper_6989586621680759628Sym1 a6989586621680759626)
instance forall k a (b :: k). Data.Singletons.Prelude.Monoid.PMonoid (Data.Functor.Const.Const a b)
instance forall k a6989586621680759153 (b6989586621680759154 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.EnumFromThenTo_6989586621680759610Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Enum.PEnum (Data.Functor.Const.Const a b)
instance forall k a6989586621680759153 (b6989586621680759154 :: k) (a6989586621680759607 :: Data.Functor.Const.Const a6989586621680759153 b6989586621680759154). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.EnumFromThenTo_6989586621680759610Sym1 a6989586621680759607)
instance forall k a6989586621680759153 (b6989586621680759154 :: k) (a6989586621680759608 :: Data.Functor.Const.Const a6989586621680759153 b6989586621680759154) (a6989586621680759607 :: Data.Functor.Const.Const a6989586621680759153 b6989586621680759154). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.EnumFromThenTo_6989586621680759610Sym2 a6989586621680759608 a6989586621680759607)
instance forall k a6989586621680759153 (b6989586621680759154 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.EnumFromTo_6989586621680759597Sym0
instance forall k a6989586621680759153 (b6989586621680759154 :: k) (a6989586621680759595 :: Data.Functor.Const.Const a6989586621680759153 b6989586621680759154). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.EnumFromTo_6989586621680759597Sym1 a6989586621680759595)
instance forall k a6989586621680759153 (b6989586621680759154 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.FromEnum_6989586621680759589Sym0
instance forall k a6989586621680759153 (b6989586621680759154 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.ToEnum_6989586621680759582Sym0
instance forall k a6989586621680759153 (b6989586621680759154 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Pred_6989586621680759575Sym0
instance forall k a6989586621680759153 (b6989586621680759154 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Succ_6989586621680759568Sym0
instance forall k a6989586621680759151 (b6989586621680759152 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.Compare_6989586621680759557Sym0
instance forall k a (b :: k). Data.Singletons.Prelude.Ord.POrd (Data.Functor.Const.Const a b)
instance forall k a6989586621680759151 (b6989586621680759152 :: k) (a6989586621680759555 :: Data.Functor.Const.Const a6989586621680759151 b6989586621680759152). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Const.Compare_6989586621680759557Sym1 a6989586621680759555)
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 a6989586621680757793 (b6989586621680757794 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.GetConstSym0
instance forall a6989586621679095428 k6989586621679095427 (b6989586621679095429 :: k6989586621679095427). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Const.ConstSym0
instance forall a6989586621679095428 k6989586621679095427 (b6989586621679095429 :: k6989586621679095427). 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_a7v8N :: Type -> Type) where {
    type family Traverse (arg_a7v8Z :: (~>) a_a7v8P (f_a7v8O b_a7v8Q)) (arg_a7v90 :: t_a7v8N a_a7v8P) :: f_a7v8O (t_a7v8N b_a7v8Q);
    type family SequenceA (arg_a7v93 :: t_a7v8N (f_a7v8R a_a7v8S)) :: f_a7v8R (t_a7v8N a_a7v8S);
    type family MapM (arg_a7v95 :: (~>) a_a7v8U (m_a7v8T b_a7v8V)) (arg_a7v96 :: t_a7v8N a_a7v8U) :: m_a7v8T (t_a7v8N b_a7v8V);
    type family Sequence (arg_a7v99 :: t_a7v8N (m_a7v8W a_a7v8X)) :: m_a7v8W (t_a7v8N a_a7v8X);
    type Traverse a_a7v9b a_a7v9c = Apply (Apply Traverse_6989586621680797823Sym0 a_a7v9b) a_a7v9c;
    type SequenceA a_a7v9p = Apply SequenceA_6989586621680797836Sym0 a_a7v9p;
    type MapM a_a7v9y a_a7v9z = Apply (Apply MapM_6989586621680797846Sym0 a_a7v9y) a_a7v9z;
    type Sequence a_a7v9O = Apply Sequence_6989586621680797861Sym0 a_a7v9O;
}
class (SFunctor t_a7v8N, SFoldable t_a7v8N) => STraversable (t_a7v8N :: Type -> Type)
sTraverse :: forall a_a7v8P f_a7v8O b_a7v8Q (t_a7v9X :: (~>) a_a7v8P (f_a7v8O b_a7v8Q)) (t_a7v9Y :: t_a7v8N a_a7v8P). (STraversable t_a7v8N, SApplicative f_a7v8O) => Sing t_a7v9X -> Sing t_a7v9Y -> Sing (Apply (Apply TraverseSym0 t_a7v9X) t_a7v9Y :: f_a7v8O (t_a7v8N b_a7v8Q))
sSequenceA :: forall f_a7v8R a_a7v8S (t_a7va1 :: t_a7v8N (f_a7v8R a_a7v8S)). (STraversable t_a7v8N, SApplicative f_a7v8R) => Sing t_a7va1 -> Sing (Apply SequenceASym0 t_a7va1 :: f_a7v8R (t_a7v8N a_a7v8S))
sMapM :: forall a_a7v8U m_a7v8T b_a7v8V (t_a7va3 :: (~>) a_a7v8U (m_a7v8T b_a7v8V)) (t_a7va4 :: t_a7v8N a_a7v8U). (STraversable t_a7v8N, SMonad m_a7v8T) => Sing t_a7va3 -> Sing t_a7va4 -> Sing (Apply (Apply MapMSym0 t_a7va3) t_a7va4 :: m_a7v8T (t_a7v8N b_a7v8V))
sSequence :: forall m_a7v8W a_a7v8X (t_a7va7 :: t_a7v8N (m_a7v8W a_a7v8X)). (STraversable t_a7v8N, SMonad m_a7v8W) => Sing t_a7va7 -> Sing (Apply SequenceSym0 t_a7va7 :: m_a7v8W (t_a7v8N a_a7v8X))
sTraverse :: forall a_a7v8P f_a7v8O b_a7v8Q (t_a7v9X :: (~>) a_a7v8P (f_a7v8O b_a7v8Q)) (t_a7v9Y :: t_a7v8N a_a7v8P). (STraversable t_a7v8N, (Apply (Apply TraverseSym0 t_a7v9X) t_a7v9Y :: f_a7v8O (t_a7v8N b_a7v8Q)) ~ Apply (Apply Traverse_6989586621680797823Sym0 t_a7v9X) t_a7v9Y, SApplicative f_a7v8O) => Sing t_a7v9X -> Sing t_a7v9Y -> Sing (Apply (Apply TraverseSym0 t_a7v9X) t_a7v9Y :: f_a7v8O (t_a7v8N b_a7v8Q))
sSequenceA :: forall f_a7v8R a_a7v8S (t_a7va1 :: t_a7v8N (f_a7v8R a_a7v8S)). (STraversable t_a7v8N, (Apply SequenceASym0 t_a7va1 :: f_a7v8R (t_a7v8N a_a7v8S)) ~ Apply SequenceA_6989586621680797836Sym0 t_a7va1, SApplicative f_a7v8R) => Sing t_a7va1 -> Sing (Apply SequenceASym0 t_a7va1 :: f_a7v8R (t_a7v8N a_a7v8S))
sMapM :: forall a_a7v8U m_a7v8T b_a7v8V (t_a7va3 :: (~>) a_a7v8U (m_a7v8T b_a7v8V)) (t_a7va4 :: t_a7v8N a_a7v8U). (STraversable t_a7v8N, (Apply (Apply MapMSym0 t_a7va3) t_a7va4 :: m_a7v8T (t_a7v8N b_a7v8V)) ~ Apply (Apply MapM_6989586621680797846Sym0 t_a7va3) t_a7va4, SMonad m_a7v8T) => Sing t_a7va3 -> Sing t_a7va4 -> Sing (Apply (Apply MapMSym0 t_a7va3) t_a7va4 :: m_a7v8T (t_a7v8N b_a7v8V))
sSequence :: forall m_a7v8W a_a7v8X (t_a7va7 :: t_a7v8N (m_a7v8W a_a7v8X)). (STraversable t_a7v8N, (Apply SequenceSym0 t_a7va7 :: m_a7v8W (t_a7v8N a_a7v8X)) ~ Apply Sequence_6989586621680797861Sym0 t_a7va7, SMonad m_a7v8W) => Sing t_a7va7 -> Sing (Apply SequenceSym0 t_a7va7 :: m_a7v8W (t_a7v8N a_a7v8X))
type family For (a_a7wIF :: t_a7wAa a_a7wAc) (a_a7wIG :: (~>) a_a7wAc (f_a7wAb b_a7wAd)) :: f_a7wAb (t_a7wAa b_a7wAd)
sFor :: forall t_a7wAa a_a7wAc f_a7wAb b_a7wAd (t_a7wS2 :: t_a7wAa a_a7wAc) (t_a7wS3 :: (~>) a_a7wAc (f_a7wAb b_a7wAd)). (STraversable t_a7wAa, SApplicative f_a7wAb) => Sing t_a7wS2 -> Sing t_a7wS3 -> Sing (Apply (Apply ForSym0 t_a7wS2) t_a7wS3 :: f_a7wAb (t_a7wAa b_a7wAd))
type family ForM (a_a7wIv :: t_a7wA6 a_a7wA8) (a_a7wIw :: (~>) a_a7wA8 (m_a7wA7 b_a7wA9)) :: m_a7wA7 (t_a7wA6 b_a7wA9)
sForM :: forall t_a7wA6 a_a7wA8 m_a7wA7 b_a7wA9 (t_a7wRY :: t_a7wA6 a_a7wA8) (t_a7wRZ :: (~>) a_a7wA8 (m_a7wA7 b_a7wA9)). (STraversable t_a7wA6, SMonad m_a7wA7) => Sing t_a7wRY -> Sing t_a7wRZ -> Sing (Apply (Apply ForMSym0 t_a7wRY) t_a7wRZ :: m_a7wA7 (t_a7wA6 b_a7wA9))
type family MapAccumL (a_a7wIa :: (~>) a_a7wA3 ((~>) b_a7wA4 (a_a7wA3, c_a7wA5))) (a_a7wIb :: a_a7wA3) (a_a7wIc :: t_a7wA2 b_a7wA4) :: (a_a7wA3, t_a7wA2 c_a7wA5)
sMapAccumL :: forall a_a7wA3 b_a7wA4 c_a7wA5 t_a7wA2 (t_a7wRS :: (~>) a_a7wA3 ((~>) b_a7wA4 (a_a7wA3, c_a7wA5))) (t_a7wRT :: a_a7wA3) (t_a7wRU :: t_a7wA2 b_a7wA4). STraversable t_a7wA2 => Sing t_a7wRS -> Sing t_a7wRT -> Sing t_a7wRU -> Sing (Apply (Apply (Apply MapAccumLSym0 t_a7wRS) t_a7wRT) t_a7wRU :: (a_a7wA3, t_a7wA2 c_a7wA5))
type family MapAccumR (a_a7wHT :: (~>) a_a7wzZ ((~>) b_a7wA0 (a_a7wzZ, c_a7wA1))) (a_a7wHU :: a_a7wzZ) (a_a7wHV :: t_a7wzY b_a7wA0) :: (a_a7wzZ, t_a7wzY c_a7wA1)
sMapAccumR :: forall a_a7wzZ b_a7wA0 c_a7wA1 t_a7wzY (t_a7wRM :: (~>) a_a7wzZ ((~>) b_a7wA0 (a_a7wzZ, c_a7wA1))) (t_a7wRN :: a_a7wzZ) (t_a7wRO :: t_a7wzY b_a7wA0). STraversable t_a7wzY => Sing t_a7wRM -> Sing t_a7wRN -> Sing t_a7wRO -> Sing (Apply (Apply (Apply MapAccumRSym0 t_a7wRM) t_a7wRN) t_a7wRO :: (a_a7wzZ, t_a7wzY c_a7wA1))
type family FmapDefault (a_a7wHG :: (~>) a_a7wzW b_a7wzX) (a_a7wHH :: t_a7wzV a_a7wzW) :: t_a7wzV b_a7wzX
sFmapDefault :: forall a_a7wzW b_a7wzX t_a7wzV (t_a7wRI :: (~>) a_a7wzW b_a7wzX) (t_a7wRJ :: t_a7wzV a_a7wzW). STraversable t_a7wzV => Sing t_a7wRI -> Sing t_a7wRJ -> Sing (Apply (Apply FmapDefaultSym0 t_a7wRI) t_a7wRJ :: t_a7wzV b_a7wzX)
type family FoldMapDefault (a_a7wHl :: (~>) a_a7wzU m_a7wzT) (a_a7wHm :: t_a7wzS a_a7wzU) :: m_a7wzT
sFoldMapDefault :: forall a_a7wzU m_a7wzT t_a7wzS (t_a7wRE :: (~>) a_a7wzU m_a7wzT) (t_a7wRF :: t_a7wzS a_a7wzU). (STraversable t_a7wzS, SMonoid m_a7wzT) => Sing t_a7wRE -> Sing t_a7wRF -> Sing (Apply (Apply FoldMapDefaultSym0 t_a7wRE) t_a7wRF :: m_a7wzT)
data TraverseSym0 :: forall a6989586621680797799 f6989586621680797798 b6989586621680797800 t6989586621680797797. (~>) ((~>) a6989586621680797799 (f6989586621680797798 b6989586621680797800)) ((~>) (t6989586621680797797 a6989586621680797799) (f6989586621680797798 (t6989586621680797797 b6989586621680797800)))
data TraverseSym1 (arg6989586621680797809 :: (~>) a6989586621680797799 (f6989586621680797798 b6989586621680797800)) :: forall t6989586621680797797. (~>) (t6989586621680797797 a6989586621680797799) (f6989586621680797798 (t6989586621680797797 b6989586621680797800))
type TraverseSym2 (arg6989586621680797809 :: (~>) a6989586621680797799 (f6989586621680797798 b6989586621680797800)) (arg6989586621680797810 :: t6989586621680797797 a6989586621680797799) = Traverse arg6989586621680797809 arg6989586621680797810
data SequenceASym0 :: forall t6989586621680797797 f6989586621680797801 a6989586621680797802. (~>) (t6989586621680797797 (f6989586621680797801 a6989586621680797802)) (f6989586621680797801 (t6989586621680797797 a6989586621680797802))
type SequenceASym1 (arg6989586621680797813 :: t6989586621680797797 (f6989586621680797801 a6989586621680797802)) = SequenceA arg6989586621680797813
data MapMSym0 :: forall a6989586621680797804 m6989586621680797803 b6989586621680797805 t6989586621680797797. (~>) ((~>) a6989586621680797804 (m6989586621680797803 b6989586621680797805)) ((~>) (t6989586621680797797 a6989586621680797804) (m6989586621680797803 (t6989586621680797797 b6989586621680797805)))
data MapMSym1 (arg6989586621680797815 :: (~>) a6989586621680797804 (m6989586621680797803 b6989586621680797805)) :: forall t6989586621680797797. (~>) (t6989586621680797797 a6989586621680797804) (m6989586621680797803 (t6989586621680797797 b6989586621680797805))
type MapMSym2 (arg6989586621680797815 :: (~>) a6989586621680797804 (m6989586621680797803 b6989586621680797805)) (arg6989586621680797816 :: t6989586621680797797 a6989586621680797804) = MapM arg6989586621680797815 arg6989586621680797816
data SequenceSym0 :: forall t6989586621680797797 m6989586621680797806 a6989586621680797807. (~>) (t6989586621680797797 (m6989586621680797806 a6989586621680797807)) (m6989586621680797806 (t6989586621680797797 a6989586621680797807))
type SequenceSym1 (arg6989586621680797819 :: t6989586621680797797 (m6989586621680797806 a6989586621680797807)) = Sequence arg6989586621680797819
data ForSym0 :: forall t6989586621680803338 a6989586621680803340 f6989586621680803339 b6989586621680803341. (~>) (t6989586621680803338 a6989586621680803340) ((~>) ((~>) a6989586621680803340 (f6989586621680803339 b6989586621680803341)) (f6989586621680803339 (t6989586621680803338 b6989586621680803341)))
data ForSym1 (a6989586621680803865 :: t6989586621680803338 a6989586621680803340) :: forall f6989586621680803339 b6989586621680803341. (~>) ((~>) a6989586621680803340 (f6989586621680803339 b6989586621680803341)) (f6989586621680803339 (t6989586621680803338 b6989586621680803341))
type ForSym2 (a6989586621680803865 :: t6989586621680803338 a6989586621680803340) (a6989586621680803866 :: (~>) a6989586621680803340 (f6989586621680803339 b6989586621680803341)) = For a6989586621680803865 a6989586621680803866
data ForMSym0 :: forall t6989586621680803334 a6989586621680803336 m6989586621680803335 b6989586621680803337. (~>) (t6989586621680803334 a6989586621680803336) ((~>) ((~>) a6989586621680803336 (m6989586621680803335 b6989586621680803337)) (m6989586621680803335 (t6989586621680803334 b6989586621680803337)))
data ForMSym1 (a6989586621680803855 :: t6989586621680803334 a6989586621680803336) :: forall m6989586621680803335 b6989586621680803337. (~>) ((~>) a6989586621680803336 (m6989586621680803335 b6989586621680803337)) (m6989586621680803335 (t6989586621680803334 b6989586621680803337))
type ForMSym2 (a6989586621680803855 :: t6989586621680803334 a6989586621680803336) (a6989586621680803856 :: (~>) a6989586621680803336 (m6989586621680803335 b6989586621680803337)) = ForM a6989586621680803855 a6989586621680803856
data MapAccumLSym0 :: forall a6989586621680803331 b6989586621680803332 c6989586621680803333 t6989586621680803330. (~>) ((~>) a6989586621680803331 ((~>) b6989586621680803332 (a6989586621680803331, c6989586621680803333))) ((~>) a6989586621680803331 ((~>) (t6989586621680803330 b6989586621680803332) (a6989586621680803331, t6989586621680803330 c6989586621680803333)))
data MapAccumLSym1 (a6989586621680803834 :: (~>) a6989586621680803331 ((~>) b6989586621680803332 (a6989586621680803331, c6989586621680803333))) :: forall t6989586621680803330. (~>) a6989586621680803331 ((~>) (t6989586621680803330 b6989586621680803332) (a6989586621680803331, t6989586621680803330 c6989586621680803333))
data MapAccumLSym2 (a6989586621680803834 :: (~>) a6989586621680803331 ((~>) b6989586621680803332 (a6989586621680803331, c6989586621680803333))) (a6989586621680803835 :: a6989586621680803331) :: forall t6989586621680803330. (~>) (t6989586621680803330 b6989586621680803332) (a6989586621680803331, t6989586621680803330 c6989586621680803333)
type MapAccumLSym3 (a6989586621680803834 :: (~>) a6989586621680803331 ((~>) b6989586621680803332 (a6989586621680803331, c6989586621680803333))) (a6989586621680803835 :: a6989586621680803331) (a6989586621680803836 :: t6989586621680803330 b6989586621680803332) = MapAccumL a6989586621680803834 a6989586621680803835 a6989586621680803836
data MapAccumRSym0 :: forall a6989586621680803327 b6989586621680803328 c6989586621680803329 t6989586621680803326. (~>) ((~>) a6989586621680803327 ((~>) b6989586621680803328 (a6989586621680803327, c6989586621680803329))) ((~>) a6989586621680803327 ((~>) (t6989586621680803326 b6989586621680803328) (a6989586621680803327, t6989586621680803326 c6989586621680803329)))
data MapAccumRSym1 (a6989586621680803817 :: (~>) a6989586621680803327 ((~>) b6989586621680803328 (a6989586621680803327, c6989586621680803329))) :: forall t6989586621680803326. (~>) a6989586621680803327 ((~>) (t6989586621680803326 b6989586621680803328) (a6989586621680803327, t6989586621680803326 c6989586621680803329))
data MapAccumRSym2 (a6989586621680803817 :: (~>) a6989586621680803327 ((~>) b6989586621680803328 (a6989586621680803327, c6989586621680803329))) (a6989586621680803818 :: a6989586621680803327) :: forall t6989586621680803326. (~>) (t6989586621680803326 b6989586621680803328) (a6989586621680803327, t6989586621680803326 c6989586621680803329)
type MapAccumRSym3 (a6989586621680803817 :: (~>) a6989586621680803327 ((~>) b6989586621680803328 (a6989586621680803327, c6989586621680803329))) (a6989586621680803818 :: a6989586621680803327) (a6989586621680803819 :: t6989586621680803326 b6989586621680803328) = MapAccumR a6989586621680803817 a6989586621680803818 a6989586621680803819
data FmapDefaultSym0 :: forall a6989586621680803324 b6989586621680803325 t6989586621680803323. (~>) ((~>) a6989586621680803324 b6989586621680803325) ((~>) (t6989586621680803323 a6989586621680803324) (t6989586621680803323 b6989586621680803325))
data FmapDefaultSym1 (a6989586621680803804 :: (~>) a6989586621680803324 b6989586621680803325) :: forall t6989586621680803323. (~>) (t6989586621680803323 a6989586621680803324) (t6989586621680803323 b6989586621680803325)
type FmapDefaultSym2 (a6989586621680803804 :: (~>) a6989586621680803324 b6989586621680803325) (a6989586621680803805 :: t6989586621680803323 a6989586621680803324) = FmapDefault a6989586621680803804 a6989586621680803805
data FoldMapDefaultSym0 :: forall a6989586621680803322 m6989586621680803321 t6989586621680803320. (~>) ((~>) a6989586621680803322 m6989586621680803321) ((~>) (t6989586621680803320 a6989586621680803322) m6989586621680803321)
data FoldMapDefaultSym1 (a6989586621680803783 :: (~>) a6989586621680803322 m6989586621680803321) :: forall t6989586621680803320. (~>) (t6989586621680803320 a6989586621680803322) m6989586621680803321
type FoldMapDefaultSym2 (a6989586621680803783 :: (~>) a6989586621680803322 m6989586621680803321) (a6989586621680803784 :: t6989586621680803320 a6989586621680803322) = FoldMapDefault a6989586621680803783 a6989586621680803784
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.LiftA2_6989586621680804347Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative (Data.Singletons.Prelude.Traversable.StateR s)
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 s6989586621680803381 (a6989586621680804344 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680804347Sym1 a6989586621680804344)
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 s6989586621680803381 (a6989586621680804345 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)) (a6989586621680804344 :: Data.Singletons.Prelude.Traversable.StateR s6989586621680803381 a6989586621679569932). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680804347Sym2 a6989586621680804345 a6989586621680804344)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680804358Sym0
instance Data.Singletons.Prelude.Monad.Internal.SApplicative (Data.Singletons.Prelude.Traversable.StateR s)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680804355 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680804358Sym1 f6989586621680804355)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680804356 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (f6989586621680804355 :: k5 Data.Singletons.Internal.~> (k6, k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680804358Sym2 kx6989586621680804356 f6989586621680804355)
instance forall k2 k3 k4 k5 k6 k7 (ky6989586621680804357 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (kx6989586621680804356 :: k5 Data.Singletons.Internal.~> (k6, k2)) (f6989586621680804355 :: k7 Data.Singletons.Internal.~> (k5, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680804358Sym3 ky6989586621680804357 kx6989586621680804356 f6989586621680804355)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804361X_6989586621680804362Sym0
instance forall k1 k2 k3 k4 (s6989586621680804360 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804361X_6989586621680804362Sym1 s6989586621680804360)
instance forall k1 k2 k3 k4 (f6989586621680804355 :: k1) (s6989586621680804360 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804361X_6989586621680804362Sym2 f6989586621680804355 s6989586621680804360)
instance forall k1 k2 k3 k4 (kx6989586621680804356 :: k1) (f6989586621680804355 :: k2) (s6989586621680804360 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804361X_6989586621680804362Sym3 kx6989586621680804356 f6989586621680804355 s6989586621680804360)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804361YSym0
instance forall k1 k2 k3 k4 k5 (s6989586621680804360 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804361YSym1 s6989586621680804360)
instance forall k1 k2 k3 k4 k5 (f6989586621680804355 :: k1) (s6989586621680804360 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804361YSym2 f6989586621680804355 s6989586621680804360)
instance forall k1 k2 k3 k4 k5 (kx6989586621680804356 :: k1) (f6989586621680804355 :: k2) (s6989586621680804360 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804361YSym3 kx6989586621680804356 f6989586621680804355 s6989586621680804360)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804361S'Sym0
instance forall k1 k2 k3 k4 k5 (s6989586621680804360 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804361S'Sym1 s6989586621680804360)
instance forall k1 k2 k3 k4 k5 (f6989586621680804355 :: k1) (s6989586621680804360 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804361S'Sym2 f6989586621680804355 s6989586621680804360)
instance forall k1 k2 k3 k4 k5 (kx6989586621680804356 :: k1) (f6989586621680804355 :: k2) (s6989586621680804360 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804361S'Sym3 kx6989586621680804356 f6989586621680804355 s6989586621680804360)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804361X_6989586621680804368Sym0
instance forall k2 k3 k4 k5 k6 (s6989586621680804360 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804361X_6989586621680804368Sym1 s6989586621680804360)
instance forall k2 k3 k4 k5 k6 (f6989586621680804355 :: k2) (s6989586621680804360 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804361X_6989586621680804368Sym2 f6989586621680804355 s6989586621680804360)
instance forall k2 k3 k4 k5 k6 (kx6989586621680804356 :: k2) (f6989586621680804355 :: k3) (s6989586621680804360 :: k4 Data.Singletons.Internal.~> k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804361X_6989586621680804368Sym3 kx6989586621680804356 f6989586621680804355 s6989586621680804360)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804361XSym0
instance forall k2 k3 k4 k5 k6 k7 (s6989586621680804360 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804361XSym1 s6989586621680804360)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680804355 :: k2) (s6989586621680804360 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804361XSym2 f6989586621680804355 s6989586621680804360)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680804356 :: k2) (f6989586621680804355 :: k3) (s6989586621680804360 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804361XSym3 kx6989586621680804356 f6989586621680804355 s6989586621680804360)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804361S''Sym0
instance forall k2 k3 k4 k5 k6 k7 (s6989586621680804360 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804361S''Sym1 s6989586621680804360)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680804355 :: k2) (s6989586621680804360 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804361S''Sym2 f6989586621680804355 s6989586621680804360)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680804356 :: k2) (f6989586621680804355 :: k3) (s6989586621680804360 :: k4 Data.Singletons.Internal.~> (k5, k6)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804361S''Sym3 kx6989586621680804356 f6989586621680804355 s6989586621680804360)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.TFHelper_6989586621680804280Sym0
instance forall s6989586621680803381 a6989586621679569930 b6989586621679569931 (a6989586621680804278 :: Data.Singletons.Prelude.Traversable.StateR s6989586621680803381 (a6989586621679569930 Data.Singletons.Internal.~> b6989586621679569931)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.TFHelper_6989586621680804280Sym1 a6989586621680804278)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680804288Sym0
instance forall k2 k3 k4 k5 k6 (kf6989586621680804286 :: k2 Data.Singletons.Internal.~> (k3, k4 Data.Singletons.Internal.~> k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680804288Sym1 kf6989586621680804286)
instance forall k2 k3 k4 k5 k6 (kv6989586621680804287 :: k2 Data.Singletons.Internal.~> (k3, k4 Data.Singletons.Internal.~> k5)) (kf6989586621680804286 :: k6 Data.Singletons.Internal.~> (k2, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680804288Sym2 kv6989586621680804287 kf6989586621680804286)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804291X_6989586621680804292Sym0
instance forall k1 k2 k3 (s6989586621680804290 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804291X_6989586621680804292Sym1 s6989586621680804290)
instance forall k1 k2 k3 (kf6989586621680804286 :: k1) (s6989586621680804290 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804291X_6989586621680804292Sym2 kf6989586621680804286 s6989586621680804290)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804291VSym0
instance forall k1 k2 k3 k4 (s6989586621680804290 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804291VSym1 s6989586621680804290)
instance forall k1 k2 k3 k4 (kf6989586621680804286 :: k1) (s6989586621680804290 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804291VSym2 kf6989586621680804286 s6989586621680804290)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804291S'Sym0
instance forall k1 k2 k3 k4 (s6989586621680804290 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804291S'Sym1 s6989586621680804290)
instance forall k1 k2 k3 k4 (kf6989586621680804286 :: k1) (s6989586621680804290 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804291S'Sym2 kf6989586621680804286 s6989586621680804290)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804291X_6989586621680804298Sym0
instance forall k2 k3 k4 k5 (s6989586621680804290 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804291X_6989586621680804298Sym1 s6989586621680804290)
instance forall k2 k3 k4 k5 (kf6989586621680804286 :: k2) (s6989586621680804290 :: k3 Data.Singletons.Internal.~> k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804291X_6989586621680804298Sym2 kf6989586621680804286 s6989586621680804290)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804291FSym0
instance forall k2 k3 k4 k5 k6 (s6989586621680804290 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804291FSym1 s6989586621680804290)
instance forall k2 k3 k4 k5 k6 (kf6989586621680804286 :: k2) (s6989586621680804290 :: k3 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804291FSym2 kf6989586621680804286 s6989586621680804290)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804291S''Sym0
instance forall k2 k3 k4 k5 k6 (s6989586621680804290 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804291S''Sym1 s6989586621680804290)
instance forall k2 k3 k4 k5 k6 (kf6989586621680804286 :: k2) (s6989586621680804290 :: k3 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804291S''Sym2 kf6989586621680804286 s6989586621680804290)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Pure_6989586621680804266Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680804271Sym0
instance forall k2 k3 (x6989586621680804270 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680804271Sym1 x6989586621680804270)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Fmap_6989586621680804224Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Singletons.Prelude.Traversable.StateR s)
instance forall a6989586621679569924 b6989586621679569925 s6989586621680803375 (a6989586621680804222 :: a6989586621679569924 Data.Singletons.Internal.~> b6989586621679569925). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Fmap_6989586621680804224Sym1 a6989586621680804222)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680804232Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Singletons.Prelude.Traversable.StateR s)
instance forall k2 k3 k4 k (f6989586621680804230 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680804232Sym1 f6989586621680804230)
instance forall k2 k3 k4 k (k6989586621680804231 :: k2 Data.Singletons.Internal.~> k3) (f6989586621680804230 :: k4 Data.Singletons.Internal.~> (k, k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680804232Sym2 k6989586621680804231 f6989586621680804230)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804235X_6989586621680804236Sym0
instance forall k1 k2 k3 (s6989586621680804234 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804235X_6989586621680804236Sym1 s6989586621680804234)
instance forall k1 k2 k3 (f6989586621680804230 :: k1) (s6989586621680804234 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804235X_6989586621680804236Sym2 f6989586621680804230 s6989586621680804234)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804235VSym0
instance forall k1 k2 k3 k4 (s6989586621680804234 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804235VSym1 s6989586621680804234)
instance forall k1 k2 k3 k4 (f6989586621680804230 :: k1) (s6989586621680804234 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804235VSym2 f6989586621680804230 s6989586621680804234)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804235S'Sym0
instance forall k1 k2 k3 k4 (s6989586621680804234 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804235S'Sym1 s6989586621680804234)
instance forall k1 k2 k3 k4 (f6989586621680804230 :: k1) (s6989586621680804234 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804235S'Sym2 f6989586621680804230 s6989586621680804234)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.LiftA2_6989586621680804147Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative (Data.Singletons.Prelude.Traversable.StateL s)
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 s6989586621680803357 (a6989586621680804144 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680804147Sym1 a6989586621680804144)
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 s6989586621680803357 (a6989586621680804145 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)) (a6989586621680804144 :: Data.Singletons.Prelude.Traversable.StateL s6989586621680803357 a6989586621679569932). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.LiftA2_6989586621680804147Sym2 a6989586621680804145 a6989586621680804144)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680804158Sym0
instance Data.Singletons.Prelude.Monad.Internal.SApplicative (Data.Singletons.Prelude.Traversable.StateL s)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680804155 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680804158Sym1 f6989586621680804155)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680804156 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (f6989586621680804155 :: k5 Data.Singletons.Internal.~> (k6, k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680804158Sym2 kx6989586621680804156 f6989586621680804155)
instance forall k2 k3 k4 k5 k6 k7 (ky6989586621680804157 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> k4)) (kx6989586621680804156 :: k5 Data.Singletons.Internal.~> (k6, k2)) (f6989586621680804155 :: k6 Data.Singletons.Internal.~> (k7, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680804158Sym3 ky6989586621680804157 kx6989586621680804156 f6989586621680804155)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804161X_6989586621680804162Sym0
instance forall k1 k2 k3 k4 (s6989586621680804160 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804161X_6989586621680804162Sym1 s6989586621680804160)
instance forall k1 k2 k3 k4 (f6989586621680804155 :: k1) (s6989586621680804160 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804161X_6989586621680804162Sym2 f6989586621680804155 s6989586621680804160)
instance forall k1 k2 k3 k4 (kx6989586621680804156 :: k1) (f6989586621680804155 :: k2) (s6989586621680804160 :: k1 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804161X_6989586621680804162Sym3 kx6989586621680804156 f6989586621680804155 s6989586621680804160)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804161XSym0
instance forall k1 k2 k3 k4 k5 (s6989586621680804160 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804161XSym1 s6989586621680804160)
instance forall k1 k2 k3 k4 k5 (f6989586621680804155 :: k1) (s6989586621680804160 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804161XSym2 f6989586621680804155 s6989586621680804160)
instance forall k1 k2 k3 k4 k5 (kx6989586621680804156 :: k1) (f6989586621680804155 :: k2) (s6989586621680804160 :: k1 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804161XSym3 kx6989586621680804156 f6989586621680804155 s6989586621680804160)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804161S'Sym0
instance forall k1 k2 k3 k4 k5 (s6989586621680804160 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804161S'Sym1 s6989586621680804160)
instance forall k1 k2 k3 k4 k5 (f6989586621680804155 :: k1) (s6989586621680804160 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804161S'Sym2 f6989586621680804155 s6989586621680804160)
instance forall k1 k2 k3 k4 k5 (kx6989586621680804156 :: k1) (f6989586621680804155 :: k2) (s6989586621680804160 :: k1 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804161S'Sym3 kx6989586621680804156 f6989586621680804155 s6989586621680804160)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804161X_6989586621680804168Sym0
instance forall k2 k3 k4 k5 k6 (s6989586621680804160 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804161X_6989586621680804168Sym1 s6989586621680804160)
instance forall k2 k3 k4 k5 k6 (f6989586621680804155 :: k2) (s6989586621680804160 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804161X_6989586621680804168Sym2 f6989586621680804155 s6989586621680804160)
instance forall k2 k3 k4 k5 k6 (kx6989586621680804156 :: k2) (f6989586621680804155 :: k3) (s6989586621680804160 :: k2 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804161X_6989586621680804168Sym3 kx6989586621680804156 f6989586621680804155 s6989586621680804160)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804161YSym0
instance forall k2 k3 k4 k5 k6 k7 (s6989586621680804160 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804161YSym1 s6989586621680804160)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680804155 :: k2) (s6989586621680804160 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804161YSym2 f6989586621680804155 s6989586621680804160)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680804156 :: k2) (f6989586621680804155 :: k3) (s6989586621680804160 :: k2 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804161YSym3 kx6989586621680804156 f6989586621680804155 s6989586621680804160)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804161S''Sym0
instance forall k2 k3 k4 k5 k6 k7 (s6989586621680804160 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804161S''Sym1 s6989586621680804160)
instance forall k2 k3 k4 k5 k6 k7 (f6989586621680804155 :: k2) (s6989586621680804160 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804161S''Sym2 f6989586621680804155 s6989586621680804160)
instance forall k2 k3 k4 k5 k6 k7 (kx6989586621680804156 :: k2) (f6989586621680804155 :: k3) (s6989586621680804160 :: k2 Data.Singletons.Internal.~> (k4, k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804161S''Sym3 kx6989586621680804156 f6989586621680804155 s6989586621680804160)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.TFHelper_6989586621680804080Sym0
instance forall s6989586621680803357 a6989586621679569930 b6989586621679569931 (a6989586621680804078 :: Data.Singletons.Prelude.Traversable.StateL s6989586621680803357 (a6989586621679569930 Data.Singletons.Internal.~> b6989586621679569931)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.TFHelper_6989586621680804080Sym1 a6989586621680804078)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680804088Sym0
instance forall k2 k3 k4 k5 k (kf6989586621680804086 :: k2 Data.Singletons.Internal.~> (k3, k4 Data.Singletons.Internal.~> k5)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680804088Sym1 kf6989586621680804086)
instance forall k2 k3 k4 k5 k (kv6989586621680804087 :: k2 Data.Singletons.Internal.~> (k3, k4 Data.Singletons.Internal.~> k5)) (kf6989586621680804086 :: k3 Data.Singletons.Internal.~> (k, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680804088Sym2 kv6989586621680804087 kf6989586621680804086)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804091X_6989586621680804092Sym0
instance forall k1 k2 k3 (s6989586621680804090 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804091X_6989586621680804092Sym1 s6989586621680804090)
instance forall k1 k2 k3 (kf6989586621680804086 :: k1) (s6989586621680804090 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804091X_6989586621680804092Sym2 kf6989586621680804086 s6989586621680804090)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804091FSym0
instance forall k1 k2 k3 k4 (s6989586621680804090 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804091FSym1 s6989586621680804090)
instance forall k1 k2 k3 k4 (kf6989586621680804086 :: k1) (s6989586621680804090 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804091FSym2 kf6989586621680804086 s6989586621680804090)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804091S'Sym0
instance forall k1 k2 k3 k4 (s6989586621680804090 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804091S'Sym1 s6989586621680804090)
instance forall k1 k2 k3 k4 (kf6989586621680804086 :: k1) (s6989586621680804090 :: k1 Data.Singletons.Internal.~> (k2, k3)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804091S'Sym2 kf6989586621680804086 s6989586621680804090)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804091X_6989586621680804098Sym0
instance forall k2 k3 k4 k5 (s6989586621680804090 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804091X_6989586621680804098Sym1 s6989586621680804090)
instance forall k2 k3 k4 k5 (kf6989586621680804086 :: k2) (s6989586621680804090 :: k2 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804091X_6989586621680804098Sym2 kf6989586621680804086 s6989586621680804090)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804091VSym0
instance forall k2 k3 k4 k5 k6 (s6989586621680804090 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804091VSym1 s6989586621680804090)
instance forall k2 k3 k4 k5 k6 (kf6989586621680804086 :: k2) (s6989586621680804090 :: k2 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804091VSym2 kf6989586621680804086 s6989586621680804090)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804091S''Sym0
instance forall k2 k3 k4 k5 k6 (s6989586621680804090 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804091S''Sym1 s6989586621680804090)
instance forall k2 k3 k4 k5 k6 (kf6989586621680804086 :: k2) (s6989586621680804090 :: k2 Data.Singletons.Internal.~> (k3, k4)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804091S''Sym2 kf6989586621680804086 s6989586621680804090)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Pure_6989586621680804066Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680804071Sym0
instance forall k2 k3 (x6989586621680804070 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680804071Sym1 x6989586621680804070)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Fmap_6989586621680804024Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Singletons.Prelude.Traversable.StateL s)
instance forall a6989586621679569924 b6989586621679569925 s6989586621680803351 (a6989586621680804022 :: a6989586621679569924 Data.Singletons.Internal.~> b6989586621679569925). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Fmap_6989586621680804024Sym1 a6989586621680804022)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Lambda_6989586621680804032Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Singletons.Prelude.Traversable.StateL s)
instance forall k2 k3 k4 k (f6989586621680804030 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680804032Sym1 f6989586621680804030)
instance forall k2 k3 k4 k (k6989586621680804031 :: k2 Data.Singletons.Internal.~> k3) (f6989586621680804030 :: k4 Data.Singletons.Internal.~> (k, k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Lambda_6989586621680804032Sym2 k6989586621680804031 f6989586621680804030)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804035X_6989586621680804036Sym0
instance forall k1 k2 k3 (s6989586621680804034 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804035X_6989586621680804036Sym1 s6989586621680804034)
instance forall k1 k2 k3 (f6989586621680804030 :: k1) (s6989586621680804034 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804035X_6989586621680804036Sym2 f6989586621680804030 s6989586621680804034)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804035VSym0
instance forall k1 k2 k3 k4 (s6989586621680804034 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804035VSym1 s6989586621680804034)
instance forall k1 k2 k3 k4 (f6989586621680804030 :: k1) (s6989586621680804034 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804035VSym2 f6989586621680804030 s6989586621680804034)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680804035S'Sym0
instance forall k1 k2 k3 k4 (s6989586621680804034 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804035S'Sym1 s6989586621680804034)
instance forall k1 k2 k3 k4 (f6989586621680804030 :: k1) (s6989586621680804034 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680804035S'Sym2 f6989586621680804030 s6989586621680804034)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680804012Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Functor.Identity.Identity
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 (a6989586621680804010 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680804012Sym1 a6989586621680804010)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680804000Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Monoid.Last
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 (a6989586621680803998 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680804000Sym1 a6989586621680803998)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680803988Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Monoid.First
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 (a6989586621680803986 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680803988Sym1 a6989586621680803986)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680803976Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Internal.Product
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 (a6989586621680803974 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680803976Sym1 a6989586621680803974)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680803964Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Internal.Sum
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 (a6989586621680803962 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680803964Sym1 a6989586621680803962)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680803952Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Internal.Dual
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 (a6989586621680803950 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680803952Sym1 a6989586621680803950)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680803940Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable (Data.Functor.Const.Const m)
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 m6989586621680803350 (a6989586621680803938 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680803940Sym1 a6989586621680803938)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680803927Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable ((,) a)
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 a6989586621680803349 (a6989586621680803925 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680803927Sym1 a6989586621680803925)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680803913Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable (Data.Either.Either a)
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 a6989586621680803348 (a6989586621680803911 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680803913Sym1 a6989586621680803911)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680803900Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable GHC.Base.NonEmpty
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 (a6989586621680803898 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680803900Sym1 a6989586621680803898)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680803886Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable []
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 (a6989586621680803884 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680803886Sym1 a6989586621680803884)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680803873Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable GHC.Maybe.Maybe
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 (a6989586621680803871 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680803873Sym1 a6989586621680803871)
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 (t6989586621680803338 :: * -> *) a6989586621680803340 (f6989586621680803339 :: * -> *) b6989586621680803341 (a6989586621680803865 :: t6989586621680803338 a6989586621680803340). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.ForSym1 a6989586621680803865)
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 (t6989586621680803334 :: * -> *) a6989586621680803336 (m6989586621680803335 :: * -> *) b6989586621680803337 (a6989586621680803855 :: t6989586621680803334 a6989586621680803336). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.ForMSym1 a6989586621680803855)
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 a6989586621680803331 b6989586621680803332 c6989586621680803333 (t6989586621680803330 :: * -> *) (a6989586621680803834 :: a6989586621680803331 Data.Singletons.Internal.~> (b6989586621680803332 Data.Singletons.Internal.~> (a6989586621680803331, c6989586621680803333))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumLSym1 a6989586621680803834)
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 a6989586621680803331 b6989586621680803332 c6989586621680803333 (t6989586621680803330 :: * -> *) (a6989586621680803835 :: a6989586621680803331 Data.Singletons.Internal.~> (b6989586621680803332 Data.Singletons.Internal.~> (a6989586621680803331, c6989586621680803333))) (a6989586621680803834 :: a6989586621680803331). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumLSym2 a6989586621680803835 a6989586621680803834)
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 a6989586621680803327 b6989586621680803328 c6989586621680803329 (t6989586621680803326 :: * -> *) (a6989586621680803817 :: a6989586621680803327 Data.Singletons.Internal.~> (b6989586621680803328 Data.Singletons.Internal.~> (a6989586621680803327, c6989586621680803329))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumRSym1 a6989586621680803817)
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 a6989586621680803327 b6989586621680803328 c6989586621680803329 (t6989586621680803326 :: * -> *) (a6989586621680803818 :: a6989586621680803327 Data.Singletons.Internal.~> (b6989586621680803328 Data.Singletons.Internal.~> (a6989586621680803327, c6989586621680803329))) (a6989586621680803817 :: a6989586621680803327). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapAccumRSym2 a6989586621680803818 a6989586621680803817)
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 a6989586621680803324 b6989586621680803325 (t6989586621680803323 :: * -> *) (a6989586621680803804 :: a6989586621680803324 Data.Singletons.Internal.~> b6989586621680803325). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.FmapDefaultSym1 a6989586621680803804)
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 a6989586621680803322 m6989586621680803321 (t6989586621680803320 :: * -> *) (a6989586621680803783 :: a6989586621680803322 Data.Singletons.Internal.~> m6989586621680803321). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.FoldMapDefaultSym1 a6989586621680803783)
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.Let6989586621680803843Scrutinee_6989586621680803414Sym0
instance forall s a6989586621680797799 b6989586621680797800 k (t6989586621680797797 :: * -> *) (f6989586621680803840 :: s Data.Singletons.Internal.~> (a6989586621680797799 Data.Singletons.Internal.~> (s, b6989586621680797800))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680803843Scrutinee_6989586621680803414Sym1 f6989586621680803840)
instance forall s a6989586621680797799 b6989586621680797800 k (t6989586621680797797 :: * -> *) (s6989586621680803841 :: s Data.Singletons.Internal.~> (a6989586621680797799 Data.Singletons.Internal.~> (s, b6989586621680797800))) (f6989586621680803840 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680803843Scrutinee_6989586621680803414Sym2 s6989586621680803841 f6989586621680803840)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680803826Scrutinee_6989586621680803418Sym0
instance forall s a6989586621680797799 b6989586621680797800 k (t6989586621680797797 :: * -> *) (f6989586621680803823 :: s Data.Singletons.Internal.~> (a6989586621680797799 Data.Singletons.Internal.~> (s, b6989586621680797800))). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680803826Scrutinee_6989586621680803418Sym1 f6989586621680803823)
instance forall s a6989586621680797799 b6989586621680797800 k (t6989586621680797797 :: * -> *) (s6989586621680803824 :: s Data.Singletons.Internal.~> (a6989586621680797799 Data.Singletons.Internal.~> (s, b6989586621680797800))) (f6989586621680803823 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680803826Scrutinee_6989586621680803418Sym2 s6989586621680803824 f6989586621680803823)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680803810Scrutinee_6989586621680803422Sym0
instance forall a6989586621680797799 b6989586621680797800 (t6989586621680797797 :: * -> *) (f6989586621680803808 :: a6989586621680797799 Data.Singletons.Internal.~> b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680803810Scrutinee_6989586621680803422Sym1 f6989586621680803808)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680803797Scrutinee_6989586621680803425Sym0
instance forall a6989586621680797799 b6989586621679544531 (t6989586621680797797 :: * -> *) (f6989586621680803787 :: a6989586621680797799 Data.Singletons.Internal.~> b6989586621679544531). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680803797Scrutinee_6989586621680803425Sym1 f6989586621680803787)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Let6989586621680803789MkConstSym0
instance forall k1 k2 m6989586621680803321 (f6989586621680803787 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680803789MkConstSym1 f6989586621680803787)
instance forall k1 k2 m6989586621680803321 (x6989586621680803788 :: k1) (f6989586621680803787 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Let6989586621680803789MkConstSym2 x6989586621680803788 f6989586621680803787)
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 a6989586621680797804 (m6989586621680797803 :: * -> *) b6989586621680797805 (t6989586621680797797 :: * -> *) (arg6989586621680797815 :: a6989586621680797804 Data.Singletons.Internal.~> m6989586621680797803 b6989586621680797805). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapMSym1 arg6989586621680797815)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.SequenceSym0
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 (t6989586621680797797 :: * -> *) (arg6989586621680797809 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.TraverseSym1 arg6989586621680797809)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.TraverseSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.SequenceASym0
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 (t6989586621680797797 :: * -> *) (a6989586621680797821 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.Traverse_6989586621680797823Sym1 a6989586621680797821)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Traverse_6989586621680797823Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.SequenceA_6989586621680797836Sym0
instance forall a6989586621680797804 (m6989586621680797803 :: * -> *) b6989586621680797805 (t6989586621680797797 :: * -> *) (a6989586621680797844 :: a6989586621680797804 Data.Singletons.Internal.~> m6989586621680797803 b6989586621680797805). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Traversable.MapM_6989586621680797846Sym1 a6989586621680797844)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.MapM_6989586621680797846Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Traversable.Sequence_6989586621680797861Sym0


-- | 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_a3tTS :: Type) where {
    type family (<>) (arg_a3tXF :: a_a3tTS) (arg_a3tXG :: a_a3tTS) :: a_a3tTS;
    type family Sconcat (arg_a3tXJ :: NonEmpty a_a3tTS) :: a_a3tTS;
    type Sconcat a_a3tXL = Apply Sconcat_6989586621679839958Sym0 a_a3tXL;
}
infixr 6 <>
class SSemigroup a_a3tTS
(%<>) :: forall (t_a3u1u :: a_a3tTS) (t_a3u1v :: a_a3tTS). SSemigroup a_a3tTS => Sing t_a3u1u -> Sing t_a3u1v -> Sing (Apply (Apply (<>@#@$) t_a3u1u) t_a3u1v :: a_a3tTS)
sSconcat :: forall (t_a3u1y :: NonEmpty a_a3tTS). SSemigroup a_a3tTS => Sing t_a3u1y -> Sing (Apply SconcatSym0 t_a3u1y :: a_a3tTS)
sSconcat :: forall (t_a3u1y :: NonEmpty a_a3tTS). (SSemigroup a_a3tTS, (Apply SconcatSym0 t_a3u1y :: a_a3tTS) ~ Apply Sconcat_6989586621679839958Sym0 t_a3u1y) => Sing t_a3u1y -> Sing (Apply SconcatSym0 t_a3u1y :: a_a3tTS)
infixr 6 %<>

-- | The singleton kind-indexed type family.
type family Sing :: k -> Type
data SMin :: forall a_aeYu. Min a_aeYu -> Type
[SMin] :: forall a_aeYu (n_a3wp4 :: a_aeYu). () => {sGetMin :: Sing (n_a3wp4 :: a_aeYu)} -> SMin ('Min n_a3wp4)
data SMax :: forall a_aeYy. Max a_aeYy -> Type
[SMax] :: forall a_aeYy (n_a3wpn :: a_aeYy). () => {sGetMax :: Sing (n_a3wpn :: a_aeYy)} -> SMax ('Max n_a3wpn)
data SFirst :: forall a_aeYG. First a_aeYG -> Type
[SFirst] :: forall a_aeYG (n_a3wpG :: a_aeYG). () => {sGetFirst :: Sing (n_a3wpG :: a_aeYG)} -> SFirst ('First n_a3wpG)
data SLast :: forall a_aeYC. Last a_aeYC -> Type
[SLast] :: forall a_aeYC (n_a3wpZ :: a_aeYC). () => {sGetLast :: Sing (n_a3wpZ :: a_aeYC)} -> SLast ('Last n_a3wpZ)
data SWrappedMonoid :: forall m_alfR. WrappedMonoid m_alfR -> Type
[SWrapMonoid] :: forall m_alfR (n_a3wqi :: m_alfR). () => {sUnwrapMonoid :: Sing (n_a3wqi :: m_alfR)} -> SWrappedMonoid ('WrapMonoid n_a3wqi)
data SDual :: forall a_akK3. Dual a_akK3 -> Type
[SDual] :: forall a_akK3 (n_a3wnH :: a_akK3). () => {sGetDual :: Sing (n_a3wnH :: a_akK3)} -> SDual ('Dual n_a3wnH)
data SAll :: All -> Type
[SAll] :: forall (n_a3wnV :: Bool). () => {sGetAll :: Sing (n_a3wnV :: Bool)} -> SAll ('All n_a3wnV)
data SAny :: Any -> Type
[SAny] :: forall (n_a3wo9 :: Bool). () => {sGetAny :: Sing (n_a3wo9 :: Bool)} -> SAny ('Any n_a3wo9)
data SSum :: forall a_akJO. Sum a_akJO -> Type
[SSum] :: forall a_akJO (n_a3wos :: a_akJO). () => {sGetSum :: Sing (n_a3wos :: a_akJO)} -> SSum ('Sum n_a3wos)
data SProduct :: forall a_akJT. Product a_akJT -> Type
[SProduct] :: forall a_akJT (n_a3woL :: a_akJT). () => {sGetProduct :: Sing (n_a3woL :: a_akJT)} -> SProduct ('Product n_a3woL)
data SOption :: forall a_aeYq. Option a_aeYq -> Type
[SOption] :: forall a_aeYq (n_a3wno :: Maybe a_aeYq). () => {sGetOption :: Sing (n_a3wno :: Maybe a_aeYq)} -> SOption ('Option n_a3wno)
data SArg :: forall a_afcX b_afcY. Arg a_afcX b_afcY -> Type
[SArg] :: forall a_afcX b_afcY (n_a7Zyp :: a_afcX) (n_a7Zyq :: b_afcY). () => Sing (n_a7Zyp :: a_afcX) -> Sing (n_a7Zyq :: b_afcY) -> SArg ('Arg n_a7Zyp n_a7Zyq)
type family GetMin (a_a3woZ :: Min (a_aeYu :: Type)) :: a_aeYu
type family GetMax (a_a3wpi :: Max (a_aeYy :: Type)) :: a_aeYy
type family GetFirst (a_a3wpB :: First (a_aeYG :: Type)) :: a_aeYG
type family GetLast (a_a3wpU :: Last (a_aeYC :: Type)) :: a_aeYC
type family UnwrapMonoid (a_a3wqd :: WrappedMonoid (m_alfR :: Type)) :: m_alfR
type family GetDual (a_a3wnC :: Dual (a_akK3 :: Type)) :: a_akK3
type family GetAll (a_a3wnQ :: All) :: Bool
type family GetAny (a_a3wo4 :: Any) :: Bool
type family GetSum (a_a3won :: Sum (a_akJO :: Type)) :: a_akJO
type family GetProduct (a_a3woG :: Product (a_akJT :: Type)) :: a_akJT
type family GetOption (a_a3wnj :: Option (a_aeYq :: Type)) :: Maybe a_aeYq
option_ :: b_a8lTQ -> (a_a8lTR -> b_a8lTQ) -> Option a_a8lTR -> b_a8lTQ
sOption_ :: forall b_a8lTQ a_a8lTR (t_a8lUb :: b_a8lTQ) (t_a8lUc :: (~>) a_a8lTR b_a8lTQ) (t_a8lUd :: Option a_a8lTR). Sing t_a8lUb -> Sing t_a8lUc -> Sing t_a8lUd -> Sing (Apply (Apply (Apply Option_Sym0 t_a8lUb) t_a8lUc) t_a8lUd :: b_a8lTQ)
type family Option_ (a_a8lU2 :: b_a8lTQ) (a_a8lU3 :: (~>) a_a8lTR b_a8lTQ) (a_a8lU4 :: Option a_a8lTR) :: b_a8lTQ
data (<>@#@$) :: forall a6989586621679839716. (~>) a6989586621679839716 ((~>) a6989586621679839716 a6989586621679839716)
infixr 6 <>@#@$
data (<>@#@$$) (arg6989586621679839951 :: a6989586621679839716) :: (~>) a6989586621679839716 a6989586621679839716
infixr 6 <>@#@$$
type (<>@#@$$$) (arg6989586621679839951 :: a6989586621679839716) (arg6989586621679839952 :: a6989586621679839716) = (<>) arg6989586621679839951 arg6989586621679839952
data SconcatSym0 :: forall a6989586621679839716. (~>) (NonEmpty a6989586621679839716) a6989586621679839716
type SconcatSym1 (arg6989586621679839955 :: NonEmpty a6989586621679839716) = Sconcat arg6989586621679839955
data MinSym0 :: forall (a6989586621679067358 :: Type). (~>) a6989586621679067358 (Min (a6989586621679067358 :: Type))
type MinSym1 (t6989586621679849336 :: a6989586621679067358) = 'Min t6989586621679849336
data GetMinSym0 :: forall (a6989586621679067358 :: Type). (~>) (Min (a6989586621679067358 :: Type)) a6989586621679067358
type GetMinSym1 (a6989586621679849333 :: Min (a6989586621679067358 :: Type)) = GetMin a6989586621679849333
data MaxSym0 :: forall (a6989586621679067362 :: Type). (~>) a6989586621679067362 (Max (a6989586621679067362 :: Type))
type MaxSym1 (t6989586621679849355 :: a6989586621679067362) = 'Max t6989586621679849355
data GetMaxSym0 :: forall (a6989586621679067362 :: Type). (~>) (Max (a6989586621679067362 :: Type)) a6989586621679067362
type GetMaxSym1 (a6989586621679849352 :: Max (a6989586621679067362 :: Type)) = GetMax a6989586621679849352
data FirstSym0 :: forall (a6989586621679067370 :: Type). (~>) a6989586621679067370 (First (a6989586621679067370 :: Type))
type FirstSym1 (t6989586621679849374 :: a6989586621679067370) = 'First t6989586621679849374
data GetFirstSym0 :: forall (a6989586621679067370 :: Type). (~>) (First (a6989586621679067370 :: Type)) a6989586621679067370
type GetFirstSym1 (a6989586621679849371 :: First (a6989586621679067370 :: Type)) = GetFirst a6989586621679849371
data LastSym0 :: forall (a6989586621679067366 :: Type). (~>) a6989586621679067366 (Last (a6989586621679067366 :: Type))
type LastSym1 (t6989586621679849393 :: a6989586621679067366) = 'Last t6989586621679849393
data GetLastSym0 :: forall (a6989586621679067366 :: Type). (~>) (Last (a6989586621679067366 :: Type)) a6989586621679067366
type GetLastSym1 (a6989586621679849390 :: Last (a6989586621679067366 :: Type)) = GetLast a6989586621679849390
data WrapMonoidSym0 :: forall (m6989586621679091499 :: Type). (~>) m6989586621679091499 (WrappedMonoid (m6989586621679091499 :: Type))
type WrapMonoidSym1 (t6989586621679849412 :: m6989586621679091499) = 'WrapMonoid t6989586621679849412
data UnwrapMonoidSym0 :: forall (m6989586621679091499 :: Type). (~>) (WrappedMonoid (m6989586621679091499 :: Type)) m6989586621679091499
type UnwrapMonoidSym1 (a6989586621679849409 :: WrappedMonoid (m6989586621679091499 :: Type)) = UnwrapMonoid a6989586621679849409
data DualSym0 :: forall (a6989586621679089527 :: Type). (~>) a6989586621679089527 (Dual (a6989586621679089527 :: Type))
type DualSym1 (t6989586621679849251 :: a6989586621679089527) = 'Dual t6989586621679849251
data GetDualSym0 :: forall (a6989586621679089527 :: Type). (~>) (Dual (a6989586621679089527 :: Type)) a6989586621679089527
type GetDualSym1 (a6989586621679849248 :: Dual (a6989586621679089527 :: Type)) = GetDual a6989586621679849248
data AllSym0 :: (~>) Bool All
type AllSym1 (t6989586621679849265 :: Bool) = 'All t6989586621679849265
data GetAllSym0 :: (~>) All Bool
type GetAllSym1 (a6989586621679849262 :: All) = GetAll a6989586621679849262
data AnySym0 :: (~>) Bool Any
type AnySym1 (t6989586621679849279 :: Bool) = 'Any t6989586621679849279
data GetAnySym0 :: (~>) Any Bool
type GetAnySym1 (a6989586621679849276 :: Any) = GetAny a6989586621679849276
data SumSym0 :: forall (a6989586621679089512 :: Type). (~>) a6989586621679089512 (Sum (a6989586621679089512 :: Type))
type SumSym1 (t6989586621679849298 :: a6989586621679089512) = 'Sum t6989586621679849298
data GetSumSym0 :: forall (a6989586621679089512 :: Type). (~>) (Sum (a6989586621679089512 :: Type)) a6989586621679089512
type GetSumSym1 (a6989586621679849295 :: Sum (a6989586621679089512 :: Type)) = GetSum a6989586621679849295
data ProductSym0 :: forall (a6989586621679089517 :: Type). (~>) a6989586621679089517 (Product (a6989586621679089517 :: Type))
type ProductSym1 (t6989586621679849317 :: a6989586621679089517) = 'Product t6989586621679849317
data GetProductSym0 :: forall (a6989586621679089517 :: Type). (~>) (Product (a6989586621679089517 :: Type)) a6989586621679089517
type GetProductSym1 (a6989586621679849314 :: Product (a6989586621679089517 :: Type)) = GetProduct a6989586621679849314
data OptionSym0 :: forall (a6989586621679067354 :: Type). (~>) (Maybe a6989586621679067354) (Option (a6989586621679067354 :: Type))
type OptionSym1 (t6989586621679849232 :: Maybe a6989586621679067354) = 'Option t6989586621679849232
data GetOptionSym0 :: forall (a6989586621679067354 :: Type). (~>) (Option (a6989586621679067354 :: Type)) (Maybe a6989586621679067354)
type GetOptionSym1 (a6989586621679849229 :: Option (a6989586621679067354 :: Type)) = GetOption a6989586621679849229
data ArgSym0 :: forall (a6989586621679068255 :: Type) (b6989586621679068256 :: Type). (~>) a6989586621679068255 ((~>) b6989586621679068256 (Arg (a6989586621679068255 :: Type) (b6989586621679068256 :: Type)))
data ArgSym1 (t6989586621680914701 :: a6989586621679068255 :: Type) :: forall (b6989586621679068256 :: Type). (~>) b6989586621679068256 (Arg (a6989586621679068255 :: Type) (b6989586621679068256 :: Type))
type ArgSym2 (t6989586621680914701 :: a6989586621679068255) (t6989586621680914702 :: b6989586621679068256) = 'Arg t6989586621680914701 t6989586621680914702
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Option_Sym0
instance Data.Singletons.Internal.SingI Data.Singletons.Prelude.Semigroup.Option_Sym0
instance forall b6989586621681000602 a6989586621681000603 (a6989586621681000614 :: b6989586621681000602). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Option_Sym1 a6989586621681000614)
instance forall b a (d :: b). Data.Singletons.Internal.SingI d => Data.Singletons.Internal.SingI (Data.Singletons.Prelude.Semigroup.Option_Sym1 d)
instance forall b6989586621681000602 a6989586621681000603 (a6989586621681000615 :: b6989586621681000602) (a6989586621681000614 :: a6989586621681000603 Data.Singletons.Internal.~> b6989586621681000602). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Option_Sym2 a6989586621681000615 a6989586621681000614)
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_6989586621680934488Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Option
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 (a6989586621680934486 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680934488Sym1 a6989586621680934486)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680934476Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Option
instance forall a6989586621680489609 m6989586621680489608 (a6989586621680934474 :: a6989586621680489609 Data.Singletons.Internal.~> m6989586621680489608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680934476Sym1 a6989586621680934474)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.Option a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934462Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Option a)
instance forall a6989586621680932522 (a6989586621680934460 :: Data.Semigroup.Option a6989586621680932522). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934462Sym1 a6989586621680934460)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934446Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Option
instance forall a6989586621679569955 b6989586621679569956 (a6989586621680934444 :: Data.Semigroup.Option a6989586621679569955). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934446Sym1 a6989586621680934444)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934434Sym0
instance forall a6989586621679569953 b6989586621679569954 (a6989586621680934432 :: Data.Semigroup.Option a6989586621679569953). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934434Sym1 a6989586621680934432)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934422Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Option
instance forall a6989586621679569926 b6989586621679569927 (a6989586621680934420 :: a6989586621679569926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934422Sym1 a6989586621680934420)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680934410Sym0
instance forall a6989586621679569924 b6989586621679569925 (a6989586621680934408 :: a6989586621679569924 Data.Singletons.Internal.~> b6989586621679569925). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680934410Sym1 a6989586621680934408)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934399Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Option
instance forall a6989586621679569935 b6989586621679569936 (a6989586621680934397 :: Data.Semigroup.Option a6989586621679569935). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934399Sym1 a6989586621680934397)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680934383Sym0
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 (a6989586621680934380 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680934383Sym1 a6989586621680934380)
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 (a6989586621680934381 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)) (a6989586621680934380 :: Data.Semigroup.Option a6989586621679569932). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680934383Sym2 a6989586621680934381 a6989586621680934380)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934370Sym0
instance forall a6989586621679569930 b6989586621679569931 (a6989586621680934368 :: Data.Semigroup.Option (a6989586621679569930 Data.Singletons.Internal.~> b6989586621679569931)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934370Sym1 a6989586621680934368)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680934362Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934349Sym0
instance Data.Singletons.Prelude.Monad.Internal.PAlternative Data.Semigroup.Option
instance forall a6989586621679570005 (a6989586621680934347 :: Data.Semigroup.Option a6989586621679570005). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934349Sym1 a6989586621680934347)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680934357ASym0
instance Data.Singletons.Prelude.Monad.Internal.SAlternative Data.Semigroup.Option
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680934331Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.WrappedMonoid a)
instance forall a6989586621680932502 (a6989586621680934328 :: Data.Semigroup.WrappedMonoid a6989586621680932502). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680934331Sym1 a6989586621680934328)
instance forall a6989586621680932502 (a6989586621680934329 :: Data.Semigroup.WrappedMonoid a6989586621680932502) (a6989586621680934328 :: Data.Semigroup.WrappedMonoid a6989586621680932502). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680934331Sym2 a6989586621680934329 a6989586621680934328)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680934318Sym0
instance forall a6989586621680932502 (a6989586621680934316 :: Data.Semigroup.WrappedMonoid a6989586621680932502). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680934318Sym1 a6989586621680934316)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680934310Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680934301Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680934294Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680934287Sym0
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.WrappedMonoid m)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934274Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.WrappedMonoid m)
instance forall m6989586621680932498 (a6989586621680934272 :: Data.Semigroup.WrappedMonoid m6989586621680932498). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934274Sym1 a6989586621680934272)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680934262Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Last
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 (a6989586621680934260 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680934262Sym1 a6989586621680934260)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680934246Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Last
instance forall a6989586621680489610 b6989586621680489611 (a6989586621680934243 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680934246Sym1 a6989586621680934243)
instance forall a6989586621680489610 b6989586621680489611 (a6989586621680934244 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)) (a6989586621680934243 :: b6989586621680489611). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680934246Sym2 a6989586621680934244 a6989586621680934243)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680934233Sym0
instance forall a6989586621680489609 m6989586621680489608 (a6989586621680934231 :: a6989586621680489609 Data.Singletons.Internal.~> m6989586621680489608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680934233Sym1 a6989586621680934231)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934222Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Last a)
instance forall a6989586621680932496 (a6989586621680934220 :: Data.Semigroup.Last a6989586621680932496). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934222Sym1 a6989586621680934220)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934210Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Last
instance forall a6989586621679569953 b6989586621679569954 (a6989586621680934208 :: Data.Semigroup.Last a6989586621679569953). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934210Sym1 a6989586621680934208)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934194Sym0
instance forall a6989586621679569955 b6989586621679569956 (a6989586621680934192 :: Data.Semigroup.Last a6989586621679569955). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934194Sym1 a6989586621680934192)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934175Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Last
instance forall a6989586621679569926 b6989586621679569927 (a6989586621680934173 :: a6989586621679569926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934175Sym1 a6989586621680934173)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680934183Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.Last
instance forall k1 k2 k3 (_z_69895866216809329336989586621680934181 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680934183Sym1 _z_69895866216809329336989586621680934181)
instance forall k1 k2 k3 (a_69895866216809329396989586621680934182 :: k1) (_z_69895866216809329336989586621680934181 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680934183Sym2 a_69895866216809329396989586621680934182 _z_69895866216809329336989586621680934181)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680934163Sym0
instance forall a6989586621679569924 b6989586621679569925 (a6989586621680934161 :: a6989586621679569924 Data.Singletons.Internal.~> b6989586621679569925). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680934163Sym1 a6989586621680934161)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680934147Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.Last a)
instance forall a6989586621680932485 (a6989586621680934144 :: Data.Semigroup.Last a6989586621680932485). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680934147Sym1 a6989586621680934144)
instance forall a6989586621680932485 (a6989586621680934145 :: Data.Semigroup.Last a6989586621680932485) (a6989586621680934144 :: Data.Semigroup.Last a6989586621680932485). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680934147Sym2 a6989586621680934145 a6989586621680934144)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680934134Sym0
instance forall a6989586621680932485 (a6989586621680934132 :: Data.Semigroup.Last a6989586621680932485). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680934134Sym1 a6989586621680934132)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680934126Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680934117Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680934110Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680934103Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680934088Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Last
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 (a6989586621680934085 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680934088Sym1 a6989586621680934085)
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 (a6989586621680934086 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)) (a6989586621680934085 :: Data.Semigroup.Last a6989586621679569932). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680934088Sym2 a6989586621680934086 a6989586621680934085)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934075Sym0
instance forall a6989586621679569930 b6989586621679569931 (a6989586621680934073 :: Data.Semigroup.Last (a6989586621679569930 Data.Singletons.Internal.~> b6989586621679569931)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934075Sym1 a6989586621680934073)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934064Sym0
instance forall a6989586621679569935 b6989586621679569936 (a6989586621680934062 :: Data.Semigroup.Last a6989586621679569935). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934064Sym1 a6989586621680934062)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934053Sym0
instance forall a6989586621679569937 b6989586621679569938 (a6989586621680934051 :: Data.Semigroup.Last a6989586621679569937). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680934053Sym1 a6989586621680934051)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680934045Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680934034Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.First
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 (a6989586621680934032 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680934034Sym1 a6989586621680934032)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680934018Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.First
instance forall a6989586621680489610 b6989586621680489611 (a6989586621680934015 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680934018Sym1 a6989586621680934015)
instance forall a6989586621680489610 b6989586621680489611 (a6989586621680934016 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)) (a6989586621680934015 :: b6989586621680489611). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680934018Sym2 a6989586621680934016 a6989586621680934015)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680934005Sym0
instance forall a6989586621680489609 m6989586621680489608 (a6989586621680934003 :: a6989586621680489609 Data.Singletons.Internal.~> m6989586621680489608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680934005Sym1 a6989586621680934003)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933994Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.First a)
instance forall a6989586621680932475 (a6989586621680933992 :: Data.Semigroup.First a6989586621680932475). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933994Sym1 a6989586621680933992)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933982Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.First
instance forall a6989586621679569953 b6989586621679569954 (a6989586621680933980 :: Data.Semigroup.First a6989586621679569953). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933982Sym1 a6989586621680933980)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933966Sym0
instance forall a6989586621679569955 b6989586621679569956 (a6989586621680933964 :: Data.Semigroup.First a6989586621679569955). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933966Sym1 a6989586621680933964)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933947Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.First
instance forall a6989586621679569926 b6989586621679569927 (a6989586621680933945 :: a6989586621679569926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933947Sym1 a6989586621680933945)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933955Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.First
instance forall k1 k2 k3 (_z_69895866216809329026989586621680933953 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933955Sym1 _z_69895866216809329026989586621680933953)
instance forall k1 k2 k3 (a_69895866216809329086989586621680933954 :: k1) (_z_69895866216809329026989586621680933953 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933955Sym2 a_69895866216809329086989586621680933954 _z_69895866216809329026989586621680933953)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680933935Sym0
instance forall a6989586621679569924 b6989586621679569925 (a6989586621680933933 :: a6989586621679569924 Data.Singletons.Internal.~> b6989586621679569925). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680933935Sym1 a6989586621680933933)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680933919Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.First a)
instance forall a6989586621680932464 (a6989586621680933916 :: Data.Semigroup.First a6989586621680932464). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680933919Sym1 a6989586621680933916)
instance forall a6989586621680932464 (a6989586621680933917 :: Data.Semigroup.First a6989586621680932464) (a6989586621680933916 :: Data.Semigroup.First a6989586621680932464). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680933919Sym2 a6989586621680933917 a6989586621680933916)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680933906Sym0
instance forall a6989586621680932464 (a6989586621680933904 :: Data.Semigroup.First a6989586621680932464). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680933906Sym1 a6989586621680933904)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680933898Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680933889Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680933882Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680933875Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680933860Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.First
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 (a6989586621680933857 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680933860Sym1 a6989586621680933857)
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 (a6989586621680933858 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)) (a6989586621680933857 :: Data.Semigroup.First a6989586621679569932). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680933860Sym2 a6989586621680933858 a6989586621680933857)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933847Sym0
instance forall a6989586621679569930 b6989586621679569931 (a6989586621680933845 :: Data.Semigroup.First (a6989586621679569930 Data.Singletons.Internal.~> b6989586621679569931)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933847Sym1 a6989586621680933845)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933836Sym0
instance forall a6989586621679569935 b6989586621679569936 (a6989586621680933834 :: Data.Semigroup.First a6989586621679569935). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933836Sym1 a6989586621680933834)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933825Sym0
instance forall a6989586621679569937 b6989586621679569938 (a6989586621680933823 :: Data.Semigroup.First a6989586621679569937). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933825Sym1 a6989586621680933823)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680933817Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680933805Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable (Data.Semigroup.Arg a)
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 a6989586621680932455 (a6989586621680933803 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680933805Sym1 a6989586621680933803)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680933776Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable (Data.Semigroup.Arg a)
instance forall a6989586621680489610 b6989586621680489611 a6989586621680932454 (a6989586621680933773 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680933776Sym1 a6989586621680933773)
instance forall a6989586621680489610 b6989586621680489611 a6989586621680932454 (a6989586621680933774 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)) (a6989586621680933773 :: b6989586621680489611). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680933776Sym2 a6989586621680933774 a6989586621680933773)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933788Sym0
instance Data.Singletons.Prelude.Foldable.SFoldable (Data.Semigroup.Arg a)
instance forall k1 k2 k3 k4 k5 k6 (_f_69895866216809328676989586621680933784 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933788Sym1 _f_69895866216809328676989586621680933784)
instance forall k1 k2 k3 k4 k5 k6 (_z_69895866216809328696989586621680933785 :: k1) (_f_69895866216809328676989586621680933784 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933788Sym2 _z_69895866216809328696989586621680933785 _f_69895866216809328676989586621680933784)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216809328816989586621680933786 :: k1) (_z_69895866216809328696989586621680933785 :: k2) (_f_69895866216809328676989586621680933784 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933788Sym3 a_69895866216809328816989586621680933786 _z_69895866216809328696989586621680933785 _f_69895866216809328676989586621680933784)
instance forall k1 k2 k3 k4 k5 k6 (a_69895866216809328836989586621680933787 :: k1) (a_69895866216809328816989586621680933786 :: k2) (_z_69895866216809328696989586621680933785 :: k3) (_f_69895866216809328676989586621680933784 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933788Sym4 a_69895866216809328836989586621680933787 a_69895866216809328816989586621680933786 _z_69895866216809328696989586621680933785 _f_69895866216809328676989586621680933784)
instance forall k1 k2 k3 k4 k5 k6 (t6989586621680933792 :: k1) (a_69895866216809328836989586621680933787 :: k2) (a_69895866216809328816989586621680933786 :: k3) (_z_69895866216809328696989586621680933785 :: k4) (_f_69895866216809328676989586621680933784 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933788Sym5 t6989586621680933792 a_69895866216809328836989586621680933787 a_69895866216809328816989586621680933786 _z_69895866216809328696989586621680933785 _f_69895866216809328676989586621680933784)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680933754Sym0
instance forall a6989586621680489609 m6989586621680489608 a6989586621680932454 (a6989586621680933752 :: a6989586621680489609 Data.Singletons.Internal.~> m6989586621680489608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680933754Sym1 a6989586621680933752)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933763Sym0
instance forall k1 k2 k3 k4 k5 (_f_69895866216809328676989586621680933760 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933763Sym1 _f_69895866216809328676989586621680933760)
instance forall k1 k2 k3 k4 k5 (a_69895866216809328736989586621680933761 :: k1) (_f_69895866216809328676989586621680933760 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933763Sym2 a_69895866216809328736989586621680933761 _f_69895866216809328676989586621680933760)
instance forall k1 k2 k3 k4 k5 (a_69895866216809328756989586621680933762 :: k1) (a_69895866216809328736989586621680933761 :: k2) (_f_69895866216809328676989586621680933760 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933763Sym3 a_69895866216809328756989586621680933762 a_69895866216809328736989586621680933761 _f_69895866216809328676989586621680933760)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680933735Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Arg a b)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680933735Sym1 a6989586621680933732)
instance forall a6989586621680932452 b6989586621680932453 (a6989586621680933733 :: GHC.Types.Nat) (a6989586621680933732 :: Data.Semigroup.Arg a6989586621680932452 b6989586621680932453). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680933735Sym2 a6989586621680933733 a6989586621680933732)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Max_6989586621680933699Sym0
instance Data.Singletons.Prelude.Ord.POrd (Data.Semigroup.Arg a b)
instance forall a6989586621680932440 b6989586621680932441 (a6989586621680933697 :: Data.Semigroup.Arg a6989586621680932440 b6989586621680932441). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Max_6989586621680933699Sym1 a6989586621680933697)
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.Let6989586621680933713XSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680933709 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933713XSym1 a6989586621680933709)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809325466989586621680933710 :: k2) (a6989586621680933709 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933713XSym2 wild_69895866216809325466989586621680933710 a6989586621680933709)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680933711 :: k2) (wild_69895866216809325466989586621680933710 :: k3) (a6989586621680933709 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933713XSym3 b6989586621680933711 wild_69895866216809325466989586621680933710 a6989586621680933709)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809325486989586621680933712 :: k2) (b6989586621680933711 :: k3) (wild_69895866216809325466989586621680933710 :: k4) (a6989586621680933709 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933713XSym4 wild_69895866216809325486989586621680933712 b6989586621680933711 wild_69895866216809325466989586621680933710 a6989586621680933709)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809325426989586621680933705 :: k2) (wild_69895866216809325486989586621680933712 :: k3) (b6989586621680933711 :: k4) (wild_69895866216809325466989586621680933710 :: k5) (a6989586621680933709 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933713XSym5 arg_69895866216809325426989586621680933705 wild_69895866216809325486989586621680933712 b6989586621680933711 wild_69895866216809325466989586621680933710 a6989586621680933709)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680933713YSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680933709 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933713YSym1 a6989586621680933709)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809325466989586621680933710 :: k2) (a6989586621680933709 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933713YSym2 wild_69895866216809325466989586621680933710 a6989586621680933709)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680933711 :: k2) (wild_69895866216809325466989586621680933710 :: k3) (a6989586621680933709 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933713YSym3 b6989586621680933711 wild_69895866216809325466989586621680933710 a6989586621680933709)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809325486989586621680933712 :: k2) (b6989586621680933711 :: k3) (wild_69895866216809325466989586621680933710 :: k4) (a6989586621680933709 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933713YSym4 wild_69895866216809325486989586621680933712 b6989586621680933711 wild_69895866216809325466989586621680933710 a6989586621680933709)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809325426989586621680933705 :: k2) (wild_69895866216809325486989586621680933712 :: k3) (b6989586621680933711 :: k4) (wild_69895866216809325466989586621680933710 :: k5) (a6989586621680933709 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933713YSym5 arg_69895866216809325426989586621680933705 wild_69895866216809325486989586621680933712 b6989586621680933711 wild_69895866216809325466989586621680933710 a6989586621680933709)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Min_6989586621680933664Sym0
instance forall a6989586621680932440 b6989586621680932441 (a6989586621680933662 :: Data.Semigroup.Arg a6989586621680932440 b6989586621680932441). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Min_6989586621680933664Sym1 a6989586621680933662)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680933678XSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680933674 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933678XSym1 a6989586621680933674)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809325346989586621680933675 :: k2) (a6989586621680933674 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933678XSym2 wild_69895866216809325346989586621680933675 a6989586621680933674)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680933676 :: k2) (wild_69895866216809325346989586621680933675 :: k3) (a6989586621680933674 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933678XSym3 b6989586621680933676 wild_69895866216809325346989586621680933675 a6989586621680933674)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809325366989586621680933677 :: k2) (b6989586621680933676 :: k3) (wild_69895866216809325346989586621680933675 :: k4) (a6989586621680933674 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933678XSym4 wild_69895866216809325366989586621680933677 b6989586621680933676 wild_69895866216809325346989586621680933675 a6989586621680933674)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809325306989586621680933670 :: k2) (wild_69895866216809325366989586621680933677 :: k3) (b6989586621680933676 :: k4) (wild_69895866216809325346989586621680933675 :: k5) (a6989586621680933674 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933678XSym5 arg_69895866216809325306989586621680933670 wild_69895866216809325366989586621680933677 b6989586621680933676 wild_69895866216809325346989586621680933675 a6989586621680933674)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Let6989586621680933678YSym0
instance forall k2 k3 k4 k5 k6 k7 (a6989586621680933674 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933678YSym1 a6989586621680933674)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809325346989586621680933675 :: k2) (a6989586621680933674 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933678YSym2 wild_69895866216809325346989586621680933675 a6989586621680933674)
instance forall k2 k3 k4 k5 k6 k7 (b6989586621680933676 :: k2) (wild_69895866216809325346989586621680933675 :: k3) (a6989586621680933674 :: k4). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933678YSym3 b6989586621680933676 wild_69895866216809325346989586621680933675 a6989586621680933674)
instance forall k2 k3 k4 k5 k6 k7 (wild_69895866216809325366989586621680933677 :: k2) (b6989586621680933676 :: k3) (wild_69895866216809325346989586621680933675 :: k4) (a6989586621680933674 :: k5). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933678YSym4 wild_69895866216809325366989586621680933677 b6989586621680933676 wild_69895866216809325346989586621680933675 a6989586621680933674)
instance forall k2 k3 k4 k5 k6 k7 (arg_69895866216809325306989586621680933670 :: k2) (wild_69895866216809325366989586621680933677 :: k3) (b6989586621680933676 :: k4) (wild_69895866216809325346989586621680933675 :: k5) (a6989586621680933674 :: k6). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Let6989586621680933678YSym5 arg_69895866216809325306989586621680933670 wild_69895866216809325366989586621680933677 b6989586621680933676 wild_69895866216809325346989586621680933675 a6989586621680933674)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Compare_6989586621680933652Sym0
instance forall a6989586621680932440 b6989586621680932441 (a6989586621680933650 :: Data.Semigroup.Arg a6989586621680932440 b6989586621680932441). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Compare_6989586621680933652Sym1 a6989586621680933650)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933623Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor (Data.Semigroup.Arg a)
instance forall a6989586621679569926 a6989586621680932439 b6989586621679569927 (a6989586621680933621 :: a6989586621679569926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933623Sym1 a6989586621680933621)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933640Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor (Data.Semigroup.Arg a)
instance forall k1 k2 k3 k4 (_z_69895866216809328336989586621680933629 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933640Sym1 _z_69895866216809328336989586621680933629)
instance forall k1 k2 k3 k4 (a_69895866216809328456989586621680933630 :: k1) (_z_69895866216809328336989586621680933629 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933640Sym2 a_69895866216809328456989586621680933630 _z_69895866216809328336989586621680933629)
instance forall k1 k2 k3 k4 (a_69895866216809328476989586621680933631 :: k1) (a_69895866216809328456989586621680933630 :: k2) (_z_69895866216809328336989586621680933629 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933640Sym3 a_69895866216809328476989586621680933631 a_69895866216809328456989586621680933630 _z_69895866216809328336989586621680933629)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933632Sym0
instance forall k1 k2 k3 k4 (_z_69895866216809328336989586621680933629 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933632Sym1 _z_69895866216809328336989586621680933629)
instance forall k1 k2 k3 k4 (a_69895866216809328456989586621680933630 :: k1) (_z_69895866216809328336989586621680933629 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933632Sym2 a_69895866216809328456989586621680933630 _z_69895866216809328336989586621680933629)
instance forall k1 k2 k3 k4 (a_69895866216809328476989586621680933631 :: k1) (a_69895866216809328456989586621680933630 :: k2) (_z_69895866216809328336989586621680933629 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933632Sym3 a_69895866216809328476989586621680933631 a_69895866216809328456989586621680933630 _z_69895866216809328336989586621680933629)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680933602Sym0
instance forall a6989586621679569924 b6989586621679569925 a6989586621680932439 (a6989586621680933600 :: a6989586621679569924 Data.Singletons.Internal.~> b6989586621679569925). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680933602Sym1 a6989586621680933600)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933611Sym0
instance forall k1 k2 k3 k4 (_f_69895866216809328316989586621680933608 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933611Sym1 _f_69895866216809328316989586621680933608)
instance forall k1 k2 k3 k4 (a_69895866216809328376989586621680933609 :: k1) (_f_69895866216809328316989586621680933608 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933611Sym2 a_69895866216809328376989586621680933609 _f_69895866216809328316989586621680933608)
instance forall k1 k2 k3 k4 (a_69895866216809328396989586621680933610 :: k1) (a_69895866216809328376989586621680933609 :: k2) (_f_69895866216809328316989586621680933608 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933611Sym3 a_69895866216809328396989586621680933610 a_69895866216809328376989586621680933609 _f_69895866216809328316989586621680933608)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933590Sym0
instance Data.Singletons.Prelude.Eq.PEq (Data.Semigroup.Arg a b)
instance forall a6989586621680932435 b6989586621680932436 (a6989586621680933588 :: Data.Semigroup.Arg a6989586621680932435 b6989586621680932436). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933590Sym1 a6989586621680933588)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680933578Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Max
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 (a6989586621680933576 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680933578Sym1 a6989586621680933576)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680933562Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Max
instance forall a6989586621680489610 b6989586621680489611 (a6989586621680933559 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680933562Sym1 a6989586621680933559)
instance forall a6989586621680489610 b6989586621680489611 (a6989586621680933560 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)) (a6989586621680933559 :: b6989586621680489611). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680933562Sym2 a6989586621680933560 a6989586621680933559)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680933549Sym0
instance forall a6989586621680489609 m6989586621680489608 (a6989586621680933547 :: a6989586621680489609 Data.Singletons.Internal.~> m6989586621680489608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680933549Sym1 a6989586621680933547)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromInteger_6989586621680933539Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Semigroup.Max a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Signum_6989586621680933532Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Abs_6989586621680933525Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Negate_6989586621680933518Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933507Sym0
instance forall a6989586621680932425 (a6989586621680933505 :: Data.Semigroup.Max a6989586621680932425). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933507Sym1 a6989586621680933505)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933495Sym0
instance forall a6989586621680932425 (a6989586621680933493 :: Data.Semigroup.Max a6989586621680932425). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933495Sym1 a6989586621680933493)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933483Sym0
instance forall a6989586621680932425 (a6989586621680933481 :: Data.Semigroup.Max a6989586621680932425). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933483Sym1 a6989586621680933481)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.Max a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933469Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Max a)
instance forall a6989586621680932421 (a6989586621680933467 :: Data.Semigroup.Max a6989586621680932421). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933469Sym1 a6989586621680933467)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933457Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Max
instance forall a6989586621679569953 b6989586621679569954 (a6989586621680933455 :: Data.Semigroup.Max a6989586621679569953). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933457Sym1 a6989586621680933455)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933441Sym0
instance forall a6989586621679569955 b6989586621679569956 (a6989586621680933439 :: Data.Semigroup.Max a6989586621679569955). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933441Sym1 a6989586621680933439)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933422Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Max
instance forall a6989586621679569926 b6989586621679569927 (a6989586621680933420 :: a6989586621679569926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933422Sym1 a6989586621680933420)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933430Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.Max
instance forall k1 k2 k3 (_z_69895866216809327996989586621680933428 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933430Sym1 _z_69895866216809327996989586621680933428)
instance forall k1 k2 k3 (a_69895866216809328056989586621680933429 :: k1) (_z_69895866216809327996989586621680933428 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933430Sym2 a_69895866216809328056989586621680933429 _z_69895866216809327996989586621680933428)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680933410Sym0
instance forall a6989586621679569924 b6989586621679569925 (a6989586621680933408 :: a6989586621679569924 Data.Singletons.Internal.~> b6989586621679569925). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680933410Sym1 a6989586621680933408)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680933394Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.Max a)
instance forall a6989586621680932410 (a6989586621680933391 :: Data.Semigroup.Max a6989586621680932410). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680933394Sym1 a6989586621680933391)
instance forall a6989586621680932410 (a6989586621680933392 :: Data.Semigroup.Max a6989586621680932410) (a6989586621680933391 :: Data.Semigroup.Max a6989586621680932410). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680933394Sym2 a6989586621680933392 a6989586621680933391)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680933381Sym0
instance forall a6989586621680932410 (a6989586621680933379 :: Data.Semigroup.Max a6989586621680932410). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680933381Sym1 a6989586621680933379)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680933373Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680933364Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680933357Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680933350Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680933335Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Max
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 (a6989586621680933332 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680933335Sym1 a6989586621680933332)
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 (a6989586621680933333 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)) (a6989586621680933332 :: Data.Semigroup.Max a6989586621679569932). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680933335Sym2 a6989586621680933333 a6989586621680933332)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933322Sym0
instance forall a6989586621679569930 b6989586621679569931 (a6989586621680933320 :: Data.Semigroup.Max (a6989586621679569930 Data.Singletons.Internal.~> b6989586621679569931)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933322Sym1 a6989586621680933320)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933311Sym0
instance forall a6989586621679569935 b6989586621679569936 (a6989586621680933309 :: Data.Semigroup.Max a6989586621679569935). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933311Sym1 a6989586621680933309)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933300Sym0
instance forall a6989586621679569937 b6989586621679569938 (a6989586621680933298 :: Data.Semigroup.Max a6989586621679569937). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933300Sym1 a6989586621680933298)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680933290Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Traverse_6989586621680933279Sym0
instance Data.Singletons.Prelude.Traversable.PTraversable Data.Semigroup.Min
instance forall a6989586621680797799 (f6989586621680797798 :: * -> *) b6989586621680797800 (a6989586621680933277 :: a6989586621680797799 Data.Singletons.Internal.~> f6989586621680797798 b6989586621680797800). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Traverse_6989586621680933279Sym1 a6989586621680933277)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Foldr_6989586621680933263Sym0
instance Data.Singletons.Prelude.Foldable.PFoldable Data.Semigroup.Min
instance forall a6989586621680489610 b6989586621680489611 (a6989586621680933260 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680933263Sym1 a6989586621680933260)
instance forall a6989586621680489610 b6989586621680489611 (a6989586621680933261 :: a6989586621680489610 Data.Singletons.Internal.~> (b6989586621680489611 Data.Singletons.Internal.~> b6989586621680489611)) (a6989586621680933260 :: b6989586621680489611). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Foldr_6989586621680933263Sym2 a6989586621680933261 a6989586621680933260)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680933250Sym0
instance forall a6989586621680489609 m6989586621680489608 (a6989586621680933248 :: a6989586621680489609 Data.Singletons.Internal.~> m6989586621680489608). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.FoldMap_6989586621680933250Sym1 a6989586621680933248)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromInteger_6989586621680933240Sym0
instance Data.Singletons.Prelude.Num.PNum (Data.Semigroup.Min a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Signum_6989586621680933233Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Abs_6989586621680933226Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Negate_6989586621680933219Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933208Sym0
instance forall a6989586621680932393 (a6989586621680933206 :: Data.Semigroup.Min a6989586621680932393). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933208Sym1 a6989586621680933206)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933196Sym0
instance forall a6989586621680932393 (a6989586621680933194 :: Data.Semigroup.Min a6989586621680932393). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933196Sym1 a6989586621680933194)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933184Sym0
instance forall a6989586621680932393 (a6989586621680933182 :: Data.Semigroup.Min a6989586621680932393). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933184Sym1 a6989586621680933182)
instance Data.Singletons.Prelude.Monoid.PMonoid (Data.Semigroup.Min a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933170Sym0
instance Data.Singletons.Prelude.Semigroup.Internal.PSemigroup (Data.Semigroup.Min a)
instance forall a6989586621680932389 (a6989586621680933168 :: Data.Semigroup.Min a6989586621680932389). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933170Sym1 a6989586621680933168)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933158Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Semigroup.Min
instance forall a6989586621679569953 b6989586621679569954 (a6989586621680933156 :: Data.Semigroup.Min a6989586621679569953). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933158Sym1 a6989586621680933156)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933142Sym0
instance forall a6989586621679569955 b6989586621679569956 (a6989586621680933140 :: Data.Semigroup.Min a6989586621679569955). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933142Sym1 a6989586621680933140)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933123Sym0
instance Data.Singletons.Prelude.Monad.Internal.PFunctor Data.Semigroup.Min
instance forall a6989586621679569926 b6989586621679569927 (a6989586621680933121 :: a6989586621679569926). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933123Sym1 a6989586621680933121)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933131Sym0
instance Data.Singletons.Prelude.Monad.Internal.SFunctor Data.Semigroup.Min
instance forall k1 k2 k3 (_z_69895866216809327686989586621680933129 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933131Sym1 _z_69895866216809327686989586621680933129)
instance forall k1 k2 k3 (a_69895866216809327746989586621680933130 :: k1) (_z_69895866216809327686989586621680933129 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Lambda_6989586621680933131Sym2 a_69895866216809327746989586621680933130 _z_69895866216809327686989586621680933129)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Fmap_6989586621680933111Sym0
instance forall a6989586621679569924 b6989586621679569925 (a6989586621680933109 :: a6989586621679569924 Data.Singletons.Internal.~> b6989586621679569925). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.Fmap_6989586621680933111Sym1 a6989586621680933109)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680933095Sym0
instance Data.Singletons.Prelude.Enum.PEnum (Data.Semigroup.Min a)
instance forall a6989586621680932378 (a6989586621680933092 :: Data.Semigroup.Min a6989586621680932378). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680933095Sym1 a6989586621680933092)
instance forall a6989586621680932378 (a6989586621680933093 :: Data.Semigroup.Min a6989586621680932378) (a6989586621680933092 :: Data.Semigroup.Min a6989586621680932378). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromThenTo_6989586621680933095Sym2 a6989586621680933093 a6989586621680933092)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680933082Sym0
instance forall a6989586621680932378 (a6989586621680933080 :: Data.Semigroup.Min a6989586621680932378). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.EnumFromTo_6989586621680933082Sym1 a6989586621680933080)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.FromEnum_6989586621680933074Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ToEnum_6989586621680933065Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pred_6989586621680933058Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Succ_6989586621680933051Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680933036Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Semigroup.Min
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 (a6989586621680933033 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680933036Sym1 a6989586621680933033)
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 (a6989586621680933034 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)) (a6989586621680933033 :: Data.Semigroup.Min a6989586621679569932). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.LiftA2_6989586621680933036Sym2 a6989586621680933034 a6989586621680933033)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933023Sym0
instance forall a6989586621679569930 b6989586621679569931 (a6989586621680933021 :: Data.Semigroup.Min (a6989586621679569930 Data.Singletons.Internal.~> b6989586621679569931)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933023Sym1 a6989586621680933021)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933012Sym0
instance forall a6989586621679569935 b6989586621679569936 (a6989586621680933010 :: Data.Semigroup.Min a6989586621679569935). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933012Sym1 a6989586621680933010)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933001Sym0
instance forall a6989586621679569937 b6989586621679569938 (a6989586621680932999 :: Data.Semigroup.Min a6989586621679569937). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.TFHelper_6989586621680933001Sym1 a6989586621680932999)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.Pure_6989586621680932991Sym0
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_6989586621680916817Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.WrappedMonoid m)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916817Sym1 a6989586621680916814)
instance forall m6989586621679091499 (a6989586621680916815 :: GHC.Types.Nat) (a6989586621680916814 :: Data.Semigroup.WrappedMonoid m6989586621679091499). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916817Sym2 a6989586621680916815 a6989586621680916814)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916786Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Last a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916786Sym1 a6989586621680916783)
instance forall a6989586621679067366 (a6989586621680916784 :: GHC.Types.Nat) (a6989586621680916783 :: Data.Semigroup.Last a6989586621679067366). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916786Sym2 a6989586621680916784 a6989586621680916783)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916755Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.First a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916755Sym1 a6989586621680916752)
instance forall a6989586621679067370 (a6989586621680916753 :: GHC.Types.Nat) (a6989586621680916752 :: Data.Semigroup.First a6989586621679067370). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916755Sym2 a6989586621680916753 a6989586621680916752)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916724Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Max a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916724Sym1 a6989586621680916721)
instance forall a6989586621679067362 (a6989586621680916722 :: GHC.Types.Nat) (a6989586621680916721 :: Data.Semigroup.Max a6989586621679067362). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916724Sym2 a6989586621680916722 a6989586621680916721)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916693Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Min a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916693Sym1 a6989586621680916690)
instance forall a6989586621679067358 (a6989586621680916691 :: GHC.Types.Nat) (a6989586621680916690 :: Data.Semigroup.Min a6989586621679067358). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916693Sym2 a6989586621680916691 a6989586621680916690)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916662Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Internal.Product a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916662Sym1 a6989586621680916659)
instance forall a6989586621679089517 (a6989586621680916660 :: GHC.Types.Nat) (a6989586621680916659 :: Data.Semigroup.Internal.Product a6989586621679089517). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916662Sym2 a6989586621680916660 a6989586621680916659)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916631Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Internal.Sum a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916631Sym1 a6989586621680916628)
instance forall a6989586621679089512 (a6989586621680916629 :: GHC.Types.Nat) (a6989586621680916628 :: Data.Semigroup.Internal.Sum a6989586621679089512). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916631Sym2 a6989586621680916629 a6989586621680916628)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916600Sym0
instance Data.Singletons.Prelude.Show.PShow Data.Semigroup.Internal.Any
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916600Sym1 a6989586621680916597)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916600Sym2 a6989586621680916598 a6989586621680916597)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916572Sym0
instance Data.Singletons.Prelude.Show.PShow Data.Semigroup.Internal.All
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916572Sym1 a6989586621680916569)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916572Sym2 a6989586621680916570 a6989586621680916569)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916544Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Internal.Dual a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916544Sym1 a6989586621680916541)
instance forall a6989586621679089527 (a6989586621680916542 :: GHC.Types.Nat) (a6989586621680916541 :: Data.Semigroup.Internal.Dual a6989586621679089527). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916544Sym2 a6989586621680916542 a6989586621680916541)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916513Sym0
instance Data.Singletons.Prelude.Show.PShow (Data.Semigroup.Option a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916513Sym1 a6989586621680916510)
instance forall a6989586621679067354 (a6989586621680916511 :: GHC.Types.Nat) (a6989586621680916510 :: Data.Semigroup.Option a6989586621679067354). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ShowsPrec_6989586621680916513Sym2 a6989586621680916511 a6989586621680916510)
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 a6989586621679068255 b6989586621679068256 (t6989586621680914701 :: a6989586621679068255). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Semigroup.ArgSym1 t6989586621680914701)


-- | 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_a1hcQ :: a_11) (n_a1hcR :: [a_11]). () => Sing (n_a1hcQ :: a_11) -> Sing (n_a1hcR :: [a_11]) -> SList ('(:) n_a1hcQ n_a1hcR)
infixr 5 `SCons`
type family (++) (a_a2fa6 :: [a_a2f6V]) (a_a2fa7 :: [a_a2f6V]) :: [a_a2f6V]
infixr 5 ++
(%++) :: forall a_a2f6V (t_a2fbi :: [a_a2f6V]) (t_a2fbj :: [a_a2f6V]). Sing t_a2fbi -> Sing t_a2fbj -> Sing (Apply (Apply (++@#@$) t_a2fbi) t_a2fbj :: [a_a2f6V])
infixr 5 %++
type family Head (a_a442u :: [a_a42Ef]) :: a_a42Ef
sHead :: forall a_a42Ef (t_a447Z :: [a_a42Ef]). Sing t_a447Z -> Sing (Apply HeadSym0 t_a447Z :: a_a42Ef)
type family Last (a_a442p :: [a_a42Ee]) :: a_a42Ee
sLast :: forall a_a42Ee (t_a447X :: [a_a42Ee]). Sing t_a447X -> Sing (Apply LastSym0 t_a447X :: a_a42Ee)
type family Tail (a_a442m :: [a_a42Ed]) :: [a_a42Ed]
sTail :: forall a_a42Ed (t_a447V :: [a_a42Ed]). Sing t_a447V -> Sing (Apply TailSym0 t_a447V :: [a_a42Ed])
type family Init (a_a4428 :: [a_a42Ec]) :: [a_a42Ec]
sInit :: forall a_a42Ec (t_a447T :: [a_a42Ec]). Sing t_a447T -> Sing (Apply InitSym0 t_a447T :: [a_a42Ec])
type family Null (arg_a6d8B :: t_a6cXY a_a6cYd) :: Bool
sNull :: forall a_a6cYd (t_a6dut :: t_a6cXY a_a6cYd). SFoldable t_a6cXY => Sing t_a6dut -> Sing (Apply NullSym0 t_a6dut :: Bool)
type family Length (arg_a6d8D :: t_a6cXY a_a6cYe) :: Nat
sLength :: forall a_a6cYe (t_a6duv :: t_a6cXY a_a6cYe). SFoldable t_a6cXY => Sing t_a6duv -> Sing (Apply LengthSym0 t_a6duv :: Nat)
type family Map (a_a2fae :: (~>) a_a2f6W b_a2f6X) (a_a2faf :: [a_a2f6W]) :: [b_a2f6X]
sMap :: forall a_a2f6W b_a2f6X (t_a2fbm :: (~>) a_a2f6W b_a2f6X) (t_a2fbn :: [a_a2f6W]). Sing t_a2fbm -> Sing t_a2fbn -> Sing (Apply (Apply MapSym0 t_a2fbm) t_a2fbn :: [b_a2f6X])
type family Reverse (a_a441T :: [a_a42Ea]) :: [a_a42Ea]
sReverse :: forall a_a42Ea (t_a447P :: [a_a42Ea]). Sing t_a447P -> Sing (Apply ReverseSym0 t_a447P :: [a_a42Ea])
type family Intersperse (a_a441M :: a_a42E9) (a_a441N :: [a_a42E9]) :: [a_a42E9]
sIntersperse :: forall a_a42E9 (t_a447L :: a_a42E9) (t_a447M :: [a_a42E9]). Sing t_a447L -> Sing t_a447M -> Sing (Apply (Apply IntersperseSym0 t_a447L) t_a447M :: [a_a42E9])
type family Intercalate (a_a441G :: [a_a42E8]) (a_a441H :: [[a_a42E8]]) :: [a_a42E8]
sIntercalate :: forall a_a42E8 (t_a447H :: [a_a42E8]) (t_a447I :: [[a_a42E8]]). Sing t_a447H -> Sing t_a447I -> Sing (Apply (Apply IntercalateSym0 t_a447H) t_a447I :: [a_a42E8])
type family Transpose (a_a43Hp :: [[a_a42Cj]]) :: [[a_a42Cj]]
sTranspose :: forall a_a42Cj (t_a442Z :: [[a_a42Cj]]). Sing t_a442Z -> Sing (Apply TransposeSym0 t_a442Z :: [[a_a42Cj]])
type family Subsequences (a_a441D :: [a_a42E7]) :: [[a_a42E7]]
sSubsequences :: forall a_a42E7 (t_a447F :: [a_a42E7]). Sing t_a447F -> Sing (Apply SubsequencesSym0 t_a447F :: [[a_a42E7]])
type family Permutations (a_a43ZJ :: [a_a42E4]) :: [[a_a42E4]]
sPermutations :: forall a_a42E4 (t_a447x :: [a_a42E4]). Sing t_a447x -> Sing (Apply PermutationsSym0 t_a447x :: [[a_a42E4]])
type family Foldl (arg_a6d8f :: (~>) b_a6cY6 ((~>) a_a6cY7 b_a6cY6)) (arg_a6d8g :: b_a6cY6) (arg_a6d8h :: t_a6cXY a_a6cY7) :: b_a6cY6
sFoldl :: forall b_a6cY6 a_a6cY7 (t_a6du7 :: (~>) b_a6cY6 ((~>) a_a6cY7 b_a6cY6)) (t_a6du8 :: b_a6cY6) (t_a6du9 :: t_a6cXY a_a6cY7). SFoldable t_a6cXY => Sing t_a6du7 -> Sing t_a6du8 -> Sing t_a6du9 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6du7) t_a6du8) t_a6du9 :: b_a6cY6)
type family Foldl' (arg_a6d8l :: (~>) b_a6cY8 ((~>) a_a6cY9 b_a6cY8)) (arg_a6d8m :: b_a6cY8) (arg_a6d8n :: t_a6cXY a_a6cY9) :: b_a6cY8
sFoldl' :: forall b_a6cY8 a_a6cY9 (t_a6dud :: (~>) b_a6cY8 ((~>) a_a6cY9 b_a6cY8)) (t_a6due :: b_a6cY8) (t_a6duf :: t_a6cXY a_a6cY9). SFoldable t_a6cXY => Sing t_a6dud -> Sing t_a6due -> Sing t_a6duf -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6dud) t_a6due) t_a6duf :: b_a6cY8)
type family Foldl1 (arg_a6d8v :: (~>) a_a6cYb ((~>) a_a6cYb a_a6cYb)) (arg_a6d8w :: t_a6cXY a_a6cYb) :: a_a6cYb
sFoldl1 :: forall a_a6cYb (t_a6dun :: (~>) a_a6cYb ((~>) a_a6cYb a_a6cYb)) (t_a6duo :: t_a6cXY a_a6cYb). SFoldable t_a6cXY => Sing t_a6dun -> Sing t_a6duo -> Sing (Apply (Apply Foldl1Sym0 t_a6dun) t_a6duo :: a_a6cYb)
type family Foldl1' (a_a43Z3 :: (~>) a_a42E0 ((~>) a_a42E0 a_a42E0)) (a_a43Z4 :: [a_a42E0]) :: a_a42E0
sFoldl1' :: forall a_a42E0 (t_a447j :: (~>) a_a42E0 ((~>) a_a42E0 a_a42E0)) (t_a447k :: [a_a42E0]). Sing t_a447j -> Sing t_a447k -> Sing (Apply (Apply Foldl1'Sym0 t_a447j) t_a447k :: a_a42E0)
type family Foldr (arg_a6d83 :: (~>) a_a6cY2 ((~>) b_a6cY3 b_a6cY3)) (arg_a6d84 :: b_a6cY3) (arg_a6d85 :: t_a6cXY a_a6cY2) :: b_a6cY3
sFoldr :: forall a_a6cY2 b_a6cY3 (t_a6dtV :: (~>) a_a6cY2 ((~>) b_a6cY3 b_a6cY3)) (t_a6dtW :: b_a6cY3) (t_a6dtX :: t_a6cXY a_a6cY2). SFoldable t_a6cXY => Sing t_a6dtV -> Sing t_a6dtW -> Sing t_a6dtX -> Sing (Apply (Apply (Apply FoldrSym0 t_a6dtV) t_a6dtW) t_a6dtX :: b_a6cY3)
type family Foldr1 (arg_a6d8r :: (~>) a_a6cYa ((~>) a_a6cYa a_a6cYa)) (arg_a6d8s :: t_a6cXY a_a6cYa) :: a_a6cYa
sFoldr1 :: forall a_a6cYa (t_a6duj :: (~>) a_a6cYa ((~>) a_a6cYa a_a6cYa)) (t_a6duk :: t_a6cXY a_a6cYa). SFoldable t_a6cXY => Sing t_a6duj -> Sing t_a6duk -> Sing (Apply (Apply Foldr1Sym0 t_a6duj) t_a6duk :: a_a6cYa)
type family Concat (a_a6d69 :: t_a6cWL [a_a6cWM]) :: [a_a6cWM]
sConcat :: forall t_a6cWL a_a6cWM (t_a6dsy :: t_a6cWL [a_a6cWM]). SFoldable t_a6cWL => Sing t_a6dsy -> Sing (Apply ConcatSym0 t_a6dsy :: [a_a6cWM])
type family ConcatMap (a_a6d5T :: (~>) a_a6cWJ [b_a6cWK]) (a_a6d5U :: t_a6cWI a_a6cWJ) :: [b_a6cWK]
sConcatMap :: forall a_a6cWJ b_a6cWK t_a6cWI (t_a6dsu :: (~>) a_a6cWJ [b_a6cWK]) (t_a6dsv :: t_a6cWI a_a6cWJ). SFoldable t_a6cWI => Sing t_a6dsu -> Sing t_a6dsv -> Sing (Apply (Apply ConcatMapSym0 t_a6dsu) t_a6dsv :: [b_a6cWK])
type family And (a_a6d5K :: t_a6cWH Bool) :: Bool
sAnd :: forall t_a6cWH (t_a6dss :: t_a6cWH Bool). SFoldable t_a6cWH => Sing t_a6dss -> Sing (Apply AndSym0 t_a6dss :: Bool)
type family Or (a_a6d5B :: t_a6cWG Bool) :: Bool
sOr :: forall t_a6cWG (t_a6dsq :: t_a6cWG Bool). SFoldable t_a6cWG => Sing t_a6dsq -> Sing (Apply OrSym0 t_a6dsq :: Bool)
type family Any (a_a6d5o :: (~>) a_a6cWF Bool) (a_a6d5p :: t_a6cWE a_a6cWF) :: Bool
sAny :: forall a_a6cWF t_a6cWE (t_a6dsm :: (~>) a_a6cWF Bool) (t_a6dsn :: t_a6cWE a_a6cWF). SFoldable t_a6cWE => Sing t_a6dsm -> Sing t_a6dsn -> Sing (Apply (Apply AnySym0 t_a6dsm) t_a6dsn :: Bool)
type family All (a_a6d5b :: (~>) a_a6cWD Bool) (a_a6d5c :: t_a6cWC a_a6cWD) :: Bool
sAll :: forall a_a6cWD t_a6cWC (t_a6dsi :: (~>) a_a6cWD Bool) (t_a6dsj :: t_a6cWC a_a6cWD). SFoldable t_a6cWC => Sing t_a6dsi -> Sing t_a6dsj -> Sing (Apply (Apply AllSym0 t_a6dsi) t_a6dsj :: Bool)
type family Sum (arg_a6d8N :: t_a6cXY a_a6cYi) :: a_a6cYi
sSum :: forall a_a6cYi (t_a6duF :: t_a6cXY a_a6cYi). (SFoldable t_a6cXY, SNum a_a6cYi) => Sing t_a6duF -> Sing (Apply SumSym0 t_a6duF :: a_a6cYi)
type family Product (arg_a6d8P :: t_a6cXY a_a6cYj) :: a_a6cYj
sProduct :: forall a_a6cYj (t_a6duH :: t_a6cXY a_a6cYj). (SFoldable t_a6cXY, SNum a_a6cYj) => Sing t_a6duH -> Sing (Apply ProductSym0 t_a6duH :: a_a6cYj)
type family Maximum (arg_a6d8J :: t_a6cXY a_a6cYg) :: a_a6cYg
sMaximum :: forall a_a6cYg (t_a6duB :: t_a6cXY a_a6cYg). (SFoldable t_a6cXY, SOrd a_a6cYg) => Sing t_a6duB -> Sing (Apply MaximumSym0 t_a6duB :: a_a6cYg)
type family Minimum (arg_a6d8L :: t_a6cXY a_a6cYh) :: a_a6cYh
sMinimum :: forall a_a6cYh (t_a6duD :: t_a6cXY a_a6cYh). (SFoldable t_a6cXY, SOrd a_a6cYh) => Sing t_a6duD -> Sing (Apply MinimumSym0 t_a6duD :: a_a6cYh)
type family Scanl (a_a43Y2 :: (~>) b_a42DS ((~>) a_a42DT b_a42DS)) (a_a43Y3 :: b_a42DS) (a_a43Y4 :: [a_a42DT]) :: [b_a42DS]
sScanl :: forall b_a42DS a_a42DT (t_a446R :: (~>) b_a42DS ((~>) a_a42DT b_a42DS)) (t_a446S :: b_a42DS) (t_a446T :: [a_a42DT]). Sing t_a446R -> Sing t_a446S -> Sing t_a446T -> Sing (Apply (Apply (Apply ScanlSym0 t_a446R) t_a446S) t_a446T :: [b_a42DS])
type family Scanl1 (a_a43XV :: (~>) a_a42DR ((~>) a_a42DR a_a42DR)) (a_a43XW :: [a_a42DR]) :: [a_a42DR]
sScanl1 :: forall a_a42DR (t_a446N :: (~>) a_a42DR ((~>) a_a42DR a_a42DR)) (t_a446O :: [a_a42DR]). Sing t_a446N -> Sing t_a446O -> Sing (Apply (Apply Scanl1Sym0 t_a446N) t_a446O :: [a_a42DR])
type family Scanr (a_a43XA :: (~>) a_a42DP ((~>) b_a42DQ b_a42DQ)) (a_a43XB :: b_a42DQ) (a_a43XC :: [a_a42DP]) :: [b_a42DQ]
sScanr :: forall a_a42DP b_a42DQ (t_a446H :: (~>) a_a42DP ((~>) b_a42DQ b_a42DQ)) (t_a446I :: b_a42DQ) (t_a446J :: [a_a42DP]). Sing t_a446H -> Sing t_a446I -> Sing t_a446J -> Sing (Apply (Apply (Apply ScanrSym0 t_a446H) t_a446I) t_a446J :: [b_a42DQ])
type family Scanr1 (a_a43Xc :: (~>) a_a42DO ((~>) a_a42DO a_a42DO)) (a_a43Xd :: [a_a42DO]) :: [a_a42DO]
sScanr1 :: forall a_a42DO (t_a446D :: (~>) a_a42DO ((~>) a_a42DO a_a42DO)) (t_a446E :: [a_a42DO]). Sing t_a446D -> Sing t_a446E -> Sing (Apply (Apply Scanr1Sym0 t_a446D) t_a446E :: [a_a42DO])
type family MapAccumL (a_a7wIa :: (~>) a_a7wA3 ((~>) b_a7wA4 (a_a7wA3, c_a7wA5))) (a_a7wIb :: a_a7wA3) (a_a7wIc :: t_a7wA2 b_a7wA4) :: (a_a7wA3, t_a7wA2 c_a7wA5)
sMapAccumL :: forall a_a7wA3 b_a7wA4 c_a7wA5 t_a7wA2 (t_a7wRS :: (~>) a_a7wA3 ((~>) b_a7wA4 (a_a7wA3, c_a7wA5))) (t_a7wRT :: a_a7wA3) (t_a7wRU :: t_a7wA2 b_a7wA4). STraversable t_a7wA2 => Sing t_a7wRS -> Sing t_a7wRT -> Sing t_a7wRU -> Sing (Apply (Apply (Apply MapAccumLSym0 t_a7wRS) t_a7wRT) t_a7wRU :: (a_a7wA3, t_a7wA2 c_a7wA5))
type family MapAccumR (a_a7wHT :: (~>) a_a7wzZ ((~>) b_a7wA0 (a_a7wzZ, c_a7wA1))) (a_a7wHU :: a_a7wzZ) (a_a7wHV :: t_a7wzY b_a7wA0) :: (a_a7wzZ, t_a7wzY c_a7wA1)
sMapAccumR :: forall a_a7wzZ b_a7wA0 c_a7wA1 t_a7wzY (t_a7wRM :: (~>) a_a7wzZ ((~>) b_a7wA0 (a_a7wzZ, c_a7wA1))) (t_a7wRN :: a_a7wzZ) (t_a7wRO :: t_a7wzY b_a7wA0). STraversable t_a7wzY => Sing t_a7wRM -> Sing t_a7wRN -> Sing t_a7wRO -> Sing (Apply (Apply (Apply MapAccumRSym0 t_a7wRM) t_a7wRN) t_a7wRO :: (a_a7wzZ, t_a7wzY c_a7wA1))
type family Replicate (a_a43Hv :: Nat) (a_a43Hw :: a_a42Ck) :: [a_a42Ck]
sReplicate :: forall a_a42Ck (t_a4431 :: Nat) (t_a4432 :: a_a42Ck). Sing t_a4431 -> Sing t_a4432 -> Sing (Apply (Apply ReplicateSym0 t_a4431) t_a4432 :: [a_a42Ck])
type family Unfoldr (a_a43UU :: (~>) b_a42DG (Maybe (a_a42DH, b_a42DG))) (a_a43UV :: b_a42DG) :: [a_a42DH]
sUnfoldr :: forall b_a42DG a_a42DH (t_a446n :: (~>) b_a42DG (Maybe (a_a42DH, b_a42DG))) (t_a446o :: b_a42DG). Sing t_a446n -> Sing t_a446o -> Sing (Apply (Apply UnfoldrSym0 t_a446n) t_a446o :: [a_a42DH])
type family Take (a_a43K6 :: Nat) (a_a43K7 :: [a_a42CA]) :: [a_a42CA]
sTake :: forall a_a42CA (t_a443N :: Nat) (t_a443O :: [a_a42CA]). Sing t_a443N -> Sing t_a443O -> Sing (Apply (Apply TakeSym0 t_a443N) t_a443O :: [a_a42CA])
type family Drop (a_a43JS :: Nat) (a_a43JT :: [a_a42Cz]) :: [a_a42Cz]
sDrop :: forall a_a42Cz (t_a443J :: Nat) (t_a443K :: [a_a42Cz]). Sing t_a443J -> Sing t_a443K -> Sing (Apply (Apply DropSym0 t_a443J) t_a443K :: [a_a42Cz])
type family SplitAt (a_a43JM :: Nat) (a_a43JN :: [a_a42Cy]) :: ([a_a42Cy], [a_a42Cy])
sSplitAt :: forall a_a42Cy (t_a443F :: Nat) (t_a443G :: [a_a42Cy]). Sing t_a443F -> Sing t_a443G -> Sing (Apply (Apply SplitAtSym0 t_a443F) t_a443G :: ([a_a42Cy], [a_a42Cy]))
type family TakeWhile (a_a43Mq :: (~>) a_a42CF Bool) (a_a43Mr :: [a_a42CF]) :: [a_a42CF]
sTakeWhile :: forall a_a42CF (t_a4447 :: (~>) a_a42CF Bool) (t_a4448 :: [a_a42CF]). Sing t_a4447 -> Sing t_a4448 -> Sing (Apply (Apply TakeWhileSym0 t_a4447) t_a4448 :: [a_a42CF])
type family DropWhile (a_a43M8 :: (~>) a_a42CE Bool) (a_a43M9 :: [a_a42CE]) :: [a_a42CE]
sDropWhile :: forall a_a42CE (t_a4443 :: (~>) a_a42CE Bool) (t_a4444 :: [a_a42CE]). Sing t_a4443 -> Sing t_a4444 -> Sing (Apply (Apply DropWhileSym0 t_a4443) t_a4444 :: [a_a42CE])
type family DropWhileEnd (a_a43LI :: (~>) a_a42CD Bool) (a_a43LJ :: [a_a42CD]) :: [a_a42CD]
sDropWhileEnd :: forall a_a42CD (t_a443Z :: (~>) a_a42CD Bool) (t_a4440 :: [a_a42CD]). Sing t_a443Z -> Sing t_a4440 -> Sing (Apply (Apply DropWhileEndSym0 t_a443Z) t_a4440 :: [a_a42CD])
type family Span (a_a43L1 :: (~>) a_a42CC Bool) (a_a43L2 :: [a_a42CC]) :: ([a_a42CC], [a_a42CC])
sSpan :: forall a_a42CC (t_a443V :: (~>) a_a42CC Bool) (t_a443W :: [a_a42CC]). Sing t_a443V -> Sing t_a443W -> Sing (Apply (Apply SpanSym0 t_a443V) t_a443W :: ([a_a42CC], [a_a42CC]))
type family Break (a_a43Kk :: (~>) a_a42CB Bool) (a_a43Kl :: [a_a42CB]) :: ([a_a42CB], [a_a42CB])
sBreak :: forall a_a42CB (t_a443R :: (~>) a_a42CB Bool) (t_a443S :: [a_a42CB]). Sing t_a443R -> Sing t_a443S -> Sing (Apply (Apply BreakSym0 t_a443R) t_a443S :: ([a_a42CB], [a_a42CB]))
type family StripPrefix (a_a4yQL :: [a_a4ypp]) (a_a4yQM :: [a_a4ypp]) :: Maybe [a_a4ypp]
type family Group (a_a43JJ :: [a_a42Cx]) :: [[a_a42Cx]]
sGroup :: forall a_a42Cx (t_a443D :: [a_a42Cx]). SEq a_a42Cx => Sing t_a443D -> Sing (Apply GroupSym0 t_a443D :: [[a_a42Cx]])
type family Inits (a_a43UM :: [a_a42DF]) :: [[a_a42DF]]
sInits :: forall a_a42DF (t_a446l :: [a_a42DF]). Sing t_a446l -> Sing (Apply InitsSym0 t_a446l :: [[a_a42DF]])
type family Tails (a_a43UF :: [a_a42DE]) :: [[a_a42DE]]
sTails :: forall a_a42DE (t_a446j :: [a_a42DE]). Sing t_a446j -> Sing (Apply TailsSym0 t_a446j :: [[a_a42DE]])
type family IsPrefixOf (a_a43Ux :: [a_a42DD]) (a_a43Uy :: [a_a42DD]) :: Bool
sIsPrefixOf :: forall a_a42DD (t_a446f :: [a_a42DD]) (t_a446g :: [a_a42DD]). SEq a_a42DD => Sing t_a446f -> Sing t_a446g -> Sing (Apply (Apply IsPrefixOfSym0 t_a446f) t_a446g :: Bool)
type family IsSuffixOf (a_a43Ur :: [a_a42DC]) (a_a43Us :: [a_a42DC]) :: Bool
sIsSuffixOf :: forall a_a42DC (t_a446b :: [a_a42DC]) (t_a446c :: [a_a42DC]). SEq a_a42DC => Sing t_a446b -> Sing t_a446c -> Sing (Apply (Apply IsSuffixOfSym0 t_a446b) t_a446c :: Bool)
type family IsInfixOf (a_a43Ul :: [a_a42DB]) (a_a43Um :: [a_a42DB]) :: Bool
sIsInfixOf :: forall a_a42DB (t_a4467 :: [a_a42DB]) (t_a4468 :: [a_a42DB]). SEq a_a42DB => Sing t_a4467 -> Sing t_a4468 -> Sing (Apply (Apply IsInfixOfSym0 t_a4467) t_a4468 :: Bool)
type family Elem (arg_a6d8F :: a_a6cYf) (arg_a6d8G :: t_a6cXY a_a6cYf) :: Bool
sElem :: forall a_a6cYf (t_a6dux :: a_a6cYf) (t_a6duy :: t_a6cXY a_a6cYf). (SFoldable t_a6cXY, SEq a_a6cYf) => Sing t_a6dux -> Sing t_a6duy -> Sing (Apply (Apply ElemSym0 t_a6dux) t_a6duy :: Bool)
type family NotElem (a_a6d4f :: a_a6cWx) (a_a6d4g :: t_a6cWw a_a6cWx) :: Bool
sNotElem :: forall a_a6cWx t_a6cWw (t_a6ds6 :: a_a6cWx) (t_a6ds7 :: t_a6cWw a_a6cWx). (SFoldable t_a6cWw, SEq a_a6cWx) => Sing t_a6ds6 -> Sing t_a6ds7 -> Sing (Apply (Apply NotElemSym0 t_a6ds6) t_a6ds7 :: Bool)
type family Lookup (a_a43Iy :: a_a42Cq) (a_a43Iz :: [(a_a42Cq, b_a42Cr)]) :: Maybe b_a42Cr
sLookup :: forall a_a42Cq b_a42Cr (t_a443l :: a_a42Cq) (t_a443m :: [(a_a42Cq, b_a42Cr)]). SEq a_a42Cq => Sing t_a443l -> Sing t_a443m -> Sing (Apply (Apply LookupSym0 t_a443l) t_a443m :: Maybe b_a42Cr)
type family Find (a_a6d3O :: (~>) a_a6cWv Bool) (a_a6d3P :: t_a6cWu a_a6cWv) :: Maybe a_a6cWv
sFind :: forall a_a6cWv t_a6cWu (t_a6ds2 :: (~>) a_a6cWv Bool) (t_a6ds3 :: t_a6cWu a_a6cWv). SFoldable t_a6cWu => Sing t_a6ds2 -> Sing t_a6ds3 -> Sing (Apply (Apply FindSym0 t_a6ds2) t_a6ds3 :: Maybe a_a6cWv)
type family Filter (a_a43Og :: (~>) a_a42CN Bool) (a_a43Oh :: [a_a42CN]) :: [a_a42CN]
sFilter :: forall a_a42CN (t_a444F :: (~>) a_a42CN Bool) (t_a444G :: [a_a42CN]). Sing t_a444F -> Sing t_a444G -> Sing (Apply (Apply FilterSym0 t_a444F) t_a444G :: [a_a42CN])
type family Partition (a_a43Is :: (~>) a_a42Cp Bool) (a_a43It :: [a_a42Cp]) :: ([a_a42Cp], [a_a42Cp])
sPartition :: forall a_a42Cp (t_a443h :: (~>) a_a42Cp Bool) (t_a443i :: [a_a42Cp]). Sing t_a443h -> Sing t_a443i -> Sing (Apply (Apply PartitionSym0 t_a443h) t_a443i :: ([a_a42Cp], [a_a42Cp]))
type family (!!) (a_a43Hb :: [a_a42Ci]) (a_a43Hc :: Nat) :: a_a42Ci
infixl 9 !!
(%!!) :: forall a_a42Ci (t_a442V :: [a_a42Ci]) (t_a442W :: Nat). Sing t_a442V -> Sing t_a442W -> Sing (Apply (Apply (!!@#@$) t_a442V) t_a442W :: a_a42Ci)
infixl 9 %!!
type family ElemIndex (a_a43O0 :: a_a42CL) (a_a43O1 :: [a_a42CL]) :: Maybe Nat
sElemIndex :: forall a_a42CL (t_a444x :: a_a42CL) (t_a444y :: [a_a42CL]). SEq a_a42CL => Sing t_a444x -> Sing t_a444y -> Sing (Apply (Apply ElemIndexSym0 t_a444x) t_a444y :: Maybe Nat)
type family ElemIndices (a_a43NS :: a_a42CK) (a_a43NT :: [a_a42CK]) :: [Nat]
sElemIndices :: forall a_a42CK (t_a444t :: a_a42CK) (t_a444u :: [a_a42CK]). SEq a_a42CK => Sing t_a444t -> Sing t_a444u -> Sing (Apply (Apply ElemIndicesSym0 t_a444t) t_a444u :: [Nat])
type family FindIndex (a_a43NK :: (~>) a_a42CJ Bool) (a_a43NL :: [a_a42CJ]) :: Maybe Nat
sFindIndex :: forall a_a42CJ (t_a444p :: (~>) a_a42CJ Bool) (t_a444q :: [a_a42CJ]). Sing t_a444p -> Sing t_a444q -> Sing (Apply (Apply FindIndexSym0 t_a444p) t_a444q :: Maybe Nat)
type family FindIndices (a_a43Nk :: (~>) a_a42CI Bool) (a_a43Nl :: [a_a42CI]) :: [Nat]
sFindIndices :: forall a_a42CI (t_a444l :: (~>) a_a42CI Bool) (t_a444m :: [a_a42CI]). Sing t_a444l -> Sing t_a444m -> Sing (Apply (Apply FindIndicesSym0 t_a444l) t_a444m :: [Nat])
type family Zip (a_a43TZ :: [a_a42Dx]) (a_a43U0 :: [b_a42Dy]) :: [(a_a42Dx, b_a42Dy)]
sZip :: forall a_a42Dx b_a42Dy (t_a445V :: [a_a42Dx]) (t_a445W :: [b_a42Dy]). Sing t_a445V -> Sing t_a445W -> Sing (Apply (Apply ZipSym0 t_a445V) t_a445W :: [(a_a42Dx, b_a42Dy)])
type family Zip3 (a_a43TN :: [a_a42Du]) (a_a43TO :: [b_a42Dv]) (a_a43TP :: [c_a42Dw]) :: [(a_a42Du, b_a42Dv, c_a42Dw)]
sZip3 :: forall a_a42Du b_a42Dv c_a42Dw (t_a445P :: [a_a42Du]) (t_a445Q :: [b_a42Dv]) (t_a445R :: [c_a42Dw]). Sing t_a445P -> Sing t_a445Q -> Sing t_a445R -> Sing (Apply (Apply (Apply Zip3Sym0 t_a445P) t_a445Q) t_a445R :: [(a_a42Du, b_a42Dv, c_a42Dw)])
type family Zip4 (a_a4yQz :: [a_a4ypl]) (a_a4yQA :: [b_a4ypm]) (a_a4yQB :: [c_a4ypn]) (a_a4yQC :: [d_a4ypo]) :: [(a_a4ypl, b_a4ypm, c_a4ypn, d_a4ypo)]
type family Zip5 (a_a4yQc :: [a_a4ypg]) (a_a4yQd :: [b_a4yph]) (a_a4yQe :: [c_a4ypi]) (a_a4yQf :: [d_a4ypj]) (a_a4yQg :: [e_a4ypk]) :: [(a_a4ypg, b_a4yph, c_a4ypi, d_a4ypj, e_a4ypk)]
type family Zip6 (a_a4yPK :: [a_a4ypa]) (a_a4yPL :: [b_a4ypb]) (a_a4yPM :: [c_a4ypc]) (a_a4yPN :: [d_a4ypd]) (a_a4yPO :: [e_a4ype]) (a_a4yPP :: [f_a4ypf]) :: [(a_a4ypa, b_a4ypb, c_a4ypc, d_a4ypd, e_a4ype, f_a4ypf)]
type family Zip7 (a_a4yPd :: [a_a4yp3]) (a_a4yPe :: [b_a4yp4]) (a_a4yPf :: [c_a4yp5]) (a_a4yPg :: [d_a4yp6]) (a_a4yPh :: [e_a4yp7]) (a_a4yPi :: [f_a4yp8]) (a_a4yPj :: [g_a4yp9]) :: [(a_a4yp3, b_a4yp4, c_a4yp5, d_a4yp6, e_a4yp7, f_a4yp8, g_a4yp9)]
type family ZipWith (a_a43TC :: (~>) a_a42Dr ((~>) b_a42Ds c_a42Dt)) (a_a43TD :: [a_a42Dr]) (a_a43TE :: [b_a42Ds]) :: [c_a42Dt]
sZipWith :: forall a_a42Dr b_a42Ds c_a42Dt (t_a445J :: (~>) a_a42Dr ((~>) b_a42Ds c_a42Dt)) (t_a445K :: [a_a42Dr]) (t_a445L :: [b_a42Ds]). Sing t_a445J -> Sing t_a445K -> Sing t_a445L -> Sing (Apply (Apply (Apply ZipWithSym0 t_a445J) t_a445K) t_a445L :: [c_a42Dt])
type family ZipWith3 (a_a43Tn :: (~>) a_a42Dn ((~>) b_a42Do ((~>) c_a42Dp d_a42Dq))) (a_a43To :: [a_a42Dn]) (a_a43Tp :: [b_a42Do]) (a_a43Tq :: [c_a42Dp]) :: [d_a42Dq]
sZipWith3 :: forall a_a42Dn b_a42Do c_a42Dp d_a42Dq (t_a445B :: (~>) a_a42Dn ((~>) b_a42Do ((~>) c_a42Dp d_a42Dq))) (t_a445C :: [a_a42Dn]) (t_a445D :: [b_a42Do]) (t_a445E :: [c_a42Dp]). Sing t_a445B -> Sing t_a445C -> Sing t_a445D -> Sing t_a445E -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a445B) t_a445C) t_a445D) t_a445E :: [d_a42Dq])
type family ZipWith4 (a_a4yOG :: (~>) a_a4yoY ((~>) b_a4yoZ ((~>) c_a4yp0 ((~>) d_a4yp1 e_a4yp2)))) (a_a4yOH :: [a_a4yoY]) (a_a4yOI :: [b_a4yoZ]) (a_a4yOJ :: [c_a4yp0]) (a_a4yOK :: [d_a4yp1]) :: [e_a4yp2]
type family ZipWith5 (a_a4yOj :: (~>) a_a4yoS ((~>) b_a4yoT ((~>) c_a4yoU ((~>) d_a4yoV ((~>) e_a4yoW f_a4yoX))))) (a_a4yOk :: [a_a4yoS]) (a_a4yOl :: [b_a4yoT]) (a_a4yOm :: [c_a4yoU]) (a_a4yOn :: [d_a4yoV]) (a_a4yOo :: [e_a4yoW]) :: [f_a4yoX]
type family ZipWith6 (a_a4yNS :: (~>) a_a4yoL ((~>) b_a4yoM ((~>) c_a4yoN ((~>) d_a4yoO ((~>) e_a4yoP ((~>) f_a4yoQ g_a4yoR)))))) (a_a4yNT :: [a_a4yoL]) (a_a4yNU :: [b_a4yoM]) (a_a4yNV :: [c_a4yoN]) (a_a4yNW :: [d_a4yoO]) (a_a4yNX :: [e_a4yoP]) (a_a4yNY :: [f_a4yoQ]) :: [g_a4yoR]
type family ZipWith7 (a_a4yNn :: (~>) a_a4yoD ((~>) b_a4yoE ((~>) c_a4yoF ((~>) d_a4yoG ((~>) e_a4yoH ((~>) f_a4yoI ((~>) g_a4yoJ h_a4yoK))))))) (a_a4yNo :: [a_a4yoD]) (a_a4yNp :: [b_a4yoE]) (a_a4yNq :: [c_a4yoF]) (a_a4yNr :: [d_a4yoG]) (a_a4yNs :: [e_a4yoH]) (a_a4yNt :: [f_a4yoI]) (a_a4yNu :: [g_a4yoJ]) :: [h_a4yoK]
type family Unzip (a_a43T4 :: [(a_a42Dl, b_a42Dm)]) :: ([a_a42Dl], [b_a42Dm])
sUnzip :: forall a_a42Dl b_a42Dm (t_a445z :: [(a_a42Dl, b_a42Dm)]). Sing t_a445z -> Sing (Apply UnzipSym0 t_a445z :: ([a_a42Dl], [b_a42Dm]))
type family Unzip3 (a_a43SJ :: [(a_a42Di, b_a42Dj, c_a42Dk)]) :: ([a_a42Di], [b_a42Dj], [c_a42Dk])
sUnzip3 :: forall a_a42Di b_a42Dj c_a42Dk (t_a445x :: [(a_a42Di, b_a42Dj, c_a42Dk)]). Sing t_a445x -> Sing (Apply Unzip3Sym0 t_a445x :: ([a_a42Di], [b_a42Dj], [c_a42Dk]))
type family Unzip4 (a_a43Sm :: [(a_a42De, b_a42Df, c_a42Dg, d_a42Dh)]) :: ([a_a42De], [b_a42Df], [c_a42Dg], [d_a42Dh])
sUnzip4 :: forall a_a42De b_a42Df c_a42Dg d_a42Dh (t_a445v :: [(a_a42De, b_a42Df, c_a42Dg, d_a42Dh)]). Sing t_a445v -> Sing (Apply Unzip4Sym0 t_a445v :: ([a_a42De], [b_a42Df], [c_a42Dg], [d_a42Dh]))
type family Unzip5 (a_a43RX :: [(a_a42D9, b_a42Da, c_a42Db, d_a42Dc, e_a42Dd)]) :: ([a_a42D9], [b_a42Da], [c_a42Db], [d_a42Dc], [e_a42Dd])
sUnzip5 :: forall a_a42D9 b_a42Da c_a42Db d_a42Dc e_a42Dd (t_a445t :: [(a_a42D9, b_a42Da, c_a42Db, d_a42Dc, e_a42Dd)]). Sing t_a445t -> Sing (Apply Unzip5Sym0 t_a445t :: ([a_a42D9], [b_a42Da], [c_a42Db], [d_a42Dc], [e_a42Dd]))
type family Unzip6 (a_a43Rw :: [(a_a42D3, b_a42D4, c_a42D5, d_a42D6, e_a42D7, f_a42D8)]) :: ([a_a42D3], [b_a42D4], [c_a42D5], [d_a42D6], [e_a42D7], [f_a42D8])
sUnzip6 :: forall a_a42D3 b_a42D4 c_a42D5 d_a42D6 e_a42D7 f_a42D8 (t_a445r :: [(a_a42D3, b_a42D4, c_a42D5, d_a42D6, e_a42D7, f_a42D8)]). Sing t_a445r -> Sing (Apply Unzip6Sym0 t_a445r :: ([a_a42D3], [b_a42D4], [c_a42D5], [d_a42D6], [e_a42D7], [f_a42D8]))
type family Unzip7 (a_a43R3 :: [(a_a42CW, b_a42CX, c_a42CY, d_a42CZ, e_a42D0, f_a42D1, g_a42D2)]) :: ([a_a42CW], [b_a42CX], [c_a42CY], [d_a42CZ], [e_a42D0], [f_a42D1], [g_a42D2])
sUnzip7 :: forall a_a42CW b_a42CX c_a42CY d_a42CZ e_a42D0 f_a42D1 g_a42D2 (t_a445p :: [(a_a42CW, b_a42CX, c_a42CY, d_a42CZ, e_a42D0, f_a42D1, g_a42D2)]). Sing t_a445p -> Sing (Apply Unzip7Sym0 t_a445p :: ([a_a42CW], [b_a42CX], [c_a42CY], [d_a42CZ], [e_a42D0], [f_a42D1], [g_a42D2]))
type family Unlines (a_a43QZ :: [Symbol]) :: Symbol
sUnlines :: forall (t_a445n :: [Symbol]). Sing t_a445n -> Sing (Apply UnlinesSym0 t_a445n :: Symbol)
type family Unwords (a_a43QO :: [Symbol]) :: Symbol
sUnwords :: forall (t_a445l :: [Symbol]). Sing t_a445l -> Sing (Apply UnwordsSym0 t_a445l :: Symbol)
type family Nub (a_a43GR :: [a_a42Ch]) :: [a_a42Ch]
sNub :: forall a_a42Ch (t_a442T :: [a_a42Ch]). SEq a_a42Ch => Sing t_a442T -> Sing (Apply NubSym0 t_a442T :: [a_a42Ch])
type family Delete (a_a43QI :: a_a42CV) (a_a43QJ :: [a_a42CV]) :: [a_a42CV]
sDelete :: forall a_a42CV (t_a445h :: a_a42CV) (t_a445i :: [a_a42CV]). SEq a_a42CV => Sing t_a445h -> Sing t_a445i -> Sing (Apply (Apply DeleteSym0 t_a445h) t_a445i :: [a_a42CV])
type family (\\) (a_a43Qy :: [a_a42CU]) (a_a43Qz :: [a_a42CU]) :: [a_a42CU]
infix 5 \\
(%\\) :: forall a_a42CU (t_a445d :: [a_a42CU]) (t_a445e :: [a_a42CU]). SEq a_a42CU => Sing t_a445d -> Sing t_a445e -> Sing (Apply (Apply (\\@#@$) t_a445d) t_a445e :: [a_a42CU])
infix 5 %\\
type family Union (a_a43G3 :: [a_a42Cd]) (a_a43G4 :: [a_a42Cd]) :: [a_a42Cd]
sUnion :: forall a_a42Cd (t_a442z :: [a_a42Cd]) (t_a442A :: [a_a42Cd]). SEq a_a42Cd => Sing t_a442z -> Sing t_a442A -> Sing (Apply (Apply UnionSym0 t_a442z) t_a442A :: [a_a42Cd])
type family Intersect (a_a43Ne :: [a_a42CH]) (a_a43Nf :: [a_a42CH]) :: [a_a42CH]
sIntersect :: forall a_a42CH (t_a444h :: [a_a42CH]) (t_a444i :: [a_a42CH]). SEq a_a42CH => Sing t_a444h -> Sing t_a444i -> Sing (Apply (Apply IntersectSym0 t_a444h) t_a444i :: [a_a42CH])
type family Insert (a_a43Jp :: a_a42Cu) (a_a43Jq :: [a_a42Cu]) :: [a_a42Cu]
sInsert :: forall a_a42Cu (t_a443v :: a_a42Cu) (t_a443w :: [a_a42Cu]). SOrd a_a42Cu => Sing t_a443v -> Sing t_a443w -> Sing (Apply (Apply InsertSym0 t_a443v) t_a443w :: [a_a42Cu])
type family Sort (a_a43Jm :: [a_a42Ct]) :: [a_a42Ct]
sSort :: forall a_a42Ct (t_a443t :: [a_a42Ct]). SOrd a_a42Ct => Sing t_a443t -> Sing (Apply SortSym0 t_a443t :: [a_a42Ct])
type family NubBy (a_a43Gs :: (~>) a_a42Cg ((~>) a_a42Cg Bool)) (a_a43Gt :: [a_a42Cg]) :: [a_a42Cg]
sNubBy :: forall a_a42Cg (t_a442P :: (~>) a_a42Cg ((~>) a_a42Cg Bool)) (t_a442Q :: [a_a42Cg]). Sing t_a442P -> Sing t_a442Q -> Sing (Apply (Apply NubBySym0 t_a442P) t_a442Q :: [a_a42Cg])
type family DeleteBy (a_a43Qc :: (~>) a_a42CT ((~>) a_a42CT Bool)) (a_a43Qd :: a_a42CT) (a_a43Qe :: [a_a42CT]) :: [a_a42CT]
sDeleteBy :: forall a_a42CT (t_a4457 :: (~>) a_a42CT ((~>) a_a42CT Bool)) (t_a4458 :: a_a42CT) (t_a4459 :: [a_a42CT]). Sing t_a4457 -> Sing t_a4458 -> Sing t_a4459 -> Sing (Apply (Apply (Apply DeleteBySym0 t_a4457) t_a4458) t_a4459 :: [a_a42CT])
type family DeleteFirstsBy (a_a43PZ :: (~>) a_a42CS ((~>) a_a42CS Bool)) (a_a43Q0 :: [a_a42CS]) (a_a43Q1 :: [a_a42CS]) :: [a_a42CS]
sDeleteFirstsBy :: forall a_a42CS (t_a4451 :: (~>) a_a42CS ((~>) a_a42CS Bool)) (t_a4452 :: [a_a42CS]) (t_a4453 :: [a_a42CS]). Sing t_a4451 -> Sing t_a4452 -> Sing t_a4453 -> Sing (Apply (Apply (Apply DeleteFirstsBySym0 t_a4451) t_a4452) t_a4453 :: [a_a42CS])
type family UnionBy (a_a43G9 :: (~>) a_a42Ce ((~>) a_a42Ce Bool)) (a_a43Ga :: [a_a42Ce]) (a_a43Gb :: [a_a42Ce]) :: [a_a42Ce]
sUnionBy :: forall a_a42Ce (t_a442D :: (~>) a_a42Ce ((~>) a_a42Ce Bool)) (t_a442E :: [a_a42Ce]) (t_a442F :: [a_a42Ce]). Sing t_a442D -> Sing t_a442E -> Sing t_a442F -> Sing (Apply (Apply (Apply UnionBySym0 t_a442D) t_a442E) t_a442F :: [a_a42Ce])
type family IntersectBy (a_a43ME :: (~>) a_a42CG ((~>) a_a42CG Bool)) (a_a43MF :: [a_a42CG]) (a_a43MG :: [a_a42CG]) :: [a_a42CG]
sIntersectBy :: forall a_a42CG (t_a444b :: (~>) a_a42CG ((~>) a_a42CG Bool)) (t_a444c :: [a_a42CG]) (t_a444d :: [a_a42CG]). Sing t_a444b -> Sing t_a444c -> Sing t_a444d -> Sing (Apply (Apply (Apply IntersectBySym0 t_a444b) t_a444c) t_a444d :: [a_a42CG])
type family GroupBy (a_a43IP :: (~>) a_a42Cs ((~>) a_a42Cs Bool)) (a_a43IQ :: [a_a42Cs]) :: [[a_a42Cs]]
sGroupBy :: forall a_a42Cs (t_a443p :: (~>) a_a42Cs ((~>) a_a42Cs Bool)) (t_a443q :: [a_a42Cs]). Sing t_a443p -> Sing t_a443q -> Sing (Apply (Apply GroupBySym0 t_a443p) t_a443q :: [[a_a42Cs]])
type family SortBy (a_a43PR :: (~>) a_a42CR ((~>) a_a42CR Ordering)) (a_a43PS :: [a_a42CR]) :: [a_a42CR]
sSortBy :: forall a_a42CR (t_a444X :: (~>) a_a42CR ((~>) a_a42CR Ordering)) (t_a444Y :: [a_a42CR]). Sing t_a444X -> Sing t_a444Y -> Sing (Apply (Apply SortBySym0 t_a444X) t_a444Y :: [a_a42CR])
type family InsertBy (a_a43Pt :: (~>) a_a42CQ ((~>) a_a42CQ Ordering)) (a_a43Pu :: a_a42CQ) (a_a43Pv :: [a_a42CQ]) :: [a_a42CQ]
sInsertBy :: forall a_a42CQ (t_a444R :: (~>) a_a42CQ ((~>) a_a42CQ Ordering)) (t_a444S :: a_a42CQ) (t_a444T :: [a_a42CQ]). Sing t_a444R -> Sing t_a444S -> Sing t_a444T -> Sing (Apply (Apply (Apply InsertBySym0 t_a444R) t_a444S) t_a444T :: [a_a42CQ])
type family MaximumBy (a_a6d4M :: (~>) a_a6cWB ((~>) a_a6cWB Ordering)) (a_a6d4N :: t_a6cWA a_a6cWB) :: a_a6cWB
sMaximumBy :: forall a_a6cWB t_a6cWA (t_a6dse :: (~>) a_a6cWB ((~>) a_a6cWB Ordering)) (t_a6dsf :: t_a6cWA a_a6cWB). SFoldable t_a6cWA => Sing t_a6dse -> Sing t_a6dsf -> Sing (Apply (Apply MaximumBySym0 t_a6dse) t_a6dsf :: a_a6cWB)
type family MinimumBy (a_a6d4n :: (~>) a_a6cWz ((~>) a_a6cWz Ordering)) (a_a6d4o :: t_a6cWy a_a6cWz) :: a_a6cWz
sMinimumBy :: forall a_a6cWz t_a6cWy (t_a6dsa :: (~>) a_a6cWz ((~>) a_a6cWz Ordering)) (t_a6dsb :: t_a6cWy a_a6cWz). SFoldable t_a6cWy => Sing t_a6dsa -> Sing t_a6dsb -> Sing (Apply (Apply MinimumBySym0 t_a6dsa) t_a6dsb :: a_a6cWz)
type family GenericLength (a_a43FW :: [a_a42Cc]) :: i_a42Cb
sGenericLength :: forall a_a42Cc i_a42Cb (t_a442x :: [a_a42Cc]). SNum i_a42Cb => Sing t_a442x -> Sing (Apply GenericLengthSym0 t_a442x :: i_a42Cb)
type family GenericTake (a_a4yNh :: i_a4yoB) (a_a4yNi :: [a_a4yoC]) :: [a_a4yoC]
type family GenericDrop (a_a4yN7 :: i_a4yoz) (a_a4yN8 :: [a_a4yoA]) :: [a_a4yoA]
type family GenericSplitAt (a_a4yMX :: i_a4yox) (a_a4yMY :: [a_a4yoy]) :: ([a_a4yoy], [a_a4yoy])
type family GenericIndex (a_a4yMN :: [a_a4yow]) (a_a4yMO :: i_a4yov) :: a_a4yow
type family GenericReplicate (a_a4yMD :: i_a4yot) (a_a4yME :: a_a4you) :: [a_a4you]
type NilSym0 = '[]
data (:@#@$) :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 ((~>) [a3530822107858468865] [a3530822107858468865 :: Type])
infixr 5 :@#@$
data (:@#@$$) (t6989586621679314260 :: a3530822107858468865 :: Type) :: (~>) [a3530822107858468865] [a3530822107858468865 :: Type]
infixr 5 :@#@$$
type (:@#@$$$) (t6989586621679314260 :: a3530822107858468865) (t6989586621679314261 :: [a3530822107858468865]) = '(:) t6989586621679314260 t6989586621679314261
type (++@#@$$$) (a6989586621679544734 :: [a6989586621679544537]) (a6989586621679544735 :: [a6989586621679544537]) = (++) a6989586621679544734 a6989586621679544735
data (++@#@$$) (a6989586621679544734 :: [a6989586621679544537]) :: (~>) [a6989586621679544537] [a6989586621679544537]
infixr 5 ++@#@$$
data (++@#@$) :: forall a6989586621679544537. (~>) [a6989586621679544537] ((~>) [a6989586621679544537] [a6989586621679544537])
infixr 5 ++@#@$
data HeadSym0 :: forall a6989586621679973287. (~>) [a6989586621679973287] a6989586621679973287
type HeadSym1 (a6989586621679978634 :: [a6989586621679973287]) = Head a6989586621679978634
data LastSym0 :: forall a6989586621679973286. (~>) [a6989586621679973286] a6989586621679973286
type LastSym1 (a6989586621679978629 :: [a6989586621679973286]) = Last a6989586621679978629
data TailSym0 :: forall a6989586621679973285. (~>) [a6989586621679973285] [a6989586621679973285]
type TailSym1 (a6989586621679978626 :: [a6989586621679973285]) = Tail a6989586621679978626
data InitSym0 :: forall a6989586621679973284. (~>) [a6989586621679973284] [a6989586621679973284]
type InitSym1 (a6989586621679978612 :: [a6989586621679973284]) = Init a6989586621679978612
data NullSym0 :: forall t6989586621680489606 a6989586621680489621. (~>) (t6989586621680489606 a6989586621680489621) Bool
type NullSym1 (arg6989586621680490265 :: t6989586621680489606 a6989586621680489621) = Null arg6989586621680490265
data LengthSym0 :: forall t6989586621680489606 a6989586621680489622. (~>) (t6989586621680489606 a6989586621680489622) Nat
type LengthSym1 (arg6989586621680490267 :: t6989586621680489606 a6989586621680489622) = Length arg6989586621680490267
data MapSym0 :: forall a6989586621679544538 b6989586621679544539. (~>) ((~>) a6989586621679544538 b6989586621679544539) ((~>) [a6989586621679544538] [b6989586621679544539])
data MapSym1 (a6989586621679544742 :: (~>) a6989586621679544538 b6989586621679544539) :: (~>) [a6989586621679544538] [b6989586621679544539]
type MapSym2 (a6989586621679544742 :: (~>) a6989586621679544538 b6989586621679544539) (a6989586621679544743 :: [a6989586621679544538]) = Map a6989586621679544742 a6989586621679544743
data ReverseSym0 :: forall a6989586621679973282. (~>) [a6989586621679973282] [a6989586621679973282]
type ReverseSym1 (a6989586621679978597 :: [a6989586621679973282]) = Reverse a6989586621679978597
data IntersperseSym0 :: forall a6989586621679973281. (~>) a6989586621679973281 ((~>) [a6989586621679973281] [a6989586621679973281])
data IntersperseSym1 (a6989586621679978590 :: a6989586621679973281) :: (~>) [a6989586621679973281] [a6989586621679973281]
type IntersperseSym2 (a6989586621679978590 :: a6989586621679973281) (a6989586621679978591 :: [a6989586621679973281]) = Intersperse a6989586621679978590 a6989586621679978591
data IntercalateSym0 :: forall a6989586621679973280. (~>) [a6989586621679973280] ((~>) [[a6989586621679973280]] [a6989586621679973280])
data IntercalateSym1 (a6989586621679978584 :: [a6989586621679973280]) :: (~>) [[a6989586621679973280]] [a6989586621679973280]
type IntercalateSym2 (a6989586621679978584 :: [a6989586621679973280]) (a6989586621679978585 :: [[a6989586621679973280]]) = Intercalate a6989586621679978584 a6989586621679978585
data TransposeSym0 :: forall a6989586621679973167. (~>) [[a6989586621679973167]] [[a6989586621679973167]]
type TransposeSym1 (a6989586621679977327 :: [[a6989586621679973167]]) = Transpose a6989586621679977327
data SubsequencesSym0 :: forall a6989586621679973279. (~>) [a6989586621679973279] [[a6989586621679973279]]
type SubsequencesSym1 (a6989586621679978581 :: [a6989586621679973279]) = Subsequences a6989586621679978581
data PermutationsSym0 :: forall a6989586621679973276. (~>) [a6989586621679973276] [[a6989586621679973276]]
type PermutationsSym1 (a6989586621679978463 :: [a6989586621679973276]) = Permutations a6989586621679978463
data FoldlSym0 :: forall b6989586621680489614 a6989586621680489615 t6989586621680489606. (~>) ((~>) b6989586621680489614 ((~>) a6989586621680489615 b6989586621680489614)) ((~>) b6989586621680489614 ((~>) (t6989586621680489606 a6989586621680489615) b6989586621680489614))
data FoldlSym1 (arg6989586621680490243 :: (~>) b6989586621680489614 ((~>) a6989586621680489615 b6989586621680489614)) :: forall t6989586621680489606. (~>) b6989586621680489614 ((~>) (t6989586621680489606 a6989586621680489615) b6989586621680489614)
data FoldlSym2 (arg6989586621680490243 :: (~>) b6989586621680489614 ((~>) a6989586621680489615 b6989586621680489614)) (arg6989586621680490244 :: b6989586621680489614) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489615) b6989586621680489614
type FoldlSym3 (arg6989586621680490243 :: (~>) b6989586621680489614 ((~>) a6989586621680489615 b6989586621680489614)) (arg6989586621680490244 :: b6989586621680489614) (arg6989586621680490245 :: t6989586621680489606 a6989586621680489615) = Foldl arg6989586621680490243 arg6989586621680490244 arg6989586621680490245
data Foldl'Sym0 :: forall b6989586621680489616 a6989586621680489617 t6989586621680489606. (~>) ((~>) b6989586621680489616 ((~>) a6989586621680489617 b6989586621680489616)) ((~>) b6989586621680489616 ((~>) (t6989586621680489606 a6989586621680489617) b6989586621680489616))
data Foldl'Sym1 (arg6989586621680490249 :: (~>) b6989586621680489616 ((~>) a6989586621680489617 b6989586621680489616)) :: forall t6989586621680489606. (~>) b6989586621680489616 ((~>) (t6989586621680489606 a6989586621680489617) b6989586621680489616)
data Foldl'Sym2 (arg6989586621680490249 :: (~>) b6989586621680489616 ((~>) a6989586621680489617 b6989586621680489616)) (arg6989586621680490250 :: b6989586621680489616) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489617) b6989586621680489616
type Foldl'Sym3 (arg6989586621680490249 :: (~>) b6989586621680489616 ((~>) a6989586621680489617 b6989586621680489616)) (arg6989586621680490250 :: b6989586621680489616) (arg6989586621680490251 :: t6989586621680489606 a6989586621680489617) = Foldl' arg6989586621680490249 arg6989586621680490250 arg6989586621680490251
data Foldl1Sym0 :: forall a6989586621680489619 t6989586621680489606. (~>) ((~>) a6989586621680489619 ((~>) a6989586621680489619 a6989586621680489619)) ((~>) (t6989586621680489606 a6989586621680489619) a6989586621680489619)
data Foldl1Sym1 (arg6989586621680490259 :: (~>) a6989586621680489619 ((~>) a6989586621680489619 a6989586621680489619)) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489619) a6989586621680489619
type Foldl1Sym2 (arg6989586621680490259 :: (~>) a6989586621680489619 ((~>) a6989586621680489619 a6989586621680489619)) (arg6989586621680490260 :: t6989586621680489606 a6989586621680489619) = Foldl1 arg6989586621680490259 arg6989586621680490260
data Foldl1'Sym0 :: forall a6989586621679973272. (~>) ((~>) a6989586621679973272 ((~>) a6989586621679973272 a6989586621679973272)) ((~>) [a6989586621679973272] a6989586621679973272)
data Foldl1'Sym1 (a6989586621679978421 :: (~>) a6989586621679973272 ((~>) a6989586621679973272 a6989586621679973272)) :: (~>) [a6989586621679973272] a6989586621679973272
type Foldl1'Sym2 (a6989586621679978421 :: (~>) a6989586621679973272 ((~>) a6989586621679973272 a6989586621679973272)) (a6989586621679978422 :: [a6989586621679973272]) = Foldl1' a6989586621679978421 a6989586621679978422
data FoldrSym0 :: forall a6989586621680489610 b6989586621680489611 t6989586621680489606. (~>) ((~>) a6989586621680489610 ((~>) b6989586621680489611 b6989586621680489611)) ((~>) b6989586621680489611 ((~>) (t6989586621680489606 a6989586621680489610) b6989586621680489611))
data FoldrSym1 (arg6989586621680490231 :: (~>) a6989586621680489610 ((~>) b6989586621680489611 b6989586621680489611)) :: forall t6989586621680489606. (~>) b6989586621680489611 ((~>) (t6989586621680489606 a6989586621680489610) b6989586621680489611)
data FoldrSym2 (arg6989586621680490231 :: (~>) a6989586621680489610 ((~>) b6989586621680489611 b6989586621680489611)) (arg6989586621680490232 :: b6989586621680489611) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489610) b6989586621680489611
type FoldrSym3 (arg6989586621680490231 :: (~>) a6989586621680489610 ((~>) b6989586621680489611 b6989586621680489611)) (arg6989586621680490232 :: b6989586621680489611) (arg6989586621680490233 :: t6989586621680489606 a6989586621680489610) = Foldr arg6989586621680490231 arg6989586621680490232 arg6989586621680490233
data Foldr1Sym0 :: forall a6989586621680489618 t6989586621680489606. (~>) ((~>) a6989586621680489618 ((~>) a6989586621680489618 a6989586621680489618)) ((~>) (t6989586621680489606 a6989586621680489618) a6989586621680489618)
data Foldr1Sym1 (arg6989586621680490255 :: (~>) a6989586621680489618 ((~>) a6989586621680489618 a6989586621680489618)) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489618) a6989586621680489618
type Foldr1Sym2 (arg6989586621680490255 :: (~>) a6989586621680489618 ((~>) a6989586621680489618 a6989586621680489618)) (arg6989586621680490256 :: t6989586621680489606 a6989586621680489618) = Foldr1 arg6989586621680490255 arg6989586621680490256
data ConcatSym0 :: forall t6989586621680489531 a6989586621680489532. (~>) (t6989586621680489531 [a6989586621680489532]) [a6989586621680489532]
type ConcatSym1 (a6989586621680490113 :: t6989586621680489531 [a6989586621680489532]) = Concat a6989586621680490113
data ConcatMapSym0 :: forall a6989586621680489529 b6989586621680489530 t6989586621680489528. (~>) ((~>) a6989586621680489529 [b6989586621680489530]) ((~>) (t6989586621680489528 a6989586621680489529) [b6989586621680489530])
data ConcatMapSym1 (a6989586621680490097 :: (~>) a6989586621680489529 [b6989586621680489530]) :: forall t6989586621680489528. (~>) (t6989586621680489528 a6989586621680489529) [b6989586621680489530]
type ConcatMapSym2 (a6989586621680490097 :: (~>) a6989586621680489529 [b6989586621680489530]) (a6989586621680490098 :: t6989586621680489528 a6989586621680489529) = ConcatMap a6989586621680490097 a6989586621680490098
data AndSym0 :: forall t6989586621680489527. (~>) (t6989586621680489527 Bool) Bool
type AndSym1 (a6989586621680490088 :: t6989586621680489527 Bool) = And a6989586621680490088
data OrSym0 :: forall t6989586621680489526. (~>) (t6989586621680489526 Bool) Bool
type OrSym1 (a6989586621680490079 :: t6989586621680489526 Bool) = Or a6989586621680490079
data AnySym0 :: forall a6989586621680489525 t6989586621680489524. (~>) ((~>) a6989586621680489525 Bool) ((~>) (t6989586621680489524 a6989586621680489525) Bool)
data AnySym1 (a6989586621680490066 :: (~>) a6989586621680489525 Bool) :: forall t6989586621680489524. (~>) (t6989586621680489524 a6989586621680489525) Bool
type AnySym2 (a6989586621680490066 :: (~>) a6989586621680489525 Bool) (a6989586621680490067 :: t6989586621680489524 a6989586621680489525) = Any a6989586621680490066 a6989586621680490067
data AllSym0 :: forall a6989586621680489523 t6989586621680489522. (~>) ((~>) a6989586621680489523 Bool) ((~>) (t6989586621680489522 a6989586621680489523) Bool)
data AllSym1 (a6989586621680490053 :: (~>) a6989586621680489523 Bool) :: forall t6989586621680489522. (~>) (t6989586621680489522 a6989586621680489523) Bool
type AllSym2 (a6989586621680490053 :: (~>) a6989586621680489523 Bool) (a6989586621680490054 :: t6989586621680489522 a6989586621680489523) = All a6989586621680490053 a6989586621680490054
data SumSym0 :: forall t6989586621680489606 a6989586621680489626. (~>) (t6989586621680489606 a6989586621680489626) a6989586621680489626
type SumSym1 (arg6989586621680490277 :: t6989586621680489606 a6989586621680489626) = Sum arg6989586621680490277
data ProductSym0 :: forall t6989586621680489606 a6989586621680489627. (~>) (t6989586621680489606 a6989586621680489627) a6989586621680489627
type ProductSym1 (arg6989586621680490279 :: t6989586621680489606 a6989586621680489627) = Product arg6989586621680490279
data MaximumSym0 :: forall t6989586621680489606 a6989586621680489624. (~>) (t6989586621680489606 a6989586621680489624) a6989586621680489624
type MaximumSym1 (arg6989586621680490273 :: t6989586621680489606 a6989586621680489624) = Maximum arg6989586621680490273
data MinimumSym0 :: forall t6989586621680489606 a6989586621680489625. (~>) (t6989586621680489606 a6989586621680489625) a6989586621680489625
type MinimumSym1 (arg6989586621680490275 :: t6989586621680489606 a6989586621680489625) = Minimum arg6989586621680490275
data ScanlSym0 :: forall b6989586621679973264 a6989586621679973265. (~>) ((~>) b6989586621679973264 ((~>) a6989586621679973265 b6989586621679973264)) ((~>) b6989586621679973264 ((~>) [a6989586621679973265] [b6989586621679973264]))
data ScanlSym1 (a6989586621679978358 :: (~>) b6989586621679973264 ((~>) a6989586621679973265 b6989586621679973264)) :: (~>) b6989586621679973264 ((~>) [a6989586621679973265] [b6989586621679973264])
data ScanlSym2 (a6989586621679978358 :: (~>) b6989586621679973264 ((~>) a6989586621679973265 b6989586621679973264)) (a6989586621679978359 :: b6989586621679973264) :: (~>) [a6989586621679973265] [b6989586621679973264]
type ScanlSym3 (a6989586621679978358 :: (~>) b6989586621679973264 ((~>) a6989586621679973265 b6989586621679973264)) (a6989586621679978359 :: b6989586621679973264) (a6989586621679978360 :: [a6989586621679973265]) = Scanl a6989586621679978358 a6989586621679978359 a6989586621679978360
data Scanl1Sym0 :: forall a6989586621679973263. (~>) ((~>) a6989586621679973263 ((~>) a6989586621679973263 a6989586621679973263)) ((~>) [a6989586621679973263] [a6989586621679973263])
data Scanl1Sym1 (a6989586621679978351 :: (~>) a6989586621679973263 ((~>) a6989586621679973263 a6989586621679973263)) :: (~>) [a6989586621679973263] [a6989586621679973263]
type Scanl1Sym2 (a6989586621679978351 :: (~>) a6989586621679973263 ((~>) a6989586621679973263 a6989586621679973263)) (a6989586621679978352 :: [a6989586621679973263]) = Scanl1 a6989586621679978351 a6989586621679978352
data ScanrSym0 :: forall a6989586621679973261 b6989586621679973262. (~>) ((~>) a6989586621679973261 ((~>) b6989586621679973262 b6989586621679973262)) ((~>) b6989586621679973262 ((~>) [a6989586621679973261] [b6989586621679973262]))
data ScanrSym1 (a6989586621679978330 :: (~>) a6989586621679973261 ((~>) b6989586621679973262 b6989586621679973262)) :: (~>) b6989586621679973262 ((~>) [a6989586621679973261] [b6989586621679973262])
data ScanrSym2 (a6989586621679978330 :: (~>) a6989586621679973261 ((~>) b6989586621679973262 b6989586621679973262)) (a6989586621679978331 :: b6989586621679973262) :: (~>) [a6989586621679973261] [b6989586621679973262]
type ScanrSym3 (a6989586621679978330 :: (~>) a6989586621679973261 ((~>) b6989586621679973262 b6989586621679973262)) (a6989586621679978331 :: b6989586621679973262) (a6989586621679978332 :: [a6989586621679973261]) = Scanr a6989586621679978330 a6989586621679978331 a6989586621679978332
data Scanr1Sym0 :: forall a6989586621679973260. (~>) ((~>) a6989586621679973260 ((~>) a6989586621679973260 a6989586621679973260)) ((~>) [a6989586621679973260] [a6989586621679973260])
data Scanr1Sym1 (a6989586621679978306 :: (~>) a6989586621679973260 ((~>) a6989586621679973260 a6989586621679973260)) :: (~>) [a6989586621679973260] [a6989586621679973260]
type Scanr1Sym2 (a6989586621679978306 :: (~>) a6989586621679973260 ((~>) a6989586621679973260 a6989586621679973260)) (a6989586621679978307 :: [a6989586621679973260]) = Scanr1 a6989586621679978306 a6989586621679978307
data MapAccumLSym0 :: forall a6989586621680803331 b6989586621680803332 c6989586621680803333 t6989586621680803330. (~>) ((~>) a6989586621680803331 ((~>) b6989586621680803332 (a6989586621680803331, c6989586621680803333))) ((~>) a6989586621680803331 ((~>) (t6989586621680803330 b6989586621680803332) (a6989586621680803331, t6989586621680803330 c6989586621680803333)))
data MapAccumLSym1 (a6989586621680803834 :: (~>) a6989586621680803331 ((~>) b6989586621680803332 (a6989586621680803331, c6989586621680803333))) :: forall t6989586621680803330. (~>) a6989586621680803331 ((~>) (t6989586621680803330 b6989586621680803332) (a6989586621680803331, t6989586621680803330 c6989586621680803333))
data MapAccumLSym2 (a6989586621680803834 :: (~>) a6989586621680803331 ((~>) b6989586621680803332 (a6989586621680803331, c6989586621680803333))) (a6989586621680803835 :: a6989586621680803331) :: forall t6989586621680803330. (~>) (t6989586621680803330 b6989586621680803332) (a6989586621680803331, t6989586621680803330 c6989586621680803333)
type MapAccumLSym3 (a6989586621680803834 :: (~>) a6989586621680803331 ((~>) b6989586621680803332 (a6989586621680803331, c6989586621680803333))) (a6989586621680803835 :: a6989586621680803331) (a6989586621680803836 :: t6989586621680803330 b6989586621680803332) = MapAccumL a6989586621680803834 a6989586621680803835 a6989586621680803836
data MapAccumRSym0 :: forall a6989586621680803327 b6989586621680803328 c6989586621680803329 t6989586621680803326. (~>) ((~>) a6989586621680803327 ((~>) b6989586621680803328 (a6989586621680803327, c6989586621680803329))) ((~>) a6989586621680803327 ((~>) (t6989586621680803326 b6989586621680803328) (a6989586621680803327, t6989586621680803326 c6989586621680803329)))
data MapAccumRSym1 (a6989586621680803817 :: (~>) a6989586621680803327 ((~>) b6989586621680803328 (a6989586621680803327, c6989586621680803329))) :: forall t6989586621680803326. (~>) a6989586621680803327 ((~>) (t6989586621680803326 b6989586621680803328) (a6989586621680803327, t6989586621680803326 c6989586621680803329))
data MapAccumRSym2 (a6989586621680803817 :: (~>) a6989586621680803327 ((~>) b6989586621680803328 (a6989586621680803327, c6989586621680803329))) (a6989586621680803818 :: a6989586621680803327) :: forall t6989586621680803326. (~>) (t6989586621680803326 b6989586621680803328) (a6989586621680803327, t6989586621680803326 c6989586621680803329)
type MapAccumRSym3 (a6989586621680803817 :: (~>) a6989586621680803327 ((~>) b6989586621680803328 (a6989586621680803327, c6989586621680803329))) (a6989586621680803818 :: a6989586621680803327) (a6989586621680803819 :: t6989586621680803326 b6989586621680803328) = MapAccumR a6989586621680803817 a6989586621680803818 a6989586621680803819
data ReplicateSym0 :: forall a6989586621679973168. (~>) Nat ((~>) a6989586621679973168 [a6989586621679973168])
data ReplicateSym1 (a6989586621679977333 :: Nat) :: forall a6989586621679973168. (~>) a6989586621679973168 [a6989586621679973168]
type ReplicateSym2 (a6989586621679977333 :: Nat) (a6989586621679977334 :: a6989586621679973168) = Replicate a6989586621679977333 a6989586621679977334
data UnfoldrSym0 :: forall b6989586621679973252 a6989586621679973253. (~>) ((~>) b6989586621679973252 (Maybe (a6989586621679973253, b6989586621679973252))) ((~>) b6989586621679973252 [a6989586621679973253])
data UnfoldrSym1 (a6989586621679978164 :: (~>) b6989586621679973252 (Maybe (a6989586621679973253, b6989586621679973252))) :: (~>) b6989586621679973252 [a6989586621679973253]
type UnfoldrSym2 (a6989586621679978164 :: (~>) b6989586621679973252 (Maybe (a6989586621679973253, b6989586621679973252))) (a6989586621679978165 :: b6989586621679973252) = Unfoldr a6989586621679978164 a6989586621679978165
data TakeSym0 :: forall a6989586621679973184. (~>) Nat ((~>) [a6989586621679973184] [a6989586621679973184])
data TakeSym1 (a6989586621679977494 :: Nat) :: forall a6989586621679973184. (~>) [a6989586621679973184] [a6989586621679973184]
type TakeSym2 (a6989586621679977494 :: Nat) (a6989586621679977495 :: [a6989586621679973184]) = Take a6989586621679977494 a6989586621679977495
data DropSym0 :: forall a6989586621679973183. (~>) Nat ((~>) [a6989586621679973183] [a6989586621679973183])
data DropSym1 (a6989586621679977480 :: Nat) :: forall a6989586621679973183. (~>) [a6989586621679973183] [a6989586621679973183]
type DropSym2 (a6989586621679977480 :: Nat) (a6989586621679977481 :: [a6989586621679973183]) = Drop a6989586621679977480 a6989586621679977481
data SplitAtSym0 :: forall a6989586621679973182. (~>) Nat ((~>) [a6989586621679973182] ([a6989586621679973182], [a6989586621679973182]))
data SplitAtSym1 (a6989586621679977474 :: Nat) :: forall a6989586621679973182. (~>) [a6989586621679973182] ([a6989586621679973182], [a6989586621679973182])
type SplitAtSym2 (a6989586621679977474 :: Nat) (a6989586621679977475 :: [a6989586621679973182]) = SplitAt a6989586621679977474 a6989586621679977475
data TakeWhileSym0 :: forall a6989586621679973189. (~>) ((~>) a6989586621679973189 Bool) ((~>) [a6989586621679973189] [a6989586621679973189])
data TakeWhileSym1 (a6989586621679977638 :: (~>) a6989586621679973189 Bool) :: (~>) [a6989586621679973189] [a6989586621679973189]
type TakeWhileSym2 (a6989586621679977638 :: (~>) a6989586621679973189 Bool) (a6989586621679977639 :: [a6989586621679973189]) = TakeWhile a6989586621679977638 a6989586621679977639
data DropWhileSym0 :: forall a6989586621679973188. (~>) ((~>) a6989586621679973188 Bool) ((~>) [a6989586621679973188] [a6989586621679973188])
data DropWhileSym1 (a6989586621679977620 :: (~>) a6989586621679973188 Bool) :: (~>) [a6989586621679973188] [a6989586621679973188]
type DropWhileSym2 (a6989586621679977620 :: (~>) a6989586621679973188 Bool) (a6989586621679977621 :: [a6989586621679973188]) = DropWhile a6989586621679977620 a6989586621679977621
data DropWhileEndSym0 :: forall a6989586621679973187. (~>) ((~>) a6989586621679973187 Bool) ((~>) [a6989586621679973187] [a6989586621679973187])
data DropWhileEndSym1 (a6989586621679977594 :: (~>) a6989586621679973187 Bool) :: (~>) [a6989586621679973187] [a6989586621679973187]
type DropWhileEndSym2 (a6989586621679977594 :: (~>) a6989586621679973187 Bool) (a6989586621679977595 :: [a6989586621679973187]) = DropWhileEnd a6989586621679977594 a6989586621679977595
data SpanSym0 :: forall a6989586621679973186. (~>) ((~>) a6989586621679973186 Bool) ((~>) [a6989586621679973186] ([a6989586621679973186], [a6989586621679973186]))
data SpanSym1 (a6989586621679977551 :: (~>) a6989586621679973186 Bool) :: (~>) [a6989586621679973186] ([a6989586621679973186], [a6989586621679973186])
type SpanSym2 (a6989586621679977551 :: (~>) a6989586621679973186 Bool) (a6989586621679977552 :: [a6989586621679973186]) = Span a6989586621679977551 a6989586621679977552
data BreakSym0 :: forall a6989586621679973185. (~>) ((~>) a6989586621679973185 Bool) ((~>) [a6989586621679973185] ([a6989586621679973185], [a6989586621679973185]))
data BreakSym1 (a6989586621679977508 :: (~>) a6989586621679973185 Bool) :: (~>) [a6989586621679973185] ([a6989586621679973185], [a6989586621679973185])
type BreakSym2 (a6989586621679977508 :: (~>) a6989586621679973185 Bool) (a6989586621679977509 :: [a6989586621679973185]) = Break a6989586621679977508 a6989586621679977509
data StripPrefixSym0 :: forall a6989586621680095375. (~>) [a6989586621680095375] ((~>) [a6989586621680095375] (Maybe [a6989586621680095375]))
data StripPrefixSym1 (a6989586621680097071 :: [a6989586621680095375]) :: (~>) [a6989586621680095375] (Maybe [a6989586621680095375])
type StripPrefixSym2 (a6989586621680097071 :: [a6989586621680095375]) (a6989586621680097072 :: [a6989586621680095375]) = StripPrefix a6989586621680097071 a6989586621680097072
data GroupSym0 :: forall a6989586621679973181. (~>) [a6989586621679973181] [[a6989586621679973181]]
type GroupSym1 (a6989586621679977471 :: [a6989586621679973181]) = Group a6989586621679977471
data InitsSym0 :: forall a6989586621679973251. (~>) [a6989586621679973251] [[a6989586621679973251]]
type InitsSym1 (a6989586621679978156 :: [a6989586621679973251]) = Inits a6989586621679978156
data TailsSym0 :: forall a6989586621679973250. (~>) [a6989586621679973250] [[a6989586621679973250]]
type TailsSym1 (a6989586621679978149 :: [a6989586621679973250]) = Tails a6989586621679978149
data IsPrefixOfSym0 :: forall a6989586621679973249. (~>) [a6989586621679973249] ((~>) [a6989586621679973249] Bool)
data IsPrefixOfSym1 (a6989586621679978141 :: [a6989586621679973249]) :: (~>) [a6989586621679973249] Bool
type IsPrefixOfSym2 (a6989586621679978141 :: [a6989586621679973249]) (a6989586621679978142 :: [a6989586621679973249]) = IsPrefixOf a6989586621679978141 a6989586621679978142
data IsSuffixOfSym0 :: forall a6989586621679973248. (~>) [a6989586621679973248] ((~>) [a6989586621679973248] Bool)
data IsSuffixOfSym1 (a6989586621679978135 :: [a6989586621679973248]) :: (~>) [a6989586621679973248] Bool
type IsSuffixOfSym2 (a6989586621679978135 :: [a6989586621679973248]) (a6989586621679978136 :: [a6989586621679973248]) = IsSuffixOf a6989586621679978135 a6989586621679978136
data IsInfixOfSym0 :: forall a6989586621679973247. (~>) [a6989586621679973247] ((~>) [a6989586621679973247] Bool)
data IsInfixOfSym1 (a6989586621679978129 :: [a6989586621679973247]) :: (~>) [a6989586621679973247] Bool
type IsInfixOfSym2 (a6989586621679978129 :: [a6989586621679973247]) (a6989586621679978130 :: [a6989586621679973247]) = IsInfixOf a6989586621679978129 a6989586621679978130
data ElemSym0 :: forall a6989586621680489623 t6989586621680489606. (~>) a6989586621680489623 ((~>) (t6989586621680489606 a6989586621680489623) Bool)
data ElemSym1 (arg6989586621680490269 :: a6989586621680489623) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489623) Bool
type ElemSym2 (arg6989586621680490269 :: a6989586621680489623) (arg6989586621680490270 :: t6989586621680489606 a6989586621680489623) = Elem arg6989586621680490269 arg6989586621680490270
data NotElemSym0 :: forall a6989586621680489517 t6989586621680489516. (~>) a6989586621680489517 ((~>) (t6989586621680489516 a6989586621680489517) Bool)
data NotElemSym1 (a6989586621680489995 :: a6989586621680489517) :: forall t6989586621680489516. (~>) (t6989586621680489516 a6989586621680489517) Bool
type NotElemSym2 (a6989586621680489995 :: a6989586621680489517) (a6989586621680489996 :: t6989586621680489516 a6989586621680489517) = NotElem a6989586621680489995 a6989586621680489996
data LookupSym0 :: forall a6989586621679973174 b6989586621679973175. (~>) a6989586621679973174 ((~>) [(a6989586621679973174, b6989586621679973175)] (Maybe b6989586621679973175))
data LookupSym1 (a6989586621679977398 :: a6989586621679973174) :: forall b6989586621679973175. (~>) [(a6989586621679973174, b6989586621679973175)] (Maybe b6989586621679973175)
type LookupSym2 (a6989586621679977398 :: a6989586621679973174) (a6989586621679977399 :: [(a6989586621679973174, b6989586621679973175)]) = Lookup a6989586621679977398 a6989586621679977399
data FindSym0 :: forall a6989586621680489515 t6989586621680489514. (~>) ((~>) a6989586621680489515 Bool) ((~>) (t6989586621680489514 a6989586621680489515) (Maybe a6989586621680489515))
data FindSym1 (a6989586621680489968 :: (~>) a6989586621680489515 Bool) :: forall t6989586621680489514. (~>) (t6989586621680489514 a6989586621680489515) (Maybe a6989586621680489515)
type FindSym2 (a6989586621680489968 :: (~>) a6989586621680489515 Bool) (a6989586621680489969 :: t6989586621680489514 a6989586621680489515) = Find a6989586621680489968 a6989586621680489969
data FilterSym0 :: forall a6989586621679973197. (~>) ((~>) a6989586621679973197 Bool) ((~>) [a6989586621679973197] [a6989586621679973197])
data FilterSym1 (a6989586621679977752 :: (~>) a6989586621679973197 Bool) :: (~>) [a6989586621679973197] [a6989586621679973197]
type FilterSym2 (a6989586621679977752 :: (~>) a6989586621679973197 Bool) (a6989586621679977753 :: [a6989586621679973197]) = Filter a6989586621679977752 a6989586621679977753
data PartitionSym0 :: forall a6989586621679973173. (~>) ((~>) a6989586621679973173 Bool) ((~>) [a6989586621679973173] ([a6989586621679973173], [a6989586621679973173]))
data PartitionSym1 (a6989586621679977392 :: (~>) a6989586621679973173 Bool) :: (~>) [a6989586621679973173] ([a6989586621679973173], [a6989586621679973173])
type PartitionSym2 (a6989586621679977392 :: (~>) a6989586621679973173 Bool) (a6989586621679977393 :: [a6989586621679973173]) = Partition a6989586621679977392 a6989586621679977393
data (!!@#@$) :: forall a6989586621679973166. (~>) [a6989586621679973166] ((~>) Nat a6989586621679973166)
infixl 9 !!@#@$
data (!!@#@$$) (a6989586621679977313 :: [a6989586621679973166]) :: (~>) Nat a6989586621679973166
infixl 9 !!@#@$$
type (!!@#@$$$) (a6989586621679977313 :: [a6989586621679973166]) (a6989586621679977314 :: Nat) = (!!) a6989586621679977313 a6989586621679977314
data ElemIndexSym0 :: forall a6989586621679973195. (~>) a6989586621679973195 ((~>) [a6989586621679973195] (Maybe Nat))
data ElemIndexSym1 (a6989586621679977736 :: a6989586621679973195) :: (~>) [a6989586621679973195] (Maybe Nat)
type ElemIndexSym2 (a6989586621679977736 :: a6989586621679973195) (a6989586621679977737 :: [a6989586621679973195]) = ElemIndex a6989586621679977736 a6989586621679977737
data ElemIndicesSym0 :: forall a6989586621679973194. (~>) a6989586621679973194 ((~>) [a6989586621679973194] [Nat])
data ElemIndicesSym1 (a6989586621679977728 :: a6989586621679973194) :: (~>) [a6989586621679973194] [Nat]
type ElemIndicesSym2 (a6989586621679977728 :: a6989586621679973194) (a6989586621679977729 :: [a6989586621679973194]) = ElemIndices a6989586621679977728 a6989586621679977729
data FindIndexSym0 :: forall a6989586621679973193. (~>) ((~>) a6989586621679973193 Bool) ((~>) [a6989586621679973193] (Maybe Nat))
data FindIndexSym1 (a6989586621679977720 :: (~>) a6989586621679973193 Bool) :: (~>) [a6989586621679973193] (Maybe Nat)
type FindIndexSym2 (a6989586621679977720 :: (~>) a6989586621679973193 Bool) (a6989586621679977721 :: [a6989586621679973193]) = FindIndex a6989586621679977720 a6989586621679977721
data FindIndicesSym0 :: forall a6989586621679973192. (~>) ((~>) a6989586621679973192 Bool) ((~>) [a6989586621679973192] [Nat])
data FindIndicesSym1 (a6989586621679977694 :: (~>) a6989586621679973192 Bool) :: (~>) [a6989586621679973192] [Nat]
type FindIndicesSym2 (a6989586621679977694 :: (~>) a6989586621679973192 Bool) (a6989586621679977695 :: [a6989586621679973192]) = FindIndices a6989586621679977694 a6989586621679977695
data ZipSym0 :: forall a6989586621679973243 b6989586621679973244. (~>) [a6989586621679973243] ((~>) [b6989586621679973244] [(a6989586621679973243, b6989586621679973244)])
data ZipSym1 (a6989586621679978107 :: [a6989586621679973243]) :: forall b6989586621679973244. (~>) [b6989586621679973244] [(a6989586621679973243, b6989586621679973244)]
type ZipSym2 (a6989586621679978107 :: [a6989586621679973243]) (a6989586621679978108 :: [b6989586621679973244]) = Zip a6989586621679978107 a6989586621679978108
data Zip3Sym0 :: forall a6989586621679973240 b6989586621679973241 c6989586621679973242. (~>) [a6989586621679973240] ((~>) [b6989586621679973241] ((~>) [c6989586621679973242] [(a6989586621679973240, b6989586621679973241, c6989586621679973242)]))
data Zip3Sym1 (a6989586621679978095 :: [a6989586621679973240]) :: forall b6989586621679973241 c6989586621679973242. (~>) [b6989586621679973241] ((~>) [c6989586621679973242] [(a6989586621679973240, b6989586621679973241, c6989586621679973242)])
data Zip3Sym2 (a6989586621679978095 :: [a6989586621679973240]) (a6989586621679978096 :: [b6989586621679973241]) :: forall c6989586621679973242. (~>) [c6989586621679973242] [(a6989586621679973240, b6989586621679973241, c6989586621679973242)]
type Zip3Sym3 (a6989586621679978095 :: [a6989586621679973240]) (a6989586621679978096 :: [b6989586621679973241]) (a6989586621679978097 :: [c6989586621679973242]) = Zip3 a6989586621679978095 a6989586621679978096 a6989586621679978097
data Zip4Sym0 :: forall a6989586621680095371 b6989586621680095372 c6989586621680095373 d6989586621680095374. (~>) [a6989586621680095371] ((~>) [b6989586621680095372] ((~>) [c6989586621680095373] ((~>) [d6989586621680095374] [(a6989586621680095371, b6989586621680095372, c6989586621680095373, d6989586621680095374)])))
data Zip4Sym1 (a6989586621680097059 :: [a6989586621680095371]) :: forall b6989586621680095372 c6989586621680095373 d6989586621680095374. (~>) [b6989586621680095372] ((~>) [c6989586621680095373] ((~>) [d6989586621680095374] [(a6989586621680095371, b6989586621680095372, c6989586621680095373, d6989586621680095374)]))
data Zip4Sym2 (a6989586621680097059 :: [a6989586621680095371]) (a6989586621680097060 :: [b6989586621680095372]) :: forall c6989586621680095373 d6989586621680095374. (~>) [c6989586621680095373] ((~>) [d6989586621680095374] [(a6989586621680095371, b6989586621680095372, c6989586621680095373, d6989586621680095374)])
data Zip4Sym3 (a6989586621680097059 :: [a6989586621680095371]) (a6989586621680097060 :: [b6989586621680095372]) (a6989586621680097061 :: [c6989586621680095373]) :: forall d6989586621680095374. (~>) [d6989586621680095374] [(a6989586621680095371, b6989586621680095372, c6989586621680095373, d6989586621680095374)]
type Zip4Sym4 (a6989586621680097059 :: [a6989586621680095371]) (a6989586621680097060 :: [b6989586621680095372]) (a6989586621680097061 :: [c6989586621680095373]) (a6989586621680097062 :: [d6989586621680095374]) = Zip4 a6989586621680097059 a6989586621680097060 a6989586621680097061 a6989586621680097062
data Zip5Sym0 :: forall a6989586621680095366 b6989586621680095367 c6989586621680095368 d6989586621680095369 e6989586621680095370. (~>) [a6989586621680095366] ((~>) [b6989586621680095367] ((~>) [c6989586621680095368] ((~>) [d6989586621680095369] ((~>) [e6989586621680095370] [(a6989586621680095366, b6989586621680095367, c6989586621680095368, d6989586621680095369, e6989586621680095370)]))))
data Zip5Sym1 (a6989586621680097036 :: [a6989586621680095366]) :: forall b6989586621680095367 c6989586621680095368 d6989586621680095369 e6989586621680095370. (~>) [b6989586621680095367] ((~>) [c6989586621680095368] ((~>) [d6989586621680095369] ((~>) [e6989586621680095370] [(a6989586621680095366, b6989586621680095367, c6989586621680095368, d6989586621680095369, e6989586621680095370)])))
data Zip5Sym2 (a6989586621680097036 :: [a6989586621680095366]) (a6989586621680097037 :: [b6989586621680095367]) :: forall c6989586621680095368 d6989586621680095369 e6989586621680095370. (~>) [c6989586621680095368] ((~>) [d6989586621680095369] ((~>) [e6989586621680095370] [(a6989586621680095366, b6989586621680095367, c6989586621680095368, d6989586621680095369, e6989586621680095370)]))
data Zip5Sym3 (a6989586621680097036 :: [a6989586621680095366]) (a6989586621680097037 :: [b6989586621680095367]) (a6989586621680097038 :: [c6989586621680095368]) :: forall d6989586621680095369 e6989586621680095370. (~>) [d6989586621680095369] ((~>) [e6989586621680095370] [(a6989586621680095366, b6989586621680095367, c6989586621680095368, d6989586621680095369, e6989586621680095370)])
data Zip5Sym4 (a6989586621680097036 :: [a6989586621680095366]) (a6989586621680097037 :: [b6989586621680095367]) (a6989586621680097038 :: [c6989586621680095368]) (a6989586621680097039 :: [d6989586621680095369]) :: forall e6989586621680095370. (~>) [e6989586621680095370] [(a6989586621680095366, b6989586621680095367, c6989586621680095368, d6989586621680095369, e6989586621680095370)]
type Zip5Sym5 (a6989586621680097036 :: [a6989586621680095366]) (a6989586621680097037 :: [b6989586621680095367]) (a6989586621680097038 :: [c6989586621680095368]) (a6989586621680097039 :: [d6989586621680095369]) (a6989586621680097040 :: [e6989586621680095370]) = Zip5 a6989586621680097036 a6989586621680097037 a6989586621680097038 a6989586621680097039 a6989586621680097040
data Zip6Sym0 :: forall a6989586621680095360 b6989586621680095361 c6989586621680095362 d6989586621680095363 e6989586621680095364 f6989586621680095365. (~>) [a6989586621680095360] ((~>) [b6989586621680095361] ((~>) [c6989586621680095362] ((~>) [d6989586621680095363] ((~>) [e6989586621680095364] ((~>) [f6989586621680095365] [(a6989586621680095360, b6989586621680095361, c6989586621680095362, d6989586621680095363, e6989586621680095364, f6989586621680095365)])))))
data Zip6Sym1 (a6989586621680097008 :: [a6989586621680095360]) :: forall b6989586621680095361 c6989586621680095362 d6989586621680095363 e6989586621680095364 f6989586621680095365. (~>) [b6989586621680095361] ((~>) [c6989586621680095362] ((~>) [d6989586621680095363] ((~>) [e6989586621680095364] ((~>) [f6989586621680095365] [(a6989586621680095360, b6989586621680095361, c6989586621680095362, d6989586621680095363, e6989586621680095364, f6989586621680095365)]))))
data Zip6Sym2 (a6989586621680097008 :: [a6989586621680095360]) (a6989586621680097009 :: [b6989586621680095361]) :: forall c6989586621680095362 d6989586621680095363 e6989586621680095364 f6989586621680095365. (~>) [c6989586621680095362] ((~>) [d6989586621680095363] ((~>) [e6989586621680095364] ((~>) [f6989586621680095365] [(a6989586621680095360, b6989586621680095361, c6989586621680095362, d6989586621680095363, e6989586621680095364, f6989586621680095365)])))
data Zip6Sym3 (a6989586621680097008 :: [a6989586621680095360]) (a6989586621680097009 :: [b6989586621680095361]) (a6989586621680097010 :: [c6989586621680095362]) :: forall d6989586621680095363 e6989586621680095364 f6989586621680095365. (~>) [d6989586621680095363] ((~>) [e6989586621680095364] ((~>) [f6989586621680095365] [(a6989586621680095360, b6989586621680095361, c6989586621680095362, d6989586621680095363, e6989586621680095364, f6989586621680095365)]))
data Zip6Sym4 (a6989586621680097008 :: [a6989586621680095360]) (a6989586621680097009 :: [b6989586621680095361]) (a6989586621680097010 :: [c6989586621680095362]) (a6989586621680097011 :: [d6989586621680095363]) :: forall e6989586621680095364 f6989586621680095365. (~>) [e6989586621680095364] ((~>) [f6989586621680095365] [(a6989586621680095360, b6989586621680095361, c6989586621680095362, d6989586621680095363, e6989586621680095364, f6989586621680095365)])
data Zip6Sym5 (a6989586621680097008 :: [a6989586621680095360]) (a6989586621680097009 :: [b6989586621680095361]) (a6989586621680097010 :: [c6989586621680095362]) (a6989586621680097011 :: [d6989586621680095363]) (a6989586621680097012 :: [e6989586621680095364]) :: forall f6989586621680095365. (~>) [f6989586621680095365] [(a6989586621680095360, b6989586621680095361, c6989586621680095362, d6989586621680095363, e6989586621680095364, f6989586621680095365)]
type Zip6Sym6 (a6989586621680097008 :: [a6989586621680095360]) (a6989586621680097009 :: [b6989586621680095361]) (a6989586621680097010 :: [c6989586621680095362]) (a6989586621680097011 :: [d6989586621680095363]) (a6989586621680097012 :: [e6989586621680095364]) (a6989586621680097013 :: [f6989586621680095365]) = Zip6 a6989586621680097008 a6989586621680097009 a6989586621680097010 a6989586621680097011 a6989586621680097012 a6989586621680097013
data Zip7Sym0 :: forall a6989586621680095353 b6989586621680095354 c6989586621680095355 d6989586621680095356 e6989586621680095357 f6989586621680095358 g6989586621680095359. (~>) [a6989586621680095353] ((~>) [b6989586621680095354] ((~>) [c6989586621680095355] ((~>) [d6989586621680095356] ((~>) [e6989586621680095357] ((~>) [f6989586621680095358] ((~>) [g6989586621680095359] [(a6989586621680095353, b6989586621680095354, c6989586621680095355, d6989586621680095356, e6989586621680095357, f6989586621680095358, g6989586621680095359)]))))))
data Zip7Sym1 (a6989586621680096975 :: [a6989586621680095353]) :: forall b6989586621680095354 c6989586621680095355 d6989586621680095356 e6989586621680095357 f6989586621680095358 g6989586621680095359. (~>) [b6989586621680095354] ((~>) [c6989586621680095355] ((~>) [d6989586621680095356] ((~>) [e6989586621680095357] ((~>) [f6989586621680095358] ((~>) [g6989586621680095359] [(a6989586621680095353, b6989586621680095354, c6989586621680095355, d6989586621680095356, e6989586621680095357, f6989586621680095358, g6989586621680095359)])))))
data Zip7Sym2 (a6989586621680096975 :: [a6989586621680095353]) (a6989586621680096976 :: [b6989586621680095354]) :: forall c6989586621680095355 d6989586621680095356 e6989586621680095357 f6989586621680095358 g6989586621680095359. (~>) [c6989586621680095355] ((~>) [d6989586621680095356] ((~>) [e6989586621680095357] ((~>) [f6989586621680095358] ((~>) [g6989586621680095359] [(a6989586621680095353, b6989586621680095354, c6989586621680095355, d6989586621680095356, e6989586621680095357, f6989586621680095358, g6989586621680095359)]))))
data Zip7Sym3 (a6989586621680096975 :: [a6989586621680095353]) (a6989586621680096976 :: [b6989586621680095354]) (a6989586621680096977 :: [c6989586621680095355]) :: forall d6989586621680095356 e6989586621680095357 f6989586621680095358 g6989586621680095359. (~>) [d6989586621680095356] ((~>) [e6989586621680095357] ((~>) [f6989586621680095358] ((~>) [g6989586621680095359] [(a6989586621680095353, b6989586621680095354, c6989586621680095355, d6989586621680095356, e6989586621680095357, f6989586621680095358, g6989586621680095359)])))
data Zip7Sym4 (a6989586621680096975 :: [a6989586621680095353]) (a6989586621680096976 :: [b6989586621680095354]) (a6989586621680096977 :: [c6989586621680095355]) (a6989586621680096978 :: [d6989586621680095356]) :: forall e6989586621680095357 f6989586621680095358 g6989586621680095359. (~>) [e6989586621680095357] ((~>) [f6989586621680095358] ((~>) [g6989586621680095359] [(a6989586621680095353, b6989586621680095354, c6989586621680095355, d6989586621680095356, e6989586621680095357, f6989586621680095358, g6989586621680095359)]))
data Zip7Sym5 (a6989586621680096975 :: [a6989586621680095353]) (a6989586621680096976 :: [b6989586621680095354]) (a6989586621680096977 :: [c6989586621680095355]) (a6989586621680096978 :: [d6989586621680095356]) (a6989586621680096979 :: [e6989586621680095357]) :: forall f6989586621680095358 g6989586621680095359. (~>) [f6989586621680095358] ((~>) [g6989586621680095359] [(a6989586621680095353, b6989586621680095354, c6989586621680095355, d6989586621680095356, e6989586621680095357, f6989586621680095358, g6989586621680095359)])
data Zip7Sym6 (a6989586621680096975 :: [a6989586621680095353]) (a6989586621680096976 :: [b6989586621680095354]) (a6989586621680096977 :: [c6989586621680095355]) (a6989586621680096978 :: [d6989586621680095356]) (a6989586621680096979 :: [e6989586621680095357]) (a6989586621680096980 :: [f6989586621680095358]) :: forall g6989586621680095359. (~>) [g6989586621680095359] [(a6989586621680095353, b6989586621680095354, c6989586621680095355, d6989586621680095356, e6989586621680095357, f6989586621680095358, g6989586621680095359)]
type Zip7Sym7 (a6989586621680096975 :: [a6989586621680095353]) (a6989586621680096976 :: [b6989586621680095354]) (a6989586621680096977 :: [c6989586621680095355]) (a6989586621680096978 :: [d6989586621680095356]) (a6989586621680096979 :: [e6989586621680095357]) (a6989586621680096980 :: [f6989586621680095358]) (a6989586621680096981 :: [g6989586621680095359]) = Zip7 a6989586621680096975 a6989586621680096976 a6989586621680096977 a6989586621680096978 a6989586621680096979 a6989586621680096980 a6989586621680096981
data ZipWithSym0 :: forall a6989586621679973237 b6989586621679973238 c6989586621679973239. (~>) ((~>) a6989586621679973237 ((~>) b6989586621679973238 c6989586621679973239)) ((~>) [a6989586621679973237] ((~>) [b6989586621679973238] [c6989586621679973239]))
data ZipWithSym1 (a6989586621679978084 :: (~>) a6989586621679973237 ((~>) b6989586621679973238 c6989586621679973239)) :: (~>) [a6989586621679973237] ((~>) [b6989586621679973238] [c6989586621679973239])
data ZipWithSym2 (a6989586621679978084 :: (~>) a6989586621679973237 ((~>) b6989586621679973238 c6989586621679973239)) (a6989586621679978085 :: [a6989586621679973237]) :: (~>) [b6989586621679973238] [c6989586621679973239]
type ZipWithSym3 (a6989586621679978084 :: (~>) a6989586621679973237 ((~>) b6989586621679973238 c6989586621679973239)) (a6989586621679978085 :: [a6989586621679973237]) (a6989586621679978086 :: [b6989586621679973238]) = ZipWith a6989586621679978084 a6989586621679978085 a6989586621679978086
data ZipWith3Sym0 :: forall a6989586621679973233 b6989586621679973234 c6989586621679973235 d6989586621679973236. (~>) ((~>) a6989586621679973233 ((~>) b6989586621679973234 ((~>) c6989586621679973235 d6989586621679973236))) ((~>) [a6989586621679973233] ((~>) [b6989586621679973234] ((~>) [c6989586621679973235] [d6989586621679973236])))
data ZipWith3Sym1 (a6989586621679978069 :: (~>) a6989586621679973233 ((~>) b6989586621679973234 ((~>) c6989586621679973235 d6989586621679973236))) :: (~>) [a6989586621679973233] ((~>) [b6989586621679973234] ((~>) [c6989586621679973235] [d6989586621679973236]))
data ZipWith3Sym2 (a6989586621679978069 :: (~>) a6989586621679973233 ((~>) b6989586621679973234 ((~>) c6989586621679973235 d6989586621679973236))) (a6989586621679978070 :: [a6989586621679973233]) :: (~>) [b6989586621679973234] ((~>) [c6989586621679973235] [d6989586621679973236])
data ZipWith3Sym3 (a6989586621679978069 :: (~>) a6989586621679973233 ((~>) b6989586621679973234 ((~>) c6989586621679973235 d6989586621679973236))) (a6989586621679978070 :: [a6989586621679973233]) (a6989586621679978071 :: [b6989586621679973234]) :: (~>) [c6989586621679973235] [d6989586621679973236]
type ZipWith3Sym4 (a6989586621679978069 :: (~>) a6989586621679973233 ((~>) b6989586621679973234 ((~>) c6989586621679973235 d6989586621679973236))) (a6989586621679978070 :: [a6989586621679973233]) (a6989586621679978071 :: [b6989586621679973234]) (a6989586621679978072 :: [c6989586621679973235]) = ZipWith3 a6989586621679978069 a6989586621679978070 a6989586621679978071 a6989586621679978072
data ZipWith4Sym0 :: forall a6989586621680095348 b6989586621680095349 c6989586621680095350 d6989586621680095351 e6989586621680095352. (~>) ((~>) a6989586621680095348 ((~>) b6989586621680095349 ((~>) c6989586621680095350 ((~>) d6989586621680095351 e6989586621680095352)))) ((~>) [a6989586621680095348] ((~>) [b6989586621680095349] ((~>) [c6989586621680095350] ((~>) [d6989586621680095351] [e6989586621680095352]))))
data ZipWith4Sym1 (a6989586621680096942 :: (~>) a6989586621680095348 ((~>) b6989586621680095349 ((~>) c6989586621680095350 ((~>) d6989586621680095351 e6989586621680095352)))) :: (~>) [a6989586621680095348] ((~>) [b6989586621680095349] ((~>) [c6989586621680095350] ((~>) [d6989586621680095351] [e6989586621680095352])))
data ZipWith4Sym2 (a6989586621680096942 :: (~>) a6989586621680095348 ((~>) b6989586621680095349 ((~>) c6989586621680095350 ((~>) d6989586621680095351 e6989586621680095352)))) (a6989586621680096943 :: [a6989586621680095348]) :: (~>) [b6989586621680095349] ((~>) [c6989586621680095350] ((~>) [d6989586621680095351] [e6989586621680095352]))
data ZipWith4Sym3 (a6989586621680096942 :: (~>) a6989586621680095348 ((~>) b6989586621680095349 ((~>) c6989586621680095350 ((~>) d6989586621680095351 e6989586621680095352)))) (a6989586621680096943 :: [a6989586621680095348]) (a6989586621680096944 :: [b6989586621680095349]) :: (~>) [c6989586621680095350] ((~>) [d6989586621680095351] [e6989586621680095352])
data ZipWith4Sym4 (a6989586621680096942 :: (~>) a6989586621680095348 ((~>) b6989586621680095349 ((~>) c6989586621680095350 ((~>) d6989586621680095351 e6989586621680095352)))) (a6989586621680096943 :: [a6989586621680095348]) (a6989586621680096944 :: [b6989586621680095349]) (a6989586621680096945 :: [c6989586621680095350]) :: (~>) [d6989586621680095351] [e6989586621680095352]
type ZipWith4Sym5 (a6989586621680096942 :: (~>) a6989586621680095348 ((~>) b6989586621680095349 ((~>) c6989586621680095350 ((~>) d6989586621680095351 e6989586621680095352)))) (a6989586621680096943 :: [a6989586621680095348]) (a6989586621680096944 :: [b6989586621680095349]) (a6989586621680096945 :: [c6989586621680095350]) (a6989586621680096946 :: [d6989586621680095351]) = ZipWith4 a6989586621680096942 a6989586621680096943 a6989586621680096944 a6989586621680096945 a6989586621680096946
data ZipWith5Sym0 :: forall a6989586621680095342 b6989586621680095343 c6989586621680095344 d6989586621680095345 e6989586621680095346 f6989586621680095347. (~>) ((~>) a6989586621680095342 ((~>) b6989586621680095343 ((~>) c6989586621680095344 ((~>) d6989586621680095345 ((~>) e6989586621680095346 f6989586621680095347))))) ((~>) [a6989586621680095342] ((~>) [b6989586621680095343] ((~>) [c6989586621680095344] ((~>) [d6989586621680095345] ((~>) [e6989586621680095346] [f6989586621680095347])))))
data ZipWith5Sym1 (a6989586621680096919 :: (~>) a6989586621680095342 ((~>) b6989586621680095343 ((~>) c6989586621680095344 ((~>) d6989586621680095345 ((~>) e6989586621680095346 f6989586621680095347))))) :: (~>) [a6989586621680095342] ((~>) [b6989586621680095343] ((~>) [c6989586621680095344] ((~>) [d6989586621680095345] ((~>) [e6989586621680095346] [f6989586621680095347]))))
data ZipWith5Sym2 (a6989586621680096919 :: (~>) a6989586621680095342 ((~>) b6989586621680095343 ((~>) c6989586621680095344 ((~>) d6989586621680095345 ((~>) e6989586621680095346 f6989586621680095347))))) (a6989586621680096920 :: [a6989586621680095342]) :: (~>) [b6989586621680095343] ((~>) [c6989586621680095344] ((~>) [d6989586621680095345] ((~>) [e6989586621680095346] [f6989586621680095347])))
data ZipWith5Sym3 (a6989586621680096919 :: (~>) a6989586621680095342 ((~>) b6989586621680095343 ((~>) c6989586621680095344 ((~>) d6989586621680095345 ((~>) e6989586621680095346 f6989586621680095347))))) (a6989586621680096920 :: [a6989586621680095342]) (a6989586621680096921 :: [b6989586621680095343]) :: (~>) [c6989586621680095344] ((~>) [d6989586621680095345] ((~>) [e6989586621680095346] [f6989586621680095347]))
data ZipWith5Sym4 (a6989586621680096919 :: (~>) a6989586621680095342 ((~>) b6989586621680095343 ((~>) c6989586621680095344 ((~>) d6989586621680095345 ((~>) e6989586621680095346 f6989586621680095347))))) (a6989586621680096920 :: [a6989586621680095342]) (a6989586621680096921 :: [b6989586621680095343]) (a6989586621680096922 :: [c6989586621680095344]) :: (~>) [d6989586621680095345] ((~>) [e6989586621680095346] [f6989586621680095347])
data ZipWith5Sym5 (a6989586621680096919 :: (~>) a6989586621680095342 ((~>) b6989586621680095343 ((~>) c6989586621680095344 ((~>) d6989586621680095345 ((~>) e6989586621680095346 f6989586621680095347))))) (a6989586621680096920 :: [a6989586621680095342]) (a6989586621680096921 :: [b6989586621680095343]) (a6989586621680096922 :: [c6989586621680095344]) (a6989586621680096923 :: [d6989586621680095345]) :: (~>) [e6989586621680095346] [f6989586621680095347]
type ZipWith5Sym6 (a6989586621680096919 :: (~>) a6989586621680095342 ((~>) b6989586621680095343 ((~>) c6989586621680095344 ((~>) d6989586621680095345 ((~>) e6989586621680095346 f6989586621680095347))))) (a6989586621680096920 :: [a6989586621680095342]) (a6989586621680096921 :: [b6989586621680095343]) (a6989586621680096922 :: [c6989586621680095344]) (a6989586621680096923 :: [d6989586621680095345]) (a6989586621680096924 :: [e6989586621680095346]) = ZipWith5 a6989586621680096919 a6989586621680096920 a6989586621680096921 a6989586621680096922 a6989586621680096923 a6989586621680096924
data ZipWith6Sym0 :: forall a6989586621680095335 b6989586621680095336 c6989586621680095337 d6989586621680095338 e6989586621680095339 f6989586621680095340 g6989586621680095341. (~>) ((~>) a6989586621680095335 ((~>) b6989586621680095336 ((~>) c6989586621680095337 ((~>) d6989586621680095338 ((~>) e6989586621680095339 ((~>) f6989586621680095340 g6989586621680095341)))))) ((~>) [a6989586621680095335] ((~>) [b6989586621680095336] ((~>) [c6989586621680095337] ((~>) [d6989586621680095338] ((~>) [e6989586621680095339] ((~>) [f6989586621680095340] [g6989586621680095341]))))))
data ZipWith6Sym1 (a6989586621680096892 :: (~>) a6989586621680095335 ((~>) b6989586621680095336 ((~>) c6989586621680095337 ((~>) d6989586621680095338 ((~>) e6989586621680095339 ((~>) f6989586621680095340 g6989586621680095341)))))) :: (~>) [a6989586621680095335] ((~>) [b6989586621680095336] ((~>) [c6989586621680095337] ((~>) [d6989586621680095338] ((~>) [e6989586621680095339] ((~>) [f6989586621680095340] [g6989586621680095341])))))
data ZipWith6Sym2 (a6989586621680096892 :: (~>) a6989586621680095335 ((~>) b6989586621680095336 ((~>) c6989586621680095337 ((~>) d6989586621680095338 ((~>) e6989586621680095339 ((~>) f6989586621680095340 g6989586621680095341)))))) (a6989586621680096893 :: [a6989586621680095335]) :: (~>) [b6989586621680095336] ((~>) [c6989586621680095337] ((~>) [d6989586621680095338] ((~>) [e6989586621680095339] ((~>) [f6989586621680095340] [g6989586621680095341]))))
data ZipWith6Sym3 (a6989586621680096892 :: (~>) a6989586621680095335 ((~>) b6989586621680095336 ((~>) c6989586621680095337 ((~>) d6989586621680095338 ((~>) e6989586621680095339 ((~>) f6989586621680095340 g6989586621680095341)))))) (a6989586621680096893 :: [a6989586621680095335]) (a6989586621680096894 :: [b6989586621680095336]) :: (~>) [c6989586621680095337] ((~>) [d6989586621680095338] ((~>) [e6989586621680095339] ((~>) [f6989586621680095340] [g6989586621680095341])))
data ZipWith6Sym4 (a6989586621680096892 :: (~>) a6989586621680095335 ((~>) b6989586621680095336 ((~>) c6989586621680095337 ((~>) d6989586621680095338 ((~>) e6989586621680095339 ((~>) f6989586621680095340 g6989586621680095341)))))) (a6989586621680096893 :: [a6989586621680095335]) (a6989586621680096894 :: [b6989586621680095336]) (a6989586621680096895 :: [c6989586621680095337]) :: (~>) [d6989586621680095338] ((~>) [e6989586621680095339] ((~>) [f6989586621680095340] [g6989586621680095341]))
data ZipWith6Sym5 (a6989586621680096892 :: (~>) a6989586621680095335 ((~>) b6989586621680095336 ((~>) c6989586621680095337 ((~>) d6989586621680095338 ((~>) e6989586621680095339 ((~>) f6989586621680095340 g6989586621680095341)))))) (a6989586621680096893 :: [a6989586621680095335]) (a6989586621680096894 :: [b6989586621680095336]) (a6989586621680096895 :: [c6989586621680095337]) (a6989586621680096896 :: [d6989586621680095338]) :: (~>) [e6989586621680095339] ((~>) [f6989586621680095340] [g6989586621680095341])
data ZipWith6Sym6 (a6989586621680096892 :: (~>) a6989586621680095335 ((~>) b6989586621680095336 ((~>) c6989586621680095337 ((~>) d6989586621680095338 ((~>) e6989586621680095339 ((~>) f6989586621680095340 g6989586621680095341)))))) (a6989586621680096893 :: [a6989586621680095335]) (a6989586621680096894 :: [b6989586621680095336]) (a6989586621680096895 :: [c6989586621680095337]) (a6989586621680096896 :: [d6989586621680095338]) (a6989586621680096897 :: [e6989586621680095339]) :: (~>) [f6989586621680095340] [g6989586621680095341]
type ZipWith6Sym7 (a6989586621680096892 :: (~>) a6989586621680095335 ((~>) b6989586621680095336 ((~>) c6989586621680095337 ((~>) d6989586621680095338 ((~>) e6989586621680095339 ((~>) f6989586621680095340 g6989586621680095341)))))) (a6989586621680096893 :: [a6989586621680095335]) (a6989586621680096894 :: [b6989586621680095336]) (a6989586621680096895 :: [c6989586621680095337]) (a6989586621680096896 :: [d6989586621680095338]) (a6989586621680096897 :: [e6989586621680095339]) (a6989586621680096898 :: [f6989586621680095340]) = ZipWith6 a6989586621680096892 a6989586621680096893 a6989586621680096894 a6989586621680096895 a6989586621680096896 a6989586621680096897 a6989586621680096898
data ZipWith7Sym0 :: forall a6989586621680095327 b6989586621680095328 c6989586621680095329 d6989586621680095330 e6989586621680095331 f6989586621680095332 g6989586621680095333 h6989586621680095334. (~>) ((~>) a6989586621680095327 ((~>) b6989586621680095328 ((~>) c6989586621680095329 ((~>) d6989586621680095330 ((~>) e6989586621680095331 ((~>) f6989586621680095332 ((~>) g6989586621680095333 h6989586621680095334))))))) ((~>) [a6989586621680095327] ((~>) [b6989586621680095328] ((~>) [c6989586621680095329] ((~>) [d6989586621680095330] ((~>) [e6989586621680095331] ((~>) [f6989586621680095332] ((~>) [g6989586621680095333] [h6989586621680095334])))))))
data ZipWith7Sym1 (a6989586621680096861 :: (~>) a6989586621680095327 ((~>) b6989586621680095328 ((~>) c6989586621680095329 ((~>) d6989586621680095330 ((~>) e6989586621680095331 ((~>) f6989586621680095332 ((~>) g6989586621680095333 h6989586621680095334))))))) :: (~>) [a6989586621680095327] ((~>) [b6989586621680095328] ((~>) [c6989586621680095329] ((~>) [d6989586621680095330] ((~>) [e6989586621680095331] ((~>) [f6989586621680095332] ((~>) [g6989586621680095333] [h6989586621680095334]))))))
data ZipWith7Sym2 (a6989586621680096861 :: (~>) a6989586621680095327 ((~>) b6989586621680095328 ((~>) c6989586621680095329 ((~>) d6989586621680095330 ((~>) e6989586621680095331 ((~>) f6989586621680095332 ((~>) g6989586621680095333 h6989586621680095334))))))) (a6989586621680096862 :: [a6989586621680095327]) :: (~>) [b6989586621680095328] ((~>) [c6989586621680095329] ((~>) [d6989586621680095330] ((~>) [e6989586621680095331] ((~>) [f6989586621680095332] ((~>) [g6989586621680095333] [h6989586621680095334])))))
data ZipWith7Sym3 (a6989586621680096861 :: (~>) a6989586621680095327 ((~>) b6989586621680095328 ((~>) c6989586621680095329 ((~>) d6989586621680095330 ((~>) e6989586621680095331 ((~>) f6989586621680095332 ((~>) g6989586621680095333 h6989586621680095334))))))) (a6989586621680096862 :: [a6989586621680095327]) (a6989586621680096863 :: [b6989586621680095328]) :: (~>) [c6989586621680095329] ((~>) [d6989586621680095330] ((~>) [e6989586621680095331] ((~>) [f6989586621680095332] ((~>) [g6989586621680095333] [h6989586621680095334]))))
data ZipWith7Sym4 (a6989586621680096861 :: (~>) a6989586621680095327 ((~>) b6989586621680095328 ((~>) c6989586621680095329 ((~>) d6989586621680095330 ((~>) e6989586621680095331 ((~>) f6989586621680095332 ((~>) g6989586621680095333 h6989586621680095334))))))) (a6989586621680096862 :: [a6989586621680095327]) (a6989586621680096863 :: [b6989586621680095328]) (a6989586621680096864 :: [c6989586621680095329]) :: (~>) [d6989586621680095330] ((~>) [e6989586621680095331] ((~>) [f6989586621680095332] ((~>) [g6989586621680095333] [h6989586621680095334])))
data ZipWith7Sym5 (a6989586621680096861 :: (~>) a6989586621680095327 ((~>) b6989586621680095328 ((~>) c6989586621680095329 ((~>) d6989586621680095330 ((~>) e6989586621680095331 ((~>) f6989586621680095332 ((~>) g6989586621680095333 h6989586621680095334))))))) (a6989586621680096862 :: [a6989586621680095327]) (a6989586621680096863 :: [b6989586621680095328]) (a6989586621680096864 :: [c6989586621680095329]) (a6989586621680096865 :: [d6989586621680095330]) :: (~>) [e6989586621680095331] ((~>) [f6989586621680095332] ((~>) [g6989586621680095333] [h6989586621680095334]))
data ZipWith7Sym6 (a6989586621680096861 :: (~>) a6989586621680095327 ((~>) b6989586621680095328 ((~>) c6989586621680095329 ((~>) d6989586621680095330 ((~>) e6989586621680095331 ((~>) f6989586621680095332 ((~>) g6989586621680095333 h6989586621680095334))))))) (a6989586621680096862 :: [a6989586621680095327]) (a6989586621680096863 :: [b6989586621680095328]) (a6989586621680096864 :: [c6989586621680095329]) (a6989586621680096865 :: [d6989586621680095330]) (a6989586621680096866 :: [e6989586621680095331]) :: (~>) [f6989586621680095332] ((~>) [g6989586621680095333] [h6989586621680095334])
data ZipWith7Sym7 (a6989586621680096861 :: (~>) a6989586621680095327 ((~>) b6989586621680095328 ((~>) c6989586621680095329 ((~>) d6989586621680095330 ((~>) e6989586621680095331 ((~>) f6989586621680095332 ((~>) g6989586621680095333 h6989586621680095334))))))) (a6989586621680096862 :: [a6989586621680095327]) (a6989586621680096863 :: [b6989586621680095328]) (a6989586621680096864 :: [c6989586621680095329]) (a6989586621680096865 :: [d6989586621680095330]) (a6989586621680096866 :: [e6989586621680095331]) (a6989586621680096867 :: [f6989586621680095332]) :: (~>) [g6989586621680095333] [h6989586621680095334]
type ZipWith7Sym8 (a6989586621680096861 :: (~>) a6989586621680095327 ((~>) b6989586621680095328 ((~>) c6989586621680095329 ((~>) d6989586621680095330 ((~>) e6989586621680095331 ((~>) f6989586621680095332 ((~>) g6989586621680095333 h6989586621680095334))))))) (a6989586621680096862 :: [a6989586621680095327]) (a6989586621680096863 :: [b6989586621680095328]) (a6989586621680096864 :: [c6989586621680095329]) (a6989586621680096865 :: [d6989586621680095330]) (a6989586621680096866 :: [e6989586621680095331]) (a6989586621680096867 :: [f6989586621680095332]) (a6989586621680096868 :: [g6989586621680095333]) = ZipWith7 a6989586621680096861 a6989586621680096862 a6989586621680096863 a6989586621680096864 a6989586621680096865 a6989586621680096866 a6989586621680096867 a6989586621680096868
data UnzipSym0 :: forall a6989586621679973231 b6989586621679973232. (~>) [(a6989586621679973231, b6989586621679973232)] ([a6989586621679973231], [b6989586621679973232])
type UnzipSym1 (a6989586621679978050 :: [(a6989586621679973231, b6989586621679973232)]) = Unzip a6989586621679978050
data Unzip3Sym0 :: forall a6989586621679973228 b6989586621679973229 c6989586621679973230. (~>) [(a6989586621679973228, b6989586621679973229, c6989586621679973230)] ([a6989586621679973228], [b6989586621679973229], [c6989586621679973230])
type Unzip3Sym1 (a6989586621679978029 :: [(a6989586621679973228, b6989586621679973229, c6989586621679973230)]) = Unzip3 a6989586621679978029
data Unzip4Sym0 :: forall a6989586621679973224 b6989586621679973225 c6989586621679973226 d6989586621679973227. (~>) [(a6989586621679973224, b6989586621679973225, c6989586621679973226, d6989586621679973227)] ([a6989586621679973224], [b6989586621679973225], [c6989586621679973226], [d6989586621679973227])
type Unzip4Sym1 (a6989586621679978006 :: [(a6989586621679973224, b6989586621679973225, c6989586621679973226, d6989586621679973227)]) = Unzip4 a6989586621679978006
data Unzip5Sym0 :: forall a6989586621679973219 b6989586621679973220 c6989586621679973221 d6989586621679973222 e6989586621679973223. (~>) [(a6989586621679973219, b6989586621679973220, c6989586621679973221, d6989586621679973222, e6989586621679973223)] ([a6989586621679973219], [b6989586621679973220], [c6989586621679973221], [d6989586621679973222], [e6989586621679973223])
type Unzip5Sym1 (a6989586621679977981 :: [(a6989586621679973219, b6989586621679973220, c6989586621679973221, d6989586621679973222, e6989586621679973223)]) = Unzip5 a6989586621679977981
data Unzip6Sym0 :: forall a6989586621679973213 b6989586621679973214 c6989586621679973215 d6989586621679973216 e6989586621679973217 f6989586621679973218. (~>) [(a6989586621679973213, b6989586621679973214, c6989586621679973215, d6989586621679973216, e6989586621679973217, f6989586621679973218)] ([a6989586621679973213], [b6989586621679973214], [c6989586621679973215], [d6989586621679973216], [e6989586621679973217], [f6989586621679973218])
type Unzip6Sym1 (a6989586621679977954 :: [(a6989586621679973213, b6989586621679973214, c6989586621679973215, d6989586621679973216, e6989586621679973217, f6989586621679973218)]) = Unzip6 a6989586621679977954
data Unzip7Sym0 :: forall a6989586621679973206 b6989586621679973207 c6989586621679973208 d6989586621679973209 e6989586621679973210 f6989586621679973211 g6989586621679973212. (~>) [(a6989586621679973206, b6989586621679973207, c6989586621679973208, d6989586621679973209, e6989586621679973210, f6989586621679973211, g6989586621679973212)] ([a6989586621679973206], [b6989586621679973207], [c6989586621679973208], [d6989586621679973209], [e6989586621679973210], [f6989586621679973211], [g6989586621679973212])
type Unzip7Sym1 (a6989586621679977925 :: [(a6989586621679973206, b6989586621679973207, c6989586621679973208, d6989586621679973209, e6989586621679973210, f6989586621679973211, g6989586621679973212)]) = Unzip7 a6989586621679977925
data UnlinesSym0 :: (~>) [Symbol] Symbol
type UnlinesSym1 (a6989586621679977921 :: [Symbol]) = Unlines a6989586621679977921
data UnwordsSym0 :: (~>) [Symbol] Symbol
type UnwordsSym1 (a6989586621679977910 :: [Symbol]) = Unwords a6989586621679977910
data NubSym0 :: forall a6989586621679973165. (~>) [a6989586621679973165] [a6989586621679973165]
type NubSym1 (a6989586621679977293 :: [a6989586621679973165]) = Nub a6989586621679977293
data DeleteSym0 :: forall a6989586621679973205. (~>) a6989586621679973205 ((~>) [a6989586621679973205] [a6989586621679973205])
data DeleteSym1 (a6989586621679977904 :: a6989586621679973205) :: (~>) [a6989586621679973205] [a6989586621679973205]
type DeleteSym2 (a6989586621679977904 :: a6989586621679973205) (a6989586621679977905 :: [a6989586621679973205]) = Delete a6989586621679977904 a6989586621679977905
data (\\@#@$) :: forall a6989586621679973204. (~>) [a6989586621679973204] ((~>) [a6989586621679973204] [a6989586621679973204])
infix 5 \\@#@$
data (\\@#@$$) (a6989586621679977894 :: [a6989586621679973204]) :: (~>) [a6989586621679973204] [a6989586621679973204]
infix 5 \\@#@$$
type (\\@#@$$$) (a6989586621679977894 :: [a6989586621679973204]) (a6989586621679977895 :: [a6989586621679973204]) = (\\) a6989586621679977894 a6989586621679977895
data UnionSym0 :: forall a6989586621679973161. (~>) [a6989586621679973161] ((~>) [a6989586621679973161] [a6989586621679973161])
data UnionSym1 (a6989586621679977243 :: [a6989586621679973161]) :: (~>) [a6989586621679973161] [a6989586621679973161]
type UnionSym2 (a6989586621679977243 :: [a6989586621679973161]) (a6989586621679977244 :: [a6989586621679973161]) = Union a6989586621679977243 a6989586621679977244
data IntersectSym0 :: forall a6989586621679973191. (~>) [a6989586621679973191] ((~>) [a6989586621679973191] [a6989586621679973191])
data IntersectSym1 (a6989586621679977688 :: [a6989586621679973191]) :: (~>) [a6989586621679973191] [a6989586621679973191]
type IntersectSym2 (a6989586621679977688 :: [a6989586621679973191]) (a6989586621679977689 :: [a6989586621679973191]) = Intersect a6989586621679977688 a6989586621679977689
data InsertSym0 :: forall a6989586621679973178. (~>) a6989586621679973178 ((~>) [a6989586621679973178] [a6989586621679973178])
data InsertSym1 (a6989586621679977451 :: a6989586621679973178) :: (~>) [a6989586621679973178] [a6989586621679973178]
type InsertSym2 (a6989586621679977451 :: a6989586621679973178) (a6989586621679977452 :: [a6989586621679973178]) = Insert a6989586621679977451 a6989586621679977452
data SortSym0 :: forall a6989586621679973177. (~>) [a6989586621679973177] [a6989586621679973177]
type SortSym1 (a6989586621679977448 :: [a6989586621679973177]) = Sort a6989586621679977448
data NubBySym0 :: forall a6989586621679973164. (~>) ((~>) a6989586621679973164 ((~>) a6989586621679973164 Bool)) ((~>) [a6989586621679973164] [a6989586621679973164])
data NubBySym1 (a6989586621679977268 :: (~>) a6989586621679973164 ((~>) a6989586621679973164 Bool)) :: (~>) [a6989586621679973164] [a6989586621679973164]
type NubBySym2 (a6989586621679977268 :: (~>) a6989586621679973164 ((~>) a6989586621679973164 Bool)) (a6989586621679977269 :: [a6989586621679973164]) = NubBy a6989586621679977268 a6989586621679977269
data DeleteBySym0 :: forall a6989586621679973203. (~>) ((~>) a6989586621679973203 ((~>) a6989586621679973203 Bool)) ((~>) a6989586621679973203 ((~>) [a6989586621679973203] [a6989586621679973203]))
data DeleteBySym1 (a6989586621679977872 :: (~>) a6989586621679973203 ((~>) a6989586621679973203 Bool)) :: (~>) a6989586621679973203 ((~>) [a6989586621679973203] [a6989586621679973203])
data DeleteBySym2 (a6989586621679977872 :: (~>) a6989586621679973203 ((~>) a6989586621679973203 Bool)) (a6989586621679977873 :: a6989586621679973203) :: (~>) [a6989586621679973203] [a6989586621679973203]
type DeleteBySym3 (a6989586621679977872 :: (~>) a6989586621679973203 ((~>) a6989586621679973203 Bool)) (a6989586621679977873 :: a6989586621679973203) (a6989586621679977874 :: [a6989586621679973203]) = DeleteBy a6989586621679977872 a6989586621679977873 a6989586621679977874
data DeleteFirstsBySym0 :: forall a6989586621679973202. (~>) ((~>) a6989586621679973202 ((~>) a6989586621679973202 Bool)) ((~>) [a6989586621679973202] ((~>) [a6989586621679973202] [a6989586621679973202]))
data DeleteFirstsBySym1 (a6989586621679977859 :: (~>) a6989586621679973202 ((~>) a6989586621679973202 Bool)) :: (~>) [a6989586621679973202] ((~>) [a6989586621679973202] [a6989586621679973202])
data DeleteFirstsBySym2 (a6989586621679977859 :: (~>) a6989586621679973202 ((~>) a6989586621679973202 Bool)) (a6989586621679977860 :: [a6989586621679973202]) :: (~>) [a6989586621679973202] [a6989586621679973202]
type DeleteFirstsBySym3 (a6989586621679977859 :: (~>) a6989586621679973202 ((~>) a6989586621679973202 Bool)) (a6989586621679977860 :: [a6989586621679973202]) (a6989586621679977861 :: [a6989586621679973202]) = DeleteFirstsBy a6989586621679977859 a6989586621679977860 a6989586621679977861
data UnionBySym0 :: forall a6989586621679973162. (~>) ((~>) a6989586621679973162 ((~>) a6989586621679973162 Bool)) ((~>) [a6989586621679973162] ((~>) [a6989586621679973162] [a6989586621679973162]))
data UnionBySym1 (a6989586621679977249 :: (~>) a6989586621679973162 ((~>) a6989586621679973162 Bool)) :: (~>) [a6989586621679973162] ((~>) [a6989586621679973162] [a6989586621679973162])
data UnionBySym2 (a6989586621679977249 :: (~>) a6989586621679973162 ((~>) a6989586621679973162 Bool)) (a6989586621679977250 :: [a6989586621679973162]) :: (~>) [a6989586621679973162] [a6989586621679973162]
type UnionBySym3 (a6989586621679977249 :: (~>) a6989586621679973162 ((~>) a6989586621679973162 Bool)) (a6989586621679977250 :: [a6989586621679973162]) (a6989586621679977251 :: [a6989586621679973162]) = UnionBy a6989586621679977249 a6989586621679977250 a6989586621679977251
data IntersectBySym0 :: forall a6989586621679973190. (~>) ((~>) a6989586621679973190 ((~>) a6989586621679973190 Bool)) ((~>) [a6989586621679973190] ((~>) [a6989586621679973190] [a6989586621679973190]))
data IntersectBySym1 (a6989586621679977652 :: (~>) a6989586621679973190 ((~>) a6989586621679973190 Bool)) :: (~>) [a6989586621679973190] ((~>) [a6989586621679973190] [a6989586621679973190])
data IntersectBySym2 (a6989586621679977652 :: (~>) a6989586621679973190 ((~>) a6989586621679973190 Bool)) (a6989586621679977653 :: [a6989586621679973190]) :: (~>) [a6989586621679973190] [a6989586621679973190]
type IntersectBySym3 (a6989586621679977652 :: (~>) a6989586621679973190 ((~>) a6989586621679973190 Bool)) (a6989586621679977653 :: [a6989586621679973190]) (a6989586621679977654 :: [a6989586621679973190]) = IntersectBy a6989586621679977652 a6989586621679977653 a6989586621679977654
data GroupBySym0 :: forall a6989586621679973176. (~>) ((~>) a6989586621679973176 ((~>) a6989586621679973176 Bool)) ((~>) [a6989586621679973176] [[a6989586621679973176]])
data GroupBySym1 (a6989586621679977415 :: (~>) a6989586621679973176 ((~>) a6989586621679973176 Bool)) :: (~>) [a6989586621679973176] [[a6989586621679973176]]
type GroupBySym2 (a6989586621679977415 :: (~>) a6989586621679973176 ((~>) a6989586621679973176 Bool)) (a6989586621679977416 :: [a6989586621679973176]) = GroupBy a6989586621679977415 a6989586621679977416
data SortBySym0 :: forall a6989586621679973201. (~>) ((~>) a6989586621679973201 ((~>) a6989586621679973201 Ordering)) ((~>) [a6989586621679973201] [a6989586621679973201])
data SortBySym1 (a6989586621679977851 :: (~>) a6989586621679973201 ((~>) a6989586621679973201 Ordering)) :: (~>) [a6989586621679973201] [a6989586621679973201]
type SortBySym2 (a6989586621679977851 :: (~>) a6989586621679973201 ((~>) a6989586621679973201 Ordering)) (a6989586621679977852 :: [a6989586621679973201]) = SortBy a6989586621679977851 a6989586621679977852
data InsertBySym0 :: forall a6989586621679973200. (~>) ((~>) a6989586621679973200 ((~>) a6989586621679973200 Ordering)) ((~>) a6989586621679973200 ((~>) [a6989586621679973200] [a6989586621679973200]))
data InsertBySym1 (a6989586621679977827 :: (~>) a6989586621679973200 ((~>) a6989586621679973200 Ordering)) :: (~>) a6989586621679973200 ((~>) [a6989586621679973200] [a6989586621679973200])
data InsertBySym2 (a6989586621679977827 :: (~>) a6989586621679973200 ((~>) a6989586621679973200 Ordering)) (a6989586621679977828 :: a6989586621679973200) :: (~>) [a6989586621679973200] [a6989586621679973200]
type InsertBySym3 (a6989586621679977827 :: (~>) a6989586621679973200 ((~>) a6989586621679973200 Ordering)) (a6989586621679977828 :: a6989586621679973200) (a6989586621679977829 :: [a6989586621679973200]) = InsertBy a6989586621679977827 a6989586621679977828 a6989586621679977829
data MaximumBySym0 :: forall a6989586621680489521 t6989586621680489520. (~>) ((~>) a6989586621680489521 ((~>) a6989586621680489521 Ordering)) ((~>) (t6989586621680489520 a6989586621680489521) a6989586621680489521)
data MaximumBySym1 (a6989586621680490028 :: (~>) a6989586621680489521 ((~>) a6989586621680489521 Ordering)) :: forall t6989586621680489520. (~>) (t6989586621680489520 a6989586621680489521) a6989586621680489521
type MaximumBySym2 (a6989586621680490028 :: (~>) a6989586621680489521 ((~>) a6989586621680489521 Ordering)) (a6989586621680490029 :: t6989586621680489520 a6989586621680489521) = MaximumBy a6989586621680490028 a6989586621680490029
data MinimumBySym0 :: forall a6989586621680489519 t6989586621680489518. (~>) ((~>) a6989586621680489519 ((~>) a6989586621680489519 Ordering)) ((~>) (t6989586621680489518 a6989586621680489519) a6989586621680489519)
data MinimumBySym1 (a6989586621680490003 :: (~>) a6989586621680489519 ((~>) a6989586621680489519 Ordering)) :: forall t6989586621680489518. (~>) (t6989586621680489518 a6989586621680489519) a6989586621680489519
type MinimumBySym2 (a6989586621680490003 :: (~>) a6989586621680489519 ((~>) a6989586621680489519 Ordering)) (a6989586621680490004 :: t6989586621680489518 a6989586621680489519) = MinimumBy a6989586621680490003 a6989586621680490004
data GenericLengthSym0 :: forall a6989586621679973160 i6989586621679973159. (~>) [a6989586621679973160] i6989586621679973159
type GenericLengthSym1 (a6989586621679977236 :: [a6989586621679973160]) = GenericLength a6989586621679977236
data GenericTakeSym0 :: forall i6989586621680095325 a6989586621680095326. (~>) i6989586621680095325 ((~>) [a6989586621680095326] [a6989586621680095326])
data GenericTakeSym1 (a6989586621680096855 :: i6989586621680095325) :: forall a6989586621680095326. (~>) [a6989586621680095326] [a6989586621680095326]
type GenericTakeSym2 (a6989586621680096855 :: i6989586621680095325) (a6989586621680096856 :: [a6989586621680095326]) = GenericTake a6989586621680096855 a6989586621680096856
data GenericDropSym0 :: forall i6989586621680095323 a6989586621680095324. (~>) i6989586621680095323 ((~>) [a6989586621680095324] [a6989586621680095324])
data GenericDropSym1 (a6989586621680096845 :: i6989586621680095323) :: forall a6989586621680095324. (~>) [a6989586621680095324] [a6989586621680095324]
type GenericDropSym2 (a6989586621680096845 :: i6989586621680095323) (a6989586621680096846 :: [a6989586621680095324]) = GenericDrop a6989586621680096845 a6989586621680096846
data GenericSplitAtSym0 :: forall i6989586621680095321 a6989586621680095322. (~>) i6989586621680095321 ((~>) [a6989586621680095322] ([a6989586621680095322], [a6989586621680095322]))
data GenericSplitAtSym1 (a6989586621680096835 :: i6989586621680095321) :: forall a6989586621680095322. (~>) [a6989586621680095322] ([a6989586621680095322], [a6989586621680095322])
type GenericSplitAtSym2 (a6989586621680096835 :: i6989586621680095321) (a6989586621680096836 :: [a6989586621680095322]) = GenericSplitAt a6989586621680096835 a6989586621680096836
data GenericIndexSym0 :: forall a6989586621680095320 i6989586621680095319. (~>) [a6989586621680095320] ((~>) i6989586621680095319 a6989586621680095320)
data GenericIndexSym1 (a6989586621680096825 :: [a6989586621680095320]) :: forall i6989586621680095319. (~>) i6989586621680095319 a6989586621680095320
type GenericIndexSym2 (a6989586621680096825 :: [a6989586621680095320]) (a6989586621680096826 :: i6989586621680095319) = GenericIndex a6989586621680096825 a6989586621680096826
data GenericReplicateSym0 :: forall i6989586621680095317 a6989586621680095318. (~>) i6989586621680095317 ((~>) a6989586621680095318 [a6989586621680095318])
data GenericReplicateSym1 (a6989586621680096815 :: i6989586621680095317) :: forall a6989586621680095318. (~>) a6989586621680095318 [a6989586621680095318]
type GenericReplicateSym2 (a6989586621680096815 :: i6989586621680095317) (a6989586621680096816 :: a6989586621680095318) = GenericReplicate a6989586621680096815 a6989586621680096816


-- | Defines the promoted and singled versions of the <a>MonadZip</a> type
--   class.
module Data.Singletons.Prelude.Monad.Zip
class PMonadZip (m_a8THl :: Type -> Type) where {
    type family Mzip (arg_a8TIz :: m_a8THl a_a8THm) (arg_a8TIA :: m_a8THl b_a8THn) :: m_a8THl (a_a8THm, b_a8THn);
    type family MzipWith (arg_a8TID :: (~>) a_a8THo ((~>) b_a8THp c_a8THq)) (arg_a8TIE :: m_a8THl a_a8THo) (arg_a8TIF :: m_a8THl b_a8THp) :: m_a8THl c_a8THq;
    type family Munzip (arg_a8TIJ :: m_a8THl (a_a8THr, b_a8THs)) :: (m_a8THl a_a8THr, m_a8THl b_a8THs);
    type Mzip a_a8TIL a_a8TIM = Apply (Apply Mzip_6989586621681130613Sym0 a_a8TIL) a_a8TIM;
    type MzipWith a_a8TJ1 a_a8TJ2 a_a8TJ3 = Apply (Apply (Apply MzipWith_6989586621681130630Sym0 a_a8TJ1) a_a8TJ2) a_a8TJ3;
    type Munzip a_a8TJi = Apply Munzip_6989586621681130645Sym0 a_a8TJi;
}
class SMonad m_a8THl => SMonadZip (m_a8THl :: Type -> Type)
sMzip :: forall a_a8THm b_a8THn (t_a8TNt :: m_a8THl a_a8THm) (t_a8TNu :: m_a8THl b_a8THn). SMonadZip m_a8THl => Sing t_a8TNt -> Sing t_a8TNu -> Sing (Apply (Apply MzipSym0 t_a8TNt) t_a8TNu :: m_a8THl (a_a8THm, b_a8THn))
sMzipWith :: forall a_a8THo b_a8THp c_a8THq (t_a8TNx :: (~>) a_a8THo ((~>) b_a8THp c_a8THq)) (t_a8TNy :: m_a8THl a_a8THo) (t_a8TNz :: m_a8THl b_a8THp). SMonadZip m_a8THl => Sing t_a8TNx -> Sing t_a8TNy -> Sing t_a8TNz -> Sing (Apply (Apply (Apply MzipWithSym0 t_a8TNx) t_a8TNy) t_a8TNz :: m_a8THl c_a8THq)
sMunzip :: forall a_a8THr b_a8THs (t_a8TND :: m_a8THl (a_a8THr, b_a8THs)). SMonadZip m_a8THl => Sing t_a8TND -> Sing (Apply MunzipSym0 t_a8TND :: (m_a8THl a_a8THr, m_a8THl b_a8THs))
sMzip :: forall a_a8THm b_a8THn (t_a8TNt :: m_a8THl a_a8THm) (t_a8TNu :: m_a8THl b_a8THn). (SMonadZip m_a8THl, (Apply (Apply MzipSym0 t_a8TNt) t_a8TNu :: m_a8THl (a_a8THm, b_a8THn)) ~ Apply (Apply Mzip_6989586621681130613Sym0 t_a8TNt) t_a8TNu) => Sing t_a8TNt -> Sing t_a8TNu -> Sing (Apply (Apply MzipSym0 t_a8TNt) t_a8TNu :: m_a8THl (a_a8THm, b_a8THn))
sMzipWith :: forall a_a8THo b_a8THp c_a8THq (t_a8TNx :: (~>) a_a8THo ((~>) b_a8THp c_a8THq)) (t_a8TNy :: m_a8THl a_a8THo) (t_a8TNz :: m_a8THl b_a8THp). (SMonadZip m_a8THl, (Apply (Apply (Apply MzipWithSym0 t_a8TNx) t_a8TNy) t_a8TNz :: m_a8THl c_a8THq) ~ Apply (Apply (Apply MzipWith_6989586621681130630Sym0 t_a8TNx) t_a8TNy) t_a8TNz) => Sing t_a8TNx -> Sing t_a8TNy -> Sing t_a8TNz -> Sing (Apply (Apply (Apply MzipWithSym0 t_a8TNx) t_a8TNy) t_a8TNz :: m_a8THl c_a8THq)
sMunzip :: forall a_a8THr b_a8THs (t_a8TND :: m_a8THl (a_a8THr, b_a8THs)). (SMonadZip m_a8THl, (Apply MunzipSym0 t_a8TND :: (m_a8THl a_a8THr, m_a8THl b_a8THs)) ~ Apply Munzip_6989586621681130645Sym0 t_a8TND) => Sing t_a8TND -> Sing (Apply MunzipSym0 t_a8TND :: (m_a8THl a_a8THr, m_a8THl b_a8THs))
data MzipSym0 :: forall m6989586621681130523 a6989586621681130524 b6989586621681130525. (~>) (m6989586621681130523 a6989586621681130524) ((~>) (m6989586621681130523 b6989586621681130525) (m6989586621681130523 (a6989586621681130524, b6989586621681130525)))
data MzipSym1 (arg6989586621681130599 :: m6989586621681130523 a6989586621681130524) :: forall b6989586621681130525. (~>) (m6989586621681130523 b6989586621681130525) (m6989586621681130523 (a6989586621681130524, b6989586621681130525))
type MzipSym2 (arg6989586621681130599 :: m6989586621681130523 a6989586621681130524) (arg6989586621681130600 :: m6989586621681130523 b6989586621681130525) = Mzip arg6989586621681130599 arg6989586621681130600
data MzipWithSym0 :: forall a6989586621681130526 b6989586621681130527 c6989586621681130528 m6989586621681130523. (~>) ((~>) a6989586621681130526 ((~>) b6989586621681130527 c6989586621681130528)) ((~>) (m6989586621681130523 a6989586621681130526) ((~>) (m6989586621681130523 b6989586621681130527) (m6989586621681130523 c6989586621681130528)))
data MzipWithSym1 (arg6989586621681130603 :: (~>) a6989586621681130526 ((~>) b6989586621681130527 c6989586621681130528)) :: forall m6989586621681130523. (~>) (m6989586621681130523 a6989586621681130526) ((~>) (m6989586621681130523 b6989586621681130527) (m6989586621681130523 c6989586621681130528))
data MzipWithSym2 (arg6989586621681130603 :: (~>) a6989586621681130526 ((~>) b6989586621681130527 c6989586621681130528)) (arg6989586621681130604 :: m6989586621681130523 a6989586621681130526) :: (~>) (m6989586621681130523 b6989586621681130527) (m6989586621681130523 c6989586621681130528)
type MzipWithSym3 (arg6989586621681130603 :: (~>) a6989586621681130526 ((~>) b6989586621681130527 c6989586621681130528)) (arg6989586621681130604 :: m6989586621681130523 a6989586621681130526) (arg6989586621681130605 :: m6989586621681130523 b6989586621681130527) = MzipWith arg6989586621681130603 arg6989586621681130604 arg6989586621681130605
data MunzipSym0 :: forall m6989586621681130523 a6989586621681130529 b6989586621681130530. (~>) (m6989586621681130523 (a6989586621681130529, b6989586621681130530)) (m6989586621681130523 a6989586621681130529, m6989586621681130523 b6989586621681130530)
type MunzipSym1 (arg6989586621681130609 :: m6989586621681130523 (a6989586621681130529, b6989586621681130530)) = Munzip arg6989586621681130609
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_6989586621681130883Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Monoid.Last
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (a6989586621681130880 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130883Sym1 a6989586621681130880)
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (a6989586621681130881 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)) (a6989586621681130880 :: m6989586621681130523 a6989586621681130526). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130883Sym2 a6989586621681130881 a6989586621681130880)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130860Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Monoid.First
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (a6989586621681130857 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130860Sym1 a6989586621681130857)
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (a6989586621681130858 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)) (a6989586621681130857 :: m6989586621681130523 a6989586621681130526). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130860Sym2 a6989586621681130858 a6989586621681130857)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130837Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip GHC.Maybe.Maybe
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (a6989586621681130834 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130837Sym1 a6989586621681130834)
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (a6989586621681130835 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)) (a6989586621681130834 :: m6989586621681130523 a6989586621681130526). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130837Sym2 a6989586621681130835 a6989586621681130834)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130814Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Semigroup.Internal.Product
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (a6989586621681130811 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130814Sym1 a6989586621681130811)
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (a6989586621681130812 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)) (a6989586621681130811 :: m6989586621681130523 a6989586621681130526). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130814Sym2 a6989586621681130812 a6989586621681130811)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130791Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Semigroup.Internal.Sum
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (a6989586621681130788 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130791Sym1 a6989586621681130788)
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (a6989586621681130789 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)) (a6989586621681130788 :: m6989586621681130523 a6989586621681130526). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130791Sym2 a6989586621681130789 a6989586621681130788)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130768Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Semigroup.Internal.Dual
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (a6989586621681130765 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130768Sym1 a6989586621681130765)
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (a6989586621681130766 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)) (a6989586621681130765 :: m6989586621681130523 a6989586621681130526). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130768Sym2 a6989586621681130766 a6989586621681130765)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Munzip_6989586621681130758Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip Data.Functor.Identity.Identity
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130737Sym0
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (a6989586621681130734 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130737Sym1 a6989586621681130734)
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (a6989586621681130735 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)) (a6989586621681130734 :: m6989586621681130523 a6989586621681130526). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130737Sym2 a6989586621681130735 a6989586621681130734)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Munzip_6989586621681130726Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip []
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130705Sym0
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (a6989586621681130702 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130705Sym1 a6989586621681130702)
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (a6989586621681130703 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)) (a6989586621681130702 :: m6989586621681130523 a6989586621681130526). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130705Sym2 a6989586621681130703 a6989586621681130702)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681130688Sym0
instance forall (m6989586621681130523 :: * -> *) a6989586621681130524 b6989586621681130525 (a6989586621681130686 :: m6989586621681130523 a6989586621681130524). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681130688Sym1 a6989586621681130686)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MunzipSym0
instance forall (m6989586621681130523 :: * -> *) a6989586621681130524 b6989586621681130525 (arg6989586621681130599 :: m6989586621681130523 a6989586621681130524). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipSym1 arg6989586621681130599)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipSym0
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (arg6989586621681130604 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)) (arg6989586621681130603 :: m6989586621681130523 a6989586621681130526). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWithSym2 arg6989586621681130604 arg6989586621681130603)
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (arg6989586621681130603 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWithSym1 arg6989586621681130603)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWithSym0
instance forall (m6989586621681130523 :: * -> *) a6989586621681130524 b6989586621681130525 (a6989586621681130611 :: m6989586621681130523 a6989586621681130524). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681130613Sym1 a6989586621681130611)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Mzip_6989586621681130613Sym0
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (a6989586621681130628 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)) (a6989586621681130627 :: m6989586621681130523 a6989586621681130526). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130630Sym2 a6989586621681130628 a6989586621681130627)
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (m6989586621681130523 :: * -> *) (a6989586621681130627 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130630Sym1 a6989586621681130627)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.MzipWith_6989586621681130630Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Zip.Munzip_6989586621681130645Sym0


-- | 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_aeZt. NonEmpty a_aeZt -> Type
[:%|] :: forall a_aeZt (n_a1hdW :: a_aeZt) (n_a1hdX :: [a_aeZt]). () => Sing (n_a1hdW :: a_aeZt) -> Sing (n_a1hdX :: [a_aeZt]) -> SNonEmpty ('(:|) n_a1hdW n_a1hdX)
infixr 5 :%|
type family Map (a_a92tf :: (~>) a_a923d b_a923e) (a_a92tg :: NonEmpty a_a923d) :: NonEmpty b_a923e
sMap :: forall a_a923d b_a923e (t_a92yl :: (~>) a_a923d b_a923e) (t_a92ym :: NonEmpty a_a923d). Sing t_a92yl -> Sing t_a92ym -> Sing (Apply (Apply MapSym0 t_a92yl) t_a92ym :: NonEmpty b_a923e)
type family Intersperse (a_a92sd :: a_a9233) (a_a92se :: NonEmpty a_a9233) :: NonEmpty a_a9233
sIntersperse :: forall a_a9233 (t_a92xP :: a_a9233) (t_a92xQ :: NonEmpty a_a9233). Sing t_a92xP -> Sing t_a92xQ -> Sing (Apply (Apply IntersperseSym0 t_a92xP) t_a92xQ :: NonEmpty a_a9233)
type family Scanl (a_a92sM :: (~>) b_a9238 ((~>) a_a9239 b_a9238)) (a_a92sN :: b_a9238) (a_a92sO :: [a_a9239]) :: NonEmpty b_a9238
sScanl :: forall b_a9238 a_a9239 (t_a92y7 :: (~>) b_a9238 ((~>) a_a9239 b_a9238)) (t_a92y8 :: b_a9238) (t_a92y9 :: [a_a9239]). Sing t_a92y7 -> Sing t_a92y8 -> Sing t_a92y9 -> Sing (Apply (Apply (Apply ScanlSym0 t_a92y7) t_a92y8) t_a92y9 :: NonEmpty b_a9238)
type family Scanr (a_a92sB :: (~>) a_a9236 ((~>) b_a9237 b_a9237)) (a_a92sC :: b_a9237) (a_a92sD :: [a_a9236]) :: NonEmpty b_a9237
sScanr :: forall a_a9236 b_a9237 (t_a92y1 :: (~>) a_a9236 ((~>) b_a9237 b_a9237)) (t_a92y2 :: b_a9237) (t_a92y3 :: [a_a9236]). Sing t_a92y1 -> Sing t_a92y2 -> Sing t_a92y3 -> Sing (Apply (Apply (Apply ScanrSym0 t_a92y1) t_a92y2) t_a92y3 :: NonEmpty b_a9237)
type family Scanl1 (a_a92su :: (~>) a_a9235 ((~>) a_a9235 a_a9235)) (a_a92sv :: NonEmpty a_a9235) :: NonEmpty a_a9235
sScanl1 :: forall a_a9235 (t_a92xX :: (~>) a_a9235 ((~>) a_a9235 a_a9235)) (t_a92xY :: NonEmpty a_a9235). Sing t_a92xX -> Sing t_a92xY -> Sing (Apply (Apply Scanl1Sym0 t_a92xX) t_a92xY :: NonEmpty a_a9235)
type family Scanr1 (a_a92sn :: (~>) a_a9234 ((~>) a_a9234 a_a9234)) (a_a92so :: NonEmpty a_a9234) :: NonEmpty a_a9234
sScanr1 :: forall a_a9234 (t_a92xT :: (~>) a_a9234 ((~>) a_a9234 a_a9234)) (t_a92xU :: NonEmpty a_a9234). Sing t_a92xT -> Sing t_a92xU -> Sing (Apply (Apply Scanr1Sym0 t_a92xT) t_a92xU :: NonEmpty a_a9234)
type family Transpose (a_a92ns :: NonEmpty (NonEmpty a_a922v)) :: NonEmpty (NonEmpty a_a922v)
sTranspose :: forall a_a922v (t_a92wj :: NonEmpty (NonEmpty a_a922v)). Sing t_a92wj -> Sing (Apply TransposeSym0 t_a92wj :: NonEmpty (NonEmpty a_a922v))
type family SortBy (a_a92ni :: (~>) a_a922u ((~>) a_a922u Ordering)) (a_a92nj :: NonEmpty a_a922u) :: NonEmpty a_a922u
sSortBy :: forall a_a922u (t_a92wf :: (~>) a_a922u ((~>) a_a922u Ordering)) (t_a92wg :: NonEmpty a_a922u). Sing t_a92wf -> Sing t_a92wg -> Sing (Apply (Apply SortBySym0 t_a92wf) t_a92wg :: NonEmpty a_a922u)
type family SortWith (a_a92nc :: (~>) a_a922t o_a922s) (a_a92nd :: NonEmpty a_a922t) :: NonEmpty a_a922t
sSortWith :: forall a_a922t o_a922s (t_a92wb :: (~>) a_a922t o_a922s) (t_a92wc :: NonEmpty a_a922t). SOrd o_a922s => Sing t_a92wb -> Sing t_a92wc -> Sing (Apply (Apply SortWithSym0 t_a92wb) t_a92wc :: NonEmpty a_a922t)
type family Length (a_a92vf :: NonEmpty a_a923w) :: Nat
sLength :: forall a_a923w (t_a92z3 :: NonEmpty a_a923w). Sing t_a92z3 -> Sing (Apply LengthSym0 t_a92z3 :: Nat)
type family Head (a_a92u9 :: NonEmpty a_a923p) :: a_a923p
sHead :: forall a_a923p (t_a92yN :: NonEmpty a_a923p). Sing t_a92yN -> Sing (Apply HeadSym0 t_a92yN :: a_a923p)
type family Tail (a_a92u6 :: NonEmpty a_a923o) :: [a_a923o]
sTail :: forall a_a923o (t_a92yL :: NonEmpty a_a923o). Sing t_a92yL -> Sing (Apply TailSym0 t_a92yL :: [a_a923o])
type family Last (a_a92u2 :: NonEmpty a_a923n) :: a_a923n
sLast :: forall a_a923n (t_a92yJ :: NonEmpty a_a923n). Sing t_a92yJ -> Sing (Apply LastSym0 t_a92yJ :: a_a923n)
type family Init (a_a92tY :: NonEmpty a_a923m) :: [a_a923m]
sInit :: forall a_a923m (t_a92yH :: NonEmpty a_a923m). Sing t_a92yH -> Sing (Apply InitSym0 t_a92yH :: [a_a923m])
type family (<|) (a_a92tR :: a_a923l) (a_a92tS :: NonEmpty a_a923l) :: NonEmpty a_a923l
(%<|) :: forall a_a923l (t_a92yD :: a_a923l) (t_a92yE :: NonEmpty a_a923l). Sing t_a92yD -> Sing t_a92yE -> Sing (Apply (Apply (<|@#@$) t_a92yD) t_a92yE :: NonEmpty a_a923l)
type family Cons (a_a92tL :: a_a923k) (a_a92tM :: NonEmpty a_a923k) :: NonEmpty a_a923k
sCons :: forall a_a923k (t_a92yz :: a_a923k) (t_a92yA :: NonEmpty a_a923k). Sing t_a92yz -> Sing t_a92yA -> Sing (Apply (Apply ConsSym0 t_a92yz) t_a92yA :: NonEmpty a_a923k)
type family Uncons (a_a92uF :: NonEmpty a_a923s) :: (a_a923s, Maybe (NonEmpty a_a923s))
sUncons :: forall a_a923s (t_a92yT :: NonEmpty a_a923s). Sing t_a92yT -> Sing (Apply UnconsSym0 t_a92yT :: (a_a923s, Maybe (NonEmpty a_a923s)))
type family Unfoldr (a_a92uc :: (~>) a_a923q (b_a923r, Maybe a_a923q)) (a_a92ud :: a_a923q) :: NonEmpty b_a923r
sUnfoldr :: forall a_a923q b_a923r (t_a92yP :: (~>) a_a923q (b_a923r, Maybe a_a923q)) (t_a92yQ :: a_a923q). Sing t_a92yP -> Sing t_a92yQ -> Sing (Apply (Apply UnfoldrSym0 t_a92yP) t_a92yQ :: NonEmpty b_a923r)
type family Sort (a_a92tE :: NonEmpty a_a923j) :: NonEmpty a_a923j
sSort :: forall a_a923j (t_a92yx :: NonEmpty a_a923j). SOrd a_a923j => Sing t_a92yx -> Sing (Apply SortSym0 t_a92yx :: NonEmpty a_a923j)
type family Reverse (a_a92sa :: NonEmpty a_a9232) :: NonEmpty a_a9232
sReverse :: forall a_a9232 (t_a92xN :: NonEmpty a_a9232). Sing t_a92xN -> Sing (Apply ReverseSym0 t_a92xN :: NonEmpty a_a9232)
type family Inits (a_a92tc :: [a_a923c]) :: NonEmpty [a_a923c]
sInits :: forall a_a923c (t_a92yj :: [a_a923c]). Sing t_a92yj -> Sing (Apply InitsSym0 t_a92yj :: NonEmpty [a_a923c])
type family Tails (a_a92t7 :: [a_a923b]) :: NonEmpty [a_a923b]
sTails :: forall a_a923b (t_a92yh :: [a_a923b]). Sing t_a92yh -> Sing (Apply TailsSym0 t_a92yh :: NonEmpty [a_a923b])
type family Unfold (a_a92uN :: (~>) a_a923u (b_a923v, Maybe a_a923u)) (a_a92uO :: a_a923u) :: NonEmpty b_a923v
sUnfold :: forall a_a923u b_a923v (t_a92yX :: (~>) a_a923u (b_a923v, Maybe a_a923u)) (t_a92yY :: a_a923u). Sing t_a92yX -> Sing t_a92yY -> Sing (Apply (Apply UnfoldSym0 t_a92yX) t_a92yY :: NonEmpty b_a923v)
type family Insert (a_a92sX :: a_a923a) (a_a92sY :: [a_a923a]) :: NonEmpty a_a923a
sInsert :: forall a_a923a (t_a92yd :: a_a923a) (t_a92ye :: [a_a923a]). SOrd a_a923a => Sing t_a92yd -> Sing t_a92ye -> Sing (Apply (Apply InsertSym0 t_a92yd) t_a92ye :: NonEmpty a_a923a)
type family Take (a_a92s0 :: Nat) (a_a92s1 :: NonEmpty a_a9231) :: [a_a9231]
sTake :: forall a_a9231 (t_a92xJ :: Nat) (t_a92xK :: NonEmpty a_a9231). Sing t_a92xJ -> Sing t_a92xK -> Sing (Apply (Apply TakeSym0 t_a92xJ) t_a92xK :: [a_a9231])
type family Drop (a_a92rS :: Nat) (a_a92rT :: NonEmpty a_a9230) :: [a_a9230]
sDrop :: forall a_a9230 (t_a92xF :: Nat) (t_a92xG :: NonEmpty a_a9230). Sing t_a92xF -> Sing t_a92xG -> Sing (Apply (Apply DropSym0 t_a92xF) t_a92xG :: [a_a9230])
type family SplitAt (a_a92rK :: Nat) (a_a92rL :: NonEmpty a_a922Z) :: ([a_a922Z], [a_a922Z])
sSplitAt :: forall a_a922Z (t_a92xB :: Nat) (t_a92xC :: NonEmpty a_a922Z). Sing t_a92xB -> Sing t_a92xC -> Sing (Apply (Apply SplitAtSym0 t_a92xB) t_a92xC :: ([a_a922Z], [a_a922Z]))
type family TakeWhile (a_a92rC :: (~>) a_a922Y Bool) (a_a92rD :: NonEmpty a_a922Y) :: [a_a922Y]
sTakeWhile :: forall a_a922Y (t_a92xx :: (~>) a_a922Y Bool) (t_a92xy :: NonEmpty a_a922Y). Sing t_a92xx -> Sing t_a92xy -> Sing (Apply (Apply TakeWhileSym0 t_a92xx) t_a92xy :: [a_a922Y])
type family DropWhile (a_a92ru :: (~>) a_a922X Bool) (a_a92rv :: NonEmpty a_a922X) :: [a_a922X]
sDropWhile :: forall a_a922X (t_a92xt :: (~>) a_a922X Bool) (t_a92xu :: NonEmpty a_a922X). Sing t_a92xt -> Sing t_a92xu -> Sing (Apply (Apply DropWhileSym0 t_a92xt) t_a92xu :: [a_a922X])
type family Span (a_a92rm :: (~>) a_a922W Bool) (a_a92rn :: NonEmpty a_a922W) :: ([a_a922W], [a_a922W])
sSpan :: forall a_a922W (t_a92xp :: (~>) a_a922W Bool) (t_a92xq :: NonEmpty a_a922W). Sing t_a92xp -> Sing t_a92xq -> Sing (Apply (Apply SpanSym0 t_a92xp) t_a92xq :: ([a_a922W], [a_a922W]))
type family Break (a_a92re :: (~>) a_a922V Bool) (a_a92rf :: NonEmpty a_a922V) :: ([a_a922V], [a_a922V])
sBreak :: forall a_a922V (t_a92xl :: (~>) a_a922V Bool) (t_a92xm :: NonEmpty a_a922V). Sing t_a92xl -> Sing t_a92xm -> Sing (Apply (Apply BreakSym0 t_a92xl) t_a92xm :: ([a_a922V], [a_a922V]))
type family Filter (a_a92r6 :: (~>) a_a922U Bool) (a_a92r7 :: NonEmpty a_a922U) :: [a_a922U]
sFilter :: forall a_a922U (t_a92xh :: (~>) a_a922U Bool) (t_a92xi :: NonEmpty a_a922U). Sing t_a92xh -> Sing t_a92xi -> Sing (Apply (Apply FilterSym0 t_a92xh) t_a92xi :: [a_a922U])
type family Partition (a_a92qY :: (~>) a_a922T Bool) (a_a92qZ :: NonEmpty a_a922T) :: ([a_a922T], [a_a922T])
sPartition :: forall a_a922T (t_a92xd :: (~>) a_a922T Bool) (t_a92xe :: NonEmpty a_a922T). Sing t_a92xd -> Sing t_a92xe -> Sing (Apply (Apply PartitionSym0 t_a92xd) t_a92xe :: ([a_a922T], [a_a922T]))
type family Group (a_a92qV :: [a_a922S]) :: [NonEmpty a_a922S]
sGroup :: forall a_a922S (t_a92xb :: [a_a922S]). SEq a_a922S => Sing t_a92xb -> Sing (Apply GroupSym0 t_a92xb :: [NonEmpty a_a922S])
type family GroupBy (a_a92q7 :: (~>) a_a922R ((~>) a_a922R Bool)) (a_a92q8 :: [a_a922R]) :: [NonEmpty a_a922R]
sGroupBy :: forall a_a922R (t_a92x7 :: (~>) a_a922R ((~>) a_a922R Bool)) (t_a92x8 :: [a_a922R]). Sing t_a92x7 -> Sing t_a92x8 -> Sing (Apply (Apply GroupBySym0 t_a92x7) t_a92x8 :: [NonEmpty a_a922R])
type family GroupWith (a_a92pZ :: (~>) a_a922Q b_a922P) (a_a92q0 :: [a_a922Q]) :: [NonEmpty a_a922Q]
sGroupWith :: forall a_a922Q b_a922P (t_a92x3 :: (~>) a_a922Q b_a922P) (t_a92x4 :: [a_a922Q]). SEq b_a922P => Sing t_a92x3 -> Sing t_a92x4 -> Sing (Apply (Apply GroupWithSym0 t_a92x3) t_a92x4 :: [NonEmpty a_a922Q])
type family GroupAllWith (a_a92pR :: (~>) a_a922O b_a922N) (a_a92pS :: [a_a922O]) :: [NonEmpty a_a922O]
sGroupAllWith :: forall a_a922O b_a922N (t_a92wZ :: (~>) a_a922O b_a922N) (t_a92x0 :: [a_a922O]). SOrd b_a922N => Sing t_a92wZ -> Sing t_a92x0 -> Sing (Apply (Apply GroupAllWithSym0 t_a92wZ) t_a92x0 :: [NonEmpty a_a922O])
type family Group1 (a_a92pO :: NonEmpty a_a922M) :: NonEmpty (NonEmpty a_a922M)
sGroup1 :: forall a_a922M (t_a92wX :: NonEmpty a_a922M). SEq a_a922M => Sing t_a92wX -> Sing (Apply Group1Sym0 t_a92wX :: NonEmpty (NonEmpty a_a922M))
type family GroupBy1 (a_a92ph :: (~>) a_a922L ((~>) a_a922L Bool)) (a_a92pi :: NonEmpty a_a922L) :: NonEmpty (NonEmpty a_a922L)
sGroupBy1 :: forall a_a922L (t_a92wT :: (~>) a_a922L ((~>) a_a922L Bool)) (t_a92wU :: NonEmpty a_a922L). Sing t_a92wT -> Sing t_a92wU -> Sing (Apply (Apply GroupBy1Sym0 t_a92wT) t_a92wU :: NonEmpty (NonEmpty a_a922L))
type family GroupWith1 (a_a92p9 :: (~>) a_a922K b_a922J) (a_a92pa :: NonEmpty a_a922K) :: NonEmpty (NonEmpty a_a922K)
sGroupWith1 :: forall a_a922K b_a922J (t_a92wP :: (~>) a_a922K b_a922J) (t_a92wQ :: NonEmpty a_a922K). SEq b_a922J => Sing t_a92wP -> Sing t_a92wQ -> Sing (Apply (Apply GroupWith1Sym0 t_a92wP) t_a92wQ :: NonEmpty (NonEmpty a_a922K))
type family GroupAllWith1 (a_a92p1 :: (~>) a_a922I b_a922H) (a_a92p2 :: NonEmpty a_a922I) :: NonEmpty (NonEmpty a_a922I)
sGroupAllWith1 :: forall a_a922I b_a922H (t_a92wL :: (~>) a_a922I b_a922H) (t_a92wM :: NonEmpty a_a922I). SOrd b_a922H => Sing t_a92wL -> Sing t_a92wM -> Sing (Apply (Apply GroupAllWith1Sym0 t_a92wL) t_a92wM :: NonEmpty (NonEmpty a_a922I))
type family IsPrefixOf (a_a92oT :: [a_a922G]) (a_a92oU :: NonEmpty a_a922G) :: Bool
sIsPrefixOf :: forall a_a922G (t_a92wH :: [a_a922G]) (t_a92wI :: NonEmpty a_a922G). SEq a_a922G => Sing t_a92wH -> Sing t_a92wI -> Sing (Apply (Apply IsPrefixOfSym0 t_a92wH) t_a92wI :: Bool)
type family Nub (a_a92nM :: NonEmpty a_a922x) :: NonEmpty a_a922x
sNub :: forall a_a922x (t_a92wp :: NonEmpty a_a922x). SEq a_a922x => Sing t_a92wp -> Sing (Apply NubSym0 t_a92wp :: NonEmpty a_a922x)
type family NubBy (a_a92nv :: (~>) a_a922w ((~>) a_a922w Bool)) (a_a92nw :: NonEmpty a_a922w) :: NonEmpty a_a922w
sNubBy :: forall a_a922w (t_a92wl :: (~>) a_a922w ((~>) a_a922w Bool)) (t_a92wm :: NonEmpty a_a922w). Sing t_a92wl -> Sing t_a92wm -> Sing (Apply (Apply NubBySym0 t_a92wl) t_a92wm :: NonEmpty a_a922w)
type family (!!) (a_a92oB :: NonEmpty a_a922F) (a_a92oC :: Nat) :: a_a922F
(%!!) :: forall a_a922F (t_a92wD :: NonEmpty a_a922F) (t_a92wE :: Nat). Sing t_a92wD -> Sing t_a92wE -> Sing (Apply (Apply (!!@#@$) t_a92wD) t_a92wE :: a_a922F)
type family Zip (a_a92ot :: NonEmpty a_a922D) (a_a92ou :: NonEmpty b_a922E) :: NonEmpty (a_a922D, b_a922E)
sZip :: forall a_a922D b_a922E (t_a92wz :: NonEmpty a_a922D) (t_a92wA :: NonEmpty b_a922E). Sing t_a92wz -> Sing t_a92wA -> Sing (Apply (Apply ZipSym0 t_a92wz) t_a92wA :: NonEmpty (a_a922D, b_a922E))
type family ZipWith (a_a92oi :: (~>) a_a922A ((~>) b_a922B c_a922C)) (a_a92oj :: NonEmpty a_a922A) (a_a92ok :: NonEmpty b_a922B) :: NonEmpty c_a922C
sZipWith :: forall a_a922A b_a922B c_a922C (t_a92wt :: (~>) a_a922A ((~>) b_a922B c_a922C)) (t_a92wu :: NonEmpty a_a922A) (t_a92wv :: NonEmpty b_a922B). Sing t_a92wt -> Sing t_a92wu -> Sing t_a92wv -> Sing (Apply (Apply (Apply ZipWithSym0 t_a92wt) t_a92wu) t_a92wv :: NonEmpty c_a922C)
type family Unzip (a_a92nP :: NonEmpty (a_a922y, b_a922z)) :: (NonEmpty a_a922y, NonEmpty b_a922z)
sUnzip :: forall a_a922y b_a922z (t_a92wr :: NonEmpty (a_a922y, b_a922z)). Sing t_a92wr -> Sing (Apply UnzipSym0 t_a92wr :: (NonEmpty a_a922y, NonEmpty b_a922z))
type family FromList (a_a92ty :: [a_a923i]) :: NonEmpty a_a923i
sFromList :: forall a_a923i (t_a92yv :: [a_a923i]). Sing t_a92yv -> Sing (Apply FromListSym0 t_a92yv :: NonEmpty a_a923i)
type family ToList (a_a92tu :: NonEmpty a_a923h) :: [a_a923h]
sToList :: forall a_a923h (t_a92yt :: NonEmpty a_a923h). Sing t_a92yt -> Sing (Apply ToListSym0 t_a92yt :: [a_a923h])
type family NonEmpty_ (a_a92uJ :: [a_a923t]) :: Maybe (NonEmpty a_a923t)
sNonEmpty_ :: forall a_a923t (t_a92yV :: [a_a923t]). Sing t_a92yV -> Sing (Apply NonEmpty_Sym0 t_a92yV :: Maybe (NonEmpty a_a923t))
type family Xor (a_a92v2 :: NonEmpty Bool) :: Bool
sXor :: forall (t_a92z1 :: NonEmpty Bool). Sing t_a92z1 -> Sing (Apply XorSym0 t_a92z1 :: Bool)
data (:|@#@$) :: forall (a6989586621679067419 :: Type). (~>) a6989586621679067419 ((~>) [a6989586621679067419] (NonEmpty (a6989586621679067419 :: Type)))
infixr 5 :|@#@$
data (:|@#@$$) (t6989586621679314328 :: a6989586621679067419 :: Type) :: (~>) [a6989586621679067419] (NonEmpty (a6989586621679067419 :: Type))
infixr 5 :|@#@$$
type (:|@#@$$$) (t6989586621679314328 :: a6989586621679067419) (t6989586621679314329 :: [a6989586621679067419]) = '(:|) t6989586621679314328 t6989586621679314329
data MapSym0 :: forall a6989586621681162631 b6989586621681162632. (~>) ((~>) a6989586621681162631 b6989586621681162632) ((~>) (NonEmpty a6989586621681162631) (NonEmpty b6989586621681162632))
data MapSym1 (a6989586621681164245 :: (~>) a6989586621681162631 b6989586621681162632) :: (~>) (NonEmpty a6989586621681162631) (NonEmpty b6989586621681162632)
type MapSym2 (a6989586621681164245 :: (~>) a6989586621681162631 b6989586621681162632) (a6989586621681164246 :: NonEmpty a6989586621681162631) = Map a6989586621681164245 a6989586621681164246
data IntersperseSym0 :: forall a6989586621681162621. (~>) a6989586621681162621 ((~>) (NonEmpty a6989586621681162621) (NonEmpty a6989586621681162621))
data IntersperseSym1 (a6989586621681164181 :: a6989586621681162621) :: (~>) (NonEmpty a6989586621681162621) (NonEmpty a6989586621681162621)
type IntersperseSym2 (a6989586621681164181 :: a6989586621681162621) (a6989586621681164182 :: NonEmpty a6989586621681162621) = Intersperse a6989586621681164181 a6989586621681164182
data ScanlSym0 :: forall b6989586621681162626 a6989586621681162627. (~>) ((~>) b6989586621681162626 ((~>) a6989586621681162627 b6989586621681162626)) ((~>) b6989586621681162626 ((~>) [a6989586621681162627] (NonEmpty b6989586621681162626)))
data ScanlSym1 (a6989586621681164216 :: (~>) b6989586621681162626 ((~>) a6989586621681162627 b6989586621681162626)) :: (~>) b6989586621681162626 ((~>) [a6989586621681162627] (NonEmpty b6989586621681162626))
data ScanlSym2 (a6989586621681164216 :: (~>) b6989586621681162626 ((~>) a6989586621681162627 b6989586621681162626)) (a6989586621681164217 :: b6989586621681162626) :: (~>) [a6989586621681162627] (NonEmpty b6989586621681162626)
type ScanlSym3 (a6989586621681164216 :: (~>) b6989586621681162626 ((~>) a6989586621681162627 b6989586621681162626)) (a6989586621681164217 :: b6989586621681162626) (a6989586621681164218 :: [a6989586621681162627]) = Scanl a6989586621681164216 a6989586621681164217 a6989586621681164218
data ScanrSym0 :: forall a6989586621681162624 b6989586621681162625. (~>) ((~>) a6989586621681162624 ((~>) b6989586621681162625 b6989586621681162625)) ((~>) b6989586621681162625 ((~>) [a6989586621681162624] (NonEmpty b6989586621681162625)))
data ScanrSym1 (a6989586621681164205 :: (~>) a6989586621681162624 ((~>) b6989586621681162625 b6989586621681162625)) :: (~>) b6989586621681162625 ((~>) [a6989586621681162624] (NonEmpty b6989586621681162625))
data ScanrSym2 (a6989586621681164205 :: (~>) a6989586621681162624 ((~>) b6989586621681162625 b6989586621681162625)) (a6989586621681164206 :: b6989586621681162625) :: (~>) [a6989586621681162624] (NonEmpty b6989586621681162625)
type ScanrSym3 (a6989586621681164205 :: (~>) a6989586621681162624 ((~>) b6989586621681162625 b6989586621681162625)) (a6989586621681164206 :: b6989586621681162625) (a6989586621681164207 :: [a6989586621681162624]) = Scanr a6989586621681164205 a6989586621681164206 a6989586621681164207
data Scanl1Sym0 :: forall a6989586621681162623. (~>) ((~>) a6989586621681162623 ((~>) a6989586621681162623 a6989586621681162623)) ((~>) (NonEmpty a6989586621681162623) (NonEmpty a6989586621681162623))
data Scanl1Sym1 (a6989586621681164198 :: (~>) a6989586621681162623 ((~>) a6989586621681162623 a6989586621681162623)) :: (~>) (NonEmpty a6989586621681162623) (NonEmpty a6989586621681162623)
type Scanl1Sym2 (a6989586621681164198 :: (~>) a6989586621681162623 ((~>) a6989586621681162623 a6989586621681162623)) (a6989586621681164199 :: NonEmpty a6989586621681162623) = Scanl1 a6989586621681164198 a6989586621681164199
data Scanr1Sym0 :: forall a6989586621681162622. (~>) ((~>) a6989586621681162622 ((~>) a6989586621681162622 a6989586621681162622)) ((~>) (NonEmpty a6989586621681162622) (NonEmpty a6989586621681162622))
data Scanr1Sym1 (a6989586621681164191 :: (~>) a6989586621681162622 ((~>) a6989586621681162622 a6989586621681162622)) :: (~>) (NonEmpty a6989586621681162622) (NonEmpty a6989586621681162622)
type Scanr1Sym2 (a6989586621681164191 :: (~>) a6989586621681162622 ((~>) a6989586621681162622 a6989586621681162622)) (a6989586621681164192 :: NonEmpty a6989586621681162622) = Scanr1 a6989586621681164191 a6989586621681164192
data TransposeSym0 :: forall a6989586621681162587. (~>) (NonEmpty (NonEmpty a6989586621681162587)) (NonEmpty (NonEmpty a6989586621681162587))
type TransposeSym1 (a6989586621681163886 :: NonEmpty (NonEmpty a6989586621681162587)) = Transpose a6989586621681163886
data SortBySym0 :: forall a6989586621681162586. (~>) ((~>) a6989586621681162586 ((~>) a6989586621681162586 Ordering)) ((~>) (NonEmpty a6989586621681162586) (NonEmpty a6989586621681162586))
data SortBySym1 (a6989586621681163876 :: (~>) a6989586621681162586 ((~>) a6989586621681162586 Ordering)) :: (~>) (NonEmpty a6989586621681162586) (NonEmpty a6989586621681162586)
type SortBySym2 (a6989586621681163876 :: (~>) a6989586621681162586 ((~>) a6989586621681162586 Ordering)) (a6989586621681163877 :: NonEmpty a6989586621681162586) = SortBy a6989586621681163876 a6989586621681163877
data SortWithSym0 :: forall a6989586621681162585 o6989586621681162584. (~>) ((~>) a6989586621681162585 o6989586621681162584) ((~>) (NonEmpty a6989586621681162585) (NonEmpty a6989586621681162585))
data SortWithSym1 (a6989586621681163870 :: (~>) a6989586621681162585 o6989586621681162584) :: (~>) (NonEmpty a6989586621681162585) (NonEmpty a6989586621681162585)
type SortWithSym2 (a6989586621681163870 :: (~>) a6989586621681162585 o6989586621681162584) (a6989586621681163871 :: NonEmpty a6989586621681162585) = SortWith a6989586621681163870 a6989586621681163871
data LengthSym0 :: forall a6989586621681162650. (~>) (NonEmpty a6989586621681162650) Nat
type LengthSym1 (a6989586621681164369 :: NonEmpty a6989586621681162650) = Length a6989586621681164369
data HeadSym0 :: forall a6989586621681162643. (~>) (NonEmpty a6989586621681162643) a6989586621681162643
type HeadSym1 (a6989586621681164301 :: NonEmpty a6989586621681162643) = Head a6989586621681164301
data TailSym0 :: forall a6989586621681162642. (~>) (NonEmpty a6989586621681162642) [a6989586621681162642]
type TailSym1 (a6989586621681164298 :: NonEmpty a6989586621681162642) = Tail a6989586621681164298
data LastSym0 :: forall a6989586621681162641. (~>) (NonEmpty a6989586621681162641) a6989586621681162641
type LastSym1 (a6989586621681164294 :: NonEmpty a6989586621681162641) = Last a6989586621681164294
data InitSym0 :: forall a6989586621681162640. (~>) (NonEmpty a6989586621681162640) [a6989586621681162640]
type InitSym1 (a6989586621681164290 :: NonEmpty a6989586621681162640) = Init a6989586621681164290
data (<|@#@$) :: forall a6989586621681162639. (~>) a6989586621681162639 ((~>) (NonEmpty a6989586621681162639) (NonEmpty a6989586621681162639))
data (<|@#@$$) (a6989586621681164283 :: a6989586621681162639) :: (~>) (NonEmpty a6989586621681162639) (NonEmpty a6989586621681162639)
type (<|@#@$$$) (a6989586621681164283 :: a6989586621681162639) (a6989586621681164284 :: NonEmpty a6989586621681162639) = (<|) a6989586621681164283 a6989586621681164284
data ConsSym0 :: forall a6989586621681162638. (~>) a6989586621681162638 ((~>) (NonEmpty a6989586621681162638) (NonEmpty a6989586621681162638))
data ConsSym1 (a6989586621681164277 :: a6989586621681162638) :: (~>) (NonEmpty a6989586621681162638) (NonEmpty a6989586621681162638)
type ConsSym2 (a6989586621681164277 :: a6989586621681162638) (a6989586621681164278 :: NonEmpty a6989586621681162638) = Cons a6989586621681164277 a6989586621681164278
data UnconsSym0 :: forall a6989586621681162646. (~>) (NonEmpty a6989586621681162646) (a6989586621681162646, Maybe (NonEmpty a6989586621681162646))
type UnconsSym1 (a6989586621681164333 :: NonEmpty a6989586621681162646) = Uncons a6989586621681164333
data UnfoldrSym0 :: forall a6989586621681162644 b6989586621681162645. (~>) ((~>) a6989586621681162644 (b6989586621681162645, Maybe a6989586621681162644)) ((~>) a6989586621681162644 (NonEmpty b6989586621681162645))
data UnfoldrSym1 (a6989586621681164304 :: (~>) a6989586621681162644 (b6989586621681162645, Maybe a6989586621681162644)) :: (~>) a6989586621681162644 (NonEmpty b6989586621681162645)
type UnfoldrSym2 (a6989586621681164304 :: (~>) a6989586621681162644 (b6989586621681162645, Maybe a6989586621681162644)) (a6989586621681164305 :: a6989586621681162644) = Unfoldr a6989586621681164304 a6989586621681164305
data SortSym0 :: forall a6989586621681162637. (~>) (NonEmpty a6989586621681162637) (NonEmpty a6989586621681162637)
type SortSym1 (a6989586621681164270 :: NonEmpty a6989586621681162637) = Sort a6989586621681164270
data ReverseSym0 :: forall a6989586621681162620. (~>) (NonEmpty a6989586621681162620) (NonEmpty a6989586621681162620)
type ReverseSym1 (a6989586621681164178 :: NonEmpty a6989586621681162620) = Reverse a6989586621681164178
data InitsSym0 :: forall a6989586621681162630. (~>) [a6989586621681162630] (NonEmpty [a6989586621681162630])
type InitsSym1 (a6989586621681164242 :: [a6989586621681162630]) = Inits a6989586621681164242
data TailsSym0 :: forall a6989586621681162629. (~>) [a6989586621681162629] (NonEmpty [a6989586621681162629])
type TailsSym1 (a6989586621681164237 :: [a6989586621681162629]) = Tails a6989586621681164237
data UnfoldSym0 :: forall a6989586621681162648 b6989586621681162649. (~>) ((~>) a6989586621681162648 (b6989586621681162649, Maybe a6989586621681162648)) ((~>) a6989586621681162648 (NonEmpty b6989586621681162649))
data UnfoldSym1 (a6989586621681164341 :: (~>) a6989586621681162648 (b6989586621681162649, Maybe a6989586621681162648)) :: (~>) a6989586621681162648 (NonEmpty b6989586621681162649)
data InsertSym0 :: forall a6989586621681162628. (~>) a6989586621681162628 ((~>) [a6989586621681162628] (NonEmpty a6989586621681162628))
data InsertSym1 (a6989586621681164227 :: a6989586621681162628) :: (~>) [a6989586621681162628] (NonEmpty a6989586621681162628)
type InsertSym2 (a6989586621681164227 :: a6989586621681162628) (a6989586621681164228 :: [a6989586621681162628]) = Insert a6989586621681164227 a6989586621681164228
data TakeSym0 :: forall a6989586621681162619. (~>) Nat ((~>) (NonEmpty a6989586621681162619) [a6989586621681162619])
data TakeSym1 (a6989586621681164168 :: Nat) :: forall a6989586621681162619. (~>) (NonEmpty a6989586621681162619) [a6989586621681162619]
type TakeSym2 (a6989586621681164168 :: Nat) (a6989586621681164169 :: NonEmpty a6989586621681162619) = Take a6989586621681164168 a6989586621681164169
data DropSym0 :: forall a6989586621681162618. (~>) Nat ((~>) (NonEmpty a6989586621681162618) [a6989586621681162618])
data DropSym1 (a6989586621681164160 :: Nat) :: forall a6989586621681162618. (~>) (NonEmpty a6989586621681162618) [a6989586621681162618]
type DropSym2 (a6989586621681164160 :: Nat) (a6989586621681164161 :: NonEmpty a6989586621681162618) = Drop a6989586621681164160 a6989586621681164161
data SplitAtSym0 :: forall a6989586621681162617. (~>) Nat ((~>) (NonEmpty a6989586621681162617) ([a6989586621681162617], [a6989586621681162617]))
data SplitAtSym1 (a6989586621681164152 :: Nat) :: forall a6989586621681162617. (~>) (NonEmpty a6989586621681162617) ([a6989586621681162617], [a6989586621681162617])
type SplitAtSym2 (a6989586621681164152 :: Nat) (a6989586621681164153 :: NonEmpty a6989586621681162617) = SplitAt a6989586621681164152 a6989586621681164153
data TakeWhileSym0 :: forall a6989586621681162616. (~>) ((~>) a6989586621681162616 Bool) ((~>) (NonEmpty a6989586621681162616) [a6989586621681162616])
data TakeWhileSym1 (a6989586621681164144 :: (~>) a6989586621681162616 Bool) :: (~>) (NonEmpty a6989586621681162616) [a6989586621681162616]
type TakeWhileSym2 (a6989586621681164144 :: (~>) a6989586621681162616 Bool) (a6989586621681164145 :: NonEmpty a6989586621681162616) = TakeWhile a6989586621681164144 a6989586621681164145
data DropWhileSym0 :: forall a6989586621681162615. (~>) ((~>) a6989586621681162615 Bool) ((~>) (NonEmpty a6989586621681162615) [a6989586621681162615])
data DropWhileSym1 (a6989586621681164136 :: (~>) a6989586621681162615 Bool) :: (~>) (NonEmpty a6989586621681162615) [a6989586621681162615]
type DropWhileSym2 (a6989586621681164136 :: (~>) a6989586621681162615 Bool) (a6989586621681164137 :: NonEmpty a6989586621681162615) = DropWhile a6989586621681164136 a6989586621681164137
data SpanSym0 :: forall a6989586621681162614. (~>) ((~>) a6989586621681162614 Bool) ((~>) (NonEmpty a6989586621681162614) ([a6989586621681162614], [a6989586621681162614]))
data SpanSym1 (a6989586621681164128 :: (~>) a6989586621681162614 Bool) :: (~>) (NonEmpty a6989586621681162614) ([a6989586621681162614], [a6989586621681162614])
type SpanSym2 (a6989586621681164128 :: (~>) a6989586621681162614 Bool) (a6989586621681164129 :: NonEmpty a6989586621681162614) = Span a6989586621681164128 a6989586621681164129
data BreakSym0 :: forall a6989586621681162613. (~>) ((~>) a6989586621681162613 Bool) ((~>) (NonEmpty a6989586621681162613) ([a6989586621681162613], [a6989586621681162613]))
data BreakSym1 (a6989586621681164120 :: (~>) a6989586621681162613 Bool) :: (~>) (NonEmpty a6989586621681162613) ([a6989586621681162613], [a6989586621681162613])
type BreakSym2 (a6989586621681164120 :: (~>) a6989586621681162613 Bool) (a6989586621681164121 :: NonEmpty a6989586621681162613) = Break a6989586621681164120 a6989586621681164121
data FilterSym0 :: forall a6989586621681162612. (~>) ((~>) a6989586621681162612 Bool) ((~>) (NonEmpty a6989586621681162612) [a6989586621681162612])
data FilterSym1 (a6989586621681164112 :: (~>) a6989586621681162612 Bool) :: (~>) (NonEmpty a6989586621681162612) [a6989586621681162612]
type FilterSym2 (a6989586621681164112 :: (~>) a6989586621681162612 Bool) (a6989586621681164113 :: NonEmpty a6989586621681162612) = Filter a6989586621681164112 a6989586621681164113
data PartitionSym0 :: forall a6989586621681162611. (~>) ((~>) a6989586621681162611 Bool) ((~>) (NonEmpty a6989586621681162611) ([a6989586621681162611], [a6989586621681162611]))
data PartitionSym1 (a6989586621681164104 :: (~>) a6989586621681162611 Bool) :: (~>) (NonEmpty a6989586621681162611) ([a6989586621681162611], [a6989586621681162611])
type PartitionSym2 (a6989586621681164104 :: (~>) a6989586621681162611 Bool) (a6989586621681164105 :: NonEmpty a6989586621681162611) = Partition a6989586621681164104 a6989586621681164105
data GroupSym0 :: forall a6989586621681162610. (~>) [a6989586621681162610] [NonEmpty a6989586621681162610]
type GroupSym1 (a6989586621681164101 :: [a6989586621681162610]) = Group a6989586621681164101
data GroupBySym0 :: forall a6989586621681162609. (~>) ((~>) a6989586621681162609 ((~>) a6989586621681162609 Bool)) ((~>) [a6989586621681162609] [NonEmpty a6989586621681162609])
data GroupBySym1 (a6989586621681164051 :: (~>) a6989586621681162609 ((~>) a6989586621681162609 Bool)) :: (~>) [a6989586621681162609] [NonEmpty a6989586621681162609]
type GroupBySym2 (a6989586621681164051 :: (~>) a6989586621681162609 ((~>) a6989586621681162609 Bool)) (a6989586621681164052 :: [a6989586621681162609]) = GroupBy a6989586621681164051 a6989586621681164052
data GroupWithSym0 :: forall a6989586621681162608 b6989586621681162607. (~>) ((~>) a6989586621681162608 b6989586621681162607) ((~>) [a6989586621681162608] [NonEmpty a6989586621681162608])
data GroupWithSym1 (a6989586621681164043 :: (~>) a6989586621681162608 b6989586621681162607) :: (~>) [a6989586621681162608] [NonEmpty a6989586621681162608]
type GroupWithSym2 (a6989586621681164043 :: (~>) a6989586621681162608 b6989586621681162607) (a6989586621681164044 :: [a6989586621681162608]) = GroupWith a6989586621681164043 a6989586621681164044
data GroupAllWithSym0 :: forall a6989586621681162606 b6989586621681162605. (~>) ((~>) a6989586621681162606 b6989586621681162605) ((~>) [a6989586621681162606] [NonEmpty a6989586621681162606])
data GroupAllWithSym1 (a6989586621681164035 :: (~>) a6989586621681162606 b6989586621681162605) :: (~>) [a6989586621681162606] [NonEmpty a6989586621681162606]
type GroupAllWithSym2 (a6989586621681164035 :: (~>) a6989586621681162606 b6989586621681162605) (a6989586621681164036 :: [a6989586621681162606]) = GroupAllWith a6989586621681164035 a6989586621681164036
data Group1Sym0 :: forall a6989586621681162604. (~>) (NonEmpty a6989586621681162604) (NonEmpty (NonEmpty a6989586621681162604))
type Group1Sym1 (a6989586621681164032 :: NonEmpty a6989586621681162604) = Group1 a6989586621681164032
data GroupBy1Sym0 :: forall a6989586621681162603. (~>) ((~>) a6989586621681162603 ((~>) a6989586621681162603 Bool)) ((~>) (NonEmpty a6989586621681162603) (NonEmpty (NonEmpty a6989586621681162603)))
data GroupBy1Sym1 (a6989586621681163999 :: (~>) a6989586621681162603 ((~>) a6989586621681162603 Bool)) :: (~>) (NonEmpty a6989586621681162603) (NonEmpty (NonEmpty a6989586621681162603))
type GroupBy1Sym2 (a6989586621681163999 :: (~>) a6989586621681162603 ((~>) a6989586621681162603 Bool)) (a6989586621681164000 :: NonEmpty a6989586621681162603) = GroupBy1 a6989586621681163999 a6989586621681164000
data GroupWith1Sym0 :: forall a6989586621681162602 b6989586621681162601. (~>) ((~>) a6989586621681162602 b6989586621681162601) ((~>) (NonEmpty a6989586621681162602) (NonEmpty (NonEmpty a6989586621681162602)))
data GroupWith1Sym1 (a6989586621681163991 :: (~>) a6989586621681162602 b6989586621681162601) :: (~>) (NonEmpty a6989586621681162602) (NonEmpty (NonEmpty a6989586621681162602))
type GroupWith1Sym2 (a6989586621681163991 :: (~>) a6989586621681162602 b6989586621681162601) (a6989586621681163992 :: NonEmpty a6989586621681162602) = GroupWith1 a6989586621681163991 a6989586621681163992
data GroupAllWith1Sym0 :: forall a6989586621681162600 b6989586621681162599. (~>) ((~>) a6989586621681162600 b6989586621681162599) ((~>) (NonEmpty a6989586621681162600) (NonEmpty (NonEmpty a6989586621681162600)))
data GroupAllWith1Sym1 (a6989586621681163983 :: (~>) a6989586621681162600 b6989586621681162599) :: (~>) (NonEmpty a6989586621681162600) (NonEmpty (NonEmpty a6989586621681162600))
type GroupAllWith1Sym2 (a6989586621681163983 :: (~>) a6989586621681162600 b6989586621681162599) (a6989586621681163984 :: NonEmpty a6989586621681162600) = GroupAllWith1 a6989586621681163983 a6989586621681163984
data IsPrefixOfSym0 :: forall a6989586621681162598. (~>) [a6989586621681162598] ((~>) (NonEmpty a6989586621681162598) Bool)
data IsPrefixOfSym1 (a6989586621681163975 :: [a6989586621681162598]) :: (~>) (NonEmpty a6989586621681162598) Bool
type IsPrefixOfSym2 (a6989586621681163975 :: [a6989586621681162598]) (a6989586621681163976 :: NonEmpty a6989586621681162598) = IsPrefixOf a6989586621681163975 a6989586621681163976
data NubSym0 :: forall a6989586621681162589. (~>) (NonEmpty a6989586621681162589) (NonEmpty a6989586621681162589)
type NubSym1 (a6989586621681163906 :: NonEmpty a6989586621681162589) = Nub a6989586621681163906
data NubBySym0 :: forall a6989586621681162588. (~>) ((~>) a6989586621681162588 ((~>) a6989586621681162588 Bool)) ((~>) (NonEmpty a6989586621681162588) (NonEmpty a6989586621681162588))
data NubBySym1 (a6989586621681163889 :: (~>) a6989586621681162588 ((~>) a6989586621681162588 Bool)) :: (~>) (NonEmpty a6989586621681162588) (NonEmpty a6989586621681162588)
type NubBySym2 (a6989586621681163889 :: (~>) a6989586621681162588 ((~>) a6989586621681162588 Bool)) (a6989586621681163890 :: NonEmpty a6989586621681162588) = NubBy a6989586621681163889 a6989586621681163890
data (!!@#@$) :: forall a6989586621681162597. (~>) (NonEmpty a6989586621681162597) ((~>) Nat a6989586621681162597)
data (!!@#@$$) (a6989586621681163957 :: NonEmpty a6989586621681162597) :: (~>) Nat a6989586621681162597
type (!!@#@$$$) (a6989586621681163957 :: NonEmpty a6989586621681162597) (a6989586621681163958 :: Nat) = (!!) a6989586621681163957 a6989586621681163958
data ZipSym0 :: forall a6989586621681162595 b6989586621681162596. (~>) (NonEmpty a6989586621681162595) ((~>) (NonEmpty b6989586621681162596) (NonEmpty (a6989586621681162595, b6989586621681162596)))
data ZipSym1 (a6989586621681163949 :: NonEmpty a6989586621681162595) :: forall b6989586621681162596. (~>) (NonEmpty b6989586621681162596) (NonEmpty (a6989586621681162595, b6989586621681162596))
type ZipSym2 (a6989586621681163949 :: NonEmpty a6989586621681162595) (a6989586621681163950 :: NonEmpty b6989586621681162596) = Zip a6989586621681163949 a6989586621681163950
data ZipWithSym0 :: forall a6989586621681162592 b6989586621681162593 c6989586621681162594. (~>) ((~>) a6989586621681162592 ((~>) b6989586621681162593 c6989586621681162594)) ((~>) (NonEmpty a6989586621681162592) ((~>) (NonEmpty b6989586621681162593) (NonEmpty c6989586621681162594)))
data ZipWithSym1 (a6989586621681163938 :: (~>) a6989586621681162592 ((~>) b6989586621681162593 c6989586621681162594)) :: (~>) (NonEmpty a6989586621681162592) ((~>) (NonEmpty b6989586621681162593) (NonEmpty c6989586621681162594))
data ZipWithSym2 (a6989586621681163938 :: (~>) a6989586621681162592 ((~>) b6989586621681162593 c6989586621681162594)) (a6989586621681163939 :: NonEmpty a6989586621681162592) :: (~>) (NonEmpty b6989586621681162593) (NonEmpty c6989586621681162594)
type ZipWithSym3 (a6989586621681163938 :: (~>) a6989586621681162592 ((~>) b6989586621681162593 c6989586621681162594)) (a6989586621681163939 :: NonEmpty a6989586621681162592) (a6989586621681163940 :: NonEmpty b6989586621681162593) = ZipWith a6989586621681163938 a6989586621681163939 a6989586621681163940
data UnzipSym0 :: forall a6989586621681162590 b6989586621681162591. (~>) (NonEmpty (a6989586621681162590, b6989586621681162591)) (NonEmpty a6989586621681162590, NonEmpty b6989586621681162591)
type UnzipSym1 (a6989586621681163909 :: NonEmpty (a6989586621681162590, b6989586621681162591)) = Unzip a6989586621681163909
data FromListSym0 :: forall a6989586621681162636. (~>) [a6989586621681162636] (NonEmpty a6989586621681162636)
type FromListSym1 (a6989586621681164264 :: [a6989586621681162636]) = FromList a6989586621681164264
data ToListSym0 :: forall a6989586621681162635. (~>) (NonEmpty a6989586621681162635) [a6989586621681162635]
type ToListSym1 (a6989586621681164260 :: NonEmpty a6989586621681162635) = ToList a6989586621681164260
data NonEmpty_Sym0 :: forall a6989586621681162647. (~>) [a6989586621681162647] (Maybe (NonEmpty a6989586621681162647))
type NonEmpty_Sym1 (a6989586621681164337 :: [a6989586621681162647]) = NonEmpty_ a6989586621681164337
data XorSym0 :: (~>) (NonEmpty Bool) Bool
type XorSym1 (a6989586621681164356 :: NonEmpty Bool) = Xor a6989586621681164356
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Munzip_6989586621681164419Sym0
instance Data.Singletons.Prelude.Monad.Zip.PMonadZip GHC.Base.NonEmpty
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.MzipWith_6989586621681164398Sym0
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (a6989586621681164395 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.MzipWith_6989586621681164398Sym1 a6989586621681164395)
instance forall a6989586621681130526 b6989586621681130527 c6989586621681130528 (a6989586621681164396 :: a6989586621681130526 Data.Singletons.Internal.~> (b6989586621681130527 Data.Singletons.Internal.~> c6989586621681130528)) (a6989586621681164395 :: GHC.Base.NonEmpty a6989586621681130526). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.MzipWith_6989586621681164398Sym2 a6989586621681164396 a6989586621681164395)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Mzip_6989586621681164381Sym0
instance forall a6989586621681130524 b6989586621681130525 (a6989586621681164379 :: GHC.Base.NonEmpty a6989586621681130524). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Mzip_6989586621681164381Sym1 a6989586621681164379)
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 a6989586621681162651 b6989586621681162652 (a6989586621681164372 :: a6989586621681162651 Data.Singletons.Internal.~> b6989586621681162652). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.FmapSym1 a6989586621681164372)
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 a6989586621681162648 b6989586621681162649 (a6989586621681164341 :: a6989586621681162648 Data.Singletons.Internal.~> (b6989586621681162649, GHC.Maybe.Maybe a6989586621681162648)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.UnfoldSym1 a6989586621681164341)
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 a6989586621681162644 b6989586621681162645 (a6989586621681164304 :: a6989586621681162644 Data.Singletons.Internal.~> (b6989586621681162645, GHC.Maybe.Maybe a6989586621681162644)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.UnfoldrSym1 a6989586621681164304)
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 a6989586621681162638 (a6989586621681164277 :: a6989586621681162638). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ConsSym1 a6989586621681164277)
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 a6989586621681162639 (a6989586621681164283 :: a6989586621681162639). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.List.NonEmpty.<|@#@$$) a6989586621681164283)
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 a6989586621681162622 (a6989586621681164191 :: a6989586621681162622 Data.Singletons.Internal.~> (a6989586621681162622 Data.Singletons.Internal.~> a6989586621681162622)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Scanr1Sym1 a6989586621681164191)
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 a6989586621681162623 (a6989586621681164198 :: a6989586621681162623 Data.Singletons.Internal.~> (a6989586621681162623 Data.Singletons.Internal.~> a6989586621681162623)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Scanl1Sym1 a6989586621681164198)
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 a6989586621681162624 b6989586621681162625 (a6989586621681164205 :: a6989586621681162624 Data.Singletons.Internal.~> (b6989586621681162625 Data.Singletons.Internal.~> b6989586621681162625)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanrSym1 a6989586621681164205)
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 a6989586621681162624 b6989586621681162625 (a6989586621681164206 :: a6989586621681162624 Data.Singletons.Internal.~> (b6989586621681162625 Data.Singletons.Internal.~> b6989586621681162625)) (a6989586621681164205 :: b6989586621681162625). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanrSym2 a6989586621681164206 a6989586621681164205)
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 b6989586621681162626 a6989586621681162627 (a6989586621681164216 :: b6989586621681162626 Data.Singletons.Internal.~> (a6989586621681162627 Data.Singletons.Internal.~> b6989586621681162626)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanlSym1 a6989586621681164216)
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 b6989586621681162626 a6989586621681162627 (a6989586621681164217 :: b6989586621681162626 Data.Singletons.Internal.~> (a6989586621681162627 Data.Singletons.Internal.~> b6989586621681162626)) (a6989586621681164216 :: b6989586621681162626). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ScanlSym2 a6989586621681164217 a6989586621681164216)
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 a6989586621681162628 (a6989586621681164227 :: a6989586621681162628). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.InsertSym1 a6989586621681164227)
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 a6989586621681162600 b6989586621681162599 (a6989586621681163983 :: a6989586621681162600 Data.Singletons.Internal.~> b6989586621681162599). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupAllWith1Sym1 a6989586621681163983)
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 a6989586621681162585 o6989586621681162584 (a6989586621681163870 :: a6989586621681162585 Data.Singletons.Internal.~> o6989586621681162584). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.SortWithSym1 a6989586621681163870)
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 a6989586621681162586 (a6989586621681163876 :: a6989586621681162586 Data.Singletons.Internal.~> (a6989586621681162586 Data.Singletons.Internal.~> GHC.Types.Ordering)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.SortBySym1 a6989586621681163876)
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 a6989586621681162633 b6989586621681162634 (a6989586621681164252 :: [a6989586621681162633] Data.Singletons.Internal.~> [b6989586621681162634]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.LiftSym1 a6989586621681164252)
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 a6989586621681162611 (a6989586621681164104 :: a6989586621681162611 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.PartitionSym1 a6989586621681164104)
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 a6989586621681162612 (a6989586621681164112 :: a6989586621681162612 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.FilterSym1 a6989586621681164112)
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 a6989586621681162613 (a6989586621681164120 :: a6989586621681162613 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.BreakSym1 a6989586621681164120)
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 a6989586621681162614 (a6989586621681164128 :: a6989586621681162614 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.SpanSym1 a6989586621681164128)
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 a6989586621681162615 (a6989586621681164136 :: a6989586621681162615 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.DropWhileSym1 a6989586621681164136)
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 a6989586621681162616 (a6989586621681164144 :: a6989586621681162616 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.TakeWhileSym1 a6989586621681164144)
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 a6989586621681164152)
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 a6989586621681164160)
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 a6989586621681164168)
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 a6989586621681162631 b6989586621681162632 (a6989586621681164245 :: a6989586621681162631 Data.Singletons.Internal.~> b6989586621681162632). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.MapSym1 a6989586621681164245)
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 a6989586621681162621 (a6989586621681164181 :: a6989586621681162621). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.IntersperseSym1 a6989586621681164181)
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.Let6989586621681164059GoSym0
instance forall k1 k2 a6989586621680423001 (eq06989586621681164057 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164059GoSym1 eq06989586621681164057)
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 a6989586621681162602 b6989586621681162601 (a6989586621681163991 :: a6989586621681162602 Data.Singletons.Internal.~> b6989586621681162601). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupWith1Sym1 a6989586621681163991)
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 a6989586621681162603 (a6989586621681163999 :: a6989586621681162603 Data.Singletons.Internal.~> (a6989586621681162603 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupBy1Sym1 a6989586621681163999)
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 a6989586621681162606 b6989586621681162605 (a6989586621681164035 :: a6989586621681162606 Data.Singletons.Internal.~> b6989586621681162605). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupAllWithSym1 a6989586621681164035)
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 a6989586621681162608 b6989586621681162607 (a6989586621681164043 :: a6989586621681162608 Data.Singletons.Internal.~> b6989586621681162607). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupWithSym1 a6989586621681164043)
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 a6989586621680423001 (a6989586621681164060 :: k1) (a_69895866216811640556989586621681164058 :: k2) (eq06989586621681164057 :: a6989586621680423001 Data.Singletons.Internal.~> (a6989586621680423001 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164059GoSym3 a6989586621681164060 a_69895866216811640556989586621681164058 eq06989586621681164057)
instance forall k1 k2 a6989586621680423001 (a_69895866216811640556989586621681164058 :: k1) (eq06989586621681164057 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164059GoSym2 a_69895866216811640556989586621681164058 eq06989586621681164057)
instance forall a6989586621681162609 (a6989586621681164051 :: a6989586621681162609 Data.Singletons.Internal.~> (a6989586621681162609 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.GroupBySym1 a6989586621681164051)
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 a6989586621681162598 (a6989586621681163975 :: [a6989586621681162598]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.IsPrefixOfSym1 a6989586621681163975)
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 a6989586621681162597 (a6989586621681163957 :: GHC.Base.NonEmpty a6989586621681162597). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.List.NonEmpty.!!@#@$$) a6989586621681163957)
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 a6989586621681162595 b6989586621681162596 (a6989586621681163949 :: GHC.Base.NonEmpty a6989586621681162595). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ZipSym1 a6989586621681163949)
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 a6989586621681162592 b6989586621681162593 c6989586621681162594 (a6989586621681163938 :: a6989586621681162592 Data.Singletons.Internal.~> (b6989586621681162593 Data.Singletons.Internal.~> c6989586621681162594)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ZipWithSym1 a6989586621681163938)
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 a6989586621681162592 b6989586621681162593 c6989586621681162594 (a6989586621681163939 :: a6989586621681162592 Data.Singletons.Internal.~> (b6989586621681162593 Data.Singletons.Internal.~> c6989586621681162594)) (a6989586621681163938 :: GHC.Base.NonEmpty a6989586621681162592). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.ZipWithSym2 a6989586621681163939 a6989586621681163938)
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 a6989586621681162588 (a6989586621681163889 :: a6989586621681162588 Data.Singletons.Internal.~> (a6989586621681162588 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.NubBySym1 a6989586621681163889)
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.Let6989586621681164360Xor'Sym0
instance forall k1 k2 (x6989586621681164358 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164360Xor'Sym1 x6989586621681164358)
instance forall k1 k2 (xs6989586621681164359 :: k1) (x6989586621681164358 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164360Xor'Sym2 xs6989586621681164359 x6989586621681164358)
instance forall k1 k2 (a6989586621681164361 :: k1) (xs6989586621681164359 :: k2) (x6989586621681164358 :: GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164360Xor'Sym3 a6989586621681164361 xs6989586621681164359 x6989586621681164358)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164347Scrutinee_6989586621681162815Sym0
instance forall k1 k (f6989586621681164345 :: k1 Data.Singletons.Internal.~> k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164347Scrutinee_6989586621681162815Sym1 f6989586621681164345)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164325Scrutinee_6989586621681162825Sym0
instance forall k1 k (f6989586621681164308 :: k1 Data.Singletons.Internal.~> k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164325Scrutinee_6989586621681162825Sym1 f6989586621681164308)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164310GoSym0
instance forall k2 k3 k (f6989586621681164308 :: k2 Data.Singletons.Internal.~> (k3, GHC.Maybe.Maybe k2)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164310GoSym1 f6989586621681164308)
instance forall k2 k3 k (a6989586621681164309 :: k2 Data.Singletons.Internal.~> (k3, GHC.Maybe.Maybe k2)) (f6989586621681164308 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164310GoSym2 a6989586621681164309 f6989586621681164308)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164316Scrutinee_6989586621681162829Sym0
instance forall k1 k2 k3 (c6989586621681164315 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164316Scrutinee_6989586621681162829Sym1 c6989586621681164315)
instance forall k1 k2 k3 (f6989586621681164308 :: k1) (c6989586621681164315 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164316Scrutinee_6989586621681162829Sym2 f6989586621681164308 c6989586621681164315)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164069X_6989586621681164070Sym0
instance forall k1 a6989586621680423001 k2 k3 (eq6989586621681164066 :: k1 Data.Singletons.Internal.~> (a6989586621680423001 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164069X_6989586621681164070Sym1 eq6989586621681164066)
instance forall k1 a6989586621680423001 k2 k3 (x6989586621681164067 :: k1 Data.Singletons.Internal.~> (a6989586621680423001 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681164066 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164069X_6989586621681164070Sym2 x6989586621681164067 eq6989586621681164066)
instance forall k1 a6989586621680423001 k2 k3 (xs6989586621681164068 :: k1 Data.Singletons.Internal.~> (a6989586621680423001 Data.Singletons.Internal.~> GHC.Types.Bool)) (x6989586621681164067 :: k1) (eq6989586621681164066 :: [a6989586621680423001]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164069X_6989586621681164070Sym3 xs6989586621681164068 x6989586621681164067 eq6989586621681164066)
instance forall k1 a6989586621680423001 k2 k3 (eq06989586621681164057 :: k1 Data.Singletons.Internal.~> (a6989586621680423001 Data.Singletons.Internal.~> GHC.Types.Bool)) (xs6989586621681164068 :: k1) (x6989586621681164067 :: [a6989586621680423001]) (eq6989586621681164066 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164069X_6989586621681164070Sym4 eq06989586621681164057 xs6989586621681164068 x6989586621681164067 eq6989586621681164066)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164069ZsSym0
instance forall k1 a6989586621680423001 k2 k3 (eq6989586621681164066 :: k1 Data.Singletons.Internal.~> (a6989586621680423001 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164069ZsSym1 eq6989586621681164066)
instance forall k1 a6989586621680423001 k2 k3 (x6989586621681164067 :: k1 Data.Singletons.Internal.~> (a6989586621680423001 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681164066 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164069ZsSym2 x6989586621681164067 eq6989586621681164066)
instance forall k1 a6989586621680423001 k2 k3 (xs6989586621681164068 :: k1 Data.Singletons.Internal.~> (a6989586621680423001 Data.Singletons.Internal.~> GHC.Types.Bool)) (x6989586621681164067 :: k1) (eq6989586621681164066 :: [a6989586621680423001]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164069ZsSym3 xs6989586621681164068 x6989586621681164067 eq6989586621681164066)
instance forall k1 a6989586621680423001 k2 k3 (eq06989586621681164057 :: k1 Data.Singletons.Internal.~> (a6989586621680423001 Data.Singletons.Internal.~> GHC.Types.Bool)) (xs6989586621681164068 :: k1) (x6989586621681164067 :: [a6989586621680423001]) (eq6989586621681164066 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164069ZsSym4 eq06989586621681164057 xs6989586621681164068 x6989586621681164067 eq6989586621681164066)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164069YsSym0
instance forall k1 a6989586621680423001 k2 k3 (eq6989586621681164066 :: k1 Data.Singletons.Internal.~> (a6989586621680423001 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164069YsSym1 eq6989586621681164066)
instance forall k1 a6989586621680423001 k2 k3 (x6989586621681164067 :: k1 Data.Singletons.Internal.~> (a6989586621680423001 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681164066 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164069YsSym2 x6989586621681164067 eq6989586621681164066)
instance forall k1 a6989586621680423001 k2 k3 (xs6989586621681164068 :: k1 Data.Singletons.Internal.~> (a6989586621680423001 Data.Singletons.Internal.~> GHC.Types.Bool)) (x6989586621681164067 :: k1) (eq6989586621681164066 :: [a6989586621680423001]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164069YsSym3 xs6989586621681164068 x6989586621681164067 eq6989586621681164066)
instance forall k1 a6989586621680423001 k2 k3 (eq06989586621681164057 :: k1 Data.Singletons.Internal.~> (a6989586621680423001 Data.Singletons.Internal.~> GHC.Types.Bool)) (xs6989586621681164068 :: k1) (x6989586621681164067 :: [a6989586621680423001]) (eq6989586621681164066 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164069YsSym4 eq06989586621681164057 xs6989586621681164068 x6989586621681164067 eq6989586621681164066)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164006X_6989586621681164007Sym0
instance forall k1 a6989586621680423001 (eq6989586621681164003 :: k1 Data.Singletons.Internal.~> (a6989586621680423001 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164006X_6989586621681164007Sym1 eq6989586621681164003)
instance forall k1 a6989586621680423001 (x6989586621681164004 :: k1 Data.Singletons.Internal.~> (a6989586621680423001 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681164003 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164006X_6989586621681164007Sym2 x6989586621681164004 eq6989586621681164003)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164006ZsSym0
instance forall k1 a6989586621680423001 (eq6989586621681164003 :: k1 Data.Singletons.Internal.~> (a6989586621680423001 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164006ZsSym1 eq6989586621681164003)
instance forall k1 a6989586621680423001 (x6989586621681164004 :: k1 Data.Singletons.Internal.~> (a6989586621680423001 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681164003 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164006ZsSym2 x6989586621681164004 eq6989586621681164003)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164006YsSym0
instance forall k1 a6989586621680423001 (eq6989586621681164003 :: k1 Data.Singletons.Internal.~> (a6989586621680423001 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164006YsSym1 eq6989586621681164003)
instance forall k1 a6989586621680423001 (x6989586621681164004 :: k1 Data.Singletons.Internal.~> (a6989586621680423001 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681164003 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681164006YsSym2 x6989586621681164004 eq6989586621681164003)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681163914X_6989586621681163915Sym0
instance forall k1 k2 a6989586621680422988 b6989586621680422989 (a6989586621681163911 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681163914X_6989586621681163915Sym1 a6989586621681163911)
instance forall k1 k2 a6989586621680422988 b6989586621680422989 (b6989586621681163912 :: k1) (a6989586621681163911 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681163914X_6989586621681163915Sym2 b6989586621681163912 a6989586621681163911)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681163914BsSym0
instance forall k1 k2 a6989586621680422988 b6989586621680422989 (a6989586621681163911 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681163914BsSym1 a6989586621681163911)
instance forall k1 k2 a6989586621680422988 b6989586621680422989 (b6989586621681163912 :: k1) (a6989586621681163911 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681163914BsSym2 b6989586621681163912 a6989586621681163911)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Let6989586621681163914AsSym0
instance forall k1 k2 a6989586621680422988 b6989586621680422989 (a6989586621681163911 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681163914AsSym1 a6989586621681163911)
instance forall k1 k2 a6989586621680422988 b6989586621680422989 (b6989586621681163912 :: k1) (a6989586621681163911 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Let6989586621681163914AsSym2 b6989586621681163912 a6989586621681163911)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681163896Sym0
instance forall k2 k3 k (eq6989586621681163893 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> GHC.Types.Bool)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681163896Sym1 eq6989586621681163893)
instance forall k2 k3 k (a6989586621681163894 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> GHC.Types.Bool)) (eq6989586621681163893 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681163896Sym2 a6989586621681163894 eq6989586621681163893)
instance forall k2 k3 k (as6989586621681163895 :: k2 Data.Singletons.Internal.~> (k3 Data.Singletons.Internal.~> GHC.Types.Bool)) (a6989586621681163894 :: k2) (eq6989586621681163893 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.List.NonEmpty.Lambda_6989586621681163896Sym3 as6989586621681163895 a6989586621681163894 eq6989586621681163893)


-- | 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_a9s05 :: Type) where {
    type family FromString (arg_a9s0v :: Symbol) :: a_a9s05;
}
class SIsString a_a9s05
sFromString :: forall (t_a9s0L :: Symbol). SIsString a_a9s05 => Sing t_a9s0L -> Sing (Apply FromStringSym0 t_a9s0L :: a_a9s05)
data FromStringSym0 :: forall a6989586621681262381. (~>) Symbol a6989586621681262381
type FromStringSym1 (arg6989586621681262407 :: Symbol) = FromString arg6989586621681262407
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_6989586621681262417Sym0
instance Data.Singletons.Prelude.IsString.PIsString (Data.Functor.Identity.Identity a)
instance forall k6989586621681262382 a6989586621681262383 (b6989586621681262384 :: k6989586621681262382). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.IsString.FromString_6989586621681262410Sym0
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_a2lIs :: Type -> Type) where {
    type family Pure (arg_a2lP5 :: a_a2lIt) :: f_a2lIs a_a2lIt;
    type family (<*>) (arg_a2lP7 :: f_a2lIs ((~>) a_a2lIu b_a2lIv)) (arg_a2lP8 :: f_a2lIs a_a2lIu) :: f_a2lIs b_a2lIv;
    type family LiftA2 (arg_a2lPb :: (~>) a_a2lIw ((~>) b_a2lIx c_a2lIy)) (arg_a2lPc :: f_a2lIs a_a2lIw) (arg_a2lPd :: f_a2lIs b_a2lIx) :: f_a2lIs c_a2lIy;
    type family (*>) (arg_a2lPh :: f_a2lIs a_a2lIz) (arg_a2lPi :: f_a2lIs b_a2lIA) :: f_a2lIs b_a2lIA;
    type family (<*) (arg_a2lPl :: f_a2lIs a_a2lIB) (arg_a2lPm :: f_a2lIs b_a2lIC) :: f_a2lIs a_a2lIB;
    type (<*>) a_a2lPp a_a2lPq = Apply (Apply TFHelper_6989586621679570361Sym0 a_a2lPp) a_a2lPq;
    type LiftA2 a_a2lPF a_a2lPG a_a2lPH = Apply (Apply (Apply LiftA2_6989586621679570378Sym0 a_a2lPF) a_a2lPG) a_a2lPH;
    type (*>) a_a2lPY a_a2lPZ = Apply (Apply TFHelper_6989586621679570396Sym0 a_a2lPY) a_a2lPZ;
    type (<*) a_a2lQa a_a2lQb = Apply (Apply TFHelper_6989586621679570408Sym0 a_a2lQa) a_a2lQb;
}
infixl 4 <*>
infixl 4 *>
infixl 4 <*
class SFunctor f_a2lIs => SApplicative (f_a2lIs :: Type -> Type)
sPure :: forall a_a2lIt (t_a2lT9 :: a_a2lIt). SApplicative f_a2lIs => Sing t_a2lT9 -> Sing (Apply PureSym0 t_a2lT9 :: f_a2lIs a_a2lIt)
(%<*>) :: forall a_a2lIu b_a2lIv (t_a2lTb :: f_a2lIs ((~>) a_a2lIu b_a2lIv)) (t_a2lTc :: f_a2lIs a_a2lIu). SApplicative f_a2lIs => Sing t_a2lTb -> Sing t_a2lTc -> Sing (Apply (Apply (<*>@#@$) t_a2lTb) t_a2lTc :: f_a2lIs b_a2lIv)
sLiftA2 :: forall a_a2lIw b_a2lIx c_a2lIy (t_a2lTf :: (~>) a_a2lIw ((~>) b_a2lIx c_a2lIy)) (t_a2lTg :: f_a2lIs a_a2lIw) (t_a2lTh :: f_a2lIs b_a2lIx). SApplicative f_a2lIs => Sing t_a2lTf -> Sing t_a2lTg -> Sing t_a2lTh -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2lTf) t_a2lTg) t_a2lTh :: f_a2lIs c_a2lIy)
(%*>) :: forall a_a2lIz b_a2lIA (t_a2lTl :: f_a2lIs a_a2lIz) (t_a2lTm :: f_a2lIs b_a2lIA). SApplicative f_a2lIs => Sing t_a2lTl -> Sing t_a2lTm -> Sing (Apply (Apply (*>@#@$) t_a2lTl) t_a2lTm :: f_a2lIs b_a2lIA)
(%<*) :: forall a_a2lIB b_a2lIC (t_a2lTp :: f_a2lIs a_a2lIB) (t_a2lTq :: f_a2lIs b_a2lIC). SApplicative f_a2lIs => Sing t_a2lTp -> Sing t_a2lTq -> Sing (Apply (Apply (<*@#@$) t_a2lTp) t_a2lTq :: f_a2lIs a_a2lIB)
(%<*>) :: forall a_a2lIu b_a2lIv (t_a2lTb :: f_a2lIs ((~>) a_a2lIu b_a2lIv)) (t_a2lTc :: f_a2lIs a_a2lIu). (SApplicative f_a2lIs, (Apply (Apply (<*>@#@$) t_a2lTb) t_a2lTc :: f_a2lIs b_a2lIv) ~ Apply (Apply TFHelper_6989586621679570361Sym0 t_a2lTb) t_a2lTc) => Sing t_a2lTb -> Sing t_a2lTc -> Sing (Apply (Apply (<*>@#@$) t_a2lTb) t_a2lTc :: f_a2lIs b_a2lIv)
sLiftA2 :: forall a_a2lIw b_a2lIx c_a2lIy (t_a2lTf :: (~>) a_a2lIw ((~>) b_a2lIx c_a2lIy)) (t_a2lTg :: f_a2lIs a_a2lIw) (t_a2lTh :: f_a2lIs b_a2lIx). (SApplicative f_a2lIs, (Apply (Apply (Apply LiftA2Sym0 t_a2lTf) t_a2lTg) t_a2lTh :: f_a2lIs c_a2lIy) ~ Apply (Apply (Apply LiftA2_6989586621679570378Sym0 t_a2lTf) t_a2lTg) t_a2lTh) => Sing t_a2lTf -> Sing t_a2lTg -> Sing t_a2lTh -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2lTf) t_a2lTg) t_a2lTh :: f_a2lIs c_a2lIy)
(%*>) :: forall a_a2lIz b_a2lIA (t_a2lTl :: f_a2lIs a_a2lIz) (t_a2lTm :: f_a2lIs b_a2lIA). (SApplicative f_a2lIs, (Apply (Apply (*>@#@$) t_a2lTl) t_a2lTm :: f_a2lIs b_a2lIA) ~ Apply (Apply TFHelper_6989586621679570396Sym0 t_a2lTl) t_a2lTm) => Sing t_a2lTl -> Sing t_a2lTm -> Sing (Apply (Apply (*>@#@$) t_a2lTl) t_a2lTm :: f_a2lIs b_a2lIA)
(%<*) :: forall a_a2lIB b_a2lIC (t_a2lTp :: f_a2lIs a_a2lIB) (t_a2lTq :: f_a2lIs b_a2lIC). (SApplicative f_a2lIs, (Apply (Apply (<*@#@$) t_a2lTp) t_a2lTq :: f_a2lIs a_a2lIB) ~ Apply (Apply TFHelper_6989586621679570408Sym0 t_a2lTp) t_a2lTq) => Sing t_a2lTp -> Sing t_a2lTq -> Sing (Apply (Apply (<*@#@$) t_a2lTp) t_a2lTq :: f_a2lIs a_a2lIB)
infixl 4 %<*>
infixl 4 %*>
infixl 4 %<*
class PAlternative (f_a2lJF :: Type -> Type) where {
    type family Empty :: f_a2lJF a_a2lJG;
    type family (<|>) (arg_a2lR5 :: f_a2lJF a_a2lJH) (arg_a2lR6 :: f_a2lJF a_a2lJH) :: f_a2lJF a_a2lJH;
}
infixl 3 <|>
class SApplicative f_a2lJF => SAlternative (f_a2lJF :: Type -> Type)
sEmpty :: forall a_a2lJG. SAlternative f_a2lJF => Sing (EmptySym0 :: f_a2lJF a_a2lJG)
(%<|>) :: forall a_a2lJH (t_a2lTO :: f_a2lJF a_a2lJH) (t_a2lTP :: f_a2lJF a_a2lJH). SAlternative f_a2lJF => Sing t_a2lTO -> Sing t_a2lTP -> Sing (Apply (Apply (<|>@#@$) t_a2lTO) t_a2lTP :: f_a2lJF a_a2lJH)
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)

-- | The <a>Const</a> functor.
data Const a (b :: k)
type family GetConst (x_a7kJB :: Const a_a7kJz b_a7kJA) :: a_a7kJz
type family (<$>) (a_a340t :: (~>) a_a33Za b_a33Zb) (a_a340u :: f_a33Z9 a_a33Za) :: f_a33Z9 b_a33Zb
infixl 4 <$>
(%<$>) :: forall a_a33Za b_a33Zb f_a33Z9 (t_a3422 :: (~>) a_a33Za b_a33Zb) (t_a3423 :: f_a33Z9 a_a33Za). SFunctor f_a33Z9 => Sing t_a3422 -> Sing t_a3423 -> Sing (Apply (Apply (<$>@#@$) t_a3422) t_a3423 :: f_a33Z9 b_a33Zb)
infixl 4 %<$>
type family (<$) (arg_a2lOL :: a_a2lIq) (arg_a2lOM :: f_a2lIn b_a2lIr) :: f_a2lIn a_a2lIq
infixl 4 <$
(%<$) :: forall a_a2lIq b_a2lIr (t_a2lT3 :: a_a2lIq) (t_a2lT4 :: f_a2lIn b_a2lIr). SFunctor f_a2lIn => Sing t_a2lT3 -> Sing t_a2lT4 -> Sing (Apply (Apply (<$@#@$) t_a2lT3) t_a2lT4 :: f_a2lIn a_a2lIq)
infixl 4 %<$
type family (<**>) (a_a2lOr :: f_a2lHO a_a2lHP) (a_a2lOs :: f_a2lHO ((~>) a_a2lHP b_a2lHQ)) :: f_a2lHO b_a2lHQ
infixl 4 <**>
(%<**>) :: forall f_a2lHO a_a2lHP b_a2lHQ (t_a2lSB :: f_a2lHO a_a2lHP) (t_a2lSC :: f_a2lHO ((~>) a_a2lHP b_a2lHQ)). SApplicative f_a2lHO => Sing t_a2lSB -> Sing t_a2lSC -> Sing (Apply (Apply (<**>@#@$) t_a2lSB) t_a2lSC :: f_a2lHO b_a2lHQ)
infixl 4 %<**>
type family LiftA (a_a2lOh :: (~>) a_a2lHM b_a2lHN) (a_a2lOi :: f_a2lHL a_a2lHM) :: f_a2lHL b_a2lHN
sLiftA :: forall a_a2lHM b_a2lHN f_a2lHL (t_a2lSx :: (~>) a_a2lHM b_a2lHN) (t_a2lSy :: f_a2lHL a_a2lHM). SApplicative f_a2lHL => Sing t_a2lSx -> Sing t_a2lSy -> Sing (Apply (Apply LiftASym0 t_a2lSx) t_a2lSy :: f_a2lHL b_a2lHN)
type family LiftA3 (a_a2lO5 :: (~>) a_a2lHH ((~>) b_a2lHI ((~>) c_a2lHJ d_a2lHK))) (a_a2lO6 :: f_a2lHG a_a2lHH) (a_a2lO7 :: f_a2lHG b_a2lHI) (a_a2lO8 :: f_a2lHG c_a2lHJ) :: f_a2lHG d_a2lHK
sLiftA3 :: forall a_a2lHH b_a2lHI c_a2lHJ d_a2lHK f_a2lHG (t_a2lSp :: (~>) a_a2lHH ((~>) b_a2lHI ((~>) c_a2lHJ d_a2lHK))) (t_a2lSq :: f_a2lHG a_a2lHH) (t_a2lSr :: f_a2lHG b_a2lHI) (t_a2lSs :: f_a2lHG c_a2lHJ). SApplicative f_a2lHG => Sing t_a2lSp -> Sing t_a2lSq -> Sing t_a2lSr -> Sing t_a2lSs -> Sing (Apply (Apply (Apply (Apply LiftA3Sym0 t_a2lSp) t_a2lSq) t_a2lSr) t_a2lSs :: f_a2lHG d_a2lHK)
type family Optional (a_a9sEH :: f_a9sE5 a_a9sE6) :: f_a9sE5 (Maybe a_a9sE6)
sOptional :: forall f_a9sE5 a_a9sE6 (t_a9sFJ :: f_a9sE5 a_a9sE6). SAlternative f_a9sE5 => Sing t_a9sFJ -> Sing (Apply OptionalSym0 t_a9sFJ :: f_a9sE5 (Maybe a_a9sE6))
data PureSym0 :: forall a6989586621679569929 f6989586621679569928. (~>) a6989586621679569929 (f6989586621679569928 a6989586621679569929)
type PureSym1 (arg6989586621679570339 :: a6989586621679569929) = Pure arg6989586621679570339
data (<*>@#@$) :: forall f6989586621679569928 a6989586621679569930 b6989586621679569931. (~>) (f6989586621679569928 ((~>) a6989586621679569930 b6989586621679569931)) ((~>) (f6989586621679569928 a6989586621679569930) (f6989586621679569928 b6989586621679569931))
infixl 4 <*>@#@$
data (<*>@#@$$) (arg6989586621679570341 :: f6989586621679569928 ((~>) a6989586621679569930 b6989586621679569931)) :: (~>) (f6989586621679569928 a6989586621679569930) (f6989586621679569928 b6989586621679569931)
infixl 4 <*>@#@$$
type (<*>@#@$$$) (arg6989586621679570341 :: f6989586621679569928 ((~>) a6989586621679569930 b6989586621679569931)) (arg6989586621679570342 :: f6989586621679569928 a6989586621679569930) = (<*>) arg6989586621679570341 arg6989586621679570342
data (*>@#@$) :: forall f6989586621679569928 a6989586621679569935 b6989586621679569936. (~>) (f6989586621679569928 a6989586621679569935) ((~>) (f6989586621679569928 b6989586621679569936) (f6989586621679569928 b6989586621679569936))
infixl 4 *>@#@$
data (*>@#@$$) (arg6989586621679570351 :: f6989586621679569928 a6989586621679569935) :: forall b6989586621679569936. (~>) (f6989586621679569928 b6989586621679569936) (f6989586621679569928 b6989586621679569936)
infixl 4 *>@#@$$
type (*>@#@$$$) (arg6989586621679570351 :: f6989586621679569928 a6989586621679569935) (arg6989586621679570352 :: f6989586621679569928 b6989586621679569936) = (*>) arg6989586621679570351 arg6989586621679570352
data (<*@#@$) :: forall f6989586621679569928 a6989586621679569937 b6989586621679569938. (~>) (f6989586621679569928 a6989586621679569937) ((~>) (f6989586621679569928 b6989586621679569938) (f6989586621679569928 a6989586621679569937))
infixl 4 <*@#@$
data (<*@#@$$) (arg6989586621679570355 :: f6989586621679569928 a6989586621679569937) :: forall b6989586621679569938. (~>) (f6989586621679569928 b6989586621679569938) (f6989586621679569928 a6989586621679569937)
infixl 4 <*@#@$$
type (<*@#@$$$) (arg6989586621679570355 :: f6989586621679569928 a6989586621679569937) (arg6989586621679570356 :: f6989586621679569928 b6989586621679569938) = (<*) arg6989586621679570355 arg6989586621679570356
type EmptySym0 = Empty
data (<|>@#@$) :: forall f6989586621679570003 a6989586621679570005. (~>) (f6989586621679570003 a6989586621679570005) ((~>) (f6989586621679570003 a6989586621679570005) (f6989586621679570003 a6989586621679570005))
infixl 3 <|>@#@$
data (<|>@#@$$) (arg6989586621679570463 :: f6989586621679570003 a6989586621679570005) :: (~>) (f6989586621679570003 a6989586621679570005) (f6989586621679570003 a6989586621679570005)
infixl 3 <|>@#@$$
type (<|>@#@$$$) (arg6989586621679570463 :: f6989586621679570003 a6989586621679570005) (arg6989586621679570464 :: f6989586621679570003 a6989586621679570005) = (<|>) arg6989586621679570463 arg6989586621679570464
data ConstSym0 :: forall (a6989586621679095428 :: Type) k6989586621679095427 (b6989586621679095429 :: k6989586621679095427). (~>) a6989586621679095428 (Const (a6989586621679095428 :: Type) (b6989586621679095429 :: k6989586621679095427))
type ConstSym1 (t6989586621680757525 :: a6989586621679095428) = 'Const t6989586621680757525
data GetConstSym0 :: forall a6989586621680757793 b6989586621680757794. (~>) (Const a6989586621680757793 b6989586621680757794) a6989586621680757793
type GetConstSym1 (x6989586621680757795 :: Const a6989586621680757793 b6989586621680757794) = GetConst x6989586621680757795
data (<$>@#@$) :: forall a6989586621679740100 b6989586621679740101 f6989586621679740099. (~>) ((~>) a6989586621679740100 b6989586621679740101) ((~>) (f6989586621679740099 a6989586621679740100) (f6989586621679740099 b6989586621679740101))
infixl 4 <$>@#@$
data (<$>@#@$$) (a6989586621679740181 :: (~>) a6989586621679740100 b6989586621679740101) :: forall f6989586621679740099. (~>) (f6989586621679740099 a6989586621679740100) (f6989586621679740099 b6989586621679740101)
infixl 4 <$>@#@$$
type (<$>@#@$$$) (a6989586621679740181 :: (~>) a6989586621679740100 b6989586621679740101) (a6989586621679740182 :: f6989586621679740099 a6989586621679740100) = (<$>) a6989586621679740181 a6989586621679740182
data (<$@#@$) :: forall a6989586621679569926 f6989586621679569923 b6989586621679569927. (~>) a6989586621679569926 ((~>) (f6989586621679569923 b6989586621679569927) (f6989586621679569923 a6989586621679569926))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679570319 :: a6989586621679569926) :: forall f6989586621679569923 b6989586621679569927. (~>) (f6989586621679569923 b6989586621679569927) (f6989586621679569923 a6989586621679569926)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679570319 :: a6989586621679569926) (arg6989586621679570320 :: f6989586621679569923 b6989586621679569927) = (<$) arg6989586621679570319 arg6989586621679570320
data (<**>@#@$) :: forall f6989586621679569888 a6989586621679569889 b6989586621679569890. (~>) (f6989586621679569888 a6989586621679569889) ((~>) (f6989586621679569888 ((~>) a6989586621679569889 b6989586621679569890)) (f6989586621679569888 b6989586621679569890))
infixl 4 <**>@#@$
data (<**>@#@$$) (a6989586621679570299 :: f6989586621679569888 a6989586621679569889) :: forall b6989586621679569890. (~>) (f6989586621679569888 ((~>) a6989586621679569889 b6989586621679569890)) (f6989586621679569888 b6989586621679569890)
infixl 4 <**>@#@$$
type (<**>@#@$$$) (a6989586621679570299 :: f6989586621679569888 a6989586621679569889) (a6989586621679570300 :: f6989586621679569888 ((~>) a6989586621679569889 b6989586621679569890)) = (<**>) a6989586621679570299 a6989586621679570300
data LiftASym0 :: forall a6989586621679569886 b6989586621679569887 f6989586621679569885. (~>) ((~>) a6989586621679569886 b6989586621679569887) ((~>) (f6989586621679569885 a6989586621679569886) (f6989586621679569885 b6989586621679569887))
data LiftASym1 (a6989586621679570289 :: (~>) a6989586621679569886 b6989586621679569887) :: forall f6989586621679569885. (~>) (f6989586621679569885 a6989586621679569886) (f6989586621679569885 b6989586621679569887)
type LiftASym2 (a6989586621679570289 :: (~>) a6989586621679569886 b6989586621679569887) (a6989586621679570290 :: f6989586621679569885 a6989586621679569886) = LiftA a6989586621679570289 a6989586621679570290
data LiftA2Sym0 :: forall a6989586621679569932 b6989586621679569933 c6989586621679569934 f6989586621679569928. (~>) ((~>) a6989586621679569932 ((~>) b6989586621679569933 c6989586621679569934)) ((~>) (f6989586621679569928 a6989586621679569932) ((~>) (f6989586621679569928 b6989586621679569933) (f6989586621679569928 c6989586621679569934)))
data LiftA2Sym1 (arg6989586621679570345 :: (~>) a6989586621679569932 ((~>) b6989586621679569933 c6989586621679569934)) :: forall f6989586621679569928. (~>) (f6989586621679569928 a6989586621679569932) ((~>) (f6989586621679569928 b6989586621679569933) (f6989586621679569928 c6989586621679569934))
data LiftA2Sym2 (arg6989586621679570345 :: (~>) a6989586621679569932 ((~>) b6989586621679569933 c6989586621679569934)) (arg6989586621679570346 :: f6989586621679569928 a6989586621679569932) :: (~>) (f6989586621679569928 b6989586621679569933) (f6989586621679569928 c6989586621679569934)
type LiftA2Sym3 (arg6989586621679570345 :: (~>) a6989586621679569932 ((~>) b6989586621679569933 c6989586621679569934)) (arg6989586621679570346 :: f6989586621679569928 a6989586621679569932) (arg6989586621679570347 :: f6989586621679569928 b6989586621679569933) = LiftA2 arg6989586621679570345 arg6989586621679570346 arg6989586621679570347
data LiftA3Sym0 :: forall a6989586621679569881 b6989586621679569882 c6989586621679569883 d6989586621679569884 f6989586621679569880. (~>) ((~>) a6989586621679569881 ((~>) b6989586621679569882 ((~>) c6989586621679569883 d6989586621679569884))) ((~>) (f6989586621679569880 a6989586621679569881) ((~>) (f6989586621679569880 b6989586621679569882) ((~>) (f6989586621679569880 c6989586621679569883) (f6989586621679569880 d6989586621679569884))))
data LiftA3Sym1 (a6989586621679570277 :: (~>) a6989586621679569881 ((~>) b6989586621679569882 ((~>) c6989586621679569883 d6989586621679569884))) :: forall f6989586621679569880. (~>) (f6989586621679569880 a6989586621679569881) ((~>) (f6989586621679569880 b6989586621679569882) ((~>) (f6989586621679569880 c6989586621679569883) (f6989586621679569880 d6989586621679569884)))
data LiftA3Sym2 (a6989586621679570277 :: (~>) a6989586621679569881 ((~>) b6989586621679569882 ((~>) c6989586621679569883 d6989586621679569884))) (a6989586621679570278 :: f6989586621679569880 a6989586621679569881) :: (~>) (f6989586621679569880 b6989586621679569882) ((~>) (f6989586621679569880 c6989586621679569883) (f6989586621679569880 d6989586621679569884))
data LiftA3Sym3 (a6989586621679570277 :: (~>) a6989586621679569881 ((~>) b6989586621679569882 ((~>) c6989586621679569883 d6989586621679569884))) (a6989586621679570278 :: f6989586621679569880 a6989586621679569881) (a6989586621679570279 :: f6989586621679569880 b6989586621679569882) :: (~>) (f6989586621679569880 c6989586621679569883) (f6989586621679569880 d6989586621679569884)
data OptionalSym0 :: forall f6989586621681264861 a6989586621681264862. (~>) (f6989586621681264861 a6989586621681264862) (f6989586621681264861 (Maybe a6989586621681264862))
type OptionalSym1 (a6989586621681264899 :: f6989586621681264861 a6989586621681264862) = Optional a6989586621681264899
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.TFHelper_6989586621681264953Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative Data.Ord.Down
instance forall a6989586621679569930 b6989586621679569931 (a6989586621681264951 :: Data.Ord.Down (a6989586621679569930 Data.Singletons.Internal.~> b6989586621679569931)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.TFHelper_6989586621681264953Sym1 a6989586621681264951)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.Pure_6989586621681264943Sym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.LiftA2_6989586621681264926Sym0
instance Data.Singletons.Prelude.Monad.Internal.PApplicative ((,) a)
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 a6989586621681264865 (a6989586621681264923 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.LiftA2_6989586621681264926Sym1 a6989586621681264923)
instance forall a6989586621679569932 b6989586621679569933 c6989586621679569934 a6989586621681264865 (a6989586621681264924 :: a6989586621679569932 Data.Singletons.Internal.~> (b6989586621679569933 Data.Singletons.Internal.~> c6989586621679569934)) (a6989586621681264923 :: (a6989586621681264865, a6989586621679569932)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.LiftA2_6989586621681264926Sym2 a6989586621681264924 a6989586621681264923)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.TFHelper_6989586621681264911Sym0
instance forall a6989586621681264865 a6989586621679569930 b6989586621679569931 (a6989586621681264909 :: (a6989586621681264865, a6989586621679569930 Data.Singletons.Internal.~> b6989586621679569931)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Applicative.TFHelper_6989586621681264911Sym1 a6989586621681264909)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Applicative.Pure_6989586621681264903Sym0
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_a2lIn :: Type -> Type) where {
    type family Fmap (arg_a2lOH :: (~>) a_a2lIo b_a2lIp) (arg_a2lOI :: f_a2lIn a_a2lIo) :: f_a2lIn b_a2lIp;
    type (<$) a_a2lOP a_a2lOQ = Apply (Apply TFHelper_6989586621679570325Sym0 a_a2lOP) a_a2lOQ;
}
class SFunctor (f_a2lIn :: Type -> Type)
sFmap :: forall a_a2lIo b_a2lIp (t_a2lSZ :: (~>) a_a2lIo b_a2lIp) (t_a2lT0 :: f_a2lIn a_a2lIo). SFunctor f_a2lIn => Sing t_a2lSZ -> Sing t_a2lT0 -> Sing (Apply (Apply FmapSym0 t_a2lSZ) t_a2lT0 :: f_a2lIn b_a2lIp)
class PMonad (m_a2lIQ :: Type -> Type) where {
    type family (>>=) (arg_a2lQq :: m_a2lIQ a_a2lIR) (arg_a2lQr :: (~>) a_a2lIR (m_a2lIQ b_a2lIS)) :: m_a2lIQ b_a2lIS;
    type family (>>) (arg_a2lQu :: m_a2lIQ a_a2lIT) (arg_a2lQv :: m_a2lIQ b_a2lIU) :: m_a2lIQ b_a2lIU;
    type family Return (arg_a2lQy :: a_a2lIV) :: m_a2lIQ a_a2lIV;
    type (>>) a_a2lQA a_a2lQB = Apply (Apply TFHelper_6989586621679570434Sym0 a_a2lQA) a_a2lQB;
    type Return a_a2lQW = Apply Return_6989586621679570455Sym0 a_a2lQW;
}
infixl 1 >>=
infixl 1 >>
class SApplicative m_a2lIQ => SMonad (m_a2lIQ :: Type -> Type)
(%>>=) :: forall a_a2lIR b_a2lIS (t_a2lTA :: m_a2lIQ a_a2lIR) (t_a2lTB :: (~>) a_a2lIR (m_a2lIQ b_a2lIS)). SMonad m_a2lIQ => Sing t_a2lTA -> Sing t_a2lTB -> Sing (Apply (Apply (>>=@#@$) t_a2lTA) t_a2lTB :: m_a2lIQ b_a2lIS)
(%>>) :: forall a_a2lIT b_a2lIU (t_a2lTE :: m_a2lIQ a_a2lIT) (t_a2lTF :: m_a2lIQ b_a2lIU). SMonad m_a2lIQ => Sing t_a2lTE -> Sing t_a2lTF -> Sing (Apply (Apply (>>@#@$) t_a2lTE) t_a2lTF :: m_a2lIQ b_a2lIU)
sReturn :: forall a_a2lIV (t_a2lTI :: a_a2lIV). SMonad m_a2lIQ => Sing t_a2lTI -> Sing (Apply ReturnSym0 t_a2lTI :: m_a2lIQ a_a2lIV)
(%>>) :: forall a_a2lIT b_a2lIU (t_a2lTE :: m_a2lIQ a_a2lIT) (t_a2lTF :: m_a2lIQ b_a2lIU). (SMonad m_a2lIQ, (Apply (Apply (>>@#@$) t_a2lTE) t_a2lTF :: m_a2lIQ b_a2lIU) ~ Apply (Apply TFHelper_6989586621679570434Sym0 t_a2lTE) t_a2lTF) => Sing t_a2lTE -> Sing t_a2lTF -> Sing (Apply (Apply (>>@#@$) t_a2lTE) t_a2lTF :: m_a2lIQ b_a2lIU)
sReturn :: forall a_a2lIV (t_a2lTI :: a_a2lIV). (SMonad m_a2lIQ, (Apply ReturnSym0 t_a2lTI :: m_a2lIQ a_a2lIV) ~ Apply Return_6989586621679570455Sym0 t_a2lTI) => Sing t_a2lTI -> Sing (Apply ReturnSym0 t_a2lTI :: m_a2lIQ a_a2lIV)
infixl 1 %>>=
infixl 1 %>>
class PMonadPlus (m_a2lJI :: Type -> Type) where {
    type family Mzero :: m_a2lJI a_a2lJJ;
    type family Mplus (arg_a2lR9 :: m_a2lJI a_a2lJK) (arg_a2lRa :: m_a2lJI a_a2lJK) :: m_a2lJI a_a2lJK;
    type Mzero = Mzero_6989586621679570471Sym0;
    type Mplus a_a2lRf a_a2lRg = Apply (Apply Mplus_6989586621679570475Sym0 a_a2lRf) a_a2lRg;
}
class (SAlternative m_a2lJI, SMonad m_a2lJI) => SMonadPlus (m_a2lJI :: Type -> Type)
sMzero :: forall a_a2lJJ. SMonadPlus m_a2lJI => Sing (MzeroSym0 :: m_a2lJI a_a2lJJ)
sMplus :: forall a_a2lJK (t_a2lTS :: m_a2lJI a_a2lJK) (t_a2lTT :: m_a2lJI a_a2lJK). SMonadPlus m_a2lJI => Sing t_a2lTS -> Sing t_a2lTT -> Sing (Apply (Apply MplusSym0 t_a2lTS) t_a2lTT :: m_a2lJI a_a2lJK)
sMzero :: forall a_a2lJJ. (SMonadPlus m_a2lJI, (MzeroSym0 :: m_a2lJI a_a2lJJ) ~ Mzero_6989586621679570471Sym0) => Sing (MzeroSym0 :: m_a2lJI a_a2lJJ)
sMplus :: forall a_a2lJK (t_a2lTS :: m_a2lJI a_a2lJK) (t_a2lTT :: m_a2lJI a_a2lJK). (SMonadPlus m_a2lJI, (Apply (Apply MplusSym0 t_a2lTS) t_a2lTT :: m_a2lJI a_a2lJK) ~ Apply (Apply Mplus_6989586621679570475Sym0 t_a2lTS) t_a2lTT) => Sing t_a2lTS -> Sing t_a2lTT -> Sing (Apply (Apply MplusSym0 t_a2lTS) t_a2lTT :: m_a2lJI a_a2lJK)
class PMonadFail (m_a33rx :: Type -> Type) where {
    type family Fail (arg_a33rR :: [Char]) :: m_a33rx a_a33ry;
}
class SMonad m_a33rx => SMonadFail (m_a33rx :: Type -> Type)
sFail :: forall a_a33ry (t_a33s5 :: [Char]). SMonadFail m_a33rx => Sing t_a33s5 -> Sing (Apply FailSym0 t_a33s5 :: m_a33rx a_a33ry)
type family MapM (arg_a7v95 :: (~>) a_a7v8U (m_a7v8T b_a7v8V)) (arg_a7v96 :: t_a7v8N a_a7v8U) :: m_a7v8T (t_a7v8N b_a7v8V)
sMapM :: forall a_a7v8U m_a7v8T b_a7v8V (t_a7va3 :: (~>) a_a7v8U (m_a7v8T b_a7v8V)) (t_a7va4 :: t_a7v8N a_a7v8U). (STraversable t_a7v8N, SMonad m_a7v8T) => Sing t_a7va3 -> Sing t_a7va4 -> Sing (Apply (Apply MapMSym0 t_a7va3) t_a7va4 :: m_a7v8T (t_a7v8N b_a7v8V))
type family MapM_ (a_a6d6P :: (~>) a_a6cX5 (m_a6cX4 b_a6cX6)) (a_a6d6Q :: t_a6cX3 a_a6cX5) :: m_a6cX4 ()
sMapM_ :: forall a_a6cX5 m_a6cX4 b_a6cX6 t_a6cX3 (t_a6dsM :: (~>) a_a6cX5 (m_a6cX4 b_a6cX6)) (t_a6dsN :: t_a6cX3 a_a6cX5). (SFoldable t_a6cX3, SMonad m_a6cX4) => Sing t_a6dsM -> Sing t_a6dsN -> Sing (Apply (Apply MapM_Sym0 t_a6dsM) t_a6dsN :: m_a6cX4 ())
type family ForM (a_a7wIv :: t_a7wA6 a_a7wA8) (a_a7wIw :: (~>) a_a7wA8 (m_a7wA7 b_a7wA9)) :: m_a7wA7 (t_a7wA6 b_a7wA9)
sForM :: forall t_a7wA6 a_a7wA8 m_a7wA7 b_a7wA9 (t_a7wRY :: t_a7wA6 a_a7wA8) (t_a7wRZ :: (~>) a_a7wA8 (m_a7wA7 b_a7wA9)). (STraversable t_a7wA6, SMonad m_a7wA7) => Sing t_a7wRY -> Sing t_a7wRZ -> Sing (Apply (Apply ForMSym0 t_a7wRY) t_a7wRZ :: m_a7wA7 (t_a7wA6 b_a7wA9))
type family Sequence (arg_a7v99 :: t_a7v8N (m_a7v8W a_a7v8X)) :: m_a7v8W (t_a7v8N a_a7v8X)
sSequence :: forall m_a7v8W a_a7v8X (t_a7va7 :: t_a7v8N (m_a7v8W a_a7v8X)). (STraversable t_a7v8N, SMonad m_a7v8W) => Sing t_a7va7 -> Sing (Apply SequenceSym0 t_a7va7 :: m_a7v8W (t_a7v8N a_a7v8X))
type family Sequence_ (a_a6d6x :: t_a6cWT (m_a6cWU a_a6cWV)) :: m_a6cWU ()
sSequence_ :: forall t_a6cWT m_a6cWU a_a6cWV (t_a6dsE :: t_a6cWT (m_a6cWU a_a6cWV)). (SFoldable t_a6cWT, SMonad m_a6cWU) => Sing t_a6dsE -> Sing (Apply Sequence_Sym0 t_a6dsE :: m_a6cWU ())
type family (=<<) (a_a2lNW :: (~>) a_a2lHC (m_a2lHB b_a2lHD)) (a_a2lNX :: m_a2lHB a_a2lHC) :: m_a2lHB b_a2lHD
infixr 1 =<<
(%=<<) :: forall a_a2lHC m_a2lHB b_a2lHD (t_a2lSj :: (~>) a_a2lHC (m_a2lHB b_a2lHD)) (t_a2lSk :: m_a2lHB a_a2lHC). SMonad m_a2lHB => Sing t_a2lSj -> Sing t_a2lSk -> Sing (Apply (Apply (=<<@#@$) t_a2lSj) t_a2lSk :: m_a2lHB b_a2lHD)
infixr 1 %=<<
type family (>=>) (a_a9v6N :: (~>) a_a9uZP (m_a9uZO b_a9uZQ)) (a_a9v6O :: (~>) b_a9uZQ (m_a9uZO c_a9uZR)) (a_a9v6P :: a_a9uZP) :: m_a9uZO c_a9uZR
infixr 1 >=>
(%>=>) :: forall a_a9uZP m_a9uZO b_a9uZQ c_a9uZR (t_a9v8W :: (~>) a_a9uZP (m_a9uZO b_a9uZQ)) (t_a9v8X :: (~>) b_a9uZQ (m_a9uZO c_a9uZR)) (t_a9v8Y :: a_a9uZP). SMonad m_a9uZO => Sing t_a9v8W -> Sing t_a9v8X -> Sing t_a9v8Y -> Sing (Apply (Apply (Apply (>=>@#@$) t_a9v8W) t_a9v8X) t_a9v8Y :: m_a9uZO c_a9uZR)
infixr 1 %>=>
type family (<=<) (a_a9v6E :: (~>) b_a9uZL (m_a9uZK c_a9uZM)) (a_a9v6F :: (~>) a_a9uZN (m_a9uZK b_a9uZL)) (a_a9v6G :: a_a9uZN) :: m_a9uZK c_a9uZM
infixr 1 <=<
(%<=<) :: forall b_a9uZL m_a9uZK c_a9uZM a_a9uZN (t_a9v8Q :: (~>) b_a9uZL (m_a9uZK c_a9uZM)) (t_a9v8R :: (~>) a_a9uZN (m_a9uZK b_a9uZL)) (t_a9v8S :: a_a9uZN). SMonad m_a9uZK => Sing t_a9v8Q -> Sing t_a9v8R -> Sing t_a9v8S -> Sing (Apply (Apply (Apply (<=<@#@$) t_a9v8Q) t_a9v8R) t_a9v8S :: m_a9uZK c_a9uZM)
infixr 1 %<=<
type family Void (a_a3406 :: f_a33Z1 a_a33Z2) :: f_a33Z1 ()
sVoid :: forall f_a33Z1 a_a33Z2 (t_a341S :: f_a33Z1 a_a33Z2). SFunctor f_a33Z1 => Sing t_a341S -> Sing (Apply VoidSym0 t_a341S :: f_a33Z1 ())
type family Join (a_a2lO2 :: m_a2lHE (m_a2lHE a_a2lHF)) :: m_a2lHE a_a2lHF
sJoin :: forall m_a2lHE a_a2lHF (t_a2lSn :: m_a2lHE (m_a2lHE a_a2lHF)). SMonad m_a2lHE => Sing t_a2lSn -> Sing (Apply JoinSym0 t_a2lSn :: m_a2lHE a_a2lHF)
type family Msum (a_a6d6n :: t_a6cWN (m_a6cWO a_a6cWP)) :: m_a6cWO a_a6cWP
sMsum :: forall t_a6cWN m_a6cWO a_a6cWP (t_a6dsA :: t_a6cWN (m_a6cWO a_a6cWP)). (SFoldable t_a6cWN, SMonadPlus m_a6cWO) => Sing t_a6dsA -> Sing (Apply MsumSym0 t_a6dsA :: m_a6cWO a_a6cWP)
type family Mfilter (a_a9v4q :: (~>) a_a9uZh Bool) (a_a9v4r :: m_a9uZg a_a9uZh) :: m_a9uZg a_a9uZh
sMfilter :: forall a_a9uZh m_a9uZg (t_a9v84 :: (~>) a_a9uZh Bool) (t_a9v85 :: m_a9uZg a_a9uZh). SMonadPlus m_a9uZg => Sing t_a9v84 -> Sing t_a9v85 -> Sing (Apply (Apply MfilterSym0 t_a9v84) t_a9v85 :: m_a9uZg a_a9uZh)
type family FilterM (a_a9v76 :: (~>) a_a9uZT (m_a9uZS Bool)) (a_a9v77 :: [a_a9uZT]) :: m_a9uZS [a_a9uZT]
sFilterM :: forall a_a9uZT m_a9uZS (t_a9v92 :: (~>) a_a9uZT (m_a9uZS Bool)) (t_a9v93 :: [a_a9uZT]). SApplicative m_a9uZS => Sing t_a9v92 -> Sing t_a9v93 -> Sing (Apply (Apply FilterMSym0 t_a9v92) t_a9v93 :: m_a9uZS [a_a9uZT])
type family MapAndUnzipM (a_a9v6s :: (~>) a_a9uZH (m_a9uZG (b_a9uZI, c_a9uZJ))) (a_a9v6t :: [a_a9uZH]) :: m_a9uZG ([b_a9uZI], [c_a9uZJ])
sMapAndUnzipM :: forall a_a9uZH m_a9uZG b_a9uZI c_a9uZJ (t_a9v8M :: (~>) a_a9uZH (m_a9uZG (b_a9uZI, c_a9uZJ))) (t_a9v8N :: [a_a9uZH]). SApplicative m_a9uZG => Sing t_a9v8M -> Sing t_a9v8N -> Sing (Apply (Apply MapAndUnzipMSym0 t_a9v8M) t_a9v8N :: m_a9uZG ([b_a9uZI], [c_a9uZJ]))
type family ZipWithM (a_a9v6j :: (~>) a_a9uZD ((~>) b_a9uZE (m_a9uZC c_a9uZF))) (a_a9v6k :: [a_a9uZD]) (a_a9v6l :: [b_a9uZE]) :: m_a9uZC [c_a9uZF]
sZipWithM :: forall a_a9uZD b_a9uZE m_a9uZC c_a9uZF (t_a9v8G :: (~>) a_a9uZD ((~>) b_a9uZE (m_a9uZC c_a9uZF))) (t_a9v8H :: [a_a9uZD]) (t_a9v8I :: [b_a9uZE]). SApplicative m_a9uZC => Sing t_a9v8G -> Sing t_a9v8H -> Sing t_a9v8I -> Sing (Apply (Apply (Apply ZipWithMSym0 t_a9v8G) t_a9v8H) t_a9v8I :: m_a9uZC [c_a9uZF])
type family ZipWithM_ (a_a9v6a :: (~>) a_a9uZz ((~>) b_a9uZA (m_a9uZy c_a9uZB))) (a_a9v6b :: [a_a9uZz]) (a_a9v6c :: [b_a9uZA]) :: m_a9uZy ()
sZipWithM_ :: forall a_a9uZz b_a9uZA m_a9uZy c_a9uZB (t_a9v8A :: (~>) a_a9uZz ((~>) b_a9uZA (m_a9uZy c_a9uZB))) (t_a9v8B :: [a_a9uZz]) (t_a9v8C :: [b_a9uZA]). SApplicative m_a9uZy => Sing t_a9v8A -> Sing t_a9v8B -> Sing t_a9v8C -> Sing (Apply (Apply (Apply ZipWithM_Sym0 t_a9v8A) t_a9v8B) t_a9v8C :: m_a9uZy ())
type family FoldlM (a_a6d7f :: (~>) b_a6cXh ((~>) a_a6cXi (m_a6cXg b_a6cXh))) (a_a6d7g :: b_a6cXh) (a_a6d7h :: t_a6cXf a_a6cXi) :: m_a6cXg b_a6cXh
sFoldlM :: forall b_a6cXh a_a6cXi m_a6cXg t_a6cXf (t_a6dsY :: (~>) b_a6cXh ((~>) a_a6cXi (m_a6cXg b_a6cXh))) (t_a6dsZ :: b_a6cXh) (t_a6dt0 :: t_a6cXf a_a6cXi). (SFoldable t_a6cXf, SMonad m_a6cXg) => Sing t_a6dsY -> Sing t_a6dsZ -> Sing t_a6dt0 -> Sing (Apply (Apply (Apply FoldlMSym0 t_a6dsY) t_a6dsZ) t_a6dt0 :: m_a6cXg b_a6cXh)
type family ReplicateM (a_a9v5t :: Nat) (a_a9v5u :: m_a9uZo a_a9uZp) :: m_a9uZo [a_a9uZp]
sReplicateM :: forall m_a9uZo a_a9uZp (t_a9v8k :: Nat) (t_a9v8l :: m_a9uZo a_a9uZp). SApplicative m_a9uZo => Sing t_a9v8k -> Sing t_a9v8l -> Sing (Apply (Apply ReplicateMSym0 t_a9v8k) t_a9v8l :: m_a9uZo [a_a9uZp])
type family ReplicateM_ (a_a9v5a :: Nat) (a_a9v5b :: m_a9uZm a_a9uZn) :: m_a9uZm ()
sReplicateM_ :: forall m_a9uZm a_a9uZn (t_a9v8g :: Nat) (t_a9v8h :: m_a9uZm a_a9uZn). SApplicative m_a9uZm => Sing t_a9v8g -> Sing t_a9v8h -> Sing (Apply (Apply ReplicateM_Sym0 t_a9v8g) t_a9v8h :: m_a9uZm ())
type family Guard (a_a2lJN :: Bool) :: f_a2lH7 ()
sGuard :: forall f_a2lH7 (t_a2lRv :: Bool). SAlternative f_a2lH7 => Sing t_a2lRv -> Sing (Apply GuardSym0 t_a2lRv :: f_a2lH7 ())
type family When (a_a2lNN :: Bool) (a_a2lNO :: f_a2lHA ()) :: f_a2lHA ()
sWhen :: forall f_a2lHA (t_a2lSf :: Bool) (t_a2lSg :: f_a2lHA ()). SApplicative f_a2lHA => Sing t_a2lSf -> Sing t_a2lSg -> Sing (Apply (Apply WhenSym0 t_a2lSf) t_a2lSg :: f_a2lHA ())
type family Unless (a_a9v51 :: Bool) (a_a9v52 :: f_a9uZl ()) :: f_a9uZl ()
sUnless :: forall f_a9uZl (t_a9v8c :: Bool) (t_a9v8d :: f_a9uZl ()). SApplicative f_a9uZl => Sing t_a9v8c -> Sing t_a9v8d -> Sing (Apply (Apply UnlessSym0 t_a9v8c) t_a9v8d :: f_a9uZl ())
type family LiftM (a_a2lNA :: (~>) a1_a2lHy r_a2lHz) (a_a2lNB :: m_a2lHx a1_a2lHy) :: m_a2lHx r_a2lHz
sLiftM :: forall a1_a2lHy r_a2lHz m_a2lHx (t_a2lSb :: (~>) a1_a2lHy r_a2lHz) (t_a2lSc :: m_a2lHx a1_a2lHy). SMonad m_a2lHx => Sing t_a2lSb -> Sing t_a2lSc -> Sing (Apply (Apply LiftMSym0 t_a2lSb) t_a2lSc :: m_a2lHx r_a2lHz)
type family LiftM2 (a_a2lNa :: (~>) a1_a2lHu ((~>) a2_a2lHv r_a2lHw)) (a_a2lNb :: m_a2lHt a1_a2lHu) (a_a2lNc :: m_a2lHt a2_a2lHv) :: m_a2lHt r_a2lHw
sLiftM2 :: forall a1_a2lHu a2_a2lHv r_a2lHw m_a2lHt (t_a2lS5 :: (~>) a1_a2lHu ((~>) a2_a2lHv r_a2lHw)) (t_a2lS6 :: m_a2lHt a1_a2lHu) (t_a2lS7 :: m_a2lHt a2_a2lHv). SMonad m_a2lHt => Sing t_a2lS5 -> Sing t_a2lS6 -> Sing t_a2lS7 -> Sing (Apply (Apply (Apply LiftM2Sym0 t_a2lS5) t_a2lS6) t_a2lS7 :: m_a2lHt r_a2lHw)
type family LiftM3 (a_a2lMu :: (~>) a1_a2lHp ((~>) a2_a2lHq ((~>) a3_a2lHr r_a2lHs))) (a_a2lMv :: m_a2lHo a1_a2lHp) (a_a2lMw :: m_a2lHo a2_a2lHq) (a_a2lMx :: m_a2lHo a3_a2lHr) :: m_a2lHo r_a2lHs
sLiftM3 :: forall a1_a2lHp a2_a2lHq a3_a2lHr r_a2lHs m_a2lHo (t_a2lRX :: (~>) a1_a2lHp ((~>) a2_a2lHq ((~>) a3_a2lHr r_a2lHs))) (t_a2lRY :: m_a2lHo a1_a2lHp) (t_a2lRZ :: m_a2lHo a2_a2lHq) (t_a2lS0 :: m_a2lHo a3_a2lHr). SMonad m_a2lHo => Sing t_a2lRX -> Sing t_a2lRY -> Sing t_a2lRZ -> Sing t_a2lS0 -> Sing (Apply (Apply (Apply (Apply LiftM3Sym0 t_a2lRX) t_a2lRY) t_a2lRZ) t_a2lS0 :: m_a2lHo r_a2lHs)
type family LiftM4 (a_a2lLv :: (~>) a1_a2lHj ((~>) a2_a2lHk ((~>) a3_a2lHl ((~>) a4_a2lHm r_a2lHn)))) (a_a2lLw :: m_a2lHi a1_a2lHj) (a_a2lLx :: m_a2lHi a2_a2lHk) (a_a2lLy :: m_a2lHi a3_a2lHl) (a_a2lLz :: m_a2lHi a4_a2lHm) :: m_a2lHi r_a2lHn
sLiftM4 :: forall a1_a2lHj a2_a2lHk a3_a2lHl a4_a2lHm r_a2lHn m_a2lHi (t_a2lRN :: (~>) a1_a2lHj ((~>) a2_a2lHk ((~>) a3_a2lHl ((~>) a4_a2lHm r_a2lHn)))) (t_a2lRO :: m_a2lHi a1_a2lHj) (t_a2lRP :: m_a2lHi a2_a2lHk) (t_a2lRQ :: m_a2lHi a3_a2lHl) (t_a2lRR :: m_a2lHi a4_a2lHm). SMonad m_a2lHi => Sing t_a2lRN -> Sing t_a2lRO -> Sing t_a2lRP -> Sing t_a2lRQ -> Sing t_a2lRR -> Sing (Apply (Apply (Apply (Apply (Apply LiftM4Sym0 t_a2lRN) t_a2lRO) t_a2lRP) t_a2lRQ) t_a2lRR :: m_a2lHi r_a2lHn)
type family LiftM5 (a_a2lKa :: (~>) a1_a2lHc ((~>) a2_a2lHd ((~>) a3_a2lHe ((~>) a4_a2lHf ((~>) a5_a2lHg r_a2lHh))))) (a_a2lKb :: m_a2lHb a1_a2lHc) (a_a2lKc :: m_a2lHb a2_a2lHd) (a_a2lKd :: m_a2lHb a3_a2lHe) (a_a2lKe :: m_a2lHb a4_a2lHf) (a_a2lKf :: m_a2lHb a5_a2lHg) :: m_a2lHb r_a2lHh
sLiftM5 :: forall a1_a2lHc a2_a2lHd a3_a2lHe a4_a2lHf a5_a2lHg r_a2lHh m_a2lHb (t_a2lRB :: (~>) a1_a2lHc ((~>) a2_a2lHd ((~>) a3_a2lHe ((~>) a4_a2lHf ((~>) a5_a2lHg r_a2lHh))))) (t_a2lRC :: m_a2lHb a1_a2lHc) (t_a2lRD :: m_a2lHb a2_a2lHd) (t_a2lRE :: m_a2lHb a3_a2lHe) (t_a2lRF :: m_a2lHb a4_a2lHf) (t_a2lRG :: m_a2lHb a5_a2lHg). SMonad m_a2lHb => Sing t_a2lRB -> Sing t_a2lRC -> Sing t_a2lRD -> Sing t_a2lRE -> Sing t_a2lRF -> Sing t_a2lRG -> Sing (Apply (Apply (Apply (Apply (Apply (Apply LiftM5Sym0 t_a2lRB) t_a2lRC) t_a2lRD) t_a2lRE) t_a2lRF) t_a2lRG :: m_a2lHb r_a2lHh)
type family Ap (a_a2lJP :: m_a2lH8 ((~>) a_a2lH9 b_a2lHa)) (a_a2lJQ :: m_a2lH8 a_a2lH9) :: m_a2lH8 b_a2lHa
sAp :: forall m_a2lH8 a_a2lH9 b_a2lHa (t_a2lRx :: m_a2lH8 ((~>) a_a2lH9 b_a2lHa)) (t_a2lRy :: m_a2lH8 a_a2lH9). SMonad m_a2lH8 => Sing t_a2lRx -> Sing t_a2lRy -> Sing (Apply (Apply ApSym0 t_a2lRx) t_a2lRy :: m_a2lH8 b_a2lHa)
type family (<$!>) (a_a9v4K :: (~>) a_a9uZj b_a9uZk) (a_a9v4L :: m_a9uZi a_a9uZj) :: m_a9uZi b_a9uZk
infixl 4 <$!>
(%<$!>) :: forall a_a9uZj b_a9uZk m_a9uZi (t_a9v88 :: (~>) a_a9uZj b_a9uZk) (t_a9v89 :: m_a9uZi a_a9uZj). SMonad m_a9uZi => Sing t_a9v88 -> Sing t_a9v89 -> Sing (Apply (Apply (<$!>@#@$) t_a9v88) t_a9v89 :: m_a9uZi b_a9uZk)
infixl 4 %<$!>
data FmapSym0 :: forall a6989586621679569924 b6989586621679569925 f6989586621679569923. (~>) ((~>) a6989586621679569924 b6989586621679569925) ((~>) (f6989586621679569923 a6989586621679569924) (f6989586621679569923 b6989586621679569925))
data FmapSym1 (arg6989586621679570315 :: (~>) a6989586621679569924 b6989586621679569925) :: forall f6989586621679569923. (~>) (f6989586621679569923 a6989586621679569924) (f6989586621679569923 b6989586621679569925)
type FmapSym2 (arg6989586621679570315 :: (~>) a6989586621679569924 b6989586621679569925) (arg6989586621679570316 :: f6989586621679569923 a6989586621679569924) = Fmap arg6989586621679570315 arg6989586621679570316
data (>>=@#@$) :: forall m6989586621679569952 a6989586621679569953 b6989586621679569954. (~>) (m6989586621679569952 a6989586621679569953) ((~>) ((~>) a6989586621679569953 (m6989586621679569952 b6989586621679569954)) (m6989586621679569952 b6989586621679569954))
infixl 1 >>=@#@$
data (>>=@#@$$) (arg6989586621679570422 :: m6989586621679569952 a6989586621679569953) :: forall b6989586621679569954. (~>) ((~>) a6989586621679569953 (m6989586621679569952 b6989586621679569954)) (m6989586621679569952 b6989586621679569954)
infixl 1 >>=@#@$$
type (>>=@#@$$$) (arg6989586621679570422 :: m6989586621679569952 a6989586621679569953) (arg6989586621679570423 :: (~>) a6989586621679569953 (m6989586621679569952 b6989586621679569954)) = (>>=) arg6989586621679570422 arg6989586621679570423
data (>>@#@$) :: forall m6989586621679569952 a6989586621679569955 b6989586621679569956. (~>) (m6989586621679569952 a6989586621679569955) ((~>) (m6989586621679569952 b6989586621679569956) (m6989586621679569952 b6989586621679569956))
infixl 1 >>@#@$
data (>>@#@$$) (arg6989586621679570426 :: m6989586621679569952 a6989586621679569955) :: forall b6989586621679569956. (~>) (m6989586621679569952 b6989586621679569956) (m6989586621679569952 b6989586621679569956)
infixl 1 >>@#@$$
type (>>@#@$$$) (arg6989586621679570426 :: m6989586621679569952 a6989586621679569955) (arg6989586621679570427 :: m6989586621679569952 b6989586621679569956) = (>>) arg6989586621679570426 arg6989586621679570427
data ReturnSym0 :: forall a6989586621679569957 m6989586621679569952. (~>) a6989586621679569957 (m6989586621679569952 a6989586621679569957)
type ReturnSym1 (arg6989586621679570430 :: a6989586621679569957) = Return arg6989586621679570430
data FailSym0 :: forall m6989586621679738015 a6989586621679738016. (~>) [Char] (m6989586621679738015 a6989586621679738016)
type FailSym1 (arg6989586621679738035 :: [Char]) = Fail arg6989586621679738035
type MzeroSym0 = Mzero
data MplusSym0 :: forall m6989586621679570006 a6989586621679570008. (~>) (m6989586621679570006 a6989586621679570008) ((~>) (m6989586621679570006 a6989586621679570008) (m6989586621679570006 a6989586621679570008))
data MplusSym1 (arg6989586621679570467 :: m6989586621679570006 a6989586621679570008) :: (~>) (m6989586621679570006 a6989586621679570008) (m6989586621679570006 a6989586621679570008)
type MplusSym2 (arg6989586621679570467 :: m6989586621679570006 a6989586621679570008) (arg6989586621679570468 :: m6989586621679570006 a6989586621679570008) = Mplus arg6989586621679570467 arg6989586621679570468
data MapMSym0 :: forall a6989586621680797804 m6989586621680797803 b6989586621680797805 t6989586621680797797. (~>) ((~>) a6989586621680797804 (m6989586621680797803 b6989586621680797805)) ((~>) (t6989586621680797797 a6989586621680797804) (m6989586621680797803 (t6989586621680797797 b6989586621680797805)))
data MapMSym1 (arg6989586621680797815 :: (~>) a6989586621680797804 (m6989586621680797803 b6989586621680797805)) :: forall t6989586621680797797. (~>) (t6989586621680797797 a6989586621680797804) (m6989586621680797803 (t6989586621680797797 b6989586621680797805))
type MapMSym2 (arg6989586621680797815 :: (~>) a6989586621680797804 (m6989586621680797803 b6989586621680797805)) (arg6989586621680797816 :: t6989586621680797797 a6989586621680797804) = MapM arg6989586621680797815 arg6989586621680797816
data MapM_Sym0 :: forall a6989586621680489551 m6989586621680489550 b6989586621680489552 t6989586621680489549. (~>) ((~>) a6989586621680489551 (m6989586621680489550 b6989586621680489552)) ((~>) (t6989586621680489549 a6989586621680489551) (m6989586621680489550 ()))
data MapM_Sym1 (a6989586621680490155 :: (~>) a6989586621680489551 (m6989586621680489550 b6989586621680489552)) :: forall t6989586621680489549. (~>) (t6989586621680489549 a6989586621680489551) (m6989586621680489550 ())
type MapM_Sym2 (a6989586621680490155 :: (~>) a6989586621680489551 (m6989586621680489550 b6989586621680489552)) (a6989586621680490156 :: t6989586621680489549 a6989586621680489551) = MapM_ a6989586621680490155 a6989586621680490156
data ForMSym0 :: forall t6989586621680803334 a6989586621680803336 m6989586621680803335 b6989586621680803337. (~>) (t6989586621680803334 a6989586621680803336) ((~>) ((~>) a6989586621680803336 (m6989586621680803335 b6989586621680803337)) (m6989586621680803335 (t6989586621680803334 b6989586621680803337)))
data ForMSym1 (a6989586621680803855 :: t6989586621680803334 a6989586621680803336) :: forall m6989586621680803335 b6989586621680803337. (~>) ((~>) a6989586621680803336 (m6989586621680803335 b6989586621680803337)) (m6989586621680803335 (t6989586621680803334 b6989586621680803337))
type ForMSym2 (a6989586621680803855 :: t6989586621680803334 a6989586621680803336) (a6989586621680803856 :: (~>) a6989586621680803336 (m6989586621680803335 b6989586621680803337)) = ForM a6989586621680803855 a6989586621680803856
data SequenceSym0 :: forall t6989586621680797797 m6989586621680797806 a6989586621680797807. (~>) (t6989586621680797797 (m6989586621680797806 a6989586621680797807)) (m6989586621680797806 (t6989586621680797797 a6989586621680797807))
type SequenceSym1 (arg6989586621680797819 :: t6989586621680797797 (m6989586621680797806 a6989586621680797807)) = Sequence arg6989586621680797819
data Sequence_Sym0 :: forall t6989586621680489539 m6989586621680489540 a6989586621680489541. (~>) (t6989586621680489539 (m6989586621680489540 a6989586621680489541)) (m6989586621680489540 ())
type Sequence_Sym1 (a6989586621680490137 :: t6989586621680489539 (m6989586621680489540 a6989586621680489541)) = Sequence_ a6989586621680490137
data (=<<@#@$) :: forall a6989586621679569876 m6989586621679569875 b6989586621679569877. (~>) ((~>) a6989586621679569876 (m6989586621679569875 b6989586621679569877)) ((~>) (m6989586621679569875 a6989586621679569876) (m6989586621679569875 b6989586621679569877))
infixr 1 =<<@#@$
data (=<<@#@$$) (a6989586621679570268 :: (~>) a6989586621679569876 (m6989586621679569875 b6989586621679569877)) :: (~>) (m6989586621679569875 a6989586621679569876) (m6989586621679569875 b6989586621679569877)
infixr 1 =<<@#@$$
type (=<<@#@$$$) (a6989586621679570268 :: (~>) a6989586621679569876 (m6989586621679569875 b6989586621679569877)) (a6989586621679570269 :: m6989586621679569875 a6989586621679569876) = (=<<) a6989586621679570268 a6989586621679570269
data (>=>@#@$) :: forall a6989586621681273897 m6989586621681273896 b6989586621681273898 c6989586621681273899. (~>) ((~>) a6989586621681273897 (m6989586621681273896 b6989586621681273898)) ((~>) ((~>) b6989586621681273898 (m6989586621681273896 c6989586621681273899)) ((~>) a6989586621681273897 (m6989586621681273896 c6989586621681273899)))
infixr 1 >=>@#@$
data (>=>@#@$$) (a6989586621681274329 :: (~>) a6989586621681273897 (m6989586621681273896 b6989586621681273898)) :: forall c6989586621681273899. (~>) ((~>) b6989586621681273898 (m6989586621681273896 c6989586621681273899)) ((~>) a6989586621681273897 (m6989586621681273896 c6989586621681273899))
infixr 1 >=>@#@$$
data (>=>@#@$$$) (a6989586621681274329 :: (~>) a6989586621681273897 (m6989586621681273896 b6989586621681273898)) (a6989586621681274330 :: (~>) b6989586621681273898 (m6989586621681273896 c6989586621681273899)) :: (~>) a6989586621681273897 (m6989586621681273896 c6989586621681273899)
infixr 1 >=>@#@$$$
data (<=<@#@$) :: forall b6989586621681273893 m6989586621681273892 c6989586621681273894 a6989586621681273895. (~>) ((~>) b6989586621681273893 (m6989586621681273892 c6989586621681273894)) ((~>) ((~>) a6989586621681273895 (m6989586621681273892 b6989586621681273893)) ((~>) a6989586621681273895 (m6989586621681273892 c6989586621681273894)))
infixr 1 <=<@#@$
data (<=<@#@$$) (a6989586621681274320 :: (~>) b6989586621681273893 (m6989586621681273892 c6989586621681273894)) :: forall a6989586621681273895. (~>) ((~>) a6989586621681273895 (m6989586621681273892 b6989586621681273893)) ((~>) a6989586621681273895 (m6989586621681273892 c6989586621681273894))
infixr 1 <=<@#@$$
data (<=<@#@$$$) (a6989586621681274320 :: (~>) b6989586621681273893 (m6989586621681273892 c6989586621681273894)) (a6989586621681274321 :: (~>) a6989586621681273895 (m6989586621681273892 b6989586621681273893)) :: (~>) a6989586621681273895 (m6989586621681273892 c6989586621681273894)
infixr 1 <=<@#@$$$
data VoidSym0 :: forall f6989586621679740091 a6989586621679740092. (~>) (f6989586621679740091 a6989586621679740092) (f6989586621679740091 ())
type VoidSym1 (a6989586621679740158 :: f6989586621679740091 a6989586621679740092) = Void a6989586621679740158
data JoinSym0 :: forall m6989586621679569878 a6989586621679569879. (~>) (m6989586621679569878 (m6989586621679569878 a6989586621679569879)) (m6989586621679569878 a6989586621679569879)
type JoinSym1 (a6989586621679570274 :: m6989586621679569878 (m6989586621679569878 a6989586621679569879)) = Join a6989586621679570274
data MsumSym0 :: forall t6989586621680489533 m6989586621680489534 a6989586621680489535. (~>) (t6989586621680489533 (m6989586621680489534 a6989586621680489535)) (m6989586621680489534 a6989586621680489535)
type MsumSym1 (a6989586621680490127 :: t6989586621680489533 (m6989586621680489534 a6989586621680489535)) = Msum a6989586621680490127
data MfilterSym0 :: forall a6989586621681273863 m6989586621681273862. (~>) ((~>) a6989586621681273863 Bool) ((~>) (m6989586621681273862 a6989586621681273863) (m6989586621681273862 a6989586621681273863))
data MfilterSym1 (a6989586621681274182 :: (~>) a6989586621681273863 Bool) :: forall m6989586621681273862. (~>) (m6989586621681273862 a6989586621681273863) (m6989586621681273862 a6989586621681273863)
type MfilterSym2 (a6989586621681274182 :: (~>) a6989586621681273863 Bool) (a6989586621681274183 :: m6989586621681273862 a6989586621681273863) = Mfilter a6989586621681274182 a6989586621681274183
data FilterMSym0 :: forall a6989586621681273901 m6989586621681273900. (~>) ((~>) a6989586621681273901 (m6989586621681273900 Bool)) ((~>) [a6989586621681273901] (m6989586621681273900 [a6989586621681273901]))
data FilterMSym1 (a6989586621681274348 :: (~>) a6989586621681273901 (m6989586621681273900 Bool)) :: (~>) [a6989586621681273901] (m6989586621681273900 [a6989586621681273901])
type FilterMSym2 (a6989586621681274348 :: (~>) a6989586621681273901 (m6989586621681273900 Bool)) (a6989586621681274349 :: [a6989586621681273901]) = FilterM a6989586621681274348 a6989586621681274349
data MapAndUnzipMSym0 :: forall a6989586621681273889 m6989586621681273888 b6989586621681273890 c6989586621681273891. (~>) ((~>) a6989586621681273889 (m6989586621681273888 (b6989586621681273890, c6989586621681273891))) ((~>) [a6989586621681273889] (m6989586621681273888 ([b6989586621681273890], [c6989586621681273891])))
data MapAndUnzipMSym1 (a6989586621681274308 :: (~>) a6989586621681273889 (m6989586621681273888 (b6989586621681273890, c6989586621681273891))) :: (~>) [a6989586621681273889] (m6989586621681273888 ([b6989586621681273890], [c6989586621681273891]))
type MapAndUnzipMSym2 (a6989586621681274308 :: (~>) a6989586621681273889 (m6989586621681273888 (b6989586621681273890, c6989586621681273891))) (a6989586621681274309 :: [a6989586621681273889]) = MapAndUnzipM a6989586621681274308 a6989586621681274309
data ZipWithMSym0 :: forall a6989586621681273885 b6989586621681273886 m6989586621681273884 c6989586621681273887. (~>) ((~>) a6989586621681273885 ((~>) b6989586621681273886 (m6989586621681273884 c6989586621681273887))) ((~>) [a6989586621681273885] ((~>) [b6989586621681273886] (m6989586621681273884 [c6989586621681273887])))
data ZipWithMSym1 (a6989586621681274299 :: (~>) a6989586621681273885 ((~>) b6989586621681273886 (m6989586621681273884 c6989586621681273887))) :: (~>) [a6989586621681273885] ((~>) [b6989586621681273886] (m6989586621681273884 [c6989586621681273887]))
data ZipWithMSym2 (a6989586621681274299 :: (~>) a6989586621681273885 ((~>) b6989586621681273886 (m6989586621681273884 c6989586621681273887))) (a6989586621681274300 :: [a6989586621681273885]) :: (~>) [b6989586621681273886] (m6989586621681273884 [c6989586621681273887])
type ZipWithMSym3 (a6989586621681274299 :: (~>) a6989586621681273885 ((~>) b6989586621681273886 (m6989586621681273884 c6989586621681273887))) (a6989586621681274300 :: [a6989586621681273885]) (a6989586621681274301 :: [b6989586621681273886]) = ZipWithM a6989586621681274299 a6989586621681274300 a6989586621681274301
data ZipWithM_Sym0 :: forall a6989586621681273881 b6989586621681273882 m6989586621681273880 c6989586621681273883. (~>) ((~>) a6989586621681273881 ((~>) b6989586621681273882 (m6989586621681273880 c6989586621681273883))) ((~>) [a6989586621681273881] ((~>) [b6989586621681273882] (m6989586621681273880 ())))
data ZipWithM_Sym1 (a6989586621681274290 :: (~>) a6989586621681273881 ((~>) b6989586621681273882 (m6989586621681273880 c6989586621681273883))) :: (~>) [a6989586621681273881] ((~>) [b6989586621681273882] (m6989586621681273880 ()))
data ZipWithM_Sym2 (a6989586621681274290 :: (~>) a6989586621681273881 ((~>) b6989586621681273882 (m6989586621681273880 c6989586621681273883))) (a6989586621681274291 :: [a6989586621681273881]) :: (~>) [b6989586621681273882] (m6989586621681273880 ())
type ZipWithM_Sym3 (a6989586621681274290 :: (~>) a6989586621681273881 ((~>) b6989586621681273882 (m6989586621681273880 c6989586621681273883))) (a6989586621681274291 :: [a6989586621681273881]) (a6989586621681274292 :: [b6989586621681273882]) = ZipWithM_ a6989586621681274290 a6989586621681274291 a6989586621681274292
data FoldlMSym0 :: forall b6989586621680489563 a6989586621680489564 m6989586621680489562 t6989586621680489561. (~>) ((~>) b6989586621680489563 ((~>) a6989586621680489564 (m6989586621680489562 b6989586621680489563))) ((~>) b6989586621680489563 ((~>) (t6989586621680489561 a6989586621680489564) (m6989586621680489562 b6989586621680489563)))
data FoldlMSym1 (a6989586621680490181 :: (~>) b6989586621680489563 ((~>) a6989586621680489564 (m6989586621680489562 b6989586621680489563))) :: forall t6989586621680489561. (~>) b6989586621680489563 ((~>) (t6989586621680489561 a6989586621680489564) (m6989586621680489562 b6989586621680489563))
data FoldlMSym2 (a6989586621680490181 :: (~>) b6989586621680489563 ((~>) a6989586621680489564 (m6989586621680489562 b6989586621680489563))) (a6989586621680490182 :: b6989586621680489563) :: forall t6989586621680489561. (~>) (t6989586621680489561 a6989586621680489564) (m6989586621680489562 b6989586621680489563)
type FoldlMSym3 (a6989586621680490181 :: (~>) b6989586621680489563 ((~>) a6989586621680489564 (m6989586621680489562 b6989586621680489563))) (a6989586621680490182 :: b6989586621680489563) (a6989586621680490183 :: t6989586621680489561 a6989586621680489564) = FoldlM a6989586621680490181 a6989586621680490182 a6989586621680490183
data ReplicateMSym0 :: forall m6989586621681273870 a6989586621681273871. (~>) Nat ((~>) (m6989586621681273870 a6989586621681273871) (m6989586621681273870 [a6989586621681273871]))
data ReplicateMSym1 (a6989586621681274247 :: Nat) :: forall m6989586621681273870 a6989586621681273871. (~>) (m6989586621681273870 a6989586621681273871) (m6989586621681273870 [a6989586621681273871])
type ReplicateMSym2 (a6989586621681274247 :: Nat) (a6989586621681274248 :: m6989586621681273870 a6989586621681273871) = ReplicateM a6989586621681274247 a6989586621681274248
data ReplicateM_Sym0 :: forall m6989586621681273868 a6989586621681273869. (~>) Nat ((~>) (m6989586621681273868 a6989586621681273869) (m6989586621681273868 ()))
data ReplicateM_Sym1 (a6989586621681274228 :: Nat) :: forall m6989586621681273868 a6989586621681273869. (~>) (m6989586621681273868 a6989586621681273869) (m6989586621681273868 ())
type ReplicateM_Sym2 (a6989586621681274228 :: Nat) (a6989586621681274229 :: m6989586621681273868 a6989586621681273869) = ReplicateM_ a6989586621681274228 a6989586621681274229
data GuardSym0 :: forall f6989586621679569845. (~>) Bool (f6989586621679569845 ())
type GuardSym1 (a6989586621679570011 :: Bool) = Guard a6989586621679570011
data WhenSym0 :: forall f6989586621679569874. (~>) Bool ((~>) (f6989586621679569874 ()) (f6989586621679569874 ()))
data WhenSym1 (a6989586621679570259 :: Bool) :: forall f6989586621679569874. (~>) (f6989586621679569874 ()) (f6989586621679569874 ())
type WhenSym2 (a6989586621679570259 :: Bool) (a6989586621679570260 :: f6989586621679569874 ()) = When a6989586621679570259 a6989586621679570260
data UnlessSym0 :: forall f6989586621681273867. (~>) Bool ((~>) (f6989586621681273867 ()) (f6989586621681273867 ()))
data UnlessSym1 (a6989586621681274219 :: Bool) :: forall f6989586621681273867. (~>) (f6989586621681273867 ()) (f6989586621681273867 ())
type UnlessSym2 (a6989586621681274219 :: Bool) (a6989586621681274220 :: f6989586621681273867 ()) = Unless a6989586621681274219 a6989586621681274220
data LiftMSym0 :: forall a16989586621679569872 r6989586621679569873 m6989586621679569871. (~>) ((~>) a16989586621679569872 r6989586621679569873) ((~>) (m6989586621679569871 a16989586621679569872) (m6989586621679569871 r6989586621679569873))
data LiftMSym1 (a6989586621679570246 :: (~>) a16989586621679569872 r6989586621679569873) :: forall m6989586621679569871. (~>) (m6989586621679569871 a16989586621679569872) (m6989586621679569871 r6989586621679569873)
type LiftMSym2 (a6989586621679570246 :: (~>) a16989586621679569872 r6989586621679569873) (a6989586621679570247 :: m6989586621679569871 a16989586621679569872) = LiftM a6989586621679570246 a6989586621679570247
data LiftM2Sym0 :: forall a16989586621679569868 a26989586621679569869 r6989586621679569870 m6989586621679569867. (~>) ((~>) a16989586621679569868 ((~>) a26989586621679569869 r6989586621679569870)) ((~>) (m6989586621679569867 a16989586621679569868) ((~>) (m6989586621679569867 a26989586621679569869) (m6989586621679569867 r6989586621679569870)))
data LiftM2Sym1 (a6989586621679570220 :: (~>) a16989586621679569868 ((~>) a26989586621679569869 r6989586621679569870)) :: forall m6989586621679569867. (~>) (m6989586621679569867 a16989586621679569868) ((~>) (m6989586621679569867 a26989586621679569869) (m6989586621679569867 r6989586621679569870))
data LiftM2Sym2 (a6989586621679570220 :: (~>) a16989586621679569868 ((~>) a26989586621679569869 r6989586621679569870)) (a6989586621679570221 :: m6989586621679569867 a16989586621679569868) :: (~>) (m6989586621679569867 a26989586621679569869) (m6989586621679569867 r6989586621679569870)
type LiftM2Sym3 (a6989586621679570220 :: (~>) a16989586621679569868 ((~>) a26989586621679569869 r6989586621679569870)) (a6989586621679570221 :: m6989586621679569867 a16989586621679569868) (a6989586621679570222 :: m6989586621679569867 a26989586621679569869) = LiftM2 a6989586621679570220 a6989586621679570221 a6989586621679570222
data LiftM3Sym0 :: forall a16989586621679569863 a26989586621679569864 a36989586621679569865 r6989586621679569866 m6989586621679569862. (~>) ((~>) a16989586621679569863 ((~>) a26989586621679569864 ((~>) a36989586621679569865 r6989586621679569866))) ((~>) (m6989586621679569862 a16989586621679569863) ((~>) (m6989586621679569862 a26989586621679569864) ((~>) (m6989586621679569862 a36989586621679569865) (m6989586621679569862 r6989586621679569866))))
data LiftM3Sym1 (a6989586621679570178 :: (~>) a16989586621679569863 ((~>) a26989586621679569864 ((~>) a36989586621679569865 r6989586621679569866))) :: forall m6989586621679569862. (~>) (m6989586621679569862 a16989586621679569863) ((~>) (m6989586621679569862 a26989586621679569864) ((~>) (m6989586621679569862 a36989586621679569865) (m6989586621679569862 r6989586621679569866)))
data LiftM3Sym2 (a6989586621679570178 :: (~>) a16989586621679569863 ((~>) a26989586621679569864 ((~>) a36989586621679569865 r6989586621679569866))) (a6989586621679570179 :: m6989586621679569862 a16989586621679569863) :: (~>) (m6989586621679569862 a26989586621679569864) ((~>) (m6989586621679569862 a36989586621679569865) (m6989586621679569862 r6989586621679569866))
data LiftM3Sym3 (a6989586621679570178 :: (~>) a16989586621679569863 ((~>) a26989586621679569864 ((~>) a36989586621679569865 r6989586621679569866))) (a6989586621679570179 :: m6989586621679569862 a16989586621679569863) (a6989586621679570180 :: m6989586621679569862 a26989586621679569864) :: (~>) (m6989586621679569862 a36989586621679569865) (m6989586621679569862 r6989586621679569866)
type LiftM3Sym4 (a6989586621679570178 :: (~>) a16989586621679569863 ((~>) a26989586621679569864 ((~>) a36989586621679569865 r6989586621679569866))) (a6989586621679570179 :: m6989586621679569862 a16989586621679569863) (a6989586621679570180 :: m6989586621679569862 a26989586621679569864) (a6989586621679570181 :: m6989586621679569862 a36989586621679569865) = LiftM3 a6989586621679570178 a6989586621679570179 a6989586621679570180 a6989586621679570181
data LiftM4Sym0 :: forall a16989586621679569857 a26989586621679569858 a36989586621679569859 a46989586621679569860 r6989586621679569861 m6989586621679569856. (~>) ((~>) a16989586621679569857 ((~>) a26989586621679569858 ((~>) a36989586621679569859 ((~>) a46989586621679569860 r6989586621679569861)))) ((~>) (m6989586621679569856 a16989586621679569857) ((~>) (m6989586621679569856 a26989586621679569858) ((~>) (m6989586621679569856 a36989586621679569859) ((~>) (m6989586621679569856 a46989586621679569860) (m6989586621679569856 r6989586621679569861)))))
data LiftM4Sym1 (a6989586621679570117 :: (~>) a16989586621679569857 ((~>) a26989586621679569858 ((~>) a36989586621679569859 ((~>) a46989586621679569860 r6989586621679569861)))) :: forall m6989586621679569856. (~>) (m6989586621679569856 a16989586621679569857) ((~>) (m6989586621679569856 a26989586621679569858) ((~>) (m6989586621679569856 a36989586621679569859) ((~>) (m6989586621679569856 a46989586621679569860) (m6989586621679569856 r6989586621679569861))))
data LiftM4Sym2 (a6989586621679570117 :: (~>) a16989586621679569857 ((~>) a26989586621679569858 ((~>) a36989586621679569859 ((~>) a46989586621679569860 r6989586621679569861)))) (a6989586621679570118 :: m6989586621679569856 a16989586621679569857) :: (~>) (m6989586621679569856 a26989586621679569858) ((~>) (m6989586621679569856 a36989586621679569859) ((~>) (m6989586621679569856 a46989586621679569860) (m6989586621679569856 r6989586621679569861)))
data LiftM4Sym3 (a6989586621679570117 :: (~>) a16989586621679569857 ((~>) a26989586621679569858 ((~>) a36989586621679569859 ((~>) a46989586621679569860 r6989586621679569861)))) (a6989586621679570118 :: m6989586621679569856 a16989586621679569857) (a6989586621679570119 :: m6989586621679569856 a26989586621679569858) :: (~>) (m6989586621679569856 a36989586621679569859) ((~>) (m6989586621679569856 a46989586621679569860) (m6989586621679569856 r6989586621679569861))
data LiftM4Sym4 (a6989586621679570117 :: (~>) a16989586621679569857 ((~>) a26989586621679569858 ((~>) a36989586621679569859 ((~>) a46989586621679569860 r6989586621679569861)))) (a6989586621679570118 :: m6989586621679569856 a16989586621679569857) (a6989586621679570119 :: m6989586621679569856 a26989586621679569858) (a6989586621679570120 :: m6989586621679569856 a36989586621679569859) :: (~>) (m6989586621679569856 a46989586621679569860) (m6989586621679569856 r6989586621679569861)
type LiftM4Sym5 (a6989586621679570117 :: (~>) a16989586621679569857 ((~>) a26989586621679569858 ((~>) a36989586621679569859 ((~>) a46989586621679569860 r6989586621679569861)))) (a6989586621679570118 :: m6989586621679569856 a16989586621679569857) (a6989586621679570119 :: m6989586621679569856 a26989586621679569858) (a6989586621679570120 :: m6989586621679569856 a36989586621679569859) (a6989586621679570121 :: m6989586621679569856 a46989586621679569860) = LiftM4 a6989586621679570117 a6989586621679570118 a6989586621679570119 a6989586621679570120 a6989586621679570121
data LiftM5Sym0 :: forall a16989586621679569850 a26989586621679569851 a36989586621679569852 a46989586621679569853 a56989586621679569854 r6989586621679569855 m6989586621679569849. (~>) ((~>) a16989586621679569850 ((~>) a26989586621679569851 ((~>) a36989586621679569852 ((~>) a46989586621679569853 ((~>) a56989586621679569854 r6989586621679569855))))) ((~>) (m6989586621679569849 a16989586621679569850) ((~>) (m6989586621679569849 a26989586621679569851) ((~>) (m6989586621679569849 a36989586621679569852) ((~>) (m6989586621679569849 a46989586621679569853) ((~>) (m6989586621679569849 a56989586621679569854) (m6989586621679569849 r6989586621679569855))))))
data LiftM5Sym1 (a6989586621679570034 :: (~>) a16989586621679569850 ((~>) a26989586621679569851 ((~>) a36989586621679569852 ((~>) a46989586621679569853 ((~>) a56989586621679569854 r6989586621679569855))))) :: forall m6989586621679569849. (~>) (m6989586621679569849 a16989586621679569850) ((~>) (m6989586621679569849 a26989586621679569851) ((~>) (m6989586621679569849 a36989586621679569852) ((~>) (m6989586621679569849 a46989586621679569853) ((~>) (m6989586621679569849 a56989586621679569854) (m6989586621679569849 r6989586621679569855)))))
data LiftM5Sym2 (a6989586621679570034 :: (~>) a16989586621679569850 ((~>) a26989586621679569851 ((~>) a36989586621679569852 ((~>) a46989586621679569853 ((~>) a56989586621679569854 r6989586621679569855))))) (a6989586621679570035 :: m6989586621679569849 a16989586621679569850) :: (~>) (m6989586621679569849 a26989586621679569851) ((~>) (m6989586621679569849 a36989586621679569852) ((~>) (m6989586621679569849 a46989586621679569853) ((~>) (m6989586621679569849 a56989586621679569854) (m6989586621679569849 r6989586621679569855))))
data LiftM5Sym3 (a6989586621679570034 :: (~>) a16989586621679569850 ((~>) a26989586621679569851 ((~>) a36989586621679569852 ((~>) a46989586621679569853 ((~>) a56989586621679569854 r6989586621679569855))))) (a6989586621679570035 :: m6989586621679569849 a16989586621679569850) (a6989586621679570036 :: m6989586621679569849 a26989586621679569851) :: (~>) (m6989586621679569849 a36989586621679569852) ((~>) (m6989586621679569849 a46989586621679569853) ((~>) (m6989586621679569849 a56989586621679569854) (m6989586621679569849 r6989586621679569855)))
data LiftM5Sym4 (a6989586621679570034 :: (~>) a16989586621679569850 ((~>) a26989586621679569851 ((~>) a36989586621679569852 ((~>) a46989586621679569853 ((~>) a56989586621679569854 r6989586621679569855))))) (a6989586621679570035 :: m6989586621679569849 a16989586621679569850) (a6989586621679570036 :: m6989586621679569849 a26989586621679569851) (a6989586621679570037 :: m6989586621679569849 a36989586621679569852) :: (~>) (m6989586621679569849 a46989586621679569853) ((~>) (m6989586621679569849 a56989586621679569854) (m6989586621679569849 r6989586621679569855))
data LiftM5Sym5 (a6989586621679570034 :: (~>) a16989586621679569850 ((~>) a26989586621679569851 ((~>) a36989586621679569852 ((~>) a46989586621679569853 ((~>) a56989586621679569854 r6989586621679569855))))) (a6989586621679570035 :: m6989586621679569849 a16989586621679569850) (a6989586621679570036 :: m6989586621679569849 a26989586621679569851) (a6989586621679570037 :: m6989586621679569849 a36989586621679569852) (a6989586621679570038 :: m6989586621679569849 a46989586621679569853) :: (~>) (m6989586621679569849 a56989586621679569854) (m6989586621679569849 r6989586621679569855)
type LiftM5Sym6 (a6989586621679570034 :: (~>) a16989586621679569850 ((~>) a26989586621679569851 ((~>) a36989586621679569852 ((~>) a46989586621679569853 ((~>) a56989586621679569854 r6989586621679569855))))) (a6989586621679570035 :: m6989586621679569849 a16989586621679569850) (a6989586621679570036 :: m6989586621679569849 a26989586621679569851) (a6989586621679570037 :: m6989586621679569849 a36989586621679569852) (a6989586621679570038 :: m6989586621679569849 a46989586621679569853) (a6989586621679570039 :: m6989586621679569849 a56989586621679569854) = LiftM5 a6989586621679570034 a6989586621679570035 a6989586621679570036 a6989586621679570037 a6989586621679570038 a6989586621679570039
data ApSym0 :: forall m6989586621679569846 a6989586621679569847 b6989586621679569848. (~>) (m6989586621679569846 ((~>) a6989586621679569847 b6989586621679569848)) ((~>) (m6989586621679569846 a6989586621679569847) (m6989586621679569846 b6989586621679569848))
data ApSym1 (a6989586621679570013 :: m6989586621679569846 ((~>) a6989586621679569847 b6989586621679569848)) :: (~>) (m6989586621679569846 a6989586621679569847) (m6989586621679569846 b6989586621679569848)
type ApSym2 (a6989586621679570013 :: m6989586621679569846 ((~>) a6989586621679569847 b6989586621679569848)) (a6989586621679570014 :: m6989586621679569846 a6989586621679569847) = Ap a6989586621679570013 a6989586621679570014
data (<$!>@#@$) :: forall a6989586621681273865 b6989586621681273866 m6989586621681273864. (~>) ((~>) a6989586621681273865 b6989586621681273866) ((~>) (m6989586621681273864 a6989586621681273865) (m6989586621681273864 b6989586621681273866))
infixl 4 <$!>@#@$
data (<$!>@#@$$) (a6989586621681274202 :: (~>) a6989586621681273865 b6989586621681273866) :: forall m6989586621681273864. (~>) (m6989586621681273864 a6989586621681273865) (m6989586621681273864 b6989586621681273866)
infixl 4 <$!>@#@$$
type (<$!>@#@$$$) (a6989586621681274202 :: (~>) a6989586621681273865 b6989586621681273866) (a6989586621681274203 :: m6989586621681273864 a6989586621681273865) = (<$!>) a6989586621681274202 a6989586621681274203
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.TFHelper_6989586621681274398Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad Data.Ord.Down
instance forall a6989586621679569953 b6989586621679569954 (a6989586621681274396 :: Data.Ord.Down a6989586621679569953). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.TFHelper_6989586621681274398Sym1 a6989586621681274396)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.TFHelper_6989586621681274376Sym0
instance Data.Singletons.Prelude.Monad.Internal.PMonad ((,) a)
instance forall a6989586621681273949 a6989586621679569953 b6989586621679569954 (a6989586621681274374 :: (a6989586621681273949, a6989586621679569953)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.TFHelper_6989586621681274376Sym1 a6989586621681274374)
instance Data.Singletons.Prelude.Monoid.SMonoid a => Data.Singletons.Prelude.Monad.Internal.SMonad ((,) a)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681274385Scrutinee_6989586621681273963Sym0
instance forall k1 k2 k3 (u6989586621681274382 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681274385Scrutinee_6989586621681273963Sym1 u6989586621681274382)
instance forall k1 k2 k3 (a6989586621681274383 :: k1) (u6989586621681274382 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681274385Scrutinee_6989586621681273963Sym2 a6989586621681274383 u6989586621681274382)
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 a6989586621681273901 (m6989586621681273900 :: * -> *) (a6989586621681274348 :: a6989586621681273901 Data.Singletons.Internal.~> m6989586621681273900 GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FilterMSym1 a6989586621681274348)
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 b6989586621681273893 (m6989586621681273892 :: * -> *) c6989586621681273894 a6989586621681273895 (a6989586621681274320 :: b6989586621681273893 Data.Singletons.Internal.~> m6989586621681273892 c6989586621681273894). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Monad.<=<@#@$$) a6989586621681274320)
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 b6989586621681273893 (m6989586621681273892 :: * -> *) c6989586621681273894 a6989586621681273895 (a6989586621681274321 :: b6989586621681273893 Data.Singletons.Internal.~> m6989586621681273892 c6989586621681273894) (a6989586621681274320 :: a6989586621681273895 Data.Singletons.Internal.~> m6989586621681273892 b6989586621681273893). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (a6989586621681274321 Data.Singletons.Prelude.Monad.<=<@#@$$$ a6989586621681274320)
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 a6989586621681273897 (m6989586621681273896 :: * -> *) b6989586621681273898 c6989586621681273899 (a6989586621681274329 :: a6989586621681273897 Data.Singletons.Internal.~> m6989586621681273896 b6989586621681273898). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Monad.>=>@#@$$) a6989586621681274329)
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 a6989586621681273897 (m6989586621681273896 :: * -> *) b6989586621681273898 c6989586621681273899 (a6989586621681274330 :: a6989586621681273897 Data.Singletons.Internal.~> m6989586621681273896 b6989586621681273898) (a6989586621681274329 :: b6989586621681273898 Data.Singletons.Internal.~> m6989586621681273896 c6989586621681273899). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (a6989586621681274330 Data.Singletons.Prelude.Monad.>=>@#@$$$ a6989586621681274329)
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 a6989586621681273889 (m6989586621681273888 :: * -> *) b6989586621681273890 c6989586621681273891 (a6989586621681274308 :: a6989586621681273889 Data.Singletons.Internal.~> m6989586621681273888 (b6989586621681273890, c6989586621681273891)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.MapAndUnzipMSym1 a6989586621681274308)
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 a6989586621681273885 b6989586621681273886 (m6989586621681273884 :: * -> *) c6989586621681273887 (a6989586621681274299 :: a6989586621681273885 Data.Singletons.Internal.~> (b6989586621681273886 Data.Singletons.Internal.~> m6989586621681273884 c6989586621681273887)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithMSym1 a6989586621681274299)
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 a6989586621681273885 b6989586621681273886 (m6989586621681273884 :: * -> *) c6989586621681273887 (a6989586621681274300 :: a6989586621681273885 Data.Singletons.Internal.~> (b6989586621681273886 Data.Singletons.Internal.~> m6989586621681273884 c6989586621681273887)) (a6989586621681274299 :: [a6989586621681273885]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithMSym2 a6989586621681274300 a6989586621681274299)
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 a6989586621681273881 b6989586621681273882 (m6989586621681273880 :: * -> *) c6989586621681273883 (a6989586621681274290 :: a6989586621681273881 Data.Singletons.Internal.~> (b6989586621681273882 Data.Singletons.Internal.~> m6989586621681273880 c6989586621681273883)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithM_Sym1 a6989586621681274290)
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 a6989586621681273881 b6989586621681273882 (m6989586621681273880 :: * -> *) c6989586621681273883 (a6989586621681274291 :: a6989586621681273881 Data.Singletons.Internal.~> (b6989586621681273882 Data.Singletons.Internal.~> m6989586621681273880 c6989586621681273883)) (a6989586621681274290 :: [a6989586621681273881]). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.ZipWithM_Sym2 a6989586621681274291 a6989586621681274290)
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 b6989586621681273878 a6989586621681273879 (m6989586621681273877 :: * -> *) (t6989586621681273876 :: * -> *) (a6989586621681274281 :: b6989586621681273878 Data.Singletons.Internal.~> (a6989586621681273879 Data.Singletons.Internal.~> m6989586621681273877 b6989586621681273878)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldMSym1 a6989586621681274281)
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 b6989586621681273878 a6989586621681273879 (m6989586621681273877 :: * -> *) (t6989586621681273876 :: * -> *) (a6989586621681274282 :: b6989586621681273878 Data.Singletons.Internal.~> (a6989586621681273879 Data.Singletons.Internal.~> m6989586621681273877 b6989586621681273878)) (a6989586621681274281 :: b6989586621681273878). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldMSym2 a6989586621681274282 a6989586621681274281)
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 b6989586621681273874 a6989586621681273875 (m6989586621681273873 :: * -> *) (t6989586621681273872 :: * -> *) (a6989586621681274266 :: b6989586621681273874 Data.Singletons.Internal.~> (a6989586621681273875 Data.Singletons.Internal.~> m6989586621681273873 b6989586621681273874)). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldM_Sym1 a6989586621681274266)
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 b6989586621681273874 a6989586621681273875 (m6989586621681273873 :: * -> *) (t6989586621681273872 :: * -> *) (a6989586621681274267 :: b6989586621681273874 Data.Singletons.Internal.~> (a6989586621681273875 Data.Singletons.Internal.~> m6989586621681273873 b6989586621681273874)) (a6989586621681274266 :: b6989586621681273874). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.FoldM_Sym2 a6989586621681274267 a6989586621681274266)
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 a6989586621681274247)
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 a6989586621681274228)
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 a6989586621681274219)
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 a6989586621681273865 b6989586621681273866 (m6989586621681273864 :: * -> *) (a6989586621681274202 :: a6989586621681273865 Data.Singletons.Internal.~> b6989586621681273866). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.Prelude.Monad.<$!>@#@$$) a6989586621681274202)
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 a6989586621681273863 (m6989586621681273862 :: * -> *) (a6989586621681274182 :: a6989586621681273863 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.MfilterSym1 a6989586621681274182)
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_6989586621681274356Sym0
instance forall k2 (f6989586621679569928 :: * -> *) k3 (p6989586621681274354 :: k2 Data.Singletons.Internal.~> f6989586621679569928 GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681274356Sym1 p6989586621681274354)
instance forall k2 (f6989586621679569928 :: * -> *) k3 (a_69895866216812743526989586621681274355 :: k2 Data.Singletons.Internal.~> f6989586621679569928 GHC.Types.Bool) (p6989586621681274354 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681274356Sym2 a_69895866216812743526989586621681274355 p6989586621681274354)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681274359Sym0
instance forall k1 k2 k3 (x6989586621681274358 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681274359Sym1 x6989586621681274358)
instance forall k1 k2 k3 (p6989586621681274354 :: k1) (x6989586621681274358 :: k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681274359Sym2 p6989586621681274354 x6989586621681274358)
instance forall k1 k2 k3 (a_69895866216812743526989586621681274355 :: k1) (p6989586621681274354 :: k2) (x6989586621681274358 :: k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681274359Sym3 a_69895866216812743526989586621681274355 p6989586621681274354 x6989586621681274358)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681274340Sym0
instance forall k1 (m6989586621679569952 :: * -> *) a6989586621679569953 b6989586621679569954 k (f6989586621681274337 :: k1 Data.Singletons.Internal.~> m6989586621679569952 a6989586621679569953). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681274340Sym1 f6989586621681274337)
instance forall k1 (m6989586621679569952 :: * -> *) a6989586621679569953 b6989586621679569954 k (g6989586621681274338 :: k1 Data.Singletons.Internal.~> m6989586621679569952 a6989586621679569953) (f6989586621681274337 :: a6989586621679569953 Data.Singletons.Internal.~> m6989586621679569952 b6989586621679569954). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681274340Sym2 g6989586621681274338 f6989586621681274337)
instance forall k1 (m6989586621679569952 :: * -> *) a6989586621679569953 b6989586621679569954 k (a_69895866216812743356989586621681274339 :: k1 Data.Singletons.Internal.~> m6989586621679569952 a6989586621679569953) (g6989586621681274338 :: a6989586621679569953 Data.Singletons.Internal.~> m6989586621679569952 b6989586621679569954) (f6989586621681274337 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681274340Sym3 a_69895866216812743356989586621681274339 g6989586621681274338 f6989586621681274337)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681274253LoopSym0
instance forall k (m :: * -> *) a (m6989586621681273870 :: * -> *) a6989586621681273871 (cnt06989586621681274251 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681274253LoopSym1 cnt06989586621681274251)
instance forall k (m :: * -> *) a (m6989586621681273870 :: * -> *) a6989586621681273871 (f6989586621681274252 :: k) (cnt06989586621681274251 :: m a). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681274253LoopSym2 f6989586621681274252 cnt06989586621681274251)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681274234LoopSym0
instance forall k (m :: * -> *) a6989586621679569935 (m6989586621681273868 :: * -> *) (cnt06989586621681274232 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681274234LoopSym1 cnt06989586621681274232)
instance forall k (m :: * -> *) a6989586621679569935 (m6989586621681273868 :: * -> *) (f6989586621681274233 :: k) (cnt06989586621681274232 :: m a6989586621679569935). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681274234LoopSym2 f6989586621681274233 cnt06989586621681274232)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681274208Sym0
instance forall k2 k3 k (m6989586621679569952 :: * -> *) (f6989586621681274206 :: k2 Data.Singletons.Internal.~> k3). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681274208Sym1 f6989586621681274206)
instance forall k2 k3 k (m6989586621679569952 :: * -> *) (m6989586621681274207 :: k2 Data.Singletons.Internal.~> k3) (f6989586621681274206 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681274208Sym2 m6989586621681274207 f6989586621681274206)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681274211ZSym0
instance forall k1 k2 k3 (x6989586621681274210 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681274211ZSym1 x6989586621681274210)
instance forall k1 k2 k3 (f6989586621681274206 :: k1) (x6989586621681274210 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681274211ZSym2 f6989586621681274206 x6989586621681274210)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Lambda_6989586621681274188Sym0
instance forall k1 k (m6989586621679569952 :: * -> *) (p6989586621681274186 :: k1 Data.Singletons.Internal.~> GHC.Types.Bool). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681274188Sym1 p6989586621681274186)
instance forall k1 k (m6989586621679569952 :: * -> *) (ma6989586621681274187 :: k1 Data.Singletons.Internal.~> GHC.Types.Bool) (p6989586621681274186 :: k). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Lambda_6989586621681274188Sym2 ma6989586621681274187 p6989586621681274186)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.Prelude.Monad.Let6989586621681274191Scrutinee_6989586621681273961Sym0
instance forall k1 k2 k3 (a6989586621681274190 :: k1). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681274191Scrutinee_6989586621681273961Sym1 a6989586621681274190)
instance forall k1 k2 k3 (p6989586621681274186 :: k1) (a6989586621681274190 :: k1 Data.Singletons.Internal.~> k2). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.Prelude.Monad.Let6989586621681274191Scrutinee_6989586621681273961Sym2 p6989586621681274186 a6989586621681274190)
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)

-- | <a>Proxy</a> is a type that holds no data, but has a phantom parameter
--   of arbitrary type (or even kind). Its use is to provide type
--   information, even though there is no value available of that type (or
--   it may be too costly to create one).
--   
--   Historically, <tt><a>Proxy</a> :: <a>Proxy</a> a</tt> is a safer
--   alternative to the <tt><a>undefined</a> :: a</tt> idiom.
--   
--   <pre>
--   &gt;&gt;&gt; Proxy :: Proxy (Void, Int -&gt; Int)
--   Proxy
--   </pre>
--   
--   Proxy can even hold types of higher kinds,
--   
--   <pre>
--   &gt;&gt;&gt; Proxy :: Proxy Either
--   Proxy
--   </pre>
--   
--   <pre>
--   &gt;&gt;&gt; Proxy :: Proxy Functor
--   Proxy
--   </pre>
--   
--   <pre>
--   &gt;&gt;&gt; Proxy :: Proxy complicatedStructure
--   Proxy
--   </pre>
data Proxy (t :: k)
Proxy :: Proxy (t :: k)
data DemoteSym0 :: (~>) Type Type
type DemoteSym1 (k6989586621679024293 :: Type) = Demote k6989586621679024293
data SameKindSym0 a6989586621679024299
data SameKindSym1 (a6989586621679024299 :: k6989586621679024298) b6989586621679024300
type SameKindSym2 (a6989586621679024299 :: k6989586621679024298) (b6989586621679024300 :: k6989586621679024298) = SameKind a6989586621679024299 b6989586621679024300
data KindOfSym0 a6989586621679024302
type KindOfSym1 (a6989586621679024302 :: k6989586621679024301) = KindOf a6989586621679024302
data (~>@#@$) a6989586621679022372
infixr 0 ~>@#@$
data (~>@#@$$) (a6989586621679022372 :: Type) b6989586621679022373
infixr 0 ~>@#@$$
type (~>@#@$$$) (a6989586621679022372 :: Type) (b6989586621679022373 :: Type) = (~>) a6989586621679022372 b6989586621679022373
data ApplySym0 :: forall k16989586621679022368 k26989586621679022369. (~>) ((~>) k16989586621679022368 k26989586621679022369) ((~>) k16989586621679022368 k26989586621679022369)
data ApplySym1 (f6989586621679022370 :: (~>) k16989586621679022368 k26989586621679022369) :: (~>) k16989586621679022368 k26989586621679022369
type ApplySym2 (f6989586621679022370 :: (~>) k16989586621679022368 k26989586621679022369) (x6989586621679022371 :: k16989586621679022368) = Apply f6989586621679022370 x6989586621679022371
data (@@@#@$) a6989586621679022366
infixl 9 @@@#@$
data (@@@#@$$) (a6989586621679022366 :: (~>) k16989586621679029246 k6989586621679029245) b6989586621679022367
infixl 9 @@@#@$$
type (@@@#@$$$) (a6989586621679022366 :: (~>) k16989586621679029246 k6989586621679029245) (b6989586621679022367 :: k16989586621679029246) = (@@) a6989586621679022366 b6989586621679022367
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.@@@#@$)
instance forall k16989586621679029246 k6989586621679029245 (a6989586621679022366 :: k16989586621679029246 Data.Singletons.Internal.~> k6989586621679029245). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.@@@#@$$) a6989586621679022366)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.ApplySym0
instance forall k16989586621679022368 k26989586621679022369 (f6989586621679022370 :: k16989586621679022368 Data.Singletons.Internal.~> k26989586621679022369). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.ApplySym1 f6989586621679022370)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.~>@#@$)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.~>@#@$$) a6989586621679022372)
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.KindOfSym0
instance Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings Data.Singletons.SameKindSym0
instance forall k6989586621679024298 (a6989586621679024299 :: k6989586621679024298). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings (Data.Singletons.SameKindSym1 a6989586621679024299)
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_a1hem :: a_11) (n_a1hen :: b_12). () => Sing (n_a1hem :: a_11) -> Sing (n_a1hen :: b_12) -> STuple2 '(n_a1hem, n_a1hen)
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_a1heT :: a_11) (n_a1heU :: b_12) (n_a1heV :: c_13). () => Sing (n_a1heT :: a_11) -> Sing (n_a1heU :: b_12) -> Sing (n_a1heV :: c_13) -> STuple3 '(n_a1heT, n_a1heU, n_a1heV)
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_a1hfG :: a_11) (n_a1hfH :: b_12) (n_a1hfI :: c_13) (n_a1hfJ :: d_14). () => Sing (n_a1hfG :: a_11) -> Sing (n_a1hfH :: b_12) -> Sing (n_a1hfI :: c_13) -> Sing (n_a1hfJ :: d_14) -> STuple4 '(n_a1hfG, n_a1hfH, n_a1hfI, n_a1hfJ)
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_a1hgL :: a_11) (n_a1hgM :: b_12) (n_a1hgN :: c_13) (n_a1hgO :: d_14) (n_a1hgP :: e_15). () => Sing (n_a1hgL :: a_11) -> Sing (n_a1hgM :: b_12) -> Sing (n_a1hgN :: c_13) -> Sing (n_a1hgO :: d_14) -> Sing (n_a1hgP :: e_15) -> STuple5 '(n_a1hgL, n_a1hgM, n_a1hgN, n_a1hgO, n_a1hgP)
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_a1hia :: a_11) (n_a1hib :: b_12) (n_a1hic :: c_13) (n_a1hid :: d_14) (n_a1hie :: e_15) (n_a1hif :: f_16). () => Sing (n_a1hia :: a_11) -> Sing (n_a1hib :: b_12) -> Sing (n_a1hic :: c_13) -> Sing (n_a1hid :: d_14) -> Sing (n_a1hie :: e_15) -> Sing (n_a1hif :: f_16) -> STuple6 '(n_a1hia, n_a1hib, n_a1hic, n_a1hid, n_a1hie, n_a1hif)
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_a1hjV :: a_11) (n_a1hjW :: b_12) (n_a1hjX :: c_13) (n_a1hjY :: d_14) (n_a1hjZ :: e_15) (n_a1hk0 :: f_16) (n_a1hk1 :: g_17). () => Sing (n_a1hjV :: a_11) -> Sing (n_a1hjW :: b_12) -> Sing (n_a1hjX :: c_13) -> Sing (n_a1hjY :: d_14) -> Sing (n_a1hjZ :: e_15) -> Sing (n_a1hk0 :: f_16) -> Sing (n_a1hk1 :: g_17) -> STuple7 '(n_a1hjV, n_a1hjW, n_a1hjX, n_a1hjY, n_a1hjZ, n_a1hk0, n_a1hk1)
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-level <a>If</a>. <tt>If True a b</tt> ==&gt; <tt>a</tt>; <tt>If
--   False a b</tt> ==&gt; <tt>b</tt>
type family If (cond :: Bool) (tru :: k) (fls :: k) :: k

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

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

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

-- | The singleton analogue of <a>Eq</a>. Unlike the definition for
--   <a>Eq</a>, it is required that instances define a body for
--   <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_a1BHs :: Type) where {
    type family Compare (arg_a1BIT :: a_a1BHs) (arg_a1BIU :: a_a1BHs) :: Ordering;
    type family (<) (arg_a1BIX :: a_a1BHs) (arg_a1BIY :: a_a1BHs) :: Bool;
    type family (<=) (arg_a1BJ1 :: a_a1BHs) (arg_a1BJ2 :: a_a1BHs) :: Bool;
    type family (>) (arg_a1BJ5 :: a_a1BHs) (arg_a1BJ6 :: a_a1BHs) :: Bool;
    type family (>=) (arg_a1BJ9 :: a_a1BHs) (arg_a1BJa :: a_a1BHs) :: Bool;
    type family Max (arg_a1BJd :: a_a1BHs) (arg_a1BJe :: a_a1BHs) :: a_a1BHs;
    type family Min (arg_a1BJh :: a_a1BHs) (arg_a1BJi :: a_a1BHs) :: a_a1BHs;
    type Compare a_a1BJl a_a1BJm = Apply (Apply Compare_6989586621679393161Sym0 a_a1BJl) a_a1BJm;
    type (<) a_a1BJJ a_a1BJK = Apply (Apply TFHelper_6989586621679393185Sym0 a_a1BJJ) a_a1BJK;
    type (<=) a_a1BK1 a_a1BK2 = Apply (Apply TFHelper_6989586621679393203Sym0 a_a1BK1) a_a1BK2;
    type (>) a_a1BKj a_a1BKk = Apply (Apply TFHelper_6989586621679393221Sym0 a_a1BKj) a_a1BKk;
    type (>=) a_a1BKB a_a1BKC = Apply (Apply TFHelper_6989586621679393239Sym0 a_a1BKB) a_a1BKC;
    type Max a_a1BKT a_a1BKU = Apply (Apply Max_6989586621679393257Sym0 a_a1BKT) a_a1BKU;
    type Min a_a1BLb a_a1BLc = Apply (Apply Min_6989586621679393275Sym0 a_a1BLb) a_a1BLc;
}
infix 4 >=
infix 4 >
infix 4 <=
infix 4 <
class SEq a_a1BHs => SOrd a_a1BHs
sCompare :: forall (t_a1BLC :: a_a1BHs) (t_a1BLD :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BLC -> Sing t_a1BLD -> Sing (Apply (Apply CompareSym0 t_a1BLC) t_a1BLD :: Ordering)
(%<) :: forall (t_a1BLG :: a_a1BHs) (t_a1BLH :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BLG -> Sing t_a1BLH -> Sing (Apply (Apply (<@#@$) t_a1BLG) t_a1BLH :: Bool)
(%<=) :: forall (t_a1BLK :: a_a1BHs) (t_a1BLL :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BLK -> Sing t_a1BLL -> Sing (Apply (Apply (<=@#@$) t_a1BLK) t_a1BLL :: Bool)
(%>) :: forall (t_a1BLO :: a_a1BHs) (t_a1BLP :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BLO -> Sing t_a1BLP -> Sing (Apply (Apply (>@#@$) t_a1BLO) t_a1BLP :: Bool)
(%>=) :: forall (t_a1BLS :: a_a1BHs) (t_a1BLT :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BLS -> Sing t_a1BLT -> Sing (Apply (Apply (>=@#@$) t_a1BLS) t_a1BLT :: Bool)
sMax :: forall (t_a1BLW :: a_a1BHs) (t_a1BLX :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BLW -> Sing t_a1BLX -> Sing (Apply (Apply MaxSym0 t_a1BLW) t_a1BLX :: a_a1BHs)
sMin :: forall (t_a1BM0 :: a_a1BHs) (t_a1BM1 :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BM0 -> Sing t_a1BM1 -> Sing (Apply (Apply MinSym0 t_a1BM0) t_a1BM1 :: a_a1BHs)
sCompare :: forall (t_a1BLC :: a_a1BHs) (t_a1BLD :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply CompareSym0 t_a1BLC) t_a1BLD :: Ordering) ~ Apply (Apply Compare_6989586621679393161Sym0 t_a1BLC) t_a1BLD) => Sing t_a1BLC -> Sing t_a1BLD -> Sing (Apply (Apply CompareSym0 t_a1BLC) t_a1BLD :: Ordering)
(%<) :: forall (t_a1BLG :: a_a1BHs) (t_a1BLH :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply (<@#@$) t_a1BLG) t_a1BLH :: Bool) ~ Apply (Apply TFHelper_6989586621679393185Sym0 t_a1BLG) t_a1BLH) => Sing t_a1BLG -> Sing t_a1BLH -> Sing (Apply (Apply (<@#@$) t_a1BLG) t_a1BLH :: Bool)
(%<=) :: forall (t_a1BLK :: a_a1BHs) (t_a1BLL :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply (<=@#@$) t_a1BLK) t_a1BLL :: Bool) ~ Apply (Apply TFHelper_6989586621679393203Sym0 t_a1BLK) t_a1BLL) => Sing t_a1BLK -> Sing t_a1BLL -> Sing (Apply (Apply (<=@#@$) t_a1BLK) t_a1BLL :: Bool)
(%>) :: forall (t_a1BLO :: a_a1BHs) (t_a1BLP :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply (>@#@$) t_a1BLO) t_a1BLP :: Bool) ~ Apply (Apply TFHelper_6989586621679393221Sym0 t_a1BLO) t_a1BLP) => Sing t_a1BLO -> Sing t_a1BLP -> Sing (Apply (Apply (>@#@$) t_a1BLO) t_a1BLP :: Bool)
(%>=) :: forall (t_a1BLS :: a_a1BHs) (t_a1BLT :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply (>=@#@$) t_a1BLS) t_a1BLT :: Bool) ~ Apply (Apply TFHelper_6989586621679393239Sym0 t_a1BLS) t_a1BLT) => Sing t_a1BLS -> Sing t_a1BLT -> Sing (Apply (Apply (>=@#@$) t_a1BLS) t_a1BLT :: Bool)
sMax :: forall (t_a1BLW :: a_a1BHs) (t_a1BLX :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply MaxSym0 t_a1BLW) t_a1BLX :: a_a1BHs) ~ Apply (Apply Max_6989586621679393257Sym0 t_a1BLW) t_a1BLX) => Sing t_a1BLW -> Sing t_a1BLX -> Sing (Apply (Apply MaxSym0 t_a1BLW) t_a1BLX :: a_a1BHs)
sMin :: forall (t_a1BM0 :: a_a1BHs) (t_a1BM1 :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply MinSym0 t_a1BM0) t_a1BM1 :: a_a1BHs) ~ Apply (Apply Min_6989586621679393275Sym0 t_a1BM0) t_a1BM1) => Sing t_a1BM0 -> Sing t_a1BM1 -> Sing (Apply (Apply MinSym0 t_a1BM0) t_a1BM1 :: a_a1BHs)
infix 4 %<=
infix 4 %>=
infix 4 %>
infix 4 %<
type family ThenCmp (a_a1EpJ :: Ordering) (a_a1EpK :: Ordering) :: Ordering
sThenCmp :: forall (t_a1EpO :: Ordering) (t_a1EpP :: Ordering). Sing t_a1EpO -> Sing t_a1EpP -> Sing (Apply (Apply ThenCmpSym0 t_a1EpO) t_a1EpP :: Ordering)

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

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

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

-- | Uninhabited data type
data Void

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

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

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

-- | Proof that no <tt>a</tt> exists
Disproved :: Refuted a -> Decision a
class PBounded (a_a39Jk :: Type) where {
    type family MinBound :: a_a39Jk;
    type family MaxBound :: a_a39Jk;
}
class SBounded a_a39Jk
sMinBound :: SBounded a_a39Jk => Sing (MinBoundSym0 :: a_a39Jk)
sMaxBound :: SBounded a_a39Jk => Sing (MaxBoundSym0 :: a_a39Jk)
class PEnum (a_a3aL9 :: Type) where {
    type family ToEnum (arg_a3aPN :: Nat) :: a_a3aL9;
    type family FromEnum (arg_a3aPP :: a_a3aL9) :: Nat;
    type Succ a_a3aQ1 = Apply Succ_6989586621679766442Sym0 a_a3aQ1;
    type Pred a_a3aQg = Apply Pred_6989586621679766457Sym0 a_a3aQg;
    type EnumFromTo a_a3aQp a_a3aQq = Apply (Apply EnumFromTo_6989586621679766467Sym0 a_a3aQp) a_a3aQq;
    type EnumFromThenTo a_a3aQB a_a3aQC a_a3aQD = Apply (Apply (Apply EnumFromThenTo_6989586621679766480Sym0 a_a3aQB) a_a3aQC) a_a3aQD;
}
class SEnum a_a3aL9
sToEnum :: forall (t_a3aSL :: Nat). SEnum a_a3aL9 => Sing t_a3aSL -> Sing (Apply ToEnumSym0 t_a3aSL :: a_a3aL9)
sFromEnum :: forall (t_a3aSN :: a_a3aL9). SEnum a_a3aL9 => Sing t_a3aSN -> Sing (Apply FromEnumSym0 t_a3aSN :: Nat)
class PShow (a_a5o0B :: Type) where {
    type family ShowsPrec (arg_a5o7F :: Nat) (arg_a5o7G :: a_a5o0B) (arg_a5o7H :: Symbol) :: Symbol;
    type family Show_ (arg_a5o7L :: a_a5o0B) :: Symbol;
    type family ShowList (arg_a5o7N :: [a_a5o0B]) (arg_a5o7O :: Symbol) :: Symbol;
    type ShowsPrec a_a5o7R a_a5o7S a_a5o7T = Apply (Apply (Apply ShowsPrec_6989586621680294178Sym0 a_a5o7R) a_a5o7S) a_a5o7T;
    type Show_ a_a5o87 = Apply Show__6989586621680294192Sym0 a_a5o87;
    type ShowList a_a5o8e a_a5o8f = Apply (Apply ShowList_6989586621680294200Sym0 a_a5o8e) a_a5o8f;
}
class SShow a_a5o0B
sShowsPrec :: forall (t_a5obO :: Nat) (t_a5obP :: a_a5o0B) (t_a5obQ :: Symbol). SShow a_a5o0B => Sing t_a5obO -> Sing t_a5obP -> Sing t_a5obQ -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5obO) t_a5obP) t_a5obQ :: Symbol)
sShow_ :: forall (t_a5obU :: a_a5o0B). SShow a_a5o0B => Sing t_a5obU -> Sing (Apply Show_Sym0 t_a5obU :: Symbol)
sShowList :: forall (t_a5obW :: [a_a5o0B]) (t_a5obX :: Symbol). SShow a_a5o0B => Sing t_a5obW -> Sing t_a5obX -> Sing (Apply (Apply ShowListSym0 t_a5obW) t_a5obX :: Symbol)
sShowsPrec :: forall (t_a5obO :: Nat) (t_a5obP :: a_a5o0B) (t_a5obQ :: Symbol). (SShow a_a5o0B, (Apply (Apply (Apply ShowsPrecSym0 t_a5obO) t_a5obP) t_a5obQ :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621680294178Sym0 t_a5obO) t_a5obP) t_a5obQ) => Sing t_a5obO -> Sing t_a5obP -> Sing t_a5obQ -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5obO) t_a5obP) t_a5obQ :: Symbol)
sShow_ :: forall (t_a5obU :: a_a5o0B). (SShow a_a5o0B, (Apply Show_Sym0 t_a5obU :: Symbol) ~ Apply Show__6989586621680294192Sym0 t_a5obU) => Sing t_a5obU -> Sing (Apply Show_Sym0 t_a5obU :: Symbol)
sShowList :: forall (t_a5obW :: [a_a5o0B]) (t_a5obX :: Symbol). (SShow a_a5o0B, (Apply (Apply ShowListSym0 t_a5obW) t_a5obX :: Symbol) ~ Apply (Apply ShowList_6989586621680294200Sym0 t_a5obW) t_a5obX) => Sing t_a5obW -> Sing t_a5obX -> Sing (Apply (Apply ShowListSym0 t_a5obW) t_a5obX :: Symbol)
type family ShowString (a_a5o6X :: Symbol) (a_a5o6Y :: Symbol) :: Symbol
sShowString :: forall (t_a5obb :: Symbol) (t_a5obc :: Symbol). Sing t_a5obb -> Sing t_a5obc -> Sing (Apply (Apply ShowStringSym0 t_a5obb) t_a5obc :: Symbol)
type family ShowParen (a_a5o6F :: Bool) (a_a5o6G :: (~>) Symbol Symbol) (a_a5o6H :: Symbol) :: Symbol
sShowParen :: forall (t_a5ob5 :: Bool) (t_a5ob6 :: (~>) Symbol Symbol) (t_a5ob7 :: Symbol). Sing t_a5ob5 -> Sing t_a5ob6 -> Sing t_a5ob7 -> Sing (Apply (Apply (Apply ShowParenSym0 t_a5ob5) t_a5ob6) t_a5ob7 :: Symbol)
type family ShowSpace (a_a5o6w :: Symbol) :: Symbol
sShowSpace :: forall (t_a5ob3 :: Symbol). Sing t_a5ob3 -> Sing (Apply ShowSpaceSym0 t_a5ob3 :: Symbol)
type family ShowChar (a_a5o77 :: Symbol) (a_a5o78 :: Symbol) :: Symbol
sShowChar :: forall (t_a5obf :: Symbol) (t_a5obg :: Symbol). Sing t_a5obf -> Sing t_a5obg -> Sing (Apply (Apply ShowCharSym0 t_a5obf) t_a5obg :: Symbol)
type family ShowCommaSpace (a_a5o6r :: Symbol) :: Symbol
sShowCommaSpace :: forall (t_a5ob1 :: Symbol). Sing t_a5ob1 -> Sing (Apply ShowCommaSpaceSym0 t_a5ob1 :: Symbol)
class PFunctor (f_a2lIn :: Type -> Type) where {
    type family Fmap (arg_a2lOH :: (~>) a_a2lIo b_a2lIp) (arg_a2lOI :: f_a2lIn a_a2lIo) :: f_a2lIn b_a2lIp;
    type family (<$) (arg_a2lOL :: a_a2lIq) (arg_a2lOM :: f_a2lIn b_a2lIr) :: f_a2lIn a_a2lIq;
    type (<$) a_a2lOP a_a2lOQ = Apply (Apply TFHelper_6989586621679570325Sym0 a_a2lOP) a_a2lOQ;
}
infixl 4 <$
class SFunctor (f_a2lIn :: Type -> Type)
sFmap :: forall a_a2lIo b_a2lIp (t_a2lSZ :: (~>) a_a2lIo b_a2lIp) (t_a2lT0 :: f_a2lIn a_a2lIo). SFunctor f_a2lIn => Sing t_a2lSZ -> Sing t_a2lT0 -> Sing (Apply (Apply FmapSym0 t_a2lSZ) t_a2lT0 :: f_a2lIn b_a2lIp)
(%<$) :: forall a_a2lIq b_a2lIr (t_a2lT3 :: a_a2lIq) (t_a2lT4 :: f_a2lIn b_a2lIr). SFunctor f_a2lIn => Sing t_a2lT3 -> Sing t_a2lT4 -> Sing (Apply (Apply (<$@#@$) t_a2lT3) t_a2lT4 :: f_a2lIn a_a2lIq)
(%<$) :: forall a_a2lIq b_a2lIr (t_a2lT3 :: a_a2lIq) (t_a2lT4 :: f_a2lIn b_a2lIr). (SFunctor f_a2lIn, (Apply (Apply (<$@#@$) t_a2lT3) t_a2lT4 :: f_a2lIn a_a2lIq) ~ Apply (Apply TFHelper_6989586621679570325Sym0 t_a2lT3) t_a2lT4) => Sing t_a2lT3 -> Sing t_a2lT4 -> Sing (Apply (Apply (<$@#@$) t_a2lT3) t_a2lT4 :: f_a2lIn a_a2lIq)
infixl 4 %<$
class PFoldable (t_a6cXY :: Type -> Type) where {
    type family Fold (arg_a6d7X :: t_a6cXY m_a6cXZ) :: m_a6cXZ;
    type family FoldMap (arg_a6d7Z :: (~>) a_a6cY1 m_a6cY0) (arg_a6d80 :: t_a6cXY a_a6cY1) :: m_a6cY0;
    type family Foldr (arg_a6d83 :: (~>) a_a6cY2 ((~>) b_a6cY3 b_a6cY3)) (arg_a6d84 :: b_a6cY3) (arg_a6d85 :: t_a6cXY a_a6cY2) :: b_a6cY3;
    type family Foldr' (arg_a6d89 :: (~>) a_a6cY4 ((~>) b_a6cY5 b_a6cY5)) (arg_a6d8a :: b_a6cY5) (arg_a6d8b :: t_a6cXY a_a6cY4) :: b_a6cY5;
    type family Foldl (arg_a6d8f :: (~>) b_a6cY6 ((~>) a_a6cY7 b_a6cY6)) (arg_a6d8g :: b_a6cY6) (arg_a6d8h :: t_a6cXY a_a6cY7) :: b_a6cY6;
    type family Foldl' (arg_a6d8l :: (~>) b_a6cY8 ((~>) a_a6cY9 b_a6cY8)) (arg_a6d8m :: b_a6cY8) (arg_a6d8n :: t_a6cXY a_a6cY9) :: b_a6cY8;
    type family Foldr1 (arg_a6d8r :: (~>) a_a6cYa ((~>) a_a6cYa a_a6cYa)) (arg_a6d8s :: t_a6cXY a_a6cYa) :: a_a6cYa;
    type family Foldl1 (arg_a6d8v :: (~>) a_a6cYb ((~>) a_a6cYb a_a6cYb)) (arg_a6d8w :: t_a6cXY a_a6cYb) :: a_a6cYb;
    type family ToList (arg_a6d8z :: t_a6cXY a_a6cYc) :: [a_a6cYc];
    type family Null (arg_a6d8B :: t_a6cXY a_a6cYd) :: Bool;
    type family Length (arg_a6d8D :: t_a6cXY a_a6cYe) :: Nat;
    type family Elem (arg_a6d8F :: a_a6cYf) (arg_a6d8G :: t_a6cXY a_a6cYf) :: Bool;
    type family Maximum (arg_a6d8J :: t_a6cXY a_a6cYg) :: a_a6cYg;
    type family Minimum (arg_a6d8L :: t_a6cXY a_a6cYh) :: a_a6cYh;
    type family Sum (arg_a6d8N :: t_a6cXY a_a6cYi) :: a_a6cYi;
    type family Product (arg_a6d8P :: t_a6cXY a_a6cYj) :: a_a6cYj;
    type Fold a_a6d8R = Apply Fold_6989586621680490282Sym0 a_a6d8R;
    type FoldMap a_a6d90 a_a6d91 = Apply (Apply FoldMap_6989586621680490292Sym0 a_a6d90) a_a6d91;
    type Foldr a_a6d9e a_a6d9f a_a6d9g = Apply (Apply (Apply Foldr_6989586621680490307Sym0 a_a6d9e) a_a6d9f) a_a6d9g;
    type Foldr' a_a6d9D a_a6d9E a_a6d9F = Apply (Apply (Apply Foldr'_6989586621680490332Sym0 a_a6d9D) a_a6d9E) a_a6d9F;
    type Foldl a_a6da7 a_a6da8 a_a6da9 = Apply (Apply (Apply Foldl_6989586621680490362Sym0 a_a6da7) a_a6da8) a_a6da9;
    type Foldl' a_a6daw a_a6dax a_a6day = Apply (Apply (Apply Foldl'_6989586621680490387Sym0 a_a6daw) a_a6dax) a_a6day;
    type Foldr1 a_a6db0 a_a6db1 = Apply (Apply Foldr1_6989586621680490416Sym0 a_a6db0) a_a6db1;
    type Foldl1 a_a6dbp a_a6dbq = Apply (Apply Foldl1_6989586621680490441Sym0 a_a6dbp) a_a6dbq;
    type ToList a_a6dbO = Apply ToList_6989586621680490465Sym0 a_a6dbO;
    type Null a_a6dbX = Apply Null_6989586621680490474Sym0 a_a6dbX;
    type Length a_a6dci = Apply Length_6989586621680490495Sym0 a_a6dci;
    type Elem a_a6dcE a_a6dcF = Apply (Apply Elem_6989586621680490518Sym0 a_a6dcE) a_a6dcF;
    type Maximum a_a6dcU = Apply Maximum_6989586621680490533Sym0 a_a6dcU;
    type Minimum a_a6dd7 = Apply Minimum_6989586621680490546Sym0 a_a6dd7;
    type Sum a_a6ddk = Apply Sum_6989586621680490559Sym0 a_a6ddk;
    type Product a_a6ddx = Apply Product_6989586621680490572Sym0 a_a6ddx;
}
class SFoldable (t_a6cXY :: Type -> Type)
sFold :: forall m_a6cXZ (t_a6dtP :: t_a6cXY m_a6cXZ). (SFoldable t_a6cXY, SMonoid m_a6cXZ) => Sing t_a6dtP -> Sing (Apply FoldSym0 t_a6dtP :: m_a6cXZ)
sFoldMap :: forall a_a6cY1 m_a6cY0 (t_a6dtR :: (~>) a_a6cY1 m_a6cY0) (t_a6dtS :: t_a6cXY a_a6cY1). (SFoldable t_a6cXY, SMonoid m_a6cY0) => Sing t_a6dtR -> Sing t_a6dtS -> Sing (Apply (Apply FoldMapSym0 t_a6dtR) t_a6dtS :: m_a6cY0)
sFoldr :: forall a_a6cY2 b_a6cY3 (t_a6dtV :: (~>) a_a6cY2 ((~>) b_a6cY3 b_a6cY3)) (t_a6dtW :: b_a6cY3) (t_a6dtX :: t_a6cXY a_a6cY2). SFoldable t_a6cXY => Sing t_a6dtV -> Sing t_a6dtW -> Sing t_a6dtX -> Sing (Apply (Apply (Apply FoldrSym0 t_a6dtV) t_a6dtW) t_a6dtX :: b_a6cY3)
sFoldr' :: forall a_a6cY4 b_a6cY5 (t_a6du1 :: (~>) a_a6cY4 ((~>) b_a6cY5 b_a6cY5)) (t_a6du2 :: b_a6cY5) (t_a6du3 :: t_a6cXY a_a6cY4). SFoldable t_a6cXY => Sing t_a6du1 -> Sing t_a6du2 -> Sing t_a6du3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a6du1) t_a6du2) t_a6du3 :: b_a6cY5)
sFoldl :: forall b_a6cY6 a_a6cY7 (t_a6du7 :: (~>) b_a6cY6 ((~>) a_a6cY7 b_a6cY6)) (t_a6du8 :: b_a6cY6) (t_a6du9 :: t_a6cXY a_a6cY7). SFoldable t_a6cXY => Sing t_a6du7 -> Sing t_a6du8 -> Sing t_a6du9 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6du7) t_a6du8) t_a6du9 :: b_a6cY6)
sFoldl' :: forall b_a6cY8 a_a6cY9 (t_a6dud :: (~>) b_a6cY8 ((~>) a_a6cY9 b_a6cY8)) (t_a6due :: b_a6cY8) (t_a6duf :: t_a6cXY a_a6cY9). SFoldable t_a6cXY => Sing t_a6dud -> Sing t_a6due -> Sing t_a6duf -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6dud) t_a6due) t_a6duf :: b_a6cY8)
sFoldr1 :: forall a_a6cYa (t_a6duj :: (~>) a_a6cYa ((~>) a_a6cYa a_a6cYa)) (t_a6duk :: t_a6cXY a_a6cYa). SFoldable t_a6cXY => Sing t_a6duj -> Sing t_a6duk -> Sing (Apply (Apply Foldr1Sym0 t_a6duj) t_a6duk :: a_a6cYa)
sFoldl1 :: forall a_a6cYb (t_a6dun :: (~>) a_a6cYb ((~>) a_a6cYb a_a6cYb)) (t_a6duo :: t_a6cXY a_a6cYb). SFoldable t_a6cXY => Sing t_a6dun -> Sing t_a6duo -> Sing (Apply (Apply Foldl1Sym0 t_a6dun) t_a6duo :: a_a6cYb)
sToList :: forall a_a6cYc (t_a6dur :: t_a6cXY a_a6cYc). SFoldable t_a6cXY => Sing t_a6dur -> Sing (Apply ToListSym0 t_a6dur :: [a_a6cYc])
sNull :: forall a_a6cYd (t_a6dut :: t_a6cXY a_a6cYd). SFoldable t_a6cXY => Sing t_a6dut -> Sing (Apply NullSym0 t_a6dut :: Bool)
sLength :: forall a_a6cYe (t_a6duv :: t_a6cXY a_a6cYe). SFoldable t_a6cXY => Sing t_a6duv -> Sing (Apply LengthSym0 t_a6duv :: Nat)
sElem :: forall a_a6cYf (t_a6dux :: a_a6cYf) (t_a6duy :: t_a6cXY a_a6cYf). (SFoldable t_a6cXY, SEq a_a6cYf) => Sing t_a6dux -> Sing t_a6duy -> Sing (Apply (Apply ElemSym0 t_a6dux) t_a6duy :: Bool)
sMaximum :: forall a_a6cYg (t_a6duB :: t_a6cXY a_a6cYg). (SFoldable t_a6cXY, SOrd a_a6cYg) => Sing t_a6duB -> Sing (Apply MaximumSym0 t_a6duB :: a_a6cYg)
sMinimum :: forall a_a6cYh (t_a6duD :: t_a6cXY a_a6cYh). (SFoldable t_a6cXY, SOrd a_a6cYh) => Sing t_a6duD -> Sing (Apply MinimumSym0 t_a6duD :: a_a6cYh)
sSum :: forall a_a6cYi (t_a6duF :: t_a6cXY a_a6cYi). (SFoldable t_a6cXY, SNum a_a6cYi) => Sing t_a6duF -> Sing (Apply SumSym0 t_a6duF :: a_a6cYi)
sProduct :: forall a_a6cYj (t_a6duH :: t_a6cXY a_a6cYj). (SFoldable t_a6cXY, SNum a_a6cYj) => Sing t_a6duH -> Sing (Apply ProductSym0 t_a6duH :: a_a6cYj)
sFold :: forall m_a6cXZ (t_a6dtP :: t_a6cXY m_a6cXZ). (SFoldable t_a6cXY, (Apply FoldSym0 t_a6dtP :: m_a6cXZ) ~ Apply Fold_6989586621680490282Sym0 t_a6dtP, SMonoid m_a6cXZ) => Sing t_a6dtP -> Sing (Apply FoldSym0 t_a6dtP :: m_a6cXZ)
sFoldMap :: forall a_a6cY1 m_a6cY0 (t_a6dtR :: (~>) a_a6cY1 m_a6cY0) (t_a6dtS :: t_a6cXY a_a6cY1). (SFoldable t_a6cXY, (Apply (Apply FoldMapSym0 t_a6dtR) t_a6dtS :: m_a6cY0) ~ Apply (Apply FoldMap_6989586621680490292Sym0 t_a6dtR) t_a6dtS, SMonoid m_a6cY0) => Sing t_a6dtR -> Sing t_a6dtS -> Sing (Apply (Apply FoldMapSym0 t_a6dtR) t_a6dtS :: m_a6cY0)
sFoldr :: forall a_a6cY2 b_a6cY3 (t_a6dtV :: (~>) a_a6cY2 ((~>) b_a6cY3 b_a6cY3)) (t_a6dtW :: b_a6cY3) (t_a6dtX :: t_a6cXY a_a6cY2). (SFoldable t_a6cXY, (Apply (Apply (Apply FoldrSym0 t_a6dtV) t_a6dtW) t_a6dtX :: b_a6cY3) ~ Apply (Apply (Apply Foldr_6989586621680490307Sym0 t_a6dtV) t_a6dtW) t_a6dtX) => Sing t_a6dtV -> Sing t_a6dtW -> Sing t_a6dtX -> Sing (Apply (Apply (Apply FoldrSym0 t_a6dtV) t_a6dtW) t_a6dtX :: b_a6cY3)
sFoldr' :: forall a_a6cY4 b_a6cY5 (t_a6du1 :: (~>) a_a6cY4 ((~>) b_a6cY5 b_a6cY5)) (t_a6du2 :: b_a6cY5) (t_a6du3 :: t_a6cXY a_a6cY4). (SFoldable t_a6cXY, (Apply (Apply (Apply Foldr'Sym0 t_a6du1) t_a6du2) t_a6du3 :: b_a6cY5) ~ Apply (Apply (Apply Foldr'_6989586621680490332Sym0 t_a6du1) t_a6du2) t_a6du3) => Sing t_a6du1 -> Sing t_a6du2 -> Sing t_a6du3 -> Sing (Apply (Apply (Apply Foldr'Sym0 t_a6du1) t_a6du2) t_a6du3 :: b_a6cY5)
sFoldl :: forall b_a6cY6 a_a6cY7 (t_a6du7 :: (~>) b_a6cY6 ((~>) a_a6cY7 b_a6cY6)) (t_a6du8 :: b_a6cY6) (t_a6du9 :: t_a6cXY a_a6cY7). (SFoldable t_a6cXY, (Apply (Apply (Apply FoldlSym0 t_a6du7) t_a6du8) t_a6du9 :: b_a6cY6) ~ Apply (Apply (Apply Foldl_6989586621680490362Sym0 t_a6du7) t_a6du8) t_a6du9) => Sing t_a6du7 -> Sing t_a6du8 -> Sing t_a6du9 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6du7) t_a6du8) t_a6du9 :: b_a6cY6)
sFoldl' :: forall b_a6cY8 a_a6cY9 (t_a6dud :: (~>) b_a6cY8 ((~>) a_a6cY9 b_a6cY8)) (t_a6due :: b_a6cY8) (t_a6duf :: t_a6cXY a_a6cY9). (SFoldable t_a6cXY, (Apply (Apply (Apply Foldl'Sym0 t_a6dud) t_a6due) t_a6duf :: b_a6cY8) ~ Apply (Apply (Apply Foldl'_6989586621680490387Sym0 t_a6dud) t_a6due) t_a6duf) => Sing t_a6dud -> Sing t_a6due -> Sing t_a6duf -> Sing (Apply (Apply (Apply Foldl'Sym0 t_a6dud) t_a6due) t_a6duf :: b_a6cY8)
sFoldr1 :: forall a_a6cYa (t_a6duj :: (~>) a_a6cYa ((~>) a_a6cYa a_a6cYa)) (t_a6duk :: t_a6cXY a_a6cYa). (SFoldable t_a6cXY, (Apply (Apply Foldr1Sym0 t_a6duj) t_a6duk :: a_a6cYa) ~ Apply (Apply Foldr1_6989586621680490416Sym0 t_a6duj) t_a6duk) => Sing t_a6duj -> Sing t_a6duk -> Sing (Apply (Apply Foldr1Sym0 t_a6duj) t_a6duk :: a_a6cYa)
sFoldl1 :: forall a_a6cYb (t_a6dun :: (~>) a_a6cYb ((~>) a_a6cYb a_a6cYb)) (t_a6duo :: t_a6cXY a_a6cYb). (SFoldable t_a6cXY, (Apply (Apply Foldl1Sym0 t_a6dun) t_a6duo :: a_a6cYb) ~ Apply (Apply Foldl1_6989586621680490441Sym0 t_a6dun) t_a6duo) => Sing t_a6dun -> Sing t_a6duo -> Sing (Apply (Apply Foldl1Sym0 t_a6dun) t_a6duo :: a_a6cYb)
sToList :: forall a_a6cYc (t_a6dur :: t_a6cXY a_a6cYc). (SFoldable t_a6cXY, (Apply ToListSym0 t_a6dur :: [a_a6cYc]) ~ Apply ToList_6989586621680490465Sym0 t_a6dur) => Sing t_a6dur -> Sing (Apply ToListSym0 t_a6dur :: [a_a6cYc])
sNull :: forall a_a6cYd (t_a6dut :: t_a6cXY a_a6cYd). (SFoldable t_a6cXY, (Apply NullSym0 t_a6dut :: Bool) ~ Apply Null_6989586621680490474Sym0 t_a6dut) => Sing t_a6dut -> Sing (Apply NullSym0 t_a6dut :: Bool)
sLength :: forall a_a6cYe (t_a6duv :: t_a6cXY a_a6cYe). (SFoldable t_a6cXY, (Apply LengthSym0 t_a6duv :: Nat) ~ Apply Length_6989586621680490495Sym0 t_a6duv) => Sing t_a6duv -> Sing (Apply LengthSym0 t_a6duv :: Nat)
sElem :: forall a_a6cYf (t_a6dux :: a_a6cYf) (t_a6duy :: t_a6cXY a_a6cYf). (SFoldable t_a6cXY, (Apply (Apply ElemSym0 t_a6dux) t_a6duy :: Bool) ~ Apply (Apply Elem_6989586621680490518Sym0 t_a6dux) t_a6duy, SEq a_a6cYf) => Sing t_a6dux -> Sing t_a6duy -> Sing (Apply (Apply ElemSym0 t_a6dux) t_a6duy :: Bool)
sMaximum :: forall a_a6cYg (t_a6duB :: t_a6cXY a_a6cYg). (SFoldable t_a6cXY, (Apply MaximumSym0 t_a6duB :: a_a6cYg) ~ Apply Maximum_6989586621680490533Sym0 t_a6duB, SOrd a_a6cYg) => Sing t_a6duB -> Sing (Apply MaximumSym0 t_a6duB :: a_a6cYg)
sMinimum :: forall a_a6cYh (t_a6duD :: t_a6cXY a_a6cYh). (SFoldable t_a6cXY, (Apply MinimumSym0 t_a6duD :: a_a6cYh) ~ Apply Minimum_6989586621680490546Sym0 t_a6duD, SOrd a_a6cYh) => Sing t_a6duD -> Sing (Apply MinimumSym0 t_a6duD :: a_a6cYh)
sSum :: forall a_a6cYi (t_a6duF :: t_a6cXY a_a6cYi). (SFoldable t_a6cXY, (Apply SumSym0 t_a6duF :: a_a6cYi) ~ Apply Sum_6989586621680490559Sym0 t_a6duF, SNum a_a6cYi) => Sing t_a6duF -> Sing (Apply SumSym0 t_a6duF :: a_a6cYi)
sProduct :: forall a_a6cYj (t_a6duH :: t_a6cXY a_a6cYj). (SFoldable t_a6cXY, (Apply ProductSym0 t_a6duH :: a_a6cYj) ~ Apply Product_6989586621680490572Sym0 t_a6duH, SNum a_a6cYj) => Sing t_a6duH -> Sing (Apply ProductSym0 t_a6duH :: a_a6cYj)
class PMonoid (a_a5Gff :: Type) where {
    type family Mempty :: a_a5Gff;
    type family Mappend (arg_a5Ghu :: a_a5Gff) (arg_a5Ghv :: a_a5Gff) :: a_a5Gff;
    type family Mconcat (arg_a5Ghy :: [a_a5Gff]) :: a_a5Gff;
    type Mappend a_a5GhA a_a5GhB = Apply (Apply Mappend_6989586621680363972Sym0 a_a5GhA) a_a5GhB;
    type Mconcat a_a5GhQ = Apply Mconcat_6989586621680363987Sym0 a_a5GhQ;
}
class SSemigroup a_a5Gff => SMonoid a_a5Gff
sMempty :: SMonoid a_a5Gff => Sing (MemptySym0 :: a_a5Gff)
sMappend :: forall (t_a5GiO :: a_a5Gff) (t_a5GiP :: a_a5Gff). SMonoid a_a5Gff => Sing t_a5GiO -> Sing t_a5GiP -> Sing (Apply (Apply MappendSym0 t_a5GiO) t_a5GiP :: a_a5Gff)
sMconcat :: forall (t_a5GiS :: [a_a5Gff]). SMonoid a_a5Gff => Sing t_a5GiS -> Sing (Apply MconcatSym0 t_a5GiS :: a_a5Gff)
sMappend :: forall (t_a5GiO :: a_a5Gff) (t_a5GiP :: a_a5Gff). (SMonoid a_a5Gff, (Apply (Apply MappendSym0 t_a5GiO) t_a5GiP :: a_a5Gff) ~ Apply (Apply Mappend_6989586621680363972Sym0 t_a5GiO) t_a5GiP) => Sing t_a5GiO -> Sing t_a5GiP -> Sing (Apply (Apply MappendSym0 t_a5GiO) t_a5GiP :: a_a5Gff)
sMconcat :: forall (t_a5GiS :: [a_a5Gff]). (SMonoid a_a5Gff, (Apply MconcatSym0 t_a5GiS :: a_a5Gff) ~ Apply Mconcat_6989586621680363987Sym0 t_a5GiS) => Sing t_a5GiS -> Sing (Apply MconcatSym0 t_a5GiS :: a_a5Gff)
class PTraversable (t_a7v8N :: Type -> Type) where {
    type family Traverse (arg_a7v8Z :: (~>) a_a7v8P (f_a7v8O b_a7v8Q)) (arg_a7v90 :: t_a7v8N a_a7v8P) :: f_a7v8O (t_a7v8N b_a7v8Q);
    type family SequenceA (arg_a7v93 :: t_a7v8N (f_a7v8R a_a7v8S)) :: f_a7v8R (t_a7v8N a_a7v8S);
    type family MapM (arg_a7v95 :: (~>) a_a7v8U (m_a7v8T b_a7v8V)) (arg_a7v96 :: t_a7v8N a_a7v8U) :: m_a7v8T (t_a7v8N b_a7v8V);
    type family Sequence (arg_a7v99 :: t_a7v8N (m_a7v8W a_a7v8X)) :: m_a7v8W (t_a7v8N a_a7v8X);
    type Traverse a_a7v9b a_a7v9c = Apply (Apply Traverse_6989586621680797823Sym0 a_a7v9b) a_a7v9c;
    type SequenceA a_a7v9p = Apply SequenceA_6989586621680797836Sym0 a_a7v9p;
    type MapM a_a7v9y a_a7v9z = Apply (Apply MapM_6989586621680797846Sym0 a_a7v9y) a_a7v9z;
    type Sequence a_a7v9O = Apply Sequence_6989586621680797861Sym0 a_a7v9O;
}
class (SFunctor t_a7v8N, SFoldable t_a7v8N) => STraversable (t_a7v8N :: Type -> Type)
sTraverse :: forall a_a7v8P f_a7v8O b_a7v8Q (t_a7v9X :: (~>) a_a7v8P (f_a7v8O b_a7v8Q)) (t_a7v9Y :: t_a7v8N a_a7v8P). (STraversable t_a7v8N, SApplicative f_a7v8O) => Sing t_a7v9X -> Sing t_a7v9Y -> Sing (Apply (Apply TraverseSym0 t_a7v9X) t_a7v9Y :: f_a7v8O (t_a7v8N b_a7v8Q))
sSequenceA :: forall f_a7v8R a_a7v8S (t_a7va1 :: t_a7v8N (f_a7v8R a_a7v8S)). (STraversable t_a7v8N, SApplicative f_a7v8R) => Sing t_a7va1 -> Sing (Apply SequenceASym0 t_a7va1 :: f_a7v8R (t_a7v8N a_a7v8S))
sMapM :: forall a_a7v8U m_a7v8T b_a7v8V (t_a7va3 :: (~>) a_a7v8U (m_a7v8T b_a7v8V)) (t_a7va4 :: t_a7v8N a_a7v8U). (STraversable t_a7v8N, SMonad m_a7v8T) => Sing t_a7va3 -> Sing t_a7va4 -> Sing (Apply (Apply MapMSym0 t_a7va3) t_a7va4 :: m_a7v8T (t_a7v8N b_a7v8V))
sSequence :: forall m_a7v8W a_a7v8X (t_a7va7 :: t_a7v8N (m_a7v8W a_a7v8X)). (STraversable t_a7v8N, SMonad m_a7v8W) => Sing t_a7va7 -> Sing (Apply SequenceSym0 t_a7va7 :: m_a7v8W (t_a7v8N a_a7v8X))
sTraverse :: forall a_a7v8P f_a7v8O b_a7v8Q (t_a7v9X :: (~>) a_a7v8P (f_a7v8O b_a7v8Q)) (t_a7v9Y :: t_a7v8N a_a7v8P). (STraversable t_a7v8N, (Apply (Apply TraverseSym0 t_a7v9X) t_a7v9Y :: f_a7v8O (t_a7v8N b_a7v8Q)) ~ Apply (Apply Traverse_6989586621680797823Sym0 t_a7v9X) t_a7v9Y, SApplicative f_a7v8O) => Sing t_a7v9X -> Sing t_a7v9Y -> Sing (Apply (Apply TraverseSym0 t_a7v9X) t_a7v9Y :: f_a7v8O (t_a7v8N b_a7v8Q))
sSequenceA :: forall f_a7v8R a_a7v8S (t_a7va1 :: t_a7v8N (f_a7v8R a_a7v8S)). (STraversable t_a7v8N, (Apply SequenceASym0 t_a7va1 :: f_a7v8R (t_a7v8N a_a7v8S)) ~ Apply SequenceA_6989586621680797836Sym0 t_a7va1, SApplicative f_a7v8R) => Sing t_a7va1 -> Sing (Apply SequenceASym0 t_a7va1 :: f_a7v8R (t_a7v8N a_a7v8S))
sMapM :: forall a_a7v8U m_a7v8T b_a7v8V (t_a7va3 :: (~>) a_a7v8U (m_a7v8T b_a7v8V)) (t_a7va4 :: t_a7v8N a_a7v8U). (STraversable t_a7v8N, (Apply (Apply MapMSym0 t_a7va3) t_a7va4 :: m_a7v8T (t_a7v8N b_a7v8V)) ~ Apply (Apply MapM_6989586621680797846Sym0 t_a7va3) t_a7va4, SMonad m_a7v8T) => Sing t_a7va3 -> Sing t_a7va4 -> Sing (Apply (Apply MapMSym0 t_a7va3) t_a7va4 :: m_a7v8T (t_a7v8N b_a7v8V))
sSequence :: forall m_a7v8W a_a7v8X (t_a7va7 :: t_a7v8N (m_a7v8W a_a7v8X)). (STraversable t_a7v8N, (Apply SequenceSym0 t_a7va7 :: m_a7v8W (t_a7v8N a_a7v8X)) ~ Apply Sequence_6989586621680797861Sym0 t_a7va7, SMonad m_a7v8W) => Sing t_a7va7 -> Sing (Apply SequenceSym0 t_a7va7 :: m_a7v8W (t_a7v8N a_a7v8X))
class PApplicative (f_a2lIs :: Type -> Type) where {
    type family Pure (arg_a2lP5 :: a_a2lIt) :: f_a2lIs a_a2lIt;
    type family (<*>) (arg_a2lP7 :: f_a2lIs ((~>) a_a2lIu b_a2lIv)) (arg_a2lP8 :: f_a2lIs a_a2lIu) :: f_a2lIs b_a2lIv;
    type family LiftA2 (arg_a2lPb :: (~>) a_a2lIw ((~>) b_a2lIx c_a2lIy)) (arg_a2lPc :: f_a2lIs a_a2lIw) (arg_a2lPd :: f_a2lIs b_a2lIx) :: f_a2lIs c_a2lIy;
    type family (*>) (arg_a2lPh :: f_a2lIs a_a2lIz) (arg_a2lPi :: f_a2lIs b_a2lIA) :: f_a2lIs b_a2lIA;
    type family (<*) (arg_a2lPl :: f_a2lIs a_a2lIB) (arg_a2lPm :: f_a2lIs b_a2lIC) :: f_a2lIs a_a2lIB;
    type (<*>) a_a2lPp a_a2lPq = Apply (Apply TFHelper_6989586621679570361Sym0 a_a2lPp) a_a2lPq;
    type LiftA2 a_a2lPF a_a2lPG a_a2lPH = Apply (Apply (Apply LiftA2_6989586621679570378Sym0 a_a2lPF) a_a2lPG) a_a2lPH;
    type (*>) a_a2lPY a_a2lPZ = Apply (Apply TFHelper_6989586621679570396Sym0 a_a2lPY) a_a2lPZ;
    type (<*) a_a2lQa a_a2lQb = Apply (Apply TFHelper_6989586621679570408Sym0 a_a2lQa) a_a2lQb;
}
infixl 4 <*>
infixl 4 *>
infixl 4 <*
class SFunctor f_a2lIs => SApplicative (f_a2lIs :: Type -> Type)
sPure :: forall a_a2lIt (t_a2lT9 :: a_a2lIt). SApplicative f_a2lIs => Sing t_a2lT9 -> Sing (Apply PureSym0 t_a2lT9 :: f_a2lIs a_a2lIt)
(%<*>) :: forall a_a2lIu b_a2lIv (t_a2lTb :: f_a2lIs ((~>) a_a2lIu b_a2lIv)) (t_a2lTc :: f_a2lIs a_a2lIu). SApplicative f_a2lIs => Sing t_a2lTb -> Sing t_a2lTc -> Sing (Apply (Apply (<*>@#@$) t_a2lTb) t_a2lTc :: f_a2lIs b_a2lIv)
sLiftA2 :: forall a_a2lIw b_a2lIx c_a2lIy (t_a2lTf :: (~>) a_a2lIw ((~>) b_a2lIx c_a2lIy)) (t_a2lTg :: f_a2lIs a_a2lIw) (t_a2lTh :: f_a2lIs b_a2lIx). SApplicative f_a2lIs => Sing t_a2lTf -> Sing t_a2lTg -> Sing t_a2lTh -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2lTf) t_a2lTg) t_a2lTh :: f_a2lIs c_a2lIy)
(%*>) :: forall a_a2lIz b_a2lIA (t_a2lTl :: f_a2lIs a_a2lIz) (t_a2lTm :: f_a2lIs b_a2lIA). SApplicative f_a2lIs => Sing t_a2lTl -> Sing t_a2lTm -> Sing (Apply (Apply (*>@#@$) t_a2lTl) t_a2lTm :: f_a2lIs b_a2lIA)
(%<*) :: forall a_a2lIB b_a2lIC (t_a2lTp :: f_a2lIs a_a2lIB) (t_a2lTq :: f_a2lIs b_a2lIC). SApplicative f_a2lIs => Sing t_a2lTp -> Sing t_a2lTq -> Sing (Apply (Apply (<*@#@$) t_a2lTp) t_a2lTq :: f_a2lIs a_a2lIB)
(%<*>) :: forall a_a2lIu b_a2lIv (t_a2lTb :: f_a2lIs ((~>) a_a2lIu b_a2lIv)) (t_a2lTc :: f_a2lIs a_a2lIu). (SApplicative f_a2lIs, (Apply (Apply (<*>@#@$) t_a2lTb) t_a2lTc :: f_a2lIs b_a2lIv) ~ Apply (Apply TFHelper_6989586621679570361Sym0 t_a2lTb) t_a2lTc) => Sing t_a2lTb -> Sing t_a2lTc -> Sing (Apply (Apply (<*>@#@$) t_a2lTb) t_a2lTc :: f_a2lIs b_a2lIv)
sLiftA2 :: forall a_a2lIw b_a2lIx c_a2lIy (t_a2lTf :: (~>) a_a2lIw ((~>) b_a2lIx c_a2lIy)) (t_a2lTg :: f_a2lIs a_a2lIw) (t_a2lTh :: f_a2lIs b_a2lIx). (SApplicative f_a2lIs, (Apply (Apply (Apply LiftA2Sym0 t_a2lTf) t_a2lTg) t_a2lTh :: f_a2lIs c_a2lIy) ~ Apply (Apply (Apply LiftA2_6989586621679570378Sym0 t_a2lTf) t_a2lTg) t_a2lTh) => Sing t_a2lTf -> Sing t_a2lTg -> Sing t_a2lTh -> Sing (Apply (Apply (Apply LiftA2Sym0 t_a2lTf) t_a2lTg) t_a2lTh :: f_a2lIs c_a2lIy)
(%*>) :: forall a_a2lIz b_a2lIA (t_a2lTl :: f_a2lIs a_a2lIz) (t_a2lTm :: f_a2lIs b_a2lIA). (SApplicative f_a2lIs, (Apply (Apply (*>@#@$) t_a2lTl) t_a2lTm :: f_a2lIs b_a2lIA) ~ Apply (Apply TFHelper_6989586621679570396Sym0 t_a2lTl) t_a2lTm) => Sing t_a2lTl -> Sing t_a2lTm -> Sing (Apply (Apply (*>@#@$) t_a2lTl) t_a2lTm :: f_a2lIs b_a2lIA)
(%<*) :: forall a_a2lIB b_a2lIC (t_a2lTp :: f_a2lIs a_a2lIB) (t_a2lTq :: f_a2lIs b_a2lIC). (SApplicative f_a2lIs, (Apply (Apply (<*@#@$) t_a2lTp) t_a2lTq :: f_a2lIs a_a2lIB) ~ Apply (Apply TFHelper_6989586621679570408Sym0 t_a2lTp) t_a2lTq) => Sing t_a2lTp -> Sing t_a2lTq -> Sing (Apply (Apply (<*@#@$) t_a2lTp) t_a2lTq :: f_a2lIs a_a2lIB)
infixl 4 %<*>
infixl 4 %*>
infixl 4 %<*
type family (.) (a_a2f9F :: (~>) b_a2f6P c_a2f6Q) (a_a2f9G :: (~>) a_a2f6R b_a2f6P) (a_a2f9H :: a_a2f6R) :: c_a2f6Q
infixr 9 .
(%.) :: forall b_a2f6P c_a2f6Q a_a2f6R (t_a2fb6 :: (~>) b_a2f6P c_a2f6Q) (t_a2fb7 :: (~>) a_a2f6R b_a2f6P) (t_a2fb8 :: a_a2f6R). Sing t_a2fb6 -> Sing t_a2fb7 -> Sing t_a2fb8 -> Sing (Apply (Apply (Apply (.@#@$) t_a2fb6) t_a2fb7) t_a2fb8 :: c_a2f6Q)
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 k06989586621679484900 k6989586621679484901. (~>) k06989586621679484900 k6989586621679484901
type ErrorSym1 (str6989586621679484902 :: k06989586621679484900) = Error str6989586621679484902

-- | 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 a6989586621679379101. (~>) a6989586621679379101 ((~>) a6989586621679379101 Bool)
infix 4 ==@#@$
data (==@#@$$) (x6989586621679379102 :: a6989586621679379101) :: (~>) a6989586621679379101 Bool
infix 4 ==@#@$$
type (==@#@$$$) (x6989586621679379102 :: a6989586621679379101) (y6989586621679379103 :: a6989586621679379101) = (==) x6989586621679379102 y6989586621679379103
data (>@#@$) :: forall a6989586621679393042. (~>) a6989586621679393042 ((~>) a6989586621679393042 Bool)
infix 4 >@#@$
data (>@#@$$) (arg6989586621679393143 :: a6989586621679393042) :: (~>) a6989586621679393042 Bool
infix 4 >@#@$$
type (>@#@$$$) (arg6989586621679393143 :: a6989586621679393042) (arg6989586621679393144 :: a6989586621679393042) = (>) arg6989586621679393143 arg6989586621679393144
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 (t6989586621679314354 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type). (~>) b3530822107858468866 (a3530822107858468865 :: Type, b3530822107858468866 :: Type)
type Tuple2Sym2 (t6989586621679314354 :: a3530822107858468865) (t6989586621679314355 :: b3530822107858468866) = '(t6989586621679314354, t6989586621679314355)
data Tuple3Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type)))
data Tuple3Sym1 (t6989586621679314385 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type))
data Tuple3Sym2 (t6989586621679314385 :: a3530822107858468865 :: Type) (t6989586621679314386 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type). (~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type)
type Tuple3Sym3 (t6989586621679314385 :: a3530822107858468865) (t6989586621679314386 :: b3530822107858468866) (t6989586621679314387 :: c3530822107858468867) = '(t6989586621679314385, t6989586621679314386, t6989586621679314387)
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 (t6989586621679314432 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type)))
data Tuple4Sym2 (t6989586621679314432 :: a3530822107858468865 :: Type) (t6989586621679314433 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type))
data Tuple4Sym3 (t6989586621679314432 :: a3530822107858468865 :: Type) (t6989586621679314433 :: b3530822107858468866 :: Type) (t6989586621679314434 :: c3530822107858468867 :: Type) :: forall (d3530822107858468868 :: Type). (~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type)
type Tuple4Sym4 (t6989586621679314432 :: a3530822107858468865) (t6989586621679314433 :: b3530822107858468866) (t6989586621679314434 :: c3530822107858468867) (t6989586621679314435 :: d3530822107858468868) = '(t6989586621679314432, t6989586621679314433, t6989586621679314434, t6989586621679314435)
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 (t6989586621679314497 :: 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 (t6989586621679314497 :: a3530822107858468865 :: Type) (t6989586621679314498 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type)))
data Tuple5Sym3 (t6989586621679314497 :: a3530822107858468865 :: Type) (t6989586621679314498 :: b3530822107858468866 :: Type) (t6989586621679314499 :: c3530822107858468867 :: Type) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type))
data Tuple5Sym4 (t6989586621679314497 :: a3530822107858468865 :: Type) (t6989586621679314498 :: b3530822107858468866 :: Type) (t6989586621679314499 :: c3530822107858468867 :: Type) (t6989586621679314500 :: d3530822107858468868 :: Type) :: forall (e3530822107858468869 :: Type). (~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type)
type Tuple5Sym5 (t6989586621679314497 :: a3530822107858468865) (t6989586621679314498 :: b3530822107858468866) (t6989586621679314499 :: c3530822107858468867) (t6989586621679314500 :: d3530822107858468868) (t6989586621679314501 :: e3530822107858468869) = '(t6989586621679314497, t6989586621679314498, t6989586621679314499, t6989586621679314500, t6989586621679314501)
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 (t6989586621679314582 :: 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 (t6989586621679314582 :: a3530822107858468865 :: Type) (t6989586621679314583 :: 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 (t6989586621679314582 :: a3530822107858468865 :: Type) (t6989586621679314583 :: b3530822107858468866 :: Type) (t6989586621679314584 :: 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 (t6989586621679314582 :: a3530822107858468865 :: Type) (t6989586621679314583 :: b3530822107858468866 :: Type) (t6989586621679314584 :: c3530822107858468867 :: Type) (t6989586621679314585 :: d3530822107858468868 :: Type) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type))
data Tuple6Sym5 (t6989586621679314582 :: a3530822107858468865 :: Type) (t6989586621679314583 :: b3530822107858468866 :: Type) (t6989586621679314584 :: c3530822107858468867 :: Type) (t6989586621679314585 :: d3530822107858468868 :: Type) (t6989586621679314586 :: e3530822107858468869 :: Type) :: forall (f3530822107858468870 :: Type). (~>) f3530822107858468870 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type)
type Tuple6Sym6 (t6989586621679314582 :: a3530822107858468865) (t6989586621679314583 :: b3530822107858468866) (t6989586621679314584 :: c3530822107858468867) (t6989586621679314585 :: d3530822107858468868) (t6989586621679314586 :: e3530822107858468869) (t6989586621679314587 :: f3530822107858468870) = '(t6989586621679314582, t6989586621679314583, t6989586621679314584, t6989586621679314585, t6989586621679314586, t6989586621679314587)
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 (t6989586621679314689 :: 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 (t6989586621679314689 :: a3530822107858468865 :: Type) (t6989586621679314690 :: 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 (t6989586621679314689 :: a3530822107858468865 :: Type) (t6989586621679314690 :: b3530822107858468866 :: Type) (t6989586621679314691 :: 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 (t6989586621679314689 :: a3530822107858468865 :: Type) (t6989586621679314690 :: b3530822107858468866 :: Type) (t6989586621679314691 :: c3530822107858468867 :: Type) (t6989586621679314692 :: 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 (t6989586621679314689 :: a3530822107858468865 :: Type) (t6989586621679314690 :: b3530822107858468866 :: Type) (t6989586621679314691 :: c3530822107858468867 :: Type) (t6989586621679314692 :: d3530822107858468868 :: Type) (t6989586621679314693 :: 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 (t6989586621679314689 :: a3530822107858468865 :: Type) (t6989586621679314690 :: b3530822107858468866 :: Type) (t6989586621679314691 :: c3530822107858468867 :: Type) (t6989586621679314692 :: d3530822107858468868 :: Type) (t6989586621679314693 :: e3530822107858468869 :: Type) (t6989586621679314694 :: f3530822107858468870 :: Type) :: forall (g3530822107858468871 :: Type). (~>) g3530822107858468871 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type, g3530822107858468871 :: Type)
type Tuple7Sym7 (t6989586621679314689 :: a3530822107858468865) (t6989586621679314690 :: b3530822107858468866) (t6989586621679314691 :: c3530822107858468867) (t6989586621679314692 :: d3530822107858468868) (t6989586621679314693 :: e3530822107858468869) (t6989586621679314694 :: f3530822107858468870) (t6989586621679314695 :: g3530822107858468871) = '(t6989586621679314689, t6989586621679314690, t6989586621679314691, t6989586621679314692, t6989586621679314693, t6989586621679314694, t6989586621679314695)
data CompareSym0 :: forall a6989586621679393042. (~>) a6989586621679393042 ((~>) a6989586621679393042 Ordering)
data CompareSym1 (arg6989586621679393131 :: a6989586621679393042) :: (~>) a6989586621679393042 Ordering
type CompareSym2 (arg6989586621679393131 :: a6989586621679393042) (arg6989586621679393132 :: a6989586621679393042) = Compare arg6989586621679393131 arg6989586621679393132
data ThenCmpSym0 :: (~>) Ordering ((~>) Ordering Ordering)
data ThenCmpSym1 (a6989586621679403475 :: Ordering) :: (~>) Ordering Ordering
type ThenCmpSym2 (a6989586621679403475 :: Ordering) (a6989586621679403476 :: Ordering) = ThenCmp a6989586621679403475 a6989586621679403476
data FoldlSym0 :: forall b6989586621680489614 a6989586621680489615 t6989586621680489606. (~>) ((~>) b6989586621680489614 ((~>) a6989586621680489615 b6989586621680489614)) ((~>) b6989586621680489614 ((~>) (t6989586621680489606 a6989586621680489615) b6989586621680489614))
data FoldlSym1 (arg6989586621680490243 :: (~>) b6989586621680489614 ((~>) a6989586621680489615 b6989586621680489614)) :: forall t6989586621680489606. (~>) b6989586621680489614 ((~>) (t6989586621680489606 a6989586621680489615) b6989586621680489614)
data FoldlSym2 (arg6989586621680490243 :: (~>) b6989586621680489614 ((~>) a6989586621680489615 b6989586621680489614)) (arg6989586621680490244 :: b6989586621680489614) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489615) b6989586621680489614
type FoldlSym3 (arg6989586621680490243 :: (~>) b6989586621680489614 ((~>) a6989586621680489615 b6989586621680489614)) (arg6989586621680490244 :: b6989586621680489614) (arg6989586621680490245 :: t6989586621680489606 a6989586621680489615) = Foldl arg6989586621680490243 arg6989586621680490244 arg6989586621680490245
type MinBoundSym0 = MinBound
type MaxBoundSym0 = MaxBound
data ShowsPrecSym0 :: forall a6989586621680293725. (~>) Nat ((~>) a6989586621680293725 ((~>) Symbol Symbol))
data ShowsPrecSym1 (arg6989586621680294163 :: Nat) :: forall a6989586621680293725. (~>) a6989586621680293725 ((~>) Symbol Symbol)
data ShowsPrecSym2 (arg6989586621680294163 :: Nat) (arg6989586621680294164 :: a6989586621680293725) :: (~>) Symbol Symbol
type ShowsPrecSym3 (arg6989586621680294163 :: Nat) (arg6989586621680294164 :: a6989586621680293725) (arg6989586621680294165 :: Symbol) = ShowsPrec arg6989586621680294163 arg6989586621680294164 arg6989586621680294165
data ShowStringSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowStringSym1 (a6989586621680294119 :: Symbol) :: (~>) Symbol Symbol
type ShowStringSym2 (a6989586621680294119 :: Symbol) (a6989586621680294120 :: Symbol) = ShowString a6989586621680294119 a6989586621680294120
data ShowParenSym0 :: (~>) Bool ((~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol))
data ShowParenSym1 (a6989586621680294101 :: Bool) :: (~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol)
data ShowParenSym2 (a6989586621680294101 :: Bool) (a6989586621680294102 :: (~>) Symbol Symbol) :: (~>) Symbol Symbol
data ShowSpaceSym0 :: (~>) Symbol Symbol
type ShowSpaceSym1 (a6989586621680294092 :: Symbol) = ShowSpace a6989586621680294092
data ShowCharSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowCharSym1 (a6989586621680294129 :: Symbol) :: (~>) Symbol Symbol
type ShowCharSym2 (a6989586621680294129 :: Symbol) (a6989586621680294130 :: Symbol) = ShowChar a6989586621680294129 a6989586621680294130
data ShowCommaSpaceSym0 :: (~>) Symbol Symbol
type ShowCommaSpaceSym1 (a6989586621680294087 :: Symbol) = ShowCommaSpace a6989586621680294087
data FmapSym0 :: forall a6989586621679569924 b6989586621679569925 f6989586621679569923. (~>) ((~>) a6989586621679569924 b6989586621679569925) ((~>) (f6989586621679569923 a6989586621679569924) (f6989586621679569923 b6989586621679569925))
data FmapSym1 (arg6989586621679570315 :: (~>) a6989586621679569924 b6989586621679569925) :: forall f6989586621679569923. (~>) (f6989586621679569923 a6989586621679569924) (f6989586621679569923 b6989586621679569925)
type FmapSym2 (arg6989586621679570315 :: (~>) a6989586621679569924 b6989586621679569925) (arg6989586621679570316 :: f6989586621679569923 a6989586621679569924) = Fmap arg6989586621679570315 arg6989586621679570316
data (<$@#@$) :: forall a6989586621679569926 f6989586621679569923 b6989586621679569927. (~>) a6989586621679569926 ((~>) (f6989586621679569923 b6989586621679569927) (f6989586621679569923 a6989586621679569926))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679570319 :: a6989586621679569926) :: forall f6989586621679569923 b6989586621679569927. (~>) (f6989586621679569923 b6989586621679569927) (f6989586621679569923 a6989586621679569926)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679570319 :: a6989586621679569926) (arg6989586621679570320 :: f6989586621679569923 b6989586621679569927) = (<$) arg6989586621679570319 arg6989586621679570320
data FoldMapSym0 :: forall a6989586621680489609 m6989586621680489608 t6989586621680489606. (~>) ((~>) a6989586621680489609 m6989586621680489608) ((~>) (t6989586621680489606 a6989586621680489609) m6989586621680489608)
data FoldMapSym1 (arg6989586621680490227 :: (~>) a6989586621680489609 m6989586621680489608) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489609) m6989586621680489608
type FoldMapSym2 (arg6989586621680490227 :: (~>) a6989586621680489609 m6989586621680489608) (arg6989586621680490228 :: t6989586621680489606 a6989586621680489609) = FoldMap arg6989586621680490227 arg6989586621680490228
type MemptySym0 = Mempty
data MappendSym0 :: forall a6989586621680363825. (~>) a6989586621680363825 ((~>) a6989586621680363825 a6989586621680363825)
data MappendSym1 (arg6989586621680363964 :: a6989586621680363825) :: (~>) a6989586621680363825 a6989586621680363825
type MappendSym2 (arg6989586621680363964 :: a6989586621680363825) (arg6989586621680363965 :: a6989586621680363825) = Mappend arg6989586621680363964 arg6989586621680363965
data FoldrSym0 :: forall a6989586621680489610 b6989586621680489611 t6989586621680489606. (~>) ((~>) a6989586621680489610 ((~>) b6989586621680489611 b6989586621680489611)) ((~>) b6989586621680489611 ((~>) (t6989586621680489606 a6989586621680489610) b6989586621680489611))
data FoldrSym1 (arg6989586621680490231 :: (~>) a6989586621680489610 ((~>) b6989586621680489611 b6989586621680489611)) :: forall t6989586621680489606. (~>) b6989586621680489611 ((~>) (t6989586621680489606 a6989586621680489610) b6989586621680489611)
data FoldrSym2 (arg6989586621680490231 :: (~>) a6989586621680489610 ((~>) b6989586621680489611 b6989586621680489611)) (arg6989586621680490232 :: b6989586621680489611) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489610) b6989586621680489611
type FoldrSym3 (arg6989586621680490231 :: (~>) a6989586621680489610 ((~>) b6989586621680489611 b6989586621680489611)) (arg6989586621680490232 :: b6989586621680489611) (arg6989586621680490233 :: t6989586621680489606 a6989586621680489610) = Foldr arg6989586621680490231 arg6989586621680490232 arg6989586621680490233
data TraverseSym0 :: forall a6989586621680797799 f6989586621680797798 b6989586621680797800 t6989586621680797797. (~>) ((~>) a6989586621680797799 (f6989586621680797798 b6989586621680797800)) ((~>) (t6989586621680797797 a6989586621680797799) (f6989586621680797798 (t6989586621680797797 b6989586621680797800)))
data TraverseSym1 (arg6989586621680797809 :: (~>) a6989586621680797799 (f6989586621680797798 b6989586621680797800)) :: forall t6989586621680797797. (~>) (t6989586621680797797 a6989586621680797799) (f6989586621680797798 (t6989586621680797797 b6989586621680797800))
type TraverseSym2 (arg6989586621680797809 :: (~>) a6989586621680797799 (f6989586621680797798 b6989586621680797800)) (arg6989586621680797810 :: t6989586621680797797 a6989586621680797799) = Traverse arg6989586621680797809 arg6989586621680797810
data PureSym0 :: forall a6989586621679569929 f6989586621679569928. (~>) a6989586621679569929 (f6989586621679569928 a6989586621679569929)
type PureSym1 (arg6989586621679570339 :: a6989586621679569929) = Pure arg6989586621679570339
data (<*>@#@$) :: forall f6989586621679569928 a6989586621679569930 b6989586621679569931. (~>) (f6989586621679569928 ((~>) a6989586621679569930 b6989586621679569931)) ((~>) (f6989586621679569928 a6989586621679569930) (f6989586621679569928 b6989586621679569931))
infixl 4 <*>@#@$
data (<*>@#@$$) (arg6989586621679570341 :: f6989586621679569928 ((~>) a6989586621679569930 b6989586621679569931)) :: (~>) (f6989586621679569928 a6989586621679569930) (f6989586621679569928 b6989586621679569931)
infixl 4 <*>@#@$$
type (<*>@#@$$$) (arg6989586621679570341 :: f6989586621679569928 ((~>) a6989586621679569930 b6989586621679569931)) (arg6989586621679570342 :: f6989586621679569928 a6989586621679569930) = (<*>) arg6989586621679570341 arg6989586621679570342
data LiftA2Sym0 :: forall a6989586621679569932 b6989586621679569933 c6989586621679569934 f6989586621679569928. (~>) ((~>) a6989586621679569932 ((~>) b6989586621679569933 c6989586621679569934)) ((~>) (f6989586621679569928 a6989586621679569932) ((~>) (f6989586621679569928 b6989586621679569933) (f6989586621679569928 c6989586621679569934)))
data LiftA2Sym1 (arg6989586621679570345 :: (~>) a6989586621679569932 ((~>) b6989586621679569933 c6989586621679569934)) :: forall f6989586621679569928. (~>) (f6989586621679569928 a6989586621679569932) ((~>) (f6989586621679569928 b6989586621679569933) (f6989586621679569928 c6989586621679569934))
data LiftA2Sym2 (arg6989586621679570345 :: (~>) a6989586621679569932 ((~>) b6989586621679569933 c6989586621679569934)) (arg6989586621679570346 :: f6989586621679569928 a6989586621679569932) :: (~>) (f6989586621679569928 b6989586621679569933) (f6989586621679569928 c6989586621679569934)
type LiftA2Sym3 (arg6989586621679570345 :: (~>) a6989586621679569932 ((~>) b6989586621679569933 c6989586621679569934)) (arg6989586621679570346 :: f6989586621679569928 a6989586621679569932) (arg6989586621679570347 :: f6989586621679569928 b6989586621679569933) = LiftA2 arg6989586621679570345 arg6989586621679570346 arg6989586621679570347
data (.@#@$) :: forall b6989586621679544531 c6989586621679544532 a6989586621679544533. (~>) ((~>) b6989586621679544531 c6989586621679544532) ((~>) ((~>) a6989586621679544533 b6989586621679544531) ((~>) a6989586621679544533 c6989586621679544532))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679544707 :: (~>) b6989586621679544531 c6989586621679544532) :: forall a6989586621679544533. (~>) ((~>) a6989586621679544533 b6989586621679544531) ((~>) a6989586621679544533 c6989586621679544532)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679544707 :: (~>) b6989586621679544531 c6989586621679544532) (a6989586621679544708 :: (~>) a6989586621679544533 b6989586621679544531) :: (~>) a6989586621679544533 c6989586621679544532
infixr 9 .@#@$$$
type (.@#@$$$$) (a6989586621679544707 :: (~>) b6989586621679544531 c6989586621679544532) (a6989586621679544708 :: (~>) a6989586621679544533 b6989586621679544531) (a6989586621679544709 :: a6989586621679544533) = (.) a6989586621679544707 a6989586621679544708 a6989586621679544709
data (:@#@$) :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 ((~>) [a3530822107858468865] [a3530822107858468865 :: Type])
infixr 5 :@#@$
data (:@#@$$) (t6989586621679314260 :: a3530822107858468865 :: Type) :: (~>) [a3530822107858468865] [a3530822107858468865 :: Type]
infixr 5 :@#@$$
type (:@#@$$$) (t6989586621679314260 :: a3530822107858468865) (t6989586621679314261 :: [a3530822107858468865]) = '(:) t6989586621679314260 t6989586621679314261

-- | 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 (s6989586621681330235 :: Type). (~>) s6989586621681330235 (ErrorMessage' (s6989586621681330235 :: Type))
type TextSym1 (t6989586621681330979 :: s6989586621681330235) = 'Text t6989586621681330979
data ShowTypeSym0 :: forall t6989586621681330236 (s6989586621681330235 :: Type). (~>) t6989586621681330236 (ErrorMessage' (s6989586621681330235 :: Type))
type ShowTypeSym1 (t6989586621681330981 :: t6989586621681330236) = 'ShowType t6989586621681330981
data (:<>:@#@$) :: forall (s6989586621681330235 :: Type). (~>) (ErrorMessage' s6989586621681330235) ((~>) (ErrorMessage' s6989586621681330235) (ErrorMessage' (s6989586621681330235 :: Type)))
infixl 6 :<>:@#@$
data (:<>:@#@$$) (t6989586621681330983 :: ErrorMessage' (s6989586621681330235 :: Type)) :: (~>) (ErrorMessage' s6989586621681330235) (ErrorMessage' (s6989586621681330235 :: Type))
infixl 6 :<>:@#@$$
type (:<>:@#@$$$) (t6989586621681330983 :: ErrorMessage' s6989586621681330235) (t6989586621681330984 :: ErrorMessage' s6989586621681330235) = '(:<>:) t6989586621681330983 t6989586621681330984
data (:$$:@#@$) :: forall (s6989586621681330235 :: Type). (~>) (ErrorMessage' s6989586621681330235) ((~>) (ErrorMessage' s6989586621681330235) (ErrorMessage' (s6989586621681330235 :: Type)))
infixl 5 :$$:@#@$
data (:$$:@#@$$) (t6989586621681330987 :: ErrorMessage' (s6989586621681330235 :: Type)) :: (~>) (ErrorMessage' s6989586621681330235) (ErrorMessage' (s6989586621681330235 :: Type))
infixl 5 :$$:@#@$$
type (:$$:@#@$$$) (t6989586621681330987 :: ErrorMessage' s6989586621681330235) (t6989586621681330988 :: ErrorMessage' s6989586621681330235) = '(:$$:) t6989586621681330987 t6989586621681330988
data TypeErrorSym0 :: forall b6989586621681330219. (~>) PErrorMessage b6989586621681330219
type TypeErrorSym1 (a6989586621681330220 :: PErrorMessage) = TypeError a6989586621681330220
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 s6989586621681330235 (t6989586621681330987 :: Data.Singletons.TypeError.ErrorMessage' s6989586621681330235). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.TypeError.:$$:@#@$$) t6989586621681330987)
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 s6989586621681330235 (t6989586621681330983 :: Data.Singletons.TypeError.ErrorMessage' s6989586621681330235). Data.Singletons.SuppressUnusedWarnings.SuppressUnusedWarnings ((Data.Singletons.TypeError.:<>:@#@$$) t6989586621681330983)
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_a1hcQ :: a_11) (n_a1hcR :: [a_11]). () => Sing (n_a1hcQ :: a_11) -> Sing (n_a1hcR :: [a_11]) -> SList ('(:) n_a1hcQ n_a1hcR)
infixr 5 `SCons`
data SMaybe :: forall a_11. Maybe a_11 -> Type
[SNothing] :: SMaybe 'Nothing
[SJust] :: forall a_11 (n_a1hcr :: a_11). () => Sing (n_a1hcr :: a_11) -> SMaybe ('Just n_a1hcr)
data SEither :: forall a_aljm b_aljn. Either a_aljm b_aljn -> Type
[SLeft] :: forall a_aljm (n_a1hdy :: a_aljm). () => Sing (n_a1hdy :: a_aljm) -> SEither ('Left n_a1hdy)
[SRight] :: forall b_aljn (n_a1hdA :: b_aljn). () => Sing (n_a1hdA :: b_aljn) -> SEither ('Right n_a1hdA)
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_a1hem :: a_11) (n_a1hen :: b_12). () => Sing (n_a1hem :: a_11) -> Sing (n_a1hen :: b_12) -> STuple2 '(n_a1hem, n_a1hen)
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_a1heT :: a_11) (n_a1heU :: b_12) (n_a1heV :: c_13). () => Sing (n_a1heT :: a_11) -> Sing (n_a1heU :: b_12) -> Sing (n_a1heV :: c_13) -> STuple3 '(n_a1heT, n_a1heU, n_a1heV)
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_a1hfG :: a_11) (n_a1hfH :: b_12) (n_a1hfI :: c_13) (n_a1hfJ :: d_14). () => Sing (n_a1hfG :: a_11) -> Sing (n_a1hfH :: b_12) -> Sing (n_a1hfI :: c_13) -> Sing (n_a1hfJ :: d_14) -> STuple4 '(n_a1hfG, n_a1hfH, n_a1hfI, n_a1hfJ)
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_a1hgL :: a_11) (n_a1hgM :: b_12) (n_a1hgN :: c_13) (n_a1hgO :: d_14) (n_a1hgP :: e_15). () => Sing (n_a1hgL :: a_11) -> Sing (n_a1hgM :: b_12) -> Sing (n_a1hgN :: c_13) -> Sing (n_a1hgO :: d_14) -> Sing (n_a1hgP :: e_15) -> STuple5 '(n_a1hgL, n_a1hgM, n_a1hgN, n_a1hgO, n_a1hgP)
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_a1hia :: a_11) (n_a1hib :: b_12) (n_a1hic :: c_13) (n_a1hid :: d_14) (n_a1hie :: e_15) (n_a1hif :: f_16). () => Sing (n_a1hia :: a_11) -> Sing (n_a1hib :: b_12) -> Sing (n_a1hic :: c_13) -> Sing (n_a1hid :: d_14) -> Sing (n_a1hie :: e_15) -> Sing (n_a1hif :: f_16) -> STuple6 '(n_a1hia, n_a1hib, n_a1hic, n_a1hid, n_a1hie, n_a1hif)
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_a1hjV :: a_11) (n_a1hjW :: b_12) (n_a1hjX :: c_13) (n_a1hjY :: d_14) (n_a1hjZ :: e_15) (n_a1hk0 :: f_16) (n_a1hk1 :: g_17). () => Sing (n_a1hjV :: a_11) -> Sing (n_a1hjW :: b_12) -> Sing (n_a1hjX :: c_13) -> Sing (n_a1hjY :: d_14) -> Sing (n_a1hjZ :: e_15) -> Sing (n_a1hk0 :: f_16) -> Sing (n_a1hk1 :: g_17) -> STuple7 '(n_a1hjV, n_a1hjW, n_a1hjX, n_a1hjY, n_a1hjZ, n_a1hk0, n_a1hk1)

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

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

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

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

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

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

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

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

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

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

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

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

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

-- | The singleton for <a>undefined</a>.
sUndefined :: HasCallStack => a
class POrd (a_a1BHs :: Type) where {
    type family Compare (arg_a1BIT :: a_a1BHs) (arg_a1BIU :: a_a1BHs) :: Ordering;
    type family (<) (arg_a1BIX :: a_a1BHs) (arg_a1BIY :: a_a1BHs) :: Bool;
    type family (<=) (arg_a1BJ1 :: a_a1BHs) (arg_a1BJ2 :: a_a1BHs) :: Bool;
    type family (>) (arg_a1BJ5 :: a_a1BHs) (arg_a1BJ6 :: a_a1BHs) :: Bool;
    type family (>=) (arg_a1BJ9 :: a_a1BHs) (arg_a1BJa :: a_a1BHs) :: Bool;
    type family Max (arg_a1BJd :: a_a1BHs) (arg_a1BJe :: a_a1BHs) :: a_a1BHs;
    type family Min (arg_a1BJh :: a_a1BHs) (arg_a1BJi :: a_a1BHs) :: a_a1BHs;
    type Compare a_a1BJl a_a1BJm = Apply (Apply Compare_6989586621679393161Sym0 a_a1BJl) a_a1BJm;
    type (<) a_a1BJJ a_a1BJK = Apply (Apply TFHelper_6989586621679393185Sym0 a_a1BJJ) a_a1BJK;
    type (<=) a_a1BK1 a_a1BK2 = Apply (Apply TFHelper_6989586621679393203Sym0 a_a1BK1) a_a1BK2;
    type (>) a_a1BKj a_a1BKk = Apply (Apply TFHelper_6989586621679393221Sym0 a_a1BKj) a_a1BKk;
    type (>=) a_a1BKB a_a1BKC = Apply (Apply TFHelper_6989586621679393239Sym0 a_a1BKB) a_a1BKC;
    type Max a_a1BKT a_a1BKU = Apply (Apply Max_6989586621679393257Sym0 a_a1BKT) a_a1BKU;
    type Min a_a1BLb a_a1BLc = Apply (Apply Min_6989586621679393275Sym0 a_a1BLb) a_a1BLc;
}
infix 4 >=
infix 4 >
infix 4 <=
infix 4 <
class SEq a_a1BHs => SOrd a_a1BHs
sCompare :: forall (t_a1BLC :: a_a1BHs) (t_a1BLD :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BLC -> Sing t_a1BLD -> Sing (Apply (Apply CompareSym0 t_a1BLC) t_a1BLD :: Ordering)
(%<) :: forall (t_a1BLG :: a_a1BHs) (t_a1BLH :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BLG -> Sing t_a1BLH -> Sing (Apply (Apply (<@#@$) t_a1BLG) t_a1BLH :: Bool)
(%<=) :: forall (t_a1BLK :: a_a1BHs) (t_a1BLL :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BLK -> Sing t_a1BLL -> Sing (Apply (Apply (<=@#@$) t_a1BLK) t_a1BLL :: Bool)
(%>) :: forall (t_a1BLO :: a_a1BHs) (t_a1BLP :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BLO -> Sing t_a1BLP -> Sing (Apply (Apply (>@#@$) t_a1BLO) t_a1BLP :: Bool)
(%>=) :: forall (t_a1BLS :: a_a1BHs) (t_a1BLT :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BLS -> Sing t_a1BLT -> Sing (Apply (Apply (>=@#@$) t_a1BLS) t_a1BLT :: Bool)
sMax :: forall (t_a1BLW :: a_a1BHs) (t_a1BLX :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BLW -> Sing t_a1BLX -> Sing (Apply (Apply MaxSym0 t_a1BLW) t_a1BLX :: a_a1BHs)
sMin :: forall (t_a1BM0 :: a_a1BHs) (t_a1BM1 :: a_a1BHs). SOrd a_a1BHs => Sing t_a1BM0 -> Sing t_a1BM1 -> Sing (Apply (Apply MinSym0 t_a1BM0) t_a1BM1 :: a_a1BHs)
sCompare :: forall (t_a1BLC :: a_a1BHs) (t_a1BLD :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply CompareSym0 t_a1BLC) t_a1BLD :: Ordering) ~ Apply (Apply Compare_6989586621679393161Sym0 t_a1BLC) t_a1BLD) => Sing t_a1BLC -> Sing t_a1BLD -> Sing (Apply (Apply CompareSym0 t_a1BLC) t_a1BLD :: Ordering)
(%<) :: forall (t_a1BLG :: a_a1BHs) (t_a1BLH :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply (<@#@$) t_a1BLG) t_a1BLH :: Bool) ~ Apply (Apply TFHelper_6989586621679393185Sym0 t_a1BLG) t_a1BLH) => Sing t_a1BLG -> Sing t_a1BLH -> Sing (Apply (Apply (<@#@$) t_a1BLG) t_a1BLH :: Bool)
(%<=) :: forall (t_a1BLK :: a_a1BHs) (t_a1BLL :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply (<=@#@$) t_a1BLK) t_a1BLL :: Bool) ~ Apply (Apply TFHelper_6989586621679393203Sym0 t_a1BLK) t_a1BLL) => Sing t_a1BLK -> Sing t_a1BLL -> Sing (Apply (Apply (<=@#@$) t_a1BLK) t_a1BLL :: Bool)
(%>) :: forall (t_a1BLO :: a_a1BHs) (t_a1BLP :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply (>@#@$) t_a1BLO) t_a1BLP :: Bool) ~ Apply (Apply TFHelper_6989586621679393221Sym0 t_a1BLO) t_a1BLP) => Sing t_a1BLO -> Sing t_a1BLP -> Sing (Apply (Apply (>@#@$) t_a1BLO) t_a1BLP :: Bool)
(%>=) :: forall (t_a1BLS :: a_a1BHs) (t_a1BLT :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply (>=@#@$) t_a1BLS) t_a1BLT :: Bool) ~ Apply (Apply TFHelper_6989586621679393239Sym0 t_a1BLS) t_a1BLT) => Sing t_a1BLS -> Sing t_a1BLT -> Sing (Apply (Apply (>=@#@$) t_a1BLS) t_a1BLT :: Bool)
sMax :: forall (t_a1BLW :: a_a1BHs) (t_a1BLX :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply MaxSym0 t_a1BLW) t_a1BLX :: a_a1BHs) ~ Apply (Apply Max_6989586621679393257Sym0 t_a1BLW) t_a1BLX) => Sing t_a1BLW -> Sing t_a1BLX -> Sing (Apply (Apply MaxSym0 t_a1BLW) t_a1BLX :: a_a1BHs)
sMin :: forall (t_a1BM0 :: a_a1BHs) (t_a1BM1 :: a_a1BHs). (SOrd a_a1BHs, (Apply (Apply MinSym0 t_a1BM0) t_a1BM1 :: a_a1BHs) ~ Apply (Apply Min_6989586621679393275Sym0 t_a1BM0) t_a1BM1) => Sing t_a1BM0 -> Sing t_a1BM1 -> Sing (Apply (Apply MinSym0 t_a1BM0) t_a1BM1 :: a_a1BHs)
infix 4 %<=
infix 4 %>=
infix 4 %>
infix 4 %<
class SBounded a_a39Jk
sMinBound :: SBounded a_a39Jk => Sing (MinBoundSym0 :: a_a39Jk)
sMaxBound :: SBounded a_a39Jk => Sing (MaxBoundSym0 :: a_a39Jk)
class PBounded (a_a39Jk :: Type) where {
    type family MinBound :: a_a39Jk;
    type family MaxBound :: a_a39Jk;
}
type MaxBoundSym0 = MaxBound
type MinBoundSym0 = MinBound
class SEnum a_a3aL9
sToEnum :: forall (t_a3aSL :: Nat). SEnum a_a3aL9 => Sing t_a3aSL -> Sing (Apply ToEnumSym0 t_a3aSL :: a_a3aL9)
sFromEnum :: forall (t_a3aSN :: a_a3aL9). SEnum a_a3aL9 => Sing t_a3aSN -> Sing (Apply FromEnumSym0 t_a3aSN :: Nat)
sEnumFromTo :: forall (t_a3aSP :: a_a3aL9) (t_a3aSQ :: a_a3aL9). SEnum a_a3aL9 => Sing t_a3aSP -> Sing t_a3aSQ -> Sing (Apply (Apply EnumFromToSym0 t_a3aSP) t_a3aSQ :: [a_a3aL9])
sEnumFromThenTo :: forall (t_a3aST :: a_a3aL9) (t_a3aSU :: a_a3aL9) (t_a3aSV :: a_a3aL9). SEnum a_a3aL9 => Sing t_a3aST -> Sing t_a3aSU -> Sing t_a3aSV -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3aST) t_a3aSU) t_a3aSV :: [a_a3aL9])
sEnumFromTo :: forall (t_a3aSP :: a_a3aL9) (t_a3aSQ :: a_a3aL9). (SEnum a_a3aL9, (Apply (Apply EnumFromToSym0 t_a3aSP) t_a3aSQ :: [a_a3aL9]) ~ Apply (Apply EnumFromTo_6989586621679766467Sym0 t_a3aSP) t_a3aSQ) => Sing t_a3aSP -> Sing t_a3aSQ -> Sing (Apply (Apply EnumFromToSym0 t_a3aSP) t_a3aSQ :: [a_a3aL9])
sEnumFromThenTo :: forall (t_a3aST :: a_a3aL9) (t_a3aSU :: a_a3aL9) (t_a3aSV :: a_a3aL9). (SEnum a_a3aL9, (Apply (Apply (Apply EnumFromThenToSym0 t_a3aST) t_a3aSU) t_a3aSV :: [a_a3aL9]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679766480Sym0 t_a3aST) t_a3aSU) t_a3aSV) => Sing t_a3aST -> Sing t_a3aSU -> Sing t_a3aSV -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t_a3aST) t_a3aSU) t_a3aSV :: [a_a3aL9])
class PEnum (a_a3aL9 :: Type) where {
    type family ToEnum (arg_a3aPN :: Nat) :: a_a3aL9;
    type family FromEnum (arg_a3aPP :: a_a3aL9) :: Nat;
    type family EnumFromTo (arg_a3aPR :: a_a3aL9) (arg_a3aPS :: a_a3aL9) :: [a_a3aL9];
    type family EnumFromThenTo (arg_a3aPV :: a_a3aL9) (arg_a3aPW :: a_a3aL9) (arg_a3aPX :: a_a3aL9) :: [a_a3aL9];
    type Succ a_a3aQ1 = Apply Succ_6989586621679766442Sym0 a_a3aQ1;
    type Pred a_a3aQg = Apply Pred_6989586621679766457Sym0 a_a3aQg;
    type EnumFromTo a_a3aQp a_a3aQq = Apply (Apply EnumFromTo_6989586621679766467Sym0 a_a3aQp) a_a3aQq;
    type EnumFromThenTo a_a3aQB a_a3aQC a_a3aQD = Apply (Apply (Apply EnumFromThenTo_6989586621679766480Sym0 a_a3aQB) a_a3aQC) a_a3aQD;
}
data EnumFromThenToSym0 :: forall a6989586621679766139. (~>) a6989586621679766139 ((~>) a6989586621679766139 ((~>) a6989586621679766139 [a6989586621679766139]))
data EnumFromThenToSym1 (arg6989586621679766435 :: a6989586621679766139) :: (~>) a6989586621679766139 ((~>) a6989586621679766139 [a6989586621679766139])
data EnumFromThenToSym2 (arg6989586621679766435 :: a6989586621679766139) (arg6989586621679766436 :: a6989586621679766139) :: (~>) a6989586621679766139 [a6989586621679766139]
type EnumFromThenToSym3 (arg6989586621679766435 :: a6989586621679766139) (arg6989586621679766436 :: a6989586621679766139) (arg6989586621679766437 :: a6989586621679766139) = EnumFromThenTo arg6989586621679766435 arg6989586621679766436 arg6989586621679766437
data EnumFromToSym0 :: forall a6989586621679766139. (~>) a6989586621679766139 ((~>) a6989586621679766139 [a6989586621679766139])
data EnumFromToSym1 (arg6989586621679766431 :: a6989586621679766139) :: (~>) a6989586621679766139 [a6989586621679766139]
type EnumFromToSym2 (arg6989586621679766431 :: a6989586621679766139) (arg6989586621679766432 :: a6989586621679766139) = EnumFromTo arg6989586621679766431 arg6989586621679766432
data FromEnumSym0 :: forall a6989586621679766139. (~>) a6989586621679766139 Nat
type FromEnumSym1 (arg6989586621679766429 :: a6989586621679766139) = FromEnum arg6989586621679766429
data ToEnumSym0 :: forall a6989586621679766139. (~>) Nat a6989586621679766139
type ToEnumSym1 (arg6989586621679766427 :: Nat) = ToEnum arg6989586621679766427

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

-- | The singleton analogue of <a>(^)</a> for <a>Nat</a>s.
(%^) :: Sing a -> Sing b -> Sing (a ^ b)
infixr 8 %^
class PShow (a_a5o0B :: Type) where {
    type family ShowsPrec (arg_a5o7F :: Nat) (arg_a5o7G :: a_a5o0B) (arg_a5o7H :: Symbol) :: Symbol;
    type family Show_ (arg_a5o7L :: a_a5o0B) :: Symbol;
    type family ShowList (arg_a5o7N :: [a_a5o0B]) (arg_a5o7O :: Symbol) :: Symbol;
    type ShowsPrec a_a5o7R a_a5o7S a_a5o7T = Apply (Apply (Apply ShowsPrec_6989586621680294178Sym0 a_a5o7R) a_a5o7S) a_a5o7T;
    type Show_ a_a5o87 = Apply Show__6989586621680294192Sym0 a_a5o87;
    type ShowList a_a5o8e a_a5o8f = Apply (Apply ShowList_6989586621680294200Sym0 a_a5o8e) a_a5o8f;
}
class SShow a_a5o0B
sShowsPrec :: forall (t_a5obO :: Nat) (t_a5obP :: a_a5o0B) (t_a5obQ :: Symbol). SShow a_a5o0B => Sing t_a5obO -> Sing t_a5obP -> Sing t_a5obQ -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5obO) t_a5obP) t_a5obQ :: Symbol)
sShow_ :: forall (t_a5obU :: a_a5o0B). SShow a_a5o0B => Sing t_a5obU -> Sing (Apply Show_Sym0 t_a5obU :: Symbol)
sShowList :: forall (t_a5obW :: [a_a5o0B]) (t_a5obX :: Symbol). SShow a_a5o0B => Sing t_a5obW -> Sing t_a5obX -> Sing (Apply (Apply ShowListSym0 t_a5obW) t_a5obX :: Symbol)
sShowsPrec :: forall (t_a5obO :: Nat) (t_a5obP :: a_a5o0B) (t_a5obQ :: Symbol). (SShow a_a5o0B, (Apply (Apply (Apply ShowsPrecSym0 t_a5obO) t_a5obP) t_a5obQ :: Symbol) ~ Apply (Apply (Apply ShowsPrec_6989586621680294178Sym0 t_a5obO) t_a5obP) t_a5obQ) => Sing t_a5obO -> Sing t_a5obP -> Sing t_a5obQ -> Sing (Apply (Apply (Apply ShowsPrecSym0 t_a5obO) t_a5obP) t_a5obQ :: Symbol)
sShow_ :: forall (t_a5obU :: a_a5o0B). (SShow a_a5o0B, (Apply Show_Sym0 t_a5obU :: Symbol) ~ Apply Show__6989586621680294192Sym0 t_a5obU) => Sing t_a5obU -> Sing (Apply Show_Sym0 t_a5obU :: Symbol)
sShowList :: forall (t_a5obW :: [a_a5o0B]) (t_a5obX :: Symbol). (SShow a_a5o0B, (Apply (Apply ShowListSym0 t_a5obW) t_a5obX :: Symbol) ~ Apply (Apply ShowList_6989586621680294200Sym0 t_a5obW) t_a5obX) => Sing t_a5obW -> Sing t_a5obX -> Sing (Apply (Apply ShowListSym0 t_a5obW) t_a5obX :: Symbol)

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

-- | GHC currently has no notion of type-level <a>Char</a>s, so we fake
--   them with single-character <a>Symbol</a>s.
type SChar = Symbol
type family Shows (a_a5o7x :: a_a5o0m) (a_a5o7y :: Symbol) :: Symbol
sShows :: forall a_a5o0m (t_a5obp :: a_a5o0m) (t_a5obq :: Symbol). SShow a_a5o0m => Sing t_a5obp -> Sing t_a5obq -> Sing (Apply (Apply ShowsSym0 t_a5obp) t_a5obq :: Symbol)
type family ShowChar (a_a5o77 :: Symbol) (a_a5o78 :: Symbol) :: Symbol
sShowChar :: forall (t_a5obf :: Symbol) (t_a5obg :: Symbol). Sing t_a5obf -> Sing t_a5obg -> Sing (Apply (Apply ShowCharSym0 t_a5obf) t_a5obg :: Symbol)
type family ShowString (a_a5o6X :: Symbol) (a_a5o6Y :: Symbol) :: Symbol
sShowString :: forall (t_a5obb :: Symbol) (t_a5obc :: Symbol). Sing t_a5obb -> Sing t_a5obc -> Sing (Apply (Apply ShowStringSym0 t_a5obb) t_a5obc :: Symbol)
type family ShowParen (a_a5o6F :: Bool) (a_a5o6G :: (~>) Symbol Symbol) (a_a5o6H :: Symbol) :: Symbol
sShowParen :: forall (t_a5ob5 :: Bool) (t_a5ob6 :: (~>) Symbol Symbol) (t_a5ob7 :: Symbol). Sing t_a5ob5 -> Sing t_a5ob6 -> Sing t_a5ob7 -> Sing (Apply (Apply (Apply ShowParenSym0 t_a5ob5) t_a5ob6) t_a5ob7 :: Symbol)
class PSemigroup (a_a3tTS :: Type) where {
    type family (<>) (arg_a3tXF :: a_a3tTS) (arg_a3tXG :: a_a3tTS) :: a_a3tTS;
    type Sconcat a_a3tXL = Apply Sconcat_6989586621679839958Sym0 a_a3tXL;
}
infixr 6 <>
class SSemigroup a_a3tTS
(%<>) :: forall (t_a3u1u :: a_a3tTS) (t_a3u1v :: a_a3tTS). SSemigroup a_a3tTS => Sing t_a3u1u -> Sing t_a3u1v -> Sing (Apply (Apply (<>@#@$) t_a3u1u) t_a3u1v :: a_a3tTS)
infixr 6 %<>
class PMonoid (a_a5Gff :: Type) where {
    type family Mempty :: a_a5Gff;
    type family Mappend (arg_a5Ghu :: a_a5Gff) (arg_a5Ghv :: a_a5Gff) :: a_a5Gff;
    type family Mconcat (arg_a5Ghy :: [a_a5Gff]) :: a_a5Gff;
    type Mappend a_a5GhA a_a5GhB = Apply (Apply Mappend_6989586621680363972Sym0 a_a5GhA) a_a5GhB;
    type Mconcat a_a5GhQ = Apply Mconcat_6989586621680363987Sym0 a_a5GhQ;
}
class SSemigroup a_a5Gff => SMonoid a_a5Gff
sMempty :: SMonoid a_a5Gff => Sing (MemptySym0 :: a_a5Gff)
sMappend :: forall (t_a5GiO :: a_a5Gff) (t_a5GiP :: a_a5Gff). SMonoid a_a5Gff => Sing t_a5GiO -> Sing t_a5GiP -> Sing (Apply (Apply MappendSym0 t_a5GiO) t_a5GiP :: a_a5Gff)
sMconcat :: forall (t_a5GiS :: [a_a5Gff]). SMonoid a_a5Gff => Sing t_a5GiS -> Sing (Apply MconcatSym0 t_a5GiS :: a_a5Gff)
sMappend :: forall (t_a5GiO :: a_a5Gff) (t_a5GiP :: a_a5Gff). (SMonoid a_a5Gff, (Apply (Apply MappendSym0 t_a5GiO) t_a5GiP :: a_a5Gff) ~ Apply (Apply Mappend_6989586621680363972Sym0 t_a5GiO) t_a5GiP) => Sing t_a5GiO -> Sing t_a5GiP -> Sing (Apply (Apply MappendSym0 t_a5GiO) t_a5GiP :: a_a5Gff)
sMconcat :: forall (t_a5GiS :: [a_a5Gff]). (SMonoid a_a5Gff, (Apply MconcatSym0 t_a5GiS :: a_a5Gff) ~ Apply Mconcat_6989586621680363987Sym0 t_a5GiS) => Sing t_a5GiS -> Sing (Apply MconcatSym0 t_a5GiS :: a_a5Gff)
class PFunctor (f_a2lIn :: Type -> Type) where {
    type family Fmap (arg_a2lOH :: (~>) a_a2lIo b_a2lIp) (arg_a2lOI :: f_a2lIn a_a2lIo) :: f_a2lIn b_a2lIp;
    type family (<$) (arg_a2lOL :: a_a2lIq) (arg_a2lOM :: f_a2lIn b_a2lIr) :: f_a2lIn a_a2lIq;
    type (<$) a_a2lOP a_a2lOQ = Apply (Apply TFHelper_6989586621679570325Sym0 a_a2lOP) a_a2lOQ;
}
infixl 4 <$
class SFunctor (f_a2lIn :: Type -> Type)
sFmap :: forall a_a2lIo b_a2lIp (t_a2lSZ :: (~>) a_a2lIo b_a2lIp) (t_a2lT0 :: f_a2lIn a_a2lIo). SFunctor f_a2lIn => Sing t_a2lSZ -> Sing t_a2lT0 -> Sing (Apply (Apply FmapSym0 t_a2lSZ) t_a2lT0 :: f_a2lIn b_a2lIp)
(%<$) :: forall a_a2lIq b_a2lIr (t_a2lT3 :: a_a2lIq) (t_a2lT4 :: f_a2lIn b_a2lIr). SFunctor f_a2lIn => Sing t_a2lT3 -> Sing t_a2lT4 -> Sing (Apply (Apply (<$@#@$) t_a2lT3) t_a2lT4 :: f_a2lIn a_a2lIq)
(%<$) :: forall a_a2lIq b_a2lIr (t_a2lT3 :: a_a2lIq) (t_a2lT4 :: f_a2lIn b_a2lIr). (SFunctor f_a2lIn, (Apply (Apply (<$@#@$) t_a2lT3) t_a2lT4 :: f_a2lIn a_a2lIq) ~ Apply (Apply TFHelper_6989586621679570325Sym0 t_a2lT3) t_a2lT4) => Sing t_a2lT3 -> Sing t_a2lT4 -> Sing (Apply (Apply (<$@#@$) t_a2lT3) t_a2lT4 :: f_a2lIn a_a2lIq)
infixl 4 %<$
type family (<$>) (a_a340t :: (~>) a_a33Za b_a33Zb) (a_a340u :: f_a33Z9 a_a33Za) :: f_a33Z9 b_a33Zb
infixl 4 <$>
(%<$>) :: forall a_a33Za b_a33Zb f_a33Z9 (t_a3422 :: (~>) a_a33Za b_a33Zb) (t_a3423 :: f_a33Z9 a_a33Za). SFunctor f_a33Z9 => Sing t_a3422 -> Sing t_a3423 -> Sing (Apply (Apply (<$>@#@$) t_a3422) t_a3423 :: f_a33Z9 b_a33Zb)
infixl 4 %<$>
class PApplicative (f_a2lIs :: Type -> Type) where {
    type family Pure (arg_a2lP5 :: a_a2lIt) :: f_a2lIs a_a2lIt;
    type family (<*>) (arg_a2lP7 :: f_a2lIs ((~>) a_a2lIu b_a2lIv)) (arg_a2lP8 :: f_a2lIs a_a2lIu) :: f_a2lIs b_a2lIv;
    type family (*>) (arg_a2lPh :: f_a2lIs a_a2lIz) (arg_a2lPi :: f_a2lIs b_a2lIA) :: f_a2lIs b_a2lIA;
    type family (<*) (arg_a2lPl :: f_a2lIs a_a2lIB) (arg_a2lPm :: f_a2lIs b_a2lIC) :: f_a2lIs a_a2lIB;
    type (<*>) a_a2lPp a_a2lPq = Apply (Apply TFHelper_6989586621679570361Sym0 a_a2lPp) a_a2lPq;
    type LiftA2 a_a2lPF a_a2lPG a_a2lPH = Apply (Apply (Apply LiftA2_6989586621679570378Sym0 a_a2lPF) a_a2lPG) a_a2lPH;
    type (*>) a_a2lPY a_a2lPZ = Apply (Apply TFHelper_6989586621679570396Sym0 a_a2lPY) a_a2lPZ;
    type (<*) a_a2lQa a_a2lQb = Apply (Apply TFHelper_6989586621679570408Sym0 a_a2lQa) a_a2lQb;
}
infixl 4 <*>
infixl 4 *>
infixl 4 <*
class SFunctor f_a2lIs => SApplicative (f_a2lIs :: Type -> Type)
sPure :: forall a_a2lIt (t_a2lT9 :: a_a2lIt). SApplicative f_a2lIs => Sing t_a2lT9 -> Sing (Apply PureSym0 t_a2lT9 :: f_a2lIs a_a2lIt)
(%<*>) :: forall a_a2lIu b_a2lIv (t_a2lTb :: f_a2lIs ((~>) a_a2lIu b_a2lIv)) (t_a2lTc :: f_a2lIs a_a2lIu). SApplicative f_a2lIs => Sing t_a2lTb -> Sing t_a2lTc -> Sing (Apply (Apply (<*>@#@$) t_a2lTb) t_a2lTc :: f_a2lIs b_a2lIv)
(%*>) :: forall a_a2lIz b_a2lIA (t_a2lTl :: f_a2lIs a_a2lIz) (t_a2lTm :: f_a2lIs b_a2lIA). SApplicative f_a2lIs => Sing t_a2lTl -> Sing t_a2lTm -> Sing (Apply (Apply (*>@#@$) t_a2lTl) t_a2lTm :: f_a2lIs b_a2lIA)
(%<*) :: forall a_a2lIB b_a2lIC (t_a2lTp :: f_a2lIs a_a2lIB) (t_a2lTq :: f_a2lIs b_a2lIC). SApplicative f_a2lIs => Sing t_a2lTp -> Sing t_a2lTq -> Sing (Apply (Apply (<*@#@$) t_a2lTp) t_a2lTq :: f_a2lIs a_a2lIB)
(%<*>) :: forall a_a2lIu b_a2lIv (t_a2lTb :: f_a2lIs ((~>) a_a2lIu b_a2lIv)) (t_a2lTc :: f_a2lIs a_a2lIu). (SApplicative f_a2lIs, (Apply (Apply (<*>@#@$) t_a2lTb) t_a2lTc :: f_a2lIs b_a2lIv) ~ Apply (Apply TFHelper_6989586621679570361Sym0 t_a2lTb) t_a2lTc) => Sing t_a2lTb -> Sing t_a2lTc -> Sing (Apply (Apply (<*>@#@$) t_a2lTb) t_a2lTc :: f_a2lIs b_a2lIv)
(%*>) :: forall a_a2lIz b_a2lIA (t_a2lTl :: f_a2lIs a_a2lIz) (t_a2lTm :: f_a2lIs b_a2lIA). (SApplicative f_a2lIs, (Apply (Apply (*>@#@$) t_a2lTl) t_a2lTm :: f_a2lIs b_a2lIA) ~ Apply (Apply TFHelper_6989586621679570396Sym0 t_a2lTl) t_a2lTm) => Sing t_a2lTl -> Sing t_a2lTm -> Sing (Apply (Apply (*>@#@$) t_a2lTl) t_a2lTm :: f_a2lIs b_a2lIA)
(%<*) :: forall a_a2lIB b_a2lIC (t_a2lTp :: f_a2lIs a_a2lIB) (t_a2lTq :: f_a2lIs b_a2lIC). (SApplicative f_a2lIs, (Apply (Apply (<*@#@$) t_a2lTp) t_a2lTq :: f_a2lIs a_a2lIB) ~ Apply (Apply TFHelper_6989586621679570408Sym0 t_a2lTp) t_a2lTq) => Sing t_a2lTp -> Sing t_a2lTq -> Sing (Apply (Apply (<*@#@$) t_a2lTp) t_a2lTq :: f_a2lIs a_a2lIB)
infixl 4 %<*>
infixl 4 %*>
infixl 4 %<*
class PMonad (m_a2lIQ :: Type -> Type) where {
    type family (>>=) (arg_a2lQq :: m_a2lIQ a_a2lIR) (arg_a2lQr :: (~>) a_a2lIR (m_a2lIQ b_a2lIS)) :: m_a2lIQ b_a2lIS;
    type family (>>) (arg_a2lQu :: m_a2lIQ a_a2lIT) (arg_a2lQv :: m_a2lIQ b_a2lIU) :: m_a2lIQ b_a2lIU;
    type family Return (arg_a2lQy :: a_a2lIV) :: m_a2lIQ a_a2lIV;
    type (>>) a_a2lQA a_a2lQB = Apply (Apply TFHelper_6989586621679570434Sym0 a_a2lQA) a_a2lQB;
    type Return a_a2lQW = Apply Return_6989586621679570455Sym0 a_a2lQW;
}
infixl 1 >>=
infixl 1 >>
class SApplicative m_a2lIQ => SMonad (m_a2lIQ :: Type -> Type)
(%>>=) :: forall a_a2lIR b_a2lIS (t_a2lTA :: m_a2lIQ a_a2lIR) (t_a2lTB :: (~>) a_a2lIR (m_a2lIQ b_a2lIS)). SMonad m_a2lIQ => Sing t_a2lTA -> Sing t_a2lTB -> Sing (Apply (Apply (>>=@#@$) t_a2lTA) t_a2lTB :: m_a2lIQ b_a2lIS)
(%>>) :: forall a_a2lIT b_a2lIU (t_a2lTE :: m_a2lIQ a_a2lIT) (t_a2lTF :: m_a2lIQ b_a2lIU). SMonad m_a2lIQ => Sing t_a2lTE -> Sing t_a2lTF -> Sing (Apply (Apply (>>@#@$) t_a2lTE) t_a2lTF :: m_a2lIQ b_a2lIU)
sReturn :: forall a_a2lIV (t_a2lTI :: a_a2lIV). SMonad m_a2lIQ => Sing t_a2lTI -> Sing (Apply ReturnSym0 t_a2lTI :: m_a2lIQ a_a2lIV)
(%>>) :: forall a_a2lIT b_a2lIU (t_a2lTE :: m_a2lIQ a_a2lIT) (t_a2lTF :: m_a2lIQ b_a2lIU). (SMonad m_a2lIQ, (Apply (Apply (>>@#@$) t_a2lTE) t_a2lTF :: m_a2lIQ b_a2lIU) ~ Apply (Apply TFHelper_6989586621679570434Sym0 t_a2lTE) t_a2lTF) => Sing t_a2lTE -> Sing t_a2lTF -> Sing (Apply (Apply (>>@#@$) t_a2lTE) t_a2lTF :: m_a2lIQ b_a2lIU)
sReturn :: forall a_a2lIV (t_a2lTI :: a_a2lIV). (SMonad m_a2lIQ, (Apply ReturnSym0 t_a2lTI :: m_a2lIQ a_a2lIV) ~ Apply Return_6989586621679570455Sym0 t_a2lTI) => Sing t_a2lTI -> Sing (Apply ReturnSym0 t_a2lTI :: m_a2lIQ a_a2lIV)
infixl 1 %>>=
infixl 1 %>>
class PMonadFail (m_a33rx :: Type -> Type) where {
    type family Fail (arg_a33rR :: [Char]) :: m_a33rx a_a33ry;
}
class SMonad m_a33rx => SMonadFail (m_a33rx :: Type -> Type)
sFail :: forall a_a33ry (t_a33s5 :: [Char]). SMonadFail m_a33rx => Sing t_a33s5 -> Sing (Apply FailSym0 t_a33s5 :: m_a33rx a_a33ry)
type family MapM_ (a_a6d6P :: (~>) a_a6cX5 (m_a6cX4 b_a6cX6)) (a_a6d6Q :: t_a6cX3 a_a6cX5) :: m_a6cX4 ()
sMapM_ :: forall a_a6cX5 m_a6cX4 b_a6cX6 t_a6cX3 (t_a6dsM :: (~>) a_a6cX5 (m_a6cX4 b_a6cX6)) (t_a6dsN :: t_a6cX3 a_a6cX5). (SFoldable t_a6cX3, SMonad m_a6cX4) => Sing t_a6dsM -> Sing t_a6dsN -> Sing (Apply (Apply MapM_Sym0 t_a6dsM) t_a6dsN :: m_a6cX4 ())
type family Sequence_ (a_a6d6x :: t_a6cWT (m_a6cWU a_a6cWV)) :: m_a6cWU ()
sSequence_ :: forall t_a6cWT m_a6cWU a_a6cWV (t_a6dsE :: t_a6cWT (m_a6cWU a_a6cWV)). (SFoldable t_a6cWT, SMonad m_a6cWU) => Sing t_a6dsE -> Sing (Apply Sequence_Sym0 t_a6dsE :: m_a6cWU ())
type family (=<<) (a_a2lNW :: (~>) a_a2lHC (m_a2lHB b_a2lHD)) (a_a2lNX :: m_a2lHB a_a2lHC) :: m_a2lHB b_a2lHD
infixr 1 =<<
(%=<<) :: forall a_a2lHC m_a2lHB b_a2lHD (t_a2lSj :: (~>) a_a2lHC (m_a2lHB b_a2lHD)) (t_a2lSk :: m_a2lHB a_a2lHC). SMonad m_a2lHB => Sing t_a2lSj -> Sing t_a2lSk -> Sing (Apply (Apply (=<<@#@$) t_a2lSj) t_a2lSk :: m_a2lHB b_a2lHD)
infixr 1 %=<<
class PFoldable (t_a6cXY :: Type -> Type) where {
    type family FoldMap (arg_a6d7Z :: (~>) a_a6cY1 m_a6cY0) (arg_a6d80 :: t_a6cXY a_a6cY1) :: m_a6cY0;
    type family Foldr (arg_a6d83 :: (~>) a_a6cY2 ((~>) b_a6cY3 b_a6cY3)) (arg_a6d84 :: b_a6cY3) (arg_a6d85 :: t_a6cXY a_a6cY2) :: b_a6cY3;
    type family Foldl (arg_a6d8f :: (~>) b_a6cY6 ((~>) a_a6cY7 b_a6cY6)) (arg_a6d8g :: b_a6cY6) (arg_a6d8h :: t_a6cXY a_a6cY7) :: b_a6cY6;
    type family Foldr1 (arg_a6d8r :: (~>) a_a6cYa ((~>) a_a6cYa a_a6cYa)) (arg_a6d8s :: t_a6cXY a_a6cYa) :: a_a6cYa;
    type family Foldl1 (arg_a6d8v :: (~>) a_a6cYb ((~>) a_a6cYb a_a6cYb)) (arg_a6d8w :: t_a6cXY a_a6cYb) :: a_a6cYb;
    type family Elem (arg_a6d8F :: a_a6cYf) (arg_a6d8G :: t_a6cXY a_a6cYf) :: Bool;
    type family Maximum (arg_a6d8J :: t_a6cXY a_a6cYg) :: a_a6cYg;
    type family Minimum (arg_a6d8L :: t_a6cXY a_a6cYh) :: a_a6cYh;
    type family Sum (arg_a6d8N :: t_a6cXY a_a6cYi) :: a_a6cYi;
    type family Product (arg_a6d8P :: t_a6cXY a_a6cYj) :: a_a6cYj;
    type Fold a_a6d8R = Apply Fold_6989586621680490282Sym0 a_a6d8R;
    type FoldMap a_a6d90 a_a6d91 = Apply (Apply FoldMap_6989586621680490292Sym0 a_a6d90) a_a6d91;
    type Foldr a_a6d9e a_a6d9f a_a6d9g = Apply (Apply (Apply Foldr_6989586621680490307Sym0 a_a6d9e) a_a6d9f) a_a6d9g;
    type Foldr' a_a6d9D a_a6d9E a_a6d9F = Apply (Apply (Apply Foldr'_6989586621680490332Sym0 a_a6d9D) a_a6d9E) a_a6d9F;
    type Foldl a_a6da7 a_a6da8 a_a6da9 = Apply (Apply (Apply Foldl_6989586621680490362Sym0 a_a6da7) a_a6da8) a_a6da9;
    type Foldl' a_a6daw a_a6dax a_a6day = Apply (Apply (Apply Foldl'_6989586621680490387Sym0 a_a6daw) a_a6dax) a_a6day;
    type Foldr1 a_a6db0 a_a6db1 = Apply (Apply Foldr1_6989586621680490416Sym0 a_a6db0) a_a6db1;
    type Foldl1 a_a6dbp a_a6dbq = Apply (Apply Foldl1_6989586621680490441Sym0 a_a6dbp) a_a6dbq;
    type ToList a_a6dbO = Apply ToList_6989586621680490465Sym0 a_a6dbO;
    type Null a_a6dbX = Apply Null_6989586621680490474Sym0 a_a6dbX;
    type Length a_a6dci = Apply Length_6989586621680490495Sym0 a_a6dci;
    type Elem a_a6dcE a_a6dcF = Apply (Apply Elem_6989586621680490518Sym0 a_a6dcE) a_a6dcF;
    type Maximum a_a6dcU = Apply Maximum_6989586621680490533Sym0 a_a6dcU;
    type Minimum a_a6dd7 = Apply Minimum_6989586621680490546Sym0 a_a6dd7;
    type Sum a_a6ddk = Apply Sum_6989586621680490559Sym0 a_a6ddk;
    type Product a_a6ddx = Apply Product_6989586621680490572Sym0 a_a6ddx;
}
class SFoldable (t_a6cXY :: Type -> Type)
sFoldMap :: forall a_a6cY1 m_a6cY0 (t_a6dtR :: (~>) a_a6cY1 m_a6cY0) (t_a6dtS :: t_a6cXY a_a6cY1). (SFoldable t_a6cXY, SMonoid m_a6cY0) => Sing t_a6dtR -> Sing t_a6dtS -> Sing (Apply (Apply FoldMapSym0 t_a6dtR) t_a6dtS :: m_a6cY0)
sFoldr :: forall a_a6cY2 b_a6cY3 (t_a6dtV :: (~>) a_a6cY2 ((~>) b_a6cY3 b_a6cY3)) (t_a6dtW :: b_a6cY3) (t_a6dtX :: t_a6cXY a_a6cY2). SFoldable t_a6cXY => Sing t_a6dtV -> Sing t_a6dtW -> Sing t_a6dtX -> Sing (Apply (Apply (Apply FoldrSym0 t_a6dtV) t_a6dtW) t_a6dtX :: b_a6cY3)
sFoldl :: forall b_a6cY6 a_a6cY7 (t_a6du7 :: (~>) b_a6cY6 ((~>) a_a6cY7 b_a6cY6)) (t_a6du8 :: b_a6cY6) (t_a6du9 :: t_a6cXY a_a6cY7). SFoldable t_a6cXY => Sing t_a6du7 -> Sing t_a6du8 -> Sing t_a6du9 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6du7) t_a6du8) t_a6du9 :: b_a6cY6)
sFoldr1 :: forall a_a6cYa (t_a6duj :: (~>) a_a6cYa ((~>) a_a6cYa a_a6cYa)) (t_a6duk :: t_a6cXY a_a6cYa). SFoldable t_a6cXY => Sing t_a6duj -> Sing t_a6duk -> Sing (Apply (Apply Foldr1Sym0 t_a6duj) t_a6duk :: a_a6cYa)
sFoldl1 :: forall a_a6cYb (t_a6dun :: (~>) a_a6cYb ((~>) a_a6cYb a_a6cYb)) (t_a6duo :: t_a6cXY a_a6cYb). SFoldable t_a6cXY => Sing t_a6dun -> Sing t_a6duo -> Sing (Apply (Apply Foldl1Sym0 t_a6dun) t_a6duo :: a_a6cYb)
sElem :: forall a_a6cYf (t_a6dux :: a_a6cYf) (t_a6duy :: t_a6cXY a_a6cYf). (SFoldable t_a6cXY, SEq a_a6cYf) => Sing t_a6dux -> Sing t_a6duy -> Sing (Apply (Apply ElemSym0 t_a6dux) t_a6duy :: Bool)
sMaximum :: forall a_a6cYg (t_a6duB :: t_a6cXY a_a6cYg). (SFoldable t_a6cXY, SOrd a_a6cYg) => Sing t_a6duB -> Sing (Apply MaximumSym0 t_a6duB :: a_a6cYg)
sMinimum :: forall a_a6cYh (t_a6duD :: t_a6cXY a_a6cYh). (SFoldable t_a6cXY, SOrd a_a6cYh) => Sing t_a6duD -> Sing (Apply MinimumSym0 t_a6duD :: a_a6cYh)
sSum :: forall a_a6cYi (t_a6duF :: t_a6cXY a_a6cYi). (SFoldable t_a6cXY, SNum a_a6cYi) => Sing t_a6duF -> Sing (Apply SumSym0 t_a6duF :: a_a6cYi)
sProduct :: forall a_a6cYj (t_a6duH :: t_a6cXY a_a6cYj). (SFoldable t_a6cXY, SNum a_a6cYj) => Sing t_a6duH -> Sing (Apply ProductSym0 t_a6duH :: a_a6cYj)
sFoldMap :: forall a_a6cY1 m_a6cY0 (t_a6dtR :: (~>) a_a6cY1 m_a6cY0) (t_a6dtS :: t_a6cXY a_a6cY1). (SFoldable t_a6cXY, (Apply (Apply FoldMapSym0 t_a6dtR) t_a6dtS :: m_a6cY0) ~ Apply (Apply FoldMap_6989586621680490292Sym0 t_a6dtR) t_a6dtS, SMonoid m_a6cY0) => Sing t_a6dtR -> Sing t_a6dtS -> Sing (Apply (Apply FoldMapSym0 t_a6dtR) t_a6dtS :: m_a6cY0)
sFoldr :: forall a_a6cY2 b_a6cY3 (t_a6dtV :: (~>) a_a6cY2 ((~>) b_a6cY3 b_a6cY3)) (t_a6dtW :: b_a6cY3) (t_a6dtX :: t_a6cXY a_a6cY2). (SFoldable t_a6cXY, (Apply (Apply (Apply FoldrSym0 t_a6dtV) t_a6dtW) t_a6dtX :: b_a6cY3) ~ Apply (Apply (Apply Foldr_6989586621680490307Sym0 t_a6dtV) t_a6dtW) t_a6dtX) => Sing t_a6dtV -> Sing t_a6dtW -> Sing t_a6dtX -> Sing (Apply (Apply (Apply FoldrSym0 t_a6dtV) t_a6dtW) t_a6dtX :: b_a6cY3)
sFoldl :: forall b_a6cY6 a_a6cY7 (t_a6du7 :: (~>) b_a6cY6 ((~>) a_a6cY7 b_a6cY6)) (t_a6du8 :: b_a6cY6) (t_a6du9 :: t_a6cXY a_a6cY7). (SFoldable t_a6cXY, (Apply (Apply (Apply FoldlSym0 t_a6du7) t_a6du8) t_a6du9 :: b_a6cY6) ~ Apply (Apply (Apply Foldl_6989586621680490362Sym0 t_a6du7) t_a6du8) t_a6du9) => Sing t_a6du7 -> Sing t_a6du8 -> Sing t_a6du9 -> Sing (Apply (Apply (Apply FoldlSym0 t_a6du7) t_a6du8) t_a6du9 :: b_a6cY6)
sFoldr1 :: forall a_a6cYa (t_a6duj :: (~>) a_a6cYa ((~>) a_a6cYa a_a6cYa)) (t_a6duk :: t_a6cXY a_a6cYa). (SFoldable t_a6cXY, (Apply (Apply Foldr1Sym0 t_a6duj) t_a6duk :: a_a6cYa) ~ Apply (Apply Foldr1_6989586621680490416Sym0 t_a6duj) t_a6duk) => Sing t_a6duj -> Sing t_a6duk -> Sing (Apply (Apply Foldr1Sym0 t_a6duj) t_a6duk :: a_a6cYa)
sFoldl1 :: forall a_a6cYb (t_a6dun :: (~>) a_a6cYb ((~>) a_a6cYb a_a6cYb)) (t_a6duo :: t_a6cXY a_a6cYb). (SFoldable t_a6cXY, (Apply (Apply Foldl1Sym0 t_a6dun) t_a6duo :: a_a6cYb) ~ Apply (Apply Foldl1_6989586621680490441Sym0 t_a6dun) t_a6duo) => Sing t_a6dun -> Sing t_a6duo -> Sing (Apply (Apply Foldl1Sym0 t_a6dun) t_a6duo :: a_a6cYb)
sElem :: forall a_a6cYf (t_a6dux :: a_a6cYf) (t_a6duy :: t_a6cXY a_a6cYf). (SFoldable t_a6cXY, (Apply (Apply ElemSym0 t_a6dux) t_a6duy :: Bool) ~ Apply (Apply Elem_6989586621680490518Sym0 t_a6dux) t_a6duy, SEq a_a6cYf) => Sing t_a6dux -> Sing t_a6duy -> Sing (Apply (Apply ElemSym0 t_a6dux) t_a6duy :: Bool)
sMaximum :: forall a_a6cYg (t_a6duB :: t_a6cXY a_a6cYg). (SFoldable t_a6cXY, (Apply MaximumSym0 t_a6duB :: a_a6cYg) ~ Apply Maximum_6989586621680490533Sym0 t_a6duB, SOrd a_a6cYg) => Sing t_a6duB -> Sing (Apply MaximumSym0 t_a6duB :: a_a6cYg)
sMinimum :: forall a_a6cYh (t_a6duD :: t_a6cXY a_a6cYh). (SFoldable t_a6cXY, (Apply MinimumSym0 t_a6duD :: a_a6cYh) ~ Apply Minimum_6989586621680490546Sym0 t_a6duD, SOrd a_a6cYh) => Sing t_a6duD -> Sing (Apply MinimumSym0 t_a6duD :: a_a6cYh)
sSum :: forall a_a6cYi (t_a6duF :: t_a6cXY a_a6cYi). (SFoldable t_a6cXY, (Apply SumSym0 t_a6duF :: a_a6cYi) ~ Apply Sum_6989586621680490559Sym0 t_a6duF, SNum a_a6cYi) => Sing t_a6duF -> Sing (Apply SumSym0 t_a6duF :: a_a6cYi)
sProduct :: forall a_a6cYj (t_a6duH :: t_a6cXY a_a6cYj). (SFoldable t_a6cXY, (Apply ProductSym0 t_a6duH :: a_a6cYj) ~ Apply Product_6989586621680490572Sym0 t_a6duH, SNum a_a6cYj) => Sing t_a6duH -> Sing (Apply ProductSym0 t_a6duH :: a_a6cYj)
class PTraversable (t_a7v8N :: Type -> Type) where {
    type family Traverse (arg_a7v8Z :: (~>) a_a7v8P (f_a7v8O b_a7v8Q)) (arg_a7v90 :: t_a7v8N a_a7v8P) :: f_a7v8O (t_a7v8N b_a7v8Q);
    type family SequenceA (arg_a7v93 :: t_a7v8N (f_a7v8R a_a7v8S)) :: f_a7v8R (t_a7v8N a_a7v8S);
    type family MapM (arg_a7v95 :: (~>) a_a7v8U (m_a7v8T b_a7v8V)) (arg_a7v96 :: t_a7v8N a_a7v8U) :: m_a7v8T (t_a7v8N b_a7v8V);
    type family Sequence (arg_a7v99 :: t_a7v8N (m_a7v8W a_a7v8X)) :: m_a7v8W (t_a7v8N a_a7v8X);
    type Traverse a_a7v9b a_a7v9c = Apply (Apply Traverse_6989586621680797823Sym0 a_a7v9b) a_a7v9c;
    type SequenceA a_a7v9p = Apply SequenceA_6989586621680797836Sym0 a_a7v9p;
    type MapM a_a7v9y a_a7v9z = Apply (Apply MapM_6989586621680797846Sym0 a_a7v9y) a_a7v9z;
    type Sequence a_a7v9O = Apply Sequence_6989586621680797861Sym0 a_a7v9O;
}
class (SFunctor t_a7v8N, SFoldable t_a7v8N) => STraversable (t_a7v8N :: Type -> Type)
sTraverse :: forall a_a7v8P f_a7v8O b_a7v8Q (t_a7v9X :: (~>) a_a7v8P (f_a7v8O b_a7v8Q)) (t_a7v9Y :: t_a7v8N a_a7v8P). (STraversable t_a7v8N, SApplicative f_a7v8O) => Sing t_a7v9X -> Sing t_a7v9Y -> Sing (Apply (Apply TraverseSym0 t_a7v9X) t_a7v9Y :: f_a7v8O (t_a7v8N b_a7v8Q))
sSequenceA :: forall f_a7v8R a_a7v8S (t_a7va1 :: t_a7v8N (f_a7v8R a_a7v8S)). (STraversable t_a7v8N, SApplicative f_a7v8R) => Sing t_a7va1 -> Sing (Apply SequenceASym0 t_a7va1 :: f_a7v8R (t_a7v8N a_a7v8S))
sMapM :: forall a_a7v8U m_a7v8T b_a7v8V (t_a7va3 :: (~>) a_a7v8U (m_a7v8T b_a7v8V)) (t_a7va4 :: t_a7v8N a_a7v8U). (STraversable t_a7v8N, SMonad m_a7v8T) => Sing t_a7va3 -> Sing t_a7va4 -> Sing (Apply (Apply MapMSym0 t_a7va3) t_a7va4 :: m_a7v8T (t_a7v8N b_a7v8V))
sSequence :: forall m_a7v8W a_a7v8X (t_a7va7 :: t_a7v8N (m_a7v8W a_a7v8X)). (STraversable t_a7v8N, SMonad m_a7v8W) => Sing t_a7va7 -> Sing (Apply SequenceSym0 t_a7va7 :: m_a7v8W (t_a7v8N a_a7v8X))
sTraverse :: forall a_a7v8P f_a7v8O b_a7v8Q (t_a7v9X :: (~>) a_a7v8P (f_a7v8O b_a7v8Q)) (t_a7v9Y :: t_a7v8N a_a7v8P). (STraversable t_a7v8N, (Apply (Apply TraverseSym0 t_a7v9X) t_a7v9Y :: f_a7v8O (t_a7v8N b_a7v8Q)) ~ Apply (Apply Traverse_6989586621680797823Sym0 t_a7v9X) t_a7v9Y, SApplicative f_a7v8O) => Sing t_a7v9X -> Sing t_a7v9Y -> Sing (Apply (Apply TraverseSym0 t_a7v9X) t_a7v9Y :: f_a7v8O (t_a7v8N b_a7v8Q))
sSequenceA :: forall f_a7v8R a_a7v8S (t_a7va1 :: t_a7v8N (f_a7v8R a_a7v8S)). (STraversable t_a7v8N, (Apply SequenceASym0 t_a7va1 :: f_a7v8R (t_a7v8N a_a7v8S)) ~ Apply SequenceA_6989586621680797836Sym0 t_a7va1, SApplicative f_a7v8R) => Sing t_a7va1 -> Sing (Apply SequenceASym0 t_a7va1 :: f_a7v8R (t_a7v8N a_a7v8S))
sMapM :: forall a_a7v8U m_a7v8T b_a7v8V (t_a7va3 :: (~>) a_a7v8U (m_a7v8T b_a7v8V)) (t_a7va4 :: t_a7v8N a_a7v8U). (STraversable t_a7v8N, (Apply (Apply MapMSym0 t_a7va3) t_a7va4 :: m_a7v8T (t_a7v8N b_a7v8V)) ~ Apply (Apply MapM_6989586621680797846Sym0 t_a7va3) t_a7va4, SMonad m_a7v8T) => Sing t_a7va3 -> Sing t_a7va4 -> Sing (Apply (Apply MapMSym0 t_a7va3) t_a7va4 :: m_a7v8T (t_a7v8N b_a7v8V))
sSequence :: forall m_a7v8W a_a7v8X (t_a7va7 :: t_a7v8N (m_a7v8W a_a7v8X)). (STraversable t_a7v8N, (Apply SequenceSym0 t_a7va7 :: m_a7v8W (t_a7v8N a_a7v8X)) ~ Apply Sequence_6989586621680797861Sym0 t_a7va7, SMonad m_a7v8W) => Sing t_a7va7 -> Sing (Apply SequenceSym0 t_a7va7 :: m_a7v8W (t_a7v8N a_a7v8X))
type family Id (a_a2fa3 :: a_a2f6U) :: a_a2f6U
sId :: forall a_a2f6U (t_a2fbg :: a_a2f6U). Sing t_a2fbg -> Sing (Apply IdSym0 t_a2fbg :: a_a2f6U)
type family Const (a_a2f9Y :: a_a2f6S) (a_a2f9Z :: b_a2f6T) :: a_a2f6S
sConst :: forall a_a2f6S b_a2f6T (t_a2fbc :: a_a2f6S) (t_a2fbd :: b_a2f6T). Sing t_a2fbc -> Sing t_a2fbd -> Sing (Apply (Apply ConstSym0 t_a2fbc) t_a2fbd :: a_a2f6S)
type family (.) (a_a2f9F :: (~>) b_a2f6P c_a2f6Q) (a_a2f9G :: (~>) a_a2f6R b_a2f6P) (a_a2f9H :: a_a2f6R) :: c_a2f6Q
infixr 9 .
(%.) :: forall b_a2f6P c_a2f6Q a_a2f6R (t_a2fb6 :: (~>) b_a2f6P c_a2f6Q) (t_a2fb7 :: (~>) a_a2f6R b_a2f6P) (t_a2fb8 :: a_a2f6R). Sing t_a2fb6 -> Sing t_a2fb7 -> Sing t_a2fb8 -> Sing (Apply (Apply (Apply (.@#@$) t_a2fb6) t_a2fb7) t_a2fb8 :: c_a2f6Q)
infixr 9 %.
type family ($) (a_a2f9g :: (~>) a_a2f6J b_a2f6K) (a_a2f9h :: a_a2f6J) :: b_a2f6K
infixr 0 $
(%$) :: forall a_a2f6J b_a2f6K (t_a2faS :: (~>) a_a2f6J b_a2f6K) (t_a2faT :: a_a2f6J). Sing t_a2faS -> Sing t_a2faT -> Sing (Apply (Apply ($@#@$) t_a2faS) t_a2faT :: b_a2f6K)
infixr 0 %$
type family ($!) (a_a2f97 :: (~>) a_a2f6H b_a2f6I) (a_a2f98 :: a_a2f6H) :: b_a2f6I
infixr 0 $!
(%$!) :: forall a_a2f6H b_a2f6I (t_a2faO :: (~>) a_a2f6H b_a2f6I) (t_a2faP :: a_a2f6H). Sing t_a2faO -> Sing t_a2faP -> Sing (Apply (Apply ($!@#@$) t_a2faO) t_a2faP :: b_a2f6I)
infixr 0 %$!
type family Flip (a_a2f9w :: (~>) a_a2f6M ((~>) b_a2f6N c_a2f6O)) (a_a2f9x :: b_a2f6N) (a_a2f9y :: a_a2f6M) :: c_a2f6O
sFlip :: forall a_a2f6M b_a2f6N c_a2f6O (t_a2fb0 :: (~>) a_a2f6M ((~>) b_a2f6N c_a2f6O)) (t_a2fb1 :: b_a2f6N) (t_a2fb2 :: a_a2f6M). Sing t_a2fb0 -> Sing t_a2fb1 -> Sing t_a2fb2 -> Sing (Apply (Apply (Apply FlipSym0 t_a2fb0) t_a2fb1) t_a2fb2 :: c_a2f6O)
type family AsTypeOf (a_a2f9q :: a_a2f6L) (a_a2f9r :: a_a2f6L) :: a_a2f6L
sAsTypeOf :: forall a_a2f6L (t_a2faW :: a_a2f6L) (t_a2faX :: a_a2f6L). Sing t_a2faW -> Sing t_a2faX -> Sing (Apply (Apply AsTypeOfSym0 t_a2faW) t_a2faX :: a_a2f6L)
type family Seq (a_a2f8C :: a_a2f6E) (a_a2f8D :: b_a2f6F) :: b_a2f6F
infixr 0 `Seq`
sSeq :: forall a_a2f6E b_a2f6F (t_a2faE :: a_a2f6E) (t_a2faF :: b_a2f6F). Sing t_a2faE -> Sing t_a2faF -> Sing (Apply (Apply SeqSym0 t_a2faE) t_a2faF :: b_a2f6F)
infixr 0 `sSeq`
type family Map (a_a2fae :: (~>) a_a2f6W b_a2f6X) (a_a2faf :: [a_a2f6W]) :: [b_a2f6X]
sMap :: forall a_a2f6W b_a2f6X (t_a2fbm :: (~>) a_a2f6W b_a2f6X) (t_a2fbn :: [a_a2f6W]). Sing t_a2fbm -> Sing t_a2fbn -> Sing (Apply (Apply MapSym0 t_a2fbm) t_a2fbn :: [b_a2f6X])
type family (++) (a_a2fa6 :: [a_a2f6V]) (a_a2fa7 :: [a_a2f6V]) :: [a_a2f6V]
infixr 5 ++
(%++) :: forall a_a2f6V (t_a2fbi :: [a_a2f6V]) (t_a2fbj :: [a_a2f6V]). Sing t_a2fbi -> Sing t_a2fbj -> Sing (Apply (Apply (++@#@$) t_a2fbi) t_a2fbj :: [a_a2f6V])
infixr 5 %++
type family Filter (a_a43Og :: (~>) a_a42CN Bool) (a_a43Oh :: [a_a42CN]) :: [a_a42CN]
sFilter :: forall a_a42CN (t_a444F :: (~>) a_a42CN Bool) (t_a444G :: [a_a42CN]). Sing t_a444F -> Sing t_a444G -> Sing (Apply (Apply FilterSym0 t_a444F) t_a444G :: [a_a42CN])
type family Head (a_a442u :: [a_a42Ef]) :: a_a42Ef
sHead :: forall a_a42Ef (t_a447Z :: [a_a42Ef]). Sing t_a447Z -> Sing (Apply HeadSym0 t_a447Z :: a_a42Ef)
type family Last (a_a442p :: [a_a42Ee]) :: a_a42Ee
sLast :: forall a_a42Ee (t_a447X :: [a_a42Ee]). Sing t_a447X -> Sing (Apply LastSym0 t_a447X :: a_a42Ee)
type family Tail (a_a442m :: [a_a42Ed]) :: [a_a42Ed]
sTail :: forall a_a42Ed (t_a447V :: [a_a42Ed]). Sing t_a447V -> Sing (Apply TailSym0 t_a447V :: [a_a42Ed])
type family Init (a_a4428 :: [a_a42Ec]) :: [a_a42Ec]
sInit :: forall a_a42Ec (t_a447T :: [a_a42Ec]). Sing t_a447T -> Sing (Apply InitSym0 t_a447T :: [a_a42Ec])
type family Null (arg_a6d8B :: t_a6cXY a_a6cYd) :: Bool
sNull :: forall a_a6cYd (t_a6dut :: t_a6cXY a_a6cYd). SFoldable t_a6cXY => Sing t_a6dut -> Sing (Apply NullSym0 t_a6dut :: Bool)
type family Reverse (a_a441T :: [a_a42Ea]) :: [a_a42Ea]
sReverse :: forall a_a42Ea (t_a447P :: [a_a42Ea]). Sing t_a447P -> Sing (Apply ReverseSym0 t_a447P :: [a_a42Ea])
type family And (a_a6d5K :: t_a6cWH Bool) :: Bool
sAnd :: forall t_a6cWH (t_a6dss :: t_a6cWH Bool). SFoldable t_a6cWH => Sing t_a6dss -> Sing (Apply AndSym0 t_a6dss :: Bool)
type family Or (a_a6d5B :: t_a6cWG Bool) :: Bool
sOr :: forall t_a6cWG (t_a6dsq :: t_a6cWG Bool). SFoldable t_a6cWG => Sing t_a6dsq -> Sing (Apply OrSym0 t_a6dsq :: Bool)
type family Any (a_a6d5o :: (~>) a_a6cWF Bool) (a_a6d5p :: t_a6cWE a_a6cWF) :: Bool
sAny :: forall a_a6cWF t_a6cWE (t_a6dsm :: (~>) a_a6cWF Bool) (t_a6dsn :: t_a6cWE a_a6cWF). SFoldable t_a6cWE => Sing t_a6dsm -> Sing t_a6dsn -> Sing (Apply (Apply AnySym0 t_a6dsm) t_a6dsn :: Bool)
type family All (a_a6d5b :: (~>) a_a6cWD Bool) (a_a6d5c :: t_a6cWC a_a6cWD) :: Bool
sAll :: forall a_a6cWD t_a6cWC (t_a6dsi :: (~>) a_a6cWD Bool) (t_a6dsj :: t_a6cWC a_a6cWD). SFoldable t_a6cWC => Sing t_a6dsi -> Sing t_a6dsj -> Sing (Apply (Apply AllSym0 t_a6dsi) t_a6dsj :: Bool)
type family Concat (a_a6d69 :: t_a6cWL [a_a6cWM]) :: [a_a6cWM]
sConcat :: forall t_a6cWL a_a6cWM (t_a6dsy :: t_a6cWL [a_a6cWM]). SFoldable t_a6cWL => Sing t_a6dsy -> Sing (Apply ConcatSym0 t_a6dsy :: [a_a6cWM])
type family ConcatMap (a_a6d5T :: (~>) a_a6cWJ [b_a6cWK]) (a_a6d5U :: t_a6cWI a_a6cWJ) :: [b_a6cWK]
sConcatMap :: forall a_a6cWJ b_a6cWK t_a6cWI (t_a6dsu :: (~>) a_a6cWJ [b_a6cWK]) (t_a6dsv :: t_a6cWI a_a6cWJ). SFoldable t_a6cWI => Sing t_a6dsu -> Sing t_a6dsv -> Sing (Apply (Apply ConcatMapSym0 t_a6dsu) t_a6dsv :: [b_a6cWK])
type family Scanl (a_a43Y2 :: (~>) b_a42DS ((~>) a_a42DT b_a42DS)) (a_a43Y3 :: b_a42DS) (a_a43Y4 :: [a_a42DT]) :: [b_a42DS]
sScanl :: forall b_a42DS a_a42DT (t_a446R :: (~>) b_a42DS ((~>) a_a42DT b_a42DS)) (t_a446S :: b_a42DS) (t_a446T :: [a_a42DT]). Sing t_a446R -> Sing t_a446S -> Sing t_a446T -> Sing (Apply (Apply (Apply ScanlSym0 t_a446R) t_a446S) t_a446T :: [b_a42DS])
type family Scanl1 (a_a43XV :: (~>) a_a42DR ((~>) a_a42DR a_a42DR)) (a_a43XW :: [a_a42DR]) :: [a_a42DR]
sScanl1 :: forall a_a42DR (t_a446N :: (~>) a_a42DR ((~>) a_a42DR a_a42DR)) (t_a446O :: [a_a42DR]). Sing t_a446N -> Sing t_a446O -> Sing (Apply (Apply Scanl1Sym0 t_a446N) t_a446O :: [a_a42DR])
type family Scanr (a_a43XA :: (~>) a_a42DP ((~>) b_a42DQ b_a42DQ)) (a_a43XB :: b_a42DQ) (a_a43XC :: [a_a42DP]) :: [b_a42DQ]
sScanr :: forall a_a42DP b_a42DQ (t_a446H :: (~>) a_a42DP ((~>) b_a42DQ b_a42DQ)) (t_a446I :: b_a42DQ) (t_a446J :: [a_a42DP]). Sing t_a446H -> Sing t_a446I -> Sing t_a446J -> Sing (Apply (Apply (Apply ScanrSym0 t_a446H) t_a446I) t_a446J :: [b_a42DQ])
type family Scanr1 (a_a43Xc :: (~>) a_a42DO ((~>) a_a42DO a_a42DO)) (a_a43Xd :: [a_a42DO]) :: [a_a42DO]
sScanr1 :: forall a_a42DO (t_a446D :: (~>) a_a42DO ((~>) a_a42DO a_a42DO)) (t_a446E :: [a_a42DO]). Sing t_a446D -> Sing t_a446E -> Sing (Apply (Apply Scanr1Sym0 t_a446D) t_a446E :: [a_a42DO])
type family Replicate (a_a43Hv :: Nat) (a_a43Hw :: a_a42Ck) :: [a_a42Ck]
sReplicate :: forall a_a42Ck (t_a4431 :: Nat) (t_a4432 :: a_a42Ck). Sing t_a4431 -> Sing t_a4432 -> Sing (Apply (Apply ReplicateSym0 t_a4431) t_a4432 :: [a_a42Ck])
type family Take (a_a43K6 :: Nat) (a_a43K7 :: [a_a42CA]) :: [a_a42CA]
sTake :: forall a_a42CA (t_a443N :: Nat) (t_a443O :: [a_a42CA]). Sing t_a443N -> Sing t_a443O -> Sing (Apply (Apply TakeSym0 t_a443N) t_a443O :: [a_a42CA])
type family Drop (a_a43JS :: Nat) (a_a43JT :: [a_a42Cz]) :: [a_a42Cz]
sDrop :: forall a_a42Cz (t_a443J :: Nat) (t_a443K :: [a_a42Cz]). Sing t_a443J -> Sing t_a443K -> Sing (Apply (Apply DropSym0 t_a443J) t_a443K :: [a_a42Cz])
type family SplitAt (a_a43JM :: Nat) (a_a43JN :: [a_a42Cy]) :: ([a_a42Cy], [a_a42Cy])
sSplitAt :: forall a_a42Cy (t_a443F :: Nat) (t_a443G :: [a_a42Cy]). Sing t_a443F -> Sing t_a443G -> Sing (Apply (Apply SplitAtSym0 t_a443F) t_a443G :: ([a_a42Cy], [a_a42Cy]))
type family TakeWhile (a_a43Mq :: (~>) a_a42CF Bool) (a_a43Mr :: [a_a42CF]) :: [a_a42CF]
sTakeWhile :: forall a_a42CF (t_a4447 :: (~>) a_a42CF Bool) (t_a4448 :: [a_a42CF]). Sing t_a4447 -> Sing t_a4448 -> Sing (Apply (Apply TakeWhileSym0 t_a4447) t_a4448 :: [a_a42CF])
type family Span (a_a43L1 :: (~>) a_a42CC Bool) (a_a43L2 :: [a_a42CC]) :: ([a_a42CC], [a_a42CC])
sSpan :: forall a_a42CC (t_a443V :: (~>) a_a42CC Bool) (t_a443W :: [a_a42CC]). Sing t_a443V -> Sing t_a443W -> Sing (Apply (Apply SpanSym0 t_a443V) t_a443W :: ([a_a42CC], [a_a42CC]))
type family Break (a_a43Kk :: (~>) a_a42CB Bool) (a_a43Kl :: [a_a42CB]) :: ([a_a42CB], [a_a42CB])
sBreak :: forall a_a42CB (t_a443R :: (~>) a_a42CB Bool) (t_a443S :: [a_a42CB]). Sing t_a443R -> Sing t_a443S -> Sing (Apply (Apply BreakSym0 t_a443R) t_a443S :: ([a_a42CB], [a_a42CB]))
type family NotElem (a_a6d4f :: a_a6cWx) (a_a6d4g :: t_a6cWw a_a6cWx) :: Bool
sNotElem :: forall a_a6cWx t_a6cWw (t_a6ds6 :: a_a6cWx) (t_a6ds7 :: t_a6cWw a_a6cWx). (SFoldable t_a6cWw, SEq a_a6cWx) => Sing t_a6ds6 -> Sing t_a6ds7 -> Sing (Apply (Apply NotElemSym0 t_a6ds6) t_a6ds7 :: Bool)
type family Lookup (a_a43Iy :: a_a42Cq) (a_a43Iz :: [(a_a42Cq, b_a42Cr)]) :: Maybe b_a42Cr
sLookup :: forall a_a42Cq b_a42Cr (t_a443l :: a_a42Cq) (t_a443m :: [(a_a42Cq, b_a42Cr)]). SEq a_a42Cq => Sing t_a443l -> Sing t_a443m -> Sing (Apply (Apply LookupSym0 t_a443l) t_a443m :: Maybe b_a42Cr)
type family Zip (a_a43TZ :: [a_a42Dx]) (a_a43U0 :: [b_a42Dy]) :: [(a_a42Dx, b_a42Dy)]
sZip :: forall a_a42Dx b_a42Dy (t_a445V :: [a_a42Dx]) (t_a445W :: [b_a42Dy]). Sing t_a445V -> Sing t_a445W -> Sing (Apply (Apply ZipSym0 t_a445V) t_a445W :: [(a_a42Dx, b_a42Dy)])
type family Zip3 (a_a43TN :: [a_a42Du]) (a_a43TO :: [b_a42Dv]) (a_a43TP :: [c_a42Dw]) :: [(a_a42Du, b_a42Dv, c_a42Dw)]
sZip3 :: forall a_a42Du b_a42Dv c_a42Dw (t_a445P :: [a_a42Du]) (t_a445Q :: [b_a42Dv]) (t_a445R :: [c_a42Dw]). Sing t_a445P -> Sing t_a445Q -> Sing t_a445R -> Sing (Apply (Apply (Apply Zip3Sym0 t_a445P) t_a445Q) t_a445R :: [(a_a42Du, b_a42Dv, c_a42Dw)])
type family ZipWith (a_a43TC :: (~>) a_a42Dr ((~>) b_a42Ds c_a42Dt)) (a_a43TD :: [a_a42Dr]) (a_a43TE :: [b_a42Ds]) :: [c_a42Dt]
sZipWith :: forall a_a42Dr b_a42Ds c_a42Dt (t_a445J :: (~>) a_a42Dr ((~>) b_a42Ds c_a42Dt)) (t_a445K :: [a_a42Dr]) (t_a445L :: [b_a42Ds]). Sing t_a445J -> Sing t_a445K -> Sing t_a445L -> Sing (Apply (Apply (Apply ZipWithSym0 t_a445J) t_a445K) t_a445L :: [c_a42Dt])
type family ZipWith3 (a_a43Tn :: (~>) a_a42Dn ((~>) b_a42Do ((~>) c_a42Dp d_a42Dq))) (a_a43To :: [a_a42Dn]) (a_a43Tp :: [b_a42Do]) (a_a43Tq :: [c_a42Dp]) :: [d_a42Dq]
sZipWith3 :: forall a_a42Dn b_a42Do c_a42Dp d_a42Dq (t_a445B :: (~>) a_a42Dn ((~>) b_a42Do ((~>) c_a42Dp d_a42Dq))) (t_a445C :: [a_a42Dn]) (t_a445D :: [b_a42Do]) (t_a445E :: [c_a42Dp]). Sing t_a445B -> Sing t_a445C -> Sing t_a445D -> Sing t_a445E -> Sing (Apply (Apply (Apply (Apply ZipWith3Sym0 t_a445B) t_a445C) t_a445D) t_a445E :: [d_a42Dq])
type family Unzip (a_a43T4 :: [(a_a42Dl, b_a42Dm)]) :: ([a_a42Dl], [b_a42Dm])
sUnzip :: forall a_a42Dl b_a42Dm (t_a445z :: [(a_a42Dl, b_a42Dm)]). Sing t_a445z -> Sing (Apply UnzipSym0 t_a445z :: ([a_a42Dl], [b_a42Dm]))
type family Unzip3 (a_a43SJ :: [(a_a42Di, b_a42Dj, c_a42Dk)]) :: ([a_a42Di], [b_a42Dj], [c_a42Dk])
sUnzip3 :: forall a_a42Di b_a42Dj c_a42Dk (t_a445x :: [(a_a42Di, b_a42Dj, c_a42Dk)]). Sing t_a445x -> Sing (Apply Unzip3Sym0 t_a445x :: ([a_a42Di], [b_a42Dj], [c_a42Dk]))
type family Unlines (a_a43QZ :: [Symbol]) :: Symbol
sUnlines :: forall (t_a445n :: [Symbol]). Sing t_a445n -> Sing (Apply UnlinesSym0 t_a445n :: Symbol)
type family Unwords (a_a43QO :: [Symbol]) :: Symbol
sUnwords :: forall (t_a445l :: [Symbol]). Sing t_a445l -> Sing (Apply UnwordsSym0 t_a445l :: Symbol)
type family Maybe_ (a_a27ab :: b_a279T) (a_a27ac :: (~>) a_a279U b_a279T) (a_a27ad :: Maybe a_a279U) :: b_a279T
sMaybe_ :: forall b_a279T a_a279U (t_a27ak :: b_a279T) (t_a27al :: (~>) a_a279U b_a279T) (t_a27am :: Maybe a_a279U). Sing t_a27ak -> Sing t_a27al -> Sing t_a27am -> Sing (Apply (Apply (Apply Maybe_Sym0 t_a27ak) t_a27al) t_a27am :: b_a279T)
type family Either_ (a_a67Er :: (~>) a_a67DR c_a67DS) (a_a67Es :: (~>) b_a67DT c_a67DS) (a_a67Et :: Either a_a67DR b_a67DT) :: c_a67DS
sEither_ :: forall a_a67DR c_a67DS b_a67DT (t_a67EB :: (~>) a_a67DR c_a67DS) (t_a67EC :: (~>) b_a67DT c_a67DS) (t_a67ED :: Either a_a67DR b_a67DT). Sing t_a67EB -> Sing t_a67EC -> Sing t_a67ED -> Sing (Apply (Apply (Apply Either_Sym0 t_a67EB) t_a67EC) t_a67ED :: c_a67DS)
type family Fst (a_a1vA5 :: (a_a1vyr, b_a1vys)) :: a_a1vyr
sFst :: forall a_a1vyr b_a1vys (t_a1vAm :: (a_a1vyr, b_a1vys)). Sing t_a1vAm -> Sing (Apply FstSym0 t_a1vAm :: a_a1vyr)
type family Snd (a_a1vA2 :: (a_a1vyp, b_a1vyq)) :: b_a1vyq
sSnd :: forall a_a1vyp b_a1vyq (t_a1vAk :: (a_a1vyp, b_a1vyq)). Sing t_a1vAk -> Sing (Apply SndSym0 t_a1vAk :: b_a1vyq)
type family Curry (a_a1vzT :: (~>) (a_a1vym, b_a1vyn) c_a1vyo) (a_a1vzU :: a_a1vym) (a_a1vzV :: b_a1vyn) :: c_a1vyo
sCurry :: forall a_a1vym b_a1vyn c_a1vyo (t_a1vAe :: (~>) (a_a1vym, b_a1vyn) c_a1vyo) (t_a1vAf :: a_a1vym) (t_a1vAg :: b_a1vyn). Sing t_a1vAe -> Sing t_a1vAf -> Sing t_a1vAg -> Sing (Apply (Apply (Apply CurrySym0 t_a1vAe) t_a1vAf) t_a1vAg :: c_a1vyo)
type family Uncurry (a_a1vzN :: (~>) a_a1vyj ((~>) b_a1vyk c_a1vyl)) (a_a1vzO :: (a_a1vyj, b_a1vyk)) :: c_a1vyl
sUncurry :: forall a_a1vyj b_a1vyk c_a1vyl (t_a1vAa :: (~>) a_a1vyj ((~>) b_a1vyk c_a1vyl)) (t_a1vAb :: (a_a1vyj, b_a1vyk)). Sing t_a1vAa -> Sing t_a1vAb -> Sing (Apply (Apply UncurrySym0 t_a1vAa) t_a1vAb :: c_a1vyl)

-- | (Kind) This is the kind of type-level symbols. Declared here because
--   class IP needs it
data Symbol
either_ :: (a_a67DR -> c_a67DS) -> (b_a67DT -> c_a67DS) -> Either a_a67DR b_a67DT -> c_a67DS
maybe_ :: b_a279T -> (a_a279U -> b_a279T) -> Maybe a_a279U -> b_a279T
bool_ :: a_a1x0f -> a_a1x0f -> Bool -> a_a1x0f

-- | <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 (a6989586621679376281 :: Bool) = Not a6989586621679376281
data (&&@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 3 &&@#@$
data (&&@#@$$) (a6989586621679375749 :: Bool) :: (~>) Bool Bool
infixr 3 &&@#@$$
type (&&@#@$$$) (a6989586621679375749 :: Bool) (b6989586621679375750 :: Bool) = (&&) a6989586621679375749 b6989586621679375750
data (||@#@$) :: (~>) Bool ((~>) Bool Bool)
infixr 2 ||@#@$
data (||@#@$$) (a6989586621679375987 :: Bool) :: (~>) Bool Bool
infixr 2 ||@#@$$
type (||@#@$$$) (a6989586621679375987 :: Bool) (b6989586621679375988 :: Bool) = (||) a6989586621679375987 b6989586621679375988
type OtherwiseSym0 = Otherwise
type NothingSym0 = 'Nothing
data JustSym0 :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 (Maybe (a3530822107858468865 :: Type))
type JustSym1 (t6989586621679314237 :: a3530822107858468865) = 'Just t6989586621679314237
data Maybe_Sym0 :: forall b6989586621679513969 a6989586621679513970. (~>) b6989586621679513969 ((~>) ((~>) a6989586621679513970 b6989586621679513969) ((~>) (Maybe a6989586621679513970) b6989586621679513969))
data Maybe_Sym1 (a6989586621679513987 :: b6989586621679513969) :: forall a6989586621679513970. (~>) ((~>) a6989586621679513970 b6989586621679513969) ((~>) (Maybe a6989586621679513970) b6989586621679513969)
data Maybe_Sym2 (a6989586621679513987 :: b6989586621679513969) (a6989586621679513988 :: (~>) a6989586621679513970 b6989586621679513969) :: (~>) (Maybe a6989586621679513970) b6989586621679513969
type Maybe_Sym3 (a6989586621679513987 :: b6989586621679513969) (a6989586621679513988 :: (~>) a6989586621679513970 b6989586621679513969) (a6989586621679513989 :: Maybe a6989586621679513970) = Maybe_ a6989586621679513987 a6989586621679513988 a6989586621679513989
data LeftSym0 :: forall (a6989586621679091716 :: Type) (b6989586621679091717 :: Type). (~>) a6989586621679091716 (Either (a6989586621679091716 :: Type) (b6989586621679091717 :: Type))
type LeftSym1 (t6989586621679314304 :: a6989586621679091716) = 'Left t6989586621679314304
data RightSym0 :: forall (b6989586621679091717 :: Type) (a6989586621679091716 :: Type). (~>) b6989586621679091717 (Either (a6989586621679091716 :: Type) (b6989586621679091717 :: Type))
type RightSym1 (t6989586621679314306 :: b6989586621679091717) = 'Right t6989586621679314306
data Either_Sym0 :: forall a6989586621680469139 c6989586621680469140 b6989586621680469141. (~>) ((~>) a6989586621680469139 c6989586621680469140) ((~>) ((~>) b6989586621680469141 c6989586621680469140) ((~>) (Either a6989586621680469139 b6989586621680469141) c6989586621680469140))
data Either_Sym1 (a6989586621680469175 :: (~>) a6989586621680469139 c6989586621680469140) :: forall b6989586621680469141. (~>) ((~>) b6989586621680469141 c6989586621680469140) ((~>) (Either a6989586621680469139 b6989586621680469141) c6989586621680469140)
data Either_Sym2 (a6989586621680469175 :: (~>) a6989586621680469139 c6989586621680469140) (a6989586621680469176 :: (~>) b6989586621680469141 c6989586621680469140) :: (~>) (Either a6989586621680469139 b6989586621680469141) c6989586621680469140
type Either_Sym3 (a6989586621680469175 :: (~>) a6989586621680469139 c6989586621680469140) (a6989586621680469176 :: (~>) b6989586621680469141 c6989586621680469140) (a6989586621680469177 :: Either a6989586621680469139 b6989586621680469141) = Either_ a6989586621680469175 a6989586621680469176 a6989586621680469177
type Tuple0Sym0 = '()
data Tuple2Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 (a3530822107858468865 :: Type, b3530822107858468866 :: Type))
data Tuple2Sym1 (t6989586621679314354 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type). (~>) b3530822107858468866 (a3530822107858468865 :: Type, b3530822107858468866 :: Type)
type Tuple2Sym2 (t6989586621679314354 :: a3530822107858468865) (t6989586621679314355 :: b3530822107858468866) = '(t6989586621679314354, t6989586621679314355)
data Tuple3Sym0 :: forall (a3530822107858468865 :: Type) (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) a3530822107858468865 ((~>) b3530822107858468866 ((~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type)))
data Tuple3Sym1 (t6989586621679314385 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type))
data Tuple3Sym2 (t6989586621679314385 :: a3530822107858468865 :: Type) (t6989586621679314386 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type). (~>) c3530822107858468867 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type)
type Tuple3Sym3 (t6989586621679314385 :: a3530822107858468865) (t6989586621679314386 :: b3530822107858468866) (t6989586621679314387 :: c3530822107858468867) = '(t6989586621679314385, t6989586621679314386, t6989586621679314387)
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 (t6989586621679314432 :: a3530822107858468865 :: Type) :: forall (b3530822107858468866 :: Type) (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) b3530822107858468866 ((~>) c3530822107858468867 ((~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type)))
data Tuple4Sym2 (t6989586621679314432 :: a3530822107858468865 :: Type) (t6989586621679314433 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type))
data Tuple4Sym3 (t6989586621679314432 :: a3530822107858468865 :: Type) (t6989586621679314433 :: b3530822107858468866 :: Type) (t6989586621679314434 :: c3530822107858468867 :: Type) :: forall (d3530822107858468868 :: Type). (~>) d3530822107858468868 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type)
type Tuple4Sym4 (t6989586621679314432 :: a3530822107858468865) (t6989586621679314433 :: b3530822107858468866) (t6989586621679314434 :: c3530822107858468867) (t6989586621679314435 :: d3530822107858468868) = '(t6989586621679314432, t6989586621679314433, t6989586621679314434, t6989586621679314435)
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 (t6989586621679314497 :: 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 (t6989586621679314497 :: a3530822107858468865 :: Type) (t6989586621679314498 :: b3530822107858468866 :: Type) :: forall (c3530822107858468867 :: Type) (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) c3530822107858468867 ((~>) d3530822107858468868 ((~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type)))
data Tuple5Sym3 (t6989586621679314497 :: a3530822107858468865 :: Type) (t6989586621679314498 :: b3530822107858468866 :: Type) (t6989586621679314499 :: c3530822107858468867 :: Type) :: forall (d3530822107858468868 :: Type) (e3530822107858468869 :: Type). (~>) d3530822107858468868 ((~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type))
data Tuple5Sym4 (t6989586621679314497 :: a3530822107858468865 :: Type) (t6989586621679314498 :: b3530822107858468866 :: Type) (t6989586621679314499 :: c3530822107858468867 :: Type) (t6989586621679314500 :: d3530822107858468868 :: Type) :: forall (e3530822107858468869 :: Type). (~>) e3530822107858468869 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type)
type Tuple5Sym5 (t6989586621679314497 :: a3530822107858468865) (t6989586621679314498 :: b3530822107858468866) (t6989586621679314499 :: c3530822107858468867) (t6989586621679314500 :: d3530822107858468868) (t6989586621679314501 :: e3530822107858468869) = '(t6989586621679314497, t6989586621679314498, t6989586621679314499, t6989586621679314500, t6989586621679314501)
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 (t6989586621679314582 :: 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 (t6989586621679314582 :: a3530822107858468865 :: Type) (t6989586621679314583 :: 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 (t6989586621679314582 :: a3530822107858468865 :: Type) (t6989586621679314583 :: b3530822107858468866 :: Type) (t6989586621679314584 :: 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 (t6989586621679314582 :: a3530822107858468865 :: Type) (t6989586621679314583 :: b3530822107858468866 :: Type) (t6989586621679314584 :: c3530822107858468867 :: Type) (t6989586621679314585 :: d3530822107858468868 :: Type) :: forall (e3530822107858468869 :: Type) (f3530822107858468870 :: Type). (~>) e3530822107858468869 ((~>) f3530822107858468870 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type))
data Tuple6Sym5 (t6989586621679314582 :: a3530822107858468865 :: Type) (t6989586621679314583 :: b3530822107858468866 :: Type) (t6989586621679314584 :: c3530822107858468867 :: Type) (t6989586621679314585 :: d3530822107858468868 :: Type) (t6989586621679314586 :: e3530822107858468869 :: Type) :: forall (f3530822107858468870 :: Type). (~>) f3530822107858468870 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type)
type Tuple6Sym6 (t6989586621679314582 :: a3530822107858468865) (t6989586621679314583 :: b3530822107858468866) (t6989586621679314584 :: c3530822107858468867) (t6989586621679314585 :: d3530822107858468868) (t6989586621679314586 :: e3530822107858468869) (t6989586621679314587 :: f3530822107858468870) = '(t6989586621679314582, t6989586621679314583, t6989586621679314584, t6989586621679314585, t6989586621679314586, t6989586621679314587)
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 (t6989586621679314689 :: 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 (t6989586621679314689 :: a3530822107858468865 :: Type) (t6989586621679314690 :: 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 (t6989586621679314689 :: a3530822107858468865 :: Type) (t6989586621679314690 :: b3530822107858468866 :: Type) (t6989586621679314691 :: 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 (t6989586621679314689 :: a3530822107858468865 :: Type) (t6989586621679314690 :: b3530822107858468866 :: Type) (t6989586621679314691 :: c3530822107858468867 :: Type) (t6989586621679314692 :: 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 (t6989586621679314689 :: a3530822107858468865 :: Type) (t6989586621679314690 :: b3530822107858468866 :: Type) (t6989586621679314691 :: c3530822107858468867 :: Type) (t6989586621679314692 :: d3530822107858468868 :: Type) (t6989586621679314693 :: 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 (t6989586621679314689 :: a3530822107858468865 :: Type) (t6989586621679314690 :: b3530822107858468866 :: Type) (t6989586621679314691 :: c3530822107858468867 :: Type) (t6989586621679314692 :: d3530822107858468868 :: Type) (t6989586621679314693 :: e3530822107858468869 :: Type) (t6989586621679314694 :: f3530822107858468870 :: Type) :: forall (g3530822107858468871 :: Type). (~>) g3530822107858468871 (a3530822107858468865 :: Type, b3530822107858468866 :: Type, c3530822107858468867 :: Type, d3530822107858468868 :: Type, e3530822107858468869 :: Type, f3530822107858468870 :: Type, g3530822107858468871 :: Type)
type Tuple7Sym7 (t6989586621679314689 :: a3530822107858468865) (t6989586621679314690 :: b3530822107858468866) (t6989586621679314691 :: c3530822107858468867) (t6989586621679314692 :: d3530822107858468868) (t6989586621679314693 :: e3530822107858468869) (t6989586621679314694 :: f3530822107858468870) (t6989586621679314695 :: g3530822107858468871) = '(t6989586621679314689, t6989586621679314690, t6989586621679314691, t6989586621679314692, t6989586621679314693, t6989586621679314694, t6989586621679314695)
data FstSym0 :: forall a6989586621679369419 b6989586621679369420. (~>) (a6989586621679369419, b6989586621679369420) a6989586621679369419
type FstSym1 (a6989586621679369521 :: (a6989586621679369419, b6989586621679369420)) = Fst a6989586621679369521
data SndSym0 :: forall a6989586621679369417 b6989586621679369418. (~>) (a6989586621679369417, b6989586621679369418) b6989586621679369418
type SndSym1 (a6989586621679369518 :: (a6989586621679369417, b6989586621679369418)) = Snd a6989586621679369518
data CurrySym0 :: forall a6989586621679369414 b6989586621679369415 c6989586621679369416. (~>) ((~>) (a6989586621679369414, b6989586621679369415) c6989586621679369416) ((~>) a6989586621679369414 ((~>) b6989586621679369415 c6989586621679369416))
data CurrySym1 (a6989586621679369509 :: (~>) (a6989586621679369414, b6989586621679369415) c6989586621679369416) :: (~>) a6989586621679369414 ((~>) b6989586621679369415 c6989586621679369416)
data CurrySym2 (a6989586621679369509 :: (~>) (a6989586621679369414, b6989586621679369415) c6989586621679369416) (a6989586621679369510 :: a6989586621679369414) :: (~>) b6989586621679369415 c6989586621679369416
type CurrySym3 (a6989586621679369509 :: (~>) (a6989586621679369414, b6989586621679369415) c6989586621679369416) (a6989586621679369510 :: a6989586621679369414) (a6989586621679369511 :: b6989586621679369415) = Curry a6989586621679369509 a6989586621679369510 a6989586621679369511
data UncurrySym0 :: forall a6989586621679369411 b6989586621679369412 c6989586621679369413. (~>) ((~>) a6989586621679369411 ((~>) b6989586621679369412 c6989586621679369413)) ((~>) (a6989586621679369411, b6989586621679369412) c6989586621679369413)
data UncurrySym1 (a6989586621679369503 :: (~>) a6989586621679369411 ((~>) b6989586621679369412 c6989586621679369413)) :: (~>) (a6989586621679369411, b6989586621679369412) c6989586621679369413
type UncurrySym2 (a6989586621679369503 :: (~>) a6989586621679369411 ((~>) b6989586621679369412 c6989586621679369413)) (a6989586621679369504 :: (a6989586621679369411, b6989586621679369412)) = Uncurry a6989586621679369503 a6989586621679369504
data ErrorSym0 :: forall k06989586621679484900 k6989586621679484901. (~>) k06989586621679484900 k6989586621679484901
type ErrorSym1 (str6989586621679484902 :: k06989586621679484900) = Error str6989586621679484902
data ErrorWithoutStackTraceSym0 :: forall k06989586621679485990 k6989586621679485991. (~>) k06989586621679485990 k6989586621679485991
type ErrorWithoutStackTraceSym1 (str6989586621679485992 :: k06989586621679485990) = ErrorWithoutStackTrace str6989586621679485992
type UndefinedSym0 = Undefined
type LTSym0 = 'LT
type EQSym0 = 'EQ
type GTSym0 = 'GT
data CompareSym0 :: forall a6989586621679393042. (~>) a6989586621679393042 ((~>) a6989586621679393042 Ordering)
data CompareSym1 (arg6989586621679393131 :: a6989586621679393042) :: (~>) a6989586621679393042 Ordering
type CompareSym2 (arg6989586621679393131 :: a6989586621679393042) (arg6989586621679393132 :: a6989586621679393042) = Compare arg6989586621679393131 arg6989586621679393132
data (<@#@$) :: forall a6989586621679393042. (~>) a6989586621679393042 ((~>) a6989586621679393042 Bool)
infix 4 <@#@$
data (<@#@$$) (arg6989586621679393135 :: a6989586621679393042) :: (~>) a6989586621679393042 Bool
infix 4 <@#@$$
type (<@#@$$$) (arg6989586621679393135 :: a6989586621679393042) (arg6989586621679393136 :: a6989586621679393042) = (<) arg6989586621679393135 arg6989586621679393136
data (<=@#@$) :: forall a6989586621679393042. (~>) a6989586621679393042 ((~>) a6989586621679393042 Bool)
infix 4 <=@#@$
data (<=@#@$$) (arg6989586621679393139 :: a6989586621679393042) :: (~>) a6989586621679393042 Bool
infix 4 <=@#@$$
type (<=@#@$$$) (arg6989586621679393139 :: a6989586621679393042) (arg6989586621679393140 :: a6989586621679393042) = (<=) arg6989586621679393139 arg6989586621679393140
data (>@#@$) :: forall a6989586621679393042. (~>) a6989586621679393042 ((~>) a6989586621679393042 Bool)
infix 4 >@#@$
data (>@#@$$) (arg6989586621679393143 :: a6989586621679393042) :: (~>) a6989586621679393042 Bool
infix 4 >@#@$$
type (>@#@$$$) (arg6989586621679393143 :: a6989586621679393042) (arg6989586621679393144 :: a6989586621679393042) = (>) arg6989586621679393143 arg6989586621679393144
data (>=@#@$) :: forall a6989586621679393042. (~>) a6989586621679393042 ((~>) a6989586621679393042 Bool)
infix 4 >=@#@$
data (>=@#@$$) (arg6989586621679393147 :: a6989586621679393042) :: (~>) a6989586621679393042 Bool
infix 4 >=@#@$$
type (>=@#@$$$) (arg6989586621679393147 :: a6989586621679393042) (arg6989586621679393148 :: a6989586621679393042) = (>=) arg6989586621679393147 arg6989586621679393148
data MaxSym0 :: forall a6989586621679393042. (~>) a6989586621679393042 ((~>) a6989586621679393042 a6989586621679393042)
data MaxSym1 (arg6989586621679393151 :: a6989586621679393042) :: (~>) a6989586621679393042 a6989586621679393042
type MaxSym2 (arg6989586621679393151 :: a6989586621679393042) (arg6989586621679393152 :: a6989586621679393042) = Max arg6989586621679393151 arg6989586621679393152
data MinSym0 :: forall a6989586621679393042. (~>) a6989586621679393042 ((~>) a6989586621679393042 a6989586621679393042)
data MinSym1 (arg6989586621679393155 :: a6989586621679393042) :: (~>) a6989586621679393042 a6989586621679393042
type MinSym2 (arg6989586621679393155 :: a6989586621679393042) (arg6989586621679393156 :: a6989586621679393042) = Min arg6989586621679393155 arg6989586621679393156
data (^@#@$) :: (~>) Nat ((~>) Nat Nat)
infixr 8 ^@#@$
data (^@#@$$) (a3530822107858468865 :: Nat) :: (~>) Nat Nat
infixr 8 ^@#@$$
type (^@#@$$$) (a3530822107858468865 :: Nat) (b3530822107858468866 :: Nat) = (^) a3530822107858468865 b3530822107858468866
data ShowsPrecSym0 :: forall a6989586621680293725. (~>) Nat ((~>) a6989586621680293725 ((~>) Symbol Symbol))
data ShowsPrecSym1 (arg6989586621680294163 :: Nat) :: forall a6989586621680293725. (~>) a6989586621680293725 ((~>) Symbol Symbol)
data ShowsPrecSym2 (arg6989586621680294163 :: Nat) (arg6989586621680294164 :: a6989586621680293725) :: (~>) Symbol Symbol
type ShowsPrecSym3 (arg6989586621680294163 :: Nat) (arg6989586621680294164 :: a6989586621680293725) (arg6989586621680294165 :: Symbol) = ShowsPrec arg6989586621680294163 arg6989586621680294164 arg6989586621680294165
data Show_Sym0 :: forall a6989586621680293725. (~>) a6989586621680293725 Symbol
type Show_Sym1 (arg6989586621680294169 :: a6989586621680293725) = Show_ arg6989586621680294169
data ShowListSym0 :: forall a6989586621680293725. (~>) [a6989586621680293725] ((~>) Symbol Symbol)
data ShowListSym1 (arg6989586621680294171 :: [a6989586621680293725]) :: (~>) Symbol Symbol
type ShowListSym2 (arg6989586621680294171 :: [a6989586621680293725]) (arg6989586621680294172 :: Symbol) = ShowList arg6989586621680294171 arg6989586621680294172
data ShowsSym0 :: forall a6989586621680293710. (~>) a6989586621680293710 ((~>) Symbol Symbol)
data ShowsSym1 (a6989586621680294155 :: a6989586621680293710) :: (~>) Symbol Symbol
type ShowsSym2 (a6989586621680294155 :: a6989586621680293710) (a6989586621680294156 :: Symbol) = Shows a6989586621680294155 a6989586621680294156
data ShowCharSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowCharSym1 (a6989586621680294129 :: Symbol) :: (~>) Symbol Symbol
type ShowCharSym2 (a6989586621680294129 :: Symbol) (a6989586621680294130 :: Symbol) = ShowChar a6989586621680294129 a6989586621680294130
data ShowStringSym0 :: (~>) Symbol ((~>) Symbol Symbol)
data ShowStringSym1 (a6989586621680294119 :: Symbol) :: (~>) Symbol Symbol
type ShowStringSym2 (a6989586621680294119 :: Symbol) (a6989586621680294120 :: Symbol) = ShowString a6989586621680294119 a6989586621680294120
data ShowParenSym0 :: (~>) Bool ((~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol))
data ShowParenSym1 (a6989586621680294101 :: Bool) :: (~>) ((~>) Symbol Symbol) ((~>) Symbol Symbol)
data ShowParenSym2 (a6989586621680294101 :: Bool) (a6989586621680294102 :: (~>) Symbol Symbol) :: (~>) Symbol Symbol
data (<>@#@$) :: forall a6989586621679839716. (~>) a6989586621679839716 ((~>) a6989586621679839716 a6989586621679839716)
infixr 6 <>@#@$
data (<>@#@$$) (arg6989586621679839951 :: a6989586621679839716) :: (~>) a6989586621679839716 a6989586621679839716
infixr 6 <>@#@$$
type (<>@#@$$$) (arg6989586621679839951 :: a6989586621679839716) (arg6989586621679839952 :: a6989586621679839716) = (<>) arg6989586621679839951 arg6989586621679839952
type MemptySym0 = Mempty
data MappendSym0 :: forall a6989586621680363825. (~>) a6989586621680363825 ((~>) a6989586621680363825 a6989586621680363825)
data MappendSym1 (arg6989586621680363964 :: a6989586621680363825) :: (~>) a6989586621680363825 a6989586621680363825
type MappendSym2 (arg6989586621680363964 :: a6989586621680363825) (arg6989586621680363965 :: a6989586621680363825) = Mappend arg6989586621680363964 arg6989586621680363965
data MconcatSym0 :: forall a6989586621680363825. (~>) [a6989586621680363825] a6989586621680363825
type MconcatSym1 (arg6989586621680363968 :: [a6989586621680363825]) = Mconcat arg6989586621680363968
data FmapSym0 :: forall a6989586621679569924 b6989586621679569925 f6989586621679569923. (~>) ((~>) a6989586621679569924 b6989586621679569925) ((~>) (f6989586621679569923 a6989586621679569924) (f6989586621679569923 b6989586621679569925))
data FmapSym1 (arg6989586621679570315 :: (~>) a6989586621679569924 b6989586621679569925) :: forall f6989586621679569923. (~>) (f6989586621679569923 a6989586621679569924) (f6989586621679569923 b6989586621679569925)
type FmapSym2 (arg6989586621679570315 :: (~>) a6989586621679569924 b6989586621679569925) (arg6989586621679570316 :: f6989586621679569923 a6989586621679569924) = Fmap arg6989586621679570315 arg6989586621679570316
data (<$@#@$) :: forall a6989586621679569926 f6989586621679569923 b6989586621679569927. (~>) a6989586621679569926 ((~>) (f6989586621679569923 b6989586621679569927) (f6989586621679569923 a6989586621679569926))
infixl 4 <$@#@$
data (<$@#@$$) (arg6989586621679570319 :: a6989586621679569926) :: forall f6989586621679569923 b6989586621679569927. (~>) (f6989586621679569923 b6989586621679569927) (f6989586621679569923 a6989586621679569926)
infixl 4 <$@#@$$
type (<$@#@$$$) (arg6989586621679570319 :: a6989586621679569926) (arg6989586621679570320 :: f6989586621679569923 b6989586621679569927) = (<$) arg6989586621679570319 arg6989586621679570320
data (<$>@#@$) :: forall a6989586621679740100 b6989586621679740101 f6989586621679740099. (~>) ((~>) a6989586621679740100 b6989586621679740101) ((~>) (f6989586621679740099 a6989586621679740100) (f6989586621679740099 b6989586621679740101))
infixl 4 <$>@#@$
data (<$>@#@$$) (a6989586621679740181 :: (~>) a6989586621679740100 b6989586621679740101) :: forall f6989586621679740099. (~>) (f6989586621679740099 a6989586621679740100) (f6989586621679740099 b6989586621679740101)
infixl 4 <$>@#@$$
type (<$>@#@$$$) (a6989586621679740181 :: (~>) a6989586621679740100 b6989586621679740101) (a6989586621679740182 :: f6989586621679740099 a6989586621679740100) = (<$>) a6989586621679740181 a6989586621679740182
data PureSym0 :: forall a6989586621679569929 f6989586621679569928. (~>) a6989586621679569929 (f6989586621679569928 a6989586621679569929)
type PureSym1 (arg6989586621679570339 :: a6989586621679569929) = Pure arg6989586621679570339
data (<*>@#@$) :: forall f6989586621679569928 a6989586621679569930 b6989586621679569931. (~>) (f6989586621679569928 ((~>) a6989586621679569930 b6989586621679569931)) ((~>) (f6989586621679569928 a6989586621679569930) (f6989586621679569928 b6989586621679569931))
infixl 4 <*>@#@$
data (<*>@#@$$) (arg6989586621679570341 :: f6989586621679569928 ((~>) a6989586621679569930 b6989586621679569931)) :: (~>) (f6989586621679569928 a6989586621679569930) (f6989586621679569928 b6989586621679569931)
infixl 4 <*>@#@$$
type (<*>@#@$$$) (arg6989586621679570341 :: f6989586621679569928 ((~>) a6989586621679569930 b6989586621679569931)) (arg6989586621679570342 :: f6989586621679569928 a6989586621679569930) = (<*>) arg6989586621679570341 arg6989586621679570342
data (*>@#@$) :: forall f6989586621679569928 a6989586621679569935 b6989586621679569936. (~>) (f6989586621679569928 a6989586621679569935) ((~>) (f6989586621679569928 b6989586621679569936) (f6989586621679569928 b6989586621679569936))
infixl 4 *>@#@$
data (*>@#@$$) (arg6989586621679570351 :: f6989586621679569928 a6989586621679569935) :: forall b6989586621679569936. (~>) (f6989586621679569928 b6989586621679569936) (f6989586621679569928 b6989586621679569936)
infixl 4 *>@#@$$
type (*>@#@$$$) (arg6989586621679570351 :: f6989586621679569928 a6989586621679569935) (arg6989586621679570352 :: f6989586621679569928 b6989586621679569936) = (*>) arg6989586621679570351 arg6989586621679570352
data (<*@#@$) :: forall f6989586621679569928 a6989586621679569937 b6989586621679569938. (~>) (f6989586621679569928 a6989586621679569937) ((~>) (f6989586621679569928 b6989586621679569938) (f6989586621679569928 a6989586621679569937))
infixl 4 <*@#@$
data (<*@#@$$) (arg6989586621679570355 :: f6989586621679569928 a6989586621679569937) :: forall b6989586621679569938. (~>) (f6989586621679569928 b6989586621679569938) (f6989586621679569928 a6989586621679569937)
infixl 4 <*@#@$$
type (<*@#@$$$) (arg6989586621679570355 :: f6989586621679569928 a6989586621679569937) (arg6989586621679570356 :: f6989586621679569928 b6989586621679569938) = (<*) arg6989586621679570355 arg6989586621679570356
data (>>=@#@$) :: forall m6989586621679569952 a6989586621679569953 b6989586621679569954. (~>) (m6989586621679569952 a6989586621679569953) ((~>) ((~>) a6989586621679569953 (m6989586621679569952 b6989586621679569954)) (m6989586621679569952 b6989586621679569954))
infixl 1 >>=@#@$
data (>>=@#@$$) (arg6989586621679570422 :: m6989586621679569952 a6989586621679569953) :: forall b6989586621679569954. (~>) ((~>) a6989586621679569953 (m6989586621679569952 b6989586621679569954)) (m6989586621679569952 b6989586621679569954)
infixl 1 >>=@#@$$
type (>>=@#@$$$) (arg6989586621679570422 :: m6989586621679569952 a6989586621679569953) (arg6989586621679570423 :: (~>) a6989586621679569953 (m6989586621679569952 b6989586621679569954)) = (>>=) arg6989586621679570422 arg6989586621679570423
data (>>@#@$) :: forall m6989586621679569952 a6989586621679569955 b6989586621679569956. (~>) (m6989586621679569952 a6989586621679569955) ((~>) (m6989586621679569952 b6989586621679569956) (m6989586621679569952 b6989586621679569956))
infixl 1 >>@#@$
data (>>@#@$$) (arg6989586621679570426 :: m6989586621679569952 a6989586621679569955) :: forall b6989586621679569956. (~>) (m6989586621679569952 b6989586621679569956) (m6989586621679569952 b6989586621679569956)
infixl 1 >>@#@$$
type (>>@#@$$$) (arg6989586621679570426 :: m6989586621679569952 a6989586621679569955) (arg6989586621679570427 :: m6989586621679569952 b6989586621679569956) = (>>) arg6989586621679570426 arg6989586621679570427
data ReturnSym0 :: forall a6989586621679569957 m6989586621679569952. (~>) a6989586621679569957 (m6989586621679569952 a6989586621679569957)
type ReturnSym1 (arg6989586621679570430 :: a6989586621679569957) = Return arg6989586621679570430
data FailSym0 :: forall m6989586621679738015 a6989586621679738016. (~>) [Char] (m6989586621679738015 a6989586621679738016)
type FailSym1 (arg6989586621679738035 :: [Char]) = Fail arg6989586621679738035
data MapM_Sym0 :: forall a6989586621680489551 m6989586621680489550 b6989586621680489552 t6989586621680489549. (~>) ((~>) a6989586621680489551 (m6989586621680489550 b6989586621680489552)) ((~>) (t6989586621680489549 a6989586621680489551) (m6989586621680489550 ()))
data MapM_Sym1 (a6989586621680490155 :: (~>) a6989586621680489551 (m6989586621680489550 b6989586621680489552)) :: forall t6989586621680489549. (~>) (t6989586621680489549 a6989586621680489551) (m6989586621680489550 ())
type MapM_Sym2 (a6989586621680490155 :: (~>) a6989586621680489551 (m6989586621680489550 b6989586621680489552)) (a6989586621680490156 :: t6989586621680489549 a6989586621680489551) = MapM_ a6989586621680490155 a6989586621680490156
data Sequence_Sym0 :: forall t6989586621680489539 m6989586621680489540 a6989586621680489541. (~>) (t6989586621680489539 (m6989586621680489540 a6989586621680489541)) (m6989586621680489540 ())
type Sequence_Sym1 (a6989586621680490137 :: t6989586621680489539 (m6989586621680489540 a6989586621680489541)) = Sequence_ a6989586621680490137
data (=<<@#@$) :: forall a6989586621679569876 m6989586621679569875 b6989586621679569877. (~>) ((~>) a6989586621679569876 (m6989586621679569875 b6989586621679569877)) ((~>) (m6989586621679569875 a6989586621679569876) (m6989586621679569875 b6989586621679569877))
infixr 1 =<<@#@$
data (=<<@#@$$) (a6989586621679570268 :: (~>) a6989586621679569876 (m6989586621679569875 b6989586621679569877)) :: (~>) (m6989586621679569875 a6989586621679569876) (m6989586621679569875 b6989586621679569877)
infixr 1 =<<@#@$$
type (=<<@#@$$$) (a6989586621679570268 :: (~>) a6989586621679569876 (m6989586621679569875 b6989586621679569877)) (a6989586621679570269 :: m6989586621679569875 a6989586621679569876) = (=<<) a6989586621679570268 a6989586621679570269
data ElemSym0 :: forall a6989586621680489623 t6989586621680489606. (~>) a6989586621680489623 ((~>) (t6989586621680489606 a6989586621680489623) Bool)
data ElemSym1 (arg6989586621680490269 :: a6989586621680489623) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489623) Bool
type ElemSym2 (arg6989586621680490269 :: a6989586621680489623) (arg6989586621680490270 :: t6989586621680489606 a6989586621680489623) = Elem arg6989586621680490269 arg6989586621680490270
data FoldMapSym0 :: forall a6989586621680489609 m6989586621680489608 t6989586621680489606. (~>) ((~>) a6989586621680489609 m6989586621680489608) ((~>) (t6989586621680489606 a6989586621680489609) m6989586621680489608)
data FoldMapSym1 (arg6989586621680490227 :: (~>) a6989586621680489609 m6989586621680489608) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489609) m6989586621680489608
type FoldMapSym2 (arg6989586621680490227 :: (~>) a6989586621680489609 m6989586621680489608) (arg6989586621680490228 :: t6989586621680489606 a6989586621680489609) = FoldMap arg6989586621680490227 arg6989586621680490228
data FoldrSym0 :: forall a6989586621680489610 b6989586621680489611 t6989586621680489606. (~>) ((~>) a6989586621680489610 ((~>) b6989586621680489611 b6989586621680489611)) ((~>) b6989586621680489611 ((~>) (t6989586621680489606 a6989586621680489610) b6989586621680489611))
data FoldrSym1 (arg6989586621680490231 :: (~>) a6989586621680489610 ((~>) b6989586621680489611 b6989586621680489611)) :: forall t6989586621680489606. (~>) b6989586621680489611 ((~>) (t6989586621680489606 a6989586621680489610) b6989586621680489611)
data FoldrSym2 (arg6989586621680490231 :: (~>) a6989586621680489610 ((~>) b6989586621680489611 b6989586621680489611)) (arg6989586621680490232 :: b6989586621680489611) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489610) b6989586621680489611
type FoldrSym3 (arg6989586621680490231 :: (~>) a6989586621680489610 ((~>) b6989586621680489611 b6989586621680489611)) (arg6989586621680490232 :: b6989586621680489611) (arg6989586621680490233 :: t6989586621680489606 a6989586621680489610) = Foldr arg6989586621680490231 arg6989586621680490232 arg6989586621680490233
data FoldlSym0 :: forall b6989586621680489614 a6989586621680489615 t6989586621680489606. (~>) ((~>) b6989586621680489614 ((~>) a6989586621680489615 b6989586621680489614)) ((~>) b6989586621680489614 ((~>) (t6989586621680489606 a6989586621680489615) b6989586621680489614))
data FoldlSym1 (arg6989586621680490243 :: (~>) b6989586621680489614 ((~>) a6989586621680489615 b6989586621680489614)) :: forall t6989586621680489606. (~>) b6989586621680489614 ((~>) (t6989586621680489606 a6989586621680489615) b6989586621680489614)
data FoldlSym2 (arg6989586621680490243 :: (~>) b6989586621680489614 ((~>) a6989586621680489615 b6989586621680489614)) (arg6989586621680490244 :: b6989586621680489614) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489615) b6989586621680489614
type FoldlSym3 (arg6989586621680490243 :: (~>) b6989586621680489614 ((~>) a6989586621680489615 b6989586621680489614)) (arg6989586621680490244 :: b6989586621680489614) (arg6989586621680490245 :: t6989586621680489606 a6989586621680489615) = Foldl arg6989586621680490243 arg6989586621680490244 arg6989586621680490245
data Foldr1Sym0 :: forall a6989586621680489618 t6989586621680489606. (~>) ((~>) a6989586621680489618 ((~>) a6989586621680489618 a6989586621680489618)) ((~>) (t6989586621680489606 a6989586621680489618) a6989586621680489618)
data Foldr1Sym1 (arg6989586621680490255 :: (~>) a6989586621680489618 ((~>) a6989586621680489618 a6989586621680489618)) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489618) a6989586621680489618
type Foldr1Sym2 (arg6989586621680490255 :: (~>) a6989586621680489618 ((~>) a6989586621680489618 a6989586621680489618)) (arg6989586621680490256 :: t6989586621680489606 a6989586621680489618) = Foldr1 arg6989586621680490255 arg6989586621680490256
data Foldl1Sym0 :: forall a6989586621680489619 t6989586621680489606. (~>) ((~>) a6989586621680489619 ((~>) a6989586621680489619 a6989586621680489619)) ((~>) (t6989586621680489606 a6989586621680489619) a6989586621680489619)
data Foldl1Sym1 (arg6989586621680490259 :: (~>) a6989586621680489619 ((~>) a6989586621680489619 a6989586621680489619)) :: forall t6989586621680489606. (~>) (t6989586621680489606 a6989586621680489619) a6989586621680489619
type Foldl1Sym2 (arg6989586621680490259 :: (~>) a6989586621680489619 ((~>) a6989586621680489619 a6989586621680489619)) (arg6989586621680490260 :: t6989586621680489606 a6989586621680489619) = Foldl1 arg6989586621680490259 arg6989586621680490260
data MaximumSym0 :: forall t6989586621680489606 a6989586621680489624. (~>) (t6989586621680489606 a6989586621680489624) a6989586621680489624
type MaximumSym1 (arg6989586621680490273 :: t6989586621680489606 a6989586621680489624) = Maximum arg6989586621680490273
data MinimumSym0 :: forall t6989586621680489606 a6989586621680489625. (~>) (t6989586621680489606 a6989586621680489625) a6989586621680489625
type MinimumSym1 (arg6989586621680490275 :: t6989586621680489606 a6989586621680489625) = Minimum arg6989586621680490275
data SumSym0 :: forall t6989586621680489606 a6989586621680489626. (~>) (t6989586621680489606 a6989586621680489626) a6989586621680489626
type SumSym1 (arg6989586621680490277 :: t6989586621680489606 a6989586621680489626) = Sum arg6989586621680490277
data ProductSym0 :: forall t6989586621680489606 a6989586621680489627. (~>) (t6989586621680489606 a6989586621680489627) a6989586621680489627
type ProductSym1 (arg6989586621680490279 :: t6989586621680489606 a6989586621680489627) = Product arg6989586621680490279
data TraverseSym0 :: forall a6989586621680797799 f6989586621680797798 b6989586621680797800 t6989586621680797797. (~>) ((~>) a6989586621680797799 (f6989586621680797798 b6989586621680797800)) ((~>) (t6989586621680797797 a6989586621680797799) (f6989586621680797798 (t6989586621680797797 b6989586621680797800)))
data TraverseSym1 (arg6989586621680797809 :: (~>) a6989586621680797799 (f6989586621680797798 b6989586621680797800)) :: forall t6989586621680797797. (~>) (t6989586621680797797 a6989586621680797799) (f6989586621680797798 (t6989586621680797797 b6989586621680797800))
type TraverseSym2 (arg6989586621680797809 :: (~>) a6989586621680797799 (f6989586621680797798 b6989586621680797800)) (arg6989586621680797810 :: t6989586621680797797 a6989586621680797799) = Traverse arg6989586621680797809 arg6989586621680797810
data SequenceASym0 :: forall t6989586621680797797 f6989586621680797801 a6989586621680797802. (~>) (t6989586621680797797 (f6989586621680797801 a6989586621680797802)) (f6989586621680797801 (t6989586621680797797 a6989586621680797802))
type SequenceASym1 (arg6989586621680797813 :: t6989586621680797797 (f6989586621680797801 a6989586621680797802)) = SequenceA arg6989586621680797813
data MapMSym0 :: forall a6989586621680797804 m6989586621680797803 b6989586621680797805 t6989586621680797797. (~>) ((~>) a6989586621680797804 (m6989586621680797803 b6989586621680797805)) ((~>) (t6989586621680797797 a6989586621680797804) (m6989586621680797803 (t6989586621680797797 b6989586621680797805)))
data MapMSym1 (arg6989586621680797815 :: (~>) a6989586621680797804 (m6989586621680797803 b6989586621680797805)) :: forall t6989586621680797797. (~>) (t6989586621680797797 a6989586621680797804) (m6989586621680797803 (t6989586621680797797 b6989586621680797805))
type MapMSym2 (arg6989586621680797815 :: (~>) a6989586621680797804 (m6989586621680797803 b6989586621680797805)) (arg6989586621680797816 :: t6989586621680797797 a6989586621680797804) = MapM arg6989586621680797815 arg6989586621680797816
data SequenceSym0 :: forall t6989586621680797797 m6989586621680797806 a6989586621680797807. (~>) (t6989586621680797797 (m6989586621680797806 a6989586621680797807)) (m6989586621680797806 (t6989586621680797797 a6989586621680797807))
type SequenceSym1 (arg6989586621680797819 :: t6989586621680797797 (m6989586621680797806 a6989586621680797807)) = Sequence arg6989586621680797819
data IdSym0 :: forall a6989586621679544536. (~>) a6989586621679544536 a6989586621679544536
type IdSym1 (a6989586621679544731 :: a6989586621679544536) = Id a6989586621679544731
data ConstSym0 :: forall a6989586621679544534 b6989586621679544535. (~>) a6989586621679544534 ((~>) b6989586621679544535 a6989586621679544534)
data ConstSym1 (a6989586621679544726 :: a6989586621679544534) :: forall b6989586621679544535. (~>) b6989586621679544535 a6989586621679544534
type ConstSym2 (a6989586621679544726 :: a6989586621679544534) (a6989586621679544727 :: b6989586621679544535) = Const a6989586621679544726 a6989586621679544727
data (.@#@$) :: forall b6989586621679544531 c6989586621679544532 a6989586621679544533. (~>) ((~>) b6989586621679544531 c6989586621679544532) ((~>) ((~>) a6989586621679544533 b6989586621679544531) ((~>) a6989586621679544533 c6989586621679544532))
infixr 9 .@#@$
data (.@#@$$) (a6989586621679544707 :: (~>) b6989586621679544531 c6989586621679544532) :: forall a6989586621679544533. (~>) ((~>) a6989586621679544533 b6989586621679544531) ((~>) a6989586621679544533 c6989586621679544532)
infixr 9 .@#@$$
data (.@#@$$$) (a6989586621679544707 :: (~>) b6989586621679544531 c6989586621679544532) (a6989586621679544708 :: (~>) a6989586621679544533 b6989586621679544531) :: (~>) a6989586621679544533 c6989586621679544532
infixr 9 .@#@$$$
data ($@#@$) :: forall a6989586621679544525 b6989586621679544526. (~>) ((~>) a6989586621679544525 b6989586621679544526) ((~>) a6989586621679544525 b6989586621679544526)
infixr 0 $@#@$
data ($@#@$$) (a6989586621679544682 :: (~>) a6989586621679544525 b6989586621679544526) :: (~>) a6989586621679544525 b6989586621679544526
infixr 0 $@#@$$
type ($@#@$$$) (a6989586621679544682 :: (~>) a6989586621679544525 b6989586621679544526) (a6989586621679544683 :: a6989586621679544525) = ($) a6989586621679544682 a6989586621679544683
data ($!@#@$) :: forall a6989586621679544523 b6989586621679544524. (~>) ((~>) a6989586621679544523 b6989586621679544524) ((~>) a6989586621679544523 b6989586621679544524)
infixr 0 $!@#@$
data ($!@#@$$) (a6989586621679544673 :: (~>) a6989586621679544523 b6989586621679544524) :: (~>) a6989586621679544523 b6989586621679544524
infixr 0 $!@#@$$
type ($!@#@$$$) (a6989586621679544673 :: (~>) a6989586621679544523 b6989586621679544524) (a6989586621679544674 :: a6989586621679544523) = ($!) a6989586621679544673 a6989586621679544674
data FlipSym0 :: forall a6989586621679544528 b6989586621679544529 c6989586621679544530. (~>) ((~>) a6989586621679544528 ((~>) b6989586621679544529 c6989586621679544530)) ((~>) b6989586621679544529 ((~>) a6989586621679544528 c6989586621679544530))
data FlipSym1 (a6989586621679544698 :: (~>) a6989586621679544528 ((~>) b6989586621679544529 c6989586621679544530)) :: (~>) b6989586621679544529 ((~>) a6989586621679544528 c6989586621679544530)
data FlipSym2 (a6989586621679544698 :: (~>) a6989586621679544528 ((~>) b6989586621679544529 c6989586621679544530)) (a6989586621679544699 :: b6989586621679544529) :: (~>) a6989586621679544528 c6989586621679544530
data AsTypeOfSym0 :: forall a6989586621679544527. (~>) a6989586621679544527 ((~>) a6989586621679544527 a6989586621679544527)
data AsTypeOfSym1 (a6989586621679544692 :: a6989586621679544527) :: (~>) a6989586621679544527 a6989586621679544527
type AsTypeOfSym2 (a6989586621679544692 :: a6989586621679544527) (a6989586621679544693 :: a6989586621679544527) = AsTypeOf a6989586621679544692 a6989586621679544693
data SeqSym0 :: forall a6989586621679544520 b6989586621679544521. (~>) a6989586621679544520 ((~>) b6989586621679544521 b6989586621679544521)
infixr 0 `SeqSym0`
data SeqSym1 (a6989586621679544642 :: a6989586621679544520) :: forall b6989586621679544521. (~>) b6989586621679544521 b6989586621679544521
infixr 0 `SeqSym1`
type SeqSym2 (a6989586621679544642 :: a6989586621679544520) (a6989586621679544643 :: b6989586621679544521) = Seq a6989586621679544642 a6989586621679544643
data (:@#@$) :: forall (a3530822107858468865 :: Type). (~>) a3530822107858468865 ((~>) [a3530822107858468865] [a3530822107858468865 :: Type])
infixr 5 :@#@$
data (:@#@$$) (t6989586621679314260 :: a3530822107858468865 :: Type) :: (~>) [a3530822107858468865] [a3530822107858468865 :: Type]
infixr 5 :@#@$$
type (:@#@$$$) (t6989586621679314260 :: a3530822107858468865) (t6989586621679314261 :: [a3530822107858468865]) = '(:) t6989586621679314260 t6989586621679314261
type NilSym0 = '[]
data MapSym0 :: forall a6989586621679544538 b6989586621679544539. (~>) ((~>) a6989586621679544538 b6989586621679544539) ((~>) [a6989586621679544538] [b6989586621679544539])
data MapSym1 (a6989586621679544742 :: (~>) a6989586621679544538 b6989586621679544539) :: (~>) [a6989586621679544538] [b6989586621679544539]
type MapSym2 (a6989586621679544742 :: (~>) a6989586621679544538 b6989586621679544539) (a6989586621679544743 :: [a6989586621679544538]) = Map a6989586621679544742 a6989586621679544743
data ReverseSym0 :: forall a6989586621679973282. (~>) [a6989586621679973282] [a6989586621679973282]
type ReverseSym1 (a6989586621679978597 :: [a6989586621679973282]) = Reverse a6989586621679978597
data (++@#@$$) (a6989586621679544734 :: [a6989586621679544537]) :: (~>) [a6989586621679544537] [a6989586621679544537]
infixr 5 ++@#@$$
data (++@#@$) :: forall a6989586621679544537. (~>) [a6989586621679544537] ((~>) [a6989586621679544537] [a6989586621679544537])
infixr 5 ++@#@$
data FilterSym0 :: forall a6989586621679973197. (~>) ((~>) a6989586621679973197 Bool) ((~>) [a6989586621679973197] [a6989586621679973197])
data FilterSym1 (a6989586621679977752 :: (~>) a6989586621679973197 Bool) :: (~>) [a6989586621679973197] [a6989586621679973197]
type FilterSym2 (a6989586621679977752 :: (~>) a6989586621679973197 Bool) (a6989586621679977753 :: [a6989586621679973197]) = Filter a6989586621679977752 a6989586621679977753
data HeadSym0 :: forall a6989586621679973287. (~>) [a6989586621679973287] a6989586621679973287
type HeadSym1 (a6989586621679978634 :: [a6989586621679973287]) = Head a6989586621679978634
data LastSym0 :: forall a6989586621679973286. (~>) [a6989586621679973286] a6989586621679973286
type LastSym1 (a6989586621679978629 :: [a6989586621679973286]) = Last a6989586621679978629
data TailSym0 :: forall a6989586621679973285. (~>) [a6989586621679973285] [a6989586621679973285]
type TailSym1 (a6989586621679978626 :: [a6989586621679973285]) = Tail a6989586621679978626
data InitSym0 :: forall a6989586621679973284. (~>) [a6989586621679973284] [a6989586621679973284]
type InitSym1 (a6989586621679978612 :: [a6989586621679973284]) = Init a6989586621679978612
data NullSym0 :: forall t6989586621680489606 a6989586621680489621. (~>) (t6989586621680489606 a6989586621680489621) Bool
type NullSym1 (arg6989586621680490265 :: t6989586621680489606 a6989586621680489621) = Null arg6989586621680490265
data ConcatSym0 :: forall t6989586621680489531 a6989586621680489532. (~>) (t6989586621680489531 [a6989586621680489532]) [a6989586621680489532]
type ConcatSym1 (a6989586621680490113 :: t6989586621680489531 [a6989586621680489532]) = Concat a6989586621680490113
data ConcatMapSym0 :: forall a6989586621680489529 b6989586621680489530 t6989586621680489528. (~>) ((~>) a6989586621680489529 [b6989586621680489530]) ((~>) (t6989586621680489528 a6989586621680489529) [b6989586621680489530])
data ConcatMapSym1 (a6989586621680490097 :: (~>) a6989586621680489529 [b6989586621680489530]) :: forall t6989586621680489528. (~>) (t6989586621680489528 a6989586621680489529) [b6989586621680489530]
type ConcatMapSym2 (a6989586621680490097 :: (~>) a6989586621680489529 [b6989586621680489530]) (a6989586621680490098 :: t6989586621680489528 a6989586621680489529) = ConcatMap a6989586621680490097 a6989586621680490098
data AndSym0 :: forall t6989586621680489527. (~>) (t6989586621680489527 Bool) Bool
type AndSym1 (a6989586621680490088 :: t6989586621680489527 Bool) = And a6989586621680490088
data OrSym0 :: forall t6989586621680489526. (~>) (t6989586621680489526 Bool) Bool
type OrSym1 (a6989586621680490079 :: t6989586621680489526 Bool) = Or a6989586621680490079
data AnySym0 :: forall a6989586621680489525 t6989586621680489524. (~>) ((~>) a6989586621680489525 Bool) ((~>) (t6989586621680489524 a6989586621680489525) Bool)
data AnySym1 (a6989586621680490066 :: (~>) a6989586621680489525 Bool) :: forall t6989586621680489524. (~>) (t6989586621680489524 a6989586621680489525) Bool
type AnySym2 (a6989586621680490066 :: (~>) a6989586621680489525 Bool) (a6989586621680490067 :: t6989586621680489524 a6989586621680489525) = Any a6989586621680490066 a6989586621680490067
data AllSym0 :: forall a6989586621680489523 t6989586621680489522. (~>) ((~>) a6989586621680489523 Bool) ((~>) (t6989586621680489522 a6989586621680489523) Bool)
data AllSym1 (a6989586621680490053 :: (~>) a6989586621680489523 Bool) :: forall t6989586621680489522. (~>) (t6989586621680489522 a6989586621680489523) Bool
type AllSym2 (a6989586621680490053 :: (~>) a6989586621680489523 Bool) (a6989586621680490054 :: t6989586621680489522 a6989586621680489523) = All a6989586621680490053 a6989586621680490054
data ScanlSym0 :: forall b6989586621679973264 a6989586621679973265. (~>) ((~>) b6989586621679973264 ((~>) a6989586621679973265 b6989586621679973264)) ((~>) b6989586621679973264 ((~>) [a6989586621679973265] [b6989586621679973264]))
data ScanlSym1 (a6989586621679978358 :: (~>) b6989586621679973264 ((~>) a6989586621679973265 b6989586621679973264)) :: (~>) b6989586621679973264 ((~>) [a6989586621679973265] [b6989586621679973264])
data ScanlSym2 (a6989586621679978358 :: (~>) b6989586621679973264 ((~>) a6989586621679973265 b6989586621679973264)) (a6989586621679978359 :: b6989586621679973264) :: (~>) [a6989586621679973265] [b6989586621679973264]
type ScanlSym3 (a6989586621679978358 :: (~>) b6989586621679973264 ((~>) a6989586621679973265 b6989586621679973264)) (a6989586621679978359 :: b6989586621679973264) (a6989586621679978360 :: [a6989586621679973265]) = Scanl a6989586621679978358 a6989586621679978359 a6989586621679978360
data Scanl1Sym0 :: forall a6989586621679973263. (~>) ((~>) a6989586621679973263 ((~>) a6989586621679973263 a6989586621679973263)) ((~>) [a6989586621679973263] [a6989586621679973263])
data Scanl1Sym1 (a6989586621679978351 :: (~>) a6989586621679973263 ((~>) a6989586621679973263 a6989586621679973263)) :: (~>) [a6989586621679973263] [a6989586621679973263]
type Scanl1Sym2 (a6989586621679978351 :: (~>) a6989586621679973263 ((~>) a6989586621679973263 a6989586621679973263)) (a6989586621679978352 :: [a6989586621679973263]) = Scanl1 a6989586621679978351 a6989586621679978352
data ScanrSym0 :: forall a6989586621679973261 b6989586621679973262. (~>) ((~>) a6989586621679973261 ((~>) b6989586621679973262 b6989586621679973262)) ((~>) b6989586621679973262 ((~>) [a6989586621679973261] [b6989586621679973262]))
data ScanrSym1 (a6989586621679978330 :: (~>) a6989586621679973261 ((~>) b6989586621679973262 b6989586621679973262)) :: (~>) b6989586621679973262 ((~>) [a6989586621679973261] [b6989586621679973262])
data ScanrSym2 (a6989586621679978330 :: (~>) a6989586621679973261 ((~>) b6989586621679973262 b6989586621679973262)) (a6989586621679978331 :: b6989586621679973262) :: (~>) [a6989586621679973261] [b6989586621679973262]
type ScanrSym3 (a6989586621679978330 :: (~>) a6989586621679973261 ((~>) b6989586621679973262 b6989586621679973262)) (a6989586621679978331 :: b6989586621679973262) (a6989586621679978332 :: [a6989586621679973261]) = Scanr a6989586621679978330 a6989586621679978331 a6989586621679978332
data Scanr1Sym0 :: forall a6989586621679973260. (~>) ((~>) a6989586621679973260 ((~>) a6989586621679973260 a6989586621679973260)) ((~>) [a6989586621679973260] [a6989586621679973260])
data Scanr1Sym1 (a6989586621679978306 :: (~>) a6989586621679973260 ((~>) a6989586621679973260 a6989586621679973260)) :: (~>) [a6989586621679973260] [a6989586621679973260]
type Scanr1Sym2 (a6989586621679978306 :: (~>) a6989586621679973260 ((~>) a6989586621679973260 a6989586621679973260)) (a6989586621679978307 :: [a6989586621679973260]) = Scanr1 a6989586621679978306 a6989586621679978307
data ReplicateSym0 :: forall a6989586621679973168. (~>) Nat ((~>) a6989586621679973168 [a6989586621679973168])
data ReplicateSym1 (a6989586621679977333 :: Nat) :: forall a6989586621679973168. (~>) a6989586621679973168 [a6989586621679973168]
type ReplicateSym2 (a6989586621679977333 :: Nat) (a6989586621679977334 :: a6989586621679973168) = Replicate a6989586621679977333 a6989586621679977334
data TakeSym0 :: forall a6989586621679973184. (~>) Nat ((~>) [a6989586621679973184] [a6989586621679973184])
data TakeSym1 (a6989586621679977494 :: Nat) :: forall a6989586621679973184. (~>) [a6989586621679973184] [a6989586621679973184]
type TakeSym2 (a6989586621679977494 :: Nat) (a6989586621679977495 :: [a6989586621679973184]) = Take a6989586621679977494 a6989586621679977495
data DropSym0 :: forall a6989586621679973183. (~>) Nat ((~>) [a6989586621679973183] [a6989586621679973183])
data DropSym1 (a6989586621679977480 :: Nat) :: forall a6989586621679973183. (~>) [a6989586621679973183] [a6989586621679973183]
type DropSym2 (a6989586621679977480 :: Nat) (a6989586621679977481 :: [a6989586621679973183]) = Drop a6989586621679977480 a6989586621679977481
data SplitAtSym0 :: forall a6989586621679973182. (~>) Nat ((~>) [a6989586621679973182] ([a6989586621679973182], [a6989586621679973182]))
data SplitAtSym1 (a6989586621679977474 :: Nat) :: forall a6989586621679973182. (~>) [a6989586621679973182] ([a6989586621679973182], [a6989586621679973182])
type SplitAtSym2 (a6989586621679977474 :: Nat) (a6989586621679977475 :: [a6989586621679973182]) = SplitAt a6989586621679977474 a6989586621679977475
data TakeWhileSym0 :: forall a6989586621679973189. (~>) ((~>) a6989586621679973189 Bool) ((~>) [a6989586621679973189] [a6989586621679973189])
data TakeWhileSym1 (a6989586621679977638 :: (~>) a6989586621679973189 Bool) :: (~>) [a6989586621679973189] [a6989586621679973189]
type TakeWhileSym2 (a6989586621679977638 :: (~>) a6989586621679973189 Bool) (a6989586621679977639 :: [a6989586621679973189]) = TakeWhile a6989586621679977638 a6989586621679977639
data DropWhileSym0 :: forall a6989586621679973188. (~>) ((~>) a6989586621679973188 Bool) ((~>) [a6989586621679973188] [a6989586621679973188])
data DropWhileSym1 (a6989586621679977620 :: (~>) a6989586621679973188 Bool) :: (~>) [a6989586621679973188] [a6989586621679973188]
type DropWhileSym2 (a6989586621679977620 :: (~>) a6989586621679973188 Bool) (a6989586621679977621 :: [a6989586621679973188]) = DropWhile a6989586621679977620 a6989586621679977621
data DropWhileEndSym0 :: forall a6989586621679973187. (~>) ((~>) a6989586621679973187 Bool) ((~>) [a6989586621679973187] [a6989586621679973187])
data DropWhileEndSym1 (a6989586621679977594 :: (~>) a6989586621679973187 Bool) :: (~>) [a6989586621679973187] [a6989586621679973187]
type DropWhileEndSym2 (a6989586621679977594 :: (~>) a6989586621679973187 Bool) (a6989586621679977595 :: [a6989586621679973187]) = DropWhileEnd a6989586621679977594 a6989586621679977595
data SpanSym0 :: forall a6989586621679973186. (~>) ((~>) a6989586621679973186 Bool) ((~>) [a6989586621679973186] ([a6989586621679973186], [a6989586621679973186]))
data SpanSym1 (a6989586621679977551 :: (~>) a6989586621679973186 Bool) :: (~>) [a6989586621679973186] ([a6989586621679973186], [a6989586621679973186])
type SpanSym2 (a6989586621679977551 :: (~>) a6989586621679973186 Bool) (a6989586621679977552 :: [a6989586621679973186]) = Span a6989586621679977551 a6989586621679977552
data BreakSym0 :: forall a6989586621679973185. (~>) ((~>) a6989586621679973185 Bool) ((~>) [a6989586621679973185] ([a6989586621679973185], [a6989586621679973185]))
data BreakSym1 (a6989586621679977508 :: (~>) a6989586621679973185 Bool) :: (~>) [a6989586621679973185] ([a6989586621679973185], [a6989586621679973185])
type BreakSym2 (a6989586621679977508 :: (~>) a6989586621679973185 Bool) (a6989586621679977509 :: [a6989586621679973185]) = Break a6989586621679977508 a6989586621679977509
data NotElemSym0 :: forall a6989586621680489517 t6989586621680489516. (~>) a6989586621680489517 ((~>) (t6989586621680489516 a6989586621680489517) Bool)
data NotElemSym1 (a6989586621680489995 :: a6989586621680489517) :: forall t6989586621680489516. (~>) (t6989586621680489516 a6989586621680489517) Bool
type NotElemSym2 (a6989586621680489995 :: a6989586621680489517) (a6989586621680489996 :: t6989586621680489516 a6989586621680489517) = NotElem a6989586621680489995 a6989586621680489996
data ZipSym0 :: forall a6989586621679973243 b6989586621679973244. (~>) [a6989586621679973243] ((~>) [b6989586621679973244] [(a6989586621679973243, b6989586621679973244)])
data ZipSym1 (a6989586621679978107 :: [a6989586621679973243]) :: forall b6989586621679973244. (~>) [b6989586621679973244] [(a6989586621679973243, b6989586621679973244)]
type ZipSym2 (a6989586621679978107 :: [a6989586621679973243]) (a6989586621679978108 :: [b6989586621679973244]) = Zip a6989586621679978107 a6989586621679978108
data Zip3Sym0 :: forall a6989586621679973240 b6989586621679973241 c6989586621679973242. (~>) [a6989586621679973240] ((~>) [b6989586621679973241] ((~>) [c6989586621679973242] [(a6989586621679973240, b6989586621679973241, c6989586621679973242)]))
data Zip3Sym1 (a6989586621679978095 :: [a6989586621679973240]) :: forall b6989586621679973241 c6989586621679973242. (~>) [b6989586621679973241] ((~>) [c6989586621679973242] [(a6989586621679973240, b6989586621679973241, c6989586621679973242)])
data Zip3Sym2 (a6989586621679978095 :: [a6989586621679973240]) (a6989586621679978096 :: [b6989586621679973241]) :: forall c6989586621679973242. (~>) [c6989586621679973242] [(a6989586621679973240, b6989586621679973241, c6989586621679973242)]
type Zip3Sym3 (a6989586621679978095 :: [a6989586621679973240]) (a6989586621679978096 :: [b6989586621679973241]) (a6989586621679978097 :: [c6989586621679973242]) = Zip3 a6989586621679978095 a6989586621679978096 a6989586621679978097
data ZipWithSym0 :: forall a6989586621679973237 b6989586621679973238 c6989586621679973239. (~>) ((~>) a6989586621679973237 ((~>) b6989586621679973238 c6989586621679973239)) ((~>) [a6989586621679973237] ((~>) [b6989586621679973238] [c6989586621679973239]))
data ZipWithSym1 (a6989586621679978084 :: (~>) a6989586621679973237 ((~>) b6989586621679973238 c6989586621679973239)) :: (~>) [a6989586621679973237] ((~>) [b6989586621679973238] [c6989586621679973239])
data ZipWithSym2 (a6989586621679978084 :: (~>) a6989586621679973237 ((~>) b6989586621679973238 c6989586621679973239)) (a6989586621679978085 :: [a6989586621679973237]) :: (~>) [b6989586621679973238] [c6989586621679973239]
type ZipWithSym3 (a6989586621679978084 :: (~>) a6989586621679973237 ((~>) b6989586621679973238 c6989586621679973239)) (a6989586621679978085 :: [a6989586621679973237]) (a6989586621679978086 :: [b6989586621679973238]) = ZipWith a6989586621679978084 a6989586621679978085 a6989586621679978086
data ZipWith3Sym0 :: forall a6989586621679973233 b6989586621679973234 c6989586621679973235 d6989586621679973236. (~>) ((~>) a6989586621679973233 ((~>) b6989586621679973234 ((~>) c6989586621679973235 d6989586621679973236))) ((~>) [a6989586621679973233] ((~>) [b6989586621679973234] ((~>) [c6989586621679973235] [d6989586621679973236])))
data ZipWith3Sym1 (a6989586621679978069 :: (~>) a6989586621679973233 ((~>) b6989586621679973234 ((~>) c6989586621679973235 d6989586621679973236))) :: (~>) [a6989586621679973233] ((~>) [b6989586621679973234] ((~>) [c6989586621679973235] [d6989586621679973236]))
data ZipWith3Sym2 (a6989586621679978069 :: (~>) a6989586621679973233 ((~>) b6989586621679973234 ((~>) c6989586621679973235 d6989586621679973236))) (a6989586621679978070 :: [a6989586621679973233]) :: (~>) [b6989586621679973234] ((~>) [c6989586621679973235] [d6989586621679973236])
data ZipWith3Sym3 (a6989586621679978069 :: (~>) a6989586621679973233 ((~>) b6989586621679973234 ((~>) c6989586621679973235 d6989586621679973236))) (a6989586621679978070 :: [a6989586621679973233]) (a6989586621679978071 :: [b6989586621679973234]) :: (~>) [c6989586621679973235] [d6989586621679973236]
data UnzipSym0 :: forall a6989586621679973231 b6989586621679973232. (~>) [(a6989586621679973231, b6989586621679973232)] ([a6989586621679973231], [b6989586621679973232])
type UnzipSym1 (a6989586621679978050 :: [(a6989586621679973231, b6989586621679973232)]) = Unzip a6989586621679978050
data UnlinesSym0 :: (~>) [Symbol] Symbol
type UnlinesSym1 (a6989586621679977921 :: [Symbol]) = Unlines a6989586621679977921
data UnwordsSym0 :: (~>) [Symbol] Symbol
type UnwordsSym1 (a6989586621679977910 :: [Symbol]) = Unwords a6989586621679977910


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