{-# LANGUAGE DeriveFoldable #-}
{-# LANGUAGE DeriveFunctor #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveTraversable #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE StrictData #-}

module Data.Tuple.Strict.T19
  ( T19 (..),
  )
where

import Control.DeepSeq (NFData, rnf)
import Data.Functor.Classes (Eq1 (liftEq), Eq2 (liftEq2))
import Data.Biapplicative
import Data.Bifoldable
import Data.Bitraversable
import Data.Hashable (Hashable, hash, hashWithSalt)
import Data.Hashable.Lifted
  ( Hashable1,
    Hashable2,
    defaultLiftHashWithSalt,
    hashWithSalt1,
    liftHashWithSalt,
    liftHashWithSalt2,
  )
import Data.Semigroup
import GHC.Generics (Generic)

data T19 a b c d e f g h i j k l m n o p q r s
  = T19 a b c d e f g h i j k l m n o p q r s
  deriving stock (T19 a b c d e f g h i j k l m n o p q r s
T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s
-> Bounded (T19 a b c d e f g h i j k l m n o p q r s)
forall a. a -> a -> Bounded a
forall a b c d e f g h i j k l m n o p q r s.
(Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f,
 Bounded g, Bounded h, Bounded i, Bounded j, Bounded k, Bounded l,
 Bounded m, Bounded n, Bounded o, Bounded p, Bounded q, Bounded r,
 Bounded s) =>
T19 a b c d e f g h i j k l m n o p q r s
maxBound :: T19 a b c d e f g h i j k l m n o p q r s
$cmaxBound :: forall a b c d e f g h i j k l m n o p q r s.
(Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f,
 Bounded g, Bounded h, Bounded i, Bounded j, Bounded k, Bounded l,
 Bounded m, Bounded n, Bounded o, Bounded p, Bounded q, Bounded r,
 Bounded s) =>
T19 a b c d e f g h i j k l m n o p q r s
minBound :: T19 a b c d e f g h i j k l m n o p q r s
$cminBound :: forall a b c d e f g h i j k l m n o p q r s.
(Bounded a, Bounded b, Bounded c, Bounded d, Bounded e, Bounded f,
 Bounded g, Bounded h, Bounded i, Bounded j, Bounded k, Bounded l,
 Bounded m, Bounded n, Bounded o, Bounded p, Bounded q, Bounded r,
 Bounded s) =>
T19 a b c d e f g h i j k l m n o p q r s
Bounded, T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Bool
(T19 a b c d e f g h i j k l m n o p q r s
 -> T19 a b c d e f g h i j k l m n o p q r s -> Bool)
-> (T19 a b c d e f g h i j k l m n o p q r s
    -> T19 a b c d e f g h i j k l m n o p q r s -> Bool)
-> Eq (T19 a b c d e f g h i j k l m n o p q r s)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall a b c d e f g h i j k l m n o p q r s.
(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i, Eq j, Eq k,
 Eq l, Eq m, Eq n, Eq o, Eq p, Eq q, Eq r, Eq s) =>
T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Bool
/= :: T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Bool
$c/= :: forall a b c d e f g h i j k l m n o p q r s.
(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i, Eq j, Eq k,
 Eq l, Eq m, Eq n, Eq o, Eq p, Eq q, Eq r, Eq s) =>
T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Bool
== :: T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Bool
$c== :: forall a b c d e f g h i j k l m n o p q r s.
(Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i, Eq j, Eq k,
 Eq l, Eq m, Eq n, Eq o, Eq p, Eq q, Eq r, Eq s) =>
T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Bool
Eq, Eq (T19 a b c d e f g h i j k l m n o p q r s)
Eq (T19 a b c d e f g h i j k l m n o p q r s)
-> (T19 a b c d e f g h i j k l m n o p q r s
    -> T19 a b c d e f g h i j k l m n o p q r s -> Ordering)
-> (T19 a b c d e f g h i j k l m n o p q r s
    -> T19 a b c d e f g h i j k l m n o p q r s -> Bool)
-> (T19 a b c d e f g h i j k l m n o p q r s
    -> T19 a b c d e f g h i j k l m n o p q r s -> Bool)
-> (T19 a b c d e f g h i j k l m n o p q r s
    -> T19 a b c d e f g h i j k l m n o p q r s -> Bool)
-> (T19 a b c d e f g h i j k l m n o p q r s
    -> T19 a b c d e f g h i j k l m n o p q r s -> Bool)
-> (T19 a b c d e f g h i j k l m n o p q r s
    -> T19 a b c d e f g h i j k l m n o p q r s
    -> T19 a b c d e f g h i j k l m n o p q r s)
-> (T19 a b c d e f g h i j k l m n o p q r s
    -> T19 a b c d e f g h i j k l m n o p q r s
    -> T19 a b c d e f g h i j k l m n o p q r s)
-> Ord (T19 a b c d e f g h i j k l m n o p q r s)
T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Bool
T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Ordering
T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall a b c d e f g h i j k l m n o p q r s.
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i,
 Ord j, Ord k, Ord l, Ord m, Ord n, Ord o, Ord p, Ord q, Ord r,
 Ord s) =>
Eq (T19 a b c d e f g h i j k l m n o p q r s)
forall a b c d e f g h i j k l m n o p q r s.
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i,
 Ord j, Ord k, Ord l, Ord m, Ord n, Ord o, Ord p, Ord q, Ord r,
 Ord s) =>
T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Bool
forall a b c d e f g h i j k l m n o p q r s.
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i,
 Ord j, Ord k, Ord l, Ord m, Ord n, Ord o, Ord p, Ord q, Ord r,
 Ord s) =>
