cats.SemigroupalArityFunctions.scala Maven / Gradle / Ivy
The newest version!
// auto-generated boilerplate by /project/Boilerplate.scala
package cats
/**
* @groupprio Ungrouped 0
*
* @groupname MapArity map arity
* @groupdesc MapArity Higher-arity map methods
* @groupprio MapArity 999
*
* @groupname ContramapArity contramap arity
* @groupdesc ContramapArity Higher-arity contramap methods
* @groupprio ContramapArity 999
*
* @groupname ImapArity imap arity
* @groupdesc ImapArity Higher-arity imap methods
* @groupprio ImapArity 999
*
* @groupname TupleArity tuple arity
* @groupdesc TupleArity Higher-arity tuple methods
* @groupprio TupleArity 999
*
* @groupname TraverseArity traverse arity
* @groupdesc TraverseArity Higher-arity traverse methods
* @groupprio TraverseArity 999
*/
trait SemigroupalArityFunctions {
/** @group MapArity */
def map2[F[_], A0, A1, Z](f0:F[A0], f1:F[A1])(f: (A0, A1) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, f1)) { case (a0, a1) => f(a0, a1) }
/** @group ContramapArity */
def contramap2[F[_], A0, A1, Z](f0:F[A0], f1:F[A1])(f: Z => (A0, A1))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, f1)) { z => val (a0, a1) = f(z); (a0, a1) }
/** @group ImapArity */
def imap2[F[_], A0, A1, Z](f0:F[A0], f1:F[A1])(f: (A0, A1) => Z)(g: Z => (A0, A1))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, f1)) { case (a0, a1) => f(a0, a1) } { z => val (a0, a1) = g(z); (a0, a1) }
/** @group TupleArity */
def tuple2[F[_], A0, A1](f0:F[A0], f1:F[A1])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1)] =
imap2(f0, f1)((_, _))(identity)
/** @group TraverseArity */
def traverse2[F[_], G[_], A0, A1, Z](f0:F[A0], f1:F[A1])(f: (A0, A1) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, f1)) { case (a0, a1) => f(a0, a1) }
/** @group MapArity */
def map3[F[_], A0, A1, A2, Z](f0:F[A0], f1:F[A1], f2:F[A2])(f: (A0, A1, A2) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, f2))) { case (a0, (a1, a2)) => f(a0, a1, a2) }
/** @group ContramapArity */
def contramap3[F[_], A0, A1, A2, Z](f0:F[A0], f1:F[A1], f2:F[A2])(f: Z => (A0, A1, A2))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, f2))) { z => val (a0, a1, a2) = f(z); (a0, (a1, a2)) }
/** @group ImapArity */
def imap3[F[_], A0, A1, A2, Z](f0:F[A0], f1:F[A1], f2:F[A2])(f: (A0, A1, A2) => Z)(g: Z => (A0, A1, A2))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, f2))) { case (a0, (a1, a2)) => f(a0, a1, a2) } { z => val (a0, a1, a2) = g(z); (a0, (a1, a2)) }
/** @group TupleArity */
def tuple3[F[_], A0, A1, A2](f0:F[A0], f1:F[A1], f2:F[A2])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2)] =
imap3(f0, f1, f2)((_, _, _))(identity)
/** @group TraverseArity */
def traverse3[F[_], G[_], A0, A1, A2, Z](f0:F[A0], f1:F[A1], f2:F[A2])(f: (A0, A1, A2) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, f2))) { case (a0, (a1, a2)) => f(a0, a1, a2) }
/** @group MapArity */
def map4[F[_], A0, A1, A2, A3, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3])(f: (A0, A1, A2, A3) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, f3)))) { case (a0, (a1, (a2, a3))) => f(a0, a1, a2, a3) }
/** @group ContramapArity */
def contramap4[F[_], A0, A1, A2, A3, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3])(f: Z => (A0, A1, A2, A3))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, f3)))) { z => val (a0, a1, a2, a3) = f(z); (a0, (a1, (a2, a3))) }
/** @group ImapArity */
def imap4[F[_], A0, A1, A2, A3, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3])(f: (A0, A1, A2, A3) => Z)(g: Z => (A0, A1, A2, A3))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, f3)))) { case (a0, (a1, (a2, a3))) => f(a0, a1, a2, a3) } { z => val (a0, a1, a2, a3) = g(z); (a0, (a1, (a2, a3))) }
/** @group TupleArity */
def tuple4[F[_], A0, A1, A2, A3](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2, A3)] =
imap4(f0, f1, f2, f3)((_, _, _, _))(identity)
/** @group TraverseArity */
def traverse4[F[_], G[_], A0, A1, A2, A3, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3])(f: (A0, A1, A2, A3) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, f3)))) { case (a0, (a1, (a2, a3))) => f(a0, a1, a2, a3) }
/** @group MapArity */
def map5[F[_], A0, A1, A2, A3, A4, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4])(f: (A0, A1, A2, A3, A4) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, f4))))) { case (a0, (a1, (a2, (a3, a4)))) => f(a0, a1, a2, a3, a4) }
/** @group ContramapArity */
def contramap5[F[_], A0, A1, A2, A3, A4, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4])(f: Z => (A0, A1, A2, A3, A4))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, f4))))) { z => val (a0, a1, a2, a3, a4) = f(z); (a0, (a1, (a2, (a3, a4)))) }
/** @group ImapArity */
def imap5[F[_], A0, A1, A2, A3, A4, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4])(f: (A0, A1, A2, A3, A4) => Z)(g: Z => (A0, A1, A2, A3, A4))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, f4))))) { case (a0, (a1, (a2, (a3, a4)))) => f(a0, a1, a2, a3, a4) } { z => val (a0, a1, a2, a3, a4) = g(z); (a0, (a1, (a2, (a3, a4)))) }
/** @group TupleArity */
def tuple5[F[_], A0, A1, A2, A3, A4](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2, A3, A4)] =
imap5(f0, f1, f2, f3, f4)((_, _, _, _, _))(identity)
/** @group TraverseArity */
def traverse5[F[_], G[_], A0, A1, A2, A3, A4, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4])(f: (A0, A1, A2, A3, A4) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, f4))))) { case (a0, (a1, (a2, (a3, a4)))) => f(a0, a1, a2, a3, a4) }
/** @group MapArity */
def map6[F[_], A0, A1, A2, A3, A4, A5, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5])(f: (A0, A1, A2, A3, A4, A5) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, f5)))))) { case (a0, (a1, (a2, (a3, (a4, a5))))) => f(a0, a1, a2, a3, a4, a5) }
/** @group ContramapArity */
def contramap6[F[_], A0, A1, A2, A3, A4, A5, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5])(f: Z => (A0, A1, A2, A3, A4, A5))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, f5)))))) { z => val (a0, a1, a2, a3, a4, a5) = f(z); (a0, (a1, (a2, (a3, (a4, a5))))) }
/** @group ImapArity */
def imap6[F[_], A0, A1, A2, A3, A4, A5, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5])(f: (A0, A1, A2, A3, A4, A5) => Z)(g: Z => (A0, A1, A2, A3, A4, A5))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, f5)))))) { case (a0, (a1, (a2, (a3, (a4, a5))))) => f(a0, a1, a2, a3, a4, a5) } { z => val (a0, a1, a2, a3, a4, a5) = g(z); (a0, (a1, (a2, (a3, (a4, a5))))) }
/** @group TupleArity */
def tuple6[F[_], A0, A1, A2, A3, A4, A5](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2, A3, A4, A5)] =
imap6(f0, f1, f2, f3, f4, f5)((_, _, _, _, _, _))(identity)
/** @group TraverseArity */
def traverse6[F[_], G[_], A0, A1, A2, A3, A4, A5, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5])(f: (A0, A1, A2, A3, A4, A5) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, f5)))))) { case (a0, (a1, (a2, (a3, (a4, a5))))) => f(a0, a1, a2, a3, a4, a5) }
/** @group MapArity */
def map7[F[_], A0, A1, A2, A3, A4, A5, A6, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6])(f: (A0, A1, A2, A3, A4, A5, A6) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, f6))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, a6)))))) => f(a0, a1, a2, a3, a4, a5, a6) }
/** @group ContramapArity */
def contramap7[F[_], A0, A1, A2, A3, A4, A5, A6, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6])(f: Z => (A0, A1, A2, A3, A4, A5, A6))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, f6))))))) { z => val (a0, a1, a2, a3, a4, a5, a6) = f(z); (a0, (a1, (a2, (a3, (a4, (a5, a6)))))) }
/** @group ImapArity */
def imap7[F[_], A0, A1, A2, A3, A4, A5, A6, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6])(f: (A0, A1, A2, A3, A4, A5, A6) => Z)(g: Z => (A0, A1, A2, A3, A4, A5, A6))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, f6))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, a6)))))) => f(a0, a1, a2, a3, a4, a5, a6) } { z => val (a0, a1, a2, a3, a4, a5, a6) = g(z); (a0, (a1, (a2, (a3, (a4, (a5, a6)))))) }
/** @group TupleArity */
def tuple7[F[_], A0, A1, A2, A3, A4, A5, A6](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2, A3, A4, A5, A6)] =
imap7(f0, f1, f2, f3, f4, f5, f6)((_, _, _, _, _, _, _))(identity)
/** @group TraverseArity */
def traverse7[F[_], G[_], A0, A1, A2, A3, A4, A5, A6, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6])(f: (A0, A1, A2, A3, A4, A5, A6) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, f6))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, a6)))))) => f(a0, a1, a2, a3, a4, a5, a6) }
/** @group MapArity */
def map8[F[_], A0, A1, A2, A3, A4, A5, A6, A7, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7])(f: (A0, A1, A2, A3, A4, A5, A6, A7) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, f7)))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, a7))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7) }
/** @group ContramapArity */
def contramap8[F[_], A0, A1, A2, A3, A4, A5, A6, A7, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7])(f: Z => (A0, A1, A2, A3, A4, A5, A6, A7))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, f7)))))))) { z => val (a0, a1, a2, a3, a4, a5, a6, a7) = f(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, a7))))))) }
/** @group ImapArity */
def imap8[F[_], A0, A1, A2, A3, A4, A5, A6, A7, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7])(f: (A0, A1, A2, A3, A4, A5, A6, A7) => Z)(g: Z => (A0, A1, A2, A3, A4, A5, A6, A7))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, f7)))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, a7))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7) } { z => val (a0, a1, a2, a3, a4, a5, a6, a7) = g(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, a7))))))) }
/** @group TupleArity */
def tuple8[F[_], A0, A1, A2, A3, A4, A5, A6, A7](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2, A3, A4, A5, A6, A7)] =
imap8(f0, f1, f2, f3, f4, f5, f6, f7)((_, _, _, _, _, _, _, _))(identity)
/** @group TraverseArity */
def traverse8[F[_], G[_], A0, A1, A2, A3, A4, A5, A6, A7, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7])(f: (A0, A1, A2, A3, A4, A5, A6, A7) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, f7)))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, a7))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7) }
/** @group MapArity */
def map9[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, f8))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, a8)))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8) }
/** @group ContramapArity */
def contramap9[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8])(f: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, f8))))))))) { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8) = f(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, a8)))))))) }
/** @group ImapArity */
def imap9[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8) => Z)(g: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, f8))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, a8)))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8) } { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8) = g(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, a8)))))))) }
/** @group TupleArity */
def tuple9[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2, A3, A4, A5, A6, A7, A8)] =
imap9(f0, f1, f2, f3, f4, f5, f6, f7, f8)((_, _, _, _, _, _, _, _, _))(identity)
/** @group TraverseArity */
def traverse9[F[_], G[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, f8))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, a8)))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8) }
/** @group MapArity */
def map10[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, f9)))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, a9))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) }
/** @group ContramapArity */
def contramap10[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9])(f: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, f9)))))))))) { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) = f(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, a9))))))))) }
/** @group ImapArity */
def imap10[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9) => Z)(g: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, f9)))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, a9))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) } { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) = g(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, a9))))))))) }
/** @group TupleArity */
def tuple10[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9)] =
imap10(f0, f1, f2, f3, f4, f5, f6, f7, f8, f9)((_, _, _, _, _, _, _, _, _, _))(identity)
/** @group TraverseArity */
def traverse10[F[_], G[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, f9)))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, a9))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) }
/** @group MapArity */
def map11[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, f10))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, a10)))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) }
/** @group ContramapArity */
def contramap11[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10])(f: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, f10))))))))))) { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) = f(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, a10)))))))))) }
/** @group ImapArity */
def imap11[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) => Z)(g: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, f10))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, a10)))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) } { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) = g(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, a10)))))))))) }
/** @group TupleArity */
def tuple11[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10)] =
imap11(f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10)((_, _, _, _, _, _, _, _, _, _, _))(identity)
/** @group TraverseArity */
def traverse11[F[_], G[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, f10))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, a10)))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) }
/** @group MapArity */
def map12[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, f11)))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, a11))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) }
/** @group ContramapArity */
def contramap12[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11])(f: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, f11)))))))))))) { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) = f(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, a11))))))))))) }
/** @group ImapArity */
def imap12[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) => Z)(g: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, f11)))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, a11))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) } { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) = g(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, a11))))))))))) }
/** @group TupleArity */
def tuple12[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11)] =
imap12(f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11)((_, _, _, _, _, _, _, _, _, _, _, _))(identity)
/** @group TraverseArity */
def traverse12[F[_], G[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, f11)))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, a11))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) }
/** @group MapArity */
def map13[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, f12))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, a12)))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) }
/** @group ContramapArity */
def contramap13[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12])(f: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, f12))))))))))))) { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) = f(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, a12)))))))))))) }
/** @group ImapArity */
def imap13[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12) => Z)(g: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, f12))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, a12)))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) } { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) = g(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, a12)))))))))))) }
/** @group TupleArity */
def tuple13[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)] =
imap13(f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12)((_, _, _, _, _, _, _, _, _, _, _, _, _))(identity)
/** @group TraverseArity */
def traverse13[F[_], G[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, f12))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, a12)))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) }
/** @group MapArity */
def map14[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, f13)))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, a13))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) }
/** @group ContramapArity */
def contramap14[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13])(f: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, f13)))))))))))))) { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) = f(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, a13))))))))))))) }
/** @group ImapArity */
def imap14[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13) => Z)(g: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, f13)))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, a13))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) } { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) = g(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, a13))))))))))))) }
/** @group TupleArity */
def tuple14[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13)] =
imap14(f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13)((_, _, _, _, _, _, _, _, _, _, _, _, _, _))(identity)
/** @group TraverseArity */
def traverse14[F[_], G[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, f13)))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, a13))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) }
/** @group MapArity */
def map15[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, f14))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, a14)))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) }
/** @group ContramapArity */
def contramap15[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14])(f: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, f14))))))))))))))) { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) = f(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, a14)))))))))))))) }
/** @group ImapArity */
def imap15[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14) => Z)(g: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, f14))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, a14)))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) } { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) = g(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, a14)))))))))))))) }
/** @group TupleArity */
def tuple15[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14)] =
imap15(f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14)((_, _, _, _, _, _, _, _, _, _, _, _, _, _, _))(identity)
/** @group TraverseArity */
def traverse15[F[_], G[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, f14))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, a14)))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) }
/** @group MapArity */
def map16[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, f15)))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, a15))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) }
/** @group ContramapArity */
def contramap16[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15])(f: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, f15)))))))))))))))) { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) = f(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, a15))))))))))))))) }
/** @group ImapArity */
def imap16[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15) => Z)(g: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, f15)))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, a15))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) } { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) = g(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, a15))))))))))))))) }
/** @group TupleArity */
def tuple16[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15)] =
imap16(f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15)((_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _))(identity)
/** @group TraverseArity */
def traverse16[F[_], G[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, f15)))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, a15))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) }
/** @group MapArity */
def map17[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, f16))))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, a16)))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) }
/** @group ContramapArity */
def contramap17[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16])(f: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, f16))))))))))))))))) { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) = f(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, a16)))))))))))))))) }
/** @group ImapArity */
def imap17[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16) => Z)(g: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, f16))))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, a16)))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) } { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) = g(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, a16)))))))))))))))) }
/** @group TupleArity */
def tuple17[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16)] =
imap17(f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16)((_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _))(identity)
/** @group TraverseArity */
def traverse17[F[_], G[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, f16))))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, a16)))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16) }
/** @group MapArity */
def map18[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, f17)))))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, a17))))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) }
/** @group ContramapArity */
def contramap18[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17])(f: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, f17)))))))))))))))))) { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) = f(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, a17))))))))))))))))) }
/** @group ImapArity */
def imap18[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17) => Z)(g: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, f17)))))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, a17))))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) } { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) = g(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, a17))))))))))))))))) }
/** @group TupleArity */
def tuple18[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17)] =
imap18(f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17)((_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _))(identity)
/** @group TraverseArity */
def traverse18[F[_], G[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, f17)))))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, a17))))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) }
/** @group MapArity */
def map19[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, semigroupal.product(f17, f18))))))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, a18)))))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) }
/** @group ContramapArity */
def contramap19[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18])(f: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, semigroupal.product(f17, f18))))))))))))))))))) { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) = f(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, a18)))))))))))))))))) }
/** @group ImapArity */
def imap19[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18) => Z)(g: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, semigroupal.product(f17, f18))))))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, a18)))))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) } { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) = g(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, a18)))))))))))))))))) }
/** @group TupleArity */
def tuple19[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18)] =
imap19(f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18)((_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _))(identity)
/** @group TraverseArity */
def traverse19[F[_], G[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, semigroupal.product(f17, f18))))))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, a18)))))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18) }
/** @group MapArity */
def map20[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18], f19:F[A19])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, semigroupal.product(f17, semigroupal.product(f18, f19)))))))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, a19))))))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) }
/** @group ContramapArity */
def contramap20[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18], f19:F[A19])(f: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, semigroupal.product(f17, semigroupal.product(f18, f19)))))))))))))))))))) { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) = f(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, a19))))))))))))))))))) }
/** @group ImapArity */
def imap20[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18], f19:F[A19])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19) => Z)(g: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, semigroupal.product(f17, semigroupal.product(f18, f19)))))))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, a19))))))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) } { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) = g(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, a19))))))))))))))))))) }
/** @group TupleArity */
def tuple20[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18], f19:F[A19])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19)] =
imap20(f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19)((_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _))(identity)
/** @group TraverseArity */
def traverse20[F[_], G[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18], f19:F[A19])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, semigroupal.product(f17, semigroupal.product(f18, f19)))))))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, a19))))))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19) }
/** @group MapArity */
def map21[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18], f19:F[A19], f20:F[A20])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, semigroupal.product(f17, semigroupal.product(f18, semigroupal.product(f19, f20))))))))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, (a19, a20)))))))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) }
/** @group ContramapArity */
def contramap21[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18], f19:F[A19], f20:F[A20])(f: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, semigroupal.product(f17, semigroupal.product(f18, semigroupal.product(f19, f20))))))))))))))))))))) { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) = f(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, (a19, a20)))))))))))))))))))) }
/** @group ImapArity */
def imap21[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18], f19:F[A19], f20:F[A20])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20) => Z)(g: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, semigroupal.product(f17, semigroupal.product(f18, semigroupal.product(f19, f20))))))))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, (a19, a20)))))))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) } { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) = g(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, (a19, a20)))))))))))))))))))) }
/** @group TupleArity */
def tuple21[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18], f19:F[A19], f20:F[A20])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20)] =
imap21(f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20)((_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _))(identity)
/** @group TraverseArity */
def traverse21[F[_], G[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18], f19:F[A19], f20:F[A20])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, semigroupal.product(f17, semigroupal.product(f18, semigroupal.product(f19, f20))))))))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, (a19, a20)))))))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) }
/** @group MapArity */
def map22[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18], f19:F[A19], f20:F[A20], f21:F[A21])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21) => Z)(implicit semigroupal: Semigroupal[F], functor: Functor[F]): F[Z] =
functor.map(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, semigroupal.product(f17, semigroupal.product(f18, semigroupal.product(f19, semigroupal.product(f20, f21)))))))))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, (a19, (a20, a21))))))))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) }
/** @group ContramapArity */
def contramap22[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18], f19:F[A19], f20:F[A20], f21:F[A21])(f: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21))(implicit semigroupal: Semigroupal[F], contravariant: Contravariant[F]):F[Z] =
contravariant.contramap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, semigroupal.product(f17, semigroupal.product(f18, semigroupal.product(f19, semigroupal.product(f20, f21)))))))))))))))))))))) { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) = f(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, (a19, (a20, a21))))))))))))))))))))) }
/** @group ImapArity */
def imap22[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18], f19:F[A19], f20:F[A20], f21:F[A21])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21) => Z)(g: Z => (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21))(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[Z] =
invariant.imap(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, semigroupal.product(f17, semigroupal.product(f18, semigroupal.product(f19, semigroupal.product(f20, f21)))))))))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, (a19, (a20, a21))))))))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) } { z => val (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) = g(z); (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, (a19, (a20, a21))))))))))))))))))))) }
/** @group TupleArity */
def tuple22[F[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18], f19:F[A19], f20:F[A20], f21:F[A21])(implicit semigroupal: Semigroupal[F], invariant: Invariant[F]):F[(A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21)] =
imap22(f0, f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f20, f21)((_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _))(identity)
/** @group TraverseArity */
def traverse22[F[_], G[_], A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21, Z](f0:F[A0], f1:F[A1], f2:F[A2], f3:F[A3], f4:F[A4], f5:F[A5], f6:F[A6], f7:F[A7], f8:F[A8], f9:F[A9], f10:F[A10], f11:F[A11], f12:F[A12], f13:F[A13], f14:F[A14], f15:F[A15], f16:F[A16], f17:F[A17], f18:F[A18], f19:F[A19], f20:F[A20], f21:F[A21])(f: (A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21) => G[Z])(implicit semigroupal: Semigroupal[F], traverse: Traverse[F], applicative: Applicative[G]): G[F[Z]] =
traverse.traverse(semigroupal.product(f0, semigroupal.product(f1, semigroupal.product(f2, semigroupal.product(f3, semigroupal.product(f4, semigroupal.product(f5, semigroupal.product(f6, semigroupal.product(f7, semigroupal.product(f8, semigroupal.product(f9, semigroupal.product(f10, semigroupal.product(f11, semigroupal.product(f12, semigroupal.product(f13, semigroupal.product(f14, semigroupal.product(f15, semigroupal.product(f16, semigroupal.product(f17, semigroupal.product(f18, semigroupal.product(f19, semigroupal.product(f20, f21)))))))))))))))))))))) { case (a0, (a1, (a2, (a3, (a4, (a5, (a6, (a7, (a8, (a9, (a10, (a11, (a12, (a13, (a14, (a15, (a16, (a17, (a18, (a19, (a20, a21))))))))))))))))))))) => f(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21) }
}