-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | product-profunctors
--   
--   Product profunctors
@package product-profunctors
@version 0.9.0.0

module Data.Profunctor.Product.Newtype
class Newtype t
constructor :: Newtype t => a -> t a
field :: Newtype t => t a -> a
pNewtype :: (Profunctor p, Newtype t) => p a b -> p (t a) (t b)

module Data.Profunctor.Product.Tuples.TH
mkTs :: [Int] -> Q [Dec]
pTns :: [Int] -> Q [Dec]
mkFlattenNs :: [Int] -> Q [Dec]
mkUnflattenNs :: [Int] -> Q [Dec]
pNs :: [Int] -> Q [Dec]
mkDefaultNs :: [Int] -> Q [Dec]
maxTupleSize :: Int


-- | This is old cruft. You should never use this and it will likely be
--   deprecated in a future version.
module Data.Profunctor.Product.Tuples
type T0 = ()
type T1 a0 = a0
type T2 a0 b0 = (a0, T1 b0)
type T3 a0 b0 c0 = (a0, T2 b0 c0)
type T4 a0 b0 c0 d0 = (a0, T3 b0 c0 d0)
type T5 a0 b0 c0 d0 e0 = (a0, T4 b0 c0 d0 e0)
type T6 a0 b0 c0 d0 e0 f0 = (a0, T5 b0 c0 d0 e0 f0)
type T7 a0 b0 c0 d0 e0 f0 g0 = (a0, T6 b0 c0 d0 e0 f0 g0)
type T8 a0 b0 c0 d0 e0 f0 g0 h0 = (a0, T7 b0 c0 d0 e0 f0 g0 h0)
type T9 a0 b0 c0 d0 e0 f0 g0 h0 i0 = (a0, T8 b0 c0 d0 e0 f0 g0 h0 i0)
type T10 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 = (a0, T9 b0 c0 d0 e0 f0 g0 h0 i0 j0)
type T11 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 = (a0, T10 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0)
type T12 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 = (a0, T11 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0)
type T13 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 = (a0, T12 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0)
type T14 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 = (a0, T13 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0)
type T15 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 = (a0, T14 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0)
type T16 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 = (a0, T15 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0)
type T17 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 = (a0, T16 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0)
type T18 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 = (a0, T17 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0)
type T19 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 = (a0, T18 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0)
type T20 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 = (a0, T19 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0)
type T21 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 = (a0, T20 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0)
type T22 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 = (a0, T21 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0)
type T23 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 = (a0, T22 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0)
type T24 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 = (a0, T23 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0)
type T25 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 = (a0, T24 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0)
type T26 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 = (a0, T25 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0)
type T27 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 = (a0, T26 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1)
type T28 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 = (a0, T27 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1)
type T29 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 = (a0, T28 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1)
type T30 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 = (a0, T29 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1)
type T31 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 = (a0, T30 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1)
type T32 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 = (a0, T31 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1)
type T33 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 = (a0, T32 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1)
type T34 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 = (a0, T33 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1)
type T35 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 = (a0, T34 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1)
type T36 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 = (a0, T35 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1)
type T37 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 = (a0, T36 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1)
type T38 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 = (a0, T37 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1)
type T39 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 = (a0, T38 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1)
type T40 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 = (a0, T39 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1)
type T41 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 = (a0, T40 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1)
type T42 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 = (a0, T41 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1)
type T43 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 = (a0, T42 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1)
type T44 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 = (a0, T43 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1)
type T45 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 = (a0, T44 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1)
type T46 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 = (a0, T45 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1)
type T47 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 = (a0, T46 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1)
type T48 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 = (a0, T47 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1)
type T49 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 = (a0, T48 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1)
type T50 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 = (a0, T49 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1)
type T51 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 = (a0, T50 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1)
type T52 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 = (a0, T51 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1)
type T53 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 = (a0, T52 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2)
type T54 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 = (a0, T53 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2)
type T55 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 = (a0, T54 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2)
type T56 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 = (a0, T55 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2)
type T57 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 = (a0, T56 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2)
type T58 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2 = (a0, T57 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2)
type T59 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2 g2 = (a0, T58 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2 g2)
type T60 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2 g2 h2 = (a0, T59 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2 g2 h2)
type T61 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2 g2 h2 i2 = (a0, T60 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2 g2 h2 i2)
type T62 a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2 g2 h2 i2 j2 = (a0, T61 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2 g2 h2 i2 j2)

module Data.Profunctor.Product.Flatten
flatten62 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2 g2 h2 i2 j2. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, (a2, (b2, (c2, (d2, (e2, (f2, (g2, (h2, (i2, j2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2, b2, c2, d2, e2, f2, g2, h2, i2, j2)
flatten61 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2 g2 h2 i2. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, (a2, (b2, (c2, (d2, (e2, (f2, (g2, (h2, i2)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2, b2, c2, d2, e2, f2, g2, h2, i2)
flatten60 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2 g2 h2. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, (a2, (b2, (c2, (d2, (e2, (f2, (g2, h2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2, b2, c2, d2, e2, f2, g2, h2)
flatten59 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2 g2. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, (a2, (b2, (c2, (d2, (e2, (f2, g2)))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2, b2, c2, d2, e2, f2, g2)
flatten58 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, (a2, (b2, (c2, (d2, (e2, f2))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2, b2, c2, d2, e2, f2)
flatten57 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, (a2, (b2, (c2, (d2, e2)))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2, b2, c2, d2, e2)
flatten56 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, (a2, (b2, (c2, d2))))))))))))))))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2, b2, c2, d2)
flatten55 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, (a2, (b2, c2)))))))))))))))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2, b2, c2)
flatten54 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, (a2, b2))))))))))))))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2, b2)
flatten53 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, a2)))))))))))))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2)
flatten52 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, z1))))))))))))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1)
flatten51 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, y1)))))))))))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1)
flatten50 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, x1))))))))))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1)
flatten49 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, w1)))))))))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1)
flatten48 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, v1))))))))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1)
flatten47 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, u1)))))))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1)
flatten46 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, t1))))))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1)
flatten45 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, s1)))))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1)
flatten44 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, r1))))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1)
flatten43 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, q1)))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1)
flatten42 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, p1))))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1)
flatten41 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, o1)))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1)
flatten40 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, n1))))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1)
flatten39 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, m1)))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1)
flatten38 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, l1))))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1)
flatten37 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, k1)))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1)
flatten36 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, j1))))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1)
flatten35 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, i1)))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1)
flatten34 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, h1))))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1)
flatten33 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, g1)))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1)
flatten32 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, f1))))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1)
flatten31 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, e1)))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1)
flatten30 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, d1))))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1)
flatten29 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, c1)))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1)
flatten28 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, b1))))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1)
flatten27 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, a1)))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1)
flatten26 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, z0))))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0)
flatten25 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, y0)))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0)
flatten24 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, x0))))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0)
flatten23 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, w0)))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0)
flatten22 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, v0))))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0)
flatten21 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, u0)))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0)
flatten20 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, t0))))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0)
flatten19 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, s0)))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0)
flatten18 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, r0))))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0)
flatten17 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, q0)))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0)
flatten16 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, p0))))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0)
flatten15 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, o0)))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0)
flatten14 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, n0))))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0)
flatten13 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, m0)))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0)
flatten12 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, l0))))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0)
flatten11 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, k0)))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0)
flatten10 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, j0))))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0)
flatten9 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0. (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, i0)))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0, i0)
flatten8 :: forall a0 b0 c0 d0 e0 f0 g0 h0. (a0, (b0, (c0, (d0, (e0, (f0, (g0, h0))))))) -> (a0, b0, c0, d0, e0, f0, g0, h0)
flatten7 :: forall a0 b0 c0 d0 e0 f0 g0. (a0, (b0, (c0, (d0, (e0, (f0, g0)))))) -> (a0, b0, c0, d0, e0, f0, g0)
flatten6 :: forall a0 b0 c0 d0 e0 f0. (a0, (b0, (c0, (d0, (e0, f0))))) -> (a0, b0, c0, d0, e0, f0)
flatten5 :: forall a0 b0 c0 d0 e0. (a0, (b0, (c0, (d0, e0)))) -> (a0, b0, c0, d0, e0)
flatten4 :: forall a0 b0 c0 d0. (a0, (b0, (c0, d0))) -> (a0, b0, c0, d0)
flatten3 :: forall a0 b0 c0. (a0, (b0, c0)) -> (a0, b0, c0)
flatten2 :: forall a0 b0. (a0, b0) -> (a0, b0)
flatten1 :: forall a0. a0 -> a0
flatten0 :: () -> ()
unflatten62 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2 g2 h2 i2 j2. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2, b2, c2, d2, e2, f2, g2, h2, i2, j2) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, (a2, (b2, (c2, (d2, (e2, (f2, (g2, (h2, (i2, j2)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
unflatten61 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2 g2 h2 i2. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2, b2, c2, d2, e2, f2, g2, h2, i2) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, (a2, (b2, (c2, (d2, (e2, (f2, (g2, (h2, i2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
unflatten60 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2 g2 h2. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2, b2, c2, d2, e2, f2, g2, h2) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, (a2, (b2, (c2, (d2, (e2, (f2, (g2, h2)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
unflatten59 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2 g2. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2, b2, c2, d2, e2, f2, g2) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, (a2, (b2, (c2, (d2, (e2, (f2, g2))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
unflatten58 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2 f2. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2, b2, c2, d2, e2, f2) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, (a2, (b2, (c2, (d2, (e2, f2)))))))))))))))))))))))))))))))))))))))))))))))))))))))))
unflatten57 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2 e2. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2, b2, c2, d2, e2) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, (a2, (b2, (c2, (d2, e2))))))))))))))))))))))))))))))))))))))))))))))))))))))))
unflatten56 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2 d2. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2, b2, c2, d2) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, (a2, (b2, (c2, d2)))))))))))))))))))))))))))))))))))))))))))))))))))))))
unflatten55 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2 c2. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2, b2, c2) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, (a2, (b2, c2))))))))))))))))))))))))))))))))))))))))))))))))))))))
unflatten54 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2 b2. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2, b2) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, (a2, b2)))))))))))))))))))))))))))))))))))))))))))))))))))))
unflatten53 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1 a2. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1, a2) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, (z1, a2))))))))))))))))))))))))))))))))))))))))))))))))))))
unflatten52 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1 z1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1, z1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, (y1, z1)))))))))))))))))))))))))))))))))))))))))))))))))))
unflatten51 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1 y1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1, y1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, (x1, y1))))))))))))))))))))))))))))))))))))))))))))))))))
unflatten50 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1 x1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1, x1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, (w1, x1)))))))))))))))))))))))))))))))))))))))))))))))))
unflatten49 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1 w1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1, w1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, (v1, w1))))))))))))))))))))))))))))))))))))))))))))))))
unflatten48 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1 v1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1, v1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, (u1, v1)))))))))))))))))))))))))))))))))))))))))))))))
unflatten47 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1 u1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1, u1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, (t1, u1))))))))))))))))))))))))))))))))))))))))))))))
unflatten46 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1 t1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1, t1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, (s1, t1)))))))))))))))))))))))))))))))))))))))))))))
unflatten45 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1 s1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1, s1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, (r1, s1))))))))))))))))))))))))))))))))))))))))))))
unflatten44 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1 r1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1, r1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, (q1, r1)))))))))))))))))))))))))))))))))))))))))))
unflatten43 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1 q1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1, q1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, (p1, q1))))))))))))))))))))))))))))))))))))))))))
unflatten42 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1 p1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1, p1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, (o1, p1)))))))))))))))))))))))))))))))))))))))))
unflatten41 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1 o1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1, o1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, (n1, o1))))))))))))))))))))))))))))))))))))))))
unflatten40 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1 n1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1, n1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, (m1, n1)))))))))))))))))))))))))))))))))))))))
unflatten39 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1 m1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1, m1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, (l1, m1))))))))))))))))))))))))))))))))))))))
unflatten38 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1 l1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1, l1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, (k1, l1)))))))))))))))))))))))))))))))))))))
unflatten37 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1 k1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1, k1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, (j1, k1))))))))))))))))))))))))))))))))))))
unflatten36 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1 j1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1, j1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, (i1, j1)))))))))))))))))))))))))))))))))))
unflatten35 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1 i1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1, i1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, (h1, i1))))))))))))))))))))))))))))))))))
unflatten34 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1 h1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1, h1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, (g1, h1)))))))))))))))))))))))))))))))))
unflatten33 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1 g1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1, g1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, (f1, g1))))))))))))))))))))))))))))))))
unflatten32 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1 f1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1, f1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, (e1, f1)))))))))))))))))))))))))))))))
unflatten31 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1 e1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1, e1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, (d1, e1))))))))))))))))))))))))))))))
unflatten30 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1 d1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1, d1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, (c1, d1)))))))))))))))))))))))))))))
unflatten29 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1 c1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1, c1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, (b1, c1))))))))))))))))))))))))))))
unflatten28 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1 b1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1, b1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, (a1, b1)))))))))))))))))))))))))))
unflatten27 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0 a1. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0, a1) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, (z0, a1))))))))))))))))))))))))))
unflatten26 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0 z0. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0, z0) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, (y0, z0)))))))))))))))))))))))))
unflatten25 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0 y0. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0, y0) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, (x0, y0))))))))))))))))))))))))
unflatten24 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0 x0. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0, x0) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, (w0, x0)))))))))))))))))))))))
unflatten23 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0 w0. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0, w0) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, (v0, w0))))))))))))))))))))))
unflatten22 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0 v0. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0, v0) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, (u0, v0)))))))))))))))))))))
unflatten21 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0 u0. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0, u0) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, (t0, u0))))))))))))))))))))
unflatten20 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0 t0. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0, t0) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, (s0, t0)))))))))))))))))))
unflatten19 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0 s0. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0, s0) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, (r0, s0))))))))))))))))))
unflatten18 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0 r0. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0, r0) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, (q0, r0)))))))))))))))))
unflatten17 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0 q0. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0, q0) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, (p0, q0))))))))))))))))
unflatten16 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0 p0. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0, p0) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, (o0, p0)))))))))))))))
unflatten15 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0 o0. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0, o0) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, (n0, o0))))))))))))))
unflatten14 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0 n0. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0, n0) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, (m0, n0)))))))))))))
unflatten13 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0 m0. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0, m0) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, (l0, m0))))))))))))
unflatten12 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0 l0. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0, l0) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, (k0, l0)))))))))))
unflatten11 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0 k0. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0, k0) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, (j0, k0))))))))))
unflatten10 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0 j0. (a0, b0, c0, d0, e0, f0, g0, h0, i0, j0) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, (i0, j0)))))))))
unflatten9 :: forall a0 b0 c0 d0 e0 f0 g0 h0 i0. (a0, b0, c0, d0, e0, f0, g0, h0, i0) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, (h0, i0))))))))
unflatten8 :: forall a0 b0 c0 d0 e0 f0 g0 h0. (a0, b0, c0, d0, e0, f0, g0, h0) -> (a0, (b0, (c0, (d0, (e0, (f0, (g0, h0)))))))
unflatten7 :: forall a0 b0 c0 d0 e0 f0 g0. (a0, b0, c0, d0, e0, f0, g0) -> (a0, (b0, (c0, (d0, (e0, (f0, g0))))))
unflatten6 :: forall a0 b0 c0 d0 e0 f0. (a0, b0, c0, d0, e0, f0) -> (a0, (b0, (c0, (d0, (e0, f0)))))
unflatten5 :: forall a0 b0 c0 d0 e0. (a0, b0, c0, d0, e0) -> (a0, (b0, (c0, (d0, e0))))
unflatten4 :: forall a0 b0 c0 d0. (a0, b0, c0, d0) -> (a0, (b0, (c0, d0)))
unflatten3 :: forall a0 b0 c0. (a0, b0, c0) -> (a0, (b0, c0))
unflatten2 :: forall a0 b0. (a0, b0) -> (a0, b0)
unflatten1 :: forall a0. a0 -> a0
unflatten0 :: () -> ()