T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Ordering
forall a b c d e f g h i j k l m n o p q r s.
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i,
 Ord j, Ord k, Ord l, Ord m, Ord n, Ord o, Ord p, Ord q, Ord r,
 Ord s) =>
T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s
min :: T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s
$cmin :: forall a b c d e f g h i j k l m n o p q r s.
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i,
 Ord j, Ord k, Ord l, Ord m, Ord n, Ord o, Ord p, Ord q, Ord r,
 Ord s) =>
T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s
max :: T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s
$cmax :: forall a b c d e f g h i j k l m n o p q r s.
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i,
 Ord j, Ord k, Ord l, Ord m, Ord n, Ord o, Ord p, Ord q, Ord r,
 Ord s) =>
T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s
>= :: T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Bool
$c>= :: forall a b c d e f g h i j k l m n o p q r s.
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i,
 Ord j, Ord k, Ord l, Ord m, Ord n, Ord o, Ord p, Ord q, Ord r,
 Ord s) =>
T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Bool
> :: T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Bool
$c> :: forall a b c d e f g h i j k l m n o p q r s.
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i,
 Ord j, Ord k, Ord l, Ord m, Ord n, Ord o, Ord p, Ord q, Ord r,
 Ord s) =>
T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Bool
<= :: T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Bool
$c<= :: forall a b c d e f g h i j k l m n o p q r s.
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i,
 Ord j, Ord k, Ord l, Ord m, Ord n, Ord o, Ord p, Ord q, Ord r,
 Ord s) =>
T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Bool
< :: T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Bool
$c< :: forall a b c d e f g h i j k l m n o p q r s.
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i,
 Ord j, Ord k, Ord l, Ord m, Ord n, Ord o, Ord p, Ord q, Ord r,
 Ord s) =>
T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Bool
compare :: T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Ordering
$ccompare :: forall a b c d e f g h i j k l m n o p q r s.
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i,
 Ord j, Ord k, Ord l, Ord m, Ord n, Ord o, Ord p, Ord q, Ord r,
 Ord s) =>
T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s -> Ordering
$cp1Ord :: forall a b c d e f g h i j k l m n o p q r s.
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i,
 Ord j, Ord k, Ord l, Ord m, Ord n, Ord o, Ord p, Ord q, Ord r,
 Ord s) =>
Eq (T19 a b c d e f g h i j k l m n o p q r s)
Ord, ReadPrec [T19 a b c d e f g h i j k l m n o p q r s]
ReadPrec (T19 a b c d e f g h i j k l m n o p q r s)
Int -> ReadS (T19 a b c d e f g h i j k l m n o p q r s)
ReadS [T19 a b c d e f g h i j k l m n o p q r s]
(Int -> ReadS (T19 a b c d e f g h i j k l m n o p q r s))
-> ReadS [T19 a b c d e f g h i j k l m n o p q r s]
-> ReadPrec (T19 a b c d e f g h i j k l m n o p q r s)
-> ReadPrec [T19 a b c d e f g h i j k l m n o p q r s]
-> Read (T19 a b c d e f g h i j k l m n o p q r s)
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
forall a b c d e f g h i j k l m n o p q r s.
(Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h,
 Read i, Read j, Read k, Read l, Read m, Read n, Read o, Read p,
 Read q, Read r, Read s) =>
ReadPrec [T19 a b c d e f g h i j k l m n o p q r s]
forall a b c d e f g h i j k l m n o p q r s.
(Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h,
 Read i, Read j, Read k, Read l, Read m, Read n, Read o, Read p,
 Read q, Read r, Read s) =>
ReadPrec (T19 a b c d e f g h i j k l m n o p q r s)
forall a b c d e f g h i j k l m n o p q r s.
(Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h,
 Read i, Read j, Read k, Read l, Read m, Read n, Read o, Read p,
 Read q, Read r, Read s) =>
Int -> ReadS (T19 a b c d e f g h i j k l m n o p q r s)
forall a b c d e f g h i j k l m n o p q r s.
(Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h,
 Read i, Read j, Read k, Read l, Read m, Read n, Read o, Read p,
 Read q, Read r, Read s) =>
ReadS [T19 a b c d e f g h i j k l m n o p q r s]
readListPrec :: ReadPrec [T19 a b c d e f g h i j k l m n o p q r s]
$creadListPrec :: forall a b c d e f g h i j k l m n o p q r s.
(Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h,
 Read i, Read j, Read k, Read l, Read m, Read n, Read o, Read p,
 Read q, Read r, Read s) =>
ReadPrec [T19 a b c d e f g h i j k l m n o p q r s]
readPrec :: ReadPrec (T19 a b c d e f g h i j k l m n o p q r s)
$creadPrec :: forall a b c d e f g h i j k l m n o p q r s.
(Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h,
 Read i, Read j, Read k, Read l, Read m, Read n, Read o, Read p,
 Read q, Read r, Read s) =>
ReadPrec (T19 a b c d e f g h i j k l m n o p q r s)
readList :: ReadS [T19 a b c d e f g h i j k l m n o p q r s]
$creadList :: forall a b c d e f g h i j k l m n o p q r s.
(Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h,
 Read i, Read j, Read k, Read l, Read m, Read n, Read o, Read p,
 Read q, Read r, Read s) =>
ReadS [T19 a b c d e f g h i j k l m n o p q r s]
readsPrec :: Int -> ReadS (T19 a b c d e f g h i j k l m n o p q r s)
$creadsPrec :: forall a b c d e f g h i j k l m n o p q r s.
(Read a, Read b, Read c, Read d, Read e, Read f, Read g, Read h,
 Read i, Read j, Read k, Read l, Read m, Read n, Read o, Read p,
 Read q, Read r, Read s) =>
