// @generated by gentuples.ts package moe.nea.pcj; @SuppressWarnings("unused") public interface Tuple { class Tuple0 implements Tuple { public R applyTo(Func0 func) { return func.apply(); } public static Result collect(Tuple0 tuple) { return Result.ok(new Tuple0()) ; } public Tuple0 map() { return new Tuple0(); } public Tuple0 join(Tuple0 other) { return new Tuple0(); } public Tuple1 join(Tuple1 other) { return new Tuple1<>(other.element0); } public Tuple2 join(Tuple2 other) { return new Tuple2<>(other.element0, other.element1); } public Tuple3 join(Tuple3 other) { return new Tuple3<>(other.element0, other.element1, other.element2); } public Tuple4 join(Tuple4 other) { return new Tuple4<>(other.element0, other.element1, other.element2, other.element3); } public Tuple5 join(Tuple5 other) { return new Tuple5<>(other.element0, other.element1, other.element2, other.element3, other.element4); } public Tuple6 join(Tuple6 other) { return new Tuple6<>(other.element0, other.element1, other.element2, other.element3, other.element4, other.element5); } public Tuple7 join(Tuple7 other) { return new Tuple7<>(other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6); } public Tuple8 join(Tuple8 other) { return new Tuple8<>(other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7); } public Tuple9 join(Tuple9 other) { return new Tuple9<>(other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8); } public Tuple10 join(Tuple10 other) { return new Tuple10<>(other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8, other.element9); } public Tuple11 join(Tuple11 other) { return new Tuple11<>(other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8, other.element9, other.element10); } public Tuple12 join(Tuple12 other) { return new Tuple12<>(other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8, other.element9, other.element10, other.element11); } public Tuple13 join(Tuple13 other) { return new Tuple13<>(other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8, other.element9, other.element10, other.element11, other.element12); } public Tuple14 join(Tuple14 other) { return new Tuple14<>(other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8, other.element9, other.element10, other.element11, other.element12, other.element13); } } @FunctionalInterface interface Func0 { R apply(); } record Tuple1(T0 element0) { public R applyTo(Func1 func) { return func.apply(this.element0); } public static Result, R> collect(Tuple1> tuple) { return tuple.element0.flatMap(element0 -> Result.ok(new Tuple1<>(element0)) ) ; } public Tuple1 map(Func1 map0) { return new Tuple1<>(map0.apply(this.element0)); } public Tuple1 join(Tuple0 other) { return new Tuple1<>(this.element0); } public Tuple2 join(Tuple1 other) { return new Tuple2<>(this.element0, other.element0); } public Tuple3 join(Tuple2 other) { return new Tuple3<>(this.element0, other.element0, other.element1); } public Tuple4 join(Tuple3 other) { return new Tuple4<>(this.element0, other.element0, other.element1, other.element2); } public Tuple5 join(Tuple4 other) { return new Tuple5<>(this.element0, other.element0, other.element1, other.element2, other.element3); } public Tuple6 join(Tuple5 other) { return new Tuple6<>(this.element0, other.element0, other.element1, other.element2, other.element3, other.element4); } public Tuple7 join(Tuple6 other) { return new Tuple7<>(this.element0, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5); } public Tuple8 join(Tuple7 other) { return new Tuple8<>(this.element0, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6); } public Tuple9 join(Tuple8 other) { return new Tuple9<>(this.element0, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7); } public Tuple10 join(Tuple9 other) { return new Tuple10<>(this.element0, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8); } public Tuple11 join(Tuple10 other) { return new Tuple11<>(this.element0, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8, other.element9); } public Tuple12 join(Tuple11 other) { return new Tuple12<>(this.element0, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8, other.element9, other.element10); } public Tuple13 join(Tuple12 other) { return new Tuple13<>(this.element0, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8, other.element9, other.element10, other.element11); } public Tuple14 join(Tuple13 other) { return new Tuple14<>(this.element0, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8, other.element9, other.element10, other.element11, other.element12); } } @FunctionalInterface interface Func1 { R apply(T0 arg0); } record Tuple2(T0 element0, T1 element1) { public R applyTo(Func2 func) { return func.apply(this.element0, this.element1); } public static Result, R> collect(Tuple2, Result> tuple) { return tuple.element0.flatMap(element0 -> tuple.element1.flatMap(element1 -> Result.ok(new Tuple2<>(element0, element1)) ) ) ; } public Tuple2 map(Func1 map0, Func1 map1) { return new Tuple2<>(map0.apply(this.element0), map1.apply(this.element1)); } public Tuple2 join(Tuple0 other) { return new Tuple2<>(this.element0, this.element1); } public Tuple3 join(Tuple1 other) { return new Tuple3<>(this.element0, this.element1, other.element0); } public Tuple4 join(Tuple2 other) { return new Tuple4<>(this.element0, this.element1, other.element0, other.element1); } public Tuple5 join(Tuple3 other) { return new Tuple5<>(this.element0, this.element1, other.element0, other.element1, other.element2); } public Tuple6 join(Tuple4 other) { return new Tuple6<>(this.element0, this.element1, other.element0, other.element1, other.element2, other.element3); } public Tuple7 join(Tuple5 other) { return new Tuple7<>(this.element0, this.element1, other.element0, other.element1, other.element2, other.element3, other.element4); } public Tuple8 join(Tuple6 other) { return new Tuple8<>(this.element0, this.element1, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5); } public Tuple9 join(Tuple7 other) { return new Tuple9<>(this.element0, this.element1, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6); } public Tuple10 join(Tuple8 other) { return new Tuple10<>(this.element0, this.element1, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7); } public Tuple11 join(Tuple9 other) { return new Tuple11<>(this.element0, this.element1, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8); } public Tuple12 join(Tuple10 other) { return new Tuple12<>(this.element0, this.element1, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8, other.element9); } public Tuple13 join(Tuple11 other) { return new Tuple13<>(this.element0, this.element1, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8, other.element9, other.element10); } public Tuple14 join(Tuple12 other) { return new Tuple14<>(this.element0, this.element1, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8, other.element9, other.element10, other.element11); } } @FunctionalInterface interface Func2 { R apply(T0 arg0, T1 arg1); } record Tuple3(T0 element0, T1 element1, T2 element2) { public R applyTo(Func3 func) { return func.apply(this.element0, this.element1, this.element2); } public static Result, R> collect(Tuple3, Result, Result> tuple) { return tuple.element0.flatMap(element0 -> tuple.element1.flatMap(element1 -> tuple.element2.flatMap(element2 -> Result.ok(new Tuple3<>(element0, element1, element2)) ) ) ) ; } public Tuple3 map(Func1 map0, Func1 map1, Func1 map2) { return new Tuple3<>(map0.apply(this.element0), map1.apply(this.element1), map2.apply(this.element2)); } public Tuple3 join(Tuple0 other) { return new Tuple3<>(this.element0, this.element1, this.element2); } public Tuple4 join(Tuple1 other) { return new Tuple4<>(this.element0, this.element1, this.element2, other.element0); } public Tuple5 join(Tuple2 other) { return new Tuple5<>(this.element0, this.element1, this.element2, other.element0, other.element1); } public Tuple6 join(Tuple3 other) { return new Tuple6<>(this.element0, this.element1, this.element2, other.element0, other.element1, other.element2); } public Tuple7 join(Tuple4 other) { return new Tuple7<>(this.element0, this.element1, this.element2, other.element0, other.element1, other.element2, other.element3); } public Tuple8 join(Tuple5 other) { return new Tuple8<>(this.element0, this.element1, this.element2, other.element0, other.element1, other.element2, other.element3, other.element4); } public Tuple9 join(Tuple6 other) { return new Tuple9<>(this.element0, this.element1, this.element2, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5); } public Tuple10 join(Tuple7 other) { return new Tuple10<>(this.element0, this.element1, this.element2, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6); } public Tuple11 join(Tuple8 other) { return new Tuple11<>(this.element0, this.element1, this.element2, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7); } public Tuple12 join(Tuple9 other) { return new Tuple12<>(this.element0, this.element1, this.element2, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8); } public Tuple13 join(Tuple10 other) { return new Tuple13<>(this.element0, this.element1, this.element2, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8, other.element9); } public Tuple14 join(Tuple11 other) { return new Tuple14<>(this.element0, this.element1, this.element2, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8, other.element9, other.element10); } } @FunctionalInterface interface Func3 { R apply(T0 arg0, T1 arg1, T2 arg2); } record Tuple4(T0 element0, T1 element1, T2 element2, T3 element3) { public R applyTo(Func4 func) { return func.apply(this.element0, this.element1, this.element2, this.element3); } public static Result, R> collect(Tuple4, Result, Result, Result> tuple) { return tuple.element0.flatMap(element0 -> tuple.element1.flatMap(element1 -> tuple.element2.flatMap(element2 -> tuple.element3.flatMap(element3 -> Result.ok(new Tuple4<>(element0, element1, element2, element3)) ) ) ) ) ; } public Tuple4 map(Func1 map0, Func1 map1, Func1 map2, Func1 map3) { return new Tuple4<>(map0.apply(this.element0), map1.apply(this.element1), map2.apply(this.element2), map3.apply(this.element3)); } public Tuple4 join(Tuple0 other) { return new Tuple4<>(this.element0, this.element1, this.element2, this.element3); } public Tuple5 join(Tuple1 other) { return new Tuple5<>(this.element0, this.element1, this.element2, this.element3, other.element0); } public Tuple6 join(Tuple2 other) { return new Tuple6<>(this.element0, this.element1, this.element2, this.element3, other.element0, other.element1); } public Tuple7 join(Tuple3 other) { return new Tuple7<>(this.element0, this.element1, this.element2, this.element3, other.element0, other.element1, other.element2); } public Tuple8 join(Tuple4 other) { return new Tuple8<>(this.element0, this.element1, this.element2, this.element3, other.element0, other.element1, other.element2, other.element3); } public Tuple9 join(Tuple5 other) { return new Tuple9<>(this.element0, this.element1, this.element2, this.element3, other.element0, other.element1, other.element2, other.element3, other.element4); } public Tuple10 join(Tuple6 other) { return new Tuple10<>(this.element0, this.element1, this.element2, this.element3, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5); } public Tuple11 join(Tuple7 other) { return new Tuple11<>(this.element0, this.element1, this.element2, this.element3, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6); } public Tuple12 join(Tuple8 other) { return new Tuple12<>(this.element0, this.element1, this.element2, this.element3, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7); } public Tuple13 join(Tuple9 other) { return new Tuple13<>(this.element0, this.element1, this.element2, this.element3, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8); } public Tuple14 join(Tuple10 other) { return new Tuple14<>(this.element0, this.element1, this.element2, this.element3, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8, other.element9); } } @FunctionalInterface interface Func4 { R apply(T0 arg0, T1 arg1, T2 arg2, T3 arg3); } record Tuple5(T0 element0, T1 element1, T2 element2, T3 element3, T4 element4) { public R applyTo(Func5 func) { return func.apply(this.element0, this.element1, this.element2, this.element3, this.element4); } public static Result, R> collect(Tuple5, Result, Result, Result, Result> tuple) { return tuple.element0.flatMap(element0 -> tuple.element1.flatMap(element1 -> tuple.element2.flatMap(element2 -> tuple.element3.flatMap(element3 -> tuple.element4.flatMap(element4 -> Result.ok(new Tuple5<>(element0, element1, element2, element3, element4)) ) ) ) ) ) ; } public Tuple5 map(Func1 map0, Func1 map1, Func1 map2, Func1 map3, Func1 map4) { return new Tuple5<>(map0.apply(this.element0), map1.apply(this.element1), map2.apply(this.element2), map3.apply(this.element3), map4.apply(this.element4)); } public Tuple5 join(Tuple0 other) { return new Tuple5<>(this.element0, this.element1, this.element2, this.element3, this.element4); } public Tuple6 join(Tuple1 other) { return new Tuple6<>(this.element0, this.element1, this.element2, this.element3, this.element4, other.element0); } public Tuple7 join(Tuple2 other) { return new Tuple7<>(this.element0, this.element1, this.element2, this.element3, this.element4, other.element0, other.element1); } public Tuple8 join(Tuple3 other) { return new Tuple8<>(this.element0, this.element1, this.element2, this.element3, this.element4, other.element0, other.element1, other.element2); } public Tuple9 join(Tuple4 other) { return new Tuple9<>(this.element0, this.element1, this.element2, this.element3, this.element4, other.element0, other.element1, other.element2, other.element3); } public Tuple10 join(Tuple5 other) { return new Tuple10<>(this.element0, this.element1, this.element2, this.element3, this.element4, other.element0, other.element1, other.element2, other.element3, other.element4); } public Tuple11 join(Tuple6 other) { return new Tuple11<>(this.element0, this.element1, this.element2, this.element3, this.element4, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5); } public Tuple12 join(Tuple7 other) { return new Tuple12<>(this.element0, this.element1, this.element2, this.element3, this.element4, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6); } public Tuple13 join(Tuple8 other) { return new Tuple13<>(this.element0, this.element1, this.element2, this.element3, this.element4, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7); } public Tuple14 join(Tuple9 other) { return new Tuple14<>(this.element0, this.element1, this.element2, this.element3, this.element4, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7, other.element8); } } @FunctionalInterface interface Func5 { R apply(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4); } record Tuple6(T0 element0, T1 element1, T2 element2, T3 element3, T4 element4, T5 element5) { public R applyTo(Func6 func) { return func.apply(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5); } public static Result, R> collect(Tuple6, Result, Result, Result, Result, Result> tuple) { return tuple.element0.flatMap(element0 -> tuple.element1.flatMap(element1 -> tuple.element2.flatMap(element2 -> tuple.element3.flatMap(element3 -> tuple.element4.flatMap(element4 -> tuple.element5.flatMap(element5 -> Result.ok(new Tuple6<>(element0, element1, element2, element3, element4, element5)) ) ) ) ) ) ) ; } public Tuple6 map(Func1 map0, Func1 map1, Func1 map2, Func1 map3, Func1 map4, Func1 map5) { return new Tuple6<>(map0.apply(this.element0), map1.apply(this.element1), map2.apply(this.element2), map3.apply(this.element3), map4.apply(this.element4), map5.apply(this.element5)); } public Tuple6 join(Tuple0 other) { return new Tuple6<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5); } public Tuple7 join(Tuple1 other) { return new Tuple7<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, other.element0); } public Tuple8 join(Tuple2 other) { return new Tuple8<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, other.element0, other.element1); } public Tuple9 join(Tuple3 other) { return new Tuple9<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, other.element0, other.element1, other.element2); } public Tuple10 join(Tuple4 other) { return new Tuple10<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, other.element0, other.element1, other.element2, other.element3); } public Tuple11 join(Tuple5 other) { return new Tuple11<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, other.element0, other.element1, other.element2, other.element3, other.element4); } public Tuple12 join(Tuple6 other) { return new Tuple12<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5); } public Tuple13 join(Tuple7 other) { return new Tuple13<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6); } public Tuple14 join(Tuple8 other) { return new Tuple14<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6, other.element7); } } @FunctionalInterface interface Func6 { R apply(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5); } record Tuple7(T0 element0, T1 element1, T2 element2, T3 element3, T4 element4, T5 element5, T6 element6) { public R applyTo(Func7 func) { return func.apply(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6); } public static Result, R> collect(Tuple7, Result, Result, Result, Result, Result, Result> tuple) { return tuple.element0.flatMap(element0 -> tuple.element1.flatMap(element1 -> tuple.element2.flatMap(element2 -> tuple.element3.flatMap(element3 -> tuple.element4.flatMap(element4 -> tuple.element5.flatMap(element5 -> tuple.element6.flatMap(element6 -> Result.ok(new Tuple7<>(element0, element1, element2, element3, element4, element5, element6)) ) ) ) ) ) ) ) ; } public Tuple7 map(Func1 map0, Func1 map1, Func1 map2, Func1 map3, Func1 map4, Func1 map5, Func1 map6) { return new Tuple7<>(map0.apply(this.element0), map1.apply(this.element1), map2.apply(this.element2), map3.apply(this.element3), map4.apply(this.element4), map5.apply(this.element5), map6.apply(this.element6)); } public Tuple7 join(Tuple0 other) { return new Tuple7<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6); } public Tuple8 join(Tuple1 other) { return new Tuple8<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, other.element0); } public Tuple9 join(Tuple2 other) { return new Tuple9<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, other.element0, other.element1); } public Tuple10 join(Tuple3 other) { return new Tuple10<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, other.element0, other.element1, other.element2); } public Tuple11 join(Tuple4 other) { return new Tuple11<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, other.element0, other.element1, other.element2, other.element3); } public Tuple12 join(Tuple5 other) { return new Tuple12<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, other.element0, other.element1, other.element2, other.element3, other.element4); } public Tuple13 join(Tuple6 other) { return new Tuple13<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5); } public Tuple14 join(Tuple7 other) { return new Tuple14<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5, other.element6); } } @FunctionalInterface interface Func7 { R apply(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6); } record Tuple8(T0 element0, T1 element1, T2 element2, T3 element3, T4 element4, T5 element5, T6 element6, T7 element7) { public R applyTo(Func8 func) { return func.apply(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7); } public static Result, R> collect(Tuple8, Result, Result, Result, Result, Result, Result, Result> tuple) { return tuple.element0.flatMap(element0 -> tuple.element1.flatMap(element1 -> tuple.element2.flatMap(element2 -> tuple.element3.flatMap(element3 -> tuple.element4.flatMap(element4 -> tuple.element5.flatMap(element5 -> tuple.element6.flatMap(element6 -> tuple.element7.flatMap(element7 -> Result.ok(new Tuple8<>(element0, element1, element2, element3, element4, element5, element6, element7)) ) ) ) ) ) ) ) ) ; } public Tuple8 map(Func1 map0, Func1 map1, Func1 map2, Func1 map3, Func1 map4, Func1 map5, Func1 map6, Func1 map7) { return new Tuple8<>(map0.apply(this.element0), map1.apply(this.element1), map2.apply(this.element2), map3.apply(this.element3), map4.apply(this.element4), map5.apply(this.element5), map6.apply(this.element6), map7.apply(this.element7)); } public Tuple8 join(Tuple0 other) { return new Tuple8<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7); } public Tuple9 join(Tuple1 other) { return new Tuple9<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, other.element0); } public Tuple10 join(Tuple2 other) { return new Tuple10<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, other.element0, other.element1); } public Tuple11 join(Tuple3 other) { return new Tuple11<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, other.element0, other.element1, other.element2); } public Tuple12 join(Tuple4 other) { return new Tuple12<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, other.element0, other.element1, other.element2, other.element3); } public Tuple13 join(Tuple5 other) { return new Tuple13<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, other.element0, other.element1, other.element2, other.element3, other.element4); } public Tuple14 join(Tuple6 other) { return new Tuple14<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, other.element0, other.element1, other.element2, other.element3, other.element4, other.element5); } } @FunctionalInterface interface Func8 { R apply(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7); } record Tuple9(T0 element0, T1 element1, T2 element2, T3 element3, T4 element4, T5 element5, T6 element6, T7 element7, T8 element8) { public R applyTo(Func9 func) { return func.apply(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8); } public static Result, R> collect(Tuple9, Result, Result, Result, Result, Result, Result, Result, Result> tuple) { return tuple.element0.flatMap(element0 -> tuple.element1.flatMap(element1 -> tuple.element2.flatMap(element2 -> tuple.element3.flatMap(element3 -> tuple.element4.flatMap(element4 -> tuple.element5.flatMap(element5 -> tuple.element6.flatMap(element6 -> tuple.element7.flatMap(element7 -> tuple.element8.flatMap(element8 -> Result.ok(new Tuple9<>(element0, element1, element2, element3, element4, element5, element6, element7, element8)) ) ) ) ) ) ) ) ) ) ; } public Tuple9 map(Func1 map0, Func1 map1, Func1 map2, Func1 map3, Func1 map4, Func1 map5, Func1 map6, Func1 map7, Func1 map8) { return new Tuple9<>(map0.apply(this.element0), map1.apply(this.element1), map2.apply(this.element2), map3.apply(this.element3), map4.apply(this.element4), map5.apply(this.element5), map6.apply(this.element6), map7.apply(this.element7), map8.apply(this.element8)); } public Tuple9 join(Tuple0 other) { return new Tuple9<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8); } public Tuple10 join(Tuple1 other) { return new Tuple10<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, other.element0); } public Tuple11 join(Tuple2 other) { return new Tuple11<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, other.element0, other.element1); } public Tuple12 join(Tuple3 other) { return new Tuple12<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, other.element0, other.element1, other.element2); } public Tuple13 join(Tuple4 other) { return new Tuple13<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, other.element0, other.element1, other.element2, other.element3); } public Tuple14 join(Tuple5 other) { return new Tuple14<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, other.element0, other.element1, other.element2, other.element3, other.element4); } } @FunctionalInterface interface Func9 { R apply(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8); } record Tuple10(T0 element0, T1 element1, T2 element2, T3 element3, T4 element4, T5 element5, T6 element6, T7 element7, T8 element8, T9 element9) { public R applyTo(Func10 func) { return func.apply(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9); } public static Result, R> collect(Tuple10, Result, Result, Result, Result, Result, Result, Result, Result, Result> tuple) { return tuple.element0.flatMap(element0 -> tuple.element1.flatMap(element1 -> tuple.element2.flatMap(element2 -> tuple.element3.flatMap(element3 -> tuple.element4.flatMap(element4 -> tuple.element5.flatMap(element5 -> tuple.element6.flatMap(element6 -> tuple.element7.flatMap(element7 -> tuple.element8.flatMap(element8 -> tuple.element9.flatMap(element9 -> Result.ok(new Tuple10<>(element0, element1, element2, element3, element4, element5, element6, element7, element8, element9)) ) ) ) ) ) ) ) ) ) ) ; } public Tuple10 map(Func1 map0, Func1 map1, Func1 map2, Func1 map3, Func1 map4, Func1 map5, Func1 map6, Func1 map7, Func1 map8, Func1 map9) { return new Tuple10<>(map0.apply(this.element0), map1.apply(this.element1), map2.apply(this.element2), map3.apply(this.element3), map4.apply(this.element4), map5.apply(this.element5), map6.apply(this.element6), map7.apply(this.element7), map8.apply(this.element8), map9.apply(this.element9)); } public Tuple10 join(Tuple0 other) { return new Tuple10<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9); } public Tuple11 join(Tuple1 other) { return new Tuple11<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9, other.element0); } public Tuple12 join(Tuple2 other) { return new Tuple12<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9, other.element0, other.element1); } public Tuple13 join(Tuple3 other) { return new Tuple13<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9, other.element0, other.element1, other.element2); } public Tuple14 join(Tuple4 other) { return new Tuple14<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9, other.element0, other.element1, other.element2, other.element3); } } @FunctionalInterface interface Func10 { R apply(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9); } record Tuple11(T0 element0, T1 element1, T2 element2, T3 element3, T4 element4, T5 element5, T6 element6, T7 element7, T8 element8, T9 element9, T10 element10) { public R applyTo(Func11 func) { return func.apply(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9, this.element10); } public static Result, R> collect(Tuple11, Result, Result, Result, Result, Result, Result, Result, Result, Result, Result> tuple) { return tuple.element0.flatMap(element0 -> tuple.element1.flatMap(element1 -> tuple.element2.flatMap(element2 -> tuple.element3.flatMap(element3 -> tuple.element4.flatMap(element4 -> tuple.element5.flatMap(element5 -> tuple.element6.flatMap(element6 -> tuple.element7.flatMap(element7 -> tuple.element8.flatMap(element8 -> tuple.element9.flatMap(element9 -> tuple.element10.flatMap(element10 -> Result.ok(new Tuple11<>(element0, element1, element2, element3, element4, element5, element6, element7, element8, element9, element10)) ) ) ) ) ) ) ) ) ) ) ) ; } public Tuple11 map(Func1 map0, Func1 map1, Func1 map2, Func1 map3, Func1 map4, Func1 map5, Func1 map6, Func1 map7, Func1 map8, Func1 map9, Func1 map10) { return new Tuple11<>(map0.apply(this.element0), map1.apply(this.element1), map2.apply(this.element2), map3.apply(this.element3), map4.apply(this.element4), map5.apply(this.element5), map6.apply(this.element6), map7.apply(this.element7), map8.apply(this.element8), map9.apply(this.element9), map10.apply(this.element10)); } public Tuple11 join(Tuple0 other) { return new Tuple11<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9, this.element10); } public Tuple12 join(Tuple1 other) { return new Tuple12<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9, this.element10, other.element0); } public Tuple13 join(Tuple2 other) { return new Tuple13<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9, this.element10, other.element0, other.element1); } public Tuple14 join(Tuple3 other) { return new Tuple14<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9, this.element10, other.element0, other.element1, other.element2); } } @FunctionalInterface interface Func11 { R apply(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10); } record Tuple12(T0 element0, T1 element1, T2 element2, T3 element3, T4 element4, T5 element5, T6 element6, T7 element7, T8 element8, T9 element9, T10 element10, T11 element11) { public R applyTo(Func12 func) { return func.apply(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9, this.element10, this.element11); } public static Result, R> collect(Tuple12, Result, Result, Result, Result, Result, Result, Result, Result, Result, Result, Result> tuple) { return tuple.element0.flatMap(element0 -> tuple.element1.flatMap(element1 -> tuple.element2.flatMap(element2 -> tuple.element3.flatMap(element3 -> tuple.element4.flatMap(element4 -> tuple.element5.flatMap(element5 -> tuple.element6.flatMap(element6 -> tuple.element7.flatMap(element7 -> tuple.element8.flatMap(element8 -> tuple.element9.flatMap(element9 -> tuple.element10.flatMap(element10 -> tuple.element11.flatMap(element11 -> Result.ok(new Tuple12<>(element0, element1, element2, element3, element4, element5, element6, element7, element8, element9, element10, element11)) ) ) ) ) ) ) ) ) ) ) ) ) ; } public Tuple12 map(Func1 map0, Func1 map1, Func1 map2, Func1 map3, Func1 map4, Func1 map5, Func1 map6, Func1 map7, Func1 map8, Func1 map9, Func1 map10, Func1 map11) { return new Tuple12<>(map0.apply(this.element0), map1.apply(this.element1), map2.apply(this.element2), map3.apply(this.element3), map4.apply(this.element4), map5.apply(this.element5), map6.apply(this.element6), map7.apply(this.element7), map8.apply(this.element8), map9.apply(this.element9), map10.apply(this.element10), map11.apply(this.element11)); } public Tuple12 join(Tuple0 other) { return new Tuple12<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9, this.element10, this.element11); } public Tuple13 join(Tuple1 other) { return new Tuple13<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9, this.element10, this.element11, other.element0); } public Tuple14 join(Tuple2 other) { return new Tuple14<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9, this.element10, this.element11, other.element0, other.element1); } } @FunctionalInterface interface Func12 { R apply(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11); } record Tuple13(T0 element0, T1 element1, T2 element2, T3 element3, T4 element4, T5 element5, T6 element6, T7 element7, T8 element8, T9 element9, T10 element10, T11 element11, T12 element12) { public R applyTo(Func13 func) { return func.apply(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9, this.element10, this.element11, this.element12); } public static Result, R> collect(Tuple13, Result, Result, Result, Result, Result, Result, Result, Result, Result, Result, Result, Result> tuple) { return tuple.element0.flatMap(element0 -> tuple.element1.flatMap(element1 -> tuple.element2.flatMap(element2 -> tuple.element3.flatMap(element3 -> tuple.element4.flatMap(element4 -> tuple.element5.flatMap(element5 -> tuple.element6.flatMap(element6 -> tuple.element7.flatMap(element7 -> tuple.element8.flatMap(element8 -> tuple.element9.flatMap(element9 -> tuple.element10.flatMap(element10 -> tuple.element11.flatMap(element11 -> tuple.element12.flatMap(element12 -> Result.ok(new Tuple13<>(element0, element1, element2, element3, element4, element5, element6, element7, element8, element9, element10, element11, element12)) ) ) ) ) ) ) ) ) ) ) ) ) ) ; } public Tuple13 map(Func1 map0, Func1 map1, Func1 map2, Func1 map3, Func1 map4, Func1 map5, Func1 map6, Func1 map7, Func1 map8, Func1 map9, Func1 map10, Func1 map11, Func1 map12) { return new Tuple13<>(map0.apply(this.element0), map1.apply(this.element1), map2.apply(this.element2), map3.apply(this.element3), map4.apply(this.element4), map5.apply(this.element5), map6.apply(this.element6), map7.apply(this.element7), map8.apply(this.element8), map9.apply(this.element9), map10.apply(this.element10), map11.apply(this.element11), map12.apply(this.element12)); } public Tuple13 join(Tuple0 other) { return new Tuple13<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9, this.element10, this.element11, this.element12); } public Tuple14 join(Tuple1 other) { return new Tuple14<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9, this.element10, this.element11, this.element12, other.element0); } } @FunctionalInterface interface Func13 { R apply(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12); } record Tuple14(T0 element0, T1 element1, T2 element2, T3 element3, T4 element4, T5 element5, T6 element6, T7 element7, T8 element8, T9 element9, T10 element10, T11 element11, T12 element12, T13 element13) { public R applyTo(Func14 func) { return func.apply(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9, this.element10, this.element11, this.element12, this.element13); } public static Result, R> collect(Tuple14, Result, Result, Result, Result, Result, Result, Result, Result, Result, Result, Result, Result, Result> tuple) { return tuple.element0.flatMap(element0 -> tuple.element1.flatMap(element1 -> tuple.element2.flatMap(element2 -> tuple.element3.flatMap(element3 -> tuple.element4.flatMap(element4 -> tuple.element5.flatMap(element5 -> tuple.element6.flatMap(element6 -> tuple.element7.flatMap(element7 -> tuple.element8.flatMap(element8 -> tuple.element9.flatMap(element9 -> tuple.element10.flatMap(element10 -> tuple.element11.flatMap(element11 -> tuple.element12.flatMap(element12 -> tuple.element13.flatMap(element13 -> Result.ok(new Tuple14<>(element0, element1, element2, element3, element4, element5, element6, element7, element8, element9, element10, element11, element12, element13)) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ; } public Tuple14 map(Func1 map0, Func1 map1, Func1 map2, Func1 map3, Func1 map4, Func1 map5, Func1 map6, Func1 map7, Func1 map8, Func1 map9, Func1 map10, Func1 map11, Func1 map12, Func1 map13) { return new Tuple14<>(map0.apply(this.element0), map1.apply(this.element1), map2.apply(this.element2), map3.apply(this.element3), map4.apply(this.element4), map5.apply(this.element5), map6.apply(this.element6), map7.apply(this.element7), map8.apply(this.element8), map9.apply(this.element9), map10.apply(this.element10), map11.apply(this.element11), map12.apply(this.element12), map13.apply(this.element13)); } public Tuple14 join(Tuple0 other) { return new Tuple14<>(this.element0, this.element1, this.element2, this.element3, this.element4, this.element5, this.element6, this.element7, this.element8, this.element9, this.element10, this.element11, this.element12, this.element13); } } @FunctionalInterface interface Func14 { R apply(T0 arg0, T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5, T6 arg6, T7 arg7, T8 arg8, T9 arg9, T10 arg10, T11 arg11, T12 arg12, T13 arg13); } }