module Data.Profunctor.Product

-- | <a>ProductProfunctor</a> is a generalization of <a>Applicative</a>.
--   
--   It has the usual <a>Applicative</a> "output" (covariant) parameter on
--   the right. Additionally it has an "input" (contravariant) type
--   parameter on the left.
--   
--   You will find it easier to see the correspondence between
--   <a>ProductProfunctor</a> and <a>Applicative</a> if you look at
--   <tt>purePP</tt>, <tt>(***$)</tt>, and <tt>(****)</tt>, which
--   correspond to <tt>pure</tt>, <tt>(&lt;$&gt;)</tt>, and
--   <tt>(&lt;*&gt;)</tt> respectively.
--   
--   <pre>
--   | Correspondence between Applicative and ProductProfunctor
--   |
--   |  Applicative f           ProductProfunctor p
--   |
--   |  pure                    purePP
--   |    :: b -&gt; f b             :: b -&gt; p a b
--   |
--   |  (&lt;$&gt;)                   (***$)
--   |    :: (b -&gt; b')            :: (b -&gt; b')
--   |    -&gt; f b                  -&gt; p a b
--   |    -&gt; f b'                 -&gt; p a b'
--   |
--   |  (&lt;*&gt;)                   (****)
--   |    :: f (b -&gt; b')          :: p a (b -&gt; b')
--   |    -&gt; f b                  -&gt; p a b
--   |    -&gt; f b'                 -&gt; p a b'
--   </pre>
--   
--   It's easy to make instances of <a>ProductProfunctor</a>. Just make
--   instances
--   
--   <pre>
--   instance Profunctor MyProductProfunctor where
--     ...
--   
--   instance Applicative (MyProductProfunctor a) where
--     ...
--   </pre>
--   
--   and then write
--   
--   <pre>
--   instance ProductProfunctor MyProductProfunctor where
--     purePP = pure
--     (****) = (&lt;*&gt;)
--   </pre>
class Profunctor p => ProductProfunctor p

-- | <a>purePP</a> is the generalisation of <tt>Applicative</tt>'s
--   <tt>pure</tt>.
--   
--   Aside from defining <a>ProductProfunctor</a> instances you will
--   probably never need to use this; <tt>pure</tt> should be sufficient
--   (if your <a>ProductProfunctor</a> instance also has an
--   <tt>Applicative</tt> instance).
purePP :: ProductProfunctor p => b -> p a b

-- | <a>****</a> is the generalisation of <tt>Applicative</tt>'s
--   <tt>&lt;*&gt;</tt>.
--   
--   Aside from defining <a>ProductProfunctor</a> instances you will you
--   will probably never need to use this; <tt>&lt;*&gt;</tt> should be
--   sufficient (if your <a>ProductProfunctor</a> instance has also been
--   given an <tt>Applicative</tt> instance).
(****) :: ProductProfunctor p => p a (b -> c) -> p a b -> p a c

-- | You probably never want to use <a>empty</a> and it may be deprecated
--   in a future version.
empty :: ProductProfunctor p => p () ()

-- | You probably never want to use <a>***!</a> and it may be deprecated in
--   a future version.
(***!) :: ProductProfunctor p => p a b -> p a' b' -> p (a, a') (b, b')
class Profunctor p => SumProfunctor p
(+++!) :: SumProfunctor p => p a b -> p a' b' -> p (Either a a') (Either b b')

-- | <a>***$</a> is the generalisation of <tt>Applicative</tt>'s
--   <tt>&lt;$&gt;</tt>.
--   
--   <a>***$</a> = <a>rmap</a>, just like <a>&lt;$&gt;</a> = <a>fmap</a>.
--   
--   You will probably never need to use this; <tt>&lt;$&gt;</tt> should be
--   sufficient (if your <a>ProductProfunctor</a> instance has also been
--   given a <tt>Functor</tt> instance).
(***$) :: ProductProfunctor p => (b -> c) -> p a b -> p a c