Int -> ReadS (T19 a b c d e f g h i j k l m n o p q r s)
Read, Int -> T19 a b c d e f g h i j k l m n o p q r s -> ShowS
[T19 a b c d e f g h i j k l m n o p q r s] -> ShowS
T19 a b c d e f g h i j k l m n o p q r s -> String
(Int -> T19 a b c d e f g h i j k l m n o p q r s -> ShowS)
-> (T19 a b c d e f g h i j k l m n o p q r s -> String)
-> ([T19 a b c d e f g h i j k l m n o p q r s] -> ShowS)
-> Show (T19 a b c d e f g h i j k l m n o p q r s)
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall a b c d e f g h i j k l m n o p q r s.
(Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h,
 Show i, Show j, Show k, Show l, Show m, Show n, Show o, Show p,
 Show q, Show r, Show s) =>
Int -> T19 a b c d e f g h i j k l m n o p q r s -> ShowS
forall a b c d e f g h i j k l m n o p q r s.
(Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h,
 Show i, Show j, Show k, Show l, Show m, Show n, Show o, Show p,
 Show q, Show r, Show s) =>
[T19 a b c d e f g h i j k l m n o p q r s] -> ShowS
forall a b c d e f g h i j k l m n o p q r s.
(Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h,
 Show i, Show j, Show k, Show l, Show m, Show n, Show o, Show p,
 Show q, Show r, Show s) =>
T19 a b c d e f g h i j k l m n o p q r s -> String
showList :: [T19 a b c d e f g h i j k l m n o p q r s] -> ShowS
$cshowList :: forall a b c d e f g h i j k l m n o p q r s.
(Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h,
 Show i, Show j, Show k, Show l, Show m, Show n, Show o, Show p,
 Show q, Show r, Show s) =>
[T19 a b c d e f g h i j k l m n o p q r s] -> ShowS
show :: T19 a b c d e f g h i j k l m n o p q r s -> String
$cshow :: forall a b c d e f g h i j k l m n o p q r s.
(Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h,
 Show i, Show j, Show k, Show l, Show m, Show n, Show o, Show p,
 Show q, Show r, Show s) =>
T19 a b c d e f g h i j k l m n o p q r s -> String
showsPrec :: Int -> T19 a b c d e f g h i j k l m n o p q r s -> ShowS
$cshowsPrec :: forall a b c d e f g h i j k l m n o p q r s.
(Show a, Show b, Show c, Show d, Show e, Show f, Show g, Show h,
 Show i, Show j, Show k, Show l, Show m, Show n, Show o, Show p,
 Show q, Show r, Show s) =>
Int -> T19 a b c d e f g h i j k l m n o p q r s -> ShowS
Show, (forall x.
 T19 a b c d e f g h i j k l m n o p q r s
 -> Rep (T19 a b c d e f g h i j k l m n o p q r s) x)
-> (forall x.
    Rep (T19 a b c d e f g h i j k l m n o p q r s) x
    -> T19 a b c d e f g h i j k l m n o p q r s)
-> Generic (T19 a b c d e f g h i j k l m n o p q r s)
forall x.
Rep (T19 a b c d e f g h i j k l m n o p q r s) x
-> T19 a b c d e f g h i j k l m n o p q r s
forall x.
T19 a b c d e f g h i j k l m n o p q r s
-> Rep (T19 a b c d e f g h i j k l m n o p q r s) x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
forall a b c d e f g h i j k l m n o p q r s x.
Rep (T19 a b c d e f g h i j k l m n o p q r s) x
-> T19 a b c d e f g h i j k l m n o p q r s
forall a b c d e f g h i j k l m n o p q r s x.
T19 a b c d e f g h i j k l m n o p q r s
-> Rep (T19 a b c d e f g h i j k l m n o p q r s) x
$cto :: forall a b c d e f g h i j k l m n o p q r s x.
Rep (T19 a b c d e f g h i j k l m n o p q r s) x
-> T19 a b c d e f g h i j k l m n o p q r s
$cfrom :: forall a b c d e f g h i j k l m n o p q r s x.
T19 a b c d e f g h i j k l m n o p q r s
-> Rep (T19 a b c d e f g h i j k l m n o p q r s) x
Generic)

-- | @since 0.1.3
deriving stock instance Foldable (T19 a b c d e f g h i j k l m n o p q r)

-- | @since 0.1.3
deriving stock instance Functor (T19 a b c d e f g h i j k l m n o p q r)

-- | @since 0.1.3
deriving stock instance Traversable (T19 a b c d e f g h i j k l m n o p q r)

-- | @since 0.1.5
instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i, Eq j, Eq k, Eq l, Eq m, Eq n, Eq o, Eq p, Eq q, Eq r) => Eq1 (T19 a b c d e f g h i j k l m n o p q r) where
  liftEq :: (a -> b -> Bool)
-> T19 a b c d e f g h i j k l m n o p q r a
-> T19 a b c d e f g h i j k l m n o p q r b
-> Bool
liftEq = (r -> r -> Bool)
-> (a -> b -> Bool)
-> T19 a b c d e f g h i j k l m n o p q r a
-> T19 a b c d e f g h i j k l m n o p q r b
-> Bool
forall (f :: * -> * -> *) a b c d.
Eq2 f =>
(a -> b -> Bool) -> (c -> d -> Bool) -> f a c -> f b d -> Bool
liftEq2 r -> r -> Bool
forall a. Eq a => a -> a -> Bool
(==)