-- | A generalisation of <tt>map :: (a -&gt; b) -&gt; [a] -&gt; [b]</tt>.
--   It is also, in spirit, a generalisation of <tt>traverse :: (a -&gt; f
--   b) -&gt; [a] -&gt; f [b]</tt>, but the types need to be shuffled
--   around a bit to make that work.
list :: (ProductProfunctor p, SumProfunctor p) => p a b -> p [a] [b]
pT62 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 a58 a59 a60 a61 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55 b56 b57 b58 b59 b60 b61. ProductProfunctor p => T62 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) (p a43 b43) (p a44 b44) (p a45 b45) (p a46 b46) (p a47 b47) (p a48 b48) (p a49 b49) (p a50 b50) (p a51 b51) (p a52 b52) (p a53 b53) (p a54 b54) (p a55 b55) (p a56 b56) (p a57 b57) (p a58 b58) (p a59 b59) (p a60 b60) (p a61 b61) -> p (T62 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 a58 a59 a60 a61) (T62 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55 b56 b57 b58 b59 b60 b61)
pT61 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 a58 a59 a60 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55 b56 b57 b58 b59 b60. ProductProfunctor p => T61 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) (p a43 b43) (p a44 b44) (p a45 b45) (p a46 b46) (p a47 b47) (p a48 b48) (p a49 b49) (p a50 b50) (p a51 b51) (p a52 b52) (p a53 b53) (p a54 b54) (p a55 b55) (p a56 b56) (p a57 b57) (p a58 b58) (p a59 b59) (p a60 b60) -> p (T61 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 a58 a59 a60) (T61 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55 b56 b57 b58 b59 b60)
pT60 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 a58 a59 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55 b56 b57 b58 b59. ProductProfunctor p => T60 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) (p a43 b43) (p a44 b44) (p a45 b45) (p a46 b46) (p a47 b47) (p a48 b48) (p a49 b49) (p a50 b50) (p a51 b51) (p a52 b52) (p a53 b53) (p a54 b54) (p a55 b55) (p a56 b56) (p a57 b57) (p a58 b58) (p a59 b59) -> p (T60 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 a58 a59) (T60 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55 b56 b57 b58 b59)
pT59 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 a58 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55 b56 b57 b58. ProductProfunctor p => T59 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) (p a43 b43) (p a44 b44) (p a45 b45) (p a46 b46) (p a47 b47) (p a48 b48) (p a49 b49) (p a50 b50) (p a51 b51) (p a52 b52) (p a53 b53) (p a54 b54) (p a55 b55) (p a56 b56) (p a57 b57) (p a58 b58) -> p (T59 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 a58) (T59 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55 b56 b57 b58)
pT58 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55 b56 b57. ProductProfunctor p => T58 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) (p a43 b43) (p a44 b44) (p a45 b45) (p a46 b46) (p a47 b47) (p a48 b48) (p a49 b49) (p a50 b50) (p a51 b51) (p a52 b52) (p a53 b53) (p a54 b54) (p a55 b55) (p a56 b56) (p a57 b57) -> p (T58 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57) (T58 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55 b56 b57)
pT57 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55 b56. ProductProfunctor p => T57 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) (p a43 b43) (p a44 b44) (p a45 b45) (p a46 b46) (p a47 b47) (p a48 b48) (p a49 b49) (p a50 b50) (p a51 b51) (p a52 b52) (p a53 b53) (p a54 b54) (p a55 b55) (p a56 b56) -> p (T57 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56) (T57 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55 b56)
pT56 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55. ProductProfunctor p => T56 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) (p a43 b43) (p a44 b44) (p a45 b45) (p a46 b46) (p a47 b47) (p a48 b48) (p a49 b49) (p a50 b50) (p a51 b51) (p a52 b52) (p a53 b53) (p a54 b54) (p a55 b55) -> p (T56 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55) (T56 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55)
pT55 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54. ProductProfunctor p => T55 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) (p a43 b43) (p a44 b44) (p a45 b45) (p a46 b46) (p a47 b47) (p a48 b48) (p a49 b49) (p a50 b50) (p a51 b51) (p a52 b52) (p a53 b53) (p a54 b54) -> p (T55 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54) (T55 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54)
pT54 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53. ProductProfunctor p => T54 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) (p a43 b43) (p a44 b44) (p a45 b45) (p a46 b46) (p a47 b47) (p a48 b48) (p a49 b49) (p a50 b50) (p a51 b51) (p a52 b52) (p a53 b53) -> p (T54 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53) (T54 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53)
pT53 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52. ProductProfunctor p => T53 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) (p a43 b43) (p a44 b44) (p a45 b45) (p a46 b46) (p a47 b47) (p a48 b48) (p a49 b49) (p a50 b50) (p a51 b51) (p a52 b52) -> p (T53 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52) (T53 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52)
pT52 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51. ProductProfunctor p => T52 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) (p a43 b43) (p a44 b44) (p a45 b45) (p a46 b46) (p a47 b47) (p a48 b48) (p a49 b49) (p a50 b50) (p a51 b51) -> p (T52 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51) (T52 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51)
pT51 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50. ProductProfunctor p => T51 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) (p a43 b43) (p a44 b44) (p a45 b45) (p a46 b46) (p a47 b47) (p a48 b48) (p a49 b49) (p a50 b50) -> p (T51 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50) (T51 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50)
pT50 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49. ProductProfunctor p => T50 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) (p a43 b43) (p a44 b44) (p a45 b45) (p a46 b46) (p a47 b47) (p a48 b48) (p a49 b49) -> p (T50 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49) (T50 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49)
pT49 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48. ProductProfunctor p => T49 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) (p a43 b43) (p a44 b44) (p a45 b45) (p a46 b46) (p a47 b47) (p a48 b48) -> p (T49 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48) (T49 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48)
pT48 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47. ProductProfunctor p => T48 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) (p a43 b43) (p a44 b44) (p a45 b45) (p a46 b46) (p a47 b47) -> p (T48 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47) (T48 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47)
pT47 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46. ProductProfunctor p => T47 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) (p a43 b43) (p a44 b44) (p a45 b45) (p a46 b46) -> p (T47 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46) (T47 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46)
pT46 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45. ProductProfunctor p => T46 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) (p a43 b43) (p a44 b44) (p a45 b45) -> p (T46 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45) (T46 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45)
pT45 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44. ProductProfunctor p => T45 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) (p a43 b43) (p a44 b44) -> p (T45 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44) (T45 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44)
pT44 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43. ProductProfunctor p => T44 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) (p a43 b43) -> p (T44 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43) (T44 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43)
pT43 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42. ProductProfunctor p => T43 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) (p a42 b42) -> p (T43 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42) (T43 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42)
pT42 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41. ProductProfunctor p => T42 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) (p a41 b41) -> p (T42 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41) (T42 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41)
pT41 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40. ProductProfunctor p => T41 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) (p a40 b40) -> p (T41 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40) (T41 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40)
pT40 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39. ProductProfunctor p => T40 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) (p a39 b39) -> p (T40 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39) (T40 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39)
pT39 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38. ProductProfunctor p => T39 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) (p a38 b38) -> p (T39 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38) (T39 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38)
pT38 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37. ProductProfunctor p => T38 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) (p a37 b37) -> p (T38 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37) (T38 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37)
pT37 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36. ProductProfunctor p => T37 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) (p a36 b36) -> p (T37 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36) (T37 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36)
pT36 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35. ProductProfunctor p => T36 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) (p a35 b35) -> p (T36 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35) (T36 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35)
pT35 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34. ProductProfunctor p => T35 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) (p a34 b34) -> p (T35 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34) (T35 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34)
pT34 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33. ProductProfunctor p => T34 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) (p a33 b33) -> p (T34 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33) (T34 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33)
pT33 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32. ProductProfunctor p => T33 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) (p a32 b32) -> p (T33 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32) (T33 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32)
pT32 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31. ProductProfunctor p => T32 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) (p a31 b31) -> p (T32 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31) (T32 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31)
pT31 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30. ProductProfunctor p => T31 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) (p a30 b30) -> p (T31 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30) (T31 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30)
pT30 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29. ProductProfunctor p => T30 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) (p a29 b29) -> p (T30 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29) (T30 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29)
pT29 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28. ProductProfunctor p => T29 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) (p a28 b28) -> p (T29 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28) (T29 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28)
pT28 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27. ProductProfunctor p => T28 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) (p a27 b27) -> p (T28 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27) (T28 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27)
pT27 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26. ProductProfunctor p => T27 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) (p a26 b26) -> p (T27 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26) (T27 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26)
pT26 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25. ProductProfunctor p => T26 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) (p a25 b25) -> p (T26 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25) (T26 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25)
pT25 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24. ProductProfunctor p => T25 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) (p a24 b24) -> p (T25 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24) (T25 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24)
pT24 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23. ProductProfunctor p => T24 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) (p a23 b23) -> p (T24 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23) (T24 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23)
pT23 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22. ProductProfunctor p => T23 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) (p a22 b22) -> p (T23 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22) (T23 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22)
pT22 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21. ProductProfunctor p => T22 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) (p a21 b21) -> p (T22 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21) (T22 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21)
pT21 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20. ProductProfunctor p => T21 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) (p a20 b20) -> p (T21 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20) (T21 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20)
pT20 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19. ProductProfunctor p => T20 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) (p a19 b19) -> p (T20 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19) (T20 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19)
pT19 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18. ProductProfunctor p => T19 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) (p a18 b18) -> p (T19 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18) (T19 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18)
pT18 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17. ProductProfunctor p => T18 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) (p a17 b17) -> p (T18 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17) (T18 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17)
pT17 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16. ProductProfunctor p => T17 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) (p a16 b16) -> p (T17 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16) (T17 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16)
pT16 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15. ProductProfunctor p => T16 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) (p a15 b15) -> p (T16 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15) (T16 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15)
pT15 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14. ProductProfunctor p => T15 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) (p a14 b14) -> p (T15 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14) (T15 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14)
pT14 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13. ProductProfunctor p => T14 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) (p a13 b13) -> p (T14 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13) (T14 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13)
pT13 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12. ProductProfunctor p => T13 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) (p a12 b12) -> p (T13 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) (T13 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12)
pT12 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11. ProductProfunctor p => T12 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) (p a11 b11) -> p (T12 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11) (T12 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11)
pT11 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10. ProductProfunctor p => T11 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) (p a10 b10) -> p (T11 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) (T11 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10)
pT10 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9. ProductProfunctor p => T10 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) (p a9 b9) -> p (T10 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9) (T10 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9)
pT9 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 b0 b1 b2 b3 b4 b5 b6 b7 b8. ProductProfunctor p => T9 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) (p a8 b8) -> p (T9 a0 a1 a2 a3 a4 a5 a6 a7 a8) (T9 b0 b1 b2 b3 b4 b5 b6 b7 b8)
pT8 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 b0 b1 b2 b3 b4 b5 b6 b7. ProductProfunctor p => T8 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) (p a7 b7) -> p (T8 a0 a1 a2 a3 a4 a5 a6 a7) (T8 b0 b1 b2 b3 b4 b5 b6 b7)
pT7 :: forall p a0 a1 a2 a3 a4 a5 a6 b0 b1 b2 b3 b4 b5 b6. ProductProfunctor p => T7 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) (p a6 b6) -> p (T7 a0 a1 a2 a3 a4 a5 a6) (T7 b0 b1 b2 b3 b4 b5 b6)
pT6 :: forall p a0 a1 a2 a3 a4 a5 b0 b1 b2 b3 b4 b5. ProductProfunctor p => T6 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) (p a5 b5) -> p (T6 a0 a1 a2 a3 a4 a5) (T6 b0 b1 b2 b3 b4 b5)
pT5 :: forall p a0 a1 a2 a3 a4 b0 b1 b2 b3 b4. ProductProfunctor p => T5 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) (p a4 b4) -> p (T5 a0 a1 a2 a3 a4) (T5 b0 b1 b2 b3 b4)
pT4 :: forall p a0 a1 a2 a3 b0 b1 b2 b3. ProductProfunctor p => T4 (p a0 b0) (p a1 b1) (p a2 b2) (p a3 b3) -> p (T4 a0 a1 a2 a3) (T4 b0 b1 b2 b3)
pT3 :: forall p a0 a1 a2 b0 b1 b2. ProductProfunctor p => T3 (p a0 b0) (p a1 b1) (p a2 b2) -> p (T3 a0 a1 a2) (T3 b0 b1 b2)
pT2 :: forall p a0 a1 b0 b1. ProductProfunctor p => T2 (p a0 b0) (p a1 b1) -> p (T2 a0 a1) (T2 b0 b1)
pT1 :: forall p a0 b0. ProductProfunctor p => T1 (p a0 b0) -> p (T1 a0) (T1 b0)
pT0 :: forall p. ProductProfunctor p => T0 -> p T0 T0
p62 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 a58 a59 a60 a61 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55 b56 b57 b58 b59 b60 b61. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42, p a43 b43, p a44 b44, p a45 b45, p a46 b46, p a47 b47, p a48 b48, p a49 b49, p a50 b50, p a51 b51, p a52 b52, p a53 b53, p a54 b54, p a55 b55, p a56 b56, p a57 b57, p a58 b58, p a59 b59, p a60 b60, p a61 b61) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55, a56, a57, a58, a59, a60, a61) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54, b55, b56, b57, b58, b59, b60, b61)
p61 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 a58 a59 a60 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55 b56 b57 b58 b59 b60. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42, p a43 b43, p a44 b44, p a45 b45, p a46 b46, p a47 b47, p a48 b48, p a49 b49, p a50 b50, p a51 b51, p a52 b52, p a53 b53, p a54 b54, p a55 b55, p a56 b56, p a57 b57, p a58 b58, p a59 b59, p a60 b60) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55, a56, a57, a58, a59, a60) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54, b55, b56, b57, b58, b59, b60)
p60 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 a58 a59 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55 b56 b57 b58 b59. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42, p a43 b43, p a44 b44, p a45 b45, p a46 b46, p a47 b47, p a48 b48, p a49 b49, p a50 b50, p a51 b51, p a52 b52, p a53 b53, p a54 b54, p a55 b55, p a56 b56, p a57 b57, p a58 b58, p a59 b59) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55, a56, a57, a58, a59) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54, b55, b56, b57, b58, b59)
p59 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 a58 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55 b56 b57 b58. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42, p a43 b43, p a44 b44, p a45 b45, p a46 b46, p a47 b47, p a48 b48, p a49 b49, p a50 b50, p a51 b51, p a52 b52, p a53 b53, p a54 b54, p a55 b55, p a56 b56, p a57 b57, p a58 b58) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55, a56, a57, a58) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54, b55, b56, b57, b58)
p58 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 a57 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55 b56 b57. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42, p a43 b43, p a44 b44, p a45 b45, p a46 b46, p a47 b47, p a48 b48, p a49 b49, p a50 b50, p a51 b51, p a52 b52, p a53 b53, p a54 b54, p a55 b55, p a56 b56, p a57 b57) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55, a56, a57) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54, b55, b56, b57)
p57 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 a56 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55 b56. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42, p a43 b43, p a44 b44, p a45 b45, p a46 b46, p a47 b47, p a48 b48, p a49 b49, p a50 b50, p a51 b51, p a52 b52, p a53 b53, p a54 b54, p a55 b55, p a56 b56) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55, a56) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54, b55, b56)
p56 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 a55 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54 b55. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42, p a43 b43, p a44 b44, p a45 b45, p a46 b46, p a47 b47, p a48 b48, p a49 b49, p a50 b50, p a51 b51, p a52 b52, p a53 b53, p a54 b54, p a55 b55) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54, b55)
p55 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 a54 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53 b54. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42, p a43 b43, p a44 b44, p a45 b45, p a46 b46, p a47 b47, p a48 b48, p a49 b49, p a50 b50, p a51 b51, p a52 b52, p a53 b53, p a54 b54) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54)
p54 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 a53 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52 b53. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42, p a43 b43, p a44 b44, p a45 b45, p a46 b46, p a47 b47, p a48 b48, p a49 b49, p a50 b50, p a51 b51, p a52 b52, p a53 b53) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53)
p53 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 a52 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51 b52. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42, p a43 b43, p a44 b44, p a45 b45, p a46 b46, p a47 b47, p a48 b48, p a49 b49, p a50 b50, p a51 b51, p a52 b52) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52)
p52 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 a51 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50 b51. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42, p a43 b43, p a44 b44, p a45 b45, p a46 b46, p a47 b47, p a48 b48, p a49 b49, p a50 b50, p a51 b51) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51)
p51 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 a50 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49 b50. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42, p a43 b43, p a44 b44, p a45 b45, p a46 b46, p a47 b47, p a48 b48, p a49 b49, p a50 b50) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50)
p50 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 a49 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48 b49. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42, p a43 b43, p a44 b44, p a45 b45, p a46 b46, p a47 b47, p a48 b48, p a49 b49) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49)
p49 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 a48 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47 b48. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42, p a43 b43, p a44 b44, p a45 b45, p a46 b46, p a47 b47, p a48 b48) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48)
p48 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 a47 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46 b47. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42, p a43 b43, p a44 b44, p a45 b45, p a46 b46, p a47 b47) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47)
p47 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 a46 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45 b46. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42, p a43 b43, p a44 b44, p a45 b45, p a46 b46) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46)
p46 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 a45 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44 b45. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42, p a43 b43, p a44 b44, p a45 b45) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45)
p45 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 a44 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43 b44. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42, p a43 b43, p a44 b44) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44)
p44 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 a43 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42 b43. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42, p a43 b43) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43)
p43 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 a42 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41 b42. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41, p a42 b42) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42)
p42 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 a41 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40 b41. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40, p a41 b41) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41)
p41 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 a40 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39 b40. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39, p a40 b40) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40)
p40 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 a39 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38 b39. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38, p a39 b39) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39)
p39 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 a38 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37 b38. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37, p a38 b38) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38)
p38 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 a37 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36 b37. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36, p a37 b37) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37)
p37 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 a36 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35 b36. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35, p a36 b36) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36)
p36 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 a35 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34 b35. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34, p a35 b35) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35)
p35 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 a34 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33 b34. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33, p a34 b34) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34)
p34 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 a33 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32 b33. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32, p a33 b33) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33)
p33 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 a32 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31 b32. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31, p a32 b32) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
p32 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 a31 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30 b31. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30, p a31 b31) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31)
p31 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 a30 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29 b30. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29, p a30 b30) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30)
p30 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 a29 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28 b29. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28, p a29 b29) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29)
p29 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 a28 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27 b28. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27, p a28 b28) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28)
p28 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 a27 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26 b27. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26, p a27 b27) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27)
p27 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 a26 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25 b26. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25, p a26 b26) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26)
p26 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 a25 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24 b25. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24, p a25 b25) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25)
p25 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 a24 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23 b24. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23, p a24 b24) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24)
p24 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 a23 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22 b23. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22, p a23 b23) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23)
p23 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 a22 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21 b22. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21, p a22 b22) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22)
p22 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 a21 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20 b21. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20, p a21 b21) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21)
p21 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 a20 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19 b20. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19, p a20 b20) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20)
p20 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 a19 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18 b19. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18, p a19 b19) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19)
p19 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 a18 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17 b18. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17, p a18 b18) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18)
p18 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 a17 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16 b17. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16, p a17 b17) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17)
p17 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15, p a16 b16) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16)
p16 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14, p a15 b15) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15)
p15 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13, p a14 b14) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14)
p14 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12, p a13 b13) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13)
p13 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11, p a12 b12) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12)
p12 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10, p a11 b11) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11)
p11 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9, p a10 b10) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10)
p10 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 b0 b1 b2 b3 b4 b5 b6 b7 b8 b9. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8, p a9 b9) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9)
p9 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 a8 b0 b1 b2 b3 b4 b5 b6 b7 b8. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7, p a8 b8) -> p (a0, a1, a2, a3, a4, a5, a6, a7, a8) (b0, b1, b2, b3, b4, b5, b6, b7, b8)
p8 :: forall p a0 a1 a2 a3 a4 a5 a6 a7 b0 b1 b2 b3 b4 b5 b6 b7. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6, p a7 b7) -> p (a0, a1, a2, a3, a4, a5, a6, a7) (b0, b1, b2, b3, b4, b5, b6, b7)
p7 :: forall p a0 a1 a2 a3 a4 a5 a6 b0 b1 b2 b3 b4 b5 b6. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5, p a6 b6) -> p (a0, a1, a2, a3, a4, a5, a6) (b0, b1, b2, b3, b4, b5, b6)
p6 :: forall p a0 a1 a2 a3 a4 a5 b0 b1 b2 b3 b4 b5. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4, p a5 b5) -> p (a0, a1, a2, a3, a4, a5) (b0, b1, b2, b3, b4, b5)
p5 :: forall p a0 a1 a2 a3 a4 b0 b1 b2 b3 b4. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3, p a4 b4) -> p (a0, a1, a2, a3, a4) (b0, b1, b2, b3, b4)
p4 :: forall p a0 a1 a2 a3 b0 b1 b2 b3. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2, p a3 b3) -> p (a0, a1, a2, a3) (b0, b1, b2, b3)
p3 :: forall p a0 a1 a2 b0 b1 b2. ProductProfunctor p => (p a0 b0, p a1 b1, p a2 b2) -> p (a0, a1, a2) (b0, b1, b2)
p2 :: forall p a0 a1 b0 b1. ProductProfunctor p => (p a0 b0, p a1 b1) -> p (a0, a1) (b0, b1)
p1 :: forall p a0 b0. ProductProfunctor p => p a0 b0 -> p a0 b0
p0 :: forall p. ProductProfunctor p => () -> p () ()

-- | You probably never want to use <a>defaultEmpty</a> and it may be
--   deprecated in a later version.
defaultEmpty :: Applicative (p ()) => p () ()

-- | You probably never want to use <a>defaultProfunctorProduct</a> and it
--   may be deprecated in a later version.
defaultProfunctorProduct :: (Applicative (p (a, a')), Profunctor p) => p a b -> p a' b' -> p (a, a') (b, b')

-- | You probably never want to use <a>defaultPoint</a> and it may be
--   deprecated in a later version.
defaultPoint :: Monoid (p ()) => p ()

-- | <i>Deprecated: Use Data.Functor.Contravariant.Divisible instead</i>
class Contravariant f => ProductContravariant f
point :: ProductContravariant f => f ()
(***<) :: ProductContravariant f => f a -> f b -> f (a, b)

-- | <i>Deprecated: If you really need this, file an issue. It will go
--   soon.</i>
data AndArrow arr z a b

-- | <i>Deprecated: If you really need this, file an issue. It will go
--   soon.</i>
AndArrow :: arr z b -> AndArrow arr z a b
[runAndArrow] :: AndArrow arr z a b -> arr z b

-- | <i>Deprecated: defaultContravariantProduct will be removed</i>
defaultContravariantProduct :: (Contravariant f, Monoid (f (a, b))) => f a -> f b -> f (a, b)

-- | <i>Deprecated: PPOfContravariant will be removed</i>
newtype PPOfContravariant f a b

-- | <i>Deprecated: PPOfContravariant will be removed</i>
PPOfContravariant :: (f a) -> PPOfContravariant f a b

-- | <i>Deprecated: unPPOfContravariant will be removed</i>
unPPOfContravariant :: PPOfContravariant c a a -> c a
instance Data.Functor.Contravariant.Contravariant f => Data.Profunctor.Unsafe.Profunctor (Data.Profunctor.Product.PPOfContravariant f)
instance Data.Profunctor.Product.ProductContravariant f => Data.Profunctor.Product.Class.ProductProfunctor (Data.Profunctor.Product.PPOfContravariant f)
instance Control.Arrow.Arrow arr => Data.Profunctor.Unsafe.Profunctor (Data.Profunctor.Product.AndArrow arr z)
instance Control.Arrow.Arrow arr => Data.Profunctor.Product.Class.ProductProfunctor (Data.Profunctor.Product.AndArrow arr z)
instance Data.Profunctor.Product.Class.ProductProfunctor (->)
instance Control.Arrow.Arrow arr => Data.Profunctor.Product.Class.ProductProfunctor (Data.Profunctor.Types.WrappedArrow arr)
instance Data.Profunctor.Product.Class.ProductProfunctor Data.Tagged.Tagged
instance GHC.Base.Applicative f => Data.Profunctor.Product.Class.ProductProfunctor (Data.Profunctor.Types.Star f)
instance GHC.Base.Functor f => Data.Profunctor.Product.Class.ProductProfunctor (Data.Profunctor.Types.Costar f)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Class.ProductProfunctor q) => Data.Profunctor.Product.Class.ProductProfunctor (Data.Profunctor.Composition.Procompose p q)
instance (GHC.Base.Functor f, GHC.Base.Applicative g, Data.Profunctor.Product.Class.ProductProfunctor p) => Data.Profunctor.Product.Class.ProductProfunctor (Data.Bifunctor.Biff.Biff p f g)
instance GHC.Base.Applicative f => Data.Profunctor.Product.Class.ProductProfunctor (Data.Bifunctor.Joker.Joker f)
instance Data.Functor.Contravariant.Divisible.Divisible f => Data.Profunctor.Product.Class.ProductProfunctor (Data.Bifunctor.Clown.Clown f)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Class.ProductProfunctor q) => Data.Profunctor.Product.Class.ProductProfunctor (Data.Bifunctor.Product.Product p q)
instance (GHC.Base.Applicative f, Data.Profunctor.Product.Class.ProductProfunctor p) => Data.Profunctor.Product.Class.ProductProfunctor (Data.Bifunctor.Tannen.Tannen f p)
instance Data.Profunctor.Product.Class.SumProfunctor (->)
instance Control.Arrow.ArrowChoice arr => Data.Profunctor.Product.Class.SumProfunctor (Data.Profunctor.Types.WrappedArrow arr)
instance GHC.Base.Applicative f => Data.Profunctor.Product.Class.SumProfunctor (Data.Profunctor.Types.Star f)
instance (Data.Profunctor.Product.Class.SumProfunctor p, Data.Profunctor.Product.Class.SumProfunctor q) => Data.Profunctor.Product.Class.SumProfunctor (Data.Profunctor.Composition.Procompose p q)
instance GHC.Base.Alternative f => Data.Profunctor.Product.Class.SumProfunctor (Data.Bifunctor.Joker.Joker f)
instance Data.Functor.Contravariant.Divisible.Decidable f => Data.Profunctor.Product.Class.SumProfunctor (Data.Bifunctor.Clown.Clown f)
instance (Data.Profunctor.Product.Class.SumProfunctor p, Data.Profunctor.Product.Class.SumProfunctor q) => Data.Profunctor.Product.Class.SumProfunctor (Data.Bifunctor.Product.Product p q)
instance (GHC.Base.Applicative f, Data.Profunctor.Product.Class.SumProfunctor p) => Data.Profunctor.Product.Class.SumProfunctor (Data.Bifunctor.Tannen.Tannen f p)

module Data.Profunctor.Product.Internal.Adaptor

-- | Generic adaptor.
--   
--   <pre>
--   <a>genericAdaptor</a> :: <a>ProductProfunctor</a> p =&gt;
--                     <a>Adaptor</a> p (Foo (p a a') (p b b') (p c c'))
--   <a>genericAdaptor</a> :: <a>ProductProfunctor</a> p =&gt;
--                     Foo (p a a') (p b b') (p c c') -&gt; p (Foo a b c) (Foo a' b' c')
--   </pre>
genericAdaptor :: GAdaptable p a b c => a -> p b c

-- | A type synonym to shorten the signature of an adaptor.
--   
--   <pre>
--   <a>Adaptor</a> p (Foo (p a a') (p b b') (p c c'))
--   ~
--   Foo (p a a') (p b b') (p c c') -&gt; p (Foo a b c) (Foo a' b' c')
--   </pre>
type Adaptor p a = a -> p (Unzip  'Fst a) (Unzip  'Snd a)

-- | A constraint synonym on generic types for which an adaptor can be
--   defined generically.
type GAdaptable p a b c = (Generic a, Generic b, Generic c, GUnzip  'Fst (Rep a) ~ Rep b, GUnzip  'Snd (Rep a) ~ Rep c, GAdaptor p (Rep a))

-- | A flag denoting a type-level field accessor.
data Select
Fst :: Select
Snd :: Select

-- | A type like
--   
--   <pre>
--   T = Foo (p a a') (p b b') (p c c')
--   </pre>
--   
--   can be unzipped to
--   
--   <pre>
--   Unzip 'Fst T = Foo a  b  c
--   Unzip 'Snd T = Foo a' b' c'
--   </pre>
--   
--   This defines the type family <a>Unzip</a> with versions of GHC older
--   than 8.0.1. For 8.0.1 and newer versions, <a>Unzip</a> is an
--   independent type family and <a>Unzippable</a> is just an empty class
--   for backwards compatibility.
class Unzippable (a :: k)

-- | A hack to enable kind-polymorphic recursion.

-- | A type <tt>p a b</tt> can be seen as a type-level pair <tt>'(a,
--   b)</tt>.
class TypePair a where {
    type family Project (z :: Select) a;
}

-- | Unzips the types of fields of a record.
--   
--   <pre>
--               T = (M1 _ _ (K1 _ (p c1 c2))) :*: (M1 _ _ (K1 _ (p d1 d2)))
--   GUnzip 'Fst T = (M1 _ _ (K1 _    c1    )) :*: (M1 _ _ (K1 _    d1    ))
--   GUnzip 'Snd T = (M1 _ _ (K1 _       c2 )) :*: (M1 _ _ (K1 _       d2 ))
--   </pre>

-- | Adaptors over generic representations of types.
class Profunctor p => GAdaptor p f | f -> p
gAdaptor :: GAdaptor p f => f a -> p (GUnzip  'Fst f a) (GUnzip  'Snd f a)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Internal.Adaptor.GAdaptor p f, Data.Profunctor.Product.Internal.Adaptor.GAdaptor p g) => Data.Profunctor.Product.Internal.Adaptor.GAdaptor p (f GHC.Generics.:*: g)
instance Data.Profunctor.Product.Internal.Adaptor.GAdaptor p f => Data.Profunctor.Product.Internal.Adaptor.GAdaptor p (GHC.Generics.M1 i c f)
instance Data.Profunctor.Unsafe.Profunctor p => Data.Profunctor.Product.Internal.Adaptor.GAdaptor p (GHC.Generics.K1 i (p a b))
instance Data.Profunctor.Product.Internal.Adaptor.TypePair (p a b)


-- | Adaptors generalize traversals in two ways:
--   
--   <ul>
--   <li>they may focus on values of different types;</li>
--   <li>the type of transformation is an abstract product profunctor <tt>p
--   a b</tt>, rather than a function type <tt>a -&gt; f b</tt>.</li>
--   </ul>
--   
--   <pre>
--   (a -&gt; f b)         -&gt; (a, a) -&gt; f (b, b)   -- Traversal
--   (p a1 b1, p a2 b2) -&gt; p (a1, a2) (b1, b2)  -- Adaptor
--   </pre>
--   
--   This module provides a generic implementation of adaptors and a type
--   synonym for convenience.
--   
--   <h3>Example</h3>
--   
--   <pre>
--   {-# LANGUAGE DeriveGeneric #-}
--   import <a>GHC.Generics</a>
--   
--   data Foo a b c = Foo { fooA :: a, fooB :: b, fooC :: c } deriving <a>Generic</a>
--   
--   pFoo :: <a>ProductProfunctor</a> p =&gt; <a>Adaptor</a> p (Foo (p a a') (p b b') (p c c'))
--   pFoo = <a>genericAdaptor</a>
--   </pre>
--   
--   is equivalent to
--   
--   <pre>
--   pFoo :: <a>ProductProfunctor</a> p =&gt;
--           Foo (p a a') (p b b') (p c c') -&gt; p (Foo a b c) (Foo a' b' c')
--   pFoo (Foo a b c) = Foo
--     <a>***$</a> <a>lmap</a> fooA a
--     <a>****</a> <a>lmap</a> fooB b
--     <a>****</a> <a>lmap</a> fooC c
--   </pre>
--   
--   To use the type synonym <a>Adaptor</a> in versions of GHC older than
--   8.0.1, <tt>Foo</tt> must be an instance of <a>Unzippable</a>. You may
--   simply declare a default instance:
--   
--   <pre>
--   instance <a>Unzippable</a> Foo
--   </pre>
module Data.Profunctor.Product.Adaptor

-- | Generic adaptor.
--   
--   <pre>
--   <a>genericAdaptor</a> :: <a>ProductProfunctor</a> p =&gt;
--                     <a>Adaptor</a> p (Foo (p a a') (p b b') (p c c'))
--   <a>genericAdaptor</a> :: <a>ProductProfunctor</a> p =&gt;
--                     Foo (p a a') (p b b') (p c c') -&gt; p (Foo a b c) (Foo a' b' c')
--   </pre>
genericAdaptor :: GAdaptable p a b c => a -> p b c

-- | A type synonym to shorten the signature of an adaptor.
--   
--   <pre>
--   <a>Adaptor</a> p (Foo (p a a') (p b b') (p c c'))
--   ~
--   Foo (p a a') (p b b') (p c c') -&gt; p (Foo a b c) (Foo a' b' c')
--   </pre>
type Adaptor p a = a -> p (Unzip  'Fst a) (Unzip  'Snd a)

-- | A type like
--   
--   <pre>
--   T = Foo (p a a') (p b b') (p c c')
--   </pre>
--   
--   can be unzipped to
--   
--   <pre>
--   Unzip 'Fst T = Foo a  b  c
--   Unzip 'Snd T = Foo a' b' c'
--   </pre>
--   
--   This defines the type family <a>Unzip</a> with versions of GHC older
--   than 8.0.1. For 8.0.1 and newer versions, <a>Unzip</a> is an
--   independent type family and <a>Unzippable</a> is just an empty class
--   for backwards compatibility.
class Unzippable (a :: k)

module Data.Profunctor.Product.Default

-- | This will be deprecated in a future version
cdef :: Default (PPOfContravariant u) a a => u a
class Default p a b
def :: Default p a b => p a b
def :: (Default p a b, Profunctor p, Generic a, Generic b, GDefault p (Rep a) (Rep b)) => p a b

-- | See <a>DefaultFields'</a>. But this more general form allows the input
--   and output types to vary a bit.
type DefaultFields p a b = GDefCnstr p (Rep a) (Rep b)

-- | <a>Default</a> constraints on the fields of a <a>Generic</a> datatype.
--   
--   For a type like
--   
--   <pre>
--   data Foo = Bar { a :: Int, b :: String }
--            | Baz Bool
--   </pre>
--   
--   we get the following constraints
--   
--   <pre>
--   DefaultFields' p Foo =
--     ( Default p Int Int
--     , Default p String String
--     , Default p Bool Bool
--     )
--   </pre>
type DefaultFields' p a = DefaultFields p a a

-- | <tt><a>DefaultPConstraints</a> p a</tt> expands to the minimal
--   combination of <tt><a>Profunctor</a> p</tt>,
--   <tt><a>ProductProfunctor</a> p</tt>, <tt><a>SumProfunctor</a> p</tt>
--   needed to implement the instance <tt><a>Default</a> p a a</tt> for a
--   <a>Generic</a> datatype <tt>a</tt>.
--   
--   <pre>
--   DefaultPConstraints p Foo =
--     ( ProductProfunctor p      -- because Foo has a constructor Bar with many fields
--     , SumProfunctor p          -- because Foo has multiple constructors
--     )
--   </pre>
--   
--   <pre>
--   DefaultConstraints p (a, b) =
--     ( ProductProfunctor p      -- (a, b) has a single constructor with two fields
--     )
--   </pre>
type DefaultPConstraints p a = GDefPCnstr p (Rep a)

-- | <tt><a>DefaultConstraints</a> p a b</tt> forms all of the context
--   needed to implement the instance <tt><a>Default</a> p a b</tt> for
--   <a>Generic</a> types <tt>a</tt> and <tt>b</tt>.
--   
--   This serves to abbreviate the context in instances of <a>Default</a>
--   for parametric types.
type DefaultConstraints p a b = (DefaultPConstraints p a, DefaultFields p a b)

-- | This serves to abbreviate the context in instances of <a>Default</a>
--   for non-parametric types.
type DefaultConstraints' p a = DefaultConstraints p a a

-- | A list of <a>Default</a> constraints.
--   
--   <pre>
--   Defaults '[p a a', p b b', p c c'] =
--     (Default p a a', Default p b b', Default p c c')
--   </pre>
class GDefault p f g where {
    type family GDefCnstr p f g :: Constraint;
}
gdef1 :: GDefault p f g => p (f a) (g a)
gdef :: (Profunctor p, Generic a, Generic b, GDefault p (Rep a) (Rep b)) => p a b
instance Data.Profunctor.Product.Class.ProductProfunctor p => Data.Profunctor.Product.Default.Class.Default p () ()
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1) => Data.Profunctor.Product.Default.Class.Default p (a0, a1) (b0, b1)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2) (b0, b1, b2)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3) (b0, b1, b2, b3)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4) (b0, b1, b2, b3, b4)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5) (b0, b1, b2, b3, b4, b5)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6) (b0, b1, b2, b3, b4, b5, b6)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7) (b0, b1, b2, b3, b4, b5, b6, b7)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8) (b0, b1, b2, b3, b4, b5, b6, b7, b8)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42, Data.Profunctor.Product.Default.Class.Default p a43 b43) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42, Data.Profunctor.Product.Default.Class.Default p a43 b43, Data.Profunctor.Product.Default.Class.Default p a44 b44) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42, Data.Profunctor.Product.Default.Class.Default p a43 b43, Data.Profunctor.Product.Default.Class.Default p a44 b44, Data.Profunctor.Product.Default.Class.Default p a45 b45) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42, Data.Profunctor.Product.Default.Class.Default p a43 b43, Data.Profunctor.Product.Default.Class.Default p a44 b44, Data.Profunctor.Product.Default.Class.Default p a45 b45, Data.Profunctor.Product.Default.Class.Default p a46 b46) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42, Data.Profunctor.Product.Default.Class.Default p a43 b43, Data.Profunctor.Product.Default.Class.Default p a44 b44, Data.Profunctor.Product.Default.Class.Default p a45 b45, Data.Profunctor.Product.Default.Class.Default p a46 b46, Data.Profunctor.Product.Default.Class.Default p a47 b47) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42, Data.Profunctor.Product.Default.Class.Default p a43 b43, Data.Profunctor.Product.Default.Class.Default p a44 b44, Data.Profunctor.Product.Default.Class.Default p a45 b45, Data.Profunctor.Product.Default.Class.Default p a46 b46, Data.Profunctor.Product.Default.Class.Default p a47 b47, Data.Profunctor.Product.Default.Class.Default p a48 b48) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42, Data.Profunctor.Product.Default.Class.Default p a43 b43, Data.Profunctor.Product.Default.Class.Default p a44 b44, Data.Profunctor.Product.Default.Class.Default p a45 b45, Data.Profunctor.Product.Default.Class.Default p a46 b46, Data.Profunctor.Product.Default.Class.Default p a47 b47, Data.Profunctor.Product.Default.Class.Default p a48 b48, Data.Profunctor.Product.Default.Class.Default p a49 b49) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42, Data.Profunctor.Product.Default.Class.Default p a43 b43, Data.Profunctor.Product.Default.Class.Default p a44 b44, Data.Profunctor.Product.Default.Class.Default p a45 b45, Data.Profunctor.Product.Default.Class.Default p a46 b46, Data.Profunctor.Product.Default.Class.Default p a47 b47, Data.Profunctor.Product.Default.Class.Default p a48 b48, Data.Profunctor.Product.Default.Class.Default p a49 b49, Data.Profunctor.Product.Default.Class.Default p a50 b50) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42, Data.Profunctor.Product.Default.Class.Default p a43 b43, Data.Profunctor.Product.Default.Class.Default p a44 b44, Data.Profunctor.Product.Default.Class.Default p a45 b45, Data.Profunctor.Product.Default.Class.Default p a46 b46, Data.Profunctor.Product.Default.Class.Default p a47 b47, Data.Profunctor.Product.Default.Class.Default p a48 b48, Data.Profunctor.Product.Default.Class.Default p a49 b49, Data.Profunctor.Product.Default.Class.Default p a50 b50, Data.Profunctor.Product.Default.Class.Default p a51 b51) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42, Data.Profunctor.Product.Default.Class.Default p a43 b43, Data.Profunctor.Product.Default.Class.Default p a44 b44, Data.Profunctor.Product.Default.Class.Default p a45 b45, Data.Profunctor.Product.Default.Class.Default p a46 b46, Data.Profunctor.Product.Default.Class.Default p a47 b47, Data.Profunctor.Product.Default.Class.Default p a48 b48, Data.Profunctor.Product.Default.Class.Default p a49 b49, Data.Profunctor.Product.Default.Class.Default p a50 b50, Data.Profunctor.Product.Default.Class.Default p a51 b51, Data.Profunctor.Product.Default.Class.Default p a52 b52) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42, Data.Profunctor.Product.Default.Class.Default p a43 b43, Data.Profunctor.Product.Default.Class.Default p a44 b44, Data.Profunctor.Product.Default.Class.Default p a45 b45, Data.Profunctor.Product.Default.Class.Default p a46 b46, Data.Profunctor.Product.Default.Class.Default p a47 b47, Data.Profunctor.Product.Default.Class.Default p a48 b48, Data.Profunctor.Product.Default.Class.Default p a49 b49, Data.Profunctor.Product.Default.Class.Default p a50 b50, Data.Profunctor.Product.Default.Class.Default p a51 b51, Data.Profunctor.Product.Default.Class.Default p a52 b52, Data.Profunctor.Product.Default.Class.Default p a53 b53) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42, Data.Profunctor.Product.Default.Class.Default p a43 b43, Data.Profunctor.Product.Default.Class.Default p a44 b44, Data.Profunctor.Product.Default.Class.Default p a45 b45, Data.Profunctor.Product.Default.Class.Default p a46 b46, Data.Profunctor.Product.Default.Class.Default p a47 b47, Data.Profunctor.Product.Default.Class.Default p a48 b48, Data.Profunctor.Product.Default.Class.Default p a49 b49, Data.Profunctor.Product.Default.Class.Default p a50 b50, Data.Profunctor.Product.Default.Class.Default p a51 b51, Data.Profunctor.Product.Default.Class.Default p a52 b52, Data.Profunctor.Product.Default.Class.Default p a53 b53, Data.Profunctor.Product.Default.Class.Default p a54 b54) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42, Data.Profunctor.Product.Default.Class.Default p a43 b43, Data.Profunctor.Product.Default.Class.Default p a44 b44, Data.Profunctor.Product.Default.Class.Default p a45 b45, Data.Profunctor.Product.Default.Class.Default p a46 b46, Data.Profunctor.Product.Default.Class.Default p a47 b47, Data.Profunctor.Product.Default.Class.Default p a48 b48, Data.Profunctor.Product.Default.Class.Default p a49 b49, Data.Profunctor.Product.Default.Class.Default p a50 b50, Data.Profunctor.Product.Default.Class.Default p a51 b51, Data.Profunctor.Product.Default.Class.Default p a52 b52, Data.Profunctor.Product.Default.Class.Default p a53 b53, Data.Profunctor.Product.Default.Class.Default p a54 b54, Data.Profunctor.Product.Default.Class.Default p a55 b55) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54, b55)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42, Data.Profunctor.Product.Default.Class.Default p a43 b43, Data.Profunctor.Product.Default.Class.Default p a44 b44, Data.Profunctor.Product.Default.Class.Default p a45 b45, Data.Profunctor.Product.Default.Class.Default p a46 b46, Data.Profunctor.Product.Default.Class.Default p a47 b47, Data.Profunctor.Product.Default.Class.Default p a48 b48, Data.Profunctor.Product.Default.Class.Default p a49 b49, Data.Profunctor.Product.Default.Class.Default p a50 b50, Data.Profunctor.Product.Default.Class.Default p a51 b51, Data.Profunctor.Product.Default.Class.Default p a52 b52, Data.Profunctor.Product.Default.Class.Default p a53 b53, Data.Profunctor.Product.Default.Class.Default p a54 b54, Data.Profunctor.Product.Default.Class.Default p a55 b55, Data.Profunctor.Product.Default.Class.Default p a56 b56) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55, a56) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54, b55, b56)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42, Data.Profunctor.Product.Default.Class.Default p a43 b43, Data.Profunctor.Product.Default.Class.Default p a44 b44, Data.Profunctor.Product.Default.Class.Default p a45 b45, Data.Profunctor.Product.Default.Class.Default p a46 b46, Data.Profunctor.Product.Default.Class.Default p a47 b47, Data.Profunctor.Product.Default.Class.Default p a48 b48, Data.Profunctor.Product.Default.Class.Default p a49 b49, Data.Profunctor.Product.Default.Class.Default p a50 b50, Data.Profunctor.Product.Default.Class.Default p a51 b51, Data.Profunctor.Product.Default.Class.Default p a52 b52, Data.Profunctor.Product.Default.Class.Default p a53 b53, Data.Profunctor.Product.Default.Class.Default p a54 b54, Data.Profunctor.Product.Default.Class.Default p a55 b55, Data.Profunctor.Product.Default.Class.Default p a56 b56, Data.Profunctor.Product.Default.Class.Default p a57 b57) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55, a56, a57) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54, b55, b56, b57)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42, Data.Profunctor.Product.Default.Class.Default p a43 b43, Data.Profunctor.Product.Default.Class.Default p a44 b44, Data.Profunctor.Product.Default.Class.Default p a45 b45, Data.Profunctor.Product.Default.Class.Default p a46 b46, Data.Profunctor.Product.Default.Class.Default p a47 b47, Data.Profunctor.Product.Default.Class.Default p a48 b48, Data.Profunctor.Product.Default.Class.Default p a49 b49, Data.Profunctor.Product.Default.Class.Default p a50 b50, Data.Profunctor.Product.Default.Class.Default p a51 b51, Data.Profunctor.Product.Default.Class.Default p a52 b52, Data.Profunctor.Product.Default.Class.Default p a53 b53, Data.Profunctor.Product.Default.Class.Default p a54 b54, Data.Profunctor.Product.Default.Class.Default p a55 b55, Data.Profunctor.Product.Default.Class.Default p a56 b56, Data.Profunctor.Product.Default.Class.Default p a57 b57, Data.Profunctor.Product.Default.Class.Default p a58 b58) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55, a56, a57, a58) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54, b55, b56, b57, b58)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42, Data.Profunctor.Product.Default.Class.Default p a43 b43, Data.Profunctor.Product.Default.Class.Default p a44 b44, Data.Profunctor.Product.Default.Class.Default p a45 b45, Data.Profunctor.Product.Default.Class.Default p a46 b46, Data.Profunctor.Product.Default.Class.Default p a47 b47, Data.Profunctor.Product.Default.Class.Default p a48 b48, Data.Profunctor.Product.Default.Class.Default p a49 b49, Data.Profunctor.Product.Default.Class.Default p a50 b50, Data.Profunctor.Product.Default.Class.Default p a51 b51, Data.Profunctor.Product.Default.Class.Default p a52 b52, Data.Profunctor.Product.Default.Class.Default p a53 b53, Data.Profunctor.Product.Default.Class.Default p a54 b54, Data.Profunctor.Product.Default.Class.Default p a55 b55, Data.Profunctor.Product.Default.Class.Default p a56 b56, Data.Profunctor.Product.Default.Class.Default p a57 b57, Data.Profunctor.Product.Default.Class.Default p a58 b58, Data.Profunctor.Product.Default.Class.Default p a59 b59) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55, a56, a57, a58, a59) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54, b55, b56, b57, b58, b59)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42, Data.Profunctor.Product.Default.Class.Default p a43 b43, Data.Profunctor.Product.Default.Class.Default p a44 b44, Data.Profunctor.Product.Default.Class.Default p a45 b45, Data.Profunctor.Product.Default.Class.Default p a46 b46, Data.Profunctor.Product.Default.Class.Default p a47 b47, Data.Profunctor.Product.Default.Class.Default p a48 b48, Data.Profunctor.Product.Default.Class.Default p a49 b49, Data.Profunctor.Product.Default.Class.Default p a50 b50, Data.Profunctor.Product.Default.Class.Default p a51 b51, Data.Profunctor.Product.Default.Class.Default p a52 b52, Data.Profunctor.Product.Default.Class.Default p a53 b53, Data.Profunctor.Product.Default.Class.Default p a54 b54, Data.Profunctor.Product.Default.Class.Default p a55 b55, Data.Profunctor.Product.Default.Class.Default p a56 b56, Data.Profunctor.Product.Default.Class.Default p a57 b57, Data.Profunctor.Product.Default.Class.Default p a58 b58, Data.Profunctor.Product.Default.Class.Default p a59 b59, Data.Profunctor.Product.Default.Class.Default p a60 b60) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55, a56, a57, a58, a59, a60) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54, b55, b56, b57, b58, b59, b60)
instance (Data.Profunctor.Product.Class.ProductProfunctor p, Data.Profunctor.Product.Default.Class.Default p a0 b0, Data.Profunctor.Product.Default.Class.Default p a1 b1, Data.Profunctor.Product.Default.Class.Default p a2 b2, Data.Profunctor.Product.Default.Class.Default p a3 b3, Data.Profunctor.Product.Default.Class.Default p a4 b4, Data.Profunctor.Product.Default.Class.Default p a5 b5, Data.Profunctor.Product.Default.Class.Default p a6 b6, Data.Profunctor.Product.Default.Class.Default p a7 b7, Data.Profunctor.Product.Default.Class.Default p a8 b8, Data.Profunctor.Product.Default.Class.Default p a9 b9, Data.Profunctor.Product.Default.Class.Default p a10 b10, Data.Profunctor.Product.Default.Class.Default p a11 b11, Data.Profunctor.Product.Default.Class.Default p a12 b12, Data.Profunctor.Product.Default.Class.Default p a13 b13, Data.Profunctor.Product.Default.Class.Default p a14 b14, Data.Profunctor.Product.Default.Class.Default p a15 b15, Data.Profunctor.Product.Default.Class.Default p a16 b16, Data.Profunctor.Product.Default.Class.Default p a17 b17, Data.Profunctor.Product.Default.Class.Default p a18 b18, Data.Profunctor.Product.Default.Class.Default p a19 b19, Data.Profunctor.Product.Default.Class.Default p a20 b20, Data.Profunctor.Product.Default.Class.Default p a21 b21, Data.Profunctor.Product.Default.Class.Default p a22 b22, Data.Profunctor.Product.Default.Class.Default p a23 b23, Data.Profunctor.Product.Default.Class.Default p a24 b24, Data.Profunctor.Product.Default.Class.Default p a25 b25, Data.Profunctor.Product.Default.Class.Default p a26 b26, Data.Profunctor.Product.Default.Class.Default p a27 b27, Data.Profunctor.Product.Default.Class.Default p a28 b28, Data.Profunctor.Product.Default.Class.Default p a29 b29, Data.Profunctor.Product.Default.Class.Default p a30 b30, Data.Profunctor.Product.Default.Class.Default p a31 b31, Data.Profunctor.Product.Default.Class.Default p a32 b32, Data.Profunctor.Product.Default.Class.Default p a33 b33, Data.Profunctor.Product.Default.Class.Default p a34 b34, Data.Profunctor.Product.Default.Class.Default p a35 b35, Data.Profunctor.Product.Default.Class.Default p a36 b36, Data.Profunctor.Product.Default.Class.Default p a37 b37, Data.Profunctor.Product.Default.Class.Default p a38 b38, Data.Profunctor.Product.Default.Class.Default p a39 b39, Data.Profunctor.Product.Default.Class.Default p a40 b40, Data.Profunctor.Product.Default.Class.Default p a41 b41, Data.Profunctor.Product.Default.Class.Default p a42 b42, Data.Profunctor.Product.Default.Class.Default p a43 b43, Data.Profunctor.Product.Default.Class.Default p a44 b44, Data.Profunctor.Product.Default.Class.Default p a45 b45, Data.Profunctor.Product.Default.Class.Default p a46 b46, Data.Profunctor.Product.Default.Class.Default p a47 b47, Data.Profunctor.Product.Default.Class.Default p a48 b48, Data.Profunctor.Product.Default.Class.Default p a49 b49, Data.Profunctor.Product.Default.Class.Default p a50 b50, Data.Profunctor.Product.Default.Class.Default p a51 b51, Data.Profunctor.Product.Default.Class.Default p a52 b52, Data.Profunctor.Product.Default.Class.Default p a53 b53, Data.Profunctor.Product.Default.Class.Default p a54 b54, Data.Profunctor.Product.Default.Class.Default p a55 b55, Data.Profunctor.Product.Default.Class.Default p a56 b56, Data.Profunctor.Product.Default.Class.Default p a57 b57, Data.Profunctor.Product.Default.Class.Default p a58 b58, Data.Profunctor.Product.Default.Class.Default p a59 b59, Data.Profunctor.Product.Default.Class.Default p a60 b60, Data.Profunctor.Product.Default.Class.Default p a61 b61) => Data.Profunctor.Product.Default.Class.Default p (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55, a56, a57, a58, a59, a60, a61) (b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51, b52, b53, b54, b55, b56, b57, b58, b59, b60, b61)
instance (Data.Profunctor.Unsafe.Profunctor p, Data.Profunctor.Product.Default.Class.Default p a b) => Data.Profunctor.Product.Default.Class.Default p (Data.Functor.Identity.Identity a) (Data.Functor.Identity.Identity b)
instance forall k1 k2 (p :: * -> * -> *) a b (c :: k2) (c' :: k1). (Data.Profunctor.Unsafe.Profunctor p, Data.Profunctor.Product.Default.Class.Default p a b) => Data.Profunctor.Product.Default.Class.Default p (Data.Functor.Const.Const a c) (Data.Functor.Const.Const b c')
instance forall k1 k2 (p :: * -> * -> *) a b (s :: k2) (s' :: k1). (Data.Profunctor.Unsafe.Profunctor p, Data.Profunctor.Product.Default.Class.Default p a b) => Data.Profunctor.Product.Default.Class.Default p (Data.Tagged.Tagged s a) (Data.Tagged.Tagged s' b)