-- | @since 0.1.5
instance (Eq a, Eq b, Eq c, Eq d, Eq e, Eq f, Eq g, Eq h, Eq i, Eq j, Eq k, Eq l, Eq m, Eq n, Eq o, Eq p, Eq q) => Eq2 (T19 a b c d e f g h i j k l m n o p q) where
  liftEq2 :: (a -> b -> Bool)
-> (c -> d -> Bool)
-> T19 a b c d e f g h i j k l m n o p q a c
-> T19 a b c d e f g h i j k l m n o p q b d
-> Bool
liftEq2 a -> b -> Bool
e1 c -> d -> Bool
e2 (T19 a
a b
b c
c d
d e
e f
f g
g h
h i
i j
j k
k l
l m
m n
n o
o p
p q
q a
r c
s) (T19 a
a' b
b' c
c' d
d' e
e' f
f' g
g' h
h' i
i' j
j' k
k' l
l' m
m' n
n' o
o' p
p' q
q' b
r' d
s') =
    a
a a -> a -> Bool
forall a. Eq a => a -> a -> Bool
== a
a' Bool -> Bool -> Bool
&& b
b b -> b -> Bool
forall a. Eq a => a -> a -> Bool
== b
b' Bool -> Bool -> Bool
&& c
c c -> c -> Bool
forall a. Eq a => a -> a -> Bool
== c
c' Bool -> Bool -> Bool
&& d
d d -> d -> Bool
forall a. Eq a => a -> a -> Bool
== d
d' Bool -> Bool -> Bool
&& e
e e -> e -> Bool
forall a. Eq a => a -> a -> Bool
== e
e' Bool -> Bool -> Bool
&& f
f f -> f -> Bool
forall a. Eq a => a -> a -> Bool
== f
f' Bool -> Bool -> Bool
&& g
g g -> g -> Bool
forall a. Eq a => a -> a -> Bool
== g
g' Bool -> Bool -> Bool
&& h
h h -> h -> Bool
forall a. Eq a => a -> a -> Bool
== h
h' Bool -> Bool -> Bool
&& i
i i -> i -> Bool
forall a. Eq a => a -> a -> Bool
== i
i' Bool -> Bool -> Bool
&& j
j j -> j -> Bool
forall a. Eq a => a -> a -> Bool
== j
j' Bool -> Bool -> Bool
&& k
k k -> k -> Bool
forall a. Eq a => a -> a -> Bool
== k
k' Bool -> Bool -> Bool
&& l
l l -> l -> Bool
forall a. Eq a => a -> a -> Bool
== l
l' Bool -> Bool -> Bool
&& m
m m -> m -> Bool
forall a. Eq a => a -> a -> Bool
== m
m' Bool -> Bool -> Bool
&& n
n n -> n -> Bool
forall a. Eq a => a -> a -> Bool
== n
n' Bool -> Bool -> Bool
&& o
o o -> o -> Bool
forall a. Eq a => a -> a -> Bool
== o
o' Bool -> Bool -> Bool
&& p
p p -> p -> Bool
forall a. Eq a => a -> a -> Bool
== p
p' Bool -> Bool -> Bool
&& q
q q -> q -> Bool
forall a. Eq a => a -> a -> Bool
== q
q' Bool -> Bool -> Bool
&& a -> b -> Bool
e1 a
r b
r' Bool -> Bool -> Bool
&& c -> d -> Bool
e2 c
s d
s'

-- | @since 0.1.3
instance
  (Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j, Monoid k, Monoid l, Monoid m, Monoid n, Monoid o, Monoid p, Monoid q, Monoid r) =>
  Applicative (T19 a b c d e f g h i j k l m n o p q r)
  where
  pure :: a -> T19 a b c d e f g h i j k l m n o p q r a
pure a
s = a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> i
-> j
-> k
-> l
-> m
-> n
-> o
-> p
-> q
-> r
-> a
-> T19 a b c d e f g h i j k l m n o p q r a
forall a b c d e f g h i j k l m n o p q r s.
a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> i
-> j
-> k
-> l
-> m
-> n
-> o
-> p
-> q
-> r
-> s
-> T19 a b c d e f g h i j k l m n o p q r s
T19 a
forall a. Monoid a => a
mempty b
forall a. Monoid a => a
mempty c
forall a. Monoid a => a
mempty d
forall a. Monoid a => a
mempty e
forall a. Monoid a => a
mempty f
forall a. Monoid a => a
mempty g
forall a. Monoid a => a
mempty h
forall a. Monoid a => a
mempty i
forall a. Monoid a => a
mempty j
forall a. Monoid a => a
mempty k
forall a. Monoid a => a
mempty l
forall a. Monoid a => a
mempty m
forall a. Monoid a => a
mempty n
forall a. Monoid a => a
mempty o
forall a. Monoid a => a
mempty p
forall a. Monoid a => a
mempty q
forall a. Monoid a => a
mempty r
forall a. Monoid a => a
mempty a
s
  T19 a
a b
b c
c d
d e
e f
f g
g h
h i
i j
j k
k l
l m
m n
n o
o p
p q
q r
r a -> b
s <*> :: T19 a b c d e f g h i j k l m n o p q r (a -> b)
-> T19 a b c d e f g h i j k l m n o p q r a
-> T19 a b c d e f g h i j k l m n o p q r b
<*> T19 a
a' b
b' c
c' d
d' e
e' f
f' g
g' h
h' i
i' j
j' k
k' l
l' m
m' n
n' o
o' p
p' q
q' r
r' a
s' =
    a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> i
-> j
-> k
-> l
-> m
-> n
-> o
-> p
-> q
-> r
-> b
-> T19 a b c d e f g h i j k l m n o p q r b
forall a b c d e f g h i j k l m n o p q r s.
a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> i
-> j
-> k
-> l
-> m
-> n
-> o
-> p
-> q
-> r
-> s
-> T19 a b c d e f g h i j k l m n o p q r s
T19 (a
a a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
a') (b
b b -> b -> b
forall a. Semigroup a => a -> a -> a
<> b
b') (c
c c -> c -> c
forall a. Semigroup a => a -> a -> a
<> c
c') (d
d d -> d -> d
forall a. Semigroup a => a -> a -> a
<> d
d') (e
e e -> e -> e
forall a. Semigroup a => a -> a -> a
<> e
e') (f
f f -> f -> f
forall a. Semigroup a => a -> a -> a
<> f
f') (g
g g -> g -> g
forall a. Semigroup a => a -> a -> a
<> g
g') (h
h h -> h -> h
forall a. Semigroup a => a -> a -> a
<> h
h') (i
i i -> i -> i
forall a. Semigroup a => a -> a -> a
<> i
i') (j
j j -> j -> j
forall a. Semigroup a => a -> a -> a
<> j
j') (k
k k -> k -> k
forall a. Semigroup a => a -> a -> a
<> k
k') (l
l l -> l -> l
forall a. Semigroup a => a -> a -> a
<> l
l') (m
m m -> m -> m
forall a. Semigroup a => a -> a -> a
<> m
m') (n
n n -> n -> n
forall a. Semigroup a => a -> a -> a
<> n
n') (o
o o -> o -> o
forall a. Semigroup a => a -> a -> a
<> o
o') (p
p p -> p -> p
forall a. Semigroup a => a -> a -> a
<> p
p') (q
q q -> q -> q
forall a. Semigroup a => a -> a -> a
<> q
q') (r
r r -> r -> r
forall a. Semigroup a => a -> a -> a
<> r
r') (a -> b
s a
s')

-- | @since 0.1.3
instance
  (Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j, Monoid k, Monoid l, Monoid m, Monoid n, Monoid o, Monoid p, Monoid q, Monoid r) =>
  Monad (T19 a b c d e f g h i j k l m n o p q r)
  where
  return :: a -> T19 a b c d e f g h i j k l m n o p q r a
return = a -> T19 a b c d e f g h i j k l m n o p q r a
forall (f :: * -> *) a. Applicative f => a -> f a
pure
  T19 a
a b
b c
c d
d e
e f
f g
g h
h i
i j
j k
k l
l m
m n
n o
o p
p q
q r
r a
s >>= :: T19 a b c d e f g h i j k l m n o p q r a
-> (a -> T19 a b c d e f g h i j k l m n o p q r b)
-> T19 a b c d e f g h i j k l m n o p q r b
>>= a -> T19 a b c d e f g h i j k l m n o p q r b
t = case a -> T19 a b c d e f g h i j k l m n o p q r b
t a
s of
    T19 a
a' b
b' c
c' d
d' e
e' f
f' g
g' h
h' i
i' j
j' k
k' l
l' m
m' n
n' o
o' p
p' q
q' r
r' b
s' ->
      a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> i
-> j
-> k
-> l
-> m
-> n
-> o
-> p
-> q
-> r
-> b
-> T19 a b c d e f g h i j k l m n o p q r b
forall a b c d e f g h i j k l m n o p q r s.
a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> i
-> j
-> k
-> l
-> m
-> n
-> o
-> p
-> q
-> r
-> s
-> T19 a b c d e f g h i j k l m n o p q r s
T19 (a
a a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
a') (b
b b -> b -> b
forall a. Semigroup a => a -> a -> a
<> b
b') (c
c c -> c -> c
forall a. Semigroup a => a -> a -> a
<> c
c') (d
d d -> d -> d
forall a. Semigroup a => a -> a -> a
<> d
d') (e
e e -> e -> e
forall a. Semigroup a => a -> a -> a
<> e
e') (f
f f -> f -> f
forall a. Semigroup a => a -> a -> a
<> f
f') (g
g g -> g -> g
forall a. Semigroup a => a -> a -> a
<> g
g') (h
h h -> h -> h
forall a. Semigroup a => a -> a -> a
<> h
h') (i
i i -> i -> i
forall a. Semigroup a => a -> a -> a
<> i
i') (j
j j -> j -> j
forall a. Semigroup a => a -> a -> a
<> j
j') (k
k k -> k -> k
forall a. Semigroup a => a -> a -> a
<> k
k') (l
l l -> l -> l
forall a. Semigroup a => a -> a -> a
<> l
l') (m
m m -> m -> m
forall a. Semigroup a => a -> a -> a
<> m
m') (n
n n -> n -> n
forall a. Semigroup a => a -> a -> a
<> n
n') (o
o o -> o -> o
forall a. Semigroup a => a -> a -> a
<> o
o') (p
p p -> p -> p
forall a. Semigroup a => a -> a -> a
<> p
p') (q
q q -> q -> q
forall a. Semigroup a => a -> a -> a
<> q
q') (r
r r -> r -> r
forall a. Semigroup a => a -> a -> a
<> r
r') b
s'

instance (Hashable a, Hashable b, Hashable c, Hashable d, Hashable e, Hashable f, Hashable g, Hashable h, Hashable i, Hashable j, Hashable k, Hashable l, Hashable m, Hashable n, Hashable o, Hashable p, Hashable q, Hashable r, Hashable s) => Hashable (T19 a b c d e f g h i j k l m n o p q r s) where
  hash :: T19 a b c d e f g h i j k l m n o p q r s -> Int
hash (T19 a
a b
b c
c d
d e
e f
f g
g h
h i
i j
j k
k l
l m
m n
n o
o p
p q
q r
r s
s) = a -> Int
forall a. Hashable a => a -> Int
hash a
a Int -> b -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` b
b Int -> c -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` c
c Int -> d -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` d
d Int -> e -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` e
e Int -> f -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` f
f Int -> g -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` g
g Int -> h -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` h
h Int -> i -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` i
i Int -> j -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` j
j Int -> k -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` k
k Int -> l -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` l
l Int -> m -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` m
m Int -> n -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` n
n Int -> o -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` o
o Int -> p -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` p
p Int -> q -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` q
q Int -> r -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` r
r Int -> s -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` s
s
  hashWithSalt :: Int -> T19 a b c d e f g h i j k l m n o p q r s -> Int
hashWithSalt = Int -> T19 a b c d e f g h i j k l m n o p q r s -> Int
forall (f :: * -> *) a.
(Hashable1 f, Hashable a) =>
Int -> f a -> Int
hashWithSalt1

instance (Hashable a, Hashable b, Hashable c, Hashable d, Hashable e, Hashable f, Hashable g, Hashable h, Hashable i, Hashable j, Hashable k, Hashable l, Hashable m, Hashable n, Hashable o, Hashable p, Hashable q, Hashable r) => Hashable1 (T19 a b c d e f g h i j k l m n o p q r) where
  liftHashWithSalt :: (Int -> a -> Int)
-> Int -> T19 a b c d e f g h i j k l m n o p q r a -> Int
liftHashWithSalt = (Int -> a -> Int)
-> Int -> T19 a b c d e f g h i j k l m n o p q r a -> Int
forall (f :: * -> * -> *) a b.
(Hashable2 f, Hashable a) =>
(Int -> b -> Int) -> Int -> f a b -> Int
defaultLiftHashWithSalt

instance (Hashable a, Hashable b, Hashable c, Hashable d, Hashable e, Hashable f, Hashable g, Hashable h, Hashable i, Hashable j, Hashable k, Hashable l, Hashable m, Hashable n, Hashable o, Hashable p, Hashable q) => Hashable2 (T19 a b c d e f g h i j k l m n o p q) where
  liftHashWithSalt2 :: (Int -> a -> Int)
-> (Int -> b -> Int)
-> Int
-> T19 a b c d e f g h i j k l m n o p q a b
-> Int
liftHashWithSalt2 Int -> a -> Int
h1 Int -> b -> Int
h2 Int
slt (T19 a
a b
b c
c d
d e
e f
f g
g h
h i
i j
j k
k l
l m
m n
n o
o p
p q
q a
r b
s) =
    (Int
slt Int -> a -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` a
a Int -> b -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` b
b Int -> c -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` c
c Int -> d -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` d
d Int -> e -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` e
e Int -> f -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` f
f Int -> g -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` g
g Int -> h -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` h
h Int -> i -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` i
i Int -> j -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` j
j Int -> k -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` k
k Int -> l -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` l
l Int -> m -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` m
m Int -> n -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` n
n Int -> o -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` o
o Int -> p -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` p
p Int -> q -> Int
forall a. Hashable a => Int -> a -> Int
`hashWithSalt` q
q) Int -> a -> Int
`h1` a
r Int -> b -> Int
`h2` b
s

instance (Monoid a, Monoid b, Monoid c, Monoid d, Monoid e, Monoid f, Monoid g, Monoid h, Monoid i, Monoid j, Monoid k, Monoid l, Monoid m, Monoid n, Monoid o, Monoid p, Monoid q, Monoid r, Monoid s) => Monoid (T19 a b c d e f g h i j k l m n o p q r s) where
  mempty :: T19 a b c d e f g h i j k l m n o p q r s
mempty = a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> i
-> j
-> k
-> l
-> m
-> n
-> o
-> p
-> q
-> r
-> s
-> T19 a b c d e f g h i j k l m n o p q r s
forall a b c d e f g h i j k l m n o p q r s.
a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> i
-> j
-> k
-> l
-> m
-> n
-> o
-> p
-> q
-> r
-> s
-> T19 a b c d e f g h i j k l m n o p q r s
T19 a
forall a. Monoid a => a
mempty b
forall a. Monoid a => a
mempty c
forall a. Monoid a => a
mempty d
forall a. Monoid a => a
mempty e
forall a. Monoid a => a
mempty f
forall a. Monoid a => a
mempty g
forall a. Monoid a => a
mempty h
forall a. Monoid a => a
mempty i
forall a. Monoid a => a
mempty j
forall a. Monoid a => a
mempty k
forall a. Monoid a => a
mempty l
forall a. Monoid a => a
mempty m
forall a. Monoid a => a
mempty n
forall a. Monoid a => a
mempty o
forall a. Monoid a => a
mempty p
forall a. Monoid a => a
mempty q
forall a. Monoid a => a
mempty r
forall a. Monoid a => a
mempty s
forall a. Monoid a => a
mempty

-- | @since 0.1.4
instance (NFData a, NFData b, NFData c, NFData d, NFData e, NFData f, NFData g, NFData h, NFData i, NFData j, NFData k, NFData l, NFData m, NFData n, NFData o, NFData p, NFData q, NFData r, NFData s) => NFData (T19 a b c d e f g h i j k l m n o p q r s) where
  rnf :: T19 a b c d e f g h i j k l m n o p q r s -> ()
rnf (T19 a
a b
b c
c d
d e
e f
f g
g h
h i
i j
j k
k l
l m
m n
n o
o p
p q
q r
r s
s) = a -> ()
forall a. NFData a => a -> ()
rnf a
a () -> () -> ()
`seq` b -> ()
forall a. NFData a => a -> ()
rnf b
b () -> () -> ()
`seq` c -> ()
forall a. NFData a => a -> ()
rnf c
c () -> () -> ()
`seq` d -> ()
forall a. NFData a => a -> ()
rnf d
d () -> () -> ()
`seq` e -> ()
forall a. NFData a => a -> ()
rnf e
e () -> () -> ()
`seq` f -> ()
forall a. NFData a => a -> ()
rnf f
f () -> () -> ()
`seq` g -> ()
forall a. NFData a => a -> ()
rnf g
g () -> () -> ()
`seq` h -> ()
forall a. NFData a => a -> ()
rnf h
h () -> () -> ()
`seq` i -> ()
forall a. NFData a => a -> ()
rnf i
i () -> () -> ()
`seq` j -> ()
forall a. NFData a => a -> ()
rnf j
j () -> () -> ()
`seq` k -> ()
forall a. NFData a => a -> ()
rnf k
k () -> () -> ()
`seq` l -> ()
forall a. NFData a => a -> ()
rnf l
l () -> () -> ()
`seq` m -> ()
forall a. NFData a => a -> ()
rnf m
m () -> () -> ()
`seq` n -> ()
forall a. NFData a => a -> ()
rnf n
n () -> () -> ()
`seq` o -> ()
forall a. NFData a => a -> ()
rnf o
o () -> () -> ()
`seq` p -> ()
forall a. NFData a => a -> ()
rnf p
p () -> () -> ()
`seq` q -> ()
forall a. NFData a => a -> ()
rnf q
q () -> () -> ()
`seq` r -> ()
forall a. NFData a => a -> ()
rnf r
r () -> () -> ()
`seq` s -> ()
forall a. NFData a => a -> ()
rnf s
s

instance (Semigroup a, Semigroup b, Semigroup c, Semigroup d, Semigroup e, Semigroup f, Semigroup g, Semigroup h, Semigroup i, Semigroup j, Semigroup k, Semigroup l, Semigroup m, Semigroup n, Semigroup o, Semigroup p, Semigroup q, Semigroup r, Semigroup s) => Semigroup (T19 a b c d e f g h i j k l m n o p q r s) where
  T19 a
a1 b
b1 c
c1 d
d1 e
e1 f
f1 g
g1 h
h1 i
i1 j
j1 k
k1 l
l1 m
m1 n
n1 o
o1 p
p1 q
q1 r
r1 s
s1 <> :: T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s
<> T19 a
a2 b
b2 c
c2 d
d2 e
e2 f
f2 g
g2 h
h2 i
i2 j
j2 k
k2 l
l2 m
m2 n
n2 o
o2 p
p2 q
q2 r
r2 s
s2 = a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> i
-> j
-> k
-> l
-> m
-> n
-> o
-> p
-> q
-> r
-> s
-> T19 a b c d e f g h i j k l m n o p q r s
forall a b c d e f g h i j k l m n o p q r s.
a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> i
-> j
-> k
-> l
-> m
-> n
-> o
-> p
-> q
-> r
-> s
-> T19 a b c d e f g h i j k l m n o p q r s
T19 (a
a1 a -> a -> a
forall a. Semigroup a => a -> a -> a
<> a
a2) (b
b1 b -> b -> b
forall a. Semigroup a => a -> a -> a
<> b
b2) (c
c1 c -> c -> c
forall a. Semigroup a => a -> a -> a
<> c
c2) (d
d1 d -> d -> d
forall a. Semigroup a => a -> a -> a
<> d
d2) (e
e1 e -> e -> e
forall a. Semigroup a => a -> a -> a
<> e
e2) (f
f1 f -> f -> f
forall a. Semigroup a => a -> a -> a
<> f
f2) (g
g1 g -> g -> g
forall a. Semigroup a => a -> a -> a
<> g
g2) (h
h1 h -> h -> h
forall a. Semigroup a => a -> a -> a
<> h
h2) (i
i1 i -> i -> i
forall a. Semigroup a => a -> a -> a
<> i
i2) (j
j1 j -> j -> j
forall a. Semigroup a => a -> a -> a
<> j
j2) (k
k1 k -> k -> k
forall a. Semigroup a => a -> a -> a
<> k
k2) (l
l1 l -> l -> l
forall a. Semigroup a => a -> a -> a
<> l
l2) (m
m1 m -> m -> m
forall a. Semigroup a => a -> a -> a
<> m
m2) (n
n1 n -> n -> n
forall a. Semigroup a => a -> a -> a
<> n
n2) (o
o1 o -> o -> o
forall a. Semigroup a => a -> a -> a
<> o
o2) (p
p1 p -> p -> p
forall a. Semigroup a => a -> a -> a
<> p
p2) (q
q1 q -> q -> q
forall a. Semigroup a => a -> a -> a
<> q
q2) (r
r1 r -> r -> r
forall a. Semigroup a => a -> a -> a
<> r
r2) (s
s1 s -> s -> s
forall a. Semigroup a => a -> a -> a
<> s
s2)
  stimes :: b
-> T19 a b c d e f g h i j k l m n o p q r s
-> T19 a b c d e f g h i j k l m n o p q r s
stimes b
ii (T19 a
a b
b c
c d
d e
e f
f g
g h
h i
i j
j k
k l
l m
m n
n o
o p
p q
q r
r s
s) = a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> i
-> j
-> k
-> l
-> m
-> n
-> o
-> p
-> q
-> r
-> s
-> T19 a b c d e f g h i j k l m n o p q r s
forall a b c d e f g h i j k l m n o p q r s.
a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> i
-> j
-> k
-> l
-> m
-> n
-> o
-> p
-> q
-> r
-> s
-> T19 a b c d e f g h i j k l m n o p q r s
T19 (b -> a -> a
forall a b. (Semigroup a, Integral b) => b -> a -> a
stimes b
ii a
a) (b -> b -> b
forall a b. (Semigroup a, Integral b) => b -> a -> a
stimes b
ii b
b) (b -> c -> c
forall a b. (Semigroup a, Integral b) => b -> a -> a
stimes b
ii c
c) (b -> d -> d
forall a b. (Semigroup a, Integral b) => b -> a -> a
stimes b
ii d
d) (b -> e -> e
forall a b. (Semigroup a, Integral b) => b -> a -> a
stimes b
ii e
e) (b -> f -> f
forall a b. (Semigroup a, Integral b) => b -> a -> a
stimes b
ii f
f) (b -> g -> g
forall a b. (Semigroup a, Integral b) => b -> a -> a
stimes b
ii g
g) (b -> h -> h
forall a b. (Semigroup a, Integral b) => b -> a -> a
stimes b
ii h
h) (b -> i -> i
forall a b. (Semigroup a, Integral b) => b -> a -> a
stimes b
ii i
i) (b -> j -> j
forall a b. (Semigroup a, Integral b) => b -> a -> a
stimes b
ii j
j) (b -> k -> k
forall a b. (Semigroup a, Integral b) => b -> a -> a
stimes b
ii k
k) (b -> l -> l
forall a b. (Semigroup a, Integral b) => b -> a -> a
stimes b
ii l
l) (b -> m -> m
forall a b. (Semigroup a, Integral b) => b -> a -> a
stimes b
ii m
m) (b -> n -> n
forall a b. (Semigroup a, Integral b) => b -> a -> a
stimes b
ii n
n) (b -> o -> o
forall a b. (Semigroup a, Integral b) => b -> a -> a
stimes b
ii o
o) (b -> p -> p
forall a b. (Semigroup a, Integral b) => b -> a -> a
stimes b
ii p
p) (b -> q -> q
forall a b. (Semigroup a, Integral b) => b -> a -> a
stimes b
ii q
q) (b -> r -> r
forall a b. (Semigroup a, Integral b) => b -> a -> a
stimes b
ii r
r) (b -> s -> s
forall a b. (Semigroup a, Integral b) => b -> a -> a
stimes b
ii s
s)

-- | @since 0.1.3
instance Bifunctor (T19 x y z w t u v p q r s i j k l m n) where
  bimap :: (a -> b)
-> (c -> d)
-> T19 x y z w t u v p q r s i j k l m n a c
-> T19 x y z w t u v p q r s i j k l m n b d
bimap a -> b
f c -> d
g (T19 x
x y
y z
z w
w t
t u
u v
v p
p q
q r
r s
s i
i j
j k
k l
l m
m n
n a
a c
b) = x
-> y
-> z
-> w
-> t
-> u
-> v
-> p
-> q
-> r
-> s
-> i
-> j
-> k
-> l
-> m
-> n
-> b
-> d
-> T19 x y z w t u v p q r s i j k l m n b d
forall a b c d e f g h i j k l m n o p q r s.
a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> i
-> j
-> k
-> l
-> m
-> n
-> o
-> p
-> q
-> r
-> s
-> T19 a b c d e f g h i j k l m n o p q r s
T19 x
x y
y z
z w
w t
t u
u v
v p
p q
q r
r s
s i
i j
j k
k l
l m
m n
n (a -> b
f a
a) (c -> d
g c
b)

-- | @since 0.1.3
instance Bifoldable (T19 x y z w t u v p q r s i j k l m n) where
  bifoldMap :: (a -> m)
-> (b -> m) -> T19 x y z w t u v p q r s i j k l m n a b -> m
bifoldMap a -> m
f b -> m
g (T19 x
_ y
_ z
_ w
_ t
_ u
_ v
_ p
_ q
_ r
_ s
_ i
_ j
_ k
_ l
_ m
_ n
_ a
a b
b) = a -> m
f a
a m -> m -> m
forall a. Semigroup a => a -> a -> a
<> b -> m
g b
b

-- | @since 0.1.3
instance Bitraversable (T19 x y z w t u v p q r s i j k l m n) where
  bitraverse :: (a -> f c)
-> (b -> f d)
-> T19 x y z w t u v p q r s i j k l m n a b
-> f (T19 x y z w t u v p q r s i j k l m n c d)
bitraverse a -> f c
f b -> f d
g (T19 x
x y
y z
z w
w t
t u
u v
v p
p q
q r
r s
s i
i j
j k
k l
l m
m n
n a
a b
b) = x
-> y
-> z
-> w
-> t
-> u
-> v
-> p
-> q
-> r
-> s
-> i
-> j
-> k
-> l
-> m
-> n
-> c
-> d
-> T19 x y z w t u v p q r s i j k l m n c d
forall a b c d e f g h i j k l m n o p q r s.
a
-> b
-> c
-> d
-> e
-> f
-> g
-> h
-> i
-> j
-> k
-> l
-> m
-> n
-> o
-> p
-> q
-> r
-> s
-> T19 a b c d e f g h i j k l m n o p q r s
T19 x
x y
y z
z w
w t
t u
u v
v p
p q
q r
r s
s i
i j
j k
k l
l m
m n
n (c -> d -> T19 x y z w t u v p q r s i j k l m n c d)
-> f c -> f (d -> T19 x y z w t u v p q r s i j k l m n c d)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> a -> f c
f a
a f (d -> T19 x y z w t u v p q r s i j k l m n c d)
-> f d -> f (T19 x y z w t u v p q r s i j k l m n c d)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
<*> b -> f d
g b
b