module Data.Profunctor.Product.Internal.TH
makeAdaptorAndInstanceI :: Maybe String -> Name -> Q [Dec]
type Error = String
makeAdaptorAndInstanceE :: Maybe String -> Info -> Either Error (Q [Dec])
newtypeInstance :: Name -> Name -> Q [Dec]
data ConTysFields

-- | ^ The type of each constructor field
ConTys :: [Name] -> ConTysFields

-- | ^ The fieldname and type of each constructor field
FieldTys :: [(Name, Name)] -> ConTysFields
lengthCons :: ConTysFields -> Int
data DataDecStuff
DataDecStuff :: Name -> [Name] -> Name -> ConTysFields -> DataDecStuff
[dTyName] :: DataDecStuff -> Name
[dTyVars] :: DataDecStuff -> [Name]
[dConName] :: DataDecStuff -> Name
[dConTys] :: DataDecStuff -> ConTysFields
dataDecStuffOfInfo :: Info -> Either Error DataDecStuff
varNameOfType :: Type -> Either Error Name
varNameOfBinder :: TyVarBndr -> Name
conStuffOfConstructor :: Con -> Either Error (Name, ConTysFields)
constructorOfConstructors :: [Con] -> Either Error Con
extractConstructorStuff :: [Con] -> Either Error (Name, ConTysFields)
instanceDefinition :: Name -> Int -> Int -> Name -> Name -> Q Dec
adaptorSig :: Name -> Int -> Name -> Q Dec
tupleAdaptors :: Int -> Name
adaptorDefinition :: Int -> Name -> Name -> Dec
adaptorDefinitionFields :: Name -> [(Name, name)] -> Name -> Dec
xTuple :: ([Pat] -> Pat) -> ([Exp] -> Exp) -> (Name, Int) -> Dec
fromTuple :: Name -> (Name, Int) -> Dec
toTuple :: Name -> (Name, Int) -> Dec
pArg' :: Name -> String -> Int -> Type
allTyVars :: Int -> [String]
o :: Exp -> Exp -> Exp
varS :: String -> Exp
varPS :: String -> Pat
mkTyVarsuffix :: String -> String -> TyVarBndr
mkTySuffix :: String -> String -> Type
mkVarTsuffix :: String -> String -> Type
varTS :: String -> Type
appTAll :: Type -> [Type] -> Type
appEAll :: Exp -> [Exp] -> Exp
appArrow :: Type -> Type -> Type
simpleClause :: Body -> Clause


-- | If you have a data declaration which is a polymorphic product, for
--   example
--   
--   <pre>
--   data Foo a b c = Foo a b c
--   </pre>
--   
--   or
--   
--   <pre>
--   data Foo a b c = Foo { foo :: a, bar :: b, baz :: c }
--   </pre>
--   
--   then you can use Template Haskell to automatically derive the
--   product-profunctor <tt>Default</tt> instances and product-profunctor
--   "adaptor" with the following splice:
--   
--   <pre>
--   $(makeAdaptorAndInstance "pFoo" ''Foo)
--   </pre>
--   
--   The adaptor for a type <tt>Foo</tt> is by convention called
--   <tt>pFoo</tt>, but in practice you can call it anything. If you don't
--   care to specify the name <tt>pFoo</tt> yourself you can use
--   
--   <pre>
--   $(makeAdaptorAndInstance' ''Foo)
--   </pre>
--   
--   and it will be named <tt>pFoo</tt> automatically.
--   
--   <tt>pFoo</tt> will have the type
--   
--   <pre>
--   pFoo :: ProductProfunctor p
--        =&gt; Foo (p a a') (p b b') (p c c')
--        -&gt; p (Foo a b c) (Foo a' b' c')
--   </pre>
--   
--   and the instance generated will be
--   
--   <pre>
--   instance (ProductProfunctor p, Default p a a', Default p b b', Default p c c')
--         =&gt; Default p (Foo a b c) (Foo a' b' c')
--   </pre>
--   
--   If you are confused about the meaning of <tt>pFoo</tt> it may help to
--   consider the corresponding function that works with
--   <tt>Applicative</tt>s (its implementation is given below).
--   
--   <pre>
--   pFooApplicative :: Applicative f
--                   =&gt; Foo (f a) (f b) (f c)
--                   -&gt; f (Foo a b c)
--   </pre>
--   
--   The product-profunctor "adaptor" (in this case <tt>pFoo</tt>) is a
--   generalization of <tt>Data.Traversable.sequence</tt> in two different
--   ways. Firstly it works on datatypes with multiple type parameters.
--   Secondly it works on <tt>ProductProfunctor</tt>s, which are themselves
--   a generalization of <a>Applicative</a>s.
--   
--   If your type has only one field, for example
--   
--   <pre>
--   data Foo a = Foo a
--   </pre>
--   
--   or
--   
--   <pre>
--   newtype Foo a = Foo a
--   </pre>
--   
--   then you will also get the instance
--   
--   <pre>
--   instance <a>Newtype</a> Foo where
--     <a>constructor</a> = Foo
--     <a>field</a>       = \(Foo x) -&gt; x
--   </pre>
--   
--   which allows you to use the polymorphic function <a>pNewtype</a>
--   instead of <tt>pFoo</tt>.
--   
--   If you prefer not to use Template Haskell then the generated code can
--   be written by hand because it is quite simple. It corresponds very
--   closely to what we would do in the more familiar <tt>Applicative</tt>
--   case. For an <tt>Applicative</tt> we would write
--   
--   <pre>
--   pFooApplicative :: Applicative f
--                   =&gt; Foo (f a) (f b) (f c) -&gt; f (Foo a b c)
--   pFooApplicative f = Foo &lt;$&gt; foo f
--                           &lt;*&gt; bar f
--                           &lt;*&gt; baz f
--   </pre>
--   
--   whereas for a <tt>ProductProfunctor</tt> we write
--   
--   <pre>
--   import Data.Profunctor (lmap)
--   import Data.Profunctor.Product ((***$), (****))
--   
--   pFoo :: ProductProfunctor p
--        =&gt; Foo (p a a') (p b b') (p c c') -&gt; p (Foo a b c) (Foo a' b' c')
--   pFoo f = Foo ***$ lmap foo (foo f)
--                **** lmap bar (bar f)
--                **** lmap baz (baz f)
--   </pre>
--   
--   The <tt>Default</tt> instance is then very simple.
--   
--   <pre>
--   instance (ProductProfunctor p, Default p a a', Default p b b', Default p c c')
--         =&gt; Default p (Foo a b c) (Foo a' b' c') where
--       def = pFoo (Foo def def def)
--   </pre>
module Data.Profunctor.Product.TH

-- | For example
--   
--   <pre>
--   $(makeAdaptorAndInstance "pFoo" ''Foo)
--   </pre>
--   
--   generates the <tt>Default</tt> instance and the adaptor <tt>pFoo</tt>.
makeAdaptorAndInstance :: String -> Name -> Q [Dec]

-- | For example
--   
--   <pre>
--   $(makeAdaptorAndInstance' ''Foo)
--   </pre>
--   
--   generates the <tt>Default</tt> instance and the adaptor <tt>pFoo</tt>.
--   The name of the adaptor is chosen by prefixing the type name "Foo"
--   with the string "p".
makeAdaptorAndInstance' :: Name -> Q [Dec]
